@elementor/editor-editing-panel 1.5.1 → 1.7.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 (34) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/index.d.mts +37 -3
  3. package/dist/index.d.ts +37 -3
  4. package/dist/index.js +816 -606
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.mjs +798 -570
  7. package/dist/index.mjs.map +1 -1
  8. package/package.json +6 -6
  9. package/src/components/css-class-menu.tsx +125 -0
  10. package/src/components/css-class-selector.tsx +156 -33
  11. package/src/components/multi-combobox.tsx +184 -0
  12. package/src/components/style-sections/border-section/border-field.tsx +1 -5
  13. package/src/components/style-sections/position-section/position-field.tsx +1 -0
  14. package/src/components/style-tab.tsx +13 -4
  15. package/src/contexts/css-class-item-context.tsx +31 -0
  16. package/src/contexts/style-context.tsx +4 -3
  17. package/src/controls-registry/create-top-level-object-type.ts +14 -0
  18. package/src/controls-registry/settings-field.tsx +12 -14
  19. package/src/controls-registry/styles-field.tsx +17 -5
  20. package/src/css-classes.ts +37 -0
  21. package/src/dynamics/components/dynamic-selection-control.tsx +1 -1
  22. package/src/dynamics/components/dynamic-selection.tsx +3 -4
  23. package/src/dynamics/dynamic-control.tsx +16 -11
  24. package/src/dynamics/hooks/use-dynamic-tag.ts +2 -3
  25. package/src/dynamics/hooks/use-prop-dynamic-action.tsx +1 -4
  26. package/src/dynamics/hooks/use-prop-dynamic-tags.ts +3 -6
  27. package/src/dynamics/utils.ts +1 -1
  28. package/src/hooks/use-styles-fields.ts +1 -0
  29. package/src/index.ts +1 -0
  30. package/src/init.ts +2 -0
  31. package/src/components/multi-combobox/index.ts +0 -3
  32. package/src/components/multi-combobox/multi-combobox.tsx +0 -122
  33. package/src/components/multi-combobox/types.ts +0 -29
  34. package/src/components/multi-combobox/use-combobox-actions.ts +0 -62
package/dist/index.js CHANGED
@@ -30,23 +30,134 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/index.ts
31
31
  var index_exports = {};
32
32
  __export(index_exports, {
33
+ registerGlobalClassMenuItem: () => registerGlobalClassMenuItem,
34
+ registerStateMenuItem: () => registerStateMenuItem,
33
35
  replaceControl: () => replaceControl,
34
- useBoundProp: () => import_editor_controls46.useBoundProp
36
+ useBoundProp: () => import_editor_controls47.useBoundProp
35
37
  });
36
38
  module.exports = __toCommonJS(index_exports);
37
- var import_editor_controls46 = require("@elementor/editor-controls");
39
+ var import_editor_controls47 = require("@elementor/editor-controls");
38
40
 
39
41
  // src/control-replacement.tsx
40
42
  var import_editor_controls = require("@elementor/editor-controls");
41
43
  var { replaceControl, getControlReplacement } = (0, import_editor_controls.createControlReplacement)();
42
44
 
45
+ // src/components/css-class-menu.tsx
46
+ var React3 = __toESM(require("react"));
47
+ var import_icons = require("@elementor/icons");
48
+ var import_menus = require("@elementor/menus");
49
+ var import_ui = require("@elementor/ui");
50
+ var import_i18n = require("@wordpress/i18n");
51
+
52
+ // src/contexts/css-class-item-context.tsx
53
+ var React = __toESM(require("react"));
54
+ var import_react = require("react");
55
+ var ClassItemContext = (0, import_react.createContext)({
56
+ styleId: "",
57
+ isGlobal: false,
58
+ isActive: false
59
+ });
60
+ function CssClassItemProvider({ styleId, isGlobal, isActive, children }) {
61
+ return /* @__PURE__ */ React.createElement(ClassItemContext.Provider, { value: { styleId, isGlobal, isActive } }, children);
62
+ }
63
+ function useCssClassItem() {
64
+ const context = React.useContext(ClassItemContext);
65
+ if (!context) {
66
+ throw new Error("useCssClassItem must be used within a CssClassItemProvider");
67
+ }
68
+ return context;
69
+ }
70
+
71
+ // src/contexts/style-context.tsx
72
+ var React2 = __toESM(require("react"));
73
+ var import_react2 = require("react");
74
+ var Context = (0, import_react2.createContext)(null);
75
+ function StyleProvider({ children, id, setId, meta, setMetaState }) {
76
+ return /* @__PURE__ */ React2.createElement(Context.Provider, { value: { id, setId, meta, setMetaState } }, children);
77
+ }
78
+ function useStyle() {
79
+ const context = (0, import_react2.useContext)(Context);
80
+ if (!context) {
81
+ throw new Error("useStyle must be used within a StyleProvider");
82
+ }
83
+ return context;
84
+ }
85
+
86
+ // src/components/css-class-menu.tsx
87
+ var { useMenuItems: useStateMenuItems, registerStateMenuItem } = (0, import_menus.createMenu)({
88
+ components: {
89
+ StateMenuItem
90
+ }
91
+ });
92
+ var { useMenuItems: useGlobalClassMenuItems, registerGlobalClassMenuItem } = (0, import_menus.createMenu)({
93
+ components: {
94
+ GlobalClassMenuItem
95
+ }
96
+ });
97
+ function CssClassMenu({
98
+ popupState,
99
+ containerRef
100
+ }) {
101
+ const { isGlobal } = useCssClassItem();
102
+ const { default: globalClassMenuItems } = useGlobalClassMenuItems();
103
+ const { default: stateMenuItems } = useStateMenuItems();
104
+ return /* @__PURE__ */ React3.createElement(
105
+ import_ui.Menu,
106
+ {
107
+ MenuListProps: { dense: true },
108
+ ...(0, import_ui.bindMenu)(popupState),
109
+ anchorOrigin: {
110
+ vertical: "top",
111
+ horizontal: "right"
112
+ },
113
+ anchorEl: containerRef.current
114
+ },
115
+ isGlobal && /* @__PURE__ */ React3.createElement(GlobalClassMenuSection, null, globalClassMenuItems.map(({ id, MenuItem: MenuItemComponent }) => /* @__PURE__ */ React3.createElement(MenuItemComponent, { key: id }))),
116
+ /* @__PURE__ */ React3.createElement(import_ui.ListSubheader, null, (0, import_i18n.__)("Add a pseudo selector", "elementor")),
117
+ stateMenuItems.map(({ id, MenuItem: MenuItemComponent }) => /* @__PURE__ */ React3.createElement(MenuItemComponent, { key: id }))
118
+ );
119
+ }
120
+ function StateMenuItem({ state, disabled }) {
121
+ const { isActive, styleId } = useCssClassItem();
122
+ const { setId: setActiveId, setMetaState: setActiveMetaState, meta } = useStyle();
123
+ const { state: activeState } = meta;
124
+ const isSelected = state === activeState && isActive;
125
+ return /* @__PURE__ */ React3.createElement(
126
+ StyledMenuItem,
127
+ {
128
+ selected: state === activeState && isActive,
129
+ disabled,
130
+ onClick: () => {
131
+ if (!isActive) {
132
+ setActiveId(styleId);
133
+ }
134
+ setActiveMetaState(state);
135
+ }
136
+ },
137
+ isSelected && /* @__PURE__ */ React3.createElement(import_ui.ListItemIcon, null, /* @__PURE__ */ React3.createElement(import_icons.CheckIcon, null)),
138
+ /* @__PURE__ */ React3.createElement(import_ui.ListItemText, { primary: state ? `:${state}` : "Normal" })
139
+ );
140
+ }
141
+ function GlobalClassMenuItem({ text, onClick }) {
142
+ return /* @__PURE__ */ React3.createElement(StyledMenuItem, { onClick }, /* @__PURE__ */ React3.createElement(import_ui.ListItemText, { primary: text }));
143
+ }
144
+ var GlobalClassMenuSection = (0, import_ui.styled)(import_ui.Box)(({ theme }) => ({
145
+ borderBottom: `1px solid ${theme?.palette.divider}`
146
+ }));
147
+ var StyledMenuItem = (0, import_ui.styled)(import_ui.MenuItem)({
148
+ "&:hover": {
149
+ color: "text.primary"
150
+ // Overriding global CSS from the editor.
151
+ }
152
+ });
153
+
43
154
  // src/init.ts
44
155
  var import_editor = require("@elementor/editor");
45
156
  var import_editor_panels3 = require("@elementor/editor-panels");
46
157
  var import_editor_v1_adapters4 = require("@elementor/editor-v1-adapters");
47
158
 
48
159
  // src/hooks/use-close-editor-panel.ts
49
- var import_react13 = require("react");
160
+ var import_react16 = require("react");
50
161
  var import_editor_elements8 = require("@elementor/editor-elements");
51
162
  var import_editor_v1_adapters2 = require("@elementor/editor-v1-adapters");
52
163
 
@@ -54,22 +165,22 @@ var import_editor_v1_adapters2 = require("@elementor/editor-v1-adapters");
54
165
  var import_editor_panels2 = require("@elementor/editor-panels");
55
166
 
56
167
  // src/components/editing-panel.tsx
57
- var React59 = __toESM(require("react"));
168
+ var React61 = __toESM(require("react"));
58
169
  var import_editor_controls41 = require("@elementor/editor-controls");
59
170
  var import_editor_elements6 = require("@elementor/editor-elements");
60
171
  var import_editor_panels = require("@elementor/editor-panels");
61
172
  var import_ui50 = require("@elementor/ui");
62
- var import_i18n39 = require("@wordpress/i18n");
173
+ var import_i18n40 = require("@wordpress/i18n");
63
174
 
64
175
  // src/contexts/element-context.tsx
65
- var React = __toESM(require("react"));
66
- var import_react = require("react");
67
- var Context = (0, import_react.createContext)(null);
176
+ var React4 = __toESM(require("react"));
177
+ var import_react3 = require("react");
178
+ var Context2 = (0, import_react3.createContext)(null);
68
179
  function ElementProvider({ children, element, elementType }) {
69
- return /* @__PURE__ */ React.createElement(Context.Provider, { value: { element, elementType } }, children);
180
+ return /* @__PURE__ */ React4.createElement(Context2.Provider, { value: { element, elementType } }, children);
70
181
  }
71
182
  function useElement() {
72
- const context = (0, import_react.useContext)(Context);
183
+ const context = (0, import_react3.useContext)(Context2);
73
184
  if (!context) {
74
185
  throw new Error("useElement must be used within a ElementProvider");
75
186
  }
@@ -77,13 +188,13 @@ function useElement() {
77
188
  }
78
189
 
79
190
  // src/controls-actions.ts
80
- var import_menus = require("@elementor/menus");
191
+ var import_menus2 = require("@elementor/menus");
81
192
 
82
193
  // src/popover-action.tsx
83
- var React2 = __toESM(require("react"));
84
- var import_react2 = require("react");
85
- var import_icons = require("@elementor/icons");
86
- var import_ui = require("@elementor/ui");
194
+ var React5 = __toESM(require("react"));
195
+ var import_react4 = require("react");
196
+ var import_icons2 = require("@elementor/icons");
197
+ var import_ui2 = require("@elementor/ui");
87
198
  var SIZE = "tiny";
88
199
  function PopoverAction({
89
200
  title,
@@ -91,16 +202,16 @@ function PopoverAction({
91
202
  icon: Icon,
92
203
  popoverContent: PopoverContent
93
204
  }) {
94
- const id = (0, import_react2.useId)();
95
- const popupState = (0, import_ui.usePopupState)({
205
+ const id = (0, import_react4.useId)();
206
+ const popupState = (0, import_ui2.usePopupState)({
96
207
  variant: "popover",
97
208
  popupId: `elementor-popover-action-${id}`
98
209
  });
99
210
  if (!visible) {
100
211
  return null;
101
212
  }
102
- return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(import_ui.Tooltip, { placement: "top", title }, /* @__PURE__ */ React2.createElement(import_ui.IconButton, { "aria-label": title, key: id, size: SIZE, ...(0, import_ui.bindToggle)(popupState) }, /* @__PURE__ */ React2.createElement(Icon, { fontSize: SIZE }))), /* @__PURE__ */ React2.createElement(
103
- import_ui.Popover,
213
+ return /* @__PURE__ */ React5.createElement(React5.Fragment, null, /* @__PURE__ */ React5.createElement(import_ui2.Tooltip, { placement: "top", title }, /* @__PURE__ */ React5.createElement(import_ui2.IconButton, { "aria-label": title, key: id, size: SIZE, ...(0, import_ui2.bindToggle)(popupState) }, /* @__PURE__ */ React5.createElement(Icon, { fontSize: SIZE }))), /* @__PURE__ */ React5.createElement(
214
+ import_ui2.Popover,
104
215
  {
105
216
  disablePortal: true,
106
217
  disableScrollLock: true,
@@ -108,39 +219,39 @@ function PopoverAction({
108
219
  vertical: "bottom",
109
220
  horizontal: "center"
110
221
  },
111
- ...(0, import_ui.bindPopover)(popupState)
222
+ ...(0, import_ui2.bindPopover)(popupState)
112
223
  },
113
- /* @__PURE__ */ React2.createElement(import_ui.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React2.createElement(Icon, { fontSize: SIZE, sx: { mr: 0.5 } }), /* @__PURE__ */ React2.createElement(import_ui.Typography, { variant: "subtitle2" }, title), /* @__PURE__ */ React2.createElement(import_ui.IconButton, { sx: { ml: "auto" }, size: SIZE, onClick: popupState.close }, /* @__PURE__ */ React2.createElement(import_icons.XIcon, { fontSize: SIZE }))),
114
- /* @__PURE__ */ React2.createElement(PopoverContent, { closePopover: popupState.close })
224
+ /* @__PURE__ */ React5.createElement(import_ui2.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React5.createElement(Icon, { fontSize: SIZE, sx: { mr: 0.5 } }), /* @__PURE__ */ React5.createElement(import_ui2.Typography, { variant: "subtitle2" }, title), /* @__PURE__ */ React5.createElement(import_ui2.IconButton, { sx: { ml: "auto" }, size: SIZE, onClick: popupState.close }, /* @__PURE__ */ React5.createElement(import_icons2.XIcon, { fontSize: SIZE }))),
225
+ /* @__PURE__ */ React5.createElement(PopoverContent, { closePopover: popupState.close })
115
226
  ));
116
227
  }
117
228
 
118
229
  // src/controls-actions.ts
119
- var controlActionsMenu = (0, import_menus.createMenu)({
230
+ var controlActionsMenu = (0, import_menus2.createMenu)({
120
231
  components: {
121
232
  PopoverAction
122
233
  }
123
234
  });
124
235
 
125
236
  // src/components/editing-panel-error-fallback.tsx
126
- var React3 = __toESM(require("react"));
127
- var import_ui2 = require("@elementor/ui");
237
+ var React6 = __toESM(require("react"));
238
+ var import_ui3 = require("@elementor/ui");
128
239
  function EditorPanelErrorFallback() {
129
- return /* @__PURE__ */ React3.createElement(import_ui2.Box, { role: "alert", sx: { minHeight: "100%", p: 2 } }, /* @__PURE__ */ React3.createElement(import_ui2.Alert, { severity: "error", sx: { mb: 2, maxWidth: 400, textAlign: "center" } }, /* @__PURE__ */ React3.createElement("strong", null, "Something went wrong")));
240
+ return /* @__PURE__ */ React6.createElement(import_ui3.Box, { role: "alert", sx: { minHeight: "100%", p: 2 } }, /* @__PURE__ */ React6.createElement(import_ui3.Alert, { severity: "error", sx: { mb: 2, maxWidth: 400, textAlign: "center" } }, /* @__PURE__ */ React6.createElement("strong", null, "Something went wrong")));
130
241
  }
131
242
 
132
243
  // src/components/editing-panel-tabs.tsx
133
- var React58 = __toESM(require("react"));
134
- var import_react12 = require("react");
244
+ var React60 = __toESM(require("react"));
245
+ var import_react15 = require("react");
135
246
  var import_ui49 = require("@elementor/ui");
136
- var import_i18n38 = require("@wordpress/i18n");
247
+ var import_i18n39 = require("@wordpress/i18n");
137
248
 
138
249
  // src/components/settings-tab.tsx
139
- var React9 = __toESM(require("react"));
250
+ var React12 = __toESM(require("react"));
140
251
  var import_editor_controls4 = require("@elementor/editor-controls");
141
252
 
142
253
  // src/controls-registry/control.tsx
143
- var React4 = __toESM(require("react"));
254
+ var React7 = __toESM(require("react"));
144
255
  var import_utils = require("@elementor/utils");
145
256
 
146
257
  // src/controls-registry/controls-registry.tsx
@@ -169,20 +280,20 @@ var Control = ({ props, type }) => {
169
280
  context: { type }
170
281
  });
171
282
  }
172
- return /* @__PURE__ */ React4.createElement(ControlByType, { ...props });
283
+ return /* @__PURE__ */ React7.createElement(ControlByType, { ...props });
173
284
  };
174
285
 
175
286
  // src/controls-registry/control-type-container.tsx
176
- var React5 = __toESM(require("react"));
177
- var import_ui3 = require("@elementor/ui");
287
+ var React8 = __toESM(require("react"));
288
+ var import_ui4 = require("@elementor/ui");
178
289
  var ControlTypeContainer = ({
179
290
  controlType,
180
291
  children
181
292
  }) => {
182
293
  const layout = getLayoutByType(controlType);
183
- return /* @__PURE__ */ React5.createElement(StyledContainer, { layout }, children);
294
+ return /* @__PURE__ */ React8.createElement(StyledContainer, { layout }, children);
184
295
  };
185
- var StyledContainer = (0, import_ui3.styled)(import_ui3.Box, {
296
+ var StyledContainer = (0, import_ui4.styled)(import_ui4.Box, {
186
297
  shouldForwardProp: (prop) => !["layout"].includes(prop)
187
298
  })(({ layout, theme }) => ({
188
299
  display: "grid",
@@ -198,34 +309,47 @@ var getGridLayout = (layout) => ({
198
309
  });
199
310
 
200
311
  // src/controls-registry/settings-field.tsx
201
- var React6 = __toESM(require("react"));
312
+ var React9 = __toESM(require("react"));
202
313
  var import_editor_controls3 = require("@elementor/editor-controls");
203
314
  var import_editor_elements = require("@elementor/editor-elements");
315
+
316
+ // src/controls-registry/create-top-level-object-type.ts
317
+ var createTopLevelOjectType = ({ schema }) => {
318
+ const schemaPropType = {
319
+ key: "",
320
+ kind: "object",
321
+ meta: {},
322
+ settings: {},
323
+ default: null,
324
+ shape: schema
325
+ };
326
+ return schemaPropType;
327
+ };
328
+
329
+ // src/controls-registry/settings-field.tsx
204
330
  var SettingsField = ({ bind, children }) => {
205
331
  const { element, elementType } = useElement();
206
- const defaultValue = elementType.propsSchema[bind]?.default;
207
332
  const settingsValue = (0, import_editor_elements.useElementSetting)(element.id, bind);
208
- const value = settingsValue ?? defaultValue ?? null;
333
+ const value = { [bind]: settingsValue };
334
+ const propType = createTopLevelOjectType({ schema: elementType.propsSchema });
209
335
  const setValue = (newValue) => {
210
336
  (0, import_editor_elements.updateSettings)({
211
337
  id: element.id,
212
- props: {
213
- [bind]: newValue
214
- }
338
+ props: { ...newValue }
215
339
  });
216
340
  };
217
- return /* @__PURE__ */ React6.createElement(import_editor_controls3.BoundPropProvider, { setValue, value, bind }, children);
341
+ return /* @__PURE__ */ React9.createElement(import_editor_controls3.PropProvider, { propType, value, setValue }, /* @__PURE__ */ React9.createElement(import_editor_controls3.PropKeyProvider, { bind }, children));
218
342
  };
219
343
 
220
344
  // src/components/section.tsx
221
- var React7 = __toESM(require("react"));
222
- var import_react3 = require("react");
223
- var import_ui5 = require("@elementor/ui");
345
+ var React10 = __toESM(require("react"));
346
+ var import_react5 = require("react");
347
+ var import_ui6 = require("@elementor/ui");
224
348
 
225
349
  // src/components/collapse-icon.tsx
226
- var import_icons2 = require("@elementor/icons");
227
- var import_ui4 = require("@elementor/ui");
228
- var CollapseIcon = (0, import_ui4.styled)(import_icons2.ChevronDownIcon, {
350
+ var import_icons3 = require("@elementor/icons");
351
+ var import_ui5 = require("@elementor/ui");
352
+ var CollapseIcon = (0, import_ui5.styled)(import_icons3.ChevronDownIcon, {
229
353
  shouldForwardProp: (prop) => prop !== "open"
230
354
  })(({ theme, open }) => ({
231
355
  transform: open ? "rotate(180deg)" : "rotate(0deg)",
@@ -236,40 +360,40 @@ var CollapseIcon = (0, import_ui4.styled)(import_icons2.ChevronDownIcon, {
236
360
 
237
361
  // src/components/section.tsx
238
362
  function Section({ title, children, defaultExpanded = false }) {
239
- const [isOpen, setIsOpen] = (0, import_react3.useState)(!!defaultExpanded);
240
- const id = (0, import_react3.useId)();
363
+ const [isOpen, setIsOpen] = (0, import_react5.useState)(!!defaultExpanded);
364
+ const id = (0, import_react5.useId)();
241
365
  const labelId = `label-${id}`;
242
366
  const contentId = `content-${id}`;
243
- return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement(
244
- import_ui5.ListItemButton,
367
+ return /* @__PURE__ */ React10.createElement(React10.Fragment, null, /* @__PURE__ */ React10.createElement(
368
+ import_ui6.ListItemButton,
245
369
  {
246
370
  id: labelId,
247
371
  "aria-controls": contentId,
248
372
  onClick: () => setIsOpen((prev) => !prev)
249
373
  },
250
- /* @__PURE__ */ React7.createElement(import_ui5.ListItemText, { secondary: title }),
251
- /* @__PURE__ */ React7.createElement(CollapseIcon, { open: isOpen, color: "secondary" })
252
- ), /* @__PURE__ */ React7.createElement(import_ui5.Collapse, { id: contentId, "aria-labelledby": labelId, in: isOpen, timeout: "auto", unmountOnExit: true }, /* @__PURE__ */ React7.createElement(import_ui5.Stack, { gap: 2.5, p: 2 }, children)), /* @__PURE__ */ React7.createElement(import_ui5.Divider, null));
374
+ /* @__PURE__ */ React10.createElement(import_ui6.ListItemText, { secondary: title }),
375
+ /* @__PURE__ */ React10.createElement(CollapseIcon, { open: isOpen, color: "secondary" })
376
+ ), /* @__PURE__ */ React10.createElement(import_ui6.Collapse, { id: contentId, "aria-labelledby": labelId, in: isOpen, timeout: "auto", unmountOnExit: true }, /* @__PURE__ */ React10.createElement(import_ui6.Stack, { gap: 2.5, p: 2 }, children)), /* @__PURE__ */ React10.createElement(import_ui6.Divider, null));
253
377
  }
254
378
 
255
379
  // src/components/sections-list.tsx
256
- var React8 = __toESM(require("react"));
257
- var import_ui6 = require("@elementor/ui");
380
+ var React11 = __toESM(require("react"));
381
+ var import_ui7 = require("@elementor/ui");
258
382
  function SectionsList(props) {
259
- return /* @__PURE__ */ React8.createElement(import_ui6.List, { disablePadding: true, component: "div", ...props });
383
+ return /* @__PURE__ */ React11.createElement(import_ui7.List, { disablePadding: true, component: "div", ...props });
260
384
  }
261
385
 
262
386
  // src/components/settings-tab.tsx
263
387
  var SettingsTab = () => {
264
388
  const { elementType } = useElement();
265
- return /* @__PURE__ */ React9.createElement(SectionsList, null, elementType.controls.map(({ type, value }, index) => {
389
+ return /* @__PURE__ */ React12.createElement(SectionsList, null, elementType.controls.map(({ type, value }, index) => {
266
390
  if (type === "control") {
267
- return /* @__PURE__ */ React9.createElement(Control2, { key: value.bind, control: value });
391
+ return /* @__PURE__ */ React12.createElement(Control2, { key: value.bind, control: value });
268
392
  }
269
393
  if (type === "section") {
270
- return /* @__PURE__ */ React9.createElement(Section, { title: value.label, key: type + "." + index, defaultExpanded: true }, value.items?.map((item) => {
394
+ return /* @__PURE__ */ React12.createElement(Section, { title: value.label, key: type + "." + index, defaultExpanded: true }, value.items?.map((item) => {
271
395
  if (item.type === "control") {
272
- return /* @__PURE__ */ React9.createElement(Control2, { key: item.value.bind, control: item.value });
396
+ return /* @__PURE__ */ React12.createElement(Control2, { key: item.value.bind, control: item.value });
273
397
  }
274
398
  return null;
275
399
  }));
@@ -281,63 +405,50 @@ var Control2 = ({ control }) => {
281
405
  if (!getControlByType(control.type)) {
282
406
  return null;
283
407
  }
284
- return /* @__PURE__ */ React9.createElement(SettingsField, { bind: control.bind }, /* @__PURE__ */ React9.createElement(ControlTypeContainer, { controlType: control.type }, control.label ? /* @__PURE__ */ React9.createElement(import_editor_controls4.ControlLabel, null, control.label) : null, /* @__PURE__ */ React9.createElement(Control, { type: control.type, props: control.props })));
408
+ return /* @__PURE__ */ React12.createElement(SettingsField, { bind: control.bind }, /* @__PURE__ */ React12.createElement(ControlTypeContainer, { controlType: control.type }, control.label ? /* @__PURE__ */ React12.createElement(import_editor_controls4.ControlLabel, null, control.label) : null, /* @__PURE__ */ React12.createElement(Control, { type: control.type, props: control.props })));
285
409
  };
286
410
 
287
411
  // src/components/style-tab.tsx
288
- var React57 = __toESM(require("react"));
289
- var import_react11 = require("react");
412
+ var React59 = __toESM(require("react"));
413
+ var import_react14 = require("react");
290
414
  var import_editor_elements5 = require("@elementor/editor-elements");
291
415
  var import_editor_responsive = require("@elementor/editor-responsive");
292
416
  var import_ui48 = require("@elementor/ui");
293
- var import_i18n37 = require("@wordpress/i18n");
417
+ var import_i18n38 = require("@wordpress/i18n");
294
418
 
295
419
  // src/contexts/classes-prop-context.tsx
296
- var React10 = __toESM(require("react"));
297
- var import_react4 = require("react");
298
- var Context2 = (0, import_react4.createContext)(null);
420
+ var React13 = __toESM(require("react"));
421
+ var import_react6 = require("react");
422
+ var Context3 = (0, import_react6.createContext)(null);
299
423
  function ClassesPropProvider({ children, prop }) {
300
- return /* @__PURE__ */ React10.createElement(Context2.Provider, { value: { prop } }, children);
424
+ return /* @__PURE__ */ React13.createElement(Context3.Provider, { value: { prop } }, children);
301
425
  }
302
426
  function useClassesProp() {
303
- const context = (0, import_react4.useContext)(Context2);
427
+ const context = (0, import_react6.useContext)(Context3);
304
428
  if (!context) {
305
429
  throw new Error("useClassesProp must be used within a ClassesPropProvider");
306
430
  }
307
431
  return context.prop;
308
432
  }
309
433
 
310
- // src/contexts/style-context.tsx
311
- var React11 = __toESM(require("react"));
312
- var import_react5 = require("react");
313
- var Context3 = (0, import_react5.createContext)(null);
314
- function StyleProvider({ children, id, setId, meta }) {
315
- return /* @__PURE__ */ React11.createElement(Context3.Provider, { value: { id, setId, meta } }, children);
316
- }
317
- function useStyle() {
318
- const context = (0, import_react5.useContext)(Context3);
319
- if (!context) {
320
- throw new Error("useStyle must be used within a StyleProvider");
321
- }
322
- return context;
323
- }
324
-
325
434
  // src/components/css-class-selector.tsx
326
- var React14 = __toESM(require("react"));
435
+ var React16 = __toESM(require("react"));
436
+ var import_react9 = require("react");
327
437
  var import_editor_elements2 = require("@elementor/editor-elements");
328
438
  var import_editor_props = require("@elementor/editor-props");
329
439
  var import_editor_styles_repository = require("@elementor/editor-styles-repository");
440
+ var import_icons4 = require("@elementor/icons");
330
441
  var import_ui10 = require("@elementor/ui");
331
- var import_i18n = require("@wordpress/i18n");
442
+ var import_i18n2 = require("@wordpress/i18n");
332
443
 
333
444
  // src/components/conditional-tooltip-wrapper.tsx
334
- var import_react6 = require("react");
335
- var React12 = __toESM(require("react"));
336
- var import_ui7 = require("@elementor/ui");
445
+ var import_react7 = require("react");
446
+ var React14 = __toESM(require("react"));
447
+ var import_ui8 = require("@elementor/ui");
337
448
  var ConditionalTooltipWrapper = ({ maxWidth, title }) => {
338
- const elRef = (0, import_react6.useRef)(null);
339
- const [isOverflown, setIsOverflown] = (0, import_react6.useState)(false);
340
- (0, import_react6.useEffect)(() => {
449
+ const elRef = (0, import_react7.useRef)(null);
450
+ const [isOverflown, setIsOverflown] = (0, import_react7.useState)(false);
451
+ (0, import_react7.useEffect)(() => {
341
452
  const onResize = () => {
342
453
  const element = elRef.current;
343
454
  if (element) {
@@ -351,12 +462,12 @@ var ConditionalTooltipWrapper = ({ maxWidth, title }) => {
351
462
  };
352
463
  }, []);
353
464
  if (isOverflown) {
354
- return /* @__PURE__ */ React12.createElement(import_ui7.Tooltip, { title, placement: "top" }, /* @__PURE__ */ React12.createElement(Content, { maxWidth, ref: elRef }, title));
465
+ return /* @__PURE__ */ React14.createElement(import_ui8.Tooltip, { title, placement: "top" }, /* @__PURE__ */ React14.createElement(Content, { maxWidth, ref: elRef }, title));
355
466
  }
356
- return /* @__PURE__ */ React12.createElement(Content, { maxWidth, ref: elRef }, title);
467
+ return /* @__PURE__ */ React14.createElement(Content, { maxWidth, ref: elRef }, title);
357
468
  };
358
- var Content = React12.forwardRef(({ maxWidth, ...tooltipProps }, ref) => /* @__PURE__ */ React12.createElement(
359
- import_ui7.Box,
469
+ var Content = React14.forwardRef(({ maxWidth, ...tooltipProps }, ref) => /* @__PURE__ */ React14.createElement(
470
+ import_ui8.Box,
360
471
  {
361
472
  ref,
362
473
  position: "relative",
@@ -365,74 +476,20 @@ var Content = React12.forwardRef(({ maxWidth, ...tooltipProps }, ref) => /* @__P
365
476
  }
366
477
  ));
367
478
 
368
- // src/components/multi-combobox/multi-combobox.tsx
369
- var React13 = __toESM(require("react"));
479
+ // src/components/multi-combobox.tsx
480
+ var React15 = __toESM(require("react"));
481
+ var import_react8 = require("react");
370
482
  var import_ui9 = require("@elementor/ui");
371
-
372
- // src/components/multi-combobox/use-combobox-actions.ts
373
- var import_ui8 = require("@elementor/ui");
374
- var useComboboxActions = (applied, actions, optionsLabel, onSelect) => ({
375
- action: {
376
- is: (opt) => typeof opt !== "string" && "action" in opt,
377
- getLabel: (option) => option.action.getLabel(option.label),
378
- groupBy: (option) => option.action.groupLabel,
379
- onChange: ({ action, label }) => action?.apply(label),
380
- getFilteredActions: (optionList, params) => {
381
- const actionGroups = Object.values(actions);
382
- return actionGroups.reduce((groups, group) => {
383
- const actionOptions = group.actions.reduce((groupActions, action) => {
384
- const shouldShowAction = action.condition(optionList, params.inputValue);
385
- if (shouldShowAction) {
386
- const actionOption = createActionOption(group.label, action, params.inputValue);
387
- groupActions.unshift(actionOption);
388
- }
389
- return groupActions;
390
- }, []);
391
- return [...groups, ...actionOptions];
392
- }, []);
393
- }
394
- },
395
- option: {
396
- is: (opt) => typeof opt !== "string" && !("action" in opt),
397
- getLabel: (option) => option.label,
398
- groupBy: () => optionsLabel ?? "",
399
- onChange: (optionValues) => onSelect?.(optionValues),
400
- getFilteredOptions: (optionList, params) => {
401
- const appliedValues = applied.map((option) => option.value);
402
- const optionsWithoutApplied = optionList.filter((option) => !appliedValues.includes(option.value));
403
- return filter(optionsWithoutApplied, params);
404
- }
405
- }
406
- });
407
- var filter = (0, import_ui8.createFilterOptions)();
408
- var createActionOption = (groupLabel, action, inputValue) => ({
409
- value: "",
410
- label: inputValue,
411
- action: {
412
- groupLabel,
413
- apply: action.apply,
414
- getLabel: action.getLabel
415
- }
416
- });
417
-
418
- // src/components/multi-combobox/multi-combobox.tsx
419
- var MultiCombobox = ({
420
- actions = {},
483
+ function MultiCombobox({
484
+ actions = [],
421
485
  selected,
422
486
  options: options10,
423
- optionsLabel,
424
487
  onSelect,
425
- onCreate,
426
488
  ...props
427
- }) => {
428
- const { action: actionProps, option: optionProps } = useComboboxActions(
429
- selected,
430
- actions,
431
- // TODO: make the group mechanism more generic, allow passing list of groups.
432
- optionsLabel,
433
- onSelect
434
- );
435
- return /* @__PURE__ */ React13.createElement(
489
+ }) {
490
+ const filter = useFilterOptions();
491
+ const { run, loading } = useActionRunner();
492
+ return /* @__PURE__ */ React15.createElement(
436
493
  import_ui9.Autocomplete,
437
494
  {
438
495
  ...props,
@@ -442,63 +499,100 @@ var MultiCombobox = ({
442
499
  selectOnFocus: true,
443
500
  disableClearable: true,
444
501
  handleHomeEndKeys: true,
502
+ disabled: loading,
445
503
  value: selected,
446
504
  options: options10,
447
- renderGroup,
448
- renderInput: (params) => /* @__PURE__ */ React13.createElement(import_ui9.TextField, { ...params }),
449
- getLimitTagsText: (more) => /* @__PURE__ */ React13.createElement(import_ui9.Chip, { size: "tiny", variant: "standard", label: `+${more}`, clickable: true }),
450
- onChange: (_, selectedOrTypedValue, reason) => {
505
+ renderGroup: (params) => /* @__PURE__ */ React15.createElement(Group, { ...params }),
506
+ renderInput: (params) => /* @__PURE__ */ React15.createElement(import_ui9.TextField, { ...params }),
507
+ onChange: (_, selectedOrInputValue, reason) => {
508
+ const inputValue = selectedOrInputValue.find((option) => typeof option === "string");
509
+ const optionsAndActions = selectedOrInputValue.filter((option) => typeof option !== "string");
451
510
  if (reason === "createOption") {
452
- const typedValue = selectedOrTypedValue.find((option) => typeof option === "string");
453
- return typedValue && onCreate?.(typedValue);
511
+ const [firstAction] = filterActions(actions, { options: options10, inputValue: inputValue ?? "" });
512
+ if (firstAction) {
513
+ return run(firstAction.apply, firstAction.value);
514
+ }
454
515
  }
455
- const action = selectedOrTypedValue.find((value) => actionProps.is(value));
516
+ const action = optionsAndActions.find((value) => isAction(value));
456
517
  if (reason === "selectOption" && action) {
457
- return actionProps.onChange(action);
518
+ return run(action.apply, action.value);
458
519
  }
459
- const selectedValues = selectedOrTypedValue.filter((v) => typeof v !== "string");
460
- const fixedValues = options10.filter((option) => option.fixed);
461
- optionProps.onChange([.../* @__PURE__ */ new Set([...fixedValues, ...selectedValues])]);
520
+ const fixedValues = options10.filter((option) => !!option.fixed);
521
+ onSelect?.([.../* @__PURE__ */ new Set([...optionsAndActions, ...fixedValues])]);
462
522
  },
463
- getOptionLabel: (option) => {
464
- if (optionProps.is(option)) {
465
- return optionProps.getLabel(option);
466
- }
467
- if (actionProps.is(option)) {
468
- return actionProps.getLabel(option);
523
+ getOptionLabel: (option) => typeof option === "string" ? option : option.label,
524
+ getOptionKey: (option) => {
525
+ if (typeof option === "string") {
526
+ return option;
469
527
  }
470
- return "";
528
+ return option.key ?? option.value;
471
529
  },
472
530
  filterOptions: (optionList, params) => {
473
- const filteredOptions = optionProps.getFilteredOptions(optionList, params);
474
- const actionOptions = actionProps.getFilteredActions(optionList, params);
475
- return [...actionOptions, ...filteredOptions];
531
+ const selectedValues = selected.map((option) => option.value);
532
+ return [
533
+ ...filterActions(actions, { options: optionList, inputValue: params.inputValue }),
534
+ ...filter(
535
+ optionList.filter((option) => !selectedValues.includes(option.value)),
536
+ params
537
+ )
538
+ ];
476
539
  },
477
- groupBy: (option) => (optionProps.is(option) ? optionProps.groupBy() : actionProps.groupBy(option)) ?? ""
540
+ groupBy: (option) => option.group ?? ""
478
541
  }
479
542
  );
543
+ }
544
+ var Group = (params) => {
545
+ const id = `combobox-group-${(0, import_react8.useId)().replace(/:/g, "_")}`;
546
+ return /* @__PURE__ */ React15.createElement(StyledGroup, { role: "group", "aria-labelledby": id }, /* @__PURE__ */ React15.createElement(StyledGroupHeader, { id }, " ", params.group), /* @__PURE__ */ React15.createElement(StyledGroupItems, { role: "listbox" }, params.children));
480
547
  };
481
- var renderGroup = (params) => /* @__PURE__ */ React13.createElement(Group, { key: params.key }, /* @__PURE__ */ React13.createElement(GroupHeader, null, params.group), /* @__PURE__ */ React13.createElement(GroupItems, null, params.children));
482
- var Group = (0, import_ui9.styled)("li")`
548
+ var StyledGroup = (0, import_ui9.styled)("li")`
483
549
  &:not( :last-of-type ) {
484
550
  border-bottom: 1px solid ${({ theme }) => theme.palette.divider};
485
551
  }
486
552
  `;
487
- var GroupHeader = (0, import_ui9.styled)(import_ui9.Box)(({ theme }) => ({
553
+ var StyledGroupHeader = (0, import_ui9.styled)(import_ui9.Box)(({ theme }) => ({
488
554
  position: "sticky",
489
555
  top: "-8px",
490
556
  padding: theme.spacing(1, 2),
491
557
  color: theme.palette.text.tertiary
492
558
  }));
493
- var GroupItems = (0, import_ui9.styled)("ul")`
559
+ var StyledGroupItems = (0, import_ui9.styled)("ul")`
494
560
  padding: 0;
495
561
  `;
562
+ function useFilterOptions() {
563
+ return (0, import_react8.useState)(() => (0, import_ui9.createFilterOptions)())[0];
564
+ }
565
+ function useActionRunner() {
566
+ const [loading, setLoading] = (0, import_react8.useState)(false);
567
+ const run = async (apply, value) => {
568
+ setLoading(true);
569
+ try {
570
+ await apply(value);
571
+ } catch {
572
+ }
573
+ setLoading(false);
574
+ };
575
+ return { run, loading };
576
+ }
577
+ function filterActions(actions, { options: options10, inputValue }) {
578
+ return actions.filter((action) => action.condition(options10, inputValue)).map((action, index) => ({
579
+ label: action.label(inputValue),
580
+ value: inputValue,
581
+ group: action.group,
582
+ apply: action.apply,
583
+ condition: action.condition,
584
+ key: index.toString()
585
+ }));
586
+ }
587
+ function isAction(option) {
588
+ return "apply" in option && "condition" in option;
589
+ }
496
590
 
497
591
  // src/components/css-class-selector.tsx
498
592
  var ID = "elementor-css-class-selector";
499
593
  var TAGS_LIMIT = 8;
500
594
  var EMPTY_OPTION = {
501
- label: (0, import_i18n.__)("local", "elementor"),
595
+ label: (0, import_i18n2.__)("local", "elementor"),
502
596
  value: "",
503
597
  fixed: true,
504
598
  color: "primary",
@@ -506,13 +600,14 @@ var EMPTY_OPTION = {
506
600
  };
507
601
  function CssClassSelector() {
508
602
  const options10 = useOptions();
509
- const [appliedIds, setAppliedIds] = useAppliedClassesIds();
603
+ const { value: appliedIds, setValue: setAppliedIds, pushValue: pushAppliedId } = useAppliedClassesIds();
510
604
  const { id: activeId, setId: setActiveId } = useStyle();
605
+ const actions = useCreateActions({ pushAppliedId, setActiveId });
511
606
  const handleApply = useHandleApply(appliedIds, setAppliedIds);
512
607
  const handleActivate = ({ value }) => setActiveId(value);
513
608
  const applied = useAppliedOptions(options10, appliedIds);
514
609
  const active = applied.find((option) => option.value === activeId) ?? EMPTY_OPTION;
515
- return /* @__PURE__ */ React14.createElement(import_ui10.Stack, { gap: 1, p: 2 }, /* @__PURE__ */ React14.createElement(import_ui10.Typography, { component: "label", variant: "caption", htmlFor: ID }, (0, import_i18n.__)("CSS Classes", "elementor")), /* @__PURE__ */ React14.createElement(
610
+ return /* @__PURE__ */ React16.createElement(import_ui10.Stack, { gap: 1, p: 2 }, /* @__PURE__ */ React16.createElement(import_ui10.Typography, { component: "label", variant: "caption", htmlFor: ID }, (0, import_i18n2.__)("CSS Classes", "elementor")), /* @__PURE__ */ React16.createElement(
516
611
  MultiCombobox,
517
612
  {
518
613
  id: ID,
@@ -521,44 +616,104 @@ function CssClassSelector() {
521
616
  selected: applied,
522
617
  onSelect: handleApply,
523
618
  limitTags: TAGS_LIMIT,
524
- optionsLabel: (0, import_i18n.__)("Global CSS Classes", "elementor"),
619
+ actions,
620
+ getLimitTagsText: (more) => /* @__PURE__ */ React16.createElement(import_ui10.Chip, { size: "tiny", variant: "standard", label: `+${more}`, clickable: true }),
525
621
  renderTags: (values, getTagProps) => values.map((value, index) => {
526
622
  const chipProps = getTagProps({ index });
527
623
  const isActive = value.value === active?.value;
528
- return /* @__PURE__ */ React14.createElement(
529
- import_ui10.Chip,
624
+ return /* @__PURE__ */ React16.createElement(
625
+ CssClassItem,
530
626
  {
531
- ...chipProps,
532
627
  key: chipProps.key,
533
- size: "small",
534
- label: /* @__PURE__ */ React14.createElement(ConditionalTooltipWrapper, { maxWidth: "10ch", title: value.label }),
535
- variant: isActive ? "filled" : "standard",
628
+ label: value.label,
629
+ id: value.value,
630
+ isActive,
631
+ isGlobal: value.color === "global",
536
632
  color: isActive && value.color ? value.color : "default",
537
- onClick: () => handleActivate(value),
538
- onDelete: null,
539
- "aria-pressed": isActive
633
+ chipProps,
634
+ onClickActive: () => handleActivate(value)
540
635
  }
541
636
  );
542
637
  })
543
638
  }
544
639
  ));
545
640
  }
641
+ function CssClassItem({ id, label, isActive, isGlobal, color, chipProps, onClickActive }) {
642
+ const { meta } = useStyle();
643
+ const popupId = (0, import_react9.useId)().replace(/:/g, "_");
644
+ const popupState = (0, import_ui10.usePopupState)({ variant: "popover", popupId });
645
+ const chipRef = (0, import_react9.useRef)(null);
646
+ const { onDelete, ...chipGroupProps } = chipProps;
647
+ return /* @__PURE__ */ React16.createElement(CssClassItemProvider, { styleId: id, isActive, isGlobal }, /* @__PURE__ */ React16.createElement(import_ui10.UnstableChipGroup, { ref: chipRef, ...chipGroupProps, "aria-label": `Edit ${label}`, role: "group" }, /* @__PURE__ */ React16.createElement(
648
+ import_ui10.Chip,
649
+ {
650
+ key: chipProps.key,
651
+ size: "tiny",
652
+ label: /* @__PURE__ */ React16.createElement(ConditionalTooltipWrapper, { maxWidth: "10ch", title: label }),
653
+ variant: isActive && !meta.state ? "filled" : "standard",
654
+ color,
655
+ onClick: () => onClickActive(id),
656
+ "aria-pressed": isActive
657
+ }
658
+ ), /* @__PURE__ */ React16.createElement(
659
+ import_ui10.Chip,
660
+ {
661
+ key: `${chipProps.key}-menu`,
662
+ size: "tiny",
663
+ label: /* @__PURE__ */ React16.createElement(import_ui10.Stack, { direction: "row", gap: 0.5, alignItems: "center" }, isActive && meta.state && /* @__PURE__ */ React16.createElement(import_ui10.Typography, { variant: "inherit" }, meta.state), /* @__PURE__ */ React16.createElement(import_icons4.DotsVerticalIcon, { fontSize: "inherit" })),
664
+ variant: "filled",
665
+ color,
666
+ ...(0, import_ui10.bindTrigger)(popupState),
667
+ "aria-label": (0, import_i18n2.__)("Open CSS Class Menu", "elementor")
668
+ }
669
+ )), /* @__PURE__ */ React16.createElement(CssClassMenu, { popupState, containerRef: chipRef }));
670
+ }
546
671
  function useOptions() {
547
672
  const { element } = useElement();
548
- return (0, import_editor_styles_repository.useAllStylesByProvider)({ elementId: element.id }).flatMap(([providerKey, styleDefs]) => {
549
- const isElements = providerKey === import_editor_styles_repository.ELEMENTS_STYLES_PROVIDER_KEY;
550
- if (isElements && styleDefs.length === 0) {
551
- return [EMPTY_OPTION];
673
+ return (0, import_editor_styles_repository.useAllStylesByProvider)({ elementId: element.id }).flatMap(
674
+ ([provider, styleDefs]) => {
675
+ const isElements = provider.key === import_editor_styles_repository.ELEMENTS_STYLES_PROVIDER_KEY;
676
+ if (isElements && styleDefs.length === 0) {
677
+ return [EMPTY_OPTION];
678
+ }
679
+ return styleDefs.map((styleDef) => {
680
+ return {
681
+ label: styleDef.label,
682
+ value: styleDef.id,
683
+ fixed: isElements,
684
+ color: isElements ? "primary" : "global",
685
+ provider: provider.key,
686
+ group: provider.labels?.plural
687
+ };
688
+ });
552
689
  }
553
- return styleDefs.map((styleDef) => {
554
- return {
555
- label: styleDef.label,
556
- value: styleDef.id,
557
- fixed: isElements,
558
- color: isElements ? "primary" : "global",
559
- provider: providerKey
560
- };
561
- });
690
+ );
691
+ }
692
+ function useCreateActions({
693
+ pushAppliedId,
694
+ setActiveId
695
+ }) {
696
+ return (0, import_editor_styles_repository.useCreateActionsByProvider)().map(([provider, create]) => {
697
+ return {
698
+ // translators: %s is the label of the new class.
699
+ label: (value) => (0, import_i18n2.__)('Create new "%s"', "elementor").replace("%s", value),
700
+ apply: async (value) => {
701
+ const created = await create({ label: value });
702
+ if (!created) {
703
+ return;
704
+ }
705
+ pushAppliedId(created.id);
706
+ setActiveId(created.id);
707
+ },
708
+ condition: (options10, inputValue) => {
709
+ const isUniqueLabel = !options10.some(
710
+ (option) => option.label.toLowerCase() === inputValue.toLowerCase()
711
+ );
712
+ return !!inputValue && isUniqueLabel;
713
+ },
714
+ // translators: %s is the singular label of css class provider (e.g "Global CSS Class").
715
+ group: (0, import_i18n2.__)("Create New %s", "elementor").replace("%s", provider.labels?.singular ?? "")
716
+ };
562
717
  });
563
718
  }
564
719
  function useAppliedOptions(options10, appliedIds) {
@@ -583,7 +738,15 @@ function useAppliedClassesIds() {
583
738
  }
584
739
  });
585
740
  };
586
- return [value, setValue];
741
+ const pushValue = (id) => {
742
+ const ids = (0, import_editor_elements2.getElementSetting)(element.id, currentClassesProp)?.value || [];
743
+ setValue([...ids, id]);
744
+ };
745
+ return {
746
+ value,
747
+ setValue,
748
+ pushValue
749
+ };
587
750
  }
588
751
  function useHandleApply(appliedIds, setAppliedIds) {
589
752
  const { id: activeId, setId: setActiveId } = useStyle();
@@ -607,16 +770,17 @@ function useHandleApply(appliedIds, setAppliedIds) {
607
770
  }
608
771
 
609
772
  // src/components/style-sections/background-section/background-section.tsx
610
- var React16 = __toESM(require("react"));
773
+ var React18 = __toESM(require("react"));
611
774
  var import_editor_controls6 = require("@elementor/editor-controls");
612
775
 
613
776
  // src/controls-registry/styles-field.tsx
614
- var React15 = __toESM(require("react"));
777
+ var React17 = __toESM(require("react"));
615
778
  var import_editor_controls5 = require("@elementor/editor-controls");
779
+ var import_editor_styles = require("@elementor/editor-styles");
616
780
 
617
781
  // src/hooks/use-styles-fields.ts
618
782
  var import_editor_elements3 = require("@elementor/editor-elements");
619
- var import_i18n2 = require("@wordpress/i18n");
783
+ var import_i18n3 = require("@wordpress/i18n");
620
784
  function useStylesFields(propNames) {
621
785
  const { element } = useElement();
622
786
  const { id, meta } = useStyle();
@@ -634,7 +798,7 @@ function useStylesFields(propNames) {
634
798
  props: newValues,
635
799
  meta,
636
800
  bind: classesProp,
637
- label: (0, import_i18n2.__)("local", "elementor")
801
+ label: (0, import_i18n3.__)("local", "elementor")
638
802
  });
639
803
  };
640
804
  return [value, setValue];
@@ -655,30 +819,36 @@ function useStylesField(propName) {
655
819
  // src/controls-registry/styles-field.tsx
656
820
  var StylesField = ({ bind, children }) => {
657
821
  const [value, setValue] = useStylesField(bind);
658
- return /* @__PURE__ */ React15.createElement(import_editor_controls5.BoundPropProvider, { setValue, value, bind }, children);
822
+ const stylesSchema = (0, import_editor_styles.getStylesSchema)();
823
+ const propType = createTopLevelOjectType({ schema: stylesSchema });
824
+ const values = { [bind]: value };
825
+ const setValues = (newValue) => {
826
+ setValue(newValue[bind]);
827
+ };
828
+ return /* @__PURE__ */ React17.createElement(import_editor_controls5.PropProvider, { propType, value: values, setValue: setValues }, /* @__PURE__ */ React17.createElement(import_editor_controls5.PropKeyProvider, { bind }, children));
659
829
  };
660
830
 
661
831
  // src/components/style-sections/background-section/background-section.tsx
662
832
  var BackgroundSection = () => {
663
- return /* @__PURE__ */ React16.createElement(StylesField, { bind: "background" }, /* @__PURE__ */ React16.createElement(import_editor_controls6.BackgroundControl, null));
833
+ return /* @__PURE__ */ React18.createElement(StylesField, { bind: "background" }, /* @__PURE__ */ React18.createElement(import_editor_controls6.BackgroundControl, null));
664
834
  };
665
835
 
666
836
  // src/components/style-sections/border-section/border-section.tsx
667
- var React23 = __toESM(require("react"));
837
+ var React25 = __toESM(require("react"));
668
838
  var import_ui14 = require("@elementor/ui");
669
839
 
670
840
  // src/components/style-sections/border-section/border-field.tsx
671
- var React21 = __toESM(require("react"));
672
- var import_i18n6 = require("@wordpress/i18n");
841
+ var React23 = __toESM(require("react"));
842
+ var import_i18n7 = require("@wordpress/i18n");
673
843
 
674
844
  // src/components/add-or-remove-content.tsx
675
- var React17 = __toESM(require("react"));
845
+ var React19 = __toESM(require("react"));
676
846
  var import_editor_controls7 = require("@elementor/editor-controls");
677
- var import_icons3 = require("@elementor/icons");
847
+ var import_icons5 = require("@elementor/icons");
678
848
  var import_ui11 = require("@elementor/ui");
679
849
  var SIZE2 = "tiny";
680
850
  var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
681
- return /* @__PURE__ */ React17.createElement(import_ui11.Stack, { gap: 1.5 }, /* @__PURE__ */ React17.createElement(
851
+ return /* @__PURE__ */ React19.createElement(import_ui11.Stack, { gap: 1.5 }, /* @__PURE__ */ React19.createElement(
682
852
  import_ui11.Stack,
683
853
  {
684
854
  direction: "row",
@@ -687,86 +857,82 @@ var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
687
857
  alignItems: "center"
688
858
  }
689
859
  },
690
- /* @__PURE__ */ React17.createElement(import_editor_controls7.ControlLabel, null, label),
691
- isAdded ? /* @__PURE__ */ React17.createElement(import_ui11.IconButton, { size: SIZE2, onClick: onRemove }, /* @__PURE__ */ React17.createElement(import_icons3.MinusIcon, { fontSize: SIZE2 })) : /* @__PURE__ */ React17.createElement(import_ui11.IconButton, { size: SIZE2, onClick: onAdd }, /* @__PURE__ */ React17.createElement(import_icons3.PlusIcon, { fontSize: SIZE2 }))
692
- ), /* @__PURE__ */ React17.createElement(import_ui11.Collapse, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React17.createElement(import_ui11.Stack, { gap: 1.5 }, children)));
860
+ /* @__PURE__ */ React19.createElement(import_editor_controls7.ControlLabel, null, label),
861
+ isAdded ? /* @__PURE__ */ React19.createElement(import_ui11.IconButton, { size: SIZE2, onClick: onRemove }, /* @__PURE__ */ React19.createElement(import_icons5.MinusIcon, { fontSize: SIZE2 })) : /* @__PURE__ */ React19.createElement(import_ui11.IconButton, { size: SIZE2, onClick: onAdd }, /* @__PURE__ */ React19.createElement(import_icons5.PlusIcon, { fontSize: SIZE2 }))
862
+ ), /* @__PURE__ */ React19.createElement(import_ui11.Collapse, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React19.createElement(import_ui11.Stack, { gap: 1.5 }, children)));
693
863
  };
694
864
 
695
865
  // src/components/style-sections/border-section/border-color-field.tsx
696
- var React18 = __toESM(require("react"));
866
+ var React20 = __toESM(require("react"));
697
867
  var import_editor_controls8 = require("@elementor/editor-controls");
698
868
  var import_ui12 = require("@elementor/ui");
699
- var import_i18n3 = require("@wordpress/i18n");
869
+ var import_i18n4 = require("@wordpress/i18n");
700
870
  var BorderColorField = () => {
701
- return /* @__PURE__ */ React18.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React18.createElement(import_ui12.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React18.createElement(import_ui12.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React18.createElement(import_editor_controls8.ControlLabel, null, (0, import_i18n3.__)("Border Color", "elementor"))), /* @__PURE__ */ React18.createElement(import_ui12.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React18.createElement(import_editor_controls8.ColorControl, null))));
871
+ return /* @__PURE__ */ React20.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React20.createElement(import_ui12.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React20.createElement(import_ui12.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React20.createElement(import_editor_controls8.ControlLabel, null, (0, import_i18n4.__)("Border Color", "elementor"))), /* @__PURE__ */ React20.createElement(import_ui12.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React20.createElement(import_editor_controls8.ColorControl, null))));
702
872
  };
703
873
 
704
874
  // src/components/style-sections/border-section/border-style-field.tsx
705
- var React19 = __toESM(require("react"));
875
+ var React21 = __toESM(require("react"));
706
876
  var import_editor_controls9 = require("@elementor/editor-controls");
707
877
  var import_ui13 = require("@elementor/ui");
708
- var import_i18n4 = require("@wordpress/i18n");
878
+ var import_i18n5 = require("@wordpress/i18n");
709
879
  var borderStyles = [
710
- { value: "none", label: (0, import_i18n4.__)("None", "elementor") },
711
- { value: "solid", label: (0, import_i18n4.__)("Solid", "elementor") },
712
- { value: "dashed", label: (0, import_i18n4.__)("Dashed", "elementor") },
713
- { value: "dotted", label: (0, import_i18n4.__)("Dotted", "elementor") },
714
- { value: "double", label: (0, import_i18n4.__)("Double", "elementor") },
715
- { value: "groove", label: (0, import_i18n4.__)("Groove", "elementor") },
716
- { value: "ridge", label: (0, import_i18n4.__)("Ridge", "elementor") },
717
- { value: "inset", label: (0, import_i18n4.__)("Inset", "elementor") },
718
- { value: "outset", label: (0, import_i18n4.__)("Outset", "elementor") }
880
+ { value: "none", label: (0, import_i18n5.__)("None", "elementor") },
881
+ { value: "solid", label: (0, import_i18n5.__)("Solid", "elementor") },
882
+ { value: "dashed", label: (0, import_i18n5.__)("Dashed", "elementor") },
883
+ { value: "dotted", label: (0, import_i18n5.__)("Dotted", "elementor") },
884
+ { value: "double", label: (0, import_i18n5.__)("Double", "elementor") },
885
+ { value: "groove", label: (0, import_i18n5.__)("Groove", "elementor") },
886
+ { value: "ridge", label: (0, import_i18n5.__)("Ridge", "elementor") },
887
+ { value: "inset", label: (0, import_i18n5.__)("Inset", "elementor") },
888
+ { value: "outset", label: (0, import_i18n5.__)("Outset", "elementor") }
719
889
  ];
720
890
  var BorderStyleField = () => {
721
- return /* @__PURE__ */ React19.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React19.createElement(import_ui13.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React19.createElement(import_ui13.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React19.createElement(import_editor_controls9.ControlLabel, null, (0, import_i18n4.__)("Border Type", "elementor"))), /* @__PURE__ */ React19.createElement(import_ui13.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React19.createElement(import_editor_controls9.SelectControl, { options: borderStyles }))));
891
+ return /* @__PURE__ */ React21.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React21.createElement(import_ui13.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React21.createElement(import_ui13.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React21.createElement(import_editor_controls9.ControlLabel, null, (0, import_i18n5.__)("Border Type", "elementor"))), /* @__PURE__ */ React21.createElement(import_ui13.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React21.createElement(import_editor_controls9.SelectControl, { options: borderStyles }))));
722
892
  };
723
893
 
724
894
  // src/components/style-sections/border-section/border-width-field.tsx
725
- var React20 = __toESM(require("react"));
895
+ var React22 = __toESM(require("react"));
726
896
  var import_editor_controls10 = require("@elementor/editor-controls");
727
897
  var import_editor_props2 = require("@elementor/editor-props");
728
- var import_icons4 = require("@elementor/icons");
729
- var import_i18n5 = require("@wordpress/i18n");
898
+ var import_icons6 = require("@elementor/icons");
899
+ var import_i18n6 = require("@wordpress/i18n");
730
900
  var edges = [
731
901
  {
732
- label: (0, import_i18n5.__)("Top", "elementor"),
733
- icon: /* @__PURE__ */ React20.createElement(import_icons4.SideTopIcon, { fontSize: "tiny" }),
902
+ label: (0, import_i18n6.__)("Top", "elementor"),
903
+ icon: /* @__PURE__ */ React22.createElement(import_icons6.SideTopIcon, { fontSize: "tiny" }),
734
904
  bind: "top"
735
905
  },
736
906
  {
737
- label: (0, import_i18n5.__)("Right", "elementor"),
738
- icon: /* @__PURE__ */ React20.createElement(import_icons4.SideRightIcon, { fontSize: "tiny" }),
907
+ label: (0, import_i18n6.__)("Right", "elementor"),
908
+ icon: /* @__PURE__ */ React22.createElement(import_icons6.SideRightIcon, { fontSize: "tiny" }),
739
909
  bind: "right"
740
910
  },
741
911
  {
742
- label: (0, import_i18n5.__)("Bottom", "elementor"),
743
- icon: /* @__PURE__ */ React20.createElement(import_icons4.SideBottomIcon, { fontSize: "tiny" }),
912
+ label: (0, import_i18n6.__)("Bottom", "elementor"),
913
+ icon: /* @__PURE__ */ React22.createElement(import_icons6.SideBottomIcon, { fontSize: "tiny" }),
744
914
  bind: "bottom"
745
915
  },
746
916
  {
747
- label: (0, import_i18n5.__)("Left", "elementor"),
748
- icon: /* @__PURE__ */ React20.createElement(import_icons4.SideLeftIcon, { fontSize: "tiny" }),
917
+ label: (0, import_i18n6.__)("Left", "elementor"),
918
+ icon: /* @__PURE__ */ React22.createElement(import_icons6.SideLeftIcon, { fontSize: "tiny" }),
749
919
  bind: "left"
750
920
  }
751
921
  ];
752
922
  var BorderWidthField = () => {
753
- return /* @__PURE__ */ React20.createElement(StylesField, { bind: "border-width" }, /* @__PURE__ */ React20.createElement(
923
+ return /* @__PURE__ */ React22.createElement(StylesField, { bind: "border-width" }, /* @__PURE__ */ React22.createElement(
754
924
  import_editor_controls10.EqualUnequalSizesControl,
755
925
  {
756
926
  items: edges,
757
- label: (0, import_i18n5.__)("Border Width", "elementor"),
758
- icon: /* @__PURE__ */ React20.createElement(import_icons4.SideAllIcon, { fontSize: "tiny" }),
927
+ label: (0, import_i18n6.__)("Border Width", "elementor"),
928
+ icon: /* @__PURE__ */ React22.createElement(import_icons6.SideAllIcon, { fontSize: "tiny" }),
759
929
  multiSizePropTypeUtil: import_editor_props2.borderWidthPropTypeUtil
760
930
  }
761
931
  ));
762
932
  };
763
933
 
764
934
  // src/components/style-sections/border-section/border-field.tsx
765
- var initialSize = { $$type: "size", value: { size: 1, unit: "px" } };
766
- var initialBorderWidth = {
767
- $$type: "border-width",
768
- value: { top: initialSize, right: initialSize, bottom: initialSize, left: initialSize }
769
- };
935
+ var initialBorderWidth = { $$type: "size", value: { size: 1, unit: "px" } };
770
936
  var initialBorderColor = { $$type: "color", value: "#000000" };
771
937
  var initialBorderStyle = "solid";
772
938
  var BorderField = () => {
@@ -784,77 +950,77 @@ var BorderField = () => {
784
950
  setBorderStyle(null);
785
951
  };
786
952
  const hasBorder = Boolean(borderWidth || borderColor || borderStyle);
787
- return /* @__PURE__ */ React21.createElement(
953
+ return /* @__PURE__ */ React23.createElement(
788
954
  AddOrRemoveContent,
789
955
  {
790
- label: (0, import_i18n6.__)("Border", "elementor"),
956
+ label: (0, import_i18n7.__)("Border", "elementor"),
791
957
  isAdded: hasBorder,
792
958
  onAdd: addBorder,
793
959
  onRemove: removeBorder
794
960
  },
795
- /* @__PURE__ */ React21.createElement(BorderWidthField, null),
796
- /* @__PURE__ */ React21.createElement(BorderColorField, null),
797
- /* @__PURE__ */ React21.createElement(BorderStyleField, null)
961
+ /* @__PURE__ */ React23.createElement(BorderWidthField, null),
962
+ /* @__PURE__ */ React23.createElement(BorderColorField, null),
963
+ /* @__PURE__ */ React23.createElement(BorderStyleField, null)
798
964
  );
799
965
  };
800
966
 
801
967
  // src/components/style-sections/border-section/border-radius-field.tsx
802
- var React22 = __toESM(require("react"));
968
+ var React24 = __toESM(require("react"));
803
969
  var import_editor_controls11 = require("@elementor/editor-controls");
804
970
  var import_editor_props3 = require("@elementor/editor-props");
805
- var import_icons5 = require("@elementor/icons");
806
- var import_i18n7 = require("@wordpress/i18n");
971
+ var import_icons7 = require("@elementor/icons");
972
+ var import_i18n8 = require("@wordpress/i18n");
807
973
  var corners = [
808
974
  {
809
- label: (0, import_i18n7.__)("Top Left", "elementor"),
810
- icon: /* @__PURE__ */ React22.createElement(import_icons5.RadiusTopLeftIcon, { fontSize: "tiny" }),
975
+ label: (0, import_i18n8.__)("Top Left", "elementor"),
976
+ icon: /* @__PURE__ */ React24.createElement(import_icons7.RadiusTopLeftIcon, { fontSize: "tiny" }),
811
977
  bind: "top-left"
812
978
  },
813
979
  {
814
- label: (0, import_i18n7.__)("Top Right", "elementor"),
815
- icon: /* @__PURE__ */ React22.createElement(import_icons5.RadiusTopRightIcon, { fontSize: "tiny" }),
980
+ label: (0, import_i18n8.__)("Top Right", "elementor"),
981
+ icon: /* @__PURE__ */ React24.createElement(import_icons7.RadiusTopRightIcon, { fontSize: "tiny" }),
816
982
  bind: "top-right"
817
983
  },
818
984
  {
819
- label: (0, import_i18n7.__)("Bottom Right", "elementor"),
820
- icon: /* @__PURE__ */ React22.createElement(import_icons5.RadiusBottomRightIcon, { fontSize: "tiny" }),
985
+ label: (0, import_i18n8.__)("Bottom Right", "elementor"),
986
+ icon: /* @__PURE__ */ React24.createElement(import_icons7.RadiusBottomRightIcon, { fontSize: "tiny" }),
821
987
  bind: "bottom-right"
822
988
  },
823
989
  {
824
- label: (0, import_i18n7.__)("Bottom Left", "elementor"),
825
- icon: /* @__PURE__ */ React22.createElement(import_icons5.RadiusBottomLeftIcon, { fontSize: "tiny" }),
990
+ label: (0, import_i18n8.__)("Bottom Left", "elementor"),
991
+ icon: /* @__PURE__ */ React24.createElement(import_icons7.RadiusBottomLeftIcon, { fontSize: "tiny" }),
826
992
  bind: "bottom-left"
827
993
  }
828
994
  ];
829
995
  var BorderRadiusField = () => {
830
- return /* @__PURE__ */ React22.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React22.createElement(
996
+ return /* @__PURE__ */ React24.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React24.createElement(
831
997
  import_editor_controls11.EqualUnequalSizesControl,
832
998
  {
833
999
  items: corners,
834
- label: (0, import_i18n7.__)("Border Radius", "elementor"),
835
- icon: /* @__PURE__ */ React22.createElement(import_icons5.BorderCornersIcon, { fontSize: "tiny" }),
1000
+ label: (0, import_i18n8.__)("Border Radius", "elementor"),
1001
+ icon: /* @__PURE__ */ React24.createElement(import_icons7.BorderCornersIcon, { fontSize: "tiny" }),
836
1002
  multiSizePropTypeUtil: import_editor_props3.borderRadiusPropTypeUtil
837
1003
  }
838
1004
  ));
839
1005
  };
840
1006
 
841
1007
  // src/components/style-sections/border-section/border-section.tsx
842
- var BorderSection = () => /* @__PURE__ */ React23.createElement(import_ui14.Stack, { gap: 1.5 }, /* @__PURE__ */ React23.createElement(BorderRadiusField, null), /* @__PURE__ */ React23.createElement(import_ui14.Divider, null), /* @__PURE__ */ React23.createElement(BorderField, null));
1008
+ var BorderSection = () => /* @__PURE__ */ React25.createElement(import_ui14.Stack, { gap: 1.5 }, /* @__PURE__ */ React25.createElement(BorderRadiusField, null), /* @__PURE__ */ React25.createElement(import_ui14.Divider, null), /* @__PURE__ */ React25.createElement(BorderField, null));
843
1009
 
844
1010
  // src/components/style-sections/effects-section/effects-section.tsx
845
- var React24 = __toESM(require("react"));
1011
+ var React26 = __toESM(require("react"));
846
1012
  var import_editor_controls12 = require("@elementor/editor-controls");
847
1013
  var import_ui15 = require("@elementor/ui");
848
1014
  var EffectsSection = () => {
849
- return /* @__PURE__ */ React24.createElement(import_ui15.Stack, { gap: 1.5 }, /* @__PURE__ */ React24.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React24.createElement(import_editor_controls12.BoxShadowRepeaterControl, null)));
1015
+ return /* @__PURE__ */ React26.createElement(import_ui15.Stack, { gap: 1.5 }, /* @__PURE__ */ React26.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React26.createElement(import_editor_controls12.BoxShadowRepeaterControl, null)));
850
1016
  };
851
1017
 
852
1018
  // src/components/style-sections/layout-section/layout-section.tsx
853
- var React35 = __toESM(require("react"));
1019
+ var React37 = __toESM(require("react"));
854
1020
  var import_editor_controls22 = require("@elementor/editor-controls");
855
1021
  var import_editor_elements4 = require("@elementor/editor-elements");
856
1022
  var import_ui27 = require("@elementor/ui");
857
- var import_i18n17 = require("@wordpress/i18n");
1023
+ var import_i18n18 = require("@wordpress/i18n");
858
1024
 
859
1025
  // src/hooks/use-computed-style.ts
860
1026
  var import_editor_v1_adapters = require("@elementor/editor-v1-adapters");
@@ -882,11 +1048,11 @@ function useComputedStyle(elementId) {
882
1048
  }
883
1049
 
884
1050
  // src/components/style-sections/layout-section/align-items-field.tsx
885
- var React26 = __toESM(require("react"));
1051
+ var React28 = __toESM(require("react"));
886
1052
  var import_editor_controls13 = require("@elementor/editor-controls");
887
- var import_icons6 = require("@elementor/icons");
1053
+ var import_icons8 = require("@elementor/icons");
888
1054
  var import_ui18 = require("@elementor/ui");
889
- var import_i18n8 = require("@wordpress/i18n");
1055
+ var import_i18n9 = require("@wordpress/i18n");
890
1056
 
891
1057
  // src/hooks/use-direction.ts
892
1058
  var import_ui16 = require("@elementor/ui");
@@ -897,8 +1063,8 @@ function useDirection() {
897
1063
  }
898
1064
 
899
1065
  // src/components/style-sections/layout-section/utils/rotated-icon.tsx
900
- var React25 = __toESM(require("react"));
901
- var import_react7 = require("react");
1066
+ var React27 = __toESM(require("react"));
1067
+ var import_react10 = require("react");
902
1068
  var import_ui17 = require("@elementor/ui");
903
1069
  var CLOCKWISE_ANGLES = {
904
1070
  row: 0,
@@ -913,9 +1079,9 @@ var COUNTER_CLOCKWISE_ANGLES = {
913
1079
  "column-reverse": -270
914
1080
  };
915
1081
  var RotatedIcon = ({ icon: Icon, size, isClockwise = true, offset = 0 }) => {
916
- const rotate = (0, import_react7.useRef)(useGetTargetAngle(isClockwise, offset));
1082
+ const rotate = (0, import_react10.useRef)(useGetTargetAngle(isClockwise, offset));
917
1083
  rotate.current = useGetTargetAngle(isClockwise, offset, rotate);
918
- return /* @__PURE__ */ React25.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
1084
+ return /* @__PURE__ */ React27.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
919
1085
  };
920
1086
  var useGetTargetAngle = (isClockwise, offset, existingRef) => {
921
1087
  const [direction] = useStylesField("flex-direction");
@@ -930,8 +1096,8 @@ var useGetTargetAngle = (isClockwise, offset, existingRef) => {
930
1096
  };
931
1097
 
932
1098
  // src/components/style-sections/layout-section/align-items-field.tsx
933
- var StartIcon = (0, import_ui18.withDirection)(import_icons6.LayoutAlignLeftIcon);
934
- var EndIcon = (0, import_ui18.withDirection)(import_icons6.LayoutAlignRightIcon);
1099
+ var StartIcon = (0, import_ui18.withDirection)(import_icons8.LayoutAlignLeftIcon);
1100
+ var EndIcon = (0, import_ui18.withDirection)(import_icons8.LayoutAlignRightIcon);
935
1101
  var iconProps = {
936
1102
  isClockwise: false,
937
1103
  offset: 90
@@ -939,42 +1105,42 @@ var iconProps = {
939
1105
  var options = [
940
1106
  {
941
1107
  value: "start",
942
- label: (0, import_i18n8.__)("Start", "elementor"),
943
- renderContent: ({ size }) => /* @__PURE__ */ React26.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
1108
+ label: (0, import_i18n9.__)("Start", "elementor"),
1109
+ renderContent: ({ size }) => /* @__PURE__ */ React28.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
944
1110
  showTooltip: true
945
1111
  },
946
1112
  {
947
1113
  value: "center",
948
- label: (0, import_i18n8.__)("Center", "elementor"),
949
- renderContent: ({ size }) => /* @__PURE__ */ React26.createElement(RotatedIcon, { icon: import_icons6.LayoutAlignCenterIcon, size, ...iconProps }),
1114
+ label: (0, import_i18n9.__)("Center", "elementor"),
1115
+ renderContent: ({ size }) => /* @__PURE__ */ React28.createElement(RotatedIcon, { icon: import_icons8.LayoutAlignCenterIcon, size, ...iconProps }),
950
1116
  showTooltip: true
951
1117
  },
952
1118
  {
953
1119
  value: "end",
954
- label: (0, import_i18n8.__)("End", "elementor"),
955
- renderContent: ({ size }) => /* @__PURE__ */ React26.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
1120
+ label: (0, import_i18n9.__)("End", "elementor"),
1121
+ renderContent: ({ size }) => /* @__PURE__ */ React28.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
956
1122
  showTooltip: true
957
1123
  },
958
1124
  {
959
1125
  value: "stretch",
960
- label: (0, import_i18n8.__)("Stretch", "elementor"),
961
- renderContent: ({ size }) => /* @__PURE__ */ React26.createElement(RotatedIcon, { icon: import_icons6.LayoutDistributeVerticalIcon, size, ...iconProps }),
1126
+ label: (0, import_i18n9.__)("Stretch", "elementor"),
1127
+ renderContent: ({ size }) => /* @__PURE__ */ React28.createElement(RotatedIcon, { icon: import_icons8.LayoutDistributeVerticalIcon, size, ...iconProps }),
962
1128
  showTooltip: true
963
1129
  }
964
1130
  ];
965
1131
  var AlignItemsField = () => {
966
1132
  const { isSiteRtl } = useDirection();
967
- return /* @__PURE__ */ React26.createElement(import_ui18.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React26.createElement(import_ui18.ThemeProvider, null, /* @__PURE__ */ React26.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React26.createElement(import_ui18.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React26.createElement(import_ui18.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React26.createElement(import_editor_controls13.ControlLabel, null, (0, import_i18n8.__)("Align items", "elementor"))), /* @__PURE__ */ React26.createElement(import_ui18.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React26.createElement(import_editor_controls13.ToggleControl, { options }))))));
1133
+ return /* @__PURE__ */ React28.createElement(import_ui18.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React28.createElement(import_ui18.ThemeProvider, null, /* @__PURE__ */ React28.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React28.createElement(import_ui18.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React28.createElement(import_ui18.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React28.createElement(import_editor_controls13.ControlLabel, null, (0, import_i18n9.__)("Align items", "elementor"))), /* @__PURE__ */ React28.createElement(import_ui18.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React28.createElement(import_editor_controls13.ToggleControl, { options }))))));
968
1134
  };
969
1135
 
970
1136
  // src/components/style-sections/layout-section/align-self-child-field.tsx
971
- var React27 = __toESM(require("react"));
1137
+ var React29 = __toESM(require("react"));
972
1138
  var import_editor_controls14 = require("@elementor/editor-controls");
973
- var import_icons7 = require("@elementor/icons");
1139
+ var import_icons9 = require("@elementor/icons");
974
1140
  var import_ui19 = require("@elementor/ui");
975
- var import_i18n9 = require("@wordpress/i18n");
976
- var StartIcon2 = (0, import_ui19.withDirection)(import_icons7.LayoutAlignLeftIcon);
977
- var EndIcon2 = (0, import_ui19.withDirection)(import_icons7.LayoutAlignRightIcon);
1141
+ var import_i18n10 = require("@wordpress/i18n");
1142
+ var StartIcon2 = (0, import_ui19.withDirection)(import_icons9.LayoutAlignLeftIcon);
1143
+ var EndIcon2 = (0, import_ui19.withDirection)(import_icons9.LayoutAlignRightIcon);
978
1144
  var iconProps2 = {
979
1145
  isClockwise: false,
980
1146
  offset: 90
@@ -982,105 +1148,105 @@ var iconProps2 = {
982
1148
  var options2 = [
983
1149
  {
984
1150
  value: "start",
985
- label: (0, import_i18n9.__)("Start", "elementor"),
986
- renderContent: ({ size }) => /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
1151
+ label: (0, import_i18n10.__)("Start", "elementor"),
1152
+ renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
987
1153
  showTooltip: true
988
1154
  },
989
1155
  {
990
1156
  value: "center",
991
- label: (0, import_i18n9.__)("Center", "elementor"),
992
- renderContent: ({ size }) => /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: import_icons7.LayoutAlignCenterIcon, size, ...iconProps2 }),
1157
+ label: (0, import_i18n10.__)("Center", "elementor"),
1158
+ renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: import_icons9.LayoutAlignCenterIcon, size, ...iconProps2 }),
993
1159
  showTooltip: true
994
1160
  },
995
1161
  {
996
1162
  value: "end",
997
- label: (0, import_i18n9.__)("End", "elementor"),
998
- renderContent: ({ size }) => /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
1163
+ label: (0, import_i18n10.__)("End", "elementor"),
1164
+ renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
999
1165
  showTooltip: true
1000
1166
  },
1001
1167
  {
1002
1168
  value: "stretch",
1003
- label: (0, import_i18n9.__)("Stretch", "elementor"),
1004
- renderContent: ({ size }) => /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: import_icons7.LayoutDistributeVerticalIcon, size, ...iconProps2 }),
1169
+ label: (0, import_i18n10.__)("Stretch", "elementor"),
1170
+ renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: import_icons9.LayoutDistributeVerticalIcon, size, ...iconProps2 }),
1005
1171
  showTooltip: true
1006
1172
  }
1007
1173
  ];
1008
1174
  var AlignSelfChild = () => {
1009
1175
  const { isSiteRtl } = useDirection();
1010
- return /* @__PURE__ */ React27.createElement(import_ui19.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React27.createElement(import_ui19.ThemeProvider, null, /* @__PURE__ */ React27.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React27.createElement(import_ui19.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React27.createElement(import_ui19.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React27.createElement(import_editor_controls14.ControlLabel, null, (0, import_i18n9.__)("Align self", "elementor"))), /* @__PURE__ */ React27.createElement(import_ui19.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React27.createElement(import_editor_controls14.ToggleControl, { options: options2 }))))));
1176
+ return /* @__PURE__ */ React29.createElement(import_ui19.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React29.createElement(import_ui19.ThemeProvider, null, /* @__PURE__ */ React29.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React29.createElement(import_ui19.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React29.createElement(import_ui19.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React29.createElement(import_editor_controls14.ControlLabel, null, (0, import_i18n10.__)("Align self", "elementor"))), /* @__PURE__ */ React29.createElement(import_ui19.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React29.createElement(import_editor_controls14.ToggleControl, { options: options2 }))))));
1011
1177
  };
1012
1178
 
1013
1179
  // src/components/style-sections/layout-section/display-field.tsx
1014
- var React28 = __toESM(require("react"));
1180
+ var React30 = __toESM(require("react"));
1015
1181
  var import_editor_controls15 = require("@elementor/editor-controls");
1016
1182
  var import_ui20 = require("@elementor/ui");
1017
- var import_i18n10 = require("@wordpress/i18n");
1183
+ var import_i18n11 = require("@wordpress/i18n");
1018
1184
  var DisplayField = () => {
1019
1185
  const options10 = [
1020
1186
  {
1021
1187
  value: "block",
1022
- renderContent: () => (0, import_i18n10.__)("Block", "elementor"),
1023
- label: (0, import_i18n10.__)("Block", "elementor")
1188
+ renderContent: () => (0, import_i18n11.__)("Block", "elementor"),
1189
+ label: (0, import_i18n11.__)("Block", "elementor")
1024
1190
  },
1025
1191
  {
1026
1192
  value: "flex",
1027
- renderContent: () => (0, import_i18n10.__)("Flex", "elementor"),
1028
- label: (0, import_i18n10.__)("Flex", "elementor")
1193
+ renderContent: () => (0, import_i18n11.__)("Flex", "elementor"),
1194
+ label: (0, import_i18n11.__)("Flex", "elementor")
1029
1195
  }
1030
1196
  ];
1031
- return /* @__PURE__ */ React28.createElement(StylesField, { bind: "display" }, /* @__PURE__ */ React28.createElement(import_ui20.Stack, { gap: 1 }, /* @__PURE__ */ React28.createElement(import_editor_controls15.ControlLabel, null, (0, import_i18n10.__)("Display", "elementor")), /* @__PURE__ */ React28.createElement(import_editor_controls15.ToggleControl, { options: options10, fullWidth: true })));
1197
+ return /* @__PURE__ */ React30.createElement(StylesField, { bind: "display" }, /* @__PURE__ */ React30.createElement(import_ui20.Stack, { gap: 1 }, /* @__PURE__ */ React30.createElement(import_editor_controls15.ControlLabel, null, (0, import_i18n11.__)("Display", "elementor")), /* @__PURE__ */ React30.createElement(import_editor_controls15.ToggleControl, { options: options10, fullWidth: true })));
1032
1198
  };
1033
1199
 
1034
1200
  // src/components/style-sections/layout-section/flex-direction-field.tsx
1035
- var React29 = __toESM(require("react"));
1201
+ var React31 = __toESM(require("react"));
1036
1202
  var import_editor_controls16 = require("@elementor/editor-controls");
1037
- var import_icons8 = require("@elementor/icons");
1203
+ var import_icons10 = require("@elementor/icons");
1038
1204
  var import_ui21 = require("@elementor/ui");
1039
- var import_i18n11 = require("@wordpress/i18n");
1205
+ var import_i18n12 = require("@wordpress/i18n");
1040
1206
  var options3 = [
1041
1207
  {
1042
1208
  value: "row",
1043
- label: (0, import_i18n11.__)("Row", "elementor"),
1209
+ label: (0, import_i18n12.__)("Row", "elementor"),
1044
1210
  renderContent: ({ size }) => {
1045
- const StartIcon4 = (0, import_ui21.withDirection)(import_icons8.ArrowRightIcon);
1046
- return /* @__PURE__ */ React29.createElement(StartIcon4, { fontSize: size });
1211
+ const StartIcon4 = (0, import_ui21.withDirection)(import_icons10.ArrowRightIcon);
1212
+ return /* @__PURE__ */ React31.createElement(StartIcon4, { fontSize: size });
1047
1213
  },
1048
1214
  showTooltip: true
1049
1215
  },
1050
1216
  {
1051
1217
  value: "column",
1052
- label: (0, import_i18n11.__)("Column", "elementor"),
1053
- renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(import_icons8.ArrowDownSmallIcon, { fontSize: size }),
1218
+ label: (0, import_i18n12.__)("Column", "elementor"),
1219
+ renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(import_icons10.ArrowDownSmallIcon, { fontSize: size }),
1054
1220
  showTooltip: true
1055
1221
  },
1056
1222
  {
1057
1223
  value: "row-reverse",
1058
- label: (0, import_i18n11.__)("Reversed row", "elementor"),
1224
+ label: (0, import_i18n12.__)("Reversed row", "elementor"),
1059
1225
  renderContent: ({ size }) => {
1060
- const EndIcon4 = (0, import_ui21.withDirection)(import_icons8.ArrowLeftIcon);
1061
- return /* @__PURE__ */ React29.createElement(EndIcon4, { fontSize: size });
1226
+ const EndIcon4 = (0, import_ui21.withDirection)(import_icons10.ArrowLeftIcon);
1227
+ return /* @__PURE__ */ React31.createElement(EndIcon4, { fontSize: size });
1062
1228
  },
1063
1229
  showTooltip: true
1064
1230
  },
1065
1231
  {
1066
1232
  value: "column-reverse",
1067
- label: (0, import_i18n11.__)("Reversed column", "elementor"),
1068
- renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(import_icons8.ArrowUpSmallIcon, { fontSize: size }),
1233
+ label: (0, import_i18n12.__)("Reversed column", "elementor"),
1234
+ renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(import_icons10.ArrowUpSmallIcon, { fontSize: size }),
1069
1235
  showTooltip: true
1070
1236
  }
1071
1237
  ];
1072
1238
  var FlexDirectionField = () => {
1073
1239
  const { isSiteRtl } = useDirection();
1074
- return /* @__PURE__ */ React29.createElement(import_ui21.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React29.createElement(import_ui21.ThemeProvider, null, /* @__PURE__ */ React29.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React29.createElement(import_ui21.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React29.createElement(import_ui21.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React29.createElement(import_editor_controls16.ControlLabel, null, (0, import_i18n11.__)("Direction", "elementor"))), /* @__PURE__ */ React29.createElement(import_ui21.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React29.createElement(import_editor_controls16.ToggleControl, { options: options3 }))))));
1240
+ return /* @__PURE__ */ React31.createElement(import_ui21.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React31.createElement(import_ui21.ThemeProvider, null, /* @__PURE__ */ React31.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React31.createElement(import_ui21.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React31.createElement(import_ui21.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React31.createElement(import_editor_controls16.ControlLabel, null, (0, import_i18n12.__)("Direction", "elementor"))), /* @__PURE__ */ React31.createElement(import_ui21.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React31.createElement(import_editor_controls16.ToggleControl, { options: options3 }))))));
1075
1241
  };
1076
1242
 
1077
1243
  // src/components/style-sections/layout-section/flex-order-field.tsx
1078
- var React30 = __toESM(require("react"));
1079
- var import_react8 = require("react");
1244
+ var React32 = __toESM(require("react"));
1245
+ var import_react11 = require("react");
1080
1246
  var import_editor_controls17 = require("@elementor/editor-controls");
1081
- var import_icons9 = require("@elementor/icons");
1247
+ var import_icons11 = require("@elementor/icons");
1082
1248
  var import_ui22 = require("@elementor/ui");
1083
- var import_i18n12 = require("@wordpress/i18n");
1249
+ var import_i18n13 = require("@wordpress/i18n");
1084
1250
  var FIRST_DEFAULT_VALUE = -99999;
1085
1251
  var LAST_DEFAULT_VALUE = 99999;
1086
1252
  var FIRST = "first";
@@ -1093,26 +1259,26 @@ var orderValueMap = {
1093
1259
  var items = [
1094
1260
  {
1095
1261
  value: FIRST,
1096
- label: (0, import_i18n12.__)("First", "elementor"),
1097
- renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(import_icons9.ArrowUpSmallIcon, { fontSize: size }),
1262
+ label: (0, import_i18n13.__)("First", "elementor"),
1263
+ renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(import_icons11.ArrowUpSmallIcon, { fontSize: size }),
1098
1264
  showTooltip: true
1099
1265
  },
1100
1266
  {
1101
1267
  value: LAST,
1102
- label: (0, import_i18n12.__)("Last", "elementor"),
1103
- renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(import_icons9.ArrowDownSmallIcon, { fontSize: size }),
1268
+ label: (0, import_i18n13.__)("Last", "elementor"),
1269
+ renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(import_icons11.ArrowDownSmallIcon, { fontSize: size }),
1104
1270
  showTooltip: true
1105
1271
  },
1106
1272
  {
1107
1273
  value: CUSTOM,
1108
- label: (0, import_i18n12.__)("Custom", "elementor"),
1109
- renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(import_icons9.PencilIcon, { fontSize: size }),
1274
+ label: (0, import_i18n13.__)("Custom", "elementor"),
1275
+ renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(import_icons11.PencilIcon, { fontSize: size }),
1110
1276
  showTooltip: true
1111
1277
  }
1112
1278
  ];
1113
1279
  var FlexOrderField = () => {
1114
1280
  const { isSiteRtl } = useDirection(), [order, setOrder] = useStylesField("order");
1115
- const [groupControlValue, setGroupControlValue] = (0, import_react8.useState)(getGroupControlValue(order?.value || null));
1281
+ const [groupControlValue, setGroupControlValue] = (0, import_react11.useState)(getGroupControlValue(order?.value || null));
1116
1282
  const handleToggleButtonChange = (group) => {
1117
1283
  setGroupControlValue(group);
1118
1284
  if (!group || group === CUSTOM) {
@@ -1121,7 +1287,7 @@ var FlexOrderField = () => {
1121
1287
  }
1122
1288
  setOrder({ $$type: "number", value: orderValueMap[group] });
1123
1289
  };
1124
- return /* @__PURE__ */ React30.createElement(import_ui22.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React30.createElement(import_ui22.ThemeProvider, null, /* @__PURE__ */ React30.createElement(import_ui22.Stack, { gap: 2 }, /* @__PURE__ */ React30.createElement(import_ui22.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React30.createElement(import_ui22.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React30.createElement(import_editor_controls17.ControlLabel, null, (0, import_i18n12.__)("Order", "elementor"))), /* @__PURE__ */ React30.createElement(import_ui22.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React30.createElement(
1290
+ return /* @__PURE__ */ React32.createElement(import_ui22.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React32.createElement(import_ui22.ThemeProvider, null, /* @__PURE__ */ React32.createElement(import_ui22.Stack, { gap: 2 }, /* @__PURE__ */ React32.createElement(import_ui22.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(import_ui22.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(import_editor_controls17.ControlLabel, null, (0, import_i18n13.__)("Order", "elementor"))), /* @__PURE__ */ React32.createElement(import_ui22.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(
1125
1291
  import_editor_controls17.ControlToggleButtonGroup,
1126
1292
  {
1127
1293
  items,
@@ -1129,7 +1295,7 @@ var FlexOrderField = () => {
1129
1295
  onChange: handleToggleButtonChange,
1130
1296
  exclusive: true
1131
1297
  }
1132
- ))), CUSTOM === groupControlValue && /* @__PURE__ */ React30.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React30.createElement(import_ui22.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React30.createElement(import_ui22.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React30.createElement(import_editor_controls17.ControlLabel, null, (0, import_i18n12.__)("Custom order", "elementor"))), /* @__PURE__ */ React30.createElement(import_ui22.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React30.createElement(
1298
+ ))), CUSTOM === groupControlValue && /* @__PURE__ */ React32.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React32.createElement(import_ui22.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(import_ui22.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(import_editor_controls17.ControlLabel, null, (0, import_i18n13.__)("Custom order", "elementor"))), /* @__PURE__ */ React32.createElement(import_ui22.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(
1133
1299
  import_editor_controls17.NumberControl,
1134
1300
  {
1135
1301
  min: FIRST_DEFAULT_VALUE + 1,
@@ -1149,36 +1315,36 @@ var getGroupControlValue = (order) => {
1149
1315
  };
1150
1316
 
1151
1317
  // src/components/style-sections/layout-section/flex-size-field.tsx
1152
- var React31 = __toESM(require("react"));
1318
+ var React33 = __toESM(require("react"));
1153
1319
  var import_editor_controls18 = require("@elementor/editor-controls");
1154
- var import_icons10 = require("@elementor/icons");
1320
+ var import_icons12 = require("@elementor/icons");
1155
1321
  var import_ui23 = require("@elementor/ui");
1156
- var import_i18n13 = require("@wordpress/i18n");
1322
+ var import_i18n14 = require("@wordpress/i18n");
1157
1323
  var DEFAULT = 1;
1158
1324
  var items2 = [
1159
1325
  {
1160
1326
  value: "flex-grow",
1161
- label: (0, import_i18n13.__)("Grow", "elementor"),
1162
- renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(import_icons10.ExpandIcon, { fontSize: size }),
1327
+ label: (0, import_i18n14.__)("Grow", "elementor"),
1328
+ renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(import_icons12.ExpandIcon, { fontSize: size }),
1163
1329
  showTooltip: true
1164
1330
  },
1165
1331
  {
1166
1332
  value: "flex-shrink",
1167
- label: (0, import_i18n13.__)("Shrink", "elementor"),
1168
- renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(import_icons10.ShrinkIcon, { fontSize: size }),
1333
+ label: (0, import_i18n14.__)("Shrink", "elementor"),
1334
+ renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(import_icons12.ShrinkIcon, { fontSize: size }),
1169
1335
  showTooltip: true
1170
1336
  },
1171
1337
  {
1172
1338
  value: "custom",
1173
- label: (0, import_i18n13.__)("Custom", "elementor"),
1174
- renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(import_icons10.PencilIcon, { fontSize: size }),
1339
+ label: (0, import_i18n14.__)("Custom", "elementor"),
1340
+ renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(import_icons12.PencilIcon, { fontSize: size }),
1175
1341
  showTooltip: true
1176
1342
  }
1177
1343
  ];
1178
1344
  var FlexSizeField = () => {
1179
1345
  const { isSiteRtl } = useDirection(), [growField, setGrowField] = useStylesField("flex-grow"), [shrinkField, setShrinkField] = useStylesField("flex-shrink"), [basisField, setBasisField] = useStylesField("flex-basis");
1180
1346
  const grow = growField?.value || null, shrink = shrinkField?.value || null, basis = basisField?.value || null;
1181
- const currentGroup = React31.useMemo(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = React31.useState(currentGroup);
1347
+ const currentGroup = React33.useMemo(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = React33.useState(currentGroup);
1182
1348
  const onChangeGroup = (group = null) => {
1183
1349
  setActiveGroup(group);
1184
1350
  setBasisField(null);
@@ -1195,7 +1361,7 @@ var FlexSizeField = () => {
1195
1361
  setGrowField(null);
1196
1362
  setShrinkField({ $$type: "number", value: DEFAULT });
1197
1363
  };
1198
- return /* @__PURE__ */ React31.createElement(import_ui23.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React31.createElement(import_ui23.ThemeProvider, null, /* @__PURE__ */ React31.createElement(import_ui23.Stack, { gap: 2 }, /* @__PURE__ */ React31.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React31.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React31.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n13.__)("Size", "elementor"))), /* @__PURE__ */ React31.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React31.createElement(
1364
+ return /* @__PURE__ */ React33.createElement(import_ui23.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React33.createElement(import_ui23.ThemeProvider, null, /* @__PURE__ */ React33.createElement(import_ui23.Stack, { gap: 2 }, /* @__PURE__ */ React33.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n14.__)("Size", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(
1199
1365
  import_editor_controls18.ControlToggleButtonGroup,
1200
1366
  {
1201
1367
  value: activeGroup,
@@ -1203,9 +1369,9 @@ var FlexSizeField = () => {
1203
1369
  items: items2,
1204
1370
  exclusive: true
1205
1371
  }
1206
- ))), "custom" === activeGroup && /* @__PURE__ */ React31.createElement(FlexCustomField, null))));
1372
+ ))), "custom" === activeGroup && /* @__PURE__ */ React33.createElement(FlexCustomField, null))));
1207
1373
  };
1208
- var FlexCustomField = () => /* @__PURE__ */ React31.createElement(React31.Fragment, null, /* @__PURE__ */ React31.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React31.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React31.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React31.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n13.__)("Grow", "elementor"))), /* @__PURE__ */ React31.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React31.createElement(import_editor_controls18.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React31.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React31.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React31.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React31.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n13.__)("Shrink", "elementor"))), /* @__PURE__ */ React31.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React31.createElement(import_editor_controls18.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React31.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React31.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React31.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React31.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n13.__)("Basis", "elementor"))), /* @__PURE__ */ React31.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React31.createElement(import_editor_controls18.SizeControl, null)))));
1374
+ var FlexCustomField = () => /* @__PURE__ */ React33.createElement(React33.Fragment, null, /* @__PURE__ */ React33.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React33.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n14.__)("Grow", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(import_editor_controls18.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React33.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React33.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n14.__)("Shrink", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(import_editor_controls18.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React33.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React33.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n14.__)("Basis", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(import_editor_controls18.SizeControl, null)))));
1209
1375
  var getActiveGroup = ({
1210
1376
  grow,
1211
1377
  shrink,
@@ -1227,22 +1393,22 @@ var getActiveGroup = ({
1227
1393
  };
1228
1394
 
1229
1395
  // src/components/style-sections/layout-section/gap-control-field.tsx
1230
- var React32 = __toESM(require("react"));
1396
+ var React34 = __toESM(require("react"));
1231
1397
  var import_editor_controls19 = require("@elementor/editor-controls");
1232
1398
  var import_ui24 = require("@elementor/ui");
1233
- var import_i18n14 = require("@wordpress/i18n");
1399
+ var import_i18n15 = require("@wordpress/i18n");
1234
1400
  var GapControlField = () => {
1235
- return /* @__PURE__ */ React32.createElement(import_ui24.Stack, { gap: 1 }, /* @__PURE__ */ React32.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React32.createElement(import_editor_controls19.GapControl, { label: (0, import_i18n14.__)("Gaps", "elementor") })));
1401
+ return /* @__PURE__ */ React34.createElement(import_ui24.Stack, { gap: 1 }, /* @__PURE__ */ React34.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React34.createElement(import_editor_controls19.GapControl, { label: (0, import_i18n15.__)("Gaps", "elementor") })));
1236
1402
  };
1237
1403
 
1238
1404
  // src/components/style-sections/layout-section/justify-content-field.tsx
1239
- var React33 = __toESM(require("react"));
1405
+ var React35 = __toESM(require("react"));
1240
1406
  var import_editor_controls20 = require("@elementor/editor-controls");
1241
- var import_icons11 = require("@elementor/icons");
1407
+ var import_icons13 = require("@elementor/icons");
1242
1408
  var import_ui25 = require("@elementor/ui");
1243
- var import_i18n15 = require("@wordpress/i18n");
1244
- var StartIcon3 = (0, import_ui25.withDirection)(import_icons11.JustifyTopIcon);
1245
- var EndIcon3 = (0, import_ui25.withDirection)(import_icons11.JustifyBottomIcon);
1409
+ var import_i18n16 = require("@wordpress/i18n");
1410
+ var StartIcon3 = (0, import_ui25.withDirection)(import_icons13.JustifyTopIcon);
1411
+ var EndIcon3 = (0, import_ui25.withDirection)(import_icons13.JustifyBottomIcon);
1246
1412
  var iconProps3 = {
1247
1413
  isClockwise: true,
1248
1414
  offset: -90
@@ -1250,75 +1416,75 @@ var iconProps3 = {
1250
1416
  var options4 = [
1251
1417
  {
1252
1418
  value: "start",
1253
- label: (0, import_i18n15.__)("Start", "elementor"),
1254
- renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(RotatedIcon, { icon: StartIcon3, size, ...iconProps3 }),
1419
+ label: (0, import_i18n16.__)("Start", "elementor"),
1420
+ renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: StartIcon3, size, ...iconProps3 }),
1255
1421
  showTooltip: true
1256
1422
  },
1257
1423
  {
1258
1424
  value: "center",
1259
- label: (0, import_i18n15.__)("Center", "elementor"),
1260
- renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(RotatedIcon, { icon: import_icons11.JustifyCenterIcon, size, ...iconProps3 }),
1425
+ label: (0, import_i18n16.__)("Center", "elementor"),
1426
+ renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: import_icons13.JustifyCenterIcon, size, ...iconProps3 }),
1261
1427
  showTooltip: true
1262
1428
  },
1263
1429
  {
1264
1430
  value: "end",
1265
- label: (0, import_i18n15.__)("End", "elementor"),
1266
- renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(RotatedIcon, { icon: EndIcon3, size, ...iconProps3 }),
1431
+ label: (0, import_i18n16.__)("End", "elementor"),
1432
+ renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: EndIcon3, size, ...iconProps3 }),
1267
1433
  showTooltip: true
1268
1434
  },
1269
1435
  {
1270
1436
  value: "space-between",
1271
- label: (0, import_i18n15.__)("Space between", "elementor"),
1272
- renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(RotatedIcon, { icon: import_icons11.JustifySpaceBetweenVerticalIcon, size, ...iconProps3 }),
1437
+ label: (0, import_i18n16.__)("Space between", "elementor"),
1438
+ renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: import_icons13.JustifySpaceBetweenVerticalIcon, size, ...iconProps3 }),
1273
1439
  showTooltip: true
1274
1440
  },
1275
1441
  {
1276
1442
  value: "space-around",
1277
- label: (0, import_i18n15.__)("Space around", "elementor"),
1278
- renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(RotatedIcon, { icon: import_icons11.JustifySpaceAroundVerticalIcon, size, ...iconProps3 }),
1443
+ label: (0, import_i18n16.__)("Space around", "elementor"),
1444
+ renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: import_icons13.JustifySpaceAroundVerticalIcon, size, ...iconProps3 }),
1279
1445
  showTooltip: true
1280
1446
  },
1281
1447
  {
1282
1448
  value: "space-evenly",
1283
- label: (0, import_i18n15.__)("Space evenly", "elementor"),
1284
- renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(RotatedIcon, { icon: import_icons11.JustifyDistributeVerticalIcon, size, ...iconProps3 }),
1449
+ label: (0, import_i18n16.__)("Space evenly", "elementor"),
1450
+ renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: import_icons13.JustifyDistributeVerticalIcon, size, ...iconProps3 }),
1285
1451
  showTooltip: true
1286
1452
  }
1287
1453
  ];
1288
1454
  var JustifyContentField = () => {
1289
1455
  const { isSiteRtl } = useDirection();
1290
- return /* @__PURE__ */ React33.createElement(import_ui25.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React33.createElement(import_ui25.ThemeProvider, null, /* @__PURE__ */ React33.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React33.createElement(import_ui25.Stack, { gap: 1 }, /* @__PURE__ */ React33.createElement(import_editor_controls20.ControlLabel, null, (0, import_i18n15.__)("Justify content", "elementor")), /* @__PURE__ */ React33.createElement(import_editor_controls20.ToggleControl, { options: options4, fullWidth: true })))));
1456
+ return /* @__PURE__ */ React35.createElement(import_ui25.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React35.createElement(import_ui25.ThemeProvider, null, /* @__PURE__ */ React35.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React35.createElement(import_ui25.Stack, { gap: 1 }, /* @__PURE__ */ React35.createElement(import_editor_controls20.ControlLabel, null, (0, import_i18n16.__)("Justify content", "elementor")), /* @__PURE__ */ React35.createElement(import_editor_controls20.ToggleControl, { options: options4, fullWidth: true })))));
1291
1457
  };
1292
1458
 
1293
1459
  // src/components/style-sections/layout-section/wrap-field.tsx
1294
- var React34 = __toESM(require("react"));
1460
+ var React36 = __toESM(require("react"));
1295
1461
  var import_editor_controls21 = require("@elementor/editor-controls");
1296
- var import_icons12 = require("@elementor/icons");
1462
+ var import_icons14 = require("@elementor/icons");
1297
1463
  var import_ui26 = require("@elementor/ui");
1298
- var import_i18n16 = require("@wordpress/i18n");
1464
+ var import_i18n17 = require("@wordpress/i18n");
1299
1465
  var options5 = [
1300
1466
  {
1301
1467
  value: "nowrap",
1302
- label: (0, import_i18n16.__)("No wrap", "elementor"),
1303
- renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(import_icons12.ArrowRightIcon, { fontSize: size }),
1468
+ label: (0, import_i18n17.__)("No wrap", "elementor"),
1469
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(import_icons14.ArrowRightIcon, { fontSize: size }),
1304
1470
  showTooltip: true
1305
1471
  },
1306
1472
  {
1307
1473
  value: "wrap",
1308
- label: (0, import_i18n16.__)("Wrap", "elementor"),
1309
- renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(import_icons12.ArrowBackIcon, { fontSize: size }),
1474
+ label: (0, import_i18n17.__)("Wrap", "elementor"),
1475
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(import_icons14.ArrowBackIcon, { fontSize: size }),
1310
1476
  showTooltip: true
1311
1477
  },
1312
1478
  {
1313
1479
  value: "wrap-reverse",
1314
- label: (0, import_i18n16.__)("Reversed wrap", "elementor"),
1315
- renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(import_icons12.ArrowForwardIcon, { fontSize: size }),
1480
+ label: (0, import_i18n17.__)("Reversed wrap", "elementor"),
1481
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(import_icons14.ArrowForwardIcon, { fontSize: size }),
1316
1482
  showTooltip: true
1317
1483
  }
1318
1484
  ];
1319
1485
  var WrapField = () => {
1320
1486
  const { isSiteRtl } = useDirection();
1321
- return /* @__PURE__ */ React34.createElement(import_ui26.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React34.createElement(import_ui26.ThemeProvider, null, /* @__PURE__ */ React34.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React34.createElement(import_ui26.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(import_ui26.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(import_editor_controls21.ControlLabel, null, (0, import_i18n16.__)("Wrap", "elementor"))), /* @__PURE__ */ React34.createElement(import_ui26.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React34.createElement(import_editor_controls21.ToggleControl, { options: options5 }))))));
1487
+ return /* @__PURE__ */ React36.createElement(import_ui26.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React36.createElement(import_ui26.ThemeProvider, null, /* @__PURE__ */ React36.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React36.createElement(import_ui26.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React36.createElement(import_ui26.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React36.createElement(import_editor_controls21.ControlLabel, null, (0, import_i18n17.__)("Wrap", "elementor"))), /* @__PURE__ */ React36.createElement(import_ui26.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React36.createElement(import_editor_controls21.ToggleControl, { options: options5 }))))));
1322
1488
  };
1323
1489
 
1324
1490
  // src/components/style-sections/layout-section/layout-section.tsx
@@ -1327,22 +1493,22 @@ var LayoutSection = () => {
1327
1493
  const { element } = useElement();
1328
1494
  const parent = (0, import_editor_elements4.useParentElement)(element.id);
1329
1495
  const parentStyle = useComputedStyle(parent?.id || null);
1330
- return /* @__PURE__ */ React35.createElement(import_ui27.Stack, { gap: 2 }, /* @__PURE__ */ React35.createElement(DisplayField, null), "flex" === display?.value && /* @__PURE__ */ React35.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React35.createElement(FlexChildFields, null));
1496
+ return /* @__PURE__ */ React37.createElement(import_ui27.Stack, { gap: 2 }, /* @__PURE__ */ React37.createElement(DisplayField, null), "flex" === display?.value && /* @__PURE__ */ React37.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React37.createElement(FlexChildFields, null));
1331
1497
  };
1332
- var FlexFields = () => /* @__PURE__ */ React35.createElement(React35.Fragment, null, /* @__PURE__ */ React35.createElement(FlexDirectionField, null), /* @__PURE__ */ React35.createElement(JustifyContentField, null), /* @__PURE__ */ React35.createElement(AlignItemsField, null), /* @__PURE__ */ React35.createElement(import_ui27.Divider, null), /* @__PURE__ */ React35.createElement(GapControlField, null), /* @__PURE__ */ React35.createElement(WrapField, null));
1333
- var FlexChildFields = () => /* @__PURE__ */ React35.createElement(React35.Fragment, null, /* @__PURE__ */ React35.createElement(import_ui27.Divider, null), /* @__PURE__ */ React35.createElement(import_editor_controls22.ControlLabel, null, (0, import_i18n17.__)("Flex child", "elementor")), /* @__PURE__ */ React35.createElement(AlignSelfChild, null), /* @__PURE__ */ React35.createElement(FlexOrderField, null), /* @__PURE__ */ React35.createElement(FlexSizeField, null));
1498
+ var FlexFields = () => /* @__PURE__ */ React37.createElement(React37.Fragment, null, /* @__PURE__ */ React37.createElement(FlexDirectionField, null), /* @__PURE__ */ React37.createElement(JustifyContentField, null), /* @__PURE__ */ React37.createElement(AlignItemsField, null), /* @__PURE__ */ React37.createElement(import_ui27.Divider, null), /* @__PURE__ */ React37.createElement(GapControlField, null), /* @__PURE__ */ React37.createElement(WrapField, null));
1499
+ var FlexChildFields = () => /* @__PURE__ */ React37.createElement(React37.Fragment, null, /* @__PURE__ */ React37.createElement(import_ui27.Divider, null), /* @__PURE__ */ React37.createElement(import_editor_controls22.ControlLabel, null, (0, import_i18n18.__)("Flex child", "elementor")), /* @__PURE__ */ React37.createElement(AlignSelfChild, null), /* @__PURE__ */ React37.createElement(FlexOrderField, null), /* @__PURE__ */ React37.createElement(FlexSizeField, null));
1334
1500
 
1335
1501
  // src/components/style-sections/position-section/position-section.tsx
1336
- var React39 = __toESM(require("react"));
1502
+ var React41 = __toESM(require("react"));
1337
1503
  var import_ui31 = require("@elementor/ui");
1338
1504
 
1339
1505
  // src/hooks/use-session-storage.ts
1340
- var import_react9 = require("react");
1506
+ var import_react12 = require("react");
1341
1507
  var import_utils2 = require("@elementor/utils");
1342
1508
  var useSessionStorage = (key) => {
1343
1509
  const prefixedKey = `elementor/${key}`;
1344
- const [value, setValue] = (0, import_react9.useState)();
1345
- (0, import_react9.useEffect)(() => {
1510
+ const [value, setValue] = (0, import_react12.useState)();
1511
+ (0, import_react12.useEffect)(() => {
1346
1512
  return subscribeToSessionStorage(prefixedKey, (newValue) => {
1347
1513
  setValue(newValue ?? null);
1348
1514
  });
@@ -1374,46 +1540,47 @@ var subscribeToSessionStorage = (key, subscriber) => {
1374
1540
  };
1375
1541
 
1376
1542
  // src/components/style-sections/position-section/dimensions-field.tsx
1377
- var React36 = __toESM(require("react"));
1543
+ var React38 = __toESM(require("react"));
1378
1544
  var import_editor_controls23 = require("@elementor/editor-controls");
1379
- var import_icons13 = require("@elementor/icons");
1545
+ var import_icons15 = require("@elementor/icons");
1380
1546
  var import_ui28 = require("@elementor/ui");
1381
- var import_i18n18 = require("@wordpress/i18n");
1547
+ var import_i18n19 = require("@wordpress/i18n");
1382
1548
  var sideIcons = {
1383
- left: /* @__PURE__ */ React36.createElement(import_icons13.SideLeftIcon, { fontSize: "tiny" }),
1384
- right: /* @__PURE__ */ React36.createElement(import_icons13.SideRightIcon, { fontSize: "tiny" }),
1385
- top: /* @__PURE__ */ React36.createElement(import_icons13.SideTopIcon, { fontSize: "tiny" }),
1386
- bottom: /* @__PURE__ */ React36.createElement(import_icons13.SideBottomIcon, { fontSize: "tiny" })
1549
+ left: /* @__PURE__ */ React38.createElement(import_icons15.SideLeftIcon, { fontSize: "tiny" }),
1550
+ right: /* @__PURE__ */ React38.createElement(import_icons15.SideRightIcon, { fontSize: "tiny" }),
1551
+ top: /* @__PURE__ */ React38.createElement(import_icons15.SideTopIcon, { fontSize: "tiny" }),
1552
+ bottom: /* @__PURE__ */ React38.createElement(import_icons15.SideBottomIcon, { fontSize: "tiny" })
1387
1553
  };
1388
1554
  var DimensionsField = () => {
1389
- return /* @__PURE__ */ React36.createElement(React36.Fragment, null, /* @__PURE__ */ React36.createElement(import_ui28.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React36.createElement(DimensionField, { side: "top", label: (0, import_i18n18.__)("Top", "elementor") }), /* @__PURE__ */ React36.createElement(DimensionField, { side: "right", label: (0, import_i18n18.__)("Right", "elementor") })), /* @__PURE__ */ React36.createElement(import_ui28.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React36.createElement(DimensionField, { side: "bottom", label: (0, import_i18n18.__)("Bottom", "elementor") }), /* @__PURE__ */ React36.createElement(DimensionField, { side: "left", label: (0, import_i18n18.__)("Left", "elementor") })));
1555
+ return /* @__PURE__ */ React38.createElement(React38.Fragment, null, /* @__PURE__ */ React38.createElement(import_ui28.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React38.createElement(DimensionField, { side: "top", label: (0, import_i18n19.__)("Top", "elementor") }), /* @__PURE__ */ React38.createElement(DimensionField, { side: "right", label: (0, import_i18n19.__)("Right", "elementor") })), /* @__PURE__ */ React38.createElement(import_ui28.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React38.createElement(DimensionField, { side: "bottom", label: (0, import_i18n19.__)("Bottom", "elementor") }), /* @__PURE__ */ React38.createElement(DimensionField, { side: "left", label: (0, import_i18n19.__)("Left", "elementor") })));
1390
1556
  };
1391
1557
  var DimensionField = ({ side, label }) => {
1392
- return /* @__PURE__ */ React36.createElement(import_ui28.Grid, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React36.createElement(import_ui28.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React36.createElement(import_editor_controls23.ControlLabel, null, label)), /* @__PURE__ */ React36.createElement(import_ui28.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React36.createElement(StylesField, { bind: side }, /* @__PURE__ */ React36.createElement(import_editor_controls23.SizeControl, { startIcon: sideIcons[side] }))));
1558
+ return /* @__PURE__ */ React38.createElement(import_ui28.Grid, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React38.createElement(import_ui28.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React38.createElement(import_editor_controls23.ControlLabel, null, label)), /* @__PURE__ */ React38.createElement(import_ui28.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React38.createElement(StylesField, { bind: side }, /* @__PURE__ */ React38.createElement(import_editor_controls23.SizeControl, { startIcon: sideIcons[side] }))));
1393
1559
  };
1394
1560
 
1395
1561
  // src/components/style-sections/position-section/position-field.tsx
1396
- var React37 = __toESM(require("react"));
1562
+ var React39 = __toESM(require("react"));
1397
1563
  var import_editor_controls24 = require("@elementor/editor-controls");
1398
1564
  var import_ui29 = require("@elementor/ui");
1399
- var import_i18n19 = require("@wordpress/i18n");
1565
+ var import_i18n20 = require("@wordpress/i18n");
1400
1566
  var positionOptions = [
1401
- { label: (0, import_i18n19.__)("Static", "elementor"), value: "static" },
1402
- { label: (0, import_i18n19.__)("Relative", "elementor"), value: "relative" },
1403
- { label: (0, import_i18n19.__)("Absolute", "elementor"), value: "absolute" },
1404
- { label: (0, import_i18n19.__)("Fixed", "elementor"), value: "fixed" }
1567
+ { label: (0, import_i18n20.__)("Static", "elementor"), value: "static" },
1568
+ { label: (0, import_i18n20.__)("Relative", "elementor"), value: "relative" },
1569
+ { label: (0, import_i18n20.__)("Absolute", "elementor"), value: "absolute" },
1570
+ { label: (0, import_i18n20.__)("Fixed", "elementor"), value: "fixed" },
1571
+ { label: (0, import_i18n20.__)("Sticky", "elementor"), value: "sticky" }
1405
1572
  ];
1406
1573
  var PositionField = ({ onChange }) => {
1407
- return /* @__PURE__ */ React37.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React37.createElement(import_ui29.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React37.createElement(import_ui29.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React37.createElement(import_editor_controls24.ControlLabel, null, (0, import_i18n19.__)("Position", "elementor"))), /* @__PURE__ */ React37.createElement(import_ui29.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React37.createElement(import_editor_controls24.SelectControl, { options: positionOptions, onChange }))));
1574
+ return /* @__PURE__ */ React39.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React39.createElement(import_ui29.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React39.createElement(import_ui29.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React39.createElement(import_editor_controls24.ControlLabel, null, (0, import_i18n20.__)("Position", "elementor"))), /* @__PURE__ */ React39.createElement(import_ui29.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React39.createElement(import_editor_controls24.SelectControl, { options: positionOptions, onChange }))));
1408
1575
  };
1409
1576
 
1410
1577
  // src/components/style-sections/position-section/z-index-field.tsx
1411
- var React38 = __toESM(require("react"));
1578
+ var React40 = __toESM(require("react"));
1412
1579
  var import_editor_controls25 = require("@elementor/editor-controls");
1413
1580
  var import_ui30 = require("@elementor/ui");
1414
- var import_i18n20 = require("@wordpress/i18n");
1581
+ var import_i18n21 = require("@wordpress/i18n");
1415
1582
  var ZIndexField = () => {
1416
- return /* @__PURE__ */ React38.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React38.createElement(import_ui30.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React38.createElement(import_ui30.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React38.createElement(import_editor_controls25.ControlLabel, null, (0, import_i18n20.__)("Z-Index", "elementor"))), /* @__PURE__ */ React38.createElement(import_ui30.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React38.createElement(import_editor_controls25.NumberControl, null))));
1583
+ return /* @__PURE__ */ React40.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React40.createElement(import_ui30.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(import_ui30.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(import_editor_controls25.ControlLabel, null, (0, import_i18n21.__)("Z-Index", "elementor"))), /* @__PURE__ */ React40.createElement(import_ui30.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(import_editor_controls25.NumberControl, null))));
1417
1584
  };
1418
1585
 
1419
1586
  // src/components/style-sections/position-section/position-section.tsx
@@ -1445,7 +1612,7 @@ var PositionSection = () => {
1445
1612
  }
1446
1613
  };
1447
1614
  const isNotStatic = positionValue && positionValue?.value !== "static";
1448
- return /* @__PURE__ */ React39.createElement(import_ui31.Stack, { gap: 1.5 }, /* @__PURE__ */ React39.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React39.createElement(React39.Fragment, null, /* @__PURE__ */ React39.createElement(DimensionsField, null), /* @__PURE__ */ React39.createElement(ZIndexField, null)) : null);
1615
+ return /* @__PURE__ */ React41.createElement(import_ui31.Stack, { gap: 1.5 }, /* @__PURE__ */ React41.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React41.createElement(React41.Fragment, null, /* @__PURE__ */ React41.createElement(DimensionsField, null), /* @__PURE__ */ React41.createElement(ZIndexField, null)) : null);
1449
1616
  };
1450
1617
  var usePersistDimensions = () => {
1451
1618
  const { id: styleDefID, meta } = useStyle();
@@ -1455,73 +1622,73 @@ var usePersistDimensions = () => {
1455
1622
  };
1456
1623
 
1457
1624
  // src/components/style-sections/size-section/size-section.tsx
1458
- var React41 = __toESM(require("react"));
1625
+ var React43 = __toESM(require("react"));
1459
1626
  var import_editor_controls27 = require("@elementor/editor-controls");
1460
1627
  var import_ui33 = require("@elementor/ui");
1461
- var import_i18n22 = require("@wordpress/i18n");
1628
+ var import_i18n23 = require("@wordpress/i18n");
1462
1629
 
1463
1630
  // src/components/style-sections/size-section/overflow-field.tsx
1464
- var React40 = __toESM(require("react"));
1631
+ var React42 = __toESM(require("react"));
1465
1632
  var import_editor_controls26 = require("@elementor/editor-controls");
1466
- var import_icons14 = require("@elementor/icons");
1633
+ var import_icons16 = require("@elementor/icons");
1467
1634
  var import_ui32 = require("@elementor/ui");
1468
- var import_i18n21 = require("@wordpress/i18n");
1635
+ var import_i18n22 = require("@wordpress/i18n");
1469
1636
  var options6 = [
1470
1637
  {
1471
1638
  value: "visible",
1472
- label: (0, import_i18n21.__)("Visible", "elementor"),
1473
- renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(import_icons14.EyeIcon, { fontSize: size }),
1639
+ label: (0, import_i18n22.__)("Visible", "elementor"),
1640
+ renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(import_icons16.EyeIcon, { fontSize: size }),
1474
1641
  showTooltip: true
1475
1642
  },
1476
1643
  {
1477
1644
  value: "hidden",
1478
- label: (0, import_i18n21.__)("Hidden", "elementor"),
1479
- renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(import_icons14.EyeOffIcon, { fontSize: size }),
1645
+ label: (0, import_i18n22.__)("Hidden", "elementor"),
1646
+ renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(import_icons16.EyeOffIcon, { fontSize: size }),
1480
1647
  showTooltip: true
1481
1648
  },
1482
1649
  {
1483
1650
  value: "auto",
1484
- label: (0, import_i18n21.__)("Auto", "elementor"),
1485
- renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(import_icons14.ExpandBottomIcon, { fontSize: size }),
1651
+ label: (0, import_i18n22.__)("Auto", "elementor"),
1652
+ renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(import_icons16.ExpandBottomIcon, { fontSize: size }),
1486
1653
  showTooltip: true
1487
1654
  }
1488
1655
  ];
1489
1656
  var OverflowField = () => {
1490
- return /* @__PURE__ */ React40.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React40.createElement(import_ui32.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(import_ui32.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(import_editor_controls26.ControlLabel, null, (0, import_i18n21.__)("Overflow", "elementor"))), /* @__PURE__ */ React40.createElement(import_ui32.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React40.createElement(import_editor_controls26.ToggleControl, { options: options6 }))));
1657
+ return /* @__PURE__ */ React42.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React42.createElement(import_ui32.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React42.createElement(import_ui32.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(import_editor_controls26.ControlLabel, null, (0, import_i18n22.__)("Overflow", "elementor"))), /* @__PURE__ */ React42.createElement(import_ui32.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React42.createElement(import_editor_controls26.ToggleControl, { options: options6 }))));
1491
1658
  };
1492
1659
 
1493
1660
  // src/components/style-sections/size-section/size-section.tsx
1494
1661
  var SizeSection = () => {
1495
- return /* @__PURE__ */ React41.createElement(import_ui33.Stack, { gap: 1.5 }, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(SizeField, { bind: "width", label: (0, import_i18n22.__)("Width", "elementor") })), /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(SizeField, { bind: "height", label: (0, import_i18n22.__)("Height", "elementor") }))), /* @__PURE__ */ React41.createElement(import_ui33.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(SizeField, { bind: "min-width", label: (0, import_i18n22.__)("Min. Width", "elementor") })), /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(SizeField, { bind: "min-height", label: (0, import_i18n22.__)("Min. Height", "elementor") }))), /* @__PURE__ */ React41.createElement(import_ui33.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(SizeField, { bind: "max-width", label: (0, import_i18n22.__)("Max. Width", "elementor") })), /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(SizeField, { bind: "max-height", label: (0, import_i18n22.__)("Max. Height", "elementor") }))), /* @__PURE__ */ React41.createElement(import_ui33.Divider, null), /* @__PURE__ */ React41.createElement(import_ui33.Stack, null, /* @__PURE__ */ React41.createElement(OverflowField, null)));
1662
+ return /* @__PURE__ */ React43.createElement(import_ui33.Stack, { gap: 1.5 }, /* @__PURE__ */ React43.createElement(import_ui33.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "width", label: (0, import_i18n23.__)("Width", "elementor") })), /* @__PURE__ */ React43.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "height", label: (0, import_i18n23.__)("Height", "elementor") }))), /* @__PURE__ */ React43.createElement(import_ui33.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "min-width", label: (0, import_i18n23.__)("Min. Width", "elementor") })), /* @__PURE__ */ React43.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "min-height", label: (0, import_i18n23.__)("Min. Height", "elementor") }))), /* @__PURE__ */ React43.createElement(import_ui33.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "max-width", label: (0, import_i18n23.__)("Max. Width", "elementor") })), /* @__PURE__ */ React43.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "max-height", label: (0, import_i18n23.__)("Max. Height", "elementor") }))), /* @__PURE__ */ React43.createElement(import_ui33.Divider, null), /* @__PURE__ */ React43.createElement(import_ui33.Stack, null, /* @__PURE__ */ React43.createElement(OverflowField, null)));
1496
1663
  };
1497
1664
  var SizeField = ({ label, bind }) => {
1498
- return /* @__PURE__ */ React41.createElement(StylesField, { bind }, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React41.createElement(import_editor_controls27.ControlLabel, null, label)), /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React41.createElement(import_editor_controls27.SizeControl, null))));
1665
+ return /* @__PURE__ */ React43.createElement(StylesField, { bind }, /* @__PURE__ */ React43.createElement(import_ui33.Grid, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React43.createElement(import_ui33.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React43.createElement(import_editor_controls27.ControlLabel, null, label)), /* @__PURE__ */ React43.createElement(import_ui33.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React43.createElement(import_editor_controls27.SizeControl, null))));
1499
1666
  };
1500
1667
 
1501
1668
  // src/components/style-sections/spacing-section/spacing-section.tsx
1502
- var React42 = __toESM(require("react"));
1669
+ var React44 = __toESM(require("react"));
1503
1670
  var import_editor_controls28 = require("@elementor/editor-controls");
1504
1671
  var import_ui34 = require("@elementor/ui");
1505
- var import_i18n23 = require("@wordpress/i18n");
1672
+ var import_i18n24 = require("@wordpress/i18n");
1506
1673
  var SpacingSection = () => {
1507
- return /* @__PURE__ */ React42.createElement(import_ui34.Stack, { gap: 1.5 }, /* @__PURE__ */ React42.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React42.createElement(import_editor_controls28.LinkedDimensionsControl, { label: (0, import_i18n23.__)("Padding", "elementor") })), /* @__PURE__ */ React42.createElement(import_ui34.Divider, null), /* @__PURE__ */ React42.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React42.createElement(import_editor_controls28.LinkedDimensionsControl, { label: (0, import_i18n23.__)("Margin", "elementor") })));
1674
+ return /* @__PURE__ */ React44.createElement(import_ui34.Stack, { gap: 1.5 }, /* @__PURE__ */ React44.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React44.createElement(import_editor_controls28.LinkedDimensionsControl, { label: (0, import_i18n24.__)("Padding", "elementor") })), /* @__PURE__ */ React44.createElement(import_ui34.Divider, null), /* @__PURE__ */ React44.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React44.createElement(import_editor_controls28.LinkedDimensionsControl, { label: (0, import_i18n24.__)("Margin", "elementor") })));
1508
1675
  };
1509
1676
 
1510
1677
  // src/components/style-sections/typography-section/typography-section.tsx
1511
- var React56 = __toESM(require("react"));
1678
+ var React58 = __toESM(require("react"));
1512
1679
  var import_ui47 = require("@elementor/ui");
1513
1680
 
1514
1681
  // src/components/collapsible-content.tsx
1515
- var React43 = __toESM(require("react"));
1516
- var import_react10 = require("react");
1682
+ var React45 = __toESM(require("react"));
1683
+ var import_react13 = require("react");
1517
1684
  var import_ui35 = require("@elementor/ui");
1518
- var import_i18n24 = require("@wordpress/i18n");
1685
+ var import_i18n25 = require("@wordpress/i18n");
1519
1686
  var CollapsibleContent = ({ children, defaultOpen = false }) => {
1520
- const [open, setOpen] = (0, import_react10.useState)(defaultOpen);
1687
+ const [open, setOpen] = (0, import_react13.useState)(defaultOpen);
1521
1688
  const handleToggle = () => {
1522
1689
  setOpen((prevOpen) => !prevOpen);
1523
1690
  };
1524
- return /* @__PURE__ */ React43.createElement(import_ui35.Stack, { sx: { py: 0.5 } }, /* @__PURE__ */ React43.createElement(
1691
+ return /* @__PURE__ */ React45.createElement(import_ui35.Stack, { sx: { py: 0.5 } }, /* @__PURE__ */ React45.createElement(
1525
1692
  import_ui35.Button,
1526
1693
  {
1527
1694
  fullWidth: true,
@@ -1529,17 +1696,17 @@ var CollapsibleContent = ({ children, defaultOpen = false }) => {
1529
1696
  color: "secondary",
1530
1697
  variant: "outlined",
1531
1698
  onClick: handleToggle,
1532
- endIcon: /* @__PURE__ */ React43.createElement(CollapseIcon, { open })
1699
+ endIcon: /* @__PURE__ */ React45.createElement(CollapseIcon, { open })
1533
1700
  },
1534
- open ? (0, import_i18n24.__)("Show less", "elementor") : (0, import_i18n24.__)("Show more", "elementor")
1535
- ), /* @__PURE__ */ React43.createElement(import_ui35.Collapse, { in: open, timeout: "auto", unmountOnExit: true }, children));
1701
+ open ? (0, import_i18n25.__)("Show less", "elementor") : (0, import_i18n25.__)("Show more", "elementor")
1702
+ ), /* @__PURE__ */ React45.createElement(import_ui35.Collapse, { in: open, timeout: "auto", unmountOnExit: true }, children));
1536
1703
  };
1537
1704
 
1538
1705
  // src/components/style-sections/typography-section/font-family-field.tsx
1539
- var React44 = __toESM(require("react"));
1706
+ var React46 = __toESM(require("react"));
1540
1707
  var import_editor_controls29 = require("@elementor/editor-controls");
1541
1708
  var import_ui36 = require("@elementor/ui");
1542
- var import_i18n25 = require("@wordpress/i18n");
1709
+ var import_i18n26 = require("@wordpress/i18n");
1543
1710
 
1544
1711
  // src/sync/get-elementor-config.ts
1545
1712
  var getElementorConfig = () => {
@@ -1553,7 +1720,7 @@ var FontFamilyField = () => {
1553
1720
  if (!fontFamilies) {
1554
1721
  return null;
1555
1722
  }
1556
- return /* @__PURE__ */ React44.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React44.createElement(import_ui36.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(import_ui36.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(import_editor_controls29.ControlLabel, null, (0, import_i18n25.__)("Font Family", "elementor"))), /* @__PURE__ */ React44.createElement(import_ui36.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(import_editor_controls29.FontFamilyControl, { fontFamilies }))));
1723
+ return /* @__PURE__ */ React46.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React46.createElement(import_ui36.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(import_ui36.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(import_editor_controls29.ControlLabel, null, (0, import_i18n26.__)("Font Family", "elementor"))), /* @__PURE__ */ React46.createElement(import_ui36.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(import_editor_controls29.FontFamilyControl, { fontFamilies }))));
1557
1724
  };
1558
1725
  var getFontFamilies = () => {
1559
1726
  const { controls } = getElementorConfig();
@@ -1565,115 +1732,115 @@ var getFontFamilies = () => {
1565
1732
  };
1566
1733
 
1567
1734
  // src/components/style-sections/typography-section/font-size-field.tsx
1568
- var React45 = __toESM(require("react"));
1735
+ var React47 = __toESM(require("react"));
1569
1736
  var import_editor_controls30 = require("@elementor/editor-controls");
1570
1737
  var import_ui37 = require("@elementor/ui");
1571
- var import_i18n26 = require("@wordpress/i18n");
1738
+ var import_i18n27 = require("@wordpress/i18n");
1572
1739
  var FontSizeField = () => {
1573
- return /* @__PURE__ */ React45.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React45.createElement(import_ui37.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React45.createElement(import_ui37.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(import_editor_controls30.ControlLabel, null, (0, import_i18n26.__)("Font Size", "elementor"))), /* @__PURE__ */ React45.createElement(import_ui37.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(import_editor_controls30.SizeControl, null))));
1740
+ return /* @__PURE__ */ React47.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React47.createElement(import_ui37.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(import_ui37.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(import_editor_controls30.ControlLabel, null, (0, import_i18n27.__)("Font Size", "elementor"))), /* @__PURE__ */ React47.createElement(import_ui37.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(import_editor_controls30.SizeControl, null))));
1574
1741
  };
1575
1742
 
1576
1743
  // src/components/style-sections/typography-section/font-weight-field.tsx
1577
- var React46 = __toESM(require("react"));
1744
+ var React48 = __toESM(require("react"));
1578
1745
  var import_editor_controls31 = require("@elementor/editor-controls");
1579
1746
  var import_ui38 = require("@elementor/ui");
1580
- var import_i18n27 = require("@wordpress/i18n");
1747
+ var import_i18n28 = require("@wordpress/i18n");
1581
1748
  var fontWeightOptions = [
1582
- { label: (0, import_i18n27.__)("Light - 400", "elementor"), value: "400" },
1583
- { label: (0, import_i18n27.__)("Regular - 500", "elementor"), value: "500" },
1584
- { label: (0, import_i18n27.__)("Semi Bold - 600", "elementor"), value: "600" },
1585
- { label: (0, import_i18n27.__)("Bold - 700", "elementor"), value: "700" },
1586
- { label: (0, import_i18n27.__)("Black - 900", "elementor"), value: "900" }
1749
+ { label: (0, import_i18n28.__)("Light - 400", "elementor"), value: "400" },
1750
+ { label: (0, import_i18n28.__)("Regular - 500", "elementor"), value: "500" },
1751
+ { label: (0, import_i18n28.__)("Semi Bold - 600", "elementor"), value: "600" },
1752
+ { label: (0, import_i18n28.__)("Bold - 700", "elementor"), value: "700" },
1753
+ { label: (0, import_i18n28.__)("Black - 900", "elementor"), value: "900" }
1587
1754
  ];
1588
1755
  var FontWeightField = () => {
1589
- return /* @__PURE__ */ React46.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React46.createElement(import_ui38.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(import_editor_controls31.ControlLabel, null, (0, import_i18n27.__)("Font Weight", "elementor"))), /* @__PURE__ */ React46.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(import_editor_controls31.SelectControl, { options: fontWeightOptions }))));
1756
+ return /* @__PURE__ */ React48.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React48.createElement(import_ui38.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(import_editor_controls31.ControlLabel, null, (0, import_i18n28.__)("Font Weight", "elementor"))), /* @__PURE__ */ React48.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(import_editor_controls31.SelectControl, { options: fontWeightOptions }))));
1590
1757
  };
1591
1758
 
1592
1759
  // src/components/style-sections/typography-section/letter-spacing-field.tsx
1593
- var React47 = __toESM(require("react"));
1760
+ var React49 = __toESM(require("react"));
1594
1761
  var import_editor_controls32 = require("@elementor/editor-controls");
1595
1762
  var import_ui39 = require("@elementor/ui");
1596
- var import_i18n28 = require("@wordpress/i18n");
1763
+ var import_i18n29 = require("@wordpress/i18n");
1597
1764
  var LetterSpacingField = () => {
1598
- return /* @__PURE__ */ React47.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React47.createElement(import_ui39.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(import_editor_controls32.ControlLabel, null, (0, import_i18n28.__)("Letter Spacing", "elementor"))), /* @__PURE__ */ React47.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(import_editor_controls32.SizeControl, null))));
1765
+ return /* @__PURE__ */ React49.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React49.createElement(import_ui39.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(import_editor_controls32.ControlLabel, null, (0, import_i18n29.__)("Letter Spacing", "elementor"))), /* @__PURE__ */ React49.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(import_editor_controls32.SizeControl, null))));
1599
1766
  };
1600
1767
 
1601
1768
  // src/components/style-sections/typography-section/line-height-field.tsx
1602
- var React48 = __toESM(require("react"));
1769
+ var React50 = __toESM(require("react"));
1603
1770
  var import_editor_controls33 = require("@elementor/editor-controls");
1604
1771
  var import_ui40 = require("@elementor/ui");
1605
- var import_i18n29 = require("@wordpress/i18n");
1772
+ var import_i18n30 = require("@wordpress/i18n");
1606
1773
  var LineHeightField = () => {
1607
- return /* @__PURE__ */ React48.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React48.createElement(import_ui40.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(import_editor_controls33.ControlLabel, null, (0, import_i18n29.__)("Line Height", "elementor"))), /* @__PURE__ */ React48.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(import_editor_controls33.SizeControl, null))));
1774
+ return /* @__PURE__ */ React50.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React50.createElement(import_ui40.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React50.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(import_editor_controls33.ControlLabel, null, (0, import_i18n30.__)("Line Height", "elementor"))), /* @__PURE__ */ React50.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(import_editor_controls33.SizeControl, null))));
1608
1775
  };
1609
1776
 
1610
1777
  // src/components/style-sections/typography-section/text-alignment-field.tsx
1611
- var React49 = __toESM(require("react"));
1778
+ var React51 = __toESM(require("react"));
1612
1779
  var import_editor_controls34 = require("@elementor/editor-controls");
1613
- var import_icons15 = require("@elementor/icons");
1780
+ var import_icons17 = require("@elementor/icons");
1614
1781
  var import_ui41 = require("@elementor/ui");
1615
- var import_i18n30 = require("@wordpress/i18n");
1782
+ var import_i18n31 = require("@wordpress/i18n");
1616
1783
  var options7 = [
1617
1784
  {
1618
1785
  value: "left",
1619
- label: (0, import_i18n30.__)("Left", "elementor"),
1620
- renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(import_icons15.AlignLeftIcon, { fontSize: size })
1786
+ label: (0, import_i18n31.__)("Left", "elementor"),
1787
+ renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(import_icons17.AlignLeftIcon, { fontSize: size })
1621
1788
  },
1622
1789
  {
1623
1790
  value: "center",
1624
- label: (0, import_i18n30.__)("Center", "elementor"),
1625
- renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(import_icons15.AlignCenterIcon, { fontSize: size })
1791
+ label: (0, import_i18n31.__)("Center", "elementor"),
1792
+ renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(import_icons17.AlignCenterIcon, { fontSize: size })
1626
1793
  },
1627
1794
  {
1628
1795
  value: "right",
1629
- label: (0, import_i18n30.__)("Right", "elementor"),
1630
- renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(import_icons15.AlignRightIcon, { fontSize: size })
1796
+ label: (0, import_i18n31.__)("Right", "elementor"),
1797
+ renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(import_icons17.AlignRightIcon, { fontSize: size })
1631
1798
  },
1632
1799
  {
1633
1800
  value: "justify",
1634
- label: (0, import_i18n30.__)("Justify", "elementor"),
1635
- renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(import_icons15.AlignJustifiedIcon, { fontSize: size })
1801
+ label: (0, import_i18n31.__)("Justify", "elementor"),
1802
+ renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(import_icons17.AlignJustifiedIcon, { fontSize: size })
1636
1803
  }
1637
1804
  ];
1638
1805
  var TextAlignmentField = () => {
1639
- return /* @__PURE__ */ React49.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React49.createElement(import_ui41.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(import_ui41.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(import_editor_controls34.ControlLabel, null, (0, import_i18n30.__)("Alignment", "elementor"))), /* @__PURE__ */ React49.createElement(import_ui41.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React49.createElement(import_editor_controls34.ToggleControl, { options: options7 }))));
1806
+ return /* @__PURE__ */ React51.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React51.createElement(import_ui41.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React51.createElement(import_ui41.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(import_editor_controls34.ControlLabel, null, (0, import_i18n31.__)("Alignment", "elementor"))), /* @__PURE__ */ React51.createElement(import_ui41.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React51.createElement(import_editor_controls34.ToggleControl, { options: options7 }))));
1640
1807
  };
1641
1808
 
1642
1809
  // src/components/style-sections/typography-section/text-color-field.tsx
1643
- var React50 = __toESM(require("react"));
1810
+ var React52 = __toESM(require("react"));
1644
1811
  var import_editor_controls35 = require("@elementor/editor-controls");
1645
1812
  var import_ui42 = require("@elementor/ui");
1646
- var import_i18n31 = require("@wordpress/i18n");
1813
+ var import_i18n32 = require("@wordpress/i18n");
1647
1814
  var TextColorField = () => {
1648
- return /* @__PURE__ */ React50.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React50.createElement(import_ui42.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React50.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(import_editor_controls35.ControlLabel, null, (0, import_i18n31.__)("Text Color", "elementor"))), /* @__PURE__ */ React50.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(import_editor_controls35.ColorControl, null))));
1815
+ return /* @__PURE__ */ React52.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React52.createElement(import_ui42.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(import_editor_controls35.ControlLabel, null, (0, import_i18n32.__)("Text Color", "elementor"))), /* @__PURE__ */ React52.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(import_editor_controls35.ColorControl, null))));
1649
1816
  };
1650
1817
 
1651
1818
  // src/components/style-sections/typography-section/text-direction-field.tsx
1652
- var React51 = __toESM(require("react"));
1819
+ var React53 = __toESM(require("react"));
1653
1820
  var import_editor_controls36 = require("@elementor/editor-controls");
1654
- var import_icons16 = require("@elementor/icons");
1821
+ var import_icons18 = require("@elementor/icons");
1655
1822
  var import_ui43 = require("@elementor/ui");
1656
- var import_i18n32 = require("@wordpress/i18n");
1823
+ var import_i18n33 = require("@wordpress/i18n");
1657
1824
  var options8 = [
1658
1825
  {
1659
1826
  value: "ltr",
1660
- label: (0, import_i18n32.__)("Left to Right", "elementor"),
1661
- renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(import_icons16.TextDirectionLtrIcon, { fontSize: size })
1827
+ label: (0, import_i18n33.__)("Left to Right", "elementor"),
1828
+ renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(import_icons18.TextDirectionLtrIcon, { fontSize: size })
1662
1829
  },
1663
1830
  {
1664
1831
  value: "rtl",
1665
- label: (0, import_i18n32.__)("Right to Left", "elementor"),
1666
- renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(import_icons16.TextDirectionRtlIcon, { fontSize: size })
1832
+ label: (0, import_i18n33.__)("Right to Left", "elementor"),
1833
+ renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(import_icons18.TextDirectionRtlIcon, { fontSize: size })
1667
1834
  }
1668
1835
  ];
1669
1836
  var TextDirectionField = () => {
1670
- return /* @__PURE__ */ React51.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React51.createElement(import_ui43.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React51.createElement(import_ui43.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(import_editor_controls36.ControlLabel, null, (0, import_i18n32.__)("Direction", "elementor"))), /* @__PURE__ */ React51.createElement(import_ui43.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React51.createElement(import_editor_controls36.ToggleControl, { options: options8 }))));
1837
+ return /* @__PURE__ */ React53.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React53.createElement(import_ui43.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React53.createElement(import_ui43.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(import_editor_controls36.ControlLabel, null, (0, import_i18n33.__)("Direction", "elementor"))), /* @__PURE__ */ React53.createElement(import_ui43.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React53.createElement(import_editor_controls36.ToggleControl, { options: options8 }))));
1671
1838
  };
1672
1839
 
1673
1840
  // src/components/style-sections/typography-section/text-stroke-field.tsx
1674
- var React52 = __toESM(require("react"));
1841
+ var React54 = __toESM(require("react"));
1675
1842
  var import_editor_controls37 = require("@elementor/editor-controls");
1676
- var import_i18n33 = require("@wordpress/i18n");
1843
+ var import_i18n34 = require("@wordpress/i18n");
1677
1844
  var initTextStroke = {
1678
1845
  $$type: "stroke",
1679
1846
  value: {
@@ -1699,24 +1866,24 @@ var TextStrokeField = () => {
1699
1866
  setTextStroke(null);
1700
1867
  };
1701
1868
  const hasTextStroke = Boolean(textStroke);
1702
- return /* @__PURE__ */ React52.createElement(
1869
+ return /* @__PURE__ */ React54.createElement(
1703
1870
  AddOrRemoveContent,
1704
1871
  {
1705
- label: (0, import_i18n33.__)("Text Stroke", "elementor"),
1872
+ label: (0, import_i18n34.__)("Text Stroke", "elementor"),
1706
1873
  isAdded: hasTextStroke,
1707
1874
  onAdd: addTextStroke,
1708
1875
  onRemove: removeTextStroke
1709
1876
  },
1710
- /* @__PURE__ */ React52.createElement(StylesField, { bind: "-webkit-text-stroke" }, /* @__PURE__ */ React52.createElement(import_editor_controls37.StrokeControl, null))
1877
+ /* @__PURE__ */ React54.createElement(StylesField, { bind: "-webkit-text-stroke" }, /* @__PURE__ */ React54.createElement(import_editor_controls37.StrokeControl, null))
1711
1878
  );
1712
1879
  };
1713
1880
 
1714
1881
  // src/components/style-sections/typography-section/text-style-field.tsx
1715
- var React53 = __toESM(require("react"));
1882
+ var React55 = __toESM(require("react"));
1716
1883
  var import_editor_controls38 = require("@elementor/editor-controls");
1717
- var import_icons17 = require("@elementor/icons");
1884
+ var import_icons19 = require("@elementor/icons");
1718
1885
  var import_ui44 = require("@elementor/ui");
1719
- var import_i18n34 = require("@wordpress/i18n");
1886
+ var import_i18n35 = require("@wordpress/i18n");
1720
1887
  var buttonSize = "tiny";
1721
1888
  var TextStyleField = () => {
1722
1889
  const [fontStyle, setFontStyle] = useStylesField("font-style");
@@ -1740,7 +1907,7 @@ var TextStyleField = () => {
1740
1907
  value: newValue
1741
1908
  });
1742
1909
  };
1743
- return /* @__PURE__ */ React53.createElement(import_ui44.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React53.createElement(import_ui44.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(import_editor_controls38.ControlLabel, null, (0, import_i18n34.__)("Style", "elementor"))), /* @__PURE__ */ React53.createElement(import_ui44.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React53.createElement(import_ui44.ToggleButtonGroup, { value: formats }, /* @__PURE__ */ React53.createElement(
1910
+ return /* @__PURE__ */ React55.createElement(import_ui44.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(import_ui44.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(import_editor_controls38.ControlLabel, null, (0, import_i18n35.__)("Style", "elementor"))), /* @__PURE__ */ React55.createElement(import_ui44.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React55.createElement(import_ui44.ToggleButtonGroup, { value: formats }, /* @__PURE__ */ React55.createElement(
1744
1911
  ToggleButton,
1745
1912
  {
1746
1913
  value: "italic",
@@ -1748,8 +1915,8 @@ var TextStyleField = () => {
1748
1915
  "aria-label": "italic",
1749
1916
  sx: { marginLeft: "auto" }
1750
1917
  },
1751
- /* @__PURE__ */ React53.createElement(import_icons17.ItalicIcon, { fontSize: buttonSize })
1752
- ), /* @__PURE__ */ React53.createElement(
1918
+ /* @__PURE__ */ React55.createElement(import_icons19.ItalicIcon, { fontSize: buttonSize })
1919
+ ), /* @__PURE__ */ React55.createElement(
1753
1920
  ShorthandControl,
1754
1921
  {
1755
1922
  value: "line-through",
@@ -1757,8 +1924,8 @@ var TextStyleField = () => {
1757
1924
  updateValues: handleSetTextDecoration,
1758
1925
  "aria-label": "line-through"
1759
1926
  },
1760
- /* @__PURE__ */ React53.createElement(import_icons17.StrikethroughIcon, { fontSize: buttonSize })
1761
- ), /* @__PURE__ */ React53.createElement(
1927
+ /* @__PURE__ */ React55.createElement(import_icons19.StrikethroughIcon, { fontSize: buttonSize })
1928
+ ), /* @__PURE__ */ React55.createElement(
1762
1929
  ShorthandControl,
1763
1930
  {
1764
1931
  value: "underline",
@@ -1766,7 +1933,7 @@ var TextStyleField = () => {
1766
1933
  updateValues: handleSetTextDecoration,
1767
1934
  "aria-label": "underline"
1768
1935
  },
1769
- /* @__PURE__ */ React53.createElement(import_icons17.UnderlineIcon, { fontSize: buttonSize })
1936
+ /* @__PURE__ */ React55.createElement(import_icons19.UnderlineIcon, { fontSize: buttonSize })
1770
1937
  ))));
1771
1938
  };
1772
1939
  var ShorthandControl = ({
@@ -1785,52 +1952,52 @@ var ShorthandControl = ({
1785
1952
  updateValues([...valuesArr, newValue].join(" "));
1786
1953
  }
1787
1954
  };
1788
- return /* @__PURE__ */ React53.createElement(ToggleButton, { value, onChange: toggleValue, selected, "aria-label": ariaLabel }, children);
1955
+ return /* @__PURE__ */ React55.createElement(ToggleButton, { value, onChange: toggleValue, selected, "aria-label": ariaLabel }, children);
1789
1956
  };
1790
1957
  var ToggleButton = ({ onChange, ...props }) => {
1791
1958
  const handleChange = (_e, newValue) => {
1792
1959
  onChange(newValue);
1793
1960
  };
1794
- return /* @__PURE__ */ React53.createElement(import_ui44.ToggleButton, { ...props, onChange: handleChange, size: buttonSize });
1961
+ return /* @__PURE__ */ React55.createElement(import_ui44.ToggleButton, { ...props, onChange: handleChange, size: buttonSize });
1795
1962
  };
1796
1963
 
1797
1964
  // src/components/style-sections/typography-section/transform-field.tsx
1798
- var React54 = __toESM(require("react"));
1965
+ var React56 = __toESM(require("react"));
1799
1966
  var import_editor_controls39 = require("@elementor/editor-controls");
1800
- var import_icons18 = require("@elementor/icons");
1967
+ var import_icons20 = require("@elementor/icons");
1801
1968
  var import_ui45 = require("@elementor/ui");
1802
- var import_i18n35 = require("@wordpress/i18n");
1969
+ var import_i18n36 = require("@wordpress/i18n");
1803
1970
  var options9 = [
1804
1971
  {
1805
1972
  value: "capitalize",
1806
- label: (0, import_i18n35.__)("Capitalize", "elementor"),
1807
- renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(import_icons18.LetterCaseIcon, { fontSize: size })
1973
+ label: (0, import_i18n36.__)("Capitalize", "elementor"),
1974
+ renderContent: ({ size }) => /* @__PURE__ */ React56.createElement(import_icons20.LetterCaseIcon, { fontSize: size })
1808
1975
  },
1809
1976
  {
1810
1977
  value: "uppercase",
1811
- label: (0, import_i18n35.__)("Uppercase", "elementor"),
1812
- renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(import_icons18.LetterCaseUpperIcon, { fontSize: size })
1978
+ label: (0, import_i18n36.__)("Uppercase", "elementor"),
1979
+ renderContent: ({ size }) => /* @__PURE__ */ React56.createElement(import_icons20.LetterCaseUpperIcon, { fontSize: size })
1813
1980
  },
1814
1981
  {
1815
1982
  value: "lowercase",
1816
- label: (0, import_i18n35.__)("Lowercase", "elementor"),
1817
- renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(import_icons18.LetterCaseLowerIcon, { fontSize: size })
1983
+ label: (0, import_i18n36.__)("Lowercase", "elementor"),
1984
+ renderContent: ({ size }) => /* @__PURE__ */ React56.createElement(import_icons20.LetterCaseLowerIcon, { fontSize: size })
1818
1985
  }
1819
1986
  ];
1820
- var TransformField = () => /* @__PURE__ */ React54.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React54.createElement(import_ui45.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React54.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(import_editor_controls39.ControlLabel, null, (0, import_i18n35.__)("Transform", "elementor"))), /* @__PURE__ */ React54.createElement(import_ui45.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React54.createElement(import_editor_controls39.ToggleControl, { options: options9 }))));
1987
+ var TransformField = () => /* @__PURE__ */ React56.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React56.createElement(import_ui45.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React56.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(import_editor_controls39.ControlLabel, null, (0, import_i18n36.__)("Transform", "elementor"))), /* @__PURE__ */ React56.createElement(import_ui45.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React56.createElement(import_editor_controls39.ToggleControl, { options: options9 }))));
1821
1988
 
1822
1989
  // src/components/style-sections/typography-section/word-spacing-field.tsx
1823
- var React55 = __toESM(require("react"));
1990
+ var React57 = __toESM(require("react"));
1824
1991
  var import_editor_controls40 = require("@elementor/editor-controls");
1825
1992
  var import_ui46 = require("@elementor/ui");
1826
- var import_i18n36 = require("@wordpress/i18n");
1993
+ var import_i18n37 = require("@wordpress/i18n");
1827
1994
  var WordSpacingField = () => {
1828
- return /* @__PURE__ */ React55.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React55.createElement(import_ui46.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(import_editor_controls40.ControlLabel, null, (0, import_i18n36.__)("Word Spacing", "elementor"))), /* @__PURE__ */ React55.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(import_editor_controls40.SizeControl, null))));
1995
+ return /* @__PURE__ */ React57.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React57.createElement(import_ui46.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React57.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(import_editor_controls40.ControlLabel, null, (0, import_i18n37.__)("Word Spacing", "elementor"))), /* @__PURE__ */ React57.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(import_editor_controls40.SizeControl, null))));
1829
1996
  };
1830
1997
 
1831
1998
  // src/components/style-sections/typography-section/typography-section.tsx
1832
1999
  var TypographySection = () => {
1833
- return /* @__PURE__ */ React56.createElement(import_ui47.Stack, { gap: 1.5 }, /* @__PURE__ */ React56.createElement(FontFamilyField, null), /* @__PURE__ */ React56.createElement(FontWeightField, null), /* @__PURE__ */ React56.createElement(FontSizeField, null), /* @__PURE__ */ React56.createElement(import_ui47.Divider, null), /* @__PURE__ */ React56.createElement(TextAlignmentField, null), /* @__PURE__ */ React56.createElement(TextColorField, null), /* @__PURE__ */ React56.createElement(CollapsibleContent, null, /* @__PURE__ */ React56.createElement(import_ui47.Stack, { gap: 1.5, sx: { pt: 1.5 } }, /* @__PURE__ */ React56.createElement(LineHeightField, null), /* @__PURE__ */ React56.createElement(LetterSpacingField, null), /* @__PURE__ */ React56.createElement(WordSpacingField, null), /* @__PURE__ */ React56.createElement(import_ui47.Divider, null), /* @__PURE__ */ React56.createElement(TextStyleField, null), /* @__PURE__ */ React56.createElement(TransformField, null), /* @__PURE__ */ React56.createElement(TextDirectionField, null), /* @__PURE__ */ React56.createElement(TextStrokeField, null))));
2000
+ return /* @__PURE__ */ React58.createElement(import_ui47.Stack, { gap: 1.5 }, /* @__PURE__ */ React58.createElement(FontFamilyField, null), /* @__PURE__ */ React58.createElement(FontWeightField, null), /* @__PURE__ */ React58.createElement(FontSizeField, null), /* @__PURE__ */ React58.createElement(import_ui47.Divider, null), /* @__PURE__ */ React58.createElement(TextAlignmentField, null), /* @__PURE__ */ React58.createElement(TextColorField, null), /* @__PURE__ */ React58.createElement(CollapsibleContent, null, /* @__PURE__ */ React58.createElement(import_ui47.Stack, { gap: 1.5, sx: { pt: 1.5 } }, /* @__PURE__ */ React58.createElement(LineHeightField, null), /* @__PURE__ */ React58.createElement(LetterSpacingField, null), /* @__PURE__ */ React58.createElement(WordSpacingField, null), /* @__PURE__ */ React58.createElement(import_ui47.Divider, null), /* @__PURE__ */ React58.createElement(TextStyleField, null), /* @__PURE__ */ React58.createElement(TransformField, null), /* @__PURE__ */ React58.createElement(TextDirectionField, null), /* @__PURE__ */ React58.createElement(TextStrokeField, null))));
1834
2001
  };
1835
2002
 
1836
2003
  // src/components/style-tab.tsx
@@ -1838,11 +2005,26 @@ var CLASSES_PROP_KEY = "classes";
1838
2005
  var StyleTab = () => {
1839
2006
  const currentClassesProp = useCurrentClassesProp();
1840
2007
  const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
2008
+ const [activeStyleState, setActiveStyleState] = (0, import_react14.useState)(null);
1841
2009
  const breakpoint = (0, import_editor_responsive.useActiveBreakpoint)();
1842
- return /* @__PURE__ */ React57.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React57.createElement(StyleProvider, { meta: { breakpoint, state: null }, id: activeStyleDefId, setId: setActiveStyleDefId }, /* @__PURE__ */ React57.createElement(CssClassSelector, null), /* @__PURE__ */ React57.createElement(import_ui48.Divider, null), /* @__PURE__ */ React57.createElement(SectionsList, null, /* @__PURE__ */ React57.createElement(Section, { title: (0, import_i18n37.__)("Layout", "elementor") }, /* @__PURE__ */ React57.createElement(LayoutSection, null)), /* @__PURE__ */ React57.createElement(Section, { title: (0, import_i18n37.__)("Spacing", "elementor") }, /* @__PURE__ */ React57.createElement(SpacingSection, null)), /* @__PURE__ */ React57.createElement(Section, { title: (0, import_i18n37.__)("Size", "elementor") }, /* @__PURE__ */ React57.createElement(SizeSection, null)), /* @__PURE__ */ React57.createElement(Section, { title: (0, import_i18n37.__)("Position", "elementor") }, /* @__PURE__ */ React57.createElement(PositionSection, null)), /* @__PURE__ */ React57.createElement(Section, { title: (0, import_i18n37.__)("Typography", "elementor") }, /* @__PURE__ */ React57.createElement(TypographySection, null)), /* @__PURE__ */ React57.createElement(Section, { title: (0, import_i18n37.__)("Background", "elementor") }, /* @__PURE__ */ React57.createElement(BackgroundSection, null)), /* @__PURE__ */ React57.createElement(Section, { title: (0, import_i18n37.__)("Border", "elementor") }, /* @__PURE__ */ React57.createElement(BorderSection, null)), /* @__PURE__ */ React57.createElement(Section, { title: (0, import_i18n37.__)("Effects", "elementor") }, /* @__PURE__ */ React57.createElement(EffectsSection, null)))));
2010
+ return /* @__PURE__ */ React59.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React59.createElement(
2011
+ StyleProvider,
2012
+ {
2013
+ meta: { breakpoint, state: activeStyleState },
2014
+ id: activeStyleDefId,
2015
+ setId: (id) => {
2016
+ setActiveStyleDefId(id);
2017
+ setActiveStyleState(null);
2018
+ },
2019
+ setMetaState: setActiveStyleState
2020
+ },
2021
+ /* @__PURE__ */ React59.createElement(CssClassSelector, null),
2022
+ /* @__PURE__ */ React59.createElement(import_ui48.Divider, null),
2023
+ /* @__PURE__ */ React59.createElement(SectionsList, null, /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Layout", "elementor") }, /* @__PURE__ */ React59.createElement(LayoutSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Spacing", "elementor") }, /* @__PURE__ */ React59.createElement(SpacingSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Size", "elementor") }, /* @__PURE__ */ React59.createElement(SizeSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Position", "elementor") }, /* @__PURE__ */ React59.createElement(PositionSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Typography", "elementor") }, /* @__PURE__ */ React59.createElement(TypographySection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Background", "elementor") }, /* @__PURE__ */ React59.createElement(BackgroundSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Border", "elementor") }, /* @__PURE__ */ React59.createElement(BorderSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Effects", "elementor") }, /* @__PURE__ */ React59.createElement(EffectsSection, null)))
2024
+ ));
1843
2025
  };
1844
2026
  function useActiveStyleDefId(currentClassesProp) {
1845
- const [activeStyledDefId, setActiveStyledDefId] = (0, import_react11.useState)(null);
2027
+ const [activeStyledDefId, setActiveStyledDefId] = (0, import_react14.useState)(null);
1846
2028
  const fallback = useFirstElementStyleDef(currentClassesProp);
1847
2029
  return [activeStyledDefId || fallback?.id || null, setActiveStyledDefId];
1848
2030
  }
@@ -1855,7 +2037,7 @@ function useFirstElementStyleDef(currentClassesProp) {
1855
2037
  function useCurrentClassesProp() {
1856
2038
  const { elementType } = useElement();
1857
2039
  const prop = Object.entries(elementType.propsSchema).find(
1858
- ([, propType]) => propType.kind === "array" && propType.key === CLASSES_PROP_KEY
2040
+ ([, propType]) => propType.kind === "plain" && propType.key === CLASSES_PROP_KEY
1859
2041
  );
1860
2042
  if (!prop) {
1861
2043
  throw new Error("Element does not have a classes prop");
@@ -1870,7 +2052,7 @@ var EditingPanelTabs = () => {
1870
2052
  return (
1871
2053
  // When switching between elements, the local states should be reset. We are using key to rerender the tabs.
1872
2054
  // Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
1873
- /* @__PURE__ */ React58.createElement(import_react12.Fragment, { key: element.id }, /* @__PURE__ */ React58.createElement(import_ui49.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React58.createElement(import_ui49.Tabs, { variant: "fullWidth", indicatorColor: "secondary", textColor: "inherit", ...getTabsProps() }, /* @__PURE__ */ React58.createElement(import_ui49.Tab, { label: (0, import_i18n38.__)("General", "elementor"), ...getTabProps("settings") }), /* @__PURE__ */ React58.createElement(import_ui49.Tab, { label: (0, import_i18n38.__)("Style", "elementor"), ...getTabProps("style") })), /* @__PURE__ */ React58.createElement(import_ui49.Divider, null), /* @__PURE__ */ React58.createElement(import_ui49.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React58.createElement(SettingsTab, null)), /* @__PURE__ */ React58.createElement(import_ui49.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React58.createElement(StyleTab, null))))
2055
+ /* @__PURE__ */ React60.createElement(import_react15.Fragment, { key: element.id }, /* @__PURE__ */ React60.createElement(import_ui49.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React60.createElement(import_ui49.Tabs, { variant: "fullWidth", indicatorColor: "secondary", textColor: "inherit", ...getTabsProps() }, /* @__PURE__ */ React60.createElement(import_ui49.Tab, { label: (0, import_i18n39.__)("General", "elementor"), ...getTabProps("settings") }), /* @__PURE__ */ React60.createElement(import_ui49.Tab, { label: (0, import_i18n39.__)("Style", "elementor"), ...getTabProps("style") })), /* @__PURE__ */ React60.createElement(import_ui49.Divider, null), /* @__PURE__ */ React60.createElement(import_ui49.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React60.createElement(SettingsTab, null)), /* @__PURE__ */ React60.createElement(import_ui49.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React60.createElement(StyleTab, null))))
1874
2056
  );
1875
2057
  };
1876
2058
 
@@ -1883,8 +2065,8 @@ var EditingPanel = () => {
1883
2065
  if (!element || !elementType) {
1884
2066
  return null;
1885
2067
  }
1886
- const panelTitle = (0, import_i18n39.__)("Edit %s", "elementor").replace("%s", elementType.title);
1887
- return /* @__PURE__ */ React59.createElement(import_ui50.ErrorBoundary, { fallback: /* @__PURE__ */ React59.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React59.createElement(import_editor_panels.Panel, null, /* @__PURE__ */ React59.createElement(import_editor_panels.PanelHeader, null, /* @__PURE__ */ React59.createElement(import_editor_panels.PanelHeaderTitle, null, panelTitle)), /* @__PURE__ */ React59.createElement(import_editor_panels.PanelBody, null, /* @__PURE__ */ React59.createElement(import_editor_controls41.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React59.createElement(import_editor_controls41.ControlReplacementProvider, { ...controlReplacement }, /* @__PURE__ */ React59.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React59.createElement(EditingPanelTabs, null)))))));
2068
+ const panelTitle = (0, import_i18n40.__)("Edit %s", "elementor").replace("%s", elementType.title);
2069
+ return /* @__PURE__ */ React61.createElement(import_ui50.ErrorBoundary, { fallback: /* @__PURE__ */ React61.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React61.createElement(import_editor_panels.Panel, null, /* @__PURE__ */ React61.createElement(import_editor_panels.PanelHeader, null, /* @__PURE__ */ React61.createElement(import_editor_panels.PanelHeaderTitle, null, panelTitle)), /* @__PURE__ */ React61.createElement(import_editor_panels.PanelBody, null, /* @__PURE__ */ React61.createElement(import_editor_controls41.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React61.createElement(import_editor_controls41.ControlReplacementProvider, { ...controlReplacement }, /* @__PURE__ */ React61.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React61.createElement(EditingPanelTabs, null)))))));
1888
2070
  };
1889
2071
 
1890
2072
  // src/panel.ts
@@ -1907,7 +2089,7 @@ var isAtomicWidgetSelected = () => {
1907
2089
  // src/hooks/use-close-editor-panel.ts
1908
2090
  var useCloseEditorPanel = () => {
1909
2091
  const { close } = usePanelActions();
1910
- return (0, import_react13.useEffect)(() => {
2092
+ return (0, import_react16.useEffect)(() => {
1911
2093
  return (0, import_editor_v1_adapters2.__privateListenTo)((0, import_editor_v1_adapters2.commandStartEvent)("document/elements/delete"), (e) => {
1912
2094
  const selectedElement = (0, import_editor_elements8.getSelectedElements)()[0];
1913
2095
  const { container: deletedContainer } = e?.args;
@@ -1920,11 +2102,11 @@ var useCloseEditorPanel = () => {
1920
2102
  };
1921
2103
 
1922
2104
  // src/hooks/use-open-editor-panel.ts
1923
- var import_react14 = require("react");
2105
+ var import_react17 = require("react");
1924
2106
  var import_editor_v1_adapters3 = require("@elementor/editor-v1-adapters");
1925
2107
  var useOpenEditorPanel = () => {
1926
2108
  const { open } = usePanelActions();
1927
- (0, import_react14.useEffect)(() => {
2109
+ (0, import_react17.useEffect)(() => {
1928
2110
  return (0, import_editor_v1_adapters3.__privateListenTo)((0, import_editor_v1_adapters3.commandStartEvent)("panel/editor/open"), () => {
1929
2111
  if (isAtomicWidgetSelected()) {
1930
2112
  open();
@@ -1940,13 +2122,38 @@ var EditingPanelHooks = () => {
1940
2122
  return null;
1941
2123
  };
1942
2124
 
2125
+ // src/css-classes.ts
2126
+ var STATES = ["hover", "focus", "active"];
2127
+ function initCssClasses() {
2128
+ registerStateItems();
2129
+ registerGlobalClassItems();
2130
+ }
2131
+ function registerStateItems() {
2132
+ registerStateMenuItem({
2133
+ id: "normal",
2134
+ props: {
2135
+ state: null
2136
+ }
2137
+ });
2138
+ STATES.forEach((state) => {
2139
+ registerStateMenuItem({
2140
+ id: state,
2141
+ props: {
2142
+ state
2143
+ }
2144
+ });
2145
+ });
2146
+ }
2147
+ function registerGlobalClassItems() {
2148
+ }
2149
+
1943
2150
  // src/dynamics/components/dynamic-selection-control.tsx
1944
- var React62 = __toESM(require("react"));
1945
- var import_react18 = require("react");
1946
- var import_editor_controls44 = require("@elementor/editor-controls");
1947
- var import_icons20 = require("@elementor/icons");
2151
+ var React64 = __toESM(require("react"));
2152
+ var import_react21 = require("react");
2153
+ var import_editor_controls45 = require("@elementor/editor-controls");
2154
+ var import_icons22 = require("@elementor/icons");
1948
2155
  var import_ui52 = require("@elementor/ui");
1949
- var import_i18n41 = require("@wordpress/i18n");
2156
+ var import_i18n42 = require("@wordpress/i18n");
1950
2157
 
1951
2158
  // src/hooks/use-persist-dynamic-value.ts
1952
2159
  var usePersistDynamicValue = (propKey) => {
@@ -1956,14 +2163,15 @@ var usePersistDynamicValue = (propKey) => {
1956
2163
  };
1957
2164
 
1958
2165
  // src/dynamics/dynamic-control.tsx
1959
- var React60 = __toESM(require("react"));
1960
- var import_editor_controls42 = require("@elementor/editor-controls");
2166
+ var React62 = __toESM(require("react"));
2167
+ var import_editor_controls43 = require("@elementor/editor-controls");
1961
2168
 
1962
2169
  // src/dynamics/hooks/use-dynamic-tag.ts
1963
- var import_react16 = require("react");
2170
+ var import_react19 = require("react");
1964
2171
 
1965
2172
  // src/dynamics/hooks/use-prop-dynamic-tags.ts
1966
- var import_react15 = require("react");
2173
+ var import_react18 = require("react");
2174
+ var import_editor_controls42 = require("@elementor/editor-controls");
1967
2175
 
1968
2176
  // src/dynamics/sync/get-elementor-config.ts
1969
2177
  var getElementorConfig2 = () => {
@@ -2002,20 +2210,19 @@ var dynamicPropTypeUtil = (0, import_editor_props4.createPropUtils)(
2002
2210
  DYNAMIC_PROP_TYPE_KEY,
2003
2211
  import_schema.z.strictObject({
2004
2212
  name: import_schema.z.string(),
2005
- settings: import_schema.z.record(import_schema.z.any()).optional()
2213
+ settings: import_schema.z.any().optional()
2006
2214
  })
2007
2215
  );
2008
2216
 
2009
2217
  // src/dynamics/hooks/use-prop-dynamic-tags.ts
2010
- var usePropDynamicTags = (propName) => {
2218
+ var usePropDynamicTags = () => {
2011
2219
  let categories = [];
2012
- const { elementType } = useElement();
2013
- const propType = elementType.propsSchema?.[propName];
2220
+ const { propType } = (0, import_editor_controls42.useBoundProp)();
2014
2221
  if (propType) {
2015
2222
  const propDynamicType = getDynamicPropType(propType);
2016
2223
  categories = propDynamicType?.settings.categories || [];
2017
2224
  }
2018
- return (0, import_react15.useMemo)(() => getDynamicTagsByCategories(categories), [categories.join()]);
2225
+ return (0, import_react18.useMemo)(() => getDynamicTagsByCategories(categories), [categories.join()]);
2019
2226
  };
2020
2227
  var getDynamicTagsByCategories = (categories) => {
2021
2228
  const dynamicTags = getAtomicDynamicTags();
@@ -2029,49 +2236,51 @@ var getDynamicTagsByCategories = (categories) => {
2029
2236
  };
2030
2237
 
2031
2238
  // src/dynamics/hooks/use-dynamic-tag.ts
2032
- var useDynamicTag = (propName, tagName) => {
2033
- const dynamicTags = usePropDynamicTags(propName);
2034
- return (0, import_react16.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
2239
+ var useDynamicTag = (tagName) => {
2240
+ const dynamicTags = usePropDynamicTags();
2241
+ return (0, import_react19.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
2035
2242
  };
2036
2243
 
2037
2244
  // src/dynamics/dynamic-control.tsx
2038
2245
  var DynamicControl = ({ bind, children }) => {
2039
- const { value, setValue, bind: propName } = (0, import_editor_controls42.useBoundProp)(dynamicPropTypeUtil);
2246
+ const { value, setValue } = (0, import_editor_controls43.useBoundProp)(dynamicPropTypeUtil);
2040
2247
  const { name = "", settings } = value ?? {};
2041
- const dynamicTag = useDynamicTag(propName, name);
2248
+ const dynamicTag = useDynamicTag(name);
2042
2249
  if (!dynamicTag) {
2043
2250
  throw new Error(`Dynamic tag ${name} not found`);
2044
2251
  }
2045
- const defaultValue = dynamicTag.props_schema[bind]?.default;
2252
+ const dynamicPropType = dynamicTag.props_schema[bind];
2253
+ const defaultValue = dynamicPropType?.default;
2046
2254
  const dynamicValue = settings?.[bind] ?? defaultValue;
2047
- const setDynamicValue = (newValue) => {
2255
+ const setDynamicValue = (newValues) => {
2048
2256
  setValue({
2049
2257
  name,
2050
2258
  settings: {
2051
2259
  ...settings,
2052
- [bind]: newValue
2260
+ ...newValues
2053
2261
  }
2054
2262
  });
2055
2263
  };
2056
- return /* @__PURE__ */ React60.createElement(import_editor_controls42.BoundPropProvider, { setValue: setDynamicValue, value: dynamicValue, bind }, children);
2264
+ const propType = createTopLevelOjectType({ schema: dynamicTag.props_schema });
2265
+ return /* @__PURE__ */ React62.createElement(import_editor_controls43.PropProvider, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React62.createElement(import_editor_controls43.PropKeyProvider, { bind }, children));
2057
2266
  };
2058
2267
 
2059
2268
  // src/dynamics/components/dynamic-selection.tsx
2060
- var React61 = __toESM(require("react"));
2061
- var import_react17 = require("react");
2062
- var import_editor_controls43 = require("@elementor/editor-controls");
2063
- var import_icons19 = require("@elementor/icons");
2269
+ var React63 = __toESM(require("react"));
2270
+ var import_react20 = require("react");
2271
+ var import_editor_controls44 = require("@elementor/editor-controls");
2272
+ var import_icons21 = require("@elementor/icons");
2064
2273
  var import_ui51 = require("@elementor/ui");
2065
- var import_i18n40 = require("@wordpress/i18n");
2274
+ var import_i18n41 = require("@wordpress/i18n");
2066
2275
  var SIZE3 = "tiny";
2067
2276
  var DynamicSelection = ({ onSelect }) => {
2068
- const [searchValue, setSearchValue] = (0, import_react17.useState)("");
2277
+ const [searchValue, setSearchValue] = (0, import_react20.useState)("");
2069
2278
  const { groups: dynamicGroups } = getAtomicDynamicTags() || {};
2070
- const { value: anyValue } = (0, import_editor_controls43.useBoundProp)();
2071
- const { bind, value: dynamicValue, setValue } = (0, import_editor_controls43.useBoundProp)(dynamicPropTypeUtil);
2279
+ const { value: anyValue } = (0, import_editor_controls44.useBoundProp)();
2280
+ const { bind, value: dynamicValue, setValue } = (0, import_editor_controls44.useBoundProp)(dynamicPropTypeUtil);
2072
2281
  const [, updatePropValueHistory] = usePersistDynamicValue(bind);
2073
2282
  const isCurrentValueDynamic = !!dynamicValue;
2074
- const options10 = useFilteredOptions(bind, searchValue);
2283
+ const options10 = useFilteredOptions(searchValue);
2075
2284
  const handleSearch = (event) => {
2076
2285
  setSearchValue(event.target.value);
2077
2286
  };
@@ -2082,21 +2291,21 @@ var DynamicSelection = ({ onSelect }) => {
2082
2291
  setValue({ name: value, settings: {} });
2083
2292
  onSelect?.();
2084
2293
  };
2085
- return /* @__PURE__ */ React61.createElement(import_ui51.Stack, null, /* @__PURE__ */ React61.createElement(import_ui51.Box, { px: 1.5, pb: 1 }, /* @__PURE__ */ React61.createElement(
2294
+ return /* @__PURE__ */ React63.createElement(import_ui51.Stack, null, /* @__PURE__ */ React63.createElement(import_ui51.Box, { px: 1.5, pb: 1 }, /* @__PURE__ */ React63.createElement(
2086
2295
  import_ui51.TextField,
2087
2296
  {
2088
2297
  fullWidth: true,
2089
2298
  size: SIZE3,
2090
2299
  value: searchValue,
2091
2300
  onChange: handleSearch,
2092
- placeholder: (0, import_i18n40.__)("Search dynamic tag", "elementor"),
2301
+ placeholder: (0, import_i18n41.__)("Search dynamic tag", "elementor"),
2093
2302
  InputProps: {
2094
- startAdornment: /* @__PURE__ */ React61.createElement(import_ui51.InputAdornment, { position: "start" }, /* @__PURE__ */ React61.createElement(import_icons19.SearchIcon, { fontSize: SIZE3 }))
2303
+ startAdornment: /* @__PURE__ */ React63.createElement(import_ui51.InputAdornment, { position: "start" }, /* @__PURE__ */ React63.createElement(import_icons21.SearchIcon, { fontSize: SIZE3 }))
2095
2304
  }
2096
2305
  }
2097
- )), /* @__PURE__ */ React61.createElement(import_ui51.Divider, null), /* @__PURE__ */ React61.createElement(import_ui51.Box, { sx: { overflowY: "auto", height: 260, width: 220 } }, options10.length > 0 ? /* @__PURE__ */ React61.createElement(import_ui51.MenuList, { role: "listbox", tabIndex: 0 }, options10.map(([category, items3], index) => /* @__PURE__ */ React61.createElement(import_react17.Fragment, { key: index }, /* @__PURE__ */ React61.createElement(import_ui51.ListSubheader, { sx: { typography: "caption", color: "text.tertiary" } }, dynamicGroups?.[category]?.title || category), items3.map(({ value, label: tagLabel }) => {
2306
+ )), /* @__PURE__ */ React63.createElement(import_ui51.Divider, null), /* @__PURE__ */ React63.createElement(import_ui51.Box, { sx: { overflowY: "auto", height: 260, width: 220 } }, options10.length > 0 ? /* @__PURE__ */ React63.createElement(import_ui51.MenuList, { role: "listbox", tabIndex: 0 }, options10.map(([category, items3], index) => /* @__PURE__ */ React63.createElement(import_react20.Fragment, { key: index }, /* @__PURE__ */ React63.createElement(import_ui51.ListSubheader, { sx: { typography: "caption", color: "text.tertiary" } }, dynamicGroups?.[category]?.title || category), items3.map(({ value, label: tagLabel }) => {
2098
2307
  const isSelected = isCurrentValueDynamic && value === dynamicValue?.name;
2099
- return /* @__PURE__ */ React61.createElement(
2308
+ return /* @__PURE__ */ React63.createElement(
2100
2309
  import_ui51.MenuItem,
2101
2310
  {
2102
2311
  key: value,
@@ -2107,7 +2316,7 @@ var DynamicSelection = ({ onSelect }) => {
2107
2316
  },
2108
2317
  tagLabel
2109
2318
  );
2110
- })))) : /* @__PURE__ */ React61.createElement(import_ui51.Stack, { alignItems: "center", p: 2.5, gap: 1.5 }, /* @__PURE__ */ React61.createElement(import_icons19.PhotoIcon, { fontSize: "large" }), /* @__PURE__ */ React61.createElement(import_ui51.Typography, { align: "center", variant: "caption", color: "text.secondary" }, (0, import_i18n40.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React61.createElement("br", null), "\u201C", searchValue, "\u201D."), /* @__PURE__ */ React61.createElement(import_ui51.Typography, { align: "center", variant: "caption", color: "text.secondary" }, /* @__PURE__ */ React61.createElement(
2319
+ })))) : /* @__PURE__ */ React63.createElement(import_ui51.Stack, { alignItems: "center", p: 2.5, gap: 1.5 }, /* @__PURE__ */ React63.createElement(import_icons21.PhotoIcon, { fontSize: "large" }), /* @__PURE__ */ React63.createElement(import_ui51.Typography, { align: "center", variant: "caption", color: "text.secondary" }, (0, import_i18n41.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React63.createElement("br", null), "\u201C", searchValue, "\u201D."), /* @__PURE__ */ React63.createElement(import_ui51.Typography, { align: "center", variant: "caption", color: "text.secondary" }, /* @__PURE__ */ React63.createElement(
2111
2320
  import_ui51.Link,
2112
2321
  {
2113
2322
  color: "secondary",
@@ -2115,11 +2324,11 @@ var DynamicSelection = ({ onSelect }) => {
2115
2324
  component: "button",
2116
2325
  onClick: () => setSearchValue("")
2117
2326
  },
2118
- (0, import_i18n40.__)("Clear the filters", "elementor")
2119
- ), "\xA0", (0, import_i18n40.__)("and try again.", "elementor")))));
2327
+ (0, import_i18n41.__)("Clear the filters", "elementor")
2328
+ ), "\xA0", (0, import_i18n41.__)("and try again.", "elementor")))));
2120
2329
  };
2121
- var useFilteredOptions = (bind, searchValue) => {
2122
- const dynamicTags = usePropDynamicTags(bind);
2330
+ var useFilteredOptions = (searchValue) => {
2331
+ const dynamicTags = usePropDynamicTags();
2123
2332
  const options10 = dynamicTags.reduce((categories, { name, label, group }) => {
2124
2333
  const isVisible = label.toLowerCase().includes(searchValue.trim().toLowerCase());
2125
2334
  if (!isVisible) {
@@ -2137,38 +2346,38 @@ var useFilteredOptions = (bind, searchValue) => {
2137
2346
  // src/dynamics/components/dynamic-selection-control.tsx
2138
2347
  var SIZE4 = "tiny";
2139
2348
  var DynamicSelectionControl = () => {
2140
- const { setValue: setAnyValue } = (0, import_editor_controls44.useBoundProp)();
2141
- const { bind, value } = (0, import_editor_controls44.useBoundProp)(dynamicPropTypeUtil);
2349
+ const { setValue: setAnyValue } = (0, import_editor_controls45.useBoundProp)();
2350
+ const { bind, value } = (0, import_editor_controls45.useBoundProp)(dynamicPropTypeUtil);
2142
2351
  const [propValueFromHistory] = usePersistDynamicValue(bind);
2143
2352
  const { name: tagName = "" } = value;
2144
- const selectionPopoverId = (0, import_react18.useId)();
2353
+ const selectionPopoverId = (0, import_react21.useId)();
2145
2354
  const selectionPopoverState = (0, import_ui52.usePopupState)({ variant: "popover", popupId: selectionPopoverId });
2146
- const dynamicTag = useDynamicTag(bind, tagName);
2355
+ const dynamicTag = useDynamicTag(tagName);
2147
2356
  const removeDynamicTag = () => {
2148
2357
  setAnyValue(propValueFromHistory ?? null);
2149
2358
  };
2150
2359
  if (!dynamicTag) {
2151
2360
  throw new Error(`Dynamic tag ${tagName} not found`);
2152
2361
  }
2153
- return /* @__PURE__ */ React62.createElement(import_ui52.Box, null, /* @__PURE__ */ React62.createElement(
2362
+ return /* @__PURE__ */ React64.createElement(import_ui52.Box, null, /* @__PURE__ */ React64.createElement(
2154
2363
  import_ui52.UnstableTag,
2155
2364
  {
2156
2365
  fullWidth: true,
2157
2366
  showActionsOnHover: true,
2158
2367
  label: dynamicTag.label,
2159
- startIcon: /* @__PURE__ */ React62.createElement(import_icons20.DatabaseIcon, { fontSize: SIZE4 }),
2368
+ startIcon: /* @__PURE__ */ React64.createElement(import_icons22.DatabaseIcon, { fontSize: SIZE4 }),
2160
2369
  ...(0, import_ui52.bindTrigger)(selectionPopoverState),
2161
- actions: /* @__PURE__ */ React62.createElement(React62.Fragment, null, /* @__PURE__ */ React62.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React62.createElement(
2370
+ actions: /* @__PURE__ */ React64.createElement(React64.Fragment, null, /* @__PURE__ */ React64.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React64.createElement(
2162
2371
  import_ui52.IconButton,
2163
2372
  {
2164
2373
  size: SIZE4,
2165
2374
  onClick: removeDynamicTag,
2166
- "aria-label": (0, import_i18n41.__)("Remove dynamic value", "elementor")
2375
+ "aria-label": (0, import_i18n42.__)("Remove dynamic value", "elementor")
2167
2376
  },
2168
- /* @__PURE__ */ React62.createElement(import_icons20.XIcon, { fontSize: SIZE4 })
2377
+ /* @__PURE__ */ React64.createElement(import_icons22.XIcon, { fontSize: SIZE4 })
2169
2378
  ))
2170
2379
  }
2171
- ), /* @__PURE__ */ React62.createElement(
2380
+ ), /* @__PURE__ */ React64.createElement(
2172
2381
  import_ui52.Popover,
2173
2382
  {
2174
2383
  disablePortal: true,
@@ -2176,32 +2385,32 @@ var DynamicSelectionControl = () => {
2176
2385
  anchorOrigin: { vertical: "bottom", horizontal: "left" },
2177
2386
  ...(0, import_ui52.bindPopover)(selectionPopoverState)
2178
2387
  },
2179
- /* @__PURE__ */ React62.createElement(import_ui52.Stack, null, /* @__PURE__ */ React62.createElement(import_ui52.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React62.createElement(import_icons20.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React62.createElement(import_ui52.Typography, { variant: "subtitle2" }, (0, import_i18n41.__)("Dynamic Tags", "elementor")), /* @__PURE__ */ React62.createElement(import_ui52.IconButton, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React62.createElement(import_icons20.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React62.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
2388
+ /* @__PURE__ */ React64.createElement(import_ui52.Stack, null, /* @__PURE__ */ React64.createElement(import_ui52.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React64.createElement(import_icons22.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React64.createElement(import_ui52.Typography, { variant: "subtitle2" }, (0, import_i18n42.__)("Dynamic Tags", "elementor")), /* @__PURE__ */ React64.createElement(import_ui52.IconButton, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React64.createElement(import_icons22.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React64.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
2180
2389
  ));
2181
2390
  };
2182
2391
  var DynamicSettingsPopover = ({ dynamicTag }) => {
2183
- const popupId = (0, import_react18.useId)();
2392
+ const popupId = (0, import_react21.useId)();
2184
2393
  const settingsPopupState = (0, import_ui52.usePopupState)({ variant: "popover", popupId });
2185
2394
  const hasDynamicSettings = !!dynamicTag.atomic_controls.length;
2186
2395
  if (!hasDynamicSettings) {
2187
2396
  return null;
2188
2397
  }
2189
- return /* @__PURE__ */ React62.createElement(React62.Fragment, null, /* @__PURE__ */ React62.createElement(
2398
+ return /* @__PURE__ */ React64.createElement(React64.Fragment, null, /* @__PURE__ */ React64.createElement(
2190
2399
  import_ui52.IconButton,
2191
2400
  {
2192
2401
  size: SIZE4,
2193
2402
  ...(0, import_ui52.bindTrigger)(settingsPopupState),
2194
- "aria-label": (0, import_i18n41.__)("Settings", "elementor")
2403
+ "aria-label": (0, import_i18n42.__)("Settings", "elementor")
2195
2404
  },
2196
- /* @__PURE__ */ React62.createElement(import_icons20.SettingsIcon, { fontSize: SIZE4 })
2197
- ), /* @__PURE__ */ React62.createElement(
2405
+ /* @__PURE__ */ React64.createElement(import_icons22.SettingsIcon, { fontSize: SIZE4 })
2406
+ ), /* @__PURE__ */ React64.createElement(
2198
2407
  import_ui52.Popover,
2199
2408
  {
2200
2409
  disableScrollLock: true,
2201
2410
  anchorOrigin: { vertical: "bottom", horizontal: "center" },
2202
2411
  ...(0, import_ui52.bindPopover)(settingsPopupState)
2203
2412
  },
2204
- /* @__PURE__ */ React62.createElement(import_ui52.Paper, { component: import_ui52.Stack, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React62.createElement(import_ui52.Stack, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React62.createElement(import_icons20.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React62.createElement(import_ui52.Typography, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React62.createElement(import_ui52.IconButton, { sx: { ml: "auto" }, size: SIZE4, onClick: settingsPopupState.close }, /* @__PURE__ */ React62.createElement(import_icons20.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React62.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
2413
+ /* @__PURE__ */ React64.createElement(import_ui52.Paper, { component: import_ui52.Stack, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React64.createElement(import_ui52.Stack, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React64.createElement(import_icons22.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React64.createElement(import_ui52.Typography, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React64.createElement(import_ui52.IconButton, { sx: { ml: "auto" }, size: SIZE4, onClick: settingsPopupState.close }, /* @__PURE__ */ React64.createElement(import_icons22.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React64.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
2205
2414
  ));
2206
2415
  };
2207
2416
  var DynamicSettings = ({ controls }) => {
@@ -2210,10 +2419,10 @@ var DynamicSettings = ({ controls }) => {
2210
2419
  if (!tabs.length) {
2211
2420
  return null;
2212
2421
  }
2213
- return /* @__PURE__ */ React62.createElement(React62.Fragment, null, /* @__PURE__ */ React62.createElement(import_ui52.Tabs, { indicatorColor: "secondary", textColor: "secondary", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React62.createElement(import_ui52.Tab, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React62.createElement(import_ui52.Divider, null), tabs.map(({ value }, index) => {
2214
- return /* @__PURE__ */ React62.createElement(import_ui52.TabPanel, { key: index, sx: { flexGrow: 1 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React62.createElement(import_ui52.Stack, { gap: 1, px: 2 }, value.items.map((item) => {
2422
+ return /* @__PURE__ */ React64.createElement(React64.Fragment, null, /* @__PURE__ */ React64.createElement(import_ui52.Tabs, { indicatorColor: "secondary", textColor: "secondary", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React64.createElement(import_ui52.Tab, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React64.createElement(import_ui52.Divider, null), tabs.map(({ value }, index) => {
2423
+ return /* @__PURE__ */ React64.createElement(import_ui52.TabPanel, { key: index, sx: { flexGrow: 1 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React64.createElement(import_ui52.Stack, { gap: 1, px: 2 }, value.items.map((item) => {
2215
2424
  if (item.type === "control") {
2216
- return /* @__PURE__ */ React62.createElement(Control3, { key: item.value.bind, control: item.value });
2425
+ return /* @__PURE__ */ React64.createElement(Control3, { key: item.value.bind, control: item.value });
2217
2426
  }
2218
2427
  return null;
2219
2428
  })));
@@ -2223,24 +2432,22 @@ var Control3 = ({ control }) => {
2223
2432
  if (!getControlByType(control.type)) {
2224
2433
  return null;
2225
2434
  }
2226
- return /* @__PURE__ */ React62.createElement(DynamicControl, { bind: control.bind }, control.label ? /* @__PURE__ */ React62.createElement(import_editor_controls44.ControlLabel, null, control.label) : null, /* @__PURE__ */ React62.createElement(Control, { type: control.type, props: control.props }));
2435
+ return /* @__PURE__ */ React64.createElement(DynamicControl, { bind: control.bind }, control.label ? /* @__PURE__ */ React64.createElement(import_editor_controls45.ControlLabel, null, control.label) : null, /* @__PURE__ */ React64.createElement(Control, { type: control.type, props: control.props }));
2227
2436
  };
2228
2437
 
2229
2438
  // src/dynamics/hooks/use-prop-dynamic-action.tsx
2230
- var React63 = __toESM(require("react"));
2231
- var import_editor_controls45 = require("@elementor/editor-controls");
2232
- var import_icons21 = require("@elementor/icons");
2233
- var import_i18n42 = require("@wordpress/i18n");
2439
+ var React65 = __toESM(require("react"));
2440
+ var import_editor_controls46 = require("@elementor/editor-controls");
2441
+ var import_icons23 = require("@elementor/icons");
2442
+ var import_i18n43 = require("@wordpress/i18n");
2234
2443
  var usePropDynamicAction = () => {
2235
- const { bind } = (0, import_editor_controls45.useBoundProp)();
2236
- const { elementType } = useElement();
2237
- const propType = elementType.propsSchema[bind];
2444
+ const { propType } = (0, import_editor_controls46.useBoundProp)();
2238
2445
  const visible = !!propType && supportsDynamic(propType);
2239
2446
  return {
2240
2447
  visible,
2241
- icon: import_icons21.DatabaseIcon,
2242
- title: (0, import_i18n42.__)("Dynamic Tags", "elementor"),
2243
- popoverContent: ({ closePopover }) => /* @__PURE__ */ React63.createElement(DynamicSelection, { onSelect: closePopover })
2448
+ icon: import_icons23.DatabaseIcon,
2449
+ title: (0, import_i18n43.__)("Dynamic Tags", "elementor"),
2450
+ popoverContent: ({ closePopover }) => /* @__PURE__ */ React65.createElement(DynamicSelection, { onSelect: closePopover })
2244
2451
  };
2245
2452
  };
2246
2453
 
@@ -2266,6 +2473,7 @@ function init2() {
2266
2473
  component: EditingPanelHooks
2267
2474
  });
2268
2475
  init();
2476
+ initCssClasses();
2269
2477
  }
2270
2478
  var blockV1Panel = () => {
2271
2479
  (0, import_editor_v1_adapters4.__privateBlockDataCommand)({
@@ -2278,6 +2486,8 @@ var blockV1Panel = () => {
2278
2486
  init2();
2279
2487
  // Annotate the CommonJS export names for ESM import in node:
2280
2488
  0 && (module.exports = {
2489
+ registerGlobalClassMenuItem,
2490
+ registerStateMenuItem,
2281
2491
  replaceControl,
2282
2492
  useBoundProp
2283
2493
  });