@elementor/editor-editing-panel 4.1.0-733 → 4.1.0-735

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
@@ -1406,6 +1406,7 @@ function useHandleSelect() {
1406
1406
 
1407
1407
  // src/components/custom-css-indicator.tsx
1408
1408
  var React11 = __toESM(require("react"));
1409
+ var import_react14 = require("react");
1409
1410
  var import_editor_responsive = require("@elementor/editor-responsive");
1410
1411
  var import_editor_styles4 = require("@elementor/editor-styles");
1411
1412
 
@@ -1690,12 +1691,12 @@ var CustomCssIndicator = () => {
1690
1691
  const {
1691
1692
  element: { id: elementId }
1692
1693
  } = useElement();
1693
- const style = React11.useMemo(
1694
+ const style = (0, import_react14.useMemo)(
1694
1695
  () => styleId && provider ? provider.actions.get(styleId, { elementId }) : null,
1695
1696
  [styleId, provider, elementId]
1696
1697
  );
1697
1698
  const hasContent = Boolean(customCss?.raw?.trim());
1698
- const hasInheritedContent = React11.useMemo(() => {
1699
+ const hasInheritedContent = (0, import_react14.useMemo)(() => {
1699
1700
  if (hasContent) {
1700
1701
  return false;
1701
1702
  }
@@ -1773,7 +1774,7 @@ function EditorPanelErrorFallback() {
1773
1774
  }
1774
1775
 
1775
1776
  // src/components/editing-panel-tabs.tsx
1776
- var import_react34 = require("react");
1777
+ var import_react35 = require("react");
1777
1778
  var React80 = __toESM(require("react"));
1778
1779
  var import_editor_v1_adapters7 = require("@elementor/editor-v1-adapters");
1779
1780
  var import_ui35 = require("@elementor/ui");
@@ -1781,19 +1782,19 @@ var import_i18n54 = require("@wordpress/i18n");
1781
1782
 
1782
1783
  // src/contexts/scroll-context.tsx
1783
1784
  var React13 = __toESM(require("react"));
1784
- var import_react14 = require("react");
1785
+ var import_react15 = require("react");
1785
1786
  var import_ui9 = require("@elementor/ui");
1786
- var ScrollContext = (0, import_react14.createContext)(void 0);
1787
+ var ScrollContext = (0, import_react15.createContext)(void 0);
1787
1788
  var ScrollPanel = (0, import_ui9.styled)("div")`
1788
1789
  height: 100%;
1789
1790
  overflow-y: auto;
1790
1791
  `;
1791
1792
  var DEFAULT_SCROLL_DIRECTION = "up";
1792
1793
  function ScrollProvider({ children }) {
1793
- const [direction, setDirection] = (0, import_react14.useState)(DEFAULT_SCROLL_DIRECTION);
1794
- const ref = (0, import_react14.useRef)(null);
1795
- const scrollPos = (0, import_react14.useRef)(0);
1796
- (0, import_react14.useEffect)(() => {
1794
+ const [direction, setDirection] = (0, import_react15.useState)(DEFAULT_SCROLL_DIRECTION);
1795
+ const ref = (0, import_react15.useRef)(null);
1796
+ const scrollPos = (0, import_react15.useRef)(0);
1797
+ (0, import_react15.useEffect)(() => {
1797
1798
  const scrollElement = ref.current;
1798
1799
  if (!scrollElement) {
1799
1800
  return;
@@ -1815,11 +1816,11 @@ function ScrollProvider({ children }) {
1815
1816
  return /* @__PURE__ */ React13.createElement(ScrollContext.Provider, { value: { direction } }, /* @__PURE__ */ React13.createElement(ScrollPanel, { ref }, children));
1816
1817
  }
1817
1818
  function useScrollDirection() {
1818
- return (0, import_react14.useContext)(ScrollContext)?.direction ?? DEFAULT_SCROLL_DIRECTION;
1819
+ return (0, import_react15.useContext)(ScrollContext)?.direction ?? DEFAULT_SCROLL_DIRECTION;
1819
1820
  }
1820
1821
 
1821
1822
  // src/hooks/use-default-panel-settings.ts
1822
- var import_react15 = require("react");
1823
+ var import_react16 = require("react");
1823
1824
  var fallbackEditorSettings = {
1824
1825
  defaultSectionsExpanded: {
1825
1826
  settings: ["Content", "Settings"],
@@ -1827,7 +1828,7 @@ var fallbackEditorSettings = {
1827
1828
  },
1828
1829
  defaultTab: "settings"
1829
1830
  };
1830
- var defaultPanelSettingsContext = (0, import_react15.createContext)({
1831
+ var defaultPanelSettingsContext = (0, import_react16.createContext)({
1831
1832
  "e-div-block": {
1832
1833
  defaultSectionsExpanded: fallbackEditorSettings.defaultSectionsExpanded,
1833
1834
  defaultTab: "style"
@@ -1843,18 +1844,18 @@ var defaultPanelSettingsContext = (0, import_react15.createContext)({
1843
1844
  });
1844
1845
  var useDefaultPanelSettings = () => {
1845
1846
  const { element } = useElement();
1846
- const defaults = (0, import_react15.useContext)(defaultPanelSettingsContext)[element.type];
1847
+ const defaults = (0, import_react16.useContext)(defaultPanelSettingsContext)[element.type];
1847
1848
  return defaults || fallbackEditorSettings;
1848
1849
  };
1849
1850
 
1850
1851
  // src/hooks/use-state-by-element.ts
1851
- var import_react16 = require("react");
1852
+ var import_react17 = require("react");
1852
1853
  var import_session3 = require("@elementor/session");
1853
1854
  var useStateByElement = (key, initialValue) => {
1854
1855
  const { element } = useElement();
1855
1856
  const lookup = `elementor/editor-state/${element.id}/${key}`;
1856
1857
  const storedValue = (0, import_session3.getSessionStorageItem)(lookup);
1857
- const [value, setValue] = (0, import_react16.useState)(storedValue ?? initialValue);
1858
+ const [value, setValue] = (0, import_react17.useState)(storedValue ?? initialValue);
1858
1859
  const doUpdate = (newValue) => {
1859
1860
  (0, import_session3.setSessionStorageItem)(lookup, newValue);
1860
1861
  setValue(newValue);
@@ -1885,12 +1886,12 @@ var import_session5 = require("@elementor/session");
1885
1886
 
1886
1887
  // src/components/section.tsx
1887
1888
  var React16 = __toESM(require("react"));
1888
- var import_react17 = require("react");
1889
+ var import_react18 = require("react");
1889
1890
  var import_editor_ui4 = require("@elementor/editor-ui");
1890
1891
  var import_ui11 = require("@elementor/ui");
1891
1892
  function Section({ title, children, defaultExpanded = false, titleEnd, unmountOnExit = true, action }) {
1892
1893
  const [isOpen, setIsOpen] = useStateByElement(title, !!defaultExpanded);
1893
- const ref = (0, import_react17.useRef)(null);
1894
+ const ref = (0, import_react18.useRef)(null);
1894
1895
  const isDisabled = !!action;
1895
1896
  const handleClick = () => {
1896
1897
  if (isDisabled) {
@@ -1899,7 +1900,7 @@ function Section({ title, children, defaultExpanded = false, titleEnd, unmountOn
1899
1900
  setIsOpen(!isOpen);
1900
1901
  }
1901
1902
  };
1902
- const id = (0, import_react17.useId)();
1903
+ const id = (0, import_react18.useId)();
1903
1904
  const labelId = `label-${id}`;
1904
1905
  const contentId = `content-${id}`;
1905
1906
  return /* @__PURE__ */ React16.createElement(React16.Fragment, null, /* @__PURE__ */ React16.createElement(
@@ -2056,7 +2057,7 @@ var getStyleByLayout = (layout) => {
2056
2057
 
2057
2058
  // src/controls-registry/settings-field.tsx
2058
2059
  var React19 = __toESM(require("react"));
2059
- var import_react18 = require("react");
2060
+ var import_react19 = require("react");
2060
2061
  var import_editor_controls2 = require("@elementor/editor-controls");
2061
2062
  var import_editor_documents2 = require("@elementor/editor-documents");
2062
2063
  var import_editor_elements6 = require("@elementor/editor-elements");
@@ -2271,7 +2272,7 @@ function useUndoableUpdateElementProp({
2271
2272
  elementId,
2272
2273
  propDisplayName
2273
2274
  }) {
2274
- return (0, import_react18.useMemo)(() => {
2275
+ return (0, import_react19.useMemo)(() => {
2275
2276
  return (0, import_editor_v1_adapters4.undoable)(
2276
2277
  {
2277
2278
  do: (newSettings) => {
@@ -2405,7 +2406,7 @@ function isControl(control) {
2405
2406
 
2406
2407
  // src/components/style-tab.tsx
2407
2408
  var React79 = __toESM(require("react"));
2408
- var import_react33 = require("react");
2409
+ var import_react34 = require("react");
2409
2410
  var import_editor_props15 = require("@elementor/editor-props");
2410
2411
  var import_editor_responsive3 = require("@elementor/editor-responsive");
2411
2412
  var import_locations3 = require("@elementor/locations");
@@ -2415,7 +2416,7 @@ var import_i18n53 = require("@wordpress/i18n");
2415
2416
 
2416
2417
  // src/contexts/styles-inheritance-context.tsx
2417
2418
  var React23 = __toESM(require("react"));
2418
- var import_react19 = require("react");
2419
+ var import_react20 = require("react");
2419
2420
  var import_editor_elements7 = require("@elementor/editor-elements");
2420
2421
  var import_editor_props9 = require("@elementor/editor-props");
2421
2422
  var import_editor_responsive2 = require("@elementor/editor-responsive");
@@ -2647,7 +2648,7 @@ var getFilterPropType = (propType, path) => {
2647
2648
  };
2648
2649
 
2649
2650
  // src/contexts/styles-inheritance-context.tsx
2650
- var Context4 = (0, import_react19.createContext)(null);
2651
+ var Context4 = (0, import_react20.createContext)(null);
2651
2652
  function StyleInheritanceProvider({ children }) {
2652
2653
  const styleDefs = useAppliedStyles();
2653
2654
  const breakpointsTree = (0, import_editor_responsive2.getBreakpointsTree)();
@@ -2655,7 +2656,7 @@ function StyleInheritanceProvider({ children }) {
2655
2656
  return /* @__PURE__ */ React23.createElement(Context4.Provider, { value: { getSnapshot, getInheritanceChain } }, children);
2656
2657
  }
2657
2658
  function useStylesInheritanceSnapshot() {
2658
- const context = (0, import_react19.useContext)(Context4);
2659
+ const context = (0, import_react20.useContext)(Context4);
2659
2660
  const { meta } = useStyle();
2660
2661
  if (!context) {
2661
2662
  throw new Error("useStylesInheritanceSnapshot must be used within a StyleInheritanceProvider");
@@ -2666,7 +2667,7 @@ function useStylesInheritanceSnapshot() {
2666
2667
  return context.getSnapshot(meta) ?? null;
2667
2668
  }
2668
2669
  function useStylesInheritanceChain(path) {
2669
- const context = (0, import_react19.useContext)(Context4);
2670
+ const context = (0, import_react20.useContext)(Context4);
2670
2671
  if (!context) {
2671
2672
  throw new Error("useStylesInheritanceChain must be used within a StyleInheritanceProvider");
2672
2673
  }
@@ -3118,12 +3119,12 @@ var BlendModeField = () => {
3118
3119
 
3119
3120
  // src/components/style-sections/effects-section/opacity-control-field.tsx
3120
3121
  var React36 = __toESM(require("react"));
3121
- var import_react20 = require("react");
3122
+ var import_react21 = require("react");
3122
3123
  var import_editor_controls13 = require("@elementor/editor-controls");
3123
3124
  var import_i18n14 = require("@wordpress/i18n");
3124
3125
  var OPACITY_LABEL = (0, import_i18n14.__)("Opacity", "elementor");
3125
3126
  var OpacityControlField = () => {
3126
- const rowRef = (0, import_react20.useRef)(null);
3127
+ const rowRef = (0, import_react21.useRef)(null);
3127
3128
  return /* @__PURE__ */ React36.createElement(StylesField, { bind: "opacity", propDisplayName: OPACITY_LABEL }, /* @__PURE__ */ React36.createElement(StylesFieldLayout, { ref: rowRef, label: OPACITY_LABEL }, /* @__PURE__ */ React36.createElement(import_editor_controls13.SizeControl, { units: ["%"], anchorRef: rowRef, defaultUnit: "%" })));
3128
3129
  };
3129
3130
 
@@ -3185,7 +3186,7 @@ var import_i18n17 = require("@wordpress/i18n");
3185
3186
 
3186
3187
  // src/components/style-sections/layout-section/utils/rotated-icon.tsx
3187
3188
  var React38 = __toESM(require("react"));
3188
- var import_react21 = require("react");
3189
+ var import_react22 = require("react");
3189
3190
  var import_ui22 = require("@elementor/ui");
3190
3191
  var import_i18n16 = require("@wordpress/i18n");
3191
3192
  var FLEX_DIRECTION_LABEL = (0, import_i18n16.__)("Flex direction", "elementor");
@@ -3208,7 +3209,7 @@ var RotatedIcon = ({
3208
3209
  offset = 0,
3209
3210
  disableRotationForReversed = false
3210
3211
  }) => {
3211
- const rotate = (0, import_react21.useRef)(useGetTargetAngle(isClockwise, offset, disableRotationForReversed));
3212
+ const rotate = (0, import_react22.useRef)(useGetTargetAngle(isClockwise, offset, disableRotationForReversed));
3212
3213
  rotate.current = useGetTargetAngle(isClockwise, offset, disableRotationForReversed, rotate);
3213
3214
  return /* @__PURE__ */ React38.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
3214
3215
  };
@@ -3488,7 +3489,7 @@ var FlexDirectionField = () => {
3488
3489
 
3489
3490
  // src/components/style-sections/layout-section/flex-order-field.tsx
3490
3491
  var React44 = __toESM(require("react"));
3491
- var import_react22 = require("react");
3492
+ var import_react23 = require("react");
3492
3493
  var import_editor_controls20 = require("@elementor/editor-controls");
3493
3494
  var import_icons9 = require("@elementor/icons");
3494
3495
  var import_ui27 = require("@elementor/ui");
@@ -3536,15 +3537,15 @@ function FlexOrderFieldContent() {
3536
3537
  });
3537
3538
  const { placeholder } = (0, import_editor_controls20.useBoundProp)();
3538
3539
  const placeholderValue = placeholder;
3539
- const currentGroup = (0, import_react22.useMemo)(() => getGroupControlValue(order?.value ?? null), [order]);
3540
- const [activeGroup, setActiveGroup] = (0, import_react22.useState)(currentGroup);
3541
- const [customLocked, setCustomLocked] = (0, import_react22.useState)(false);
3542
- (0, import_react22.useEffect)(() => {
3540
+ const currentGroup = (0, import_react23.useMemo)(() => getGroupControlValue(order?.value ?? null), [order]);
3541
+ const [activeGroup, setActiveGroup] = (0, import_react23.useState)(currentGroup);
3542
+ const [customLocked, setCustomLocked] = (0, import_react23.useState)(false);
3543
+ (0, import_react23.useEffect)(() => {
3543
3544
  if (!customLocked) {
3544
3545
  setActiveGroup(currentGroup);
3545
3546
  }
3546
3547
  }, [currentGroup, customLocked]);
3547
- (0, import_react22.useEffect)(() => {
3548
+ (0, import_react23.useEffect)(() => {
3548
3549
  if (order === null) {
3549
3550
  setCustomLocked(false);
3550
3551
  }
@@ -3604,7 +3605,7 @@ var getGroupControlValue = (order) => {
3604
3605
 
3605
3606
  // src/components/style-sections/layout-section/flex-size-field.tsx
3606
3607
  var React45 = __toESM(require("react"));
3607
- var import_react23 = require("react");
3608
+ var import_react24 = require("react");
3608
3609
  var import_editor_controls21 = require("@elementor/editor-controls");
3609
3610
  var import_editor_props14 = require("@elementor/editor-props");
3610
3611
  var import_icons10 = require("@elementor/icons");
@@ -3640,15 +3641,15 @@ var FlexSizeFieldContent = () => {
3640
3641
  });
3641
3642
  const { placeholder } = (0, import_editor_controls21.useBoundProp)();
3642
3643
  const flexValues = extractFlexValues(value);
3643
- const currentGroup = (0, import_react23.useMemo)(() => getActiveGroup(flexValues), [flexValues]);
3644
- const [activeGroup, setActiveGroup] = (0, import_react23.useState)(currentGroup);
3645
- const [customLocked, setCustomLocked] = (0, import_react23.useState)(false);
3646
- (0, import_react23.useEffect)(() => {
3644
+ const currentGroup = (0, import_react24.useMemo)(() => getActiveGroup(flexValues), [flexValues]);
3645
+ const [activeGroup, setActiveGroup] = (0, import_react24.useState)(currentGroup);
3646
+ const [customLocked, setCustomLocked] = (0, import_react24.useState)(false);
3647
+ (0, import_react24.useEffect)(() => {
3647
3648
  if (!customLocked) {
3648
3649
  setActiveGroup(currentGroup);
3649
3650
  }
3650
3651
  }, [currentGroup, customLocked]);
3651
- (0, import_react23.useEffect)(() => {
3652
+ (0, import_react24.useEffect)(() => {
3652
3653
  if (value === null) {
3653
3654
  setCustomLocked(false);
3654
3655
  }
@@ -3711,7 +3712,7 @@ var createFlexValueForGroup = (group, flexValue) => {
3711
3712
  return null;
3712
3713
  };
3713
3714
  var FlexCustomField = () => {
3714
- const flexBasisRowRef = (0, import_react23.useRef)(null);
3715
+ const flexBasisRowRef = (0, import_react24.useRef)(null);
3715
3716
  const context = (0, import_editor_controls21.useBoundProp)(import_editor_props14.flexPropTypeUtil);
3716
3717
  return /* @__PURE__ */ React45.createElement(import_editor_controls21.PropProvider, { ...context }, /* @__PURE__ */ React45.createElement(React45.Fragment, null, /* @__PURE__ */ React45.createElement(StylesFieldLayout, { label: (0, import_i18n23.__)("Grow", "elementor") }, /* @__PURE__ */ React45.createElement(import_editor_controls21.PropKeyProvider, { bind: "flexGrow" }, /* @__PURE__ */ React45.createElement(import_editor_controls21.NumberControl, { min: 0, shouldForceInt: true }))), /* @__PURE__ */ React45.createElement(StylesFieldLayout, { label: (0, import_i18n23.__)("Shrink", "elementor") }, /* @__PURE__ */ React45.createElement(import_editor_controls21.PropKeyProvider, { bind: "flexShrink" }, /* @__PURE__ */ React45.createElement(import_editor_controls21.NumberControl, { min: 0, shouldForceInt: true }))), /* @__PURE__ */ React45.createElement(StylesFieldLayout, { label: (0, import_i18n23.__)("Basis", "elementor"), ref: flexBasisRowRef }, /* @__PURE__ */ React45.createElement(import_editor_controls21.PropKeyProvider, { bind: "flexBasis" }, /* @__PURE__ */ React45.createElement(import_editor_controls21.SizeControl, { extendedOptions: ["auto"], anchorRef: flexBasisRowRef })))));
3717
3718
  };
@@ -3860,13 +3861,13 @@ var shouldDisplayFlexFields = (display, local) => {
3860
3861
 
3861
3862
  // src/components/style-sections/position-section/position-section.tsx
3862
3863
  var React54 = __toESM(require("react"));
3863
- var import_react26 = require("react");
3864
+ var import_react27 = require("react");
3864
3865
  var import_session6 = require("@elementor/session");
3865
3866
  var import_i18n32 = require("@wordpress/i18n");
3866
3867
 
3867
3868
  // src/components/style-sections/position-section/dimensions-field.tsx
3868
3869
  var React50 = __toESM(require("react"));
3869
- var import_react24 = require("react");
3870
+ var import_react25 = require("react");
3870
3871
  var import_editor_controls26 = require("@elementor/editor-controls");
3871
3872
  var import_icons13 = require("@elementor/icons");
3872
3873
  var import_ui29 = require("@elementor/ui");
@@ -3883,7 +3884,7 @@ var getInlineStartLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n28.__)("Righ
3883
3884
  var getInlineEndLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n28.__)("Left", "elementor") : (0, import_i18n28.__)("Right", "elementor");
3884
3885
  var DimensionsField = () => {
3885
3886
  const { isSiteRtl } = useDirection();
3886
- const rowRefs = [(0, import_react24.useRef)(null), (0, import_react24.useRef)(null)];
3887
+ const rowRefs = [(0, import_react25.useRef)(null), (0, import_react25.useRef)(null)];
3887
3888
  return /* @__PURE__ */ React50.createElement(UiProviders, null, /* @__PURE__ */ React50.createElement(import_ui29.Stack, { direction: "row", gap: 2, flexWrap: "nowrap", ref: rowRefs[0] }, /* @__PURE__ */ React50.createElement(DimensionField, { side: "inset-block-start", label: (0, import_i18n28.__)("Top", "elementor"), rowRef: rowRefs[0] }), /* @__PURE__ */ React50.createElement(
3888
3889
  DimensionField,
3889
3890
  {
@@ -3916,13 +3917,13 @@ var DimensionField = ({
3916
3917
 
3917
3918
  // src/components/style-sections/position-section/offset-field.tsx
3918
3919
  var React51 = __toESM(require("react"));
3919
- var import_react25 = require("react");
3920
+ var import_react26 = require("react");
3920
3921
  var import_editor_controls27 = require("@elementor/editor-controls");
3921
3922
  var import_i18n29 = require("@wordpress/i18n");
3922
3923
  var OFFSET_LABEL = (0, import_i18n29.__)("Anchor offset", "elementor");
3923
3924
  var UNITS = ["px", "em", "rem", "vw", "vh"];
3924
3925
  var OffsetField = () => {
3925
- const rowRef = (0, import_react25.useRef)(null);
3926
+ const rowRef = (0, import_react26.useRef)(null);
3926
3927
  return /* @__PURE__ */ React51.createElement(StylesField, { bind: "scroll-margin-top", propDisplayName: OFFSET_LABEL }, /* @__PURE__ */ React51.createElement(StylesFieldLayout, { label: OFFSET_LABEL, ref: rowRef }, /* @__PURE__ */ React51.createElement(import_editor_controls27.SizeControl, { units: UNITS, anchorRef: rowRef })));
3927
3928
  };
3928
3929
 
@@ -3975,7 +3976,7 @@ var PositionSection = () => {
3975
3976
  });
3976
3977
  const { values: positionDependentValues, setValues: setPositionDependentValues } = useStylesFields([...POSITION_DEPENDENT_PROP_NAMES]);
3977
3978
  const [dimensionsValuesFromHistory, updateDimensionsHistory, clearDimensionsHistory] = usePersistDimensions();
3978
- const clearPositionDependentProps = (0, import_react26.useCallback)(() => {
3979
+ const clearPositionDependentProps = (0, import_react27.useCallback)(() => {
3979
3980
  const dimensions = {
3980
3981
  "inset-block-start": positionDependentValues?.["inset-block-start"],
3981
3982
  "inset-block-end": positionDependentValues?.["inset-block-end"],
@@ -3989,9 +3990,9 @@ var PositionSection = () => {
3989
3990
  setPositionDependentValues(CLEARED_POSITION_DEPENDENT_VALUES, meta);
3990
3991
  }
3991
3992
  }, [positionDependentValues, updateDimensionsHistory, setPositionDependentValues]);
3992
- const clearPositionDependentPropsRef = (0, import_react26.useRef)(clearPositionDependentProps);
3993
+ const clearPositionDependentPropsRef = (0, import_react27.useRef)(clearPositionDependentProps);
3993
3994
  clearPositionDependentPropsRef.current = clearPositionDependentProps;
3994
- (0, import_react26.useEffect)(() => {
3995
+ (0, import_react27.useEffect)(() => {
3995
3996
  if (positionValue?.value === POSITION_STATIC || positionValue === null) {
3996
3997
  clearPositionDependentPropsRef.current();
3997
3998
  }
@@ -4022,7 +4023,7 @@ var usePersistDimensions = () => {
4022
4023
 
4023
4024
  // src/components/style-sections/size-section/size-section.tsx
4024
4025
  var React59 = __toESM(require("react"));
4025
- var import_react27 = require("react");
4026
+ var import_react28 = require("react");
4026
4027
  var import_editor_controls32 = require("@elementor/editor-controls");
4027
4028
  var import_ui31 = require("@elementor/ui");
4028
4029
  var import_i18n36 = require("@wordpress/i18n");
@@ -4189,7 +4190,7 @@ var CssSizeProps = [
4189
4190
  ];
4190
4191
  var ASPECT_RATIO_LABEL = (0, import_i18n36.__)("Aspect Ratio", "elementor");
4191
4192
  var SizeSection = () => {
4192
- const gridRowRefs = [(0, import_react27.useRef)(null), (0, import_react27.useRef)(null), (0, import_react27.useRef)(null)];
4193
+ const gridRowRefs = [(0, import_react28.useRef)(null), (0, import_react28.useRef)(null), (0, import_react28.useRef)(null)];
4193
4194
  return /* @__PURE__ */ React59.createElement(SectionContent, null, CssSizeProps.map((row, rowIndex) => /* @__PURE__ */ React59.createElement(import_ui31.Grid, { key: rowIndex, container: true, gap: 2, flexWrap: "nowrap", ref: gridRowRefs[rowIndex] }, row.map((props) => /* @__PURE__ */ React59.createElement(import_ui31.Grid, { item: true, xs: 6, key: props.bind }, /* @__PURE__ */ React59.createElement(SizeField, { ...props, rowRef: gridRowRefs[rowIndex], extendedOptions: ["auto"] }))))), /* @__PURE__ */ React59.createElement(PanelDivider, null), /* @__PURE__ */ React59.createElement(import_ui31.Stack, null, /* @__PURE__ */ React59.createElement(OverflowField, null)), /* @__PURE__ */ React59.createElement(StyleTabCollapsibleContent, { fields: ["aspect-ratio", "object-fit"] }, /* @__PURE__ */ React59.createElement(import_ui31.Stack, { gap: 2, pt: 2 }, /* @__PURE__ */ React59.createElement(StylesField, { bind: "aspect-ratio", propDisplayName: ASPECT_RATIO_LABEL }, /* @__PURE__ */ React59.createElement(import_editor_controls32.AspectRatioControl, { label: ASPECT_RATIO_LABEL })), /* @__PURE__ */ React59.createElement(PanelDivider, null), /* @__PURE__ */ React59.createElement(ObjectFitField, null), /* @__PURE__ */ React59.createElement(StylesField, { bind: "object-position", propDisplayName: (0, import_i18n36.__)("Object position", "elementor") }, /* @__PURE__ */ React59.createElement(import_ui31.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React59.createElement(import_editor_controls32.PositionControl, null))))));
4194
4195
  };
4195
4196
  var SizeField = ({ label, bind, rowRef, extendedOptions }) => {
@@ -4229,12 +4230,12 @@ var ColumnCountField = () => {
4229
4230
 
4230
4231
  // src/components/style-sections/typography-section/column-gap-field.tsx
4231
4232
  var React62 = __toESM(require("react"));
4232
- var import_react28 = require("react");
4233
+ var import_react29 = require("react");
4233
4234
  var import_editor_controls35 = require("@elementor/editor-controls");
4234
4235
  var import_i18n39 = require("@wordpress/i18n");
4235
4236
  var COLUMN_GAP_LABEL = (0, import_i18n39.__)("Column gap", "elementor");
4236
4237
  var ColumnGapField = () => {
4237
- const rowRef = (0, import_react28.useRef)(null);
4238
+ const rowRef = (0, import_react29.useRef)(null);
4238
4239
  return /* @__PURE__ */ React62.createElement(StylesField, { bind: "column-gap", propDisplayName: COLUMN_GAP_LABEL }, /* @__PURE__ */ React62.createElement(StylesFieldLayout, { label: COLUMN_GAP_LABEL, ref: rowRef }, /* @__PURE__ */ React62.createElement(import_editor_controls35.SizeControl, { anchorRef: rowRef })));
4239
4240
  };
4240
4241
 
@@ -4262,12 +4263,12 @@ var FontFamilyField = () => {
4262
4263
 
4263
4264
  // src/components/style-sections/typography-section/font-size-field.tsx
4264
4265
  var React64 = __toESM(require("react"));
4265
- var import_react29 = require("react");
4266
+ var import_react30 = require("react");
4266
4267
  var import_editor_controls37 = require("@elementor/editor-controls");
4267
4268
  var import_i18n41 = require("@wordpress/i18n");
4268
4269
  var FONT_SIZE_LABEL = (0, import_i18n41.__)("Font size", "elementor");
4269
4270
  var FontSizeField = () => {
4270
- const rowRef = (0, import_react29.useRef)(null);
4271
+ const rowRef = (0, import_react30.useRef)(null);
4271
4272
  return /* @__PURE__ */ React64.createElement(StylesField, { bind: "font-size", propDisplayName: FONT_SIZE_LABEL }, /* @__PURE__ */ React64.createElement(StylesFieldLayout, { label: FONT_SIZE_LABEL, ref: rowRef }, /* @__PURE__ */ React64.createElement(import_editor_controls37.SizeControl, { anchorRef: rowRef, ariaLabel: FONT_SIZE_LABEL })));
4272
4273
  };
4273
4274
 
@@ -4317,23 +4318,23 @@ var FontWeightField = () => {
4317
4318
 
4318
4319
  // src/components/style-sections/typography-section/letter-spacing-field.tsx
4319
4320
  var React67 = __toESM(require("react"));
4320
- var import_react30 = require("react");
4321
+ var import_react31 = require("react");
4321
4322
  var import_editor_controls40 = require("@elementor/editor-controls");
4322
4323
  var import_i18n44 = require("@wordpress/i18n");
4323
4324
  var LETTER_SPACING_LABEL = (0, import_i18n44.__)("Letter spacing", "elementor");
4324
4325
  var LetterSpacingField = () => {
4325
- const rowRef = (0, import_react30.useRef)(null);
4326
+ const rowRef = (0, import_react31.useRef)(null);
4326
4327
  return /* @__PURE__ */ React67.createElement(StylesField, { bind: "letter-spacing", propDisplayName: LETTER_SPACING_LABEL }, /* @__PURE__ */ React67.createElement(StylesFieldLayout, { label: LETTER_SPACING_LABEL, ref: rowRef }, /* @__PURE__ */ React67.createElement(import_editor_controls40.SizeControl, { anchorRef: rowRef, min: -Number.MAX_SAFE_INTEGER })));
4327
4328
  };
4328
4329
 
4329
4330
  // src/components/style-sections/typography-section/line-height-field.tsx
4330
4331
  var React68 = __toESM(require("react"));
4331
- var import_react31 = require("react");
4332
+ var import_react32 = require("react");
4332
4333
  var import_editor_controls41 = require("@elementor/editor-controls");
4333
4334
  var import_i18n45 = require("@wordpress/i18n");
4334
4335
  var LINE_HEIGHT_LABEL = (0, import_i18n45.__)("Line height", "elementor");
4335
4336
  var LineHeightField = () => {
4336
- const rowRef = (0, import_react31.useRef)(null);
4337
+ const rowRef = (0, import_react32.useRef)(null);
4337
4338
  return /* @__PURE__ */ React68.createElement(StylesField, { bind: "line-height", propDisplayName: LINE_HEIGHT_LABEL }, /* @__PURE__ */ React68.createElement(StylesFieldLayout, { label: LINE_HEIGHT_LABEL, ref: rowRef }, /* @__PURE__ */ React68.createElement(import_editor_controls41.SizeControl, { anchorRef: rowRef })));
4338
4339
  };
4339
4340
 
@@ -4555,12 +4556,12 @@ var TransformField = () => /* @__PURE__ */ React75.createElement(StylesField, {
4555
4556
 
4556
4557
  // src/components/style-sections/typography-section/word-spacing-field.tsx
4557
4558
  var React76 = __toESM(require("react"));
4558
- var import_react32 = require("react");
4559
+ var import_react33 = require("react");
4559
4560
  var import_editor_controls48 = require("@elementor/editor-controls");
4560
4561
  var import_i18n52 = require("@wordpress/i18n");
4561
4562
  var WORD_SPACING_LABEL = (0, import_i18n52.__)("Word spacing", "elementor");
4562
4563
  var WordSpacingField = () => {
4563
- const rowRef = (0, import_react32.useRef)(null);
4564
+ const rowRef = (0, import_react33.useRef)(null);
4564
4565
  return /* @__PURE__ */ React76.createElement(StylesField, { bind: "word-spacing", propDisplayName: WORD_SPACING_LABEL }, /* @__PURE__ */ React76.createElement(StylesFieldLayout, { label: WORD_SPACING_LABEL, ref: rowRef }, /* @__PURE__ */ React76.createElement(import_editor_controls48.SizeControl, { anchorRef: rowRef, min: -Number.MAX_SAFE_INTEGER })));
4565
4566
  };
4566
4567
 
@@ -4618,7 +4619,7 @@ var stickyHeaderStyles = {
4618
4619
  var StyleTab = () => {
4619
4620
  const currentClassesProp = useCurrentClassesProp();
4620
4621
  const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp ?? "");
4621
- const [activeStyleState, setActiveStyleState] = (0, import_react33.useState)(null);
4622
+ const [activeStyleState, setActiveStyleState] = (0, import_react34.useState)(null);
4622
4623
  const breakpoint = (0, import_editor_responsive3.useActiveBreakpoint)();
4623
4624
  if (!currentClassesProp) {
4624
4625
  return null;
@@ -4781,7 +4782,7 @@ var EditingPanelTabs = () => {
4781
4782
  return (
4782
4783
  // When switching between elements, the local states should be reset. We are using key to rerender the tabs.
4783
4784
  // Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
4784
- /* @__PURE__ */ React80.createElement(import_react34.Fragment, { key: element.id }, /* @__PURE__ */ React80.createElement(PanelTabContent, null))
4785
+ /* @__PURE__ */ React80.createElement(import_react35.Fragment, { key: element.id }, /* @__PURE__ */ React80.createElement(PanelTabContent, null))
4785
4786
  );
4786
4787
  };
4787
4788
  var PanelTabContent = () => {
@@ -4833,7 +4834,7 @@ var import_editor_panels3 = require("@elementor/editor-panels");
4833
4834
  var import_editor_v1_adapters11 = require("@elementor/editor-v1-adapters");
4834
4835
 
4835
4836
  // src/hooks/use-open-editor-panel.ts
4836
- var import_react35 = require("react");
4837
+ var import_react36 = require("react");
4837
4838
  var import_editor_v1_adapters8 = require("@elementor/editor-v1-adapters");
4838
4839
 
4839
4840
  // src/panel.ts
@@ -4857,7 +4858,7 @@ var isAtomicWidgetSelected = () => {
4857
4858
  // src/hooks/use-open-editor-panel.ts
4858
4859
  var useOpenEditorPanel = () => {
4859
4860
  const { open } = usePanelActions();
4860
- (0, import_react35.useEffect)(() => {
4861
+ (0, import_react36.useEffect)(() => {
4861
4862
  return (0, import_editor_v1_adapters8.__privateListenTo)((0, import_editor_v1_adapters8.commandStartEvent)("panel/editor/open"), () => {
4862
4863
  if (isAtomicWidgetSelected()) {
4863
4864
  open();
@@ -4877,12 +4878,12 @@ var import_editor_controls51 = require("@elementor/editor-controls");
4877
4878
 
4878
4879
  // src/components/promotions/custom-css.tsx
4879
4880
  var React82 = __toESM(require("react"));
4880
- var import_react36 = require("react");
4881
+ var import_react37 = require("react");
4881
4882
  var import_editor_controls50 = require("@elementor/editor-controls");
4882
4883
  var import_i18n56 = require("@wordpress/i18n");
4883
4884
  var TRACKING_DATA = { target_name: "custom_css", location_l2: "style" };
4884
4885
  var CustomCssSection = () => {
4885
- const triggerRef = (0, import_react36.useRef)(null);
4886
+ const triggerRef = (0, import_react37.useRef)(null);
4886
4887
  return /* @__PURE__ */ React82.createElement(
4887
4888
  StyleTabSection,
4888
4889
  {
@@ -5300,17 +5301,17 @@ var import_editor_props19 = require("@elementor/editor-props");
5300
5301
  var import_icons23 = require("@elementor/icons");
5301
5302
 
5302
5303
  // src/dynamics/hooks/use-dynamic-tag.ts
5303
- var import_react39 = require("react");
5304
+ var import_react40 = require("react");
5304
5305
 
5305
5306
  // src/dynamics/hooks/use-prop-dynamic-tags.ts
5306
- var import_react38 = require("react");
5307
+ var import_react39 = require("react");
5307
5308
  var import_editor_controls54 = require("@elementor/editor-controls");
5308
5309
 
5309
5310
  // src/dynamics/sync/get-atomic-dynamic-tags.ts
5310
5311
  var import_editor_v1_adapters9 = require("@elementor/editor-v1-adapters");
5311
5312
 
5312
5313
  // src/hooks/use-license-config.ts
5313
- var import_react37 = require("react");
5314
+ var import_react38 = require("react");
5314
5315
  var config = { expired: false };
5315
5316
  var listeners = /* @__PURE__ */ new Set();
5316
5317
  function setLicenseConfig(newConfig) {
@@ -5325,7 +5326,7 @@ function subscribe(listener) {
5325
5326
  return () => listeners.delete(listener);
5326
5327
  }
5327
5328
  function useLicenseConfig() {
5328
- return (0, import_react37.useSyncExternalStore)(subscribe, getLicenseConfig, getLicenseConfig);
5329
+ return (0, import_react38.useSyncExternalStore)(subscribe, getLicenseConfig, getLicenseConfig);
5329
5330
  }
5330
5331
 
5331
5332
  // src/dynamics/sync/get-atomic-dynamic-tags.ts
@@ -5394,7 +5395,7 @@ var usePropDynamicTagsInternal = (filterByLicense2) => {
5394
5395
  categories = propDynamicType?.settings.categories || [];
5395
5396
  }
5396
5397
  const categoriesKey = categories.join();
5397
- return (0, import_react38.useMemo)(
5398
+ return (0, import_react39.useMemo)(
5398
5399
  () => getDynamicTagsByCategories(categories, filterByLicense2),
5399
5400
  // eslint-disable-next-line react-hooks/exhaustive-deps
5400
5401
  [categoriesKey, filterByLicense2]
@@ -5428,7 +5429,7 @@ var getDynamicTagsByCategories = (categories, filterByLicense2) => {
5428
5429
  // src/dynamics/hooks/use-dynamic-tag.ts
5429
5430
  var useDynamicTag = (tagName) => {
5430
5431
  const dynamicTags = useAllPropDynamicTags();
5431
- return (0, import_react39.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
5432
+ return (0, import_react40.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
5432
5433
  };
5433
5434
 
5434
5435
  // src/dynamics/components/background-control-dynamic-tag.tsx
@@ -5470,6 +5471,7 @@ var import_editor_controls56 = require("@elementor/editor-controls");
5470
5471
 
5471
5472
  // src/dynamics/components/dynamic-conditional-control.tsx
5472
5473
  var React85 = __toESM(require("react"));
5474
+ var import_react41 = require("react");
5473
5475
  var import_editor_props20 = require("@elementor/editor-props");
5474
5476
  var DynamicConditionalControl = ({
5475
5477
  children,
@@ -5477,7 +5479,7 @@ var DynamicConditionalControl = ({
5477
5479
  propsSchema,
5478
5480
  dynamicSettings
5479
5481
  }) => {
5480
- const defaults = React85.useMemo(() => {
5482
+ const defaults = (0, import_react41.useMemo)(() => {
5481
5483
  if (!propsSchema) {
5482
5484
  return {};
5483
5485
  }
@@ -5487,7 +5489,7 @@ var DynamicConditionalControl = ({
5487
5489
  return result;
5488
5490
  }, {});
5489
5491
  }, [propsSchema]);
5490
- const convertedSettings = React85.useMemo(() => {
5492
+ const convertedSettings = (0, import_react41.useMemo)(() => {
5491
5493
  if (!dynamicSettings) {
5492
5494
  return {};
5493
5495
  }
@@ -5506,7 +5508,7 @@ var DynamicConditionalControl = ({
5506
5508
  {}
5507
5509
  );
5508
5510
  }, [dynamicSettings]);
5509
- const effectiveSettings = React85.useMemo(() => {
5511
+ const effectiveSettings = (0, import_react41.useMemo)(() => {
5510
5512
  return { ...defaults, ...convertedSettings };
5511
5513
  }, [defaults, convertedSettings]);
5512
5514
  if (!propType?.dependencies?.terms.length) {
@@ -5551,7 +5553,7 @@ var DynamicControl = ({ bind, children }) => {
5551
5553
 
5552
5554
  // src/dynamics/components/dynamic-selection.tsx
5553
5555
  var React87 = __toESM(require("react"));
5554
- var import_react40 = require("react");
5556
+ var import_react42 = require("react");
5555
5557
  var import_editor_controls57 = require("@elementor/editor-controls");
5556
5558
  var import_editor_ui8 = require("@elementor/editor-ui");
5557
5559
  var import_icons24 = require("@elementor/icons");
@@ -5562,7 +5564,7 @@ var PROMO_TEXT_WIDTH = 170;
5562
5564
  var PRO_DYNAMIC_TAGS_URL = "https://go.elementor.com/go-pro-dynamic-tags-modal/";
5563
5565
  var RENEW_DYNAMIC_TAGS_URL = "https://go.elementor.com/go-pro-dynamic-tags-renew-modal/";
5564
5566
  var DynamicSelection = ({ close: closePopover, expired = false }) => {
5565
- const [searchValue, setSearchValue] = (0, import_react40.useState)("");
5567
+ const [searchValue, setSearchValue] = (0, import_react42.useState)("");
5566
5568
  const { groups: dynamicGroups } = getAtomicDynamicTags() || {};
5567
5569
  const theme = (0, import_ui38.useTheme)();
5568
5570
  const { value: anyValue } = (0, import_editor_controls57.useBoundProp)();
@@ -5571,7 +5573,7 @@ var DynamicSelection = ({ close: closePopover, expired = false }) => {
5571
5573
  const isCurrentValueDynamic = !!dynamicValue;
5572
5574
  const options12 = useFilteredOptions(searchValue);
5573
5575
  const hasNoDynamicTags = !options12.length && !searchValue.trim();
5574
- (0, import_react40.useEffect)(() => {
5576
+ (0, import_react42.useEffect)(() => {
5575
5577
  if (hasNoDynamicTags) {
5576
5578
  (0, import_editor_controls57.trackViewPromotion)({ target_name: "dynamic_tags" });
5577
5579
  } else if (expired) {
@@ -5608,7 +5610,7 @@ var DynamicSelection = ({ close: closePopover, expired = false }) => {
5608
5610
  if (expired) {
5609
5611
  return /* @__PURE__ */ React87.createElement(ExpiredDynamicTags, null);
5610
5612
  }
5611
- return /* @__PURE__ */ React87.createElement(import_react40.Fragment, null, /* @__PURE__ */ React87.createElement(
5613
+ return /* @__PURE__ */ React87.createElement(import_react42.Fragment, null, /* @__PURE__ */ React87.createElement(
5612
5614
  import_editor_ui8.SearchField,
5613
5615
  {
5614
5616
  value: searchValue,
@@ -6074,22 +6076,22 @@ var import_i18n66 = require("@wordpress/i18n");
6074
6076
 
6075
6077
  // src/styles-inheritance/components/styles-inheritance-infotip.tsx
6076
6078
  var React94 = __toESM(require("react"));
6077
- var import_react42 = require("react");
6079
+ var import_react44 = require("react");
6078
6080
  var import_editor_canvas5 = require("@elementor/editor-canvas");
6079
6081
  var import_editor_ui10 = require("@elementor/editor-ui");
6080
6082
  var import_ui44 = require("@elementor/ui");
6081
6083
  var import_i18n65 = require("@wordpress/i18n");
6082
6084
 
6083
6085
  // src/styles-inheritance/hooks/use-normalized-inheritance-chain-items.tsx
6084
- var import_react41 = require("react");
6086
+ var import_react43 = require("react");
6085
6087
  var import_editor_canvas4 = require("@elementor/editor-canvas");
6086
6088
  var import_editor_styles8 = require("@elementor/editor-styles");
6087
6089
  var import_editor_styles_repository14 = require("@elementor/editor-styles-repository");
6088
6090
  var import_i18n63 = require("@wordpress/i18n");
6089
6091
  var MAXIMUM_ITEMS = 2;
6090
6092
  var useNormalizedInheritanceChainItems = (inheritanceChain, bind, resolve) => {
6091
- const [items3, setItems] = (0, import_react41.useState)([]);
6092
- (0, import_react41.useEffect)(() => {
6093
+ const [items3, setItems] = (0, import_react43.useState)([]);
6094
+ (0, import_react43.useEffect)(() => {
6093
6095
  (async () => {
6094
6096
  const normalizedItems = await Promise.all(
6095
6097
  inheritanceChain.filter(({ style }) => style).map((item, index) => normalizeInheritanceItem(item, index, bind, resolve))
@@ -6140,7 +6142,7 @@ var getTransformedValue = async (item, bind, resolve) => {
6140
6142
  }
6141
6143
  });
6142
6144
  const value = result?.[bind] ?? result;
6143
- if ((0, import_react41.isValidElement)(value)) {
6145
+ if ((0, import_react43.isValidElement)(value)) {
6144
6146
  return value;
6145
6147
  }
6146
6148
  if (typeof value === "object") {
@@ -6255,8 +6257,8 @@ var StylesInheritanceInfotip = ({
6255
6257
  children,
6256
6258
  isDisabled
6257
6259
  }) => {
6258
- const [showInfotip, setShowInfotip] = (0, import_react42.useState)(false);
6259
- const triggerRef = (0, import_react42.useRef)(null);
6260
+ const [showInfotip, setShowInfotip] = (0, import_react44.useState)(false);
6261
+ const triggerRef = (0, import_react44.useRef)(null);
6260
6262
  const toggleInfotip = () => {
6261
6263
  if (isDisabled) {
6262
6264
  return;
@@ -6271,7 +6273,7 @@ var StylesInheritanceInfotip = ({
6271
6273
  };
6272
6274
  const key = path.join(".");
6273
6275
  const sectionWidth = (0, import_editor_ui10.useSectionWidth)();
6274
- const resolve = (0, import_react42.useMemo)(() => {
6276
+ const resolve = (0, import_react44.useMemo)(() => {
6275
6277
  return (0, import_editor_canvas5.createPropsResolver)({
6276
6278
  transformers: import_editor_canvas5.stylesInheritanceTransformersRegistry,
6277
6279
  schema: { [key]: propType }