@elementor/editor-editing-panel 1.11.1 → 1.13.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 (42) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/index.js +431 -426
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.mjs +383 -378
  5. package/dist/index.mjs.map +1 -1
  6. package/package.json +8 -8
  7. package/src/components/add-or-remove-content.tsx +5 -3
  8. package/src/components/collapsible-content.tsx +2 -1
  9. package/src/components/css-classes/css-class-item.tsx +2 -0
  10. package/src/components/css-classes/css-class-selector.tsx +2 -7
  11. package/src/components/panel-divider.tsx +4 -0
  12. package/src/components/popover-content.tsx +15 -0
  13. package/src/components/section-content.tsx +16 -0
  14. package/src/components/style-sections/border-section/border-color-field.tsx +1 -1
  15. package/src/components/style-sections/border-section/border-radius-field.tsx +5 -6
  16. package/src/components/style-sections/border-section/border-section.tsx +5 -4
  17. package/src/components/style-sections/border-section/border-style-field.tsx +2 -2
  18. package/src/components/style-sections/border-section/border-width-field.tsx +1 -1
  19. package/src/components/style-sections/effects-section/effects-section.tsx +3 -3
  20. package/src/components/style-sections/layout-section/flex-order-field.tsx +4 -3
  21. package/src/components/style-sections/layout-section/flex-size-field.tsx +4 -3
  22. package/src/components/style-sections/layout-section/layout-section.tsx +6 -5
  23. package/src/components/style-sections/position-section/position-field.tsx +1 -1
  24. package/src/components/style-sections/position-section/position-section.tsx +3 -3
  25. package/src/components/style-sections/size-section/overflow-field.tsx +2 -2
  26. package/src/components/style-sections/size-section/size-section.tsx +10 -8
  27. package/src/components/style-sections/spacing-section/spacing-section.tsx +5 -4
  28. package/src/components/style-sections/typography-section/font-family-field.tsx +2 -2
  29. package/src/components/style-sections/typography-section/font-size-field.tsx +1 -1
  30. package/src/components/style-sections/typography-section/font-style-field.tsx +36 -0
  31. package/src/components/style-sections/typography-section/font-weight-field.tsx +2 -2
  32. package/src/components/style-sections/typography-section/letter-spacing-field.tsx +1 -1
  33. package/src/components/style-sections/typography-section/line-height-field.tsx +1 -1
  34. package/src/components/style-sections/typography-section/text-color-field.tsx +1 -1
  35. package/src/components/style-sections/typography-section/{text-style-field.tsx → text-decoration-field.tsx} +3 -24
  36. package/src/components/style-sections/typography-section/text-stroke-field.tsx +1 -1
  37. package/src/components/style-sections/typography-section/transform-field.tsx +1 -1
  38. package/src/components/style-sections/typography-section/typography-section.tsx +12 -9
  39. package/src/components/style-sections/typography-section/word-spacing-field.tsx +1 -1
  40. package/src/controls-registry/settings-field.tsx +1 -7
  41. package/src/dynamics/components/dynamic-selection-control.tsx +4 -3
  42. package/src/dynamics/components/dynamic-selection.tsx +5 -4
package/dist/index.mjs CHANGED
@@ -109,7 +109,7 @@ import {
109
109
  function MultiCombobox({
110
110
  actions = [],
111
111
  selected,
112
- options: options10,
112
+ options: options11,
113
113
  onSelect,
114
114
  ...props
115
115
  }) {
@@ -127,14 +127,14 @@ function MultiCombobox({
127
127
  handleHomeEndKeys: true,
128
128
  disabled: loading,
129
129
  value: selected,
130
- options: options10,
130
+ options: options11,
131
131
  renderGroup: (params) => /* @__PURE__ */ React4.createElement(Group, { ...params }),
132
132
  renderInput: (params) => /* @__PURE__ */ React4.createElement(TextField, { ...params }),
133
133
  onChange: (_, selectedOrInputValue, reason) => {
134
134
  const inputValue = selectedOrInputValue.find((option) => typeof option === "string");
135
135
  const optionsAndActions = selectedOrInputValue.filter((option) => typeof option !== "string");
136
136
  if (reason === "createOption") {
137
- const [firstAction] = filterActions(actions, { options: options10, inputValue: inputValue ?? "" });
137
+ const [firstAction] = filterActions(actions, { options: options11, inputValue: inputValue ?? "" });
138
138
  if (firstAction) {
139
139
  return run(firstAction.apply, firstAction.value);
140
140
  }
@@ -143,7 +143,7 @@ function MultiCombobox({
143
143
  if (reason === "selectOption" && action) {
144
144
  return run(action.apply, action.value);
145
145
  }
146
- const fixedValues = options10.filter((option) => !!option.fixed);
146
+ const fixedValues = options11.filter((option) => !!option.fixed);
147
147
  onSelect?.([.../* @__PURE__ */ new Set([...optionsAndActions, ...fixedValues])]);
148
148
  },
149
149
  getOptionLabel: (option) => typeof option === "string" ? option : option.label,
@@ -200,8 +200,8 @@ function useActionRunner() {
200
200
  };
201
201
  return { run, loading };
202
202
  }
203
- function filterActions(actions, { options: options10, inputValue }) {
204
- return actions.filter((action) => action.condition(options10, inputValue)).map((action, index) => ({
203
+ function filterActions(actions, { options: options11, inputValue }) {
204
+ return actions.filter((action) => action.condition(options11, inputValue)).map((action, index) => ({
205
205
  label: action.label(inputValue),
206
206
  value: inputValue,
207
207
  group: action.group,
@@ -437,6 +437,7 @@ var validateLabel = (newLabel) => {
437
437
  if (stylesRepository3.isLabelExist(newLabel)) {
438
438
  return __2("Existing name", "elementor");
439
439
  }
440
+ return null;
440
441
  };
441
442
 
442
443
  // src/components/css-classes/css-class-selector.tsx
@@ -451,19 +452,19 @@ var EMPTY_OPTION = {
451
452
  };
452
453
  var { Slot: ClassSelectorActionsSlot, inject: injectIntoClassSelectorActions } = createLocation();
453
454
  function CssClassSelector() {
454
- const options10 = useOptions();
455
+ const options11 = useOptions();
455
456
  const { value: appliedIds, setValue: setAppliedIds, pushValue: pushAppliedId } = useAppliedClassesIds();
456
457
  const { id: activeId, setId: setActiveId } = useStyle();
457
458
  const actions = useCreateActions({ pushAppliedId, setActiveId });
458
459
  const handleApply = useHandleApply(appliedIds, setAppliedIds);
459
- const applied = useAppliedOptions(options10, appliedIds);
460
+ const applied = useAppliedOptions(options11, appliedIds);
460
461
  const active = applied.find((option) => option.value === activeId) ?? EMPTY_OPTION;
461
462
  return /* @__PURE__ */ React7.createElement(Stack2, { gap: 1, p: 2 }, /* @__PURE__ */ React7.createElement(Stack2, { direction: "row", gap: 1, alignItems: "center", justifyContent: "space-between" }, /* @__PURE__ */ React7.createElement(Typography2, { component: "label", variant: "caption", htmlFor: ID }, __3("CSS Classes", "elementor")), /* @__PURE__ */ React7.createElement(Stack2, { direction: "row", gap: 1 }, /* @__PURE__ */ React7.createElement(ClassSelectorActionsSlot, null))), /* @__PURE__ */ React7.createElement(
462
463
  MultiCombobox,
463
464
  {
464
465
  id: ID,
465
466
  size: "tiny",
466
- options: options10,
467
+ options: options11,
467
468
  selected: applied,
468
469
  onSelect: handleApply,
469
470
  limitTags: TAGS_LIMIT,
@@ -538,19 +539,14 @@ function useCreateActions({
538
539
  pushAppliedId(createdId);
539
540
  setActiveId(createdId);
540
541
  },
541
- condition: (options10, inputValue) => {
542
- const isUniqueLabel = !options10.some(
543
- (option) => option.label.toLowerCase() === inputValue.toLowerCase()
544
- );
545
- return !!inputValue && isUniqueLabel;
546
- },
542
+ condition: (_, inputValue) => stylesRepository4.isLabelValid(inputValue) && !stylesRepository4.isLabelExist(inputValue),
547
543
  // translators: %s is the singular label of css class provider (e.g "Global CSS Class").
548
544
  group: __3("Create New %s", "elementor").replace("%s", provider.labels?.singular ?? "")
549
545
  };
550
546
  });
551
547
  }
552
- function useAppliedOptions(options10, appliedIds) {
553
- const applied = options10.filter((option) => appliedIds.includes(option.value));
548
+ function useAppliedOptions(options11, appliedIds) {
549
+ const applied = options11.filter((option) => appliedIds.includes(option.value));
554
550
  const hasElementsProviderStyleApplied = applied.some(
555
551
  (option) => option.provider === ELEMENTS_STYLES_PROVIDER_KEY
556
552
  );
@@ -606,13 +602,13 @@ function useHandleApply(appliedIds, setAppliedIds) {
606
602
  import { __createPanel as createPanel } from "@elementor/editor-panels";
607
603
 
608
604
  // src/components/editing-panel.tsx
609
- import * as React60 from "react";
605
+ import * as React63 from "react";
610
606
  import { ControlActionsProvider, ControlReplacementProvider } from "@elementor/editor-controls";
611
607
  import { useSelectedElement } from "@elementor/editor-elements";
612
608
  import { Panel, PanelBody, PanelHeader, PanelHeaderTitle } from "@elementor/editor-panels";
613
609
  import { SessionStorageProvider as SessionStorageProvider3 } from "@elementor/session";
614
610
  import { ErrorBoundary } from "@elementor/ui";
615
- import { __ as __41 } from "@wordpress/i18n";
611
+ import { __ as __42 } from "@wordpress/i18n";
616
612
 
617
613
  // src/controls-actions.ts
618
614
  import { createMenu } from "@elementor/menus";
@@ -627,7 +623,7 @@ function PopoverAction({
627
623
  title,
628
624
  visible = true,
629
625
  icon: Icon,
630
- popoverContent: PopoverContent
626
+ popoverContent: PopoverContent2
631
627
  }) {
632
628
  const id = useId2();
633
629
  const popupState = usePopupState2({
@@ -649,7 +645,7 @@ function PopoverAction({
649
645
  ...bindPopover(popupState)
650
646
  },
651
647
  /* @__PURE__ */ React8.createElement(Stack3, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React8.createElement(Icon, { fontSize: SIZE, sx: { mr: 0.5 } }), /* @__PURE__ */ React8.createElement(Typography3, { variant: "subtitle2" }, title), /* @__PURE__ */ React8.createElement(IconButton, { sx: { ml: "auto" }, size: SIZE, onClick: popupState.close }, /* @__PURE__ */ React8.createElement(XIcon, { fontSize: SIZE }))),
652
- /* @__PURE__ */ React8.createElement(PopoverContent, { closePopover: popupState.close })
648
+ /* @__PURE__ */ React8.createElement(PopoverContent2, { closePopover: popupState.close })
653
649
  ));
654
650
  }
655
651
 
@@ -668,10 +664,10 @@ function EditorPanelErrorFallback() {
668
664
  }
669
665
 
670
666
  // src/components/editing-panel-tabs.tsx
671
- import * as React59 from "react";
667
+ import * as React62 from "react";
672
668
  import { Fragment as Fragment8 } from "react";
673
- import { Divider as Divider9, Stack as Stack20, Tab, TabPanel, Tabs, useTabs } from "@elementor/ui";
674
- import { __ as __40 } from "@wordpress/i18n";
669
+ import { Divider as Divider5, Stack as Stack13, Tab, TabPanel, Tabs, useTabs } from "@elementor/ui";
670
+ import { __ as __41 } from "@wordpress/i18n";
675
671
 
676
672
  // src/components/settings-tab.tsx
677
673
  import * as React15 from "react";
@@ -763,12 +759,8 @@ var createTopLevelOjectType = ({ schema }) => {
763
759
  var SettingsField = ({ bind, children }) => {
764
760
  const { element, elementType } = useElement();
765
761
  const settingsValue = useElementSetting3(element.id, bind);
766
- const linkValue = useElementSetting3(element.id, "link");
767
762
  const value = { [bind]: settingsValue };
768
763
  const propType = createTopLevelOjectType({ schema: elementType.propsSchema });
769
- if (bind === "tag" && linkValue?.value && "div-block" === elementType.key) {
770
- return null;
771
- }
772
764
  const setValue = (newValue) => {
773
765
  updateElementSettings3({
774
766
  id: element.id,
@@ -846,13 +838,13 @@ var Control2 = ({ control }) => {
846
838
  };
847
839
 
848
840
  // src/components/style-tab.tsx
849
- import * as React58 from "react";
841
+ import * as React61 from "react";
850
842
  import { useState as useState7 } from "react";
851
843
  import { useElementSetting as useElementSetting4, useElementStyles } from "@elementor/editor-elements";
852
844
  import { useActiveBreakpoint } from "@elementor/editor-responsive";
853
845
  import { SessionStorageProvider as SessionStorageProvider2 } from "@elementor/session";
854
- import { Divider as Divider8 } from "@elementor/ui";
855
- import { __ as __39 } from "@wordpress/i18n";
846
+ import { Divider as Divider4 } from "@elementor/ui";
847
+ import { __ as __40 } from "@wordpress/i18n";
856
848
 
857
849
  // src/components/style-sections/background-section/background-section.tsx
858
850
  import * as React17 from "react";
@@ -1022,22 +1014,31 @@ var BackgroundSection = () => {
1022
1014
  };
1023
1015
 
1024
1016
  // src/components/style-sections/border-section/border-section.tsx
1025
- import * as React25 from "react";
1026
- import { Divider as Divider3, Stack as Stack6 } from "@elementor/ui";
1017
+ import * as React27 from "react";
1018
+
1019
+ // src/components/panel-divider.tsx
1020
+ import * as React18 from "react";
1021
+ import { Divider as Divider3 } from "@elementor/ui";
1022
+ var PanelDivider = () => /* @__PURE__ */ React18.createElement(Divider3, { sx: { my: 0.5 } });
1023
+
1024
+ // src/components/section-content.tsx
1025
+ import * as React19 from "react";
1026
+ import { Stack as Stack5 } from "@elementor/ui";
1027
+ var SectionContent = ({ gap = 2, sx, children }) => /* @__PURE__ */ React19.createElement(Stack5, { gap, sx: { ...sx } }, children);
1027
1028
 
1028
1029
  // src/components/style-sections/border-section/border-field.tsx
1029
- import * as React22 from "react";
1030
+ import * as React24 from "react";
1030
1031
  import { __ as __8 } from "@wordpress/i18n";
1031
1032
 
1032
1033
  // src/components/add-or-remove-content.tsx
1033
- import * as React18 from "react";
1034
+ import * as React20 from "react";
1034
1035
  import { ControlLabel as ControlLabel2 } from "@elementor/editor-controls";
1035
1036
  import { MinusIcon, PlusIcon } from "@elementor/icons";
1036
- import { Collapse as Collapse2, IconButton as IconButton2, Stack as Stack5 } from "@elementor/ui";
1037
+ import { Collapse as Collapse2, IconButton as IconButton2, Stack as Stack6 } from "@elementor/ui";
1037
1038
  var SIZE2 = "tiny";
1038
1039
  var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
1039
- return /* @__PURE__ */ React18.createElement(Stack5, { gap: 1.5 }, /* @__PURE__ */ React18.createElement(
1040
- Stack5,
1040
+ return /* @__PURE__ */ React20.createElement(SectionContent, null, /* @__PURE__ */ React20.createElement(
1041
+ Stack6,
1041
1042
  {
1042
1043
  direction: "row",
1043
1044
  sx: {
@@ -1045,22 +1046,22 @@ var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
1045
1046
  alignItems: "center"
1046
1047
  }
1047
1048
  },
1048
- /* @__PURE__ */ React18.createElement(ControlLabel2, null, label),
1049
- isAdded ? /* @__PURE__ */ React18.createElement(IconButton2, { size: SIZE2, onClick: onRemove, "aria-label": "Remove" }, /* @__PURE__ */ React18.createElement(MinusIcon, { fontSize: SIZE2 })) : /* @__PURE__ */ React18.createElement(IconButton2, { size: SIZE2, onClick: onAdd, "aria-label": "Add" }, /* @__PURE__ */ React18.createElement(PlusIcon, { fontSize: SIZE2 }))
1050
- ), /* @__PURE__ */ React18.createElement(Collapse2, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React18.createElement(Stack5, { gap: 1.5 }, children)));
1049
+ /* @__PURE__ */ React20.createElement(ControlLabel2, null, label),
1050
+ isAdded ? /* @__PURE__ */ React20.createElement(IconButton2, { size: SIZE2, onClick: onRemove, "aria-label": "Remove" }, /* @__PURE__ */ React20.createElement(MinusIcon, { fontSize: SIZE2 })) : /* @__PURE__ */ React20.createElement(IconButton2, { size: SIZE2, onClick: onAdd, "aria-label": "Add" }, /* @__PURE__ */ React20.createElement(PlusIcon, { fontSize: SIZE2 }))
1051
+ ), /* @__PURE__ */ React20.createElement(Collapse2, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React20.createElement(SectionContent, null, children)));
1051
1052
  };
1052
1053
 
1053
1054
  // src/components/style-sections/border-section/border-color-field.tsx
1054
- import * as React19 from "react";
1055
+ import * as React21 from "react";
1055
1056
  import { ColorControl, ControlLabel as ControlLabel3 } from "@elementor/editor-controls";
1056
1057
  import { Grid } from "@elementor/ui";
1057
1058
  import { __ as __5 } from "@wordpress/i18n";
1058
1059
  var BorderColorField = () => {
1059
- return /* @__PURE__ */ React19.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React19.createElement(Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React19.createElement(Grid, { item: true, xs: 6 }, /* @__PURE__ */ React19.createElement(ControlLabel3, null, __5("Border Color", "elementor"))), /* @__PURE__ */ React19.createElement(Grid, { item: true, xs: 6 }, /* @__PURE__ */ React19.createElement(ColorControl, null))));
1060
+ return /* @__PURE__ */ React21.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React21.createElement(Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React21.createElement(Grid, { item: true, xs: 6 }, /* @__PURE__ */ React21.createElement(ControlLabel3, null, __5("Border color", "elementor"))), /* @__PURE__ */ React21.createElement(Grid, { item: true, xs: 6 }, /* @__PURE__ */ React21.createElement(ColorControl, null))));
1060
1061
  };
1061
1062
 
1062
1063
  // src/components/style-sections/border-section/border-style-field.tsx
1063
- import * as React20 from "react";
1064
+ import * as React22 from "react";
1064
1065
  import { ControlLabel as ControlLabel4, SelectControl as SelectControl2 } from "@elementor/editor-controls";
1065
1066
  import { Grid as Grid2 } from "@elementor/ui";
1066
1067
  import { __ as __6 } from "@wordpress/i18n";
@@ -1076,11 +1077,11 @@ var borderStyles = [
1076
1077
  { value: "outset", label: __6("Outset", "elementor") }
1077
1078
  ];
1078
1079
  var BorderStyleField = () => {
1079
- return /* @__PURE__ */ React20.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React20.createElement(Grid2, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React20.createElement(Grid2, { item: true, xs: 6 }, /* @__PURE__ */ React20.createElement(ControlLabel4, null, __6("Border Type", "elementor"))), /* @__PURE__ */ React20.createElement(Grid2, { item: true, xs: 6 }, /* @__PURE__ */ React20.createElement(SelectControl2, { options: borderStyles }))));
1080
+ return /* @__PURE__ */ React22.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React22.createElement(Grid2, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React22.createElement(Grid2, { item: true, xs: 6 }, /* @__PURE__ */ React22.createElement(ControlLabel4, null, __6("Border type", "elementor"))), /* @__PURE__ */ React22.createElement(Grid2, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React22.createElement(SelectControl2, { options: borderStyles }))));
1080
1081
  };
1081
1082
 
1082
1083
  // src/components/style-sections/border-section/border-width-field.tsx
1083
- import * as React21 from "react";
1084
+ import * as React23 from "react";
1084
1085
  import { EqualUnequalSizesControl } from "@elementor/editor-controls";
1085
1086
  import { borderWidthPropTypeUtil } from "@elementor/editor-props";
1086
1087
  import { SideAllIcon, SideBottomIcon, SideLeftIcon, SideRightIcon, SideTopIcon } from "@elementor/icons";
@@ -1088,32 +1089,32 @@ import { __ as __7 } from "@wordpress/i18n";
1088
1089
  var edges = [
1089
1090
  {
1090
1091
  label: __7("Top", "elementor"),
1091
- icon: /* @__PURE__ */ React21.createElement(SideTopIcon, { fontSize: "tiny" }),
1092
+ icon: /* @__PURE__ */ React23.createElement(SideTopIcon, { fontSize: "tiny" }),
1092
1093
  bind: "top"
1093
1094
  },
1094
1095
  {
1095
1096
  label: __7("Right", "elementor"),
1096
- icon: /* @__PURE__ */ React21.createElement(SideRightIcon, { fontSize: "tiny" }),
1097
+ icon: /* @__PURE__ */ React23.createElement(SideRightIcon, { fontSize: "tiny" }),
1097
1098
  bind: "right"
1098
1099
  },
1099
1100
  {
1100
1101
  label: __7("Bottom", "elementor"),
1101
- icon: /* @__PURE__ */ React21.createElement(SideBottomIcon, { fontSize: "tiny" }),
1102
+ icon: /* @__PURE__ */ React23.createElement(SideBottomIcon, { fontSize: "tiny" }),
1102
1103
  bind: "bottom"
1103
1104
  },
1104
1105
  {
1105
1106
  label: __7("Left", "elementor"),
1106
- icon: /* @__PURE__ */ React21.createElement(SideLeftIcon, { fontSize: "tiny" }),
1107
+ icon: /* @__PURE__ */ React23.createElement(SideLeftIcon, { fontSize: "tiny" }),
1107
1108
  bind: "left"
1108
1109
  }
1109
1110
  ];
1110
1111
  var BorderWidthField = () => {
1111
- return /* @__PURE__ */ React21.createElement(StylesField, { bind: "border-width" }, /* @__PURE__ */ React21.createElement(
1112
+ return /* @__PURE__ */ React23.createElement(StylesField, { bind: "border-width" }, /* @__PURE__ */ React23.createElement(
1112
1113
  EqualUnequalSizesControl,
1113
1114
  {
1114
1115
  items: edges,
1115
- label: __7("Border Width", "elementor"),
1116
- icon: /* @__PURE__ */ React21.createElement(SideAllIcon, { fontSize: "tiny" }),
1116
+ label: __7("Border width", "elementor"),
1117
+ icon: /* @__PURE__ */ React23.createElement(SideAllIcon, { fontSize: "tiny" }),
1117
1118
  multiSizePropTypeUtil: borderWidthPropTypeUtil
1118
1119
  }
1119
1120
  ));
@@ -1138,7 +1139,7 @@ var BorderField = () => {
1138
1139
  });
1139
1140
  };
1140
1141
  const hasBorder = Object.values(border ?? {}).some(Boolean);
1141
- return /* @__PURE__ */ React22.createElement(
1142
+ return /* @__PURE__ */ React24.createElement(
1142
1143
  AddOrRemoveContent,
1143
1144
  {
1144
1145
  label: __8("Border", "elementor"),
@@ -1146,14 +1147,14 @@ var BorderField = () => {
1146
1147
  onAdd: addBorder,
1147
1148
  onRemove: removeBorder
1148
1149
  },
1149
- /* @__PURE__ */ React22.createElement(BorderWidthField, null),
1150
- /* @__PURE__ */ React22.createElement(BorderColorField, null),
1151
- /* @__PURE__ */ React22.createElement(BorderStyleField, null)
1150
+ /* @__PURE__ */ React24.createElement(BorderWidthField, null),
1151
+ /* @__PURE__ */ React24.createElement(BorderColorField, null),
1152
+ /* @__PURE__ */ React24.createElement(BorderStyleField, null)
1152
1153
  );
1153
1154
  };
1154
1155
 
1155
1156
  // src/components/style-sections/border-section/border-radius-field.tsx
1156
- import * as React24 from "react";
1157
+ import * as React26 from "react";
1157
1158
  import { EqualUnequalSizesControl as EqualUnequalSizesControl2 } from "@elementor/editor-controls";
1158
1159
  import { borderRadiusPropTypeUtil } from "@elementor/editor-props";
1159
1160
  import {
@@ -1175,7 +1176,7 @@ function useDirection() {
1175
1176
  }
1176
1177
 
1177
1178
  // src/components/style-sections/layout-section/utils/rotated-icon.tsx
1178
- import * as React23 from "react";
1179
+ import * as React25 from "react";
1179
1180
  import { useRef } from "react";
1180
1181
  import { useTheme as useTheme2 } from "@elementor/ui";
1181
1182
  var CLOCKWISE_ANGLES = {
@@ -1193,7 +1194,7 @@ var COUNTER_CLOCKWISE_ANGLES = {
1193
1194
  var RotatedIcon = ({ icon: Icon, size, isClockwise = true, offset = 0 }) => {
1194
1195
  const rotate = useRef(useGetTargetAngle(isClockwise, offset));
1195
1196
  rotate.current = useGetTargetAngle(isClockwise, offset, rotate);
1196
- return /* @__PURE__ */ React23.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
1197
+ return /* @__PURE__ */ React25.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
1197
1198
  };
1198
1199
  var useGetTargetAngle = (isClockwise, offset, existingRef) => {
1199
1200
  const [direction] = useStylesField("flex-direction");
@@ -1212,61 +1213,59 @@ var StartStartIcon = withDirection(RadiusTopLeftIcon);
1212
1213
  var StartEndIcon = withDirection(RadiusTopRightIcon);
1213
1214
  var EndStartIcon = withDirection(RadiusBottomLeftIcon);
1214
1215
  var EndEndIcon = withDirection(RadiusBottomRightIcon);
1215
- var getStartStartLabel = (isSiteRtl) => isSiteRtl ? __9("Top Right", "elementor") : __9("Top Left", "elementor");
1216
- var getStartEndLabel = (isSiteRtl) => isSiteRtl ? __9("Top Left", "elementor") : __9("Top Right", "elementor");
1217
- var getEndStartLabel = (isSiteRtl) => isSiteRtl ? __9("Bottom Right", "elementor") : __9("Bottom Left", "elementor");
1218
- var getEndEndLabel = (isSiteRtl) => isSiteRtl ? __9("Bottom Left", "elementor") : __9("Bottom Right", "elementor");
1216
+ var getStartStartLabel = (isSiteRtl) => isSiteRtl ? __9("Top right", "elementor") : __9("Top left", "elementor");
1217
+ var getStartEndLabel = (isSiteRtl) => isSiteRtl ? __9("Top left", "elementor") : __9("Top right", "elementor");
1218
+ var getEndStartLabel = (isSiteRtl) => isSiteRtl ? __9("Bottom right", "elementor") : __9("Bottom left", "elementor");
1219
+ var getEndEndLabel = (isSiteRtl) => isSiteRtl ? __9("Bottom left", "elementor") : __9("Bottom right", "elementor");
1219
1220
  var getCorners = (isSiteRtl) => [
1220
1221
  {
1221
1222
  label: getStartStartLabel(isSiteRtl),
1222
- icon: /* @__PURE__ */ React24.createElement(RotatedIcon, { icon: StartStartIcon, size: "tiny" }),
1223
+ icon: /* @__PURE__ */ React26.createElement(RotatedIcon, { icon: StartStartIcon, size: "tiny" }),
1223
1224
  bind: "start-start"
1224
1225
  },
1225
1226
  {
1226
1227
  label: getStartEndLabel(isSiteRtl),
1227
- icon: /* @__PURE__ */ React24.createElement(RotatedIcon, { icon: StartEndIcon, size: "tiny" }),
1228
+ icon: /* @__PURE__ */ React26.createElement(RotatedIcon, { icon: StartEndIcon, size: "tiny" }),
1228
1229
  bind: "start-end"
1229
1230
  },
1230
1231
  {
1231
1232
  label: getEndEndLabel(isSiteRtl),
1232
- icon: /* @__PURE__ */ React24.createElement(RotatedIcon, { icon: EndEndIcon, size: "tiny" }),
1233
+ icon: /* @__PURE__ */ React26.createElement(RotatedIcon, { icon: EndEndIcon, size: "tiny" }),
1233
1234
  bind: "end-end"
1234
1235
  },
1235
1236
  {
1236
1237
  label: getEndStartLabel(isSiteRtl),
1237
- icon: /* @__PURE__ */ React24.createElement(RotatedIcon, { icon: EndStartIcon, size: "tiny" }),
1238
+ icon: /* @__PURE__ */ React26.createElement(RotatedIcon, { icon: EndStartIcon, size: "tiny" }),
1238
1239
  bind: "end-start"
1239
1240
  }
1240
1241
  ];
1241
1242
  var BorderRadiusField = () => {
1242
1243
  const { isSiteRtl } = useDirection();
1243
- return /* @__PURE__ */ React24.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React24.createElement(
1244
+ return /* @__PURE__ */ React26.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React26.createElement(
1244
1245
  EqualUnequalSizesControl2,
1245
1246
  {
1246
1247
  items: getCorners(isSiteRtl),
1247
- label: __9("Border Radius", "elementor"),
1248
- icon: /* @__PURE__ */ React24.createElement(BorderCornersIcon, { fontSize: "tiny" }),
1248
+ label: __9("Border radius", "elementor"),
1249
+ icon: /* @__PURE__ */ React26.createElement(BorderCornersIcon, { fontSize: "tiny" }),
1249
1250
  multiSizePropTypeUtil: borderRadiusPropTypeUtil
1250
1251
  }
1251
1252
  ));
1252
1253
  };
1253
1254
 
1254
1255
  // src/components/style-sections/border-section/border-section.tsx
1255
- var BorderSection = () => /* @__PURE__ */ React25.createElement(Stack6, { gap: 1.5 }, /* @__PURE__ */ React25.createElement(BorderRadiusField, null), /* @__PURE__ */ React25.createElement(Divider3, null), /* @__PURE__ */ React25.createElement(BorderField, null));
1256
+ var BorderSection = () => /* @__PURE__ */ React27.createElement(SectionContent, null, /* @__PURE__ */ React27.createElement(BorderRadiusField, null), /* @__PURE__ */ React27.createElement(PanelDivider, null), /* @__PURE__ */ React27.createElement(BorderField, null));
1256
1257
 
1257
1258
  // src/components/style-sections/effects-section/effects-section.tsx
1258
- import * as React26 from "react";
1259
+ import * as React28 from "react";
1259
1260
  import { BoxShadowRepeaterControl } from "@elementor/editor-controls";
1260
- import { Stack as Stack7 } from "@elementor/ui";
1261
1261
  var EffectsSection = () => {
1262
- return /* @__PURE__ */ React26.createElement(Stack7, { gap: 1.5 }, /* @__PURE__ */ React26.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React26.createElement(BoxShadowRepeaterControl, null)));
1262
+ return /* @__PURE__ */ React28.createElement(SectionContent, null, /* @__PURE__ */ React28.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React28.createElement(BoxShadowRepeaterControl, null)));
1263
1263
  };
1264
1264
 
1265
1265
  // src/components/style-sections/layout-section/layout-section.tsx
1266
- import * as React36 from "react";
1266
+ import * as React38 from "react";
1267
1267
  import { ControlLabel as ControlLabel13 } from "@elementor/editor-controls";
1268
1268
  import { useParentElement } from "@elementor/editor-elements";
1269
- import { Divider as Divider4, Stack as Stack13 } from "@elementor/ui";
1270
1269
  import { __ as __19 } from "@wordpress/i18n";
1271
1270
 
1272
1271
  // src/hooks/use-computed-style.ts
@@ -1295,7 +1294,7 @@ function useComputedStyle(elementId) {
1295
1294
  }
1296
1295
 
1297
1296
  // src/components/style-sections/layout-section/align-items-field.tsx
1298
- import * as React27 from "react";
1297
+ import * as React29 from "react";
1299
1298
  import { ControlLabel as ControlLabel5, ToggleControl } from "@elementor/editor-controls";
1300
1299
  import {
1301
1300
  LayoutAlignCenterIcon as CenterIcon,
@@ -1315,35 +1314,35 @@ var options = [
1315
1314
  {
1316
1315
  value: "start",
1317
1316
  label: __10("Start", "elementor"),
1318
- renderContent: ({ size }) => /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
1317
+ renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
1319
1318
  showTooltip: true
1320
1319
  },
1321
1320
  {
1322
1321
  value: "center",
1323
1322
  label: __10("Center", "elementor"),
1324
- renderContent: ({ size }) => /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: CenterIcon, size, ...iconProps }),
1323
+ renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: CenterIcon, size, ...iconProps }),
1325
1324
  showTooltip: true
1326
1325
  },
1327
1326
  {
1328
1327
  value: "end",
1329
1328
  label: __10("End", "elementor"),
1330
- renderContent: ({ size }) => /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
1329
+ renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
1331
1330
  showTooltip: true
1332
1331
  },
1333
1332
  {
1334
1333
  value: "stretch",
1335
1334
  label: __10("Stretch", "elementor"),
1336
- renderContent: ({ size }) => /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: JustifyIcon, size, ...iconProps }),
1335
+ renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: JustifyIcon, size, ...iconProps }),
1337
1336
  showTooltip: true
1338
1337
  }
1339
1338
  ];
1340
1339
  var AlignItemsField = () => {
1341
1340
  const { isSiteRtl } = useDirection();
1342
- return /* @__PURE__ */ React27.createElement(DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React27.createElement(ThemeProvider, null, /* @__PURE__ */ React27.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React27.createElement(Grid3, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React27.createElement(Grid3, { item: true, xs: 6 }, /* @__PURE__ */ React27.createElement(ControlLabel5, null, __10("Align items", "elementor"))), /* @__PURE__ */ React27.createElement(Grid3, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React27.createElement(ToggleControl, { options }))))));
1341
+ return /* @__PURE__ */ React29.createElement(DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React29.createElement(ThemeProvider, null, /* @__PURE__ */ React29.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React29.createElement(Grid3, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React29.createElement(Grid3, { item: true, xs: 6 }, /* @__PURE__ */ React29.createElement(ControlLabel5, null, __10("Align items", "elementor"))), /* @__PURE__ */ React29.createElement(Grid3, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React29.createElement(ToggleControl, { options }))))));
1343
1342
  };
1344
1343
 
1345
1344
  // src/components/style-sections/layout-section/align-self-child-field.tsx
1346
- import * as React28 from "react";
1345
+ import * as React30 from "react";
1347
1346
  import { ControlLabel as ControlLabel6, ToggleControl as ToggleControl2 } from "@elementor/editor-controls";
1348
1347
  import {
1349
1348
  LayoutAlignCenterIcon as CenterIcon2,
@@ -1363,40 +1362,40 @@ var options2 = [
1363
1362
  {
1364
1363
  value: "start",
1365
1364
  label: __11("Start", "elementor"),
1366
- renderContent: ({ size }) => /* @__PURE__ */ React28.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
1365
+ renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
1367
1366
  showTooltip: true
1368
1367
  },
1369
1368
  {
1370
1369
  value: "center",
1371
1370
  label: __11("Center", "elementor"),
1372
- renderContent: ({ size }) => /* @__PURE__ */ React28.createElement(RotatedIcon, { icon: CenterIcon2, size, ...iconProps2 }),
1371
+ renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: CenterIcon2, size, ...iconProps2 }),
1373
1372
  showTooltip: true
1374
1373
  },
1375
1374
  {
1376
1375
  value: "end",
1377
1376
  label: __11("End", "elementor"),
1378
- renderContent: ({ size }) => /* @__PURE__ */ React28.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
1377
+ renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
1379
1378
  showTooltip: true
1380
1379
  },
1381
1380
  {
1382
1381
  value: "stretch",
1383
1382
  label: __11("Stretch", "elementor"),
1384
- renderContent: ({ size }) => /* @__PURE__ */ React28.createElement(RotatedIcon, { icon: JustifyIcon2, size, ...iconProps2 }),
1383
+ renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: JustifyIcon2, size, ...iconProps2 }),
1385
1384
  showTooltip: true
1386
1385
  }
1387
1386
  ];
1388
1387
  var AlignSelfChild = () => {
1389
1388
  const { isSiteRtl } = useDirection();
1390
- return /* @__PURE__ */ React28.createElement(DirectionProvider2, { rtl: isSiteRtl }, /* @__PURE__ */ React28.createElement(ThemeProvider2, null, /* @__PURE__ */ React28.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React28.createElement(Grid4, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React28.createElement(Grid4, { item: true, xs: 6 }, /* @__PURE__ */ React28.createElement(ControlLabel6, null, __11("Align self", "elementor"))), /* @__PURE__ */ React28.createElement(Grid4, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React28.createElement(ToggleControl2, { options: options2 }))))));
1389
+ return /* @__PURE__ */ React30.createElement(DirectionProvider2, { rtl: isSiteRtl }, /* @__PURE__ */ React30.createElement(ThemeProvider2, null, /* @__PURE__ */ React30.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React30.createElement(Grid4, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React30.createElement(Grid4, { item: true, xs: 6 }, /* @__PURE__ */ React30.createElement(ControlLabel6, null, __11("Align self", "elementor"))), /* @__PURE__ */ React30.createElement(Grid4, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React30.createElement(ToggleControl2, { options: options2 }))))));
1391
1390
  };
1392
1391
 
1393
1392
  // src/components/style-sections/layout-section/display-field.tsx
1394
- import * as React29 from "react";
1393
+ import * as React31 from "react";
1395
1394
  import { ControlLabel as ControlLabel7, ToggleControl as ToggleControl3 } from "@elementor/editor-controls";
1396
- import { Stack as Stack8 } from "@elementor/ui";
1395
+ import { Stack as Stack7 } from "@elementor/ui";
1397
1396
  import { __ as __12 } from "@wordpress/i18n";
1398
1397
  var DisplayField = () => {
1399
- const options10 = [
1398
+ const options11 = [
1400
1399
  {
1401
1400
  value: "block",
1402
1401
  renderContent: () => __12("Block", "elementor"),
@@ -1416,11 +1415,11 @@ var DisplayField = () => {
1416
1415
  showTooltip: true
1417
1416
  }
1418
1417
  ];
1419
- return /* @__PURE__ */ React29.createElement(StylesField, { bind: "display" }, /* @__PURE__ */ React29.createElement(Stack8, { gap: 1 }, /* @__PURE__ */ React29.createElement(ControlLabel7, null, __12("Display", "elementor")), /* @__PURE__ */ React29.createElement(ToggleControl3, { options: options10, fullWidth: true })));
1418
+ return /* @__PURE__ */ React31.createElement(StylesField, { bind: "display" }, /* @__PURE__ */ React31.createElement(Stack7, { gap: 1 }, /* @__PURE__ */ React31.createElement(ControlLabel7, null, __12("Display", "elementor")), /* @__PURE__ */ React31.createElement(ToggleControl3, { options: options11, fullWidth: true })));
1420
1419
  };
1421
1420
 
1422
1421
  // src/components/style-sections/layout-section/flex-direction-field.tsx
1423
- import * as React30 from "react";
1422
+ import * as React32 from "react";
1424
1423
  import { ControlLabel as ControlLabel8, ToggleControl as ToggleControl4 } from "@elementor/editor-controls";
1425
1424
  import { ArrowDownSmallIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpSmallIcon } from "@elementor/icons";
1426
1425
  import { DirectionProvider as DirectionProvider3, Grid as Grid5, ThemeProvider as ThemeProvider3, withDirection as withDirection4 } from "@elementor/ui";
@@ -1431,14 +1430,14 @@ var options3 = [
1431
1430
  label: __13("Row", "elementor"),
1432
1431
  renderContent: ({ size }) => {
1433
1432
  const StartIcon5 = withDirection4(ArrowRightIcon);
1434
- return /* @__PURE__ */ React30.createElement(StartIcon5, { fontSize: size });
1433
+ return /* @__PURE__ */ React32.createElement(StartIcon5, { fontSize: size });
1435
1434
  },
1436
1435
  showTooltip: true
1437
1436
  },
1438
1437
  {
1439
1438
  value: "column",
1440
1439
  label: __13("Column", "elementor"),
1441
- renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(ArrowDownSmallIcon, { fontSize: size }),
1440
+ renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(ArrowDownSmallIcon, { fontSize: size }),
1442
1441
  showTooltip: true
1443
1442
  },
1444
1443
  {
@@ -1446,24 +1445,24 @@ var options3 = [
1446
1445
  label: __13("Reversed row", "elementor"),
1447
1446
  renderContent: ({ size }) => {
1448
1447
  const EndIcon5 = withDirection4(ArrowLeftIcon);
1449
- return /* @__PURE__ */ React30.createElement(EndIcon5, { fontSize: size });
1448
+ return /* @__PURE__ */ React32.createElement(EndIcon5, { fontSize: size });
1450
1449
  },
1451
1450
  showTooltip: true
1452
1451
  },
1453
1452
  {
1454
1453
  value: "column-reverse",
1455
1454
  label: __13("Reversed column", "elementor"),
1456
- renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(ArrowUpSmallIcon, { fontSize: size }),
1455
+ renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(ArrowUpSmallIcon, { fontSize: size }),
1457
1456
  showTooltip: true
1458
1457
  }
1459
1458
  ];
1460
1459
  var FlexDirectionField = () => {
1461
1460
  const { isSiteRtl } = useDirection();
1462
- return /* @__PURE__ */ React30.createElement(DirectionProvider3, { rtl: isSiteRtl }, /* @__PURE__ */ React30.createElement(ThemeProvider3, null, /* @__PURE__ */ React30.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React30.createElement(Grid5, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React30.createElement(Grid5, { item: true, xs: 6 }, /* @__PURE__ */ React30.createElement(ControlLabel8, null, __13("Direction", "elementor"))), /* @__PURE__ */ React30.createElement(Grid5, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React30.createElement(ToggleControl4, { options: options3 }))))));
1461
+ return /* @__PURE__ */ React32.createElement(DirectionProvider3, { rtl: isSiteRtl }, /* @__PURE__ */ React32.createElement(ThemeProvider3, null, /* @__PURE__ */ React32.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React32.createElement(Grid5, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(Grid5, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(ControlLabel8, null, __13("Direction", "elementor"))), /* @__PURE__ */ React32.createElement(Grid5, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(ToggleControl4, { options: options3 }))))));
1463
1462
  };
1464
1463
 
1465
1464
  // src/components/style-sections/layout-section/flex-order-field.tsx
1466
- import * as React31 from "react";
1465
+ import * as React33 from "react";
1467
1466
  import { useState as useState4 } from "react";
1468
1467
  import {
1469
1468
  ControlLabel as ControlLabel9,
@@ -1471,7 +1470,7 @@ import {
1471
1470
  NumberControl
1472
1471
  } from "@elementor/editor-controls";
1473
1472
  import { ArrowDownSmallIcon as ArrowDownSmallIcon2, ArrowUpSmallIcon as ArrowUpSmallIcon2, PencilIcon } from "@elementor/icons";
1474
- import { DirectionProvider as DirectionProvider4, Grid as Grid6, Stack as Stack9, ThemeProvider as ThemeProvider4 } from "@elementor/ui";
1473
+ import { DirectionProvider as DirectionProvider4, Grid as Grid6, ThemeProvider as ThemeProvider4 } from "@elementor/ui";
1475
1474
  import { __ as __14 } from "@wordpress/i18n";
1476
1475
  var FIRST_DEFAULT_VALUE = -99999;
1477
1476
  var LAST_DEFAULT_VALUE = 99999;
@@ -1486,19 +1485,19 @@ var items = [
1486
1485
  {
1487
1486
  value: FIRST,
1488
1487
  label: __14("First", "elementor"),
1489
- renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(ArrowUpSmallIcon2, { fontSize: size }),
1488
+ renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(ArrowUpSmallIcon2, { fontSize: size }),
1490
1489
  showTooltip: true
1491
1490
  },
1492
1491
  {
1493
1492
  value: LAST,
1494
1493
  label: __14("Last", "elementor"),
1495
- renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(ArrowDownSmallIcon2, { fontSize: size }),
1494
+ renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(ArrowDownSmallIcon2, { fontSize: size }),
1496
1495
  showTooltip: true
1497
1496
  },
1498
1497
  {
1499
1498
  value: CUSTOM,
1500
1499
  label: __14("Custom", "elementor"),
1501
- renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(PencilIcon, { fontSize: size }),
1500
+ renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(PencilIcon, { fontSize: size }),
1502
1501
  showTooltip: true
1503
1502
  }
1504
1503
  ];
@@ -1513,7 +1512,7 @@ var FlexOrderField = () => {
1513
1512
  }
1514
1513
  setOrder({ $$type: "number", value: orderValueMap[group] });
1515
1514
  };
1516
- return /* @__PURE__ */ React31.createElement(DirectionProvider4, { rtl: isSiteRtl }, /* @__PURE__ */ React31.createElement(ThemeProvider4, null, /* @__PURE__ */ React31.createElement(Stack9, { gap: 2 }, /* @__PURE__ */ React31.createElement(Grid6, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React31.createElement(Grid6, { item: true, xs: 6 }, /* @__PURE__ */ React31.createElement(ControlLabel9, null, __14("Order", "elementor"))), /* @__PURE__ */ React31.createElement(Grid6, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React31.createElement(
1515
+ return /* @__PURE__ */ React33.createElement(DirectionProvider4, { rtl: isSiteRtl }, /* @__PURE__ */ React33.createElement(ThemeProvider4, null, /* @__PURE__ */ React33.createElement(SectionContent, null, /* @__PURE__ */ React33.createElement(Grid6, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(Grid6, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(ControlLabel9, null, __14("Order", "elementor"))), /* @__PURE__ */ React33.createElement(Grid6, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(
1517
1516
  ControlToggleButtonGroup,
1518
1517
  {
1519
1518
  items,
@@ -1521,7 +1520,7 @@ var FlexOrderField = () => {
1521
1520
  onChange: handleToggleButtonChange,
1522
1521
  exclusive: true
1523
1522
  }
1524
- ))), CUSTOM === groupControlValue && /* @__PURE__ */ React31.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React31.createElement(Grid6, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React31.createElement(Grid6, { item: true, xs: 6 }, /* @__PURE__ */ React31.createElement(ControlLabel9, null, __14("Custom order", "elementor"))), /* @__PURE__ */ React31.createElement(Grid6, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React31.createElement(
1523
+ ))), CUSTOM === groupControlValue && /* @__PURE__ */ React33.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React33.createElement(Grid6, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(Grid6, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(ControlLabel9, null, __14("Custom order", "elementor"))), /* @__PURE__ */ React33.createElement(Grid6, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(
1525
1524
  NumberControl,
1526
1525
  {
1527
1526
  min: FIRST_DEFAULT_VALUE + 1,
@@ -1541,7 +1540,7 @@ var getGroupControlValue = (order) => {
1541
1540
  };
1542
1541
 
1543
1542
  // src/components/style-sections/layout-section/flex-size-field.tsx
1544
- import * as React32 from "react";
1543
+ import * as React34 from "react";
1545
1544
  import { useMemo as useMemo2, useState as useState5 } from "react";
1546
1545
  import {
1547
1546
  ControlLabel as ControlLabel10,
@@ -1550,26 +1549,26 @@ import {
1550
1549
  SizeControl as SizeControl2
1551
1550
  } from "@elementor/editor-controls";
1552
1551
  import { ExpandIcon, PencilIcon as PencilIcon2, ShrinkIcon } from "@elementor/icons";
1553
- import { DirectionProvider as DirectionProvider5, Grid as Grid7, Stack as Stack10, ThemeProvider as ThemeProvider5 } from "@elementor/ui";
1552
+ import { DirectionProvider as DirectionProvider5, Grid as Grid7, ThemeProvider as ThemeProvider5 } from "@elementor/ui";
1554
1553
  import { __ as __15 } from "@wordpress/i18n";
1555
1554
  var DEFAULT = 1;
1556
1555
  var items2 = [
1557
1556
  {
1558
1557
  value: "flex-grow",
1559
1558
  label: __15("Grow", "elementor"),
1560
- renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(ExpandIcon, { fontSize: size }),
1559
+ renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(ExpandIcon, { fontSize: size }),
1561
1560
  showTooltip: true
1562
1561
  },
1563
1562
  {
1564
1563
  value: "flex-shrink",
1565
1564
  label: __15("Shrink", "elementor"),
1566
- renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(ShrinkIcon, { fontSize: size }),
1565
+ renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(ShrinkIcon, { fontSize: size }),
1567
1566
  showTooltip: true
1568
1567
  },
1569
1568
  {
1570
1569
  value: "custom",
1571
1570
  label: __15("Custom", "elementor"),
1572
- renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(PencilIcon2, { fontSize: size }),
1571
+ renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(PencilIcon2, { fontSize: size }),
1573
1572
  showTooltip: true
1574
1573
  }
1575
1574
  ];
@@ -1593,7 +1592,7 @@ var FlexSizeField = () => {
1593
1592
  setGrowField(null);
1594
1593
  setShrinkField({ $$type: "number", value: DEFAULT });
1595
1594
  };
1596
- return /* @__PURE__ */ React32.createElement(DirectionProvider5, { rtl: isSiteRtl }, /* @__PURE__ */ React32.createElement(ThemeProvider5, null, /* @__PURE__ */ React32.createElement(Stack10, { gap: 2 }, /* @__PURE__ */ React32.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(ControlLabel10, null, __15("Size", "elementor"))), /* @__PURE__ */ React32.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(
1595
+ return /* @__PURE__ */ React34.createElement(DirectionProvider5, { rtl: isSiteRtl }, /* @__PURE__ */ React34.createElement(ThemeProvider5, null, /* @__PURE__ */ React34.createElement(SectionContent, null, /* @__PURE__ */ React34.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(ControlLabel10, null, __15("Size", "elementor"))), /* @__PURE__ */ React34.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React34.createElement(
1597
1596
  ControlToggleButtonGroup2,
1598
1597
  {
1599
1598
  value: activeGroup,
@@ -1601,9 +1600,9 @@ var FlexSizeField = () => {
1601
1600
  items: items2,
1602
1601
  exclusive: true
1603
1602
  }
1604
- ))), "custom" === activeGroup && /* @__PURE__ */ React32.createElement(FlexCustomField, null))));
1603
+ ))), "custom" === activeGroup && /* @__PURE__ */ React34.createElement(FlexCustomField, null))));
1605
1604
  };
1606
- var FlexCustomField = () => /* @__PURE__ */ React32.createElement(React32.Fragment, null, /* @__PURE__ */ React32.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React32.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(ControlLabel10, null, __15("Grow", "elementor"))), /* @__PURE__ */ React32.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React32.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React32.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(ControlLabel10, null, __15("Shrink", "elementor"))), /* @__PURE__ */ React32.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React32.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React32.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(ControlLabel10, null, __15("Basis", "elementor"))), /* @__PURE__ */ React32.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(SizeControl2, null)))));
1605
+ var FlexCustomField = () => /* @__PURE__ */ React34.createElement(React34.Fragment, null, /* @__PURE__ */ React34.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React34.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(ControlLabel10, null, __15("Grow", "elementor"))), /* @__PURE__ */ React34.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React34.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React34.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React34.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(ControlLabel10, null, __15("Shrink", "elementor"))), /* @__PURE__ */ React34.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React34.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React34.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React34.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(ControlLabel10, null, __15("Basis", "elementor"))), /* @__PURE__ */ React34.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React34.createElement(SizeControl2, null)))));
1607
1606
  var getActiveGroup = ({
1608
1607
  grow,
1609
1608
  shrink,
@@ -1625,16 +1624,16 @@ var getActiveGroup = ({
1625
1624
  };
1626
1625
 
1627
1626
  // src/components/style-sections/layout-section/gap-control-field.tsx
1628
- import * as React33 from "react";
1627
+ import * as React35 from "react";
1629
1628
  import { GapControl } from "@elementor/editor-controls";
1630
- import { Stack as Stack11 } from "@elementor/ui";
1629
+ import { Stack as Stack8 } from "@elementor/ui";
1631
1630
  import { __ as __16 } from "@wordpress/i18n";
1632
1631
  var GapControlField = () => {
1633
- return /* @__PURE__ */ React33.createElement(Stack11, { gap: 1 }, /* @__PURE__ */ React33.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React33.createElement(GapControl, { label: __16("Gaps", "elementor") })));
1632
+ return /* @__PURE__ */ React35.createElement(Stack8, { gap: 1 }, /* @__PURE__ */ React35.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React35.createElement(GapControl, { label: __16("Gaps", "elementor") })));
1634
1633
  };
1635
1634
 
1636
1635
  // src/components/style-sections/layout-section/justify-content-field.tsx
1637
- import * as React34 from "react";
1636
+ import * as React36 from "react";
1638
1637
  import { ControlLabel as ControlLabel11, ToggleControl as ToggleControl5 } from "@elementor/editor-controls";
1639
1638
  import {
1640
1639
  JustifyBottomIcon,
@@ -1644,7 +1643,7 @@ import {
1644
1643
  JustifySpaceBetweenVerticalIcon as BetweenIcon,
1645
1644
  JustifyTopIcon
1646
1645
  } from "@elementor/icons";
1647
- import { DirectionProvider as DirectionProvider6, Stack as Stack12, ThemeProvider as ThemeProvider6, withDirection as withDirection5 } from "@elementor/ui";
1646
+ import { DirectionProvider as DirectionProvider6, Stack as Stack9, ThemeProvider as ThemeProvider6, withDirection as withDirection5 } from "@elementor/ui";
1648
1647
  import { __ as __17 } from "@wordpress/i18n";
1649
1648
  var StartIcon3 = withDirection5(JustifyTopIcon);
1650
1649
  var EndIcon3 = withDirection5(JustifyBottomIcon);
@@ -1656,47 +1655,47 @@ var options4 = [
1656
1655
  {
1657
1656
  value: "start",
1658
1657
  label: __17("Start", "elementor"),
1659
- renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: StartIcon3, size, ...iconProps3 }),
1658
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: StartIcon3, size, ...iconProps3 }),
1660
1659
  showTooltip: true
1661
1660
  },
1662
1661
  {
1663
1662
  value: "center",
1664
1663
  label: __17("Center", "elementor"),
1665
- renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: CenterIcon3, size, ...iconProps3 }),
1664
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: CenterIcon3, size, ...iconProps3 }),
1666
1665
  showTooltip: true
1667
1666
  },
1668
1667
  {
1669
1668
  value: "end",
1670
1669
  label: __17("End", "elementor"),
1671
- renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: EndIcon3, size, ...iconProps3 }),
1670
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: EndIcon3, size, ...iconProps3 }),
1672
1671
  showTooltip: true
1673
1672
  },
1674
1673
  {
1675
1674
  value: "space-between",
1676
1675
  label: __17("Space between", "elementor"),
1677
- renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: BetweenIcon, size, ...iconProps3 }),
1676
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: BetweenIcon, size, ...iconProps3 }),
1678
1677
  showTooltip: true
1679
1678
  },
1680
1679
  {
1681
1680
  value: "space-around",
1682
1681
  label: __17("Space around", "elementor"),
1683
- renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: AroundIcon, size, ...iconProps3 }),
1682
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: AroundIcon, size, ...iconProps3 }),
1684
1683
  showTooltip: true
1685
1684
  },
1686
1685
  {
1687
1686
  value: "space-evenly",
1688
1687
  label: __17("Space evenly", "elementor"),
1689
- renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: EvenlyIcon, size, ...iconProps3 }),
1688
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: EvenlyIcon, size, ...iconProps3 }),
1690
1689
  showTooltip: true
1691
1690
  }
1692
1691
  ];
1693
1692
  var JustifyContentField = () => {
1694
1693
  const { isSiteRtl } = useDirection();
1695
- return /* @__PURE__ */ React34.createElement(DirectionProvider6, { rtl: isSiteRtl }, /* @__PURE__ */ React34.createElement(ThemeProvider6, null, /* @__PURE__ */ React34.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React34.createElement(Stack12, { gap: 1 }, /* @__PURE__ */ React34.createElement(ControlLabel11, null, __17("Justify content", "elementor")), /* @__PURE__ */ React34.createElement(ToggleControl5, { options: options4, fullWidth: true })))));
1694
+ return /* @__PURE__ */ React36.createElement(DirectionProvider6, { rtl: isSiteRtl }, /* @__PURE__ */ React36.createElement(ThemeProvider6, null, /* @__PURE__ */ React36.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React36.createElement(Stack9, { gap: 1 }, /* @__PURE__ */ React36.createElement(ControlLabel11, null, __17("Justify content", "elementor")), /* @__PURE__ */ React36.createElement(ToggleControl5, { options: options4, fullWidth: true })))));
1696
1695
  };
1697
1696
 
1698
1697
  // src/components/style-sections/layout-section/wrap-field.tsx
1699
- import * as React35 from "react";
1698
+ import * as React37 from "react";
1700
1699
  import { ControlLabel as ControlLabel12, ToggleControl as ToggleControl6 } from "@elementor/editor-controls";
1701
1700
  import { ArrowBackIcon, ArrowForwardIcon, ArrowRightIcon as ArrowRightIcon2 } from "@elementor/icons";
1702
1701
  import { DirectionProvider as DirectionProvider7, Grid as Grid8, ThemeProvider as ThemeProvider7 } from "@elementor/ui";
@@ -1705,25 +1704,25 @@ var options5 = [
1705
1704
  {
1706
1705
  value: "nowrap",
1707
1706
  label: __18("No wrap", "elementor"),
1708
- renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(ArrowRightIcon2, { fontSize: size }),
1707
+ renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(ArrowRightIcon2, { fontSize: size }),
1709
1708
  showTooltip: true
1710
1709
  },
1711
1710
  {
1712
1711
  value: "wrap",
1713
1712
  label: __18("Wrap", "elementor"),
1714
- renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(ArrowBackIcon, { fontSize: size }),
1713
+ renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(ArrowBackIcon, { fontSize: size }),
1715
1714
  showTooltip: true
1716
1715
  },
1717
1716
  {
1718
1717
  value: "wrap-reverse",
1719
1718
  label: __18("Reversed wrap", "elementor"),
1720
- renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(ArrowForwardIcon, { fontSize: size }),
1719
+ renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(ArrowForwardIcon, { fontSize: size }),
1721
1720
  showTooltip: true
1722
1721
  }
1723
1722
  ];
1724
1723
  var WrapField = () => {
1725
1724
  const { isSiteRtl } = useDirection();
1726
- return /* @__PURE__ */ React35.createElement(DirectionProvider7, { rtl: isSiteRtl }, /* @__PURE__ */ React35.createElement(ThemeProvider7, null, /* @__PURE__ */ React35.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React35.createElement(Grid8, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React35.createElement(Grid8, { item: true, xs: 6 }, /* @__PURE__ */ React35.createElement(ControlLabel12, null, __18("Wrap", "elementor"))), /* @__PURE__ */ React35.createElement(Grid8, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React35.createElement(ToggleControl6, { options: options5 }))))));
1725
+ return /* @__PURE__ */ React37.createElement(DirectionProvider7, { rtl: isSiteRtl }, /* @__PURE__ */ React37.createElement(ThemeProvider7, null, /* @__PURE__ */ React37.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React37.createElement(Grid8, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React37.createElement(Grid8, { item: true, xs: 6 }, /* @__PURE__ */ React37.createElement(ControlLabel12, null, __18("Wrap", "elementor"))), /* @__PURE__ */ React37.createElement(Grid8, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React37.createElement(ToggleControl6, { options: options5 }))))));
1727
1726
  };
1728
1727
 
1729
1728
  // src/components/style-sections/layout-section/layout-section.tsx
@@ -1732,37 +1731,36 @@ var LayoutSection = () => {
1732
1731
  const { element } = useElement();
1733
1732
  const parent = useParentElement(element.id);
1734
1733
  const parentStyle = useComputedStyle(parent?.id || null);
1735
- return /* @__PURE__ */ React36.createElement(Stack13, { gap: 2 }, /* @__PURE__ */ React36.createElement(DisplayField, null), "flex" === display?.value && /* @__PURE__ */ React36.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React36.createElement(FlexChildFields, null));
1734
+ return /* @__PURE__ */ React38.createElement(SectionContent, null, /* @__PURE__ */ React38.createElement(DisplayField, null), "flex" === display?.value && /* @__PURE__ */ React38.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React38.createElement(FlexChildFields, null));
1736
1735
  };
1737
- var FlexFields = () => /* @__PURE__ */ React36.createElement(React36.Fragment, null, /* @__PURE__ */ React36.createElement(FlexDirectionField, null), /* @__PURE__ */ React36.createElement(JustifyContentField, null), /* @__PURE__ */ React36.createElement(AlignItemsField, null), /* @__PURE__ */ React36.createElement(Divider4, null), /* @__PURE__ */ React36.createElement(GapControlField, null), /* @__PURE__ */ React36.createElement(WrapField, null));
1738
- var FlexChildFields = () => /* @__PURE__ */ React36.createElement(React36.Fragment, null, /* @__PURE__ */ React36.createElement(Divider4, null), /* @__PURE__ */ React36.createElement(ControlLabel13, null, __19("Flex child", "elementor")), /* @__PURE__ */ React36.createElement(AlignSelfChild, null), /* @__PURE__ */ React36.createElement(FlexOrderField, null), /* @__PURE__ */ React36.createElement(FlexSizeField, null));
1736
+ var FlexFields = () => /* @__PURE__ */ React38.createElement(React38.Fragment, null, /* @__PURE__ */ React38.createElement(FlexDirectionField, null), /* @__PURE__ */ React38.createElement(JustifyContentField, null), /* @__PURE__ */ React38.createElement(AlignItemsField, null), /* @__PURE__ */ React38.createElement(PanelDivider, null), /* @__PURE__ */ React38.createElement(GapControlField, null), /* @__PURE__ */ React38.createElement(WrapField, null));
1737
+ var FlexChildFields = () => /* @__PURE__ */ React38.createElement(React38.Fragment, null, /* @__PURE__ */ React38.createElement(PanelDivider, null), /* @__PURE__ */ React38.createElement(ControlLabel13, null, __19("Flex child", "elementor")), /* @__PURE__ */ React38.createElement(AlignSelfChild, null), /* @__PURE__ */ React38.createElement(FlexOrderField, null), /* @__PURE__ */ React38.createElement(FlexSizeField, null));
1739
1738
 
1740
1739
  // src/components/style-sections/position-section/position-section.tsx
1741
- import * as React40 from "react";
1740
+ import * as React42 from "react";
1742
1741
  import { useSessionStorage } from "@elementor/session";
1743
- import { Stack as Stack15 } from "@elementor/ui";
1744
1742
 
1745
1743
  // src/components/style-sections/position-section/dimensions-field.tsx
1746
- import * as React37 from "react";
1744
+ import * as React39 from "react";
1747
1745
  import { ControlLabel as ControlLabel14, SizeControl as SizeControl3 } from "@elementor/editor-controls";
1748
1746
  import { SideBottomIcon as SideBottomIcon2, SideLeftIcon as SideLeftIcon2, SideRightIcon as SideRightIcon2, SideTopIcon as SideTopIcon2 } from "@elementor/icons";
1749
- import { Grid as Grid9, Stack as Stack14 } from "@elementor/ui";
1747
+ import { Grid as Grid9, Stack as Stack10 } from "@elementor/ui";
1750
1748
  import { __ as __20 } from "@wordpress/i18n";
1751
1749
  var sideIcons = {
1752
- left: /* @__PURE__ */ React37.createElement(SideLeftIcon2, { fontSize: "tiny" }),
1753
- right: /* @__PURE__ */ React37.createElement(SideRightIcon2, { fontSize: "tiny" }),
1754
- top: /* @__PURE__ */ React37.createElement(SideTopIcon2, { fontSize: "tiny" }),
1755
- bottom: /* @__PURE__ */ React37.createElement(SideBottomIcon2, { fontSize: "tiny" })
1750
+ left: /* @__PURE__ */ React39.createElement(SideLeftIcon2, { fontSize: "tiny" }),
1751
+ right: /* @__PURE__ */ React39.createElement(SideRightIcon2, { fontSize: "tiny" }),
1752
+ top: /* @__PURE__ */ React39.createElement(SideTopIcon2, { fontSize: "tiny" }),
1753
+ bottom: /* @__PURE__ */ React39.createElement(SideBottomIcon2, { fontSize: "tiny" })
1756
1754
  };
1757
1755
  var DimensionsField = () => {
1758
- return /* @__PURE__ */ React37.createElement(React37.Fragment, null, /* @__PURE__ */ React37.createElement(Stack14, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React37.createElement(DimensionField, { side: "top", label: __20("Top", "elementor") }), /* @__PURE__ */ React37.createElement(DimensionField, { side: "right", label: __20("Right", "elementor") })), /* @__PURE__ */ React37.createElement(Stack14, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React37.createElement(DimensionField, { side: "bottom", label: __20("Bottom", "elementor") }), /* @__PURE__ */ React37.createElement(DimensionField, { side: "left", label: __20("Left", "elementor") })));
1756
+ return /* @__PURE__ */ React39.createElement(React39.Fragment, null, /* @__PURE__ */ React39.createElement(Stack10, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React39.createElement(DimensionField, { side: "top", label: __20("Top", "elementor") }), /* @__PURE__ */ React39.createElement(DimensionField, { side: "right", label: __20("Right", "elementor") })), /* @__PURE__ */ React39.createElement(Stack10, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React39.createElement(DimensionField, { side: "bottom", label: __20("Bottom", "elementor") }), /* @__PURE__ */ React39.createElement(DimensionField, { side: "left", label: __20("Left", "elementor") })));
1759
1757
  };
1760
1758
  var DimensionField = ({ side, label }) => {
1761
- return /* @__PURE__ */ React37.createElement(Grid9, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React37.createElement(Grid9, { item: true, xs: 12 }, /* @__PURE__ */ React37.createElement(ControlLabel14, null, label)), /* @__PURE__ */ React37.createElement(Grid9, { item: true, xs: 12 }, /* @__PURE__ */ React37.createElement(StylesField, { bind: side }, /* @__PURE__ */ React37.createElement(SizeControl3, { startIcon: sideIcons[side] }))));
1759
+ return /* @__PURE__ */ React39.createElement(Grid9, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React39.createElement(Grid9, { item: true, xs: 12 }, /* @__PURE__ */ React39.createElement(ControlLabel14, null, label)), /* @__PURE__ */ React39.createElement(Grid9, { item: true, xs: 12 }, /* @__PURE__ */ React39.createElement(StylesField, { bind: side }, /* @__PURE__ */ React39.createElement(SizeControl3, { startIcon: sideIcons[side] }))));
1762
1760
  };
1763
1761
 
1764
1762
  // src/components/style-sections/position-section/position-field.tsx
1765
- import * as React38 from "react";
1763
+ import * as React40 from "react";
1766
1764
  import { ControlLabel as ControlLabel15, SelectControl as SelectControl3 } from "@elementor/editor-controls";
1767
1765
  import { Grid as Grid10 } from "@elementor/ui";
1768
1766
  import { __ as __21 } from "@wordpress/i18n";
@@ -1774,16 +1772,16 @@ var positionOptions = [
1774
1772
  { label: __21("Sticky", "elementor"), value: "sticky" }
1775
1773
  ];
1776
1774
  var PositionField = ({ onChange }) => {
1777
- return /* @__PURE__ */ React38.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React38.createElement(Grid10, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React38.createElement(Grid10, { item: true, xs: 6 }, /* @__PURE__ */ React38.createElement(ControlLabel15, null, __21("Position", "elementor"))), /* @__PURE__ */ React38.createElement(Grid10, { item: true, xs: 6 }, /* @__PURE__ */ React38.createElement(SelectControl3, { options: positionOptions, onChange }))));
1775
+ return /* @__PURE__ */ React40.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React40.createElement(Grid10, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(Grid10, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(ControlLabel15, null, __21("Position", "elementor"))), /* @__PURE__ */ React40.createElement(Grid10, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React40.createElement(SelectControl3, { options: positionOptions, onChange }))));
1778
1776
  };
1779
1777
 
1780
1778
  // src/components/style-sections/position-section/z-index-field.tsx
1781
- import * as React39 from "react";
1779
+ import * as React41 from "react";
1782
1780
  import { ControlLabel as ControlLabel16, NumberControl as NumberControl3 } from "@elementor/editor-controls";
1783
1781
  import { Grid as Grid11 } from "@elementor/ui";
1784
1782
  import { __ as __22 } from "@wordpress/i18n";
1785
1783
  var ZIndexField = () => {
1786
- return /* @__PURE__ */ React39.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React39.createElement(Grid11, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React39.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React39.createElement(ControlLabel16, null, __22("Z-Index", "elementor"))), /* @__PURE__ */ React39.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React39.createElement(NumberControl3, null))));
1784
+ return /* @__PURE__ */ React41.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React41.createElement(Grid11, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(ControlLabel16, null, __22("Z-Index", "elementor"))), /* @__PURE__ */ React41.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(NumberControl3, null))));
1787
1785
  };
1788
1786
 
1789
1787
  // src/components/style-sections/position-section/position-section.tsx
@@ -1815,7 +1813,7 @@ var PositionSection = () => {
1815
1813
  }
1816
1814
  };
1817
1815
  const isNotStatic = positionValue && positionValue?.value !== "static";
1818
- return /* @__PURE__ */ React40.createElement(Stack15, { gap: 1.5 }, /* @__PURE__ */ React40.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React40.createElement(React40.Fragment, null, /* @__PURE__ */ React40.createElement(DimensionsField, null), /* @__PURE__ */ React40.createElement(ZIndexField, null)) : null);
1816
+ return /* @__PURE__ */ React42.createElement(SectionContent, null, /* @__PURE__ */ React42.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement(DimensionsField, null), /* @__PURE__ */ React42.createElement(ZIndexField, null)) : null);
1819
1817
  };
1820
1818
  var usePersistDimensions = () => {
1821
1819
  const { id: styleDefID, meta } = useStyle();
@@ -1825,73 +1823,71 @@ var usePersistDimensions = () => {
1825
1823
  };
1826
1824
 
1827
1825
  // src/components/style-sections/size-section/size-section.tsx
1828
- import * as React42 from "react";
1826
+ import * as React44 from "react";
1829
1827
  import { ControlLabel as ControlLabel18, SizeControl as SizeControl4 } from "@elementor/editor-controls";
1830
- import { Divider as Divider5, Grid as Grid13, Stack as Stack16 } from "@elementor/ui";
1828
+ import { Grid as Grid13, Stack as Stack11 } from "@elementor/ui";
1831
1829
  import { __ as __24 } from "@wordpress/i18n";
1832
1830
 
1833
1831
  // src/components/style-sections/size-section/overflow-field.tsx
1834
- import * as React41 from "react";
1832
+ import * as React43 from "react";
1835
1833
  import { ControlLabel as ControlLabel17, ToggleControl as ToggleControl7 } from "@elementor/editor-controls";
1836
- import { ExpandBottomIcon, EyeIcon, EyeOffIcon } from "@elementor/icons";
1834
+ import { EyeIcon, EyeOffIcon, LetterAIcon } from "@elementor/icons";
1837
1835
  import { Grid as Grid12 } from "@elementor/ui";
1838
1836
  import { __ as __23 } from "@wordpress/i18n";
1839
1837
  var options6 = [
1840
1838
  {
1841
1839
  value: "visible",
1842
1840
  label: __23("Visible", "elementor"),
1843
- renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(EyeIcon, { fontSize: size }),
1841
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(EyeIcon, { fontSize: size }),
1844
1842
  showTooltip: true
1845
1843
  },
1846
1844
  {
1847
1845
  value: "hidden",
1848
1846
  label: __23("Hidden", "elementor"),
1849
- renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(EyeOffIcon, { fontSize: size }),
1847
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(EyeOffIcon, { fontSize: size }),
1850
1848
  showTooltip: true
1851
1849
  },
1852
1850
  {
1853
1851
  value: "auto",
1854
1852
  label: __23("Auto", "elementor"),
1855
- renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(ExpandBottomIcon, { fontSize: size }),
1853
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(LetterAIcon, { fontSize: size }),
1856
1854
  showTooltip: true
1857
1855
  }
1858
1856
  ];
1859
1857
  var OverflowField = () => {
1860
- return /* @__PURE__ */ React41.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React41.createElement(Grid12, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(Grid12, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(ControlLabel17, null, __23("Overflow", "elementor"))), /* @__PURE__ */ React41.createElement(Grid12, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React41.createElement(ToggleControl7, { options: options6 }))));
1858
+ return /* @__PURE__ */ React43.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React43.createElement(Grid12, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(Grid12, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(ControlLabel17, null, __23("Overflow", "elementor"))), /* @__PURE__ */ React43.createElement(Grid12, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React43.createElement(ToggleControl7, { options: options6 }))));
1861
1859
  };
1862
1860
 
1863
1861
  // src/components/style-sections/size-section/size-section.tsx
1864
1862
  var SizeSection = () => {
1865
- return /* @__PURE__ */ React42.createElement(Stack16, { gap: 1.5 }, /* @__PURE__ */ React42.createElement(Grid13, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React42.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(SizeField, { bind: "width", label: __24("Width", "elementor") })), /* @__PURE__ */ React42.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(SizeField, { bind: "height", label: __24("Height", "elementor") }))), /* @__PURE__ */ React42.createElement(Grid13, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React42.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(SizeField, { bind: "min-width", label: __24("Min. Width", "elementor") })), /* @__PURE__ */ React42.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(SizeField, { bind: "min-height", label: __24("Min. Height", "elementor") }))), /* @__PURE__ */ React42.createElement(Grid13, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React42.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(SizeField, { bind: "max-width", label: __24("Max. Width", "elementor") })), /* @__PURE__ */ React42.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(SizeField, { bind: "max-height", label: __24("Max. Height", "elementor") }))), /* @__PURE__ */ React42.createElement(Divider5, null), /* @__PURE__ */ React42.createElement(Stack16, null, /* @__PURE__ */ React42.createElement(OverflowField, null)));
1863
+ return /* @__PURE__ */ React44.createElement(SectionContent, null, /* @__PURE__ */ React44.createElement(Grid13, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "width", label: __24("Width", "elementor") })), /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "height", label: __24("Height", "elementor") }))), /* @__PURE__ */ React44.createElement(Grid13, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "min-width", label: __24("Min. width", "elementor") })), /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "min-height", label: __24("Min. height", "elementor") }))), /* @__PURE__ */ React44.createElement(Grid13, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "max-width", label: __24("Max. width", "elementor") })), /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "max-height", label: __24("Max. height", "elementor") }))), /* @__PURE__ */ React44.createElement(PanelDivider, null), /* @__PURE__ */ React44.createElement(Stack11, null, /* @__PURE__ */ React44.createElement(OverflowField, null)));
1866
1864
  };
1867
1865
  var SizeField = ({ label, bind }) => {
1868
- return /* @__PURE__ */ React42.createElement(StylesField, { bind }, /* @__PURE__ */ React42.createElement(Grid13, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React42.createElement(Grid13, { item: true, xs: 12 }, /* @__PURE__ */ React42.createElement(ControlLabel18, null, label)), /* @__PURE__ */ React42.createElement(Grid13, { item: true, xs: 12 }, /* @__PURE__ */ React42.createElement(SizeControl4, null))));
1866
+ return /* @__PURE__ */ React44.createElement(StylesField, { bind }, /* @__PURE__ */ React44.createElement(Grid13, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 12 }, /* @__PURE__ */ React44.createElement(ControlLabel18, null, label)), /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 12 }, /* @__PURE__ */ React44.createElement(SizeControl4, null))));
1869
1867
  };
1870
1868
 
1871
1869
  // src/components/style-sections/spacing-section/spacing-section.tsx
1872
- import * as React43 from "react";
1870
+ import * as React45 from "react";
1873
1871
  import { LinkedDimensionsControl } from "@elementor/editor-controls";
1874
- import { Divider as Divider6, Stack as Stack17 } from "@elementor/ui";
1875
1872
  import { __ as __25 } from "@wordpress/i18n";
1876
1873
  var SpacingSection = () => {
1877
- return /* @__PURE__ */ React43.createElement(Stack17, { gap: 1.5 }, /* @__PURE__ */ React43.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React43.createElement(LinkedDimensionsControl, { label: __25("Padding", "elementor") })), /* @__PURE__ */ React43.createElement(Divider6, null), /* @__PURE__ */ React43.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React43.createElement(LinkedDimensionsControl, { label: __25("Margin", "elementor") })));
1874
+ return /* @__PURE__ */ React45.createElement(SectionContent, null, /* @__PURE__ */ React45.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React45.createElement(LinkedDimensionsControl, { label: __25("Padding", "elementor") })), /* @__PURE__ */ React45.createElement(PanelDivider, null), /* @__PURE__ */ React45.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React45.createElement(LinkedDimensionsControl, { label: __25("Margin", "elementor") })));
1878
1875
  };
1879
1876
 
1880
1877
  // src/components/style-sections/typography-section/typography-section.tsx
1881
- import * as React57 from "react";
1882
- import { Divider as Divider7, Stack as Stack19 } from "@elementor/ui";
1878
+ import * as React60 from "react";
1883
1879
 
1884
1880
  // src/components/collapsible-content.tsx
1885
- import * as React44 from "react";
1881
+ import * as React46 from "react";
1886
1882
  import { useState as useState6 } from "react";
1887
- import { Button, Collapse as Collapse3, Stack as Stack18 } from "@elementor/ui";
1883
+ import { Button, Collapse as Collapse3, Stack as Stack12 } from "@elementor/ui";
1888
1884
  import { __ as __26 } from "@wordpress/i18n";
1889
1885
  var CollapsibleContent = ({ children, defaultOpen = false }) => {
1890
1886
  const [open, setOpen] = useState6(defaultOpen);
1891
1887
  const handleToggle = () => {
1892
1888
  setOpen((prevOpen) => !prevOpen);
1893
1889
  };
1894
- return /* @__PURE__ */ React44.createElement(Stack18, { sx: { py: 0.5 } }, /* @__PURE__ */ React44.createElement(
1890
+ return /* @__PURE__ */ React46.createElement(Stack12, null, /* @__PURE__ */ React46.createElement(
1895
1891
  Button,
1896
1892
  {
1897
1893
  fullWidth: true,
@@ -1899,14 +1895,15 @@ var CollapsibleContent = ({ children, defaultOpen = false }) => {
1899
1895
  color: "secondary",
1900
1896
  variant: "outlined",
1901
1897
  onClick: handleToggle,
1902
- endIcon: /* @__PURE__ */ React44.createElement(CollapseIcon, { open })
1898
+ endIcon: /* @__PURE__ */ React46.createElement(CollapseIcon, { open }),
1899
+ sx: { my: 0.5 }
1903
1900
  },
1904
1901
  open ? __26("Show less", "elementor") : __26("Show more", "elementor")
1905
- ), /* @__PURE__ */ React44.createElement(Collapse3, { in: open, timeout: "auto", unmountOnExit: true }, children));
1902
+ ), /* @__PURE__ */ React46.createElement(Collapse3, { in: open, timeout: "auto", unmountOnExit: true }, children));
1906
1903
  };
1907
1904
 
1908
1905
  // src/components/style-sections/typography-section/font-family-field.tsx
1909
- import * as React45 from "react";
1906
+ import * as React47 from "react";
1910
1907
  import { ControlLabel as ControlLabel19, FontFamilyControl } from "@elementor/editor-controls";
1911
1908
  import { Grid as Grid14 } from "@elementor/ui";
1912
1909
  import { __ as __27 } from "@wordpress/i18n";
@@ -1923,194 +1920,143 @@ var FontFamilyField = () => {
1923
1920
  if (!fontFamilies) {
1924
1921
  return null;
1925
1922
  }
1926
- return /* @__PURE__ */ React45.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React45.createElement(Grid14, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React45.createElement(Grid14, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(ControlLabel19, null, __27("Font Family", "elementor"))), /* @__PURE__ */ React45.createElement(Grid14, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(FontFamilyControl, { fontFamilies }))));
1923
+ return /* @__PURE__ */ React47.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React47.createElement(Grid14, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(Grid14, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel19, null, __27("Font family", "elementor"))), /* @__PURE__ */ React47.createElement(Grid14, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React47.createElement(FontFamilyControl, { fontFamilies }))));
1927
1924
  };
1928
1925
  var getFontFamilies = () => {
1929
1926
  const { controls } = getElementorConfig();
1930
- const options10 = controls?.font?.options;
1931
- if (!options10) {
1927
+ const options11 = controls?.font?.options;
1928
+ if (!options11) {
1932
1929
  return null;
1933
1930
  }
1934
- return options10;
1931
+ return options11;
1935
1932
  };
1936
1933
 
1937
1934
  // src/components/style-sections/typography-section/font-size-field.tsx
1938
- import * as React46 from "react";
1935
+ import * as React48 from "react";
1939
1936
  import { ControlLabel as ControlLabel20, SizeControl as SizeControl5 } from "@elementor/editor-controls";
1940
1937
  import { Grid as Grid15 } from "@elementor/ui";
1941
1938
  import { __ as __28 } from "@wordpress/i18n";
1942
1939
  var FontSizeField = () => {
1943
- return /* @__PURE__ */ React46.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React46.createElement(Grid15, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(Grid15, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(ControlLabel20, null, __28("Font Size", "elementor"))), /* @__PURE__ */ React46.createElement(Grid15, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(SizeControl5, null))));
1940
+ return /* @__PURE__ */ React48.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React48.createElement(Grid15, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(Grid15, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(ControlLabel20, null, __28("Font size", "elementor"))), /* @__PURE__ */ React48.createElement(Grid15, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(SizeControl5, null))));
1944
1941
  };
1945
1942
 
1946
- // src/components/style-sections/typography-section/font-weight-field.tsx
1947
- import * as React47 from "react";
1948
- import { ControlLabel as ControlLabel21, SelectControl as SelectControl4 } from "@elementor/editor-controls";
1943
+ // src/components/style-sections/typography-section/font-style-field.tsx
1944
+ import * as React49 from "react";
1945
+ import { ControlLabel as ControlLabel21, ToggleControl as ToggleControl8 } from "@elementor/editor-controls";
1946
+ import { ItalicIcon, MinusIcon as MinusIcon2 } from "@elementor/icons";
1949
1947
  import { Grid as Grid16 } from "@elementor/ui";
1950
1948
  import { __ as __29 } from "@wordpress/i18n";
1949
+ var options7 = [
1950
+ {
1951
+ value: "normal",
1952
+ label: __29("Normal", "elementor"),
1953
+ renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(MinusIcon2, { fontSize: size }),
1954
+ showTooltip: true
1955
+ },
1956
+ {
1957
+ value: "italic",
1958
+ label: __29("Italic", "elementor"),
1959
+ renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(ItalicIcon, { fontSize: size }),
1960
+ showTooltip: true
1961
+ }
1962
+ ];
1963
+ var FontStyleField = () => /* @__PURE__ */ React49.createElement(StylesField, { bind: "font-style" }, /* @__PURE__ */ React49.createElement(Grid16, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(ControlLabel21, null, __29("Font Style", "elementor"))), /* @__PURE__ */ React49.createElement(Grid16, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React49.createElement(ToggleControl8, { options: options7 }))));
1964
+
1965
+ // src/components/style-sections/typography-section/font-weight-field.tsx
1966
+ import * as React50 from "react";
1967
+ import { ControlLabel as ControlLabel22, SelectControl as SelectControl4 } from "@elementor/editor-controls";
1968
+ import { Grid as Grid17 } from "@elementor/ui";
1969
+ import { __ as __30 } from "@wordpress/i18n";
1951
1970
  var fontWeightOptions = [
1952
- { value: "100", label: __29("100 - Thin", "elementor") },
1953
- { value: "200", label: __29("200 - Extra Light", "elementor") },
1954
- { value: "300", label: __29("300 - Light", "elementor") },
1955
- { value: "400", label: __29("400 - Normal", "elementor") },
1956
- { value: "500", label: __29("500 - Medium", "elementor") },
1957
- { value: "600", label: __29("600 - Semi Bold", "elementor") },
1958
- { value: "700", label: __29("700 - Bold", "elementor") },
1959
- { value: "800", label: __29("800 - Extra Bold", "elementor") },
1960
- { value: "900", label: __29("900 - Black", "elementor") }
1971
+ { value: "100", label: __30("100 - Thin", "elementor") },
1972
+ { value: "200", label: __30("200 - Extra Light", "elementor") },
1973
+ { value: "300", label: __30("300 - Light", "elementor") },
1974
+ { value: "400", label: __30("400 - Normal", "elementor") },
1975
+ { value: "500", label: __30("500 - Medium", "elementor") },
1976
+ { value: "600", label: __30("600 - Semi Bold", "elementor") },
1977
+ { value: "700", label: __30("700 - Bold", "elementor") },
1978
+ { value: "800", label: __30("800 - Extra Bold", "elementor") },
1979
+ { value: "900", label: __30("900 - Black", "elementor") }
1961
1980
  ];
1962
1981
  var FontWeightField = () => {
1963
- return /* @__PURE__ */ React47.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React47.createElement(Grid16, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel21, null, __29("Font Weight", "elementor"))), /* @__PURE__ */ React47.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(SelectControl4, { options: fontWeightOptions }))));
1982
+ return /* @__PURE__ */ React50.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React50.createElement(Grid17, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React50.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(ControlLabel22, null, __30("Font weight", "elementor"))), /* @__PURE__ */ React50.createElement(Grid17, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React50.createElement(SelectControl4, { options: fontWeightOptions }))));
1964
1983
  };
1965
1984
 
1966
1985
  // src/components/style-sections/typography-section/letter-spacing-field.tsx
1967
- import * as React48 from "react";
1968
- import { ControlLabel as ControlLabel22, SizeControl as SizeControl6 } from "@elementor/editor-controls";
1969
- import { Grid as Grid17 } from "@elementor/ui";
1970
- import { __ as __30 } from "@wordpress/i18n";
1986
+ import * as React51 from "react";
1987
+ import { ControlLabel as ControlLabel23, SizeControl as SizeControl6 } from "@elementor/editor-controls";
1988
+ import { Grid as Grid18 } from "@elementor/ui";
1989
+ import { __ as __31 } from "@wordpress/i18n";
1971
1990
  var LetterSpacingField = () => {
1972
- return /* @__PURE__ */ React48.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React48.createElement(Grid17, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(ControlLabel22, null, __30("Letter Spacing", "elementor"))), /* @__PURE__ */ React48.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(SizeControl6, null))));
1991
+ return /* @__PURE__ */ React51.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React51.createElement(Grid18, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React51.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(ControlLabel23, null, __31("Letter spacing", "elementor"))), /* @__PURE__ */ React51.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(SizeControl6, null))));
1973
1992
  };
1974
1993
 
1975
1994
  // src/components/style-sections/typography-section/line-height-field.tsx
1976
- import * as React49 from "react";
1977
- import { ControlLabel as ControlLabel23, SizeControl as SizeControl7 } from "@elementor/editor-controls";
1978
- import { Grid as Grid18 } from "@elementor/ui";
1979
- import { __ as __31 } from "@wordpress/i18n";
1995
+ import * as React52 from "react";
1996
+ import { ControlLabel as ControlLabel24, SizeControl as SizeControl7 } from "@elementor/editor-controls";
1997
+ import { Grid as Grid19 } from "@elementor/ui";
1998
+ import { __ as __32 } from "@wordpress/i18n";
1980
1999
  var LineHeightField = () => {
1981
- return /* @__PURE__ */ React49.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React49.createElement(Grid18, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(ControlLabel23, null, __31("Line Height", "elementor"))), /* @__PURE__ */ React49.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(SizeControl7, null))));
2000
+ return /* @__PURE__ */ React52.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React52.createElement(Grid19, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(Grid19, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(ControlLabel24, null, __32("Line height", "elementor"))), /* @__PURE__ */ React52.createElement(Grid19, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(SizeControl7, null))));
1982
2001
  };
1983
2002
 
1984
2003
  // src/components/style-sections/typography-section/text-alignment-field.tsx
1985
- import * as React50 from "react";
1986
- import { ControlLabel as ControlLabel24, ToggleControl as ToggleControl8 } from "@elementor/editor-controls";
2004
+ import * as React53 from "react";
2005
+ import { ControlLabel as ControlLabel25, ToggleControl as ToggleControl9 } from "@elementor/editor-controls";
1987
2006
  import { AlignCenterIcon, AlignJustifiedIcon, AlignLeftIcon, AlignRightIcon } from "@elementor/icons";
1988
- import { Grid as Grid19, withDirection as withDirection6 } from "@elementor/ui";
1989
- import { __ as __32 } from "@wordpress/i18n";
2007
+ import { Grid as Grid20, withDirection as withDirection6 } from "@elementor/ui";
2008
+ import { __ as __33 } from "@wordpress/i18n";
1990
2009
  var StartIcon4 = withDirection6(AlignLeftIcon);
1991
2010
  var EndIcon4 = withDirection6(AlignRightIcon);
1992
- var options7 = [
2011
+ var options8 = [
1993
2012
  {
1994
2013
  value: "start",
1995
- label: __32("Start", "elementor"),
1996
- renderContent: () => /* @__PURE__ */ React50.createElement(RotatedIcon, { icon: StartIcon4, size: "tiny" }),
2014
+ label: __33("Start", "elementor"),
2015
+ renderContent: () => /* @__PURE__ */ React53.createElement(RotatedIcon, { icon: StartIcon4, size: "tiny" }),
1997
2016
  showTooltip: true
1998
2017
  },
1999
2018
  {
2000
2019
  value: "center",
2001
- label: __32("Center", "elementor"),
2002
- renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(AlignCenterIcon, { fontSize: size }),
2020
+ label: __33("Center", "elementor"),
2021
+ renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(AlignCenterIcon, { fontSize: size }),
2003
2022
  showTooltip: true
2004
2023
  },
2005
2024
  {
2006
2025
  value: "end",
2007
- label: __32("End", "elementor"),
2008
- renderContent: () => /* @__PURE__ */ React50.createElement(RotatedIcon, { icon: EndIcon4, size: "tiny" }),
2026
+ label: __33("End", "elementor"),
2027
+ renderContent: () => /* @__PURE__ */ React53.createElement(RotatedIcon, { icon: EndIcon4, size: "tiny" }),
2009
2028
  showTooltip: true
2010
2029
  },
2011
2030
  {
2012
2031
  value: "justify",
2013
- label: __32("Justify", "elementor"),
2014
- renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(AlignJustifiedIcon, { fontSize: size }),
2032
+ label: __33("Justify", "elementor"),
2033
+ renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(AlignJustifiedIcon, { fontSize: size }),
2015
2034
  showTooltip: true
2016
2035
  }
2017
2036
  ];
2018
2037
  var TextAlignmentField = () => {
2019
- return /* @__PURE__ */ React50.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React50.createElement(Grid19, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React50.createElement(Grid19, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(ControlLabel24, null, __32("Alignment", "elementor"))), /* @__PURE__ */ React50.createElement(Grid19, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React50.createElement(ToggleControl8, { options: options7 }))));
2038
+ return /* @__PURE__ */ React53.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React53.createElement(Grid20, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React53.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(ControlLabel25, null, __33("Alignment", "elementor"))), /* @__PURE__ */ React53.createElement(Grid20, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React53.createElement(ToggleControl9, { options: options8 }))));
2020
2039
  };
2021
2040
 
2022
2041
  // src/components/style-sections/typography-section/text-color-field.tsx
2023
- import * as React51 from "react";
2024
- import { ColorControl as ColorControl2, ControlLabel as ControlLabel25 } from "@elementor/editor-controls";
2025
- import { Grid as Grid20 } from "@elementor/ui";
2026
- import { __ as __33 } from "@wordpress/i18n";
2027
- var TextColorField = () => {
2028
- return /* @__PURE__ */ React51.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React51.createElement(Grid20, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React51.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(ControlLabel25, null, __33("Text Color", "elementor"))), /* @__PURE__ */ React51.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(ColorControl2, null))));
2029
- };
2030
-
2031
- // src/components/style-sections/typography-section/text-direction-field.tsx
2032
- import * as React52 from "react";
2033
- import { ControlLabel as ControlLabel26, ToggleControl as ToggleControl9 } from "@elementor/editor-controls";
2034
- import { TextDirectionLtrIcon, TextDirectionRtlIcon } from "@elementor/icons";
2042
+ import * as React54 from "react";
2043
+ import { ColorControl as ColorControl2, ControlLabel as ControlLabel26 } from "@elementor/editor-controls";
2035
2044
  import { Grid as Grid21 } from "@elementor/ui";
2036
2045
  import { __ as __34 } from "@wordpress/i18n";
2037
- var options8 = [
2038
- {
2039
- value: "ltr",
2040
- label: __34("Left to Right", "elementor"),
2041
- renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(TextDirectionLtrIcon, { fontSize: size })
2042
- },
2043
- {
2044
- value: "rtl",
2045
- label: __34("Right to Left", "elementor"),
2046
- renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(TextDirectionRtlIcon, { fontSize: size })
2047
- }
2048
- ];
2049
- var TextDirectionField = () => {
2050
- return /* @__PURE__ */ React52.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React52.createElement(Grid21, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(Grid21, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(ControlLabel26, null, __34("Direction", "elementor"))), /* @__PURE__ */ React52.createElement(Grid21, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React52.createElement(ToggleControl9, { options: options8 }))));
2051
- };
2052
-
2053
- // src/components/style-sections/typography-section/text-stroke-field.tsx
2054
- import * as React53 from "react";
2055
- import { StrokeControl } from "@elementor/editor-controls";
2056
- import { __ as __35 } from "@wordpress/i18n";
2057
- var initTextStroke = {
2058
- $$type: "stroke",
2059
- value: {
2060
- color: {
2061
- $$type: "color",
2062
- value: "#000000"
2063
- },
2064
- width: {
2065
- $$type: "size",
2066
- value: {
2067
- unit: "px",
2068
- size: 1
2069
- }
2070
- }
2071
- }
2072
- };
2073
- var TextStrokeField = () => {
2074
- const [textStroke, setTextStroke] = useStylesField("stroke");
2075
- const addTextStroke = () => {
2076
- setTextStroke(initTextStroke);
2077
- };
2078
- const removeTextStroke = () => {
2079
- setTextStroke(null);
2080
- };
2081
- const hasTextStroke = Boolean(textStroke);
2082
- return /* @__PURE__ */ React53.createElement(
2083
- AddOrRemoveContent,
2084
- {
2085
- label: __35("Text Stroke", "elementor"),
2086
- isAdded: hasTextStroke,
2087
- onAdd: addTextStroke,
2088
- onRemove: removeTextStroke
2089
- },
2090
- /* @__PURE__ */ React53.createElement(StylesField, { bind: "stroke" }, /* @__PURE__ */ React53.createElement(StrokeControl, null))
2091
- );
2046
+ var TextColorField = () => {
2047
+ return /* @__PURE__ */ React54.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React54.createElement(Grid21, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React54.createElement(Grid21, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(ControlLabel26, null, __34("Text color", "elementor"))), /* @__PURE__ */ React54.createElement(Grid21, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(ColorControl2, null))));
2092
2048
  };
2093
2049
 
2094
- // src/components/style-sections/typography-section/text-style-field.tsx
2095
- import * as React54 from "react";
2050
+ // src/components/style-sections/typography-section/text-decoration-field.tsx
2051
+ import * as React55 from "react";
2096
2052
  import { ControlLabel as ControlLabel27 } from "@elementor/editor-controls";
2097
- import { ItalicIcon, StrikethroughIcon, UnderlineIcon } from "@elementor/icons";
2053
+ import { StrikethroughIcon, UnderlineIcon } from "@elementor/icons";
2098
2054
  import { Grid as Grid22, ToggleButton as ToggleButtonBase, ToggleButtonGroup } from "@elementor/ui";
2099
- import { __ as __36 } from "@wordpress/i18n";
2055
+ import { __ as __35 } from "@wordpress/i18n";
2100
2056
  var buttonSize = "tiny";
2101
- var TextStyleField = () => {
2102
- const [fontStyle, setFontStyle] = useStylesField("font-style");
2057
+ var TextDecorationField = () => {
2103
2058
  const [textDecoration, setTextDecoration] = useStylesField("text-decoration");
2104
- const formats = [fontStyle?.value, ...(textDecoration?.value || "").split(" ")];
2105
- const handleSetFontStyle = (newValue) => {
2106
- if (newValue === null) {
2107
- return setFontStyle(null);
2108
- }
2109
- setFontStyle({
2110
- $$type: "string",
2111
- value: newValue
2112
- });
2113
- };
2059
+ const formats = [...(textDecoration?.value || "").split(" ")];
2114
2060
  const handleSetTextDecoration = (newValue) => {
2115
2061
  if (newValue === null) {
2116
2062
  return setTextDecoration(null);
@@ -2120,16 +2066,7 @@ var TextStyleField = () => {
2120
2066
  value: newValue
2121
2067
  });
2122
2068
  };
2123
- return /* @__PURE__ */ React54.createElement(Grid22, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React54.createElement(Grid22, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(ControlLabel27, null, __36("Style", "elementor"))), /* @__PURE__ */ React54.createElement(Grid22, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React54.createElement(ToggleButtonGroup, { value: formats }, /* @__PURE__ */ React54.createElement(
2124
- ToggleButton,
2125
- {
2126
- value: "italic",
2127
- onChange: (v) => handleSetFontStyle(fontStyle?.value === v ? null : v),
2128
- "aria-label": "italic",
2129
- sx: { marginLeft: "auto" }
2130
- },
2131
- /* @__PURE__ */ React54.createElement(ItalicIcon, { fontSize: buttonSize })
2132
- ), /* @__PURE__ */ React54.createElement(
2069
+ return /* @__PURE__ */ React55.createElement(Grid22, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(Grid22, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(ControlLabel27, null, __35("Style", "elementor"))), /* @__PURE__ */ React55.createElement(Grid22, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React55.createElement(ToggleButtonGroup, { value: formats }, /* @__PURE__ */ React55.createElement(
2133
2070
  ShorthandControl,
2134
2071
  {
2135
2072
  value: "line-through",
@@ -2137,8 +2074,8 @@ var TextStyleField = () => {
2137
2074
  updateValues: handleSetTextDecoration,
2138
2075
  "aria-label": "line-through"
2139
2076
  },
2140
- /* @__PURE__ */ React54.createElement(StrikethroughIcon, { fontSize: buttonSize })
2141
- ), /* @__PURE__ */ React54.createElement(
2077
+ /* @__PURE__ */ React55.createElement(StrikethroughIcon, { fontSize: buttonSize })
2078
+ ), /* @__PURE__ */ React55.createElement(
2142
2079
  ShorthandControl,
2143
2080
  {
2144
2081
  value: "underline",
@@ -2146,7 +2083,7 @@ var TextStyleField = () => {
2146
2083
  updateValues: handleSetTextDecoration,
2147
2084
  "aria-label": "underline"
2148
2085
  },
2149
- /* @__PURE__ */ React54.createElement(UnderlineIcon, { fontSize: buttonSize })
2086
+ /* @__PURE__ */ React55.createElement(UnderlineIcon, { fontSize: buttonSize })
2150
2087
  ))));
2151
2088
  };
2152
2089
  var ShorthandControl = ({
@@ -2165,61 +2102,124 @@ var ShorthandControl = ({
2165
2102
  updateValues([...valuesArr, newValue].join(" "));
2166
2103
  }
2167
2104
  };
2168
- return /* @__PURE__ */ React54.createElement(ToggleButton, { value, onChange: toggleValue, selected, "aria-label": ariaLabel }, children);
2105
+ return /* @__PURE__ */ React55.createElement(ToggleButton, { value, onChange: toggleValue, selected, "aria-label": ariaLabel }, children);
2169
2106
  };
2170
2107
  var ToggleButton = ({ onChange, ...props }) => {
2171
2108
  const handleChange = (_e, newValue) => {
2172
2109
  onChange(newValue);
2173
2110
  };
2174
- return /* @__PURE__ */ React54.createElement(ToggleButtonBase, { ...props, onChange: handleChange, size: buttonSize });
2111
+ return /* @__PURE__ */ React55.createElement(ToggleButtonBase, { ...props, onChange: handleChange, size: buttonSize });
2175
2112
  };
2176
2113
 
2177
- // src/components/style-sections/typography-section/transform-field.tsx
2178
- import * as React55 from "react";
2114
+ // src/components/style-sections/typography-section/text-direction-field.tsx
2115
+ import * as React56 from "react";
2179
2116
  import { ControlLabel as ControlLabel28, ToggleControl as ToggleControl10 } from "@elementor/editor-controls";
2180
- import { LetterCaseIcon, LetterCaseLowerIcon, LetterCaseUpperIcon, MinusIcon as MinusIcon2 } from "@elementor/icons";
2117
+ import { TextDirectionLtrIcon, TextDirectionRtlIcon } from "@elementor/icons";
2181
2118
  import { Grid as Grid23 } from "@elementor/ui";
2182
- import { __ as __37 } from "@wordpress/i18n";
2119
+ import { __ as __36 } from "@wordpress/i18n";
2183
2120
  var options9 = [
2121
+ {
2122
+ value: "ltr",
2123
+ label: __36("Left to Right", "elementor"),
2124
+ renderContent: ({ size }) => /* @__PURE__ */ React56.createElement(TextDirectionLtrIcon, { fontSize: size })
2125
+ },
2126
+ {
2127
+ value: "rtl",
2128
+ label: __36("Right to Left", "elementor"),
2129
+ renderContent: ({ size }) => /* @__PURE__ */ React56.createElement(TextDirectionRtlIcon, { fontSize: size })
2130
+ }
2131
+ ];
2132
+ var TextDirectionField = () => {
2133
+ return /* @__PURE__ */ React56.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React56.createElement(Grid23, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React56.createElement(Grid23, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(ControlLabel28, null, __36("Direction", "elementor"))), /* @__PURE__ */ React56.createElement(Grid23, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React56.createElement(ToggleControl10, { options: options9 }))));
2134
+ };
2135
+
2136
+ // src/components/style-sections/typography-section/text-stroke-field.tsx
2137
+ import * as React57 from "react";
2138
+ import { StrokeControl } from "@elementor/editor-controls";
2139
+ import { __ as __37 } from "@wordpress/i18n";
2140
+ var initTextStroke = {
2141
+ $$type: "stroke",
2142
+ value: {
2143
+ color: {
2144
+ $$type: "color",
2145
+ value: "#000000"
2146
+ },
2147
+ width: {
2148
+ $$type: "size",
2149
+ value: {
2150
+ unit: "px",
2151
+ size: 1
2152
+ }
2153
+ }
2154
+ }
2155
+ };
2156
+ var TextStrokeField = () => {
2157
+ const [textStroke, setTextStroke] = useStylesField("stroke");
2158
+ const addTextStroke = () => {
2159
+ setTextStroke(initTextStroke);
2160
+ };
2161
+ const removeTextStroke = () => {
2162
+ setTextStroke(null);
2163
+ };
2164
+ const hasTextStroke = Boolean(textStroke);
2165
+ return /* @__PURE__ */ React57.createElement(
2166
+ AddOrRemoveContent,
2167
+ {
2168
+ label: __37("Text stroke", "elementor"),
2169
+ isAdded: hasTextStroke,
2170
+ onAdd: addTextStroke,
2171
+ onRemove: removeTextStroke
2172
+ },
2173
+ /* @__PURE__ */ React57.createElement(StylesField, { bind: "stroke" }, /* @__PURE__ */ React57.createElement(StrokeControl, null))
2174
+ );
2175
+ };
2176
+
2177
+ // src/components/style-sections/typography-section/transform-field.tsx
2178
+ import * as React58 from "react";
2179
+ import { ControlLabel as ControlLabel29, ToggleControl as ToggleControl11 } from "@elementor/editor-controls";
2180
+ import { LetterCaseIcon, LetterCaseLowerIcon, LetterCaseUpperIcon, MinusIcon as MinusIcon3 } from "@elementor/icons";
2181
+ import { Grid as Grid24 } from "@elementor/ui";
2182
+ import { __ as __38 } from "@wordpress/i18n";
2183
+ var options10 = [
2184
2184
  {
2185
2185
  value: "none",
2186
- label: __37("None", "elementor"),
2187
- renderContent: ({ size }) => /* @__PURE__ */ React55.createElement(MinusIcon2, { fontSize: size }),
2186
+ label: __38("None", "elementor"),
2187
+ renderContent: ({ size }) => /* @__PURE__ */ React58.createElement(MinusIcon3, { fontSize: size }),
2188
2188
  showTooltip: true
2189
2189
  },
2190
2190
  {
2191
2191
  value: "capitalize",
2192
- label: __37("Capitalize", "elementor"),
2193
- renderContent: ({ size }) => /* @__PURE__ */ React55.createElement(LetterCaseIcon, { fontSize: size }),
2192
+ label: __38("Capitalize", "elementor"),
2193
+ renderContent: ({ size }) => /* @__PURE__ */ React58.createElement(LetterCaseIcon, { fontSize: size }),
2194
2194
  showTooltip: true
2195
2195
  },
2196
2196
  {
2197
2197
  value: "uppercase",
2198
- label: __37("Uppercase", "elementor"),
2199
- renderContent: ({ size }) => /* @__PURE__ */ React55.createElement(LetterCaseUpperIcon, { fontSize: size }),
2198
+ label: __38("Uppercase", "elementor"),
2199
+ renderContent: ({ size }) => /* @__PURE__ */ React58.createElement(LetterCaseUpperIcon, { fontSize: size }),
2200
2200
  showTooltip: true
2201
2201
  },
2202
2202
  {
2203
2203
  value: "lowercase",
2204
- label: __37("Lowercase", "elementor"),
2205
- renderContent: ({ size }) => /* @__PURE__ */ React55.createElement(LetterCaseLowerIcon, { fontSize: size }),
2204
+ label: __38("Lowercase", "elementor"),
2205
+ renderContent: ({ size }) => /* @__PURE__ */ React58.createElement(LetterCaseLowerIcon, { fontSize: size }),
2206
2206
  showTooltip: true
2207
2207
  }
2208
2208
  ];
2209
- var TransformField = () => /* @__PURE__ */ React55.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React55.createElement(Grid23, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(Grid23, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(ControlLabel28, null, __37("Text Transform", "elementor"))), /* @__PURE__ */ React55.createElement(Grid23, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React55.createElement(ToggleControl10, { options: options9 }))));
2209
+ var TransformField = () => /* @__PURE__ */ React58.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React58.createElement(Grid24, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React58.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React58.createElement(ControlLabel29, null, __38("Text transform", "elementor"))), /* @__PURE__ */ React58.createElement(Grid24, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React58.createElement(ToggleControl11, { options: options10 }))));
2210
2210
 
2211
2211
  // src/components/style-sections/typography-section/word-spacing-field.tsx
2212
- import * as React56 from "react";
2213
- import { ControlLabel as ControlLabel29, SizeControl as SizeControl8 } from "@elementor/editor-controls";
2214
- import { Grid as Grid24 } from "@elementor/ui";
2215
- import { __ as __38 } from "@wordpress/i18n";
2212
+ import * as React59 from "react";
2213
+ import { ControlLabel as ControlLabel30, SizeControl as SizeControl8 } from "@elementor/editor-controls";
2214
+ import { Grid as Grid25 } from "@elementor/ui";
2215
+ import { __ as __39 } from "@wordpress/i18n";
2216
2216
  var WordSpacingField = () => {
2217
- return /* @__PURE__ */ React56.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React56.createElement(Grid24, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React56.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(ControlLabel29, null, __38("Word Spacing", "elementor"))), /* @__PURE__ */ React56.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(SizeControl8, null))));
2217
+ return /* @__PURE__ */ React59.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React59.createElement(Grid25, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React59.createElement(Grid25, { item: true, xs: 6 }, /* @__PURE__ */ React59.createElement(ControlLabel30, null, __39("Word spacing", "elementor"))), /* @__PURE__ */ React59.createElement(Grid25, { item: true, xs: 6 }, /* @__PURE__ */ React59.createElement(SizeControl8, null))));
2218
2218
  };
2219
2219
 
2220
2220
  // src/components/style-sections/typography-section/typography-section.tsx
2221
2221
  var TypographySection = () => {
2222
- return /* @__PURE__ */ React57.createElement(Stack19, { gap: 1.5 }, /* @__PURE__ */ React57.createElement(FontFamilyField, null), /* @__PURE__ */ React57.createElement(FontWeightField, null), /* @__PURE__ */ React57.createElement(FontSizeField, null), /* @__PURE__ */ React57.createElement(Divider7, null), /* @__PURE__ */ React57.createElement(TextAlignmentField, null), /* @__PURE__ */ React57.createElement(TextColorField, null), /* @__PURE__ */ React57.createElement(CollapsibleContent, null, /* @__PURE__ */ React57.createElement(Stack19, { gap: 1.5, sx: { pt: 1.5 } }, /* @__PURE__ */ React57.createElement(LineHeightField, null), /* @__PURE__ */ React57.createElement(LetterSpacingField, null), /* @__PURE__ */ React57.createElement(WordSpacingField, null), /* @__PURE__ */ React57.createElement(Divider7, null), /* @__PURE__ */ React57.createElement(TextStyleField, null), /* @__PURE__ */ React57.createElement(TransformField, null), /* @__PURE__ */ React57.createElement(TextDirectionField, null), /* @__PURE__ */ React57.createElement(TextStrokeField, null))));
2222
+ return /* @__PURE__ */ React60.createElement(SectionContent, null, /* @__PURE__ */ React60.createElement(FontFamilyField, null), /* @__PURE__ */ React60.createElement(FontWeightField, null), /* @__PURE__ */ React60.createElement(FontSizeField, null), /* @__PURE__ */ React60.createElement(PanelDivider, null), /* @__PURE__ */ React60.createElement(TextAlignmentField, null), /* @__PURE__ */ React60.createElement(TextColorField, null), /* @__PURE__ */ React60.createElement(CollapsibleContent, null, /* @__PURE__ */ React60.createElement(SectionContent, { sx: { pt: 2 } }, /* @__PURE__ */ React60.createElement(LineHeightField, null), /* @__PURE__ */ React60.createElement(LetterSpacingField, null), /* @__PURE__ */ React60.createElement(WordSpacingField, null), /* @__PURE__ */ React60.createElement(PanelDivider, null), /* @__PURE__ */ React60.createElement(TextDecorationField, null), /* @__PURE__ */ React60.createElement(TransformField, null), /* @__PURE__ */ React60.createElement(TextDirectionField, null), /* @__PURE__ */ React60.createElement(FontStyleField, null), /* @__PURE__ */ React60.createElement(TextStrokeField, null))));
2223
2223
  };
2224
2224
 
2225
2225
  // src/components/style-tab.tsx
@@ -2229,7 +2229,7 @@ var StyleTab = () => {
2229
2229
  const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
2230
2230
  const [activeStyleState, setActiveStyleState] = useState7(null);
2231
2231
  const breakpoint = useActiveBreakpoint();
2232
- return /* @__PURE__ */ React58.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React58.createElement(
2232
+ return /* @__PURE__ */ React61.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React61.createElement(
2233
2233
  StyleProvider,
2234
2234
  {
2235
2235
  meta: { breakpoint, state: activeStyleState },
@@ -2240,7 +2240,7 @@ var StyleTab = () => {
2240
2240
  },
2241
2241
  setMetaState: setActiveStyleState
2242
2242
  },
2243
- /* @__PURE__ */ React58.createElement(SessionStorageProvider2, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React58.createElement(CssClassSelector, null), /* @__PURE__ */ React58.createElement(Divider8, null), /* @__PURE__ */ React58.createElement(SectionsList, null, /* @__PURE__ */ React58.createElement(Section, { title: __39("Layout", "elementor") }, /* @__PURE__ */ React58.createElement(LayoutSection, null)), /* @__PURE__ */ React58.createElement(Section, { title: __39("Spacing", "elementor") }, /* @__PURE__ */ React58.createElement(SpacingSection, null)), /* @__PURE__ */ React58.createElement(Section, { title: __39("Size", "elementor") }, /* @__PURE__ */ React58.createElement(SizeSection, null)), /* @__PURE__ */ React58.createElement(Section, { title: __39("Position", "elementor") }, /* @__PURE__ */ React58.createElement(PositionSection, null)), /* @__PURE__ */ React58.createElement(Section, { title: __39("Typography", "elementor") }, /* @__PURE__ */ React58.createElement(TypographySection, null)), /* @__PURE__ */ React58.createElement(Section, { title: __39("Background", "elementor") }, /* @__PURE__ */ React58.createElement(BackgroundSection, null)), /* @__PURE__ */ React58.createElement(Section, { title: __39("Border", "elementor") }, /* @__PURE__ */ React58.createElement(BorderSection, null)), /* @__PURE__ */ React58.createElement(Section, { title: __39("Effects", "elementor") }, /* @__PURE__ */ React58.createElement(EffectsSection, null))))
2243
+ /* @__PURE__ */ React61.createElement(SessionStorageProvider2, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React61.createElement(CssClassSelector, null), /* @__PURE__ */ React61.createElement(Divider4, null), /* @__PURE__ */ React61.createElement(SectionsList, null, /* @__PURE__ */ React61.createElement(Section, { title: __40("Layout", "elementor") }, /* @__PURE__ */ React61.createElement(LayoutSection, null)), /* @__PURE__ */ React61.createElement(Section, { title: __40("Spacing", "elementor") }, /* @__PURE__ */ React61.createElement(SpacingSection, null)), /* @__PURE__ */ React61.createElement(Section, { title: __40("Size", "elementor") }, /* @__PURE__ */ React61.createElement(SizeSection, null)), /* @__PURE__ */ React61.createElement(Section, { title: __40("Position", "elementor") }, /* @__PURE__ */ React61.createElement(PositionSection, null)), /* @__PURE__ */ React61.createElement(Section, { title: __40("Typography", "elementor") }, /* @__PURE__ */ React61.createElement(TypographySection, null)), /* @__PURE__ */ React61.createElement(Section, { title: __40("Background", "elementor") }, /* @__PURE__ */ React61.createElement(BackgroundSection, null)), /* @__PURE__ */ React61.createElement(Section, { title: __40("Border", "elementor") }, /* @__PURE__ */ React61.createElement(BorderSection, null)), /* @__PURE__ */ React61.createElement(Section, { title: __40("Effects", "elementor") }, /* @__PURE__ */ React61.createElement(EffectsSection, null))))
2244
2244
  ));
2245
2245
  };
2246
2246
  function useActiveStyleDefId(currentClassesProp) {
@@ -2272,7 +2272,7 @@ var EditingPanelTabs = () => {
2272
2272
  return (
2273
2273
  // When switching between elements, the local states should be reset. We are using key to rerender the tabs.
2274
2274
  // Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
2275
- /* @__PURE__ */ React59.createElement(Fragment8, { key: element.id }, /* @__PURE__ */ React59.createElement(Stack20, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React59.createElement(Tabs, { variant: "fullWidth", indicatorColor: "secondary", textColor: "inherit", ...getTabsProps() }, /* @__PURE__ */ React59.createElement(Tab, { label: __40("General", "elementor"), ...getTabProps("settings") }), /* @__PURE__ */ React59.createElement(Tab, { label: __40("Style", "elementor"), ...getTabProps("style") })), /* @__PURE__ */ React59.createElement(Divider9, null), /* @__PURE__ */ React59.createElement(TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React59.createElement(SettingsTab, null)), /* @__PURE__ */ React59.createElement(TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React59.createElement(StyleTab, null))))
2275
+ /* @__PURE__ */ React62.createElement(Fragment8, { key: element.id }, /* @__PURE__ */ React62.createElement(Stack13, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React62.createElement(Tabs, { variant: "fullWidth", indicatorColor: "secondary", textColor: "inherit", ...getTabsProps() }, /* @__PURE__ */ React62.createElement(Tab, { label: __41("General", "elementor"), ...getTabProps("settings") }), /* @__PURE__ */ React62.createElement(Tab, { label: __41("Style", "elementor"), ...getTabProps("style") })), /* @__PURE__ */ React62.createElement(Divider5, null), /* @__PURE__ */ React62.createElement(TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React62.createElement(SettingsTab, null)), /* @__PURE__ */ React62.createElement(TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React62.createElement(StyleTab, null))))
2276
2276
  );
2277
2277
  };
2278
2278
 
@@ -2285,8 +2285,8 @@ var EditingPanel = () => {
2285
2285
  if (!element || !elementType) {
2286
2286
  return null;
2287
2287
  }
2288
- const panelTitle = __41("Edit %s", "elementor").replace("%s", elementType.title);
2289
- return /* @__PURE__ */ React60.createElement(ErrorBoundary, { fallback: /* @__PURE__ */ React60.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React60.createElement(SessionStorageProvider3, { prefix: "elementor" }, /* @__PURE__ */ React60.createElement(Panel, null, /* @__PURE__ */ React60.createElement(PanelHeader, null, /* @__PURE__ */ React60.createElement(PanelHeaderTitle, null, panelTitle)), /* @__PURE__ */ React60.createElement(PanelBody, null, /* @__PURE__ */ React60.createElement(ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React60.createElement(ControlReplacementProvider, { ...controlReplacement }, /* @__PURE__ */ React60.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React60.createElement(EditingPanelTabs, null))))))));
2288
+ const panelTitle = __42("Edit %s", "elementor").replace("%s", elementType.title);
2289
+ return /* @__PURE__ */ React63.createElement(ErrorBoundary, { fallback: /* @__PURE__ */ React63.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React63.createElement(SessionStorageProvider3, { prefix: "elementor" }, /* @__PURE__ */ React63.createElement(Panel, null, /* @__PURE__ */ React63.createElement(PanelHeader, null, /* @__PURE__ */ React63.createElement(PanelHeaderTitle, null, panelTitle)), /* @__PURE__ */ React63.createElement(PanelBody, null, /* @__PURE__ */ React63.createElement(ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React63.createElement(ControlReplacementProvider, { ...controlReplacement }, /* @__PURE__ */ React63.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React63.createElement(EditingPanelTabs, null))))))));
2290
2290
  };
2291
2291
 
2292
2292
  // src/panel.ts
@@ -2353,19 +2353,19 @@ var EditingPanelHooks = () => {
2353
2353
  };
2354
2354
 
2355
2355
  // src/dynamics/components/dynamic-selection-control.tsx
2356
- import * as React63 from "react";
2356
+ import * as React67 from "react";
2357
2357
  import { useId as useId4 } from "react";
2358
- import { ControlLabel as ControlLabel30, useBoundProp as useBoundProp4 } from "@elementor/editor-controls";
2358
+ import { ControlLabel as ControlLabel31, useBoundProp as useBoundProp4 } from "@elementor/editor-controls";
2359
2359
  import { DatabaseIcon, SettingsIcon, XIcon as XIcon2 } from "@elementor/icons";
2360
2360
  import {
2361
2361
  bindPopover as bindPopover2,
2362
2362
  bindTrigger as bindTrigger2,
2363
2363
  Box as Box5,
2364
- Divider as Divider11,
2364
+ Divider as Divider7,
2365
2365
  IconButton as IconButton3,
2366
2366
  Paper,
2367
2367
  Popover as Popover2,
2368
- Stack as Stack22,
2368
+ Stack as Stack16,
2369
2369
  Tab as Tab2,
2370
2370
  TabPanel as TabPanel2,
2371
2371
  Tabs as Tabs2,
@@ -2374,7 +2374,12 @@ import {
2374
2374
  usePopupState as usePopupState3,
2375
2375
  useTabs as useTabs2
2376
2376
  } from "@elementor/ui";
2377
- import { __ as __43 } from "@wordpress/i18n";
2377
+ import { __ as __44 } from "@wordpress/i18n";
2378
+
2379
+ // src/components/popover-content.tsx
2380
+ import * as React64 from "react";
2381
+ import { Stack as Stack14 } from "@elementor/ui";
2382
+ var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React64.createElement(Stack14, { alignItems, gap, p }, children);
2378
2383
 
2379
2384
  // src/hooks/use-persist-dynamic-value.ts
2380
2385
  import { useSessionStorage as useSessionStorage2 } from "@elementor/session";
@@ -2385,7 +2390,7 @@ var usePersistDynamicValue = (propKey) => {
2385
2390
  };
2386
2391
 
2387
2392
  // src/dynamics/dynamic-control.tsx
2388
- import * as React61 from "react";
2393
+ import * as React65 from "react";
2389
2394
  import { PropKeyProvider as PropKeyProvider3, PropProvider as PropProvider3, useBoundProp as useBoundProp2 } from "@elementor/editor-controls";
2390
2395
 
2391
2396
  // src/dynamics/hooks/use-dynamic-tag.ts
@@ -2487,27 +2492,27 @@ var DynamicControl = ({ bind, children }) => {
2487
2492
  });
2488
2493
  };
2489
2494
  const propType = createTopLevelOjectType({ schema: dynamicTag.props_schema });
2490
- return /* @__PURE__ */ React61.createElement(PropProvider3, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React61.createElement(PropKeyProvider3, { bind }, children));
2495
+ return /* @__PURE__ */ React65.createElement(PropProvider3, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React65.createElement(PropKeyProvider3, { bind }, children));
2491
2496
  };
2492
2497
 
2493
2498
  // src/dynamics/components/dynamic-selection.tsx
2494
- import * as React62 from "react";
2499
+ import * as React66 from "react";
2495
2500
  import { Fragment as Fragment9, useState as useState8 } from "react";
2496
2501
  import { useBoundProp as useBoundProp3 } from "@elementor/editor-controls";
2497
2502
  import { PhotoIcon, SearchIcon } from "@elementor/icons";
2498
2503
  import {
2499
2504
  Box as Box4,
2500
- Divider as Divider10,
2505
+ Divider as Divider6,
2501
2506
  InputAdornment,
2502
2507
  Link,
2503
2508
  ListSubheader as ListSubheader2,
2504
2509
  MenuItem as MenuItem2,
2505
2510
  MenuList,
2506
- Stack as Stack21,
2511
+ Stack as Stack15,
2507
2512
  TextField as TextField2,
2508
2513
  Typography as Typography4
2509
2514
  } from "@elementor/ui";
2510
- import { __ as __42 } from "@wordpress/i18n";
2515
+ import { __ as __43 } from "@wordpress/i18n";
2511
2516
  var SIZE3 = "tiny";
2512
2517
  var DynamicSelection = ({ onSelect }) => {
2513
2518
  const [searchValue, setSearchValue] = useState8("");
@@ -2516,7 +2521,7 @@ var DynamicSelection = ({ onSelect }) => {
2516
2521
  const { bind, value: dynamicValue, setValue } = useBoundProp3(dynamicPropTypeUtil);
2517
2522
  const [, updatePropValueHistory] = usePersistDynamicValue(bind);
2518
2523
  const isCurrentValueDynamic = !!dynamicValue;
2519
- const options10 = useFilteredOptions(searchValue);
2524
+ const options11 = useFilteredOptions(searchValue);
2520
2525
  const handleSearch = (event) => {
2521
2526
  setSearchValue(event.target.value);
2522
2527
  };
@@ -2527,32 +2532,32 @@ var DynamicSelection = ({ onSelect }) => {
2527
2532
  setValue({ name: value, settings: {} });
2528
2533
  onSelect?.();
2529
2534
  };
2530
- return /* @__PURE__ */ React62.createElement(Stack21, null, /* @__PURE__ */ React62.createElement(Box4, { px: 1.5, pb: 1 }, /* @__PURE__ */ React62.createElement(
2535
+ return /* @__PURE__ */ React66.createElement(Stack15, null, /* @__PURE__ */ React66.createElement(Box4, { px: 1.5, pb: 1 }, /* @__PURE__ */ React66.createElement(
2531
2536
  TextField2,
2532
2537
  {
2533
2538
  fullWidth: true,
2534
2539
  size: SIZE3,
2535
2540
  value: searchValue,
2536
2541
  onChange: handleSearch,
2537
- placeholder: __42("Search dynamic tag", "elementor"),
2542
+ placeholder: __43("Search dynamic tag", "elementor"),
2538
2543
  InputProps: {
2539
- startAdornment: /* @__PURE__ */ React62.createElement(InputAdornment, { position: "start" }, /* @__PURE__ */ React62.createElement(SearchIcon, { fontSize: SIZE3 }))
2544
+ startAdornment: /* @__PURE__ */ React66.createElement(InputAdornment, { position: "start" }, /* @__PURE__ */ React66.createElement(SearchIcon, { fontSize: SIZE3 }))
2540
2545
  }
2541
2546
  }
2542
- )), /* @__PURE__ */ React62.createElement(Divider10, null), /* @__PURE__ */ React62.createElement(Box4, { sx: { overflowY: "auto", height: 260, width: 220 } }, options10.length > 0 ? /* @__PURE__ */ React62.createElement(MenuList, { role: "listbox", tabIndex: 0 }, options10.map(([category, items3], index) => /* @__PURE__ */ React62.createElement(Fragment9, { key: index }, /* @__PURE__ */ React62.createElement(ListSubheader2, { sx: { typography: "caption", color: "text.tertiary" } }, dynamicGroups?.[category]?.title || category), items3.map(({ value, label: tagLabel }) => {
2547
+ )), /* @__PURE__ */ React66.createElement(Divider6, null), /* @__PURE__ */ React66.createElement(Box4, { sx: { overflowY: "auto", height: 260, width: 220 } }, options11.length > 0 ? /* @__PURE__ */ React66.createElement(MenuList, { role: "listbox", tabIndex: 0 }, options11.map(([category, items3], index) => /* @__PURE__ */ React66.createElement(Fragment9, { key: index }, /* @__PURE__ */ React66.createElement(ListSubheader2, { sx: { px: 1.5, typography: "caption", color: "text.tertiary" } }, dynamicGroups?.[category]?.title || category), items3.map(({ value, label: tagLabel }) => {
2543
2548
  const isSelected = isCurrentValueDynamic && value === dynamicValue?.name;
2544
- return /* @__PURE__ */ React62.createElement(
2549
+ return /* @__PURE__ */ React66.createElement(
2545
2550
  MenuItem2,
2546
2551
  {
2547
2552
  key: value,
2548
2553
  selected: isSelected,
2549
2554
  autoFocus: isSelected,
2550
- sx: { typography: "caption" },
2555
+ sx: { px: 1.5, typography: "caption" },
2551
2556
  onClick: () => handleSetDynamicTag(value)
2552
2557
  },
2553
2558
  tagLabel
2554
2559
  );
2555
- })))) : /* @__PURE__ */ React62.createElement(Stack21, { alignItems: "center", p: 2.5, gap: 1.5 }, /* @__PURE__ */ React62.createElement(PhotoIcon, { fontSize: "large" }), /* @__PURE__ */ React62.createElement(Typography4, { align: "center", variant: "caption", color: "text.secondary" }, __42("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React62.createElement("br", null), "\u201C", searchValue, "\u201D."), /* @__PURE__ */ React62.createElement(Typography4, { align: "center", variant: "caption", color: "text.secondary" }, /* @__PURE__ */ React62.createElement(
2560
+ })))) : /* @__PURE__ */ React66.createElement(PopoverContent, { alignItems: "center", p: 2.5 }, /* @__PURE__ */ React66.createElement(PhotoIcon, { fontSize: "large" }), /* @__PURE__ */ React66.createElement(Typography4, { align: "center", variant: "caption", color: "text.secondary" }, __43("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React66.createElement("br", null), "\u201C", searchValue, "\u201D."), /* @__PURE__ */ React66.createElement(Typography4, { align: "center", variant: "caption", color: "text.secondary" }, /* @__PURE__ */ React66.createElement(
2556
2561
  Link,
2557
2562
  {
2558
2563
  color: "secondary",
@@ -2560,12 +2565,12 @@ var DynamicSelection = ({ onSelect }) => {
2560
2565
  component: "button",
2561
2566
  onClick: () => setSearchValue("")
2562
2567
  },
2563
- __42("Clear the filters", "elementor")
2564
- ), "\xA0", __42("and try again.", "elementor")))));
2568
+ __43("Clear the filters", "elementor")
2569
+ ), "\xA0", __43("and try again.", "elementor")))));
2565
2570
  };
2566
2571
  var useFilteredOptions = (searchValue) => {
2567
2572
  const dynamicTags = usePropDynamicTags();
2568
- const options10 = dynamicTags.reduce((categories, { name, label, group }) => {
2573
+ const options11 = dynamicTags.reduce((categories, { name, label, group }) => {
2569
2574
  const isVisible = label.toLowerCase().includes(searchValue.trim().toLowerCase());
2570
2575
  if (!isVisible) {
2571
2576
  return categories;
@@ -2576,7 +2581,7 @@ var useFilteredOptions = (searchValue) => {
2576
2581
  categories.get(group)?.push({ label, value: name });
2577
2582
  return categories;
2578
2583
  }, /* @__PURE__ */ new Map());
2579
- return [...options10];
2584
+ return [...options11];
2580
2585
  };
2581
2586
 
2582
2587
  // src/dynamics/components/dynamic-selection-control.tsx
@@ -2595,25 +2600,25 @@ var DynamicSelectionControl = () => {
2595
2600
  if (!dynamicTag) {
2596
2601
  throw new Error(`Dynamic tag ${tagName} not found`);
2597
2602
  }
2598
- return /* @__PURE__ */ React63.createElement(Box5, null, /* @__PURE__ */ React63.createElement(
2603
+ return /* @__PURE__ */ React67.createElement(Box5, null, /* @__PURE__ */ React67.createElement(
2599
2604
  Tag,
2600
2605
  {
2601
2606
  fullWidth: true,
2602
2607
  showActionsOnHover: true,
2603
2608
  label: dynamicTag.label,
2604
- startIcon: /* @__PURE__ */ React63.createElement(DatabaseIcon, { fontSize: SIZE4 }),
2609
+ startIcon: /* @__PURE__ */ React67.createElement(DatabaseIcon, { fontSize: SIZE4 }),
2605
2610
  ...bindTrigger2(selectionPopoverState),
2606
- actions: /* @__PURE__ */ React63.createElement(React63.Fragment, null, /* @__PURE__ */ React63.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React63.createElement(
2611
+ actions: /* @__PURE__ */ React67.createElement(React67.Fragment, null, /* @__PURE__ */ React67.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React67.createElement(
2607
2612
  IconButton3,
2608
2613
  {
2609
2614
  size: SIZE4,
2610
2615
  onClick: removeDynamicTag,
2611
- "aria-label": __43("Remove dynamic value", "elementor")
2616
+ "aria-label": __44("Remove dynamic value", "elementor")
2612
2617
  },
2613
- /* @__PURE__ */ React63.createElement(XIcon2, { fontSize: SIZE4 })
2618
+ /* @__PURE__ */ React67.createElement(XIcon2, { fontSize: SIZE4 })
2614
2619
  ))
2615
2620
  }
2616
- ), /* @__PURE__ */ React63.createElement(
2621
+ ), /* @__PURE__ */ React67.createElement(
2617
2622
  Popover2,
2618
2623
  {
2619
2624
  disablePortal: true,
@@ -2621,7 +2626,7 @@ var DynamicSelectionControl = () => {
2621
2626
  anchorOrigin: { vertical: "bottom", horizontal: "left" },
2622
2627
  ...bindPopover2(selectionPopoverState)
2623
2628
  },
2624
- /* @__PURE__ */ React63.createElement(Stack22, null, /* @__PURE__ */ React63.createElement(Stack22, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React63.createElement(DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React63.createElement(Typography5, { variant: "subtitle2" }, __43("Dynamic Tags", "elementor")), /* @__PURE__ */ React63.createElement(IconButton3, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React63.createElement(XIcon2, { fontSize: SIZE4 }))), /* @__PURE__ */ React63.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
2629
+ /* @__PURE__ */ React67.createElement(Stack16, null, /* @__PURE__ */ React67.createElement(Stack16, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React67.createElement(DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React67.createElement(Typography5, { variant: "subtitle2" }, __44("Dynamic Tags", "elementor")), /* @__PURE__ */ React67.createElement(IconButton3, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React67.createElement(XIcon2, { fontSize: SIZE4 }))), /* @__PURE__ */ React67.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
2625
2630
  ));
2626
2631
  };
2627
2632
  var DynamicSettingsPopover = ({ dynamicTag }) => {
@@ -2631,22 +2636,22 @@ var DynamicSettingsPopover = ({ dynamicTag }) => {
2631
2636
  if (!hasDynamicSettings) {
2632
2637
  return null;
2633
2638
  }
2634
- return /* @__PURE__ */ React63.createElement(React63.Fragment, null, /* @__PURE__ */ React63.createElement(
2639
+ return /* @__PURE__ */ React67.createElement(React67.Fragment, null, /* @__PURE__ */ React67.createElement(
2635
2640
  IconButton3,
2636
2641
  {
2637
2642
  size: SIZE4,
2638
2643
  ...bindTrigger2(settingsPopupState),
2639
- "aria-label": __43("Settings", "elementor")
2644
+ "aria-label": __44("Settings", "elementor")
2640
2645
  },
2641
- /* @__PURE__ */ React63.createElement(SettingsIcon, { fontSize: SIZE4 })
2642
- ), /* @__PURE__ */ React63.createElement(
2646
+ /* @__PURE__ */ React67.createElement(SettingsIcon, { fontSize: SIZE4 })
2647
+ ), /* @__PURE__ */ React67.createElement(
2643
2648
  Popover2,
2644
2649
  {
2645
2650
  disableScrollLock: true,
2646
2651
  anchorOrigin: { vertical: "bottom", horizontal: "center" },
2647
2652
  ...bindPopover2(settingsPopupState)
2648
2653
  },
2649
- /* @__PURE__ */ React63.createElement(Paper, { component: Stack22, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React63.createElement(Stack22, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React63.createElement(DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React63.createElement(Typography5, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React63.createElement(IconButton3, { sx: { ml: "auto" }, size: SIZE4, onClick: settingsPopupState.close }, /* @__PURE__ */ React63.createElement(XIcon2, { fontSize: SIZE4 }))), /* @__PURE__ */ React63.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
2654
+ /* @__PURE__ */ React67.createElement(Paper, { component: Stack16, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React67.createElement(Stack16, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React67.createElement(DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React67.createElement(Typography5, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React67.createElement(IconButton3, { sx: { ml: "auto" }, size: SIZE4, onClick: settingsPopupState.close }, /* @__PURE__ */ React67.createElement(XIcon2, { fontSize: SIZE4 }))), /* @__PURE__ */ React67.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
2650
2655
  ));
2651
2656
  };
2652
2657
  var DynamicSettings = ({ controls }) => {
@@ -2655,10 +2660,10 @@ var DynamicSettings = ({ controls }) => {
2655
2660
  if (!tabs.length) {
2656
2661
  return null;
2657
2662
  }
2658
- return /* @__PURE__ */ React63.createElement(React63.Fragment, null, /* @__PURE__ */ React63.createElement(Tabs2, { indicatorColor: "secondary", textColor: "secondary", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React63.createElement(Tab2, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React63.createElement(Divider11, null), tabs.map(({ value }, index) => {
2659
- return /* @__PURE__ */ React63.createElement(TabPanel2, { key: index, sx: { flexGrow: 1 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React63.createElement(Stack22, { gap: 1, px: 2 }, value.items.map((item) => {
2663
+ return /* @__PURE__ */ React67.createElement(React67.Fragment, null, /* @__PURE__ */ React67.createElement(Tabs2, { indicatorColor: "secondary", textColor: "secondary", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React67.createElement(Tab2, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React67.createElement(Divider7, null), tabs.map(({ value }, index) => {
2664
+ return /* @__PURE__ */ React67.createElement(TabPanel2, { key: index, sx: { flexGrow: 1, py: 0 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React67.createElement(PopoverContent, { p: 1.5 }, value.items.map((item) => {
2660
2665
  if (item.type === "control") {
2661
- return /* @__PURE__ */ React63.createElement(Control3, { key: item.value.bind, control: item.value });
2666
+ return /* @__PURE__ */ React67.createElement(Control3, { key: item.value.bind, control: item.value });
2662
2667
  }
2663
2668
  return null;
2664
2669
  })));
@@ -2668,22 +2673,22 @@ var Control3 = ({ control }) => {
2668
2673
  if (!getControlByType(control.type)) {
2669
2674
  return null;
2670
2675
  }
2671
- return /* @__PURE__ */ React63.createElement(DynamicControl, { bind: control.bind }, control.label ? /* @__PURE__ */ React63.createElement(ControlLabel30, null, control.label) : null, /* @__PURE__ */ React63.createElement(Control, { type: control.type, props: control.props }));
2676
+ return /* @__PURE__ */ React67.createElement(DynamicControl, { bind: control.bind }, control.label ? /* @__PURE__ */ React67.createElement(ControlLabel31, null, control.label) : null, /* @__PURE__ */ React67.createElement(Control, { type: control.type, props: control.props }));
2672
2677
  };
2673
2678
 
2674
2679
  // src/dynamics/hooks/use-prop-dynamic-action.tsx
2675
- import * as React64 from "react";
2680
+ import * as React68 from "react";
2676
2681
  import { useBoundProp as useBoundProp5 } from "@elementor/editor-controls";
2677
2682
  import { DatabaseIcon as DatabaseIcon2 } from "@elementor/icons";
2678
- import { __ as __44 } from "@wordpress/i18n";
2683
+ import { __ as __45 } from "@wordpress/i18n";
2679
2684
  var usePropDynamicAction = () => {
2680
2685
  const { propType } = useBoundProp5();
2681
2686
  const visible = !!propType && supportsDynamic(propType);
2682
2687
  return {
2683
2688
  visible,
2684
2689
  icon: DatabaseIcon2,
2685
- title: __44("Dynamic Tags", "elementor"),
2686
- popoverContent: ({ closePopover }) => /* @__PURE__ */ React64.createElement(DynamicSelection, { onSelect: closePopover })
2690
+ title: __45("Dynamic Tags", "elementor"),
2691
+ popoverContent: ({ closePopover }) => /* @__PURE__ */ React68.createElement(DynamicSelection, { onSelect: closePopover })
2687
2692
  };
2688
2693
  };
2689
2694