@elementor/editor-editing-panel 1.46.0 → 1.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/index.d.mts +12 -1
  3. package/dist/index.d.ts +12 -1
  4. package/dist/index.js +875 -753
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.mjs +787 -667
  7. package/dist/index.mjs.map +1 -1
  8. package/package.json +15 -15
  9. package/src/components/popover-scrollable-content.tsx +12 -0
  10. package/src/components/section-content.tsx +6 -16
  11. package/src/components/section.tsx +8 -4
  12. package/src/components/settings-tab.tsx +5 -2
  13. package/src/components/style-sections/background-section/background-section.tsx +4 -1
  14. package/src/components/style-sections/border-section/border-color-field.tsx +10 -16
  15. package/src/components/style-sections/border-section/border-radius-field.tsx +4 -2
  16. package/src/components/style-sections/border-section/border-style-field.tsx +11 -16
  17. package/src/components/style-sections/border-section/border-width-field.tsx +4 -2
  18. package/src/components/style-sections/effects-section/effects-section.tsx +19 -5
  19. package/src/components/style-sections/layout-section/align-content-field.tsx +11 -12
  20. package/src/components/style-sections/layout-section/align-items-field.tsx +8 -11
  21. package/src/components/style-sections/layout-section/align-self-child-field.tsx +11 -16
  22. package/src/components/style-sections/layout-section/display-field.tsx +6 -6
  23. package/src/components/style-sections/layout-section/flex-direction-field.tsx +11 -14
  24. package/src/components/style-sections/layout-section/flex-order-field.tsx +31 -34
  25. package/src/components/style-sections/layout-section/flex-size-field.tsx +28 -48
  26. package/src/components/style-sections/layout-section/gap-control-field.tsx +5 -6
  27. package/src/components/style-sections/layout-section/justify-content-field.tsx +11 -12
  28. package/src/components/style-sections/layout-section/opacity-control-field.tsx +9 -13
  29. package/src/components/style-sections/layout-section/wrap-field.tsx +10 -14
  30. package/src/components/style-sections/position-section/dimensions-field.tsx +4 -4
  31. package/src/components/style-sections/position-section/offset-field.tsx +12 -14
  32. package/src/components/style-sections/position-section/position-field.tsx +7 -11
  33. package/src/components/style-sections/position-section/z-index-field.tsx +7 -11
  34. package/src/components/style-sections/size-section/object-fit-field.tsx +7 -11
  35. package/src/components/style-sections/size-section/object-position-field.tsx +4 -1
  36. package/src/components/style-sections/size-section/overflow-field.tsx +7 -11
  37. package/src/components/style-sections/size-section/size-section.tsx +9 -7
  38. package/src/components/style-sections/spacing-section/spacing-section.tsx +7 -4
  39. package/src/components/style-sections/typography-section/column-count-field.tsx +7 -11
  40. package/src/components/style-sections/typography-section/column-gap-field.tsx +9 -13
  41. package/src/components/style-sections/typography-section/font-family-field.tsx +9 -11
  42. package/src/components/style-sections/typography-section/font-size-field.tsx +9 -13
  43. package/src/components/style-sections/typography-section/font-style-field.tsx +13 -13
  44. package/src/components/style-sections/typography-section/font-weight-field.tsx +7 -11
  45. package/src/components/style-sections/typography-section/letter-spacing-field.tsx +9 -13
  46. package/src/components/style-sections/typography-section/line-height-field.tsx +9 -13
  47. package/src/components/style-sections/typography-section/text-alignment-field.tsx +11 -14
  48. package/src/components/style-sections/typography-section/text-color-field.tsx +7 -11
  49. package/src/components/style-sections/typography-section/text-decoration-field.tsx +7 -11
  50. package/src/components/style-sections/typography-section/text-direction-field.tsx +7 -11
  51. package/src/components/style-sections/typography-section/text-stroke-field.tsx +4 -2
  52. package/src/components/style-sections/typography-section/transform-field.tsx +7 -11
  53. package/src/components/style-sections/typography-section/word-spacing-field.tsx +9 -13
  54. package/src/components/styles-field-layout.tsx +50 -0
  55. package/src/contexts/section-context.tsx +14 -0
  56. package/src/controls-registry/control-type-container.tsx +6 -2
  57. package/src/controls-registry/controls-registry.tsx +1 -1
  58. package/src/controls-registry/settings-field.tsx +65 -6
  59. package/src/controls-registry/styles-field.tsx +10 -2
  60. package/src/dynamics/components/dynamic-selection-control.tsx +10 -4
  61. package/src/dynamics/components/dynamic-selection.tsx +18 -14
  62. package/src/hooks/use-default-panel-settings.ts +4 -0
  63. package/src/index.ts +4 -0
  64. package/src/popover-action.tsx +8 -1
  65. package/src/styles-inheritance/components/styles-inheritance-indicator.tsx +4 -1
  66. package/src/styles-inheritance/components/styles-inheritance-infotip.tsx +9 -19
  67. package/src/sync/experiments-flags.ts +1 -0
  68. package/src/components/popover-content.tsx +0 -15
package/dist/index.mjs CHANGED
@@ -1,3 +1,9 @@
1
+ // src/sync/experiments-flags.ts
2
+ var EXPERIMENTAL_FEATURES = {
3
+ V_3_30: "e_v_3_30",
4
+ V_3_31: "e_v_3_31"
5
+ };
6
+
1
7
  // src/index.ts
2
8
  import { useBoundProp as useBoundProp9 } from "@elementor/editor-controls";
3
9
 
@@ -539,13 +545,6 @@ import { classesPropTypeUtil } from "@elementor/editor-props";
539
545
  import { useGetStylesRepositoryCreateAction } from "@elementor/editor-styles-repository";
540
546
  import { isExperimentActive, undoable } from "@elementor/editor-v1-adapters";
541
547
  import { __ } from "@wordpress/i18n";
542
-
543
- // src/sync/experiments-flags.ts
544
- var EXPERIMENTAL_FEATURES = {
545
- V_3_30: "e_v_3_30"
546
- };
547
-
548
- // src/components/css-classes/use-apply-and-unapply-class.ts
549
548
  function useApplyClass() {
550
549
  const { id: activeId, setId: setActiveId } = useStyle();
551
550
  const { element } = useElement();
@@ -1168,7 +1167,7 @@ function useHandleSelect() {
1168
1167
  import { __createPanel as createPanel } from "@elementor/editor-panels";
1169
1168
 
1170
1169
  // src/components/editing-panel.tsx
1171
- import * as React85 from "react";
1170
+ import * as React86 from "react";
1172
1171
  import { ControlActionsProvider, ControlReplacementsProvider } from "@elementor/editor-controls";
1173
1172
  import { useSelectedElement } from "@elementor/editor-elements";
1174
1173
  import { Panel, PanelBody, PanelHeader, PanelHeaderTitle } from "@elementor/editor-panels";
@@ -1176,7 +1175,7 @@ import { ThemeProvider as ThemeProvider2 } from "@elementor/editor-ui";
1176
1175
  import { AtomIcon } from "@elementor/icons";
1177
1176
  import { SessionStorageProvider as SessionStorageProvider3 } from "@elementor/session";
1178
1177
  import { ErrorBoundary } from "@elementor/ui";
1179
- import { __ as __55 } from "@wordpress/i18n";
1178
+ import { __ as __59 } from "@wordpress/i18n";
1180
1179
 
1181
1180
  // src/controls-actions.ts
1182
1181
  import { createMenu } from "@elementor/menus";
@@ -1201,7 +1200,7 @@ function PopoverAction({
1201
1200
  title,
1202
1201
  visible = true,
1203
1202
  icon: Icon,
1204
- content: PopoverContent2
1203
+ content: PopoverContent
1205
1204
  }) {
1206
1205
  const id = useId2();
1207
1206
  const popupState = usePopupState2({
@@ -1218,11 +1217,18 @@ function PopoverAction({
1218
1217
  disableScrollLock: true,
1219
1218
  anchorOrigin: {
1220
1219
  vertical: "bottom",
1221
- horizontal: "center"
1220
+ horizontal: "right"
1221
+ },
1222
+ transformOrigin: {
1223
+ vertical: "top",
1224
+ horizontal: "right"
1225
+ },
1226
+ PaperProps: {
1227
+ sx: { my: 2.5 }
1222
1228
  },
1223
1229
  ...bindPopover(popupState)
1224
1230
  },
1225
- /* @__PURE__ */ React10.createElement(PopoverContent2, { close: popupState.close })
1231
+ /* @__PURE__ */ React10.createElement(PopoverContent, { close: popupState.close })
1226
1232
  ));
1227
1233
  }
1228
1234
 
@@ -1242,11 +1248,11 @@ function EditorPanelErrorFallback() {
1242
1248
  }
1243
1249
 
1244
1250
  // src/components/editing-panel-tabs.tsx
1245
- import * as React84 from "react";
1246
- import { Fragment as Fragment9 } from "react";
1247
- import { isExperimentActive as isExperimentActive13 } from "@elementor/editor-v1-adapters";
1248
- import { Divider as Divider6, Stack as Stack18, Tab, TabPanel, Tabs, useTabs } from "@elementor/ui";
1249
- import { __ as __54 } from "@wordpress/i18n";
1251
+ import * as React85 from "react";
1252
+ import { Fragment as Fragment10 } from "react";
1253
+ import { isExperimentActive as isExperimentActive16 } from "@elementor/editor-v1-adapters";
1254
+ import { Divider as Divider6, Stack as Stack15, Tab, TabPanel, Tabs, useTabs } from "@elementor/ui";
1255
+ import { __ as __58 } from "@wordpress/i18n";
1250
1256
 
1251
1257
  // src/contexts/scroll-context.tsx
1252
1258
  import * as React12 from "react";
@@ -1304,6 +1310,10 @@ var defaultPanelSettingsContext = createContext6({
1304
1310
  "e-flexbox": {
1305
1311
  defaultSectionsExpanded: fallbackEditorSettings.defaultSectionsExpanded,
1306
1312
  defaultTab: "style"
1313
+ },
1314
+ "e-divider": {
1315
+ defaultSectionsExpanded: fallbackEditorSettings.defaultSectionsExpanded,
1316
+ defaultTab: "style"
1307
1317
  }
1308
1318
  });
1309
1319
  var useDefaultPanelSettings = () => {
@@ -1332,7 +1342,7 @@ var useStateByElement = (key, initialValue) => {
1332
1342
  // src/components/settings-tab.tsx
1333
1343
  import * as React19 from "react";
1334
1344
  import { ControlFormLabel } from "@elementor/editor-controls";
1335
- import { isExperimentActive as isExperimentActive4 } from "@elementor/editor-v1-adapters";
1345
+ import { isExperimentActive as isExperimentActive5 } from "@elementor/editor-v1-adapters";
1336
1346
  import { SessionStorageProvider } from "@elementor/session";
1337
1347
  import { Divider as Divider3 } from "@elementor/ui";
1338
1348
 
@@ -1369,7 +1379,7 @@ var controlTypes = {
1369
1379
  textarea: { component: TextAreaControl, layout: "full", propTypeUtil: stringPropTypeUtil },
1370
1380
  size: { component: SizeControl, layout: "two-columns", propTypeUtil: sizePropTypeUtil },
1371
1381
  select: { component: SelectControl, layout: "two-columns", propTypeUtil: stringPropTypeUtil },
1372
- link: { component: LinkControl, layout: "full", propTypeUtil: linkPropTypeUtil },
1382
+ link: { component: LinkControl, layout: "custom", propTypeUtil: linkPropTypeUtil },
1373
1383
  url: { component: UrlControl, layout: "full", propTypeUtil: stringPropTypeUtil },
1374
1384
  switch: { component: SwitchControl, layout: "two-columns", propTypeUtil: booleanPropTypeUtil },
1375
1385
  repeatable: { component: RepeatableControl, layout: "full", propTypeUtil: void 0 },
@@ -1395,6 +1405,9 @@ var Control = ({ props, type }) => {
1395
1405
  import * as React14 from "react";
1396
1406
  import { Box as Box4, styled as styled4 } from "@elementor/ui";
1397
1407
  var ControlTypeContainer = ({ children, layout }) => {
1408
+ if (layout === "custom") {
1409
+ return children;
1410
+ }
1398
1411
  return /* @__PURE__ */ React14.createElement(StyledContainer, { layout }, children);
1399
1412
  };
1400
1413
  var StyledContainer = styled4(Box4, {
@@ -1414,8 +1427,17 @@ var getGridLayout = (layout) => ({
1414
1427
 
1415
1428
  // src/controls-registry/settings-field.tsx
1416
1429
  import * as React15 from "react";
1430
+ import { useMemo as useMemo3 } from "react";
1417
1431
  import { PropKeyProvider, PropProvider } from "@elementor/editor-controls";
1418
- import { updateElementSettings as updateElementSettings2, useElementSetting as useElementSetting2 } from "@elementor/editor-elements";
1432
+ import { setDocumentModifiedStatus as setDocumentModifiedStatus2 } from "@elementor/editor-documents";
1433
+ import {
1434
+ getElementLabel as getElementLabel2,
1435
+ getElementSetting as getElementSetting2,
1436
+ updateElementSettings as updateElementSettings2,
1437
+ useElementSetting as useElementSetting2
1438
+ } from "@elementor/editor-elements";
1439
+ import { isExperimentActive as isExperimentActive3, undoable as undoable2 } from "@elementor/editor-v1-adapters";
1440
+ import { __ as __5 } from "@wordpress/i18n";
1419
1441
 
1420
1442
  // src/controls-registry/create-top-level-object-type.ts
1421
1443
  var createTopLevelOjectType = ({ schema }) => {
@@ -1431,26 +1453,69 @@ var createTopLevelOjectType = ({ schema }) => {
1431
1453
  };
1432
1454
 
1433
1455
  // src/controls-registry/settings-field.tsx
1434
- var SettingsField = ({ bind, children }) => {
1456
+ var SettingsField = ({ bind, children, propDisplayName }) => {
1435
1457
  const { element, elementType } = useElement();
1436
1458
  const settingsValue = useElementSetting2(element.id, bind);
1437
1459
  const value = { [bind]: settingsValue };
1438
1460
  const propType = createTopLevelOjectType({ schema: elementType.propsSchema });
1461
+ const undoableUpdateElementProp = useUndoableUpdateElementProp({
1462
+ propKey: bind,
1463
+ elementId: element.id,
1464
+ propDisplayName
1465
+ });
1439
1466
  const setValue = (newValue) => {
1440
- updateElementSettings2({
1441
- id: element.id,
1442
- props: { ...newValue }
1443
- });
1467
+ const isVersion331Active = isExperimentActive3(EXPERIMENTAL_FEATURES.V_3_31);
1468
+ if (isVersion331Active) {
1469
+ undoableUpdateElementProp({ newValue });
1470
+ } else {
1471
+ updateElementSettings2({ id: element.id, props: newValue });
1472
+ }
1444
1473
  };
1445
1474
  return /* @__PURE__ */ React15.createElement(PropProvider, { propType, value, setValue }, /* @__PURE__ */ React15.createElement(PropKeyProvider, { bind }, children));
1446
1475
  };
1476
+ function useUndoableUpdateElementProp({
1477
+ propKey,
1478
+ elementId,
1479
+ propDisplayName
1480
+ }) {
1481
+ return useMemo3(() => {
1482
+ return undoable2(
1483
+ {
1484
+ do: ({ newValue }) => {
1485
+ const prevPropValue = getElementSetting2(elementId, propKey);
1486
+ updateElementSettings2({ id: elementId, props: { ...newValue }, withHistory: false });
1487
+ setDocumentModifiedStatus2(true);
1488
+ return { [propKey]: prevPropValue };
1489
+ },
1490
+ undo: ({}, prevProps) => {
1491
+ updateElementSettings2({ id: elementId, props: prevProps, withHistory: false });
1492
+ }
1493
+ },
1494
+ {
1495
+ title: getElementLabel2(elementId),
1496
+ // translators: %s is the name of the property that was edited.
1497
+ subtitle: __5("%s edited", "elementor").replace("%s", propDisplayName)
1498
+ }
1499
+ );
1500
+ }, [propKey, elementId, propDisplayName]);
1501
+ }
1447
1502
 
1448
1503
  // src/components/section.tsx
1449
1504
  import * as React17 from "react";
1450
- import { useId as useId3 } from "react";
1451
- import { isExperimentActive as isExperimentActive3 } from "@elementor/editor-v1-adapters";
1505
+ import { useId as useId3, useRef as useRef3 } from "react";
1506
+ import { isExperimentActive as isExperimentActive4 } from "@elementor/editor-v1-adapters";
1452
1507
  import { Collapse as Collapse2, Divider as Divider2, ListItemButton, ListItemText, Stack as Stack5 } from "@elementor/ui";
1453
1508
 
1509
+ // src/contexts/section-context.tsx
1510
+ import { createContext as createContext7, useContext as useContext7 } from "react";
1511
+ var FALLBACK_SECTION_WIDTH = 320;
1512
+ var SectionRefContext = createContext7(null);
1513
+ var useSectionRef = () => useContext7(SectionRefContext);
1514
+ var useSectionWidth = () => {
1515
+ const sectionRef = useSectionRef();
1516
+ return sectionRef?.current?.offsetWidth ?? FALLBACK_SECTION_WIDTH;
1517
+ };
1518
+
1454
1519
  // src/components/collapse-icon.tsx
1455
1520
  import { ChevronDownIcon } from "@elementor/icons";
1456
1521
  import { styled as styled5 } from "@elementor/ui";
@@ -1467,7 +1532,7 @@ var CollapseIcon = styled5(ChevronDownIcon, {
1467
1532
  import * as React16 from "react";
1468
1533
  import { useState as useState7 } from "react";
1469
1534
  import { Button, Collapse, Stack as Stack4, styled as styled6 } from "@elementor/ui";
1470
- import { __ as __5 } from "@wordpress/i18n";
1535
+ import { __ as __6 } from "@wordpress/i18n";
1471
1536
  var IndicatorsWrapper = styled6("div")`
1472
1537
  position: absolute;
1473
1538
  top: 0;
@@ -1494,7 +1559,7 @@ var CollapsibleContent = ({ children, defaultOpen = false, titleEnd = null }) =>
1494
1559
  endIcon: /* @__PURE__ */ React16.createElement(CollapseIcon, { open }),
1495
1560
  sx: { my: 0.5 }
1496
1561
  },
1497
- open ? __5("Show less", "elementor") : __5("Show more", "elementor")
1562
+ open ? __6("Show less", "elementor") : __6("Show more", "elementor")
1498
1563
  ), titleEnd && /* @__PURE__ */ React16.createElement(IndicatorsWrapper, null, getCollapsibleValue(titleEnd, open))), /* @__PURE__ */ React16.createElement(Collapse, { in: open, timeout: "auto", unmountOnExit: true }, children));
1499
1564
  };
1500
1565
  function getCollapsibleValue(value, isOpen) {
@@ -1507,13 +1572,14 @@ function getCollapsibleValue(value, isOpen) {
1507
1572
  // src/components/section.tsx
1508
1573
  function Section({ title, children, defaultExpanded = false, titleEnd }) {
1509
1574
  const [isOpen, setIsOpen] = useStateByElement(title, !!defaultExpanded);
1575
+ const ref = useRef3(null);
1510
1576
  const handleClick = () => {
1511
1577
  setIsOpen(!isOpen);
1512
1578
  };
1513
1579
  const id = useId3();
1514
1580
  const labelId = `label-${id}`;
1515
1581
  const contentId = `content-${id}`;
1516
- const isUsingTitleEnd = isExperimentActive3(EXPERIMENTAL_FEATURES.V_3_30);
1582
+ const isUsingTitleEnd = isExperimentActive4(EXPERIMENTAL_FEATURES.V_3_30);
1517
1583
  return /* @__PURE__ */ React17.createElement(React17.Fragment, null, /* @__PURE__ */ React17.createElement(
1518
1584
  ListItemButton,
1519
1585
  {
@@ -1531,7 +1597,7 @@ function Section({ title, children, defaultExpanded = false, titleEnd }) {
1531
1597
  }
1532
1598
  ), isUsingTitleEnd ? getCollapsibleValue(titleEnd, isOpen) : null),
1533
1599
  /* @__PURE__ */ React17.createElement(CollapseIcon, { open: isOpen, color: "secondary", fontSize: "tiny" })
1534
- ), /* @__PURE__ */ React17.createElement(Collapse2, { id: contentId, "aria-labelledby": labelId, in: isOpen, timeout: "auto", unmountOnExit: true }, /* @__PURE__ */ React17.createElement(Stack5, { gap: 2.5, p: 2 }, children)), /* @__PURE__ */ React17.createElement(Divider2, null));
1600
+ ), /* @__PURE__ */ React17.createElement(Collapse2, { id: contentId, "aria-labelledby": labelId, in: isOpen, timeout: "auto", unmountOnExit: true }, /* @__PURE__ */ React17.createElement(SectionRefContext.Provider, { value: ref }, /* @__PURE__ */ React17.createElement(Stack5, { ref, gap: 2.5, p: 2 }, children))), /* @__PURE__ */ React17.createElement(Divider2, null));
1535
1601
  }
1536
1602
 
1537
1603
  // src/components/sections-list.tsx
@@ -1545,7 +1611,7 @@ function SectionsList(props) {
1545
1611
  var SettingsTab = () => {
1546
1612
  const { elementType, element } = useElement();
1547
1613
  const settingsDefault = useDefaultPanelSettings();
1548
- const isDefaultExpanded = (sectionId) => isExperimentActive4(EXPERIMENTAL_FEATURES.V_3_30) ? settingsDefault.defaultSectionsExpanded.settings?.includes(sectionId) : true;
1614
+ const isDefaultExpanded = (sectionId) => isExperimentActive5(EXPERIMENTAL_FEATURES.V_3_30) ? settingsDefault.defaultSectionsExpanded.settings?.includes(sectionId) : true;
1549
1615
  return /* @__PURE__ */ React19.createElement(SessionStorageProvider, { prefix: element.id }, /* @__PURE__ */ React19.createElement(SectionsList, null, elementType.controls.map(({ type, value }, index) => {
1550
1616
  if (type === "control") {
1551
1617
  return /* @__PURE__ */ React19.createElement(Control2, { key: value.bind, control: value });
@@ -1575,7 +1641,10 @@ var Control2 = ({ control }) => {
1575
1641
  }
1576
1642
  const layout = control.meta?.layout || getDefaultLayout(control.type);
1577
1643
  const controlProps = populateChildControlProps(control.props);
1578
- return /* @__PURE__ */ React19.createElement(SettingsField, { bind: control.bind }, control.meta?.topDivider && /* @__PURE__ */ React19.createElement(Divider3, null), /* @__PURE__ */ React19.createElement(ControlTypeContainer, { layout }, control.label ? /* @__PURE__ */ React19.createElement(ControlFormLabel, null, control.label) : null, /* @__PURE__ */ React19.createElement(Control, { type: control.type, props: controlProps })));
1644
+ if (layout === "custom") {
1645
+ controlProps.label = control.label;
1646
+ }
1647
+ return /* @__PURE__ */ React19.createElement(SettingsField, { bind: control.bind, propDisplayName: control.label || control.bind }, control.meta?.topDivider && /* @__PURE__ */ React19.createElement(Divider3, null), /* @__PURE__ */ React19.createElement(ControlTypeContainer, { layout }, control.label && layout !== "custom" ? /* @__PURE__ */ React19.createElement(ControlFormLabel, null, control.label) : null, /* @__PURE__ */ React19.createElement(Control, { type: control.type, props: controlProps })));
1579
1648
  };
1580
1649
  function populateChildControlProps(props) {
1581
1650
  if (props.childControlType) {
@@ -1594,17 +1663,17 @@ function populateChildControlProps(props) {
1594
1663
  }
1595
1664
 
1596
1665
  // src/components/style-tab.tsx
1597
- import * as React83 from "react";
1666
+ import * as React84 from "react";
1598
1667
  import { useState as useState12 } from "react";
1599
1668
  import { CLASSES_PROP_KEY } from "@elementor/editor-props";
1600
1669
  import { useActiveBreakpoint } from "@elementor/editor-responsive";
1601
1670
  import { SessionStorageProvider as SessionStorageProvider2 } from "@elementor/session";
1602
- import { Divider as Divider5, Stack as Stack17 } from "@elementor/ui";
1603
- import { __ as __53 } from "@wordpress/i18n";
1671
+ import { Divider as Divider5, Stack as Stack14 } from "@elementor/ui";
1672
+ import { __ as __57 } from "@wordpress/i18n";
1604
1673
 
1605
1674
  // src/contexts/styles-inheritance-context.tsx
1606
1675
  import * as React20 from "react";
1607
- import { createContext as createContext7, useContext as useContext7 } from "react";
1676
+ import { createContext as createContext8, useContext as useContext8 } from "react";
1608
1677
  import { getWidgetsCache, useElementSetting as useElementSetting3 } from "@elementor/editor-elements";
1609
1678
  import { classesPropTypeUtil as classesPropTypeUtil2 } from "@elementor/editor-props";
1610
1679
  import { getBreakpointsTree } from "@elementor/editor-responsive";
@@ -1845,7 +1914,7 @@ var getFilterPropType = (propType, path) => {
1845
1914
  };
1846
1915
 
1847
1916
  // src/contexts/styles-inheritance-context.tsx
1848
- var Context4 = createContext7(null);
1917
+ var Context4 = createContext8(null);
1849
1918
  function StyleInheritanceProvider({ children }) {
1850
1919
  const styleDefs = useAppliedStyles();
1851
1920
  const breakpointsTree = getBreakpointsTree();
@@ -1853,7 +1922,7 @@ function StyleInheritanceProvider({ children }) {
1853
1922
  return /* @__PURE__ */ React20.createElement(Context4.Provider, { value: { getSnapshot, getInheritanceChain } }, children);
1854
1923
  }
1855
1924
  function useStylesInheritanceSnapshot() {
1856
- const context = useContext7(Context4);
1925
+ const context = useContext8(Context4);
1857
1926
  const { meta } = useStyle();
1858
1927
  if (!context) {
1859
1928
  throw new Error("useStylesInheritanceSnapshot must be used within a StyleInheritanceProvider");
@@ -1864,7 +1933,7 @@ function useStylesInheritanceSnapshot() {
1864
1933
  return context.getSnapshot(meta) ?? null;
1865
1934
  }
1866
1935
  function useStylesInheritanceChain(path) {
1867
- const context = useContext7(Context4);
1936
+ const context = useContext8(Context4);
1868
1937
  if (!context) {
1869
1938
  throw new Error("useStylesInheritanceChain must be used within a StyleInheritanceProvider");
1870
1939
  }
@@ -1921,23 +1990,25 @@ function useActiveAndAppliedClassId(id, appliedClassesIds) {
1921
1990
  // src/components/style-sections/background-section/background-section.tsx
1922
1991
  import * as React29 from "react";
1923
1992
  import { BackgroundControl } from "@elementor/editor-controls";
1993
+ import { __ as __12 } from "@wordpress/i18n";
1924
1994
 
1925
1995
  // src/controls-registry/styles-field.tsx
1926
- import * as React28 from "react";
1996
+ import * as React27 from "react";
1927
1997
  import { ControlAdornmentsProvider, PropKeyProvider as PropKeyProvider2, PropProvider as PropProvider2 } from "@elementor/editor-controls";
1928
1998
  import { getStylesSchema as getStylesSchema2 } from "@elementor/editor-styles";
1999
+ import { isExperimentActive as isExperimentActive8 } from "@elementor/editor-v1-adapters";
1929
2000
 
1930
2001
  // src/hooks/use-styles-fields.ts
1931
- import { useMemo as useMemo3 } from "react";
2002
+ import { useMemo as useMemo4 } from "react";
1932
2003
  import {
1933
2004
  createElementStyle,
1934
2005
  deleteElementStyle,
1935
- getElementLabel as getElementLabel2
2006
+ getElementLabel as getElementLabel3
1936
2007
  } from "@elementor/editor-elements";
1937
2008
  import { getVariantByMeta } from "@elementor/editor-styles";
1938
2009
  import { ELEMENTS_STYLES_RESERVED_LABEL } from "@elementor/editor-styles-repository";
1939
- import { undoable as undoable2 } from "@elementor/editor-v1-adapters";
1940
- import { __ as __6 } from "@wordpress/i18n";
2010
+ import { undoable as undoable3 } from "@elementor/editor-v1-adapters";
2011
+ import { __ as __7 } from "@wordpress/i18n";
1941
2012
  function useStylesFields(propNames) {
1942
2013
  const { element } = useElement();
1943
2014
  const { id, meta, provider, canEdit } = useStyle();
@@ -1986,8 +2057,8 @@ function getProps({ styleId, elementId, provider, meta, propNames }) {
1986
2057
  );
1987
2058
  }
1988
2059
  function useUndoableCreateElementStyle() {
1989
- return useMemo3(() => {
1990
- return undoable2(
2060
+ return useMemo4(() => {
2061
+ return undoable3(
1991
2062
  {
1992
2063
  do: (payload) => {
1993
2064
  return createElementStyle({
@@ -2007,15 +2078,15 @@ function useUndoableCreateElementStyle() {
2007
2078
  }
2008
2079
  },
2009
2080
  {
2010
- title: ({ elementId }) => getElementLabel2(elementId),
2011
- subtitle: __6("Style edited", "elementor")
2081
+ title: ({ elementId }) => getElementLabel3(elementId),
2082
+ subtitle: __7("Style edited", "elementor")
2012
2083
  }
2013
2084
  );
2014
2085
  }, []);
2015
2086
  }
2016
2087
  function useUndoableUpdateStyle() {
2017
- return useMemo3(() => {
2018
- return undoable2(
2088
+ return useMemo4(() => {
2089
+ return undoable3(
2019
2090
  {
2020
2091
  do: ({ elementId, styleId, provider, meta, props }) => {
2021
2092
  if (!provider.actions.updateProps) {
@@ -2040,8 +2111,8 @@ function useUndoableUpdateStyle() {
2040
2111
  }
2041
2112
  },
2042
2113
  {
2043
- title: ({ elementId }) => getElementLabel2(elementId),
2044
- subtitle: __6("Style edited", "elementor")
2114
+ title: ({ elementId }) => getElementLabel3(elementId),
2115
+ subtitle: __7("Style edited", "elementor")
2045
2116
  }
2046
2117
  );
2047
2118
  }, []);
@@ -2068,16 +2139,16 @@ function useStylesField(propName) {
2068
2139
  }
2069
2140
 
2070
2141
  // src/styles-inheritance/components/styles-inheritance-indicator.tsx
2071
- import * as React27 from "react";
2142
+ import * as React26 from "react";
2072
2143
  import { useBoundProp } from "@elementor/editor-controls";
2073
2144
  import { isEmpty as isEmpty2 } from "@elementor/editor-props";
2074
2145
  import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as ELEMENTS_BASE_STYLES_PROVIDER_KEY4 } from "@elementor/editor-styles-repository";
2075
- import { isExperimentActive as isExperimentActive6 } from "@elementor/editor-v1-adapters";
2146
+ import { isExperimentActive as isExperimentActive7 } from "@elementor/editor-v1-adapters";
2076
2147
  import { Tooltip as Tooltip6 } from "@elementor/ui";
2077
- import { __ as __10 } from "@wordpress/i18n";
2148
+ import { __ as __11 } from "@wordpress/i18n";
2078
2149
 
2079
2150
  // src/styles-inheritance/consts.ts
2080
- import { isExperimentActive as isExperimentActive5 } from "@elementor/editor-v1-adapters";
2151
+ import { isExperimentActive as isExperimentActive6 } from "@elementor/editor-v1-adapters";
2081
2152
  var excludePropTypeTransformers = /* @__PURE__ */ new Set([
2082
2153
  "background-color-overlay",
2083
2154
  "background-image-overlay",
@@ -2090,37 +2161,25 @@ var excludePropTypeTransformers = /* @__PURE__ */ new Set([
2090
2161
  "image",
2091
2162
  "background-overlay"
2092
2163
  ]);
2093
- var isUsingIndicatorPopover = () => isExperimentActive5("e_v_3_30");
2164
+ var isUsingIndicatorPopover = () => isExperimentActive6("e_v_3_30");
2094
2165
 
2095
2166
  // src/styles-inheritance/components/styles-inheritance-infotip.tsx
2096
- import * as React26 from "react";
2097
- import { useMemo as useMemo4, useState as useState9 } from "react";
2167
+ import * as React25 from "react";
2168
+ import { useMemo as useMemo5, useState as useState9 } from "react";
2098
2169
  import { createPropsResolver } from "@elementor/editor-canvas";
2170
+ import { PopoverHeader } from "@elementor/editor-ui";
2099
2171
  import {
2100
2172
  Backdrop,
2101
2173
  Box as Box6,
2102
2174
  Card,
2103
2175
  CardContent,
2104
2176
  ClickAwayListener,
2105
- CloseButton,
2106
2177
  IconButton as IconButton3,
2107
2178
  Infotip,
2108
- Stack as Stack7,
2109
- Tooltip as Tooltip5,
2110
- Typography as Typography5
2179
+ Stack as Stack6,
2180
+ Tooltip as Tooltip5
2111
2181
  } from "@elementor/ui";
2112
- import { __ as __9 } from "@wordpress/i18n";
2113
-
2114
- // src/components/section-content.tsx
2115
- import { createContext as createContext8, useContext as useContext8, useRef as useRef3 } from "react";
2116
- import * as React21 from "react";
2117
- import { Stack as Stack6 } from "@elementor/ui";
2118
- var SectionContentRefContext = createContext8(null);
2119
- var useSectionContentRef = () => useContext8(SectionContentRefContext);
2120
- var SectionContent = ({ gap = 2, sx, children }) => {
2121
- const ref = useRef3(null);
2122
- return /* @__PURE__ */ React21.createElement(SectionContentRefContext.Provider, { value: ref }, /* @__PURE__ */ React21.createElement(Stack6, { gap, sx: { ...sx }, ref }, children));
2123
- };
2182
+ import { __ as __10 } from "@wordpress/i18n";
2124
2183
 
2125
2184
  // src/hooks/use-direction.ts
2126
2185
  import { useTheme } from "@elementor/ui";
@@ -2145,7 +2204,7 @@ function useDirection() {
2145
2204
  // src/styles-inheritance/hooks/use-normalized-inheritance-chain-items.tsx
2146
2205
  import { isValidElement, useEffect as useEffect3, useState as useState8 } from "react";
2147
2206
  import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as ELEMENTS_BASE_STYLES_PROVIDER_KEY2 } from "@elementor/editor-styles-repository";
2148
- import { __ as __7 } from "@wordpress/i18n";
2207
+ import { __ as __8 } from "@wordpress/i18n";
2149
2208
  var MAXIMUM_ITEMS = 2;
2150
2209
  var useNormalizedInheritanceChainItems = (inheritanceChain, bind, resolve) => {
2151
2210
  const [items3, setItems] = useState8([]);
@@ -2156,7 +2215,7 @@ var useNormalizedInheritanceChainItems = (inheritanceChain, bind, resolve) => {
2156
2215
  );
2157
2216
  const validItems = normalizedItems.map((item) => ({
2158
2217
  ...item,
2159
- displayLabel: ELEMENTS_BASE_STYLES_PROVIDER_KEY2 !== item.provider ? item.displayLabel : __7("Base", "elementor")
2218
+ displayLabel: ELEMENTS_BASE_STYLES_PROVIDER_KEY2 !== item.provider ? item.displayLabel : __8("Base", "elementor")
2160
2219
  })).filter((item) => !item.value || item.displayLabel !== "").slice(0, MAXIMUM_ITEMS);
2161
2220
  setItems(validItems);
2162
2221
  })();
@@ -2205,7 +2264,7 @@ import { createTransformersRegistry } from "@elementor/editor-canvas";
2205
2264
  var stylesInheritanceTransformersRegistry = createTransformersRegistry();
2206
2265
 
2207
2266
  // src/styles-inheritance/components/infotip/breakpoint-icon.tsx
2208
- import * as React22 from "react";
2267
+ import * as React21 from "react";
2209
2268
  import { useBreakpoints } from "@elementor/editor-responsive";
2210
2269
  import {
2211
2270
  DesktopIcon,
@@ -2236,20 +2295,20 @@ var BreakpointIcon = ({ breakpoint }) => {
2236
2295
  return null;
2237
2296
  }
2238
2297
  const breakpointLabel = breakpoints.find((breakpointItem) => breakpointItem.id === currentBreakpoint)?.label;
2239
- return /* @__PURE__ */ React22.createElement(Tooltip3, { title: breakpointLabel, placement: "top" }, /* @__PURE__ */ React22.createElement(IconComponent, { fontSize: SIZE3, sx: { mt: "2px" } }));
2298
+ return /* @__PURE__ */ React21.createElement(Tooltip3, { title: breakpointLabel, placement: "top" }, /* @__PURE__ */ React21.createElement(IconComponent, { fontSize: SIZE3, sx: { mt: "2px" } }));
2240
2299
  };
2241
2300
 
2242
2301
  // src/styles-inheritance/components/infotip/label-chip.tsx
2243
- import * as React23 from "react";
2302
+ import * as React22 from "react";
2244
2303
  import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as ELEMENTS_BASE_STYLES_PROVIDER_KEY3 } from "@elementor/editor-styles-repository";
2245
2304
  import { InfoCircleIcon } from "@elementor/icons";
2246
2305
  import { Chip as Chip4, Tooltip as Tooltip4 } from "@elementor/ui";
2247
- import { __ as __8 } from "@wordpress/i18n";
2306
+ import { __ as __9 } from "@wordpress/i18n";
2248
2307
  var SIZE4 = "tiny";
2249
2308
  var LabelChip = ({ displayLabel, provider }) => {
2250
2309
  const isBaseStyle = provider === ELEMENTS_BASE_STYLES_PROVIDER_KEY3;
2251
- const chipIcon = isBaseStyle ? /* @__PURE__ */ React23.createElement(Tooltip4, { title: __8("Inherited from base styles", "elementor"), placement: "top" }, /* @__PURE__ */ React23.createElement(InfoCircleIcon, { fontSize: SIZE4 })) : void 0;
2252
- return /* @__PURE__ */ React23.createElement(
2310
+ const chipIcon = isBaseStyle ? /* @__PURE__ */ React22.createElement(Tooltip4, { title: __9("Inherited from base styles", "elementor"), placement: "top" }, /* @__PURE__ */ React22.createElement(InfoCircleIcon, { fontSize: SIZE4 })) : void 0;
2311
+ return /* @__PURE__ */ React22.createElement(
2253
2312
  Chip4,
2254
2313
  {
2255
2314
  label: displayLabel,
@@ -2275,10 +2334,10 @@ var LabelChip = ({ displayLabel, provider }) => {
2275
2334
  };
2276
2335
 
2277
2336
  // src/styles-inheritance/components/infotip/value-component.tsx
2278
- import * as React24 from "react";
2337
+ import * as React23 from "react";
2279
2338
  import { Typography as Typography4 } from "@elementor/ui";
2280
2339
  var ValueComponent = ({ index, value }) => {
2281
- return /* @__PURE__ */ React24.createElement(
2340
+ return /* @__PURE__ */ React23.createElement(
2282
2341
  Typography4,
2283
2342
  {
2284
2343
  variant: "caption",
@@ -2296,37 +2355,36 @@ var ValueComponent = ({ index, value }) => {
2296
2355
  };
2297
2356
 
2298
2357
  // src/styles-inheritance/components/infotip/action-icons.tsx
2299
- import * as React25 from "react";
2358
+ import * as React24 from "react";
2300
2359
  import { Box as Box5 } from "@elementor/ui";
2301
- var ActionIcons = () => /* @__PURE__ */ React25.createElement(Box5, { display: "flex", gap: 0.5, alignItems: "center" });
2360
+ var ActionIcons = () => /* @__PURE__ */ React24.createElement(Box5, { display: "flex", gap: 0.5, alignItems: "center" });
2302
2361
 
2303
2362
  // src/styles-inheritance/components/styles-inheritance-infotip.tsx
2304
- var SIZE5 = "tiny";
2363
+ var SECTION_PADDING_INLINE = 32;
2305
2364
  var StylesInheritanceInfotip = ({ inheritanceChain, propType, path, label, children }) => {
2306
2365
  const [showInfotip, setShowInfotip] = useState9(false);
2307
2366
  const toggleInfotip = () => setShowInfotip((prev) => !prev);
2308
2367
  const closeInfotip = () => setShowInfotip(false);
2309
2368
  const key = path.join(".");
2310
- const sectionContentRef = useSectionContentRef();
2311
- const sectionContentWidth = sectionContentRef?.current?.offsetWidth ?? 320;
2312
- const resolve = useMemo4(() => {
2369
+ const sectionWidth = useSectionWidth() + SECTION_PADDING_INLINE;
2370
+ const resolve = useMemo5(() => {
2313
2371
  return createPropsResolver({
2314
2372
  transformers: stylesInheritanceTransformersRegistry,
2315
2373
  schema: { [key]: propType }
2316
2374
  });
2317
2375
  }, [key, propType]);
2318
2376
  const items3 = useNormalizedInheritanceChainItems(inheritanceChain, key, resolve);
2319
- const infotipContent = /* @__PURE__ */ React26.createElement(ClickAwayListener, { onClickAway: closeInfotip }, /* @__PURE__ */ React26.createElement(
2377
+ const infotipContent = /* @__PURE__ */ React25.createElement(ClickAwayListener, { onClickAway: closeInfotip }, /* @__PURE__ */ React25.createElement(
2320
2378
  Card,
2321
2379
  {
2322
2380
  elevation: 0,
2323
2381
  sx: {
2324
- width: `${sectionContentWidth}px`,
2325
- maxWidth: 500,
2382
+ width: `${sectionWidth - SECTION_PADDING_INLINE}px`,
2383
+ maxWidth: 496,
2326
2384
  overflowX: "hidden"
2327
2385
  }
2328
2386
  },
2329
- /* @__PURE__ */ React26.createElement(
2387
+ /* @__PURE__ */ React25.createElement(
2330
2388
  CardContent,
2331
2389
  {
2332
2390
  sx: {
@@ -2339,42 +2397,35 @@ var StylesInheritanceInfotip = ({ inheritanceChain, propType, path, label, child
2339
2397
  }
2340
2398
  }
2341
2399
  },
2342
- /* @__PURE__ */ React26.createElement(Stack7, { direction: "row", alignItems: "center", sx: { pl: 1.5, pr: 0.5, minHeight: 36, py: 0.5 } }, /* @__PURE__ */ React26.createElement(Typography5, { variant: "subtitle2", color: "secondary", sx: { fontSize: 12, fontWeight: "500" } }, __9("Style origin", "elementor")), /* @__PURE__ */ React26.createElement(
2343
- CloseButton,
2344
- {
2345
- slotProps: { icon: { fontSize: SIZE5 } },
2346
- sx: { ml: "auto" },
2347
- onClick: closeInfotip
2348
- }
2349
- )),
2350
- /* @__PURE__ */ React26.createElement(
2351
- Stack7,
2400
+ /* @__PURE__ */ React25.createElement(PopoverHeader, { title: __10("Style origin", "elementor"), onClose: closeInfotip }),
2401
+ /* @__PURE__ */ React25.createElement(
2402
+ Stack6,
2352
2403
  {
2353
2404
  gap: 1.5,
2354
2405
  sx: { pl: 2, pr: 1, pb: 2, overflowX: "hidden", overflowY: "auto" },
2355
2406
  role: "list"
2356
2407
  },
2357
2408
  items3.map((item, index) => {
2358
- return /* @__PURE__ */ React26.createElement(
2409
+ return /* @__PURE__ */ React25.createElement(
2359
2410
  Box6,
2360
2411
  {
2361
2412
  key: item.id,
2362
2413
  display: "flex",
2363
2414
  gap: 0.5,
2364
2415
  role: "listitem",
2365
- "aria-label": __9("Inheritance item: %s", "elementor").replace(
2416
+ "aria-label": __10("Inheritance item: %s", "elementor").replace(
2366
2417
  "%s",
2367
2418
  item.displayLabel
2368
2419
  )
2369
2420
  },
2370
- /* @__PURE__ */ React26.createElement(Box6, { display: "flex", gap: 0.5, sx: { flexWrap: "wrap", width: "100%" } }, /* @__PURE__ */ React26.createElement(BreakpointIcon, { breakpoint: item.breakpoint }), /* @__PURE__ */ React26.createElement(LabelChip, { displayLabel: item.displayLabel, provider: item.provider }), /* @__PURE__ */ React26.createElement(ValueComponent, { index, value: item.value })),
2371
- /* @__PURE__ */ React26.createElement(ActionIcons, null)
2421
+ /* @__PURE__ */ React25.createElement(Box6, { display: "flex", gap: 0.5, sx: { flexWrap: "wrap", width: "100%" } }, /* @__PURE__ */ React25.createElement(BreakpointIcon, { breakpoint: item.breakpoint }), /* @__PURE__ */ React25.createElement(LabelChip, { displayLabel: item.displayLabel, provider: item.provider }), /* @__PURE__ */ React25.createElement(ValueComponent, { index, value: item.value })),
2422
+ /* @__PURE__ */ React25.createElement(ActionIcons, null)
2372
2423
  );
2373
2424
  })
2374
2425
  )
2375
2426
  )
2376
2427
  ));
2377
- return /* @__PURE__ */ React26.createElement(TooltipOrInfotip, { showInfotip, onClose: closeInfotip, infotipContent }, /* @__PURE__ */ React26.createElement(IconButton3, { onClick: toggleInfotip, "aria-label": label, sx: { my: "-1px" } }, children));
2428
+ return /* @__PURE__ */ React25.createElement(TooltipOrInfotip, { showInfotip, onClose: closeInfotip, infotipContent }, /* @__PURE__ */ React25.createElement(IconButton3, { onClick: toggleInfotip, "aria-label": label, sx: { my: "-1px" } }, children));
2378
2429
  };
2379
2430
  function TooltipOrInfotip({
2380
2431
  children,
@@ -2385,7 +2436,7 @@ function TooltipOrInfotip({
2385
2436
  const { isSiteRtl } = useDirection();
2386
2437
  const forceInfotipAlignLeft = isSiteRtl ? 9999999 : -9999999;
2387
2438
  if (showInfotip) {
2388
- return /* @__PURE__ */ React26.createElement(React26.Fragment, null, /* @__PURE__ */ React26.createElement(
2439
+ return /* @__PURE__ */ React25.createElement(React25.Fragment, null, /* @__PURE__ */ React25.createElement(
2389
2440
  Backdrop,
2390
2441
  {
2391
2442
  open: showInfotip,
@@ -2395,7 +2446,7 @@ function TooltipOrInfotip({
2395
2446
  zIndex: (theme) => theme.zIndex.modal - 1
2396
2447
  }
2397
2448
  }
2398
- ), /* @__PURE__ */ React26.createElement(
2449
+ ), /* @__PURE__ */ React25.createElement(
2399
2450
  Infotip,
2400
2451
  {
2401
2452
  placement: "top",
@@ -2422,26 +2473,26 @@ function TooltipOrInfotip({
2422
2473
  children
2423
2474
  ));
2424
2475
  }
2425
- return /* @__PURE__ */ React26.createElement(Tooltip5, { title: __9("Style origin", "elementor"), placement: "top" }, children);
2476
+ return /* @__PURE__ */ React25.createElement(Tooltip5, { title: __10("Style origin", "elementor"), placement: "top" }, children);
2426
2477
  }
2427
2478
 
2428
2479
  // src/styles-inheritance/components/styles-inheritance-indicator.tsx
2429
2480
  var StylesInheritanceIndicator = () => {
2430
2481
  const { path, propType } = useBoundProp();
2431
- const isUsingNestedProps = isExperimentActive6(EXPERIMENTAL_FEATURES.V_3_30);
2482
+ const isUsingNestedProps = isExperimentActive7(EXPERIMENTAL_FEATURES.V_3_30);
2432
2483
  const finalPath = isUsingNestedProps ? path : path.slice(0, 1);
2433
2484
  const inheritanceChain = useStylesInheritanceChain(finalPath);
2434
2485
  if (!inheritanceChain.length) {
2435
2486
  return null;
2436
2487
  }
2437
- return /* @__PURE__ */ React27.createElement(Indicator, { inheritanceChain, path: finalPath, propType });
2488
+ return /* @__PURE__ */ React26.createElement(Indicator, { inheritanceChain, path: finalPath, propType });
2438
2489
  };
2439
2490
  var Indicator = ({ inheritanceChain, path, propType }) => {
2440
2491
  const { id: currentStyleId, provider: currentStyleProvider, meta: currentStyleMeta } = useStyle();
2441
2492
  const currentItem = currentStyleId ? getValueFromInheritanceChain(inheritanceChain, currentStyleId, currentStyleMeta) : null;
2442
2493
  const hasValue = !isEmpty2(currentItem?.value);
2443
2494
  const [actualStyle] = inheritanceChain;
2444
- if (actualStyle.provider === ELEMENTS_BASE_STYLES_PROVIDER_KEY4) {
2495
+ if (!isExperimentActive7(EXPERIMENTAL_FEATURES.V_3_31) && actualStyle.provider === ELEMENTS_BASE_STYLES_PROVIDER_KEY4) {
2445
2496
  return null;
2446
2497
  }
2447
2498
  const isFinalValue = currentItem === actualStyle;
@@ -2451,9 +2502,9 @@ var Indicator = ({ inheritanceChain, path, propType }) => {
2451
2502
  isOverridden: hasValue && !isFinalValue ? true : void 0
2452
2503
  };
2453
2504
  if (!isUsingIndicatorPopover()) {
2454
- return /* @__PURE__ */ React27.createElement(Tooltip6, { title: __10("Style origin", "elementor"), placement: "top" }, /* @__PURE__ */ React27.createElement(StyleIndicator, { ...styleIndicatorProps, "aria-label": label }));
2505
+ return /* @__PURE__ */ React26.createElement(Tooltip6, { title: __11("Style origin", "elementor"), placement: "top" }, /* @__PURE__ */ React26.createElement(StyleIndicator, { ...styleIndicatorProps, "aria-label": label }));
2455
2506
  }
2456
- return /* @__PURE__ */ React27.createElement(
2507
+ return /* @__PURE__ */ React26.createElement(
2457
2508
  StylesInheritanceInfotip,
2458
2509
  {
2459
2510
  inheritanceChain,
@@ -2461,30 +2512,35 @@ var Indicator = ({ inheritanceChain, path, propType }) => {
2461
2512
  propType,
2462
2513
  label
2463
2514
  },
2464
- /* @__PURE__ */ React27.createElement(StyleIndicator, { ...styleIndicatorProps })
2515
+ /* @__PURE__ */ React26.createElement(StyleIndicator, { ...styleIndicatorProps })
2465
2516
  );
2466
2517
  };
2467
2518
  var getLabel = ({ isFinalValue, hasValue }) => {
2468
2519
  if (isFinalValue) {
2469
- return __10("This is the final value", "elementor");
2520
+ return __11("This is the final value", "elementor");
2470
2521
  }
2471
2522
  if (hasValue) {
2472
- return __10("This value is overridden by another style", "elementor");
2523
+ return __11("This value is overridden by another style", "elementor");
2473
2524
  }
2474
- return __10("This has value from another style", "elementor");
2525
+ return __11("This has value from another style", "elementor");
2475
2526
  };
2476
2527
 
2477
2528
  // src/controls-registry/styles-field.tsx
2478
2529
  var StylesField = ({ bind, placeholder, children }) => {
2479
2530
  const { value, setValue, canEdit } = useStylesField(bind);
2531
+ const isVersion331Active = isExperimentActive8("e_v_3_31");
2532
+ const stylesInheritanceChain = useStylesInheritanceChain([bind]);
2480
2533
  const stylesSchema = getStylesSchema2();
2481
2534
  const propType = createTopLevelOjectType({ schema: stylesSchema });
2482
2535
  const values = { [bind]: value };
2483
- const placeholderValues = { [bind]: placeholder };
2536
+ const [actualValue] = stylesInheritanceChain;
2537
+ const placeholderValues = {
2538
+ [bind]: isVersion331Active ? actualValue?.value : placeholder
2539
+ };
2484
2540
  const setValues = (newValue) => {
2485
2541
  setValue(newValue[bind]);
2486
2542
  };
2487
- return /* @__PURE__ */ React28.createElement(
2543
+ return /* @__PURE__ */ React27.createElement(
2488
2544
  ControlAdornmentsProvider,
2489
2545
  {
2490
2546
  items: [
@@ -2494,7 +2550,7 @@ var StylesField = ({ bind, placeholder, children }) => {
2494
2550
  }
2495
2551
  ]
2496
2552
  },
2497
- /* @__PURE__ */ React28.createElement(
2553
+ /* @__PURE__ */ React27.createElement(
2498
2554
  PropProvider2,
2499
2555
  {
2500
2556
  propType,
@@ -2503,18 +2559,24 @@ var StylesField = ({ bind, placeholder, children }) => {
2503
2559
  placeholder: placeholderValues,
2504
2560
  disabled: !canEdit
2505
2561
  },
2506
- /* @__PURE__ */ React28.createElement(PropKeyProvider2, { bind }, children)
2562
+ /* @__PURE__ */ React27.createElement(PropKeyProvider2, { bind }, children)
2507
2563
  )
2508
2564
  );
2509
2565
  };
2510
2566
 
2567
+ // src/components/section-content.tsx
2568
+ import * as React28 from "react";
2569
+ import { Stack as Stack7 } from "@elementor/ui";
2570
+ var SectionContent = ({ gap = 2, sx, children }) => /* @__PURE__ */ React28.createElement(Stack7, { gap, sx: { ...sx } }, children);
2571
+
2511
2572
  // src/components/style-sections/background-section/background-section.tsx
2573
+ var BACKGROUND_LABEL = __12("Background", "elementor");
2512
2574
  var BackgroundSection = () => {
2513
- return /* @__PURE__ */ React29.createElement(SectionContent, null, /* @__PURE__ */ React29.createElement(StylesField, { bind: "background" }, /* @__PURE__ */ React29.createElement(BackgroundControl, null)));
2575
+ return /* @__PURE__ */ React29.createElement(SectionContent, null, /* @__PURE__ */ React29.createElement(StylesField, { bind: "background", propDisplayName: BACKGROUND_LABEL }, /* @__PURE__ */ React29.createElement(BackgroundControl, null)));
2514
2576
  };
2515
2577
 
2516
2578
  // src/components/style-sections/border-section/border-section.tsx
2517
- import * as React39 from "react";
2579
+ import * as React40 from "react";
2518
2580
 
2519
2581
  // src/components/panel-divider.tsx
2520
2582
  import * as React30 from "react";
@@ -2522,15 +2584,15 @@ import { Divider as Divider4 } from "@elementor/ui";
2522
2584
  var PanelDivider = () => /* @__PURE__ */ React30.createElement(Divider4, { sx: { my: 0.5 } });
2523
2585
 
2524
2586
  // src/components/style-sections/border-section/border-field.tsx
2525
- import * as React36 from "react";
2587
+ import * as React37 from "react";
2526
2588
  import { ControlFormLabel as ControlFormLabel3 } from "@elementor/editor-controls";
2527
- import { __ as __14 } from "@wordpress/i18n";
2589
+ import { __ as __16 } from "@wordpress/i18n";
2528
2590
 
2529
2591
  // src/components/add-or-remove-content.tsx
2530
2592
  import * as React31 from "react";
2531
2593
  import { MinusIcon, PlusIcon } from "@elementor/icons";
2532
2594
  import { Collapse as Collapse3, IconButton as IconButton4, Stack as Stack8 } from "@elementor/ui";
2533
- var SIZE6 = "tiny";
2595
+ var SIZE5 = "tiny";
2534
2596
  var AddOrRemoveContent = ({
2535
2597
  isAdded,
2536
2598
  onAdd,
@@ -2550,15 +2612,18 @@ var AddOrRemoveContent = ({
2550
2612
  }
2551
2613
  },
2552
2614
  renderLabel(),
2553
- isAdded ? /* @__PURE__ */ React31.createElement(IconButton4, { size: SIZE6, onClick: onRemove, "aria-label": "Remove", disabled }, /* @__PURE__ */ React31.createElement(MinusIcon, { fontSize: SIZE6 })) : /* @__PURE__ */ React31.createElement(IconButton4, { size: SIZE6, onClick: onAdd, "aria-label": "Add", disabled }, /* @__PURE__ */ React31.createElement(PlusIcon, { fontSize: SIZE6 }))
2615
+ isAdded ? /* @__PURE__ */ React31.createElement(IconButton4, { size: SIZE5, onClick: onRemove, "aria-label": "Remove", disabled }, /* @__PURE__ */ React31.createElement(MinusIcon, { fontSize: SIZE5 })) : /* @__PURE__ */ React31.createElement(IconButton4, { size: SIZE5, onClick: onAdd, "aria-label": "Add", disabled }, /* @__PURE__ */ React31.createElement(PlusIcon, { fontSize: SIZE5 }))
2554
2616
  ), /* @__PURE__ */ React31.createElement(Collapse3, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React31.createElement(SectionContent, null, children)));
2555
2617
  };
2556
2618
 
2557
2619
  // src/components/style-sections/border-section/border-color-field.tsx
2558
- import * as React33 from "react";
2620
+ import * as React34 from "react";
2559
2621
  import { ColorControl } from "@elementor/editor-controls";
2560
- import { Grid } from "@elementor/ui";
2561
- import { __ as __11 } from "@wordpress/i18n";
2622
+ import { __ as __13 } from "@wordpress/i18n";
2623
+
2624
+ // src/components/styles-field-layout.tsx
2625
+ import * as React33 from "react";
2626
+ import { Grid, Stack as Stack10 } from "@elementor/ui";
2562
2627
 
2563
2628
  // src/components/control-label.tsx
2564
2629
  import * as React32 from "react";
@@ -2568,71 +2633,96 @@ var ControlLabel = ({ children }) => {
2568
2633
  return /* @__PURE__ */ React32.createElement(Stack9, { direction: "row", alignItems: "center", justifyItems: "start", gap: 0.25 }, /* @__PURE__ */ React32.createElement(ControlFormLabel2, null, children), /* @__PURE__ */ React32.createElement(ControlAdornments, null));
2569
2634
  };
2570
2635
 
2636
+ // src/components/styles-field-layout.tsx
2637
+ var StylesFieldLayout = React33.forwardRef((props, ref) => {
2638
+ const { direction = "row", children, label } = props;
2639
+ const LayoutComponent = direction === "row" ? Row : Column;
2640
+ return /* @__PURE__ */ React33.createElement(LayoutComponent, { label, ref, children });
2641
+ });
2642
+ var Row = React33.forwardRef(
2643
+ ({ label, children }, ref) => {
2644
+ return /* @__PURE__ */ React33.createElement(Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref }, /* @__PURE__ */ React33.createElement(Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(ControlLabel, null, label)), /* @__PURE__ */ React33.createElement(
2645
+ Grid,
2646
+ {
2647
+ item: true,
2648
+ xs: 6,
2649
+ sx: (theme) => ({
2650
+ width: `calc(50% - ${theme.spacing(2)})`
2651
+ })
2652
+ },
2653
+ children
2654
+ ));
2655
+ }
2656
+ );
2657
+ var Column = React33.forwardRef(
2658
+ ({ label, children }, ref) => {
2659
+ return /* @__PURE__ */ React33.createElement(Stack10, { gap: 0.75, ref }, /* @__PURE__ */ React33.createElement(ControlLabel, null, label), children);
2660
+ }
2661
+ );
2662
+
2571
2663
  // src/components/style-sections/border-section/border-color-field.tsx
2572
- var BorderColorField = () => {
2573
- return /* @__PURE__ */ React33.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React33.createElement(Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(ControlLabel, null, __11("Border color", "elementor"))), /* @__PURE__ */ React33.createElement(Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(ColorControl, null))));
2574
- };
2664
+ var BORDER_COLOR_LABEL = __13("Border color", "elementor");
2665
+ var BorderColorField = () => /* @__PURE__ */ React34.createElement(StylesField, { bind: "border-color", propDisplayName: BORDER_COLOR_LABEL }, /* @__PURE__ */ React34.createElement(StylesFieldLayout, { label: BORDER_COLOR_LABEL }, /* @__PURE__ */ React34.createElement(ColorControl, null)));
2575
2666
 
2576
2667
  // src/components/style-sections/border-section/border-style-field.tsx
2577
- import * as React34 from "react";
2668
+ import * as React35 from "react";
2578
2669
  import { SelectControl as SelectControl2 } from "@elementor/editor-controls";
2579
- import { Grid as Grid2 } from "@elementor/ui";
2580
- import { __ as __12 } from "@wordpress/i18n";
2670
+ import { __ as __14 } from "@wordpress/i18n";
2671
+ var BORDER_TYPE_LABEL = __14("Border type", "elementor");
2581
2672
  var borderStyles = [
2582
- { value: "none", label: __12("None", "elementor") },
2583
- { value: "solid", label: __12("Solid", "elementor") },
2584
- { value: "dashed", label: __12("Dashed", "elementor") },
2585
- { value: "dotted", label: __12("Dotted", "elementor") },
2586
- { value: "double", label: __12("Double", "elementor") },
2587
- { value: "groove", label: __12("Groove", "elementor") },
2588
- { value: "ridge", label: __12("Ridge", "elementor") },
2589
- { value: "inset", label: __12("Inset", "elementor") },
2590
- { value: "outset", label: __12("Outset", "elementor") }
2673
+ { value: "none", label: __14("None", "elementor") },
2674
+ { value: "solid", label: __14("Solid", "elementor") },
2675
+ { value: "dashed", label: __14("Dashed", "elementor") },
2676
+ { value: "dotted", label: __14("Dotted", "elementor") },
2677
+ { value: "double", label: __14("Double", "elementor") },
2678
+ { value: "groove", label: __14("Groove", "elementor") },
2679
+ { value: "ridge", label: __14("Ridge", "elementor") },
2680
+ { value: "inset", label: __14("Inset", "elementor") },
2681
+ { value: "outset", label: __14("Outset", "elementor") }
2591
2682
  ];
2592
- var BorderStyleField = () => {
2593
- return /* @__PURE__ */ React34.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React34.createElement(Grid2, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(Grid2, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(ControlLabel, null, __12("Border type", "elementor"))), /* @__PURE__ */ React34.createElement(Grid2, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React34.createElement(SelectControl2, { options: borderStyles }))));
2594
- };
2683
+ var BorderStyleField = () => /* @__PURE__ */ React35.createElement(StylesField, { bind: "border-style", propDisplayName: BORDER_TYPE_LABEL }, /* @__PURE__ */ React35.createElement(StylesFieldLayout, { label: BORDER_TYPE_LABEL }, /* @__PURE__ */ React35.createElement(SelectControl2, { options: borderStyles })));
2595
2684
 
2596
2685
  // src/components/style-sections/border-section/border-width-field.tsx
2597
- import * as React35 from "react";
2686
+ import * as React36 from "react";
2598
2687
  import { EqualUnequalSizesControl } from "@elementor/editor-controls";
2599
2688
  import { borderWidthPropTypeUtil } from "@elementor/editor-props";
2600
2689
  import { SideAllIcon, SideBottomIcon, SideLeftIcon, SideRightIcon, SideTopIcon } from "@elementor/icons";
2601
2690
  import { withDirection } from "@elementor/ui";
2602
- import { __ as __13 } from "@wordpress/i18n";
2691
+ import { __ as __15 } from "@wordpress/i18n";
2692
+ var BORDER_WIDTH_LABEL = __15("Border width", "elementor");
2603
2693
  var InlineStartIcon = withDirection(SideRightIcon);
2604
2694
  var InlineEndIcon = withDirection(SideLeftIcon);
2605
2695
  var getEdges = (isSiteRtl) => [
2606
2696
  {
2607
- label: __13("Top", "elementor"),
2608
- icon: /* @__PURE__ */ React35.createElement(SideTopIcon, { fontSize: "tiny" }),
2697
+ label: __15("Top", "elementor"),
2698
+ icon: /* @__PURE__ */ React36.createElement(SideTopIcon, { fontSize: "tiny" }),
2609
2699
  bind: "block-start"
2610
2700
  },
2611
2701
  {
2612
- label: isSiteRtl ? __13("Left", "elementor") : __13("Right", "elementor"),
2613
- icon: /* @__PURE__ */ React35.createElement(InlineStartIcon, { fontSize: "tiny" }),
2702
+ label: isSiteRtl ? __15("Left", "elementor") : __15("Right", "elementor"),
2703
+ icon: /* @__PURE__ */ React36.createElement(InlineStartIcon, { fontSize: "tiny" }),
2614
2704
  bind: "inline-end"
2615
2705
  },
2616
2706
  {
2617
- label: __13("Bottom", "elementor"),
2618
- icon: /* @__PURE__ */ React35.createElement(SideBottomIcon, { fontSize: "tiny" }),
2707
+ label: __15("Bottom", "elementor"),
2708
+ icon: /* @__PURE__ */ React36.createElement(SideBottomIcon, { fontSize: "tiny" }),
2619
2709
  bind: "block-end"
2620
2710
  },
2621
2711
  {
2622
- label: isSiteRtl ? __13("Right", "elementor") : __13("Left", "elementor"),
2623
- icon: /* @__PURE__ */ React35.createElement(InlineEndIcon, { fontSize: "tiny" }),
2712
+ label: isSiteRtl ? __15("Right", "elementor") : __15("Left", "elementor"),
2713
+ icon: /* @__PURE__ */ React36.createElement(InlineEndIcon, { fontSize: "tiny" }),
2624
2714
  bind: "inline-start"
2625
2715
  }
2626
2716
  ];
2627
2717
  var BorderWidthField = () => {
2628
2718
  const { isSiteRtl } = useDirection();
2629
- return /* @__PURE__ */ React35.createElement(StylesField, { bind: "border-width" }, /* @__PURE__ */ React35.createElement(
2719
+ return /* @__PURE__ */ React36.createElement(StylesField, { bind: "border-width", propDisplayName: BORDER_WIDTH_LABEL }, /* @__PURE__ */ React36.createElement(
2630
2720
  EqualUnequalSizesControl,
2631
2721
  {
2632
2722
  items: getEdges(isSiteRtl),
2633
- label: __13("Border width", "elementor"),
2634
- icon: /* @__PURE__ */ React35.createElement(SideAllIcon, { fontSize: "tiny" }),
2635
- tooltipLabel: __13("Adjust borders", "elementor"),
2723
+ label: BORDER_WIDTH_LABEL,
2724
+ icon: /* @__PURE__ */ React36.createElement(SideAllIcon, { fontSize: "tiny" }),
2725
+ tooltipLabel: __15("Adjust borders", "elementor"),
2636
2726
  multiSizePropTypeUtil: borderWidthPropTypeUtil
2637
2727
  }
2638
2728
  ));
@@ -2657,23 +2747,23 @@ var BorderField = () => {
2657
2747
  });
2658
2748
  };
2659
2749
  const hasBorder = Object.values(values ?? {}).some(Boolean);
2660
- return /* @__PURE__ */ React36.createElement(
2750
+ return /* @__PURE__ */ React37.createElement(
2661
2751
  AddOrRemoveContent,
2662
2752
  {
2663
2753
  isAdded: hasBorder,
2664
2754
  onAdd: addBorder,
2665
2755
  onRemove: removeBorder,
2666
2756
  disabled: !canEdit,
2667
- renderLabel: () => /* @__PURE__ */ React36.createElement(ControlFormLabel3, null, __14("Border", "elementor"))
2757
+ renderLabel: () => /* @__PURE__ */ React37.createElement(ControlFormLabel3, null, __16("Border", "elementor"))
2668
2758
  },
2669
- /* @__PURE__ */ React36.createElement(BorderWidthField, null),
2670
- /* @__PURE__ */ React36.createElement(BorderColorField, null),
2671
- /* @__PURE__ */ React36.createElement(BorderStyleField, null)
2759
+ /* @__PURE__ */ React37.createElement(BorderWidthField, null),
2760
+ /* @__PURE__ */ React37.createElement(BorderColorField, null),
2761
+ /* @__PURE__ */ React37.createElement(BorderStyleField, null)
2672
2762
  );
2673
2763
  };
2674
2764
 
2675
2765
  // src/components/style-sections/border-section/border-radius-field.tsx
2676
- import * as React38 from "react";
2766
+ import * as React39 from "react";
2677
2767
  import { EqualUnequalSizesControl as EqualUnequalSizesControl2 } from "@elementor/editor-controls";
2678
2768
  import { borderRadiusPropTypeUtil } from "@elementor/editor-props";
2679
2769
  import {
@@ -2684,89 +2774,95 @@ import {
2684
2774
  RadiusTopRightIcon
2685
2775
  } from "@elementor/icons";
2686
2776
  import { withDirection as withDirection2 } from "@elementor/ui";
2687
- import { __ as __15 } from "@wordpress/i18n";
2777
+ import { __ as __17 } from "@wordpress/i18n";
2688
2778
 
2689
2779
  // src/styles-inheritance/components/ui-providers.tsx
2690
- import * as React37 from "react";
2780
+ import * as React38 from "react";
2691
2781
  import { DirectionProvider, ThemeProvider } from "@elementor/ui";
2692
2782
  var UiProviders = ({ children }) => {
2693
2783
  const { isSiteRtl } = useDirection();
2694
- return /* @__PURE__ */ React37.createElement(DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React37.createElement(ThemeProvider, null, children));
2784
+ return /* @__PURE__ */ React38.createElement(DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React38.createElement(ThemeProvider, null, children));
2695
2785
  };
2696
2786
 
2697
2787
  // src/components/style-sections/border-section/border-radius-field.tsx
2788
+ var BORDER_RADIUS_LABEL = __17("Border radius", "elementor");
2698
2789
  var StartStartIcon = withDirection2(RadiusTopLeftIcon);
2699
2790
  var StartEndIcon = withDirection2(RadiusTopRightIcon);
2700
2791
  var EndStartIcon = withDirection2(RadiusBottomLeftIcon);
2701
2792
  var EndEndIcon = withDirection2(RadiusBottomRightIcon);
2702
- var getStartStartLabel = (isSiteRtl) => isSiteRtl ? __15("Top right", "elementor") : __15("Top left", "elementor");
2703
- var getStartEndLabel = (isSiteRtl) => isSiteRtl ? __15("Top left", "elementor") : __15("Top right", "elementor");
2704
- var getEndStartLabel = (isSiteRtl) => isSiteRtl ? __15("Bottom right", "elementor") : __15("Bottom left", "elementor");
2705
- var getEndEndLabel = (isSiteRtl) => isSiteRtl ? __15("Bottom left", "elementor") : __15("Bottom right", "elementor");
2793
+ var getStartStartLabel = (isSiteRtl) => isSiteRtl ? __17("Top right", "elementor") : __17("Top left", "elementor");
2794
+ var getStartEndLabel = (isSiteRtl) => isSiteRtl ? __17("Top left", "elementor") : __17("Top right", "elementor");
2795
+ var getEndStartLabel = (isSiteRtl) => isSiteRtl ? __17("Bottom right", "elementor") : __17("Bottom left", "elementor");
2796
+ var getEndEndLabel = (isSiteRtl) => isSiteRtl ? __17("Bottom left", "elementor") : __17("Bottom right", "elementor");
2706
2797
  var getCorners = (isSiteRtl) => [
2707
2798
  {
2708
2799
  label: getStartStartLabel(isSiteRtl),
2709
- icon: /* @__PURE__ */ React38.createElement(StartStartIcon, { fontSize: "tiny" }),
2800
+ icon: /* @__PURE__ */ React39.createElement(StartStartIcon, { fontSize: "tiny" }),
2710
2801
  bind: "start-start"
2711
2802
  },
2712
2803
  {
2713
2804
  label: getStartEndLabel(isSiteRtl),
2714
- icon: /* @__PURE__ */ React38.createElement(StartEndIcon, { fontSize: "tiny" }),
2805
+ icon: /* @__PURE__ */ React39.createElement(StartEndIcon, { fontSize: "tiny" }),
2715
2806
  bind: "start-end"
2716
2807
  },
2717
2808
  {
2718
2809
  label: getEndStartLabel(isSiteRtl),
2719
- icon: /* @__PURE__ */ React38.createElement(EndStartIcon, { fontSize: "tiny" }),
2810
+ icon: /* @__PURE__ */ React39.createElement(EndStartIcon, { fontSize: "tiny" }),
2720
2811
  bind: "end-start"
2721
2812
  },
2722
2813
  {
2723
2814
  label: getEndEndLabel(isSiteRtl),
2724
- icon: /* @__PURE__ */ React38.createElement(EndEndIcon, { fontSize: "tiny" }),
2815
+ icon: /* @__PURE__ */ React39.createElement(EndEndIcon, { fontSize: "tiny" }),
2725
2816
  bind: "end-end"
2726
2817
  }
2727
2818
  ];
2728
2819
  var BorderRadiusField = () => {
2729
2820
  const { isSiteRtl } = useDirection();
2730
- return /* @__PURE__ */ React38.createElement(UiProviders, null, /* @__PURE__ */ React38.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React38.createElement(
2821
+ return /* @__PURE__ */ React39.createElement(UiProviders, null, /* @__PURE__ */ React39.createElement(StylesField, { bind: "border-radius", propDisplayName: BORDER_RADIUS_LABEL }, /* @__PURE__ */ React39.createElement(
2731
2822
  EqualUnequalSizesControl2,
2732
2823
  {
2733
2824
  items: getCorners(isSiteRtl),
2734
- label: __15("Border radius", "elementor"),
2735
- icon: /* @__PURE__ */ React38.createElement(BorderCornersIcon, { fontSize: "tiny" }),
2736
- tooltipLabel: __15("Adjust corners", "elementor"),
2825
+ label: BORDER_RADIUS_LABEL,
2826
+ icon: /* @__PURE__ */ React39.createElement(BorderCornersIcon, { fontSize: "tiny" }),
2827
+ tooltipLabel: __17("Adjust corners", "elementor"),
2737
2828
  multiSizePropTypeUtil: borderRadiusPropTypeUtil
2738
2829
  }
2739
2830
  )));
2740
2831
  };
2741
2832
 
2742
2833
  // src/components/style-sections/border-section/border-section.tsx
2743
- var BorderSection = () => /* @__PURE__ */ React39.createElement(SectionContent, null, /* @__PURE__ */ React39.createElement(BorderRadiusField, null), /* @__PURE__ */ React39.createElement(PanelDivider, null), /* @__PURE__ */ React39.createElement(BorderField, null));
2834
+ var BorderSection = () => /* @__PURE__ */ React40.createElement(SectionContent, null, /* @__PURE__ */ React40.createElement(BorderRadiusField, null), /* @__PURE__ */ React40.createElement(PanelDivider, null), /* @__PURE__ */ React40.createElement(BorderField, null));
2744
2835
 
2745
2836
  // src/components/style-sections/effects-section/effects-section.tsx
2746
- import * as React41 from "react";
2747
- import { BoxShadowRepeaterControl } from "@elementor/editor-controls";
2837
+ import * as React42 from "react";
2838
+ import { BoxShadowRepeaterControl, FilterRepeaterControl } from "@elementor/editor-controls";
2839
+ import { isExperimentActive as isExperimentActive9 } from "@elementor/editor-v1-adapters";
2840
+ import { __ as __19 } from "@wordpress/i18n";
2748
2841
 
2749
2842
  // src/components/style-sections/layout-section/opacity-control-field.tsx
2750
- import * as React40 from "react";
2843
+ import * as React41 from "react";
2751
2844
  import { useRef as useRef4 } from "react";
2752
2845
  import { SizeControl as SizeControl2 } from "@elementor/editor-controls";
2753
- import { Grid as Grid3 } from "@elementor/ui";
2754
- import { __ as __16 } from "@wordpress/i18n";
2846
+ import { __ as __18 } from "@wordpress/i18n";
2847
+ var OPACITY_LABEL = __18("Opacity", "elementor");
2755
2848
  var OpacityControlField = () => {
2756
- const rowRef = useRef4();
2757
- return /* @__PURE__ */ React40.createElement(StylesField, { bind: "opacity" }, /* @__PURE__ */ React40.createElement(Grid3, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React40.createElement(Grid3, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(ControlLabel, null, __16("Opacity", "elementor"))), /* @__PURE__ */ React40.createElement(Grid3, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(SizeControl2, { units: ["%"], anchorRef: rowRef, defaultUnit: "%" }))));
2849
+ const rowRef = useRef4(null);
2850
+ return /* @__PURE__ */ React41.createElement(StylesField, { bind: "opacity", propDisplayName: OPACITY_LABEL }, /* @__PURE__ */ React41.createElement(StylesFieldLayout, { ref: rowRef, label: OPACITY_LABEL }, /* @__PURE__ */ React41.createElement(SizeControl2, { units: ["%"], anchorRef: rowRef, defaultUnit: "%" })));
2758
2851
  };
2759
2852
 
2760
2853
  // src/components/style-sections/effects-section/effects-section.tsx
2854
+ var BOX_SHADOW_LABEL = __19("Box shadow", "elementor");
2855
+ var FILTER_LABEL = __19("Filter", "elementor");
2761
2856
  var EffectsSection = () => {
2762
- return /* @__PURE__ */ React41.createElement(SectionContent, null, /* @__PURE__ */ React41.createElement(StylesField, { bind: "opacity" }, /* @__PURE__ */ React41.createElement(OpacityControlField, null)), /* @__PURE__ */ React41.createElement(PanelDivider, null), /* @__PURE__ */ React41.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React41.createElement(BoxShadowRepeaterControl, null)));
2857
+ const isVersion331Active = isExperimentActive9(EXPERIMENTAL_FEATURES.V_3_31);
2858
+ return /* @__PURE__ */ React42.createElement(SectionContent, null, /* @__PURE__ */ React42.createElement(OpacityControlField, null), /* @__PURE__ */ React42.createElement(PanelDivider, null), /* @__PURE__ */ React42.createElement(StylesField, { bind: "box-shadow", propDisplayName: BOX_SHADOW_LABEL }, /* @__PURE__ */ React42.createElement(BoxShadowRepeaterControl, null)), isVersion331Active && /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement(PanelDivider, null), /* @__PURE__ */ React42.createElement(StylesField, { bind: "filter", propDisplayName: FILTER_LABEL }, /* @__PURE__ */ React42.createElement(FilterRepeaterControl, null))));
2763
2859
  };
2764
2860
 
2765
2861
  // src/components/style-sections/layout-section/layout-section.tsx
2766
- import * as React53 from "react";
2862
+ import * as React54 from "react";
2767
2863
  import { ControlFormLabel as ControlFormLabel4 } from "@elementor/editor-controls";
2768
2864
  import { useParentElement } from "@elementor/editor-elements";
2769
- import { __ as __27 } from "@wordpress/i18n";
2865
+ import { __ as __30 } from "@wordpress/i18n";
2770
2866
 
2771
2867
  // src/hooks/use-computed-style.ts
2772
2868
  import { __privateUseListenTo as useListenTo, commandEndEvent, windowEvent } from "@elementor/editor-v1-adapters";
@@ -2794,7 +2890,7 @@ function useComputedStyle(elementId) {
2794
2890
  }
2795
2891
 
2796
2892
  // src/components/style-sections/layout-section/align-content-field.tsx
2797
- import * as React43 from "react";
2893
+ import * as React44 from "react";
2798
2894
  import { ToggleControl } from "@elementor/editor-controls";
2799
2895
  import {
2800
2896
  JustifyBottomIcon,
@@ -2804,11 +2900,11 @@ import {
2804
2900
  JustifySpaceBetweenVerticalIcon as BetweenIcon,
2805
2901
  JustifyTopIcon
2806
2902
  } from "@elementor/icons";
2807
- import { Stack as Stack10, withDirection as withDirection3 } from "@elementor/ui";
2808
- import { __ as __17 } from "@wordpress/i18n";
2903
+ import { withDirection as withDirection3 } from "@elementor/ui";
2904
+ import { __ as __20 } from "@wordpress/i18n";
2809
2905
 
2810
2906
  // src/components/style-sections/layout-section/utils/rotated-icon.tsx
2811
- import * as React42 from "react";
2907
+ import * as React43 from "react";
2812
2908
  import { useRef as useRef5 } from "react";
2813
2909
  import { useTheme as useTheme2 } from "@elementor/ui";
2814
2910
  var CLOCKWISE_ANGLES = {
@@ -2832,7 +2928,7 @@ var RotatedIcon = ({
2832
2928
  }) => {
2833
2929
  const rotate = useRef5(useGetTargetAngle(isClockwise, offset, disableRotationForReversed));
2834
2930
  rotate.current = useGetTargetAngle(isClockwise, offset, disableRotationForReversed, rotate);
2835
- return /* @__PURE__ */ React42.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
2931
+ return /* @__PURE__ */ React43.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
2836
2932
  };
2837
2933
  var useGetTargetAngle = (isClockwise, offset, disableRotationForReversed, existingRef) => {
2838
2934
  const { value: direction } = useStylesField("flex-direction");
@@ -2851,6 +2947,7 @@ var useGetTargetAngle = (isClockwise, offset, disableRotationForReversed, existi
2851
2947
  };
2852
2948
 
2853
2949
  // src/components/style-sections/layout-section/align-content-field.tsx
2950
+ var ALIGN_CONTENT_LABEL = __20("Align content", "elementor");
2854
2951
  var StartIcon = withDirection3(JustifyTopIcon);
2855
2952
  var EndIcon = withDirection3(JustifyBottomIcon);
2856
2953
  var iconProps = {
@@ -2861,47 +2958,45 @@ var iconProps = {
2861
2958
  var options = [
2862
2959
  {
2863
2960
  value: "start",
2864
- label: __17("Start", "elementor"),
2865
- renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
2961
+ label: __20("Start", "elementor"),
2962
+ renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
2866
2963
  showTooltip: true
2867
2964
  },
2868
2965
  {
2869
2966
  value: "center",
2870
- label: __17("Center", "elementor"),
2871
- renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: CenterIcon, size, ...iconProps }),
2967
+ label: __20("Center", "elementor"),
2968
+ renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: CenterIcon, size, ...iconProps }),
2872
2969
  showTooltip: true
2873
2970
  },
2874
2971
  {
2875
2972
  value: "end",
2876
- label: __17("End", "elementor"),
2877
- renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
2973
+ label: __20("End", "elementor"),
2974
+ renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
2878
2975
  showTooltip: true
2879
2976
  },
2880
2977
  {
2881
2978
  value: "space-between",
2882
- label: __17("Space between", "elementor"),
2883
- renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: BetweenIcon, size, ...iconProps }),
2979
+ label: __20("Space between", "elementor"),
2980
+ renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: BetweenIcon, size, ...iconProps }),
2884
2981
  showTooltip: true
2885
2982
  },
2886
2983
  {
2887
2984
  value: "space-around",
2888
- label: __17("Space around", "elementor"),
2889
- renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: AroundIcon, size, ...iconProps }),
2985
+ label: __20("Space around", "elementor"),
2986
+ renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: AroundIcon, size, ...iconProps }),
2890
2987
  showTooltip: true
2891
2988
  },
2892
2989
  {
2893
2990
  value: "space-evenly",
2894
- label: __17("Space evenly", "elementor"),
2895
- renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: EvenlyIcon, size, ...iconProps }),
2991
+ label: __20("Space evenly", "elementor"),
2992
+ renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: EvenlyIcon, size, ...iconProps }),
2896
2993
  showTooltip: true
2897
2994
  }
2898
2995
  ];
2899
- var AlignContentField = () => {
2900
- return /* @__PURE__ */ React43.createElement(UiProviders, null, /* @__PURE__ */ React43.createElement(StylesField, { bind: "align-content" }, /* @__PURE__ */ React43.createElement(Stack10, { gap: 1 }, /* @__PURE__ */ React43.createElement(ControlLabel, null, __17("Align content", "elementor")), /* @__PURE__ */ React43.createElement(ToggleControl, { options, fullWidth: true }))));
2901
- };
2996
+ var AlignContentField = () => /* @__PURE__ */ React44.createElement(StylesField, { bind: "align-content", propDisplayName: ALIGN_CONTENT_LABEL }, /* @__PURE__ */ React44.createElement(UiProviders, null, /* @__PURE__ */ React44.createElement(StylesFieldLayout, { label: ALIGN_CONTENT_LABEL, direction: "column" }, /* @__PURE__ */ React44.createElement(ToggleControl, { options, fullWidth: true }))));
2902
2997
 
2903
2998
  // src/components/style-sections/layout-section/align-items-field.tsx
2904
- import * as React44 from "react";
2999
+ import * as React45 from "react";
2905
3000
  import { ToggleControl as ToggleControl2 } from "@elementor/editor-controls";
2906
3001
  import {
2907
3002
  LayoutAlignCenterIcon as CenterIcon2,
@@ -2909,8 +3004,9 @@ import {
2909
3004
  LayoutAlignRightIcon,
2910
3005
  LayoutDistributeVerticalIcon as JustifyIcon
2911
3006
  } from "@elementor/icons";
2912
- import { Grid as Grid4, withDirection as withDirection4 } from "@elementor/ui";
2913
- import { __ as __18 } from "@wordpress/i18n";
3007
+ import { withDirection as withDirection4 } from "@elementor/ui";
3008
+ import { __ as __21 } from "@wordpress/i18n";
3009
+ var ALIGN_ITEMS_LABEL = __21("Align items", "elementor");
2914
3010
  var StartIcon2 = withDirection4(LayoutAlignLeftIcon);
2915
3011
  var EndIcon2 = withDirection4(LayoutAlignRightIcon);
2916
3012
  var iconProps2 = {
@@ -2920,35 +3016,35 @@ var iconProps2 = {
2920
3016
  var options2 = [
2921
3017
  {
2922
3018
  value: "start",
2923
- label: __18("Start", "elementor"),
2924
- renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
3019
+ label: __21("Start", "elementor"),
3020
+ renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
2925
3021
  showTooltip: true
2926
3022
  },
2927
3023
  {
2928
3024
  value: "center",
2929
- label: __18("Center", "elementor"),
2930
- renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: CenterIcon2, size, ...iconProps2 }),
3025
+ label: __21("Center", "elementor"),
3026
+ renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(RotatedIcon, { icon: CenterIcon2, size, ...iconProps2 }),
2931
3027
  showTooltip: true
2932
3028
  },
2933
3029
  {
2934
3030
  value: "end",
2935
- label: __18("End", "elementor"),
2936
- renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
3031
+ label: __21("End", "elementor"),
3032
+ renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
2937
3033
  showTooltip: true
2938
3034
  },
2939
3035
  {
2940
3036
  value: "stretch",
2941
- label: __18("Stretch", "elementor"),
2942
- renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: JustifyIcon, size, ...iconProps2 }),
3037
+ label: __21("Stretch", "elementor"),
3038
+ renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(RotatedIcon, { icon: JustifyIcon, size, ...iconProps2 }),
2943
3039
  showTooltip: true
2944
3040
  }
2945
3041
  ];
2946
3042
  var AlignItemsField = () => {
2947
- return /* @__PURE__ */ React44.createElement(UiProviders, null, /* @__PURE__ */ React44.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React44.createElement(Grid4, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(Grid4, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(ControlLabel, null, __18("Align items", "elementor"))), /* @__PURE__ */ React44.createElement(Grid4, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React44.createElement(ToggleControl2, { options: options2 })))));
3043
+ return /* @__PURE__ */ React45.createElement(UiProviders, null, /* @__PURE__ */ React45.createElement(StylesField, { bind: "align-items", propDisplayName: ALIGN_ITEMS_LABEL }, /* @__PURE__ */ React45.createElement(StylesFieldLayout, { label: ALIGN_ITEMS_LABEL }, /* @__PURE__ */ React45.createElement(ToggleControl2, { options: options2 }))));
2948
3044
  };
2949
3045
 
2950
3046
  // src/components/style-sections/layout-section/align-self-child-field.tsx
2951
- import * as React45 from "react";
3047
+ import * as React46 from "react";
2952
3048
  import { ToggleControl as ToggleControl3 } from "@elementor/editor-controls";
2953
3049
  import {
2954
3050
  LayoutAlignCenterIcon as CenterIcon3,
@@ -2956,8 +3052,9 @@ import {
2956
3052
  LayoutAlignRightIcon as LayoutAlignRightIcon2,
2957
3053
  LayoutDistributeVerticalIcon as JustifyIcon2
2958
3054
  } from "@elementor/icons";
2959
- import { Grid as Grid5, withDirection as withDirection5 } from "@elementor/ui";
2960
- import { __ as __19 } from "@wordpress/i18n";
3055
+ import { withDirection as withDirection5 } from "@elementor/ui";
3056
+ import { __ as __22 } from "@wordpress/i18n";
3057
+ var ALIGN_SELF_LABEL = __22("Align self", "elementor");
2961
3058
  var ALIGN_SELF_CHILD_OFFSET_MAP = {
2962
3059
  row: 90,
2963
3060
  "row-reverse": 90,
@@ -2972,8 +3069,8 @@ var iconProps3 = {
2972
3069
  var getOptions = (parentStyleDirection) => [
2973
3070
  {
2974
3071
  value: "start",
2975
- label: __19("Start", "elementor"),
2976
- renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(
3072
+ label: __22("Start", "elementor"),
3073
+ renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(
2977
3074
  RotatedIcon,
2978
3075
  {
2979
3076
  icon: StartIcon3,
@@ -2986,8 +3083,8 @@ var getOptions = (parentStyleDirection) => [
2986
3083
  },
2987
3084
  {
2988
3085
  value: "center",
2989
- label: __19("Center", "elementor"),
2990
- renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(
3086
+ label: __22("Center", "elementor"),
3087
+ renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(
2991
3088
  RotatedIcon,
2992
3089
  {
2993
3090
  icon: CenterIcon3,
@@ -3000,8 +3097,8 @@ var getOptions = (parentStyleDirection) => [
3000
3097
  },
3001
3098
  {
3002
3099
  value: "end",
3003
- label: __19("End", "elementor"),
3004
- renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(
3100
+ label: __22("End", "elementor"),
3101
+ renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(
3005
3102
  RotatedIcon,
3006
3103
  {
3007
3104
  icon: EndIcon3,
@@ -3014,8 +3111,8 @@ var getOptions = (parentStyleDirection) => [
3014
3111
  },
3015
3112
  {
3016
3113
  value: "stretch",
3017
- label: __19("Stretch", "elementor"),
3018
- renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(
3114
+ label: __22("Stretch", "elementor"),
3115
+ renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(
3019
3116
  RotatedIcon,
3020
3117
  {
3021
3118
  icon: JustifyIcon2,
@@ -3027,107 +3124,107 @@ var getOptions = (parentStyleDirection) => [
3027
3124
  showTooltip: true
3028
3125
  }
3029
3126
  ];
3030
- var AlignSelfChild = ({ parentStyleDirection }) => {
3031
- return /* @__PURE__ */ React45.createElement(UiProviders, null, /* @__PURE__ */ React45.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React45.createElement(Grid5, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React45.createElement(Grid5, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(ControlLabel, null, __19("Align self", "elementor"))), /* @__PURE__ */ React45.createElement(Grid5, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React45.createElement(ToggleControl3, { options: getOptions(parentStyleDirection) })))));
3032
- };
3127
+ var AlignSelfChild = ({ parentStyleDirection }) => /* @__PURE__ */ React46.createElement(StylesField, { bind: "align-self", propDisplayName: ALIGN_SELF_LABEL }, /* @__PURE__ */ React46.createElement(UiProviders, null, /* @__PURE__ */ React46.createElement(StylesFieldLayout, { label: ALIGN_SELF_LABEL }, /* @__PURE__ */ React46.createElement(ToggleControl3, { options: getOptions(parentStyleDirection) }))));
3033
3128
 
3034
3129
  // src/components/style-sections/layout-section/display-field.tsx
3035
- import * as React46 from "react";
3130
+ import * as React47 from "react";
3036
3131
  import { ToggleControl as ToggleControl4 } from "@elementor/editor-controls";
3037
- import { isExperimentActive as isExperimentActive7 } from "@elementor/editor-v1-adapters";
3038
- import { Stack as Stack11 } from "@elementor/ui";
3039
- import { __ as __20 } from "@wordpress/i18n";
3132
+ import { isExperimentActive as isExperimentActive10 } from "@elementor/editor-v1-adapters";
3133
+ import { __ as __23 } from "@wordpress/i18n";
3134
+ var DISPLAY_LABEL = __23("Display", "elementor");
3040
3135
  var displayFieldItems = [
3041
3136
  {
3042
3137
  value: "block",
3043
- renderContent: () => __20("Block", "elementor"),
3044
- label: __20("Block", "elementor"),
3138
+ renderContent: () => __23("Block", "elementor"),
3139
+ label: __23("Block", "elementor"),
3045
3140
  showTooltip: true
3046
3141
  },
3047
3142
  {
3048
3143
  value: "flex",
3049
- renderContent: () => __20("Flex", "elementor"),
3050
- label: __20("Flex", "elementor"),
3144
+ renderContent: () => __23("Flex", "elementor"),
3145
+ label: __23("Flex", "elementor"),
3051
3146
  showTooltip: true
3052
3147
  },
3053
3148
  {
3054
3149
  value: "inline-block",
3055
- renderContent: () => __20("In-blk", "elementor"),
3056
- label: __20("Inline-block", "elementor"),
3150
+ renderContent: () => __23("In-blk", "elementor"),
3151
+ label: __23("Inline-block", "elementor"),
3057
3152
  showTooltip: true
3058
3153
  }
3059
3154
  ];
3060
3155
  var DisplayField = () => {
3061
- const isDisplayNoneFeatureActive = isExperimentActive7(EXPERIMENTAL_FEATURES.V_3_30);
3156
+ const isDisplayNoneFeatureActive = isExperimentActive10(EXPERIMENTAL_FEATURES.V_3_30);
3062
3157
  const items3 = [...displayFieldItems];
3063
3158
  if (isDisplayNoneFeatureActive) {
3064
3159
  items3.push({
3065
3160
  value: "none",
3066
- renderContent: () => __20("None", "elementor"),
3067
- label: __20("None", "elementor"),
3161
+ renderContent: () => __23("None", "elementor"),
3162
+ label: __23("None", "elementor"),
3068
3163
  showTooltip: true
3069
3164
  });
3070
3165
  }
3071
3166
  items3.push({
3072
3167
  value: "inline-flex",
3073
- renderContent: () => __20("In-flx", "elementor"),
3074
- label: __20("Inline-flex", "elementor"),
3168
+ renderContent: () => __23("In-flx", "elementor"),
3169
+ label: __23("Inline-flex", "elementor"),
3075
3170
  showTooltip: true
3076
3171
  });
3077
3172
  const placeholder = useDisplayPlaceholderValue();
3078
- return /* @__PURE__ */ React46.createElement(StylesField, { bind: "display", placeholder }, /* @__PURE__ */ React46.createElement(Stack11, { gap: 0.75 }, /* @__PURE__ */ React46.createElement(ControlLabel, null, __20("Display", "elementor")), /* @__PURE__ */ React46.createElement(ToggleControl4, { options: items3, maxItems: 4, fullWidth: true })));
3173
+ return /* @__PURE__ */ React47.createElement(StylesField, { bind: "display", propDisplayName: DISPLAY_LABEL, placeholder }, /* @__PURE__ */ React47.createElement(StylesFieldLayout, { label: DISPLAY_LABEL, direction: "column" }, /* @__PURE__ */ React47.createElement(ToggleControl4, { options: items3, maxItems: 4, fullWidth: true })));
3079
3174
  };
3080
3175
  var useDisplayPlaceholderValue = () => useStylesInheritanceChain(["display"])[0]?.value ?? void 0;
3081
3176
 
3082
3177
  // src/components/style-sections/layout-section/flex-direction-field.tsx
3083
- import * as React47 from "react";
3178
+ import * as React48 from "react";
3084
3179
  import { ToggleControl as ToggleControl5 } from "@elementor/editor-controls";
3085
3180
  import { ArrowDownSmallIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpSmallIcon } from "@elementor/icons";
3086
- import { Grid as Grid6, withDirection as withDirection6 } from "@elementor/ui";
3087
- import { __ as __21 } from "@wordpress/i18n";
3181
+ import { withDirection as withDirection6 } from "@elementor/ui";
3182
+ import { __ as __24 } from "@wordpress/i18n";
3183
+ var FLEX_DIRECTION_LABEL = __24("Direction", "elementor");
3088
3184
  var options3 = [
3089
3185
  {
3090
3186
  value: "row",
3091
- label: __21("Row", "elementor"),
3187
+ label: __24("Row", "elementor"),
3092
3188
  renderContent: ({ size }) => {
3093
3189
  const StartIcon5 = withDirection6(ArrowRightIcon);
3094
- return /* @__PURE__ */ React47.createElement(StartIcon5, { fontSize: size });
3190
+ return /* @__PURE__ */ React48.createElement(StartIcon5, { fontSize: size });
3095
3191
  },
3096
3192
  showTooltip: true
3097
3193
  },
3098
3194
  {
3099
3195
  value: "column",
3100
- label: __21("Column", "elementor"),
3101
- renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(ArrowDownSmallIcon, { fontSize: size }),
3196
+ label: __24("Column", "elementor"),
3197
+ renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(ArrowDownSmallIcon, { fontSize: size }),
3102
3198
  showTooltip: true
3103
3199
  },
3104
3200
  {
3105
3201
  value: "row-reverse",
3106
- label: __21("Reversed row", "elementor"),
3202
+ label: __24("Reversed row", "elementor"),
3107
3203
  renderContent: ({ size }) => {
3108
3204
  const EndIcon5 = withDirection6(ArrowLeftIcon);
3109
- return /* @__PURE__ */ React47.createElement(EndIcon5, { fontSize: size });
3205
+ return /* @__PURE__ */ React48.createElement(EndIcon5, { fontSize: size });
3110
3206
  },
3111
3207
  showTooltip: true
3112
3208
  },
3113
3209
  {
3114
3210
  value: "column-reverse",
3115
- label: __21("Reversed column", "elementor"),
3116
- renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(ArrowUpSmallIcon, { fontSize: size }),
3211
+ label: __24("Reversed column", "elementor"),
3212
+ renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(ArrowUpSmallIcon, { fontSize: size }),
3117
3213
  showTooltip: true
3118
3214
  }
3119
3215
  ];
3120
3216
  var FlexDirectionField = () => {
3121
- return /* @__PURE__ */ React47.createElement(UiProviders, null, /* @__PURE__ */ React47.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React47.createElement(Grid6, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(Grid6, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel, null, __21("Direction", "elementor"))), /* @__PURE__ */ React47.createElement(Grid6, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React47.createElement(ToggleControl5, { options: options3 })))));
3217
+ return /* @__PURE__ */ React48.createElement(StylesField, { bind: "flex-direction", propDisplayName: FLEX_DIRECTION_LABEL }, /* @__PURE__ */ React48.createElement(UiProviders, null, /* @__PURE__ */ React48.createElement(StylesFieldLayout, { label: FLEX_DIRECTION_LABEL }, /* @__PURE__ */ React48.createElement(ToggleControl5, { options: options3 }))));
3122
3218
  };
3123
3219
 
3124
3220
  // src/components/style-sections/layout-section/flex-order-field.tsx
3125
- import * as React48 from "react";
3221
+ import * as React49 from "react";
3126
3222
  import { useState as useState10 } from "react";
3127
3223
  import { ControlToggleButtonGroup, NumberControl } from "@elementor/editor-controls";
3128
3224
  import { ArrowDownSmallIcon as ArrowDownSmallIcon2, ArrowUpSmallIcon as ArrowUpSmallIcon2, PencilIcon } from "@elementor/icons";
3129
- import { Grid as Grid7 } from "@elementor/ui";
3130
- import { __ as __22 } from "@wordpress/i18n";
3225
+ import { Grid as Grid2 } from "@elementor/ui";
3226
+ import { __ as __25 } from "@wordpress/i18n";
3227
+ var ORDER_LABEL = __25("Order", "elementor");
3131
3228
  var FIRST_DEFAULT_VALUE = -99999;
3132
3229
  var LAST_DEFAULT_VALUE = 99999;
3133
3230
  var FIRST = "first";
@@ -3140,20 +3237,20 @@ var orderValueMap = {
3140
3237
  var items = [
3141
3238
  {
3142
3239
  value: FIRST,
3143
- label: __22("First", "elementor"),
3144
- renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(ArrowUpSmallIcon2, { fontSize: size }),
3240
+ label: __25("First", "elementor"),
3241
+ renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(ArrowUpSmallIcon2, { fontSize: size }),
3145
3242
  showTooltip: true
3146
3243
  },
3147
3244
  {
3148
3245
  value: LAST,
3149
- label: __22("Last", "elementor"),
3150
- renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(ArrowDownSmallIcon2, { fontSize: size }),
3246
+ label: __25("Last", "elementor"),
3247
+ renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(ArrowDownSmallIcon2, { fontSize: size }),
3151
3248
  showTooltip: true
3152
3249
  },
3153
3250
  {
3154
3251
  value: CUSTOM,
3155
- label: __22("Custom", "elementor"),
3156
- renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(PencilIcon, { fontSize: size }),
3252
+ label: __25("Custom", "elementor"),
3253
+ renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(PencilIcon, { fontSize: size }),
3157
3254
  showTooltip: true
3158
3255
  }
3159
3256
  ];
@@ -3168,7 +3265,7 @@ var FlexOrderField = () => {
3168
3265
  }
3169
3266
  setOrder({ $$type: "number", value: orderValueMap[group] });
3170
3267
  };
3171
- return /* @__PURE__ */ React48.createElement(UiProviders, null, /* @__PURE__ */ React48.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React48.createElement(SectionContent, null, /* @__PURE__ */ React48.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(ControlLabel, null, __22("Order", "elementor"))), /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React48.createElement(
3268
+ return /* @__PURE__ */ React49.createElement(StylesField, { bind: "order", propDisplayName: ORDER_LABEL }, /* @__PURE__ */ React49.createElement(UiProviders, null, /* @__PURE__ */ React49.createElement(StylesFieldLayout, { label: ORDER_LABEL }, /* @__PURE__ */ React49.createElement(SectionContent, null, /* @__PURE__ */ React49.createElement(
3172
3269
  ControlToggleButtonGroup,
3173
3270
  {
3174
3271
  items,
@@ -3177,14 +3274,14 @@ var FlexOrderField = () => {
3177
3274
  exclusive: true,
3178
3275
  disabled: !canEdit
3179
3276
  }
3180
- ))), CUSTOM === groupControlValue && /* @__PURE__ */ React48.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(ControlLabel, null, __22("Custom order", "elementor"))), /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React48.createElement(
3277
+ ), CUSTOM === groupControlValue && /* @__PURE__ */ React49.createElement(Grid2, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(Grid2, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(ControlLabel, null, __25("Custom order", "elementor"))), /* @__PURE__ */ React49.createElement(Grid2, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React49.createElement(
3181
3278
  NumberControl,
3182
3279
  {
3183
3280
  min: FIRST_DEFAULT_VALUE + 1,
3184
3281
  max: LAST_DEFAULT_VALUE - 1,
3185
3282
  shouldForceInt: true
3186
3283
  }
3187
- ))))));
3284
+ )))))));
3188
3285
  };
3189
3286
  var getGroupControlValue = (order) => {
3190
3287
  if (LAST_DEFAULT_VALUE === order) {
@@ -3197,8 +3294,8 @@ var getGroupControlValue = (order) => {
3197
3294
  };
3198
3295
 
3199
3296
  // src/components/style-sections/layout-section/flex-size-field.tsx
3200
- import * as React49 from "react";
3201
- import { useMemo as useMemo5, useRef as useRef6, useState as useState11 } from "react";
3297
+ import * as React50 from "react";
3298
+ import { useMemo as useMemo6, useRef as useRef6, useState as useState11 } from "react";
3202
3299
  import {
3203
3300
  ControlToggleButtonGroup as ControlToggleButtonGroup2,
3204
3301
  NumberControl as NumberControl2,
@@ -3206,26 +3303,26 @@ import {
3206
3303
  } from "@elementor/editor-controls";
3207
3304
  import { numberPropTypeUtil } from "@elementor/editor-props";
3208
3305
  import { ExpandIcon, PencilIcon as PencilIcon2, ShrinkIcon } from "@elementor/icons";
3209
- import { Grid as Grid8 } from "@elementor/ui";
3210
- import { __ as __23 } from "@wordpress/i18n";
3306
+ import { __ as __26 } from "@wordpress/i18n";
3307
+ var FLEX_SIZE_LABEL = __26("Flex Size", "elementor");
3211
3308
  var DEFAULT = 1;
3212
3309
  var items2 = [
3213
3310
  {
3214
3311
  value: "flex-grow",
3215
- label: __23("Grow", "elementor"),
3216
- renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(ExpandIcon, { fontSize: size }),
3312
+ label: __26("Grow", "elementor"),
3313
+ renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(ExpandIcon, { fontSize: size }),
3217
3314
  showTooltip: true
3218
3315
  },
3219
3316
  {
3220
3317
  value: "flex-shrink",
3221
- label: __23("Shrink", "elementor"),
3222
- renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(ShrinkIcon, { fontSize: size }),
3318
+ label: __26("Shrink", "elementor"),
3319
+ renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(ShrinkIcon, { fontSize: size }),
3223
3320
  showTooltip: true
3224
3321
  },
3225
3322
  {
3226
3323
  value: "custom",
3227
- label: __23("Custom", "elementor"),
3228
- renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(PencilIcon2, { fontSize: size }),
3324
+ label: __26("Custom", "elementor"),
3325
+ renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(PencilIcon2, { fontSize: size }),
3229
3326
  showTooltip: true
3230
3327
  }
3231
3328
  ];
@@ -3234,7 +3331,7 @@ var FlexSizeField = () => {
3234
3331
  const grow = values?.["flex-grow"]?.value || null;
3235
3332
  const shrink = values?.["flex-shrink"]?.value || null;
3236
3333
  const basis = values?.["flex-basis"]?.value || null;
3237
- const currentGroup = useMemo5(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = useState11(currentGroup);
3334
+ const currentGroup = useMemo6(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = useState11(currentGroup);
3238
3335
  const onChangeGroup = (group = null) => {
3239
3336
  setActiveGroup(group);
3240
3337
  if (!group || group === "custom") {
@@ -3259,7 +3356,7 @@ var FlexSizeField = () => {
3259
3356
  "flex-shrink": numberPropTypeUtil.create(DEFAULT)
3260
3357
  });
3261
3358
  };
3262
- return /* @__PURE__ */ React49.createElement(UiProviders, null, /* @__PURE__ */ React49.createElement(SectionContent, null, /* @__PURE__ */ React49.createElement(Grid8, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(StylesField, { bind: activeGroup ?? "" }, /* @__PURE__ */ React49.createElement(Grid8, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(ControlLabel, null, __23("Size", "elementor"))), /* @__PURE__ */ React49.createElement(Grid8, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React49.createElement(
3359
+ return /* @__PURE__ */ React50.createElement(UiProviders, null, /* @__PURE__ */ React50.createElement(SectionContent, null, /* @__PURE__ */ React50.createElement(StylesField, { bind: activeGroup ?? "", propDisplayName: FLEX_SIZE_LABEL }, /* @__PURE__ */ React50.createElement(StylesFieldLayout, { label: FLEX_SIZE_LABEL }, /* @__PURE__ */ React50.createElement(
3263
3360
  ControlToggleButtonGroup2,
3264
3361
  {
3265
3362
  value: activeGroup,
@@ -3268,11 +3365,11 @@ var FlexSizeField = () => {
3268
3365
  items: items2,
3269
3366
  exclusive: true
3270
3367
  }
3271
- )))), "custom" === activeGroup && /* @__PURE__ */ React49.createElement(FlexCustomField, null)));
3368
+ ))), "custom" === activeGroup && /* @__PURE__ */ React50.createElement(FlexCustomField, null)));
3272
3369
  };
3273
3370
  var FlexCustomField = () => {
3274
- const flexBasisRowRef = useRef6();
3275
- return /* @__PURE__ */ React49.createElement(React49.Fragment, null, /* @__PURE__ */ React49.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React49.createElement(Grid8, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(Grid8, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(ControlLabel, null, __23("Grow", "elementor"))), /* @__PURE__ */ React49.createElement(Grid8, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React49.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React49.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React49.createElement(Grid8, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(Grid8, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(ControlLabel, null, __23("Shrink", "elementor"))), /* @__PURE__ */ React49.createElement(Grid8, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React49.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React49.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React49.createElement(Grid8, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: flexBasisRowRef }, /* @__PURE__ */ React49.createElement(Grid8, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(ControlLabel, null, __23("Basis", "elementor"))), /* @__PURE__ */ React49.createElement(Grid8, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React49.createElement(SizeControl3, { extendedOptions: ["auto"], anchorRef: flexBasisRowRef })))));
3371
+ const flexBasisRowRef = useRef6(null);
3372
+ return /* @__PURE__ */ React50.createElement(React50.Fragment, null, /* @__PURE__ */ React50.createElement(StylesField, { bind: "flex-grow", propDisplayName: FLEX_SIZE_LABEL }, /* @__PURE__ */ React50.createElement(StylesFieldLayout, { label: __26("Grow", "elementor") }, /* @__PURE__ */ React50.createElement(NumberControl2, { min: 0, shouldForceInt: true }))), /* @__PURE__ */ React50.createElement(StylesField, { bind: "flex-shrink", propDisplayName: FLEX_SIZE_LABEL }, /* @__PURE__ */ React50.createElement(StylesFieldLayout, { label: __26("Shrink", "elementor") }, /* @__PURE__ */ React50.createElement(NumberControl2, { min: 0, shouldForceInt: true }))), /* @__PURE__ */ React50.createElement(StylesField, { bind: "flex-basis", propDisplayName: FLEX_SIZE_LABEL }, /* @__PURE__ */ React50.createElement(StylesFieldLayout, { label: __26("Basis", "elementor"), ref: flexBasisRowRef }, /* @__PURE__ */ React50.createElement(SizeControl3, { extendedOptions: ["auto"], anchorRef: flexBasisRowRef }))));
3276
3373
  };
3277
3374
  var getActiveGroup = ({
3278
3375
  grow,
@@ -3295,16 +3392,16 @@ var getActiveGroup = ({
3295
3392
  };
3296
3393
 
3297
3394
  // src/components/style-sections/layout-section/gap-control-field.tsx
3298
- import * as React50 from "react";
3395
+ import * as React51 from "react";
3299
3396
  import { GapControl } from "@elementor/editor-controls";
3300
- import { Stack as Stack12 } from "@elementor/ui";
3301
- import { __ as __24 } from "@wordpress/i18n";
3397
+ import { __ as __27 } from "@wordpress/i18n";
3398
+ var GAPS_LABEL = __27("Gaps", "elementor");
3302
3399
  var GapControlField = () => {
3303
- return /* @__PURE__ */ React50.createElement(Stack12, { gap: 1 }, /* @__PURE__ */ React50.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React50.createElement(GapControl, { label: __24("Gaps", "elementor") })));
3400
+ return /* @__PURE__ */ React51.createElement(StylesField, { bind: "gap", propDisplayName: GAPS_LABEL }, /* @__PURE__ */ React51.createElement(GapControl, { label: GAPS_LABEL }));
3304
3401
  };
3305
3402
 
3306
3403
  // src/components/style-sections/layout-section/justify-content-field.tsx
3307
- import * as React51 from "react";
3404
+ import * as React52 from "react";
3308
3405
  import { ToggleControl as ToggleControl6 } from "@elementor/editor-controls";
3309
3406
  import {
3310
3407
  JustifyBottomIcon as JustifyBottomIcon2,
@@ -3314,8 +3411,9 @@ import {
3314
3411
  JustifySpaceBetweenVerticalIcon as BetweenIcon2,
3315
3412
  JustifyTopIcon as JustifyTopIcon2
3316
3413
  } from "@elementor/icons";
3317
- import { Stack as Stack13, withDirection as withDirection7 } from "@elementor/ui";
3318
- import { __ as __25 } from "@wordpress/i18n";
3414
+ import { withDirection as withDirection7 } from "@elementor/ui";
3415
+ import { __ as __28 } from "@wordpress/i18n";
3416
+ var JUSTIFY_CONTENT_LABEL = __28("Justify content", "elementor");
3319
3417
  var StartIcon4 = withDirection7(JustifyTopIcon2);
3320
3418
  var EndIcon4 = withDirection7(JustifyBottomIcon2);
3321
3419
  var iconProps4 = {
@@ -3325,73 +3423,71 @@ var iconProps4 = {
3325
3423
  var options4 = [
3326
3424
  {
3327
3425
  value: "flex-start",
3328
- label: __25("Start", "elementor"),
3329
- renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(RotatedIcon, { icon: StartIcon4, size, ...iconProps4 }),
3426
+ label: __28("Start", "elementor"),
3427
+ renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(RotatedIcon, { icon: StartIcon4, size, ...iconProps4 }),
3330
3428
  showTooltip: true
3331
3429
  },
3332
3430
  {
3333
3431
  value: "center",
3334
- label: __25("Center", "elementor"),
3335
- renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(RotatedIcon, { icon: CenterIcon4, size, ...iconProps4 }),
3432
+ label: __28("Center", "elementor"),
3433
+ renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(RotatedIcon, { icon: CenterIcon4, size, ...iconProps4 }),
3336
3434
  showTooltip: true
3337
3435
  },
3338
3436
  {
3339
3437
  value: "flex-end",
3340
- label: __25("End", "elementor"),
3341
- renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(RotatedIcon, { icon: EndIcon4, size, ...iconProps4 }),
3438
+ label: __28("End", "elementor"),
3439
+ renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(RotatedIcon, { icon: EndIcon4, size, ...iconProps4 }),
3342
3440
  showTooltip: true
3343
3441
  },
3344
3442
  {
3345
3443
  value: "space-between",
3346
- label: __25("Space between", "elementor"),
3347
- renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(RotatedIcon, { icon: BetweenIcon2, size, ...iconProps4 }),
3444
+ label: __28("Space between", "elementor"),
3445
+ renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(RotatedIcon, { icon: BetweenIcon2, size, ...iconProps4 }),
3348
3446
  showTooltip: true
3349
3447
  },
3350
3448
  {
3351
3449
  value: "space-around",
3352
- label: __25("Space around", "elementor"),
3353
- renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(RotatedIcon, { icon: AroundIcon2, size, ...iconProps4 }),
3450
+ label: __28("Space around", "elementor"),
3451
+ renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(RotatedIcon, { icon: AroundIcon2, size, ...iconProps4 }),
3354
3452
  showTooltip: true
3355
3453
  },
3356
3454
  {
3357
3455
  value: "space-evenly",
3358
- label: __25("Space evenly", "elementor"),
3359
- renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(RotatedIcon, { icon: EvenlyIcon2, size, ...iconProps4 }),
3456
+ label: __28("Space evenly", "elementor"),
3457
+ renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(RotatedIcon, { icon: EvenlyIcon2, size, ...iconProps4 }),
3360
3458
  showTooltip: true
3361
3459
  }
3362
3460
  ];
3363
- var JustifyContentField = () => {
3364
- return /* @__PURE__ */ React51.createElement(UiProviders, null, /* @__PURE__ */ React51.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React51.createElement(Stack13, { gap: 0.75 }, /* @__PURE__ */ React51.createElement(ControlLabel, null, __25("Justify content", "elementor")), /* @__PURE__ */ React51.createElement(ToggleControl6, { options: options4, fullWidth: true }))));
3365
- };
3461
+ var JustifyContentField = () => /* @__PURE__ */ React52.createElement(StylesField, { bind: "justify-content", propDisplayName: JUSTIFY_CONTENT_LABEL }, /* @__PURE__ */ React52.createElement(UiProviders, null, /* @__PURE__ */ React52.createElement(StylesFieldLayout, { label: JUSTIFY_CONTENT_LABEL, direction: "column" }, /* @__PURE__ */ React52.createElement(ToggleControl6, { options: options4, fullWidth: true }))));
3366
3462
 
3367
3463
  // src/components/style-sections/layout-section/wrap-field.tsx
3368
- import * as React52 from "react";
3464
+ import * as React53 from "react";
3369
3465
  import { ToggleControl as ToggleControl7 } from "@elementor/editor-controls";
3370
3466
  import { ArrowBackIcon, ArrowForwardIcon, ArrowRightIcon as ArrowRightIcon2 } from "@elementor/icons";
3371
- import { Grid as Grid9 } from "@elementor/ui";
3372
- import { __ as __26 } from "@wordpress/i18n";
3467
+ import { __ as __29 } from "@wordpress/i18n";
3468
+ var FLEX_WRAP_LABEL = __29("Wrap", "elementor");
3373
3469
  var options5 = [
3374
3470
  {
3375
3471
  value: "nowrap",
3376
- label: __26("No wrap", "elementor"),
3377
- renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(ArrowRightIcon2, { fontSize: size }),
3472
+ label: __29("No wrap", "elementor"),
3473
+ renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(ArrowRightIcon2, { fontSize: size }),
3378
3474
  showTooltip: true
3379
3475
  },
3380
3476
  {
3381
3477
  value: "wrap",
3382
- label: __26("Wrap", "elementor"),
3383
- renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(ArrowBackIcon, { fontSize: size }),
3478
+ label: __29("Wrap", "elementor"),
3479
+ renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(ArrowBackIcon, { fontSize: size }),
3384
3480
  showTooltip: true
3385
3481
  },
3386
3482
  {
3387
3483
  value: "wrap-reverse",
3388
- label: __26("Reversed wrap", "elementor"),
3389
- renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(ArrowForwardIcon, { fontSize: size }),
3484
+ label: __29("Reversed wrap", "elementor"),
3485
+ renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(ArrowForwardIcon, { fontSize: size }),
3390
3486
  showTooltip: true
3391
3487
  }
3392
3488
  ];
3393
3489
  var WrapField = () => {
3394
- return /* @__PURE__ */ React52.createElement(UiProviders, null, /* @__PURE__ */ React52.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React52.createElement(Grid9, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(Grid9, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(ControlLabel, null, __26("Wrap", "elementor"))), /* @__PURE__ */ React52.createElement(Grid9, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React52.createElement(ToggleControl7, { options: options5 })))));
3490
+ return /* @__PURE__ */ React53.createElement(StylesField, { bind: "flex-wrap", propDisplayName: FLEX_WRAP_LABEL }, /* @__PURE__ */ React53.createElement(UiProviders, null, /* @__PURE__ */ React53.createElement(StylesFieldLayout, { label: FLEX_WRAP_LABEL }, /* @__PURE__ */ React53.createElement(ToggleControl7, { options: options5 }))));
3395
3491
  };
3396
3492
 
3397
3493
  // src/components/style-sections/layout-section/layout-section.tsx
@@ -3403,13 +3499,13 @@ var LayoutSection = () => {
3403
3499
  const parent = useParentElement(element.id);
3404
3500
  const parentStyle = useComputedStyle(parent?.id || null);
3405
3501
  const parentStyleDirection = parentStyle?.flexDirection ?? "row";
3406
- return /* @__PURE__ */ React53.createElement(SectionContent, null, /* @__PURE__ */ React53.createElement(DisplayField, null), isDisplayFlex && /* @__PURE__ */ React53.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React53.createElement(FlexChildFields, { parentStyleDirection }));
3502
+ return /* @__PURE__ */ React54.createElement(SectionContent, null, /* @__PURE__ */ React54.createElement(DisplayField, null), isDisplayFlex && /* @__PURE__ */ React54.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React54.createElement(FlexChildFields, { parentStyleDirection }));
3407
3503
  };
3408
3504
  var FlexFields = () => {
3409
3505
  const { value: flexWrap } = useStylesField("flex-wrap");
3410
- return /* @__PURE__ */ React53.createElement(React53.Fragment, null, /* @__PURE__ */ React53.createElement(FlexDirectionField, null), /* @__PURE__ */ React53.createElement(JustifyContentField, null), /* @__PURE__ */ React53.createElement(AlignItemsField, null), /* @__PURE__ */ React53.createElement(PanelDivider, null), /* @__PURE__ */ React53.createElement(GapControlField, null), /* @__PURE__ */ React53.createElement(WrapField, null), ["wrap", "wrap-reverse"].includes(flexWrap?.value) && /* @__PURE__ */ React53.createElement(AlignContentField, null));
3506
+ return /* @__PURE__ */ React54.createElement(React54.Fragment, null, /* @__PURE__ */ React54.createElement(FlexDirectionField, null), /* @__PURE__ */ React54.createElement(JustifyContentField, null), /* @__PURE__ */ React54.createElement(AlignItemsField, null), /* @__PURE__ */ React54.createElement(PanelDivider, null), /* @__PURE__ */ React54.createElement(GapControlField, null), /* @__PURE__ */ React54.createElement(WrapField, null), ["wrap", "wrap-reverse"].includes(flexWrap?.value) && /* @__PURE__ */ React54.createElement(AlignContentField, null));
3411
3507
  };
3412
- var FlexChildFields = ({ parentStyleDirection }) => /* @__PURE__ */ React53.createElement(React53.Fragment, null, /* @__PURE__ */ React53.createElement(PanelDivider, null), /* @__PURE__ */ React53.createElement(ControlFormLabel4, null, __27("Flex child", "elementor")), /* @__PURE__ */ React53.createElement(AlignSelfChild, { parentStyleDirection }), /* @__PURE__ */ React53.createElement(FlexOrderField, null), /* @__PURE__ */ React53.createElement(FlexSizeField, null));
3508
+ var FlexChildFields = ({ parentStyleDirection }) => /* @__PURE__ */ React54.createElement(React54.Fragment, null, /* @__PURE__ */ React54.createElement(PanelDivider, null), /* @__PURE__ */ React54.createElement(ControlFormLabel4, null, __30("Flex child", "elementor")), /* @__PURE__ */ React54.createElement(AlignSelfChild, { parentStyleDirection }), /* @__PURE__ */ React54.createElement(FlexOrderField, null), /* @__PURE__ */ React54.createElement(FlexSizeField, null));
3413
3509
  var shouldDisplayFlexFields = (display, local) => {
3414
3510
  const value = display?.value ?? local?.value;
3415
3511
  if (!value) {
@@ -3419,38 +3515,38 @@ var shouldDisplayFlexFields = (display, local) => {
3419
3515
  };
3420
3516
 
3421
3517
  // src/components/style-sections/position-section/position-section.tsx
3422
- import * as React58 from "react";
3423
- import { isExperimentActive as isExperimentActive8 } from "@elementor/editor-v1-adapters";
3518
+ import * as React59 from "react";
3519
+ import { isExperimentActive as isExperimentActive11 } from "@elementor/editor-v1-adapters";
3424
3520
  import { useSessionStorage } from "@elementor/session";
3425
3521
 
3426
3522
  // src/components/style-sections/position-section/dimensions-field.tsx
3427
- import * as React54 from "react";
3523
+ import * as React55 from "react";
3428
3524
  import { useRef as useRef7 } from "react";
3429
3525
  import { SizeControl as SizeControl4 } from "@elementor/editor-controls";
3430
3526
  import { SideBottomIcon as SideBottomIcon2, SideLeftIcon as SideLeftIcon2, SideRightIcon as SideRightIcon2, SideTopIcon as SideTopIcon2 } from "@elementor/icons";
3431
- import { Grid as Grid10, Stack as Stack14, withDirection as withDirection8 } from "@elementor/ui";
3432
- import { __ as __28 } from "@wordpress/i18n";
3527
+ import { Grid as Grid3, Stack as Stack11, withDirection as withDirection8 } from "@elementor/ui";
3528
+ import { __ as __31 } from "@wordpress/i18n";
3433
3529
  var InlineStartIcon2 = withDirection8(SideLeftIcon2);
3434
3530
  var InlineEndIcon2 = withDirection8(SideRightIcon2);
3435
3531
  var sideIcons = {
3436
- "inset-block-start": /* @__PURE__ */ React54.createElement(SideTopIcon2, { fontSize: "tiny" }),
3437
- "inset-block-end": /* @__PURE__ */ React54.createElement(SideBottomIcon2, { fontSize: "tiny" }),
3438
- "inset-inline-start": /* @__PURE__ */ React54.createElement(RotatedIcon, { icon: InlineStartIcon2, size: "tiny" }),
3439
- "inset-inline-end": /* @__PURE__ */ React54.createElement(RotatedIcon, { icon: InlineEndIcon2, size: "tiny" })
3532
+ "inset-block-start": /* @__PURE__ */ React55.createElement(SideTopIcon2, { fontSize: "tiny" }),
3533
+ "inset-block-end": /* @__PURE__ */ React55.createElement(SideBottomIcon2, { fontSize: "tiny" }),
3534
+ "inset-inline-start": /* @__PURE__ */ React55.createElement(RotatedIcon, { icon: InlineStartIcon2, size: "tiny" }),
3535
+ "inset-inline-end": /* @__PURE__ */ React55.createElement(RotatedIcon, { icon: InlineEndIcon2, size: "tiny" })
3440
3536
  };
3441
- var getInlineStartLabel = (isSiteRtl) => isSiteRtl ? __28("Right", "elementor") : __28("Left", "elementor");
3442
- var getInlineEndLabel = (isSiteRtl) => isSiteRtl ? __28("Left", "elementor") : __28("Right", "elementor");
3537
+ var getInlineStartLabel = (isSiteRtl) => isSiteRtl ? __31("Right", "elementor") : __31("Left", "elementor");
3538
+ var getInlineEndLabel = (isSiteRtl) => isSiteRtl ? __31("Left", "elementor") : __31("Right", "elementor");
3443
3539
  var DimensionsField = () => {
3444
3540
  const { isSiteRtl } = useDirection();
3445
- const rowRefs = [useRef7(), useRef7()];
3446
- return /* @__PURE__ */ React54.createElement(UiProviders, null, /* @__PURE__ */ React54.createElement(Stack14, { direction: "row", gap: 2, flexWrap: "nowrap", ref: rowRefs[0] }, /* @__PURE__ */ React54.createElement(DimensionField, { side: "inset-block-start", label: __28("Top", "elementor"), rowRef: rowRefs[0] }), /* @__PURE__ */ React54.createElement(
3541
+ const rowRefs = [useRef7(null), useRef7(null)];
3542
+ return /* @__PURE__ */ React55.createElement(UiProviders, null, /* @__PURE__ */ React55.createElement(Stack11, { direction: "row", gap: 2, flexWrap: "nowrap", ref: rowRefs[0] }, /* @__PURE__ */ React55.createElement(DimensionField, { side: "inset-block-start", label: __31("Top", "elementor"), rowRef: rowRefs[0] }), /* @__PURE__ */ React55.createElement(
3447
3543
  DimensionField,
3448
3544
  {
3449
3545
  side: "inset-inline-end",
3450
3546
  label: getInlineEndLabel(isSiteRtl),
3451
3547
  rowRef: rowRefs[0]
3452
3548
  }
3453
- )), /* @__PURE__ */ React54.createElement(Stack14, { direction: "row", gap: 2, flexWrap: "nowrap", ref: rowRefs[1] }, /* @__PURE__ */ React54.createElement(DimensionField, { side: "inset-block-end", label: __28("Bottom", "elementor"), rowRef: rowRefs[1] }), /* @__PURE__ */ React54.createElement(
3549
+ )), /* @__PURE__ */ React55.createElement(Stack11, { direction: "row", gap: 2, flexWrap: "nowrap", ref: rowRefs[1] }, /* @__PURE__ */ React55.createElement(DimensionField, { side: "inset-block-end", label: __31("Bottom", "elementor"), rowRef: rowRefs[1] }), /* @__PURE__ */ React55.createElement(
3454
3550
  DimensionField,
3455
3551
  {
3456
3552
  side: "inset-inline-start",
@@ -3463,42 +3559,43 @@ var DimensionField = ({
3463
3559
  side,
3464
3560
  label,
3465
3561
  rowRef
3466
- }) => /* @__PURE__ */ React54.createElement(StylesField, { bind: side }, /* @__PURE__ */ React54.createElement(Grid10, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React54.createElement(Grid10, { item: true, xs: 12 }, /* @__PURE__ */ React54.createElement(ControlLabel, null, label)), /* @__PURE__ */ React54.createElement(Grid10, { item: true, xs: 12 }, /* @__PURE__ */ React54.createElement(SizeControl4, { startIcon: sideIcons[side], extendedOptions: ["auto"], anchorRef: rowRef }))));
3562
+ }) => /* @__PURE__ */ React55.createElement(StylesField, { bind: side, propDisplayName: label }, /* @__PURE__ */ React55.createElement(Grid3, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React55.createElement(Grid3, { item: true, xs: 12 }, /* @__PURE__ */ React55.createElement(ControlLabel, null, label)), /* @__PURE__ */ React55.createElement(Grid3, { item: true, xs: 12 }, /* @__PURE__ */ React55.createElement(SizeControl4, { startIcon: sideIcons[side], extendedOptions: ["auto"], anchorRef: rowRef }))));
3467
3563
 
3468
3564
  // src/components/style-sections/position-section/offset-field.tsx
3469
- import * as React55 from "react";
3565
+ import * as React56 from "react";
3470
3566
  import { useRef as useRef8 } from "react";
3471
3567
  import { SizeControl as SizeControl5 } from "@elementor/editor-controls";
3472
- import { Grid as Grid11 } from "@elementor/ui";
3473
- import { __ as __29 } from "@wordpress/i18n";
3568
+ import { __ as __32 } from "@wordpress/i18n";
3569
+ var OFFSET_LABEL = __32("Anchor offset", "elementor");
3570
+ var UNITS = ["px", "em", "rem", "vw", "vh"];
3474
3571
  var OffsetField = () => {
3475
- const rowRef = useRef8();
3476
- return /* @__PURE__ */ React55.createElement(StylesField, { bind: "scroll-margin-top" }, /* @__PURE__ */ React55.createElement(Grid11, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React55.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(ControlLabel, null, __29("Anchor offset", "elementor"))), /* @__PURE__ */ React55.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(SizeControl5, { units: ["px", "em", "rem", "vw", "vh"], anchorRef: rowRef }))));
3572
+ const rowRef = useRef8(null);
3573
+ return /* @__PURE__ */ React56.createElement(StylesField, { bind: "scroll-margin-top", propDisplayName: OFFSET_LABEL }, /* @__PURE__ */ React56.createElement(StylesFieldLayout, { label: OFFSET_LABEL, ref: rowRef }, /* @__PURE__ */ React56.createElement(SizeControl5, { units: UNITS, anchorRef: rowRef })));
3477
3574
  };
3478
3575
 
3479
3576
  // src/components/style-sections/position-section/position-field.tsx
3480
- import * as React56 from "react";
3577
+ import * as React57 from "react";
3481
3578
  import { SelectControl as SelectControl3 } from "@elementor/editor-controls";
3482
- import { Grid as Grid12 } from "@elementor/ui";
3483
- import { __ as __30 } from "@wordpress/i18n";
3579
+ import { __ as __33 } from "@wordpress/i18n";
3580
+ var POSITION_LABEL = __33("Position", "elementor");
3484
3581
  var positionOptions = [
3485
- { label: __30("Static", "elementor"), value: "static" },
3486
- { label: __30("Relative", "elementor"), value: "relative" },
3487
- { label: __30("Absolute", "elementor"), value: "absolute" },
3488
- { label: __30("Fixed", "elementor"), value: "fixed" },
3489
- { label: __30("Sticky", "elementor"), value: "sticky" }
3582
+ { label: __33("Static", "elementor"), value: "static" },
3583
+ { label: __33("Relative", "elementor"), value: "relative" },
3584
+ { label: __33("Absolute", "elementor"), value: "absolute" },
3585
+ { label: __33("Fixed", "elementor"), value: "fixed" },
3586
+ { label: __33("Sticky", "elementor"), value: "sticky" }
3490
3587
  ];
3491
3588
  var PositionField = ({ onChange }) => {
3492
- return /* @__PURE__ */ React56.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React56.createElement(Grid12, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React56.createElement(Grid12, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(ControlLabel, null, __30("Position", "elementor"))), /* @__PURE__ */ React56.createElement(Grid12, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React56.createElement(SelectControl3, { options: positionOptions, onChange }))));
3589
+ return /* @__PURE__ */ React57.createElement(StylesField, { bind: "position", propDisplayName: POSITION_LABEL }, /* @__PURE__ */ React57.createElement(StylesFieldLayout, { label: POSITION_LABEL }, /* @__PURE__ */ React57.createElement(SelectControl3, { options: positionOptions, onChange })));
3493
3590
  };
3494
3591
 
3495
3592
  // src/components/style-sections/position-section/z-index-field.tsx
3496
- import * as React57 from "react";
3593
+ import * as React58 from "react";
3497
3594
  import { NumberControl as NumberControl3 } from "@elementor/editor-controls";
3498
- import { Grid as Grid13 } from "@elementor/ui";
3499
- import { __ as __31 } from "@wordpress/i18n";
3595
+ import { __ as __34 } from "@wordpress/i18n";
3596
+ var Z_INDEX_LABEL = __34("Z-index", "elementor");
3500
3597
  var ZIndexField = () => {
3501
- return /* @__PURE__ */ React57.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React57.createElement(Grid13, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React57.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(ControlLabel, null, __31("Z-index", "elementor"))), /* @__PURE__ */ React57.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(NumberControl3, null))));
3598
+ return /* @__PURE__ */ React58.createElement(StylesField, { bind: "z-index", propDisplayName: Z_INDEX_LABEL }, /* @__PURE__ */ React58.createElement(StylesFieldLayout, { label: Z_INDEX_LABEL }, /* @__PURE__ */ React58.createElement(NumberControl3, null)));
3502
3599
  };
3503
3600
 
3504
3601
  // src/components/style-sections/position-section/position-section.tsx
@@ -3511,7 +3608,7 @@ var PositionSection = () => {
3511
3608
  "inset-inline-end"
3512
3609
  ]);
3513
3610
  const [dimensionsValuesFromHistory, updateDimensionsHistory, clearDimensionsHistory] = usePersistDimensions();
3514
- const isCssIdFeatureActive = isExperimentActive8("e_v_3_30");
3611
+ const isCssIdFeatureActive = isExperimentActive11("e_v_3_30");
3515
3612
  const onPositionChange = (newPosition, previousPosition) => {
3516
3613
  if (newPosition === "static") {
3517
3614
  if (dimensions) {
@@ -3531,7 +3628,7 @@ var PositionSection = () => {
3531
3628
  }
3532
3629
  };
3533
3630
  const isNotStatic = positionValue && positionValue?.value !== "static";
3534
- return /* @__PURE__ */ React58.createElement(SectionContent, null, /* @__PURE__ */ React58.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React58.createElement(React58.Fragment, null, /* @__PURE__ */ React58.createElement(DimensionsField, null), /* @__PURE__ */ React58.createElement(ZIndexField, null)) : null, isCssIdFeatureActive && /* @__PURE__ */ React58.createElement(React58.Fragment, null, /* @__PURE__ */ React58.createElement(PanelDivider, null), /* @__PURE__ */ React58.createElement(OffsetField, null)));
3631
+ return /* @__PURE__ */ React59.createElement(SectionContent, null, /* @__PURE__ */ React59.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React59.createElement(React59.Fragment, null, /* @__PURE__ */ React59.createElement(DimensionsField, null), /* @__PURE__ */ React59.createElement(ZIndexField, null)) : null, isCssIdFeatureActive && /* @__PURE__ */ React59.createElement(React59.Fragment, null, /* @__PURE__ */ React59.createElement(PanelDivider, null), /* @__PURE__ */ React59.createElement(OffsetField, null)));
3535
3632
  };
3536
3633
  var usePersistDimensions = () => {
3537
3634
  const { id: styleDefID, meta } = useStyle();
@@ -3541,22 +3638,22 @@ var usePersistDimensions = () => {
3541
3638
  };
3542
3639
 
3543
3640
  // src/components/style-sections/size-section/size-section.tsx
3544
- import * as React64 from "react";
3641
+ import * as React65 from "react";
3545
3642
  import { useRef as useRef9 } from "react";
3546
3643
  import { AspectRatioControl, SizeControl as SizeControl6 } from "@elementor/editor-controls";
3547
- import { isExperimentActive as isExperimentActive10 } from "@elementor/editor-v1-adapters";
3548
- import { Grid as Grid16, Stack as Stack16 } from "@elementor/ui";
3549
- import { __ as __35 } from "@wordpress/i18n";
3644
+ import { isExperimentActive as isExperimentActive13 } from "@elementor/editor-v1-adapters";
3645
+ import { Grid as Grid4, Stack as Stack13 } from "@elementor/ui";
3646
+ import { __ as __39 } from "@wordpress/i18n";
3550
3647
 
3551
3648
  // src/components/style-tab-collapsible-content.tsx
3552
- import * as React60 from "react";
3553
- import { isExperimentActive as isExperimentActive9 } from "@elementor/editor-v1-adapters";
3649
+ import * as React61 from "react";
3650
+ import { isExperimentActive as isExperimentActive12 } from "@elementor/editor-v1-adapters";
3554
3651
 
3555
3652
  // src/styles-inheritance/components/styles-inheritance-section-indicators.tsx
3556
- import * as React59 from "react";
3653
+ import * as React60 from "react";
3557
3654
  import { isElementsStylesProvider as isElementsStylesProvider3 } from "@elementor/editor-styles-repository";
3558
- import { Stack as Stack15, Tooltip as Tooltip7 } from "@elementor/ui";
3559
- import { __ as __32 } from "@wordpress/i18n";
3655
+ import { Stack as Stack12, Tooltip as Tooltip7 } from "@elementor/ui";
3656
+ import { __ as __35 } from "@wordpress/i18n";
3560
3657
  var StylesInheritanceSectionIndicators = ({ fields }) => {
3561
3658
  const { id, meta, provider } = useStyle();
3562
3659
  const snapshot = useStylesInheritanceSnapshot();
@@ -3567,9 +3664,9 @@ var StylesInheritanceSectionIndicators = ({ fields }) => {
3567
3664
  if (!hasValues && !hasOverrides) {
3568
3665
  return null;
3569
3666
  }
3570
- const hasValueLabel = __32("Has effective styles", "elementor");
3571
- const hasOverridesLabel = __32("Has overridden styles", "elementor");
3572
- return /* @__PURE__ */ React59.createElement(Tooltip7, { title: __32("Has styles", "elementor"), placement: "top" }, /* @__PURE__ */ React59.createElement(Stack15, { direction: "row", sx: { "& > *": { marginInlineStart: -0.25 } }, role: "list" }, hasValues && provider && /* @__PURE__ */ React59.createElement(
3667
+ const hasValueLabel = __35("Has effective styles", "elementor");
3668
+ const hasOverridesLabel = __35("Has overridden styles", "elementor");
3669
+ return /* @__PURE__ */ React60.createElement(Tooltip7, { title: __35("Has styles", "elementor"), placement: "top" }, /* @__PURE__ */ React60.createElement(Stack12, { direction: "row", sx: { "& > *": { marginInlineStart: -0.25 } }, role: "list" }, hasValues && provider && /* @__PURE__ */ React60.createElement(
3573
3670
  StyleIndicator,
3574
3671
  {
3575
3672
  getColor: getStylesProviderThemeColor(provider.getKey()),
@@ -3577,7 +3674,7 @@ var StylesInheritanceSectionIndicators = ({ fields }) => {
3577
3674
  role: "listitem",
3578
3675
  "aria-label": hasValueLabel
3579
3676
  }
3580
- ), hasOverrides && /* @__PURE__ */ React59.createElement(
3677
+ ), hasOverrides && /* @__PURE__ */ React60.createElement(
3581
3678
  StyleIndicator,
3582
3679
  {
3583
3680
  isOverridden: true,
@@ -3617,67 +3714,69 @@ function getCurrentStyleFromChain(chain, styleId, meta) {
3617
3714
 
3618
3715
  // src/components/style-tab-collapsible-content.tsx
3619
3716
  var StyleTabCollapsibleContent = ({ fields = [], children }) => {
3620
- return /* @__PURE__ */ React60.createElement(CollapsibleContent, { titleEnd: getStylesInheritanceIndicators(fields) }, children);
3717
+ return /* @__PURE__ */ React61.createElement(CollapsibleContent, { titleEnd: getStylesInheritanceIndicators(fields) }, children);
3621
3718
  };
3622
3719
  function getStylesInheritanceIndicators(fields) {
3623
- const isUsingFieldsIndicators = isExperimentActive9(EXPERIMENTAL_FEATURES.V_3_30);
3720
+ const isUsingFieldsIndicators = isExperimentActive12(EXPERIMENTAL_FEATURES.V_3_30);
3624
3721
  if (fields.length === 0 || !isUsingFieldsIndicators) {
3625
3722
  return null;
3626
3723
  }
3627
- return (isOpen) => !isOpen ? /* @__PURE__ */ React60.createElement(StylesInheritanceSectionIndicators, { fields }) : null;
3724
+ return (isOpen) => !isOpen ? /* @__PURE__ */ React61.createElement(StylesInheritanceSectionIndicators, { fields }) : null;
3628
3725
  }
3629
3726
 
3630
3727
  // src/components/style-sections/size-section/object-fit-field.tsx
3631
- import * as React61 from "react";
3728
+ import * as React62 from "react";
3632
3729
  import { SelectControl as SelectControl4 } from "@elementor/editor-controls";
3633
- import { Grid as Grid14 } from "@elementor/ui";
3634
- import { __ as __33 } from "@wordpress/i18n";
3730
+ import { __ as __36 } from "@wordpress/i18n";
3731
+ var OBJECT_FIT_LABEL = __36("Object fit", "elementor");
3635
3732
  var positionOptions2 = [
3636
- { label: __33("Fill", "elementor"), value: "fill" },
3637
- { label: __33("Cover", "elementor"), value: "cover" },
3638
- { label: __33("Contain", "elementor"), value: "contain" },
3639
- { label: __33("None", "elementor"), value: "none" },
3640
- { label: __33("Scale down", "elementor"), value: "scale-down" }
3733
+ { label: __36("Fill", "elementor"), value: "fill" },
3734
+ { label: __36("Cover", "elementor"), value: "cover" },
3735
+ { label: __36("Contain", "elementor"), value: "contain" },
3736
+ { label: __36("None", "elementor"), value: "none" },
3737
+ { label: __36("Scale down", "elementor"), value: "scale-down" }
3641
3738
  ];
3642
3739
  var ObjectFitField = () => {
3643
- return /* @__PURE__ */ React61.createElement(StylesField, { bind: "object-fit" }, /* @__PURE__ */ React61.createElement(Grid14, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React61.createElement(Grid14, { item: true, xs: 6 }, /* @__PURE__ */ React61.createElement(ControlLabel, null, __33("Object fit", "elementor"))), /* @__PURE__ */ React61.createElement(Grid14, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React61.createElement(SelectControl4, { options: positionOptions2 }))));
3740
+ return /* @__PURE__ */ React62.createElement(StylesField, { bind: "object-fit", propDisplayName: OBJECT_FIT_LABEL }, /* @__PURE__ */ React62.createElement(StylesFieldLayout, { label: OBJECT_FIT_LABEL }, /* @__PURE__ */ React62.createElement(SelectControl4, { options: positionOptions2 })));
3644
3741
  };
3645
3742
 
3646
3743
  // src/components/style-sections/size-section/object-position-field.tsx
3647
- import * as React62 from "react";
3744
+ import * as React63 from "react";
3648
3745
  import { PositionControl } from "@elementor/editor-controls";
3746
+ import { __ as __37 } from "@wordpress/i18n";
3747
+ var OBJECT_POSITION_LABEL = __37("Object position", "elementor");
3649
3748
  var ObjectPositionField = () => {
3650
- return /* @__PURE__ */ React62.createElement(StylesField, { bind: "object-position" }, /* @__PURE__ */ React62.createElement(PositionControl, null));
3749
+ return /* @__PURE__ */ React63.createElement(StylesField, { bind: "object-position", propDisplayName: OBJECT_POSITION_LABEL }, /* @__PURE__ */ React63.createElement(PositionControl, null));
3651
3750
  };
3652
3751
 
3653
3752
  // src/components/style-sections/size-section/overflow-field.tsx
3654
- import * as React63 from "react";
3753
+ import * as React64 from "react";
3655
3754
  import { ToggleControl as ToggleControl8 } from "@elementor/editor-controls";
3656
3755
  import { EyeIcon, EyeOffIcon, LetterAIcon } from "@elementor/icons";
3657
- import { Grid as Grid15 } from "@elementor/ui";
3658
- import { __ as __34 } from "@wordpress/i18n";
3756
+ import { __ as __38 } from "@wordpress/i18n";
3757
+ var OVERFLOW_LABEL = __38("Overflow", "elementor");
3659
3758
  var options6 = [
3660
3759
  {
3661
3760
  value: "visible",
3662
- label: __34("Visible", "elementor"),
3663
- renderContent: ({ size }) => /* @__PURE__ */ React63.createElement(EyeIcon, { fontSize: size }),
3761
+ label: __38("Visible", "elementor"),
3762
+ renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(EyeIcon, { fontSize: size }),
3664
3763
  showTooltip: true
3665
3764
  },
3666
3765
  {
3667
3766
  value: "hidden",
3668
- label: __34("Hidden", "elementor"),
3669
- renderContent: ({ size }) => /* @__PURE__ */ React63.createElement(EyeOffIcon, { fontSize: size }),
3767
+ label: __38("Hidden", "elementor"),
3768
+ renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(EyeOffIcon, { fontSize: size }),
3670
3769
  showTooltip: true
3671
3770
  },
3672
3771
  {
3673
3772
  value: "auto",
3674
- label: __34("Auto", "elementor"),
3675
- renderContent: ({ size }) => /* @__PURE__ */ React63.createElement(LetterAIcon, { fontSize: size }),
3773
+ label: __38("Auto", "elementor"),
3774
+ renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(LetterAIcon, { fontSize: size }),
3676
3775
  showTooltip: true
3677
3776
  }
3678
3777
  ];
3679
3778
  var OverflowField = () => {
3680
- return /* @__PURE__ */ React63.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React63.createElement(Grid15, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React63.createElement(Grid15, { item: true, xs: 6 }, /* @__PURE__ */ React63.createElement(ControlLabel, null, __34("Overflow", "elementor"))), /* @__PURE__ */ React63.createElement(Grid15, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React63.createElement(ToggleControl8, { options: options6 }))));
3779
+ return /* @__PURE__ */ React64.createElement(StylesField, { bind: "overflow", propDisplayName: OVERFLOW_LABEL }, /* @__PURE__ */ React64.createElement(StylesFieldLayout, { label: OVERFLOW_LABEL }, /* @__PURE__ */ React64.createElement(ToggleControl8, { options: options6 })));
3681
3780
  };
3682
3781
 
3683
3782
  // src/components/style-sections/size-section/size-section.tsx
@@ -3686,98 +3785,100 @@ var CssSizeProps = [
3686
3785
  [
3687
3786
  {
3688
3787
  bind: "width",
3689
- label: __35("Width", "elementor")
3788
+ label: __39("Width", "elementor")
3690
3789
  },
3691
3790
  {
3692
3791
  bind: "height",
3693
- label: __35("Height", "elementor")
3792
+ label: __39("Height", "elementor")
3694
3793
  }
3695
3794
  ],
3696
3795
  [
3697
3796
  {
3698
3797
  bind: "min-width",
3699
- label: __35("Min width", "elementor")
3798
+ label: __39("Min width", "elementor")
3700
3799
  },
3701
3800
  {
3702
3801
  bind: "min-height",
3703
- label: __35("Min height", "elementor")
3802
+ label: __39("Min height", "elementor")
3704
3803
  }
3705
3804
  ],
3706
3805
  [
3707
3806
  {
3708
3807
  bind: "max-width",
3709
- label: __35("Max width", "elementor")
3808
+ label: __39("Max width", "elementor")
3710
3809
  },
3711
3810
  {
3712
3811
  bind: "max-height",
3713
- label: __35("Max height", "elementor")
3812
+ label: __39("Max height", "elementor")
3714
3813
  }
3715
3814
  ]
3716
3815
  ];
3816
+ var ASPECT_RATIO_LABEL = __39("Aspect Ratio", "elementor");
3717
3817
  var SizeSection = () => {
3718
3818
  const { value: fitValue } = useStylesField("object-fit");
3719
3819
  const isNotFill = fitValue && fitValue?.value !== "fill";
3720
- const gridRowRefs = [useRef9(), useRef9(), useRef9()];
3721
- const isVersion330Active = isExperimentActive10(EXPERIMENT_ID);
3722
- return /* @__PURE__ */ React64.createElement(SectionContent, null, CssSizeProps.map((row, rowIndex) => /* @__PURE__ */ React64.createElement(Grid16, { key: rowIndex, container: true, gap: 2, flexWrap: "nowrap", ref: gridRowRefs[rowIndex] }, row.map((props) => /* @__PURE__ */ React64.createElement(Grid16, { item: true, xs: 6, key: props.bind }, /* @__PURE__ */ React64.createElement(SizeField, { ...props, rowRef: gridRowRefs[rowIndex], extendedOptions: ["auto"] }))))), /* @__PURE__ */ React64.createElement(PanelDivider, null), /* @__PURE__ */ React64.createElement(Stack16, null, /* @__PURE__ */ React64.createElement(OverflowField, null)), isVersion330Active && /* @__PURE__ */ React64.createElement(StyleTabCollapsibleContent, { fields: ["aspect-ratio", "object-fit"] }, /* @__PURE__ */ React64.createElement(Stack16, { gap: 2 }, /* @__PURE__ */ React64.createElement(StylesField, { bind: "aspect-ratio" }, /* @__PURE__ */ React64.createElement(AspectRatioControl, { label: __35("Aspect Ratio", "elementor") })), /* @__PURE__ */ React64.createElement(PanelDivider, null), /* @__PURE__ */ React64.createElement(ObjectFitField, null), isNotFill && /* @__PURE__ */ React64.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React64.createElement(ObjectPositionField, null)))));
3820
+ const gridRowRefs = [useRef9(null), useRef9(null), useRef9(null)];
3821
+ const isVersion330Active = isExperimentActive13(EXPERIMENT_ID);
3822
+ return /* @__PURE__ */ React65.createElement(SectionContent, null, CssSizeProps.map((row, rowIndex) => /* @__PURE__ */ React65.createElement(Grid4, { key: rowIndex, container: true, gap: 2, flexWrap: "nowrap", ref: gridRowRefs[rowIndex] }, row.map((props) => /* @__PURE__ */ React65.createElement(Grid4, { item: true, xs: 6, key: props.bind }, /* @__PURE__ */ React65.createElement(SizeField, { ...props, rowRef: gridRowRefs[rowIndex], extendedOptions: ["auto"] }))))), /* @__PURE__ */ React65.createElement(PanelDivider, null), /* @__PURE__ */ React65.createElement(Stack13, null, /* @__PURE__ */ React65.createElement(OverflowField, null)), isVersion330Active && /* @__PURE__ */ React65.createElement(StyleTabCollapsibleContent, { fields: ["aspect-ratio", "object-fit"] }, /* @__PURE__ */ React65.createElement(Stack13, { gap: 2, pt: 2 }, /* @__PURE__ */ React65.createElement(StylesField, { bind: "aspect-ratio", propDisplayName: ASPECT_RATIO_LABEL }, /* @__PURE__ */ React65.createElement(AspectRatioControl, { label: ASPECT_RATIO_LABEL })), /* @__PURE__ */ React65.createElement(PanelDivider, null), /* @__PURE__ */ React65.createElement(ObjectFitField, null), isNotFill && /* @__PURE__ */ React65.createElement(Grid4, { item: true, xs: 6 }, /* @__PURE__ */ React65.createElement(ObjectPositionField, null)))));
3723
3823
  };
3724
3824
  var SizeField = ({ label, bind, rowRef, extendedOptions }) => {
3725
- return /* @__PURE__ */ React64.createElement(StylesField, { bind }, /* @__PURE__ */ React64.createElement(Grid16, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React64.createElement(Grid16, { item: true, xs: 12 }, /* @__PURE__ */ React64.createElement(ControlLabel, null, label)), /* @__PURE__ */ React64.createElement(Grid16, { item: true, xs: 12 }, /* @__PURE__ */ React64.createElement(SizeControl6, { extendedOptions, anchorRef: rowRef }))));
3825
+ return /* @__PURE__ */ React65.createElement(StylesField, { bind, propDisplayName: label }, /* @__PURE__ */ React65.createElement(Grid4, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React65.createElement(Grid4, { item: true, xs: 12 }, /* @__PURE__ */ React65.createElement(ControlLabel, null, label)), /* @__PURE__ */ React65.createElement(Grid4, { item: true, xs: 12 }, /* @__PURE__ */ React65.createElement(SizeControl6, { extendedOptions, anchorRef: rowRef }))));
3726
3826
  };
3727
3827
 
3728
3828
  // src/components/style-sections/spacing-section/spacing-section.tsx
3729
- import * as React65 from "react";
3829
+ import * as React66 from "react";
3730
3830
  import { LinkedDimensionsControl } from "@elementor/editor-controls";
3731
- import { __ as __36 } from "@wordpress/i18n";
3831
+ import { __ as __40 } from "@wordpress/i18n";
3832
+ var MARGIN_LABEL = __40("Margin", "elementor");
3833
+ var PADDING_LABEL = __40("Padding", "elementor");
3732
3834
  var SpacingSection = () => {
3733
3835
  const { isSiteRtl } = useDirection();
3734
- return /* @__PURE__ */ React65.createElement(SectionContent, null, /* @__PURE__ */ React65.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React65.createElement(
3836
+ return /* @__PURE__ */ React66.createElement(SectionContent, null, /* @__PURE__ */ React66.createElement(StylesField, { bind: "margin", propDisplayName: MARGIN_LABEL }, /* @__PURE__ */ React66.createElement(
3735
3837
  LinkedDimensionsControl,
3736
3838
  {
3737
- label: __36("Margin", "elementor"),
3839
+ label: MARGIN_LABEL,
3738
3840
  isSiteRtl,
3739
3841
  extendedOptions: ["auto"]
3740
3842
  }
3741
- )), /* @__PURE__ */ React65.createElement(PanelDivider, null), /* @__PURE__ */ React65.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React65.createElement(LinkedDimensionsControl, { label: __36("Padding", "elementor"), isSiteRtl })));
3843
+ )), /* @__PURE__ */ React66.createElement(PanelDivider, null), /* @__PURE__ */ React66.createElement(StylesField, { bind: "padding", propDisplayName: PADDING_LABEL }, /* @__PURE__ */ React66.createElement(LinkedDimensionsControl, { label: PADDING_LABEL, isSiteRtl })));
3742
3844
  };
3743
3845
 
3744
3846
  // src/components/style-sections/typography-section/typography-section.tsx
3745
- import * as React81 from "react";
3746
- import { isExperimentActive as isExperimentActive11 } from "@elementor/editor-v1-adapters";
3847
+ import * as React82 from "react";
3848
+ import { isExperimentActive as isExperimentActive14 } from "@elementor/editor-v1-adapters";
3747
3849
 
3748
3850
  // src/components/style-sections/typography-section/column-count-field.tsx
3749
- import * as React66 from "react";
3851
+ import * as React67 from "react";
3750
3852
  import { NumberControl as NumberControl4 } from "@elementor/editor-controls";
3751
- import { Grid as Grid17 } from "@elementor/ui";
3752
- import { __ as __37 } from "@wordpress/i18n";
3853
+ import { __ as __41 } from "@wordpress/i18n";
3854
+ var COLUMN_COUNT_LABEL = __41("Columns", "elementor");
3753
3855
  var ColumnCountField = () => {
3754
- return /* @__PURE__ */ React66.createElement(StylesField, { bind: "column-count" }, /* @__PURE__ */ React66.createElement(Grid17, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React66.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React66.createElement(ControlLabel, null, __37("Columns", "elementor"))), /* @__PURE__ */ React66.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React66.createElement(NumberControl4, { shouldForceInt: true, min: 0, step: 1 }))));
3856
+ return /* @__PURE__ */ React67.createElement(StylesField, { bind: "column-count", propDisplayName: COLUMN_COUNT_LABEL }, /* @__PURE__ */ React67.createElement(StylesFieldLayout, { label: COLUMN_COUNT_LABEL }, /* @__PURE__ */ React67.createElement(NumberControl4, { shouldForceInt: true, min: 0, step: 1 })));
3755
3857
  };
3756
3858
 
3757
3859
  // src/components/style-sections/typography-section/column-gap-field.tsx
3758
- import * as React67 from "react";
3860
+ import * as React68 from "react";
3759
3861
  import { useRef as useRef10 } from "react";
3760
3862
  import { SizeControl as SizeControl7 } from "@elementor/editor-controls";
3761
- import { Grid as Grid18 } from "@elementor/ui";
3762
- import { __ as __38 } from "@wordpress/i18n";
3863
+ import { __ as __42 } from "@wordpress/i18n";
3864
+ var COLUMN_GAP_LABEL = __42("Column gap", "elementor");
3763
3865
  var ColumnGapField = () => {
3764
- const rowRef = useRef10();
3765
- return /* @__PURE__ */ React67.createElement(StylesField, { bind: "column-gap" }, /* @__PURE__ */ React67.createElement(Grid18, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React67.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React67.createElement(ControlLabel, null, __38("Column gap", "elementor"))), /* @__PURE__ */ React67.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React67.createElement(SizeControl7, { anchorRef: rowRef }))));
3866
+ const rowRef = useRef10(null);
3867
+ return /* @__PURE__ */ React68.createElement(StylesField, { bind: "column-gap", propDisplayName: COLUMN_GAP_LABEL }, /* @__PURE__ */ React68.createElement(StylesFieldLayout, { label: COLUMN_GAP_LABEL, ref: rowRef }, /* @__PURE__ */ React68.createElement(SizeControl7, { anchorRef: rowRef })));
3766
3868
  };
3767
3869
 
3768
3870
  // src/components/style-sections/typography-section/font-family-field.tsx
3769
- import * as React68 from "react";
3871
+ import * as React69 from "react";
3770
3872
  import { FontFamilyControl } from "@elementor/editor-controls";
3771
- import { Grid as Grid19 } from "@elementor/ui";
3772
- import { __ as __40 } from "@wordpress/i18n";
3873
+ import { __ as __44 } from "@wordpress/i18n";
3773
3874
 
3774
3875
  // src/components/style-sections/typography-section/hooks/use-font-families.ts
3775
- import { useMemo as useMemo6 } from "react";
3776
- import { __ as __39 } from "@wordpress/i18n";
3876
+ import { useMemo as useMemo7 } from "react";
3877
+ import { __ as __43 } from "@wordpress/i18n";
3777
3878
  var supportedCategories = {
3778
- system: __39("System", "elementor"),
3779
- custom: __39("Custom Fonts", "elementor"),
3780
- googlefonts: __39("Google Fonts", "elementor")
3879
+ system: __43("System", "elementor"),
3880
+ custom: __43("Custom Fonts", "elementor"),
3881
+ googlefonts: __43("Google Fonts", "elementor")
3781
3882
  };
3782
3883
  var getFontFamilies = () => {
3783
3884
  const { controls } = getElementorConfig();
@@ -3789,7 +3890,7 @@ var getFontFamilies = () => {
3789
3890
  };
3790
3891
  var useFontFamilies = () => {
3791
3892
  const fontFamilies = getFontFamilies();
3792
- return useMemo6(() => {
3893
+ return useMemo7(() => {
3793
3894
  const categoriesOrder = ["system", "custom", "googlefonts"];
3794
3895
  return Object.entries(fontFamilies || {}).reduce((acc, [font, category]) => {
3795
3896
  if (!supportedCategories[category]) {
@@ -3809,199 +3910,204 @@ var useFontFamilies = () => {
3809
3910
  };
3810
3911
 
3811
3912
  // src/components/style-sections/typography-section/font-family-field.tsx
3913
+ var FONT_FAMILY_LABEL = __44("Font family", "elementor");
3812
3914
  var FontFamilyField = () => {
3813
3915
  const fontFamilies = useFontFamilies();
3916
+ const sectionWidth = useSectionWidth();
3814
3917
  if (fontFamilies.length === 0) {
3815
3918
  return null;
3816
3919
  }
3817
- return /* @__PURE__ */ React68.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React68.createElement(Grid19, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React68.createElement(Grid19, { item: true, xs: 6 }, /* @__PURE__ */ React68.createElement(ControlLabel, null, __40("Font family", "elementor"))), /* @__PURE__ */ React68.createElement(Grid19, { item: true, xs: 6, sx: { minWidth: 0 } }, /* @__PURE__ */ React68.createElement(FontFamilyControl, { fontFamilies }))));
3920
+ return /* @__PURE__ */ React69.createElement(StylesField, { bind: "font-family", propDisplayName: FONT_FAMILY_LABEL }, /* @__PURE__ */ React69.createElement(StylesFieldLayout, { label: FONT_FAMILY_LABEL }, /* @__PURE__ */ React69.createElement(FontFamilyControl, { fontFamilies, sectionWidth })));
3818
3921
  };
3819
3922
 
3820
3923
  // src/components/style-sections/typography-section/font-size-field.tsx
3821
- import * as React69 from "react";
3924
+ import * as React70 from "react";
3822
3925
  import { useRef as useRef11 } from "react";
3823
3926
  import { SizeControl as SizeControl8 } from "@elementor/editor-controls";
3824
- import { Grid as Grid20 } from "@elementor/ui";
3825
- import { __ as __41 } from "@wordpress/i18n";
3927
+ import { __ as __45 } from "@wordpress/i18n";
3928
+ var FONT_SIZE_LABEL = __45("Font size", "elementor");
3826
3929
  var FontSizeField = () => {
3827
- const rowRef = useRef11();
3828
- return /* @__PURE__ */ React69.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React69.createElement(Grid20, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React69.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React69.createElement(ControlLabel, null, __41("Font size", "elementor"))), /* @__PURE__ */ React69.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React69.createElement(SizeControl8, { anchorRef: rowRef }))));
3930
+ const rowRef = useRef11(null);
3931
+ return /* @__PURE__ */ React70.createElement(StylesField, { bind: "font-size", propDisplayName: FONT_SIZE_LABEL }, /* @__PURE__ */ React70.createElement(StylesFieldLayout, { label: FONT_SIZE_LABEL, ref: rowRef }, /* @__PURE__ */ React70.createElement(SizeControl8, { anchorRef: rowRef })));
3829
3932
  };
3830
3933
 
3831
3934
  // src/components/style-sections/typography-section/font-style-field.tsx
3832
- import * as React70 from "react";
3833
- import { ControlFormLabel as ControlFormLabel5, ToggleControl as ToggleControl9 } from "@elementor/editor-controls";
3935
+ import * as React71 from "react";
3936
+ import { ToggleControl as ToggleControl9 } from "@elementor/editor-controls";
3834
3937
  import { ItalicIcon, MinusIcon as MinusIcon2 } from "@elementor/icons";
3835
- import { Grid as Grid21 } from "@elementor/ui";
3836
- import { __ as __42 } from "@wordpress/i18n";
3938
+ import { __ as __46 } from "@wordpress/i18n";
3939
+ var FONT_STYLE_LABEL = __46("Font style", "elementor");
3837
3940
  var options7 = [
3838
3941
  {
3839
3942
  value: "normal",
3840
- label: __42("Normal", "elementor"),
3841
- renderContent: ({ size }) => /* @__PURE__ */ React70.createElement(MinusIcon2, { fontSize: size }),
3943
+ label: __46("Normal", "elementor"),
3944
+ renderContent: ({ size }) => /* @__PURE__ */ React71.createElement(MinusIcon2, { fontSize: size }),
3842
3945
  showTooltip: true
3843
3946
  },
3844
3947
  {
3845
3948
  value: "italic",
3846
- label: __42("Italic", "elementor"),
3847
- renderContent: ({ size }) => /* @__PURE__ */ React70.createElement(ItalicIcon, { fontSize: size }),
3949
+ label: __46("Italic", "elementor"),
3950
+ renderContent: ({ size }) => /* @__PURE__ */ React71.createElement(ItalicIcon, { fontSize: size }),
3848
3951
  showTooltip: true
3849
3952
  }
3850
3953
  ];
3851
- var FontStyleField = () => /* @__PURE__ */ React70.createElement(StylesField, { bind: "font-style" }, /* @__PURE__ */ React70.createElement(Grid21, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React70.createElement(Grid21, { item: true, xs: 6 }, /* @__PURE__ */ React70.createElement(ControlFormLabel5, null, __42("Font style", "elementor"))), /* @__PURE__ */ React70.createElement(Grid21, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React70.createElement(ToggleControl9, { options: options7 }))));
3954
+ var FontStyleField = () => {
3955
+ return /* @__PURE__ */ React71.createElement(StylesField, { bind: "font-style", propDisplayName: FONT_STYLE_LABEL }, /* @__PURE__ */ React71.createElement(StylesFieldLayout, { label: FONT_STYLE_LABEL }, /* @__PURE__ */ React71.createElement(ToggleControl9, { options: options7 })));
3956
+ };
3852
3957
 
3853
3958
  // src/components/style-sections/typography-section/font-weight-field.tsx
3854
- import * as React71 from "react";
3959
+ import * as React72 from "react";
3855
3960
  import { SelectControl as SelectControl5 } from "@elementor/editor-controls";
3856
- import { Grid as Grid22 } from "@elementor/ui";
3857
- import { __ as __43 } from "@wordpress/i18n";
3961
+ import { __ as __47 } from "@wordpress/i18n";
3962
+ var FONT_WEIGHT_LABEL = __47("Font weight", "elementor");
3858
3963
  var fontWeightOptions = [
3859
- { value: "100", label: __43("100 - Thin", "elementor") },
3860
- { value: "200", label: __43("200 - Extra light", "elementor") },
3861
- { value: "300", label: __43("300 - Light", "elementor") },
3862
- { value: "400", label: __43("400 - Normal", "elementor") },
3863
- { value: "500", label: __43("500 - Medium", "elementor") },
3864
- { value: "600", label: __43("600 - Semi bold", "elementor") },
3865
- { value: "700", label: __43("700 - Bold", "elementor") },
3866
- { value: "800", label: __43("800 - Extra bold", "elementor") },
3867
- { value: "900", label: __43("900 - Black", "elementor") }
3964
+ { value: "100", label: __47("100 - Thin", "elementor") },
3965
+ { value: "200", label: __47("200 - Extra light", "elementor") },
3966
+ { value: "300", label: __47("300 - Light", "elementor") },
3967
+ { value: "400", label: __47("400 - Normal", "elementor") },
3968
+ { value: "500", label: __47("500 - Medium", "elementor") },
3969
+ { value: "600", label: __47("600 - Semi bold", "elementor") },
3970
+ { value: "700", label: __47("700 - Bold", "elementor") },
3971
+ { value: "800", label: __47("800 - Extra bold", "elementor") },
3972
+ { value: "900", label: __47("900 - Black", "elementor") }
3868
3973
  ];
3869
3974
  var FontWeightField = () => {
3870
- return /* @__PURE__ */ React71.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React71.createElement(Grid22, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React71.createElement(Grid22, { item: true, xs: 6 }, /* @__PURE__ */ React71.createElement(ControlLabel, null, __43("Font weight", "elementor"))), /* @__PURE__ */ React71.createElement(Grid22, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React71.createElement(SelectControl5, { options: fontWeightOptions }))));
3975
+ return /* @__PURE__ */ React72.createElement(StylesField, { bind: "font-weight", propDisplayName: FONT_WEIGHT_LABEL }, /* @__PURE__ */ React72.createElement(StylesFieldLayout, { label: FONT_WEIGHT_LABEL }, /* @__PURE__ */ React72.createElement(SelectControl5, { options: fontWeightOptions })));
3871
3976
  };
3872
3977
 
3873
3978
  // src/components/style-sections/typography-section/letter-spacing-field.tsx
3874
- import * as React72 from "react";
3979
+ import * as React73 from "react";
3875
3980
  import { useRef as useRef12 } from "react";
3876
3981
  import { SizeControl as SizeControl9 } from "@elementor/editor-controls";
3877
- import { Grid as Grid23 } from "@elementor/ui";
3878
- import { __ as __44 } from "@wordpress/i18n";
3982
+ import { __ as __48 } from "@wordpress/i18n";
3983
+ var LETTER_SPACING_LABEL = __48("Letter spacing", "elementor");
3879
3984
  var LetterSpacingField = () => {
3880
- const rowRef = useRef12();
3881
- return /* @__PURE__ */ React72.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React72.createElement(Grid23, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React72.createElement(Grid23, { item: true, xs: 6 }, /* @__PURE__ */ React72.createElement(ControlLabel, null, __44("Letter spacing", "elementor"))), /* @__PURE__ */ React72.createElement(Grid23, { item: true, xs: 6 }, /* @__PURE__ */ React72.createElement(SizeControl9, { anchorRef: rowRef }))));
3985
+ const rowRef = useRef12(null);
3986
+ return /* @__PURE__ */ React73.createElement(StylesField, { bind: "letter-spacing", propDisplayName: LETTER_SPACING_LABEL }, /* @__PURE__ */ React73.createElement(StylesFieldLayout, { label: LETTER_SPACING_LABEL, ref: rowRef }, /* @__PURE__ */ React73.createElement(SizeControl9, { anchorRef: rowRef })));
3882
3987
  };
3883
3988
 
3884
3989
  // src/components/style-sections/typography-section/line-height-field.tsx
3885
- import * as React73 from "react";
3990
+ import * as React74 from "react";
3886
3991
  import { useRef as useRef13 } from "react";
3887
3992
  import { SizeControl as SizeControl10 } from "@elementor/editor-controls";
3888
- import { Grid as Grid24 } from "@elementor/ui";
3889
- import { __ as __45 } from "@wordpress/i18n";
3993
+ import { __ as __49 } from "@wordpress/i18n";
3994
+ var LINE_HEIGHT_LABEL = __49("Line height", "elementor");
3890
3995
  var LineHeightField = () => {
3891
- const rowRef = useRef13();
3892
- return /* @__PURE__ */ React73.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React73.createElement(Grid24, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React73.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React73.createElement(ControlLabel, null, __45("Line height", "elementor"))), /* @__PURE__ */ React73.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React73.createElement(SizeControl10, { anchorRef: rowRef }))));
3996
+ const rowRef = useRef13(null);
3997
+ return /* @__PURE__ */ React74.createElement(StylesField, { bind: "line-height", propDisplayName: LINE_HEIGHT_LABEL }, /* @__PURE__ */ React74.createElement(StylesFieldLayout, { label: LINE_HEIGHT_LABEL, ref: rowRef }, /* @__PURE__ */ React74.createElement(SizeControl10, { anchorRef: rowRef })));
3893
3998
  };
3894
3999
 
3895
4000
  // src/components/style-sections/typography-section/text-alignment-field.tsx
3896
- import * as React74 from "react";
4001
+ import * as React75 from "react";
3897
4002
  import { ToggleControl as ToggleControl10 } from "@elementor/editor-controls";
3898
4003
  import { AlignCenterIcon, AlignJustifiedIcon, AlignLeftIcon, AlignRightIcon } from "@elementor/icons";
3899
- import { Grid as Grid25, withDirection as withDirection9 } from "@elementor/ui";
3900
- import { __ as __46 } from "@wordpress/i18n";
4004
+ import { withDirection as withDirection9 } from "@elementor/ui";
4005
+ import { __ as __50 } from "@wordpress/i18n";
4006
+ var TEXT_ALIGNMENT_LABEL = __50("Text align", "elementor");
3901
4007
  var AlignStartIcon = withDirection9(AlignLeftIcon);
3902
4008
  var AlignEndIcon = withDirection9(AlignRightIcon);
3903
4009
  var options8 = [
3904
4010
  {
3905
4011
  value: "start",
3906
- label: __46("Start", "elementor"),
3907
- renderContent: ({ size }) => /* @__PURE__ */ React74.createElement(AlignStartIcon, { fontSize: size }),
4012
+ label: __50("Start", "elementor"),
4013
+ renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(AlignStartIcon, { fontSize: size }),
3908
4014
  showTooltip: true
3909
4015
  },
3910
4016
  {
3911
4017
  value: "center",
3912
- label: __46("Center", "elementor"),
3913
- renderContent: ({ size }) => /* @__PURE__ */ React74.createElement(AlignCenterIcon, { fontSize: size }),
4018
+ label: __50("Center", "elementor"),
4019
+ renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(AlignCenterIcon, { fontSize: size }),
3914
4020
  showTooltip: true
3915
4021
  },
3916
4022
  {
3917
4023
  value: "end",
3918
- label: __46("End", "elementor"),
3919
- renderContent: ({ size }) => /* @__PURE__ */ React74.createElement(AlignEndIcon, { fontSize: size }),
4024
+ label: __50("End", "elementor"),
4025
+ renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(AlignEndIcon, { fontSize: size }),
3920
4026
  showTooltip: true
3921
4027
  },
3922
4028
  {
3923
4029
  value: "justify",
3924
- label: __46("Justify", "elementor"),
3925
- renderContent: ({ size }) => /* @__PURE__ */ React74.createElement(AlignJustifiedIcon, { fontSize: size }),
4030
+ label: __50("Justify", "elementor"),
4031
+ renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(AlignJustifiedIcon, { fontSize: size }),
3926
4032
  showTooltip: true
3927
4033
  }
3928
4034
  ];
3929
4035
  var TextAlignmentField = () => {
3930
- return /* @__PURE__ */ React74.createElement(UiProviders, null, /* @__PURE__ */ React74.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React74.createElement(Grid25, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React74.createElement(Grid25, { item: true, xs: 6 }, /* @__PURE__ */ React74.createElement(ControlLabel, null, __46("Text align", "elementor"))), /* @__PURE__ */ React74.createElement(Grid25, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React74.createElement(ToggleControl10, { options: options8 })))));
4036
+ return /* @__PURE__ */ React75.createElement(StylesField, { bind: "text-align", propDisplayName: TEXT_ALIGNMENT_LABEL }, /* @__PURE__ */ React75.createElement(UiProviders, null, /* @__PURE__ */ React75.createElement(StylesFieldLayout, { label: TEXT_ALIGNMENT_LABEL }, /* @__PURE__ */ React75.createElement(ToggleControl10, { options: options8 }))));
3931
4037
  };
3932
4038
 
3933
4039
  // src/components/style-sections/typography-section/text-color-field.tsx
3934
- import * as React75 from "react";
4040
+ import * as React76 from "react";
3935
4041
  import { ColorControl as ColorControl2 } from "@elementor/editor-controls";
3936
- import { Grid as Grid26 } from "@elementor/ui";
3937
- import { __ as __47 } from "@wordpress/i18n";
4042
+ import { __ as __51 } from "@wordpress/i18n";
4043
+ var TEXT_COLOR_LABEL = __51("Text color", "elementor");
3938
4044
  var TextColorField = () => {
3939
- return /* @__PURE__ */ React75.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React75.createElement(Grid26, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React75.createElement(Grid26, { item: true, xs: 6 }, /* @__PURE__ */ React75.createElement(ControlLabel, null, __47("Text color", "elementor"))), /* @__PURE__ */ React75.createElement(Grid26, { item: true, xs: 6 }, /* @__PURE__ */ React75.createElement(ColorControl2, null))));
4045
+ return /* @__PURE__ */ React76.createElement(StylesField, { bind: "color", propDisplayName: TEXT_COLOR_LABEL }, /* @__PURE__ */ React76.createElement(StylesFieldLayout, { label: TEXT_COLOR_LABEL }, /* @__PURE__ */ React76.createElement(ColorControl2, null)));
3940
4046
  };
3941
4047
 
3942
4048
  // src/components/style-sections/typography-section/text-decoration-field.tsx
3943
- import * as React76 from "react";
4049
+ import * as React77 from "react";
3944
4050
  import { ToggleControl as ToggleControl11 } from "@elementor/editor-controls";
3945
4051
  import { MinusIcon as MinusIcon3, OverlineIcon, StrikethroughIcon, UnderlineIcon } from "@elementor/icons";
3946
- import { Grid as Grid27 } from "@elementor/ui";
3947
- import { __ as __48 } from "@wordpress/i18n";
4052
+ import { __ as __52 } from "@wordpress/i18n";
4053
+ var TEXT_DECORATION_LABEL = __52("Line decoration", "elementor");
3948
4054
  var options9 = [
3949
4055
  {
3950
4056
  value: "none",
3951
- label: __48("None", "elementor"),
3952
- renderContent: ({ size }) => /* @__PURE__ */ React76.createElement(MinusIcon3, { fontSize: size }),
4057
+ label: __52("None", "elementor"),
4058
+ renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(MinusIcon3, { fontSize: size }),
3953
4059
  showTooltip: true,
3954
4060
  exclusive: true
3955
4061
  },
3956
4062
  {
3957
4063
  value: "underline",
3958
- label: __48("Underline", "elementor"),
3959
- renderContent: ({ size }) => /* @__PURE__ */ React76.createElement(UnderlineIcon, { fontSize: size }),
4064
+ label: __52("Underline", "elementor"),
4065
+ renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(UnderlineIcon, { fontSize: size }),
3960
4066
  showTooltip: true
3961
4067
  },
3962
4068
  {
3963
4069
  value: "line-through",
3964
- label: __48("Line-through", "elementor"),
3965
- renderContent: ({ size }) => /* @__PURE__ */ React76.createElement(StrikethroughIcon, { fontSize: size }),
4070
+ label: __52("Line-through", "elementor"),
4071
+ renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(StrikethroughIcon, { fontSize: size }),
3966
4072
  showTooltip: true
3967
4073
  },
3968
4074
  {
3969
4075
  value: "overline",
3970
- label: __48("Overline", "elementor"),
3971
- renderContent: ({ size }) => /* @__PURE__ */ React76.createElement(OverlineIcon, { fontSize: size }),
4076
+ label: __52("Overline", "elementor"),
4077
+ renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(OverlineIcon, { fontSize: size }),
3972
4078
  showTooltip: true
3973
4079
  }
3974
4080
  ];
3975
- var TextDecorationField = () => /* @__PURE__ */ React76.createElement(StylesField, { bind: "text-decoration" }, /* @__PURE__ */ React76.createElement(Grid27, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React76.createElement(Grid27, { item: true, xs: 6 }, /* @__PURE__ */ React76.createElement(ControlLabel, null, __48("Line decoration", "elementor"))), /* @__PURE__ */ React76.createElement(Grid27, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React76.createElement(ToggleControl11, { options: options9, exclusive: false }))));
4081
+ var TextDecorationField = () => /* @__PURE__ */ React77.createElement(StylesField, { bind: "text-decoration", propDisplayName: TEXT_DECORATION_LABEL }, /* @__PURE__ */ React77.createElement(StylesFieldLayout, { label: TEXT_DECORATION_LABEL }, /* @__PURE__ */ React77.createElement(ToggleControl11, { options: options9, exclusive: false })));
3976
4082
 
3977
4083
  // src/components/style-sections/typography-section/text-direction-field.tsx
3978
- import * as React77 from "react";
4084
+ import * as React78 from "react";
3979
4085
  import { ToggleControl as ToggleControl12 } from "@elementor/editor-controls";
3980
4086
  import { TextDirectionLtrIcon, TextDirectionRtlIcon } from "@elementor/icons";
3981
- import { Grid as Grid28 } from "@elementor/ui";
3982
- import { __ as __49 } from "@wordpress/i18n";
4087
+ import { __ as __53 } from "@wordpress/i18n";
4088
+ var TEXT_DIRECTION_LABEL = __53("Direction", "elementor");
3983
4089
  var options10 = [
3984
4090
  {
3985
4091
  value: "ltr",
3986
- label: __49("Left to right", "elementor"),
3987
- renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(TextDirectionLtrIcon, { fontSize: size }),
4092
+ label: __53("Left to right", "elementor"),
4093
+ renderContent: ({ size }) => /* @__PURE__ */ React78.createElement(TextDirectionLtrIcon, { fontSize: size }),
3988
4094
  showTooltip: true
3989
4095
  },
3990
4096
  {
3991
4097
  value: "rtl",
3992
- label: __49("Right to left", "elementor"),
3993
- renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(TextDirectionRtlIcon, { fontSize: size }),
4098
+ label: __53("Right to left", "elementor"),
4099
+ renderContent: ({ size }) => /* @__PURE__ */ React78.createElement(TextDirectionRtlIcon, { fontSize: size }),
3994
4100
  showTooltip: true
3995
4101
  }
3996
4102
  ];
3997
4103
  var TextDirectionField = () => {
3998
- return /* @__PURE__ */ React77.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React77.createElement(Grid28, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React77.createElement(Grid28, { item: true, xs: 6 }, /* @__PURE__ */ React77.createElement(ControlLabel, null, __49("Direction", "elementor"))), /* @__PURE__ */ React77.createElement(Grid28, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React77.createElement(ToggleControl12, { options: options10 }))));
4104
+ return /* @__PURE__ */ React78.createElement(StylesField, { bind: "direction", propDisplayName: TEXT_DIRECTION_LABEL }, /* @__PURE__ */ React78.createElement(StylesFieldLayout, { label: TEXT_DIRECTION_LABEL }, /* @__PURE__ */ React78.createElement(ToggleControl12, { options: options10 })));
3999
4105
  };
4000
4106
 
4001
4107
  // src/components/style-sections/typography-section/text-stroke-field.tsx
4002
- import * as React78 from "react";
4108
+ import * as React79 from "react";
4003
4109
  import { StrokeControl } from "@elementor/editor-controls";
4004
- import { __ as __50 } from "@wordpress/i18n";
4110
+ import { __ as __54 } from "@wordpress/i18n";
4005
4111
  var initTextStroke = {
4006
4112
  $$type: "stroke",
4007
4113
  value: {
@@ -4018,6 +4124,7 @@ var initTextStroke = {
4018
4124
  }
4019
4125
  }
4020
4126
  };
4127
+ var TEXT_STROKE_LABEL = __54("Text stroke", "elementor");
4021
4128
  var TextStrokeField = () => {
4022
4129
  const { value, setValue, canEdit } = useStylesField("stroke");
4023
4130
  const addTextStroke = () => {
@@ -4027,70 +4134,70 @@ var TextStrokeField = () => {
4027
4134
  setValue(null);
4028
4135
  };
4029
4136
  const hasTextStroke = Boolean(value);
4030
- return /* @__PURE__ */ React78.createElement(StylesField, { bind: "stroke" }, /* @__PURE__ */ React78.createElement(
4137
+ return /* @__PURE__ */ React79.createElement(StylesField, { bind: "stroke", propDisplayName: TEXT_STROKE_LABEL }, /* @__PURE__ */ React79.createElement(
4031
4138
  AddOrRemoveContent,
4032
4139
  {
4033
4140
  isAdded: hasTextStroke,
4034
4141
  onAdd: addTextStroke,
4035
4142
  onRemove: removeTextStroke,
4036
4143
  disabled: !canEdit,
4037
- renderLabel: () => /* @__PURE__ */ React78.createElement(ControlLabel, null, __50("Text stroke", "elementor"))
4144
+ renderLabel: () => /* @__PURE__ */ React79.createElement(ControlLabel, null, TEXT_STROKE_LABEL)
4038
4145
  },
4039
- /* @__PURE__ */ React78.createElement(StrokeControl, null)
4146
+ /* @__PURE__ */ React79.createElement(StrokeControl, null)
4040
4147
  ));
4041
4148
  };
4042
4149
 
4043
4150
  // src/components/style-sections/typography-section/transform-field.tsx
4044
- import * as React79 from "react";
4151
+ import * as React80 from "react";
4045
4152
  import { ToggleControl as ToggleControl13 } from "@elementor/editor-controls";
4046
4153
  import { LetterCaseIcon, LetterCaseLowerIcon, LetterCaseUpperIcon, MinusIcon as MinusIcon4 } from "@elementor/icons";
4047
- import { Grid as Grid29 } from "@elementor/ui";
4048
- import { __ as __51 } from "@wordpress/i18n";
4154
+ import { __ as __55 } from "@wordpress/i18n";
4155
+ var TEXT_TRANSFORM_LABEL = __55("Text transform", "elementor");
4049
4156
  var options11 = [
4050
4157
  {
4051
4158
  value: "none",
4052
- label: __51("None", "elementor"),
4053
- renderContent: ({ size }) => /* @__PURE__ */ React79.createElement(MinusIcon4, { fontSize: size }),
4159
+ label: __55("None", "elementor"),
4160
+ renderContent: ({ size }) => /* @__PURE__ */ React80.createElement(MinusIcon4, { fontSize: size }),
4054
4161
  showTooltip: true
4055
4162
  },
4056
4163
  {
4057
4164
  value: "capitalize",
4058
- label: __51("Capitalize", "elementor"),
4059
- renderContent: ({ size }) => /* @__PURE__ */ React79.createElement(LetterCaseIcon, { fontSize: size }),
4165
+ label: __55("Capitalize", "elementor"),
4166
+ renderContent: ({ size }) => /* @__PURE__ */ React80.createElement(LetterCaseIcon, { fontSize: size }),
4060
4167
  showTooltip: true
4061
4168
  },
4062
4169
  {
4063
4170
  value: "uppercase",
4064
- label: __51("Uppercase", "elementor"),
4065
- renderContent: ({ size }) => /* @__PURE__ */ React79.createElement(LetterCaseUpperIcon, { fontSize: size }),
4171
+ label: __55("Uppercase", "elementor"),
4172
+ renderContent: ({ size }) => /* @__PURE__ */ React80.createElement(LetterCaseUpperIcon, { fontSize: size }),
4066
4173
  showTooltip: true
4067
4174
  },
4068
4175
  {
4069
4176
  value: "lowercase",
4070
- label: __51("Lowercase", "elementor"),
4071
- renderContent: ({ size }) => /* @__PURE__ */ React79.createElement(LetterCaseLowerIcon, { fontSize: size }),
4177
+ label: __55("Lowercase", "elementor"),
4178
+ renderContent: ({ size }) => /* @__PURE__ */ React80.createElement(LetterCaseLowerIcon, { fontSize: size }),
4072
4179
  showTooltip: true
4073
4180
  }
4074
4181
  ];
4075
- var TransformField = () => /* @__PURE__ */ React79.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React79.createElement(Grid29, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React79.createElement(Grid29, { item: true, xs: 6 }, /* @__PURE__ */ React79.createElement(ControlLabel, null, __51("Text transform", "elementor"))), /* @__PURE__ */ React79.createElement(Grid29, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React79.createElement(ToggleControl13, { options: options11 }))));
4182
+ var TransformField = () => /* @__PURE__ */ React80.createElement(StylesField, { bind: "text-transform", propDisplayName: TEXT_TRANSFORM_LABEL }, /* @__PURE__ */ React80.createElement(StylesFieldLayout, { label: TEXT_TRANSFORM_LABEL }, /* @__PURE__ */ React80.createElement(ToggleControl13, { options: options11 })));
4076
4183
 
4077
4184
  // src/components/style-sections/typography-section/word-spacing-field.tsx
4078
- import * as React80 from "react";
4185
+ import * as React81 from "react";
4079
4186
  import { useRef as useRef14 } from "react";
4080
4187
  import { SizeControl as SizeControl11 } from "@elementor/editor-controls";
4081
- import { Grid as Grid30 } from "@elementor/ui";
4082
- import { __ as __52 } from "@wordpress/i18n";
4188
+ import { __ as __56 } from "@wordpress/i18n";
4189
+ var WORD_SPACING_LABEL = __56("Word spacing", "elementor");
4083
4190
  var WordSpacingField = () => {
4084
- const rowRef = useRef14();
4085
- return /* @__PURE__ */ React80.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React80.createElement(Grid30, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React80.createElement(Grid30, { item: true, xs: 6 }, /* @__PURE__ */ React80.createElement(ControlLabel, null, __52("Word spacing", "elementor"))), /* @__PURE__ */ React80.createElement(Grid30, { item: true, xs: 6 }, /* @__PURE__ */ React80.createElement(SizeControl11, { anchorRef: rowRef }))));
4191
+ const rowRef = useRef14(null);
4192
+ return /* @__PURE__ */ React81.createElement(StylesField, { bind: "word-spacing", propDisplayName: WORD_SPACING_LABEL }, /* @__PURE__ */ React81.createElement(StylesFieldLayout, { label: WORD_SPACING_LABEL, ref: rowRef }, /* @__PURE__ */ React81.createElement(SizeControl11, { anchorRef: rowRef })));
4086
4193
  };
4087
4194
 
4088
4195
  // src/components/style-sections/typography-section/typography-section.tsx
4089
4196
  var TypographySection = () => {
4090
4197
  const { value: columnCount } = useStylesField("column-count");
4091
4198
  const hasMultiColumns = !!(columnCount?.value && columnCount?.value > 1);
4092
- const isVersion330Active = isExperimentActive11("e_v_3_30");
4093
- return /* @__PURE__ */ React81.createElement(SectionContent, null, /* @__PURE__ */ React81.createElement(FontFamilyField, null), /* @__PURE__ */ React81.createElement(FontWeightField, null), /* @__PURE__ */ React81.createElement(FontSizeField, null), /* @__PURE__ */ React81.createElement(PanelDivider, null), /* @__PURE__ */ React81.createElement(TextAlignmentField, null), /* @__PURE__ */ React81.createElement(TextColorField, null), /* @__PURE__ */ React81.createElement(
4199
+ const isVersion330Active = isExperimentActive14("e_v_3_30");
4200
+ return /* @__PURE__ */ React82.createElement(SectionContent, null, /* @__PURE__ */ React82.createElement(FontFamilyField, null), /* @__PURE__ */ React82.createElement(FontWeightField, null), /* @__PURE__ */ React82.createElement(FontSizeField, null), /* @__PURE__ */ React82.createElement(PanelDivider, null), /* @__PURE__ */ React82.createElement(TextAlignmentField, null), /* @__PURE__ */ React82.createElement(TextColorField, null), /* @__PURE__ */ React82.createElement(
4094
4201
  StyleTabCollapsibleContent,
4095
4202
  {
4096
4203
  fields: [
@@ -4105,19 +4212,19 @@ var TypographySection = () => {
4105
4212
  "stroke"
4106
4213
  ]
4107
4214
  },
4108
- /* @__PURE__ */ React81.createElement(SectionContent, { sx: { pt: 2 } }, /* @__PURE__ */ React81.createElement(LineHeightField, null), /* @__PURE__ */ React81.createElement(LetterSpacingField, null), /* @__PURE__ */ React81.createElement(WordSpacingField, null), isVersion330Active && /* @__PURE__ */ React81.createElement(React81.Fragment, null, /* @__PURE__ */ React81.createElement(ColumnCountField, null), hasMultiColumns && /* @__PURE__ */ React81.createElement(ColumnGapField, null)), /* @__PURE__ */ React81.createElement(PanelDivider, null), /* @__PURE__ */ React81.createElement(TextDecorationField, null), /* @__PURE__ */ React81.createElement(TransformField, null), /* @__PURE__ */ React81.createElement(TextDirectionField, null), /* @__PURE__ */ React81.createElement(FontStyleField, null), /* @__PURE__ */ React81.createElement(TextStrokeField, null))
4215
+ /* @__PURE__ */ React82.createElement(SectionContent, { sx: { pt: 2 } }, /* @__PURE__ */ React82.createElement(LineHeightField, null), /* @__PURE__ */ React82.createElement(LetterSpacingField, null), /* @__PURE__ */ React82.createElement(WordSpacingField, null), isVersion330Active && /* @__PURE__ */ React82.createElement(React82.Fragment, null, /* @__PURE__ */ React82.createElement(ColumnCountField, null), hasMultiColumns && /* @__PURE__ */ React82.createElement(ColumnGapField, null)), /* @__PURE__ */ React82.createElement(PanelDivider, null), /* @__PURE__ */ React82.createElement(TextDecorationField, null), /* @__PURE__ */ React82.createElement(TransformField, null), /* @__PURE__ */ React82.createElement(TextDirectionField, null), /* @__PURE__ */ React82.createElement(FontStyleField, null), /* @__PURE__ */ React82.createElement(TextStrokeField, null))
4109
4216
  ));
4110
4217
  };
4111
4218
 
4112
4219
  // src/components/style-tab-section.tsx
4113
- import * as React82 from "react";
4114
- import { isExperimentActive as isExperimentActive12 } from "@elementor/editor-v1-adapters";
4220
+ import * as React83 from "react";
4221
+ import { isExperimentActive as isExperimentActive15 } from "@elementor/editor-v1-adapters";
4115
4222
  var StyleTabSection = ({ section, fields = [] }) => {
4116
4223
  const { component, name, title } = section;
4117
4224
  const tabDefaults = useDefaultPanelSettings();
4118
4225
  const SectionComponent = component;
4119
- const isExpanded = isExperimentActive12(EXPERIMENTAL_FEATURES.V_3_30) ? tabDefaults.defaultSectionsExpanded.style?.includes(name) : false;
4120
- return /* @__PURE__ */ React82.createElement(Section, { title, defaultExpanded: isExpanded, titleEnd: getStylesInheritanceIndicators(fields) }, /* @__PURE__ */ React82.createElement(SectionComponent, null));
4226
+ const isExpanded = isExperimentActive15(EXPERIMENTAL_FEATURES.V_3_30) ? tabDefaults.defaultSectionsExpanded.style?.includes(name) : false;
4227
+ return /* @__PURE__ */ React83.createElement(Section, { title, defaultExpanded: isExpanded, titleEnd: getStylesInheritanceIndicators(fields) }, /* @__PURE__ */ React83.createElement(SectionComponent, null));
4121
4228
  };
4122
4229
 
4123
4230
  // src/components/style-tab.tsx
@@ -4134,7 +4241,7 @@ var StyleTab = () => {
4134
4241
  const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
4135
4242
  const [activeStyleState, setActiveStyleState] = useState12(null);
4136
4243
  const breakpoint = useActiveBreakpoint();
4137
- return /* @__PURE__ */ React83.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React83.createElement(
4244
+ return /* @__PURE__ */ React84.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React84.createElement(
4138
4245
  StyleProvider,
4139
4246
  {
4140
4247
  meta: { breakpoint, state: activeStyleState },
@@ -4145,13 +4252,13 @@ var StyleTab = () => {
4145
4252
  },
4146
4253
  setMetaState: setActiveStyleState
4147
4254
  },
4148
- /* @__PURE__ */ React83.createElement(SessionStorageProvider2, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React83.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React83.createElement(ClassesHeader, null, /* @__PURE__ */ React83.createElement(CssClassSelector, null), /* @__PURE__ */ React83.createElement(Divider5, null)), /* @__PURE__ */ React83.createElement(SectionsList, null, /* @__PURE__ */ React83.createElement(
4255
+ /* @__PURE__ */ React84.createElement(SessionStorageProvider2, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React84.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React84.createElement(ClassesHeader, null, /* @__PURE__ */ React84.createElement(CssClassSelector, null), /* @__PURE__ */ React84.createElement(Divider5, null)), /* @__PURE__ */ React84.createElement(SectionsList, null, /* @__PURE__ */ React84.createElement(
4149
4256
  StyleTabSection,
4150
4257
  {
4151
4258
  section: {
4152
4259
  component: LayoutSection,
4153
4260
  name: "Layout",
4154
- title: __53("Layout", "elementor")
4261
+ title: __57("Layout", "elementor")
4155
4262
  },
4156
4263
  fields: [
4157
4264
  "display",
@@ -4164,23 +4271,23 @@ var StyleTab = () => {
4164
4271
  "gap"
4165
4272
  ]
4166
4273
  }
4167
- ), /* @__PURE__ */ React83.createElement(
4274
+ ), /* @__PURE__ */ React84.createElement(
4168
4275
  StyleTabSection,
4169
4276
  {
4170
4277
  section: {
4171
4278
  component: SpacingSection,
4172
4279
  name: "Spacing",
4173
- title: __53("Spacing", "elementor")
4280
+ title: __57("Spacing", "elementor")
4174
4281
  },
4175
4282
  fields: ["margin", "padding"]
4176
4283
  }
4177
- ), /* @__PURE__ */ React83.createElement(
4284
+ ), /* @__PURE__ */ React84.createElement(
4178
4285
  StyleTabSection,
4179
4286
  {
4180
4287
  section: {
4181
4288
  component: SizeSection,
4182
4289
  name: "Size",
4183
- title: __53("Size", "elementor")
4290
+ title: __57("Size", "elementor")
4184
4291
  },
4185
4292
  fields: [
4186
4293
  "width",
@@ -4194,23 +4301,23 @@ var StyleTab = () => {
4194
4301
  "object-fit"
4195
4302
  ]
4196
4303
  }
4197
- ), /* @__PURE__ */ React83.createElement(
4304
+ ), /* @__PURE__ */ React84.createElement(
4198
4305
  StyleTabSection,
4199
4306
  {
4200
4307
  section: {
4201
4308
  component: PositionSection,
4202
4309
  name: "Position",
4203
- title: __53("Position", "elementor")
4310
+ title: __57("Position", "elementor")
4204
4311
  },
4205
4312
  fields: ["position", "z-index", "scroll-margin-top"]
4206
4313
  }
4207
- ), /* @__PURE__ */ React83.createElement(
4314
+ ), /* @__PURE__ */ React84.createElement(
4208
4315
  StyleTabSection,
4209
4316
  {
4210
4317
  section: {
4211
4318
  component: TypographySection,
4212
4319
  name: "Typography",
4213
- title: __53("Typography", "elementor")
4320
+ title: __57("Typography", "elementor")
4214
4321
  },
4215
4322
  fields: [
4216
4323
  "font-family",
@@ -4229,33 +4336,33 @@ var StyleTab = () => {
4229
4336
  "stroke"
4230
4337
  ]
4231
4338
  }
4232
- ), /* @__PURE__ */ React83.createElement(
4339
+ ), /* @__PURE__ */ React84.createElement(
4233
4340
  StyleTabSection,
4234
4341
  {
4235
4342
  section: {
4236
4343
  component: BackgroundSection,
4237
4344
  name: "Background",
4238
- title: __53("Background", "elementor")
4345
+ title: __57("Background", "elementor")
4239
4346
  },
4240
4347
  fields: ["background"]
4241
4348
  }
4242
- ), /* @__PURE__ */ React83.createElement(
4349
+ ), /* @__PURE__ */ React84.createElement(
4243
4350
  StyleTabSection,
4244
4351
  {
4245
4352
  section: {
4246
4353
  component: BorderSection,
4247
4354
  name: "Border",
4248
- title: __53("Border", "elementor")
4355
+ title: __57("Border", "elementor")
4249
4356
  },
4250
4357
  fields: ["border-radius", "border-width", "border-color", "border-style"]
4251
4358
  }
4252
- ), /* @__PURE__ */ React83.createElement(
4359
+ ), /* @__PURE__ */ React84.createElement(
4253
4360
  StyleTabSection,
4254
4361
  {
4255
4362
  section: {
4256
4363
  component: EffectsSection,
4257
4364
  name: "Effects",
4258
- title: __53("Effects", "elementor")
4365
+ title: __57("Effects", "elementor")
4259
4366
  },
4260
4367
  fields: ["box-shadow"]
4261
4368
  }
@@ -4264,7 +4371,7 @@ var StyleTab = () => {
4264
4371
  };
4265
4372
  function ClassesHeader({ children }) {
4266
4373
  const scrollDirection = useScrollDirection();
4267
- return /* @__PURE__ */ React83.createElement(Stack17, { sx: { ...stickyHeaderStyles, top: scrollDirection === "up" ? TABS_HEADER_HEIGHT : 0 } }, children);
4374
+ return /* @__PURE__ */ React84.createElement(Stack14, { sx: { ...stickyHeaderStyles, top: scrollDirection === "up" ? TABS_HEADER_HEIGHT : 0 } }, children);
4268
4375
  }
4269
4376
  function useCurrentClassesProp() {
4270
4377
  const { elementType } = useElement();
@@ -4283,15 +4390,15 @@ var EditingPanelTabs = () => {
4283
4390
  return (
4284
4391
  // When switching between elements, the local states should be reset. We are using key to rerender the tabs.
4285
4392
  // Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
4286
- /* @__PURE__ */ React84.createElement(Fragment9, { key: element.id }, /* @__PURE__ */ React84.createElement(PanelTabContent, null))
4393
+ /* @__PURE__ */ React85.createElement(Fragment10, { key: element.id }, /* @__PURE__ */ React85.createElement(PanelTabContent, null))
4287
4394
  );
4288
4395
  };
4289
4396
  var PanelTabContent = () => {
4290
4397
  const editorDefaults = useDefaultPanelSettings();
4291
- const defaultComponentTab = isExperimentActive13(EXPERIMENTAL_FEATURES.V_3_30) ? editorDefaults.defaultTab : "settings";
4398
+ const defaultComponentTab = isExperimentActive16(EXPERIMENTAL_FEATURES.V_3_30) ? editorDefaults.defaultTab : "settings";
4292
4399
  const [currentTab, setCurrentTab] = useStateByElement("tab", defaultComponentTab);
4293
4400
  const { getTabProps, getTabPanelProps, getTabsProps } = useTabs(currentTab);
4294
- return /* @__PURE__ */ React84.createElement(ScrollProvider, null, /* @__PURE__ */ React84.createElement(Stack18, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React84.createElement(Stack18, { sx: { ...stickyHeaderStyles, top: 0 } }, /* @__PURE__ */ React84.createElement(
4401
+ return /* @__PURE__ */ React85.createElement(ScrollProvider, null, /* @__PURE__ */ React85.createElement(Stack15, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React85.createElement(Stack15, { sx: { ...stickyHeaderStyles, top: 0 } }, /* @__PURE__ */ React85.createElement(
4295
4402
  Tabs,
4296
4403
  {
4297
4404
  variant: "fullWidth",
@@ -4303,9 +4410,9 @@ var PanelTabContent = () => {
4303
4410
  setCurrentTab(newValue);
4304
4411
  }
4305
4412
  },
4306
- /* @__PURE__ */ React84.createElement(Tab, { label: __54("General", "elementor"), ...getTabProps("settings") }),
4307
- /* @__PURE__ */ React84.createElement(Tab, { label: __54("Style", "elementor"), ...getTabProps("style") })
4308
- ), /* @__PURE__ */ React84.createElement(Divider6, null)), /* @__PURE__ */ React84.createElement(TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React84.createElement(SettingsTab, null)), /* @__PURE__ */ React84.createElement(TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React84.createElement(StyleTab, null))));
4413
+ /* @__PURE__ */ React85.createElement(Tab, { label: __58("General", "elementor"), ...getTabProps("settings") }),
4414
+ /* @__PURE__ */ React85.createElement(Tab, { label: __58("Style", "elementor"), ...getTabProps("style") })
4415
+ ), /* @__PURE__ */ React85.createElement(Divider6, null)), /* @__PURE__ */ React85.createElement(TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React85.createElement(SettingsTab, null)), /* @__PURE__ */ React85.createElement(TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React85.createElement(StyleTab, null))));
4309
4416
  };
4310
4417
 
4311
4418
  // src/components/editing-panel.tsx
@@ -4317,8 +4424,8 @@ var EditingPanel = () => {
4317
4424
  if (!element || !elementType) {
4318
4425
  return null;
4319
4426
  }
4320
- const panelTitle = __55("Edit %s", "elementor").replace("%s", elementType.title);
4321
- return /* @__PURE__ */ React85.createElement(ErrorBoundary, { fallback: /* @__PURE__ */ React85.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React85.createElement(SessionStorageProvider3, { prefix: "elementor" }, /* @__PURE__ */ React85.createElement(ThemeProvider2, null, /* @__PURE__ */ React85.createElement(Panel, null, /* @__PURE__ */ React85.createElement(PanelHeader, null, /* @__PURE__ */ React85.createElement(PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React85.createElement(AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React85.createElement(PanelBody, null, /* @__PURE__ */ React85.createElement(ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React85.createElement(ControlReplacementsProvider, { replacements: controlReplacements }, /* @__PURE__ */ React85.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React85.createElement(EditingPanelTabs, null)))))))));
4427
+ const panelTitle = __59("Edit %s", "elementor").replace("%s", elementType.title);
4428
+ return /* @__PURE__ */ React86.createElement(ErrorBoundary, { fallback: /* @__PURE__ */ React86.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React86.createElement(SessionStorageProvider3, { prefix: "elementor" }, /* @__PURE__ */ React86.createElement(ThemeProvider2, null, /* @__PURE__ */ React86.createElement(Panel, null, /* @__PURE__ */ React86.createElement(PanelHeader, null, /* @__PURE__ */ React86.createElement(PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React86.createElement(AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React86.createElement(PanelBody, null, /* @__PURE__ */ React86.createElement(ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React86.createElement(ControlReplacementsProvider, { replacements: controlReplacements }, /* @__PURE__ */ React86.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React86.createElement(EditingPanelTabs, null)))))))));
4322
4429
  };
4323
4430
 
4324
4431
  // src/panel.ts
@@ -4327,11 +4434,19 @@ var { panel, usePanelActions, usePanelStatus } = createPanel({
4327
4434
  component: EditingPanel
4328
4435
  });
4329
4436
 
4437
+ // src/components/popover-scrollable-content.tsx
4438
+ import * as React87 from "react";
4439
+ import { PopoverScrollableContent as BasePopoverScrollableContent } from "@elementor/editor-ui";
4440
+ var PopoverScrollableContent = (props) => {
4441
+ const sectionWidth = useSectionWidth();
4442
+ return /* @__PURE__ */ React87.createElement(BasePopoverScrollableContent, { ...props, width: sectionWidth });
4443
+ };
4444
+
4330
4445
  // src/init.ts
4331
4446
  import { injectIntoLogic } from "@elementor/editor";
4332
4447
  import { PrefetchUserData } from "@elementor/editor-current-user";
4333
4448
  import { __registerPanel as registerPanel } from "@elementor/editor-panels";
4334
- import { blockCommand, isExperimentActive as isExperimentActive14 } from "@elementor/editor-v1-adapters";
4449
+ import { blockCommand, isExperimentActive as isExperimentActive17 } from "@elementor/editor-v1-adapters";
4335
4450
 
4336
4451
  // src/hooks/use-open-editor-panel.ts
4337
4452
  import { useEffect as useEffect4 } from "react";
@@ -4371,7 +4486,7 @@ import { settingsTransformersRegistry, styleTransformersRegistry } from "@elemen
4371
4486
  import { injectIntoRepeaterItemIcon, injectIntoRepeaterItemLabel } from "@elementor/editor-controls";
4372
4487
 
4373
4488
  // src/dynamics/components/background-control-dynamic-tag.tsx
4374
- import * as React86 from "react";
4489
+ import * as React88 from "react";
4375
4490
  import { PropKeyProvider as PropKeyProvider3, PropProvider as PropProvider3, useBoundProp as useBoundProp3 } from "@elementor/editor-controls";
4376
4491
  import {
4377
4492
  backgroundImageOverlayPropTypeUtil
@@ -4379,10 +4494,10 @@ import {
4379
4494
  import { DatabaseIcon } from "@elementor/icons";
4380
4495
 
4381
4496
  // src/dynamics/hooks/use-dynamic-tag.ts
4382
- import { useMemo as useMemo8 } from "react";
4497
+ import { useMemo as useMemo9 } from "react";
4383
4498
 
4384
4499
  // src/dynamics/hooks/use-prop-dynamic-tags.ts
4385
- import { useMemo as useMemo7 } from "react";
4500
+ import { useMemo as useMemo8 } from "react";
4386
4501
  import { useBoundProp as useBoundProp2 } from "@elementor/editor-controls";
4387
4502
 
4388
4503
  // src/dynamics/sync/get-elementor-config.ts
@@ -4437,7 +4552,7 @@ var usePropDynamicTags = () => {
4437
4552
  const propDynamicType = getDynamicPropType(propType);
4438
4553
  categories = propDynamicType?.settings.categories || [];
4439
4554
  }
4440
- return useMemo7(() => getDynamicTagsByCategories(categories), [categories.join()]);
4555
+ return useMemo8(() => getDynamicTagsByCategories(categories), [categories.join()]);
4441
4556
  };
4442
4557
  var getDynamicTagsByCategories = (categories) => {
4443
4558
  const dynamicTags = getAtomicDynamicTags();
@@ -4453,40 +4568,40 @@ var getDynamicTagsByCategories = (categories) => {
4453
4568
  // src/dynamics/hooks/use-dynamic-tag.ts
4454
4569
  var useDynamicTag = (tagName) => {
4455
4570
  const dynamicTags = usePropDynamicTags();
4456
- return useMemo8(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
4571
+ return useMemo9(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
4457
4572
  };
4458
4573
 
4459
4574
  // src/dynamics/components/background-control-dynamic-tag.tsx
4460
- var BackgroundControlDynamicTagIcon = () => /* @__PURE__ */ React86.createElement(DatabaseIcon, { fontSize: "tiny" });
4575
+ var BackgroundControlDynamicTagIcon = () => /* @__PURE__ */ React88.createElement(DatabaseIcon, { fontSize: "tiny" });
4461
4576
  var BackgroundControlDynamicTagLabel = ({ value }) => {
4462
4577
  const context = useBoundProp3(backgroundImageOverlayPropTypeUtil);
4463
- return /* @__PURE__ */ React86.createElement(PropProvider3, { ...context, value: value.value }, /* @__PURE__ */ React86.createElement(PropKeyProvider3, { bind: "image" }, /* @__PURE__ */ React86.createElement(Wrapper, { rawValue: value.value })));
4578
+ return /* @__PURE__ */ React88.createElement(PropProvider3, { ...context, value: value.value }, /* @__PURE__ */ React88.createElement(PropKeyProvider3, { bind: "image" }, /* @__PURE__ */ React88.createElement(Wrapper, { rawValue: value.value })));
4464
4579
  };
4465
4580
  var Wrapper = ({ rawValue }) => {
4466
4581
  const { propType } = useBoundProp3();
4467
4582
  const imageOverlayPropType = propType.prop_types["background-image-overlay"];
4468
- return /* @__PURE__ */ React86.createElement(PropProvider3, { propType: imageOverlayPropType.shape.image, value: rawValue, setValue: () => void 0 }, /* @__PURE__ */ React86.createElement(PropKeyProvider3, { bind: "src" }, /* @__PURE__ */ React86.createElement(Content, { rawValue: rawValue.image })));
4583
+ return /* @__PURE__ */ React88.createElement(PropProvider3, { propType: imageOverlayPropType.shape.image, value: rawValue, setValue: () => void 0 }, /* @__PURE__ */ React88.createElement(PropKeyProvider3, { bind: "src" }, /* @__PURE__ */ React88.createElement(Content, { rawValue: rawValue.image })));
4469
4584
  };
4470
4585
  var Content = ({ rawValue }) => {
4471
4586
  const src = rawValue.value.src;
4472
4587
  const dynamicTag = useDynamicTag(src.value.name || "");
4473
- return /* @__PURE__ */ React86.createElement(React86.Fragment, null, dynamicTag?.label);
4588
+ return /* @__PURE__ */ React88.createElement(React88.Fragment, null, dynamicTag?.label);
4474
4589
  };
4475
4590
 
4476
4591
  // src/dynamics/components/dynamic-selection-control.tsx
4477
- import * as React90 from "react";
4478
- import { ControlFormLabel as ControlFormLabel6, useBoundProp as useBoundProp6 } from "@elementor/editor-controls";
4479
- import { PopoverHeader as PopoverHeader2, PopoverScrollableContent } from "@elementor/editor-ui";
4592
+ import * as React91 from "react";
4593
+ import { ControlFormLabel as ControlFormLabel5, useBoundProp as useBoundProp6 } from "@elementor/editor-controls";
4594
+ import { PopoverHeader as PopoverHeader3, PopoverScrollableContent as PopoverScrollableContent2 } from "@elementor/editor-ui";
4480
4595
  import { DatabaseIcon as DatabaseIcon3, SettingsIcon, XIcon } from "@elementor/icons";
4481
4596
  import {
4482
4597
  bindPopover as bindPopover2,
4483
4598
  bindTrigger as bindTrigger2,
4484
4599
  Box as Box8,
4485
4600
  Divider as Divider8,
4486
- Grid as Grid31,
4601
+ Grid as Grid5,
4487
4602
  IconButton as IconButton5,
4488
4603
  Popover as Popover2,
4489
- Stack as Stack21,
4604
+ Stack as Stack17,
4490
4605
  Tab as Tab2,
4491
4606
  TabPanel as TabPanel2,
4492
4607
  Tabs as Tabs2,
@@ -4494,12 +4609,7 @@ import {
4494
4609
  usePopupState as usePopupState3,
4495
4610
  useTabs as useTabs2
4496
4611
  } from "@elementor/ui";
4497
- import { __ as __57 } from "@wordpress/i18n";
4498
-
4499
- // src/components/popover-content.tsx
4500
- import * as React87 from "react";
4501
- import { Stack as Stack19 } from "@elementor/ui";
4502
- var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React87.createElement(Stack19, { alignItems, gap, p }, children);
4612
+ import { __ as __61 } from "@wordpress/i18n";
4503
4613
 
4504
4614
  // src/hooks/use-persist-dynamic-value.ts
4505
4615
  import { useSessionStorage as useSessionStorage2 } from "@elementor/session";
@@ -4510,7 +4620,7 @@ var usePersistDynamicValue = (propKey) => {
4510
4620
  };
4511
4621
 
4512
4622
  // src/dynamics/dynamic-control.tsx
4513
- import * as React88 from "react";
4623
+ import * as React89 from "react";
4514
4624
  import { PropKeyProvider as PropKeyProvider4, PropProvider as PropProvider4, useBoundProp as useBoundProp4 } from "@elementor/editor-controls";
4515
4625
  var DynamicControl = ({ bind, children }) => {
4516
4626
  const { value, setValue } = useBoundProp4(dynamicPropTypeUtil);
@@ -4532,18 +4642,18 @@ var DynamicControl = ({ bind, children }) => {
4532
4642
  });
4533
4643
  };
4534
4644
  const propType = createTopLevelOjectType({ schema: dynamicTag.props_schema });
4535
- return /* @__PURE__ */ React88.createElement(PropProvider4, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React88.createElement(PropKeyProvider4, { bind }, children));
4645
+ return /* @__PURE__ */ React89.createElement(PropProvider4, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React89.createElement(PropKeyProvider4, { bind }, children));
4536
4646
  };
4537
4647
 
4538
4648
  // src/dynamics/components/dynamic-selection.tsx
4539
- import { Fragment as Fragment11, useState as useState13 } from "react";
4540
- import * as React89 from "react";
4649
+ import { Fragment as Fragment12, useState as useState13 } from "react";
4650
+ import * as React90 from "react";
4541
4651
  import { useBoundProp as useBoundProp5 } from "@elementor/editor-controls";
4542
- import { PopoverHeader, PopoverMenuList, PopoverSearch } from "@elementor/editor-ui";
4652
+ import { PopoverHeader as PopoverHeader2, PopoverMenuList, PopoverSearch } from "@elementor/editor-ui";
4543
4653
  import { DatabaseIcon as DatabaseIcon2 } from "@elementor/icons";
4544
- import { Box as Box7, Divider as Divider7, Link as Link2, Stack as Stack20, Typography as Typography6, useTheme as useTheme3 } from "@elementor/ui";
4545
- import { __ as __56 } from "@wordpress/i18n";
4546
- var SIZE7 = "tiny";
4654
+ import { Box as Box7, Divider as Divider7, Link as Link2, Stack as Stack16, Typography as Typography5, useTheme as useTheme3 } from "@elementor/ui";
4655
+ import { __ as __60 } from "@wordpress/i18n";
4656
+ var SIZE6 = "tiny";
4547
4657
  var DynamicSelection = ({ close: closePopover }) => {
4548
4658
  const [searchValue, setSearchValue] = useState13("");
4549
4659
  const { groups: dynamicGroups } = getAtomicDynamicTags() || {};
@@ -4577,21 +4687,21 @@ var DynamicSelection = ({ close: closePopover }) => {
4577
4687
  label: item.label
4578
4688
  }))
4579
4689
  ]);
4580
- return /* @__PURE__ */ React89.createElement(React89.Fragment, null, /* @__PURE__ */ React89.createElement(
4581
- PopoverHeader,
4690
+ return /* @__PURE__ */ React90.createElement(React90.Fragment, null, /* @__PURE__ */ React90.createElement(
4691
+ PopoverHeader2,
4582
4692
  {
4583
- title: __56("Dynamic tags", "elementor"),
4693
+ title: __60("Dynamic tags", "elementor"),
4584
4694
  onClose: closePopover,
4585
- icon: /* @__PURE__ */ React89.createElement(DatabaseIcon2, { fontSize: SIZE7 })
4695
+ icon: /* @__PURE__ */ React90.createElement(DatabaseIcon2, { fontSize: SIZE6 })
4586
4696
  }
4587
- ), /* @__PURE__ */ React89.createElement(Stack20, null, hasNoDynamicTags ? /* @__PURE__ */ React89.createElement(NoDynamicTags, null) : /* @__PURE__ */ React89.createElement(Fragment11, null, /* @__PURE__ */ React89.createElement(
4697
+ ), /* @__PURE__ */ React90.createElement(Stack16, null, hasNoDynamicTags ? /* @__PURE__ */ React90.createElement(NoDynamicTags, null) : /* @__PURE__ */ React90.createElement(Fragment12, null, /* @__PURE__ */ React90.createElement(
4588
4698
  PopoverSearch,
4589
4699
  {
4590
4700
  value: searchValue,
4591
4701
  onSearch: handleSearch,
4592
- placeholder: __56("Search dynamic tags\u2026", "elementor")
4702
+ placeholder: __60("Search dynamic tags\u2026", "elementor")
4593
4703
  }
4594
- ), /* @__PURE__ */ React89.createElement(Divider7, null), /* @__PURE__ */ React89.createElement(
4704
+ ), /* @__PURE__ */ React90.createElement(Divider7, null), /* @__PURE__ */ React90.createElement(PopoverScrollableContent, null, /* @__PURE__ */ React90.createElement(
4595
4705
  PopoverMenuList,
4596
4706
  {
4597
4707
  items: virtualizedItems,
@@ -4599,12 +4709,12 @@ var DynamicSelection = ({ close: closePopover }) => {
4599
4709
  onClose: closePopover,
4600
4710
  selectedValue: dynamicValue?.name,
4601
4711
  itemStyle: (item) => item.type === "item" ? { paddingInlineStart: theme.spacing(3.5) } : {},
4602
- noResultsComponent: /* @__PURE__ */ React89.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") })
4712
+ noResultsComponent: /* @__PURE__ */ React90.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") })
4603
4713
  }
4604
- ))));
4714
+ )))));
4605
4715
  };
4606
- var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React89.createElement(
4607
- Stack20,
4716
+ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React90.createElement(
4717
+ Stack16,
4608
4718
  {
4609
4719
  gap: 1,
4610
4720
  alignItems: "center",
@@ -4614,12 +4724,12 @@ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React89.createElem
4614
4724
  color: "text.secondary",
4615
4725
  sx: { pb: 3.5 }
4616
4726
  },
4617
- /* @__PURE__ */ React89.createElement(DatabaseIcon2, { fontSize: "large" }),
4618
- /* @__PURE__ */ React89.createElement(Typography6, { align: "center", variant: "subtitle2" }, __56("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React89.createElement("br", null), "\u201C", searchValue, "\u201D."),
4619
- /* @__PURE__ */ React89.createElement(Typography6, { align: "center", variant: "caption" }, __56("Try something else.", "elementor"), "\xA0", /* @__PURE__ */ React89.createElement(Link2, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, __56("Clear & try again", "elementor")))
4727
+ /* @__PURE__ */ React90.createElement(DatabaseIcon2, { fontSize: "large" }),
4728
+ /* @__PURE__ */ React90.createElement(Typography5, { align: "center", variant: "subtitle2" }, __60("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React90.createElement("br", null), "\u201C", searchValue, "\u201D."),
4729
+ /* @__PURE__ */ React90.createElement(Typography5, { align: "center", variant: "caption", sx: { display: "flex", flexDirection: "column" } }, __60("Try something else.", "elementor"), /* @__PURE__ */ React90.createElement(Link2, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, __60("Clear & try again", "elementor")))
4620
4730
  );
4621
- var NoDynamicTags = () => /* @__PURE__ */ React89.createElement(Box7, { sx: { overflowY: "hidden", height: 297, width: 220 } }, /* @__PURE__ */ React89.createElement(Divider7, null), /* @__PURE__ */ React89.createElement(
4622
- Stack20,
4731
+ var NoDynamicTags = () => /* @__PURE__ */ React90.createElement(Box7, { sx: { overflowY: "hidden", height: 297, width: 220 } }, /* @__PURE__ */ React90.createElement(Divider7, null), /* @__PURE__ */ React90.createElement(
4732
+ Stack16,
4623
4733
  {
4624
4734
  gap: 1,
4625
4735
  alignItems: "center",
@@ -4629,9 +4739,9 @@ var NoDynamicTags = () => /* @__PURE__ */ React89.createElement(Box7, { sx: { ov
4629
4739
  color: "text.secondary",
4630
4740
  sx: { pb: 3.5 }
4631
4741
  },
4632
- /* @__PURE__ */ React89.createElement(DatabaseIcon2, { fontSize: "large" }),
4633
- /* @__PURE__ */ React89.createElement(Typography6, { align: "center", variant: "subtitle2" }, __56("Streamline your workflow with dynamic tags", "elementor")),
4634
- /* @__PURE__ */ React89.createElement(Typography6, { align: "center", variant: "caption" }, __56("You'll need Elementor Pro to use this feature.", "elementor"))
4742
+ /* @__PURE__ */ React90.createElement(DatabaseIcon2, { fontSize: "large" }),
4743
+ /* @__PURE__ */ React90.createElement(Typography5, { align: "center", variant: "subtitle2" }, __60("Streamline your workflow with dynamic tags", "elementor")),
4744
+ /* @__PURE__ */ React90.createElement(Typography5, { align: "center", variant: "caption" }, __60("You'll need Elementor Pro to use this feature.", "elementor"))
4635
4745
  ));
4636
4746
  var useFilteredOptions = (searchValue) => {
4637
4747
  const dynamicTags = usePropDynamicTags();
@@ -4650,7 +4760,7 @@ var useFilteredOptions = (searchValue) => {
4650
4760
  };
4651
4761
 
4652
4762
  // src/dynamics/components/dynamic-selection-control.tsx
4653
- var SIZE8 = "tiny";
4763
+ var SIZE7 = "tiny";
4654
4764
  var DynamicSelectionControl = () => {
4655
4765
  const { setValue: setAnyValue } = useBoundProp6();
4656
4766
  const { bind, value } = useBoundProp6(dynamicPropTypeUtil);
@@ -4664,33 +4774,37 @@ var DynamicSelectionControl = () => {
4664
4774
  if (!dynamicTag) {
4665
4775
  throw new Error(`Dynamic tag ${tagName} not found`);
4666
4776
  }
4667
- return /* @__PURE__ */ React90.createElement(Box8, null, /* @__PURE__ */ React90.createElement(
4777
+ return /* @__PURE__ */ React91.createElement(Box8, null, /* @__PURE__ */ React91.createElement(
4668
4778
  Tag,
4669
4779
  {
4670
4780
  fullWidth: true,
4671
4781
  showActionsOnHover: true,
4672
4782
  label: dynamicTag.label,
4673
- startIcon: /* @__PURE__ */ React90.createElement(DatabaseIcon3, { fontSize: SIZE8 }),
4783
+ startIcon: /* @__PURE__ */ React91.createElement(DatabaseIcon3, { fontSize: SIZE7 }),
4674
4784
  ...bindTrigger2(selectionPopoverState),
4675
- actions: /* @__PURE__ */ React90.createElement(React90.Fragment, null, /* @__PURE__ */ React90.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React90.createElement(
4785
+ actions: /* @__PURE__ */ React91.createElement(React91.Fragment, null, /* @__PURE__ */ React91.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React91.createElement(
4676
4786
  IconButton5,
4677
4787
  {
4678
- size: SIZE8,
4788
+ size: SIZE7,
4679
4789
  onClick: removeDynamicTag,
4680
- "aria-label": __57("Remove dynamic value", "elementor")
4790
+ "aria-label": __61("Remove dynamic value", "elementor")
4681
4791
  },
4682
- /* @__PURE__ */ React90.createElement(XIcon, { fontSize: SIZE8 })
4792
+ /* @__PURE__ */ React91.createElement(XIcon, { fontSize: SIZE7 })
4683
4793
  ))
4684
4794
  }
4685
- ), /* @__PURE__ */ React90.createElement(
4795
+ ), /* @__PURE__ */ React91.createElement(
4686
4796
  Popover2,
4687
4797
  {
4688
4798
  disablePortal: true,
4689
4799
  disableScrollLock: true,
4690
- anchorOrigin: { vertical: "bottom", horizontal: "left" },
4800
+ anchorOrigin: { vertical: "bottom", horizontal: "right" },
4801
+ transformOrigin: { vertical: "top", horizontal: "right" },
4802
+ PaperProps: {
4803
+ sx: { my: 1 }
4804
+ },
4691
4805
  ...bindPopover2(selectionPopoverState)
4692
4806
  },
4693
- /* @__PURE__ */ React90.createElement(Stack21, null, /* @__PURE__ */ React90.createElement(DynamicSelection, { close: selectionPopoverState.close }))
4807
+ /* @__PURE__ */ React91.createElement(Stack17, null, /* @__PURE__ */ React91.createElement(DynamicSelection, { close: selectionPopoverState.close }))
4694
4808
  ));
4695
4809
  };
4696
4810
  var DynamicSettingsPopover = ({ dynamicTag }) => {
@@ -4699,23 +4813,26 @@ var DynamicSettingsPopover = ({ dynamicTag }) => {
4699
4813
  if (!hasDynamicSettings) {
4700
4814
  return null;
4701
4815
  }
4702
- return /* @__PURE__ */ React90.createElement(React90.Fragment, null, /* @__PURE__ */ React90.createElement(IconButton5, { size: SIZE8, ...bindTrigger2(popupState), "aria-label": __57("Settings", "elementor") }, /* @__PURE__ */ React90.createElement(SettingsIcon, { fontSize: SIZE8 })), /* @__PURE__ */ React90.createElement(
4816
+ return /* @__PURE__ */ React91.createElement(React91.Fragment, null, /* @__PURE__ */ React91.createElement(IconButton5, { size: SIZE7, ...bindTrigger2(popupState), "aria-label": __61("Settings", "elementor") }, /* @__PURE__ */ React91.createElement(SettingsIcon, { fontSize: SIZE7 })), /* @__PURE__ */ React91.createElement(
4703
4817
  Popover2,
4704
4818
  {
4705
4819
  disablePortal: true,
4706
4820
  disableScrollLock: true,
4707
4821
  anchorOrigin: { vertical: "bottom", horizontal: "center" },
4822
+ PaperProps: {
4823
+ sx: { my: 0.5 }
4824
+ },
4708
4825
  ...bindPopover2(popupState)
4709
4826
  },
4710
- /* @__PURE__ */ React90.createElement(
4711
- PopoverHeader2,
4827
+ /* @__PURE__ */ React91.createElement(
4828
+ PopoverHeader3,
4712
4829
  {
4713
4830
  title: dynamicTag.label,
4714
4831
  onClose: popupState.close,
4715
- icon: /* @__PURE__ */ React90.createElement(DatabaseIcon3, { fontSize: SIZE8 })
4832
+ icon: /* @__PURE__ */ React91.createElement(DatabaseIcon3, { fontSize: SIZE7 })
4716
4833
  }
4717
4834
  ),
4718
- /* @__PURE__ */ React90.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls })
4835
+ /* @__PURE__ */ React91.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls })
4719
4836
  ));
4720
4837
  };
4721
4838
  var DynamicSettings = ({ controls }) => {
@@ -4724,10 +4841,10 @@ var DynamicSettings = ({ controls }) => {
4724
4841
  if (!tabs.length) {
4725
4842
  return null;
4726
4843
  }
4727
- return /* @__PURE__ */ React90.createElement(PopoverScrollableContent, null, /* @__PURE__ */ React90.createElement(Tabs2, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React90.createElement(Tab2, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React90.createElement(Divider8, null), tabs.map(({ value }, index) => {
4728
- return /* @__PURE__ */ React90.createElement(TabPanel2, { key: index, sx: { flexGrow: 1, py: 0 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React90.createElement(PopoverContent, { p: 2, gap: 2 }, value.items.map((item) => {
4844
+ return /* @__PURE__ */ React91.createElement(PopoverScrollableContent2, null, /* @__PURE__ */ React91.createElement(Tabs2, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React91.createElement(Tab2, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React91.createElement(Divider8, null), tabs.map(({ value }, index) => {
4845
+ return /* @__PURE__ */ React91.createElement(TabPanel2, { key: index, sx: { flexGrow: 1, py: 0 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React91.createElement(Stack17, { p: 2, gap: 2 }, value.items.map((item) => {
4729
4846
  if (item.type === "control") {
4730
- return /* @__PURE__ */ React90.createElement(Control3, { key: item.value.bind, control: item.value });
4847
+ return /* @__PURE__ */ React91.createElement(Control3, { key: item.value.bind, control: item.value });
4731
4848
  }
4732
4849
  return null;
4733
4850
  })));
@@ -4737,7 +4854,7 @@ var Control3 = ({ control }) => {
4737
4854
  if (!getControl(control.type)) {
4738
4855
  return null;
4739
4856
  }
4740
- return /* @__PURE__ */ React90.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React90.createElement(Grid31, { container: true, gap: 0.75 }, control.label ? /* @__PURE__ */ React90.createElement(Grid31, { item: true, xs: 12 }, /* @__PURE__ */ React90.createElement(ControlFormLabel6, null, control.label)) : null, /* @__PURE__ */ React90.createElement(Grid31, { item: true, xs: 12 }, /* @__PURE__ */ React90.createElement(Control, { type: control.type, props: control.props }))));
4857
+ return /* @__PURE__ */ React91.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React91.createElement(Grid5, { container: true, gap: 0.75 }, control.label ? /* @__PURE__ */ React91.createElement(Grid5, { item: true, xs: 12 }, /* @__PURE__ */ React91.createElement(ControlFormLabel5, null, control.label)) : null, /* @__PURE__ */ React91.createElement(Grid5, { item: true, xs: 12 }, /* @__PURE__ */ React91.createElement(Control, { type: control.type, props: control.props }))));
4741
4858
  };
4742
4859
 
4743
4860
  // src/dynamics/dynamic-transformer.ts
@@ -4790,18 +4907,18 @@ function getDynamicValue(name, settings) {
4790
4907
  }
4791
4908
 
4792
4909
  // src/dynamics/hooks/use-prop-dynamic-action.tsx
4793
- import * as React91 from "react";
4910
+ import * as React92 from "react";
4794
4911
  import { useBoundProp as useBoundProp7 } from "@elementor/editor-controls";
4795
4912
  import { DatabaseIcon as DatabaseIcon4 } from "@elementor/icons";
4796
- import { __ as __58 } from "@wordpress/i18n";
4913
+ import { __ as __62 } from "@wordpress/i18n";
4797
4914
  var usePropDynamicAction = () => {
4798
4915
  const { propType } = useBoundProp7();
4799
4916
  const visible = !!propType && supportsDynamic(propType);
4800
4917
  return {
4801
4918
  visible,
4802
4919
  icon: DatabaseIcon4,
4803
- title: __58("Dynamic tags", "elementor"),
4804
- content: ({ close }) => /* @__PURE__ */ React91.createElement(DynamicSelection, { close })
4920
+ title: __62("Dynamic tags", "elementor"),
4921
+ content: ({ close }) => /* @__PURE__ */ React92.createElement(DynamicSelection, { close })
4805
4922
  };
4806
4923
  };
4807
4924
 
@@ -4833,7 +4950,7 @@ var init = () => {
4833
4950
  // src/reset-style-props.tsx
4834
4951
  import { useBoundProp as useBoundProp8 } from "@elementor/editor-controls";
4835
4952
  import { BrushBigIcon } from "@elementor/icons";
4836
- import { __ as __59 } from "@wordpress/i18n";
4953
+ import { __ as __63 } from "@wordpress/i18n";
4837
4954
  var { registerAction } = controlActionsMenu;
4838
4955
  function initResetStyleProps() {
4839
4956
  registerAction({
@@ -4847,7 +4964,7 @@ function useResetStyleValueProps() {
4847
4964
  const { value, setValue, path, bind } = useBoundProp8();
4848
4965
  return {
4849
4966
  visible: isStyle && value !== null && value !== void 0 && path.length <= 2 && !EXCLUDED_BINDS.includes(bind),
4850
- title: __59("Clear", "elementor"),
4967
+ title: __63("Clear", "elementor"),
4851
4968
  icon: BrushBigIcon,
4852
4969
  onClick: () => setValue(null)
4853
4970
  };
@@ -4857,36 +4974,36 @@ function useResetStyleValueProps() {
4857
4974
  import { createTransformer as createTransformer6, styleTransformersRegistry as styleTransformersRegistry2 } from "@elementor/editor-canvas";
4858
4975
 
4859
4976
  // src/styles-inheritance/transformers/background-color-overlay-transformer.tsx
4860
- import * as React92 from "react";
4977
+ import * as React93 from "react";
4861
4978
  import { createTransformer as createTransformer2 } from "@elementor/editor-canvas";
4862
- import { Stack as Stack22, styled as styled7, UnstableColorIndicator } from "@elementor/ui";
4863
- var backgroundColorOverlayTransformer = createTransformer2((value) => /* @__PURE__ */ React92.createElement(Stack22, { direction: "row", gap: 10 }, /* @__PURE__ */ React92.createElement(ItemIconColor, { value }), /* @__PURE__ */ React92.createElement(ItemLabelColor, { value })));
4979
+ import { Stack as Stack18, styled as styled7, UnstableColorIndicator } from "@elementor/ui";
4980
+ var backgroundColorOverlayTransformer = createTransformer2((value) => /* @__PURE__ */ React93.createElement(Stack18, { direction: "row", gap: 10 }, /* @__PURE__ */ React93.createElement(ItemIconColor, { value }), /* @__PURE__ */ React93.createElement(ItemLabelColor, { value })));
4864
4981
  var ItemIconColor = ({ value }) => {
4865
4982
  const { color } = value;
4866
- return /* @__PURE__ */ React92.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: color });
4983
+ return /* @__PURE__ */ React93.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: color });
4867
4984
  };
4868
4985
  var ItemLabelColor = ({ value: { color } }) => {
4869
- return /* @__PURE__ */ React92.createElement("span", null, color);
4986
+ return /* @__PURE__ */ React93.createElement("span", null, color);
4870
4987
  };
4871
4988
  var StyledUnstableColorIndicator = styled7(UnstableColorIndicator)(({ theme }) => ({
4872
4989
  borderRadius: `${theme.shape.borderRadius / 2}px`
4873
4990
  }));
4874
4991
 
4875
4992
  // src/styles-inheritance/transformers/background-gradient-overlay-transformer.tsx
4876
- import * as React93 from "react";
4993
+ import * as React94 from "react";
4877
4994
  import { createTransformer as createTransformer3 } from "@elementor/editor-canvas";
4878
- import { Stack as Stack23 } from "@elementor/ui";
4879
- import { __ as __60 } from "@wordpress/i18n";
4880
- var backgroundGradientOverlayTransformer = createTransformer3((value) => /* @__PURE__ */ React93.createElement(Stack23, { direction: "row", gap: 10 }, /* @__PURE__ */ React93.createElement(ItemIconGradient, { value }), /* @__PURE__ */ React93.createElement(ItemLabelGradient, { value })));
4995
+ import { Stack as Stack19 } from "@elementor/ui";
4996
+ import { __ as __64 } from "@wordpress/i18n";
4997
+ var backgroundGradientOverlayTransformer = createTransformer3((value) => /* @__PURE__ */ React94.createElement(Stack19, { direction: "row", gap: 10 }, /* @__PURE__ */ React94.createElement(ItemIconGradient, { value }), /* @__PURE__ */ React94.createElement(ItemLabelGradient, { value })));
4881
4998
  var ItemIconGradient = ({ value }) => {
4882
4999
  const gradient = getGradientValue(value);
4883
- return /* @__PURE__ */ React93.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: gradient });
5000
+ return /* @__PURE__ */ React94.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: gradient });
4884
5001
  };
4885
5002
  var ItemLabelGradient = ({ value }) => {
4886
5003
  if (value.type === "linear") {
4887
- return /* @__PURE__ */ React93.createElement("span", null, __60("Linear Gradient", "elementor"));
5004
+ return /* @__PURE__ */ React94.createElement("span", null, __64("Linear Gradient", "elementor"));
4888
5005
  }
4889
- return /* @__PURE__ */ React93.createElement("span", null, __60("Radial Gradient", "elementor"));
5006
+ return /* @__PURE__ */ React94.createElement("span", null, __64("Radial Gradient", "elementor"));
4890
5007
  };
4891
5008
  var getGradientValue = (gradient) => {
4892
5009
  const stops = gradient.stops?.map(({ color, offset }) => `${color} ${offset ?? 0}%`)?.join(",");
@@ -4897,15 +5014,15 @@ var getGradientValue = (gradient) => {
4897
5014
  };
4898
5015
 
4899
5016
  // src/styles-inheritance/transformers/background-image-overlay-transformer.tsx
4900
- import * as React94 from "react";
5017
+ import * as React95 from "react";
4901
5018
  import { createTransformer as createTransformer4 } from "@elementor/editor-canvas";
4902
5019
  import { EllipsisWithTooltip as EllipsisWithTooltip2 } from "@elementor/editor-ui";
4903
- import { CardMedia, Stack as Stack24 } from "@elementor/ui";
5020
+ import { CardMedia, Stack as Stack20 } from "@elementor/ui";
4904
5021
  import { useWpMediaAttachment } from "@elementor/wp-media";
4905
- var backgroundImageOverlayTransformer = createTransformer4((value) => /* @__PURE__ */ React94.createElement(Stack24, { direction: "row", gap: 10 }, /* @__PURE__ */ React94.createElement(ItemIconImage, { value }), /* @__PURE__ */ React94.createElement(ItemLabelImage, { value })));
5022
+ var backgroundImageOverlayTransformer = createTransformer4((value) => /* @__PURE__ */ React95.createElement(Stack20, { direction: "row", gap: 10 }, /* @__PURE__ */ React95.createElement(ItemIconImage, { value }), /* @__PURE__ */ React95.createElement(ItemLabelImage, { value })));
4906
5023
  var ItemIconImage = ({ value }) => {
4907
5024
  const { imageUrl } = useImage(value);
4908
- return /* @__PURE__ */ React94.createElement(
5025
+ return /* @__PURE__ */ React95.createElement(
4909
5026
  CardMedia,
4910
5027
  {
4911
5028
  image: imageUrl,
@@ -4920,7 +5037,7 @@ var ItemIconImage = ({ value }) => {
4920
5037
  };
4921
5038
  var ItemLabelImage = ({ value }) => {
4922
5039
  const { imageTitle } = useImage(value);
4923
- return /* @__PURE__ */ React94.createElement(EllipsisWithTooltip2, { title: imageTitle }, /* @__PURE__ */ React94.createElement("span", null, imageTitle));
5040
+ return /* @__PURE__ */ React95.createElement(EllipsisWithTooltip2, { title: imageTitle }, /* @__PURE__ */ React95.createElement("span", null, imageTitle));
4924
5041
  };
4925
5042
  var useImage = (image) => {
4926
5043
  let imageTitle, imageUrl = null;
@@ -4945,14 +5062,14 @@ var getFileExtensionFromFilename = (filename) => {
4945
5062
  };
4946
5063
 
4947
5064
  // src/styles-inheritance/transformers/background-overlay-transformer.tsx
4948
- import * as React95 from "react";
5065
+ import * as React96 from "react";
4949
5066
  import { createTransformer as createTransformer5 } from "@elementor/editor-canvas";
4950
- import { Stack as Stack25 } from "@elementor/ui";
5067
+ import { Stack as Stack21 } from "@elementor/ui";
4951
5068
  var backgroundOverlayTransformer = createTransformer5((values) => {
4952
5069
  if (!values || values.length === 0) {
4953
5070
  return null;
4954
5071
  }
4955
- return /* @__PURE__ */ React95.createElement(Stack25, { direction: "column" }, values.map((item, index) => /* @__PURE__ */ React95.createElement(Stack25, { key: index }, item)));
5072
+ return /* @__PURE__ */ React96.createElement(Stack21, { direction: "column" }, values.map((item, index) => /* @__PURE__ */ React96.createElement(Stack21, { key: index }, item)));
4956
5073
  });
4957
5074
 
4958
5075
  // src/styles-inheritance/init-styles-inheritance-transformers.ts
@@ -5002,7 +5119,7 @@ function init3() {
5002
5119
  });
5003
5120
  init();
5004
5121
  init2();
5005
- if (isExperimentActive14(EXPERIMENTAL_FEATURES.V_3_30)) {
5122
+ if (isExperimentActive17(EXPERIMENTAL_FEATURES.V_3_30)) {
5006
5123
  initResetStyleProps();
5007
5124
  }
5008
5125
  }
@@ -5013,6 +5130,8 @@ var blockV1Panel = () => {
5013
5130
  });
5014
5131
  };
5015
5132
  export {
5133
+ EXPERIMENTAL_FEATURES,
5134
+ PopoverScrollableContent,
5016
5135
  controlActionsMenu,
5017
5136
  init3 as init,
5018
5137
  injectIntoClassSelectorActions,
@@ -5021,6 +5140,7 @@ export {
5021
5140
  useBoundProp9 as useBoundProp,
5022
5141
  useFontFamilies,
5023
5142
  usePanelActions,
5024
- usePanelStatus
5143
+ usePanelStatus,
5144
+ useSectionWidth
5025
5145
  };
5026
5146
  //# sourceMappingURL=index.mjs.map