@elementor/editor-canvas 4.2.0-878 → 4.2.0-879

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.d.mts CHANGED
@@ -328,6 +328,9 @@ declare const DOCUMENT_STRUCTURE_URI = "elementor://document/structure";
328
328
 
329
329
  declare function createTransformer<TValue = never>(cb: TValue extends AnyTransformable ? 'Transformable values are invalid, use the actual value instead.' : UnbrandedTransformer<TValue>): Transformer<NoInfer<TValue>>;
330
330
 
331
+ declare const isGridTrackProperty: (cssProperty: string) => boolean;
332
+ declare const formatGridTrackRepeat: (count: number) => string | null;
333
+
331
334
  declare const UnknownStyleTypeError: {
332
335
  new ({ cause, context }?: {
333
336
  cause?: _elementor_utils.ElementorErrorOptions["cause"];
@@ -363,4 +366,4 @@ declare const UnknownStyleStateError: {
363
366
 
364
367
  declare function doAfterRender(elementIds: string[], callback: (elementIds: string[]) => void): void;
365
368
 
366
- export { type AnyTransformer, BREAKPOINTS_SCHEMA_URI, type BackboneModel, type BackboneModelConstructor, type ContextMenuAction, type ContextMenuEventData, type CreateNestedTemplatedElementTypeOptions, type CreateTemplatedElementTypeOptions, DOCUMENT_STRUCTURE_URI, type ElementModel, ElementType, ElementView, GLOBAL_STYLES_IMPORTED_EVENT, type ImportedGlobalStylesPayload, type LegacyWindow, type NamespacedRenderContext, type NestedTemplatedElementConfig, type PropsResolver, type RenderContext, type ReplacementSettings, STYLE_SCHEMA_URI, TemplatedElementView, type TransformerOptions, UnknownStyleStateError, UnknownStyleTypeError, WIDGET_SCHEMA_URI, canBeNestedTemplated, createNestedTemplatedElementType, createNestedTemplatedElementView, createPropsResolver, createTemplatedElementView, createTransformer, createTransformersRegistry, doAfterRender, endDragElementFromPanel, init, isAtomicWidget, registerElementType, registerModelExtensions, settingsTransformersRegistry, startDragElementFromPanel, styleTransformersRegistry, stylesInheritanceTransformersRegistry };
369
+ export { type AnyTransformer, BREAKPOINTS_SCHEMA_URI, type BackboneModel, type BackboneModelConstructor, type ContextMenuAction, type ContextMenuEventData, type CreateNestedTemplatedElementTypeOptions, type CreateTemplatedElementTypeOptions, DOCUMENT_STRUCTURE_URI, type ElementModel, ElementType, ElementView, GLOBAL_STYLES_IMPORTED_EVENT, type ImportedGlobalStylesPayload, type LegacyWindow, type NamespacedRenderContext, type NestedTemplatedElementConfig, type PropsResolver, type RenderContext, type ReplacementSettings, STYLE_SCHEMA_URI, TemplatedElementView, type TransformerOptions, UnknownStyleStateError, UnknownStyleTypeError, WIDGET_SCHEMA_URI, canBeNestedTemplated, createNestedTemplatedElementType, createNestedTemplatedElementView, createPropsResolver, createTemplatedElementView, createTransformer, createTransformersRegistry, doAfterRender, endDragElementFromPanel, formatGridTrackRepeat, init, isAtomicWidget, isGridTrackProperty, registerElementType, registerModelExtensions, settingsTransformersRegistry, startDragElementFromPanel, styleTransformersRegistry, stylesInheritanceTransformersRegistry };
package/dist/index.d.ts CHANGED
@@ -328,6 +328,9 @@ declare const DOCUMENT_STRUCTURE_URI = "elementor://document/structure";
328
328
 
329
329
  declare function createTransformer<TValue = never>(cb: TValue extends AnyTransformable ? 'Transformable values are invalid, use the actual value instead.' : UnbrandedTransformer<TValue>): Transformer<NoInfer<TValue>>;
330
330
 
331
+ declare const isGridTrackProperty: (cssProperty: string) => boolean;
332
+ declare const formatGridTrackRepeat: (count: number) => string | null;
333
+
331
334
  declare const UnknownStyleTypeError: {
332
335
  new ({ cause, context }?: {
333
336
  cause?: _elementor_utils.ElementorErrorOptions["cause"];
@@ -363,4 +366,4 @@ declare const UnknownStyleStateError: {
363
366
 
364
367
  declare function doAfterRender(elementIds: string[], callback: (elementIds: string[]) => void): void;
365
368
 
366
- export { type AnyTransformer, BREAKPOINTS_SCHEMA_URI, type BackboneModel, type BackboneModelConstructor, type ContextMenuAction, type ContextMenuEventData, type CreateNestedTemplatedElementTypeOptions, type CreateTemplatedElementTypeOptions, DOCUMENT_STRUCTURE_URI, type ElementModel, ElementType, ElementView, GLOBAL_STYLES_IMPORTED_EVENT, type ImportedGlobalStylesPayload, type LegacyWindow, type NamespacedRenderContext, type NestedTemplatedElementConfig, type PropsResolver, type RenderContext, type ReplacementSettings, STYLE_SCHEMA_URI, TemplatedElementView, type TransformerOptions, UnknownStyleStateError, UnknownStyleTypeError, WIDGET_SCHEMA_URI, canBeNestedTemplated, createNestedTemplatedElementType, createNestedTemplatedElementView, createPropsResolver, createTemplatedElementView, createTransformer, createTransformersRegistry, doAfterRender, endDragElementFromPanel, init, isAtomicWidget, registerElementType, registerModelExtensions, settingsTransformersRegistry, startDragElementFromPanel, styleTransformersRegistry, stylesInheritanceTransformersRegistry };
369
+ export { type AnyTransformer, BREAKPOINTS_SCHEMA_URI, type BackboneModel, type BackboneModelConstructor, type ContextMenuAction, type ContextMenuEventData, type CreateNestedTemplatedElementTypeOptions, type CreateTemplatedElementTypeOptions, DOCUMENT_STRUCTURE_URI, type ElementModel, ElementType, ElementView, GLOBAL_STYLES_IMPORTED_EVENT, type ImportedGlobalStylesPayload, type LegacyWindow, type NamespacedRenderContext, type NestedTemplatedElementConfig, type PropsResolver, type RenderContext, type ReplacementSettings, STYLE_SCHEMA_URI, TemplatedElementView, type TransformerOptions, UnknownStyleStateError, UnknownStyleTypeError, WIDGET_SCHEMA_URI, canBeNestedTemplated, createNestedTemplatedElementType, createNestedTemplatedElementView, createPropsResolver, createTemplatedElementView, createTransformer, createTransformersRegistry, doAfterRender, endDragElementFromPanel, formatGridTrackRepeat, init, isAtomicWidget, isGridTrackProperty, registerElementType, registerModelExtensions, settingsTransformersRegistry, startDragElementFromPanel, styleTransformersRegistry, stylesInheritanceTransformersRegistry };
package/dist/index.js CHANGED
@@ -46,8 +46,10 @@ __export(index_exports, {
46
46
  createTransformersRegistry: () => createTransformersRegistry,
47
47
  doAfterRender: () => doAfterRender,
48
48
  endDragElementFromPanel: () => endDragElementFromPanel,
49
+ formatGridTrackRepeat: () => formatGridTrackRepeat,
49
50
  init: () => init,
50
51
  isAtomicWidget: () => isAtomicWidget,
52
+ isGridTrackProperty: () => isGridTrackProperty,
51
53
  registerElementType: () => registerElementType,
52
54
  registerModelExtensions: () => registerModelExtensions,
53
55
  settingsTransformersRegistry: () => settingsTransformersRegistry,
@@ -1867,6 +1869,27 @@ var flexTransformer = createTransformer((value) => {
1867
1869
  return null;
1868
1870
  });
1869
1871
 
1872
+ // src/transformers/styles/grid-track-renderer.ts
1873
+ var GRID_TRACK_PROPERTIES = /* @__PURE__ */ new Set(["grid-template-columns", "grid-template-rows"]);
1874
+ var isGridTrackProperty = (cssProperty) => GRID_TRACK_PROPERTIES.has(cssProperty);
1875
+ var formatGridTrackRepeat = (count) => {
1876
+ if (!Number.isFinite(count) || count < 1) {
1877
+ return null;
1878
+ }
1879
+ return `repeat(${count}, 1fr)`;
1880
+ };
1881
+
1882
+ // src/transformers/styles/grid-track-size-transformer.ts
1883
+ var gridTrackSizeTransformer = createTransformer((value) => {
1884
+ if (value.unit === "custom") {
1885
+ return value.size;
1886
+ }
1887
+ if (value.unit === "fr") {
1888
+ return formatGridTrackRepeat(Math.trunc(Number(value.size)));
1889
+ }
1890
+ return `${value.size}${value.unit}`;
1891
+ });
1892
+
1870
1893
  // src/transformers/styles/perspective-origin-transformer.ts
1871
1894
  var FALLBACK = "0px";
1872
1895
  function getVal(val) {
@@ -1997,7 +2020,7 @@ var mapToTransitionString = (value, allowedProperties) => {
1997
2020
 
1998
2021
  // src/init-style-transformers.ts
1999
2022
  function initStyleTransformers() {
2000
- styleTransformersRegistry.register("size", sizeTransformer).register("shadow", shadowTransformer).register("stroke", strokeTransformer).register(
2023
+ styleTransformersRegistry.register("size", sizeTransformer).register("grid-track-size", gridTrackSizeTransformer).register("shadow", shadowTransformer).register("stroke", strokeTransformer).register(
2001
2024
  "dimensions",
2002
2025
  createMultiPropsTransformer(
2003
2026
  ["block-start", "block-end", "inline-start", "inline-end"],
@@ -5623,8 +5646,10 @@ function hasDoAfterRender(view) {
5623
5646
  createTransformersRegistry,
5624
5647
  doAfterRender,
5625
5648
  endDragElementFromPanel,
5649
+ formatGridTrackRepeat,
5626
5650
  init,
5627
5651
  isAtomicWidget,
5652
+ isGridTrackProperty,
5628
5653
  registerElementType,
5629
5654
  registerModelExtensions,
5630
5655
  settingsTransformersRegistry,
package/dist/index.mjs CHANGED
@@ -1831,6 +1831,27 @@ var flexTransformer = createTransformer((value) => {
1831
1831
  return null;
1832
1832
  });
1833
1833
 
1834
+ // src/transformers/styles/grid-track-renderer.ts
1835
+ var GRID_TRACK_PROPERTIES = /* @__PURE__ */ new Set(["grid-template-columns", "grid-template-rows"]);
1836
+ var isGridTrackProperty = (cssProperty) => GRID_TRACK_PROPERTIES.has(cssProperty);
1837
+ var formatGridTrackRepeat = (count) => {
1838
+ if (!Number.isFinite(count) || count < 1) {
1839
+ return null;
1840
+ }
1841
+ return `repeat(${count}, 1fr)`;
1842
+ };
1843
+
1844
+ // src/transformers/styles/grid-track-size-transformer.ts
1845
+ var gridTrackSizeTransformer = createTransformer((value) => {
1846
+ if (value.unit === "custom") {
1847
+ return value.size;
1848
+ }
1849
+ if (value.unit === "fr") {
1850
+ return formatGridTrackRepeat(Math.trunc(Number(value.size)));
1851
+ }
1852
+ return `${value.size}${value.unit}`;
1853
+ });
1854
+
1834
1855
  // src/transformers/styles/perspective-origin-transformer.ts
1835
1856
  var FALLBACK = "0px";
1836
1857
  function getVal(val) {
@@ -1961,7 +1982,7 @@ var mapToTransitionString = (value, allowedProperties) => {
1961
1982
 
1962
1983
  // src/init-style-transformers.ts
1963
1984
  function initStyleTransformers() {
1964
- styleTransformersRegistry.register("size", sizeTransformer).register("shadow", shadowTransformer).register("stroke", strokeTransformer).register(
1985
+ styleTransformersRegistry.register("size", sizeTransformer).register("grid-track-size", gridTrackSizeTransformer).register("shadow", shadowTransformer).register("stroke", strokeTransformer).register(
1965
1986
  "dimensions",
1966
1987
  createMultiPropsTransformer(
1967
1988
  ["block-start", "block-end", "inline-start", "inline-end"],
@@ -5634,8 +5655,10 @@ export {
5634
5655
  createTransformersRegistry,
5635
5656
  doAfterRender,
5636
5657
  endDragElementFromPanel,
5658
+ formatGridTrackRepeat,
5637
5659
  init,
5638
5660
  isAtomicWidget,
5661
+ isGridTrackProperty,
5639
5662
  registerElementType,
5640
5663
  registerModelExtensions,
5641
5664
  settingsTransformersRegistry,
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.2.0-878",
4
+ "version": "4.2.0-879",
5
5
  "private": false,
6
6
  "author": "Elementor Team",
7
7
  "homepage": "https://elementor.com/",
@@ -37,25 +37,25 @@
37
37
  "react-dom": "^18.3.1"
38
38
  },
39
39
  "dependencies": {
40
- "@elementor/editor": "4.2.0-878",
40
+ "@elementor/editor": "4.2.0-879",
41
41
  "dompurify": "^3.2.6",
42
- "@elementor/editor-controls": "4.2.0-878",
43
- "@elementor/editor-documents": "4.2.0-878",
44
- "@elementor/editor-elements": "4.2.0-878",
45
- "@elementor/editor-interactions": "4.2.0-878",
46
- "@elementor/editor-mcp": "4.2.0-878",
47
- "@elementor/editor-notifications": "4.2.0-878",
48
- "@elementor/editor-props": "4.2.0-878",
49
- "@elementor/editor-responsive": "4.2.0-878",
50
- "@elementor/editor-styles": "4.2.0-878",
51
- "@elementor/editor-styles-repository": "4.2.0-878",
52
- "@elementor/editor-ui": "4.2.0-878",
53
- "@elementor/editor-v1-adapters": "4.2.0-878",
54
- "@elementor/schema": "4.2.0-878",
55
- "@elementor/twing": "4.2.0-878",
42
+ "@elementor/editor-controls": "4.2.0-879",
43
+ "@elementor/editor-documents": "4.2.0-879",
44
+ "@elementor/editor-elements": "4.2.0-879",
45
+ "@elementor/editor-interactions": "4.2.0-879",
46
+ "@elementor/editor-mcp": "4.2.0-879",
47
+ "@elementor/editor-notifications": "4.2.0-879",
48
+ "@elementor/editor-props": "4.2.0-879",
49
+ "@elementor/editor-responsive": "4.2.0-879",
50
+ "@elementor/editor-styles": "4.2.0-879",
51
+ "@elementor/editor-styles-repository": "4.2.0-879",
52
+ "@elementor/editor-ui": "4.2.0-879",
53
+ "@elementor/editor-v1-adapters": "4.2.0-879",
54
+ "@elementor/schema": "4.2.0-879",
55
+ "@elementor/twing": "4.2.0-879",
56
56
  "@elementor/ui": "1.37.5",
57
- "@elementor/utils": "4.2.0-878",
58
- "@elementor/wp-media": "4.2.0-878",
57
+ "@elementor/utils": "4.2.0-879",
58
+ "@elementor/wp-media": "4.2.0-879",
59
59
  "@floating-ui/react": "^0.27.5",
60
60
  "@wordpress/i18n": "^5.13.0"
61
61
  },
package/src/index.ts CHANGED
@@ -26,6 +26,7 @@ export { DOCUMENT_STRUCTURE_URI } from './mcp/resources/document-structure-resou
26
26
  export { WIDGET_SCHEMA_URI } from './mcp/resources/widgets-schema-resource';
27
27
  export * from './legacy/types';
28
28
  export { createTransformer } from './transformers/create-transformer';
29
+ export { formatGridTrackRepeat, isGridTrackProperty } from './transformers/styles/grid-track-renderer';
29
30
  export {
30
31
  createTransformersRegistry,
31
32
  stylesInheritanceTransformersRegistry,
@@ -13,6 +13,7 @@ import { createCombineArrayTransformer } from './transformers/styles/create-comb
13
13
  import { createMultiPropsTransformer } from './transformers/styles/create-multi-props-transformer';
14
14
  import { filterTransformer } from './transformers/styles/filter-transformer';
15
15
  import { flexTransformer } from './transformers/styles/flex-transformer';
16
+ import { gridTrackSizeTransformer } from './transformers/styles/grid-track-size-transformer';
16
17
  import { perspectiveOriginTransformer } from './transformers/styles/perspective-origin-transformer';
17
18
  import { positionTransformer } from './transformers/styles/position-transformer';
18
19
  import { shadowTransformer } from './transformers/styles/shadow-transformer';
@@ -30,6 +31,7 @@ import { transitionTransformer } from './transformers/styles/transition-transfor
30
31
  export function initStyleTransformers() {
31
32
  styleTransformersRegistry
32
33
  .register( 'size', sizeTransformer )
34
+ .register( 'grid-track-size', gridTrackSizeTransformer )
33
35
  .register( 'shadow', shadowTransformer )
34
36
  .register( 'stroke', strokeTransformer )
35
37
  .register(
@@ -0,0 +1,11 @@
1
+ const GRID_TRACK_PROPERTIES = new Set( [ 'grid-template-columns', 'grid-template-rows' ] );
2
+
3
+ export const isGridTrackProperty = ( cssProperty: string ): boolean => GRID_TRACK_PROPERTIES.has( cssProperty );
4
+
5
+ export const formatGridTrackRepeat = ( count: number ): string | null => {
6
+ if ( ! Number.isFinite( count ) || count < 1 ) {
7
+ return null;
8
+ }
9
+
10
+ return `repeat(${ count }, 1fr)`;
11
+ };
@@ -0,0 +1,19 @@
1
+ import { createTransformer } from '../create-transformer';
2
+ import { formatGridTrackRepeat } from './grid-track-renderer';
3
+
4
+ type GridTrackSize = {
5
+ size?: number | string;
6
+ unit?: string;
7
+ };
8
+
9
+ export const gridTrackSizeTransformer = createTransformer( ( value: GridTrackSize ) => {
10
+ if ( value.unit === 'custom' ) {
11
+ return value.size;
12
+ }
13
+
14
+ if ( value.unit === 'fr' ) {
15
+ return formatGridTrackRepeat( Math.trunc( Number( value.size ) ) );
16
+ }
17
+
18
+ return `${ value.size }${ value.unit }`;
19
+ } );