@elementor/editor-canvas 4.4.0-1149 → 4.4.0-beta2

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
@@ -1179,7 +1179,7 @@ function usePortalContainer() {
1179
1179
 
1180
1180
  // src/components/style-renderer.tsx
1181
1181
  var React9 = __toESM(require("react"));
1182
- var import_editor_v1_adapters10 = require("@elementor/editor-v1-adapters");
1182
+ var import_editor_v1_adapters11 = require("@elementor/editor-v1-adapters");
1183
1183
  var import_ui4 = require("@elementor/ui");
1184
1184
 
1185
1185
  // src/hooks/use-documents-css-links.ts
@@ -1230,11 +1230,11 @@ function getLinkAttrs(el) {
1230
1230
  }
1231
1231
 
1232
1232
  // src/hooks/use-style-items.ts
1233
- var import_react16 = require("react");
1233
+ var import_react17 = require("react");
1234
1234
  var import_editor_responsive2 = require("@elementor/editor-responsive");
1235
1235
  var import_editor_styles3 = require("@elementor/editor-styles");
1236
1236
  var import_editor_styles_repository2 = require("@elementor/editor-styles-repository");
1237
- var import_editor_v1_adapters9 = require("@elementor/editor-v1-adapters");
1237
+ var import_editor_v1_adapters10 = require("@elementor/editor-v1-adapters");
1238
1238
 
1239
1239
  // src/utils/abort-previous-runs.ts
1240
1240
  function abortPreviousRuns(cb) {
@@ -1291,10 +1291,29 @@ function signalizedProcess(signal, steps = []) {
1291
1291
  };
1292
1292
  }
1293
1293
 
1294
- // src/hooks/use-style-prop-resolver.ts
1294
+ // src/hooks/use-pregenerated-links-handoff.ts
1295
1295
  var import_react14 = require("react");
1296
- var import_editor_styles = require("@elementor/editor-styles");
1297
1296
  var import_editor_v1_adapters8 = require("@elementor/editor-v1-adapters");
1297
+ function usePregeneratedLinksHandoff(canvasHead, renderedProviders) {
1298
+ (0, import_react14.useLayoutEffect)(() => {
1299
+ if (!isCurrentCanvasHead(canvasHead)) {
1300
+ return;
1301
+ }
1302
+ Object.entries(renderedProviders).forEach(([providerKey, { provider, items }]) => {
1303
+ if (items.length > 0 && provider.isPregeneratedLink) {
1304
+ removeProviderPregeneratedLinks(providerKey, provider.isPregeneratedLink);
1305
+ }
1306
+ });
1307
+ }, [canvasHead, renderedProviders]);
1308
+ }
1309
+ function isCurrentCanvasHead(canvasHead) {
1310
+ return !!canvasHead && canvasHead === (0, import_editor_v1_adapters8.getCanvasIframeDocument)()?.head;
1311
+ }
1312
+
1313
+ // src/hooks/use-style-prop-resolver.ts
1314
+ var import_react15 = require("react");
1315
+ var import_editor_styles = require("@elementor/editor-styles");
1316
+ var import_editor_v1_adapters9 = require("@elementor/editor-v1-adapters");
1298
1317
 
1299
1318
  // src/renderers/create-props-resolver.ts
1300
1319
  var import_editor_props = require("@elementor/editor-props");
@@ -1441,19 +1460,19 @@ var styleTransformersRegistry = createTransformersRegistry();
1441
1460
 
1442
1461
  // src/hooks/use-style-prop-resolver.ts
1443
1462
  function useStylePropResolver() {
1444
- return (0, import_react14.useMemo)(() => {
1463
+ return (0, import_react15.useMemo)(() => {
1445
1464
  return createPropsResolver({
1446
1465
  transformers: styleTransformersRegistry,
1447
1466
  schema: (0, import_editor_styles.getStylesSchema)(),
1448
1467
  onPropResolve: ({ propValue, propType }) => {
1449
- maybeEnqueueFontFromStyleProp(propType, propValue, import_editor_v1_adapters8.enqueueFont);
1468
+ maybeEnqueueFontFromStyleProp(propType, propValue, import_editor_v1_adapters9.enqueueFont);
1450
1469
  }
1451
1470
  });
1452
1471
  }, []);
1453
1472
  }
1454
1473
 
1455
1474
  // src/hooks/use-style-renderer.ts
1456
- var import_react15 = require("react");
1475
+ var import_react16 = require("react");
1457
1476
  var import_editor_responsive = require("@elementor/editor-responsive");
1458
1477
 
1459
1478
  // src/renderers/create-styles-renderer.ts
@@ -1562,7 +1581,7 @@ function customCssToString(customCss) {
1562
1581
  var SELECTOR_PREFIX = ".elementor";
1563
1582
  function useStyleRenderer(resolve) {
1564
1583
  const breakpoints = (0, import_editor_responsive.useBreakpointsMap)();
1565
- return (0, import_react15.useMemo)(() => {
1584
+ return (0, import_react16.useMemo)(() => {
1566
1585
  return createStylesRenderer({
1567
1586
  selectorPrefix: SELECTOR_PREFIX,
1568
1587
  breakpoints,
@@ -1572,13 +1591,13 @@ function useStyleRenderer(resolve) {
1572
1591
  }
1573
1592
 
1574
1593
  // src/hooks/use-style-items.ts
1575
- function useStyleItems() {
1594
+ function useStyleItems(canvasHead) {
1576
1595
  const resolve = useStylePropResolver();
1577
1596
  const renderStyles = useStyleRenderer(resolve);
1578
1597
  const breakpoints = (0, import_editor_responsive2.useBreakpoints)();
1579
- const [styleItems, setStyleItems] = (0, import_react16.useState)({});
1580
- const styleItemsCacheRef = (0, import_react16.useRef)(/* @__PURE__ */ new Map());
1581
- const providerAndSubscribers = (0, import_react16.useMemo)(() => {
1598
+ const [styleItems, setStyleItems] = (0, import_react17.useState)({});
1599
+ const styleItemsCacheRef = (0, import_react17.useRef)(/* @__PURE__ */ new Map());
1600
+ const providerAndSubscribers = (0, import_react17.useMemo)(() => {
1582
1601
  const createEmptyCache = () => {
1583
1602
  return { orderedIds: [], itemsById: /* @__PURE__ */ new Map() };
1584
1603
  };
@@ -1604,7 +1623,7 @@ function useStyleItems() {
1604
1623
  })
1605
1624
  );
1606
1625
  }, [renderStyles]);
1607
- (0, import_react16.useEffect)(() => {
1626
+ (0, import_react17.useEffect)(() => {
1608
1627
  const unsubscribes = providerAndSubscribers.map(
1609
1628
  ({ provider, subscriber }) => provider.subscribe(subscriber)
1610
1629
  );
@@ -1613,17 +1632,18 @@ function useStyleItems() {
1613
1632
  };
1614
1633
  }, [providerAndSubscribers]);
1615
1634
  useOnMount(() => {
1616
- (0, import_editor_v1_adapters9.registerDataHook)("after", "editor/documents/attach-preview", async () => {
1635
+ (0, import_editor_v1_adapters10.registerDataHook)("after", "editor/documents/attach-preview", async () => {
1617
1636
  resetRemovedProviders();
1618
1637
  const promises = providerAndSubscribers.map(async ({ subscriber }) => subscriber());
1619
1638
  await Promise.all(promises);
1620
1639
  });
1621
1640
  });
1622
- const breakpointSorter = (0, import_react16.useMemo)(
1641
+ usePregeneratedLinksHandoff(canvasHead, styleItems);
1642
+ const breakpointSorter = (0, import_react17.useMemo)(
1623
1643
  () => createBreakpointSorter(breakpoints.map((breakpoint) => breakpoint.id)),
1624
1644
  [breakpoints]
1625
1645
  );
1626
- return (0, import_react16.useMemo)(
1646
+ return (0, import_react17.useMemo)(
1627
1647
  () => Object.values(styleItems).sort(prioritySorter).flatMap(({ items }) => items).sort(stateSorter).sort(breakpointSorter),
1628
1648
  [styleItems, breakpointSorter]
1629
1649
  );
@@ -1656,9 +1676,6 @@ function createProviderSubscriber2({ provider, renderStyles, setStyleItems, getC
1656
1676
  const cache = getCache();
1657
1677
  const hasDiffInfo = current !== void 0 && previous !== void 0;
1658
1678
  const hasCache = cache.orderedIds.length > 0;
1659
- if (hasCache && provider.isPregeneratedLink) {
1660
- removeProviderPregeneratedLinks(provider.getKey(), provider.isPregeneratedLink);
1661
- }
1662
1679
  if (hasDiffInfo && hasCache) {
1663
1680
  return updateItems(cache, previous, current, signal);
1664
1681
  }
@@ -1760,7 +1777,7 @@ function rebuildCache(cache, allStyles, items) {
1760
1777
  // src/components/style-renderer.tsx
1761
1778
  function StyleRenderer() {
1762
1779
  const container = usePortalContainer2();
1763
- const styleItems = useStyleItems();
1780
+ const styleItems = useStyleItems(container);
1764
1781
  const linksAttrs = useDocumentsCssLinks();
1765
1782
  if (!container) {
1766
1783
  return null;
@@ -1768,7 +1785,7 @@ function StyleRenderer() {
1768
1785
  return /* @__PURE__ */ React9.createElement(import_ui4.Portal, { container }, filterUniqueStyleDefinitions(styleItems).map((item) => /* @__PURE__ */ React9.createElement("style", { key: `${item.id}-${item.breakpoint}-${item.state ?? "normal"}` }, item.value)), linksAttrs.map((attrs) => /* @__PURE__ */ React9.createElement("link", { ...attrs, key: attrs.id })));
1769
1786
  }
1770
1787
  function usePortalContainer2() {
1771
- return (0, import_editor_v1_adapters10.__privateUseListenTo)((0, import_editor_v1_adapters10.commandEndEvent)("editor/documents/attach-preview"), () => (0, import_editor_v1_adapters10.getCanvasIframeDocument)()?.head);
1788
+ return (0, import_editor_v1_adapters11.__privateUseListenTo)((0, import_editor_v1_adapters11.commandEndEvent)("editor/documents/attach-preview"), () => (0, import_editor_v1_adapters11.getCanvasIframeDocument)()?.head);
1772
1789
  }
1773
1790
  function filterUniqueStyleDefinitions(styleItems) {
1774
1791
  const seen = /* @__PURE__ */ new Map();
@@ -1791,7 +1808,7 @@ function filterUniqueStyleDefinitions(styleItems) {
1791
1808
 
1792
1809
  // src/form-structure/enforce-form-ancestor-commands.ts
1793
1810
  var import_editor_notifications = require("@elementor/editor-notifications");
1794
- var import_editor_v1_adapters11 = require("@elementor/editor-v1-adapters");
1811
+ var import_editor_v1_adapters12 = require("@elementor/editor-v1-adapters");
1795
1812
  var import_i18n = require("@wordpress/i18n");
1796
1813
 
1797
1814
  // src/form-structure/utils.ts
@@ -1893,15 +1910,15 @@ var FORM_FIELDS_OUTSIDE_ALERT = {
1893
1910
  id: "form-fields-outside-form-blocked"
1894
1911
  };
1895
1912
  function initFormAncestorEnforcement() {
1896
- (0, import_editor_v1_adapters11.blockCommand)({
1913
+ (0, import_editor_v1_adapters12.blockCommand)({
1897
1914
  command: "document/elements/create",
1898
1915
  condition: blockFormFieldCreate
1899
1916
  });
1900
- (0, import_editor_v1_adapters11.blockCommand)({
1917
+ (0, import_editor_v1_adapters12.blockCommand)({
1901
1918
  command: "document/elements/move",
1902
1919
  condition: blockFormFieldMove
1903
1920
  });
1904
- (0, import_editor_v1_adapters11.blockCommand)({
1921
+ (0, import_editor_v1_adapters12.blockCommand)({
1905
1922
  command: "document/elements/paste",
1906
1923
  condition: blockFormFieldPaste
1907
1924
  });
@@ -1951,7 +1968,7 @@ function handleBlockedFormField() {
1951
1968
 
1952
1969
  // src/form-structure/form-atom-added-hints.ts
1953
1970
  var import_editor_notifications2 = require("@elementor/editor-notifications");
1954
- var import_editor_v1_adapters12 = require("@elementor/editor-v1-adapters");
1971
+ var import_editor_v1_adapters13 = require("@elementor/editor-v1-adapters");
1955
1972
  var import_i18n2 = require("@wordpress/i18n");
1956
1973
  var MOVE_COMMAND = "document/elements/move";
1957
1974
  var FORM_ATOM_HINTS = {
@@ -1966,7 +1983,7 @@ var FORM_ATOM_HINTS = {
1966
1983
  };
1967
1984
  var notificationCounter = 0;
1968
1985
  function initFormAtomAddedHints() {
1969
- (0, import_editor_v1_adapters12.registerDataHook)("after", "document/elements/create", (args, _result, options) => {
1986
+ (0, import_editor_v1_adapters13.registerDataHook)("after", "document/elements/create", (args, _result, options) => {
1970
1987
  if (options?.commandsCurrentTrace?.includes(MOVE_COMMAND)) {
1971
1988
  return;
1972
1989
  }
@@ -1985,7 +2002,7 @@ function initFormAtomAddedHints() {
1985
2002
 
1986
2003
  // src/form-structure/hidden-field-hint.ts
1987
2004
  var import_editor_notifications3 = require("@elementor/editor-notifications");
1988
- var import_editor_v1_adapters13 = require("@elementor/editor-v1-adapters");
2005
+ var import_editor_v1_adapters14 = require("@elementor/editor-v1-adapters");
1989
2006
  var import_i18n3 = require("@wordpress/i18n");
1990
2007
  var MOVE_COMMAND2 = "document/elements/move";
1991
2008
  var notificationCounter2 = 0;
@@ -1997,7 +2014,7 @@ function createHiddenFieldNotification() {
1997
2014
  };
1998
2015
  }
1999
2016
  function initHiddenFieldHint() {
2000
- (0, import_editor_v1_adapters13.registerDataHook)("after", "document/elements/create", (args, _result, options) => {
2017
+ (0, import_editor_v1_adapters14.registerDataHook)("after", "document/elements/create", (args, _result, options) => {
2001
2018
  if (options?.commandsCurrentTrace?.includes(MOVE_COMMAND2)) {
2002
2019
  return;
2003
2020
  }
@@ -2010,7 +2027,7 @@ function initHiddenFieldHint() {
2010
2027
  // src/form-structure/prevent-duplicate-form-atoms-commands.ts
2011
2028
  var import_editor_elements5 = require("@elementor/editor-elements");
2012
2029
  var import_editor_notifications4 = require("@elementor/editor-notifications");
2013
- var import_editor_v1_adapters14 = require("@elementor/editor-v1-adapters");
2030
+ var import_editor_v1_adapters15 = require("@elementor/editor-v1-adapters");
2014
2031
  var import_i18n4 = require("@wordpress/i18n");
2015
2032
  var MOVE_COMMAND3 = "document/elements/move";
2016
2033
  var SINGLE_INSTANCE_FORM_ATOM_ALERTS = {
@@ -2027,10 +2044,10 @@ var SINGLE_INSTANCE_FORM_ATOM_ALERTS = {
2027
2044
  };
2028
2045
  var SINGLE_INSTANCE_FORM_ATOM_TYPES = Object.keys(SINGLE_INSTANCE_FORM_ATOM_ALERTS);
2029
2046
  function initDuplicateFormAtomsPrevention() {
2030
- (0, import_editor_v1_adapters14.registerDataHook)("dependency", "document/elements/create", (args, options) => {
2047
+ (0, import_editor_v1_adapters15.registerDataHook)("dependency", "document/elements/create", (args, options) => {
2031
2048
  return !blockDuplicateCreate(args, options);
2032
2049
  });
2033
- (0, import_editor_v1_adapters14.blockCommand)({
2050
+ (0, import_editor_v1_adapters15.blockCommand)({
2034
2051
  command: "document/elements/move",
2035
2052
  condition: blockDuplicateMove
2036
2053
  });
@@ -2074,7 +2091,7 @@ function formHasElementType(form, type, excluded = /* @__PURE__ */ new Set()) {
2074
2091
 
2075
2092
  // src/form-structure/prevent-form-nesting-commands.ts
2076
2093
  var import_editor_notifications5 = require("@elementor/editor-notifications");
2077
- var import_editor_v1_adapters15 = require("@elementor/editor-v1-adapters");
2094
+ var import_editor_v1_adapters16 = require("@elementor/editor-v1-adapters");
2078
2095
  var import_i18n5 = require("@wordpress/i18n");
2079
2096
  var FORM_NESTING_ALERT = {
2080
2097
  type: "default",
@@ -2082,15 +2099,15 @@ var FORM_NESTING_ALERT = {
2082
2099
  id: "form-nesting-blocked"
2083
2100
  };
2084
2101
  function initFormNestingPrevention() {
2085
- (0, import_editor_v1_adapters15.blockCommand)({
2102
+ (0, import_editor_v1_adapters16.blockCommand)({
2086
2103
  command: "document/elements/create",
2087
2104
  condition: blockFormCreate
2088
2105
  });
2089
- (0, import_editor_v1_adapters15.blockCommand)({
2106
+ (0, import_editor_v1_adapters16.blockCommand)({
2090
2107
  command: "document/elements/move",
2091
2108
  condition: blockFormMove
2092
2109
  });
2093
- (0, import_editor_v1_adapters15.blockCommand)({
2110
+ (0, import_editor_v1_adapters16.blockCommand)({
2094
2111
  command: "document/elements/paste",
2095
2112
  condition: blockFormPaste
2096
2113
  });
@@ -2828,7 +2845,7 @@ function initStyleTransformers() {
2828
2845
 
2829
2846
  // src/legacy/init-legacy-views.ts
2830
2847
  var import_editor_elements9 = require("@elementor/editor-elements");
2831
- var import_editor_v1_adapters17 = require("@elementor/editor-v1-adapters");
2848
+ var import_editor_v1_adapters18 = require("@elementor/editor-v1-adapters");
2832
2849
 
2833
2850
  // src/renderers/create-dom-renderer.ts
2834
2851
  var import_twing = require("@elementor/twing");
@@ -2837,6 +2854,7 @@ function createDomRenderer() {
2837
2854
  const environment = (0, import_twing.createEnvironment)(loader);
2838
2855
  environment.registerEscapingStrategy(escapeHtmlTag, "html_tag");
2839
2856
  environment.registerEscapingStrategy(escapeURL, "full_url");
2857
+ environment.registerEscapingStrategy(escapeJsIdentifier, "js_identifier");
2840
2858
  return {
2841
2859
  register: loader.setTemplate,
2842
2860
  render: environment.render
@@ -2850,6 +2868,12 @@ function escapeHtmlTag(value) {
2850
2868
  const normalizedTag = value?.toLowerCase?.() ?? "";
2851
2869
  return allowedTags.includes(normalizedTag) ? value : "div";
2852
2870
  }
2871
+ var JS_IDENTIFIER_PATTERN = /^[A-Za-z0-9_]+$/;
2872
+ function escapeJsIdentifier(value) {
2873
+ const id = String(value ?? "");
2874
+ const match = id.match(JS_IDENTIFIER_PATTERN);
2875
+ return match?.[0] === id ? id : "";
2876
+ }
2853
2877
  function escapeURL(value) {
2854
2878
  const allowedProtocols = ["http:", "https:", "mailto:", "tel:"];
2855
2879
  try {
@@ -3579,7 +3603,7 @@ var import_client = require("react-dom/client");
3579
3603
  var React11 = __toESM(require("react"));
3580
3604
  var import_editor_elements8 = require("@elementor/editor-elements");
3581
3605
  var import_editor_props4 = require("@elementor/editor-props");
3582
- var import_editor_v1_adapters16 = require("@elementor/editor-v1-adapters");
3606
+ var import_editor_v1_adapters17 = require("@elementor/editor-v1-adapters");
3583
3607
  var import_i18n6 = require("@wordpress/i18n");
3584
3608
 
3585
3609
  // src/legacy/replacements/base.ts
@@ -3626,14 +3650,14 @@ var ReplacementBase = class {
3626
3650
 
3627
3651
  // src/legacy/replacements/inline-editing/canvas-inline-editor.tsx
3628
3652
  var React10 = __toESM(require("react"));
3629
- var import_react18 = require("react");
3653
+ var import_react19 = require("react");
3630
3654
  var import_editor_controls3 = require("@elementor/editor-controls");
3631
3655
  var import_editor_ui = require("@elementor/editor-ui");
3632
3656
  var import_ui5 = require("@elementor/ui");
3633
- var import_react19 = require("@floating-ui/react");
3657
+ var import_react20 = require("@floating-ui/react");
3634
3658
 
3635
3659
  // src/legacy/replacements/inline-editing/inline-editing-utils.ts
3636
- var import_react17 = require("react");
3660
+ var import_react18 = require("react");
3637
3661
  var TOP_BAR_SELECTOR = "#elementor-editor-wrapper-v2";
3638
3662
  var NAVIGATOR_SELECTOR = "#elementor-navigator";
3639
3663
  var EDITING_PANEL = "#elementor-panel";
@@ -3664,8 +3688,8 @@ var getInlineEditorElement = (elementWrapper, expectedTag) => {
3664
3688
  return !expectedTag ? null : elementWrapper.querySelector(expectedTag);
3665
3689
  };
3666
3690
  var useOnClickOutsideIframe = (handleUnmount) => {
3667
- const asyncUnmountInlineEditor = (0, import_react17.useCallback)(() => queueMicrotask(handleUnmount), [handleUnmount]);
3668
- (0, import_react17.useEffect)(() => {
3691
+ const asyncUnmountInlineEditor = (0, import_react18.useCallback)(() => queueMicrotask(handleUnmount), [handleUnmount]);
3692
+ (0, import_react18.useEffect)(() => {
3669
3693
  EDITOR_ELEMENTS_OUT_OF_IFRAME.forEach(
3670
3694
  (selector) => document?.querySelector(selector)?.addEventListener("mousedown", asyncUnmountInlineEditor)
3671
3695
  );
@@ -3675,8 +3699,8 @@ var useOnClickOutsideIframe = (handleUnmount) => {
3675
3699
  }, []);
3676
3700
  };
3677
3701
  var useRenderToolbar = (ownerDocument, id) => {
3678
- const [anchor, setAnchor] = (0, import_react17.useState)(null);
3679
- (0, import_react17.useEffect)(() => {
3702
+ const [anchor, setAnchor] = (0, import_react18.useState)(null);
3703
+ (0, import_react18.useEffect)(() => {
3680
3704
  if (!anchor) {
3681
3705
  removeToolbarAnchor(ownerDocument, id);
3682
3706
  }
@@ -3690,7 +3714,7 @@ var useRenderToolbar = (ownerDocument, id) => {
3690
3714
  setAnchor(null);
3691
3715
  }
3692
3716
  };
3693
- const clearAnchor = (0, import_react17.useCallback)(() => {
3717
+ const clearAnchor = (0, import_react18.useCallback)(() => {
3694
3718
  setAnchor(null);
3695
3719
  }, []);
3696
3720
  return { onSelectionEnd, anchor, clearAnchor };
@@ -3770,21 +3794,21 @@ var CanvasInlineEditor = ({
3770
3794
  setValue,
3771
3795
  requestDestroy
3772
3796
  }) => {
3773
- const [active, setActive] = (0, import_react18.useState)(true);
3774
- const [editor, setEditor] = (0, import_react18.useState)(null);
3797
+ const [active, setActive] = (0, import_react19.useState)(true);
3798
+ const [editor, setEditor] = (0, import_react19.useState)(null);
3775
3799
  const { onSelectionEnd, anchor: toolbarAnchor, clearAnchor } = useRenderToolbar(rootElement.ownerDocument, id);
3776
- (0, import_react18.useEffect)(() => {
3800
+ (0, import_react19.useEffect)(() => {
3777
3801
  if (!active) {
3778
3802
  clearAnchor();
3779
3803
  requestDestroy();
3780
3804
  }
3781
3805
  }, [active, clearAnchor, requestDestroy]);
3782
- const dismiss = (0, import_react18.useCallback)(() => {
3806
+ const dismiss = (0, import_react19.useCallback)(() => {
3783
3807
  setEditor(null);
3784
3808
  setActive(false);
3785
3809
  }, []);
3786
3810
  useOnClickOutsideIframe(dismiss);
3787
- (0, import_react18.useEffect)(() => {
3811
+ (0, import_react19.useEffect)(() => {
3788
3812
  const ownerDocument = contentElement.ownerDocument;
3789
3813
  const handleClickAway = (event) => {
3790
3814
  if (contentElement.contains(event.target)) {
@@ -3823,25 +3847,25 @@ var InlineEditingOverlay = ({
3823
3847
  id
3824
3848
  }) => {
3825
3849
  const inlineEditedElement = getInlineEditorElement(rootElement, expectedTag);
3826
- const [overlayRefElement, setOverlayElement] = (0, import_react18.useState)(inlineEditedElement);
3827
- (0, import_react18.useEffect)(() => {
3850
+ const [overlayRefElement, setOverlayElement] = (0, import_react19.useState)(inlineEditedElement);
3851
+ (0, import_react19.useEffect)(() => {
3828
3852
  setOverlayElement(getInlineEditorElement(rootElement, expectedTag));
3829
3853
  }, [expectedTag, rootElement]);
3830
3854
  return overlayRefElement ? /* @__PURE__ */ React10.createElement(OutlineOverlay, { element: overlayRefElement, id, isSelected: true }) : null;
3831
3855
  };
3832
3856
  var InlineEditingToolbar = ({ anchor, editor, id }) => {
3833
- const { refs, floatingStyles } = (0, import_react19.useFloating)({
3857
+ const { refs, floatingStyles } = (0, import_react20.useFloating)({
3834
3858
  placement: "top",
3835
3859
  strategy: "fixed",
3836
3860
  transform: false,
3837
- whileElementsMounted: import_react19.autoUpdate,
3838
- middleware: [horizontalShifterMiddleware, (0, import_react19.flip)()]
3861
+ whileElementsMounted: import_react20.autoUpdate,
3862
+ middleware: [horizontalShifterMiddleware, (0, import_react20.flip)()]
3839
3863
  });
3840
- (0, import_react18.useLayoutEffect)(() => {
3864
+ (0, import_react19.useLayoutEffect)(() => {
3841
3865
  refs.setReference(anchor);
3842
3866
  return () => refs.setReference(null);
3843
3867
  }, [anchor, refs]);
3844
- return /* @__PURE__ */ React10.createElement(import_react19.FloatingPortal, { id: CANVAS_WRAPPER_ID }, /* @__PURE__ */ React10.createElement(
3868
+ return /* @__PURE__ */ React10.createElement(import_react20.FloatingPortal, { id: CANVAS_WRAPPER_ID }, /* @__PURE__ */ React10.createElement(
3845
3869
  import_ui5.Box,
3846
3870
  {
3847
3871
  ref: refs.setFloating,
@@ -3898,7 +3922,7 @@ var InlineEditingReplacement = class extends ReplacementBase {
3898
3922
  return this.editing;
3899
3923
  }
3900
3924
  shouldRenderReplacement() {
3901
- return this.isInlineEditingEligible() && (0, import_editor_v1_adapters16.getCurrentEditMode)() === "edit";
3925
+ return this.isInlineEditingEligible() && (0, import_editor_v1_adapters17.getCurrentEditMode)() === "edit";
3902
3926
  }
3903
3927
  handleRenderInlineEditor = () => {
3904
3928
  if (this.isEditingModeActive() || !this.isInlineEditingEligible()) {
@@ -3985,7 +4009,7 @@ var InlineEditingReplacement = class extends ReplacementBase {
3985
4009
  setContentValue(value) {
3986
4010
  const settingKey = this.getInlineEditablePropertyName();
3987
4011
  const valueToSave = this.createContentPropValue(value);
3988
- (0, import_editor_v1_adapters16.undoable)(
4012
+ (0, import_editor_v1_adapters17.undoable)(
3989
4013
  {
3990
4014
  do: () => {
3991
4015
  const prevValue = this.getInlineEditablePropValue();
@@ -4027,7 +4051,7 @@ var InlineEditingReplacement = class extends ReplacementBase {
4027
4051
  return null;
4028
4052
  }
4029
4053
  runCommand(key, value) {
4030
- (0, import_editor_v1_adapters16.__privateRunCommandSync)(
4054
+ (0, import_editor_v1_adapters17.__privateRunCommandSync)(
4031
4055
  "document/elements/set-settings",
4032
4056
  {
4033
4057
  container: (0, import_editor_elements8.getContainer)(this.id),
@@ -4037,7 +4061,7 @@ var InlineEditingReplacement = class extends ReplacementBase {
4037
4061
  },
4038
4062
  { internal: true }
4039
4063
  );
4040
- (0, import_editor_v1_adapters16.__privateRunCommandSync)("document/save/set-is-modified", { status: true }, { internal: true });
4064
+ (0, import_editor_v1_adapters17.__privateRunCommandSync)("document/save/set-is-modified", { status: true }, { internal: true });
4041
4065
  }
4042
4066
  getExpectedTag() {
4043
4067
  const tagPropType = this.getTagPropType();
@@ -4202,12 +4226,12 @@ function registerModelExtensions(type, extensions) {
4202
4226
  }
4203
4227
  function registerElementType(type, elementTypeGenerator) {
4204
4228
  elementsLegacyTypes[type] = elementTypeGenerator;
4205
- if ((0, import_editor_v1_adapters17.__privateIsReady)()) {
4229
+ if ((0, import_editor_v1_adapters18.__privateIsReady)()) {
4206
4230
  registerElementInLegacyManager(type, createDomRenderer());
4207
4231
  }
4208
4232
  }
4209
4233
  function initLegacyViews() {
4210
- (0, import_editor_v1_adapters17.__privateListenTo)((0, import_editor_v1_adapters17.v1ReadyEvent)(), () => {
4234
+ (0, import_editor_v1_adapters18.__privateListenTo)((0, import_editor_v1_adapters18.v1ReadyEvent)(), () => {
4211
4235
  const widgetsCache = (0, import_editor_elements9.getWidgetsCache)() ?? {};
4212
4236
  const renderer = createDomRenderer();
4213
4237
  registerProPromotionTypes(widgetsCache);
@@ -4342,7 +4366,7 @@ function initTabsModelExtensions() {
4342
4366
  }
4343
4367
 
4344
4368
  // src/mcp/canvas-mcp.ts
4345
- var import_editor_props8 = require("@elementor/editor-props");
4369
+ var import_editor_props9 = require("@elementor/editor-props");
4346
4370
 
4347
4371
  // src/mcp/resources/available-widgets-resource.ts
4348
4372
  var import_http_client3 = require("@elementor/http-client");
@@ -4420,7 +4444,7 @@ var initBestPracticesResource = (reg) => {
4420
4444
 
4421
4445
  // src/mcp/resources/document-structure-resource.ts
4422
4446
  var import_editor_elements10 = require("@elementor/editor-elements");
4423
- var import_editor_v1_adapters18 = require("@elementor/editor-v1-adapters");
4447
+ var import_editor_v1_adapters19 = require("@elementor/editor-v1-adapters");
4424
4448
  var DOCUMENT_STRUCTURE_URI = "elementor://document/structure";
4425
4449
  var initDocumentStructureResource = (reg) => {
4426
4450
  const { resource, sendResourceUpdated } = reg;
@@ -4433,15 +4457,15 @@ var initDocumentStructureResource = (reg) => {
4433
4457
  sendResourceUpdated({ uri: DOCUMENT_STRUCTURE_URI });
4434
4458
  }
4435
4459
  };
4436
- (0, import_editor_v1_adapters18.__privateListenTo)(
4460
+ (0, import_editor_v1_adapters19.__privateListenTo)(
4437
4461
  [
4438
- (0, import_editor_v1_adapters18.commandEndEvent)("document/elements/create"),
4439
- (0, import_editor_v1_adapters18.commandEndEvent)("document/elements/delete"),
4440
- (0, import_editor_v1_adapters18.commandEndEvent)("document/elements/move"),
4441
- (0, import_editor_v1_adapters18.commandEndEvent)("document/elements/copy"),
4442
- (0, import_editor_v1_adapters18.commandEndEvent)("document/elements/paste"),
4443
- (0, import_editor_v1_adapters18.commandEndEvent)("editor/documents/attach-preview"),
4444
- (0, import_editor_v1_adapters18.commandEndEvent)("editor/documents/switch")
4462
+ (0, import_editor_v1_adapters19.commandEndEvent)("document/elements/create"),
4463
+ (0, import_editor_v1_adapters19.commandEndEvent)("document/elements/delete"),
4464
+ (0, import_editor_v1_adapters19.commandEndEvent)("document/elements/move"),
4465
+ (0, import_editor_v1_adapters19.commandEndEvent)("document/elements/copy"),
4466
+ (0, import_editor_v1_adapters19.commandEndEvent)("document/elements/paste"),
4467
+ (0, import_editor_v1_adapters19.commandEndEvent)("editor/documents/attach-preview"),
4468
+ (0, import_editor_v1_adapters19.commandEndEvent)("editor/documents/switch")
4445
4469
  ],
4446
4470
  updateDocumentStructure
4447
4471
  );
@@ -4544,7 +4568,7 @@ var initDynamicTagsResource = (reg) => {
4544
4568
  };
4545
4569
 
4546
4570
  // src/mcp/resources/editor-state-resource.ts
4547
- var import_editor_v1_adapters19 = require("@elementor/editor-v1-adapters");
4571
+ var import_editor_v1_adapters20 = require("@elementor/editor-v1-adapters");
4548
4572
  var CURRENTLY_VIEWED_SCREEN = "The user is currently viewing the Elementor editor";
4549
4573
  var PAGE_CONTENT_CHARACTER_LIMIT = 500;
4550
4574
  var PREVIEW_TEXT_NODE_MIN_LENGTH = 2;
@@ -4565,8 +4589,8 @@ var initEditorStateResource = (reg) => {
4565
4589
  lastSerializedState = serialized;
4566
4590
  sendResourceUpdated({ uri: EDITOR_STATE_URI });
4567
4591
  };
4568
- (0, import_editor_v1_adapters19.__privateListenTo)(
4569
- [(0, import_editor_v1_adapters19.commandEndEvent)("editor/documents/switch"), (0, import_editor_v1_adapters19.commandEndEvent)("editor/documents/attach-preview")],
4592
+ (0, import_editor_v1_adapters20.__privateListenTo)(
4593
+ [(0, import_editor_v1_adapters20.commandEndEvent)("editor/documents/switch"), (0, import_editor_v1_adapters20.commandEndEvent)("editor/documents/attach-preview")],
4570
4594
  notifyIfChanged
4571
4595
  );
4572
4596
  lastSerializedState = JSON.stringify(buildState());
@@ -4640,7 +4664,7 @@ function getPageTitle() {
4640
4664
  }
4641
4665
 
4642
4666
  // src/mcp/resources/general-context-resource.ts
4643
- var import_editor_v1_adapters20 = require("@elementor/editor-v1-adapters");
4667
+ var import_editor_v1_adapters21 = require("@elementor/editor-v1-adapters");
4644
4668
  var GENERAL_CONTEXT_URI = "elementor://context/general";
4645
4669
  var initGeneralContextResource = (reg) => {
4646
4670
  const { resource, sendResourceUpdated } = reg;
@@ -4701,11 +4725,11 @@ var initGeneralContextResource = (reg) => {
4701
4725
  };
4702
4726
  }
4703
4727
  );
4704
- (0, import_editor_v1_adapters20.__privateListenTo)(
4728
+ (0, import_editor_v1_adapters21.__privateListenTo)(
4705
4729
  [
4706
- (0, import_editor_v1_adapters20.commandEndEvent)("editor/documents/switch"),
4707
- (0, import_editor_v1_adapters20.commandEndEvent)("editor/documents/attach-preview"),
4708
- (0, import_editor_v1_adapters20.commandEndEvent)("document/elements/settings")
4730
+ (0, import_editor_v1_adapters21.commandEndEvent)("editor/documents/switch"),
4731
+ (0, import_editor_v1_adapters21.commandEndEvent)("editor/documents/attach-preview"),
4732
+ (0, import_editor_v1_adapters21.commandEndEvent)("document/elements/settings")
4709
4733
  ],
4710
4734
  pushUpdateIfChanged
4711
4735
  );
@@ -4714,7 +4738,8 @@ var initGeneralContextResource = (reg) => {
4714
4738
 
4715
4739
  // src/mcp/resources/selected-element-resource.ts
4716
4740
  var import_editor_elements11 = require("@elementor/editor-elements");
4717
- var import_editor_v1_adapters21 = require("@elementor/editor-v1-adapters");
4741
+ var import_editor_props6 = require("@elementor/editor-props");
4742
+ var import_editor_v1_adapters22 = require("@elementor/editor-v1-adapters");
4718
4743
  var SELECTED_ELEMENT_URI = "elementor://context/selected-element";
4719
4744
  var initSelectedElementResource = (reg) => {
4720
4745
  const { resource, sendResourceUpdated } = reg;
@@ -4745,11 +4770,11 @@ var initSelectedElementResource = (reg) => {
4745
4770
  }
4746
4771
  publishIfChanged(readSelectionFromEditor());
4747
4772
  };
4748
- (0, import_editor_v1_adapters21.__privateListenTo)(
4773
+ (0, import_editor_v1_adapters22.__privateListenTo)(
4749
4774
  [
4750
- (0, import_editor_v1_adapters21.commandEndEvent)("document/elements/select"),
4751
- (0, import_editor_v1_adapters21.commandEndEvent)("document/elements/deselect-all"),
4752
- (0, import_editor_v1_adapters21.commandEndEvent)("document/elements/settings")
4775
+ (0, import_editor_v1_adapters22.commandEndEvent)("document/elements/select"),
4776
+ (0, import_editor_v1_adapters22.commandEndEvent)("document/elements/deselect-all"),
4777
+ (0, import_editor_v1_adapters22.commandEndEvent)("document/elements/settings")
4753
4778
  ],
4754
4779
  onCommand
4755
4780
  );
@@ -4821,13 +4846,19 @@ function getElementProperties(container, widgetType) {
4821
4846
  if (!settings || typeof settings !== "object") {
4822
4847
  return null;
4823
4848
  }
4824
- const widgetConfig = widgetType ? (0, import_editor_elements11.getWidgetsCache)()?.[widgetType] : null;
4849
+ const widgetsCache = (0, import_editor_elements11.getWidgetsCache)();
4850
+ const widgetConfig = widgetType ? widgetsCache?.[widgetType] : null;
4825
4851
  const controls = widgetConfig?.controls;
4852
+ const schemaType = widgetType ?? container.model.get("elType") ?? null;
4853
+ const propsSchema = schemaType ? widgetsCache?.[schemaType]?.atomic_props_schema : void 0;
4826
4854
  const filtered = {};
4827
4855
  for (const [key, value] of Object.entries(settings)) {
4828
4856
  if (value === void 0 || value === null || value === "") {
4829
4857
  continue;
4830
4858
  }
4859
+ if (import_editor_props6.Schema.isPropSensitive(propsSchema?.[key])) {
4860
+ continue;
4861
+ }
4831
4862
  const controlDefault = controls?.[key]?.default;
4832
4863
  if (controlDefault !== void 0 && JSON.stringify(value) === JSON.stringify(controlDefault)) {
4833
4864
  continue;
@@ -4861,13 +4892,13 @@ function getElementDisplayName(container) {
4861
4892
  // src/mcp/tools/configure-element/tool.ts
4862
4893
  var import_editor_elements14 = require("@elementor/editor-elements");
4863
4894
  var import_editor_mcp3 = require("@elementor/editor-mcp");
4864
- var import_editor_props7 = require("@elementor/editor-props");
4895
+ var import_editor_props8 = require("@elementor/editor-props");
4865
4896
 
4866
4897
  // src/mcp/utils/do-update-element-property.ts
4867
4898
  var import_editor_elements13 = require("@elementor/editor-elements");
4868
- var import_editor_props6 = require("@elementor/editor-props");
4899
+ var import_editor_props7 = require("@elementor/editor-props");
4869
4900
  var import_editor_styles4 = require("@elementor/editor-styles");
4870
- var import_editor_v1_adapters23 = require("@elementor/editor-v1-adapters");
4901
+ var import_editor_v1_adapters24 = require("@elementor/editor-v1-adapters");
4871
4902
 
4872
4903
  // src/mcp/utils/merge-custom-css.ts
4873
4904
  var CUSTOM_CSS_SEPARATOR = "\n";
@@ -4936,11 +4967,11 @@ function resolveCanonicalPropKeys(elementType, props) {
4936
4967
  }
4937
4968
 
4938
4969
  // src/mcp/utils/resolve-dynamic-tag.ts
4939
- var import_editor_v1_adapters22 = require("@elementor/editor-v1-adapters");
4970
+ var import_editor_v1_adapters23 = require("@elementor/editor-v1-adapters");
4940
4971
  var DYNAMIC_PROP_TYPE_KEY = "dynamic";
4941
4972
  var OMITTED_DYNAMIC_SETTING_KEYS = ["fallback"];
4942
4973
  var getAtomicDynamicTags = () => {
4943
- const config = (0, import_editor_v1_adapters22.getElementorConfig)();
4974
+ const config = (0, import_editor_v1_adapters23.getElementorConfig)();
4944
4975
  return config.atomicDynamicTags?.tags ?? {};
4945
4976
  };
4946
4977
  var getDynamicTagNamesByCategories = (categories) => {
@@ -5018,7 +5049,7 @@ var UnsupportedPropertyError = class extends Error {
5018
5049
  };
5019
5050
  function resolvePropValue(value, forceKey) {
5020
5051
  const Utils = window.elementorV2.editorVariables.Utils;
5021
- return import_editor_props6.Schema.adjustLlmPropValueSchema(value, {
5052
+ return import_editor_props7.Schema.adjustLlmPropValueSchema(value, {
5022
5053
  forceKey,
5023
5054
  transformers: {
5024
5055
  ...Utils.globalVariablesLLMResolvers,
@@ -5077,7 +5108,7 @@ var doUpdateElementProperty = (params) => {
5077
5108
  }
5078
5109
  if (propertyRawSchema.kind === "plain") {
5079
5110
  if (typeof propertyMapValue[stylePropName] !== "object") {
5080
- const propUtil = (0, import_editor_props6.getPropSchemaFromCache)(propertyRawSchema.key);
5111
+ const propUtil = (0, import_editor_props7.getPropSchemaFromCache)(propertyRawSchema.key);
5081
5112
  if (propUtil) {
5082
5113
  const plainValue = propUtil.create(propertyMapValue[stylePropName]);
5083
5114
  propertyMapValue[stylePropName] = plainValue;
@@ -5125,7 +5156,7 @@ var doUpdateElementProperty = (params) => {
5125
5156
  }
5126
5157
  const propKey = elementPropSchema[propertyName].key;
5127
5158
  const value = resolvePropValue(propertyValue, propKey);
5128
- const { valid, jsonSchema } = import_editor_props6.Schema.validatePropValue(elementPropSchema[propertyName], propertyValue);
5159
+ const { valid, jsonSchema } = import_editor_props7.Schema.validatePropValue(elementPropSchema[propertyName], propertyValue);
5129
5160
  if (!valid) {
5130
5161
  throw new Error(
5131
5162
  `Invalid PropValue for elementId: ${elementId}. PropKey: ${propKey}, PropValue: ${JSON.stringify(
@@ -5141,7 +5172,7 @@ Expected Schema: ${jsonSchema}`
5141
5172
  },
5142
5173
  withHistory: false
5143
5174
  });
5144
- (0, import_editor_v1_adapters23.__privateRunCommandSync)("document/save/set-is-modified", { status: true }, { internal: true });
5175
+ (0, import_editor_v1_adapters24.__privateRunCommandSync)("document/save/set-is-modified", { status: true }, { internal: true });
5145
5176
  };
5146
5177
 
5147
5178
  // src/mcp/tools/configure-element/prompt.ts
@@ -5372,7 +5403,7 @@ var initConfigureElementTool = (reg) => {
5372
5403
  const toUpdate = Object.entries(propertiesToUpdate);
5373
5404
  const skippedProps = [];
5374
5405
  for (const [propertyName, propertyValue] of toUpdate) {
5375
- if (!import_editor_props7.Schema.isPropKeyConfigurable(propertyName)) {
5406
+ if (!import_editor_props8.Schema.isPropKeyConfigurable(propertyName, widgetData.atomic_props_schema[propertyName])) {
5376
5407
  throw new Error(`Not allowed to update ${propertyName}`);
5377
5408
  }
5378
5409
  try {
@@ -5633,7 +5664,7 @@ var initGetPageStructureTool = (reg) => {
5633
5664
 
5634
5665
  // src/mcp/canvas-mcp.ts
5635
5666
  var initCanvasMcp = (reg) => {
5636
- import_editor_props8.Schema.setDynamicTagNamesResolver(getDynamicTagNamesByCategories);
5667
+ import_editor_props9.Schema.setDynamicTagNamesResolver(getDynamicTagNamesByCategories);
5637
5668
  initWidgetsSchemaResource(reg);
5638
5669
  initAvailableWidgetsResource(reg);
5639
5670
  initDocumentStructureResource(reg);
@@ -5747,14 +5778,14 @@ Note: The "size" property controls image resolution/loading, not visual size. Se
5747
5778
  // src/prevent-link-in-link-commands.ts
5748
5779
  var import_editor_elements15 = require("@elementor/editor-elements");
5749
5780
  var import_editor_notifications6 = require("@elementor/editor-notifications");
5750
- var import_editor_v1_adapters24 = require("@elementor/editor-v1-adapters");
5781
+ var import_editor_v1_adapters25 = require("@elementor/editor-v1-adapters");
5751
5782
  var import_i18n7 = require("@wordpress/i18n");
5752
5783
  function initLinkInLinkPrevention() {
5753
- (0, import_editor_v1_adapters24.blockCommand)({
5784
+ (0, import_editor_v1_adapters25.blockCommand)({
5754
5785
  command: "document/elements/paste",
5755
5786
  condition: blockLinkInLinkPaste
5756
5787
  });
5757
- (0, import_editor_v1_adapters24.blockCommand)({
5788
+ (0, import_editor_v1_adapters25.blockCommand)({
5758
5789
  command: "document/elements/move",
5759
5790
  condition: blockLinkInLinkMove
5760
5791
  });
@@ -5829,12 +5860,12 @@ function shouldBlock(sourceElements, targetElements) {
5829
5860
 
5830
5861
  // src/style-commands/paste-style.ts
5831
5862
  var import_editor_elements18 = require("@elementor/editor-elements");
5832
- var import_editor_props10 = require("@elementor/editor-props");
5833
- var import_editor_v1_adapters26 = require("@elementor/editor-v1-adapters");
5863
+ var import_editor_props11 = require("@elementor/editor-props");
5864
+ var import_editor_v1_adapters27 = require("@elementor/editor-v1-adapters");
5834
5865
 
5835
5866
  // src/utils/command-utils.ts
5836
5867
  var import_editor_elements16 = require("@elementor/editor-elements");
5837
- var import_editor_props9 = require("@elementor/editor-props");
5868
+ var import_editor_props10 = require("@elementor/editor-props");
5838
5869
  var import_i18n8 = require("@wordpress/i18n");
5839
5870
  function hasAtomicWidgets(args) {
5840
5871
  const { containers = [args.container] } = args;
@@ -5852,7 +5883,7 @@ function getClassesProp(container) {
5852
5883
  return null;
5853
5884
  }
5854
5885
  const [propKey] = Object.entries(propsSchema).find(
5855
- ([, propType]) => propType.kind === "plain" && propType.key === import_editor_props9.CLASSES_PROP_KEY
5886
+ ([, propType]) => propType.kind === "plain" && propType.key === import_editor_props10.CLASSES_PROP_KEY
5856
5887
  ) ?? [];
5857
5888
  return propKey ?? null;
5858
5889
  }
@@ -5877,9 +5908,9 @@ function getTitleForContainers(containers) {
5877
5908
  // src/style-commands/undoable-actions/paste-element-style.ts
5878
5909
  var import_editor_elements17 = require("@elementor/editor-elements");
5879
5910
  var import_editor_styles_repository4 = require("@elementor/editor-styles-repository");
5880
- var import_editor_v1_adapters25 = require("@elementor/editor-v1-adapters");
5911
+ var import_editor_v1_adapters26 = require("@elementor/editor-v1-adapters");
5881
5912
  var import_i18n9 = require("@wordpress/i18n");
5882
- var undoablePasteElementStyle = () => (0, import_editor_v1_adapters25.undoable)(
5913
+ var undoablePasteElementStyle = () => (0, import_editor_v1_adapters26.undoable)(
5883
5914
  {
5884
5915
  do: ({ containers, newStyle }) => {
5885
5916
  return containers.map((container) => {
@@ -5955,12 +5986,12 @@ var undoablePasteElementStyle = () => (0, import_editor_v1_adapters25.undoable)(
5955
5986
  // src/style-commands/paste-style.ts
5956
5987
  function initPasteStyleCommand() {
5957
5988
  const pasteElementStyleCommand = undoablePasteElementStyle();
5958
- (0, import_editor_v1_adapters26.blockCommand)({
5989
+ (0, import_editor_v1_adapters27.blockCommand)({
5959
5990
  command: "document/elements/paste-style",
5960
5991
  condition: hasAtomicWidgets
5961
5992
  });
5962
- (0, import_editor_v1_adapters26.__privateListenTo)(
5963
- (0, import_editor_v1_adapters26.commandStartEvent)("document/elements/paste-style"),
5993
+ (0, import_editor_v1_adapters27.__privateListenTo)(
5994
+ (0, import_editor_v1_adapters27.commandStartEvent)("document/elements/paste-style"),
5964
5995
  (e) => pasteStyles(e.args, pasteElementStyleCommand)
5965
5996
  );
5966
5997
  }
@@ -6001,8 +6032,8 @@ function pasteClasses(containers, classes) {
6001
6032
  return;
6002
6033
  }
6003
6034
  const classesSetting = (0, import_editor_elements18.getElementSetting)(container.id, classesProp);
6004
- const currentClasses = import_editor_props10.classesPropTypeUtil.extract(classesSetting) ?? [];
6005
- const newClasses = import_editor_props10.classesPropTypeUtil.create(Array.from(/* @__PURE__ */ new Set([...classes, ...currentClasses])));
6035
+ const currentClasses = import_editor_props11.classesPropTypeUtil.extract(classesSetting) ?? [];
6036
+ const newClasses = import_editor_props11.classesPropTypeUtil.create(Array.from(/* @__PURE__ */ new Set([...classes, ...currentClasses])));
6006
6037
  (0, import_editor_elements18.updateElementSettings)({
6007
6038
  id: container.id,
6008
6039
  props: { [classesProp]: newClasses }
@@ -6011,14 +6042,14 @@ function pasteClasses(containers, classes) {
6011
6042
  }
6012
6043
 
6013
6044
  // src/style-commands/reset-style.ts
6014
- var import_editor_v1_adapters28 = require("@elementor/editor-v1-adapters");
6045
+ var import_editor_v1_adapters29 = require("@elementor/editor-v1-adapters");
6015
6046
 
6016
6047
  // src/style-commands/undoable-actions/reset-element-style.ts
6017
6048
  var import_editor_elements19 = require("@elementor/editor-elements");
6018
6049
  var import_editor_styles_repository5 = require("@elementor/editor-styles-repository");
6019
- var import_editor_v1_adapters27 = require("@elementor/editor-v1-adapters");
6050
+ var import_editor_v1_adapters28 = require("@elementor/editor-v1-adapters");
6020
6051
  var import_i18n10 = require("@wordpress/i18n");
6021
- var undoableResetElementStyle = () => (0, import_editor_v1_adapters27.undoable)(
6052
+ var undoableResetElementStyle = () => (0, import_editor_v1_adapters28.undoable)(
6022
6053
  {
6023
6054
  do: ({ containers }) => {
6024
6055
  return containers.map((container) => {
@@ -6062,12 +6093,12 @@ var undoableResetElementStyle = () => (0, import_editor_v1_adapters27.undoable)(
6062
6093
  // src/style-commands/reset-style.ts
6063
6094
  function initResetStyleCommand() {
6064
6095
  const resetElementStyles = undoableResetElementStyle();
6065
- (0, import_editor_v1_adapters28.blockCommand)({
6096
+ (0, import_editor_v1_adapters29.blockCommand)({
6066
6097
  command: "document/elements/reset-style",
6067
6098
  condition: hasAtomicWidgets
6068
6099
  });
6069
- (0, import_editor_v1_adapters28.__privateListenTo)(
6070
- (0, import_editor_v1_adapters28.commandStartEvent)("document/elements/reset-style"),
6100
+ (0, import_editor_v1_adapters29.__privateListenTo)(
6101
+ (0, import_editor_v1_adapters29.commandStartEvent)("document/elements/reset-style"),
6071
6102
  (e) => resetStyles(e.args, resetElementStyles)
6072
6103
  );
6073
6104
  }
@@ -6219,15 +6250,15 @@ function getRectClipPath(rect, viewport) {
6219
6250
  }
6220
6251
 
6221
6252
  // src/hooks/use-canvas-document.ts
6222
- var import_editor_v1_adapters29 = require("@elementor/editor-v1-adapters");
6253
+ var import_editor_v1_adapters30 = require("@elementor/editor-v1-adapters");
6223
6254
  function useCanvasDocument() {
6224
- return (0, import_editor_v1_adapters29.__privateUseListenTo)((0, import_editor_v1_adapters29.commandEndEvent)("editor/documents/attach-preview"), () => (0, import_editor_v1_adapters29.getCanvasIframeDocument)());
6255
+ return (0, import_editor_v1_adapters30.__privateUseListenTo)((0, import_editor_v1_adapters30.commandEndEvent)("editor/documents/attach-preview"), () => (0, import_editor_v1_adapters30.getCanvasIframeDocument)());
6225
6256
  }
6226
6257
 
6227
6258
  // src/hooks/use-escape-on-canvas.ts
6228
- var import_react20 = require("react");
6259
+ var import_react21 = require("react");
6229
6260
  function useEscapeOnCanvas(canvasDocument, onEscape) {
6230
- (0, import_react20.useEffect)(() => {
6261
+ (0, import_react21.useEffect)(() => {
6231
6262
  if (!canvasDocument) {
6232
6263
  return;
6233
6264
  }