@elementor/editor-editing-panel 1.37.0 → 1.38.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -34,12 +34,12 @@ __export(index_exports, {
34
34
  init: () => init2,
35
35
  injectIntoClassSelectorActions: () => injectIntoClassSelectorActions,
36
36
  registerControlReplacement: () => registerControlReplacement,
37
- useBoundProp: () => import_editor_controls53.useBoundProp,
37
+ useBoundProp: () => import_editor_controls55.useBoundProp,
38
38
  usePanelActions: () => usePanelActions,
39
39
  usePanelStatus: () => usePanelStatus
40
40
  });
41
41
  module.exports = __toCommonJS(index_exports);
42
- var import_editor_controls53 = require("@elementor/editor-controls");
42
+ var import_editor_controls55 = require("@elementor/editor-controls");
43
43
 
44
44
  // src/control-replacement.tsx
45
45
  var import_editor_controls = require("@elementor/editor-controls");
@@ -949,15 +949,15 @@ function useHandleApply(appliedIds, setAppliedIds) {
949
949
  var import_editor_panels2 = require("@elementor/editor-panels");
950
950
 
951
951
  // src/components/editing-panel.tsx
952
- var React72 = __toESM(require("react"));
953
- var import_editor_controls47 = require("@elementor/editor-controls");
952
+ var React74 = __toESM(require("react"));
953
+ var import_editor_controls49 = require("@elementor/editor-controls");
954
954
  var import_editor_elements8 = require("@elementor/editor-elements");
955
955
  var import_editor_panels = require("@elementor/editor-panels");
956
956
  var import_editor_ui4 = require("@elementor/editor-ui");
957
957
  var import_icons23 = require("@elementor/icons");
958
958
  var import_session5 = require("@elementor/session");
959
- var import_ui60 = require("@elementor/ui");
960
- var import_i18n48 = require("@wordpress/i18n");
959
+ var import_ui62 = require("@elementor/ui");
960
+ var import_i18n50 = require("@wordpress/i18n");
961
961
 
962
962
  // src/controls-actions.ts
963
963
  var import_menus = require("@elementor/menus");
@@ -1013,10 +1013,10 @@ function EditorPanelErrorFallback() {
1013
1013
  }
1014
1014
 
1015
1015
  // src/components/editing-panel-tabs.tsx
1016
- var React71 = __toESM(require("react"));
1016
+ var React73 = __toESM(require("react"));
1017
1017
  var import_react26 = require("react");
1018
- var import_ui59 = require("@elementor/ui");
1019
- var import_i18n47 = require("@wordpress/i18n");
1018
+ var import_ui61 = require("@elementor/ui");
1019
+ var import_i18n49 = require("@wordpress/i18n");
1020
1020
 
1021
1021
  // src/contexts/scroll-context.tsx
1022
1022
  var React10 = __toESM(require("react"));
@@ -1240,19 +1240,19 @@ var Control2 = ({ control }) => {
1240
1240
  };
1241
1241
 
1242
1242
  // src/components/style-tab.tsx
1243
- var React70 = __toESM(require("react"));
1243
+ var React72 = __toESM(require("react"));
1244
1244
  var import_react25 = require("react");
1245
- var import_editor_props7 = require("@elementor/editor-props");
1245
+ var import_editor_props9 = require("@elementor/editor-props");
1246
1246
  var import_editor_responsive2 = require("@elementor/editor-responsive");
1247
1247
  var import_session4 = require("@elementor/session");
1248
- var import_ui58 = require("@elementor/ui");
1249
- var import_i18n46 = require("@wordpress/i18n");
1248
+ var import_ui60 = require("@elementor/ui");
1249
+ var import_i18n48 = require("@wordpress/i18n");
1250
1250
 
1251
1251
  // src/contexts/styles-inheritance-context.tsx
1252
1252
  var React17 = __toESM(require("react"));
1253
1253
  var import_react14 = require("react");
1254
1254
  var import_editor_elements4 = require("@elementor/editor-elements");
1255
- var import_editor_props3 = require("@elementor/editor-props");
1255
+ var import_editor_props4 = require("@elementor/editor-props");
1256
1256
  var import_editor_responsive = require("@elementor/editor-responsive");
1257
1257
  var import_editor_styles_repository5 = require("@elementor/editor-styles-repository");
1258
1258
 
@@ -1264,6 +1264,9 @@ var useStylesRerender = () => {
1264
1264
  (0, import_react13.useEffect)(() => provider?.subscribe(reRender), [provider]);
1265
1265
  };
1266
1266
 
1267
+ // src/styles-inheritance/create-styles-inheritance.ts
1268
+ var import_editor_props3 = require("@elementor/editor-props");
1269
+
1267
1270
  // src/styles-inheritance/create-snapshots-manager.ts
1268
1271
  var import_editor_props2 = require("@elementor/editor-props");
1269
1272
 
@@ -1393,7 +1396,20 @@ function mergeSnapshots(snapshots) {
1393
1396
  function createStylesInheritance(styleDefs, breakpointsRoot) {
1394
1397
  const styleVariantsByMeta = buildStyleVariantsByMetaMapping(styleDefs);
1395
1398
  const getStyles = ({ breakpoint, state }) => styleVariantsByMeta?.[getBreakpointKey(breakpoint)]?.[getStateKey(state)] ?? [];
1396
- return createSnapshotsManager(getStyles, breakpointsRoot);
1399
+ return {
1400
+ getSnapshot: createSnapshotsManager(getStyles, breakpointsRoot),
1401
+ getInheritanceChain: (snapshot, path) => {
1402
+ const [field, ...nextFields] = path;
1403
+ let inheritanceChain = snapshot[field] ?? [];
1404
+ if (nextFields.length > 0) {
1405
+ inheritanceChain = inheritanceChain.map(({ value: styleValue, ...rest }) => ({
1406
+ ...rest,
1407
+ value: getValueByPath(styleValue, nextFields)
1408
+ })).filter(({ value: styleValue }) => !(0, import_editor_props3.isEmpty)(styleValue));
1409
+ }
1410
+ return inheritanceChain;
1411
+ }
1412
+ };
1397
1413
  }
1398
1414
  function buildStyleVariantsByMetaMapping(styleDefs) {
1399
1415
  const breakpointStateSlots = {};
@@ -1420,32 +1436,53 @@ function buildStyleVariantsByMetaMapping(styleDefs) {
1420
1436
  });
1421
1437
  return breakpointStateSlots;
1422
1438
  }
1439
+ function getValueByPath(value, path) {
1440
+ if (!value || typeof value !== "object") {
1441
+ return null;
1442
+ }
1443
+ return path.reduce((currentScope, key) => {
1444
+ if (!currentScope) {
1445
+ return null;
1446
+ }
1447
+ if ((0, import_editor_props3.isTransformable)(currentScope)) {
1448
+ return currentScope.value?.[key];
1449
+ }
1450
+ if (typeof currentScope === "object") {
1451
+ return currentScope[key];
1452
+ }
1453
+ return null;
1454
+ }, value);
1455
+ }
1423
1456
 
1424
1457
  // src/contexts/styles-inheritance-context.tsx
1425
1458
  var Context4 = (0, import_react14.createContext)(null);
1426
1459
  function StyleInheritanceProvider({ children }) {
1427
1460
  const styleDefs = useAppliedStyles();
1428
1461
  const breakpointsTree = (0, import_editor_responsive.getBreakpointsTree)();
1429
- const getSnapshot = createStylesInheritance(styleDefs, breakpointsTree);
1430
- return /* @__PURE__ */ React17.createElement(Context4.Provider, { value: { getSnapshot } }, children);
1462
+ const { getSnapshot, getInheritanceChain } = createStylesInheritance(styleDefs, breakpointsTree);
1463
+ return /* @__PURE__ */ React17.createElement(Context4.Provider, { value: { getSnapshot, getInheritanceChain } }, children);
1431
1464
  }
1432
- function useStylesInheritanceFields(fields) {
1465
+ function useStylesInheritanceSnapshot() {
1433
1466
  const context = (0, import_react14.useContext)(Context4);
1434
1467
  const { meta } = useStyle();
1435
1468
  if (!context) {
1436
- throw new Error("useStylesInheritanceFields must be used within a StyleInheritanceProvider");
1469
+ throw new Error("useStylesInheritanceSnapshot must be used within a StyleInheritanceProvider");
1437
1470
  }
1438
1471
  if (!meta) {
1439
1472
  return null;
1440
1473
  }
1441
- const snapshot = context.getSnapshot(meta);
1442
- return fields.reduce(
1443
- (acc, key) => ({ ...acc, [key]: snapshot?.[key] ?? [] }),
1444
- {}
1445
- );
1474
+ return context.getSnapshot(meta) ?? null;
1446
1475
  }
1447
- function useStylesInheritanceField(field) {
1448
- return useStylesInheritanceFields([field])?.[field] ?? [];
1476
+ function useStylesInheritanceChain(path) {
1477
+ const context = (0, import_react14.useContext)(Context4);
1478
+ if (!context) {
1479
+ throw new Error("useStylesInheritanceChain must be used within a StyleInheritanceProvider");
1480
+ }
1481
+ const snapshot = useStylesInheritanceSnapshot();
1482
+ if (!snapshot) {
1483
+ return [];
1484
+ }
1485
+ return context.getInheritanceChain(snapshot, path);
1449
1486
  }
1450
1487
  var useAppliedStyles = () => {
1451
1488
  const { element } = useElement();
@@ -1453,7 +1490,7 @@ var useAppliedStyles = () => {
1453
1490
  const baseStyles = useBaseStyles();
1454
1491
  useStylesRerender();
1455
1492
  const classesProp = (0, import_editor_elements4.useElementSetting)(element.id, currentClassesProp);
1456
- const appliedStyles = import_editor_props3.classesPropTypeUtil.extract(classesProp);
1493
+ const appliedStyles = import_editor_props4.classesPropTypeUtil.extract(classesProp);
1457
1494
  return import_editor_styles_repository5.stylesRepository.all().filter((style) => appliedStyles?.includes(style.id)).concat(baseStyles);
1458
1495
  };
1459
1496
  var useBaseStyles = () => {
@@ -1494,7 +1531,7 @@ var import_editor_controls7 = require("@elementor/editor-controls");
1494
1531
  // src/controls-registry/styles-field.tsx
1495
1532
  var React20 = __toESM(require("react"));
1496
1533
  var import_editor_controls6 = require("@elementor/editor-controls");
1497
- var import_editor_styles3 = require("@elementor/editor-styles");
1534
+ var import_editor_styles2 = require("@elementor/editor-styles");
1498
1535
 
1499
1536
  // src/hooks/use-styles-fields.ts
1500
1537
  var import_react16 = require("react");
@@ -1636,6 +1673,7 @@ function useStylesField(propName) {
1636
1673
  var React19 = __toESM(require("react"));
1637
1674
  var import_react19 = require("react");
1638
1675
  var import_editor_controls5 = require("@elementor/editor-controls");
1676
+ var import_editor_props5 = require("@elementor/editor-props");
1639
1677
  var import_editor_styles_repository7 = require("@elementor/editor-styles-repository");
1640
1678
  var import_editor_v1_adapters3 = require("@elementor/editor-v1-adapters");
1641
1679
  var import_ui16 = require("@elementor/ui");
@@ -1645,7 +1683,6 @@ var import_i18n5 = require("@wordpress/i18n");
1645
1683
  var React18 = __toESM(require("react"));
1646
1684
  var import_react18 = require("react");
1647
1685
  var import_editor_canvas = require("@elementor/editor-canvas");
1648
- var import_editor_styles2 = require("@elementor/editor-styles");
1649
1686
  var import_ui15 = require("@elementor/ui");
1650
1687
 
1651
1688
  // src/hooks/use-normalized-inheritance-chain-items.tsx
@@ -1689,15 +1726,15 @@ var getTransformedValue = async (item, bind, resolve) => {
1689
1726
  };
1690
1727
 
1691
1728
  // src/styles-inheritance/styles-inheritance-infotip.tsx
1692
- var StyleIndicatorInfotip = ({ inheritanceChain, bind }) => {
1729
+ var StyleIndicatorInfotip = ({ inheritanceChain, propType, path }) => {
1730
+ const key = path.join(".");
1693
1731
  const resolve = (0, import_react18.useMemo)(() => {
1694
- const stylesSchema = (0, import_editor_styles2.getStylesSchema)();
1695
1732
  return (0, import_editor_canvas.createPropsResolver)({
1696
1733
  transformers: import_editor_canvas.styleTransformersRegistry,
1697
- schema: { [bind]: stylesSchema[bind] }
1734
+ schema: { [key]: propType }
1698
1735
  });
1699
- }, [bind]);
1700
- const items3 = useNormalizedInheritanceChainItems(inheritanceChain, bind, resolve);
1736
+ }, [key, propType]);
1737
+ const items3 = useNormalizedInheritanceChainItems(inheritanceChain, key, resolve);
1701
1738
  return /* @__PURE__ */ React18.createElement(import_ui15.Card, { elevation: 0, sx: { maxWidth: 320 } }, /* @__PURE__ */ React18.createElement(import_ui15.CardContent, { sx: { p: 1.5, pb: 2.5 } }, /* @__PURE__ */ React18.createElement(import_ui15.List, null, items3.map((item) => /* @__PURE__ */ React18.createElement(import_ui15.ListItem, { key: item.id }, /* @__PURE__ */ React18.createElement(
1702
1739
  import_ui15.ListItemText,
1703
1740
  {
@@ -1709,10 +1746,11 @@ var StyleIndicatorInfotip = ({ inheritanceChain, bind }) => {
1709
1746
  // src/styles-inheritance/styles-inheritance-indicator.tsx
1710
1747
  var StylesInheritanceIndicator = () => {
1711
1748
  const [open, setOpen] = (0, import_react19.useState)(false);
1712
- const { value, path } = (0, import_editor_controls5.useBoundProp)();
1749
+ const { value, path, propType } = (0, import_editor_controls5.useBoundProp)();
1713
1750
  const { id: currentStyleId, provider: currentStyleProvider, meta: currentStyleMeta } = useStyle();
1714
- const [bind] = path;
1715
- const inheritanceChain = useStylesInheritanceField(bind);
1751
+ const isUsingNestedProps = (0, import_editor_v1_adapters3.isExperimentActive)("e_v_3_30");
1752
+ const finalPath = isUsingNestedProps ? path : path.slice(0, 1);
1753
+ const inheritanceChain = useStylesInheritanceChain(finalPath);
1716
1754
  if (!inheritanceChain.length) {
1717
1755
  return null;
1718
1756
  }
@@ -1722,7 +1760,7 @@ var StylesInheritanceIndicator = () => {
1722
1760
  }
1723
1761
  const { breakpoint, state } = variant.meta;
1724
1762
  const isFinalValue = style.id === currentStyleId && breakpoint === currentStyleMeta.breakpoint && state === currentStyleMeta.state;
1725
- const hasValue = value !== null && value !== void 0;
1763
+ const hasValue = !(0, import_editor_props5.isEmpty)(value);
1726
1764
  const label = getLabel({ isFinalValue, hasValue });
1727
1765
  const variantType = getVariant({ isFinalValue, hasValue, currentStyleProvider });
1728
1766
  const eIndicationsPopover = (0, import_editor_v1_adapters3.isExperimentActive)("e_indications_popover");
@@ -1734,7 +1772,7 @@ var StylesInheritanceIndicator = () => {
1734
1772
  import_ui16.Infotip,
1735
1773
  {
1736
1774
  placement: "top",
1737
- content: /* @__PURE__ */ React19.createElement(StyleIndicatorInfotip, { inheritanceChain, bind }),
1775
+ content: /* @__PURE__ */ React19.createElement(StyleIndicatorInfotip, { inheritanceChain, path: finalPath, propType }),
1738
1776
  open,
1739
1777
  onClose: () => setOpen(false),
1740
1778
  trigger: "manual"
@@ -1768,7 +1806,7 @@ var getVariant = ({
1768
1806
  // src/controls-registry/styles-field.tsx
1769
1807
  var StylesField = ({ bind, placeholder, children }) => {
1770
1808
  const [value, setValue] = useStylesField(bind);
1771
- const stylesSchema = (0, import_editor_styles3.getStylesSchema)();
1809
+ const stylesSchema = (0, import_editor_styles2.getStylesSchema)();
1772
1810
  const propType = createTopLevelOjectType({ schema: stylesSchema });
1773
1811
  const values = { [bind]: value };
1774
1812
  const placeholderValues = { [bind]: placeholder };
@@ -1883,7 +1921,7 @@ var BorderStyleField = () => {
1883
1921
  // src/components/style-sections/border-section/border-width-field.tsx
1884
1922
  var React28 = __toESM(require("react"));
1885
1923
  var import_editor_controls11 = require("@elementor/editor-controls");
1886
- var import_editor_props4 = require("@elementor/editor-props");
1924
+ var import_editor_props6 = require("@elementor/editor-props");
1887
1925
  var import_icons6 = require("@elementor/icons");
1888
1926
  var import_ui24 = require("@elementor/ui");
1889
1927
  var import_i18n8 = require("@wordpress/i18n");
@@ -1942,7 +1980,7 @@ var BorderWidthField = () => {
1942
1980
  label: (0, import_i18n8.__)("Border width", "elementor"),
1943
1981
  icon: /* @__PURE__ */ React28.createElement(import_icons6.SideAllIcon, { fontSize: "tiny" }),
1944
1982
  tooltipLabel: (0, import_i18n8.__)("Adjust borders", "elementor"),
1945
- multiSizePropTypeUtil: import_editor_props4.borderWidthPropTypeUtil
1983
+ multiSizePropTypeUtil: import_editor_props6.borderWidthPropTypeUtil
1946
1984
  }
1947
1985
  ));
1948
1986
  };
@@ -1983,7 +2021,7 @@ var BorderField = () => {
1983
2021
  // src/components/style-sections/border-section/border-radius-field.tsx
1984
2022
  var React30 = __toESM(require("react"));
1985
2023
  var import_editor_controls12 = require("@elementor/editor-controls");
1986
- var import_editor_props5 = require("@elementor/editor-props");
2024
+ var import_editor_props7 = require("@elementor/editor-props");
1987
2025
  var import_icons7 = require("@elementor/icons");
1988
2026
  var import_ui25 = require("@elementor/ui");
1989
2027
  var import_i18n10 = require("@wordpress/i18n");
@@ -2026,7 +2064,7 @@ var BorderRadiusField = () => {
2026
2064
  label: (0, import_i18n10.__)("Border radius", "elementor"),
2027
2065
  icon: /* @__PURE__ */ React30.createElement(import_icons7.BorderCornersIcon, { fontSize: "tiny" }),
2028
2066
  tooltipLabel: (0, import_i18n10.__)("Adjust corners", "elementor"),
2029
- multiSizePropTypeUtil: import_editor_props5.borderRadiusPropTypeUtil
2067
+ multiSizePropTypeUtil: import_editor_props7.borderRadiusPropTypeUtil
2030
2068
  }
2031
2069
  ));
2032
2070
  };
@@ -2342,7 +2380,7 @@ var DisplayField = () => {
2342
2380
  const placeholder = useDisplayPlaceholderValue();
2343
2381
  return /* @__PURE__ */ React37.createElement(StylesField, { bind: "display", placeholder }, /* @__PURE__ */ React37.createElement(import_ui30.Stack, { gap: 0.75 }, /* @__PURE__ */ React37.createElement(ControlLabel, null, (0, import_i18n14.__)("Display", "elementor")), /* @__PURE__ */ React37.createElement(import_editor_controls17.ToggleControl, { options: items3, maxItems: 4, fullWidth: true })));
2344
2382
  };
2345
- var useDisplayPlaceholderValue = () => useStylesInheritanceField("display")[0]?.value ?? void 0;
2383
+ var useDisplayPlaceholderValue = () => useStylesInheritanceChain(["display"])[0]?.value ?? void 0;
2346
2384
 
2347
2385
  // src/components/style-sections/layout-section/flex-direction-field.tsx
2348
2386
  var React38 = __toESM(require("react"));
@@ -2465,7 +2503,7 @@ var getGroupControlValue = (order) => {
2465
2503
  var React40 = __toESM(require("react"));
2466
2504
  var import_react22 = require("react");
2467
2505
  var import_editor_controls20 = require("@elementor/editor-controls");
2468
- var import_editor_props6 = require("@elementor/editor-props");
2506
+ var import_editor_props8 = require("@elementor/editor-props");
2469
2507
  var import_icons13 = require("@elementor/icons");
2470
2508
  var import_ui33 = require("@elementor/ui");
2471
2509
  var import_i18n17 = require("@wordpress/i18n");
@@ -2510,7 +2548,7 @@ var FlexSizeField = () => {
2510
2548
  if (group === "flex-grow") {
2511
2549
  setFields({
2512
2550
  "flex-basis": null,
2513
- "flex-grow": import_editor_props6.numberPropTypeUtil.create(DEFAULT),
2551
+ "flex-grow": import_editor_props8.numberPropTypeUtil.create(DEFAULT),
2514
2552
  "flex-shrink": null
2515
2553
  });
2516
2554
  return;
@@ -2518,7 +2556,7 @@ var FlexSizeField = () => {
2518
2556
  setFields({
2519
2557
  "flex-basis": null,
2520
2558
  "flex-grow": null,
2521
- "flex-shrink": import_editor_props6.numberPropTypeUtil.create(DEFAULT)
2559
+ "flex-shrink": import_editor_props8.numberPropTypeUtil.create(DEFAULT)
2522
2560
  });
2523
2561
  };
2524
2562
  return /* @__PURE__ */ React40.createElement(import_ui33.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React40.createElement(import_ui33.ThemeProvider, null, /* @__PURE__ */ React40.createElement(SectionContent, null, /* @__PURE__ */ React40.createElement(import_ui33.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(StylesField, { bind: activeGroup ?? "" }, /* @__PURE__ */ React40.createElement(ControlLabel, null, (0, import_i18n17.__)("Size", "elementor")))), /* @__PURE__ */ React40.createElement(import_ui33.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React40.createElement(
@@ -2921,21 +2959,40 @@ var SpacingSection = () => {
2921
2959
  };
2922
2960
 
2923
2961
  // src/components/style-sections/typography-section/typography-section.tsx
2924
- var React69 = __toESM(require("react"));
2962
+ var React71 = __toESM(require("react"));
2963
+ var import_editor_v1_adapters8 = require("@elementor/editor-v1-adapters");
2925
2964
 
2926
- // src/components/style-sections/typography-section/font-family-field.tsx
2965
+ // src/components/style-sections/typography-section/column-count-field.tsx
2927
2966
  var React56 = __toESM(require("react"));
2928
2967
  var import_editor_controls34 = require("@elementor/editor-controls");
2929
2968
  var import_ui46 = require("@elementor/ui");
2969
+ var import_i18n32 = require("@wordpress/i18n");
2970
+ var ColumnCountField = () => {
2971
+ return /* @__PURE__ */ React56.createElement(StylesField, { bind: "column-count" }, /* @__PURE__ */ React56.createElement(import_ui46.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React56.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(ControlLabel, null, (0, import_i18n32.__)("Columns", "elementor"))), /* @__PURE__ */ React56.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(import_editor_controls34.NumberControl, { shouldForceInt: true, min: 0, step: 1 }))));
2972
+ };
2973
+
2974
+ // src/components/style-sections/typography-section/column-gap-field.tsx
2975
+ var React57 = __toESM(require("react"));
2976
+ var import_editor_controls35 = require("@elementor/editor-controls");
2977
+ var import_ui47 = require("@elementor/ui");
2930
2978
  var import_i18n33 = require("@wordpress/i18n");
2979
+ var ColumnGapField = () => {
2980
+ return /* @__PURE__ */ React57.createElement(StylesField, { bind: "column-gap" }, /* @__PURE__ */ React57.createElement(import_ui47.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React57.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(ControlLabel, null, (0, import_i18n33.__)("Column gap", "elementor"))), /* @__PURE__ */ React57.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(import_editor_controls35.SizeControl, null))));
2981
+ };
2982
+
2983
+ // src/components/style-sections/typography-section/font-family-field.tsx
2984
+ var React58 = __toESM(require("react"));
2985
+ var import_editor_controls36 = require("@elementor/editor-controls");
2986
+ var import_ui48 = require("@elementor/ui");
2987
+ var import_i18n35 = require("@wordpress/i18n");
2931
2988
 
2932
2989
  // src/components/style-sections/typography-section/hooks/use-font-families.ts
2933
2990
  var import_react24 = require("react");
2934
- var import_i18n32 = require("@wordpress/i18n");
2991
+ var import_i18n34 = require("@wordpress/i18n");
2935
2992
  var supportedCategories = {
2936
- system: (0, import_i18n32.__)("System", "elementor"),
2937
- custom: (0, import_i18n32.__)("Custom Fonts", "elementor"),
2938
- googlefonts: (0, import_i18n32.__)("Google Fonts", "elementor")
2993
+ system: (0, import_i18n34.__)("System", "elementor"),
2994
+ custom: (0, import_i18n34.__)("Custom Fonts", "elementor"),
2995
+ googlefonts: (0, import_i18n34.__)("Google Fonts", "elementor")
2939
2996
  };
2940
2997
  var getFontFamilies = () => {
2941
2998
  const { controls } = getElementorConfig();
@@ -2972,188 +3029,188 @@ var FontFamilyField = () => {
2972
3029
  if (fontFamilies.length === 0) {
2973
3030
  return null;
2974
3031
  }
2975
- return /* @__PURE__ */ React56.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React56.createElement(import_ui46.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React56.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(ControlLabel, null, (0, import_i18n33.__)("Font family", "elementor"))), /* @__PURE__ */ React56.createElement(import_ui46.Grid, { item: true, xs: 6, sx: { minWidth: 0 } }, /* @__PURE__ */ React56.createElement(import_editor_controls34.FontFamilyControl, { fontFamilies }))));
3032
+ return /* @__PURE__ */ React58.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React58.createElement(import_ui48.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React58.createElement(import_ui48.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React58.createElement(ControlLabel, null, (0, import_i18n35.__)("Font family", "elementor"))), /* @__PURE__ */ React58.createElement(import_ui48.Grid, { item: true, xs: 6, sx: { minWidth: 0 } }, /* @__PURE__ */ React58.createElement(import_editor_controls36.FontFamilyControl, { fontFamilies }))));
2976
3033
  };
2977
3034
 
2978
3035
  // src/components/style-sections/typography-section/font-size-field.tsx
2979
- var React57 = __toESM(require("react"));
2980
- var import_editor_controls35 = require("@elementor/editor-controls");
2981
- var import_ui47 = require("@elementor/ui");
2982
- var import_i18n34 = require("@wordpress/i18n");
3036
+ var React59 = __toESM(require("react"));
3037
+ var import_editor_controls37 = require("@elementor/editor-controls");
3038
+ var import_ui49 = require("@elementor/ui");
3039
+ var import_i18n36 = require("@wordpress/i18n");
2983
3040
  var FontSizeField = () => {
2984
- return /* @__PURE__ */ React57.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React57.createElement(import_ui47.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React57.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(ControlLabel, null, (0, import_i18n34.__)("Font size", "elementor"))), /* @__PURE__ */ React57.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(import_editor_controls35.SizeControl, null))));
3041
+ return /* @__PURE__ */ React59.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React59.createElement(import_ui49.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React59.createElement(import_ui49.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React59.createElement(ControlLabel, null, (0, import_i18n36.__)("Font size", "elementor"))), /* @__PURE__ */ React59.createElement(import_ui49.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React59.createElement(import_editor_controls37.SizeControl, null))));
2985
3042
  };
2986
3043
 
2987
3044
  // src/components/style-sections/typography-section/font-style-field.tsx
2988
- var React58 = __toESM(require("react"));
2989
- var import_editor_controls36 = require("@elementor/editor-controls");
3045
+ var React60 = __toESM(require("react"));
3046
+ var import_editor_controls38 = require("@elementor/editor-controls");
2990
3047
  var import_icons18 = require("@elementor/icons");
2991
- var import_ui48 = require("@elementor/ui");
2992
- var import_i18n35 = require("@wordpress/i18n");
3048
+ var import_ui50 = require("@elementor/ui");
3049
+ var import_i18n37 = require("@wordpress/i18n");
2993
3050
  var options7 = [
2994
3051
  {
2995
3052
  value: "normal",
2996
- label: (0, import_i18n35.__)("Normal", "elementor"),
2997
- renderContent: ({ size }) => /* @__PURE__ */ React58.createElement(import_icons18.MinusIcon, { fontSize: size }),
3053
+ label: (0, import_i18n37.__)("Normal", "elementor"),
3054
+ renderContent: ({ size }) => /* @__PURE__ */ React60.createElement(import_icons18.MinusIcon, { fontSize: size }),
2998
3055
  showTooltip: true
2999
3056
  },
3000
3057
  {
3001
3058
  value: "italic",
3002
- label: (0, import_i18n35.__)("Italic", "elementor"),
3003
- renderContent: ({ size }) => /* @__PURE__ */ React58.createElement(import_icons18.ItalicIcon, { fontSize: size }),
3059
+ label: (0, import_i18n37.__)("Italic", "elementor"),
3060
+ renderContent: ({ size }) => /* @__PURE__ */ React60.createElement(import_icons18.ItalicIcon, { fontSize: size }),
3004
3061
  showTooltip: true
3005
3062
  }
3006
3063
  ];
3007
- var FontStyleField = () => /* @__PURE__ */ React58.createElement(StylesField, { bind: "font-style" }, /* @__PURE__ */ React58.createElement(import_ui48.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React58.createElement(import_ui48.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React58.createElement(import_editor_controls36.ControlFormLabel, null, (0, import_i18n35.__)("Font style", "elementor"))), /* @__PURE__ */ React58.createElement(import_ui48.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React58.createElement(import_editor_controls36.ToggleControl, { options: options7 }))));
3064
+ var FontStyleField = () => /* @__PURE__ */ React60.createElement(StylesField, { bind: "font-style" }, /* @__PURE__ */ React60.createElement(import_ui50.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React60.createElement(import_ui50.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(import_editor_controls38.ControlFormLabel, null, (0, import_i18n37.__)("Font style", "elementor"))), /* @__PURE__ */ React60.createElement(import_ui50.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React60.createElement(import_editor_controls38.ToggleControl, { options: options7 }))));
3008
3065
 
3009
3066
  // src/components/style-sections/typography-section/font-weight-field.tsx
3010
- var React59 = __toESM(require("react"));
3011
- var import_editor_controls37 = require("@elementor/editor-controls");
3012
- var import_ui49 = require("@elementor/ui");
3013
- var import_i18n36 = require("@wordpress/i18n");
3067
+ var React61 = __toESM(require("react"));
3068
+ var import_editor_controls39 = require("@elementor/editor-controls");
3069
+ var import_ui51 = require("@elementor/ui");
3070
+ var import_i18n38 = require("@wordpress/i18n");
3014
3071
  var fontWeightOptions = [
3015
- { value: "100", label: (0, import_i18n36.__)("100 - Thin", "elementor") },
3016
- { value: "200", label: (0, import_i18n36.__)("200 - Extra light", "elementor") },
3017
- { value: "300", label: (0, import_i18n36.__)("300 - Light", "elementor") },
3018
- { value: "400", label: (0, import_i18n36.__)("400 - Normal", "elementor") },
3019
- { value: "500", label: (0, import_i18n36.__)("500 - Medium", "elementor") },
3020
- { value: "600", label: (0, import_i18n36.__)("600 - Semi bold", "elementor") },
3021
- { value: "700", label: (0, import_i18n36.__)("700 - Bold", "elementor") },
3022
- { value: "800", label: (0, import_i18n36.__)("800 - Extra bold", "elementor") },
3023
- { value: "900", label: (0, import_i18n36.__)("900 - Black", "elementor") }
3072
+ { value: "100", label: (0, import_i18n38.__)("100 - Thin", "elementor") },
3073
+ { value: "200", label: (0, import_i18n38.__)("200 - Extra light", "elementor") },
3074
+ { value: "300", label: (0, import_i18n38.__)("300 - Light", "elementor") },
3075
+ { value: "400", label: (0, import_i18n38.__)("400 - Normal", "elementor") },
3076
+ { value: "500", label: (0, import_i18n38.__)("500 - Medium", "elementor") },
3077
+ { value: "600", label: (0, import_i18n38.__)("600 - Semi bold", "elementor") },
3078
+ { value: "700", label: (0, import_i18n38.__)("700 - Bold", "elementor") },
3079
+ { value: "800", label: (0, import_i18n38.__)("800 - Extra bold", "elementor") },
3080
+ { value: "900", label: (0, import_i18n38.__)("900 - Black", "elementor") }
3024
3081
  ];
3025
3082
  var FontWeightField = () => {
3026
- return /* @__PURE__ */ React59.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React59.createElement(import_ui49.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React59.createElement(import_ui49.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React59.createElement(ControlLabel, null, (0, import_i18n36.__)("Font weight", "elementor"))), /* @__PURE__ */ React59.createElement(import_ui49.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React59.createElement(import_editor_controls37.SelectControl, { options: fontWeightOptions }))));
3083
+ return /* @__PURE__ */ React61.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React61.createElement(import_ui51.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React61.createElement(import_ui51.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React61.createElement(ControlLabel, null, (0, import_i18n38.__)("Font weight", "elementor"))), /* @__PURE__ */ React61.createElement(import_ui51.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React61.createElement(import_editor_controls39.SelectControl, { options: fontWeightOptions }))));
3027
3084
  };
3028
3085
 
3029
3086
  // src/components/style-sections/typography-section/letter-spacing-field.tsx
3030
- var React60 = __toESM(require("react"));
3031
- var import_editor_controls38 = require("@elementor/editor-controls");
3032
- var import_ui50 = require("@elementor/ui");
3033
- var import_i18n37 = require("@wordpress/i18n");
3087
+ var React62 = __toESM(require("react"));
3088
+ var import_editor_controls40 = require("@elementor/editor-controls");
3089
+ var import_ui52 = require("@elementor/ui");
3090
+ var import_i18n39 = require("@wordpress/i18n");
3034
3091
  var LetterSpacingField = () => {
3035
- return /* @__PURE__ */ React60.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React60.createElement(import_ui50.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React60.createElement(import_ui50.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(ControlLabel, null, (0, import_i18n37.__)("Letter spacing", "elementor"))), /* @__PURE__ */ React60.createElement(import_ui50.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(import_editor_controls38.SizeControl, null))));
3092
+ return /* @__PURE__ */ React62.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React62.createElement(import_ui52.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React62.createElement(import_ui52.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(ControlLabel, null, (0, import_i18n39.__)("Letter spacing", "elementor"))), /* @__PURE__ */ React62.createElement(import_ui52.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(import_editor_controls40.SizeControl, null))));
3036
3093
  };
3037
3094
 
3038
3095
  // src/components/style-sections/typography-section/line-height-field.tsx
3039
- var React61 = __toESM(require("react"));
3040
- var import_editor_controls39 = require("@elementor/editor-controls");
3041
- var import_ui51 = require("@elementor/ui");
3042
- var import_i18n38 = require("@wordpress/i18n");
3096
+ var React63 = __toESM(require("react"));
3097
+ var import_editor_controls41 = require("@elementor/editor-controls");
3098
+ var import_ui53 = require("@elementor/ui");
3099
+ var import_i18n40 = require("@wordpress/i18n");
3043
3100
  var LineHeightField = () => {
3044
- return /* @__PURE__ */ React61.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React61.createElement(import_ui51.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React61.createElement(import_ui51.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React61.createElement(ControlLabel, null, (0, import_i18n38.__)("Line height", "elementor"))), /* @__PURE__ */ React61.createElement(import_ui51.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React61.createElement(import_editor_controls39.SizeControl, null))));
3101
+ return /* @__PURE__ */ React63.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React63.createElement(import_ui53.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React63.createElement(import_ui53.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React63.createElement(ControlLabel, null, (0, import_i18n40.__)("Line height", "elementor"))), /* @__PURE__ */ React63.createElement(import_ui53.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React63.createElement(import_editor_controls41.SizeControl, null))));
3045
3102
  };
3046
3103
 
3047
3104
  // src/components/style-sections/typography-section/text-alignment-field.tsx
3048
- var React62 = __toESM(require("react"));
3049
- var import_editor_controls40 = require("@elementor/editor-controls");
3105
+ var React64 = __toESM(require("react"));
3106
+ var import_editor_controls42 = require("@elementor/editor-controls");
3050
3107
  var import_icons19 = require("@elementor/icons");
3051
- var import_ui52 = require("@elementor/ui");
3052
- var import_i18n39 = require("@wordpress/i18n");
3053
- var AlignStartIcon = (0, import_ui52.withDirection)(import_icons19.AlignLeftIcon);
3054
- var AlignEndIcon = (0, import_ui52.withDirection)(import_icons19.AlignRightIcon);
3108
+ var import_ui54 = require("@elementor/ui");
3109
+ var import_i18n41 = require("@wordpress/i18n");
3110
+ var AlignStartIcon = (0, import_ui54.withDirection)(import_icons19.AlignLeftIcon);
3111
+ var AlignEndIcon = (0, import_ui54.withDirection)(import_icons19.AlignRightIcon);
3055
3112
  var options8 = [
3056
3113
  {
3057
3114
  value: "start",
3058
- label: (0, import_i18n39.__)("Start", "elementor"),
3059
- renderContent: ({ size }) => /* @__PURE__ */ React62.createElement(AlignStartIcon, { fontSize: size }),
3115
+ label: (0, import_i18n41.__)("Start", "elementor"),
3116
+ renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(AlignStartIcon, { fontSize: size }),
3060
3117
  showTooltip: true
3061
3118
  },
3062
3119
  {
3063
3120
  value: "center",
3064
- label: (0, import_i18n39.__)("Center", "elementor"),
3065
- renderContent: ({ size }) => /* @__PURE__ */ React62.createElement(import_icons19.AlignCenterIcon, { fontSize: size }),
3121
+ label: (0, import_i18n41.__)("Center", "elementor"),
3122
+ renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(import_icons19.AlignCenterIcon, { fontSize: size }),
3066
3123
  showTooltip: true
3067
3124
  },
3068
3125
  {
3069
3126
  value: "end",
3070
- label: (0, import_i18n39.__)("End", "elementor"),
3071
- renderContent: ({ size }) => /* @__PURE__ */ React62.createElement(AlignEndIcon, { fontSize: size }),
3127
+ label: (0, import_i18n41.__)("End", "elementor"),
3128
+ renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(AlignEndIcon, { fontSize: size }),
3072
3129
  showTooltip: true
3073
3130
  },
3074
3131
  {
3075
3132
  value: "justify",
3076
- label: (0, import_i18n39.__)("Justify", "elementor"),
3077
- renderContent: ({ size }) => /* @__PURE__ */ React62.createElement(import_icons19.AlignJustifiedIcon, { fontSize: size }),
3133
+ label: (0, import_i18n41.__)("Justify", "elementor"),
3134
+ renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(import_icons19.AlignJustifiedIcon, { fontSize: size }),
3078
3135
  showTooltip: true
3079
3136
  }
3080
3137
  ];
3081
3138
  var TextAlignmentField = () => {
3082
- return /* @__PURE__ */ React62.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React62.createElement(import_ui52.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React62.createElement(import_ui52.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(ControlLabel, null, (0, import_i18n39.__)("Text align", "elementor"))), /* @__PURE__ */ React62.createElement(import_ui52.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React62.createElement(import_editor_controls40.ToggleControl, { options: options8 }))));
3139
+ return /* @__PURE__ */ React64.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React64.createElement(import_ui54.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React64.createElement(import_ui54.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React64.createElement(ControlLabel, null, (0, import_i18n41.__)("Text align", "elementor"))), /* @__PURE__ */ React64.createElement(import_ui54.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React64.createElement(import_editor_controls42.ToggleControl, { options: options8 }))));
3083
3140
  };
3084
3141
 
3085
3142
  // src/components/style-sections/typography-section/text-color-field.tsx
3086
- var React63 = __toESM(require("react"));
3087
- var import_editor_controls41 = require("@elementor/editor-controls");
3088
- var import_ui53 = require("@elementor/ui");
3089
- var import_i18n40 = require("@wordpress/i18n");
3143
+ var React65 = __toESM(require("react"));
3144
+ var import_editor_controls43 = require("@elementor/editor-controls");
3145
+ var import_ui55 = require("@elementor/ui");
3146
+ var import_i18n42 = require("@wordpress/i18n");
3090
3147
  var TextColorField = () => {
3091
- return /* @__PURE__ */ React63.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React63.createElement(import_ui53.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React63.createElement(import_ui53.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React63.createElement(ControlLabel, null, (0, import_i18n40.__)("Text color", "elementor"))), /* @__PURE__ */ React63.createElement(import_ui53.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React63.createElement(import_editor_controls41.ColorControl, null))));
3148
+ return /* @__PURE__ */ React65.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React65.createElement(import_ui55.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React65.createElement(import_ui55.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React65.createElement(ControlLabel, null, (0, import_i18n42.__)("Text color", "elementor"))), /* @__PURE__ */ React65.createElement(import_ui55.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React65.createElement(import_editor_controls43.ColorControl, null))));
3092
3149
  };
3093
3150
 
3094
3151
  // src/components/style-sections/typography-section/text-decoration-field.tsx
3095
- var React64 = __toESM(require("react"));
3096
- var import_editor_controls42 = require("@elementor/editor-controls");
3152
+ var React66 = __toESM(require("react"));
3153
+ var import_editor_controls44 = require("@elementor/editor-controls");
3097
3154
  var import_icons20 = require("@elementor/icons");
3098
- var import_ui54 = require("@elementor/ui");
3099
- var import_i18n41 = require("@wordpress/i18n");
3155
+ var import_ui56 = require("@elementor/ui");
3156
+ var import_i18n43 = require("@wordpress/i18n");
3100
3157
  var options9 = [
3101
3158
  {
3102
3159
  value: "none",
3103
- label: (0, import_i18n41.__)("None", "elementor"),
3104
- renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(import_icons20.MinusIcon, { fontSize: size }),
3160
+ label: (0, import_i18n43.__)("None", "elementor"),
3161
+ renderContent: ({ size }) => /* @__PURE__ */ React66.createElement(import_icons20.MinusIcon, { fontSize: size }),
3105
3162
  showTooltip: true,
3106
3163
  exclusive: true
3107
3164
  },
3108
3165
  {
3109
3166
  value: "underline",
3110
- label: (0, import_i18n41.__)("Underline", "elementor"),
3111
- renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(import_icons20.UnderlineIcon, { fontSize: size }),
3167
+ label: (0, import_i18n43.__)("Underline", "elementor"),
3168
+ renderContent: ({ size }) => /* @__PURE__ */ React66.createElement(import_icons20.UnderlineIcon, { fontSize: size }),
3112
3169
  showTooltip: true
3113
3170
  },
3114
3171
  {
3115
3172
  value: "line-through",
3116
- label: (0, import_i18n41.__)("Line-through", "elementor"),
3117
- renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(import_icons20.StrikethroughIcon, { fontSize: size }),
3173
+ label: (0, import_i18n43.__)("Line-through", "elementor"),
3174
+ renderContent: ({ size }) => /* @__PURE__ */ React66.createElement(import_icons20.StrikethroughIcon, { fontSize: size }),
3118
3175
  showTooltip: true
3119
3176
  },
3120
3177
  {
3121
3178
  value: "overline",
3122
- label: (0, import_i18n41.__)("Overline", "elementor"),
3123
- renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(import_icons20.OverlineIcon, { fontSize: size }),
3179
+ label: (0, import_i18n43.__)("Overline", "elementor"),
3180
+ renderContent: ({ size }) => /* @__PURE__ */ React66.createElement(import_icons20.OverlineIcon, { fontSize: size }),
3124
3181
  showTooltip: true
3125
3182
  }
3126
3183
  ];
3127
- var TextDecorationField = () => /* @__PURE__ */ React64.createElement(StylesField, { bind: "text-decoration" }, /* @__PURE__ */ React64.createElement(import_ui54.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React64.createElement(import_ui54.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React64.createElement(ControlLabel, null, (0, import_i18n41.__)("Line decoration", "elementor"))), /* @__PURE__ */ React64.createElement(import_ui54.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React64.createElement(import_editor_controls42.ToggleControl, { options: options9, exclusive: false }))));
3184
+ var TextDecorationField = () => /* @__PURE__ */ React66.createElement(StylesField, { bind: "text-decoration" }, /* @__PURE__ */ React66.createElement(import_ui56.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React66.createElement(import_ui56.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React66.createElement(ControlLabel, null, (0, import_i18n43.__)("Line decoration", "elementor"))), /* @__PURE__ */ React66.createElement(import_ui56.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React66.createElement(import_editor_controls44.ToggleControl, { options: options9, exclusive: false }))));
3128
3185
 
3129
3186
  // src/components/style-sections/typography-section/text-direction-field.tsx
3130
- var React65 = __toESM(require("react"));
3131
- var import_editor_controls43 = require("@elementor/editor-controls");
3187
+ var React67 = __toESM(require("react"));
3188
+ var import_editor_controls45 = require("@elementor/editor-controls");
3132
3189
  var import_icons21 = require("@elementor/icons");
3133
- var import_ui55 = require("@elementor/ui");
3134
- var import_i18n42 = require("@wordpress/i18n");
3190
+ var import_ui57 = require("@elementor/ui");
3191
+ var import_i18n44 = require("@wordpress/i18n");
3135
3192
  var options10 = [
3136
3193
  {
3137
3194
  value: "ltr",
3138
- label: (0, import_i18n42.__)("Left to right", "elementor"),
3139
- renderContent: ({ size }) => /* @__PURE__ */ React65.createElement(import_icons21.TextDirectionLtrIcon, { fontSize: size }),
3195
+ label: (0, import_i18n44.__)("Left to right", "elementor"),
3196
+ renderContent: ({ size }) => /* @__PURE__ */ React67.createElement(import_icons21.TextDirectionLtrIcon, { fontSize: size }),
3140
3197
  showTooltip: true
3141
3198
  },
3142
3199
  {
3143
3200
  value: "rtl",
3144
- label: (0, import_i18n42.__)("Right to left", "elementor"),
3145
- renderContent: ({ size }) => /* @__PURE__ */ React65.createElement(import_icons21.TextDirectionRtlIcon, { fontSize: size }),
3201
+ label: (0, import_i18n44.__)("Right to left", "elementor"),
3202
+ renderContent: ({ size }) => /* @__PURE__ */ React67.createElement(import_icons21.TextDirectionRtlIcon, { fontSize: size }),
3146
3203
  showTooltip: true
3147
3204
  }
3148
3205
  ];
3149
3206
  var TextDirectionField = () => {
3150
- return /* @__PURE__ */ React65.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React65.createElement(import_ui55.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React65.createElement(import_ui55.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React65.createElement(ControlLabel, null, (0, import_i18n42.__)("Direction", "elementor"))), /* @__PURE__ */ React65.createElement(import_ui55.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React65.createElement(import_editor_controls43.ToggleControl, { options: options10 }))));
3207
+ return /* @__PURE__ */ React67.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React67.createElement(import_ui57.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React67.createElement(import_ui57.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React67.createElement(ControlLabel, null, (0, import_i18n44.__)("Direction", "elementor"))), /* @__PURE__ */ React67.createElement(import_ui57.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React67.createElement(import_editor_controls45.ToggleControl, { options: options10 }))));
3151
3208
  };
3152
3209
 
3153
3210
  // src/components/style-sections/typography-section/text-stroke-field.tsx
3154
- var React66 = __toESM(require("react"));
3155
- var import_editor_controls44 = require("@elementor/editor-controls");
3156
- var import_i18n43 = require("@wordpress/i18n");
3211
+ var React68 = __toESM(require("react"));
3212
+ var import_editor_controls46 = require("@elementor/editor-controls");
3213
+ var import_i18n45 = require("@wordpress/i18n");
3157
3214
  var initTextStroke = {
3158
3215
  $$type: "stroke",
3159
3216
  value: {
@@ -3179,64 +3236,67 @@ var TextStrokeField = () => {
3179
3236
  setTextStroke(null);
3180
3237
  };
3181
3238
  const hasTextStroke = Boolean(textStroke);
3182
- return /* @__PURE__ */ React66.createElement(StylesField, { bind: "stroke" }, /* @__PURE__ */ React66.createElement(
3239
+ return /* @__PURE__ */ React68.createElement(StylesField, { bind: "stroke" }, /* @__PURE__ */ React68.createElement(
3183
3240
  AddOrRemoveContent,
3184
3241
  {
3185
- label: (0, import_i18n43.__)("Text stroke", "elementor"),
3242
+ label: (0, import_i18n45.__)("Text stroke", "elementor"),
3186
3243
  isAdded: hasTextStroke,
3187
3244
  onAdd: addTextStroke,
3188
3245
  onRemove: removeTextStroke
3189
3246
  },
3190
- /* @__PURE__ */ React66.createElement(import_editor_controls44.StrokeControl, null)
3247
+ /* @__PURE__ */ React68.createElement(import_editor_controls46.StrokeControl, null)
3191
3248
  ));
3192
3249
  };
3193
3250
 
3194
3251
  // src/components/style-sections/typography-section/transform-field.tsx
3195
- var React67 = __toESM(require("react"));
3196
- var import_editor_controls45 = require("@elementor/editor-controls");
3252
+ var React69 = __toESM(require("react"));
3253
+ var import_editor_controls47 = require("@elementor/editor-controls");
3197
3254
  var import_icons22 = require("@elementor/icons");
3198
- var import_ui56 = require("@elementor/ui");
3199
- var import_i18n44 = require("@wordpress/i18n");
3255
+ var import_ui58 = require("@elementor/ui");
3256
+ var import_i18n46 = require("@wordpress/i18n");
3200
3257
  var options11 = [
3201
3258
  {
3202
3259
  value: "none",
3203
- label: (0, import_i18n44.__)("None", "elementor"),
3204
- renderContent: ({ size }) => /* @__PURE__ */ React67.createElement(import_icons22.MinusIcon, { fontSize: size }),
3260
+ label: (0, import_i18n46.__)("None", "elementor"),
3261
+ renderContent: ({ size }) => /* @__PURE__ */ React69.createElement(import_icons22.MinusIcon, { fontSize: size }),
3205
3262
  showTooltip: true
3206
3263
  },
3207
3264
  {
3208
3265
  value: "capitalize",
3209
- label: (0, import_i18n44.__)("Capitalize", "elementor"),
3210
- renderContent: ({ size }) => /* @__PURE__ */ React67.createElement(import_icons22.LetterCaseIcon, { fontSize: size }),
3266
+ label: (0, import_i18n46.__)("Capitalize", "elementor"),
3267
+ renderContent: ({ size }) => /* @__PURE__ */ React69.createElement(import_icons22.LetterCaseIcon, { fontSize: size }),
3211
3268
  showTooltip: true
3212
3269
  },
3213
3270
  {
3214
3271
  value: "uppercase",
3215
- label: (0, import_i18n44.__)("Uppercase", "elementor"),
3216
- renderContent: ({ size }) => /* @__PURE__ */ React67.createElement(import_icons22.LetterCaseUpperIcon, { fontSize: size }),
3272
+ label: (0, import_i18n46.__)("Uppercase", "elementor"),
3273
+ renderContent: ({ size }) => /* @__PURE__ */ React69.createElement(import_icons22.LetterCaseUpperIcon, { fontSize: size }),
3217
3274
  showTooltip: true
3218
3275
  },
3219
3276
  {
3220
3277
  value: "lowercase",
3221
- label: (0, import_i18n44.__)("Lowercase", "elementor"),
3222
- renderContent: ({ size }) => /* @__PURE__ */ React67.createElement(import_icons22.LetterCaseLowerIcon, { fontSize: size }),
3278
+ label: (0, import_i18n46.__)("Lowercase", "elementor"),
3279
+ renderContent: ({ size }) => /* @__PURE__ */ React69.createElement(import_icons22.LetterCaseLowerIcon, { fontSize: size }),
3223
3280
  showTooltip: true
3224
3281
  }
3225
3282
  ];
3226
- var TransformField = () => /* @__PURE__ */ React67.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React67.createElement(import_ui56.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React67.createElement(import_ui56.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React67.createElement(ControlLabel, null, (0, import_i18n44.__)("Text transform", "elementor"))), /* @__PURE__ */ React67.createElement(import_ui56.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React67.createElement(import_editor_controls45.ToggleControl, { options: options11 }))));
3283
+ var TransformField = () => /* @__PURE__ */ React69.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React69.createElement(import_ui58.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React69.createElement(import_ui58.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React69.createElement(ControlLabel, null, (0, import_i18n46.__)("Text transform", "elementor"))), /* @__PURE__ */ React69.createElement(import_ui58.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React69.createElement(import_editor_controls47.ToggleControl, { options: options11 }))));
3227
3284
 
3228
3285
  // src/components/style-sections/typography-section/word-spacing-field.tsx
3229
- var React68 = __toESM(require("react"));
3230
- var import_editor_controls46 = require("@elementor/editor-controls");
3231
- var import_ui57 = require("@elementor/ui");
3232
- var import_i18n45 = require("@wordpress/i18n");
3286
+ var React70 = __toESM(require("react"));
3287
+ var import_editor_controls48 = require("@elementor/editor-controls");
3288
+ var import_ui59 = require("@elementor/ui");
3289
+ var import_i18n47 = require("@wordpress/i18n");
3233
3290
  var WordSpacingField = () => {
3234
- return /* @__PURE__ */ React68.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React68.createElement(import_ui57.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React68.createElement(import_ui57.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React68.createElement(ControlLabel, null, (0, import_i18n45.__)("Word spacing", "elementor"))), /* @__PURE__ */ React68.createElement(import_ui57.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React68.createElement(import_editor_controls46.SizeControl, null))));
3291
+ return /* @__PURE__ */ React70.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React70.createElement(import_ui59.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React70.createElement(import_ui59.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React70.createElement(ControlLabel, null, (0, import_i18n47.__)("Word spacing", "elementor"))), /* @__PURE__ */ React70.createElement(import_ui59.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React70.createElement(import_editor_controls48.SizeControl, null))));
3235
3292
  };
3236
3293
 
3237
3294
  // src/components/style-sections/typography-section/typography-section.tsx
3238
3295
  var TypographySection = () => {
3239
- return /* @__PURE__ */ React69.createElement(SectionContent, null, /* @__PURE__ */ React69.createElement(FontFamilyField, null), /* @__PURE__ */ React69.createElement(FontWeightField, null), /* @__PURE__ */ React69.createElement(FontSizeField, null), /* @__PURE__ */ React69.createElement(PanelDivider, null), /* @__PURE__ */ React69.createElement(TextAlignmentField, null), /* @__PURE__ */ React69.createElement(TextColorField, null), /* @__PURE__ */ React69.createElement(CollapsibleContent, null, /* @__PURE__ */ React69.createElement(SectionContent, { sx: { pt: 2 } }, /* @__PURE__ */ React69.createElement(LineHeightField, null), /* @__PURE__ */ React69.createElement(LetterSpacingField, null), /* @__PURE__ */ React69.createElement(WordSpacingField, null), /* @__PURE__ */ React69.createElement(PanelDivider, null), /* @__PURE__ */ React69.createElement(TextDecorationField, null), /* @__PURE__ */ React69.createElement(TransformField, null), /* @__PURE__ */ React69.createElement(TextDirectionField, null), /* @__PURE__ */ React69.createElement(FontStyleField, null), /* @__PURE__ */ React69.createElement(TextStrokeField, null))));
3296
+ const [columnCount] = useStylesField("column-count");
3297
+ const isVersion330Active = (0, import_editor_v1_adapters8.isExperimentActive)("e_v_3_30");
3298
+ const hasMultiColumns = columnCount?.value && columnCount?.value > 1;
3299
+ return /* @__PURE__ */ React71.createElement(SectionContent, null, /* @__PURE__ */ React71.createElement(FontFamilyField, null), /* @__PURE__ */ React71.createElement(FontWeightField, null), /* @__PURE__ */ React71.createElement(FontSizeField, null), /* @__PURE__ */ React71.createElement(PanelDivider, null), /* @__PURE__ */ React71.createElement(TextAlignmentField, null), /* @__PURE__ */ React71.createElement(TextColorField, null), /* @__PURE__ */ React71.createElement(CollapsibleContent, null, /* @__PURE__ */ React71.createElement(SectionContent, { sx: { pt: 2 } }, /* @__PURE__ */ React71.createElement(LineHeightField, null), /* @__PURE__ */ React71.createElement(LetterSpacingField, null), /* @__PURE__ */ React71.createElement(WordSpacingField, null), isVersion330Active && /* @__PURE__ */ React71.createElement(React71.Fragment, null, /* @__PURE__ */ React71.createElement(ColumnCountField, null), hasMultiColumns && /* @__PURE__ */ React71.createElement(ColumnGapField, null)), /* @__PURE__ */ React71.createElement(PanelDivider, null), /* @__PURE__ */ React71.createElement(TextDecorationField, null), /* @__PURE__ */ React71.createElement(TransformField, null), /* @__PURE__ */ React71.createElement(TextDirectionField, null), /* @__PURE__ */ React71.createElement(FontStyleField, null), /* @__PURE__ */ React71.createElement(TextStrokeField, null))));
3240
3300
  };
3241
3301
 
3242
3302
  // src/components/style-tab.tsx
@@ -3253,7 +3313,7 @@ var StyleTab = () => {
3253
3313
  const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
3254
3314
  const [activeStyleState, setActiveStyleState] = (0, import_react25.useState)(null);
3255
3315
  const breakpoint = (0, import_editor_responsive2.useActiveBreakpoint)();
3256
- return /* @__PURE__ */ React70.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React70.createElement(
3316
+ return /* @__PURE__ */ React72.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React72.createElement(
3257
3317
  StyleProvider,
3258
3318
  {
3259
3319
  meta: { breakpoint, state: activeStyleState },
@@ -3264,17 +3324,17 @@ var StyleTab = () => {
3264
3324
  },
3265
3325
  setMetaState: setActiveStyleState
3266
3326
  },
3267
- /* @__PURE__ */ React70.createElement(import_session4.SessionStorageProvider, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React70.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React70.createElement(ClassesHeader, null, /* @__PURE__ */ React70.createElement(CssClassSelector, null), /* @__PURE__ */ React70.createElement(import_ui58.Divider, null)), /* @__PURE__ */ React70.createElement(SectionsList, null, /* @__PURE__ */ React70.createElement(Section, { title: (0, import_i18n46.__)("Layout", "elementor") }, /* @__PURE__ */ React70.createElement(LayoutSection, null)), /* @__PURE__ */ React70.createElement(Section, { title: (0, import_i18n46.__)("Spacing", "elementor") }, /* @__PURE__ */ React70.createElement(SpacingSection, null)), /* @__PURE__ */ React70.createElement(Section, { title: (0, import_i18n46.__)("Size", "elementor") }, /* @__PURE__ */ React70.createElement(SizeSection, null)), /* @__PURE__ */ React70.createElement(Section, { title: (0, import_i18n46.__)("Position", "elementor") }, /* @__PURE__ */ React70.createElement(PositionSection, null)), /* @__PURE__ */ React70.createElement(Section, { title: (0, import_i18n46.__)("Typography", "elementor") }, /* @__PURE__ */ React70.createElement(TypographySection, null)), /* @__PURE__ */ React70.createElement(Section, { title: (0, import_i18n46.__)("Background", "elementor") }, /* @__PURE__ */ React70.createElement(BackgroundSection, null)), /* @__PURE__ */ React70.createElement(Section, { title: (0, import_i18n46.__)("Border", "elementor") }, /* @__PURE__ */ React70.createElement(BorderSection, null)), /* @__PURE__ */ React70.createElement(Section, { title: (0, import_i18n46.__)("Effects", "elementor") }, /* @__PURE__ */ React70.createElement(EffectsSection, null)))))
3327
+ /* @__PURE__ */ React72.createElement(import_session4.SessionStorageProvider, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React72.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React72.createElement(ClassesHeader, null, /* @__PURE__ */ React72.createElement(CssClassSelector, null), /* @__PURE__ */ React72.createElement(import_ui60.Divider, null)), /* @__PURE__ */ React72.createElement(SectionsList, null, /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Layout", "elementor") }, /* @__PURE__ */ React72.createElement(LayoutSection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Spacing", "elementor") }, /* @__PURE__ */ React72.createElement(SpacingSection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Size", "elementor") }, /* @__PURE__ */ React72.createElement(SizeSection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Position", "elementor") }, /* @__PURE__ */ React72.createElement(PositionSection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Typography", "elementor") }, /* @__PURE__ */ React72.createElement(TypographySection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Background", "elementor") }, /* @__PURE__ */ React72.createElement(BackgroundSection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Border", "elementor") }, /* @__PURE__ */ React72.createElement(BorderSection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Effects", "elementor") }, /* @__PURE__ */ React72.createElement(EffectsSection, null)))))
3268
3328
  ));
3269
3329
  };
3270
3330
  function ClassesHeader({ children }) {
3271
3331
  const scrollDirection = useScrollDirection();
3272
- return /* @__PURE__ */ React70.createElement(import_ui58.Stack, { sx: { ...stickyHeaderStyles, top: scrollDirection === "up" ? TABS_HEADER_HEIGHT : 0 } }, children);
3332
+ return /* @__PURE__ */ React72.createElement(import_ui60.Stack, { sx: { ...stickyHeaderStyles, top: scrollDirection === "up" ? TABS_HEADER_HEIGHT : 0 } }, children);
3273
3333
  }
3274
3334
  function useCurrentClassesProp() {
3275
3335
  const { elementType } = useElement();
3276
3336
  const prop = Object.entries(elementType.propsSchema).find(
3277
- ([, propType]) => propType.kind === "plain" && propType.key === import_editor_props7.CLASSES_PROP_KEY
3337
+ ([, propType]) => propType.kind === "plain" && propType.key === import_editor_props9.CLASSES_PROP_KEY
3278
3338
  );
3279
3339
  if (!prop) {
3280
3340
  throw new Error("Element does not have a classes prop");
@@ -3288,15 +3348,15 @@ var EditingPanelTabs = () => {
3288
3348
  return (
3289
3349
  // When switching between elements, the local states should be reset. We are using key to rerender the tabs.
3290
3350
  // Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
3291
- /* @__PURE__ */ React71.createElement(import_react26.Fragment, { key: element.id }, /* @__PURE__ */ React71.createElement(PanelTabContent, null))
3351
+ /* @__PURE__ */ React73.createElement(import_react26.Fragment, { key: element.id }, /* @__PURE__ */ React73.createElement(PanelTabContent, null))
3292
3352
  );
3293
3353
  };
3294
3354
  var PanelTabContent = () => {
3295
3355
  const defaultComponentTab = "settings";
3296
3356
  const [currentTab, setCurrentTab] = useStateByElement("tab", defaultComponentTab);
3297
- const { getTabProps, getTabPanelProps, getTabsProps } = (0, import_ui59.useTabs)(currentTab);
3298
- return /* @__PURE__ */ React71.createElement(ScrollProvider, null, /* @__PURE__ */ React71.createElement(import_ui59.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React71.createElement(import_ui59.Stack, { sx: { ...stickyHeaderStyles, top: 0 } }, /* @__PURE__ */ React71.createElement(
3299
- import_ui59.Tabs,
3357
+ const { getTabProps, getTabPanelProps, getTabsProps } = (0, import_ui61.useTabs)(currentTab);
3358
+ return /* @__PURE__ */ React73.createElement(ScrollProvider, null, /* @__PURE__ */ React73.createElement(import_ui61.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React73.createElement(import_ui61.Stack, { sx: { ...stickyHeaderStyles, top: 0 } }, /* @__PURE__ */ React73.createElement(
3359
+ import_ui61.Tabs,
3300
3360
  {
3301
3361
  variant: "fullWidth",
3302
3362
  size: "small",
@@ -3307,9 +3367,9 @@ var PanelTabContent = () => {
3307
3367
  setCurrentTab(newValue);
3308
3368
  }
3309
3369
  },
3310
- /* @__PURE__ */ React71.createElement(import_ui59.Tab, { label: (0, import_i18n47.__)("General", "elementor"), ...getTabProps("settings") }),
3311
- /* @__PURE__ */ React71.createElement(import_ui59.Tab, { label: (0, import_i18n47.__)("Style", "elementor"), ...getTabProps("style") })
3312
- ), /* @__PURE__ */ React71.createElement(import_ui59.Divider, null)), /* @__PURE__ */ React71.createElement(import_ui59.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React71.createElement(SettingsTab, null)), /* @__PURE__ */ React71.createElement(import_ui59.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React71.createElement(StyleTab, null))));
3370
+ /* @__PURE__ */ React73.createElement(import_ui61.Tab, { label: (0, import_i18n49.__)("General", "elementor"), ...getTabProps("settings") }),
3371
+ /* @__PURE__ */ React73.createElement(import_ui61.Tab, { label: (0, import_i18n49.__)("Style", "elementor"), ...getTabProps("style") })
3372
+ ), /* @__PURE__ */ React73.createElement(import_ui61.Divider, null)), /* @__PURE__ */ React73.createElement(import_ui61.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React73.createElement(SettingsTab, null)), /* @__PURE__ */ React73.createElement(import_ui61.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React73.createElement(StyleTab, null))));
3313
3373
  };
3314
3374
 
3315
3375
  // src/components/editing-panel.tsx
@@ -3321,8 +3381,8 @@ var EditingPanel = () => {
3321
3381
  if (!element || !elementType) {
3322
3382
  return null;
3323
3383
  }
3324
- const panelTitle = (0, import_i18n48.__)("Edit %s", "elementor").replace("%s", elementType.title);
3325
- return /* @__PURE__ */ React72.createElement(import_ui60.ErrorBoundary, { fallback: /* @__PURE__ */ React72.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React72.createElement(import_session5.SessionStorageProvider, { prefix: "elementor" }, /* @__PURE__ */ React72.createElement(import_editor_ui4.ThemeProvider, null, /* @__PURE__ */ React72.createElement(import_editor_panels.Panel, null, /* @__PURE__ */ React72.createElement(import_editor_panels.PanelHeader, null, /* @__PURE__ */ React72.createElement(import_editor_panels.PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React72.createElement(import_icons23.AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React72.createElement(import_editor_panels.PanelBody, null, /* @__PURE__ */ React72.createElement(import_editor_controls47.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React72.createElement(import_editor_controls47.ControlReplacementsProvider, { replacements: controlReplacements }, /* @__PURE__ */ React72.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React72.createElement(EditingPanelTabs, null)))))))));
3384
+ const panelTitle = (0, import_i18n50.__)("Edit %s", "elementor").replace("%s", elementType.title);
3385
+ return /* @__PURE__ */ React74.createElement(import_ui62.ErrorBoundary, { fallback: /* @__PURE__ */ React74.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React74.createElement(import_session5.SessionStorageProvider, { prefix: "elementor" }, /* @__PURE__ */ React74.createElement(import_editor_ui4.ThemeProvider, null, /* @__PURE__ */ React74.createElement(import_editor_panels.Panel, null, /* @__PURE__ */ React74.createElement(import_editor_panels.PanelHeader, null, /* @__PURE__ */ React74.createElement(import_editor_panels.PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React74.createElement(import_icons23.AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React74.createElement(import_editor_panels.PanelBody, null, /* @__PURE__ */ React74.createElement(import_editor_controls49.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React74.createElement(import_editor_controls49.ControlReplacementsProvider, { replacements: controlReplacements }, /* @__PURE__ */ React74.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React74.createElement(EditingPanelTabs, null)))))))));
3326
3386
  };
3327
3387
 
3328
3388
  // src/panel.ts
@@ -3335,11 +3395,11 @@ var { panel, usePanelActions, usePanelStatus } = (0, import_editor_panels2.__cre
3335
3395
  var import_editor = require("@elementor/editor");
3336
3396
  var import_editor_current_user = require("@elementor/editor-current-user");
3337
3397
  var import_editor_panels3 = require("@elementor/editor-panels");
3338
- var import_editor_v1_adapters9 = require("@elementor/editor-v1-adapters");
3398
+ var import_editor_v1_adapters10 = require("@elementor/editor-v1-adapters");
3339
3399
 
3340
3400
  // src/hooks/use-open-editor-panel.ts
3341
3401
  var import_react27 = require("react");
3342
- var import_editor_v1_adapters8 = require("@elementor/editor-v1-adapters");
3402
+ var import_editor_v1_adapters9 = require("@elementor/editor-v1-adapters");
3343
3403
 
3344
3404
  // src/sync/is-atomic-widget-selected.ts
3345
3405
  var import_editor_elements9 = require("@elementor/editor-elements");
@@ -3356,7 +3416,7 @@ var isAtomicWidgetSelected = () => {
3356
3416
  var useOpenEditorPanel = () => {
3357
3417
  const { open } = usePanelActions();
3358
3418
  (0, import_react27.useEffect)(() => {
3359
- return (0, import_editor_v1_adapters8.__privateListenTo)((0, import_editor_v1_adapters8.commandStartEvent)("panel/editor/open"), () => {
3419
+ return (0, import_editor_v1_adapters9.__privateListenTo)((0, import_editor_v1_adapters9.commandStartEvent)("panel/editor/open"), () => {
3360
3420
  if (isAtomicWidgetSelected()) {
3361
3421
  open();
3362
3422
  }
@@ -3374,16 +3434,16 @@ var EditingPanelHooks = () => {
3374
3434
  var import_editor_canvas3 = require("@elementor/editor-canvas");
3375
3435
 
3376
3436
  // src/dynamics/components/dynamic-selection-control.tsx
3377
- var React76 = __toESM(require("react"));
3378
- var import_editor_controls51 = require("@elementor/editor-controls");
3437
+ var React78 = __toESM(require("react"));
3438
+ var import_editor_controls53 = require("@elementor/editor-controls");
3379
3439
  var import_icons25 = require("@elementor/icons");
3380
- var import_ui63 = require("@elementor/ui");
3381
- var import_i18n50 = require("@wordpress/i18n");
3440
+ var import_ui65 = require("@elementor/ui");
3441
+ var import_i18n52 = require("@wordpress/i18n");
3382
3442
 
3383
3443
  // src/components/popover-content.tsx
3384
- var React73 = __toESM(require("react"));
3385
- var import_ui61 = require("@elementor/ui");
3386
- var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React73.createElement(import_ui61.Stack, { alignItems, gap, p }, children);
3444
+ var React75 = __toESM(require("react"));
3445
+ var import_ui63 = require("@elementor/ui");
3446
+ var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React75.createElement(import_ui63.Stack, { alignItems, gap, p }, children);
3387
3447
 
3388
3448
  // src/hooks/use-persist-dynamic-value.ts
3389
3449
  var import_session6 = require("@elementor/session");
@@ -3394,15 +3454,15 @@ var usePersistDynamicValue = (propKey) => {
3394
3454
  };
3395
3455
 
3396
3456
  // src/dynamics/dynamic-control.tsx
3397
- var React74 = __toESM(require("react"));
3398
- var import_editor_controls49 = require("@elementor/editor-controls");
3457
+ var React76 = __toESM(require("react"));
3458
+ var import_editor_controls51 = require("@elementor/editor-controls");
3399
3459
 
3400
3460
  // src/dynamics/hooks/use-dynamic-tag.ts
3401
3461
  var import_react29 = require("react");
3402
3462
 
3403
3463
  // src/dynamics/hooks/use-prop-dynamic-tags.ts
3404
3464
  var import_react28 = require("react");
3405
- var import_editor_controls48 = require("@elementor/editor-controls");
3465
+ var import_editor_controls50 = require("@elementor/editor-controls");
3406
3466
 
3407
3467
  // src/dynamics/sync/get-elementor-config.ts
3408
3468
  var getElementorConfig2 = () => {
@@ -3423,7 +3483,7 @@ var getAtomicDynamicTags = () => {
3423
3483
  };
3424
3484
 
3425
3485
  // src/dynamics/utils.ts
3426
- var import_editor_props8 = require("@elementor/editor-props");
3486
+ var import_editor_props10 = require("@elementor/editor-props");
3427
3487
  var import_schema = require("@elementor/schema");
3428
3488
  var DYNAMIC_PROP_TYPE_KEY = "dynamic";
3429
3489
  var isDynamicPropType = (prop) => prop.key === DYNAMIC_PROP_TYPE_KEY;
@@ -3432,12 +3492,12 @@ var getDynamicPropType = (propType) => {
3432
3492
  return dynamicPropType && isDynamicPropType(dynamicPropType) ? dynamicPropType : null;
3433
3493
  };
3434
3494
  var isDynamicPropValue = (prop) => {
3435
- return (0, import_editor_props8.isTransformable)(prop) && prop.$$type === DYNAMIC_PROP_TYPE_KEY;
3495
+ return (0, import_editor_props10.isTransformable)(prop) && prop.$$type === DYNAMIC_PROP_TYPE_KEY;
3436
3496
  };
3437
3497
  var supportsDynamic = (propType) => {
3438
3498
  return !!getDynamicPropType(propType);
3439
3499
  };
3440
- var dynamicPropTypeUtil = (0, import_editor_props8.createPropUtils)(
3500
+ var dynamicPropTypeUtil = (0, import_editor_props10.createPropUtils)(
3441
3501
  DYNAMIC_PROP_TYPE_KEY,
3442
3502
  import_schema.z.strictObject({
3443
3503
  name: import_schema.z.string(),
@@ -3448,7 +3508,7 @@ var dynamicPropTypeUtil = (0, import_editor_props8.createPropUtils)(
3448
3508
  // src/dynamics/hooks/use-prop-dynamic-tags.ts
3449
3509
  var usePropDynamicTags = () => {
3450
3510
  let categories = [];
3451
- const { propType } = (0, import_editor_controls48.useBoundProp)();
3511
+ const { propType } = (0, import_editor_controls50.useBoundProp)();
3452
3512
  if (propType) {
3453
3513
  const propDynamicType = getDynamicPropType(propType);
3454
3514
  categories = propDynamicType?.settings.categories || [];
@@ -3474,7 +3534,7 @@ var useDynamicTag = (tagName) => {
3474
3534
 
3475
3535
  // src/dynamics/dynamic-control.tsx
3476
3536
  var DynamicControl = ({ bind, children }) => {
3477
- const { value, setValue } = (0, import_editor_controls49.useBoundProp)(dynamicPropTypeUtil);
3537
+ const { value, setValue } = (0, import_editor_controls51.useBoundProp)(dynamicPropTypeUtil);
3478
3538
  const { name = "", settings } = value ?? {};
3479
3539
  const dynamicTag = useDynamicTag(name);
3480
3540
  if (!dynamicTag) {
@@ -3493,22 +3553,22 @@ var DynamicControl = ({ bind, children }) => {
3493
3553
  });
3494
3554
  };
3495
3555
  const propType = createTopLevelOjectType({ schema: dynamicTag.props_schema });
3496
- return /* @__PURE__ */ React74.createElement(import_editor_controls49.PropProvider, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React74.createElement(import_editor_controls49.PropKeyProvider, { bind }, children));
3556
+ return /* @__PURE__ */ React76.createElement(import_editor_controls51.PropProvider, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React76.createElement(import_editor_controls51.PropKeyProvider, { bind }, children));
3497
3557
  };
3498
3558
 
3499
3559
  // src/dynamics/components/dynamic-selection.tsx
3500
- var React75 = __toESM(require("react"));
3560
+ var React77 = __toESM(require("react"));
3501
3561
  var import_react30 = require("react");
3502
- var import_editor_controls50 = require("@elementor/editor-controls");
3562
+ var import_editor_controls52 = require("@elementor/editor-controls");
3503
3563
  var import_icons24 = require("@elementor/icons");
3504
- var import_ui62 = require("@elementor/ui");
3505
- var import_i18n49 = require("@wordpress/i18n");
3564
+ var import_ui64 = require("@elementor/ui");
3565
+ var import_i18n51 = require("@wordpress/i18n");
3506
3566
  var SIZE3 = "tiny";
3507
3567
  var DynamicSelection = ({ onSelect }) => {
3508
3568
  const [searchValue, setSearchValue] = (0, import_react30.useState)("");
3509
3569
  const { groups: dynamicGroups } = getAtomicDynamicTags() || {};
3510
- const { value: anyValue } = (0, import_editor_controls50.useBoundProp)();
3511
- const { bind, value: dynamicValue, setValue } = (0, import_editor_controls50.useBoundProp)(dynamicPropTypeUtil);
3570
+ const { value: anyValue } = (0, import_editor_controls52.useBoundProp)();
3571
+ const { bind, value: dynamicValue, setValue } = (0, import_editor_controls52.useBoundProp)(dynamicPropTypeUtil);
3512
3572
  const [, updatePropValueHistory] = usePersistDynamicValue(bind);
3513
3573
  const isCurrentValueDynamic = !!dynamicValue;
3514
3574
  const options12 = useFilteredOptions(searchValue);
@@ -3523,28 +3583,28 @@ var DynamicSelection = ({ onSelect }) => {
3523
3583
  setValue({ name: value, settings: { label } });
3524
3584
  onSelect?.();
3525
3585
  };
3526
- return /* @__PURE__ */ React75.createElement(import_ui62.Stack, null, hasNoDynamicTags ? /* @__PURE__ */ React75.createElement(NoDynamicTags, null) : /* @__PURE__ */ React75.createElement(import_react30.Fragment, null, /* @__PURE__ */ React75.createElement(import_ui62.Box, { px: 1.5, pb: 1 }, /* @__PURE__ */ React75.createElement(
3527
- import_ui62.TextField,
3586
+ return /* @__PURE__ */ React77.createElement(import_ui64.Stack, null, hasNoDynamicTags ? /* @__PURE__ */ React77.createElement(NoDynamicTags, null) : /* @__PURE__ */ React77.createElement(import_react30.Fragment, null, /* @__PURE__ */ React77.createElement(import_ui64.Box, { px: 1.5, pb: 1 }, /* @__PURE__ */ React77.createElement(
3587
+ import_ui64.TextField,
3528
3588
  {
3529
3589
  fullWidth: true,
3530
3590
  size: SIZE3,
3531
3591
  value: searchValue,
3532
3592
  onChange: handleSearch,
3533
- placeholder: (0, import_i18n49.__)("Search dynamic tags\u2026", "elementor"),
3593
+ placeholder: (0, import_i18n51.__)("Search dynamic tags\u2026", "elementor"),
3534
3594
  InputProps: {
3535
- startAdornment: /* @__PURE__ */ React75.createElement(import_ui62.InputAdornment, { position: "start" }, /* @__PURE__ */ React75.createElement(import_icons24.SearchIcon, { fontSize: SIZE3 }))
3595
+ startAdornment: /* @__PURE__ */ React77.createElement(import_ui64.InputAdornment, { position: "start" }, /* @__PURE__ */ React77.createElement(import_icons24.SearchIcon, { fontSize: SIZE3 }))
3536
3596
  }
3537
3597
  }
3538
- )), /* @__PURE__ */ React75.createElement(import_ui62.Divider, null), /* @__PURE__ */ React75.createElement(import_ui62.Box, { sx: { overflowY: "auto", height: 260, width: 220 } }, options12.length > 0 ? /* @__PURE__ */ React75.createElement(import_ui62.MenuList, { role: "listbox", tabIndex: 0 }, options12.map(([category, items3], index) => /* @__PURE__ */ React75.createElement(import_react30.Fragment, { key: index }, /* @__PURE__ */ React75.createElement(
3539
- import_ui62.MenuSubheader,
3598
+ )), /* @__PURE__ */ React77.createElement(import_ui64.Divider, null), /* @__PURE__ */ React77.createElement(import_ui64.Box, { sx: { overflowY: "auto", height: 260, width: 220 } }, options12.length > 0 ? /* @__PURE__ */ React77.createElement(import_ui64.MenuList, { role: "listbox", tabIndex: 0 }, options12.map(([category, items3], index) => /* @__PURE__ */ React77.createElement(import_react30.Fragment, { key: index }, /* @__PURE__ */ React77.createElement(
3599
+ import_ui64.MenuSubheader,
3540
3600
  {
3541
3601
  sx: { px: 1.5, typography: "caption", color: "text.tertiary" }
3542
3602
  },
3543
3603
  dynamicGroups?.[category]?.title || category
3544
3604
  ), items3.map(({ value, label: tagLabel }) => {
3545
3605
  const isSelected = isCurrentValueDynamic && value === dynamicValue?.name;
3546
- return /* @__PURE__ */ React75.createElement(
3547
- import_ui62.MenuItem,
3606
+ return /* @__PURE__ */ React77.createElement(
3607
+ import_ui64.MenuItem,
3548
3608
  {
3549
3609
  key: value,
3550
3610
  selected: isSelected,
@@ -3554,10 +3614,10 @@ var DynamicSelection = ({ onSelect }) => {
3554
3614
  },
3555
3615
  tagLabel
3556
3616
  );
3557
- })))) : /* @__PURE__ */ React75.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") }))));
3617
+ })))) : /* @__PURE__ */ React77.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") }))));
3558
3618
  };
3559
- var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React75.createElement(
3560
- import_ui62.Stack,
3619
+ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React77.createElement(
3620
+ import_ui64.Stack,
3561
3621
  {
3562
3622
  gap: 1,
3563
3623
  alignItems: "center",
@@ -3567,12 +3627,12 @@ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React75.createElem
3567
3627
  color: "text.secondary",
3568
3628
  sx: { pb: 3.5 }
3569
3629
  },
3570
- /* @__PURE__ */ React75.createElement(import_icons24.DatabaseIcon, { fontSize: "large" }),
3571
- /* @__PURE__ */ React75.createElement(import_ui62.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n49.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React75.createElement("br", null), "\u201C", searchValue, "\u201D."),
3572
- /* @__PURE__ */ React75.createElement(import_ui62.Typography, { align: "center", variant: "caption" }, (0, import_i18n49.__)("Try something else.", "elementor"), "\xA0", /* @__PURE__ */ React75.createElement(import_ui62.Link, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, (0, import_i18n49.__)("Clear & try again", "elementor")))
3630
+ /* @__PURE__ */ React77.createElement(import_icons24.DatabaseIcon, { fontSize: "large" }),
3631
+ /* @__PURE__ */ React77.createElement(import_ui64.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n51.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React77.createElement("br", null), "\u201C", searchValue, "\u201D."),
3632
+ /* @__PURE__ */ React77.createElement(import_ui64.Typography, { align: "center", variant: "caption" }, (0, import_i18n51.__)("Try something else.", "elementor"), "\xA0", /* @__PURE__ */ React77.createElement(import_ui64.Link, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, (0, import_i18n51.__)("Clear & try again", "elementor")))
3573
3633
  );
3574
- var NoDynamicTags = () => /* @__PURE__ */ React75.createElement(import_ui62.Box, { sx: { overflowY: "hidden", height: 297, width: 220 } }, /* @__PURE__ */ React75.createElement(import_ui62.Divider, null), /* @__PURE__ */ React75.createElement(
3575
- import_ui62.Stack,
3634
+ var NoDynamicTags = () => /* @__PURE__ */ React77.createElement(import_ui64.Box, { sx: { overflowY: "hidden", height: 297, width: 220 } }, /* @__PURE__ */ React77.createElement(import_ui64.Divider, null), /* @__PURE__ */ React77.createElement(
3635
+ import_ui64.Stack,
3576
3636
  {
3577
3637
  gap: 1,
3578
3638
  alignItems: "center",
@@ -3582,9 +3642,9 @@ var NoDynamicTags = () => /* @__PURE__ */ React75.createElement(import_ui62.Box,
3582
3642
  color: "text.secondary",
3583
3643
  sx: { pb: 3.5 }
3584
3644
  },
3585
- /* @__PURE__ */ React75.createElement(import_icons24.DatabaseIcon, { fontSize: "large" }),
3586
- /* @__PURE__ */ React75.createElement(import_ui62.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n49.__)("Streamline your workflow with dynamic tags", "elementor")),
3587
- /* @__PURE__ */ React75.createElement(import_ui62.Typography, { align: "center", variant: "caption" }, (0, import_i18n49.__)("You\u2019ll need Elementor Pro to use this feature.", "elementor"))
3645
+ /* @__PURE__ */ React77.createElement(import_icons24.DatabaseIcon, { fontSize: "large" }),
3646
+ /* @__PURE__ */ React77.createElement(import_ui64.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n51.__)("Streamline your workflow with dynamic tags", "elementor")),
3647
+ /* @__PURE__ */ React77.createElement(import_ui64.Typography, { align: "center", variant: "caption" }, (0, import_i18n51.__)("You\u2019ll need Elementor Pro to use this feature.", "elementor"))
3588
3648
  ));
3589
3649
  var useFilteredOptions = (searchValue) => {
3590
3650
  const dynamicTags = usePropDynamicTags();
@@ -3605,10 +3665,10 @@ var useFilteredOptions = (searchValue) => {
3605
3665
  // src/dynamics/components/dynamic-selection-control.tsx
3606
3666
  var SIZE4 = "tiny";
3607
3667
  var DynamicSelectionControl = () => {
3608
- const { setValue: setAnyValue } = (0, import_editor_controls51.useBoundProp)();
3609
- const { bind, value } = (0, import_editor_controls51.useBoundProp)(dynamicPropTypeUtil);
3668
+ const { setValue: setAnyValue } = (0, import_editor_controls53.useBoundProp)();
3669
+ const { bind, value } = (0, import_editor_controls53.useBoundProp)(dynamicPropTypeUtil);
3610
3670
  const [propValueFromHistory] = usePersistDynamicValue(bind);
3611
- const selectionPopoverState = (0, import_ui63.usePopupState)({ variant: "popover" });
3671
+ const selectionPopoverState = (0, import_ui65.usePopupState)({ variant: "popover" });
3612
3672
  const { name: tagName = "" } = value;
3613
3673
  const dynamicTag = useDynamicTag(tagName);
3614
3674
  const removeDynamicTag = () => {
@@ -3617,62 +3677,62 @@ var DynamicSelectionControl = () => {
3617
3677
  if (!dynamicTag) {
3618
3678
  throw new Error(`Dynamic tag ${tagName} not found`);
3619
3679
  }
3620
- return /* @__PURE__ */ React76.createElement(import_ui63.Box, null, /* @__PURE__ */ React76.createElement(
3621
- import_ui63.UnstableTag,
3680
+ return /* @__PURE__ */ React78.createElement(import_ui65.Box, null, /* @__PURE__ */ React78.createElement(
3681
+ import_ui65.UnstableTag,
3622
3682
  {
3623
3683
  fullWidth: true,
3624
3684
  showActionsOnHover: true,
3625
3685
  label: dynamicTag.label,
3626
- startIcon: /* @__PURE__ */ React76.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4 }),
3627
- ...(0, import_ui63.bindTrigger)(selectionPopoverState),
3628
- actions: /* @__PURE__ */ React76.createElement(React76.Fragment, null, /* @__PURE__ */ React76.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React76.createElement(
3629
- import_ui63.IconButton,
3686
+ startIcon: /* @__PURE__ */ React78.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4 }),
3687
+ ...(0, import_ui65.bindTrigger)(selectionPopoverState),
3688
+ actions: /* @__PURE__ */ React78.createElement(React78.Fragment, null, /* @__PURE__ */ React78.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React78.createElement(
3689
+ import_ui65.IconButton,
3630
3690
  {
3631
3691
  size: SIZE4,
3632
3692
  onClick: removeDynamicTag,
3633
- "aria-label": (0, import_i18n50.__)("Remove dynamic value", "elementor")
3693
+ "aria-label": (0, import_i18n52.__)("Remove dynamic value", "elementor")
3634
3694
  },
3635
- /* @__PURE__ */ React76.createElement(import_icons25.XIcon, { fontSize: SIZE4 })
3695
+ /* @__PURE__ */ React78.createElement(import_icons25.XIcon, { fontSize: SIZE4 })
3636
3696
  ))
3637
3697
  }
3638
- ), /* @__PURE__ */ React76.createElement(
3639
- import_ui63.Popover,
3698
+ ), /* @__PURE__ */ React78.createElement(
3699
+ import_ui65.Popover,
3640
3700
  {
3641
3701
  disablePortal: true,
3642
3702
  disableScrollLock: true,
3643
3703
  anchorOrigin: { vertical: "bottom", horizontal: "left" },
3644
- ...(0, import_ui63.bindPopover)(selectionPopoverState)
3704
+ ...(0, import_ui65.bindPopover)(selectionPopoverState)
3645
3705
  },
3646
- /* @__PURE__ */ React76.createElement(import_ui63.Stack, null, /* @__PURE__ */ React76.createElement(import_ui63.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React76.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React76.createElement(import_ui63.Typography, { variant: "subtitle2" }, (0, import_i18n50.__)("Dynamic tags", "elementor")), /* @__PURE__ */ React76.createElement(import_ui63.IconButton, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React76.createElement(import_icons25.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React76.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
3706
+ /* @__PURE__ */ React78.createElement(import_ui65.Stack, null, /* @__PURE__ */ React78.createElement(import_ui65.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React78.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React78.createElement(import_ui65.Typography, { variant: "subtitle2" }, (0, import_i18n52.__)("Dynamic tags", "elementor")), /* @__PURE__ */ React78.createElement(import_ui65.IconButton, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React78.createElement(import_icons25.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React78.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
3647
3707
  ));
3648
3708
  };
3649
3709
  var DynamicSettingsPopover = ({ dynamicTag }) => {
3650
- const popupState = (0, import_ui63.usePopupState)({ variant: "popover" });
3710
+ const popupState = (0, import_ui65.usePopupState)({ variant: "popover" });
3651
3711
  const hasDynamicSettings = !!dynamicTag.atomic_controls.length;
3652
3712
  if (!hasDynamicSettings) {
3653
3713
  return null;
3654
3714
  }
3655
- return /* @__PURE__ */ React76.createElement(React76.Fragment, null, /* @__PURE__ */ React76.createElement(import_ui63.IconButton, { size: SIZE4, ...(0, import_ui63.bindTrigger)(popupState), "aria-label": (0, import_i18n50.__)("Settings", "elementor") }, /* @__PURE__ */ React76.createElement(import_icons25.SettingsIcon, { fontSize: SIZE4 })), /* @__PURE__ */ React76.createElement(
3656
- import_ui63.Popover,
3715
+ return /* @__PURE__ */ React78.createElement(React78.Fragment, null, /* @__PURE__ */ React78.createElement(import_ui65.IconButton, { size: SIZE4, ...(0, import_ui65.bindTrigger)(popupState), "aria-label": (0, import_i18n52.__)("Settings", "elementor") }, /* @__PURE__ */ React78.createElement(import_icons25.SettingsIcon, { fontSize: SIZE4 })), /* @__PURE__ */ React78.createElement(
3716
+ import_ui65.Popover,
3657
3717
  {
3658
3718
  disablePortal: true,
3659
3719
  disableScrollLock: true,
3660
3720
  anchorOrigin: { vertical: "bottom", horizontal: "center" },
3661
- ...(0, import_ui63.bindPopover)(popupState)
3721
+ ...(0, import_ui65.bindPopover)(popupState)
3662
3722
  },
3663
- /* @__PURE__ */ React76.createElement(import_ui63.Paper, { component: import_ui63.Stack, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React76.createElement(import_ui63.Stack, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React76.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React76.createElement(import_ui63.Typography, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React76.createElement(import_ui63.IconButton, { sx: { ml: "auto" }, size: SIZE4, onClick: popupState.close }, /* @__PURE__ */ React76.createElement(import_icons25.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React76.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
3723
+ /* @__PURE__ */ React78.createElement(import_ui65.Paper, { component: import_ui65.Stack, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React78.createElement(import_ui65.Stack, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React78.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React78.createElement(import_ui65.Typography, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React78.createElement(import_ui65.IconButton, { sx: { ml: "auto" }, size: SIZE4, onClick: popupState.close }, /* @__PURE__ */ React78.createElement(import_icons25.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React78.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
3664
3724
  ));
3665
3725
  };
3666
3726
  var DynamicSettings = ({ controls }) => {
3667
3727
  const tabs = controls.filter(({ type }) => type === "section");
3668
- const { getTabsProps, getTabProps, getTabPanelProps } = (0, import_ui63.useTabs)(0);
3728
+ const { getTabsProps, getTabProps, getTabPanelProps } = (0, import_ui65.useTabs)(0);
3669
3729
  if (!tabs.length) {
3670
3730
  return null;
3671
3731
  }
3672
- return /* @__PURE__ */ React76.createElement(React76.Fragment, null, /* @__PURE__ */ React76.createElement(import_ui63.Tabs, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React76.createElement(import_ui63.Tab, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React76.createElement(import_ui63.Divider, null), tabs.map(({ value }, index) => {
3673
- return /* @__PURE__ */ React76.createElement(import_ui63.TabPanel, { key: index, sx: { flexGrow: 1, py: 0 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React76.createElement(PopoverContent, { p: 2, gap: 2 }, value.items.map((item) => {
3732
+ return /* @__PURE__ */ React78.createElement(React78.Fragment, null, /* @__PURE__ */ React78.createElement(import_ui65.Tabs, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React78.createElement(import_ui65.Tab, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React78.createElement(import_ui65.Divider, null), tabs.map(({ value }, index) => {
3733
+ return /* @__PURE__ */ React78.createElement(import_ui65.TabPanel, { key: index, sx: { flexGrow: 1, py: 0 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React78.createElement(PopoverContent, { p: 2, gap: 2 }, value.items.map((item) => {
3674
3734
  if (item.type === "control") {
3675
- return /* @__PURE__ */ React76.createElement(Control3, { key: item.value.bind, control: item.value });
3735
+ return /* @__PURE__ */ React78.createElement(Control3, { key: item.value.bind, control: item.value });
3676
3736
  }
3677
3737
  return null;
3678
3738
  })));
@@ -3682,12 +3742,12 @@ var Control3 = ({ control }) => {
3682
3742
  if (!getControl(control.type)) {
3683
3743
  return null;
3684
3744
  }
3685
- return /* @__PURE__ */ React76.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React76.createElement(import_ui63.Grid, { container: true, gap: 0.75 }, control.label ? /* @__PURE__ */ React76.createElement(import_ui63.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React76.createElement(import_editor_controls51.ControlFormLabel, null, control.label)) : null, /* @__PURE__ */ React76.createElement(import_ui63.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React76.createElement(Control, { type: control.type, props: control.props }))));
3745
+ return /* @__PURE__ */ React78.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React78.createElement(import_ui65.Grid, { container: true, gap: 0.75 }, control.label ? /* @__PURE__ */ React78.createElement(import_ui65.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React78.createElement(import_editor_controls53.ControlFormLabel, null, control.label)) : null, /* @__PURE__ */ React78.createElement(import_ui65.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React78.createElement(Control, { type: control.type, props: control.props }))));
3686
3746
  };
3687
3747
 
3688
3748
  // src/dynamics/dynamic-transformer.ts
3689
3749
  var import_editor_canvas2 = require("@elementor/editor-canvas");
3690
- var import_editor_props9 = require("@elementor/editor-props");
3750
+ var import_editor_props11 = require("@elementor/editor-props");
3691
3751
 
3692
3752
  // src/dynamics/errors.ts
3693
3753
  var import_utils8 = require("@elementor/utils");
@@ -3705,7 +3765,7 @@ var dynamicTransformer = (0, import_editor_canvas2.createTransformer)((value) =>
3705
3765
  });
3706
3766
  function simpleTransform(props) {
3707
3767
  const transformed = Object.entries(props).map(([settingKey, settingValue]) => {
3708
- const value = (0, import_editor_props9.isTransformable)(settingValue) ? settingValue.value : settingValue;
3768
+ const value = (0, import_editor_props11.isTransformable)(settingValue) ? settingValue.value : settingValue;
3709
3769
  return [settingKey, value];
3710
3770
  });
3711
3771
  return Object.fromEntries(transformed);
@@ -3735,18 +3795,18 @@ function getDynamicValue(name, settings) {
3735
3795
  }
3736
3796
 
3737
3797
  // src/dynamics/hooks/use-prop-dynamic-action.tsx
3738
- var React77 = __toESM(require("react"));
3739
- var import_editor_controls52 = require("@elementor/editor-controls");
3798
+ var React79 = __toESM(require("react"));
3799
+ var import_editor_controls54 = require("@elementor/editor-controls");
3740
3800
  var import_icons26 = require("@elementor/icons");
3741
- var import_i18n51 = require("@wordpress/i18n");
3801
+ var import_i18n53 = require("@wordpress/i18n");
3742
3802
  var usePropDynamicAction = () => {
3743
- const { propType } = (0, import_editor_controls52.useBoundProp)();
3803
+ const { propType } = (0, import_editor_controls54.useBoundProp)();
3744
3804
  const visible = !!propType && supportsDynamic(propType);
3745
3805
  return {
3746
3806
  visible,
3747
3807
  icon: import_icons26.DatabaseIcon,
3748
- title: (0, import_i18n51.__)("Dynamic tags", "elementor"),
3749
- popoverContent: ({ closePopover }) => /* @__PURE__ */ React77.createElement(DynamicSelection, { onSelect: closePopover })
3808
+ title: (0, import_i18n53.__)("Dynamic tags", "elementor"),
3809
+ popoverContent: ({ closePopover }) => /* @__PURE__ */ React79.createElement(DynamicSelection, { onSelect: closePopover })
3750
3810
  };
3751
3811
  };
3752
3812
 
@@ -3780,7 +3840,7 @@ function init2() {
3780
3840
  init();
3781
3841
  }
3782
3842
  var blockV1Panel = () => {
3783
- (0, import_editor_v1_adapters9.blockCommand)({
3843
+ (0, import_editor_v1_adapters10.blockCommand)({
3784
3844
  command: "panel/editor/open",
3785
3845
  condition: isAtomicWidgetSelected
3786
3846
  });