@elementor/editor-canvas 4.1.0 → 4.2.0-840

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.
Files changed (41) hide show
  1. package/dist/index.d.mts +22 -4
  2. package/dist/index.d.ts +22 -4
  3. package/dist/index.js +773 -137
  4. package/dist/index.mjs +730 -86
  5. package/package.json +18 -18
  6. package/src/__tests__/settings-props-resolver.test.ts +3 -0
  7. package/src/composition-builder/composition-builder.ts +5 -5
  8. package/src/form-structure/utils.ts +4 -0
  9. package/src/hooks/__tests__/use-style-items.test.ts +55 -0
  10. package/src/hooks/use-style-items.ts +12 -14
  11. package/src/index.ts +2 -0
  12. package/src/init-settings-transformers.ts +4 -0
  13. package/src/init-style-transformers.ts +2 -0
  14. package/src/legacy/create-nested-templated-element-type.ts +11 -2
  15. package/src/legacy/create-pending-element.ts +74 -0
  16. package/src/legacy/create-templated-element-type.ts +2 -2
  17. package/src/legacy/types.ts +9 -1
  18. package/src/mcp/canvas-mcp.ts +8 -0
  19. package/src/mcp/resources/available-widgets-resource.ts +67 -0
  20. package/src/mcp/resources/document-structure-resource.ts +51 -36
  21. package/src/mcp/resources/editor-state-resource.ts +122 -0
  22. package/src/mcp/resources/general-context-resource.ts +99 -0
  23. package/src/mcp/resources/selected-element-resource.ts +217 -0
  24. package/src/mcp/resources/widgets-schema-resource.ts +74 -14
  25. package/src/mcp/tools/build-composition/prompt.ts +6 -0
  26. package/src/mcp/tools/build-composition/tool.ts +26 -0
  27. package/src/mcp/tools/configure-element/prompt.ts +6 -6
  28. package/src/mcp/tools/configure-element/schema.ts +1 -1
  29. package/src/mcp/tools/configure-element/tool.ts +12 -0
  30. package/src/mcp/tools/get-element-config/tool.ts +13 -3
  31. package/src/mcp/utils/do-update-element-property.ts +1 -1
  32. package/src/mcp/utils/element-data-util.ts +46 -0
  33. package/src/mcp/utils/validate-input.ts +1 -1
  34. package/src/sync/global-styles-imported-event.ts +8 -0
  35. package/src/transformers/settings/date-range-transformer.ts +12 -0
  36. package/src/transformers/settings/time-range-transformer.ts +12 -0
  37. package/src/transformers/shared/image-src-transformer.ts +2 -0
  38. package/src/transformers/shared/image-transformer.ts +4 -1
  39. package/src/transformers/styles/span-transformer.ts +5 -0
  40. package/src/utils/after-render.ts +26 -0
  41. package/src/mcp/utils/generate-available-tags.ts +0 -23
package/dist/index.d.mts CHANGED
@@ -1,10 +1,10 @@
1
- import { V1Element, V1ElementConfig, V1ElementModelProps } from '@elementor/editor-elements';
1
+ import { V1Element, V1ElementModelProps, V1ElementConfig } from '@elementor/editor-elements';
2
2
  import { TwingArrayLoader, TwingEnvironment } from '@elementor/twing';
3
3
  import { Root } from 'react-dom/client';
4
4
  import * as _elementor_editor_props from '@elementor/editor-props';
5
5
  import { Props, PropValue, PropType, PropTypeKey, PropsSchema, AnyTransformable } from '@elementor/editor-props';
6
+ import { StyleVariables, StyleDefinitionsMap, StyleDefinitionID, StyleDefinitionState } from '@elementor/editor-styles';
6
7
  import * as _elementor_utils from '@elementor/utils';
7
- import { StyleDefinitionState } from '@elementor/editor-styles';
8
8
 
9
9
  declare const BREAKPOINTS_SCHEMA_URI = "elementor://breakpoints/list";
10
10
 
@@ -89,6 +89,7 @@ declare class ElementView {
89
89
  map: <T>(callback: (view: ElementView) => T) => T[];
90
90
  };
91
91
  constructor(...args: unknown[]);
92
+ addElement(data: Partial<V1ElementModelProps>, options?: object): unknown;
92
93
  onRender(...args: unknown[]): void;
93
94
  onDestroy(...args: unknown[]): void;
94
95
  attributes(): Record<string, unknown>;
@@ -131,6 +132,10 @@ declare class ElementView {
131
132
  scrollIntoView: boolean;
132
133
  }): void;
133
134
  once: (event: string, callback: () => void) => void;
135
+ getContainer(): V1Element;
136
+ }
137
+ declare class TemplatedElementView extends ElementView {
138
+ _doAfterRender(callback: () => void): void;
134
139
  }
135
140
  type JQueryElement = {
136
141
  find: (selector: string) => JQueryElement;
@@ -215,7 +220,7 @@ type CreateTemplatedElementTypeOptions = {
215
220
  element: TemplatedElementConfig;
216
221
  };
217
222
  type TemplatedElementConfig = Required<Pick<V1ElementConfig, 'twig_templates' | 'twig_main_template' | 'atomic_props_schema' | 'base_styles_dictionary'>>;
218
- declare function createTemplatedElementView({ type, renderer, element, }: CreateTemplatedElementTypeOptions): typeof ElementView;
223
+ declare function createTemplatedElementView({ type, renderer, element, }: CreateTemplatedElementTypeOptions): typeof TemplatedElementView;
219
224
 
220
225
  type NestedTemplatedElementConfig = TemplatedElementConfig & {
221
226
  allowed_child_types?: string[];
@@ -308,6 +313,17 @@ declare const styleTransformersRegistry: {
308
313
  declare const endDragElementFromPanel: () => void;
309
314
  declare const startDragElementFromPanel: (props: Omit<V1ElementModelProps, "id">, event: React.DragEvent) => void;
310
315
 
316
+ declare const GLOBAL_STYLES_IMPORTED_EVENT = "elementor/global-styles/imported";
317
+ type ImportedGlobalStylesPayload = {
318
+ global_variables?: {
319
+ data: StyleVariables;
320
+ };
321
+ global_classes?: {
322
+ items: StyleDefinitionsMap;
323
+ order: StyleDefinitionID[];
324
+ };
325
+ };
326
+
311
327
  declare const DOCUMENT_STRUCTURE_URI = "elementor://document/structure";
312
328
 
313
329
  declare function createTransformer<TValue = never>(cb: TValue extends AnyTransformable ? 'Transformable values are invalid, use the actual value instead.' : UnbrandedTransformer<TValue>): Transformer<NoInfer<TValue>>;
@@ -345,4 +361,6 @@ declare const UnknownStyleStateError: {
345
361
  isError(error: unknown): error is Error;
346
362
  };
347
363
 
348
- 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, type LegacyWindow, type NamespacedRenderContext, type NestedTemplatedElementConfig, type PropsResolver, type RenderContext, type ReplacementSettings, STYLE_SCHEMA_URI, type TransformerOptions, UnknownStyleStateError, UnknownStyleTypeError, WIDGET_SCHEMA_URI, canBeNestedTemplated, createNestedTemplatedElementType, createNestedTemplatedElementView, createPropsResolver, createTemplatedElementView, createTransformer, createTransformersRegistry, endDragElementFromPanel, init, isAtomicWidget, registerElementType, registerModelExtensions, settingsTransformersRegistry, startDragElementFromPanel, styleTransformersRegistry, stylesInheritanceTransformersRegistry };
364
+ declare function doAfterRender(elementIds: string[], callback: (elementIds: string[]) => void): void;
365
+
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 };
package/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- import { V1Element, V1ElementConfig, V1ElementModelProps } from '@elementor/editor-elements';
1
+ import { V1Element, V1ElementModelProps, V1ElementConfig } from '@elementor/editor-elements';
2
2
  import { TwingArrayLoader, TwingEnvironment } from '@elementor/twing';
3
3
  import { Root } from 'react-dom/client';
4
4
  import * as _elementor_editor_props from '@elementor/editor-props';
5
5
  import { Props, PropValue, PropType, PropTypeKey, PropsSchema, AnyTransformable } from '@elementor/editor-props';
6
+ import { StyleVariables, StyleDefinitionsMap, StyleDefinitionID, StyleDefinitionState } from '@elementor/editor-styles';
6
7
  import * as _elementor_utils from '@elementor/utils';
7
- import { StyleDefinitionState } from '@elementor/editor-styles';
8
8
 
9
9
  declare const BREAKPOINTS_SCHEMA_URI = "elementor://breakpoints/list";
10
10
 
@@ -89,6 +89,7 @@ declare class ElementView {
89
89
  map: <T>(callback: (view: ElementView) => T) => T[];
90
90
  };
91
91
  constructor(...args: unknown[]);
92
+ addElement(data: Partial<V1ElementModelProps>, options?: object): unknown;
92
93
  onRender(...args: unknown[]): void;
93
94
  onDestroy(...args: unknown[]): void;
94
95
  attributes(): Record<string, unknown>;
@@ -131,6 +132,10 @@ declare class ElementView {
131
132
  scrollIntoView: boolean;
132
133
  }): void;
133
134
  once: (event: string, callback: () => void) => void;
135
+ getContainer(): V1Element;
136
+ }
137
+ declare class TemplatedElementView extends ElementView {
138
+ _doAfterRender(callback: () => void): void;
134
139
  }
135
140
  type JQueryElement = {
136
141
  find: (selector: string) => JQueryElement;
@@ -215,7 +220,7 @@ type CreateTemplatedElementTypeOptions = {
215
220
  element: TemplatedElementConfig;
216
221
  };
217
222
  type TemplatedElementConfig = Required<Pick<V1ElementConfig, 'twig_templates' | 'twig_main_template' | 'atomic_props_schema' | 'base_styles_dictionary'>>;
218
- declare function createTemplatedElementView({ type, renderer, element, }: CreateTemplatedElementTypeOptions): typeof ElementView;
223
+ declare function createTemplatedElementView({ type, renderer, element, }: CreateTemplatedElementTypeOptions): typeof TemplatedElementView;
219
224
 
220
225
  type NestedTemplatedElementConfig = TemplatedElementConfig & {
221
226
  allowed_child_types?: string[];
@@ -308,6 +313,17 @@ declare const styleTransformersRegistry: {
308
313
  declare const endDragElementFromPanel: () => void;
309
314
  declare const startDragElementFromPanel: (props: Omit<V1ElementModelProps, "id">, event: React.DragEvent) => void;
310
315
 
316
+ declare const GLOBAL_STYLES_IMPORTED_EVENT = "elementor/global-styles/imported";
317
+ type ImportedGlobalStylesPayload = {
318
+ global_variables?: {
319
+ data: StyleVariables;
320
+ };
321
+ global_classes?: {
322
+ items: StyleDefinitionsMap;
323
+ order: StyleDefinitionID[];
324
+ };
325
+ };
326
+
311
327
  declare const DOCUMENT_STRUCTURE_URI = "elementor://document/structure";
312
328
 
313
329
  declare function createTransformer<TValue = never>(cb: TValue extends AnyTransformable ? 'Transformable values are invalid, use the actual value instead.' : UnbrandedTransformer<TValue>): Transformer<NoInfer<TValue>>;
@@ -345,4 +361,6 @@ declare const UnknownStyleStateError: {
345
361
  isError(error: unknown): error is Error;
346
362
  };
347
363
 
348
- 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, type LegacyWindow, type NamespacedRenderContext, type NestedTemplatedElementConfig, type PropsResolver, type RenderContext, type ReplacementSettings, STYLE_SCHEMA_URI, type TransformerOptions, UnknownStyleStateError, UnknownStyleTypeError, WIDGET_SCHEMA_URI, canBeNestedTemplated, createNestedTemplatedElementType, createNestedTemplatedElementView, createPropsResolver, createTemplatedElementView, createTransformer, createTransformersRegistry, endDragElementFromPanel, init, isAtomicWidget, registerElementType, registerModelExtensions, settingsTransformersRegistry, startDragElementFromPanel, styleTransformersRegistry, stylesInheritanceTransformersRegistry };
364
+ declare function doAfterRender(elementIds: string[], callback: (elementIds: string[]) => void): void;
365
+
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 };