@elementor/editor-canvas 4.4.0-1143 → 4.4.0-1144

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2464,6 +2464,9 @@ var backgroundGradientOverlayTransformer = createTransformer((value) => {
2464
2464
  if (value.type === "radial") {
2465
2465
  return `radial-gradient(circle at ${value.positions}, ${value.stops})`;
2466
2466
  }
2467
+ if (value.angle === null || value.angle === void 0) {
2468
+ return `linear-gradient(${value.stops})`;
2469
+ }
2467
2470
  return `linear-gradient(${value.angle}deg, ${value.stops})`;
2468
2471
  });
2469
2472
 
package/dist/index.mjs CHANGED
@@ -2420,6 +2420,9 @@ var backgroundGradientOverlayTransformer = createTransformer((value) => {
2420
2420
  if (value.type === "radial") {
2421
2421
  return `radial-gradient(circle at ${value.positions}, ${value.stops})`;
2422
2422
  }
2423
+ if (value.angle === null || value.angle === void 0) {
2424
+ return `linear-gradient(${value.stops})`;
2425
+ }
2423
2426
  return `linear-gradient(${value.angle}deg, ${value.stops})`;
2424
2427
  });
2425
2428
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@elementor/editor-canvas",
3
3
  "description": "Elementor Editor Canvas",
4
- "version": "4.4.0-1143",
4
+ "version": "4.4.0-1144",
5
5
  "private": false,
6
6
  "author": "Elementor Team",
7
7
  "homepage": "https://elementor.com/",
@@ -37,26 +37,26 @@
37
37
  "react-dom": "^18.3.1"
38
38
  },
39
39
  "dependencies": {
40
- "@elementor/editor": "4.4.0-1143",
41
- "@elementor/editor-controls": "4.4.0-1143",
42
- "@elementor/editor-documents": "4.4.0-1143",
43
- "@elementor/editor-elements": "4.4.0-1143",
44
- "@elementor/editor-interactions": "4.4.0-1143",
45
- "@elementor/editor-mcp": "4.4.0-1143",
46
- "@elementor/editor-notifications": "4.4.0-1143",
47
- "@elementor/editor-props": "4.4.0-1143",
48
- "@elementor/editor-responsive": "4.4.0-1143",
49
- "@elementor/editor-styles": "4.4.0-1143",
50
- "@elementor/editor-styles-repository": "4.4.0-1143",
51
- "@elementor/editor-ui": "4.4.0-1143",
52
- "@elementor/editor-v1-adapters": "4.4.0-1143",
53
- "@elementor/events": "4.4.0-1143",
54
- "@elementor/http-client": "4.4.0-1143",
55
- "@elementor/schema": "4.4.0-1143",
56
- "@elementor/twing": "4.4.0-1143",
40
+ "@elementor/editor": "4.4.0-1144",
41
+ "@elementor/editor-controls": "4.4.0-1144",
42
+ "@elementor/editor-documents": "4.4.0-1144",
43
+ "@elementor/editor-elements": "4.4.0-1144",
44
+ "@elementor/editor-interactions": "4.4.0-1144",
45
+ "@elementor/editor-mcp": "4.4.0-1144",
46
+ "@elementor/editor-notifications": "4.4.0-1144",
47
+ "@elementor/editor-props": "4.4.0-1144",
48
+ "@elementor/editor-responsive": "4.4.0-1144",
49
+ "@elementor/editor-styles": "4.4.0-1144",
50
+ "@elementor/editor-styles-repository": "4.4.0-1144",
51
+ "@elementor/editor-ui": "4.4.0-1144",
52
+ "@elementor/editor-v1-adapters": "4.4.0-1144",
53
+ "@elementor/events": "4.4.0-1144",
54
+ "@elementor/http-client": "4.4.0-1144",
55
+ "@elementor/schema": "4.4.0-1144",
56
+ "@elementor/twing": "4.4.0-1144",
57
57
  "@elementor/ui": "1.41.4",
58
- "@elementor/utils": "4.4.0-1143",
59
- "@elementor/wp-media": "4.4.0-1143",
58
+ "@elementor/utils": "4.4.0-1144",
59
+ "@elementor/wp-media": "4.4.0-1144",
60
60
  "@floating-ui/react": "^0.27.5",
61
61
  "@wordpress/i18n": "^5.13.0",
62
62
  "dompurify": "^3.2.6"
@@ -0,0 +1,39 @@
1
+ import { backgroundGradientOverlayTransformer } from '../background-gradient-overlay-transformer';
2
+
3
+ function run( value: { type?: 'linear' | 'radial'; angle?: number | null; stops?: string; positions?: string } ) {
4
+ return backgroundGradientOverlayTransformer( value, { key: 'background-overlay', signal: undefined } );
5
+ }
6
+
7
+ describe( 'backgroundGradientOverlayTransformer', () => {
8
+ it( 'emits the angle when a linear gradient has one', () => {
9
+ expect( run( { type: 'linear', angle: 180, stops: 'red 0%,blue 100%' } ) ).toBe(
10
+ 'linear-gradient(180deg, red 0%,blue 100%)'
11
+ );
12
+ } );
13
+
14
+ it( 'omits the angle when it is null so the declaration stays valid', () => {
15
+ expect(
16
+ run( {
17
+ type: 'linear',
18
+ angle: null,
19
+ stops: 'rgba(0, 0, 0, 0.35) 0%,rgba(0, 0, 0, 0.35) 100%',
20
+ } )
21
+ ).toBe( 'linear-gradient(rgba(0, 0, 0, 0.35) 0%,rgba(0, 0, 0, 0.35) 100%)' );
22
+ } );
23
+
24
+ it( 'omits the angle when it is missing', () => {
25
+ expect( run( { type: 'linear', stops: 'red 0%,blue 100%' } ) ).toBe( 'linear-gradient(red 0%,blue 100%)' );
26
+ } );
27
+
28
+ it( 'keeps an explicit zero angle', () => {
29
+ expect( run( { type: 'linear', angle: 0, stops: 'red 0%,blue 100%' } ) ).toBe(
30
+ 'linear-gradient(0deg, red 0%,blue 100%)'
31
+ );
32
+ } );
33
+
34
+ it( 'emits a radial gradient from positions and stops', () => {
35
+ expect( run( { type: 'radial', positions: 'bottom left', stops: 'red 0%,blue 100%' } ) ).toBe(
36
+ 'radial-gradient(circle at bottom left, red 0%,blue 100%)'
37
+ );
38
+ } );
39
+ } );
@@ -2,9 +2,9 @@ import { createTransformer } from '../create-transformer';
2
2
 
3
3
  type BackgroundGradientOverlay = {
4
4
  type?: 'linear' | 'radial';
5
- angle?: string;
5
+ angle?: number | null;
6
6
  stops?: string;
7
- positions?: string;
7
+ positions?: string | null;
8
8
  };
9
9
 
10
10
  export const backgroundGradientOverlayTransformer = createTransformer( ( value: BackgroundGradientOverlay ) => {
@@ -12,5 +12,9 @@ export const backgroundGradientOverlayTransformer = createTransformer( ( value:
12
12
  return `radial-gradient(circle at ${ value.positions }, ${ value.stops })`;
13
13
  }
14
14
 
15
+ if ( value.angle === null || value.angle === undefined ) {
16
+ return `linear-gradient(${ value.stops })`;
17
+ }
18
+
15
19
  return `linear-gradient(${ value.angle }deg, ${ value.stops })`;
16
20
  } );