@elementor/editor-components 3.35.0-333 → 3.35.0-334

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
@@ -37,7 +37,7 @@ module.exports = __toCommonJS(index_exports);
37
37
  // src/init.ts
38
38
  var import_editor = require("@elementor/editor");
39
39
  var import_editor_canvas6 = require("@elementor/editor-canvas");
40
- var import_editor_documents11 = require("@elementor/editor-documents");
40
+ var import_editor_documents10 = require("@elementor/editor-documents");
41
41
  var import_editor_editing_panel3 = require("@elementor/editor-editing-panel");
42
42
  var import_editor_elements_panel = require("@elementor/editor-elements-panel");
43
43
  var import_editor_styles_repository2 = require("@elementor/editor-styles-repository");
@@ -1661,7 +1661,7 @@ var EditModeDialog = ({ lockedBy }) => {
1661
1661
  };
1662
1662
 
1663
1663
  // src/components/overridable-props/overridable-prop-control.tsx
1664
- var React13 = __toESM(require("react"));
1664
+ var React14 = __toESM(require("react"));
1665
1665
  var import_editor_controls = require("@elementor/editor-controls");
1666
1666
  var import_editor_editing_panel = require("@elementor/editor-editing-panel");
1667
1667
  var import_store29 = require("@elementor/store");
@@ -1680,6 +1680,15 @@ var componentOverridablePropTypeUtil = (0, import_editor_props.createPropUtils)(
1680
1680
  })
1681
1681
  );
1682
1682
 
1683
+ // src/provider/overridable-prop-context.tsx
1684
+ var React13 = __toESM(require("react"));
1685
+ var import_react9 = require("react");
1686
+ var OverridablePropContext = (0, import_react9.createContext)(null);
1687
+ function OverridablePropProvider({ children, ...props }) {
1688
+ return /* @__PURE__ */ React13.createElement(OverridablePropContext.Provider, { value: props }, children);
1689
+ }
1690
+ var useOverridablePropValue = () => (0, import_react9.useContext)(OverridablePropContext)?.value;
1691
+
1683
1692
  // src/store/actions/update-overridable-prop-origin-value.ts
1684
1693
  var import_store27 = require("@elementor/store");
1685
1694
  function updateOverridablePropOriginValue(componentId, propValue) {
@@ -1737,7 +1746,7 @@ function OverridablePropControl({
1737
1746
  }
1738
1747
  });
1739
1748
  const objectPlaceholder = placeholder ? { [bind]: placeholder } : void 0;
1740
- return /* @__PURE__ */ React13.createElement(
1749
+ return /* @__PURE__ */ React14.createElement(OverridablePropProvider, { value }, /* @__PURE__ */ React14.createElement(
1741
1750
  import_editor_controls.PropProvider,
1742
1751
  {
1743
1752
  ...propContext,
@@ -1746,14 +1755,13 @@ function OverridablePropControl({
1746
1755
  value: { [bind]: value.origin_value },
1747
1756
  placeholder: objectPlaceholder
1748
1757
  },
1749
- /* @__PURE__ */ React13.createElement(import_editor_controls.PropKeyProvider, { bind }, /* @__PURE__ */ React13.createElement(import_editor_controls.ControlReplacementsProvider, { replacements: [] }, /* @__PURE__ */ React13.createElement(OriginalControl, { ...props })))
1750
- );
1758
+ /* @__PURE__ */ React14.createElement(import_editor_controls.PropKeyProvider, { bind }, /* @__PURE__ */ React14.createElement(import_editor_controls.ControlReplacementsProvider, { replacements: [] }, /* @__PURE__ */ React14.createElement(OriginalControl, { ...props })))
1759
+ ));
1751
1760
  }
1752
1761
 
1753
1762
  // src/components/overridable-props/overridable-prop-indicator.tsx
1754
- var React16 = __toESM(require("react"));
1763
+ var React17 = __toESM(require("react"));
1755
1764
  var import_editor_controls2 = require("@elementor/editor-controls");
1756
- var import_editor_documents9 = require("@elementor/editor-documents");
1757
1765
  var import_editor_editing_panel2 = require("@elementor/editor-editing-panel");
1758
1766
  var import_editor_elements5 = require("@elementor/editor-elements");
1759
1767
  var import_store35 = require("@elementor/store");
@@ -1903,8 +1911,8 @@ function removeProps({
1903
1911
  }
1904
1912
 
1905
1913
  // src/components/overridable-props/indicator.tsx
1906
- var React14 = __toESM(require("react"));
1907
- var import_react9 = require("react");
1914
+ var React15 = __toESM(require("react"));
1915
+ var import_react10 = require("react");
1908
1916
  var import_icons8 = require("@elementor/icons");
1909
1917
  var import_ui9 = require("@elementor/ui");
1910
1918
  var import_i18n12 = require("@wordpress/i18n");
@@ -1963,32 +1971,32 @@ var Content = (0, import_ui9.styled)(import_ui9.Box)`
1963
1971
  }
1964
1972
  }
1965
1973
  `;
1966
- var Indicator = (0, import_react9.forwardRef)(({ isOpen, isOverridable, ...props }, ref) => /* @__PURE__ */ React14.createElement(Content, { ref, ...props, className: isOpen || isOverridable ? "enlarged" : "" }, /* @__PURE__ */ React14.createElement(
1974
+ var Indicator = (0, import_react10.forwardRef)(({ isOpen, isOverridable, ...props }, ref) => /* @__PURE__ */ React15.createElement(Content, { ref, ...props, className: isOpen || isOverridable ? "enlarged" : "" }, /* @__PURE__ */ React15.createElement(
1967
1975
  IconContainer,
1968
1976
  {
1969
1977
  className: "icon",
1970
1978
  "aria-label": isOverridable ? (0, import_i18n12.__)("Overridable property", "elementor") : (0, import_i18n12.__)("Make prop overridable", "elementor")
1971
1979
  },
1972
- isOverridable ? /* @__PURE__ */ React14.createElement(import_icons8.CheckIcon, { fontSize: SIZE }) : /* @__PURE__ */ React14.createElement(import_icons8.PlusIcon, { fontSize: SIZE })
1980
+ isOverridable ? /* @__PURE__ */ React15.createElement(import_icons8.CheckIcon, { fontSize: SIZE }) : /* @__PURE__ */ React15.createElement(import_icons8.PlusIcon, { fontSize: SIZE })
1973
1981
  )));
1974
1982
 
1975
1983
  // src/components/overridable-props/overridable-prop-form.tsx
1976
- var React15 = __toESM(require("react"));
1977
- var import_react10 = require("react");
1984
+ var React16 = __toESM(require("react"));
1985
+ var import_react11 = require("react");
1978
1986
  var import_editor_ui5 = require("@elementor/editor-ui");
1979
1987
  var import_ui10 = require("@elementor/ui");
1980
1988
  var import_i18n13 = require("@wordpress/i18n");
1981
1989
  var SIZE2 = "tiny";
1982
1990
  var DEFAULT_GROUP = { value: null, label: (0, import_i18n13.__)("Default", "elementor") };
1983
1991
  function OverridablePropForm({ onSubmit, groups, currentValue }) {
1984
- const [propLabel, setPropLabel] = (0, import_react10.useState)(currentValue?.label ?? null);
1985
- const [group, setGroup] = (0, import_react10.useState)(currentValue?.groupId ?? groups?.[0]?.value ?? null);
1992
+ const [propLabel, setPropLabel] = (0, import_react11.useState)(currentValue?.label ?? null);
1993
+ const [group, setGroup] = (0, import_react11.useState)(currentValue?.groupId ?? groups?.[0]?.value ?? null);
1986
1994
  const name = (0, import_i18n13.__)("Name", "elementor");
1987
1995
  const groupName = (0, import_i18n13.__)("Group Name", "elementor");
1988
1996
  const isCreate = currentValue === void 0;
1989
1997
  const title = isCreate ? (0, import_i18n13.__)("Create new property", "elementor") : (0, import_i18n13.__)("Update property", "elementor");
1990
1998
  const ctaLabel = isCreate ? (0, import_i18n13.__)("Create", "elementor") : (0, import_i18n13.__)("Update", "elementor");
1991
- return /* @__PURE__ */ React15.createElement(import_editor_ui5.Form, { onSubmit: () => onSubmit({ label: propLabel ?? "", group }) }, /* @__PURE__ */ React15.createElement(import_ui10.Stack, { alignItems: "start", width: "268px" }, /* @__PURE__ */ React15.createElement(
1999
+ return /* @__PURE__ */ React16.createElement(import_editor_ui5.Form, { onSubmit: () => onSubmit({ label: propLabel ?? "", group }) }, /* @__PURE__ */ React16.createElement(import_ui10.Stack, { alignItems: "start", width: "268px" }, /* @__PURE__ */ React16.createElement(
1992
2000
  import_ui10.Stack,
1993
2001
  {
1994
2002
  direction: "row",
@@ -1997,8 +2005,8 @@ function OverridablePropForm({ onSubmit, groups, currentValue }) {
1997
2005
  px: 1.5,
1998
2006
  sx: { columnGap: 0.5, borderBottom: "1px solid", borderColor: "divider", width: "100%", mb: 1.5 }
1999
2007
  },
2000
- /* @__PURE__ */ React15.createElement(import_ui10.Typography, { variant: "caption", sx: { color: "text.primary", fontWeight: "500", lineHeight: 1 } }, title)
2001
- ), /* @__PURE__ */ React15.createElement(import_ui10.Grid, { container: true, gap: 0.75, alignItems: "start", px: 1.5, mb: 1.5 }, /* @__PURE__ */ React15.createElement(import_ui10.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React15.createElement(import_ui10.FormLabel, { size: "tiny" }, name)), /* @__PURE__ */ React15.createElement(import_ui10.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React15.createElement(
2008
+ /* @__PURE__ */ React16.createElement(import_ui10.Typography, { variant: "caption", sx: { color: "text.primary", fontWeight: "500", lineHeight: 1 } }, title)
2009
+ ), /* @__PURE__ */ React16.createElement(import_ui10.Grid, { container: true, gap: 0.75, alignItems: "start", px: 1.5, mb: 1.5 }, /* @__PURE__ */ React16.createElement(import_ui10.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React16.createElement(import_ui10.FormLabel, { size: "tiny" }, name)), /* @__PURE__ */ React16.createElement(import_ui10.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React16.createElement(
2002
2010
  import_ui10.TextField,
2003
2011
  {
2004
2012
  name,
@@ -2008,7 +2016,7 @@ function OverridablePropForm({ onSubmit, groups, currentValue }) {
2008
2016
  value: propLabel ?? "",
2009
2017
  onChange: (e) => setPropLabel(e.target.value)
2010
2018
  }
2011
- ))), /* @__PURE__ */ React15.createElement(import_ui10.Grid, { container: true, gap: 0.75, alignItems: "start", px: 1.5, mb: 1.5 }, /* @__PURE__ */ React15.createElement(import_ui10.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React15.createElement(import_ui10.FormLabel, { size: "tiny" }, groupName)), /* @__PURE__ */ React15.createElement(import_ui10.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React15.createElement(
2019
+ ))), /* @__PURE__ */ React16.createElement(import_ui10.Grid, { container: true, gap: 0.75, alignItems: "start", px: 1.5, mb: 1.5 }, /* @__PURE__ */ React16.createElement(import_ui10.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React16.createElement(import_ui10.FormLabel, { size: "tiny" }, groupName)), /* @__PURE__ */ React16.createElement(import_ui10.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React16.createElement(
2012
2020
  import_ui10.Select,
2013
2021
  {
2014
2022
  name: groupName,
@@ -2025,8 +2033,8 @@ function OverridablePropForm({ onSubmit, groups, currentValue }) {
2025
2033
  return groups?.find(({ value }) => value === selectedValue)?.label ?? selectedValue;
2026
2034
  }
2027
2035
  },
2028
- (groups ?? [DEFAULT_GROUP]).map(({ label: groupLabel, ...props }) => /* @__PURE__ */ React15.createElement(import_editor_ui5.MenuListItem, { key: props.value, ...props, value: props.value ?? "" }, groupLabel))
2029
- ))), /* @__PURE__ */ React15.createElement(import_ui10.Stack, { direction: "row", justifyContent: "flex-end", alignSelf: "end", mt: 1.5, py: 1, px: 1.5 }, /* @__PURE__ */ React15.createElement(import_ui10.Button, { type: "submit", disabled: !propLabel, variant: "contained", color: "primary", size: "small" }, ctaLabel))));
2036
+ (groups ?? [DEFAULT_GROUP]).map(({ label: groupLabel, ...props }) => /* @__PURE__ */ React16.createElement(import_editor_ui5.MenuListItem, { key: props.value, ...props, value: props.value ?? "" }, groupLabel))
2037
+ ))), /* @__PURE__ */ React16.createElement(import_ui10.Stack, { direction: "row", justifyContent: "flex-end", alignSelf: "end", mt: 1.5, py: 1, px: 1.5 }, /* @__PURE__ */ React16.createElement(import_ui10.Button, { type: "submit", disabled: !propLabel, variant: "contained", color: "primary", size: "small" }, ctaLabel))));
2030
2038
  }
2031
2039
 
2032
2040
  // src/components/overridable-props/utils/get-overridable-prop.ts
@@ -2046,15 +2054,12 @@ function getOverridableProp({
2046
2054
  var FORBIDDEN_KEYS = ["_cssid", "attributes"];
2047
2055
  function OverridablePropIndicator() {
2048
2056
  const { bind } = (0, import_editor_controls2.useBoundProp)();
2049
- const currentDocument = (0, import_editor_documents9.getV1CurrentDocument)();
2050
- if (currentDocument.config.type !== COMPONENT_DOCUMENT_TYPE || !currentDocument.id) {
2057
+ const componentId = selectCurrentComponentId((0, import_store35.__getState)());
2058
+ if (!isPropAllowed(bind) || !componentId) {
2051
2059
  return null;
2052
2060
  }
2053
- if (!isPropAllowed(bind)) {
2054
- return null;
2055
- }
2056
- const overridableProps = selectOverridableProps((0, import_store35.__getState)(), currentDocument.id);
2057
- return /* @__PURE__ */ React16.createElement(Content2, { componentId: currentDocument.id, overridableProps });
2061
+ const overridableProps = selectOverridableProps((0, import_store35.__getState)(), componentId);
2062
+ return /* @__PURE__ */ React17.createElement(Content2, { componentId, overridableProps });
2058
2063
  }
2059
2064
  function Content2({ componentId, overridableProps }) {
2060
2065
  const {
@@ -2062,7 +2067,11 @@ function Content2({ componentId, overridableProps }) {
2062
2067
  elementType
2063
2068
  } = (0, import_editor_editing_panel2.useElement)();
2064
2069
  const { value, bind, propType } = (0, import_editor_controls2.useBoundProp)();
2065
- const { value: overridableValue, setValue: setOverridableValue } = (0, import_editor_controls2.useBoundProp)(componentOverridablePropTypeUtil);
2070
+ const contextOverridableValue = useOverridablePropValue();
2071
+ const { value: boundPropOverridableValue, setValue: setOverridableValue } = (0, import_editor_controls2.useBoundProp)(
2072
+ componentOverridablePropTypeUtil
2073
+ );
2074
+ const overridableValue = boundPropOverridableValue ?? contextOverridableValue;
2066
2075
  const popupState = (0, import_ui11.usePopupState)({
2067
2076
  variant: "popover"
2068
2077
  });
@@ -2091,7 +2100,7 @@ function Content2({ componentId, overridableProps }) {
2091
2100
  popupState.close();
2092
2101
  };
2093
2102
  const overridableConfig = overridableValue ? getOverridableProp({ componentId, overrideKey: overridableValue.override_key }) : void 0;
2094
- return /* @__PURE__ */ React16.createElement(React16.Fragment, null, /* @__PURE__ */ React16.createElement(import_ui11.Tooltip, { placement: "top", title: (0, import_i18n14.__)("Override Property", "elementor") }, /* @__PURE__ */ React16.createElement(Indicator, { ...triggerProps, isOpen: !!popoverProps.open, isOverridable: !!overridableValue })), /* @__PURE__ */ React16.createElement(
2103
+ return /* @__PURE__ */ React17.createElement(React17.Fragment, null, /* @__PURE__ */ React17.createElement(import_ui11.Tooltip, { placement: "top", title: (0, import_i18n14.__)("Override Property", "elementor") }, /* @__PURE__ */ React17.createElement(Indicator, { ...triggerProps, isOpen: !!popoverProps.open, isOverridable: !!overridableValue })), /* @__PURE__ */ React17.createElement(
2095
2104
  import_ui11.Popover,
2096
2105
  {
2097
2106
  disableScrollLock: true,
@@ -2108,7 +2117,7 @@ function Content2({ componentId, overridableProps }) {
2108
2117
  },
2109
2118
  ...popoverProps
2110
2119
  },
2111
- /* @__PURE__ */ React16.createElement(
2120
+ /* @__PURE__ */ React17.createElement(
2112
2121
  OverridablePropForm,
2113
2122
  {
2114
2123
  onSubmit: handleSubmit,
@@ -2210,10 +2219,10 @@ function initMcp() {
2210
2219
  }
2211
2220
 
2212
2221
  // src/populate-store.ts
2213
- var import_react11 = require("react");
2222
+ var import_react12 = require("react");
2214
2223
  var import_store37 = require("@elementor/store");
2215
2224
  function PopulateStore() {
2216
- (0, import_react11.useEffect)(() => {
2225
+ (0, import_react12.useEffect)(() => {
2217
2226
  (0, import_store37.__dispatch)(loadComponents());
2218
2227
  }, []);
2219
2228
  return null;
@@ -2377,14 +2386,14 @@ var updateArchivedComponentBeforeSave = async () => {
2377
2386
  };
2378
2387
 
2379
2388
  // src/sync/update-components-before-save.ts
2380
- var import_editor_documents10 = require("@elementor/editor-documents");
2389
+ var import_editor_documents9 = require("@elementor/editor-documents");
2381
2390
  async function updateComponentsBeforeSave({ status, elements }) {
2382
2391
  if (status !== "publish") {
2383
2392
  return;
2384
2393
  }
2385
2394
  const componentIds = await getComponentIds(elements);
2386
2395
  const componentDocumentData = await Promise.all(componentIds.map(getComponentDocumentData));
2387
- const draftIds = componentDocumentData.filter((document) => !!document).filter(import_editor_documents10.isDocumentDirty).map((document) => document.id);
2396
+ const draftIds = componentDocumentData.filter((document) => !!document).filter(import_editor_documents9.isDocumentDirty).map((document) => document.id);
2388
2397
  if (draftIds.length === 0) {
2389
2398
  return;
2390
2399
  }
@@ -2412,7 +2421,7 @@ function init() {
2412
2421
  (options) => createComponentType({ ...options, showLockedByModal: openEditModeDialog })
2413
2422
  );
2414
2423
  (0, import_editor_v1_adapters7.registerDataHook)("dependency", "editor/documents/close", (args) => {
2415
- const document = (0, import_editor_documents11.getV1CurrentDocument)();
2424
+ const document = (0, import_editor_documents10.getV1CurrentDocument)();
2416
2425
  if (document.config.type === COMPONENT_DOCUMENT_TYPE) {
2417
2426
  args.mode = "autosave";
2418
2427
  }
@@ -2442,7 +2451,7 @@ function init() {
2442
2451
  component: ComponentPanelHeader
2443
2452
  });
2444
2453
  (0, import_editor_v1_adapters7.registerDataHook)("after", "editor/documents/attach-preview", async () => {
2445
- const { id, config } = (0, import_editor_documents11.getV1CurrentDocument)();
2454
+ const { id, config } = (0, import_editor_documents10.getV1CurrentDocument)();
2446
2455
  if (id) {
2447
2456
  removeComponentStyles(id);
2448
2457
  }