@elementor/editor-editing-panel 1.43.1 → 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 (53) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist/index.d.mts +4 -1
  3. package/dist/index.d.ts +4 -1
  4. package/dist/index.js +1247 -977
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.mjs +1025 -755
  7. package/dist/index.mjs.map +1 -1
  8. package/package.json +8 -8
  9. package/src/action.tsx +1 -1
  10. package/src/components/add-or-remove-content.tsx +3 -4
  11. package/src/components/collapsible-content.tsx +42 -14
  12. package/src/components/control-label.tsx +1 -1
  13. package/src/components/section.tsx +21 -7
  14. package/src/components/style-sections/border-section/border-field.tsx +2 -1
  15. package/src/components/style-sections/border-section/border-radius-field.tsx +12 -9
  16. package/src/components/style-sections/layout-section/align-content-field.tsx +10 -14
  17. package/src/components/style-sections/layout-section/align-items-field.tsx +13 -17
  18. package/src/components/style-sections/layout-section/align-self-child-field.tsx +13 -17
  19. package/src/components/style-sections/layout-section/flex-direction-field.tsx +13 -17
  20. package/src/components/style-sections/layout-section/flex-order-field.tsx +30 -33
  21. package/src/components/style-sections/layout-section/flex-size-field.tsx +60 -59
  22. package/src/components/style-sections/layout-section/justify-content-field.tsx +10 -14
  23. package/src/components/style-sections/layout-section/wrap-field.tsx +13 -17
  24. package/src/components/style-sections/position-section/dimensions-field.tsx +33 -15
  25. package/src/components/style-sections/position-section/offset-field.tsx +5 -2
  26. package/src/components/style-sections/size-section/size-section.tsx +54 -39
  27. package/src/components/style-sections/spacing-section/spacing-section.tsx +1 -1
  28. package/src/components/style-sections/typography-section/column-gap-field.tsx +5 -2
  29. package/src/components/style-sections/typography-section/font-size-field.tsx +5 -2
  30. package/src/components/style-sections/typography-section/letter-spacing-field.tsx +5 -2
  31. package/src/components/style-sections/typography-section/line-height-field.tsx +5 -2
  32. package/src/components/style-sections/typography-section/text-alignment-field.tsx +12 -9
  33. package/src/components/style-sections/typography-section/text-stroke-field.tsx +2 -1
  34. package/src/components/style-sections/typography-section/typography-section.tsx +15 -3
  35. package/src/components/style-sections/typography-section/word-spacing-field.tsx +5 -2
  36. package/src/components/style-tab-collapsible-content.tsx +22 -0
  37. package/src/components/style-tab-section.tsx +30 -0
  38. package/src/components/style-tab.tsx +51 -35
  39. package/src/controls-registry/styles-field.tsx +1 -1
  40. package/src/dynamics/components/background-control-dynamic-tag.tsx +48 -0
  41. package/src/dynamics/components/dynamic-selection-control.tsx +11 -15
  42. package/src/dynamics/init.ts +21 -0
  43. package/src/index.ts +1 -0
  44. package/src/popover-action.tsx +3 -9
  45. package/src/styles-inheritance/components/{label-chip.tsx → infotip/label-chip.tsx} +1 -1
  46. package/src/styles-inheritance/{styles-inheritance-indicator.tsx → components/styles-inheritance-indicator.tsx} +8 -8
  47. package/src/styles-inheritance/{styles-inheritance-infotip.tsx → components/styles-inheritance-infotip.tsx} +7 -7
  48. package/src/styles-inheritance/components/styles-inheritance-section-indicators.tsx +113 -0
  49. package/src/styles-inheritance/components/ui-providers.tsx +18 -0
  50. /package/src/styles-inheritance/components/{action-icons.tsx → infotip/action-icons.tsx} +0 -0
  51. /package/src/styles-inheritance/components/{breakpoint-icon.tsx → infotip/breakpoint-icon.tsx} +0 -0
  52. /package/src/styles-inheritance/components/{index.ts → infotip/index.ts} +0 -0
  53. /package/src/styles-inheritance/components/{value-component.tsx → infotip/value-component.tsx} +0 -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,15 +1142,15 @@ function useHandleSelect() {
1142
1142
  import { __createPanel as createPanel } from "@elementor/editor-panels";
1143
1143
 
1144
1144
  // src/components/editing-panel.tsx
1145
- import * as React80 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";
1153
- import { __ as __54 } from "@wordpress/i18n";
1153
+ import { __ as __55 } from "@wordpress/i18n";
1154
1154
 
1155
1155
  // src/controls-actions.ts
1156
1156
  import { createMenu } from "@elementor/menus";
@@ -1163,14 +1163,14 @@ function Action({ title, visible = true, icon: Icon, onClick }) {
1163
1163
  if (!visible) {
1164
1164
  return null;
1165
1165
  }
1166
- return /* @__PURE__ */ React9.createElement(Tooltip, { placement: "bottom", title, arrow: true }, /* @__PURE__ */ React9.createElement(IconButton, { "aria-label": title, size: SIZE, onClick }, /* @__PURE__ */ React9.createElement(Icon, { fontSize: SIZE })));
1166
+ return /* @__PURE__ */ React9.createElement(Tooltip, { placement: "top", title, arrow: true }, /* @__PURE__ */ React9.createElement(IconButton, { "aria-label": title, size: SIZE, onClick }, /* @__PURE__ */ React9.createElement(Icon, { fontSize: SIZE })));
1167
1167
  }
1168
1168
 
1169
1169
  // src/popover-action.tsx
1170
1170
  import * as React10 from "react";
1171
1171
  import { useId as useId2 } from "react";
1172
- import { XIcon } from "@elementor/icons";
1173
- import { bindPopover, bindToggle, IconButton as IconButton2, Popover, Stack as Stack4, Tooltip as Tooltip2, Typography as Typography4, usePopupState as usePopupState2 } from "@elementor/ui";
1172
+ import { PopoverHeader } from "@elementor/editor-ui";
1173
+ import { bindPopover, bindToggle, IconButton as IconButton2, Popover, Tooltip as Tooltip2, usePopupState as usePopupState2 } from "@elementor/ui";
1174
1174
  var SIZE2 = "tiny";
1175
1175
  function PopoverAction({
1176
1176
  title,
@@ -1197,7 +1197,7 @@ function PopoverAction({
1197
1197
  },
1198
1198
  ...bindPopover(popupState)
1199
1199
  },
1200
- /* @__PURE__ */ React10.createElement(Stack4, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React10.createElement(Icon, { fontSize: SIZE2, sx: { mr: 0.5 } }), /* @__PURE__ */ React10.createElement(Typography4, { variant: "subtitle2" }, title), /* @__PURE__ */ React10.createElement(IconButton2, { sx: { ml: "auto" }, size: SIZE2, onClick: popupState.close }, /* @__PURE__ */ React10.createElement(XIcon, { fontSize: SIZE2 }))),
1200
+ /* @__PURE__ */ React10.createElement(PopoverHeader, { title, onClose: popupState.close, icon: /* @__PURE__ */ React10.createElement(Icon, { fontSize: SIZE2 }) }),
1201
1201
  /* @__PURE__ */ React10.createElement(PopoverContent2, { closePopover: popupState.close })
1202
1202
  ));
1203
1203
  }
@@ -1218,11 +1218,11 @@ function EditorPanelErrorFallback() {
1218
1218
  }
1219
1219
 
1220
1220
  // src/components/editing-panel-tabs.tsx
1221
- import * as React79 from "react";
1222
- import { Fragment as Fragment10 } from "react";
1223
- import { isExperimentActive as isExperimentActive11 } from "@elementor/editor-v1-adapters";
1221
+ import * as React83 from "react";
1222
+ import { Fragment as Fragment9 } from "react";
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
- import { __ as __53 } from "@wordpress/i18n";
1225
+ import { __ as __54 } from "@wordpress/i18n";
1226
1226
 
1227
1227
  // src/contexts/scroll-context.tsx
1228
1228
  import * as React12 from "react";
@@ -1306,9 +1306,9 @@ var useStateByElement = (key, initialValue) => {
1306
1306
  };
1307
1307
 
1308
1308
  // src/components/settings-tab.tsx
1309
- import * as React18 from "react";
1309
+ import * as React19 from "react";
1310
1310
  import { ControlFormLabel } from "@elementor/editor-controls";
1311
- import { isExperimentActive as isExperimentActive3 } from "@elementor/editor-v1-adapters";
1311
+ import { isExperimentActive as isExperimentActive4 } from "@elementor/editor-v1-adapters";
1312
1312
  import { SessionStorageProvider } from "@elementor/session";
1313
1313
  import { Divider as Divider3 } from "@elementor/ui";
1314
1314
 
@@ -1408,9 +1408,10 @@ var SettingsField = ({ bind, children }) => {
1408
1408
  };
1409
1409
 
1410
1410
  // src/components/section.tsx
1411
- import * as React16 from "react";
1411
+ import * as React17 from "react";
1412
1412
  import { useId as useId3 } from "react";
1413
- import { Collapse, Divider as Divider2, ListItemButton, ListItemText, Stack as Stack5 } from "@elementor/ui";
1413
+ import { isExperimentActive as isExperimentActive3 } from "@elementor/editor-v1-adapters";
1414
+ import { Collapse as Collapse2, Divider as Divider2, ListItemButton, ListItemText, Stack as Stack5 } from "@elementor/ui";
1414
1415
 
1415
1416
  // src/components/collapse-icon.tsx
1416
1417
  import { ChevronDownIcon } from "@elementor/icons";
@@ -1424,49 +1425,95 @@ var CollapseIcon = styled5(ChevronDownIcon, {
1424
1425
  })
1425
1426
  }));
1426
1427
 
1428
+ // src/components/collapsible-content.tsx
1429
+ import * as React16 from "react";
1430
+ import { useState as useState7 } from "react";
1431
+ import { Button, Collapse, Stack as Stack4, styled as styled6 } from "@elementor/ui";
1432
+ import { __ as __5 } from "@wordpress/i18n";
1433
+ var IndicatorsWrapper = styled6("div")`
1434
+ position: absolute;
1435
+ top: 0;
1436
+ right: ${({ theme }) => theme.spacing(3)};
1437
+ height: 100%;
1438
+ display: flex;
1439
+ flex-direction: column;
1440
+ align-items: center;
1441
+ justify-content: center;
1442
+ `;
1443
+ var CollapsibleContent = ({ children, defaultOpen = false, titleEnd = null }) => {
1444
+ const [open, setOpen] = useState7(defaultOpen);
1445
+ const handleToggle = () => {
1446
+ setOpen((prevOpen) => !prevOpen);
1447
+ };
1448
+ return /* @__PURE__ */ React16.createElement(Stack4, null, /* @__PURE__ */ React16.createElement(Stack4, { sx: { position: "relative" } }, /* @__PURE__ */ React16.createElement(
1449
+ Button,
1450
+ {
1451
+ fullWidth: true,
1452
+ size: "small",
1453
+ color: "secondary",
1454
+ variant: "outlined",
1455
+ onClick: handleToggle,
1456
+ endIcon: /* @__PURE__ */ React16.createElement(CollapseIcon, { open }),
1457
+ sx: { my: 0.5 }
1458
+ },
1459
+ open ? __5("Show less", "elementor") : __5("Show more", "elementor")
1460
+ ), titleEnd && /* @__PURE__ */ React16.createElement(IndicatorsWrapper, null, getCollapsibleValue(titleEnd, open))), /* @__PURE__ */ React16.createElement(Collapse, { in: open, timeout: "auto", unmountOnExit: true }, children));
1461
+ };
1462
+ function getCollapsibleValue(value, isOpen) {
1463
+ if (typeof value === "function") {
1464
+ return value(isOpen);
1465
+ }
1466
+ return value;
1467
+ }
1468
+
1427
1469
  // src/components/section.tsx
1428
- function Section({ title, children, defaultExpanded = false }) {
1470
+ function Section({ title, children, defaultExpanded = false, titleEnd }) {
1429
1471
  const [isOpen, setIsOpen] = useStateByElement(title, !!defaultExpanded);
1472
+ const handleClick = () => {
1473
+ setIsOpen(!isOpen);
1474
+ };
1430
1475
  const id = useId3();
1431
1476
  const labelId = `label-${id}`;
1432
1477
  const contentId = `content-${id}`;
1433
- return /* @__PURE__ */ React16.createElement(React16.Fragment, null, /* @__PURE__ */ React16.createElement(
1478
+ const isUsingTitleEnd = isExperimentActive3(EXPERIMENTAL_FEATURES.V_3_30);
1479
+ return /* @__PURE__ */ React17.createElement(React17.Fragment, null, /* @__PURE__ */ React17.createElement(
1434
1480
  ListItemButton,
1435
1481
  {
1436
1482
  id: labelId,
1437
1483
  "aria-controls": contentId,
1438
- onClick: () => setIsOpen(!isOpen),
1484
+ onClick: handleClick,
1439
1485
  sx: { "&:hover": { backgroundColor: "transparent" } }
1440
1486
  },
1441
- /* @__PURE__ */ React16.createElement(
1487
+ /* @__PURE__ */ React17.createElement(Stack5, { direction: "row", alignItems: "center", justifyItems: "start", flexGrow: 1, gap: 0.5 }, /* @__PURE__ */ React17.createElement(
1442
1488
  ListItemText,
1443
1489
  {
1444
1490
  secondary: title,
1445
- secondaryTypographyProps: { color: "text.primary", variant: "caption", fontWeight: "bold" }
1491
+ secondaryTypographyProps: { color: "text.primary", variant: "caption", fontWeight: "bold" },
1492
+ sx: { flexGrow: 0, flexShrink: 1, marginInlineEnd: 1 }
1446
1493
  }
1447
- ),
1448
- /* @__PURE__ */ React16.createElement(CollapseIcon, { open: isOpen, color: "secondary", fontSize: "tiny" })
1449
- ), /* @__PURE__ */ React16.createElement(Collapse, { id: contentId, "aria-labelledby": labelId, in: isOpen, timeout: "auto", unmountOnExit: true }, /* @__PURE__ */ React16.createElement(Stack5, { gap: 2.5, p: 2 }, children)), /* @__PURE__ */ React16.createElement(Divider2, null));
1494
+ ), isUsingTitleEnd ? getCollapsibleValue(titleEnd, isOpen) : null),
1495
+ /* @__PURE__ */ React17.createElement(CollapseIcon, { open: isOpen, color: "secondary", fontSize: "tiny" })
1496
+ ), /* @__PURE__ */ React17.createElement(Collapse2, { id: contentId, "aria-labelledby": labelId, in: isOpen, timeout: "auto", unmountOnExit: true }, /* @__PURE__ */ React17.createElement(Stack5, { gap: 2.5, p: 2 }, children)), /* @__PURE__ */ React17.createElement(Divider2, null));
1450
1497
  }
1451
1498
 
1452
1499
  // src/components/sections-list.tsx
1453
- import * as React17 from "react";
1500
+ import * as React18 from "react";
1454
1501
  import { List } from "@elementor/ui";
1455
1502
  function SectionsList(props) {
1456
- return /* @__PURE__ */ React17.createElement(List, { disablePadding: true, component: "div", ...props });
1503
+ return /* @__PURE__ */ React18.createElement(List, { disablePadding: true, component: "div", ...props });
1457
1504
  }
1458
1505
 
1459
1506
  // src/components/settings-tab.tsx
1460
1507
  var SettingsTab = () => {
1461
1508
  const { elementType, element } = useElement();
1462
1509
  const settingsDefault = useDefaultPanelSettings();
1463
- const isDefaultExpanded = (sectionId) => isExperimentActive3(EXPERIMENTAL_FEATURES.V_3_30) ? settingsDefault.defaultSectionsExpanded.settings?.includes(sectionId) : true;
1464
- return /* @__PURE__ */ React18.createElement(SessionStorageProvider, { prefix: element.id }, /* @__PURE__ */ React18.createElement(SectionsList, null, elementType.controls.map(({ type, value }, index) => {
1510
+ const isDefaultExpanded = (sectionId) => isExperimentActive4(EXPERIMENTAL_FEATURES.V_3_30) ? settingsDefault.defaultSectionsExpanded.settings?.includes(sectionId) : true;
1511
+ return /* @__PURE__ */ React19.createElement(SessionStorageProvider, { prefix: element.id }, /* @__PURE__ */ React19.createElement(SectionsList, null, elementType.controls.map(({ type, value }, index) => {
1465
1512
  if (type === "control") {
1466
- return /* @__PURE__ */ React18.createElement(Control2, { key: value.bind, control: value });
1513
+ return /* @__PURE__ */ React19.createElement(Control2, { key: value.bind, control: value });
1467
1514
  }
1468
1515
  if (type === "section") {
1469
- return /* @__PURE__ */ React18.createElement(
1516
+ return /* @__PURE__ */ React19.createElement(
1470
1517
  Section,
1471
1518
  {
1472
1519
  title: value.label,
@@ -1475,7 +1522,7 @@ var SettingsTab = () => {
1475
1522
  },
1476
1523
  value.items?.map((item) => {
1477
1524
  if (item.type === "control") {
1478
- return /* @__PURE__ */ React18.createElement(Control2, { key: item.value.bind, control: item.value });
1525
+ return /* @__PURE__ */ React19.createElement(Control2, { key: item.value.bind, control: item.value });
1479
1526
  }
1480
1527
  return null;
1481
1528
  })
@@ -1489,21 +1536,20 @@ var Control2 = ({ control }) => {
1489
1536
  return null;
1490
1537
  }
1491
1538
  const layout = control.meta?.layout || getDefaultLayout(control.type);
1492
- return /* @__PURE__ */ React18.createElement(SettingsField, { bind: control.bind }, control.meta?.topDivider && /* @__PURE__ */ React18.createElement(Divider3, null), /* @__PURE__ */ React18.createElement(ControlTypeContainer, { layout }, control.label ? /* @__PURE__ */ React18.createElement(ControlFormLabel, null, control.label) : null, /* @__PURE__ */ React18.createElement(Control, { type: control.type, props: control.props })));
1539
+ return /* @__PURE__ */ React19.createElement(SettingsField, { bind: control.bind }, control.meta?.topDivider && /* @__PURE__ */ React19.createElement(Divider3, null), /* @__PURE__ */ React19.createElement(ControlTypeContainer, { layout }, control.label ? /* @__PURE__ */ React19.createElement(ControlFormLabel, null, control.label) : null, /* @__PURE__ */ React19.createElement(Control, { type: control.type, props: control.props })));
1493
1540
  };
1494
1541
 
1495
1542
  // src/components/style-tab.tsx
1496
- import * as React78 from "react";
1543
+ import * as React82 from "react";
1497
1544
  import { useState as useState12 } from "react";
1498
1545
  import { CLASSES_PROP_KEY } from "@elementor/editor-props";
1499
1546
  import { useActiveBreakpoint } from "@elementor/editor-responsive";
1500
- import { isExperimentActive as isExperimentActive10 } from "@elementor/editor-v1-adapters";
1501
1547
  import { SessionStorageProvider as SessionStorageProvider2 } from "@elementor/session";
1502
1548
  import { Divider as Divider5, Stack as Stack17 } from "@elementor/ui";
1503
- import { __ as __52 } from "@wordpress/i18n";
1549
+ import { __ as __53 } from "@wordpress/i18n";
1504
1550
 
1505
1551
  // src/contexts/styles-inheritance-context.tsx
1506
- import * as React19 from "react";
1552
+ import * as React20 from "react";
1507
1553
  import { createContext as createContext7, useContext as useContext7 } from "react";
1508
1554
  import { getWidgetsCache, useElementSetting as useElementSetting3 } from "@elementor/editor-elements";
1509
1555
  import { classesPropTypeUtil as classesPropTypeUtil2 } from "@elementor/editor-props";
@@ -1742,7 +1788,7 @@ function StyleInheritanceProvider({ children }) {
1742
1788
  const styleDefs = useAppliedStyles();
1743
1789
  const breakpointsTree = getBreakpointsTree();
1744
1790
  const { getSnapshot, getInheritanceChain } = createStylesInheritance(styleDefs, breakpointsTree);
1745
- return /* @__PURE__ */ React19.createElement(Context4.Provider, { value: { getSnapshot, getInheritanceChain } }, children);
1791
+ return /* @__PURE__ */ React20.createElement(Context4.Provider, { value: { getSnapshot, getInheritanceChain } }, children);
1746
1792
  }
1747
1793
  function useStylesInheritanceSnapshot() {
1748
1794
  const context = useContext7(Context4);
@@ -1811,11 +1857,11 @@ function useActiveAndAppliedClassId(id, appliedClassesIds) {
1811
1857
  }
1812
1858
 
1813
1859
  // src/components/style-sections/background-section/background-section.tsx
1814
- import * as React28 from "react";
1860
+ import * as React29 from "react";
1815
1861
  import { BackgroundControl } from "@elementor/editor-controls";
1816
1862
 
1817
1863
  // src/controls-registry/styles-field.tsx
1818
- import * as React27 from "react";
1864
+ import * as React28 from "react";
1819
1865
  import { ControlAdornmentsProvider, PropKeyProvider as PropKeyProvider2, PropProvider as PropProvider2 } from "@elementor/editor-controls";
1820
1866
  import { getStylesSchema as getStylesSchema2 } from "@elementor/editor-styles";
1821
1867
 
@@ -1829,7 +1875,7 @@ import {
1829
1875
  import { getVariantByMeta } from "@elementor/editor-styles";
1830
1876
  import { ELEMENTS_STYLES_RESERVED_LABEL } from "@elementor/editor-styles-repository";
1831
1877
  import { undoable as undoable2 } from "@elementor/editor-v1-adapters";
1832
- import { __ as __5 } from "@wordpress/i18n";
1878
+ import { __ as __6 } from "@wordpress/i18n";
1833
1879
  function useStylesFields(propNames) {
1834
1880
  const { element } = useElement();
1835
1881
  const { id, meta, provider } = useStyle();
@@ -1900,7 +1946,7 @@ function useUndoableCreateElementStyle() {
1900
1946
  },
1901
1947
  {
1902
1948
  title: ({ elementId }) => getElementLabel2(elementId),
1903
- subtitle: __5("Style edited", "elementor")
1949
+ subtitle: __6("Style edited", "elementor")
1904
1950
  }
1905
1951
  );
1906
1952
  }, []);
@@ -1933,7 +1979,7 @@ function useUndoableUpdateStyle() {
1933
1979
  },
1934
1980
  {
1935
1981
  title: ({ elementId }) => getElementLabel2(elementId),
1936
- subtitle: __5("Style edited", "elementor")
1982
+ subtitle: __6("Style edited", "elementor")
1937
1983
  }
1938
1984
  );
1939
1985
  }, []);
@@ -1959,17 +2005,17 @@ function useStylesField(propName) {
1959
2005
  return [value, setValue];
1960
2006
  }
1961
2007
 
1962
- // src/styles-inheritance/styles-inheritance-indicator.tsx
1963
- import * as React26 from "react";
2008
+ // src/styles-inheritance/components/styles-inheritance-indicator.tsx
2009
+ import * as React27 from "react";
1964
2010
  import { useBoundProp } from "@elementor/editor-controls";
1965
2011
  import { isEmpty as isEmpty2 } from "@elementor/editor-props";
1966
2012
  import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as ELEMENTS_BASE_STYLES_PROVIDER_KEY3, isElementsStylesProvider as isElementsStylesProvider3 } from "@elementor/editor-styles-repository";
1967
- import { isExperimentActive as isExperimentActive5 } from "@elementor/editor-v1-adapters";
2013
+ import { isExperimentActive as isExperimentActive6 } from "@elementor/editor-v1-adapters";
1968
2014
  import { Tooltip as Tooltip6 } from "@elementor/ui";
1969
- import { __ as __9 } from "@wordpress/i18n";
2015
+ import { __ as __10 } from "@wordpress/i18n";
1970
2016
 
1971
2017
  // src/styles-inheritance/consts.ts
1972
- import { isExperimentActive as isExperimentActive4 } from "@elementor/editor-v1-adapters";
2018
+ import { isExperimentActive as isExperimentActive5 } from "@elementor/editor-v1-adapters";
1973
2019
  var excludePropTypeTransformers = /* @__PURE__ */ new Set([
1974
2020
  "background-color-overlay",
1975
2021
  "background-image-overlay",
@@ -1982,11 +2028,11 @@ var excludePropTypeTransformers = /* @__PURE__ */ new Set([
1982
2028
  "image",
1983
2029
  "background-overlay"
1984
2030
  ]);
1985
- var isUsingIndicatorPopover = () => isExperimentActive4("e_v_3_30");
2031
+ var isUsingIndicatorPopover = () => isExperimentActive5("e_v_3_30");
1986
2032
 
1987
- // src/styles-inheritance/styles-inheritance-infotip.tsx
1988
- import * as React25 from "react";
1989
- import { useMemo as useMemo4, useState as useState8 } from "react";
2033
+ // src/styles-inheritance/components/styles-inheritance-infotip.tsx
2034
+ import * as React26 from "react";
2035
+ import { useMemo as useMemo4, useState as useState9 } from "react";
1990
2036
  import { createPropsResolver } from "@elementor/editor-canvas";
1991
2037
  import {
1992
2038
  Backdrop,
@@ -1999,19 +2045,19 @@ import {
1999
2045
  Infotip,
2000
2046
  Stack as Stack7,
2001
2047
  Tooltip as Tooltip5,
2002
- Typography as Typography6
2048
+ Typography as Typography5
2003
2049
  } from "@elementor/ui";
2004
- import { __ as __8 } from "@wordpress/i18n";
2050
+ import { __ as __9 } from "@wordpress/i18n";
2005
2051
 
2006
2052
  // src/components/section-content.tsx
2007
2053
  import { createContext as createContext8, useContext as useContext8, useRef as useRef3 } from "react";
2008
- import * as React20 from "react";
2054
+ import * as React21 from "react";
2009
2055
  import { Stack as Stack6 } from "@elementor/ui";
2010
2056
  var SectionContentRefContext = createContext8(null);
2011
2057
  var useSectionContentRef = () => useContext8(SectionContentRefContext);
2012
2058
  var SectionContent = ({ gap = 2, sx, children }) => {
2013
2059
  const ref = useRef3(null);
2014
- return /* @__PURE__ */ React20.createElement(SectionContentRefContext.Provider, { value: ref }, /* @__PURE__ */ React20.createElement(Stack6, { gap, sx: { ...sx }, ref }, children));
2060
+ return /* @__PURE__ */ React21.createElement(SectionContentRefContext.Provider, { value: ref }, /* @__PURE__ */ React21.createElement(Stack6, { gap, sx: { ...sx }, ref }, children));
2015
2061
  };
2016
2062
 
2017
2063
  // src/hooks/use-direction.ts
@@ -2034,8 +2080,81 @@ function useDirection() {
2034
2080
  return { isSiteRtl, isUiRtl };
2035
2081
  }
2036
2082
 
2037
- // src/styles-inheritance/components/breakpoint-icon.tsx
2038
- import * as React21 from "react";
2083
+ // src/styles-inheritance/hooks/use-normalized-inheritance-chain-items.tsx
2084
+ import { isValidElement, useEffect as useEffect3, useState as useState8 } from "react";
2085
+ import { ELEMENTS_BASE_STYLES_PROVIDER_KEY } from "@elementor/editor-styles-repository";
2086
+ import { __ as __7 } from "@wordpress/i18n";
2087
+ var MAXIMUM_ITEMS = 2;
2088
+ var useNormalizedInheritanceChainItems = (inheritanceChain, bind, resolve) => {
2089
+ const [items3, setItems] = useState8([]);
2090
+ useEffect3(() => {
2091
+ (async () => {
2092
+ const normalizedItems = await Promise.all(
2093
+ inheritanceChain.filter(({ style }) => style).map((item, index) => normalizeInheritanceItem(item, index, bind, resolve))
2094
+ );
2095
+ const validItems = normalizedItems.map((item) => ({
2096
+ ...item,
2097
+ displayLabel: ELEMENTS_BASE_STYLES_PROVIDER_KEY !== item.provider ? item.displayLabel : __7("Base", "elementor")
2098
+ })).filter((item) => !item.value || item.displayLabel !== "").slice(0, MAXIMUM_ITEMS);
2099
+ setItems(validItems);
2100
+ })();
2101
+ }, [inheritanceChain, bind, resolve]);
2102
+ return items3;
2103
+ };
2104
+ var DEFAULT_BREAKPOINT2 = "desktop";
2105
+ var normalizeInheritanceItem = async (item, index, bind, resolve) => {
2106
+ const {
2107
+ variant: {
2108
+ meta: { state, breakpoint }
2109
+ },
2110
+ style: { label, id }
2111
+ } = item;
2112
+ const displayLabel = `${label}${state ? ":" + state : ""}`;
2113
+ return {
2114
+ id: id ? id + (state ?? "") : index,
2115
+ provider: item.provider || "",
2116
+ breakpoint: breakpoint ?? DEFAULT_BREAKPOINT2,
2117
+ displayLabel,
2118
+ value: await getTransformedValue(item, bind, resolve),
2119
+ chipColor: getChipColor(item)
2120
+ };
2121
+ };
2122
+ var getTransformedValue = async (item, bind, resolve) => {
2123
+ try {
2124
+ const result = await resolve({
2125
+ props: {
2126
+ [bind]: item.value
2127
+ }
2128
+ });
2129
+ const value = result?.[bind] ?? result;
2130
+ if (isValidElement(value)) {
2131
+ return value;
2132
+ }
2133
+ if (typeof value === "object") {
2134
+ return JSON.stringify(value);
2135
+ }
2136
+ return String(value);
2137
+ } catch {
2138
+ return "";
2139
+ }
2140
+ };
2141
+ var getChipColor = (item) => {
2142
+ const { provider = "", style } = item;
2143
+ if (provider === ELEMENTS_BASE_STYLES_PROVIDER_KEY) {
2144
+ return "default";
2145
+ }
2146
+ if (style?.label === "local") {
2147
+ return "accent";
2148
+ }
2149
+ return "global";
2150
+ };
2151
+
2152
+ // src/styles-inheritance/styles-inheritance-transformers-registry.tsx
2153
+ import { createTransformersRegistry } from "@elementor/editor-canvas";
2154
+ var stylesInheritanceTransformersRegistry = createTransformersRegistry();
2155
+
2156
+ // src/styles-inheritance/components/infotip/breakpoint-icon.tsx
2157
+ import * as React22 from "react";
2039
2158
  import { useBreakpoints } from "@elementor/editor-responsive";
2040
2159
  import {
2041
2160
  DesktopIcon,
@@ -2048,7 +2167,7 @@ import {
2048
2167
  } from "@elementor/icons";
2049
2168
  import { Tooltip as Tooltip3 } from "@elementor/ui";
2050
2169
  var SIZE3 = "tiny";
2051
- var DEFAULT_BREAKPOINT2 = "desktop";
2170
+ var DEFAULT_BREAKPOINT3 = "desktop";
2052
2171
  var breakpointIconMap = {
2053
2172
  widescreen: WidescreenIcon,
2054
2173
  desktop: DesktopIcon,
@@ -2060,26 +2179,26 @@ var breakpointIconMap = {
2060
2179
  };
2061
2180
  var BreakpointIcon = ({ breakpoint }) => {
2062
2181
  const breakpoints = useBreakpoints();
2063
- const currentBreakpoint = breakpoint || DEFAULT_BREAKPOINT2;
2182
+ const currentBreakpoint = breakpoint || DEFAULT_BREAKPOINT3;
2064
2183
  const IconComponent = breakpointIconMap[currentBreakpoint];
2065
2184
  if (!IconComponent) {
2066
2185
  return null;
2067
2186
  }
2068
2187
  const breakpointLabel = breakpoints.find((breakpointItem) => breakpointItem.id === currentBreakpoint)?.label;
2069
- return /* @__PURE__ */ React21.createElement(Tooltip3, { title: breakpointLabel, placement: "top" }, /* @__PURE__ */ React21.createElement(IconComponent, { fontSize: SIZE3, sx: { mt: "2px" } }));
2188
+ return /* @__PURE__ */ React22.createElement(Tooltip3, { title: breakpointLabel, placement: "top" }, /* @__PURE__ */ React22.createElement(IconComponent, { fontSize: SIZE3, sx: { mt: "2px" } }));
2070
2189
  };
2071
2190
 
2072
- // src/styles-inheritance/components/label-chip.tsx
2073
- import * as React22 from "react";
2074
- import { ELEMENTS_BASE_STYLES_PROVIDER_KEY } from "@elementor/editor-styles-repository";
2191
+ // src/styles-inheritance/components/infotip/label-chip.tsx
2192
+ import * as React23 from "react";
2193
+ import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as ELEMENTS_BASE_STYLES_PROVIDER_KEY2 } from "@elementor/editor-styles-repository";
2075
2194
  import { InfoCircleIcon } from "@elementor/icons";
2076
2195
  import { Chip as Chip4, Tooltip as Tooltip4 } from "@elementor/ui";
2077
- import { __ as __6 } from "@wordpress/i18n";
2196
+ import { __ as __8 } from "@wordpress/i18n";
2078
2197
  var SIZE4 = "tiny";
2079
2198
  var LabelChip = ({ displayLabel, provider, chipColor }) => {
2080
- const isBaseStyle = provider === ELEMENTS_BASE_STYLES_PROVIDER_KEY;
2081
- const chipIcon = isBaseStyle ? /* @__PURE__ */ React22.createElement(Tooltip4, { title: __6("Inherited from base styles", "elementor"), placement: "top" }, /* @__PURE__ */ React22.createElement(InfoCircleIcon, { fontSize: SIZE4 })) : void 0;
2082
- return /* @__PURE__ */ React22.createElement(
2199
+ const isBaseStyle = provider === ELEMENTS_BASE_STYLES_PROVIDER_KEY2;
2200
+ const chipIcon = isBaseStyle ? /* @__PURE__ */ React23.createElement(Tooltip4, { title: __8("Inherited from base styles", "elementor"), placement: "top" }, /* @__PURE__ */ React23.createElement(InfoCircleIcon, { fontSize: SIZE4 })) : void 0;
2201
+ return /* @__PURE__ */ React23.createElement(
2083
2202
  Chip4,
2084
2203
  {
2085
2204
  label: displayLabel,
@@ -2104,12 +2223,12 @@ var LabelChip = ({ displayLabel, provider, chipColor }) => {
2104
2223
  );
2105
2224
  };
2106
2225
 
2107
- // src/styles-inheritance/components/value-component.tsx
2108
- import * as React23 from "react";
2109
- import { Typography as Typography5 } from "@elementor/ui";
2226
+ // src/styles-inheritance/components/infotip/value-component.tsx
2227
+ import * as React24 from "react";
2228
+ import { Typography as Typography4 } from "@elementor/ui";
2110
2229
  var ValueComponent = ({ index, value }) => {
2111
- return /* @__PURE__ */ React23.createElement(
2112
- Typography5,
2230
+ return /* @__PURE__ */ React24.createElement(
2231
+ Typography4,
2113
2232
  {
2114
2233
  variant: "caption",
2115
2234
  color: "text.tertiary",
@@ -2125,88 +2244,15 @@ var ValueComponent = ({ index, value }) => {
2125
2244
  );
2126
2245
  };
2127
2246
 
2128
- // src/styles-inheritance/components/action-icons.tsx
2129
- import * as React24 from "react";
2247
+ // src/styles-inheritance/components/infotip/action-icons.tsx
2248
+ import * as React25 from "react";
2130
2249
  import { Box as Box5 } from "@elementor/ui";
2131
- var ActionIcons = () => /* @__PURE__ */ React24.createElement(Box5, { display: "flex", gap: 0.5, alignItems: "center" });
2132
-
2133
- // src/styles-inheritance/hooks/use-normalized-inheritance-chain-items.tsx
2134
- import { isValidElement, useEffect as useEffect3, useState as useState7 } from "react";
2135
- import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as ELEMENTS_BASE_STYLES_PROVIDER_KEY2 } from "@elementor/editor-styles-repository";
2136
- import { __ as __7 } from "@wordpress/i18n";
2137
- var MAXIMUM_ITEMS = 2;
2138
- var useNormalizedInheritanceChainItems = (inheritanceChain, bind, resolve) => {
2139
- const [items3, setItems] = useState7([]);
2140
- useEffect3(() => {
2141
- (async () => {
2142
- const normalizedItems = await Promise.all(
2143
- inheritanceChain.filter(({ style }) => style).map((item, index) => normalizeInheritanceItem(item, index, bind, resolve))
2144
- );
2145
- const validItems = normalizedItems.map((item) => ({
2146
- ...item,
2147
- displayLabel: ELEMENTS_BASE_STYLES_PROVIDER_KEY2 !== item.provider ? item.displayLabel : __7("Base", "elementor")
2148
- })).filter((item) => !item.value || item.displayLabel !== "").slice(0, MAXIMUM_ITEMS);
2149
- setItems(validItems);
2150
- })();
2151
- }, [inheritanceChain, bind, resolve]);
2152
- return items3;
2153
- };
2154
- var DEFAULT_BREAKPOINT3 = "desktop";
2155
- var normalizeInheritanceItem = async (item, index, bind, resolve) => {
2156
- const {
2157
- variant: {
2158
- meta: { state, breakpoint }
2159
- },
2160
- style: { label, id }
2161
- } = item;
2162
- const displayLabel = `${label}${state ? ":" + state : ""}`;
2163
- return {
2164
- id: id ? id + (state ?? "") : index,
2165
- provider: item.provider || "",
2166
- breakpoint: breakpoint ?? DEFAULT_BREAKPOINT3,
2167
- displayLabel,
2168
- value: await getTransformedValue(item, bind, resolve),
2169
- chipColor: getChipColor(item)
2170
- };
2171
- };
2172
- var getTransformedValue = async (item, bind, resolve) => {
2173
- try {
2174
- const result = await resolve({
2175
- props: {
2176
- [bind]: item.value
2177
- }
2178
- });
2179
- const value = result?.[bind] ?? result;
2180
- if (isValidElement(value)) {
2181
- return value;
2182
- }
2183
- if (typeof value === "object") {
2184
- return JSON.stringify(value);
2185
- }
2186
- return String(value);
2187
- } catch {
2188
- return "";
2189
- }
2190
- };
2191
- var getChipColor = (item) => {
2192
- const { provider = "", style } = item;
2193
- if (provider === ELEMENTS_BASE_STYLES_PROVIDER_KEY2) {
2194
- return "default";
2195
- }
2196
- if (style?.label === "local") {
2197
- return "accent";
2198
- }
2199
- return "global";
2200
- };
2201
-
2202
- // src/styles-inheritance/styles-inheritance-transformers-registry.tsx
2203
- import { createTransformersRegistry } from "@elementor/editor-canvas";
2204
- var stylesInheritanceTransformersRegistry = createTransformersRegistry();
2250
+ var ActionIcons = () => /* @__PURE__ */ React25.createElement(Box5, { display: "flex", gap: 0.5, alignItems: "center" });
2205
2251
 
2206
- // src/styles-inheritance/styles-inheritance-infotip.tsx
2252
+ // src/styles-inheritance/components/styles-inheritance-infotip.tsx
2207
2253
  var SIZE5 = "tiny";
2208
- var StyleIndicatorInfotip = ({ inheritanceChain, propType, path, label, children }) => {
2209
- const [showInfotip, setShowInfotip] = useState8(false);
2254
+ var StylesInheritanceInfotip = ({ inheritanceChain, propType, path, label, children }) => {
2255
+ const [showInfotip, setShowInfotip] = useState9(false);
2210
2256
  const toggleInfotip = () => setShowInfotip((prev) => !prev);
2211
2257
  const closeInfotip = () => setShowInfotip(false);
2212
2258
  const key = path.join(".");
@@ -2219,7 +2265,7 @@ var StyleIndicatorInfotip = ({ inheritanceChain, propType, path, label, children
2219
2265
  });
2220
2266
  }, [key, propType]);
2221
2267
  const items3 = useNormalizedInheritanceChainItems(inheritanceChain, key, resolve);
2222
- const infotipContent = /* @__PURE__ */ React25.createElement(ClickAwayListener, { onClickAway: closeInfotip }, /* @__PURE__ */ React25.createElement(
2268
+ const infotipContent = /* @__PURE__ */ React26.createElement(ClickAwayListener, { onClickAway: closeInfotip }, /* @__PURE__ */ React26.createElement(
2223
2269
  Card,
2224
2270
  {
2225
2271
  elevation: 0,
@@ -2229,7 +2275,7 @@ var StyleIndicatorInfotip = ({ inheritanceChain, propType, path, label, children
2229
2275
  overflowX: "hidden"
2230
2276
  }
2231
2277
  },
2232
- /* @__PURE__ */ React25.createElement(
2278
+ /* @__PURE__ */ React26.createElement(
2233
2279
  CardContent,
2234
2280
  {
2235
2281
  sx: {
@@ -2242,7 +2288,7 @@ var StyleIndicatorInfotip = ({ inheritanceChain, propType, path, label, children
2242
2288
  }
2243
2289
  }
2244
2290
  },
2245
- /* @__PURE__ */ React25.createElement(Stack7, { direction: "row", alignItems: "center", sx: { pl: 1.5, pr: 0.5, minHeight: 36, py: 0.5 } }, /* @__PURE__ */ React25.createElement(Typography6, { variant: "subtitle2", color: "secondary", sx: { fontSize: 12, fontWeight: "500" } }, __8("Style origin", "elementor")), /* @__PURE__ */ React25.createElement(
2291
+ /* @__PURE__ */ React26.createElement(Stack7, { direction: "row", alignItems: "center", sx: { pl: 1.5, pr: 0.5, minHeight: 36, py: 0.5 } }, /* @__PURE__ */ React26.createElement(Typography5, { variant: "subtitle2", color: "secondary", sx: { fontSize: 12, fontWeight: "500" } }, __9("Style origin", "elementor")), /* @__PURE__ */ React26.createElement(
2246
2292
  CloseButton,
2247
2293
  {
2248
2294
  slotProps: { icon: { fontSize: SIZE5 } },
@@ -2250,7 +2296,7 @@ var StyleIndicatorInfotip = ({ inheritanceChain, propType, path, label, children
2250
2296
  onClick: closeInfotip
2251
2297
  }
2252
2298
  )),
2253
- /* @__PURE__ */ React25.createElement(
2299
+ /* @__PURE__ */ React26.createElement(
2254
2300
  Stack7,
2255
2301
  {
2256
2302
  gap: 1.5,
@@ -2258,33 +2304,33 @@ var StyleIndicatorInfotip = ({ inheritanceChain, propType, path, label, children
2258
2304
  role: "list"
2259
2305
  },
2260
2306
  items3.map((item, index) => {
2261
- return /* @__PURE__ */ React25.createElement(
2307
+ return /* @__PURE__ */ React26.createElement(
2262
2308
  Box6,
2263
2309
  {
2264
2310
  key: item.id,
2265
2311
  display: "flex",
2266
2312
  gap: 0.5,
2267
2313
  role: "listitem",
2268
- "aria-label": __8("Inheritance item: %s", "elementor").replace(
2314
+ "aria-label": __9("Inheritance item: %s", "elementor").replace(
2269
2315
  "%s",
2270
2316
  item.displayLabel
2271
2317
  )
2272
2318
  },
2273
- /* @__PURE__ */ React25.createElement(Box6, { display: "flex", gap: 0.5, sx: { flexWrap: "wrap", width: "100%" } }, /* @__PURE__ */ React25.createElement(BreakpointIcon, { breakpoint: item.breakpoint }), /* @__PURE__ */ React25.createElement(
2319
+ /* @__PURE__ */ React26.createElement(Box6, { display: "flex", gap: 0.5, sx: { flexWrap: "wrap", width: "100%" } }, /* @__PURE__ */ React26.createElement(BreakpointIcon, { breakpoint: item.breakpoint }), /* @__PURE__ */ React26.createElement(
2274
2320
  LabelChip,
2275
2321
  {
2276
2322
  displayLabel: item.displayLabel,
2277
2323
  provider: item.provider,
2278
2324
  chipColor: item.chipColor
2279
2325
  }
2280
- ), /* @__PURE__ */ React25.createElement(ValueComponent, { index, value: item.value })),
2281
- /* @__PURE__ */ React25.createElement(ActionIcons, null)
2326
+ ), /* @__PURE__ */ React26.createElement(ValueComponent, { index, value: item.value })),
2327
+ /* @__PURE__ */ React26.createElement(ActionIcons, null)
2282
2328
  );
2283
2329
  })
2284
2330
  )
2285
2331
  )
2286
2332
  ));
2287
- return /* @__PURE__ */ React25.createElement(TooltipOrInfotip, { showInfotip, onClose: closeInfotip, infotipContent }, /* @__PURE__ */ React25.createElement(IconButton3, { onClick: toggleInfotip, "aria-label": label, sx: { my: "-1px" } }, children));
2333
+ return /* @__PURE__ */ React26.createElement(TooltipOrInfotip, { showInfotip, onClose: closeInfotip, infotipContent }, /* @__PURE__ */ React26.createElement(IconButton3, { onClick: toggleInfotip, "aria-label": label, sx: { my: "-1px" } }, children));
2288
2334
  };
2289
2335
  function TooltipOrInfotip({
2290
2336
  children,
@@ -2295,7 +2341,7 @@ function TooltipOrInfotip({
2295
2341
  const { isSiteRtl } = useDirection();
2296
2342
  const forceInfotipAlignLeft = isSiteRtl ? 9999999 : -9999999;
2297
2343
  if (showInfotip) {
2298
- return /* @__PURE__ */ React25.createElement(React25.Fragment, null, /* @__PURE__ */ React25.createElement(
2344
+ return /* @__PURE__ */ React26.createElement(React26.Fragment, null, /* @__PURE__ */ React26.createElement(
2299
2345
  Backdrop,
2300
2346
  {
2301
2347
  open: showInfotip,
@@ -2305,7 +2351,7 @@ function TooltipOrInfotip({
2305
2351
  zIndex: (theme) => theme.zIndex.modal - 1
2306
2352
  }
2307
2353
  }
2308
- ), /* @__PURE__ */ React25.createElement(
2354
+ ), /* @__PURE__ */ React26.createElement(
2309
2355
  Infotip,
2310
2356
  {
2311
2357
  placement: "top",
@@ -2332,14 +2378,14 @@ function TooltipOrInfotip({
2332
2378
  children
2333
2379
  ));
2334
2380
  }
2335
- return /* @__PURE__ */ React25.createElement(Tooltip5, { title: __8("Style origin", "elementor"), placement: "top" }, children);
2381
+ return /* @__PURE__ */ React26.createElement(Tooltip5, { title: __9("Style origin", "elementor"), placement: "top" }, children);
2336
2382
  }
2337
2383
 
2338
- // src/styles-inheritance/styles-inheritance-indicator.tsx
2384
+ // src/styles-inheritance/components/styles-inheritance-indicator.tsx
2339
2385
  var StylesInheritanceIndicator = () => {
2340
2386
  const { path, propType } = useBoundProp();
2341
2387
  const { id: currentStyleId, provider: currentStyleProvider, meta: currentStyleMeta } = useStyle();
2342
- const isUsingNestedProps = isExperimentActive5(EXPERIMENTAL_FEATURES.V_3_30);
2388
+ const isUsingNestedProps = isExperimentActive6(EXPERIMENTAL_FEATURES.V_3_30);
2343
2389
  const finalPath = isUsingNestedProps ? path : path.slice(0, 1);
2344
2390
  const inheritanceChain = useStylesInheritanceChain(finalPath);
2345
2391
  if (!inheritanceChain.length) {
@@ -2362,27 +2408,27 @@ var StylesInheritanceIndicator = () => {
2362
2408
  const label = getLabel({ isFinalValue, hasValue });
2363
2409
  const variantType = getVariant({ isFinalValue, hasValue, currentStyleProvider });
2364
2410
  if (!isUsingIndicatorPopover()) {
2365
- return /* @__PURE__ */ React26.createElement(Tooltip6, { title: __9("Style origin", "elementor"), placement: "top" }, /* @__PURE__ */ React26.createElement(StyleIndicator, { variant: variantType, "aria-label": label }));
2411
+ return /* @__PURE__ */ React27.createElement(Tooltip6, { title: __10("Style origin", "elementor"), placement: "top" }, /* @__PURE__ */ React27.createElement(StyleIndicator, { variant: variantType, "aria-label": label }));
2366
2412
  }
2367
- return /* @__PURE__ */ React26.createElement(
2368
- StyleIndicatorInfotip,
2413
+ return /* @__PURE__ */ React27.createElement(
2414
+ StylesInheritanceInfotip,
2369
2415
  {
2370
2416
  inheritanceChain,
2371
2417
  path: finalPath,
2372
2418
  propType,
2373
2419
  label
2374
2420
  },
2375
- /* @__PURE__ */ React26.createElement(StyleIndicator, { variant: variantType })
2421
+ /* @__PURE__ */ React27.createElement(StyleIndicator, { variant: variantType })
2376
2422
  );
2377
2423
  };
2378
2424
  var getLabel = ({ isFinalValue, hasValue }) => {
2379
2425
  if (isFinalValue) {
2380
- return __9("This is the final value", "elementor");
2426
+ return __10("This is the final value", "elementor");
2381
2427
  }
2382
2428
  if (hasValue) {
2383
- return __9("This value is overridden by another style", "elementor");
2429
+ return __10("This value is overridden by another style", "elementor");
2384
2430
  }
2385
- return __9("This has value from another style", "elementor");
2431
+ return __10("This has value from another style", "elementor");
2386
2432
  };
2387
2433
  var getVariant = ({
2388
2434
  isFinalValue,
@@ -2409,7 +2455,7 @@ var StylesField = ({ bind, placeholder, children }) => {
2409
2455
  const setValues = (newValue) => {
2410
2456
  setValue(newValue[bind]);
2411
2457
  };
2412
- return /* @__PURE__ */ React27.createElement(
2458
+ return /* @__PURE__ */ React28.createElement(
2413
2459
  ControlAdornmentsProvider,
2414
2460
  {
2415
2461
  items: [
@@ -2419,7 +2465,7 @@ var StylesField = ({ bind, placeholder, children }) => {
2419
2465
  }
2420
2466
  ]
2421
2467
  },
2422
- /* @__PURE__ */ React27.createElement(
2468
+ /* @__PURE__ */ React28.createElement(
2423
2469
  PropProvider2,
2424
2470
  {
2425
2471
  propType,
@@ -2428,53 +2474,44 @@ var StylesField = ({ bind, placeholder, children }) => {
2428
2474
  placeholder: placeholderValues,
2429
2475
  disabled: !canEdit
2430
2476
  },
2431
- /* @__PURE__ */ React27.createElement(PropKeyProvider2, { bind }, children)
2477
+ /* @__PURE__ */ React28.createElement(PropKeyProvider2, { bind }, children)
2432
2478
  )
2433
2479
  );
2434
2480
  };
2435
2481
 
2436
2482
  // src/components/style-sections/background-section/background-section.tsx
2437
2483
  var BackgroundSection = () => {
2438
- return /* @__PURE__ */ React28.createElement(SectionContent, null, /* @__PURE__ */ React28.createElement(StylesField, { bind: "background" }, /* @__PURE__ */ React28.createElement(BackgroundControl, null)));
2484
+ return /* @__PURE__ */ React29.createElement(SectionContent, null, /* @__PURE__ */ React29.createElement(StylesField, { bind: "background" }, /* @__PURE__ */ React29.createElement(BackgroundControl, null)));
2439
2485
  };
2440
2486
 
2441
2487
  // src/components/style-sections/border-section/border-section.tsx
2442
- import * as React37 from "react";
2488
+ import * as React39 from "react";
2443
2489
 
2444
2490
  // src/components/panel-divider.tsx
2445
- import * as React29 from "react";
2491
+ import * as React30 from "react";
2446
2492
  import { Divider as Divider4 } from "@elementor/ui";
2447
- var PanelDivider = () => /* @__PURE__ */ React29.createElement(Divider4, { sx: { my: 0.5 } });
2493
+ var PanelDivider = () => /* @__PURE__ */ React30.createElement(Divider4, { sx: { my: 0.5 } });
2448
2494
 
2449
2495
  // src/components/style-sections/border-section/border-field.tsx
2450
- import * as React35 from "react";
2451
- import { __ as __13 } from "@wordpress/i18n";
2496
+ import * as React36 from "react";
2497
+ import { ControlFormLabel as ControlFormLabel3 } from "@elementor/editor-controls";
2498
+ import { __ as __14 } from "@wordpress/i18n";
2452
2499
 
2453
2500
  // src/components/add-or-remove-content.tsx
2454
2501
  import * as React31 from "react";
2455
2502
  import { MinusIcon, PlusIcon } from "@elementor/icons";
2456
- import { Collapse as Collapse2, IconButton as IconButton4, Stack as Stack9 } from "@elementor/ui";
2457
-
2458
- // src/components/control-label.tsx
2459
- import * as React30 from "react";
2460
- import { ControlAdornments, ControlFormLabel as ControlFormLabel2 } from "@elementor/editor-controls";
2461
- import { Stack as Stack8 } from "@elementor/ui";
2462
- var ControlLabel = ({ children }) => {
2463
- return /* @__PURE__ */ React30.createElement(Stack8, { direction: "row", alignItems: "center", justifyItems: "start", gap: 1 }, /* @__PURE__ */ React30.createElement(ControlFormLabel2, null, children), /* @__PURE__ */ React30.createElement(ControlAdornments, null));
2464
- };
2465
-
2466
- // src/components/add-or-remove-content.tsx
2503
+ import { Collapse as Collapse3, IconButton as IconButton4, Stack as Stack8 } from "@elementor/ui";
2467
2504
  var SIZE6 = "tiny";
2468
2505
  var AddOrRemoveContent = ({
2469
2506
  isAdded,
2470
- label,
2471
2507
  onAdd,
2472
2508
  onRemove,
2473
2509
  children,
2474
- disabled
2510
+ disabled,
2511
+ renderLabel
2475
2512
  }) => {
2476
2513
  return /* @__PURE__ */ React31.createElement(SectionContent, null, /* @__PURE__ */ React31.createElement(
2477
- Stack9,
2514
+ Stack8,
2478
2515
  {
2479
2516
  direction: "row",
2480
2517
  sx: {
@@ -2483,80 +2520,90 @@ var AddOrRemoveContent = ({
2483
2520
  marginInlineEnd: -0.75
2484
2521
  }
2485
2522
  },
2486
- /* @__PURE__ */ React31.createElement(ControlLabel, null, label),
2523
+ renderLabel(),
2487
2524
  isAdded ? /* @__PURE__ */ React31.createElement(IconButton4, { size: SIZE6, onClick: onRemove, "aria-label": "Remove", disabled }, /* @__PURE__ */ React31.createElement(MinusIcon, { fontSize: SIZE6 })) : /* @__PURE__ */ React31.createElement(IconButton4, { size: SIZE6, onClick: onAdd, "aria-label": "Add", disabled }, /* @__PURE__ */ React31.createElement(PlusIcon, { fontSize: SIZE6 }))
2488
- ), /* @__PURE__ */ React31.createElement(Collapse2, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React31.createElement(SectionContent, null, children)));
2525
+ ), /* @__PURE__ */ React31.createElement(Collapse3, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React31.createElement(SectionContent, null, children)));
2489
2526
  };
2490
2527
 
2491
2528
  // src/components/style-sections/border-section/border-color-field.tsx
2492
- import * as React32 from "react";
2529
+ import * as React33 from "react";
2493
2530
  import { ColorControl } from "@elementor/editor-controls";
2494
2531
  import { Grid } from "@elementor/ui";
2495
- import { __ as __10 } from "@wordpress/i18n";
2532
+ import { __ as __11 } from "@wordpress/i18n";
2533
+
2534
+ // src/components/control-label.tsx
2535
+ import * as React32 from "react";
2536
+ import { ControlAdornments, ControlFormLabel as ControlFormLabel2 } from "@elementor/editor-controls";
2537
+ import { Stack as Stack9 } from "@elementor/ui";
2538
+ var ControlLabel = ({ children }) => {
2539
+ return /* @__PURE__ */ React32.createElement(Stack9, { direction: "row", alignItems: "center", justifyItems: "start", gap: 0.25 }, /* @__PURE__ */ React32.createElement(ControlFormLabel2, null, children), /* @__PURE__ */ React32.createElement(ControlAdornments, null));
2540
+ };
2541
+
2542
+ // src/components/style-sections/border-section/border-color-field.tsx
2496
2543
  var BorderColorField = () => {
2497
- return /* @__PURE__ */ React32.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React32.createElement(Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(Grid, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(ControlLabel, null, __10("Border color", "elementor"))), /* @__PURE__ */ React32.createElement(Grid, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(ColorControl, null))));
2544
+ return /* @__PURE__ */ React33.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React33.createElement(Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(ControlLabel, null, __11("Border color", "elementor"))), /* @__PURE__ */ React33.createElement(Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(ColorControl, null))));
2498
2545
  };
2499
2546
 
2500
2547
  // src/components/style-sections/border-section/border-style-field.tsx
2501
- import * as React33 from "react";
2548
+ import * as React34 from "react";
2502
2549
  import { SelectControl as SelectControl2 } from "@elementor/editor-controls";
2503
2550
  import { Grid as Grid2 } from "@elementor/ui";
2504
- import { __ as __11 } from "@wordpress/i18n";
2551
+ import { __ as __12 } from "@wordpress/i18n";
2505
2552
  var borderStyles = [
2506
- { value: "none", label: __11("None", "elementor") },
2507
- { value: "solid", label: __11("Solid", "elementor") },
2508
- { value: "dashed", label: __11("Dashed", "elementor") },
2509
- { value: "dotted", label: __11("Dotted", "elementor") },
2510
- { value: "double", label: __11("Double", "elementor") },
2511
- { value: "groove", label: __11("Groove", "elementor") },
2512
- { value: "ridge", label: __11("Ridge", "elementor") },
2513
- { value: "inset", label: __11("Inset", "elementor") },
2514
- { value: "outset", label: __11("Outset", "elementor") }
2553
+ { value: "none", label: __12("None", "elementor") },
2554
+ { value: "solid", label: __12("Solid", "elementor") },
2555
+ { value: "dashed", label: __12("Dashed", "elementor") },
2556
+ { value: "dotted", label: __12("Dotted", "elementor") },
2557
+ { value: "double", label: __12("Double", "elementor") },
2558
+ { value: "groove", label: __12("Groove", "elementor") },
2559
+ { value: "ridge", label: __12("Ridge", "elementor") },
2560
+ { value: "inset", label: __12("Inset", "elementor") },
2561
+ { value: "outset", label: __12("Outset", "elementor") }
2515
2562
  ];
2516
2563
  var BorderStyleField = () => {
2517
- return /* @__PURE__ */ React33.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React33.createElement(Grid2, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(Grid2, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(ControlLabel, null, __11("Border type", "elementor"))), /* @__PURE__ */ React33.createElement(Grid2, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React33.createElement(SelectControl2, { options: borderStyles }))));
2564
+ return /* @__PURE__ */ React34.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React34.createElement(Grid2, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(Grid2, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(ControlLabel, null, __12("Border type", "elementor"))), /* @__PURE__ */ React34.createElement(Grid2, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React34.createElement(SelectControl2, { options: borderStyles }))));
2518
2565
  };
2519
2566
 
2520
2567
  // src/components/style-sections/border-section/border-width-field.tsx
2521
- import * as React34 from "react";
2568
+ import * as React35 from "react";
2522
2569
  import { EqualUnequalSizesControl } from "@elementor/editor-controls";
2523
2570
  import { borderWidthPropTypeUtil } from "@elementor/editor-props";
2524
2571
  import { SideAllIcon, SideBottomIcon, SideLeftIcon, SideRightIcon, SideTopIcon } from "@elementor/icons";
2525
2572
  import { withDirection } from "@elementor/ui";
2526
- import { __ as __12 } from "@wordpress/i18n";
2573
+ import { __ as __13 } from "@wordpress/i18n";
2527
2574
  var InlineStartIcon = withDirection(SideRightIcon);
2528
2575
  var InlineEndIcon = withDirection(SideLeftIcon);
2529
2576
  var getEdges = (isSiteRtl) => [
2530
2577
  {
2531
- label: __12("Top", "elementor"),
2532
- icon: /* @__PURE__ */ React34.createElement(SideTopIcon, { fontSize: "tiny" }),
2578
+ label: __13("Top", "elementor"),
2579
+ icon: /* @__PURE__ */ React35.createElement(SideTopIcon, { fontSize: "tiny" }),
2533
2580
  bind: "block-start"
2534
2581
  },
2535
2582
  {
2536
- label: isSiteRtl ? __12("Left", "elementor") : __12("Right", "elementor"),
2537
- icon: /* @__PURE__ */ React34.createElement(InlineStartIcon, { fontSize: "tiny" }),
2583
+ label: isSiteRtl ? __13("Left", "elementor") : __13("Right", "elementor"),
2584
+ icon: /* @__PURE__ */ React35.createElement(InlineStartIcon, { fontSize: "tiny" }),
2538
2585
  bind: "inline-end"
2539
2586
  },
2540
2587
  {
2541
- label: __12("Bottom", "elementor"),
2542
- icon: /* @__PURE__ */ React34.createElement(SideBottomIcon, { fontSize: "tiny" }),
2588
+ label: __13("Bottom", "elementor"),
2589
+ icon: /* @__PURE__ */ React35.createElement(SideBottomIcon, { fontSize: "tiny" }),
2543
2590
  bind: "block-end"
2544
2591
  },
2545
2592
  {
2546
- label: isSiteRtl ? __12("Right", "elementor") : __12("Left", "elementor"),
2547
- icon: /* @__PURE__ */ React34.createElement(InlineEndIcon, { fontSize: "tiny" }),
2593
+ label: isSiteRtl ? __13("Right", "elementor") : __13("Left", "elementor"),
2594
+ icon: /* @__PURE__ */ React35.createElement(InlineEndIcon, { fontSize: "tiny" }),
2548
2595
  bind: "inline-start"
2549
2596
  }
2550
2597
  ];
2551
2598
  var BorderWidthField = () => {
2552
2599
  const { isSiteRtl } = useDirection();
2553
- return /* @__PURE__ */ React34.createElement(StylesField, { bind: "border-width" }, /* @__PURE__ */ React34.createElement(
2600
+ return /* @__PURE__ */ React35.createElement(StylesField, { bind: "border-width" }, /* @__PURE__ */ React35.createElement(
2554
2601
  EqualUnequalSizesControl,
2555
2602
  {
2556
2603
  items: getEdges(isSiteRtl),
2557
- label: __12("Border width", "elementor"),
2558
- icon: /* @__PURE__ */ React34.createElement(SideAllIcon, { fontSize: "tiny" }),
2559
- tooltipLabel: __12("Adjust borders", "elementor"),
2604
+ label: __13("Border width", "elementor"),
2605
+ icon: /* @__PURE__ */ React35.createElement(SideAllIcon, { fontSize: "tiny" }),
2606
+ tooltipLabel: __13("Adjust borders", "elementor"),
2560
2607
  multiSizePropTypeUtil: borderWidthPropTypeUtil
2561
2608
  }
2562
2609
  ));
@@ -2582,23 +2629,23 @@ var BorderField = () => {
2582
2629
  });
2583
2630
  };
2584
2631
  const hasBorder = Object.values(border ?? {}).some(Boolean);
2585
- return /* @__PURE__ */ React35.createElement(
2632
+ return /* @__PURE__ */ React36.createElement(
2586
2633
  AddOrRemoveContent,
2587
2634
  {
2588
- label: __13("Border", "elementor"),
2589
2635
  isAdded: hasBorder,
2590
2636
  onAdd: addBorder,
2591
2637
  onRemove: removeBorder,
2592
- disabled: !canEdit
2638
+ disabled: !canEdit,
2639
+ renderLabel: () => /* @__PURE__ */ React36.createElement(ControlFormLabel3, null, __14("Border", "elementor"))
2593
2640
  },
2594
- /* @__PURE__ */ React35.createElement(BorderWidthField, null),
2595
- /* @__PURE__ */ React35.createElement(BorderColorField, null),
2596
- /* @__PURE__ */ React35.createElement(BorderStyleField, null)
2641
+ /* @__PURE__ */ React36.createElement(BorderWidthField, null),
2642
+ /* @__PURE__ */ React36.createElement(BorderColorField, null),
2643
+ /* @__PURE__ */ React36.createElement(BorderStyleField, null)
2597
2644
  );
2598
2645
  };
2599
2646
 
2600
2647
  // src/components/style-sections/border-section/border-radius-field.tsx
2601
- import * as React36 from "react";
2648
+ import * as React38 from "react";
2602
2649
  import { EqualUnequalSizesControl as EqualUnequalSizesControl2 } from "@elementor/editor-controls";
2603
2650
  import { borderRadiusPropTypeUtil } from "@elementor/editor-props";
2604
2651
  import {
@@ -2609,66 +2656,76 @@ import {
2609
2656
  RadiusTopRightIcon
2610
2657
  } from "@elementor/icons";
2611
2658
  import { withDirection as withDirection2 } from "@elementor/ui";
2612
- import { __ as __14 } from "@wordpress/i18n";
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
2613
2670
  var StartStartIcon = withDirection2(RadiusTopLeftIcon);
2614
2671
  var StartEndIcon = withDirection2(RadiusTopRightIcon);
2615
2672
  var EndStartIcon = withDirection2(RadiusBottomLeftIcon);
2616
2673
  var EndEndIcon = withDirection2(RadiusBottomRightIcon);
2617
- var getStartStartLabel = (isSiteRtl) => isSiteRtl ? __14("Top right", "elementor") : __14("Top left", "elementor");
2618
- var getStartEndLabel = (isSiteRtl) => isSiteRtl ? __14("Top left", "elementor") : __14("Top right", "elementor");
2619
- var getEndStartLabel = (isSiteRtl) => isSiteRtl ? __14("Bottom right", "elementor") : __14("Bottom left", "elementor");
2620
- var getEndEndLabel = (isSiteRtl) => isSiteRtl ? __14("Bottom left", "elementor") : __14("Bottom right", "elementor");
2674
+ var getStartStartLabel = (isSiteRtl) => isSiteRtl ? __15("Top right", "elementor") : __15("Top left", "elementor");
2675
+ var getStartEndLabel = (isSiteRtl) => isSiteRtl ? __15("Top left", "elementor") : __15("Top right", "elementor");
2676
+ var getEndStartLabel = (isSiteRtl) => isSiteRtl ? __15("Bottom right", "elementor") : __15("Bottom left", "elementor");
2677
+ var getEndEndLabel = (isSiteRtl) => isSiteRtl ? __15("Bottom left", "elementor") : __15("Bottom right", "elementor");
2621
2678
  var getCorners = (isSiteRtl) => [
2622
2679
  {
2623
2680
  label: getStartStartLabel(isSiteRtl),
2624
- icon: /* @__PURE__ */ React36.createElement(StartStartIcon, { fontSize: "tiny" }),
2681
+ icon: /* @__PURE__ */ React38.createElement(StartStartIcon, { fontSize: "tiny" }),
2625
2682
  bind: "start-start"
2626
2683
  },
2627
2684
  {
2628
2685
  label: getStartEndLabel(isSiteRtl),
2629
- icon: /* @__PURE__ */ React36.createElement(StartEndIcon, { fontSize: "tiny" }),
2686
+ icon: /* @__PURE__ */ React38.createElement(StartEndIcon, { fontSize: "tiny" }),
2630
2687
  bind: "start-end"
2631
2688
  },
2632
2689
  {
2633
2690
  label: getEndStartLabel(isSiteRtl),
2634
- icon: /* @__PURE__ */ React36.createElement(EndStartIcon, { fontSize: "tiny" }),
2691
+ icon: /* @__PURE__ */ React38.createElement(EndStartIcon, { fontSize: "tiny" }),
2635
2692
  bind: "end-start"
2636
2693
  },
2637
2694
  {
2638
2695
  label: getEndEndLabel(isSiteRtl),
2639
- icon: /* @__PURE__ */ React36.createElement(EndEndIcon, { fontSize: "tiny" }),
2696
+ icon: /* @__PURE__ */ React38.createElement(EndEndIcon, { fontSize: "tiny" }),
2640
2697
  bind: "end-end"
2641
2698
  }
2642
2699
  ];
2643
2700
  var BorderRadiusField = () => {
2644
2701
  const { isSiteRtl } = useDirection();
2645
- return /* @__PURE__ */ React36.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React36.createElement(
2702
+ return /* @__PURE__ */ React38.createElement(UiProviders, null, /* @__PURE__ */ React38.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React38.createElement(
2646
2703
  EqualUnequalSizesControl2,
2647
2704
  {
2648
2705
  items: getCorners(isSiteRtl),
2649
- label: __14("Border radius", "elementor"),
2650
- icon: /* @__PURE__ */ React36.createElement(BorderCornersIcon, { fontSize: "tiny" }),
2651
- tooltipLabel: __14("Adjust corners", "elementor"),
2706
+ label: __15("Border radius", "elementor"),
2707
+ icon: /* @__PURE__ */ React38.createElement(BorderCornersIcon, { fontSize: "tiny" }),
2708
+ tooltipLabel: __15("Adjust corners", "elementor"),
2652
2709
  multiSizePropTypeUtil: borderRadiusPropTypeUtil
2653
2710
  }
2654
- ));
2711
+ )));
2655
2712
  };
2656
2713
 
2657
2714
  // src/components/style-sections/border-section/border-section.tsx
2658
- var BorderSection = () => /* @__PURE__ */ React37.createElement(SectionContent, null, /* @__PURE__ */ React37.createElement(BorderRadiusField, null), /* @__PURE__ */ React37.createElement(PanelDivider, null), /* @__PURE__ */ React37.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));
2659
2716
 
2660
2717
  // src/components/style-sections/effects-section/effects-section.tsx
2661
- import * as React38 from "react";
2718
+ import * as React40 from "react";
2662
2719
  import { BoxShadowRepeaterControl } from "@elementor/editor-controls";
2663
2720
  var EffectsSection = () => {
2664
- return /* @__PURE__ */ React38.createElement(SectionContent, null, /* @__PURE__ */ React38.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React38.createElement(BoxShadowRepeaterControl, null)));
2721
+ return /* @__PURE__ */ React40.createElement(SectionContent, null, /* @__PURE__ */ React40.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React40.createElement(BoxShadowRepeaterControl, null)));
2665
2722
  };
2666
2723
 
2667
2724
  // src/components/style-sections/layout-section/layout-section.tsx
2668
- import * as React50 from "react";
2669
- import { ControlFormLabel as ControlFormLabel3 } from "@elementor/editor-controls";
2725
+ import * as React52 from "react";
2726
+ import { ControlFormLabel as ControlFormLabel4 } from "@elementor/editor-controls";
2670
2727
  import { useParentElement } from "@elementor/editor-elements";
2671
- import { __ as __25 } from "@wordpress/i18n";
2728
+ import { __ as __26 } from "@wordpress/i18n";
2672
2729
 
2673
2730
  // src/hooks/use-computed-style.ts
2674
2731
  import { __privateUseListenTo as useListenTo, commandEndEvent, windowEvent } from "@elementor/editor-v1-adapters";
@@ -2696,7 +2753,7 @@ function useComputedStyle(elementId) {
2696
2753
  }
2697
2754
 
2698
2755
  // src/components/style-sections/layout-section/align-content-field.tsx
2699
- import * as React40 from "react";
2756
+ import * as React42 from "react";
2700
2757
  import { ToggleControl } from "@elementor/editor-controls";
2701
2758
  import {
2702
2759
  JustifyBottomIcon,
@@ -2706,11 +2763,11 @@ import {
2706
2763
  JustifySpaceBetweenVerticalIcon as BetweenIcon,
2707
2764
  JustifyTopIcon
2708
2765
  } from "@elementor/icons";
2709
- import { DirectionProvider, Stack as Stack10, ThemeProvider, withDirection as withDirection3 } from "@elementor/ui";
2710
- import { __ as __15 } from "@wordpress/i18n";
2766
+ import { Stack as Stack10, withDirection as withDirection3 } from "@elementor/ui";
2767
+ import { __ as __16 } from "@wordpress/i18n";
2711
2768
 
2712
2769
  // src/components/style-sections/layout-section/utils/rotated-icon.tsx
2713
- import * as React39 from "react";
2770
+ import * as React41 from "react";
2714
2771
  import { useRef as useRef4 } from "react";
2715
2772
  import { useTheme as useTheme2 } from "@elementor/ui";
2716
2773
  var CLOCKWISE_ANGLES = {
@@ -2734,7 +2791,7 @@ var RotatedIcon = ({
2734
2791
  }) => {
2735
2792
  const rotate = useRef4(useGetTargetAngle(isClockwise, offset, disableRotationForReversed));
2736
2793
  rotate.current = useGetTargetAngle(isClockwise, offset, disableRotationForReversed, rotate);
2737
- return /* @__PURE__ */ React39.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` } });
2738
2795
  };
2739
2796
  var useGetTargetAngle = (isClockwise, offset, disableRotationForReversed, existingRef) => {
2740
2797
  const [direction] = useStylesField("flex-direction");
@@ -2763,48 +2820,47 @@ var iconProps = {
2763
2820
  var options = [
2764
2821
  {
2765
2822
  value: "start",
2766
- label: __15("Start", "elementor"),
2767
- renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
2823
+ label: __16("Start", "elementor"),
2824
+ renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
2768
2825
  showTooltip: true
2769
2826
  },
2770
2827
  {
2771
2828
  value: "center",
2772
- label: __15("Center", "elementor"),
2773
- renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(RotatedIcon, { icon: CenterIcon, size, ...iconProps }),
2829
+ label: __16("Center", "elementor"),
2830
+ renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: CenterIcon, size, ...iconProps }),
2774
2831
  showTooltip: true
2775
2832
  },
2776
2833
  {
2777
2834
  value: "end",
2778
- label: __15("End", "elementor"),
2779
- renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
2835
+ label: __16("End", "elementor"),
2836
+ renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
2780
2837
  showTooltip: true
2781
2838
  },
2782
2839
  {
2783
2840
  value: "space-between",
2784
- label: __15("Space between", "elementor"),
2785
- renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(RotatedIcon, { icon: BetweenIcon, size, ...iconProps }),
2841
+ label: __16("Space between", "elementor"),
2842
+ renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: BetweenIcon, size, ...iconProps }),
2786
2843
  showTooltip: true
2787
2844
  },
2788
2845
  {
2789
2846
  value: "space-around",
2790
- label: __15("Space around", "elementor"),
2791
- renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(RotatedIcon, { icon: AroundIcon, size, ...iconProps }),
2847
+ label: __16("Space around", "elementor"),
2848
+ renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: AroundIcon, size, ...iconProps }),
2792
2849
  showTooltip: true
2793
2850
  },
2794
2851
  {
2795
2852
  value: "space-evenly",
2796
- label: __15("Space evenly", "elementor"),
2797
- renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(RotatedIcon, { icon: EvenlyIcon, size, ...iconProps }),
2853
+ label: __16("Space evenly", "elementor"),
2854
+ renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: EvenlyIcon, size, ...iconProps }),
2798
2855
  showTooltip: true
2799
2856
  }
2800
2857
  ];
2801
2858
  var AlignContentField = () => {
2802
- const { isSiteRtl } = useDirection();
2803
- return /* @__PURE__ */ React40.createElement(DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React40.createElement(ThemeProvider, null, /* @__PURE__ */ React40.createElement(StylesField, { bind: "align-content" }, /* @__PURE__ */ React40.createElement(Stack10, { gap: 1 }, /* @__PURE__ */ React40.createElement(ControlLabel, null, __15("Align content", "elementor")), /* @__PURE__ */ React40.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 }))));
2804
2860
  };
2805
2861
 
2806
2862
  // src/components/style-sections/layout-section/align-items-field.tsx
2807
- import * as React41 from "react";
2863
+ import * as React43 from "react";
2808
2864
  import { ToggleControl as ToggleControl2 } from "@elementor/editor-controls";
2809
2865
  import {
2810
2866
  LayoutAlignCenterIcon as CenterIcon2,
@@ -2812,8 +2868,8 @@ import {
2812
2868
  LayoutAlignRightIcon,
2813
2869
  LayoutDistributeVerticalIcon as JustifyIcon
2814
2870
  } from "@elementor/icons";
2815
- import { DirectionProvider as DirectionProvider2, Grid as Grid3, ThemeProvider as ThemeProvider2, withDirection as withDirection4 } from "@elementor/ui";
2816
- import { __ as __16 } from "@wordpress/i18n";
2871
+ import { Grid as Grid3, withDirection as withDirection4 } from "@elementor/ui";
2872
+ import { __ as __17 } from "@wordpress/i18n";
2817
2873
  var StartIcon2 = withDirection4(LayoutAlignLeftIcon);
2818
2874
  var EndIcon2 = withDirection4(LayoutAlignRightIcon);
2819
2875
  var iconProps2 = {
@@ -2823,36 +2879,35 @@ var iconProps2 = {
2823
2879
  var options2 = [
2824
2880
  {
2825
2881
  value: "start",
2826
- label: __16("Start", "elementor"),
2827
- renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
2882
+ label: __17("Start", "elementor"),
2883
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
2828
2884
  showTooltip: true
2829
2885
  },
2830
2886
  {
2831
2887
  value: "center",
2832
- label: __16("Center", "elementor"),
2833
- renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(RotatedIcon, { icon: CenterIcon2, size, ...iconProps2 }),
2888
+ label: __17("Center", "elementor"),
2889
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: CenterIcon2, size, ...iconProps2 }),
2834
2890
  showTooltip: true
2835
2891
  },
2836
2892
  {
2837
2893
  value: "end",
2838
- label: __16("End", "elementor"),
2839
- renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
2894
+ label: __17("End", "elementor"),
2895
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
2840
2896
  showTooltip: true
2841
2897
  },
2842
2898
  {
2843
2899
  value: "stretch",
2844
- label: __16("Stretch", "elementor"),
2845
- renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(RotatedIcon, { icon: JustifyIcon, size, ...iconProps2 }),
2900
+ label: __17("Stretch", "elementor"),
2901
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: JustifyIcon, size, ...iconProps2 }),
2846
2902
  showTooltip: true
2847
2903
  }
2848
2904
  ];
2849
2905
  var AlignItemsField = () => {
2850
- const { isSiteRtl } = useDirection();
2851
- return /* @__PURE__ */ React41.createElement(DirectionProvider2, { rtl: isSiteRtl }, /* @__PURE__ */ React41.createElement(ThemeProvider2, null, /* @__PURE__ */ React41.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React41.createElement(Grid3, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(Grid3, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(ControlLabel, null, __16("Align items", "elementor"))), /* @__PURE__ */ React41.createElement(Grid3, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React41.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 })))));
2852
2907
  };
2853
2908
 
2854
2909
  // src/components/style-sections/layout-section/align-self-child-field.tsx
2855
- import * as React42 from "react";
2910
+ import * as React44 from "react";
2856
2911
  import { ToggleControl as ToggleControl3 } from "@elementor/editor-controls";
2857
2912
  import {
2858
2913
  LayoutAlignCenterIcon as CenterIcon3,
@@ -2860,8 +2915,8 @@ import {
2860
2915
  LayoutAlignRightIcon as LayoutAlignRightIcon2,
2861
2916
  LayoutDistributeVerticalIcon as JustifyIcon2
2862
2917
  } from "@elementor/icons";
2863
- import { DirectionProvider as DirectionProvider3, Grid as Grid4, ThemeProvider as ThemeProvider3, withDirection as withDirection5 } from "@elementor/ui";
2864
- import { __ as __17 } from "@wordpress/i18n";
2918
+ import { Grid as Grid4, withDirection as withDirection5 } from "@elementor/ui";
2919
+ import { __ as __18 } from "@wordpress/i18n";
2865
2920
  var ALIGN_SELF_CHILD_OFFSET_MAP = {
2866
2921
  row: 90,
2867
2922
  "row-reverse": 90,
@@ -2876,8 +2931,8 @@ var iconProps3 = {
2876
2931
  var getOptions = (parentStyleDirection) => [
2877
2932
  {
2878
2933
  value: "start",
2879
- label: __17("Start", "elementor"),
2880
- renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(
2934
+ label: __18("Start", "elementor"),
2935
+ renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(
2881
2936
  RotatedIcon,
2882
2937
  {
2883
2938
  icon: StartIcon3,
@@ -2890,8 +2945,8 @@ var getOptions = (parentStyleDirection) => [
2890
2945
  },
2891
2946
  {
2892
2947
  value: "center",
2893
- label: __17("Center", "elementor"),
2894
- renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(
2948
+ label: __18("Center", "elementor"),
2949
+ renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(
2895
2950
  RotatedIcon,
2896
2951
  {
2897
2952
  icon: CenterIcon3,
@@ -2904,8 +2959,8 @@ var getOptions = (parentStyleDirection) => [
2904
2959
  },
2905
2960
  {
2906
2961
  value: "end",
2907
- label: __17("End", "elementor"),
2908
- renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(
2962
+ label: __18("End", "elementor"),
2963
+ renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(
2909
2964
  RotatedIcon,
2910
2965
  {
2911
2966
  icon: EndIcon3,
@@ -2918,8 +2973,8 @@ var getOptions = (parentStyleDirection) => [
2918
2973
  },
2919
2974
  {
2920
2975
  value: "stretch",
2921
- label: __17("Stretch", "elementor"),
2922
- renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(
2976
+ label: __18("Stretch", "elementor"),
2977
+ renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(
2923
2978
  RotatedIcon,
2924
2979
  {
2925
2980
  icon: JustifyIcon2,
@@ -2932,108 +2987,106 @@ var getOptions = (parentStyleDirection) => [
2932
2987
  }
2933
2988
  ];
2934
2989
  var AlignSelfChild = ({ parentStyleDirection }) => {
2935
- const { isSiteRtl } = useDirection();
2936
- return /* @__PURE__ */ React42.createElement(DirectionProvider3, { rtl: isSiteRtl }, /* @__PURE__ */ React42.createElement(ThemeProvider3, null, /* @__PURE__ */ React42.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React42.createElement(Grid4, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React42.createElement(Grid4, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(ControlLabel, null, __17("Align self", "elementor"))), /* @__PURE__ */ React42.createElement(Grid4, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React42.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) })))));
2937
2991
  };
2938
2992
 
2939
2993
  // src/components/style-sections/layout-section/display-field.tsx
2940
- import * as React43 from "react";
2994
+ import * as React45 from "react";
2941
2995
  import { ToggleControl as ToggleControl4 } from "@elementor/editor-controls";
2942
- import { isExperimentActive as isExperimentActive6 } from "@elementor/editor-v1-adapters";
2996
+ import { isExperimentActive as isExperimentActive7 } from "@elementor/editor-v1-adapters";
2943
2997
  import { Stack as Stack11 } from "@elementor/ui";
2944
- import { __ as __18 } from "@wordpress/i18n";
2998
+ import { __ as __19 } from "@wordpress/i18n";
2945
2999
  var displayFieldItems = [
2946
3000
  {
2947
3001
  value: "block",
2948
- renderContent: () => __18("Block", "elementor"),
2949
- label: __18("Block", "elementor"),
3002
+ renderContent: () => __19("Block", "elementor"),
3003
+ label: __19("Block", "elementor"),
2950
3004
  showTooltip: true
2951
3005
  },
2952
3006
  {
2953
3007
  value: "flex",
2954
- renderContent: () => __18("Flex", "elementor"),
2955
- label: __18("Flex", "elementor"),
3008
+ renderContent: () => __19("Flex", "elementor"),
3009
+ label: __19("Flex", "elementor"),
2956
3010
  showTooltip: true
2957
3011
  },
2958
3012
  {
2959
3013
  value: "inline-block",
2960
- renderContent: () => __18("In-blk", "elementor"),
2961
- label: __18("Inline-block", "elementor"),
3014
+ renderContent: () => __19("In-blk", "elementor"),
3015
+ label: __19("Inline-block", "elementor"),
2962
3016
  showTooltip: true
2963
3017
  }
2964
3018
  ];
2965
3019
  var DisplayField = () => {
2966
- const isDisplayNoneFeatureActive = isExperimentActive6(EXPERIMENTAL_FEATURES.V_3_30);
3020
+ const isDisplayNoneFeatureActive = isExperimentActive7(EXPERIMENTAL_FEATURES.V_3_30);
2967
3021
  const items3 = [...displayFieldItems];
2968
3022
  if (isDisplayNoneFeatureActive) {
2969
3023
  items3.push({
2970
3024
  value: "none",
2971
- renderContent: () => __18("None", "elementor"),
2972
- label: __18("None", "elementor"),
3025
+ renderContent: () => __19("None", "elementor"),
3026
+ label: __19("None", "elementor"),
2973
3027
  showTooltip: true
2974
3028
  });
2975
3029
  }
2976
3030
  items3.push({
2977
3031
  value: "inline-flex",
2978
- renderContent: () => __18("In-flx", "elementor"),
2979
- label: __18("Inline-flex", "elementor"),
3032
+ renderContent: () => __19("In-flx", "elementor"),
3033
+ label: __19("Inline-flex", "elementor"),
2980
3034
  showTooltip: true
2981
3035
  });
2982
3036
  const placeholder = useDisplayPlaceholderValue();
2983
- return /* @__PURE__ */ React43.createElement(StylesField, { bind: "display", placeholder }, /* @__PURE__ */ React43.createElement(Stack11, { gap: 0.75 }, /* @__PURE__ */ React43.createElement(ControlLabel, null, __18("Display", "elementor")), /* @__PURE__ */ React43.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 })));
2984
3038
  };
2985
3039
  var useDisplayPlaceholderValue = () => useStylesInheritanceChain(["display"])[0]?.value ?? void 0;
2986
3040
 
2987
3041
  // src/components/style-sections/layout-section/flex-direction-field.tsx
2988
- import * as React44 from "react";
3042
+ import * as React46 from "react";
2989
3043
  import { ToggleControl as ToggleControl5 } from "@elementor/editor-controls";
2990
3044
  import { ArrowDownSmallIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpSmallIcon } from "@elementor/icons";
2991
- import { DirectionProvider as DirectionProvider4, Grid as Grid5, ThemeProvider as ThemeProvider4, withDirection as withDirection6 } from "@elementor/ui";
2992
- import { __ as __19 } from "@wordpress/i18n";
3045
+ import { Grid as Grid5, withDirection as withDirection6 } from "@elementor/ui";
3046
+ import { __ as __20 } from "@wordpress/i18n";
2993
3047
  var options3 = [
2994
3048
  {
2995
3049
  value: "row",
2996
- label: __19("Row", "elementor"),
3050
+ label: __20("Row", "elementor"),
2997
3051
  renderContent: ({ size }) => {
2998
3052
  const StartIcon5 = withDirection6(ArrowRightIcon);
2999
- return /* @__PURE__ */ React44.createElement(StartIcon5, { fontSize: size });
3053
+ return /* @__PURE__ */ React46.createElement(StartIcon5, { fontSize: size });
3000
3054
  },
3001
3055
  showTooltip: true
3002
3056
  },
3003
3057
  {
3004
3058
  value: "column",
3005
- label: __19("Column", "elementor"),
3006
- renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(ArrowDownSmallIcon, { fontSize: size }),
3059
+ label: __20("Column", "elementor"),
3060
+ renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(ArrowDownSmallIcon, { fontSize: size }),
3007
3061
  showTooltip: true
3008
3062
  },
3009
3063
  {
3010
3064
  value: "row-reverse",
3011
- label: __19("Reversed row", "elementor"),
3065
+ label: __20("Reversed row", "elementor"),
3012
3066
  renderContent: ({ size }) => {
3013
3067
  const EndIcon5 = withDirection6(ArrowLeftIcon);
3014
- return /* @__PURE__ */ React44.createElement(EndIcon5, { fontSize: size });
3068
+ return /* @__PURE__ */ React46.createElement(EndIcon5, { fontSize: size });
3015
3069
  },
3016
3070
  showTooltip: true
3017
3071
  },
3018
3072
  {
3019
3073
  value: "column-reverse",
3020
- label: __19("Reversed column", "elementor"),
3021
- renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(ArrowUpSmallIcon, { fontSize: size }),
3074
+ label: __20("Reversed column", "elementor"),
3075
+ renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(ArrowUpSmallIcon, { fontSize: size }),
3022
3076
  showTooltip: true
3023
3077
  }
3024
3078
  ];
3025
3079
  var FlexDirectionField = () => {
3026
- const { isSiteRtl } = useDirection();
3027
- return /* @__PURE__ */ React44.createElement(DirectionProvider4, { rtl: isSiteRtl }, /* @__PURE__ */ React44.createElement(ThemeProvider4, null, /* @__PURE__ */ React44.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React44.createElement(Grid5, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(Grid5, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(ControlLabel, null, __19("Direction", "elementor"))), /* @__PURE__ */ React44.createElement(Grid5, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React44.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 })))));
3028
3081
  };
3029
3082
 
3030
3083
  // src/components/style-sections/layout-section/flex-order-field.tsx
3031
- import * as React45 from "react";
3032
- import { useState as useState9 } from "react";
3084
+ import * as React47 from "react";
3085
+ import { useState as useState10 } from "react";
3033
3086
  import { ControlToggleButtonGroup, NumberControl } from "@elementor/editor-controls";
3034
3087
  import { ArrowDownSmallIcon as ArrowDownSmallIcon2, ArrowUpSmallIcon as ArrowUpSmallIcon2, PencilIcon } from "@elementor/icons";
3035
- import { DirectionProvider as DirectionProvider5, Grid as Grid6, ThemeProvider as ThemeProvider5 } from "@elementor/ui";
3036
- import { __ as __20 } from "@wordpress/i18n";
3088
+ import { Grid as Grid6 } from "@elementor/ui";
3089
+ import { __ as __21 } from "@wordpress/i18n";
3037
3090
  var FIRST_DEFAULT_VALUE = -99999;
3038
3091
  var LAST_DEFAULT_VALUE = 99999;
3039
3092
  var FIRST = "first";
@@ -3046,28 +3099,27 @@ var orderValueMap = {
3046
3099
  var items = [
3047
3100
  {
3048
3101
  value: FIRST,
3049
- label: __20("First", "elementor"),
3050
- renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(ArrowUpSmallIcon2, { fontSize: size }),
3102
+ label: __21("First", "elementor"),
3103
+ renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(ArrowUpSmallIcon2, { fontSize: size }),
3051
3104
  showTooltip: true
3052
3105
  },
3053
3106
  {
3054
3107
  value: LAST,
3055
- label: __20("Last", "elementor"),
3056
- renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(ArrowDownSmallIcon2, { fontSize: size }),
3108
+ label: __21("Last", "elementor"),
3109
+ renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(ArrowDownSmallIcon2, { fontSize: size }),
3057
3110
  showTooltip: true
3058
3111
  },
3059
3112
  {
3060
3113
  value: CUSTOM,
3061
- label: __20("Custom", "elementor"),
3062
- renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(PencilIcon, { fontSize: size }),
3114
+ label: __21("Custom", "elementor"),
3115
+ renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(PencilIcon, { fontSize: size }),
3063
3116
  showTooltip: true
3064
3117
  }
3065
3118
  ];
3066
3119
  var FlexOrderField = () => {
3067
- const { isSiteRtl } = useDirection();
3068
3120
  const [order, setOrder] = useStylesField("order");
3069
3121
  const { canEdit } = useStyle();
3070
- const [groupControlValue, setGroupControlValue] = useState9(getGroupControlValue(order?.value || null));
3122
+ const [groupControlValue, setGroupControlValue] = useState10(getGroupControlValue(order?.value || null));
3071
3123
  const handleToggleButtonChange = (group) => {
3072
3124
  setGroupControlValue(group);
3073
3125
  if (!group || group === CUSTOM) {
@@ -3076,7 +3128,7 @@ var FlexOrderField = () => {
3076
3128
  }
3077
3129
  setOrder({ $$type: "number", value: orderValueMap[group] });
3078
3130
  };
3079
- return /* @__PURE__ */ React45.createElement(DirectionProvider5, { rtl: isSiteRtl }, /* @__PURE__ */ React45.createElement(ThemeProvider5, null, /* @__PURE__ */ React45.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React45.createElement(SectionContent, null, /* @__PURE__ */ React45.createElement(Grid6, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React45.createElement(Grid6, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(ControlLabel, null, __20("Order", "elementor"))), /* @__PURE__ */ React45.createElement(Grid6, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React45.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(
3080
3132
  ControlToggleButtonGroup,
3081
3133
  {
3082
3134
  items,
@@ -3085,14 +3137,14 @@ var FlexOrderField = () => {
3085
3137
  exclusive: true,
3086
3138
  disabled: !canEdit
3087
3139
  }
3088
- ))), CUSTOM === groupControlValue && /* @__PURE__ */ React45.createElement(Grid6, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React45.createElement(Grid6, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(ControlLabel, null, __20("Custom order", "elementor"))), /* @__PURE__ */ React45.createElement(Grid6, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React45.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(
3089
3141
  NumberControl,
3090
3142
  {
3091
3143
  min: FIRST_DEFAULT_VALUE + 1,
3092
3144
  max: LAST_DEFAULT_VALUE - 1,
3093
3145
  shouldForceInt: true
3094
3146
  }
3095
- )))))));
3147
+ ))))));
3096
3148
  };
3097
3149
  var getGroupControlValue = (order) => {
3098
3150
  if (LAST_DEFAULT_VALUE === order) {
@@ -3105,8 +3157,8 @@ var getGroupControlValue = (order) => {
3105
3157
  };
3106
3158
 
3107
3159
  // src/components/style-sections/layout-section/flex-size-field.tsx
3108
- import * as React46 from "react";
3109
- import { useMemo as useMemo5, useState as useState10 } from "react";
3160
+ import * as React48 from "react";
3161
+ import { useMemo as useMemo5, useRef as useRef5, useState as useState11 } from "react";
3110
3162
  import {
3111
3163
  ControlToggleButtonGroup as ControlToggleButtonGroup2,
3112
3164
  NumberControl as NumberControl2,
@@ -3114,37 +3166,36 @@ import {
3114
3166
  } from "@elementor/editor-controls";
3115
3167
  import { numberPropTypeUtil } from "@elementor/editor-props";
3116
3168
  import { ExpandIcon, PencilIcon as PencilIcon2, ShrinkIcon } from "@elementor/icons";
3117
- import { DirectionProvider as DirectionProvider6, Grid as Grid7, ThemeProvider as ThemeProvider6 } from "@elementor/ui";
3118
- import { __ as __21 } from "@wordpress/i18n";
3169
+ import { Grid as Grid7 } from "@elementor/ui";
3170
+ import { __ as __22 } from "@wordpress/i18n";
3119
3171
  var DEFAULT = 1;
3120
3172
  var items2 = [
3121
3173
  {
3122
3174
  value: "flex-grow",
3123
- label: __21("Grow", "elementor"),
3124
- renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(ExpandIcon, { fontSize: size }),
3175
+ label: __22("Grow", "elementor"),
3176
+ renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(ExpandIcon, { fontSize: size }),
3125
3177
  showTooltip: true
3126
3178
  },
3127
3179
  {
3128
3180
  value: "flex-shrink",
3129
- label: __21("Shrink", "elementor"),
3130
- renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(ShrinkIcon, { fontSize: size }),
3181
+ label: __22("Shrink", "elementor"),
3182
+ renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(ShrinkIcon, { fontSize: size }),
3131
3183
  showTooltip: true
3132
3184
  },
3133
3185
  {
3134
3186
  value: "custom",
3135
- label: __21("Custom", "elementor"),
3136
- renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(PencilIcon2, { fontSize: size }),
3187
+ label: __22("Custom", "elementor"),
3188
+ renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(PencilIcon2, { fontSize: size }),
3137
3189
  showTooltip: true
3138
3190
  }
3139
3191
  ];
3140
3192
  var FlexSizeField = () => {
3141
- const { isSiteRtl } = useDirection();
3142
3193
  const { canEdit } = useStyle();
3143
3194
  const [fields, setFields] = useStylesFields(["flex-grow", "flex-shrink", "flex-basis"]);
3144
3195
  const grow = fields?.["flex-grow"]?.value || null;
3145
3196
  const shrink = fields?.["flex-shrink"]?.value || null;
3146
3197
  const basis = fields?.["flex-basis"]?.value || null;
3147
- const currentGroup = useMemo5(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = useState10(currentGroup);
3198
+ const currentGroup = useMemo5(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = useState11(currentGroup);
3148
3199
  const onChangeGroup = (group = null) => {
3149
3200
  setActiveGroup(group);
3150
3201
  if (!group || group === "custom") {
@@ -3169,7 +3220,7 @@ var FlexSizeField = () => {
3169
3220
  "flex-shrink": numberPropTypeUtil.create(DEFAULT)
3170
3221
  });
3171
3222
  };
3172
- return /* @__PURE__ */ React46.createElement(DirectionProvider6, { rtl: isSiteRtl }, /* @__PURE__ */ React46.createElement(ThemeProvider6, null, /* @__PURE__ */ React46.createElement(SectionContent, null, /* @__PURE__ */ React46.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(StylesField, { bind: activeGroup ?? "" }, /* @__PURE__ */ React46.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(ControlLabel, null, __21("Size", "elementor"))), /* @__PURE__ */ React46.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React46.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(
3173
3224
  ControlToggleButtonGroup2,
3174
3225
  {
3175
3226
  value: activeGroup,
@@ -3178,9 +3229,12 @@ var FlexSizeField = () => {
3178
3229
  items: items2,
3179
3230
  exclusive: true
3180
3231
  }
3181
- )))), "custom" === activeGroup && /* @__PURE__ */ React46.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 })))));
3182
3237
  };
3183
- var FlexCustomField = () => /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React46.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(ControlLabel, null, __21("Grow", "elementor"))), /* @__PURE__ */ React46.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React46.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React46.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React46.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(ControlLabel, null, __21("Shrink", "elementor"))), /* @__PURE__ */ React46.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React46.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React46.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React46.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(ControlLabel, null, __21("Basis", "elementor"))), /* @__PURE__ */ React46.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React46.createElement(SizeControl2, { extendedValues: ["auto"] })))));
3184
3238
  var getActiveGroup = ({
3185
3239
  grow,
3186
3240
  shrink,
@@ -3202,16 +3256,16 @@ var getActiveGroup = ({
3202
3256
  };
3203
3257
 
3204
3258
  // src/components/style-sections/layout-section/gap-control-field.tsx
3205
- import * as React47 from "react";
3259
+ import * as React49 from "react";
3206
3260
  import { GapControl } from "@elementor/editor-controls";
3207
3261
  import { Stack as Stack12 } from "@elementor/ui";
3208
- import { __ as __22 } from "@wordpress/i18n";
3262
+ import { __ as __23 } from "@wordpress/i18n";
3209
3263
  var GapControlField = () => {
3210
- return /* @__PURE__ */ React47.createElement(Stack12, { gap: 1 }, /* @__PURE__ */ React47.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React47.createElement(GapControl, { label: __22("Gaps", "elementor") })));
3264
+ return /* @__PURE__ */ React49.createElement(Stack12, { gap: 1 }, /* @__PURE__ */ React49.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React49.createElement(GapControl, { label: __23("Gaps", "elementor") })));
3211
3265
  };
3212
3266
 
3213
3267
  // src/components/style-sections/layout-section/justify-content-field.tsx
3214
- import * as React48 from "react";
3268
+ import * as React50 from "react";
3215
3269
  import { ToggleControl as ToggleControl6 } from "@elementor/editor-controls";
3216
3270
  import {
3217
3271
  JustifyBottomIcon as JustifyBottomIcon2,
@@ -3221,8 +3275,8 @@ import {
3221
3275
  JustifySpaceBetweenVerticalIcon as BetweenIcon2,
3222
3276
  JustifyTopIcon as JustifyTopIcon2
3223
3277
  } from "@elementor/icons";
3224
- import { DirectionProvider as DirectionProvider7, Stack as Stack13, ThemeProvider as ThemeProvider7, withDirection as withDirection7 } from "@elementor/ui";
3225
- import { __ as __23 } from "@wordpress/i18n";
3278
+ import { Stack as Stack13, withDirection as withDirection7 } from "@elementor/ui";
3279
+ import { __ as __24 } from "@wordpress/i18n";
3226
3280
  var StartIcon4 = withDirection7(JustifyTopIcon2);
3227
3281
  var EndIcon4 = withDirection7(JustifyBottomIcon2);
3228
3282
  var iconProps4 = {
@@ -3232,75 +3286,73 @@ var iconProps4 = {
3232
3286
  var options4 = [
3233
3287
  {
3234
3288
  value: "flex-start",
3235
- label: __23("Start", "elementor"),
3236
- renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(RotatedIcon, { icon: StartIcon4, size, ...iconProps4 }),
3289
+ label: __24("Start", "elementor"),
3290
+ renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(RotatedIcon, { icon: StartIcon4, size, ...iconProps4 }),
3237
3291
  showTooltip: true
3238
3292
  },
3239
3293
  {
3240
3294
  value: "center",
3241
- label: __23("Center", "elementor"),
3242
- renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(RotatedIcon, { icon: CenterIcon4, size, ...iconProps4 }),
3295
+ label: __24("Center", "elementor"),
3296
+ renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(RotatedIcon, { icon: CenterIcon4, size, ...iconProps4 }),
3243
3297
  showTooltip: true
3244
3298
  },
3245
3299
  {
3246
3300
  value: "flex-end",
3247
- label: __23("End", "elementor"),
3248
- renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(RotatedIcon, { icon: EndIcon4, size, ...iconProps4 }),
3301
+ label: __24("End", "elementor"),
3302
+ renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(RotatedIcon, { icon: EndIcon4, size, ...iconProps4 }),
3249
3303
  showTooltip: true
3250
3304
  },
3251
3305
  {
3252
3306
  value: "space-between",
3253
- label: __23("Space between", "elementor"),
3254
- renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(RotatedIcon, { icon: BetweenIcon2, size, ...iconProps4 }),
3307
+ label: __24("Space between", "elementor"),
3308
+ renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(RotatedIcon, { icon: BetweenIcon2, size, ...iconProps4 }),
3255
3309
  showTooltip: true
3256
3310
  },
3257
3311
  {
3258
3312
  value: "space-around",
3259
- label: __23("Space around", "elementor"),
3260
- renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(RotatedIcon, { icon: AroundIcon2, size, ...iconProps4 }),
3313
+ label: __24("Space around", "elementor"),
3314
+ renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(RotatedIcon, { icon: AroundIcon2, size, ...iconProps4 }),
3261
3315
  showTooltip: true
3262
3316
  },
3263
3317
  {
3264
3318
  value: "space-evenly",
3265
- label: __23("Space evenly", "elementor"),
3266
- renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(RotatedIcon, { icon: EvenlyIcon2, size, ...iconProps4 }),
3319
+ label: __24("Space evenly", "elementor"),
3320
+ renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(RotatedIcon, { icon: EvenlyIcon2, size, ...iconProps4 }),
3267
3321
  showTooltip: true
3268
3322
  }
3269
3323
  ];
3270
3324
  var JustifyContentField = () => {
3271
- const { isSiteRtl } = useDirection();
3272
- return /* @__PURE__ */ React48.createElement(DirectionProvider7, { rtl: isSiteRtl }, /* @__PURE__ */ React48.createElement(ThemeProvider7, null, /* @__PURE__ */ React48.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React48.createElement(Stack13, { gap: 0.75 }, /* @__PURE__ */ React48.createElement(ControlLabel, null, __23("Justify content", "elementor")), /* @__PURE__ */ React48.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 }))));
3273
3326
  };
3274
3327
 
3275
3328
  // src/components/style-sections/layout-section/wrap-field.tsx
3276
- import * as React49 from "react";
3329
+ import * as React51 from "react";
3277
3330
  import { ToggleControl as ToggleControl7 } from "@elementor/editor-controls";
3278
3331
  import { ArrowBackIcon, ArrowForwardIcon, ArrowRightIcon as ArrowRightIcon2 } from "@elementor/icons";
3279
- import { DirectionProvider as DirectionProvider8, Grid as Grid8, ThemeProvider as ThemeProvider8 } from "@elementor/ui";
3280
- import { __ as __24 } from "@wordpress/i18n";
3332
+ import { Grid as Grid8 } from "@elementor/ui";
3333
+ import { __ as __25 } from "@wordpress/i18n";
3281
3334
  var options5 = [
3282
3335
  {
3283
3336
  value: "nowrap",
3284
- label: __24("No wrap", "elementor"),
3285
- renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(ArrowRightIcon2, { fontSize: size }),
3337
+ label: __25("No wrap", "elementor"),
3338
+ renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(ArrowRightIcon2, { fontSize: size }),
3286
3339
  showTooltip: true
3287
3340
  },
3288
3341
  {
3289
3342
  value: "wrap",
3290
- label: __24("Wrap", "elementor"),
3291
- renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(ArrowBackIcon, { fontSize: size }),
3343
+ label: __25("Wrap", "elementor"),
3344
+ renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(ArrowBackIcon, { fontSize: size }),
3292
3345
  showTooltip: true
3293
3346
  },
3294
3347
  {
3295
3348
  value: "wrap-reverse",
3296
- label: __24("Reversed wrap", "elementor"),
3297
- renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(ArrowForwardIcon, { fontSize: size }),
3349
+ label: __25("Reversed wrap", "elementor"),
3350
+ renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(ArrowForwardIcon, { fontSize: size }),
3298
3351
  showTooltip: true
3299
3352
  }
3300
3353
  ];
3301
3354
  var WrapField = () => {
3302
- const { isSiteRtl } = useDirection();
3303
- return /* @__PURE__ */ React49.createElement(DirectionProvider8, { rtl: isSiteRtl }, /* @__PURE__ */ React49.createElement(ThemeProvider8, null, /* @__PURE__ */ React49.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React49.createElement(Grid8, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(Grid8, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(ControlLabel, null, __24("Wrap", "elementor"))), /* @__PURE__ */ React49.createElement(Grid8, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React49.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 })))));
3304
3356
  };
3305
3357
 
3306
3358
  // src/components/style-sections/layout-section/layout-section.tsx
@@ -3312,13 +3364,13 @@ var LayoutSection = () => {
3312
3364
  const parent = useParentElement(element.id);
3313
3365
  const parentStyle = useComputedStyle(parent?.id || null);
3314
3366
  const parentStyleDirection = parentStyle?.flexDirection ?? "row";
3315
- return /* @__PURE__ */ React50.createElement(SectionContent, null, /* @__PURE__ */ React50.createElement(DisplayField, null), isDisplayFlex && /* @__PURE__ */ React50.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React50.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 }));
3316
3368
  };
3317
3369
  var FlexFields = () => {
3318
3370
  const [flexWrap] = useStylesField("flex-wrap");
3319
- return /* @__PURE__ */ React50.createElement(React50.Fragment, null, /* @__PURE__ */ React50.createElement(FlexDirectionField, null), /* @__PURE__ */ React50.createElement(JustifyContentField, null), /* @__PURE__ */ React50.createElement(AlignItemsField, null), /* @__PURE__ */ React50.createElement(PanelDivider, null), /* @__PURE__ */ React50.createElement(GapControlField, null), /* @__PURE__ */ React50.createElement(WrapField, null), ["wrap", "wrap-reverse"].includes(flexWrap?.value) && /* @__PURE__ */ React50.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));
3320
3372
  };
3321
- var FlexChildFields = ({ parentStyleDirection }) => /* @__PURE__ */ React50.createElement(React50.Fragment, null, /* @__PURE__ */ React50.createElement(PanelDivider, null), /* @__PURE__ */ React50.createElement(ControlFormLabel3, null, __25("Flex child", "elementor")), /* @__PURE__ */ React50.createElement(AlignSelfChild, { parentStyleDirection }), /* @__PURE__ */ React50.createElement(FlexOrderField, null), /* @__PURE__ */ React50.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));
3322
3374
  var shouldDisplayFlexFields = (display, local) => {
3323
3375
  const value = display?.value ?? local?.value;
3324
3376
  if (!value) {
@@ -3328,66 +3380,86 @@ var shouldDisplayFlexFields = (display, local) => {
3328
3380
  };
3329
3381
 
3330
3382
  // src/components/style-sections/position-section/position-section.tsx
3331
- import * as React55 from "react";
3332
- import { isExperimentActive as isExperimentActive7 } from "@elementor/editor-v1-adapters";
3383
+ import * as React57 from "react";
3384
+ import { isExperimentActive as isExperimentActive8 } from "@elementor/editor-v1-adapters";
3333
3385
  import { useSessionStorage } from "@elementor/session";
3334
3386
 
3335
3387
  // src/components/style-sections/position-section/dimensions-field.tsx
3336
- import * as React51 from "react";
3388
+ import * as React53 from "react";
3389
+ import { useRef as useRef6 } from "react";
3337
3390
  import { SizeControl as SizeControl3 } from "@elementor/editor-controls";
3338
3391
  import { SideBottomIcon as SideBottomIcon2, SideLeftIcon as SideLeftIcon2, SideRightIcon as SideRightIcon2, SideTopIcon as SideTopIcon2 } from "@elementor/icons";
3339
3392
  import { Grid as Grid9, Stack as Stack14, withDirection as withDirection8 } from "@elementor/ui";
3340
- import { __ as __26 } from "@wordpress/i18n";
3393
+ import { __ as __27 } from "@wordpress/i18n";
3341
3394
  var InlineStartIcon2 = withDirection8(SideLeftIcon2);
3342
3395
  var InlineEndIcon2 = withDirection8(SideRightIcon2);
3343
3396
  var sideIcons = {
3344
- "inset-block-start": /* @__PURE__ */ React51.createElement(SideTopIcon2, { fontSize: "tiny" }),
3345
- "inset-block-end": /* @__PURE__ */ React51.createElement(SideBottomIcon2, { fontSize: "tiny" }),
3346
- "inset-inline-start": /* @__PURE__ */ React51.createElement(RotatedIcon, { icon: InlineStartIcon2, size: "tiny" }),
3347
- "inset-inline-end": /* @__PURE__ */ React51.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" })
3348
3401
  };
3349
- var getInlineStartLabel = (isSiteRtl) => isSiteRtl ? __26("Right", "elementor") : __26("Left", "elementor");
3350
- var getInlineEndLabel = (isSiteRtl) => isSiteRtl ? __26("Left", "elementor") : __26("Right", "elementor");
3402
+ var getInlineStartLabel = (isSiteRtl) => isSiteRtl ? __27("Right", "elementor") : __27("Left", "elementor");
3403
+ var getInlineEndLabel = (isSiteRtl) => isSiteRtl ? __27("Left", "elementor") : __27("Right", "elementor");
3351
3404
  var DimensionsField = () => {
3352
3405
  const { isSiteRtl } = useDirection();
3353
- return /* @__PURE__ */ React51.createElement(React51.Fragment, null, /* @__PURE__ */ React51.createElement(Stack14, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React51.createElement(DimensionField, { side: "inset-block-start", label: __26("Top", "elementor") }), /* @__PURE__ */ React51.createElement(DimensionField, { side: "inset-inline-end", label: getInlineEndLabel(isSiteRtl) })), /* @__PURE__ */ React51.createElement(Stack14, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React51.createElement(DimensionField, { side: "inset-block-end", label: __26("Bottom", "elementor") }), /* @__PURE__ */ React51.createElement(DimensionField, { side: "inset-inline-start", label: getInlineStartLabel(isSiteRtl) })));
3354
- };
3355
- var DimensionField = ({ side, label }) => {
3356
- return /* @__PURE__ */ React51.createElement(Grid9, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React51.createElement(Grid9, { item: true, xs: 12 }, /* @__PURE__ */ React51.createElement(ControlLabel, null, label)), /* @__PURE__ */ React51.createElement(Grid9, { item: true, xs: 12 }, /* @__PURE__ */ React51.createElement(StylesField, { bind: side }, /* @__PURE__ */ React51.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
+ )));
3357
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 }))));
3358
3428
 
3359
3429
  // src/components/style-sections/position-section/offset-field.tsx
3360
- import * as React52 from "react";
3430
+ import * as React54 from "react";
3431
+ import { useRef as useRef7 } from "react";
3361
3432
  import { SizeControl as SizeControl4 } from "@elementor/editor-controls";
3362
3433
  import { Grid as Grid10 } from "@elementor/ui";
3363
- import { __ as __27 } from "@wordpress/i18n";
3434
+ import { __ as __28 } from "@wordpress/i18n";
3364
3435
  var OffsetField = () => {
3365
- return /* @__PURE__ */ React52.createElement(StylesField, { bind: "scroll-margin-top" }, /* @__PURE__ */ React52.createElement(Grid10, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(Grid10, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(ControlLabel, null, __27("Anchor offset", "elementor"))), /* @__PURE__ */ React52.createElement(Grid10, { item: true, xs: 6 }, /* @__PURE__ */ React52.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 }))));
3366
3438
  };
3367
3439
 
3368
3440
  // src/components/style-sections/position-section/position-field.tsx
3369
- import * as React53 from "react";
3441
+ import * as React55 from "react";
3370
3442
  import { SelectControl as SelectControl3 } from "@elementor/editor-controls";
3371
3443
  import { Grid as Grid11 } from "@elementor/ui";
3372
- import { __ as __28 } from "@wordpress/i18n";
3444
+ import { __ as __29 } from "@wordpress/i18n";
3373
3445
  var positionOptions = [
3374
- { label: __28("Static", "elementor"), value: "static" },
3375
- { label: __28("Relative", "elementor"), value: "relative" },
3376
- { label: __28("Absolute", "elementor"), value: "absolute" },
3377
- { label: __28("Fixed", "elementor"), value: "fixed" },
3378
- { label: __28("Sticky", "elementor"), value: "sticky" }
3446
+ { label: __29("Static", "elementor"), value: "static" },
3447
+ { label: __29("Relative", "elementor"), value: "relative" },
3448
+ { label: __29("Absolute", "elementor"), value: "absolute" },
3449
+ { label: __29("Fixed", "elementor"), value: "fixed" },
3450
+ { label: __29("Sticky", "elementor"), value: "sticky" }
3379
3451
  ];
3380
3452
  var PositionField = ({ onChange }) => {
3381
- return /* @__PURE__ */ React53.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React53.createElement(Grid11, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React53.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(ControlLabel, null, __28("Position", "elementor"))), /* @__PURE__ */ React53.createElement(Grid11, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React53.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 }))));
3382
3454
  };
3383
3455
 
3384
3456
  // src/components/style-sections/position-section/z-index-field.tsx
3385
- import * as React54 from "react";
3457
+ import * as React56 from "react";
3386
3458
  import { NumberControl as NumberControl3 } from "@elementor/editor-controls";
3387
3459
  import { Grid as Grid12 } from "@elementor/ui";
3388
- import { __ as __29 } from "@wordpress/i18n";
3460
+ import { __ as __30 } from "@wordpress/i18n";
3389
3461
  var ZIndexField = () => {
3390
- return /* @__PURE__ */ React54.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React54.createElement(Grid12, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React54.createElement(Grid12, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(ControlLabel, null, __29("Z-index", "elementor"))), /* @__PURE__ */ React54.createElement(Grid12, { item: true, xs: 6 }, /* @__PURE__ */ React54.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))));
3391
3463
  };
3392
3464
 
3393
3465
  // src/components/style-sections/position-section/position-section.tsx
@@ -3400,7 +3472,7 @@ var PositionSection = () => {
3400
3472
  "inset-inline-end"
3401
3473
  ]);
3402
3474
  const [dimensionsValuesFromHistory, updateDimensionsHistory, clearDimensionsHistory] = usePersistDimensions();
3403
- const isCssIdFeatureActive = isExperimentActive7("e_v_3_30");
3475
+ const isCssIdFeatureActive = isExperimentActive8("e_v_3_30");
3404
3476
  const onPositionChange = (newPosition, previousPosition) => {
3405
3477
  if (newPosition === "static") {
3406
3478
  if (dimensionsValues) {
@@ -3420,7 +3492,7 @@ var PositionSection = () => {
3420
3492
  }
3421
3493
  };
3422
3494
  const isNotStatic = positionValue && positionValue?.value !== "static";
3423
- return /* @__PURE__ */ React55.createElement(SectionContent, null, /* @__PURE__ */ React55.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React55.createElement(React55.Fragment, null, /* @__PURE__ */ React55.createElement(DimensionsField, null), /* @__PURE__ */ React55.createElement(ZIndexField, null)) : null, isCssIdFeatureActive && /* @__PURE__ */ React55.createElement(React55.Fragment, null, /* @__PURE__ */ React55.createElement(PanelDivider, null), /* @__PURE__ */ React55.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)));
3424
3496
  };
3425
3497
  var usePersistDimensions = () => {
3426
3498
  const { id: styleDefID, meta } = useStyle();
@@ -3430,179 +3502,258 @@ var usePersistDimensions = () => {
3430
3502
  };
3431
3503
 
3432
3504
  // src/components/style-sections/size-section/size-section.tsx
3433
- import * as React60 from "react";
3505
+ import * as React63 from "react";
3506
+ import { useRef as useRef8 } from "react";
3434
3507
  import { AspectRatioControl, SizeControl as SizeControl5 } from "@elementor/editor-controls";
3435
- import { isExperimentActive as isExperimentActive8 } from "@elementor/editor-v1-adapters";
3508
+ import { isExperimentActive as isExperimentActive10 } from "@elementor/editor-v1-adapters";
3436
3509
  import { Grid as Grid16, Stack as Stack16 } from "@elementor/ui";
3437
- import { __ as __34 } from "@wordpress/i18n";
3510
+ import { __ as __35 } from "@wordpress/i18n";
3438
3511
 
3439
- // src/components/collapsible-content.tsx
3440
- import * as React56 from "react";
3441
- import { useState as useState11 } from "react";
3442
- import { Button, Collapse as Collapse3, Stack as Stack15 } from "@elementor/ui";
3443
- import { __ as __30 } from "@wordpress/i18n";
3444
- var CollapsibleContent = ({ children, defaultOpen = false }) => {
3445
- const [open, setOpen] = useState11(defaultOpen);
3446
- const handleToggle = () => {
3447
- setOpen((prevOpen) => !prevOpen);
3448
- };
3449
- return /* @__PURE__ */ React56.createElement(Stack15, null, /* @__PURE__ */ React56.createElement(
3450
- Button,
3451
- {
3452
- fullWidth: true,
3453
- size: "small",
3454
- color: "secondary",
3455
- variant: "outlined",
3456
- onClick: handleToggle,
3457
- endIcon: /* @__PURE__ */ React56.createElement(CollapseIcon, { open }),
3458
- sx: { my: 0.5 }
3459
- },
3460
- open ? __30("Show less", "elementor") : __30("Show more", "elementor")
3461
- ), /* @__PURE__ */ React56.createElement(Collapse3, { in: open, timeout: "auto", unmountOnExit: true }, children));
3512
+ // src/components/style-tab-collapsible-content.tsx
3513
+ import * as React59 from "react";
3514
+ import { isExperimentActive as isExperimentActive9 } from "@elementor/editor-v1-adapters";
3515
+
3516
+ // src/styles-inheritance/components/styles-inheritance-section-indicators.tsx
3517
+ import * as React58 from "react";
3518
+ import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as ELEMENTS_BASE_STYLES_PROVIDER_KEY4, isElementsStylesProvider as isElementsStylesProvider4 } from "@elementor/editor-styles-repository";
3519
+ import { Stack as Stack15, Tooltip as Tooltip7 } from "@elementor/ui";
3520
+ import { __ as __31 } from "@wordpress/i18n";
3521
+ var orderedVariants = ["global", "local", "overridden"];
3522
+ var StylesInheritanceSectionIndicators = ({ fields }) => {
3523
+ const { id, meta } = useStyle();
3524
+ const snapshot = useStylesInheritanceSnapshot();
3525
+ const snapshotFields = Object.fromEntries(
3526
+ Object.entries(snapshot ?? {}).filter(([key]) => fields.includes(key))
3527
+ );
3528
+ const indicators = getIndicators(snapshotFields, id ?? "", meta);
3529
+ if (Object.values(indicators).filter(Boolean).length === 0) {
3530
+ return null;
3531
+ }
3532
+ const hasActualValues = __31("Has effective styles", "elementor");
3533
+ const hasOverriddenValues = __31("Has overridden styles", "elementor");
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(
3536
+ StyleIndicator,
3537
+ {
3538
+ key: variant,
3539
+ variant,
3540
+ "data-variant": variant,
3541
+ role: "listitem",
3542
+ "aria-label": variant === "overridden" ? hasOverriddenValues : hasActualValues
3543
+ }
3544
+ )
3545
+ )));
3462
3546
  };
3547
+ function getIndicators(snapshotFields, styleId, meta) {
3548
+ const indicators = {};
3549
+ Object.values(snapshotFields).forEach((inheritanceChain) => {
3550
+ const currentStyle = getCurrentStyleFromChain(inheritanceChain, styleId, meta);
3551
+ if (!currentStyle) {
3552
+ return;
3553
+ }
3554
+ const [actualStyle] = inheritanceChain;
3555
+ if (currentStyle === actualStyle) {
3556
+ const providerKey = actualStyle.provider ?? "";
3557
+ if (isElementsStylesProvider4(providerKey)) {
3558
+ indicators.local = true;
3559
+ return;
3560
+ }
3561
+ if (providerKey !== ELEMENTS_BASE_STYLES_PROVIDER_KEY4) {
3562
+ indicators.global = true;
3563
+ }
3564
+ return;
3565
+ }
3566
+ indicators.overridden = true;
3567
+ });
3568
+ return indicators;
3569
+ }
3570
+ function getCurrentStyleFromChain(chain, styleId, meta) {
3571
+ return chain.find(
3572
+ ({
3573
+ style: { id },
3574
+ variant: {
3575
+ meta: { breakpoint, state }
3576
+ }
3577
+ }) => id === styleId && breakpoint === meta.breakpoint && state === meta.state
3578
+ );
3579
+ }
3580
+
3581
+ // src/components/style-tab-collapsible-content.tsx
3582
+ var StyleTabCollapsibleContent = ({ fields = [], children }) => {
3583
+ return /* @__PURE__ */ React59.createElement(CollapsibleContent, { titleEnd: getStylesInheritanceIndicators(fields) }, children);
3584
+ };
3585
+ function getStylesInheritanceIndicators(fields) {
3586
+ const isUsingFieldsIndicators = isExperimentActive9(EXPERIMENTAL_FEATURES.V_3_30);
3587
+ if (fields.length === 0 || !isUsingFieldsIndicators) {
3588
+ return null;
3589
+ }
3590
+ return (isOpen) => !isOpen ? /* @__PURE__ */ React59.createElement(StylesInheritanceSectionIndicators, { fields }) : null;
3591
+ }
3463
3592
 
3464
3593
  // src/components/style-sections/size-section/object-fit-field.tsx
3465
- import * as React57 from "react";
3594
+ import * as React60 from "react";
3466
3595
  import { SelectControl as SelectControl4 } from "@elementor/editor-controls";
3467
3596
  import { Grid as Grid13 } from "@elementor/ui";
3468
- import { __ as __31 } from "@wordpress/i18n";
3597
+ import { __ as __32 } from "@wordpress/i18n";
3469
3598
  var positionOptions2 = [
3470
- { label: __31("Fill", "elementor"), value: "fill" },
3471
- { label: __31("Cover", "elementor"), value: "cover" },
3472
- { label: __31("Contain", "elementor"), value: "contain" },
3473
- { label: __31("None", "elementor"), value: "none" },
3474
- { label: __31("Scale down", "elementor"), value: "scale-down" }
3599
+ { label: __32("Fill", "elementor"), value: "fill" },
3600
+ { label: __32("Cover", "elementor"), value: "cover" },
3601
+ { label: __32("Contain", "elementor"), value: "contain" },
3602
+ { label: __32("None", "elementor"), value: "none" },
3603
+ { label: __32("Scale down", "elementor"), value: "scale-down" }
3475
3604
  ];
3476
3605
  var ObjectFitField = () => {
3477
- return /* @__PURE__ */ React57.createElement(StylesField, { bind: "object-fit" }, /* @__PURE__ */ React57.createElement(Grid13, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React57.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(ControlLabel, null, __31("Object fit", "elementor"))), /* @__PURE__ */ React57.createElement(Grid13, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React57.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 }))));
3478
3607
  };
3479
3608
 
3480
3609
  // src/components/style-sections/size-section/object-position-field.tsx
3481
- import * as React58 from "react";
3610
+ import * as React61 from "react";
3482
3611
  import { SelectControl as SelectControl5 } from "@elementor/editor-controls";
3483
3612
  import { Grid as Grid14 } from "@elementor/ui";
3484
- import { __ as __32 } from "@wordpress/i18n";
3613
+ import { __ as __33 } from "@wordpress/i18n";
3485
3614
  var positionOptions3 = [
3486
- { label: __32("Center center", "elementor"), value: "center center" },
3487
- { label: __32("Center left", "elementor"), value: "center left" },
3488
- { label: __32("Center right", "elementor"), value: "center right" },
3489
- { label: __32("Top center", "elementor"), value: "top center" },
3490
- { label: __32("Top left", "elementor"), value: "top left" },
3491
- { label: __32("Top right", "elementor"), value: "top right" },
3492
- { label: __32("Bottom center", "elementor"), value: "bottom center" },
3493
- { label: __32("Bottom left", "elementor"), value: "bottom left" },
3494
- { label: __32("Bottom right", "elementor"), value: "bottom right" }
3615
+ { label: __33("Center center", "elementor"), value: "center center" },
3616
+ { label: __33("Center left", "elementor"), value: "center left" },
3617
+ { label: __33("Center right", "elementor"), value: "center right" },
3618
+ { label: __33("Top center", "elementor"), value: "top center" },
3619
+ { label: __33("Top left", "elementor"), value: "top left" },
3620
+ { label: __33("Top right", "elementor"), value: "top right" },
3621
+ { label: __33("Bottom center", "elementor"), value: "bottom center" },
3622
+ { label: __33("Bottom left", "elementor"), value: "bottom left" },
3623
+ { label: __33("Bottom right", "elementor"), value: "bottom right" }
3495
3624
  ];
3496
3625
  var ObjectPositionField = () => {
3497
- return /* @__PURE__ */ React58.createElement(StylesField, { bind: "object-position" }, /* @__PURE__ */ React58.createElement(Grid14, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React58.createElement(Grid14, { item: true, xs: 6 }, /* @__PURE__ */ React58.createElement(ControlLabel, null, __32("Object position", "elementor"))), /* @__PURE__ */ React58.createElement(Grid14, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React58.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 }))));
3498
3627
  };
3499
3628
 
3500
3629
  // src/components/style-sections/size-section/overflow-field.tsx
3501
- import * as React59 from "react";
3630
+ import * as React62 from "react";
3502
3631
  import { ToggleControl as ToggleControl8 } from "@elementor/editor-controls";
3503
3632
  import { EyeIcon, EyeOffIcon, LetterAIcon } from "@elementor/icons";
3504
3633
  import { Grid as Grid15 } from "@elementor/ui";
3505
- import { __ as __33 } from "@wordpress/i18n";
3634
+ import { __ as __34 } from "@wordpress/i18n";
3506
3635
  var options6 = [
3507
3636
  {
3508
3637
  value: "visible",
3509
- label: __33("Visible", "elementor"),
3510
- renderContent: ({ size }) => /* @__PURE__ */ React59.createElement(EyeIcon, { fontSize: size }),
3638
+ label: __34("Visible", "elementor"),
3639
+ renderContent: ({ size }) => /* @__PURE__ */ React62.createElement(EyeIcon, { fontSize: size }),
3511
3640
  showTooltip: true
3512
3641
  },
3513
3642
  {
3514
3643
  value: "hidden",
3515
- label: __33("Hidden", "elementor"),
3516
- renderContent: ({ size }) => /* @__PURE__ */ React59.createElement(EyeOffIcon, { fontSize: size }),
3644
+ label: __34("Hidden", "elementor"),
3645
+ renderContent: ({ size }) => /* @__PURE__ */ React62.createElement(EyeOffIcon, { fontSize: size }),
3517
3646
  showTooltip: true
3518
3647
  },
3519
3648
  {
3520
3649
  value: "auto",
3521
- label: __33("Auto", "elementor"),
3522
- renderContent: ({ size }) => /* @__PURE__ */ React59.createElement(LetterAIcon, { fontSize: size }),
3650
+ label: __34("Auto", "elementor"),
3651
+ renderContent: ({ size }) => /* @__PURE__ */ React62.createElement(LetterAIcon, { fontSize: size }),
3523
3652
  showTooltip: true
3524
3653
  }
3525
3654
  ];
3526
3655
  var OverflowField = () => {
3527
- return /* @__PURE__ */ React59.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React59.createElement(Grid15, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React59.createElement(Grid15, { item: true, xs: 6 }, /* @__PURE__ */ React59.createElement(ControlLabel, null, __33("Overflow", "elementor"))), /* @__PURE__ */ React59.createElement(Grid15, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React59.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 }))));
3528
3657
  };
3529
3658
 
3530
3659
  // src/components/style-sections/size-section/size-section.tsx
3531
- var SizeSection = () => {
3532
- const [fitValue] = useStylesField("object-fit");
3533
- const isNotFill = fitValue && fitValue?.value !== "fill";
3534
- const isVersion330Active = isExperimentActive8("e_v_3_30");
3535
- return /* @__PURE__ */ React60.createElement(SectionContent, null, /* @__PURE__ */ React60.createElement(Grid16, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React60.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(SizeField, { bind: "width", label: __34("Width", "elementor"), extendedValues: ["auto"] })), /* @__PURE__ */ React60.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(SizeField, { bind: "height", label: __34("Height", "elementor"), extendedValues: ["auto"] }))), /* @__PURE__ */ React60.createElement(Grid16, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React60.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(
3536
- SizeField,
3660
+ var EXPERIMENT_ID = "e_v_3_30";
3661
+ var CssSizeProps = [
3662
+ [
3537
3663
  {
3538
- bind: "min-width",
3539
- label: __34("Min width", "elementor"),
3540
- extendedValues: ["auto"]
3664
+ bind: "width",
3665
+ label: __35("Width", "elementor")
3666
+ },
3667
+ {
3668
+ bind: "height",
3669
+ label: __35("Height", "elementor")
3541
3670
  }
3542
- )), /* @__PURE__ */ React60.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(
3543
- SizeField,
3671
+ ],
3672
+ [
3673
+ {
3674
+ bind: "min-width",
3675
+ label: __35("Min width", "elementor")
3676
+ },
3544
3677
  {
3545
3678
  bind: "min-height",
3546
- label: __34("Min height", "elementor"),
3547
- 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")
3548
3690
  }
3549
- ))), /* @__PURE__ */ React60.createElement(Grid16, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React60.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(SizeField, { bind: "max-width", label: __34("Max width", "elementor") })), /* @__PURE__ */ React60.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(SizeField, { bind: "max-height", label: __34("Max height", "elementor") }))), /* @__PURE__ */ React60.createElement(PanelDivider, null), /* @__PURE__ */ React60.createElement(Stack16, null, /* @__PURE__ */ React60.createElement(OverflowField, null)), isVersion330Active && /* @__PURE__ */ React60.createElement(CollapsibleContent, null, /* @__PURE__ */ React60.createElement(Stack16, { gap: 2 }, /* @__PURE__ */ React60.createElement(StylesField, { bind: "aspect-ratio" }, /* @__PURE__ */ React60.createElement(AspectRatioControl, { label: __34("Aspect Ratio", "elementor") })), /* @__PURE__ */ React60.createElement(PanelDivider, null), /* @__PURE__ */ React60.createElement(ObjectFitField, null), isNotFill && /* @__PURE__ */ React60.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React60.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)))));
3550
3699
  };
3551
- var SizeField = ({ label, bind, extendedValues }) => {
3552
- return /* @__PURE__ */ React60.createElement(StylesField, { bind }, /* @__PURE__ */ React60.createElement(Grid16, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React60.createElement(Grid16, { item: true, xs: 12 }, /* @__PURE__ */ React60.createElement(ControlLabel, null, label)), /* @__PURE__ */ React60.createElement(Grid16, { item: true, xs: 12 }, /* @__PURE__ */ React60.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 }))));
3553
3702
  };
3554
3703
 
3555
3704
  // src/components/style-sections/spacing-section/spacing-section.tsx
3556
- import * as React61 from "react";
3705
+ import * as React64 from "react";
3557
3706
  import { LinkedDimensionsControl } from "@elementor/editor-controls";
3558
- import { __ as __35 } from "@wordpress/i18n";
3707
+ import { __ as __36 } from "@wordpress/i18n";
3559
3708
  var SpacingSection = () => {
3560
3709
  const { isSiteRtl } = useDirection();
3561
- return /* @__PURE__ */ React61.createElement(SectionContent, null, /* @__PURE__ */ React61.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React61.createElement(
3710
+ return /* @__PURE__ */ React64.createElement(SectionContent, null, /* @__PURE__ */ React64.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React64.createElement(
3562
3711
  LinkedDimensionsControl,
3563
3712
  {
3564
- label: __35("Margin", "elementor"),
3713
+ label: __36("Margin", "elementor"),
3565
3714
  isSiteRtl,
3566
- extendedValues: ["auto"]
3715
+ extendedOptions: ["auto"]
3567
3716
  }
3568
- )), /* @__PURE__ */ React61.createElement(PanelDivider, null), /* @__PURE__ */ React61.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React61.createElement(LinkedDimensionsControl, { label: __35("Padding", "elementor"), isSiteRtl })));
3717
+ )), /* @__PURE__ */ React64.createElement(PanelDivider, null), /* @__PURE__ */ React64.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React64.createElement(LinkedDimensionsControl, { label: __36("Padding", "elementor"), isSiteRtl })));
3569
3718
  };
3570
3719
 
3571
3720
  // src/components/style-sections/typography-section/typography-section.tsx
3572
- import * as React77 from "react";
3573
- import { isExperimentActive as isExperimentActive9 } from "@elementor/editor-v1-adapters";
3721
+ import * as React80 from "react";
3722
+ import { isExperimentActive as isExperimentActive11 } from "@elementor/editor-v1-adapters";
3574
3723
 
3575
3724
  // src/components/style-sections/typography-section/column-count-field.tsx
3576
- import * as React62 from "react";
3725
+ import * as React65 from "react";
3577
3726
  import { NumberControl as NumberControl4 } from "@elementor/editor-controls";
3578
3727
  import { Grid as Grid17 } from "@elementor/ui";
3579
- import { __ as __36 } from "@wordpress/i18n";
3728
+ import { __ as __37 } from "@wordpress/i18n";
3580
3729
  var ColumnCountField = () => {
3581
- return /* @__PURE__ */ React62.createElement(StylesField, { bind: "column-count" }, /* @__PURE__ */ React62.createElement(Grid17, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React62.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(ControlLabel, null, __36("Columns", "elementor"))), /* @__PURE__ */ React62.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React62.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 }))));
3582
3731
  };
3583
3732
 
3584
3733
  // src/components/style-sections/typography-section/column-gap-field.tsx
3585
- import * as React63 from "react";
3734
+ import * as React66 from "react";
3735
+ import { useRef as useRef9 } from "react";
3586
3736
  import { SizeControl as SizeControl6 } from "@elementor/editor-controls";
3587
3737
  import { Grid as Grid18 } from "@elementor/ui";
3588
- import { __ as __37 } from "@wordpress/i18n";
3738
+ import { __ as __38 } from "@wordpress/i18n";
3589
3739
  var ColumnGapField = () => {
3590
- return /* @__PURE__ */ React63.createElement(StylesField, { bind: "column-gap" }, /* @__PURE__ */ React63.createElement(Grid18, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React63.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React63.createElement(ControlLabel, null, __37("Column gap", "elementor"))), /* @__PURE__ */ React63.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React63.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 }))));
3591
3742
  };
3592
3743
 
3593
3744
  // src/components/style-sections/typography-section/font-family-field.tsx
3594
- import * as React64 from "react";
3745
+ import * as React67 from "react";
3595
3746
  import { FontFamilyControl } from "@elementor/editor-controls";
3596
3747
  import { Grid as Grid19 } from "@elementor/ui";
3597
- import { __ as __39 } from "@wordpress/i18n";
3748
+ import { __ as __40 } from "@wordpress/i18n";
3598
3749
 
3599
3750
  // src/components/style-sections/typography-section/hooks/use-font-families.ts
3600
3751
  import { useMemo as useMemo6 } from "react";
3601
- import { __ as __38 } from "@wordpress/i18n";
3752
+ import { __ as __39 } from "@wordpress/i18n";
3602
3753
  var supportedCategories = {
3603
- system: __38("System", "elementor"),
3604
- custom: __38("Custom Fonts", "elementor"),
3605
- googlefonts: __38("Google Fonts", "elementor")
3754
+ system: __39("System", "elementor"),
3755
+ custom: __39("Custom Fonts", "elementor"),
3756
+ googlefonts: __39("Google Fonts", "elementor")
3606
3757
  };
3607
3758
  var getFontFamilies = () => {
3608
3759
  const { controls } = getElementorConfig();
@@ -3639,188 +3790,194 @@ var FontFamilyField = () => {
3639
3790
  if (fontFamilies.length === 0) {
3640
3791
  return null;
3641
3792
  }
3642
- return /* @__PURE__ */ React64.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React64.createElement(Grid19, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React64.createElement(Grid19, { item: true, xs: 6 }, /* @__PURE__ */ React64.createElement(ControlLabel, null, __39("Font family", "elementor"))), /* @__PURE__ */ React64.createElement(Grid19, { item: true, xs: 6, sx: { minWidth: 0 } }, /* @__PURE__ */ React64.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 }))));
3643
3794
  };
3644
3795
 
3645
3796
  // src/components/style-sections/typography-section/font-size-field.tsx
3646
- import * as React65 from "react";
3797
+ import * as React68 from "react";
3798
+ import { useRef as useRef10 } from "react";
3647
3799
  import { SizeControl as SizeControl7 } from "@elementor/editor-controls";
3648
3800
  import { Grid as Grid20 } from "@elementor/ui";
3649
- import { __ as __40 } from "@wordpress/i18n";
3801
+ import { __ as __41 } from "@wordpress/i18n";
3650
3802
  var FontSizeField = () => {
3651
- return /* @__PURE__ */ React65.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React65.createElement(Grid20, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React65.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React65.createElement(ControlLabel, null, __40("Font size", "elementor"))), /* @__PURE__ */ React65.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React65.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 }))));
3652
3805
  };
3653
3806
 
3654
3807
  // src/components/style-sections/typography-section/font-style-field.tsx
3655
- import * as React66 from "react";
3656
- import { ControlFormLabel as ControlFormLabel4, ToggleControl as ToggleControl9 } from "@elementor/editor-controls";
3808
+ import * as React69 from "react";
3809
+ import { ControlFormLabel as ControlFormLabel5, ToggleControl as ToggleControl9 } from "@elementor/editor-controls";
3657
3810
  import { ItalicIcon, MinusIcon as MinusIcon2 } from "@elementor/icons";
3658
3811
  import { Grid as Grid21 } from "@elementor/ui";
3659
- import { __ as __41 } from "@wordpress/i18n";
3812
+ import { __ as __42 } from "@wordpress/i18n";
3660
3813
  var options7 = [
3661
3814
  {
3662
3815
  value: "normal",
3663
- label: __41("Normal", "elementor"),
3664
- renderContent: ({ size }) => /* @__PURE__ */ React66.createElement(MinusIcon2, { fontSize: size }),
3816
+ label: __42("Normal", "elementor"),
3817
+ renderContent: ({ size }) => /* @__PURE__ */ React69.createElement(MinusIcon2, { fontSize: size }),
3665
3818
  showTooltip: true
3666
3819
  },
3667
3820
  {
3668
3821
  value: "italic",
3669
- label: __41("Italic", "elementor"),
3670
- renderContent: ({ size }) => /* @__PURE__ */ React66.createElement(ItalicIcon, { fontSize: size }),
3822
+ label: __42("Italic", "elementor"),
3823
+ renderContent: ({ size }) => /* @__PURE__ */ React69.createElement(ItalicIcon, { fontSize: size }),
3671
3824
  showTooltip: true
3672
3825
  }
3673
3826
  ];
3674
- var FontStyleField = () => /* @__PURE__ */ React66.createElement(StylesField, { bind: "font-style" }, /* @__PURE__ */ React66.createElement(Grid21, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React66.createElement(Grid21, { item: true, xs: 6 }, /* @__PURE__ */ React66.createElement(ControlFormLabel4, null, __41("Font style", "elementor"))), /* @__PURE__ */ React66.createElement(Grid21, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React66.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 }))));
3675
3828
 
3676
3829
  // src/components/style-sections/typography-section/font-weight-field.tsx
3677
- import * as React67 from "react";
3830
+ import * as React70 from "react";
3678
3831
  import { SelectControl as SelectControl6 } from "@elementor/editor-controls";
3679
3832
  import { Grid as Grid22 } from "@elementor/ui";
3680
- import { __ as __42 } from "@wordpress/i18n";
3833
+ import { __ as __43 } from "@wordpress/i18n";
3681
3834
  var fontWeightOptions = [
3682
- { value: "100", label: __42("100 - Thin", "elementor") },
3683
- { value: "200", label: __42("200 - Extra light", "elementor") },
3684
- { value: "300", label: __42("300 - Light", "elementor") },
3685
- { value: "400", label: __42("400 - Normal", "elementor") },
3686
- { value: "500", label: __42("500 - Medium", "elementor") },
3687
- { value: "600", label: __42("600 - Semi bold", "elementor") },
3688
- { value: "700", label: __42("700 - Bold", "elementor") },
3689
- { value: "800", label: __42("800 - Extra bold", "elementor") },
3690
- { value: "900", label: __42("900 - Black", "elementor") }
3835
+ { value: "100", label: __43("100 - Thin", "elementor") },
3836
+ { value: "200", label: __43("200 - Extra light", "elementor") },
3837
+ { value: "300", label: __43("300 - Light", "elementor") },
3838
+ { value: "400", label: __43("400 - Normal", "elementor") },
3839
+ { value: "500", label: __43("500 - Medium", "elementor") },
3840
+ { value: "600", label: __43("600 - Semi bold", "elementor") },
3841
+ { value: "700", label: __43("700 - Bold", "elementor") },
3842
+ { value: "800", label: __43("800 - Extra bold", "elementor") },
3843
+ { value: "900", label: __43("900 - Black", "elementor") }
3691
3844
  ];
3692
3845
  var FontWeightField = () => {
3693
- return /* @__PURE__ */ React67.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React67.createElement(Grid22, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React67.createElement(Grid22, { item: true, xs: 6 }, /* @__PURE__ */ React67.createElement(ControlLabel, null, __42("Font weight", "elementor"))), /* @__PURE__ */ React67.createElement(Grid22, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React67.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 }))));
3694
3847
  };
3695
3848
 
3696
3849
  // src/components/style-sections/typography-section/letter-spacing-field.tsx
3697
- import * as React68 from "react";
3850
+ import * as React71 from "react";
3851
+ import { useRef as useRef11 } from "react";
3698
3852
  import { SizeControl as SizeControl8 } from "@elementor/editor-controls";
3699
3853
  import { Grid as Grid23 } from "@elementor/ui";
3700
- import { __ as __43 } from "@wordpress/i18n";
3854
+ import { __ as __44 } from "@wordpress/i18n";
3701
3855
  var LetterSpacingField = () => {
3702
- return /* @__PURE__ */ React68.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React68.createElement(Grid23, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React68.createElement(Grid23, { item: true, xs: 6 }, /* @__PURE__ */ React68.createElement(ControlLabel, null, __43("Letter spacing", "elementor"))), /* @__PURE__ */ React68.createElement(Grid23, { item: true, xs: 6 }, /* @__PURE__ */ React68.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 }))));
3703
3858
  };
3704
3859
 
3705
3860
  // src/components/style-sections/typography-section/line-height-field.tsx
3706
- import * as React69 from "react";
3861
+ import * as React72 from "react";
3862
+ import { useRef as useRef12 } from "react";
3707
3863
  import { SizeControl as SizeControl9 } from "@elementor/editor-controls";
3708
3864
  import { Grid as Grid24 } from "@elementor/ui";
3709
- import { __ as __44 } from "@wordpress/i18n";
3865
+ import { __ as __45 } from "@wordpress/i18n";
3710
3866
  var LineHeightField = () => {
3711
- return /* @__PURE__ */ React69.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React69.createElement(Grid24, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React69.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React69.createElement(ControlLabel, null, __44("Line height", "elementor"))), /* @__PURE__ */ React69.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React69.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 }))));
3712
3869
  };
3713
3870
 
3714
3871
  // src/components/style-sections/typography-section/text-alignment-field.tsx
3715
- import * as React70 from "react";
3872
+ import * as React73 from "react";
3716
3873
  import { ToggleControl as ToggleControl10 } from "@elementor/editor-controls";
3717
3874
  import { AlignCenterIcon, AlignJustifiedIcon, AlignLeftIcon, AlignRightIcon } from "@elementor/icons";
3718
3875
  import { Grid as Grid25, withDirection as withDirection9 } from "@elementor/ui";
3719
- import { __ as __45 } from "@wordpress/i18n";
3876
+ import { __ as __46 } from "@wordpress/i18n";
3720
3877
  var AlignStartIcon = withDirection9(AlignLeftIcon);
3721
3878
  var AlignEndIcon = withDirection9(AlignRightIcon);
3722
3879
  var options8 = [
3723
3880
  {
3724
3881
  value: "start",
3725
- label: __45("Start", "elementor"),
3726
- renderContent: ({ size }) => /* @__PURE__ */ React70.createElement(AlignStartIcon, { fontSize: size }),
3882
+ label: __46("Start", "elementor"),
3883
+ renderContent: ({ size }) => /* @__PURE__ */ React73.createElement(AlignStartIcon, { fontSize: size }),
3727
3884
  showTooltip: true
3728
3885
  },
3729
3886
  {
3730
3887
  value: "center",
3731
- label: __45("Center", "elementor"),
3732
- renderContent: ({ size }) => /* @__PURE__ */ React70.createElement(AlignCenterIcon, { fontSize: size }),
3888
+ label: __46("Center", "elementor"),
3889
+ renderContent: ({ size }) => /* @__PURE__ */ React73.createElement(AlignCenterIcon, { fontSize: size }),
3733
3890
  showTooltip: true
3734
3891
  },
3735
3892
  {
3736
3893
  value: "end",
3737
- label: __45("End", "elementor"),
3738
- renderContent: ({ size }) => /* @__PURE__ */ React70.createElement(AlignEndIcon, { fontSize: size }),
3894
+ label: __46("End", "elementor"),
3895
+ renderContent: ({ size }) => /* @__PURE__ */ React73.createElement(AlignEndIcon, { fontSize: size }),
3739
3896
  showTooltip: true
3740
3897
  },
3741
3898
  {
3742
3899
  value: "justify",
3743
- label: __45("Justify", "elementor"),
3744
- renderContent: ({ size }) => /* @__PURE__ */ React70.createElement(AlignJustifiedIcon, { fontSize: size }),
3900
+ label: __46("Justify", "elementor"),
3901
+ renderContent: ({ size }) => /* @__PURE__ */ React73.createElement(AlignJustifiedIcon, { fontSize: size }),
3745
3902
  showTooltip: true
3746
3903
  }
3747
3904
  ];
3748
3905
  var TextAlignmentField = () => {
3749
- return /* @__PURE__ */ React70.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React70.createElement(Grid25, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React70.createElement(Grid25, { item: true, xs: 6 }, /* @__PURE__ */ React70.createElement(ControlLabel, null, __45("Text align", "elementor"))), /* @__PURE__ */ React70.createElement(Grid25, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React70.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 })))));
3750
3907
  };
3751
3908
 
3752
3909
  // src/components/style-sections/typography-section/text-color-field.tsx
3753
- import * as React71 from "react";
3910
+ import * as React74 from "react";
3754
3911
  import { ColorControl as ColorControl2 } from "@elementor/editor-controls";
3755
3912
  import { Grid as Grid26 } from "@elementor/ui";
3756
- import { __ as __46 } from "@wordpress/i18n";
3913
+ import { __ as __47 } from "@wordpress/i18n";
3757
3914
  var TextColorField = () => {
3758
- return /* @__PURE__ */ React71.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React71.createElement(Grid26, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React71.createElement(Grid26, { item: true, xs: 6 }, /* @__PURE__ */ React71.createElement(ControlLabel, null, __46("Text color", "elementor"))), /* @__PURE__ */ React71.createElement(Grid26, { item: true, xs: 6 }, /* @__PURE__ */ React71.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))));
3759
3916
  };
3760
3917
 
3761
3918
  // src/components/style-sections/typography-section/text-decoration-field.tsx
3762
- import * as React72 from "react";
3919
+ import * as React75 from "react";
3763
3920
  import { ToggleControl as ToggleControl11 } from "@elementor/editor-controls";
3764
3921
  import { MinusIcon as MinusIcon3, OverlineIcon, StrikethroughIcon, UnderlineIcon } from "@elementor/icons";
3765
3922
  import { Grid as Grid27 } from "@elementor/ui";
3766
- import { __ as __47 } from "@wordpress/i18n";
3923
+ import { __ as __48 } from "@wordpress/i18n";
3767
3924
  var options9 = [
3768
3925
  {
3769
3926
  value: "none",
3770
- label: __47("None", "elementor"),
3771
- renderContent: ({ size }) => /* @__PURE__ */ React72.createElement(MinusIcon3, { fontSize: size }),
3927
+ label: __48("None", "elementor"),
3928
+ renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(MinusIcon3, { fontSize: size }),
3772
3929
  showTooltip: true,
3773
3930
  exclusive: true
3774
3931
  },
3775
3932
  {
3776
3933
  value: "underline",
3777
- label: __47("Underline", "elementor"),
3778
- renderContent: ({ size }) => /* @__PURE__ */ React72.createElement(UnderlineIcon, { fontSize: size }),
3934
+ label: __48("Underline", "elementor"),
3935
+ renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(UnderlineIcon, { fontSize: size }),
3779
3936
  showTooltip: true
3780
3937
  },
3781
3938
  {
3782
3939
  value: "line-through",
3783
- label: __47("Line-through", "elementor"),
3784
- renderContent: ({ size }) => /* @__PURE__ */ React72.createElement(StrikethroughIcon, { fontSize: size }),
3940
+ label: __48("Line-through", "elementor"),
3941
+ renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(StrikethroughIcon, { fontSize: size }),
3785
3942
  showTooltip: true
3786
3943
  },
3787
3944
  {
3788
3945
  value: "overline",
3789
- label: __47("Overline", "elementor"),
3790
- renderContent: ({ size }) => /* @__PURE__ */ React72.createElement(OverlineIcon, { fontSize: size }),
3946
+ label: __48("Overline", "elementor"),
3947
+ renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(OverlineIcon, { fontSize: size }),
3791
3948
  showTooltip: true
3792
3949
  }
3793
3950
  ];
3794
- var TextDecorationField = () => /* @__PURE__ */ React72.createElement(StylesField, { bind: "text-decoration" }, /* @__PURE__ */ React72.createElement(Grid27, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React72.createElement(Grid27, { item: true, xs: 6 }, /* @__PURE__ */ React72.createElement(ControlLabel, null, __47("Line decoration", "elementor"))), /* @__PURE__ */ React72.createElement(Grid27, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React72.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 }))));
3795
3952
 
3796
3953
  // src/components/style-sections/typography-section/text-direction-field.tsx
3797
- import * as React73 from "react";
3954
+ import * as React76 from "react";
3798
3955
  import { ToggleControl as ToggleControl12 } from "@elementor/editor-controls";
3799
3956
  import { TextDirectionLtrIcon, TextDirectionRtlIcon } from "@elementor/icons";
3800
3957
  import { Grid as Grid28 } from "@elementor/ui";
3801
- import { __ as __48 } from "@wordpress/i18n";
3958
+ import { __ as __49 } from "@wordpress/i18n";
3802
3959
  var options10 = [
3803
3960
  {
3804
3961
  value: "ltr",
3805
- label: __48("Left to right", "elementor"),
3806
- renderContent: ({ size }) => /* @__PURE__ */ React73.createElement(TextDirectionLtrIcon, { fontSize: size }),
3962
+ label: __49("Left to right", "elementor"),
3963
+ renderContent: ({ size }) => /* @__PURE__ */ React76.createElement(TextDirectionLtrIcon, { fontSize: size }),
3807
3964
  showTooltip: true
3808
3965
  },
3809
3966
  {
3810
3967
  value: "rtl",
3811
- label: __48("Right to left", "elementor"),
3812
- renderContent: ({ size }) => /* @__PURE__ */ React73.createElement(TextDirectionRtlIcon, { fontSize: size }),
3968
+ label: __49("Right to left", "elementor"),
3969
+ renderContent: ({ size }) => /* @__PURE__ */ React76.createElement(TextDirectionRtlIcon, { fontSize: size }),
3813
3970
  showTooltip: true
3814
3971
  }
3815
3972
  ];
3816
3973
  var TextDirectionField = () => {
3817
- return /* @__PURE__ */ React73.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React73.createElement(Grid28, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React73.createElement(Grid28, { item: true, xs: 6 }, /* @__PURE__ */ React73.createElement(ControlLabel, null, __48("Direction", "elementor"))), /* @__PURE__ */ React73.createElement(Grid28, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React73.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 }))));
3818
3975
  };
3819
3976
 
3820
3977
  // src/components/style-sections/typography-section/text-stroke-field.tsx
3821
- import * as React74 from "react";
3978
+ import * as React77 from "react";
3822
3979
  import { StrokeControl } from "@elementor/editor-controls";
3823
- import { __ as __49 } from "@wordpress/i18n";
3980
+ import { __ as __50 } from "@wordpress/i18n";
3824
3981
  var initTextStroke = {
3825
3982
  $$type: "stroke",
3826
3983
  value: {
@@ -3847,68 +4004,97 @@ var TextStrokeField = () => {
3847
4004
  setTextStroke(null);
3848
4005
  };
3849
4006
  const hasTextStroke = Boolean(textStroke);
3850
- return /* @__PURE__ */ React74.createElement(StylesField, { bind: "stroke" }, /* @__PURE__ */ React74.createElement(
4007
+ return /* @__PURE__ */ React77.createElement(StylesField, { bind: "stroke" }, /* @__PURE__ */ React77.createElement(
3851
4008
  AddOrRemoveContent,
3852
4009
  {
3853
- label: __49("Text stroke", "elementor"),
3854
4010
  isAdded: hasTextStroke,
3855
4011
  onAdd: addTextStroke,
3856
4012
  onRemove: removeTextStroke,
3857
- disabled: !canEdit
4013
+ disabled: !canEdit,
4014
+ renderLabel: () => /* @__PURE__ */ React77.createElement(ControlLabel, null, __50("Text stroke", "elementor"))
3858
4015
  },
3859
- /* @__PURE__ */ React74.createElement(StrokeControl, null)
4016
+ /* @__PURE__ */ React77.createElement(StrokeControl, null)
3860
4017
  ));
3861
4018
  };
3862
4019
 
3863
4020
  // src/components/style-sections/typography-section/transform-field.tsx
3864
- import * as React75 from "react";
4021
+ import * as React78 from "react";
3865
4022
  import { ToggleControl as ToggleControl13 } from "@elementor/editor-controls";
3866
4023
  import { LetterCaseIcon, LetterCaseLowerIcon, LetterCaseUpperIcon, MinusIcon as MinusIcon4 } from "@elementor/icons";
3867
4024
  import { Grid as Grid29 } from "@elementor/ui";
3868
- import { __ as __50 } from "@wordpress/i18n";
4025
+ import { __ as __51 } from "@wordpress/i18n";
3869
4026
  var options11 = [
3870
4027
  {
3871
4028
  value: "none",
3872
- label: __50("None", "elementor"),
3873
- renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(MinusIcon4, { fontSize: size }),
4029
+ label: __51("None", "elementor"),
4030
+ renderContent: ({ size }) => /* @__PURE__ */ React78.createElement(MinusIcon4, { fontSize: size }),
3874
4031
  showTooltip: true
3875
4032
  },
3876
4033
  {
3877
4034
  value: "capitalize",
3878
- label: __50("Capitalize", "elementor"),
3879
- renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(LetterCaseIcon, { fontSize: size }),
4035
+ label: __51("Capitalize", "elementor"),
4036
+ renderContent: ({ size }) => /* @__PURE__ */ React78.createElement(LetterCaseIcon, { fontSize: size }),
3880
4037
  showTooltip: true
3881
4038
  },
3882
4039
  {
3883
4040
  value: "uppercase",
3884
- label: __50("Uppercase", "elementor"),
3885
- renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(LetterCaseUpperIcon, { fontSize: size }),
4041
+ label: __51("Uppercase", "elementor"),
4042
+ renderContent: ({ size }) => /* @__PURE__ */ React78.createElement(LetterCaseUpperIcon, { fontSize: size }),
3886
4043
  showTooltip: true
3887
4044
  },
3888
4045
  {
3889
4046
  value: "lowercase",
3890
- label: __50("Lowercase", "elementor"),
3891
- renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(LetterCaseLowerIcon, { fontSize: size }),
4047
+ label: __51("Lowercase", "elementor"),
4048
+ renderContent: ({ size }) => /* @__PURE__ */ React78.createElement(LetterCaseLowerIcon, { fontSize: size }),
3892
4049
  showTooltip: true
3893
4050
  }
3894
4051
  ];
3895
- var TransformField = () => /* @__PURE__ */ React75.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React75.createElement(Grid29, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React75.createElement(Grid29, { item: true, xs: 6 }, /* @__PURE__ */ React75.createElement(ControlLabel, null, __50("Text transform", "elementor"))), /* @__PURE__ */ React75.createElement(Grid29, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React75.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 }))));
3896
4053
 
3897
4054
  // src/components/style-sections/typography-section/word-spacing-field.tsx
3898
- import * as React76 from "react";
4055
+ import * as React79 from "react";
4056
+ import { useRef as useRef13 } from "react";
3899
4057
  import { SizeControl as SizeControl10 } from "@elementor/editor-controls";
3900
4058
  import { Grid as Grid30 } from "@elementor/ui";
3901
- import { __ as __51 } from "@wordpress/i18n";
4059
+ import { __ as __52 } from "@wordpress/i18n";
3902
4060
  var WordSpacingField = () => {
3903
- return /* @__PURE__ */ React76.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React76.createElement(Grid30, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React76.createElement(Grid30, { item: true, xs: 6 }, /* @__PURE__ */ React76.createElement(ControlLabel, null, __51("Word spacing", "elementor"))), /* @__PURE__ */ React76.createElement(Grid30, { item: true, xs: 6 }, /* @__PURE__ */ React76.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 }))));
3904
4063
  };
3905
4064
 
3906
4065
  // src/components/style-sections/typography-section/typography-section.tsx
3907
4066
  var TypographySection = () => {
3908
4067
  const [columnCount] = useStylesField("column-count");
3909
- const isVersion330Active = isExperimentActive9("e_v_3_30");
4068
+ const isVersion330Active = isExperimentActive11("e_v_3_30");
3910
4069
  const hasMultiColumns = !!(columnCount?.value && columnCount?.value > 1);
3911
- return /* @__PURE__ */ React77.createElement(SectionContent, null, /* @__PURE__ */ React77.createElement(FontFamilyField, null), /* @__PURE__ */ React77.createElement(FontWeightField, null), /* @__PURE__ */ React77.createElement(FontSizeField, null), /* @__PURE__ */ React77.createElement(PanelDivider, null), /* @__PURE__ */ React77.createElement(TextAlignmentField, null), /* @__PURE__ */ React77.createElement(TextColorField, null), /* @__PURE__ */ React77.createElement(CollapsibleContent, null, /* @__PURE__ */ React77.createElement(SectionContent, { sx: { pt: 2 } }, /* @__PURE__ */ React77.createElement(LineHeightField, null), /* @__PURE__ */ React77.createElement(LetterSpacingField, null), /* @__PURE__ */ React77.createElement(WordSpacingField, null), isVersion330Active && /* @__PURE__ */ React77.createElement(React77.Fragment, null, /* @__PURE__ */ React77.createElement(ColumnCountField, null), hasMultiColumns && /* @__PURE__ */ React77.createElement(ColumnGapField, null)), /* @__PURE__ */ React77.createElement(PanelDivider, null), /* @__PURE__ */ React77.createElement(TextDecorationField, null), /* @__PURE__ */ React77.createElement(TransformField, null), /* @__PURE__ */ React77.createElement(TextDirectionField, null), /* @__PURE__ */ React77.createElement(FontStyleField, null), /* @__PURE__ */ React77.createElement(TextStrokeField, null))));
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(
4071
+ StyleTabCollapsibleContent,
4072
+ {
4073
+ fields: [
4074
+ "line-height",
4075
+ "letter-spacing",
4076
+ "word-spacing",
4077
+ "column-count",
4078
+ "text-decoration",
4079
+ "text-transform",
4080
+ "direction",
4081
+ "font-style",
4082
+ "stroke"
4083
+ ]
4084
+ },
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))
4086
+ ));
4087
+ };
4088
+
4089
+ // src/components/style-tab-section.tsx
4090
+ import * as React81 from "react";
4091
+ import { isExperimentActive as isExperimentActive12 } from "@elementor/editor-v1-adapters";
4092
+ var StyleTabSection = ({ section, fields = [] }) => {
4093
+ const { component, name, title } = section;
4094
+ const tabDefaults = useDefaultPanelSettings();
4095
+ const SectionComponent = component;
4096
+ const isExpanded = isExperimentActive12(EXPERIMENTAL_FEATURES.V_3_30) ? tabDefaults.defaultSectionsExpanded.style?.includes(name) : false;
4097
+ return /* @__PURE__ */ React81.createElement(Section, { title, defaultExpanded: isExpanded, titleEnd: getStylesInheritanceIndicators(fields) }, /* @__PURE__ */ React81.createElement(SectionComponent, null));
3912
4098
  };
3913
4099
 
3914
4100
  // src/components/style-tab.tsx
@@ -3920,19 +4106,12 @@ var stickyHeaderStyles = {
3920
4106
  backgroundColor: "background.default",
3921
4107
  transition: "top 300ms ease"
3922
4108
  };
3923
- var PanelSection = ({ section }) => {
3924
- const { component, name, title } = section;
3925
- const tabDefaults = useDefaultPanelSettings();
3926
- const SectionComponent = component;
3927
- const isExpanded = isExperimentActive10(EXPERIMENTAL_FEATURES.V_3_30) ? tabDefaults.defaultSectionsExpanded.style?.includes(name) : false;
3928
- return /* @__PURE__ */ React78.createElement(Section, { title, defaultExpanded: isExpanded }, /* @__PURE__ */ React78.createElement(SectionComponent, null));
3929
- };
3930
4109
  var StyleTab = () => {
3931
4110
  const currentClassesProp = useCurrentClassesProp();
3932
4111
  const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
3933
4112
  const [activeStyleState, setActiveStyleState] = useState12(null);
3934
4113
  const breakpoint = useActiveBreakpoint();
3935
- return /* @__PURE__ */ React78.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React78.createElement(
4114
+ return /* @__PURE__ */ React82.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React82.createElement(
3936
4115
  StyleProvider,
3937
4116
  {
3938
4117
  meta: { breakpoint, state: activeStyleState },
@@ -3943,84 +4122,126 @@ var StyleTab = () => {
3943
4122
  },
3944
4123
  setMetaState: setActiveStyleState
3945
4124
  },
3946
- /* @__PURE__ */ React78.createElement(SessionStorageProvider2, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React78.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React78.createElement(ClassesHeader, null, /* @__PURE__ */ React78.createElement(CssClassSelector, null), /* @__PURE__ */ React78.createElement(Divider5, null)), /* @__PURE__ */ React78.createElement(SectionsList, null, /* @__PURE__ */ React78.createElement(
3947
- PanelSection,
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(
4126
+ StyleTabSection,
3948
4127
  {
3949
4128
  section: {
3950
4129
  component: LayoutSection,
3951
4130
  name: "Layout",
3952
- title: __52("Layout", "elementor")
3953
- }
4131
+ title: __53("Layout", "elementor")
4132
+ },
4133
+ fields: [
4134
+ "display",
4135
+ "flex-direction",
4136
+ "flex-wrap",
4137
+ "justify-content",
4138
+ "align-items",
4139
+ "align-content",
4140
+ "align-self",
4141
+ "gap"
4142
+ ]
3954
4143
  }
3955
- ), /* @__PURE__ */ React78.createElement(
3956
- PanelSection,
4144
+ ), /* @__PURE__ */ React82.createElement(
4145
+ StyleTabSection,
3957
4146
  {
3958
4147
  section: {
3959
4148
  component: SpacingSection,
3960
4149
  name: "Spacing",
3961
- title: __52("Spacing", "elementor")
3962
- }
4150
+ title: __53("Spacing", "elementor")
4151
+ },
4152
+ fields: ["margin", "padding"]
3963
4153
  }
3964
- ), /* @__PURE__ */ React78.createElement(
3965
- PanelSection,
4154
+ ), /* @__PURE__ */ React82.createElement(
4155
+ StyleTabSection,
3966
4156
  {
3967
4157
  section: {
3968
4158
  component: SizeSection,
3969
4159
  name: "Size",
3970
- title: __52("Size", "elementor")
3971
- }
4160
+ title: __53("Size", "elementor")
4161
+ },
4162
+ fields: [
4163
+ "width",
4164
+ "min-width",
4165
+ "max-width",
4166
+ "height",
4167
+ "min-height",
4168
+ "max-height",
4169
+ "overflow",
4170
+ "aspect-ratio",
4171
+ "object-fit"
4172
+ ]
3972
4173
  }
3973
- ), /* @__PURE__ */ React78.createElement(
3974
- PanelSection,
4174
+ ), /* @__PURE__ */ React82.createElement(
4175
+ StyleTabSection,
3975
4176
  {
3976
4177
  section: {
3977
4178
  component: PositionSection,
3978
4179
  name: "Position",
3979
- title: __52("Position", "elementor")
3980
- }
4180
+ title: __53("Position", "elementor")
4181
+ },
4182
+ fields: ["position", "z-index", "scroll-margin-top"]
3981
4183
  }
3982
- ), /* @__PURE__ */ React78.createElement(
3983
- PanelSection,
4184
+ ), /* @__PURE__ */ React82.createElement(
4185
+ StyleTabSection,
3984
4186
  {
3985
4187
  section: {
3986
4188
  component: TypographySection,
3987
4189
  name: "Typography",
3988
- title: __52("Typography", "elementor")
3989
- }
4190
+ title: __53("Typography", "elementor")
4191
+ },
4192
+ fields: [
4193
+ "font-family",
4194
+ "font-weight",
4195
+ "font-size",
4196
+ "text-align",
4197
+ "color",
4198
+ "line-height",
4199
+ "letter-spacing",
4200
+ "word-spacing",
4201
+ "column-count",
4202
+ "text-decoration",
4203
+ "text-transform",
4204
+ "direction",
4205
+ "font-style",
4206
+ "stroke"
4207
+ ]
3990
4208
  }
3991
- ), /* @__PURE__ */ React78.createElement(
3992
- PanelSection,
4209
+ ), /* @__PURE__ */ React82.createElement(
4210
+ StyleTabSection,
3993
4211
  {
3994
4212
  section: {
3995
4213
  component: BackgroundSection,
3996
4214
  name: "Background",
3997
- title: __52("Background", "elementor")
3998
- }
4215
+ title: __53("Background", "elementor")
4216
+ },
4217
+ fields: ["background"]
3999
4218
  }
4000
- ), /* @__PURE__ */ React78.createElement(
4001
- PanelSection,
4219
+ ), /* @__PURE__ */ React82.createElement(
4220
+ StyleTabSection,
4002
4221
  {
4003
4222
  section: {
4004
4223
  component: BorderSection,
4005
4224
  name: "Border",
4006
- title: __52("Border", "elementor")
4007
- }
4225
+ title: __53("Border", "elementor")
4226
+ },
4227
+ fields: ["border-radius", "border-width", "border-color", "border-style"]
4008
4228
  }
4009
- ), /* @__PURE__ */ React78.createElement(
4010
- PanelSection,
4229
+ ), /* @__PURE__ */ React82.createElement(
4230
+ StyleTabSection,
4011
4231
  {
4012
4232
  section: {
4013
4233
  component: EffectsSection,
4014
4234
  name: "Effects",
4015
- title: __52("Effects", "elementor")
4016
- }
4235
+ title: __53("Effects", "elementor")
4236
+ },
4237
+ fields: ["box-shadow"]
4017
4238
  }
4018
4239
  ))))
4019
4240
  ));
4020
4241
  };
4021
4242
  function ClassesHeader({ children }) {
4022
4243
  const scrollDirection = useScrollDirection();
4023
- return /* @__PURE__ */ React78.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);
4024
4245
  }
4025
4246
  function useCurrentClassesProp() {
4026
4247
  const { elementType } = useElement();
@@ -4039,15 +4260,15 @@ var EditingPanelTabs = () => {
4039
4260
  return (
4040
4261
  // When switching between elements, the local states should be reset. We are using key to rerender the tabs.
4041
4262
  // Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
4042
- /* @__PURE__ */ React79.createElement(Fragment10, { key: element.id }, /* @__PURE__ */ React79.createElement(PanelTabContent, null))
4263
+ /* @__PURE__ */ React83.createElement(Fragment9, { key: element.id }, /* @__PURE__ */ React83.createElement(PanelTabContent, null))
4043
4264
  );
4044
4265
  };
4045
4266
  var PanelTabContent = () => {
4046
4267
  const editorDefaults = useDefaultPanelSettings();
4047
- const defaultComponentTab = isExperimentActive11(EXPERIMENTAL_FEATURES.V_3_30) ? editorDefaults.defaultTab : "settings";
4268
+ const defaultComponentTab = isExperimentActive13(EXPERIMENTAL_FEATURES.V_3_30) ? editorDefaults.defaultTab : "settings";
4048
4269
  const [currentTab, setCurrentTab] = useStateByElement("tab", defaultComponentTab);
4049
4270
  const { getTabProps, getTabPanelProps, getTabsProps } = useTabs(currentTab);
4050
- return /* @__PURE__ */ React79.createElement(ScrollProvider, null, /* @__PURE__ */ React79.createElement(Stack18, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React79.createElement(Stack18, { sx: { ...stickyHeaderStyles, top: 0 } }, /* @__PURE__ */ React79.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(
4051
4272
  Tabs,
4052
4273
  {
4053
4274
  variant: "fullWidth",
@@ -4059,9 +4280,9 @@ var PanelTabContent = () => {
4059
4280
  setCurrentTab(newValue);
4060
4281
  }
4061
4282
  },
4062
- /* @__PURE__ */ React79.createElement(Tab, { label: __53("General", "elementor"), ...getTabProps("settings") }),
4063
- /* @__PURE__ */ React79.createElement(Tab, { label: __53("Style", "elementor"), ...getTabProps("style") })
4064
- ), /* @__PURE__ */ React79.createElement(Divider6, null)), /* @__PURE__ */ React79.createElement(TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React79.createElement(SettingsTab, null)), /* @__PURE__ */ React79.createElement(TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React79.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))));
4065
4286
  };
4066
4287
 
4067
4288
  // src/components/editing-panel.tsx
@@ -4073,8 +4294,8 @@ var EditingPanel = () => {
4073
4294
  if (!element || !elementType) {
4074
4295
  return null;
4075
4296
  }
4076
- const panelTitle = __54("Edit %s", "elementor").replace("%s", elementType.title);
4077
- return /* @__PURE__ */ React80.createElement(ErrorBoundary, { fallback: /* @__PURE__ */ React80.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React80.createElement(SessionStorageProvider3, { prefix: "elementor" }, /* @__PURE__ */ React80.createElement(ThemeProvider9, null, /* @__PURE__ */ React80.createElement(Panel, null, /* @__PURE__ */ React80.createElement(PanelHeader, null, /* @__PURE__ */ React80.createElement(PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React80.createElement(AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React80.createElement(PanelBody, null, /* @__PURE__ */ React80.createElement(ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React80.createElement(ControlReplacementsProvider, { replacements: controlReplacements }, /* @__PURE__ */ React80.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React80.createElement(EditingPanelTabs, null)))))))));
4297
+ const panelTitle = __55("Edit %s", "elementor").replace("%s", elementType.title);
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)))))))));
4078
4299
  };
4079
4300
 
4080
4301
  // src/panel.ts
@@ -4087,7 +4308,7 @@ var { panel, usePanelActions, usePanelStatus } = createPanel({
4087
4308
  import { injectIntoLogic } from "@elementor/editor";
4088
4309
  import { PrefetchUserData } from "@elementor/editor-current-user";
4089
4310
  import { __registerPanel as registerPanel } from "@elementor/editor-panels";
4090
- import { blockCommand, isExperimentActive as isExperimentActive12 } from "@elementor/editor-v1-adapters";
4311
+ import { blockCommand, isExperimentActive as isExperimentActive14 } from "@elementor/editor-v1-adapters";
4091
4312
 
4092
4313
  // src/hooks/use-open-editor-panel.ts
4093
4314
  import { useEffect as useEffect4 } from "react";
@@ -4124,47 +4345,15 @@ var EditingPanelHooks = () => {
4124
4345
 
4125
4346
  // src/dynamics/init.ts
4126
4347
  import { settingsTransformersRegistry, styleTransformersRegistry } from "@elementor/editor-canvas";
4348
+ import { injectIntoRepeaterItemIcon, injectIntoRepeaterItemLabel } from "@elementor/editor-controls";
4127
4349
 
4128
- // src/dynamics/components/dynamic-selection-control.tsx
4129
- import * as React84 from "react";
4130
- import { ControlFormLabel as ControlFormLabel5, useBoundProp as useBoundProp5 } from "@elementor/editor-controls";
4131
- import { DatabaseIcon as DatabaseIcon2, SettingsIcon, XIcon as XIcon2 } from "@elementor/icons";
4132
- import {
4133
- bindPopover as bindPopover2,
4134
- bindTrigger as bindTrigger2,
4135
- Box as Box8,
4136
- Divider as Divider8,
4137
- Grid as Grid31,
4138
- IconButton as IconButton5,
4139
- Paper,
4140
- Popover as Popover2,
4141
- Stack as Stack21,
4142
- Tab as Tab2,
4143
- TabPanel as TabPanel2,
4144
- Tabs as Tabs2,
4145
- Typography as Typography8,
4146
- UnstableTag as Tag,
4147
- usePopupState as usePopupState3,
4148
- useTabs as useTabs2
4149
- } from "@elementor/ui";
4150
- import { __ as __56 } from "@wordpress/i18n";
4151
-
4152
- // src/components/popover-content.tsx
4153
- import * as React81 from "react";
4154
- import { Stack as Stack19 } from "@elementor/ui";
4155
- var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React81.createElement(Stack19, { alignItems, gap, p }, children);
4156
-
4157
- // src/hooks/use-persist-dynamic-value.ts
4158
- import { useSessionStorage as useSessionStorage2 } from "@elementor/session";
4159
- var usePersistDynamicValue = (propKey) => {
4160
- const { element } = useElement();
4161
- const prefixedKey = `dynamic/non-dynamic-values-history/${element.id}/${propKey}`;
4162
- return useSessionStorage2(prefixedKey);
4163
- };
4164
-
4165
- // src/dynamics/dynamic-control.tsx
4166
- import * as React82 from "react";
4350
+ // src/dynamics/components/background-control-dynamic-tag.tsx
4351
+ import * as React85 from "react";
4167
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";
4168
4357
 
4169
4358
  // src/dynamics/hooks/use-dynamic-tag.ts
4170
4359
  import { useMemo as useMemo8 } from "react";
@@ -4244,9 +4433,65 @@ var useDynamicTag = (tagName) => {
4244
4433
  return useMemo8(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
4245
4434
  };
4246
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
+
4247
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";
4248
4493
  var DynamicControl = ({ bind, children }) => {
4249
- const { value, setValue } = useBoundProp3(dynamicPropTypeUtil);
4494
+ const { value, setValue } = useBoundProp4(dynamicPropTypeUtil);
4250
4495
  const { name = "", settings } = value ?? {};
4251
4496
  const dynamicTag = useDynamicTag(name);
4252
4497
  if (!dynamicTag) {
@@ -4265,14 +4510,14 @@ var DynamicControl = ({ bind, children }) => {
4265
4510
  });
4266
4511
  };
4267
4512
  const propType = createTopLevelOjectType({ schema: dynamicTag.props_schema });
4268
- return /* @__PURE__ */ React82.createElement(PropProvider3, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React82.createElement(PropKeyProvider3, { bind }, children));
4513
+ return /* @__PURE__ */ React87.createElement(PropProvider4, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React87.createElement(PropKeyProvider4, { bind }, children));
4269
4514
  };
4270
4515
 
4271
4516
  // src/dynamics/components/dynamic-selection.tsx
4272
- import * as React83 from "react";
4517
+ import * as React88 from "react";
4273
4518
  import { Fragment as Fragment11, useState as useState13 } from "react";
4274
- import { useBoundProp as useBoundProp4 } from "@elementor/editor-controls";
4275
- import { DatabaseIcon, SearchIcon } from "@elementor/icons";
4519
+ import { useBoundProp as useBoundProp5 } from "@elementor/editor-controls";
4520
+ import { DatabaseIcon as DatabaseIcon2, SearchIcon } from "@elementor/icons";
4276
4521
  import {
4277
4522
  Box as Box7,
4278
4523
  Divider as Divider7,
@@ -4283,15 +4528,15 @@ import {
4283
4528
  MenuSubheader as MenuSubheader2,
4284
4529
  Stack as Stack20,
4285
4530
  TextField as TextField2,
4286
- Typography as Typography7
4531
+ Typography as Typography6
4287
4532
  } from "@elementor/ui";
4288
- import { __ as __55 } from "@wordpress/i18n";
4533
+ import { __ as __56 } from "@wordpress/i18n";
4289
4534
  var SIZE7 = "tiny";
4290
4535
  var DynamicSelection = ({ onSelect }) => {
4291
4536
  const [searchValue, setSearchValue] = useState13("");
4292
4537
  const { groups: dynamicGroups } = getAtomicDynamicTags() || {};
4293
- const { value: anyValue } = useBoundProp4();
4294
- const { bind, value: dynamicValue, setValue } = useBoundProp4(dynamicPropTypeUtil);
4538
+ const { value: anyValue } = useBoundProp5();
4539
+ const { bind, value: dynamicValue, setValue } = useBoundProp5(dynamicPropTypeUtil);
4295
4540
  const [, updatePropValueHistory] = usePersistDynamicValue(bind);
4296
4541
  const isCurrentValueDynamic = !!dynamicValue;
4297
4542
  const options12 = useFilteredOptions(searchValue);
@@ -4306,19 +4551,19 @@ var DynamicSelection = ({ onSelect }) => {
4306
4551
  setValue({ name: value, settings: { label } });
4307
4552
  onSelect?.();
4308
4553
  };
4309
- return /* @__PURE__ */ React83.createElement(Stack20, null, hasNoDynamicTags ? /* @__PURE__ */ React83.createElement(NoDynamicTags, null) : /* @__PURE__ */ React83.createElement(Fragment11, null, /* @__PURE__ */ React83.createElement(Box7, { px: 1.5, pb: 1 }, /* @__PURE__ */ React83.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(
4310
4555
  TextField2,
4311
4556
  {
4312
4557
  fullWidth: true,
4313
4558
  size: SIZE7,
4314
4559
  value: searchValue,
4315
4560
  onChange: handleSearch,
4316
- placeholder: __55("Search dynamic tags\u2026", "elementor"),
4561
+ placeholder: __56("Search dynamic tags\u2026", "elementor"),
4317
4562
  InputProps: {
4318
- startAdornment: /* @__PURE__ */ React83.createElement(InputAdornment, { position: "start" }, /* @__PURE__ */ React83.createElement(SearchIcon, { fontSize: SIZE7 }))
4563
+ startAdornment: /* @__PURE__ */ React88.createElement(InputAdornment, { position: "start" }, /* @__PURE__ */ React88.createElement(SearchIcon, { fontSize: SIZE7 }))
4319
4564
  }
4320
4565
  }
4321
- )), /* @__PURE__ */ React83.createElement(Divider7, null), /* @__PURE__ */ React83.createElement(Box7, { sx: { overflowY: "auto", height: 260, width: 220 } }, options12.length > 0 ? /* @__PURE__ */ React83.createElement(MenuList, { role: "listbox", tabIndex: 0 }, options12.map(([category, items3], index) => /* @__PURE__ */ React83.createElement(Fragment11, { key: index }, /* @__PURE__ */ React83.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(
4322
4567
  MenuSubheader2,
4323
4568
  {
4324
4569
  sx: { px: 1.5, typography: "caption", color: "text.tertiary" }
@@ -4326,7 +4571,7 @@ var DynamicSelection = ({ onSelect }) => {
4326
4571
  dynamicGroups?.[category]?.title || category
4327
4572
  ), items3.map(({ value, label: tagLabel }) => {
4328
4573
  const isSelected = isCurrentValueDynamic && value === dynamicValue?.name;
4329
- return /* @__PURE__ */ React83.createElement(
4574
+ return /* @__PURE__ */ React88.createElement(
4330
4575
  MenuItem,
4331
4576
  {
4332
4577
  key: value,
@@ -4337,9 +4582,9 @@ var DynamicSelection = ({ onSelect }) => {
4337
4582
  },
4338
4583
  tagLabel
4339
4584
  );
4340
- })))) : /* @__PURE__ */ React83.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") }))));
4585
+ })))) : /* @__PURE__ */ React88.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") }))));
4341
4586
  };
4342
- var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React83.createElement(
4587
+ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React88.createElement(
4343
4588
  Stack20,
4344
4589
  {
4345
4590
  gap: 1,
@@ -4350,11 +4595,11 @@ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React83.createElem
4350
4595
  color: "text.secondary",
4351
4596
  sx: { pb: 3.5 }
4352
4597
  },
4353
- /* @__PURE__ */ React83.createElement(DatabaseIcon, { fontSize: "large" }),
4354
- /* @__PURE__ */ React83.createElement(Typography7, { align: "center", variant: "subtitle2" }, __55("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React83.createElement("br", null), "\u201C", searchValue, "\u201D."),
4355
- /* @__PURE__ */ React83.createElement(Typography7, { align: "center", variant: "caption" }, __55("Try something else.", "elementor"), "\xA0", /* @__PURE__ */ React83.createElement(Link2, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, __55("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")))
4356
4601
  );
4357
- var NoDynamicTags = () => /* @__PURE__ */ React83.createElement(Box7, { sx: { overflowY: "hidden", height: 297, width: 220 } }, /* @__PURE__ */ React83.createElement(Divider7, null), /* @__PURE__ */ React83.createElement(
4602
+ var NoDynamicTags = () => /* @__PURE__ */ React88.createElement(Box7, { sx: { overflowY: "hidden", height: 297, width: 220 } }, /* @__PURE__ */ React88.createElement(Divider7, null), /* @__PURE__ */ React88.createElement(
4358
4603
  Stack20,
4359
4604
  {
4360
4605
  gap: 1,
@@ -4365,9 +4610,9 @@ var NoDynamicTags = () => /* @__PURE__ */ React83.createElement(Box7, { sx: { ov
4365
4610
  color: "text.secondary",
4366
4611
  sx: { pb: 3.5 }
4367
4612
  },
4368
- /* @__PURE__ */ React83.createElement(DatabaseIcon, { fontSize: "large" }),
4369
- /* @__PURE__ */ React83.createElement(Typography7, { align: "center", variant: "subtitle2" }, __55("Streamline your workflow with dynamic tags", "elementor")),
4370
- /* @__PURE__ */ React83.createElement(Typography7, { align: "center", variant: "caption" }, __55("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"))
4371
4616
  ));
4372
4617
  var useFilteredOptions = (searchValue) => {
4373
4618
  const dynamicTags = usePropDynamicTags();
@@ -4388,8 +4633,8 @@ var useFilteredOptions = (searchValue) => {
4388
4633
  // src/dynamics/components/dynamic-selection-control.tsx
4389
4634
  var SIZE8 = "tiny";
4390
4635
  var DynamicSelectionControl = () => {
4391
- const { setValue: setAnyValue } = useBoundProp5();
4392
- const { bind, value } = useBoundProp5(dynamicPropTypeUtil);
4636
+ const { setValue: setAnyValue } = useBoundProp6();
4637
+ const { bind, value } = useBoundProp6(dynamicPropTypeUtil);
4393
4638
  const [propValueFromHistory] = usePersistDynamicValue(bind);
4394
4639
  const selectionPopoverState = usePopupState3({ variant: "popover" });
4395
4640
  const { name: tagName = "" } = value;
@@ -4400,25 +4645,25 @@ var DynamicSelectionControl = () => {
4400
4645
  if (!dynamicTag) {
4401
4646
  throw new Error(`Dynamic tag ${tagName} not found`);
4402
4647
  }
4403
- return /* @__PURE__ */ React84.createElement(Box8, null, /* @__PURE__ */ React84.createElement(
4648
+ return /* @__PURE__ */ React89.createElement(Box8, null, /* @__PURE__ */ React89.createElement(
4404
4649
  Tag,
4405
4650
  {
4406
4651
  fullWidth: true,
4407
4652
  showActionsOnHover: true,
4408
4653
  label: dynamicTag.label,
4409
- startIcon: /* @__PURE__ */ React84.createElement(DatabaseIcon2, { fontSize: SIZE8 }),
4654
+ startIcon: /* @__PURE__ */ React89.createElement(DatabaseIcon3, { fontSize: SIZE8 }),
4410
4655
  ...bindTrigger2(selectionPopoverState),
4411
- actions: /* @__PURE__ */ React84.createElement(React84.Fragment, null, /* @__PURE__ */ React84.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React84.createElement(
4656
+ actions: /* @__PURE__ */ React89.createElement(React89.Fragment, null, /* @__PURE__ */ React89.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React89.createElement(
4412
4657
  IconButton5,
4413
4658
  {
4414
4659
  size: SIZE8,
4415
4660
  onClick: removeDynamicTag,
4416
- "aria-label": __56("Remove dynamic value", "elementor")
4661
+ "aria-label": __57("Remove dynamic value", "elementor")
4417
4662
  },
4418
- /* @__PURE__ */ React84.createElement(XIcon2, { fontSize: SIZE8 })
4663
+ /* @__PURE__ */ React89.createElement(XIcon, { fontSize: SIZE8 })
4419
4664
  ))
4420
4665
  }
4421
- ), /* @__PURE__ */ React84.createElement(
4666
+ ), /* @__PURE__ */ React89.createElement(
4422
4667
  Popover2,
4423
4668
  {
4424
4669
  disablePortal: true,
@@ -4426,7 +4671,14 @@ var DynamicSelectionControl = () => {
4426
4671
  anchorOrigin: { vertical: "bottom", horizontal: "left" },
4427
4672
  ...bindPopover2(selectionPopoverState)
4428
4673
  },
4429
- /* @__PURE__ */ React84.createElement(Stack21, null, /* @__PURE__ */ React84.createElement(Stack21, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React84.createElement(DatabaseIcon2, { fontSize: SIZE8, sx: { mr: 0.5 } }), /* @__PURE__ */ React84.createElement(Typography8, { variant: "subtitle2" }, __56("Dynamic tags", "elementor")), /* @__PURE__ */ React84.createElement(IconButton5, { size: SIZE8, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React84.createElement(XIcon2, { fontSize: SIZE8 }))), /* @__PURE__ */ React84.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
4674
+ /* @__PURE__ */ React89.createElement(Stack21, null, /* @__PURE__ */ React89.createElement(
4675
+ PopoverHeader2,
4676
+ {
4677
+ title: __57("Dynamic tags", "elementor"),
4678
+ onClose: selectionPopoverState.close,
4679
+ icon: /* @__PURE__ */ React89.createElement(DatabaseIcon3, { fontSize: SIZE8 })
4680
+ }
4681
+ ), /* @__PURE__ */ React89.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
4430
4682
  ));
4431
4683
  };
4432
4684
  var DynamicSettingsPopover = ({ dynamicTag }) => {
@@ -4435,7 +4687,7 @@ var DynamicSettingsPopover = ({ dynamicTag }) => {
4435
4687
  if (!hasDynamicSettings) {
4436
4688
  return null;
4437
4689
  }
4438
- return /* @__PURE__ */ React84.createElement(React84.Fragment, null, /* @__PURE__ */ React84.createElement(IconButton5, { size: SIZE8, ...bindTrigger2(popupState), "aria-label": __56("Settings", "elementor") }, /* @__PURE__ */ React84.createElement(SettingsIcon, { fontSize: SIZE8 })), /* @__PURE__ */ React84.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(
4439
4691
  Popover2,
4440
4692
  {
4441
4693
  disablePortal: true,
@@ -4443,7 +4695,14 @@ var DynamicSettingsPopover = ({ dynamicTag }) => {
4443
4695
  anchorOrigin: { vertical: "bottom", horizontal: "center" },
4444
4696
  ...bindPopover2(popupState)
4445
4697
  },
4446
- /* @__PURE__ */ React84.createElement(Paper, { component: Stack21, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React84.createElement(Stack21, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React84.createElement(DatabaseIcon2, { fontSize: SIZE8, sx: { mr: 0.5 } }), /* @__PURE__ */ React84.createElement(Typography8, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React84.createElement(IconButton5, { sx: { ml: "auto" }, size: SIZE8, onClick: popupState.close }, /* @__PURE__ */ React84.createElement(XIcon2, { fontSize: SIZE8 }))), /* @__PURE__ */ React84.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
4698
+ /* @__PURE__ */ React89.createElement(Paper, { component: Stack21, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React89.createElement(
4699
+ PopoverHeader2,
4700
+ {
4701
+ title: dynamicTag.label,
4702
+ onClose: popupState.close,
4703
+ icon: /* @__PURE__ */ React89.createElement(DatabaseIcon3, { fontSize: SIZE8 })
4704
+ }
4705
+ ), /* @__PURE__ */ React89.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
4447
4706
  ));
4448
4707
  };
4449
4708
  var DynamicSettings = ({ controls }) => {
@@ -4452,10 +4711,10 @@ var DynamicSettings = ({ controls }) => {
4452
4711
  if (!tabs.length) {
4453
4712
  return null;
4454
4713
  }
4455
- return /* @__PURE__ */ React84.createElement(React84.Fragment, null, /* @__PURE__ */ React84.createElement(Tabs2, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React84.createElement(Tab2, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React84.createElement(Divider8, null), tabs.map(({ value }, index) => {
4456
- return /* @__PURE__ */ React84.createElement(TabPanel2, { key: index, sx: { flexGrow: 1, py: 0 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React84.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) => {
4457
4716
  if (item.type === "control") {
4458
- return /* @__PURE__ */ React84.createElement(Control3, { key: item.value.bind, control: item.value });
4717
+ return /* @__PURE__ */ React89.createElement(Control3, { key: item.value.bind, control: item.value });
4459
4718
  }
4460
4719
  return null;
4461
4720
  })));
@@ -4465,7 +4724,7 @@ var Control3 = ({ control }) => {
4465
4724
  if (!getControl(control.type)) {
4466
4725
  return null;
4467
4726
  }
4468
- return /* @__PURE__ */ React84.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React84.createElement(Grid31, { container: true, gap: 0.75 }, control.label ? /* @__PURE__ */ React84.createElement(Grid31, { item: true, xs: 12 }, /* @__PURE__ */ React84.createElement(ControlFormLabel5, null, control.label)) : null, /* @__PURE__ */ React84.createElement(Grid31, { item: true, xs: 12 }, /* @__PURE__ */ React84.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 }))));
4469
4728
  };
4470
4729
 
4471
4730
  // src/dynamics/dynamic-transformer.ts
@@ -4518,18 +4777,18 @@ function getDynamicValue(name, settings) {
4518
4777
  }
4519
4778
 
4520
4779
  // src/dynamics/hooks/use-prop-dynamic-action.tsx
4521
- import * as React85 from "react";
4522
- import { useBoundProp as useBoundProp6 } from "@elementor/editor-controls";
4523
- import { DatabaseIcon as DatabaseIcon3 } from "@elementor/icons";
4524
- import { __ as __57 } from "@wordpress/i18n";
4780
+ import * as React90 from "react";
4781
+ import { useBoundProp as useBoundProp7 } from "@elementor/editor-controls";
4782
+ import { DatabaseIcon as DatabaseIcon4 } from "@elementor/icons";
4783
+ import { __ as __58 } from "@wordpress/i18n";
4525
4784
  var usePropDynamicAction = () => {
4526
- const { propType } = useBoundProp6();
4785
+ const { propType } = useBoundProp7();
4527
4786
  const visible = !!propType && supportsDynamic(propType);
4528
4787
  return {
4529
4788
  visible,
4530
- icon: DatabaseIcon3,
4531
- title: __57("Dynamic tags", "elementor"),
4532
- popoverContent: ({ closePopover }) => /* @__PURE__ */ React85.createElement(DynamicSelection, { onSelect: closePopover })
4789
+ icon: DatabaseIcon4,
4790
+ title: __58("Dynamic tags", "elementor"),
4791
+ popoverContent: ({ closePopover }) => /* @__PURE__ */ React90.createElement(DynamicSelection, { onSelect: closePopover })
4533
4792
  };
4534
4793
  };
4535
4794
 
@@ -4540,6 +4799,16 @@ var init = () => {
4540
4799
  component: DynamicSelectionControl,
4541
4800
  condition: ({ value }) => isDynamicPropValue(value)
4542
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
+ });
4543
4812
  registerPopoverAction({
4544
4813
  id: "dynamic-tags",
4545
4814
  useProps: usePropDynamicAction
@@ -4549,9 +4818,9 @@ var init = () => {
4549
4818
  };
4550
4819
 
4551
4820
  // src/reset-style-props.tsx
4552
- import { useBoundProp as useBoundProp7 } from "@elementor/editor-controls";
4821
+ import { useBoundProp as useBoundProp8 } from "@elementor/editor-controls";
4553
4822
  import { BrushBigIcon } from "@elementor/icons";
4554
- import { __ as __58 } from "@wordpress/i18n";
4823
+ import { __ as __59 } from "@wordpress/i18n";
4555
4824
  var { registerAction } = controlActionsMenu;
4556
4825
  function initResetStyleProps() {
4557
4826
  registerAction({
@@ -4562,10 +4831,10 @@ function initResetStyleProps() {
4562
4831
  var EXCLUDED_BINDS = ["order", "flex-grow", "flex-shrink", "flex-basis"];
4563
4832
  function useResetStyleValueProps() {
4564
4833
  const isStyle = useIsStyle();
4565
- const { value, setValue, path, bind } = useBoundProp7();
4834
+ const { value, setValue, path, bind } = useBoundProp8();
4566
4835
  return {
4567
4836
  visible: isStyle && value !== null && value !== void 0 && path.length <= 2 && !EXCLUDED_BINDS.includes(bind),
4568
- title: __58("Clear", "elementor"),
4837
+ title: __59("Clear", "elementor"),
4569
4838
  icon: BrushBigIcon,
4570
4839
  onClick: () => setValue(null)
4571
4840
  };
@@ -4575,36 +4844,36 @@ function useResetStyleValueProps() {
4575
4844
  import { createTransformer as createTransformer6, styleTransformersRegistry as styleTransformersRegistry2 } from "@elementor/editor-canvas";
4576
4845
 
4577
4846
  // src/styles-inheritance/transformers/background-color-overlay-transformer.tsx
4578
- import * as React86 from "react";
4847
+ import * as React91 from "react";
4579
4848
  import { createTransformer as createTransformer2 } from "@elementor/editor-canvas";
4580
- import { Stack as Stack22, styled as styled6, UnstableColorIndicator } from "@elementor/ui";
4581
- var backgroundColorOverlayTransformer = createTransformer2((value) => /* @__PURE__ */ React86.createElement(Stack22, { direction: "row", gap: 10 }, /* @__PURE__ */ React86.createElement(ItemIconColor, { value }), /* @__PURE__ */ React86.createElement(ItemLabelColor, { value })));
4849
+ import { Stack as Stack22, styled as styled7, UnstableColorIndicator } from "@elementor/ui";
4850
+ var backgroundColorOverlayTransformer = createTransformer2((value) => /* @__PURE__ */ React91.createElement(Stack22, { direction: "row", gap: 10 }, /* @__PURE__ */ React91.createElement(ItemIconColor, { value }), /* @__PURE__ */ React91.createElement(ItemLabelColor, { value })));
4582
4851
  var ItemIconColor = ({ value }) => {
4583
4852
  const { color } = value;
4584
- return /* @__PURE__ */ React86.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: color });
4853
+ return /* @__PURE__ */ React91.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: color });
4585
4854
  };
4586
4855
  var ItemLabelColor = ({ value: { color } }) => {
4587
- return /* @__PURE__ */ React86.createElement("span", null, color);
4856
+ return /* @__PURE__ */ React91.createElement("span", null, color);
4588
4857
  };
4589
- var StyledUnstableColorIndicator = styled6(UnstableColorIndicator)(({ theme }) => ({
4858
+ var StyledUnstableColorIndicator = styled7(UnstableColorIndicator)(({ theme }) => ({
4590
4859
  borderRadius: `${theme.shape.borderRadius / 2}px`
4591
4860
  }));
4592
4861
 
4593
4862
  // src/styles-inheritance/transformers/background-gradient-overlay-transformer.tsx
4594
- import * as React87 from "react";
4863
+ import * as React92 from "react";
4595
4864
  import { createTransformer as createTransformer3 } from "@elementor/editor-canvas";
4596
4865
  import { Stack as Stack23 } from "@elementor/ui";
4597
- import { __ as __59 } from "@wordpress/i18n";
4598
- var backgroundGradientOverlayTransformer = createTransformer3((value) => /* @__PURE__ */ React87.createElement(Stack23, { direction: "row", gap: 10 }, /* @__PURE__ */ React87.createElement(ItemIconGradient, { value }), /* @__PURE__ */ React87.createElement(ItemLabelGradient, { value })));
4866
+ import { __ as __60 } from "@wordpress/i18n";
4867
+ var backgroundGradientOverlayTransformer = createTransformer3((value) => /* @__PURE__ */ React92.createElement(Stack23, { direction: "row", gap: 10 }, /* @__PURE__ */ React92.createElement(ItemIconGradient, { value }), /* @__PURE__ */ React92.createElement(ItemLabelGradient, { value })));
4599
4868
  var ItemIconGradient = ({ value }) => {
4600
4869
  const gradient = getGradientValue(value);
4601
- return /* @__PURE__ */ React87.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: gradient });
4870
+ return /* @__PURE__ */ React92.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: gradient });
4602
4871
  };
4603
4872
  var ItemLabelGradient = ({ value }) => {
4604
4873
  if (value.type === "linear") {
4605
- return /* @__PURE__ */ React87.createElement("span", null, __59("Linear Gradient", "elementor"));
4874
+ return /* @__PURE__ */ React92.createElement("span", null, __60("Linear Gradient", "elementor"));
4606
4875
  }
4607
- return /* @__PURE__ */ React87.createElement("span", null, __59("Radial Gradient", "elementor"));
4876
+ return /* @__PURE__ */ React92.createElement("span", null, __60("Radial Gradient", "elementor"));
4608
4877
  };
4609
4878
  var getGradientValue = (gradient) => {
4610
4879
  const stops = gradient.stops?.map(({ color, offset }) => `${color} ${offset ?? 0}%`)?.join(",");
@@ -4615,15 +4884,15 @@ var getGradientValue = (gradient) => {
4615
4884
  };
4616
4885
 
4617
4886
  // src/styles-inheritance/transformers/background-image-overlay-transformer.tsx
4618
- import * as React88 from "react";
4887
+ import * as React93 from "react";
4619
4888
  import { createTransformer as createTransformer4 } from "@elementor/editor-canvas";
4620
4889
  import { EllipsisWithTooltip as EllipsisWithTooltip2 } from "@elementor/editor-ui";
4621
4890
  import { CardMedia, Stack as Stack24 } from "@elementor/ui";
4622
4891
  import { useWpMediaAttachment } from "@elementor/wp-media";
4623
- var backgroundImageOverlayTransformer = createTransformer4((value) => /* @__PURE__ */ React88.createElement(Stack24, { direction: "row", gap: 10 }, /* @__PURE__ */ React88.createElement(ItemIconImage, { value }), /* @__PURE__ */ React88.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 })));
4624
4893
  var ItemIconImage = ({ value }) => {
4625
4894
  const { imageUrl } = useImage(value);
4626
- return /* @__PURE__ */ React88.createElement(
4895
+ return /* @__PURE__ */ React93.createElement(
4627
4896
  CardMedia,
4628
4897
  {
4629
4898
  image: imageUrl,
@@ -4638,7 +4907,7 @@ var ItemIconImage = ({ value }) => {
4638
4907
  };
4639
4908
  var ItemLabelImage = ({ value }) => {
4640
4909
  const { imageTitle } = useImage(value);
4641
- return /* @__PURE__ */ React88.createElement(EllipsisWithTooltip2, { title: imageTitle }, /* @__PURE__ */ React88.createElement("span", null, imageTitle));
4910
+ return /* @__PURE__ */ React93.createElement(EllipsisWithTooltip2, { title: imageTitle }, /* @__PURE__ */ React93.createElement("span", null, imageTitle));
4642
4911
  };
4643
4912
  var useImage = (image) => {
4644
4913
  let imageTitle, imageUrl = null;
@@ -4663,14 +4932,14 @@ var getFileExtensionFromFilename = (filename) => {
4663
4932
  };
4664
4933
 
4665
4934
  // src/styles-inheritance/transformers/background-overlay-transformer.tsx
4666
- import * as React89 from "react";
4935
+ import * as React94 from "react";
4667
4936
  import { createTransformer as createTransformer5 } from "@elementor/editor-canvas";
4668
4937
  import { Stack as Stack25 } from "@elementor/ui";
4669
4938
  var backgroundOverlayTransformer = createTransformer5((values) => {
4670
4939
  if (!values || values.length === 0) {
4671
4940
  return null;
4672
4941
  }
4673
- return /* @__PURE__ */ React89.createElement(Stack25, { direction: "column" }, values.map((item, index) => /* @__PURE__ */ React89.createElement(Stack25, { key: index }, item)));
4942
+ return /* @__PURE__ */ React94.createElement(Stack25, { direction: "column" }, values.map((item, index) => /* @__PURE__ */ React94.createElement(Stack25, { key: index }, item)));
4674
4943
  });
4675
4944
 
4676
4945
  // src/styles-inheritance/init-styles-inheritance-transformers.ts
@@ -4720,7 +4989,7 @@ function init3() {
4720
4989
  });
4721
4990
  init();
4722
4991
  init2();
4723
- if (isExperimentActive12(EXPERIMENTAL_FEATURES.V_3_30)) {
4992
+ if (isExperimentActive14(EXPERIMENTAL_FEATURES.V_3_30)) {
4724
4993
  initResetStyleProps();
4725
4994
  }
4726
4995
  }
@@ -4735,7 +5004,8 @@ export {
4735
5004
  init3 as init,
4736
5005
  injectIntoClassSelectorActions,
4737
5006
  registerControlReplacement,
4738
- useBoundProp8 as useBoundProp,
5007
+ useBoundProp9 as useBoundProp,
5008
+ useFontFamilies,
4739
5009
  usePanelActions,
4740
5010
  usePanelStatus
4741
5011
  };