@elementor/editor-editing-panel 1.44.0 → 1.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/index.js +479 -391
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.mjs +410 -320
  5. package/dist/index.mjs.map +1 -1
  6. package/package.json +7 -7
  7. package/src/components/style-sections/border-section/border-radius-field.tsx +12 -9
  8. package/src/components/style-sections/layout-section/align-content-field.tsx +10 -14
  9. package/src/components/style-sections/layout-section/align-items-field.tsx +13 -17
  10. package/src/components/style-sections/layout-section/align-self-child-field.tsx +13 -17
  11. package/src/components/style-sections/layout-section/flex-direction-field.tsx +13 -17
  12. package/src/components/style-sections/layout-section/flex-order-field.tsx +30 -33
  13. package/src/components/style-sections/layout-section/flex-size-field.tsx +60 -59
  14. package/src/components/style-sections/layout-section/justify-content-field.tsx +10 -14
  15. package/src/components/style-sections/layout-section/wrap-field.tsx +13 -17
  16. package/src/components/style-sections/position-section/dimensions-field.tsx +39 -21
  17. package/src/components/style-sections/position-section/offset-field.tsx +5 -2
  18. package/src/components/style-sections/size-section/size-section.tsx +51 -36
  19. package/src/components/style-sections/spacing-section/spacing-section.tsx +1 -1
  20. package/src/components/style-sections/typography-section/column-gap-field.tsx +5 -2
  21. package/src/components/style-sections/typography-section/font-size-field.tsx +5 -2
  22. package/src/components/style-sections/typography-section/letter-spacing-field.tsx +5 -2
  23. package/src/components/style-sections/typography-section/line-height-field.tsx +5 -2
  24. package/src/components/style-sections/typography-section/text-alignment-field.tsx +12 -9
  25. package/src/components/style-sections/typography-section/word-spacing-field.tsx +5 -2
  26. package/src/dynamics/components/background-control-dynamic-tag.tsx +48 -0
  27. package/src/dynamics/init.ts +21 -0
  28. package/src/styles-inheritance/components/ui-providers.tsx +18 -0
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  // src/index.ts
2
- import { useBoundProp as useBoundProp8 } from "@elementor/editor-controls";
2
+ import { useBoundProp as useBoundProp9 } from "@elementor/editor-controls";
3
3
 
4
4
  // src/control-replacement.tsx
5
5
  import { createControlReplacementsRegistry } from "@elementor/editor-controls";
@@ -1142,11 +1142,11 @@ function useHandleSelect() {
1142
1142
  import { __createPanel as createPanel } from "@elementor/editor-panels";
1143
1143
 
1144
1144
  // src/components/editing-panel.tsx
1145
- import * as React83 from "react";
1145
+ import * as React84 from "react";
1146
1146
  import { ControlActionsProvider, ControlReplacementsProvider } from "@elementor/editor-controls";
1147
1147
  import { useSelectedElement } from "@elementor/editor-elements";
1148
1148
  import { Panel, PanelBody, PanelHeader, PanelHeaderTitle } from "@elementor/editor-panels";
1149
- import { ThemeProvider as ThemeProvider9 } from "@elementor/editor-ui";
1149
+ import { ThemeProvider as ThemeProvider2 } from "@elementor/editor-ui";
1150
1150
  import { AtomIcon } from "@elementor/icons";
1151
1151
  import { SessionStorageProvider as SessionStorageProvider3 } from "@elementor/session";
1152
1152
  import { ErrorBoundary } from "@elementor/ui";
@@ -1218,8 +1218,8 @@ function EditorPanelErrorFallback() {
1218
1218
  }
1219
1219
 
1220
1220
  // src/components/editing-panel-tabs.tsx
1221
- import * as React82 from "react";
1222
- import { Fragment as Fragment10 } from "react";
1221
+ import * as React83 from "react";
1222
+ import { Fragment as Fragment9 } from "react";
1223
1223
  import { isExperimentActive as isExperimentActive13 } from "@elementor/editor-v1-adapters";
1224
1224
  import { Divider as Divider6, Stack as Stack18, Tab, TabPanel, Tabs, useTabs } from "@elementor/ui";
1225
1225
  import { __ as __54 } from "@wordpress/i18n";
@@ -1540,7 +1540,7 @@ var Control2 = ({ control }) => {
1540
1540
  };
1541
1541
 
1542
1542
  // src/components/style-tab.tsx
1543
- import * as React81 from "react";
1543
+ import * as React82 from "react";
1544
1544
  import { useState as useState12 } from "react";
1545
1545
  import { CLASSES_PROP_KEY } from "@elementor/editor-props";
1546
1546
  import { useActiveBreakpoint } from "@elementor/editor-responsive";
@@ -2485,7 +2485,7 @@ var BackgroundSection = () => {
2485
2485
  };
2486
2486
 
2487
2487
  // src/components/style-sections/border-section/border-section.tsx
2488
- import * as React38 from "react";
2488
+ import * as React39 from "react";
2489
2489
 
2490
2490
  // src/components/panel-divider.tsx
2491
2491
  import * as React30 from "react";
@@ -2645,7 +2645,7 @@ var BorderField = () => {
2645
2645
  };
2646
2646
 
2647
2647
  // src/components/style-sections/border-section/border-radius-field.tsx
2648
- import * as React37 from "react";
2648
+ import * as React38 from "react";
2649
2649
  import { EqualUnequalSizesControl as EqualUnequalSizesControl2 } from "@elementor/editor-controls";
2650
2650
  import { borderRadiusPropTypeUtil } from "@elementor/editor-props";
2651
2651
  import {
@@ -2657,6 +2657,16 @@ import {
2657
2657
  } from "@elementor/icons";
2658
2658
  import { withDirection as withDirection2 } from "@elementor/ui";
2659
2659
  import { __ as __15 } from "@wordpress/i18n";
2660
+
2661
+ // src/styles-inheritance/components/ui-providers.tsx
2662
+ import * as React37 from "react";
2663
+ import { DirectionProvider, ThemeProvider } from "@elementor/ui";
2664
+ var UiProviders = ({ children }) => {
2665
+ const { isSiteRtl } = useDirection();
2666
+ return /* @__PURE__ */ React37.createElement(DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React37.createElement(ThemeProvider, null, children));
2667
+ };
2668
+
2669
+ // src/components/style-sections/border-section/border-radius-field.tsx
2660
2670
  var StartStartIcon = withDirection2(RadiusTopLeftIcon);
2661
2671
  var StartEndIcon = withDirection2(RadiusTopRightIcon);
2662
2672
  var EndStartIcon = withDirection2(RadiusBottomLeftIcon);
@@ -2668,51 +2678,51 @@ var getEndEndLabel = (isSiteRtl) => isSiteRtl ? __15("Bottom left", "elementor")
2668
2678
  var getCorners = (isSiteRtl) => [
2669
2679
  {
2670
2680
  label: getStartStartLabel(isSiteRtl),
2671
- icon: /* @__PURE__ */ React37.createElement(StartStartIcon, { fontSize: "tiny" }),
2681
+ icon: /* @__PURE__ */ React38.createElement(StartStartIcon, { fontSize: "tiny" }),
2672
2682
  bind: "start-start"
2673
2683
  },
2674
2684
  {
2675
2685
  label: getStartEndLabel(isSiteRtl),
2676
- icon: /* @__PURE__ */ React37.createElement(StartEndIcon, { fontSize: "tiny" }),
2686
+ icon: /* @__PURE__ */ React38.createElement(StartEndIcon, { fontSize: "tiny" }),
2677
2687
  bind: "start-end"
2678
2688
  },
2679
2689
  {
2680
2690
  label: getEndStartLabel(isSiteRtl),
2681
- icon: /* @__PURE__ */ React37.createElement(EndStartIcon, { fontSize: "tiny" }),
2691
+ icon: /* @__PURE__ */ React38.createElement(EndStartIcon, { fontSize: "tiny" }),
2682
2692
  bind: "end-start"
2683
2693
  },
2684
2694
  {
2685
2695
  label: getEndEndLabel(isSiteRtl),
2686
- icon: /* @__PURE__ */ React37.createElement(EndEndIcon, { fontSize: "tiny" }),
2696
+ icon: /* @__PURE__ */ React38.createElement(EndEndIcon, { fontSize: "tiny" }),
2687
2697
  bind: "end-end"
2688
2698
  }
2689
2699
  ];
2690
2700
  var BorderRadiusField = () => {
2691
2701
  const { isSiteRtl } = useDirection();
2692
- return /* @__PURE__ */ React37.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React37.createElement(
2702
+ return /* @__PURE__ */ React38.createElement(UiProviders, null, /* @__PURE__ */ React38.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React38.createElement(
2693
2703
  EqualUnequalSizesControl2,
2694
2704
  {
2695
2705
  items: getCorners(isSiteRtl),
2696
2706
  label: __15("Border radius", "elementor"),
2697
- icon: /* @__PURE__ */ React37.createElement(BorderCornersIcon, { fontSize: "tiny" }),
2707
+ icon: /* @__PURE__ */ React38.createElement(BorderCornersIcon, { fontSize: "tiny" }),
2698
2708
  tooltipLabel: __15("Adjust corners", "elementor"),
2699
2709
  multiSizePropTypeUtil: borderRadiusPropTypeUtil
2700
2710
  }
2701
- ));
2711
+ )));
2702
2712
  };
2703
2713
 
2704
2714
  // src/components/style-sections/border-section/border-section.tsx
2705
- var BorderSection = () => /* @__PURE__ */ React38.createElement(SectionContent, null, /* @__PURE__ */ React38.createElement(BorderRadiusField, null), /* @__PURE__ */ React38.createElement(PanelDivider, null), /* @__PURE__ */ React38.createElement(BorderField, null));
2715
+ var BorderSection = () => /* @__PURE__ */ React39.createElement(SectionContent, null, /* @__PURE__ */ React39.createElement(BorderRadiusField, null), /* @__PURE__ */ React39.createElement(PanelDivider, null), /* @__PURE__ */ React39.createElement(BorderField, null));
2706
2716
 
2707
2717
  // src/components/style-sections/effects-section/effects-section.tsx
2708
- import * as React39 from "react";
2718
+ import * as React40 from "react";
2709
2719
  import { BoxShadowRepeaterControl } from "@elementor/editor-controls";
2710
2720
  var EffectsSection = () => {
2711
- return /* @__PURE__ */ React39.createElement(SectionContent, null, /* @__PURE__ */ React39.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React39.createElement(BoxShadowRepeaterControl, null)));
2721
+ return /* @__PURE__ */ React40.createElement(SectionContent, null, /* @__PURE__ */ React40.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React40.createElement(BoxShadowRepeaterControl, null)));
2712
2722
  };
2713
2723
 
2714
2724
  // src/components/style-sections/layout-section/layout-section.tsx
2715
- import * as React51 from "react";
2725
+ import * as React52 from "react";
2716
2726
  import { ControlFormLabel as ControlFormLabel4 } from "@elementor/editor-controls";
2717
2727
  import { useParentElement } from "@elementor/editor-elements";
2718
2728
  import { __ as __26 } from "@wordpress/i18n";
@@ -2743,7 +2753,7 @@ function useComputedStyle(elementId) {
2743
2753
  }
2744
2754
 
2745
2755
  // src/components/style-sections/layout-section/align-content-field.tsx
2746
- import * as React41 from "react";
2756
+ import * as React42 from "react";
2747
2757
  import { ToggleControl } from "@elementor/editor-controls";
2748
2758
  import {
2749
2759
  JustifyBottomIcon,
@@ -2753,11 +2763,11 @@ import {
2753
2763
  JustifySpaceBetweenVerticalIcon as BetweenIcon,
2754
2764
  JustifyTopIcon
2755
2765
  } from "@elementor/icons";
2756
- import { DirectionProvider, Stack as Stack10, ThemeProvider, withDirection as withDirection3 } from "@elementor/ui";
2766
+ import { Stack as Stack10, withDirection as withDirection3 } from "@elementor/ui";
2757
2767
  import { __ as __16 } from "@wordpress/i18n";
2758
2768
 
2759
2769
  // src/components/style-sections/layout-section/utils/rotated-icon.tsx
2760
- import * as React40 from "react";
2770
+ import * as React41 from "react";
2761
2771
  import { useRef as useRef4 } from "react";
2762
2772
  import { useTheme as useTheme2 } from "@elementor/ui";
2763
2773
  var CLOCKWISE_ANGLES = {
@@ -2781,7 +2791,7 @@ var RotatedIcon = ({
2781
2791
  }) => {
2782
2792
  const rotate = useRef4(useGetTargetAngle(isClockwise, offset, disableRotationForReversed));
2783
2793
  rotate.current = useGetTargetAngle(isClockwise, offset, disableRotationForReversed, rotate);
2784
- return /* @__PURE__ */ React40.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
2794
+ return /* @__PURE__ */ React41.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
2785
2795
  };
2786
2796
  var useGetTargetAngle = (isClockwise, offset, disableRotationForReversed, existingRef) => {
2787
2797
  const [direction] = useStylesField("flex-direction");
@@ -2811,47 +2821,46 @@ var options = [
2811
2821
  {
2812
2822
  value: "start",
2813
2823
  label: __16("Start", "elementor"),
2814
- renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
2824
+ renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
2815
2825
  showTooltip: true
2816
2826
  },
2817
2827
  {
2818
2828
  value: "center",
2819
2829
  label: __16("Center", "elementor"),
2820
- renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(RotatedIcon, { icon: CenterIcon, size, ...iconProps }),
2830
+ renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: CenterIcon, size, ...iconProps }),
2821
2831
  showTooltip: true
2822
2832
  },
2823
2833
  {
2824
2834
  value: "end",
2825
2835
  label: __16("End", "elementor"),
2826
- renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
2836
+ renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
2827
2837
  showTooltip: true
2828
2838
  },
2829
2839
  {
2830
2840
  value: "space-between",
2831
2841
  label: __16("Space between", "elementor"),
2832
- renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(RotatedIcon, { icon: BetweenIcon, size, ...iconProps }),
2842
+ renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: BetweenIcon, size, ...iconProps }),
2833
2843
  showTooltip: true
2834
2844
  },
2835
2845
  {
2836
2846
  value: "space-around",
2837
2847
  label: __16("Space around", "elementor"),
2838
- renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(RotatedIcon, { icon: AroundIcon, size, ...iconProps }),
2848
+ renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: AroundIcon, size, ...iconProps }),
2839
2849
  showTooltip: true
2840
2850
  },
2841
2851
  {
2842
2852
  value: "space-evenly",
2843
2853
  label: __16("Space evenly", "elementor"),
2844
- renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(RotatedIcon, { icon: EvenlyIcon, size, ...iconProps }),
2854
+ renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: EvenlyIcon, size, ...iconProps }),
2845
2855
  showTooltip: true
2846
2856
  }
2847
2857
  ];
2848
2858
  var AlignContentField = () => {
2849
- const { isSiteRtl } = useDirection();
2850
- return /* @__PURE__ */ React41.createElement(DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React41.createElement(ThemeProvider, null, /* @__PURE__ */ React41.createElement(StylesField, { bind: "align-content" }, /* @__PURE__ */ React41.createElement(Stack10, { gap: 1 }, /* @__PURE__ */ React41.createElement(ControlLabel, null, __16("Align content", "elementor")), /* @__PURE__ */ React41.createElement(ToggleControl, { options, fullWidth: true })))));
2859
+ return /* @__PURE__ */ React42.createElement(UiProviders, null, /* @__PURE__ */ React42.createElement(StylesField, { bind: "align-content" }, /* @__PURE__ */ React42.createElement(Stack10, { gap: 1 }, /* @__PURE__ */ React42.createElement(ControlLabel, null, __16("Align content", "elementor")), /* @__PURE__ */ React42.createElement(ToggleControl, { options, fullWidth: true }))));
2851
2860
  };
2852
2861
 
2853
2862
  // src/components/style-sections/layout-section/align-items-field.tsx
2854
- import * as React42 from "react";
2863
+ import * as React43 from "react";
2855
2864
  import { ToggleControl as ToggleControl2 } from "@elementor/editor-controls";
2856
2865
  import {
2857
2866
  LayoutAlignCenterIcon as CenterIcon2,
@@ -2859,7 +2868,7 @@ import {
2859
2868
  LayoutAlignRightIcon,
2860
2869
  LayoutDistributeVerticalIcon as JustifyIcon
2861
2870
  } from "@elementor/icons";
2862
- import { DirectionProvider as DirectionProvider2, Grid as Grid3, ThemeProvider as ThemeProvider2, withDirection as withDirection4 } from "@elementor/ui";
2871
+ import { Grid as Grid3, withDirection as withDirection4 } from "@elementor/ui";
2863
2872
  import { __ as __17 } from "@wordpress/i18n";
2864
2873
  var StartIcon2 = withDirection4(LayoutAlignLeftIcon);
2865
2874
  var EndIcon2 = withDirection4(LayoutAlignRightIcon);
@@ -2871,35 +2880,34 @@ var options2 = [
2871
2880
  {
2872
2881
  value: "start",
2873
2882
  label: __17("Start", "elementor"),
2874
- renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
2883
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
2875
2884
  showTooltip: true
2876
2885
  },
2877
2886
  {
2878
2887
  value: "center",
2879
2888
  label: __17("Center", "elementor"),
2880
- renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: CenterIcon2, size, ...iconProps2 }),
2889
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: CenterIcon2, size, ...iconProps2 }),
2881
2890
  showTooltip: true
2882
2891
  },
2883
2892
  {
2884
2893
  value: "end",
2885
2894
  label: __17("End", "elementor"),
2886
- renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
2895
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
2887
2896
  showTooltip: true
2888
2897
  },
2889
2898
  {
2890
2899
  value: "stretch",
2891
2900
  label: __17("Stretch", "elementor"),
2892
- renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: JustifyIcon, size, ...iconProps2 }),
2901
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: JustifyIcon, size, ...iconProps2 }),
2893
2902
  showTooltip: true
2894
2903
  }
2895
2904
  ];
2896
2905
  var AlignItemsField = () => {
2897
- const { isSiteRtl } = useDirection();
2898
- return /* @__PURE__ */ React42.createElement(DirectionProvider2, { rtl: isSiteRtl }, /* @__PURE__ */ React42.createElement(ThemeProvider2, null, /* @__PURE__ */ React42.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React42.createElement(Grid3, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React42.createElement(Grid3, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(ControlLabel, null, __17("Align items", "elementor"))), /* @__PURE__ */ React42.createElement(Grid3, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React42.createElement(ToggleControl2, { options: options2 }))))));
2906
+ return /* @__PURE__ */ React43.createElement(UiProviders, null, /* @__PURE__ */ React43.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React43.createElement(Grid3, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(Grid3, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(ControlLabel, null, __17("Align items", "elementor"))), /* @__PURE__ */ React43.createElement(Grid3, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React43.createElement(ToggleControl2, { options: options2 })))));
2899
2907
  };
2900
2908
 
2901
2909
  // src/components/style-sections/layout-section/align-self-child-field.tsx
2902
- import * as React43 from "react";
2910
+ import * as React44 from "react";
2903
2911
  import { ToggleControl as ToggleControl3 } from "@elementor/editor-controls";
2904
2912
  import {
2905
2913
  LayoutAlignCenterIcon as CenterIcon3,
@@ -2907,7 +2915,7 @@ import {
2907
2915
  LayoutAlignRightIcon as LayoutAlignRightIcon2,
2908
2916
  LayoutDistributeVerticalIcon as JustifyIcon2
2909
2917
  } from "@elementor/icons";
2910
- import { DirectionProvider as DirectionProvider3, Grid as Grid4, ThemeProvider as ThemeProvider3, withDirection as withDirection5 } from "@elementor/ui";
2918
+ import { Grid as Grid4, withDirection as withDirection5 } from "@elementor/ui";
2911
2919
  import { __ as __18 } from "@wordpress/i18n";
2912
2920
  var ALIGN_SELF_CHILD_OFFSET_MAP = {
2913
2921
  row: 90,
@@ -2924,7 +2932,7 @@ var getOptions = (parentStyleDirection) => [
2924
2932
  {
2925
2933
  value: "start",
2926
2934
  label: __18("Start", "elementor"),
2927
- renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(
2935
+ renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(
2928
2936
  RotatedIcon,
2929
2937
  {
2930
2938
  icon: StartIcon3,
@@ -2938,7 +2946,7 @@ var getOptions = (parentStyleDirection) => [
2938
2946
  {
2939
2947
  value: "center",
2940
2948
  label: __18("Center", "elementor"),
2941
- renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(
2949
+ renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(
2942
2950
  RotatedIcon,
2943
2951
  {
2944
2952
  icon: CenterIcon3,
@@ -2952,7 +2960,7 @@ var getOptions = (parentStyleDirection) => [
2952
2960
  {
2953
2961
  value: "end",
2954
2962
  label: __18("End", "elementor"),
2955
- renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(
2963
+ renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(
2956
2964
  RotatedIcon,
2957
2965
  {
2958
2966
  icon: EndIcon3,
@@ -2966,7 +2974,7 @@ var getOptions = (parentStyleDirection) => [
2966
2974
  {
2967
2975
  value: "stretch",
2968
2976
  label: __18("Stretch", "elementor"),
2969
- renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(
2977
+ renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(
2970
2978
  RotatedIcon,
2971
2979
  {
2972
2980
  icon: JustifyIcon2,
@@ -2979,12 +2987,11 @@ var getOptions = (parentStyleDirection) => [
2979
2987
  }
2980
2988
  ];
2981
2989
  var AlignSelfChild = ({ parentStyleDirection }) => {
2982
- const { isSiteRtl } = useDirection();
2983
- return /* @__PURE__ */ React43.createElement(DirectionProvider3, { rtl: isSiteRtl }, /* @__PURE__ */ React43.createElement(ThemeProvider3, null, /* @__PURE__ */ React43.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React43.createElement(Grid4, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(Grid4, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(ControlLabel, null, __18("Align self", "elementor"))), /* @__PURE__ */ React43.createElement(Grid4, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React43.createElement(ToggleControl3, { options: getOptions(parentStyleDirection) }))))));
2990
+ return /* @__PURE__ */ React44.createElement(UiProviders, null, /* @__PURE__ */ React44.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React44.createElement(Grid4, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(Grid4, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(ControlLabel, null, __18("Align self", "elementor"))), /* @__PURE__ */ React44.createElement(Grid4, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React44.createElement(ToggleControl3, { options: getOptions(parentStyleDirection) })))));
2984
2991
  };
2985
2992
 
2986
2993
  // src/components/style-sections/layout-section/display-field.tsx
2987
- import * as React44 from "react";
2994
+ import * as React45 from "react";
2988
2995
  import { ToggleControl as ToggleControl4 } from "@elementor/editor-controls";
2989
2996
  import { isExperimentActive as isExperimentActive7 } from "@elementor/editor-v1-adapters";
2990
2997
  import { Stack as Stack11 } from "@elementor/ui";
@@ -3027,15 +3034,15 @@ var DisplayField = () => {
3027
3034
  showTooltip: true
3028
3035
  });
3029
3036
  const placeholder = useDisplayPlaceholderValue();
3030
- return /* @__PURE__ */ React44.createElement(StylesField, { bind: "display", placeholder }, /* @__PURE__ */ React44.createElement(Stack11, { gap: 0.75 }, /* @__PURE__ */ React44.createElement(ControlLabel, null, __19("Display", "elementor")), /* @__PURE__ */ React44.createElement(ToggleControl4, { options: items3, maxItems: 4, fullWidth: true })));
3037
+ return /* @__PURE__ */ React45.createElement(StylesField, { bind: "display", placeholder }, /* @__PURE__ */ React45.createElement(Stack11, { gap: 0.75 }, /* @__PURE__ */ React45.createElement(ControlLabel, null, __19("Display", "elementor")), /* @__PURE__ */ React45.createElement(ToggleControl4, { options: items3, maxItems: 4, fullWidth: true })));
3031
3038
  };
3032
3039
  var useDisplayPlaceholderValue = () => useStylesInheritanceChain(["display"])[0]?.value ?? void 0;
3033
3040
 
3034
3041
  // src/components/style-sections/layout-section/flex-direction-field.tsx
3035
- import * as React45 from "react";
3042
+ import * as React46 from "react";
3036
3043
  import { ToggleControl as ToggleControl5 } from "@elementor/editor-controls";
3037
3044
  import { ArrowDownSmallIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpSmallIcon } from "@elementor/icons";
3038
- import { DirectionProvider as DirectionProvider4, Grid as Grid5, ThemeProvider as ThemeProvider4, withDirection as withDirection6 } from "@elementor/ui";
3045
+ import { Grid as Grid5, withDirection as withDirection6 } from "@elementor/ui";
3039
3046
  import { __ as __20 } from "@wordpress/i18n";
3040
3047
  var options3 = [
3041
3048
  {
@@ -3043,14 +3050,14 @@ var options3 = [
3043
3050
  label: __20("Row", "elementor"),
3044
3051
  renderContent: ({ size }) => {
3045
3052
  const StartIcon5 = withDirection6(ArrowRightIcon);
3046
- return /* @__PURE__ */ React45.createElement(StartIcon5, { fontSize: size });
3053
+ return /* @__PURE__ */ React46.createElement(StartIcon5, { fontSize: size });
3047
3054
  },
3048
3055
  showTooltip: true
3049
3056
  },
3050
3057
  {
3051
3058
  value: "column",
3052
3059
  label: __20("Column", "elementor"),
3053
- renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(ArrowDownSmallIcon, { fontSize: size }),
3060
+ renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(ArrowDownSmallIcon, { fontSize: size }),
3054
3061
  showTooltip: true
3055
3062
  },
3056
3063
  {
@@ -3058,28 +3065,27 @@ var options3 = [
3058
3065
  label: __20("Reversed row", "elementor"),
3059
3066
  renderContent: ({ size }) => {
3060
3067
  const EndIcon5 = withDirection6(ArrowLeftIcon);
3061
- return /* @__PURE__ */ React45.createElement(EndIcon5, { fontSize: size });
3068
+ return /* @__PURE__ */ React46.createElement(EndIcon5, { fontSize: size });
3062
3069
  },
3063
3070
  showTooltip: true
3064
3071
  },
3065
3072
  {
3066
3073
  value: "column-reverse",
3067
3074
  label: __20("Reversed column", "elementor"),
3068
- renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(ArrowUpSmallIcon, { fontSize: size }),
3075
+ renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(ArrowUpSmallIcon, { fontSize: size }),
3069
3076
  showTooltip: true
3070
3077
  }
3071
3078
  ];
3072
3079
  var FlexDirectionField = () => {
3073
- const { isSiteRtl } = useDirection();
3074
- return /* @__PURE__ */ React45.createElement(DirectionProvider4, { rtl: isSiteRtl }, /* @__PURE__ */ React45.createElement(ThemeProvider4, null, /* @__PURE__ */ React45.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React45.createElement(Grid5, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React45.createElement(Grid5, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(ControlLabel, null, __20("Direction", "elementor"))), /* @__PURE__ */ React45.createElement(Grid5, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React45.createElement(ToggleControl5, { options: options3 }))))));
3080
+ return /* @__PURE__ */ React46.createElement(UiProviders, null, /* @__PURE__ */ React46.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React46.createElement(Grid5, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(Grid5, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(ControlLabel, null, __20("Direction", "elementor"))), /* @__PURE__ */ React46.createElement(Grid5, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React46.createElement(ToggleControl5, { options: options3 })))));
3075
3081
  };
3076
3082
 
3077
3083
  // src/components/style-sections/layout-section/flex-order-field.tsx
3078
- import * as React46 from "react";
3084
+ import * as React47 from "react";
3079
3085
  import { useState as useState10 } from "react";
3080
3086
  import { ControlToggleButtonGroup, NumberControl } from "@elementor/editor-controls";
3081
3087
  import { ArrowDownSmallIcon as ArrowDownSmallIcon2, ArrowUpSmallIcon as ArrowUpSmallIcon2, PencilIcon } from "@elementor/icons";
3082
- import { DirectionProvider as DirectionProvider5, Grid as Grid6, ThemeProvider as ThemeProvider5 } from "@elementor/ui";
3088
+ import { Grid as Grid6 } from "@elementor/ui";
3083
3089
  import { __ as __21 } from "@wordpress/i18n";
3084
3090
  var FIRST_DEFAULT_VALUE = -99999;
3085
3091
  var LAST_DEFAULT_VALUE = 99999;
@@ -3094,24 +3100,23 @@ var items = [
3094
3100
  {
3095
3101
  value: FIRST,
3096
3102
  label: __21("First", "elementor"),
3097
- renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(ArrowUpSmallIcon2, { fontSize: size }),
3103
+ renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(ArrowUpSmallIcon2, { fontSize: size }),
3098
3104
  showTooltip: true
3099
3105
  },
3100
3106
  {
3101
3107
  value: LAST,
3102
3108
  label: __21("Last", "elementor"),
3103
- renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(ArrowDownSmallIcon2, { fontSize: size }),
3109
+ renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(ArrowDownSmallIcon2, { fontSize: size }),
3104
3110
  showTooltip: true
3105
3111
  },
3106
3112
  {
3107
3113
  value: CUSTOM,
3108
3114
  label: __21("Custom", "elementor"),
3109
- renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(PencilIcon, { fontSize: size }),
3115
+ renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(PencilIcon, { fontSize: size }),
3110
3116
  showTooltip: true
3111
3117
  }
3112
3118
  ];
3113
3119
  var FlexOrderField = () => {
3114
- const { isSiteRtl } = useDirection();
3115
3120
  const [order, setOrder] = useStylesField("order");
3116
3121
  const { canEdit } = useStyle();
3117
3122
  const [groupControlValue, setGroupControlValue] = useState10(getGroupControlValue(order?.value || null));
@@ -3123,7 +3128,7 @@ var FlexOrderField = () => {
3123
3128
  }
3124
3129
  setOrder({ $$type: "number", value: orderValueMap[group] });
3125
3130
  };
3126
- return /* @__PURE__ */ React46.createElement(DirectionProvider5, { rtl: isSiteRtl }, /* @__PURE__ */ React46.createElement(ThemeProvider5, null, /* @__PURE__ */ React46.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React46.createElement(SectionContent, null, /* @__PURE__ */ React46.createElement(Grid6, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(Grid6, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(ControlLabel, null, __21("Order", "elementor"))), /* @__PURE__ */ React46.createElement(Grid6, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React46.createElement(
3131
+ return /* @__PURE__ */ React47.createElement(UiProviders, null, /* @__PURE__ */ React47.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React47.createElement(SectionContent, null, /* @__PURE__ */ React47.createElement(Grid6, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(Grid6, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel, null, __21("Order", "elementor"))), /* @__PURE__ */ React47.createElement(Grid6, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React47.createElement(
3127
3132
  ControlToggleButtonGroup,
3128
3133
  {
3129
3134
  items,
@@ -3132,14 +3137,14 @@ var FlexOrderField = () => {
3132
3137
  exclusive: true,
3133
3138
  disabled: !canEdit
3134
3139
  }
3135
- ))), CUSTOM === groupControlValue && /* @__PURE__ */ React46.createElement(Grid6, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(Grid6, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(ControlLabel, null, __21("Custom order", "elementor"))), /* @__PURE__ */ React46.createElement(Grid6, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React46.createElement(
3140
+ ))), CUSTOM === groupControlValue && /* @__PURE__ */ React47.createElement(Grid6, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(Grid6, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel, null, __21("Custom order", "elementor"))), /* @__PURE__ */ React47.createElement(Grid6, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React47.createElement(
3136
3141
  NumberControl,
3137
3142
  {
3138
3143
  min: FIRST_DEFAULT_VALUE + 1,
3139
3144
  max: LAST_DEFAULT_VALUE - 1,
3140
3145
  shouldForceInt: true
3141
3146
  }
3142
- )))))));
3147
+ ))))));
3143
3148
  };
3144
3149
  var getGroupControlValue = (order) => {
3145
3150
  if (LAST_DEFAULT_VALUE === order) {
@@ -3152,8 +3157,8 @@ var getGroupControlValue = (order) => {
3152
3157
  };
3153
3158
 
3154
3159
  // src/components/style-sections/layout-section/flex-size-field.tsx
3155
- import * as React47 from "react";
3156
- import { useMemo as useMemo5, useState as useState11 } from "react";
3160
+ import * as React48 from "react";
3161
+ import { useMemo as useMemo5, useRef as useRef5, useState as useState11 } from "react";
3157
3162
  import {
3158
3163
  ControlToggleButtonGroup as ControlToggleButtonGroup2,
3159
3164
  NumberControl as NumberControl2,
@@ -3161,31 +3166,30 @@ import {
3161
3166
  } from "@elementor/editor-controls";
3162
3167
  import { numberPropTypeUtil } from "@elementor/editor-props";
3163
3168
  import { ExpandIcon, PencilIcon as PencilIcon2, ShrinkIcon } from "@elementor/icons";
3164
- import { DirectionProvider as DirectionProvider6, Grid as Grid7, ThemeProvider as ThemeProvider6 } from "@elementor/ui";
3169
+ import { Grid as Grid7 } from "@elementor/ui";
3165
3170
  import { __ as __22 } from "@wordpress/i18n";
3166
3171
  var DEFAULT = 1;
3167
3172
  var items2 = [
3168
3173
  {
3169
3174
  value: "flex-grow",
3170
3175
  label: __22("Grow", "elementor"),
3171
- renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(ExpandIcon, { fontSize: size }),
3176
+ renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(ExpandIcon, { fontSize: size }),
3172
3177
  showTooltip: true
3173
3178
  },
3174
3179
  {
3175
3180
  value: "flex-shrink",
3176
3181
  label: __22("Shrink", "elementor"),
3177
- renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(ShrinkIcon, { fontSize: size }),
3182
+ renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(ShrinkIcon, { fontSize: size }),
3178
3183
  showTooltip: true
3179
3184
  },
3180
3185
  {
3181
3186
  value: "custom",
3182
3187
  label: __22("Custom", "elementor"),
3183
- renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(PencilIcon2, { fontSize: size }),
3188
+ renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(PencilIcon2, { fontSize: size }),
3184
3189
  showTooltip: true
3185
3190
  }
3186
3191
  ];
3187
3192
  var FlexSizeField = () => {
3188
- const { isSiteRtl } = useDirection();
3189
3193
  const { canEdit } = useStyle();
3190
3194
  const [fields, setFields] = useStylesFields(["flex-grow", "flex-shrink", "flex-basis"]);
3191
3195
  const grow = fields?.["flex-grow"]?.value || null;
@@ -3216,7 +3220,7 @@ var FlexSizeField = () => {
3216
3220
  "flex-shrink": numberPropTypeUtil.create(DEFAULT)
3217
3221
  });
3218
3222
  };
3219
- return /* @__PURE__ */ React47.createElement(DirectionProvider6, { rtl: isSiteRtl }, /* @__PURE__ */ React47.createElement(ThemeProvider6, null, /* @__PURE__ */ React47.createElement(SectionContent, null, /* @__PURE__ */ React47.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(StylesField, { bind: activeGroup ?? "" }, /* @__PURE__ */ React47.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel, null, __22("Size", "elementor"))), /* @__PURE__ */ React47.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React47.createElement(
3223
+ return /* @__PURE__ */ React48.createElement(UiProviders, null, /* @__PURE__ */ React48.createElement(SectionContent, null, /* @__PURE__ */ React48.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(StylesField, { bind: activeGroup ?? "" }, /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(ControlLabel, null, __22("Size", "elementor"))), /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React48.createElement(
3220
3224
  ControlToggleButtonGroup2,
3221
3225
  {
3222
3226
  value: activeGroup,
@@ -3225,9 +3229,12 @@ var FlexSizeField = () => {
3225
3229
  items: items2,
3226
3230
  exclusive: true
3227
3231
  }
3228
- )))), "custom" === activeGroup && /* @__PURE__ */ React47.createElement(FlexCustomField, null))));
3232
+ )))), "custom" === activeGroup && /* @__PURE__ */ React48.createElement(FlexCustomField, null)));
3233
+ };
3234
+ var FlexCustomField = () => {
3235
+ const flexBasisRowRef = useRef5();
3236
+ return /* @__PURE__ */ React48.createElement(React48.Fragment, null, /* @__PURE__ */ React48.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React48.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(ControlLabel, null, __22("Grow", "elementor"))), /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React48.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React48.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React48.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(ControlLabel, null, __22("Shrink", "elementor"))), /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React48.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React48.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React48.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: flexBasisRowRef }, /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(ControlLabel, null, __22("Basis", "elementor"))), /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React48.createElement(SizeControl2, { extendedOptions: ["auto"], anchorRef: flexBasisRowRef })))));
3229
3237
  };
3230
- var FlexCustomField = () => /* @__PURE__ */ React47.createElement(React47.Fragment, null, /* @__PURE__ */ React47.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React47.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel, null, __22("Grow", "elementor"))), /* @__PURE__ */ React47.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React47.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React47.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React47.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel, null, __22("Shrink", "elementor"))), /* @__PURE__ */ React47.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React47.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React47.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React47.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel, null, __22("Basis", "elementor"))), /* @__PURE__ */ React47.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React47.createElement(SizeControl2, { extendedValues: ["auto"] })))));
3231
3238
  var getActiveGroup = ({
3232
3239
  grow,
3233
3240
  shrink,
@@ -3249,16 +3256,16 @@ var getActiveGroup = ({
3249
3256
  };
3250
3257
 
3251
3258
  // src/components/style-sections/layout-section/gap-control-field.tsx
3252
- import * as React48 from "react";
3259
+ import * as React49 from "react";
3253
3260
  import { GapControl } from "@elementor/editor-controls";
3254
3261
  import { Stack as Stack12 } from "@elementor/ui";
3255
3262
  import { __ as __23 } from "@wordpress/i18n";
3256
3263
  var GapControlField = () => {
3257
- return /* @__PURE__ */ React48.createElement(Stack12, { gap: 1 }, /* @__PURE__ */ React48.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React48.createElement(GapControl, { label: __23("Gaps", "elementor") })));
3264
+ return /* @__PURE__ */ React49.createElement(Stack12, { gap: 1 }, /* @__PURE__ */ React49.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React49.createElement(GapControl, { label: __23("Gaps", "elementor") })));
3258
3265
  };
3259
3266
 
3260
3267
  // src/components/style-sections/layout-section/justify-content-field.tsx
3261
- import * as React49 from "react";
3268
+ import * as React50 from "react";
3262
3269
  import { ToggleControl as ToggleControl6 } from "@elementor/editor-controls";
3263
3270
  import {
3264
3271
  JustifyBottomIcon as JustifyBottomIcon2,
@@ -3268,7 +3275,7 @@ import {
3268
3275
  JustifySpaceBetweenVerticalIcon as BetweenIcon2,
3269
3276
  JustifyTopIcon as JustifyTopIcon2
3270
3277
  } from "@elementor/icons";
3271
- import { DirectionProvider as DirectionProvider7, Stack as Stack13, ThemeProvider as ThemeProvider7, withDirection as withDirection7 } from "@elementor/ui";
3278
+ import { Stack as Stack13, withDirection as withDirection7 } from "@elementor/ui";
3272
3279
  import { __ as __24 } from "@wordpress/i18n";
3273
3280
  var StartIcon4 = withDirection7(JustifyTopIcon2);
3274
3281
  var EndIcon4 = withDirection7(JustifyBottomIcon2);
@@ -3280,74 +3287,72 @@ var options4 = [
3280
3287
  {
3281
3288
  value: "flex-start",
3282
3289
  label: __24("Start", "elementor"),
3283
- renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(RotatedIcon, { icon: StartIcon4, size, ...iconProps4 }),
3290
+ renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(RotatedIcon, { icon: StartIcon4, size, ...iconProps4 }),
3284
3291
  showTooltip: true
3285
3292
  },
3286
3293
  {
3287
3294
  value: "center",
3288
3295
  label: __24("Center", "elementor"),
3289
- renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(RotatedIcon, { icon: CenterIcon4, size, ...iconProps4 }),
3296
+ renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(RotatedIcon, { icon: CenterIcon4, size, ...iconProps4 }),
3290
3297
  showTooltip: true
3291
3298
  },
3292
3299
  {
3293
3300
  value: "flex-end",
3294
3301
  label: __24("End", "elementor"),
3295
- renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(RotatedIcon, { icon: EndIcon4, size, ...iconProps4 }),
3302
+ renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(RotatedIcon, { icon: EndIcon4, size, ...iconProps4 }),
3296
3303
  showTooltip: true
3297
3304
  },
3298
3305
  {
3299
3306
  value: "space-between",
3300
3307
  label: __24("Space between", "elementor"),
3301
- renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(RotatedIcon, { icon: BetweenIcon2, size, ...iconProps4 }),
3308
+ renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(RotatedIcon, { icon: BetweenIcon2, size, ...iconProps4 }),
3302
3309
  showTooltip: true
3303
3310
  },
3304
3311
  {
3305
3312
  value: "space-around",
3306
3313
  label: __24("Space around", "elementor"),
3307
- renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(RotatedIcon, { icon: AroundIcon2, size, ...iconProps4 }),
3314
+ renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(RotatedIcon, { icon: AroundIcon2, size, ...iconProps4 }),
3308
3315
  showTooltip: true
3309
3316
  },
3310
3317
  {
3311
3318
  value: "space-evenly",
3312
3319
  label: __24("Space evenly", "elementor"),
3313
- renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(RotatedIcon, { icon: EvenlyIcon2, size, ...iconProps4 }),
3320
+ renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(RotatedIcon, { icon: EvenlyIcon2, size, ...iconProps4 }),
3314
3321
  showTooltip: true
3315
3322
  }
3316
3323
  ];
3317
3324
  var JustifyContentField = () => {
3318
- const { isSiteRtl } = useDirection();
3319
- return /* @__PURE__ */ React49.createElement(DirectionProvider7, { rtl: isSiteRtl }, /* @__PURE__ */ React49.createElement(ThemeProvider7, null, /* @__PURE__ */ React49.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React49.createElement(Stack13, { gap: 0.75 }, /* @__PURE__ */ React49.createElement(ControlLabel, null, __24("Justify content", "elementor")), /* @__PURE__ */ React49.createElement(ToggleControl6, { options: options4, fullWidth: true })))));
3325
+ return /* @__PURE__ */ React50.createElement(UiProviders, null, /* @__PURE__ */ React50.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React50.createElement(Stack13, { gap: 0.75 }, /* @__PURE__ */ React50.createElement(ControlLabel, null, __24("Justify content", "elementor")), /* @__PURE__ */ React50.createElement(ToggleControl6, { options: options4, fullWidth: true }))));
3320
3326
  };
3321
3327
 
3322
3328
  // src/components/style-sections/layout-section/wrap-field.tsx
3323
- import * as React50 from "react";
3329
+ import * as React51 from "react";
3324
3330
  import { ToggleControl as ToggleControl7 } from "@elementor/editor-controls";
3325
3331
  import { ArrowBackIcon, ArrowForwardIcon, ArrowRightIcon as ArrowRightIcon2 } from "@elementor/icons";
3326
- import { DirectionProvider as DirectionProvider8, Grid as Grid8, ThemeProvider as ThemeProvider8 } from "@elementor/ui";
3332
+ import { Grid as Grid8 } from "@elementor/ui";
3327
3333
  import { __ as __25 } from "@wordpress/i18n";
3328
3334
  var options5 = [
3329
3335
  {
3330
3336
  value: "nowrap",
3331
3337
  label: __25("No wrap", "elementor"),
3332
- renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(ArrowRightIcon2, { fontSize: size }),
3338
+ renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(ArrowRightIcon2, { fontSize: size }),
3333
3339
  showTooltip: true
3334
3340
  },
3335
3341
  {
3336
3342
  value: "wrap",
3337
3343
  label: __25("Wrap", "elementor"),
3338
- renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(ArrowBackIcon, { fontSize: size }),
3344
+ renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(ArrowBackIcon, { fontSize: size }),
3339
3345
  showTooltip: true
3340
3346
  },
3341
3347
  {
3342
3348
  value: "wrap-reverse",
3343
3349
  label: __25("Reversed wrap", "elementor"),
3344
- renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(ArrowForwardIcon, { fontSize: size }),
3350
+ renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(ArrowForwardIcon, { fontSize: size }),
3345
3351
  showTooltip: true
3346
3352
  }
3347
3353
  ];
3348
3354
  var WrapField = () => {
3349
- const { isSiteRtl } = useDirection();
3350
- return /* @__PURE__ */ React50.createElement(DirectionProvider8, { rtl: isSiteRtl }, /* @__PURE__ */ React50.createElement(ThemeProvider8, null, /* @__PURE__ */ React50.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React50.createElement(Grid8, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React50.createElement(Grid8, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(ControlLabel, null, __25("Wrap", "elementor"))), /* @__PURE__ */ React50.createElement(Grid8, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React50.createElement(ToggleControl7, { options: options5 }))))));
3355
+ return /* @__PURE__ */ React51.createElement(UiProviders, null, /* @__PURE__ */ React51.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React51.createElement(Grid8, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React51.createElement(Grid8, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(ControlLabel, null, __25("Wrap", "elementor"))), /* @__PURE__ */ React51.createElement(Grid8, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React51.createElement(ToggleControl7, { options: options5 })))));
3351
3356
  };
3352
3357
 
3353
3358
  // src/components/style-sections/layout-section/layout-section.tsx
@@ -3359,13 +3364,13 @@ var LayoutSection = () => {
3359
3364
  const parent = useParentElement(element.id);
3360
3365
  const parentStyle = useComputedStyle(parent?.id || null);
3361
3366
  const parentStyleDirection = parentStyle?.flexDirection ?? "row";
3362
- return /* @__PURE__ */ React51.createElement(SectionContent, null, /* @__PURE__ */ React51.createElement(DisplayField, null), isDisplayFlex && /* @__PURE__ */ React51.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React51.createElement(FlexChildFields, { parentStyleDirection }));
3367
+ return /* @__PURE__ */ React52.createElement(SectionContent, null, /* @__PURE__ */ React52.createElement(DisplayField, null), isDisplayFlex && /* @__PURE__ */ React52.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React52.createElement(FlexChildFields, { parentStyleDirection }));
3363
3368
  };
3364
3369
  var FlexFields = () => {
3365
3370
  const [flexWrap] = useStylesField("flex-wrap");
3366
- return /* @__PURE__ */ React51.createElement(React51.Fragment, null, /* @__PURE__ */ React51.createElement(FlexDirectionField, null), /* @__PURE__ */ React51.createElement(JustifyContentField, null), /* @__PURE__ */ React51.createElement(AlignItemsField, null), /* @__PURE__ */ React51.createElement(PanelDivider, null), /* @__PURE__ */ React51.createElement(GapControlField, null), /* @__PURE__ */ React51.createElement(WrapField, null), ["wrap", "wrap-reverse"].includes(flexWrap?.value) && /* @__PURE__ */ React51.createElement(AlignContentField, null));
3371
+ return /* @__PURE__ */ React52.createElement(React52.Fragment, null, /* @__PURE__ */ React52.createElement(FlexDirectionField, null), /* @__PURE__ */ React52.createElement(JustifyContentField, null), /* @__PURE__ */ React52.createElement(AlignItemsField, null), /* @__PURE__ */ React52.createElement(PanelDivider, null), /* @__PURE__ */ React52.createElement(GapControlField, null), /* @__PURE__ */ React52.createElement(WrapField, null), ["wrap", "wrap-reverse"].includes(flexWrap?.value) && /* @__PURE__ */ React52.createElement(AlignContentField, null));
3367
3372
  };
3368
- var FlexChildFields = ({ parentStyleDirection }) => /* @__PURE__ */ React51.createElement(React51.Fragment, null, /* @__PURE__ */ React51.createElement(PanelDivider, null), /* @__PURE__ */ React51.createElement(ControlFormLabel4, null, __26("Flex child", "elementor")), /* @__PURE__ */ React51.createElement(AlignSelfChild, { parentStyleDirection }), /* @__PURE__ */ React51.createElement(FlexOrderField, null), /* @__PURE__ */ React51.createElement(FlexSizeField, null));
3373
+ var FlexChildFields = ({ parentStyleDirection }) => /* @__PURE__ */ React52.createElement(React52.Fragment, null, /* @__PURE__ */ React52.createElement(PanelDivider, null), /* @__PURE__ */ React52.createElement(ControlFormLabel4, null, __26("Flex child", "elementor")), /* @__PURE__ */ React52.createElement(AlignSelfChild, { parentStyleDirection }), /* @__PURE__ */ React52.createElement(FlexOrderField, null), /* @__PURE__ */ React52.createElement(FlexSizeField, null));
3369
3374
  var shouldDisplayFlexFields = (display, local) => {
3370
3375
  const value = display?.value ?? local?.value;
3371
3376
  if (!value) {
@@ -3375,12 +3380,13 @@ var shouldDisplayFlexFields = (display, local) => {
3375
3380
  };
3376
3381
 
3377
3382
  // src/components/style-sections/position-section/position-section.tsx
3378
- import * as React56 from "react";
3383
+ import * as React57 from "react";
3379
3384
  import { isExperimentActive as isExperimentActive8 } from "@elementor/editor-v1-adapters";
3380
3385
  import { useSessionStorage } from "@elementor/session";
3381
3386
 
3382
3387
  // src/components/style-sections/position-section/dimensions-field.tsx
3383
- import * as React52 from "react";
3388
+ import * as React53 from "react";
3389
+ import { useRef as useRef6 } from "react";
3384
3390
  import { SizeControl as SizeControl3 } from "@elementor/editor-controls";
3385
3391
  import { SideBottomIcon as SideBottomIcon2, SideLeftIcon as SideLeftIcon2, SideRightIcon as SideRightIcon2, SideTopIcon as SideTopIcon2 } from "@elementor/icons";
3386
3392
  import { Grid as Grid9, Stack as Stack14, withDirection as withDirection8 } from "@elementor/ui";
@@ -3388,32 +3394,51 @@ import { __ as __27 } from "@wordpress/i18n";
3388
3394
  var InlineStartIcon2 = withDirection8(SideLeftIcon2);
3389
3395
  var InlineEndIcon2 = withDirection8(SideRightIcon2);
3390
3396
  var sideIcons = {
3391
- "inset-block-start": /* @__PURE__ */ React52.createElement(SideTopIcon2, { fontSize: "tiny" }),
3392
- "inset-block-end": /* @__PURE__ */ React52.createElement(SideBottomIcon2, { fontSize: "tiny" }),
3393
- "inset-inline-start": /* @__PURE__ */ React52.createElement(RotatedIcon, { icon: InlineStartIcon2, size: "tiny" }),
3394
- "inset-inline-end": /* @__PURE__ */ React52.createElement(RotatedIcon, { icon: InlineEndIcon2, size: "tiny" })
3397
+ "inset-block-start": /* @__PURE__ */ React53.createElement(SideTopIcon2, { fontSize: "tiny" }),
3398
+ "inset-block-end": /* @__PURE__ */ React53.createElement(SideBottomIcon2, { fontSize: "tiny" }),
3399
+ "inset-inline-start": /* @__PURE__ */ React53.createElement(RotatedIcon, { icon: InlineStartIcon2, size: "tiny" }),
3400
+ "inset-inline-end": /* @__PURE__ */ React53.createElement(RotatedIcon, { icon: InlineEndIcon2, size: "tiny" })
3395
3401
  };
3396
3402
  var getInlineStartLabel = (isSiteRtl) => isSiteRtl ? __27("Right", "elementor") : __27("Left", "elementor");
3397
3403
  var getInlineEndLabel = (isSiteRtl) => isSiteRtl ? __27("Left", "elementor") : __27("Right", "elementor");
3398
3404
  var DimensionsField = () => {
3399
3405
  const { isSiteRtl } = useDirection();
3400
- return /* @__PURE__ */ React52.createElement(React52.Fragment, null, /* @__PURE__ */ React52.createElement(Stack14, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(DimensionField, { side: "inset-block-start", label: __27("Top", "elementor") }), /* @__PURE__ */ React52.createElement(DimensionField, { side: "inset-inline-end", label: getInlineEndLabel(isSiteRtl) })), /* @__PURE__ */ React52.createElement(Stack14, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(DimensionField, { side: "inset-block-end", label: __27("Bottom", "elementor") }), /* @__PURE__ */ React52.createElement(DimensionField, { side: "inset-inline-start", label: getInlineStartLabel(isSiteRtl) })));
3401
- };
3402
- var DimensionField = ({ side, label }) => {
3403
- return /* @__PURE__ */ React52.createElement(StylesField, { bind: side }, /* @__PURE__ */ React52.createElement(Grid9, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React52.createElement(Grid9, { item: true, xs: 12 }, /* @__PURE__ */ React52.createElement(ControlLabel, null, label)), /* @__PURE__ */ React52.createElement(Grid9, { item: true, xs: 12 }, /* @__PURE__ */ React52.createElement(SizeControl3, { startIcon: sideIcons[side], extendedValues: ["auto"] }))));
3406
+ const rowRefs = [useRef6(), useRef6()];
3407
+ return /* @__PURE__ */ React53.createElement(UiProviders, null, /* @__PURE__ */ React53.createElement(Stack14, { direction: "row", gap: 2, flexWrap: "nowrap", ref: rowRefs[0] }, /* @__PURE__ */ React53.createElement(DimensionField, { side: "inset-block-start", label: __27("Top", "elementor"), rowRef: rowRefs[0] }), /* @__PURE__ */ React53.createElement(
3408
+ DimensionField,
3409
+ {
3410
+ side: "inset-inline-end",
3411
+ label: getInlineEndLabel(isSiteRtl),
3412
+ rowRef: rowRefs[0]
3413
+ }
3414
+ )), /* @__PURE__ */ React53.createElement(Stack14, { direction: "row", gap: 2, flexWrap: "nowrap", ref: rowRefs[1] }, /* @__PURE__ */ React53.createElement(DimensionField, { side: "inset-block-end", label: __27("Bottom", "elementor"), rowRef: rowRefs[1] }), /* @__PURE__ */ React53.createElement(
3415
+ DimensionField,
3416
+ {
3417
+ side: "inset-inline-start",
3418
+ label: getInlineStartLabel(isSiteRtl),
3419
+ rowRef: rowRefs[1]
3420
+ }
3421
+ )));
3404
3422
  };
3423
+ var DimensionField = ({
3424
+ side,
3425
+ label,
3426
+ rowRef
3427
+ }) => /* @__PURE__ */ React53.createElement(StylesField, { bind: side }, /* @__PURE__ */ React53.createElement(Grid9, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React53.createElement(Grid9, { item: true, xs: 12 }, /* @__PURE__ */ React53.createElement(ControlLabel, null, label)), /* @__PURE__ */ React53.createElement(Grid9, { item: true, xs: 12 }, /* @__PURE__ */ React53.createElement(SizeControl3, { startIcon: sideIcons[side], extendedOptions: ["auto"], anchorRef: rowRef }))));
3405
3428
 
3406
3429
  // src/components/style-sections/position-section/offset-field.tsx
3407
- import * as React53 from "react";
3430
+ import * as React54 from "react";
3431
+ import { useRef as useRef7 } from "react";
3408
3432
  import { SizeControl as SizeControl4 } from "@elementor/editor-controls";
3409
3433
  import { Grid as Grid10 } from "@elementor/ui";
3410
3434
  import { __ as __28 } from "@wordpress/i18n";
3411
3435
  var OffsetField = () => {
3412
- return /* @__PURE__ */ React53.createElement(StylesField, { bind: "scroll-margin-top" }, /* @__PURE__ */ React53.createElement(Grid10, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React53.createElement(Grid10, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(ControlLabel, null, __28("Anchor offset", "elementor"))), /* @__PURE__ */ React53.createElement(Grid10, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(SizeControl4, { units: ["px", "em", "rem", "vw", "vh"] }))));
3436
+ const rowRef = useRef7();
3437
+ return /* @__PURE__ */ React54.createElement(StylesField, { bind: "scroll-margin-top" }, /* @__PURE__ */ React54.createElement(Grid10, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React54.createElement(Grid10, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(ControlLabel, null, __28("Anchor offset", "elementor"))), /* @__PURE__ */ React54.createElement(Grid10, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(SizeControl4, { units: ["px", "em", "rem", "vw", "vh"], anchorRef: rowRef }))));
3413
3438
  };
3414
3439
 
3415
3440
  // src/components/style-sections/position-section/position-field.tsx
3416
- import * as React54 from "react";
3441
+ import * as React55 from "react";
3417
3442
  import { SelectControl as SelectControl3 } from "@elementor/editor-controls";
3418
3443
  import { Grid as Grid11 } from "@elementor/ui";
3419
3444
  import { __ as __29 } from "@wordpress/i18n";
@@ -3425,16 +3450,16 @@ var positionOptions = [
3425
3450
  { label: __29("Sticky", "elementor"), value: "sticky" }
3426
3451
  ];
3427
3452
  var PositionField = ({ onChange }) => {
3428
- return /* @__PURE__ */ React54.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React54.createElement(Grid11, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React54.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(ControlLabel, null, __29("Position", "elementor"))), /* @__PURE__ */ React54.createElement(Grid11, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React54.createElement(SelectControl3, { options: positionOptions, onChange }))));
3453
+ return /* @__PURE__ */ React55.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React55.createElement(Grid11, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(ControlLabel, null, __29("Position", "elementor"))), /* @__PURE__ */ React55.createElement(Grid11, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React55.createElement(SelectControl3, { options: positionOptions, onChange }))));
3429
3454
  };
3430
3455
 
3431
3456
  // src/components/style-sections/position-section/z-index-field.tsx
3432
- import * as React55 from "react";
3457
+ import * as React56 from "react";
3433
3458
  import { NumberControl as NumberControl3 } from "@elementor/editor-controls";
3434
3459
  import { Grid as Grid12 } from "@elementor/ui";
3435
3460
  import { __ as __30 } from "@wordpress/i18n";
3436
3461
  var ZIndexField = () => {
3437
- return /* @__PURE__ */ React55.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React55.createElement(Grid12, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(Grid12, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(ControlLabel, null, __30("Z-index", "elementor"))), /* @__PURE__ */ React55.createElement(Grid12, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(NumberControl3, null))));
3462
+ return /* @__PURE__ */ React56.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React56.createElement(Grid12, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React56.createElement(Grid12, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(ControlLabel, null, __30("Z-index", "elementor"))), /* @__PURE__ */ React56.createElement(Grid12, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(NumberControl3, null))));
3438
3463
  };
3439
3464
 
3440
3465
  // src/components/style-sections/position-section/position-section.tsx
@@ -3467,7 +3492,7 @@ var PositionSection = () => {
3467
3492
  }
3468
3493
  };
3469
3494
  const isNotStatic = positionValue && positionValue?.value !== "static";
3470
- return /* @__PURE__ */ React56.createElement(SectionContent, null, /* @__PURE__ */ React56.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React56.createElement(React56.Fragment, null, /* @__PURE__ */ React56.createElement(DimensionsField, null), /* @__PURE__ */ React56.createElement(ZIndexField, null)) : null, isCssIdFeatureActive && /* @__PURE__ */ React56.createElement(React56.Fragment, null, /* @__PURE__ */ React56.createElement(PanelDivider, null), /* @__PURE__ */ React56.createElement(OffsetField, null)));
3495
+ return /* @__PURE__ */ React57.createElement(SectionContent, null, /* @__PURE__ */ React57.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React57.createElement(React57.Fragment, null, /* @__PURE__ */ React57.createElement(DimensionsField, null), /* @__PURE__ */ React57.createElement(ZIndexField, null)) : null, isCssIdFeatureActive && /* @__PURE__ */ React57.createElement(React57.Fragment, null, /* @__PURE__ */ React57.createElement(PanelDivider, null), /* @__PURE__ */ React57.createElement(OffsetField, null)));
3471
3496
  };
3472
3497
  var usePersistDimensions = () => {
3473
3498
  const { id: styleDefID, meta } = useStyle();
@@ -3477,18 +3502,19 @@ var usePersistDimensions = () => {
3477
3502
  };
3478
3503
 
3479
3504
  // src/components/style-sections/size-section/size-section.tsx
3480
- import * as React62 from "react";
3505
+ import * as React63 from "react";
3506
+ import { useRef as useRef8 } from "react";
3481
3507
  import { AspectRatioControl, SizeControl as SizeControl5 } from "@elementor/editor-controls";
3482
3508
  import { isExperimentActive as isExperimentActive10 } from "@elementor/editor-v1-adapters";
3483
3509
  import { Grid as Grid16, Stack as Stack16 } from "@elementor/ui";
3484
3510
  import { __ as __35 } from "@wordpress/i18n";
3485
3511
 
3486
3512
  // src/components/style-tab-collapsible-content.tsx
3487
- import * as React58 from "react";
3513
+ import * as React59 from "react";
3488
3514
  import { isExperimentActive as isExperimentActive9 } from "@elementor/editor-v1-adapters";
3489
3515
 
3490
3516
  // src/styles-inheritance/components/styles-inheritance-section-indicators.tsx
3491
- import * as React57 from "react";
3517
+ import * as React58 from "react";
3492
3518
  import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as ELEMENTS_BASE_STYLES_PROVIDER_KEY4, isElementsStylesProvider as isElementsStylesProvider4 } from "@elementor/editor-styles-repository";
3493
3519
  import { Stack as Stack15, Tooltip as Tooltip7 } from "@elementor/ui";
3494
3520
  import { __ as __31 } from "@wordpress/i18n";
@@ -3505,8 +3531,8 @@ var StylesInheritanceSectionIndicators = ({ fields }) => {
3505
3531
  }
3506
3532
  const hasActualValues = __31("Has effective styles", "elementor");
3507
3533
  const hasOverriddenValues = __31("Has overridden styles", "elementor");
3508
- return /* @__PURE__ */ React57.createElement(Tooltip7, { title: __31("Has styles", "elementor"), placement: "top" }, /* @__PURE__ */ React57.createElement(Stack15, { direction: "row", sx: { "& > *": { marginInlineStart: -0.25 } }, role: "list" }, orderedVariants.map(
3509
- (variant) => indicators[variant] && /* @__PURE__ */ React57.createElement(
3534
+ return /* @__PURE__ */ React58.createElement(Tooltip7, { title: __31("Has styles", "elementor"), placement: "top" }, /* @__PURE__ */ React58.createElement(Stack15, { direction: "row", sx: { "& > *": { marginInlineStart: -0.25 } }, role: "list" }, orderedVariants.map(
3535
+ (variant) => indicators[variant] && /* @__PURE__ */ React58.createElement(
3510
3536
  StyleIndicator,
3511
3537
  {
3512
3538
  key: variant,
@@ -3554,18 +3580,18 @@ function getCurrentStyleFromChain(chain, styleId, meta) {
3554
3580
 
3555
3581
  // src/components/style-tab-collapsible-content.tsx
3556
3582
  var StyleTabCollapsibleContent = ({ fields = [], children }) => {
3557
- return /* @__PURE__ */ React58.createElement(CollapsibleContent, { titleEnd: getStylesInheritanceIndicators(fields) }, children);
3583
+ return /* @__PURE__ */ React59.createElement(CollapsibleContent, { titleEnd: getStylesInheritanceIndicators(fields) }, children);
3558
3584
  };
3559
3585
  function getStylesInheritanceIndicators(fields) {
3560
3586
  const isUsingFieldsIndicators = isExperimentActive9(EXPERIMENTAL_FEATURES.V_3_30);
3561
3587
  if (fields.length === 0 || !isUsingFieldsIndicators) {
3562
3588
  return null;
3563
3589
  }
3564
- return (isOpen) => !isOpen ? /* @__PURE__ */ React58.createElement(StylesInheritanceSectionIndicators, { fields }) : null;
3590
+ return (isOpen) => !isOpen ? /* @__PURE__ */ React59.createElement(StylesInheritanceSectionIndicators, { fields }) : null;
3565
3591
  }
3566
3592
 
3567
3593
  // src/components/style-sections/size-section/object-fit-field.tsx
3568
- import * as React59 from "react";
3594
+ import * as React60 from "react";
3569
3595
  import { SelectControl as SelectControl4 } from "@elementor/editor-controls";
3570
3596
  import { Grid as Grid13 } from "@elementor/ui";
3571
3597
  import { __ as __32 } from "@wordpress/i18n";
@@ -3577,11 +3603,11 @@ var positionOptions2 = [
3577
3603
  { label: __32("Scale down", "elementor"), value: "scale-down" }
3578
3604
  ];
3579
3605
  var ObjectFitField = () => {
3580
- return /* @__PURE__ */ React59.createElement(StylesField, { bind: "object-fit" }, /* @__PURE__ */ React59.createElement(Grid13, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React59.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React59.createElement(ControlLabel, null, __32("Object fit", "elementor"))), /* @__PURE__ */ React59.createElement(Grid13, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React59.createElement(SelectControl4, { options: positionOptions2 }))));
3606
+ return /* @__PURE__ */ React60.createElement(StylesField, { bind: "object-fit" }, /* @__PURE__ */ React60.createElement(Grid13, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React60.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(ControlLabel, null, __32("Object fit", "elementor"))), /* @__PURE__ */ React60.createElement(Grid13, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React60.createElement(SelectControl4, { options: positionOptions2 }))));
3581
3607
  };
3582
3608
 
3583
3609
  // src/components/style-sections/size-section/object-position-field.tsx
3584
- import * as React60 from "react";
3610
+ import * as React61 from "react";
3585
3611
  import { SelectControl as SelectControl5 } from "@elementor/editor-controls";
3586
3612
  import { Grid as Grid14 } from "@elementor/ui";
3587
3613
  import { __ as __33 } from "@wordpress/i18n";
@@ -3597,11 +3623,11 @@ var positionOptions3 = [
3597
3623
  { label: __33("Bottom right", "elementor"), value: "bottom right" }
3598
3624
  ];
3599
3625
  var ObjectPositionField = () => {
3600
- return /* @__PURE__ */ React60.createElement(StylesField, { bind: "object-position" }, /* @__PURE__ */ React60.createElement(Grid14, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React60.createElement(Grid14, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(ControlLabel, null, __33("Object position", "elementor"))), /* @__PURE__ */ React60.createElement(Grid14, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React60.createElement(SelectControl5, { options: positionOptions3 }))));
3626
+ return /* @__PURE__ */ React61.createElement(StylesField, { bind: "object-position" }, /* @__PURE__ */ React61.createElement(Grid14, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React61.createElement(Grid14, { item: true, xs: 6 }, /* @__PURE__ */ React61.createElement(ControlLabel, null, __33("Object position", "elementor"))), /* @__PURE__ */ React61.createElement(Grid14, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React61.createElement(SelectControl5, { options: positionOptions3 }))));
3601
3627
  };
3602
3628
 
3603
3629
  // src/components/style-sections/size-section/overflow-field.tsx
3604
- import * as React61 from "react";
3630
+ import * as React62 from "react";
3605
3631
  import { ToggleControl as ToggleControl8 } from "@elementor/editor-controls";
3606
3632
  import { EyeIcon, EyeOffIcon, LetterAIcon } from "@elementor/icons";
3607
3633
  import { Grid as Grid15 } from "@elementor/ui";
@@ -3610,91 +3636,113 @@ var options6 = [
3610
3636
  {
3611
3637
  value: "visible",
3612
3638
  label: __34("Visible", "elementor"),
3613
- renderContent: ({ size }) => /* @__PURE__ */ React61.createElement(EyeIcon, { fontSize: size }),
3639
+ renderContent: ({ size }) => /* @__PURE__ */ React62.createElement(EyeIcon, { fontSize: size }),
3614
3640
  showTooltip: true
3615
3641
  },
3616
3642
  {
3617
3643
  value: "hidden",
3618
3644
  label: __34("Hidden", "elementor"),
3619
- renderContent: ({ size }) => /* @__PURE__ */ React61.createElement(EyeOffIcon, { fontSize: size }),
3645
+ renderContent: ({ size }) => /* @__PURE__ */ React62.createElement(EyeOffIcon, { fontSize: size }),
3620
3646
  showTooltip: true
3621
3647
  },
3622
3648
  {
3623
3649
  value: "auto",
3624
3650
  label: __34("Auto", "elementor"),
3625
- renderContent: ({ size }) => /* @__PURE__ */ React61.createElement(LetterAIcon, { fontSize: size }),
3651
+ renderContent: ({ size }) => /* @__PURE__ */ React62.createElement(LetterAIcon, { fontSize: size }),
3626
3652
  showTooltip: true
3627
3653
  }
3628
3654
  ];
3629
3655
  var OverflowField = () => {
3630
- return /* @__PURE__ */ React61.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React61.createElement(Grid15, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React61.createElement(Grid15, { item: true, xs: 6 }, /* @__PURE__ */ React61.createElement(ControlLabel, null, __34("Overflow", "elementor"))), /* @__PURE__ */ React61.createElement(Grid15, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React61.createElement(ToggleControl8, { options: options6 }))));
3656
+ return /* @__PURE__ */ React62.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React62.createElement(Grid15, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React62.createElement(Grid15, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(ControlLabel, null, __34("Overflow", "elementor"))), /* @__PURE__ */ React62.createElement(Grid15, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React62.createElement(ToggleControl8, { options: options6 }))));
3631
3657
  };
3632
3658
 
3633
3659
  // src/components/style-sections/size-section/size-section.tsx
3634
- var SizeSection = () => {
3635
- const [fitValue] = useStylesField("object-fit");
3636
- const isNotFill = fitValue && fitValue?.value !== "fill";
3637
- const isVersion330Active = isExperimentActive10("e_v_3_30");
3638
- return /* @__PURE__ */ React62.createElement(SectionContent, null, /* @__PURE__ */ React62.createElement(Grid16, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React62.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(SizeField, { bind: "width", label: __35("Width", "elementor"), extendedValues: ["auto"] })), /* @__PURE__ */ React62.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(SizeField, { bind: "height", label: __35("Height", "elementor"), extendedValues: ["auto"] }))), /* @__PURE__ */ React62.createElement(Grid16, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React62.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(
3639
- SizeField,
3660
+ var EXPERIMENT_ID = "e_v_3_30";
3661
+ var CssSizeProps = [
3662
+ [
3640
3663
  {
3641
- bind: "min-width",
3642
- label: __35("Min width", "elementor"),
3643
- extendedValues: ["auto"]
3664
+ bind: "width",
3665
+ label: __35("Width", "elementor")
3666
+ },
3667
+ {
3668
+ bind: "height",
3669
+ label: __35("Height", "elementor")
3644
3670
  }
3645
- )), /* @__PURE__ */ React62.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(
3646
- SizeField,
3671
+ ],
3672
+ [
3673
+ {
3674
+ bind: "min-width",
3675
+ label: __35("Min width", "elementor")
3676
+ },
3647
3677
  {
3648
3678
  bind: "min-height",
3649
- label: __35("Min height", "elementor"),
3650
- extendedValues: ["auto"]
3679
+ label: __35("Min height", "elementor")
3680
+ }
3681
+ ],
3682
+ [
3683
+ {
3684
+ bind: "max-width",
3685
+ label: __35("Max width", "elementor")
3686
+ },
3687
+ {
3688
+ bind: "max-height",
3689
+ label: __35("Max height", "elementor")
3651
3690
  }
3652
- ))), /* @__PURE__ */ React62.createElement(Grid16, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React62.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(SizeField, { bind: "max-width", label: __35("Max width", "elementor") })), /* @__PURE__ */ React62.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(SizeField, { bind: "max-height", label: __35("Max height", "elementor") }))), /* @__PURE__ */ React62.createElement(PanelDivider, null), /* @__PURE__ */ React62.createElement(Stack16, null, /* @__PURE__ */ React62.createElement(OverflowField, null)), isVersion330Active && /* @__PURE__ */ React62.createElement(StyleTabCollapsibleContent, { fields: ["aspect-ratio", "object-fit"] }, /* @__PURE__ */ React62.createElement(Stack16, { gap: 2 }, /* @__PURE__ */ React62.createElement(StylesField, { bind: "aspect-ratio" }, /* @__PURE__ */ React62.createElement(AspectRatioControl, { label: __35("Aspect Ratio", "elementor") })), /* @__PURE__ */ React62.createElement(PanelDivider, null), /* @__PURE__ */ React62.createElement(ObjectFitField, null), isNotFill && /* @__PURE__ */ React62.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(ObjectPositionField, null)))));
3691
+ ]
3692
+ ];
3693
+ var SizeSection = () => {
3694
+ const [fitValue] = useStylesField("object-fit");
3695
+ const isNotFill = fitValue && fitValue?.value !== "fill";
3696
+ const gridRowRefs = [useRef8(), useRef8(), useRef8()];
3697
+ const isVersion330Active = isExperimentActive10(EXPERIMENT_ID);
3698
+ return /* @__PURE__ */ React63.createElement(SectionContent, null, CssSizeProps.map((row, rowIndex) => /* @__PURE__ */ React63.createElement(Grid16, { key: rowIndex, container: true, gap: 2, flexWrap: "nowrap", ref: gridRowRefs[rowIndex] }, row.map((props) => /* @__PURE__ */ React63.createElement(Grid16, { item: true, xs: 6, key: props.bind }, /* @__PURE__ */ React63.createElement(SizeField, { ...props, rowRef: gridRowRefs[rowIndex], extendedOptions: ["auto"] }))))), /* @__PURE__ */ React63.createElement(PanelDivider, null), /* @__PURE__ */ React63.createElement(Stack16, null, /* @__PURE__ */ React63.createElement(OverflowField, null)), isVersion330Active && /* @__PURE__ */ React63.createElement(StyleTabCollapsibleContent, { fields: ["aspect-ratio", "object-fit"] }, /* @__PURE__ */ React63.createElement(Stack16, { gap: 2 }, /* @__PURE__ */ React63.createElement(StylesField, { bind: "aspect-ratio" }, /* @__PURE__ */ React63.createElement(AspectRatioControl, { label: __35("Aspect Ratio", "elementor") })), /* @__PURE__ */ React63.createElement(PanelDivider, null), /* @__PURE__ */ React63.createElement(ObjectFitField, null), isNotFill && /* @__PURE__ */ React63.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React63.createElement(ObjectPositionField, null)))));
3653
3699
  };
3654
- var SizeField = ({ label, bind, extendedValues }) => {
3655
- return /* @__PURE__ */ React62.createElement(StylesField, { bind }, /* @__PURE__ */ React62.createElement(Grid16, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React62.createElement(Grid16, { item: true, xs: 12 }, /* @__PURE__ */ React62.createElement(ControlLabel, null, label)), /* @__PURE__ */ React62.createElement(Grid16, { item: true, xs: 12 }, /* @__PURE__ */ React62.createElement(SizeControl5, { extendedValues }))));
3700
+ var SizeField = ({ label, bind, rowRef, extendedOptions }) => {
3701
+ return /* @__PURE__ */ React63.createElement(StylesField, { bind }, /* @__PURE__ */ React63.createElement(Grid16, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React63.createElement(Grid16, { item: true, xs: 12 }, /* @__PURE__ */ React63.createElement(ControlLabel, null, label)), /* @__PURE__ */ React63.createElement(Grid16, { item: true, xs: 12 }, /* @__PURE__ */ React63.createElement(SizeControl5, { extendedOptions, anchorRef: rowRef }))));
3656
3702
  };
3657
3703
 
3658
3704
  // src/components/style-sections/spacing-section/spacing-section.tsx
3659
- import * as React63 from "react";
3705
+ import * as React64 from "react";
3660
3706
  import { LinkedDimensionsControl } from "@elementor/editor-controls";
3661
3707
  import { __ as __36 } from "@wordpress/i18n";
3662
3708
  var SpacingSection = () => {
3663
3709
  const { isSiteRtl } = useDirection();
3664
- return /* @__PURE__ */ React63.createElement(SectionContent, null, /* @__PURE__ */ React63.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React63.createElement(
3710
+ return /* @__PURE__ */ React64.createElement(SectionContent, null, /* @__PURE__ */ React64.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React64.createElement(
3665
3711
  LinkedDimensionsControl,
3666
3712
  {
3667
3713
  label: __36("Margin", "elementor"),
3668
3714
  isSiteRtl,
3669
- extendedValues: ["auto"]
3715
+ extendedOptions: ["auto"]
3670
3716
  }
3671
- )), /* @__PURE__ */ React63.createElement(PanelDivider, null), /* @__PURE__ */ React63.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React63.createElement(LinkedDimensionsControl, { label: __36("Padding", "elementor"), isSiteRtl })));
3717
+ )), /* @__PURE__ */ React64.createElement(PanelDivider, null), /* @__PURE__ */ React64.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React64.createElement(LinkedDimensionsControl, { label: __36("Padding", "elementor"), isSiteRtl })));
3672
3718
  };
3673
3719
 
3674
3720
  // src/components/style-sections/typography-section/typography-section.tsx
3675
- import * as React79 from "react";
3721
+ import * as React80 from "react";
3676
3722
  import { isExperimentActive as isExperimentActive11 } from "@elementor/editor-v1-adapters";
3677
3723
 
3678
3724
  // src/components/style-sections/typography-section/column-count-field.tsx
3679
- import * as React64 from "react";
3725
+ import * as React65 from "react";
3680
3726
  import { NumberControl as NumberControl4 } from "@elementor/editor-controls";
3681
3727
  import { Grid as Grid17 } from "@elementor/ui";
3682
3728
  import { __ as __37 } from "@wordpress/i18n";
3683
3729
  var ColumnCountField = () => {
3684
- return /* @__PURE__ */ React64.createElement(StylesField, { bind: "column-count" }, /* @__PURE__ */ React64.createElement(Grid17, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React64.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React64.createElement(ControlLabel, null, __37("Columns", "elementor"))), /* @__PURE__ */ React64.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React64.createElement(NumberControl4, { shouldForceInt: true, min: 0, step: 1 }))));
3730
+ return /* @__PURE__ */ React65.createElement(StylesField, { bind: "column-count" }, /* @__PURE__ */ React65.createElement(Grid17, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React65.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React65.createElement(ControlLabel, null, __37("Columns", "elementor"))), /* @__PURE__ */ React65.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React65.createElement(NumberControl4, { shouldForceInt: true, min: 0, step: 1 }))));
3685
3731
  };
3686
3732
 
3687
3733
  // src/components/style-sections/typography-section/column-gap-field.tsx
3688
- import * as React65 from "react";
3734
+ import * as React66 from "react";
3735
+ import { useRef as useRef9 } from "react";
3689
3736
  import { SizeControl as SizeControl6 } from "@elementor/editor-controls";
3690
3737
  import { Grid as Grid18 } from "@elementor/ui";
3691
3738
  import { __ as __38 } from "@wordpress/i18n";
3692
3739
  var ColumnGapField = () => {
3693
- return /* @__PURE__ */ React65.createElement(StylesField, { bind: "column-gap" }, /* @__PURE__ */ React65.createElement(Grid18, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React65.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React65.createElement(ControlLabel, null, __38("Column gap", "elementor"))), /* @__PURE__ */ React65.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React65.createElement(SizeControl6, null))));
3740
+ const rowRef = useRef9();
3741
+ return /* @__PURE__ */ React66.createElement(StylesField, { bind: "column-gap" }, /* @__PURE__ */ React66.createElement(Grid18, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React66.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React66.createElement(ControlLabel, null, __38("Column gap", "elementor"))), /* @__PURE__ */ React66.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React66.createElement(SizeControl6, { anchorRef: rowRef }))));
3694
3742
  };
3695
3743
 
3696
3744
  // src/components/style-sections/typography-section/font-family-field.tsx
3697
- import * as React66 from "react";
3745
+ import * as React67 from "react";
3698
3746
  import { FontFamilyControl } from "@elementor/editor-controls";
3699
3747
  import { Grid as Grid19 } from "@elementor/ui";
3700
3748
  import { __ as __40 } from "@wordpress/i18n";
@@ -3742,20 +3790,22 @@ var FontFamilyField = () => {
3742
3790
  if (fontFamilies.length === 0) {
3743
3791
  return null;
3744
3792
  }
3745
- return /* @__PURE__ */ React66.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React66.createElement(Grid19, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React66.createElement(Grid19, { item: true, xs: 6 }, /* @__PURE__ */ React66.createElement(ControlLabel, null, __40("Font family", "elementor"))), /* @__PURE__ */ React66.createElement(Grid19, { item: true, xs: 6, sx: { minWidth: 0 } }, /* @__PURE__ */ React66.createElement(FontFamilyControl, { fontFamilies }))));
3793
+ return /* @__PURE__ */ React67.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React67.createElement(Grid19, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React67.createElement(Grid19, { item: true, xs: 6 }, /* @__PURE__ */ React67.createElement(ControlLabel, null, __40("Font family", "elementor"))), /* @__PURE__ */ React67.createElement(Grid19, { item: true, xs: 6, sx: { minWidth: 0 } }, /* @__PURE__ */ React67.createElement(FontFamilyControl, { fontFamilies }))));
3746
3794
  };
3747
3795
 
3748
3796
  // src/components/style-sections/typography-section/font-size-field.tsx
3749
- import * as React67 from "react";
3797
+ import * as React68 from "react";
3798
+ import { useRef as useRef10 } from "react";
3750
3799
  import { SizeControl as SizeControl7 } from "@elementor/editor-controls";
3751
3800
  import { Grid as Grid20 } from "@elementor/ui";
3752
3801
  import { __ as __41 } from "@wordpress/i18n";
3753
3802
  var FontSizeField = () => {
3754
- return /* @__PURE__ */ React67.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React67.createElement(Grid20, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React67.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React67.createElement(ControlLabel, null, __41("Font size", "elementor"))), /* @__PURE__ */ React67.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React67.createElement(SizeControl7, null))));
3803
+ const rowRef = useRef10();
3804
+ return /* @__PURE__ */ React68.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React68.createElement(Grid20, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React68.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React68.createElement(ControlLabel, null, __41("Font size", "elementor"))), /* @__PURE__ */ React68.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React68.createElement(SizeControl7, { anchorRef: rowRef }))));
3755
3805
  };
3756
3806
 
3757
3807
  // src/components/style-sections/typography-section/font-style-field.tsx
3758
- import * as React68 from "react";
3808
+ import * as React69 from "react";
3759
3809
  import { ControlFormLabel as ControlFormLabel5, ToggleControl as ToggleControl9 } from "@elementor/editor-controls";
3760
3810
  import { ItalicIcon, MinusIcon as MinusIcon2 } from "@elementor/icons";
3761
3811
  import { Grid as Grid21 } from "@elementor/ui";
@@ -3764,20 +3814,20 @@ var options7 = [
3764
3814
  {
3765
3815
  value: "normal",
3766
3816
  label: __42("Normal", "elementor"),
3767
- renderContent: ({ size }) => /* @__PURE__ */ React68.createElement(MinusIcon2, { fontSize: size }),
3817
+ renderContent: ({ size }) => /* @__PURE__ */ React69.createElement(MinusIcon2, { fontSize: size }),
3768
3818
  showTooltip: true
3769
3819
  },
3770
3820
  {
3771
3821
  value: "italic",
3772
3822
  label: __42("Italic", "elementor"),
3773
- renderContent: ({ size }) => /* @__PURE__ */ React68.createElement(ItalicIcon, { fontSize: size }),
3823
+ renderContent: ({ size }) => /* @__PURE__ */ React69.createElement(ItalicIcon, { fontSize: size }),
3774
3824
  showTooltip: true
3775
3825
  }
3776
3826
  ];
3777
- var FontStyleField = () => /* @__PURE__ */ React68.createElement(StylesField, { bind: "font-style" }, /* @__PURE__ */ React68.createElement(Grid21, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React68.createElement(Grid21, { item: true, xs: 6 }, /* @__PURE__ */ React68.createElement(ControlFormLabel5, null, __42("Font style", "elementor"))), /* @__PURE__ */ React68.createElement(Grid21, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React68.createElement(ToggleControl9, { options: options7 }))));
3827
+ var FontStyleField = () => /* @__PURE__ */ React69.createElement(StylesField, { bind: "font-style" }, /* @__PURE__ */ React69.createElement(Grid21, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React69.createElement(Grid21, { item: true, xs: 6 }, /* @__PURE__ */ React69.createElement(ControlFormLabel5, null, __42("Font style", "elementor"))), /* @__PURE__ */ React69.createElement(Grid21, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React69.createElement(ToggleControl9, { options: options7 }))));
3778
3828
 
3779
3829
  // src/components/style-sections/typography-section/font-weight-field.tsx
3780
- import * as React69 from "react";
3830
+ import * as React70 from "react";
3781
3831
  import { SelectControl as SelectControl6 } from "@elementor/editor-controls";
3782
3832
  import { Grid as Grid22 } from "@elementor/ui";
3783
3833
  import { __ as __43 } from "@wordpress/i18n";
@@ -3793,29 +3843,33 @@ var fontWeightOptions = [
3793
3843
  { value: "900", label: __43("900 - Black", "elementor") }
3794
3844
  ];
3795
3845
  var FontWeightField = () => {
3796
- return /* @__PURE__ */ React69.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React69.createElement(Grid22, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React69.createElement(Grid22, { item: true, xs: 6 }, /* @__PURE__ */ React69.createElement(ControlLabel, null, __43("Font weight", "elementor"))), /* @__PURE__ */ React69.createElement(Grid22, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React69.createElement(SelectControl6, { options: fontWeightOptions }))));
3846
+ return /* @__PURE__ */ React70.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React70.createElement(Grid22, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React70.createElement(Grid22, { item: true, xs: 6 }, /* @__PURE__ */ React70.createElement(ControlLabel, null, __43("Font weight", "elementor"))), /* @__PURE__ */ React70.createElement(Grid22, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React70.createElement(SelectControl6, { options: fontWeightOptions }))));
3797
3847
  };
3798
3848
 
3799
3849
  // src/components/style-sections/typography-section/letter-spacing-field.tsx
3800
- import * as React70 from "react";
3850
+ import * as React71 from "react";
3851
+ import { useRef as useRef11 } from "react";
3801
3852
  import { SizeControl as SizeControl8 } from "@elementor/editor-controls";
3802
3853
  import { Grid as Grid23 } from "@elementor/ui";
3803
3854
  import { __ as __44 } from "@wordpress/i18n";
3804
3855
  var LetterSpacingField = () => {
3805
- return /* @__PURE__ */ React70.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React70.createElement(Grid23, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React70.createElement(Grid23, { item: true, xs: 6 }, /* @__PURE__ */ React70.createElement(ControlLabel, null, __44("Letter spacing", "elementor"))), /* @__PURE__ */ React70.createElement(Grid23, { item: true, xs: 6 }, /* @__PURE__ */ React70.createElement(SizeControl8, null))));
3856
+ const rowRef = useRef11();
3857
+ return /* @__PURE__ */ React71.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React71.createElement(Grid23, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React71.createElement(Grid23, { item: true, xs: 6 }, /* @__PURE__ */ React71.createElement(ControlLabel, null, __44("Letter spacing", "elementor"))), /* @__PURE__ */ React71.createElement(Grid23, { item: true, xs: 6 }, /* @__PURE__ */ React71.createElement(SizeControl8, { anchorRef: rowRef }))));
3806
3858
  };
3807
3859
 
3808
3860
  // src/components/style-sections/typography-section/line-height-field.tsx
3809
- import * as React71 from "react";
3861
+ import * as React72 from "react";
3862
+ import { useRef as useRef12 } from "react";
3810
3863
  import { SizeControl as SizeControl9 } from "@elementor/editor-controls";
3811
3864
  import { Grid as Grid24 } from "@elementor/ui";
3812
3865
  import { __ as __45 } from "@wordpress/i18n";
3813
3866
  var LineHeightField = () => {
3814
- return /* @__PURE__ */ React71.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React71.createElement(Grid24, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React71.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React71.createElement(ControlLabel, null, __45("Line height", "elementor"))), /* @__PURE__ */ React71.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React71.createElement(SizeControl9, null))));
3867
+ const rowRef = useRef12();
3868
+ return /* @__PURE__ */ React72.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React72.createElement(Grid24, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React72.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React72.createElement(ControlLabel, null, __45("Line height", "elementor"))), /* @__PURE__ */ React72.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React72.createElement(SizeControl9, { anchorRef: rowRef }))));
3815
3869
  };
3816
3870
 
3817
3871
  // src/components/style-sections/typography-section/text-alignment-field.tsx
3818
- import * as React72 from "react";
3872
+ import * as React73 from "react";
3819
3873
  import { ToggleControl as ToggleControl10 } from "@elementor/editor-controls";
3820
3874
  import { AlignCenterIcon, AlignJustifiedIcon, AlignLeftIcon, AlignRightIcon } from "@elementor/icons";
3821
3875
  import { Grid as Grid25, withDirection as withDirection9 } from "@elementor/ui";
@@ -3826,43 +3880,43 @@ var options8 = [
3826
3880
  {
3827
3881
  value: "start",
3828
3882
  label: __46("Start", "elementor"),
3829
- renderContent: ({ size }) => /* @__PURE__ */ React72.createElement(AlignStartIcon, { fontSize: size }),
3883
+ renderContent: ({ size }) => /* @__PURE__ */ React73.createElement(AlignStartIcon, { fontSize: size }),
3830
3884
  showTooltip: true
3831
3885
  },
3832
3886
  {
3833
3887
  value: "center",
3834
3888
  label: __46("Center", "elementor"),
3835
- renderContent: ({ size }) => /* @__PURE__ */ React72.createElement(AlignCenterIcon, { fontSize: size }),
3889
+ renderContent: ({ size }) => /* @__PURE__ */ React73.createElement(AlignCenterIcon, { fontSize: size }),
3836
3890
  showTooltip: true
3837
3891
  },
3838
3892
  {
3839
3893
  value: "end",
3840
3894
  label: __46("End", "elementor"),
3841
- renderContent: ({ size }) => /* @__PURE__ */ React72.createElement(AlignEndIcon, { fontSize: size }),
3895
+ renderContent: ({ size }) => /* @__PURE__ */ React73.createElement(AlignEndIcon, { fontSize: size }),
3842
3896
  showTooltip: true
3843
3897
  },
3844
3898
  {
3845
3899
  value: "justify",
3846
3900
  label: __46("Justify", "elementor"),
3847
- renderContent: ({ size }) => /* @__PURE__ */ React72.createElement(AlignJustifiedIcon, { fontSize: size }),
3901
+ renderContent: ({ size }) => /* @__PURE__ */ React73.createElement(AlignJustifiedIcon, { fontSize: size }),
3848
3902
  showTooltip: true
3849
3903
  }
3850
3904
  ];
3851
3905
  var TextAlignmentField = () => {
3852
- return /* @__PURE__ */ React72.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React72.createElement(Grid25, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React72.createElement(Grid25, { item: true, xs: 6 }, /* @__PURE__ */ React72.createElement(ControlLabel, null, __46("Text align", "elementor"))), /* @__PURE__ */ React72.createElement(Grid25, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React72.createElement(ToggleControl10, { options: options8 }))));
3906
+ return /* @__PURE__ */ React73.createElement(UiProviders, null, /* @__PURE__ */ React73.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React73.createElement(Grid25, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React73.createElement(Grid25, { item: true, xs: 6 }, /* @__PURE__ */ React73.createElement(ControlLabel, null, __46("Text align", "elementor"))), /* @__PURE__ */ React73.createElement(Grid25, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React73.createElement(ToggleControl10, { options: options8 })))));
3853
3907
  };
3854
3908
 
3855
3909
  // src/components/style-sections/typography-section/text-color-field.tsx
3856
- import * as React73 from "react";
3910
+ import * as React74 from "react";
3857
3911
  import { ColorControl as ColorControl2 } from "@elementor/editor-controls";
3858
3912
  import { Grid as Grid26 } from "@elementor/ui";
3859
3913
  import { __ as __47 } from "@wordpress/i18n";
3860
3914
  var TextColorField = () => {
3861
- return /* @__PURE__ */ React73.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React73.createElement(Grid26, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React73.createElement(Grid26, { item: true, xs: 6 }, /* @__PURE__ */ React73.createElement(ControlLabel, null, __47("Text color", "elementor"))), /* @__PURE__ */ React73.createElement(Grid26, { item: true, xs: 6 }, /* @__PURE__ */ React73.createElement(ColorControl2, null))));
3915
+ return /* @__PURE__ */ React74.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React74.createElement(Grid26, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React74.createElement(Grid26, { item: true, xs: 6 }, /* @__PURE__ */ React74.createElement(ControlLabel, null, __47("Text color", "elementor"))), /* @__PURE__ */ React74.createElement(Grid26, { item: true, xs: 6 }, /* @__PURE__ */ React74.createElement(ColorControl2, null))));
3862
3916
  };
3863
3917
 
3864
3918
  // src/components/style-sections/typography-section/text-decoration-field.tsx
3865
- import * as React74 from "react";
3919
+ import * as React75 from "react";
3866
3920
  import { ToggleControl as ToggleControl11 } from "@elementor/editor-controls";
3867
3921
  import { MinusIcon as MinusIcon3, OverlineIcon, StrikethroughIcon, UnderlineIcon } from "@elementor/icons";
3868
3922
  import { Grid as Grid27 } from "@elementor/ui";
@@ -3871,33 +3925,33 @@ var options9 = [
3871
3925
  {
3872
3926
  value: "none",
3873
3927
  label: __48("None", "elementor"),
3874
- renderContent: ({ size }) => /* @__PURE__ */ React74.createElement(MinusIcon3, { fontSize: size }),
3928
+ renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(MinusIcon3, { fontSize: size }),
3875
3929
  showTooltip: true,
3876
3930
  exclusive: true
3877
3931
  },
3878
3932
  {
3879
3933
  value: "underline",
3880
3934
  label: __48("Underline", "elementor"),
3881
- renderContent: ({ size }) => /* @__PURE__ */ React74.createElement(UnderlineIcon, { fontSize: size }),
3935
+ renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(UnderlineIcon, { fontSize: size }),
3882
3936
  showTooltip: true
3883
3937
  },
3884
3938
  {
3885
3939
  value: "line-through",
3886
3940
  label: __48("Line-through", "elementor"),
3887
- renderContent: ({ size }) => /* @__PURE__ */ React74.createElement(StrikethroughIcon, { fontSize: size }),
3941
+ renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(StrikethroughIcon, { fontSize: size }),
3888
3942
  showTooltip: true
3889
3943
  },
3890
3944
  {
3891
3945
  value: "overline",
3892
3946
  label: __48("Overline", "elementor"),
3893
- renderContent: ({ size }) => /* @__PURE__ */ React74.createElement(OverlineIcon, { fontSize: size }),
3947
+ renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(OverlineIcon, { fontSize: size }),
3894
3948
  showTooltip: true
3895
3949
  }
3896
3950
  ];
3897
- var TextDecorationField = () => /* @__PURE__ */ React74.createElement(StylesField, { bind: "text-decoration" }, /* @__PURE__ */ React74.createElement(Grid27, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React74.createElement(Grid27, { item: true, xs: 6 }, /* @__PURE__ */ React74.createElement(ControlLabel, null, __48("Line decoration", "elementor"))), /* @__PURE__ */ React74.createElement(Grid27, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React74.createElement(ToggleControl11, { options: options9, exclusive: false }))));
3951
+ var TextDecorationField = () => /* @__PURE__ */ React75.createElement(StylesField, { bind: "text-decoration" }, /* @__PURE__ */ React75.createElement(Grid27, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React75.createElement(Grid27, { item: true, xs: 6 }, /* @__PURE__ */ React75.createElement(ControlLabel, null, __48("Line decoration", "elementor"))), /* @__PURE__ */ React75.createElement(Grid27, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React75.createElement(ToggleControl11, { options: options9, exclusive: false }))));
3898
3952
 
3899
3953
  // src/components/style-sections/typography-section/text-direction-field.tsx
3900
- import * as React75 from "react";
3954
+ import * as React76 from "react";
3901
3955
  import { ToggleControl as ToggleControl12 } from "@elementor/editor-controls";
3902
3956
  import { TextDirectionLtrIcon, TextDirectionRtlIcon } from "@elementor/icons";
3903
3957
  import { Grid as Grid28 } from "@elementor/ui";
@@ -3906,22 +3960,22 @@ var options10 = [
3906
3960
  {
3907
3961
  value: "ltr",
3908
3962
  label: __49("Left to right", "elementor"),
3909
- renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(TextDirectionLtrIcon, { fontSize: size }),
3963
+ renderContent: ({ size }) => /* @__PURE__ */ React76.createElement(TextDirectionLtrIcon, { fontSize: size }),
3910
3964
  showTooltip: true
3911
3965
  },
3912
3966
  {
3913
3967
  value: "rtl",
3914
3968
  label: __49("Right to left", "elementor"),
3915
- renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(TextDirectionRtlIcon, { fontSize: size }),
3969
+ renderContent: ({ size }) => /* @__PURE__ */ React76.createElement(TextDirectionRtlIcon, { fontSize: size }),
3916
3970
  showTooltip: true
3917
3971
  }
3918
3972
  ];
3919
3973
  var TextDirectionField = () => {
3920
- return /* @__PURE__ */ React75.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React75.createElement(Grid28, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React75.createElement(Grid28, { item: true, xs: 6 }, /* @__PURE__ */ React75.createElement(ControlLabel, null, __49("Direction", "elementor"))), /* @__PURE__ */ React75.createElement(Grid28, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React75.createElement(ToggleControl12, { options: options10 }))));
3974
+ return /* @__PURE__ */ React76.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React76.createElement(Grid28, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React76.createElement(Grid28, { item: true, xs: 6 }, /* @__PURE__ */ React76.createElement(ControlLabel, null, __49("Direction", "elementor"))), /* @__PURE__ */ React76.createElement(Grid28, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React76.createElement(ToggleControl12, { options: options10 }))));
3921
3975
  };
3922
3976
 
3923
3977
  // src/components/style-sections/typography-section/text-stroke-field.tsx
3924
- import * as React76 from "react";
3978
+ import * as React77 from "react";
3925
3979
  import { StrokeControl } from "@elementor/editor-controls";
3926
3980
  import { __ as __50 } from "@wordpress/i18n";
3927
3981
  var initTextStroke = {
@@ -3950,21 +4004,21 @@ var TextStrokeField = () => {
3950
4004
  setTextStroke(null);
3951
4005
  };
3952
4006
  const hasTextStroke = Boolean(textStroke);
3953
- return /* @__PURE__ */ React76.createElement(StylesField, { bind: "stroke" }, /* @__PURE__ */ React76.createElement(
4007
+ return /* @__PURE__ */ React77.createElement(StylesField, { bind: "stroke" }, /* @__PURE__ */ React77.createElement(
3954
4008
  AddOrRemoveContent,
3955
4009
  {
3956
4010
  isAdded: hasTextStroke,
3957
4011
  onAdd: addTextStroke,
3958
4012
  onRemove: removeTextStroke,
3959
4013
  disabled: !canEdit,
3960
- renderLabel: () => /* @__PURE__ */ React76.createElement(ControlLabel, null, __50("Text stroke", "elementor"))
4014
+ renderLabel: () => /* @__PURE__ */ React77.createElement(ControlLabel, null, __50("Text stroke", "elementor"))
3961
4015
  },
3962
- /* @__PURE__ */ React76.createElement(StrokeControl, null)
4016
+ /* @__PURE__ */ React77.createElement(StrokeControl, null)
3963
4017
  ));
3964
4018
  };
3965
4019
 
3966
4020
  // src/components/style-sections/typography-section/transform-field.tsx
3967
- import * as React77 from "react";
4021
+ import * as React78 from "react";
3968
4022
  import { ToggleControl as ToggleControl13 } from "@elementor/editor-controls";
3969
4023
  import { LetterCaseIcon, LetterCaseLowerIcon, LetterCaseUpperIcon, MinusIcon as MinusIcon4 } from "@elementor/icons";
3970
4024
  import { Grid as Grid29 } from "@elementor/ui";
@@ -3973,37 +4027,39 @@ var options11 = [
3973
4027
  {
3974
4028
  value: "none",
3975
4029
  label: __51("None", "elementor"),
3976
- renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(MinusIcon4, { fontSize: size }),
4030
+ renderContent: ({ size }) => /* @__PURE__ */ React78.createElement(MinusIcon4, { fontSize: size }),
3977
4031
  showTooltip: true
3978
4032
  },
3979
4033
  {
3980
4034
  value: "capitalize",
3981
4035
  label: __51("Capitalize", "elementor"),
3982
- renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(LetterCaseIcon, { fontSize: size }),
4036
+ renderContent: ({ size }) => /* @__PURE__ */ React78.createElement(LetterCaseIcon, { fontSize: size }),
3983
4037
  showTooltip: true
3984
4038
  },
3985
4039
  {
3986
4040
  value: "uppercase",
3987
4041
  label: __51("Uppercase", "elementor"),
3988
- renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(LetterCaseUpperIcon, { fontSize: size }),
4042
+ renderContent: ({ size }) => /* @__PURE__ */ React78.createElement(LetterCaseUpperIcon, { fontSize: size }),
3989
4043
  showTooltip: true
3990
4044
  },
3991
4045
  {
3992
4046
  value: "lowercase",
3993
4047
  label: __51("Lowercase", "elementor"),
3994
- renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(LetterCaseLowerIcon, { fontSize: size }),
4048
+ renderContent: ({ size }) => /* @__PURE__ */ React78.createElement(LetterCaseLowerIcon, { fontSize: size }),
3995
4049
  showTooltip: true
3996
4050
  }
3997
4051
  ];
3998
- var TransformField = () => /* @__PURE__ */ React77.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React77.createElement(Grid29, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React77.createElement(Grid29, { item: true, xs: 6 }, /* @__PURE__ */ React77.createElement(ControlLabel, null, __51("Text transform", "elementor"))), /* @__PURE__ */ React77.createElement(Grid29, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React77.createElement(ToggleControl13, { options: options11 }))));
4052
+ var TransformField = () => /* @__PURE__ */ React78.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React78.createElement(Grid29, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React78.createElement(Grid29, { item: true, xs: 6 }, /* @__PURE__ */ React78.createElement(ControlLabel, null, __51("Text transform", "elementor"))), /* @__PURE__ */ React78.createElement(Grid29, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React78.createElement(ToggleControl13, { options: options11 }))));
3999
4053
 
4000
4054
  // src/components/style-sections/typography-section/word-spacing-field.tsx
4001
- import * as React78 from "react";
4055
+ import * as React79 from "react";
4056
+ import { useRef as useRef13 } from "react";
4002
4057
  import { SizeControl as SizeControl10 } from "@elementor/editor-controls";
4003
4058
  import { Grid as Grid30 } from "@elementor/ui";
4004
4059
  import { __ as __52 } from "@wordpress/i18n";
4005
4060
  var WordSpacingField = () => {
4006
- return /* @__PURE__ */ React78.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React78.createElement(Grid30, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React78.createElement(Grid30, { item: true, xs: 6 }, /* @__PURE__ */ React78.createElement(ControlLabel, null, __52("Word spacing", "elementor"))), /* @__PURE__ */ React78.createElement(Grid30, { item: true, xs: 6 }, /* @__PURE__ */ React78.createElement(SizeControl10, null))));
4061
+ const rowRef = useRef13();
4062
+ return /* @__PURE__ */ React79.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React79.createElement(Grid30, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React79.createElement(Grid30, { item: true, xs: 6 }, /* @__PURE__ */ React79.createElement(ControlLabel, null, __52("Word spacing", "elementor"))), /* @__PURE__ */ React79.createElement(Grid30, { item: true, xs: 6 }, /* @__PURE__ */ React79.createElement(SizeControl10, { anchorRef: rowRef }))));
4007
4063
  };
4008
4064
 
4009
4065
  // src/components/style-sections/typography-section/typography-section.tsx
@@ -4011,7 +4067,7 @@ var TypographySection = () => {
4011
4067
  const [columnCount] = useStylesField("column-count");
4012
4068
  const isVersion330Active = isExperimentActive11("e_v_3_30");
4013
4069
  const hasMultiColumns = !!(columnCount?.value && columnCount?.value > 1);
4014
- return /* @__PURE__ */ React79.createElement(SectionContent, null, /* @__PURE__ */ React79.createElement(FontFamilyField, null), /* @__PURE__ */ React79.createElement(FontWeightField, null), /* @__PURE__ */ React79.createElement(FontSizeField, null), /* @__PURE__ */ React79.createElement(PanelDivider, null), /* @__PURE__ */ React79.createElement(TextAlignmentField, null), /* @__PURE__ */ React79.createElement(TextColorField, null), /* @__PURE__ */ React79.createElement(
4070
+ return /* @__PURE__ */ React80.createElement(SectionContent, null, /* @__PURE__ */ React80.createElement(FontFamilyField, null), /* @__PURE__ */ React80.createElement(FontWeightField, null), /* @__PURE__ */ React80.createElement(FontSizeField, null), /* @__PURE__ */ React80.createElement(PanelDivider, null), /* @__PURE__ */ React80.createElement(TextAlignmentField, null), /* @__PURE__ */ React80.createElement(TextColorField, null), /* @__PURE__ */ React80.createElement(
4015
4071
  StyleTabCollapsibleContent,
4016
4072
  {
4017
4073
  fields: [
@@ -4026,19 +4082,19 @@ var TypographySection = () => {
4026
4082
  "stroke"
4027
4083
  ]
4028
4084
  },
4029
- /* @__PURE__ */ React79.createElement(SectionContent, { sx: { pt: 2 } }, /* @__PURE__ */ React79.createElement(LineHeightField, null), /* @__PURE__ */ React79.createElement(LetterSpacingField, null), /* @__PURE__ */ React79.createElement(WordSpacingField, null), isVersion330Active && /* @__PURE__ */ React79.createElement(React79.Fragment, null, /* @__PURE__ */ React79.createElement(ColumnCountField, null), hasMultiColumns && /* @__PURE__ */ React79.createElement(ColumnGapField, null)), /* @__PURE__ */ React79.createElement(PanelDivider, null), /* @__PURE__ */ React79.createElement(TextDecorationField, null), /* @__PURE__ */ React79.createElement(TransformField, null), /* @__PURE__ */ React79.createElement(TextDirectionField, null), /* @__PURE__ */ React79.createElement(FontStyleField, null), /* @__PURE__ */ React79.createElement(TextStrokeField, null))
4085
+ /* @__PURE__ */ React80.createElement(SectionContent, { sx: { pt: 2 } }, /* @__PURE__ */ React80.createElement(LineHeightField, null), /* @__PURE__ */ React80.createElement(LetterSpacingField, null), /* @__PURE__ */ React80.createElement(WordSpacingField, null), isVersion330Active && /* @__PURE__ */ React80.createElement(React80.Fragment, null, /* @__PURE__ */ React80.createElement(ColumnCountField, null), hasMultiColumns && /* @__PURE__ */ React80.createElement(ColumnGapField, null)), /* @__PURE__ */ React80.createElement(PanelDivider, null), /* @__PURE__ */ React80.createElement(TextDecorationField, null), /* @__PURE__ */ React80.createElement(TransformField, null), /* @__PURE__ */ React80.createElement(TextDirectionField, null), /* @__PURE__ */ React80.createElement(FontStyleField, null), /* @__PURE__ */ React80.createElement(TextStrokeField, null))
4030
4086
  ));
4031
4087
  };
4032
4088
 
4033
4089
  // src/components/style-tab-section.tsx
4034
- import * as React80 from "react";
4090
+ import * as React81 from "react";
4035
4091
  import { isExperimentActive as isExperimentActive12 } from "@elementor/editor-v1-adapters";
4036
4092
  var StyleTabSection = ({ section, fields = [] }) => {
4037
4093
  const { component, name, title } = section;
4038
4094
  const tabDefaults = useDefaultPanelSettings();
4039
4095
  const SectionComponent = component;
4040
4096
  const isExpanded = isExperimentActive12(EXPERIMENTAL_FEATURES.V_3_30) ? tabDefaults.defaultSectionsExpanded.style?.includes(name) : false;
4041
- return /* @__PURE__ */ React80.createElement(Section, { title, defaultExpanded: isExpanded, titleEnd: getStylesInheritanceIndicators(fields) }, /* @__PURE__ */ React80.createElement(SectionComponent, null));
4097
+ return /* @__PURE__ */ React81.createElement(Section, { title, defaultExpanded: isExpanded, titleEnd: getStylesInheritanceIndicators(fields) }, /* @__PURE__ */ React81.createElement(SectionComponent, null));
4042
4098
  };
4043
4099
 
4044
4100
  // src/components/style-tab.tsx
@@ -4055,7 +4111,7 @@ var StyleTab = () => {
4055
4111
  const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
4056
4112
  const [activeStyleState, setActiveStyleState] = useState12(null);
4057
4113
  const breakpoint = useActiveBreakpoint();
4058
- return /* @__PURE__ */ React81.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React81.createElement(
4114
+ return /* @__PURE__ */ React82.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React82.createElement(
4059
4115
  StyleProvider,
4060
4116
  {
4061
4117
  meta: { breakpoint, state: activeStyleState },
@@ -4066,7 +4122,7 @@ var StyleTab = () => {
4066
4122
  },
4067
4123
  setMetaState: setActiveStyleState
4068
4124
  },
4069
- /* @__PURE__ */ React81.createElement(SessionStorageProvider2, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React81.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React81.createElement(ClassesHeader, null, /* @__PURE__ */ React81.createElement(CssClassSelector, null), /* @__PURE__ */ React81.createElement(Divider5, null)), /* @__PURE__ */ React81.createElement(SectionsList, null, /* @__PURE__ */ React81.createElement(
4125
+ /* @__PURE__ */ React82.createElement(SessionStorageProvider2, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React82.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React82.createElement(ClassesHeader, null, /* @__PURE__ */ React82.createElement(CssClassSelector, null), /* @__PURE__ */ React82.createElement(Divider5, null)), /* @__PURE__ */ React82.createElement(SectionsList, null, /* @__PURE__ */ React82.createElement(
4070
4126
  StyleTabSection,
4071
4127
  {
4072
4128
  section: {
@@ -4085,7 +4141,7 @@ var StyleTab = () => {
4085
4141
  "gap"
4086
4142
  ]
4087
4143
  }
4088
- ), /* @__PURE__ */ React81.createElement(
4144
+ ), /* @__PURE__ */ React82.createElement(
4089
4145
  StyleTabSection,
4090
4146
  {
4091
4147
  section: {
@@ -4095,7 +4151,7 @@ var StyleTab = () => {
4095
4151
  },
4096
4152
  fields: ["margin", "padding"]
4097
4153
  }
4098
- ), /* @__PURE__ */ React81.createElement(
4154
+ ), /* @__PURE__ */ React82.createElement(
4099
4155
  StyleTabSection,
4100
4156
  {
4101
4157
  section: {
@@ -4115,7 +4171,7 @@ var StyleTab = () => {
4115
4171
  "object-fit"
4116
4172
  ]
4117
4173
  }
4118
- ), /* @__PURE__ */ React81.createElement(
4174
+ ), /* @__PURE__ */ React82.createElement(
4119
4175
  StyleTabSection,
4120
4176
  {
4121
4177
  section: {
@@ -4125,7 +4181,7 @@ var StyleTab = () => {
4125
4181
  },
4126
4182
  fields: ["position", "z-index", "scroll-margin-top"]
4127
4183
  }
4128
- ), /* @__PURE__ */ React81.createElement(
4184
+ ), /* @__PURE__ */ React82.createElement(
4129
4185
  StyleTabSection,
4130
4186
  {
4131
4187
  section: {
@@ -4150,7 +4206,7 @@ var StyleTab = () => {
4150
4206
  "stroke"
4151
4207
  ]
4152
4208
  }
4153
- ), /* @__PURE__ */ React81.createElement(
4209
+ ), /* @__PURE__ */ React82.createElement(
4154
4210
  StyleTabSection,
4155
4211
  {
4156
4212
  section: {
@@ -4160,7 +4216,7 @@ var StyleTab = () => {
4160
4216
  },
4161
4217
  fields: ["background"]
4162
4218
  }
4163
- ), /* @__PURE__ */ React81.createElement(
4219
+ ), /* @__PURE__ */ React82.createElement(
4164
4220
  StyleTabSection,
4165
4221
  {
4166
4222
  section: {
@@ -4170,7 +4226,7 @@ var StyleTab = () => {
4170
4226
  },
4171
4227
  fields: ["border-radius", "border-width", "border-color", "border-style"]
4172
4228
  }
4173
- ), /* @__PURE__ */ React81.createElement(
4229
+ ), /* @__PURE__ */ React82.createElement(
4174
4230
  StyleTabSection,
4175
4231
  {
4176
4232
  section: {
@@ -4185,7 +4241,7 @@ var StyleTab = () => {
4185
4241
  };
4186
4242
  function ClassesHeader({ children }) {
4187
4243
  const scrollDirection = useScrollDirection();
4188
- return /* @__PURE__ */ React81.createElement(Stack17, { sx: { ...stickyHeaderStyles, top: scrollDirection === "up" ? TABS_HEADER_HEIGHT : 0 } }, children);
4244
+ return /* @__PURE__ */ React82.createElement(Stack17, { sx: { ...stickyHeaderStyles, top: scrollDirection === "up" ? TABS_HEADER_HEIGHT : 0 } }, children);
4189
4245
  }
4190
4246
  function useCurrentClassesProp() {
4191
4247
  const { elementType } = useElement();
@@ -4204,7 +4260,7 @@ var EditingPanelTabs = () => {
4204
4260
  return (
4205
4261
  // When switching between elements, the local states should be reset. We are using key to rerender the tabs.
4206
4262
  // Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
4207
- /* @__PURE__ */ React82.createElement(Fragment10, { key: element.id }, /* @__PURE__ */ React82.createElement(PanelTabContent, null))
4263
+ /* @__PURE__ */ React83.createElement(Fragment9, { key: element.id }, /* @__PURE__ */ React83.createElement(PanelTabContent, null))
4208
4264
  );
4209
4265
  };
4210
4266
  var PanelTabContent = () => {
@@ -4212,7 +4268,7 @@ var PanelTabContent = () => {
4212
4268
  const defaultComponentTab = isExperimentActive13(EXPERIMENTAL_FEATURES.V_3_30) ? editorDefaults.defaultTab : "settings";
4213
4269
  const [currentTab, setCurrentTab] = useStateByElement("tab", defaultComponentTab);
4214
4270
  const { getTabProps, getTabPanelProps, getTabsProps } = useTabs(currentTab);
4215
- return /* @__PURE__ */ React82.createElement(ScrollProvider, null, /* @__PURE__ */ React82.createElement(Stack18, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React82.createElement(Stack18, { sx: { ...stickyHeaderStyles, top: 0 } }, /* @__PURE__ */ React82.createElement(
4271
+ return /* @__PURE__ */ React83.createElement(ScrollProvider, null, /* @__PURE__ */ React83.createElement(Stack18, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React83.createElement(Stack18, { sx: { ...stickyHeaderStyles, top: 0 } }, /* @__PURE__ */ React83.createElement(
4216
4272
  Tabs,
4217
4273
  {
4218
4274
  variant: "fullWidth",
@@ -4224,9 +4280,9 @@ var PanelTabContent = () => {
4224
4280
  setCurrentTab(newValue);
4225
4281
  }
4226
4282
  },
4227
- /* @__PURE__ */ React82.createElement(Tab, { label: __54("General", "elementor"), ...getTabProps("settings") }),
4228
- /* @__PURE__ */ React82.createElement(Tab, { label: __54("Style", "elementor"), ...getTabProps("style") })
4229
- ), /* @__PURE__ */ React82.createElement(Divider6, null)), /* @__PURE__ */ React82.createElement(TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React82.createElement(SettingsTab, null)), /* @__PURE__ */ React82.createElement(TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React82.createElement(StyleTab, null))));
4283
+ /* @__PURE__ */ React83.createElement(Tab, { label: __54("General", "elementor"), ...getTabProps("settings") }),
4284
+ /* @__PURE__ */ React83.createElement(Tab, { label: __54("Style", "elementor"), ...getTabProps("style") })
4285
+ ), /* @__PURE__ */ React83.createElement(Divider6, null)), /* @__PURE__ */ React83.createElement(TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React83.createElement(SettingsTab, null)), /* @__PURE__ */ React83.createElement(TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React83.createElement(StyleTab, null))));
4230
4286
  };
4231
4287
 
4232
4288
  // src/components/editing-panel.tsx
@@ -4239,7 +4295,7 @@ var EditingPanel = () => {
4239
4295
  return null;
4240
4296
  }
4241
4297
  const panelTitle = __55("Edit %s", "elementor").replace("%s", elementType.title);
4242
- return /* @__PURE__ */ React83.createElement(ErrorBoundary, { fallback: /* @__PURE__ */ React83.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React83.createElement(SessionStorageProvider3, { prefix: "elementor" }, /* @__PURE__ */ React83.createElement(ThemeProvider9, null, /* @__PURE__ */ React83.createElement(Panel, null, /* @__PURE__ */ React83.createElement(PanelHeader, null, /* @__PURE__ */ React83.createElement(PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React83.createElement(AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React83.createElement(PanelBody, null, /* @__PURE__ */ React83.createElement(ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React83.createElement(ControlReplacementsProvider, { replacements: controlReplacements }, /* @__PURE__ */ React83.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React83.createElement(EditingPanelTabs, null)))))))));
4298
+ return /* @__PURE__ */ React84.createElement(ErrorBoundary, { fallback: /* @__PURE__ */ React84.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React84.createElement(SessionStorageProvider3, { prefix: "elementor" }, /* @__PURE__ */ React84.createElement(ThemeProvider2, null, /* @__PURE__ */ React84.createElement(Panel, null, /* @__PURE__ */ React84.createElement(PanelHeader, null, /* @__PURE__ */ React84.createElement(PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React84.createElement(AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React84.createElement(PanelBody, null, /* @__PURE__ */ React84.createElement(ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React84.createElement(ControlReplacementsProvider, { replacements: controlReplacements }, /* @__PURE__ */ React84.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React84.createElement(EditingPanelTabs, null)))))))));
4243
4299
  };
4244
4300
 
4245
4301
  // src/panel.ts
@@ -4289,47 +4345,15 @@ var EditingPanelHooks = () => {
4289
4345
 
4290
4346
  // src/dynamics/init.ts
4291
4347
  import { settingsTransformersRegistry, styleTransformersRegistry } from "@elementor/editor-canvas";
4348
+ import { injectIntoRepeaterItemIcon, injectIntoRepeaterItemLabel } from "@elementor/editor-controls";
4292
4349
 
4293
- // src/dynamics/components/dynamic-selection-control.tsx
4294
- import * as React87 from "react";
4295
- import { ControlFormLabel as ControlFormLabel6, useBoundProp as useBoundProp5 } from "@elementor/editor-controls";
4296
- import { PopoverHeader as PopoverHeader2 } from "@elementor/editor-ui";
4297
- import { DatabaseIcon as DatabaseIcon2, SettingsIcon, XIcon } from "@elementor/icons";
4298
- import {
4299
- bindPopover as bindPopover2,
4300
- bindTrigger as bindTrigger2,
4301
- Box as Box8,
4302
- Divider as Divider8,
4303
- Grid as Grid31,
4304
- IconButton as IconButton5,
4305
- Paper,
4306
- Popover as Popover2,
4307
- Stack as Stack21,
4308
- Tab as Tab2,
4309
- TabPanel as TabPanel2,
4310
- Tabs as Tabs2,
4311
- UnstableTag as Tag,
4312
- usePopupState as usePopupState3,
4313
- useTabs as useTabs2
4314
- } from "@elementor/ui";
4315
- import { __ as __57 } from "@wordpress/i18n";
4316
-
4317
- // src/components/popover-content.tsx
4318
- import * as React84 from "react";
4319
- import { Stack as Stack19 } from "@elementor/ui";
4320
- var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React84.createElement(Stack19, { alignItems, gap, p }, children);
4321
-
4322
- // src/hooks/use-persist-dynamic-value.ts
4323
- import { useSessionStorage as useSessionStorage2 } from "@elementor/session";
4324
- var usePersistDynamicValue = (propKey) => {
4325
- const { element } = useElement();
4326
- const prefixedKey = `dynamic/non-dynamic-values-history/${element.id}/${propKey}`;
4327
- return useSessionStorage2(prefixedKey);
4328
- };
4329
-
4330
- // src/dynamics/dynamic-control.tsx
4350
+ // src/dynamics/components/background-control-dynamic-tag.tsx
4331
4351
  import * as React85 from "react";
4332
4352
  import { PropKeyProvider as PropKeyProvider3, PropProvider as PropProvider3, useBoundProp as useBoundProp3 } from "@elementor/editor-controls";
4353
+ import {
4354
+ backgroundImageOverlayPropTypeUtil
4355
+ } from "@elementor/editor-props";
4356
+ import { DatabaseIcon } from "@elementor/icons";
4333
4357
 
4334
4358
  // src/dynamics/hooks/use-dynamic-tag.ts
4335
4359
  import { useMemo as useMemo8 } from "react";
@@ -4409,9 +4433,65 @@ var useDynamicTag = (tagName) => {
4409
4433
  return useMemo8(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
4410
4434
  };
4411
4435
 
4436
+ // src/dynamics/components/background-control-dynamic-tag.tsx
4437
+ var BackgroundControlDynamicTagIcon = () => /* @__PURE__ */ React85.createElement(DatabaseIcon, { fontSize: "tiny" });
4438
+ var BackgroundControlDynamicTagLabel = ({ value }) => {
4439
+ const context = useBoundProp3(backgroundImageOverlayPropTypeUtil);
4440
+ return /* @__PURE__ */ React85.createElement(PropProvider3, { ...context, value: value.value }, /* @__PURE__ */ React85.createElement(PropKeyProvider3, { bind: "image" }, /* @__PURE__ */ React85.createElement(Wrapper, { rawValue: value.value })));
4441
+ };
4442
+ var Wrapper = ({ rawValue }) => {
4443
+ const { propType } = useBoundProp3();
4444
+ const imageOverlayPropType = propType.prop_types["background-image-overlay"];
4445
+ return /* @__PURE__ */ React85.createElement(PropProvider3, { propType: imageOverlayPropType.shape.image, value: rawValue, setValue: () => void 0 }, /* @__PURE__ */ React85.createElement(PropKeyProvider3, { bind: "src" }, /* @__PURE__ */ React85.createElement(Content, { rawValue: rawValue.image })));
4446
+ };
4447
+ var Content = ({ rawValue }) => {
4448
+ const src = rawValue.value.src;
4449
+ const dynamicTag = useDynamicTag(src.value.name || "");
4450
+ return /* @__PURE__ */ React85.createElement(React85.Fragment, null, dynamicTag?.label);
4451
+ };
4452
+
4453
+ // src/dynamics/components/dynamic-selection-control.tsx
4454
+ import * as React89 from "react";
4455
+ import { ControlFormLabel as ControlFormLabel6, useBoundProp as useBoundProp6 } from "@elementor/editor-controls";
4456
+ import { PopoverHeader as PopoverHeader2 } from "@elementor/editor-ui";
4457
+ import { DatabaseIcon as DatabaseIcon3, SettingsIcon, XIcon } from "@elementor/icons";
4458
+ import {
4459
+ bindPopover as bindPopover2,
4460
+ bindTrigger as bindTrigger2,
4461
+ Box as Box8,
4462
+ Divider as Divider8,
4463
+ Grid as Grid31,
4464
+ IconButton as IconButton5,
4465
+ Paper,
4466
+ Popover as Popover2,
4467
+ Stack as Stack21,
4468
+ Tab as Tab2,
4469
+ TabPanel as TabPanel2,
4470
+ Tabs as Tabs2,
4471
+ UnstableTag as Tag,
4472
+ usePopupState as usePopupState3,
4473
+ useTabs as useTabs2
4474
+ } from "@elementor/ui";
4475
+ import { __ as __57 } from "@wordpress/i18n";
4476
+
4477
+ // src/components/popover-content.tsx
4478
+ import * as React86 from "react";
4479
+ import { Stack as Stack19 } from "@elementor/ui";
4480
+ var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React86.createElement(Stack19, { alignItems, gap, p }, children);
4481
+
4482
+ // src/hooks/use-persist-dynamic-value.ts
4483
+ import { useSessionStorage as useSessionStorage2 } from "@elementor/session";
4484
+ var usePersistDynamicValue = (propKey) => {
4485
+ const { element } = useElement();
4486
+ const prefixedKey = `dynamic/non-dynamic-values-history/${element.id}/${propKey}`;
4487
+ return useSessionStorage2(prefixedKey);
4488
+ };
4489
+
4412
4490
  // src/dynamics/dynamic-control.tsx
4491
+ import * as React87 from "react";
4492
+ import { PropKeyProvider as PropKeyProvider4, PropProvider as PropProvider4, useBoundProp as useBoundProp4 } from "@elementor/editor-controls";
4413
4493
  var DynamicControl = ({ bind, children }) => {
4414
- const { value, setValue } = useBoundProp3(dynamicPropTypeUtil);
4494
+ const { value, setValue } = useBoundProp4(dynamicPropTypeUtil);
4415
4495
  const { name = "", settings } = value ?? {};
4416
4496
  const dynamicTag = useDynamicTag(name);
4417
4497
  if (!dynamicTag) {
@@ -4430,14 +4510,14 @@ var DynamicControl = ({ bind, children }) => {
4430
4510
  });
4431
4511
  };
4432
4512
  const propType = createTopLevelOjectType({ schema: dynamicTag.props_schema });
4433
- return /* @__PURE__ */ React85.createElement(PropProvider3, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React85.createElement(PropKeyProvider3, { bind }, children));
4513
+ return /* @__PURE__ */ React87.createElement(PropProvider4, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React87.createElement(PropKeyProvider4, { bind }, children));
4434
4514
  };
4435
4515
 
4436
4516
  // src/dynamics/components/dynamic-selection.tsx
4437
- import * as React86 from "react";
4517
+ import * as React88 from "react";
4438
4518
  import { Fragment as Fragment11, useState as useState13 } from "react";
4439
- import { useBoundProp as useBoundProp4 } from "@elementor/editor-controls";
4440
- import { DatabaseIcon, SearchIcon } from "@elementor/icons";
4519
+ import { useBoundProp as useBoundProp5 } from "@elementor/editor-controls";
4520
+ import { DatabaseIcon as DatabaseIcon2, SearchIcon } from "@elementor/icons";
4441
4521
  import {
4442
4522
  Box as Box7,
4443
4523
  Divider as Divider7,
@@ -4455,8 +4535,8 @@ var SIZE7 = "tiny";
4455
4535
  var DynamicSelection = ({ onSelect }) => {
4456
4536
  const [searchValue, setSearchValue] = useState13("");
4457
4537
  const { groups: dynamicGroups } = getAtomicDynamicTags() || {};
4458
- const { value: anyValue } = useBoundProp4();
4459
- const { bind, value: dynamicValue, setValue } = useBoundProp4(dynamicPropTypeUtil);
4538
+ const { value: anyValue } = useBoundProp5();
4539
+ const { bind, value: dynamicValue, setValue } = useBoundProp5(dynamicPropTypeUtil);
4460
4540
  const [, updatePropValueHistory] = usePersistDynamicValue(bind);
4461
4541
  const isCurrentValueDynamic = !!dynamicValue;
4462
4542
  const options12 = useFilteredOptions(searchValue);
@@ -4471,7 +4551,7 @@ var DynamicSelection = ({ onSelect }) => {
4471
4551
  setValue({ name: value, settings: { label } });
4472
4552
  onSelect?.();
4473
4553
  };
4474
- return /* @__PURE__ */ React86.createElement(Stack20, null, hasNoDynamicTags ? /* @__PURE__ */ React86.createElement(NoDynamicTags, null) : /* @__PURE__ */ React86.createElement(Fragment11, null, /* @__PURE__ */ React86.createElement(Box7, { px: 1.5, pb: 1 }, /* @__PURE__ */ React86.createElement(
4554
+ return /* @__PURE__ */ React88.createElement(Stack20, null, hasNoDynamicTags ? /* @__PURE__ */ React88.createElement(NoDynamicTags, null) : /* @__PURE__ */ React88.createElement(Fragment11, null, /* @__PURE__ */ React88.createElement(Box7, { px: 1.5, pb: 1 }, /* @__PURE__ */ React88.createElement(
4475
4555
  TextField2,
4476
4556
  {
4477
4557
  fullWidth: true,
@@ -4480,10 +4560,10 @@ var DynamicSelection = ({ onSelect }) => {
4480
4560
  onChange: handleSearch,
4481
4561
  placeholder: __56("Search dynamic tags\u2026", "elementor"),
4482
4562
  InputProps: {
4483
- startAdornment: /* @__PURE__ */ React86.createElement(InputAdornment, { position: "start" }, /* @__PURE__ */ React86.createElement(SearchIcon, { fontSize: SIZE7 }))
4563
+ startAdornment: /* @__PURE__ */ React88.createElement(InputAdornment, { position: "start" }, /* @__PURE__ */ React88.createElement(SearchIcon, { fontSize: SIZE7 }))
4484
4564
  }
4485
4565
  }
4486
- )), /* @__PURE__ */ React86.createElement(Divider7, null), /* @__PURE__ */ React86.createElement(Box7, { sx: { overflowY: "auto", height: 260, width: 220 } }, options12.length > 0 ? /* @__PURE__ */ React86.createElement(MenuList, { role: "listbox", tabIndex: 0 }, options12.map(([category, items3], index) => /* @__PURE__ */ React86.createElement(Fragment11, { key: index }, /* @__PURE__ */ React86.createElement(
4566
+ )), /* @__PURE__ */ React88.createElement(Divider7, null), /* @__PURE__ */ React88.createElement(Box7, { sx: { overflowY: "auto", height: 260, width: 220 } }, options12.length > 0 ? /* @__PURE__ */ React88.createElement(MenuList, { role: "listbox", tabIndex: 0 }, options12.map(([category, items3], index) => /* @__PURE__ */ React88.createElement(Fragment11, { key: index }, /* @__PURE__ */ React88.createElement(
4487
4567
  MenuSubheader2,
4488
4568
  {
4489
4569
  sx: { px: 1.5, typography: "caption", color: "text.tertiary" }
@@ -4491,7 +4571,7 @@ var DynamicSelection = ({ onSelect }) => {
4491
4571
  dynamicGroups?.[category]?.title || category
4492
4572
  ), items3.map(({ value, label: tagLabel }) => {
4493
4573
  const isSelected = isCurrentValueDynamic && value === dynamicValue?.name;
4494
- return /* @__PURE__ */ React86.createElement(
4574
+ return /* @__PURE__ */ React88.createElement(
4495
4575
  MenuItem,
4496
4576
  {
4497
4577
  key: value,
@@ -4502,9 +4582,9 @@ var DynamicSelection = ({ onSelect }) => {
4502
4582
  },
4503
4583
  tagLabel
4504
4584
  );
4505
- })))) : /* @__PURE__ */ React86.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") }))));
4585
+ })))) : /* @__PURE__ */ React88.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") }))));
4506
4586
  };
4507
- var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React86.createElement(
4587
+ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React88.createElement(
4508
4588
  Stack20,
4509
4589
  {
4510
4590
  gap: 1,
@@ -4515,11 +4595,11 @@ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React86.createElem
4515
4595
  color: "text.secondary",
4516
4596
  sx: { pb: 3.5 }
4517
4597
  },
4518
- /* @__PURE__ */ React86.createElement(DatabaseIcon, { fontSize: "large" }),
4519
- /* @__PURE__ */ React86.createElement(Typography6, { align: "center", variant: "subtitle2" }, __56("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React86.createElement("br", null), "\u201C", searchValue, "\u201D."),
4520
- /* @__PURE__ */ React86.createElement(Typography6, { align: "center", variant: "caption" }, __56("Try something else.", "elementor"), "\xA0", /* @__PURE__ */ React86.createElement(Link2, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, __56("Clear & try again", "elementor")))
4598
+ /* @__PURE__ */ React88.createElement(DatabaseIcon2, { fontSize: "large" }),
4599
+ /* @__PURE__ */ React88.createElement(Typography6, { align: "center", variant: "subtitle2" }, __56("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React88.createElement("br", null), "\u201C", searchValue, "\u201D."),
4600
+ /* @__PURE__ */ React88.createElement(Typography6, { align: "center", variant: "caption" }, __56("Try something else.", "elementor"), "\xA0", /* @__PURE__ */ React88.createElement(Link2, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, __56("Clear & try again", "elementor")))
4521
4601
  );
4522
- var NoDynamicTags = () => /* @__PURE__ */ React86.createElement(Box7, { sx: { overflowY: "hidden", height: 297, width: 220 } }, /* @__PURE__ */ React86.createElement(Divider7, null), /* @__PURE__ */ React86.createElement(
4602
+ var NoDynamicTags = () => /* @__PURE__ */ React88.createElement(Box7, { sx: { overflowY: "hidden", height: 297, width: 220 } }, /* @__PURE__ */ React88.createElement(Divider7, null), /* @__PURE__ */ React88.createElement(
4523
4603
  Stack20,
4524
4604
  {
4525
4605
  gap: 1,
@@ -4530,9 +4610,9 @@ var NoDynamicTags = () => /* @__PURE__ */ React86.createElement(Box7, { sx: { ov
4530
4610
  color: "text.secondary",
4531
4611
  sx: { pb: 3.5 }
4532
4612
  },
4533
- /* @__PURE__ */ React86.createElement(DatabaseIcon, { fontSize: "large" }),
4534
- /* @__PURE__ */ React86.createElement(Typography6, { align: "center", variant: "subtitle2" }, __56("Streamline your workflow with dynamic tags", "elementor")),
4535
- /* @__PURE__ */ React86.createElement(Typography6, { align: "center", variant: "caption" }, __56("You\u2019ll need Elementor Pro to use this feature.", "elementor"))
4613
+ /* @__PURE__ */ React88.createElement(DatabaseIcon2, { fontSize: "large" }),
4614
+ /* @__PURE__ */ React88.createElement(Typography6, { align: "center", variant: "subtitle2" }, __56("Streamline your workflow with dynamic tags", "elementor")),
4615
+ /* @__PURE__ */ React88.createElement(Typography6, { align: "center", variant: "caption" }, __56("You\u2019ll need Elementor Pro to use this feature.", "elementor"))
4536
4616
  ));
4537
4617
  var useFilteredOptions = (searchValue) => {
4538
4618
  const dynamicTags = usePropDynamicTags();
@@ -4553,8 +4633,8 @@ var useFilteredOptions = (searchValue) => {
4553
4633
  // src/dynamics/components/dynamic-selection-control.tsx
4554
4634
  var SIZE8 = "tiny";
4555
4635
  var DynamicSelectionControl = () => {
4556
- const { setValue: setAnyValue } = useBoundProp5();
4557
- const { bind, value } = useBoundProp5(dynamicPropTypeUtil);
4636
+ const { setValue: setAnyValue } = useBoundProp6();
4637
+ const { bind, value } = useBoundProp6(dynamicPropTypeUtil);
4558
4638
  const [propValueFromHistory] = usePersistDynamicValue(bind);
4559
4639
  const selectionPopoverState = usePopupState3({ variant: "popover" });
4560
4640
  const { name: tagName = "" } = value;
@@ -4565,25 +4645,25 @@ var DynamicSelectionControl = () => {
4565
4645
  if (!dynamicTag) {
4566
4646
  throw new Error(`Dynamic tag ${tagName} not found`);
4567
4647
  }
4568
- return /* @__PURE__ */ React87.createElement(Box8, null, /* @__PURE__ */ React87.createElement(
4648
+ return /* @__PURE__ */ React89.createElement(Box8, null, /* @__PURE__ */ React89.createElement(
4569
4649
  Tag,
4570
4650
  {
4571
4651
  fullWidth: true,
4572
4652
  showActionsOnHover: true,
4573
4653
  label: dynamicTag.label,
4574
- startIcon: /* @__PURE__ */ React87.createElement(DatabaseIcon2, { fontSize: SIZE8 }),
4654
+ startIcon: /* @__PURE__ */ React89.createElement(DatabaseIcon3, { fontSize: SIZE8 }),
4575
4655
  ...bindTrigger2(selectionPopoverState),
4576
- actions: /* @__PURE__ */ React87.createElement(React87.Fragment, null, /* @__PURE__ */ React87.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React87.createElement(
4656
+ actions: /* @__PURE__ */ React89.createElement(React89.Fragment, null, /* @__PURE__ */ React89.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React89.createElement(
4577
4657
  IconButton5,
4578
4658
  {
4579
4659
  size: SIZE8,
4580
4660
  onClick: removeDynamicTag,
4581
4661
  "aria-label": __57("Remove dynamic value", "elementor")
4582
4662
  },
4583
- /* @__PURE__ */ React87.createElement(XIcon, { fontSize: SIZE8 })
4663
+ /* @__PURE__ */ React89.createElement(XIcon, { fontSize: SIZE8 })
4584
4664
  ))
4585
4665
  }
4586
- ), /* @__PURE__ */ React87.createElement(
4666
+ ), /* @__PURE__ */ React89.createElement(
4587
4667
  Popover2,
4588
4668
  {
4589
4669
  disablePortal: true,
@@ -4591,14 +4671,14 @@ var DynamicSelectionControl = () => {
4591
4671
  anchorOrigin: { vertical: "bottom", horizontal: "left" },
4592
4672
  ...bindPopover2(selectionPopoverState)
4593
4673
  },
4594
- /* @__PURE__ */ React87.createElement(Stack21, null, /* @__PURE__ */ React87.createElement(
4674
+ /* @__PURE__ */ React89.createElement(Stack21, null, /* @__PURE__ */ React89.createElement(
4595
4675
  PopoverHeader2,
4596
4676
  {
4597
4677
  title: __57("Dynamic tags", "elementor"),
4598
4678
  onClose: selectionPopoverState.close,
4599
- icon: /* @__PURE__ */ React87.createElement(DatabaseIcon2, { fontSize: SIZE8 })
4679
+ icon: /* @__PURE__ */ React89.createElement(DatabaseIcon3, { fontSize: SIZE8 })
4600
4680
  }
4601
- ), /* @__PURE__ */ React87.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
4681
+ ), /* @__PURE__ */ React89.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
4602
4682
  ));
4603
4683
  };
4604
4684
  var DynamicSettingsPopover = ({ dynamicTag }) => {
@@ -4607,7 +4687,7 @@ var DynamicSettingsPopover = ({ dynamicTag }) => {
4607
4687
  if (!hasDynamicSettings) {
4608
4688
  return null;
4609
4689
  }
4610
- return /* @__PURE__ */ React87.createElement(React87.Fragment, null, /* @__PURE__ */ React87.createElement(IconButton5, { size: SIZE8, ...bindTrigger2(popupState), "aria-label": __57("Settings", "elementor") }, /* @__PURE__ */ React87.createElement(SettingsIcon, { fontSize: SIZE8 })), /* @__PURE__ */ React87.createElement(
4690
+ return /* @__PURE__ */ React89.createElement(React89.Fragment, null, /* @__PURE__ */ React89.createElement(IconButton5, { size: SIZE8, ...bindTrigger2(popupState), "aria-label": __57("Settings", "elementor") }, /* @__PURE__ */ React89.createElement(SettingsIcon, { fontSize: SIZE8 })), /* @__PURE__ */ React89.createElement(
4611
4691
  Popover2,
4612
4692
  {
4613
4693
  disablePortal: true,
@@ -4615,14 +4695,14 @@ var DynamicSettingsPopover = ({ dynamicTag }) => {
4615
4695
  anchorOrigin: { vertical: "bottom", horizontal: "center" },
4616
4696
  ...bindPopover2(popupState)
4617
4697
  },
4618
- /* @__PURE__ */ React87.createElement(Paper, { component: Stack21, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React87.createElement(
4698
+ /* @__PURE__ */ React89.createElement(Paper, { component: Stack21, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React89.createElement(
4619
4699
  PopoverHeader2,
4620
4700
  {
4621
4701
  title: dynamicTag.label,
4622
4702
  onClose: popupState.close,
4623
- icon: /* @__PURE__ */ React87.createElement(DatabaseIcon2, { fontSize: SIZE8 })
4703
+ icon: /* @__PURE__ */ React89.createElement(DatabaseIcon3, { fontSize: SIZE8 })
4624
4704
  }
4625
- ), /* @__PURE__ */ React87.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
4705
+ ), /* @__PURE__ */ React89.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
4626
4706
  ));
4627
4707
  };
4628
4708
  var DynamicSettings = ({ controls }) => {
@@ -4631,10 +4711,10 @@ var DynamicSettings = ({ controls }) => {
4631
4711
  if (!tabs.length) {
4632
4712
  return null;
4633
4713
  }
4634
- return /* @__PURE__ */ React87.createElement(React87.Fragment, null, /* @__PURE__ */ React87.createElement(Tabs2, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React87.createElement(Tab2, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React87.createElement(Divider8, null), tabs.map(({ value }, index) => {
4635
- return /* @__PURE__ */ React87.createElement(TabPanel2, { key: index, sx: { flexGrow: 1, py: 0 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React87.createElement(PopoverContent, { p: 2, gap: 2 }, value.items.map((item) => {
4714
+ return /* @__PURE__ */ React89.createElement(React89.Fragment, null, /* @__PURE__ */ React89.createElement(Tabs2, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React89.createElement(Tab2, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React89.createElement(Divider8, null), tabs.map(({ value }, index) => {
4715
+ return /* @__PURE__ */ React89.createElement(TabPanel2, { key: index, sx: { flexGrow: 1, py: 0 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React89.createElement(PopoverContent, { p: 2, gap: 2 }, value.items.map((item) => {
4636
4716
  if (item.type === "control") {
4637
- return /* @__PURE__ */ React87.createElement(Control3, { key: item.value.bind, control: item.value });
4717
+ return /* @__PURE__ */ React89.createElement(Control3, { key: item.value.bind, control: item.value });
4638
4718
  }
4639
4719
  return null;
4640
4720
  })));
@@ -4644,7 +4724,7 @@ var Control3 = ({ control }) => {
4644
4724
  if (!getControl(control.type)) {
4645
4725
  return null;
4646
4726
  }
4647
- return /* @__PURE__ */ React87.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React87.createElement(Grid31, { container: true, gap: 0.75 }, control.label ? /* @__PURE__ */ React87.createElement(Grid31, { item: true, xs: 12 }, /* @__PURE__ */ React87.createElement(ControlFormLabel6, null, control.label)) : null, /* @__PURE__ */ React87.createElement(Grid31, { item: true, xs: 12 }, /* @__PURE__ */ React87.createElement(Control, { type: control.type, props: control.props }))));
4727
+ return /* @__PURE__ */ React89.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React89.createElement(Grid31, { container: true, gap: 0.75 }, control.label ? /* @__PURE__ */ React89.createElement(Grid31, { item: true, xs: 12 }, /* @__PURE__ */ React89.createElement(ControlFormLabel6, null, control.label)) : null, /* @__PURE__ */ React89.createElement(Grid31, { item: true, xs: 12 }, /* @__PURE__ */ React89.createElement(Control, { type: control.type, props: control.props }))));
4648
4728
  };
4649
4729
 
4650
4730
  // src/dynamics/dynamic-transformer.ts
@@ -4697,18 +4777,18 @@ function getDynamicValue(name, settings) {
4697
4777
  }
4698
4778
 
4699
4779
  // src/dynamics/hooks/use-prop-dynamic-action.tsx
4700
- import * as React88 from "react";
4701
- import { useBoundProp as useBoundProp6 } from "@elementor/editor-controls";
4702
- import { DatabaseIcon as DatabaseIcon3 } from "@elementor/icons";
4780
+ import * as React90 from "react";
4781
+ import { useBoundProp as useBoundProp7 } from "@elementor/editor-controls";
4782
+ import { DatabaseIcon as DatabaseIcon4 } from "@elementor/icons";
4703
4783
  import { __ as __58 } from "@wordpress/i18n";
4704
4784
  var usePropDynamicAction = () => {
4705
- const { propType } = useBoundProp6();
4785
+ const { propType } = useBoundProp7();
4706
4786
  const visible = !!propType && supportsDynamic(propType);
4707
4787
  return {
4708
4788
  visible,
4709
- icon: DatabaseIcon3,
4789
+ icon: DatabaseIcon4,
4710
4790
  title: __58("Dynamic tags", "elementor"),
4711
- popoverContent: ({ closePopover }) => /* @__PURE__ */ React88.createElement(DynamicSelection, { onSelect: closePopover })
4791
+ popoverContent: ({ closePopover }) => /* @__PURE__ */ React90.createElement(DynamicSelection, { onSelect: closePopover })
4712
4792
  };
4713
4793
  };
4714
4794
 
@@ -4719,6 +4799,16 @@ var init = () => {
4719
4799
  component: DynamicSelectionControl,
4720
4800
  condition: ({ value }) => isDynamicPropValue(value)
4721
4801
  });
4802
+ injectIntoRepeaterItemLabel({
4803
+ id: "dynamic-background-image",
4804
+ condition: ({ value }) => isDynamicPropValue(value.value?.image?.value?.src),
4805
+ component: BackgroundControlDynamicTagLabel
4806
+ });
4807
+ injectIntoRepeaterItemIcon({
4808
+ id: "dynamic-background-image",
4809
+ condition: ({ value }) => isDynamicPropValue(value.value?.image?.value?.src),
4810
+ component: BackgroundControlDynamicTagIcon
4811
+ });
4722
4812
  registerPopoverAction({
4723
4813
  id: "dynamic-tags",
4724
4814
  useProps: usePropDynamicAction
@@ -4728,7 +4818,7 @@ var init = () => {
4728
4818
  };
4729
4819
 
4730
4820
  // src/reset-style-props.tsx
4731
- import { useBoundProp as useBoundProp7 } from "@elementor/editor-controls";
4821
+ import { useBoundProp as useBoundProp8 } from "@elementor/editor-controls";
4732
4822
  import { BrushBigIcon } from "@elementor/icons";
4733
4823
  import { __ as __59 } from "@wordpress/i18n";
4734
4824
  var { registerAction } = controlActionsMenu;
@@ -4741,7 +4831,7 @@ function initResetStyleProps() {
4741
4831
  var EXCLUDED_BINDS = ["order", "flex-grow", "flex-shrink", "flex-basis"];
4742
4832
  function useResetStyleValueProps() {
4743
4833
  const isStyle = useIsStyle();
4744
- const { value, setValue, path, bind } = useBoundProp7();
4834
+ const { value, setValue, path, bind } = useBoundProp8();
4745
4835
  return {
4746
4836
  visible: isStyle && value !== null && value !== void 0 && path.length <= 2 && !EXCLUDED_BINDS.includes(bind),
4747
4837
  title: __59("Clear", "elementor"),
@@ -4754,36 +4844,36 @@ function useResetStyleValueProps() {
4754
4844
  import { createTransformer as createTransformer6, styleTransformersRegistry as styleTransformersRegistry2 } from "@elementor/editor-canvas";
4755
4845
 
4756
4846
  // src/styles-inheritance/transformers/background-color-overlay-transformer.tsx
4757
- import * as React89 from "react";
4847
+ import * as React91 from "react";
4758
4848
  import { createTransformer as createTransformer2 } from "@elementor/editor-canvas";
4759
4849
  import { Stack as Stack22, styled as styled7, UnstableColorIndicator } from "@elementor/ui";
4760
- var backgroundColorOverlayTransformer = createTransformer2((value) => /* @__PURE__ */ React89.createElement(Stack22, { direction: "row", gap: 10 }, /* @__PURE__ */ React89.createElement(ItemIconColor, { value }), /* @__PURE__ */ React89.createElement(ItemLabelColor, { value })));
4850
+ var backgroundColorOverlayTransformer = createTransformer2((value) => /* @__PURE__ */ React91.createElement(Stack22, { direction: "row", gap: 10 }, /* @__PURE__ */ React91.createElement(ItemIconColor, { value }), /* @__PURE__ */ React91.createElement(ItemLabelColor, { value })));
4761
4851
  var ItemIconColor = ({ value }) => {
4762
4852
  const { color } = value;
4763
- return /* @__PURE__ */ React89.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: color });
4853
+ return /* @__PURE__ */ React91.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: color });
4764
4854
  };
4765
4855
  var ItemLabelColor = ({ value: { color } }) => {
4766
- return /* @__PURE__ */ React89.createElement("span", null, color);
4856
+ return /* @__PURE__ */ React91.createElement("span", null, color);
4767
4857
  };
4768
4858
  var StyledUnstableColorIndicator = styled7(UnstableColorIndicator)(({ theme }) => ({
4769
4859
  borderRadius: `${theme.shape.borderRadius / 2}px`
4770
4860
  }));
4771
4861
 
4772
4862
  // src/styles-inheritance/transformers/background-gradient-overlay-transformer.tsx
4773
- import * as React90 from "react";
4863
+ import * as React92 from "react";
4774
4864
  import { createTransformer as createTransformer3 } from "@elementor/editor-canvas";
4775
4865
  import { Stack as Stack23 } from "@elementor/ui";
4776
4866
  import { __ as __60 } from "@wordpress/i18n";
4777
- var backgroundGradientOverlayTransformer = createTransformer3((value) => /* @__PURE__ */ React90.createElement(Stack23, { direction: "row", gap: 10 }, /* @__PURE__ */ React90.createElement(ItemIconGradient, { value }), /* @__PURE__ */ React90.createElement(ItemLabelGradient, { value })));
4867
+ var backgroundGradientOverlayTransformer = createTransformer3((value) => /* @__PURE__ */ React92.createElement(Stack23, { direction: "row", gap: 10 }, /* @__PURE__ */ React92.createElement(ItemIconGradient, { value }), /* @__PURE__ */ React92.createElement(ItemLabelGradient, { value })));
4778
4868
  var ItemIconGradient = ({ value }) => {
4779
4869
  const gradient = getGradientValue(value);
4780
- return /* @__PURE__ */ React90.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: gradient });
4870
+ return /* @__PURE__ */ React92.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: gradient });
4781
4871
  };
4782
4872
  var ItemLabelGradient = ({ value }) => {
4783
4873
  if (value.type === "linear") {
4784
- return /* @__PURE__ */ React90.createElement("span", null, __60("Linear Gradient", "elementor"));
4874
+ return /* @__PURE__ */ React92.createElement("span", null, __60("Linear Gradient", "elementor"));
4785
4875
  }
4786
- return /* @__PURE__ */ React90.createElement("span", null, __60("Radial Gradient", "elementor"));
4876
+ return /* @__PURE__ */ React92.createElement("span", null, __60("Radial Gradient", "elementor"));
4787
4877
  };
4788
4878
  var getGradientValue = (gradient) => {
4789
4879
  const stops = gradient.stops?.map(({ color, offset }) => `${color} ${offset ?? 0}%`)?.join(",");
@@ -4794,15 +4884,15 @@ var getGradientValue = (gradient) => {
4794
4884
  };
4795
4885
 
4796
4886
  // src/styles-inheritance/transformers/background-image-overlay-transformer.tsx
4797
- import * as React91 from "react";
4887
+ import * as React93 from "react";
4798
4888
  import { createTransformer as createTransformer4 } from "@elementor/editor-canvas";
4799
4889
  import { EllipsisWithTooltip as EllipsisWithTooltip2 } from "@elementor/editor-ui";
4800
4890
  import { CardMedia, Stack as Stack24 } from "@elementor/ui";
4801
4891
  import { useWpMediaAttachment } from "@elementor/wp-media";
4802
- var backgroundImageOverlayTransformer = createTransformer4((value) => /* @__PURE__ */ React91.createElement(Stack24, { direction: "row", gap: 10 }, /* @__PURE__ */ React91.createElement(ItemIconImage, { value }), /* @__PURE__ */ React91.createElement(ItemLabelImage, { value })));
4892
+ var backgroundImageOverlayTransformer = createTransformer4((value) => /* @__PURE__ */ React93.createElement(Stack24, { direction: "row", gap: 10 }, /* @__PURE__ */ React93.createElement(ItemIconImage, { value }), /* @__PURE__ */ React93.createElement(ItemLabelImage, { value })));
4803
4893
  var ItemIconImage = ({ value }) => {
4804
4894
  const { imageUrl } = useImage(value);
4805
- return /* @__PURE__ */ React91.createElement(
4895
+ return /* @__PURE__ */ React93.createElement(
4806
4896
  CardMedia,
4807
4897
  {
4808
4898
  image: imageUrl,
@@ -4817,7 +4907,7 @@ var ItemIconImage = ({ value }) => {
4817
4907
  };
4818
4908
  var ItemLabelImage = ({ value }) => {
4819
4909
  const { imageTitle } = useImage(value);
4820
- return /* @__PURE__ */ React91.createElement(EllipsisWithTooltip2, { title: imageTitle }, /* @__PURE__ */ React91.createElement("span", null, imageTitle));
4910
+ return /* @__PURE__ */ React93.createElement(EllipsisWithTooltip2, { title: imageTitle }, /* @__PURE__ */ React93.createElement("span", null, imageTitle));
4821
4911
  };
4822
4912
  var useImage = (image) => {
4823
4913
  let imageTitle, imageUrl = null;
@@ -4842,14 +4932,14 @@ var getFileExtensionFromFilename = (filename) => {
4842
4932
  };
4843
4933
 
4844
4934
  // src/styles-inheritance/transformers/background-overlay-transformer.tsx
4845
- import * as React92 from "react";
4935
+ import * as React94 from "react";
4846
4936
  import { createTransformer as createTransformer5 } from "@elementor/editor-canvas";
4847
4937
  import { Stack as Stack25 } from "@elementor/ui";
4848
4938
  var backgroundOverlayTransformer = createTransformer5((values) => {
4849
4939
  if (!values || values.length === 0) {
4850
4940
  return null;
4851
4941
  }
4852
- return /* @__PURE__ */ React92.createElement(Stack25, { direction: "column" }, values.map((item, index) => /* @__PURE__ */ React92.createElement(Stack25, { key: index }, item)));
4942
+ return /* @__PURE__ */ React94.createElement(Stack25, { direction: "column" }, values.map((item, index) => /* @__PURE__ */ React94.createElement(Stack25, { key: index }, item)));
4853
4943
  });
4854
4944
 
4855
4945
  // src/styles-inheritance/init-styles-inheritance-transformers.ts
@@ -4914,7 +5004,7 @@ export {
4914
5004
  init3 as init,
4915
5005
  injectIntoClassSelectorActions,
4916
5006
  registerControlReplacement,
4917
- useBoundProp8 as useBoundProp,
5007
+ useBoundProp9 as useBoundProp,
4918
5008
  useFontFamilies,
4919
5009
  usePanelActions,
4920
5010
  usePanelStatus