diff --git a/package.json b/package.json index 539b003f..5be253df 100644 --- a/package.json +++ b/package.json @@ -103,7 +103,7 @@ "@shuding/opentype.js": "1.4.0-beta.0", "css-background-parser": "^0.1.0", "css-box-shadow": "1.0.0-3", - "css-gradient-parser": "^0.0.16", + "css-gradient-parser": "^0.0.17", "css-to-react-native": "^3.0.0", "emoji-regex-xs": "^2.0.1", "escape-html": "^1.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c8f0adfb..13edb7a7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,8 +18,8 @@ importers: specifier: 1.0.0-3 version: 1.0.0-3 css-gradient-parser: - specifier: ^0.0.16 - version: 0.0.16 + specifier: ^0.0.17 + version: 0.0.17 css-to-react-native: specifier: ^3.0.0 version: 3.0.0 @@ -4205,8 +4205,8 @@ packages: engines: {node: '>=4'} dev: false - /css-gradient-parser@0.0.16: - resolution: {integrity: sha512-3O5QdqgFRUbXvK1x5INf1YkBz1UKSWqrd63vWsum8MNHDBYD5urm3QtxZbKU259OrEXNM26lP/MPY3d1IGkBgA==} + /css-gradient-parser@0.0.17: + resolution: {integrity: sha512-w2Xy9UMMwlKtou0vlRnXvWglPAceXCTtcmVSo8ZBUvqCV5aXEFP/PC6d+I464810I9FT++UACwTD5511bmGPUg==} engines: {node: '>=16'} dev: false diff --git a/src/builder/gradient/radial.ts b/src/builder/gradient/radial.ts index a8fc4bd8..719eec0c 100644 --- a/src/builder/gradient/radial.ts +++ b/src/builder/gradient/radial.ts @@ -153,7 +153,7 @@ function calcRadialGradient( xDelta, style, true - ) || xDelta / 2 + ) ?? xDelta / 2 } if (cy.type === 'keyword') { @@ -169,7 +169,7 @@ function calcRadialGradient( yDelta, style, true - ) || yDelta / 2 + ) ?? yDelta / 2 } return pos diff --git a/test/__image_snapshots__/gradient-test-tsx-test-gradient-test-tsx-gradient-radial-gradient-should-make-sense-if-x-of-y-is-zero-1-snap.png b/test/__image_snapshots__/gradient-test-tsx-test-gradient-test-tsx-gradient-radial-gradient-should-make-sense-if-x-of-y-is-zero-1-snap.png new file mode 100644 index 00000000..98f53191 Binary files /dev/null and b/test/__image_snapshots__/gradient-test-tsx-test-gradient-test-tsx-gradient-radial-gradient-should-make-sense-if-x-of-y-is-zero-1-snap.png differ diff --git a/test/gradient.test.tsx b/test/gradient.test.tsx index a03126a5..5c7b7a8a 100644 --- a/test/gradient.test.tsx +++ b/test/gradient.test.tsx @@ -172,6 +172,26 @@ describe('Gradient', () => { expect(toImage(svg, 100)).toMatchImageSnapshot() }) + it('should make sense if x of y is zero', async () => { + const svg = await satori( +
, + { + width: 100, + height: 100, + fonts, + } + ) + expect(toImage(svg, 100)).toMatchImageSnapshot() + }) + it('should support radial-gradient with unspecified ', async () => { const svg = await satori(