@elementor/editor-canvas 4.0.0-manual → 4.0.1

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 (38) hide show
  1. package/dist/index.d.mts +11 -2
  2. package/dist/index.d.ts +11 -2
  3. package/dist/index.js +307 -128
  4. package/dist/index.mjs +273 -94
  5. package/package.json +19 -18
  6. package/src/components/__tests__/style-renderer.test.tsx +4 -0
  7. package/src/hooks/__tests__/use-style-items.test.ts +125 -0
  8. package/src/hooks/use-style-items.ts +40 -16
  9. package/src/index.ts +1 -1
  10. package/src/init-settings-transformers.ts +2 -0
  11. package/src/legacy/create-nested-templated-element-type.ts +15 -2
  12. package/src/legacy/create-templated-element-type.ts +8 -0
  13. package/src/legacy/replacements/base.ts +4 -0
  14. package/src/legacy/replacements/inline-editing/canvas-inline-editor.tsx +49 -27
  15. package/src/legacy/replacements/inline-editing/inline-editing-elements.tsx +16 -10
  16. package/src/legacy/replacements/inline-editing/inline-editing-utils.ts +12 -1
  17. package/src/legacy/replacements/manager.ts +13 -0
  18. package/src/legacy/types.ts +6 -1
  19. package/src/mcp/canvas-mcp.ts +5 -7
  20. package/src/mcp/resources/breakpoints-resource.ts +11 -4
  21. package/src/mcp/resources/document-structure-resource.ts +18 -13
  22. package/src/mcp/tools/build-composition/schema.ts +1 -1
  23. package/src/mcp/tools/build-composition/tool.ts +5 -1
  24. package/src/mcp/utils/__tests__/get-composition-target-container.test.ts +59 -0
  25. package/src/mcp/utils/get-composition-target-container.ts +15 -0
  26. package/src/renderers/__tests__/create-styles-renderer.test.ts +117 -0
  27. package/src/renderers/create-styles-renderer.ts +13 -3
  28. package/src/style-commands/__tests__/paste-style.test.ts +5 -3
  29. package/src/style-commands/__tests__/reset-style.test.ts +3 -3
  30. package/src/style-commands/paste-style.ts +7 -1
  31. package/src/style-commands/reset-style.ts +1 -1
  32. package/src/style-commands/undoable-actions/paste-element-style.ts +1 -1
  33. package/src/style-commands/undoable-actions/reset-element-style.ts +1 -1
  34. package/src/transformers/shared/__tests__/svg-src-transformer.test.ts +184 -0
  35. package/src/transformers/shared/svg-src-transformer.ts +87 -0
  36. package/src/transformers/styles/__tests__/size-transformer.test.ts +24 -0
  37. package/src/transformers/styles/size-transformer.ts +3 -0
  38. /package/src/{style-commands/utils.ts → utils/command-utils.ts} +0 -0
package/dist/index.d.mts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { V1Element, V1ElementConfig, V1ElementModelProps } from '@elementor/editor-elements';
2
2
  import { TwingArrayLoader, TwingEnvironment } from '@elementor/twing';
3
+ import { Root } from 'react-dom/client';
3
4
  import * as _elementor_editor_props from '@elementor/editor-props';
4
5
  import { Props, PropValue, PropType, PropTypeKey, PropsSchema, AnyTransformable } from '@elementor/editor-props';
5
6
  import * as _elementor_utils from '@elementor/utils';
@@ -164,6 +165,7 @@ type BackboneCollection<Model extends object> = {
164
165
  };
165
166
  type ElementModel = {
166
167
  id: string;
168
+ originId?: string;
167
169
  elType: string;
168
170
  settings: BackboneModel<Props>;
169
171
  editor_settings: Record<string, unknown>;
@@ -183,13 +185,18 @@ type ContextMenuGroup = {
183
185
  name: string;
184
186
  actions: ContextMenuAction[];
185
187
  };
188
+ type ContextMenuEventData = {
189
+ location: string;
190
+ secondaryLocation: string;
191
+ trigger: string;
192
+ };
186
193
  type ContextMenuAction = {
187
194
  name: string;
188
195
  icon: string;
189
196
  title: string | (() => string);
190
197
  shortcut?: string;
191
198
  isEnabled: () => boolean;
192
- callback: (_: unknown, eventData: unknown) => void;
199
+ callback: (_: unknown, eventData: ContextMenuEventData) => void;
193
200
  };
194
201
  type ReplacementSettings = {
195
202
  getSetting: (key: string) => unknown;
@@ -198,6 +205,8 @@ type ReplacementSettings = {
198
205
  id: string;
199
206
  element: HTMLElement;
200
207
  refreshView: () => void;
208
+ reactRoot: Root;
209
+ reactContainer: HTMLElement;
201
210
  };
202
211
 
203
212
  type CreateTemplatedElementTypeOptions = {
@@ -336,4 +345,4 @@ declare const UnknownStyleStateError: {
336
345
  isError(error: unknown): error is Error;
337
346
  };
338
347
 
339
- export { type AnyTransformer, BREAKPOINTS_SCHEMA_URI, type BackboneModel, type BackboneModelConstructor, type ContextMenuAction, 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 };
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 };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { V1Element, V1ElementConfig, V1ElementModelProps } from '@elementor/editor-elements';
2
2
  import { TwingArrayLoader, TwingEnvironment } from '@elementor/twing';
3
+ import { Root } from 'react-dom/client';
3
4
  import * as _elementor_editor_props from '@elementor/editor-props';
4
5
  import { Props, PropValue, PropType, PropTypeKey, PropsSchema, AnyTransformable } from '@elementor/editor-props';
5
6
  import * as _elementor_utils from '@elementor/utils';
@@ -164,6 +165,7 @@ type BackboneCollection<Model extends object> = {
164
165
  };
165
166
  type ElementModel = {
166
167
  id: string;
168
+ originId?: string;
167
169
  elType: string;
168
170
  settings: BackboneModel<Props>;
169
171
  editor_settings: Record<string, unknown>;
@@ -183,13 +185,18 @@ type ContextMenuGroup = {
183
185
  name: string;
184
186
  actions: ContextMenuAction[];
185
187
  };
188
+ type ContextMenuEventData = {
189
+ location: string;
190
+ secondaryLocation: string;
191
+ trigger: string;
192
+ };
186
193
  type ContextMenuAction = {
187
194
  name: string;
188
195
  icon: string;
189
196
  title: string | (() => string);
190
197
  shortcut?: string;
191
198
  isEnabled: () => boolean;
192
- callback: (_: unknown, eventData: unknown) => void;
199
+ callback: (_: unknown, eventData: ContextMenuEventData) => void;
193
200
  };
194
201
  type ReplacementSettings = {
195
202
  getSetting: (key: string) => unknown;
@@ -198,6 +205,8 @@ type ReplacementSettings = {
198
205
  id: string;
199
206
  element: HTMLElement;
200
207
  refreshView: () => void;
208
+ reactRoot: Root;
209
+ reactContainer: HTMLElement;
201
210
  };
202
211
 
203
212
  type CreateTemplatedElementTypeOptions = {
@@ -336,4 +345,4 @@ declare const UnknownStyleStateError: {
336
345
  isError(error: unknown): error is Error;
337
346
  };
338
347
 
339
- export { type AnyTransformer, BREAKPOINTS_SCHEMA_URI, type BackboneModel, type BackboneModelConstructor, type ContextMenuAction, 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 };
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 };