@elementor/editor-editing-panel 1.6.0 → 1.8.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 (32) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/dist/index.js +652 -401
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.mjs +665 -409
  5. package/dist/index.mjs.map +1 -1
  6. package/package.json +7 -6
  7. package/src/components/add-or-remove-content.tsx +2 -2
  8. package/src/components/css-class-selector.tsx +198 -51
  9. package/src/components/editable-field.tsx +158 -0
  10. package/src/components/editing-panel.tsx +17 -14
  11. package/src/components/multi-combobox.tsx +184 -0
  12. package/src/components/settings-tab.tsx +28 -25
  13. package/src/components/style-sections/border-section/border-field.tsx +14 -17
  14. package/src/components/style-sections/position-section/position-field.tsx +1 -0
  15. package/src/components/style-tab.tsx +32 -29
  16. package/src/controls-registry/create-top-level-object-type.ts +14 -0
  17. package/src/controls-registry/settings-field.tsx +12 -14
  18. package/src/controls-registry/styles-field.tsx +17 -5
  19. package/src/css-classes.ts +15 -7
  20. package/src/dynamics/components/dynamic-selection-control.tsx +1 -1
  21. package/src/dynamics/components/dynamic-selection.tsx +3 -4
  22. package/src/dynamics/dynamic-control.tsx +16 -11
  23. package/src/dynamics/hooks/use-dynamic-tag.ts +2 -3
  24. package/src/dynamics/hooks/use-prop-dynamic-action.tsx +1 -4
  25. package/src/dynamics/hooks/use-prop-dynamic-tags.ts +3 -6
  26. package/src/dynamics/utils.ts +1 -1
  27. package/src/hooks/use-styles-fields.ts +1 -0
  28. package/src/hooks/use-unapply-class.ts +25 -0
  29. package/src/components/multi-combobox/index.ts +0 -3
  30. package/src/components/multi-combobox/multi-combobox.tsx +0 -122
  31. package/src/components/multi-combobox/types.ts +0 -29
  32. package/src/components/multi-combobox/use-combobox-actions.ts +0 -62
package/dist/index.js CHANGED
@@ -33,10 +33,10 @@ __export(index_exports, {
33
33
  registerGlobalClassMenuItem: () => registerGlobalClassMenuItem,
34
34
  registerStateMenuItem: () => registerStateMenuItem,
35
35
  replaceControl: () => replaceControl,
36
- useBoundProp: () => import_editor_controls46.useBoundProp
36
+ useBoundProp: () => import_editor_controls47.useBoundProp
37
37
  });
38
38
  module.exports = __toCommonJS(index_exports);
39
- var import_editor_controls46 = require("@elementor/editor-controls");
39
+ var import_editor_controls47 = require("@elementor/editor-controls");
40
40
 
41
41
  // src/control-replacement.tsx
42
42
  var import_editor_controls = require("@elementor/editor-controls");
@@ -157,7 +157,7 @@ var import_editor_panels3 = require("@elementor/editor-panels");
157
157
  var import_editor_v1_adapters4 = require("@elementor/editor-v1-adapters");
158
158
 
159
159
  // src/hooks/use-close-editor-panel.ts
160
- var import_react15 = require("react");
160
+ var import_react17 = require("react");
161
161
  var import_editor_elements8 = require("@elementor/editor-elements");
162
162
  var import_editor_v1_adapters2 = require("@elementor/editor-v1-adapters");
163
163
 
@@ -165,10 +165,11 @@ var import_editor_v1_adapters2 = require("@elementor/editor-v1-adapters");
165
165
  var import_editor_panels2 = require("@elementor/editor-panels");
166
166
 
167
167
  // src/components/editing-panel.tsx
168
- var React61 = __toESM(require("react"));
168
+ var React62 = __toESM(require("react"));
169
169
  var import_editor_controls41 = require("@elementor/editor-controls");
170
170
  var import_editor_elements6 = require("@elementor/editor-elements");
171
171
  var import_editor_panels = require("@elementor/editor-panels");
172
+ var import_session3 = require("@elementor/session");
172
173
  var import_ui51 = require("@elementor/ui");
173
174
  var import_i18n40 = require("@wordpress/i18n");
174
175
 
@@ -241,14 +242,15 @@ function EditorPanelErrorFallback() {
241
242
  }
242
243
 
243
244
  // src/components/editing-panel-tabs.tsx
244
- var React60 = __toESM(require("react"));
245
- var import_react14 = require("react");
245
+ var React61 = __toESM(require("react"));
246
+ var import_react16 = require("react");
246
247
  var import_ui50 = require("@elementor/ui");
247
248
  var import_i18n39 = require("@wordpress/i18n");
248
249
 
249
250
  // src/components/settings-tab.tsx
250
251
  var React12 = __toESM(require("react"));
251
252
  var import_editor_controls4 = require("@elementor/editor-controls");
253
+ var import_session = require("@elementor/session");
252
254
 
253
255
  // src/controls-registry/control.tsx
254
256
  var React7 = __toESM(require("react"));
@@ -312,20 +314,33 @@ var getGridLayout = (layout) => ({
312
314
  var React9 = __toESM(require("react"));
313
315
  var import_editor_controls3 = require("@elementor/editor-controls");
314
316
  var import_editor_elements = require("@elementor/editor-elements");
317
+
318
+ // src/controls-registry/create-top-level-object-type.ts
319
+ var createTopLevelOjectType = ({ schema }) => {
320
+ const schemaPropType = {
321
+ key: "",
322
+ kind: "object",
323
+ meta: {},
324
+ settings: {},
325
+ default: null,
326
+ shape: schema
327
+ };
328
+ return schemaPropType;
329
+ };
330
+
331
+ // src/controls-registry/settings-field.tsx
315
332
  var SettingsField = ({ bind, children }) => {
316
333
  const { element, elementType } = useElement();
317
- const defaultValue = elementType.propsSchema[bind]?.default;
318
334
  const settingsValue = (0, import_editor_elements.useElementSetting)(element.id, bind);
319
- const value = settingsValue ?? defaultValue ?? null;
335
+ const value = { [bind]: settingsValue };
336
+ const propType = createTopLevelOjectType({ schema: elementType.propsSchema });
320
337
  const setValue = (newValue) => {
321
338
  (0, import_editor_elements.updateSettings)({
322
339
  id: element.id,
323
- props: {
324
- [bind]: newValue
325
- }
340
+ props: { ...newValue }
326
341
  });
327
342
  };
328
- return /* @__PURE__ */ React9.createElement(import_editor_controls3.BoundPropProvider, { setValue, value, bind }, children);
343
+ return /* @__PURE__ */ React9.createElement(import_editor_controls3.PropProvider, { propType, value, setValue }, /* @__PURE__ */ React9.createElement(import_editor_controls3.PropKeyProvider, { bind }, children));
329
344
  };
330
345
 
331
346
  // src/components/section.tsx
@@ -372,8 +387,8 @@ function SectionsList(props) {
372
387
 
373
388
  // src/components/settings-tab.tsx
374
389
  var SettingsTab = () => {
375
- const { elementType } = useElement();
376
- return /* @__PURE__ */ React12.createElement(SectionsList, null, elementType.controls.map(({ type, value }, index) => {
390
+ const { elementType, element } = useElement();
391
+ return /* @__PURE__ */ React12.createElement(import_session.SessionStorageProvider, { prefix: element.id }, /* @__PURE__ */ React12.createElement(SectionsList, null, elementType.controls.map(({ type, value }, index) => {
377
392
  if (type === "control") {
378
393
  return /* @__PURE__ */ React12.createElement(Control2, { key: value.bind, control: value });
379
394
  }
@@ -386,7 +401,7 @@ var SettingsTab = () => {
386
401
  }));
387
402
  }
388
403
  return null;
389
- }));
404
+ })));
390
405
  };
391
406
  var Control2 = ({ control }) => {
392
407
  if (!getControlByType(control.type)) {
@@ -396,10 +411,11 @@ var Control2 = ({ control }) => {
396
411
  };
397
412
 
398
413
  // src/components/style-tab.tsx
399
- var React59 = __toESM(require("react"));
400
- var import_react13 = require("react");
414
+ var React60 = __toESM(require("react"));
415
+ var import_react15 = require("react");
401
416
  var import_editor_elements5 = require("@elementor/editor-elements");
402
417
  var import_editor_responsive = require("@elementor/editor-responsive");
418
+ var import_session2 = require("@elementor/session");
403
419
  var import_ui49 = require("@elementor/ui");
404
420
  var import_i18n38 = require("@wordpress/i18n");
405
421
 
@@ -419,8 +435,8 @@ function useClassesProp() {
419
435
  }
420
436
 
421
437
  // src/components/css-class-selector.tsx
422
- var React16 = __toESM(require("react"));
423
- var import_react8 = require("react");
438
+ var React17 = __toESM(require("react"));
439
+ var import_react10 = require("react");
424
440
  var import_editor_elements2 = require("@elementor/editor-elements");
425
441
  var import_editor_props = require("@elementor/editor-props");
426
442
  var import_editor_styles_repository = require("@elementor/editor-styles-repository");
@@ -463,74 +479,130 @@ var Content = React14.forwardRef(({ maxWidth, ...tooltipProps }, ref) => /* @__P
463
479
  }
464
480
  ));
465
481
 
466
- // src/components/multi-combobox/multi-combobox.tsx
482
+ // src/components/editable-field.tsx
467
483
  var React15 = __toESM(require("react"));
468
- var import_ui10 = require("@elementor/ui");
469
-
470
- // src/components/multi-combobox/use-combobox-actions.ts
484
+ var import_react8 = require("react");
471
485
  var import_ui9 = require("@elementor/ui");
472
- var useComboboxActions = (applied, actions, optionsLabel, onSelect) => ({
473
- action: {
474
- is: (opt) => typeof opt !== "string" && "action" in opt,
475
- getLabel: (option) => option.action.getLabel(option.label),
476
- groupBy: (option) => option.action.groupLabel,
477
- onChange: ({ action, label }) => action?.apply(label),
478
- getFilteredActions: (optionList, params) => {
479
- const actionGroups = Object.values(actions);
480
- return actionGroups.reduce((groups, group) => {
481
- const actionOptions = group.actions.reduce((groupActions, action) => {
482
- const shouldShowAction = action.condition(optionList, params.inputValue);
483
- if (shouldShowAction) {
484
- const actionOption = createActionOption(group.label, action, params.inputValue);
485
- groupActions.unshift(actionOption);
486
- }
487
- return groupActions;
488
- }, []);
489
- return [...groups, ...actionOptions];
490
- }, []);
486
+ var Context4 = (0, import_react8.createContext)(null);
487
+ var EditableFieldProvider = ({
488
+ children,
489
+ value,
490
+ onSubmit,
491
+ validation,
492
+ editable
493
+ }) => {
494
+ const [isEditing, setIsEditing] = (0, import_react8.useState)(false);
495
+ const [submitting, setSubmitting] = (0, import_react8.useState)(false);
496
+ const [error, setError] = (0, import_react8.useState)(null);
497
+ const openEditMode = () => {
498
+ setIsEditing(true);
499
+ };
500
+ const closeEditMode = () => {
501
+ setError(null);
502
+ setIsEditing(false);
503
+ };
504
+ const submit = async (newValue) => {
505
+ if (!error) {
506
+ setSubmitting(true);
507
+ try {
508
+ await onSubmit(newValue);
509
+ } finally {
510
+ setSubmitting(false);
511
+ }
491
512
  }
492
- },
493
- option: {
494
- is: (opt) => typeof opt !== "string" && !("action" in opt),
495
- getLabel: (option) => option.label,
496
- groupBy: () => optionsLabel ?? "",
497
- onChange: (optionValues) => onSelect?.(optionValues),
498
- getFilteredOptions: (optionList, params) => {
499
- const appliedValues = applied.map((option) => option.value);
500
- const optionsWithoutApplied = optionList.filter((option) => !appliedValues.includes(option.value));
501
- return filter(optionsWithoutApplied, params);
513
+ closeEditMode();
514
+ };
515
+ const onChange = (event) => {
516
+ const { innerText: newValue } = event.target;
517
+ if (validation) {
518
+ setError(validation(newValue));
519
+ }
520
+ };
521
+ return /* @__PURE__ */ React15.createElement(
522
+ Context4.Provider,
523
+ {
524
+ value: {
525
+ isEditing,
526
+ openEditMode,
527
+ closeEditMode,
528
+ onChange,
529
+ value,
530
+ error,
531
+ submit,
532
+ editable,
533
+ submitting
534
+ }
535
+ },
536
+ children
537
+ );
538
+ };
539
+ var EditableField = ({ children, ...props }) => {
540
+ const ref = (0, import_react8.useRef)(null);
541
+ const { isEditing, closeEditMode, value, onChange, error, submit, editable } = useEditableField();
542
+ (0, import_react8.useEffect)(() => {
543
+ if (isEditing) {
544
+ ref.current?.focus();
545
+ selectAll();
502
546
  }
547
+ }, [isEditing]);
548
+ const handleKeyDown = (event) => {
549
+ event.stopPropagation();
550
+ if (["Escape"].includes(event.key)) {
551
+ return closeEditMode();
552
+ }
553
+ if (["Enter"].includes(event.key)) {
554
+ event.preventDefault();
555
+ return submit(event.target.innerText);
556
+ }
557
+ };
558
+ const selectAll = () => {
559
+ const selection = getSelection();
560
+ if (!selection || !ref.current) {
561
+ return;
562
+ }
563
+ const range = document.createRange();
564
+ range.selectNodeContents(ref.current);
565
+ selection.removeAllRanges();
566
+ selection.addRange(range);
567
+ };
568
+ if (!editable) {
569
+ return children;
503
570
  }
504
- });
505
- var filter = (0, import_ui9.createFilterOptions)();
506
- var createActionOption = (groupLabel, action, inputValue) => ({
507
- value: "",
508
- label: inputValue,
509
- action: {
510
- groupLabel,
511
- apply: action.apply,
512
- getLabel: action.getLabel
571
+ return /* @__PURE__ */ React15.createElement(import_ui9.Tooltip, { open: !!error, title: error, placement: "top" }, /* @__PURE__ */ React15.createElement("div", { onKeyDown: handleKeyDown, ...props }, /* @__PURE__ */ React15.createElement(
572
+ "span",
573
+ {
574
+ ref,
575
+ role: "textbox",
576
+ onInput: onChange,
577
+ contentEditable: isEditing,
578
+ suppressContentEditableWarning: true,
579
+ onBlur: closeEditMode
580
+ },
581
+ isEditing ? value : children
582
+ )));
583
+ };
584
+ var useEditableField = () => {
585
+ const contextValue = (0, import_react8.useContext)(Context4);
586
+ if (!contextValue) {
587
+ throw new Error("useEditableField must be used within a EditableFieldProvider");
513
588
  }
514
- });
589
+ return contextValue;
590
+ };
515
591
 
516
- // src/components/multi-combobox/multi-combobox.tsx
517
- var MultiCombobox = ({
518
- actions = {},
592
+ // src/components/multi-combobox.tsx
593
+ var React16 = __toESM(require("react"));
594
+ var import_react9 = require("react");
595
+ var import_ui10 = require("@elementor/ui");
596
+ function MultiCombobox({
597
+ actions = [],
519
598
  selected,
520
599
  options: options10,
521
- optionsLabel,
522
600
  onSelect,
523
- onCreate,
524
601
  ...props
525
- }) => {
526
- const { action: actionProps, option: optionProps } = useComboboxActions(
527
- selected,
528
- actions,
529
- // TODO: make the group mechanism more generic, allow passing list of groups.
530
- optionsLabel,
531
- onSelect
532
- );
533
- return /* @__PURE__ */ React15.createElement(
602
+ }) {
603
+ const filter = useFilterOptions();
604
+ const { run, loading } = useActionRunner();
605
+ return /* @__PURE__ */ React16.createElement(
534
606
  import_ui10.Autocomplete,
535
607
  {
536
608
  ...props,
@@ -540,57 +612,94 @@ var MultiCombobox = ({
540
612
  selectOnFocus: true,
541
613
  disableClearable: true,
542
614
  handleHomeEndKeys: true,
615
+ disabled: loading,
543
616
  value: selected,
544
617
  options: options10,
545
- renderGroup,
546
- renderInput: (params) => /* @__PURE__ */ React15.createElement(import_ui10.TextField, { ...params }),
547
- getLimitTagsText: (more) => /* @__PURE__ */ React15.createElement(import_ui10.Chip, { size: "tiny", variant: "standard", label: `+${more}`, clickable: true }),
548
- onChange: (_, selectedOrTypedValue, reason) => {
618
+ renderGroup: (params) => /* @__PURE__ */ React16.createElement(Group, { ...params }),
619
+ renderInput: (params) => /* @__PURE__ */ React16.createElement(import_ui10.TextField, { ...params }),
620
+ onChange: (_, selectedOrInputValue, reason) => {
621
+ const inputValue = selectedOrInputValue.find((option) => typeof option === "string");
622
+ const optionsAndActions = selectedOrInputValue.filter((option) => typeof option !== "string");
549
623
  if (reason === "createOption") {
550
- const typedValue = selectedOrTypedValue.find((option) => typeof option === "string");
551
- return typedValue && onCreate?.(typedValue);
624
+ const [firstAction] = filterActions(actions, { options: options10, inputValue: inputValue ?? "" });
625
+ if (firstAction) {
626
+ return run(firstAction.apply, firstAction.value);
627
+ }
552
628
  }
553
- const action = selectedOrTypedValue.find((value) => actionProps.is(value));
629
+ const action = optionsAndActions.find((value) => isAction(value));
554
630
  if (reason === "selectOption" && action) {
555
- return actionProps.onChange(action);
631
+ return run(action.apply, action.value);
556
632
  }
557
- const selectedValues = selectedOrTypedValue.filter((v) => typeof v !== "string");
558
- const fixedValues = options10.filter((option) => option.fixed);
559
- optionProps.onChange([.../* @__PURE__ */ new Set([...fixedValues, ...selectedValues])]);
633
+ const fixedValues = options10.filter((option) => !!option.fixed);
634
+ onSelect?.([.../* @__PURE__ */ new Set([...optionsAndActions, ...fixedValues])]);
560
635
  },
561
- getOptionLabel: (option) => {
562
- if (optionProps.is(option)) {
563
- return optionProps.getLabel(option);
564
- }
565
- if (actionProps.is(option)) {
566
- return actionProps.getLabel(option);
636
+ getOptionLabel: (option) => typeof option === "string" ? option : option.label,
637
+ getOptionKey: (option) => {
638
+ if (typeof option === "string") {
639
+ return option;
567
640
  }
568
- return "";
641
+ return option.key ?? option.value;
569
642
  },
570
643
  filterOptions: (optionList, params) => {
571
- const filteredOptions = optionProps.getFilteredOptions(optionList, params);
572
- const actionOptions = actionProps.getFilteredActions(optionList, params);
573
- return [...actionOptions, ...filteredOptions];
644
+ const selectedValues = selected.map((option) => option.value);
645
+ return [
646
+ ...filterActions(actions, { options: optionList, inputValue: params.inputValue }),
647
+ ...filter(
648
+ optionList.filter((option) => !selectedValues.includes(option.value)),
649
+ params
650
+ )
651
+ ];
574
652
  },
575
- groupBy: (option) => (optionProps.is(option) ? optionProps.groupBy() : actionProps.groupBy(option)) ?? ""
653
+ groupBy: (option) => option.group ?? ""
576
654
  }
577
655
  );
656
+ }
657
+ var Group = (params) => {
658
+ const id = `combobox-group-${(0, import_react9.useId)().replace(/:/g, "_")}`;
659
+ return /* @__PURE__ */ React16.createElement(StyledGroup, { role: "group", "aria-labelledby": id }, /* @__PURE__ */ React16.createElement(StyledGroupHeader, { id }, " ", params.group), /* @__PURE__ */ React16.createElement(StyledGroupItems, { role: "listbox" }, params.children));
578
660
  };
579
- var renderGroup = (params) => /* @__PURE__ */ React15.createElement(Group, { key: params.key }, /* @__PURE__ */ React15.createElement(GroupHeader, null, params.group), /* @__PURE__ */ React15.createElement(GroupItems, null, params.children));
580
- var Group = (0, import_ui10.styled)("li")`
661
+ var StyledGroup = (0, import_ui10.styled)("li")`
581
662
  &:not( :last-of-type ) {
582
663
  border-bottom: 1px solid ${({ theme }) => theme.palette.divider};
583
664
  }
584
665
  `;
585
- var GroupHeader = (0, import_ui10.styled)(import_ui10.Box)(({ theme }) => ({
666
+ var StyledGroupHeader = (0, import_ui10.styled)(import_ui10.Box)(({ theme }) => ({
586
667
  position: "sticky",
587
668
  top: "-8px",
588
669
  padding: theme.spacing(1, 2),
589
670
  color: theme.palette.text.tertiary
590
671
  }));
591
- var GroupItems = (0, import_ui10.styled)("ul")`
672
+ var StyledGroupItems = (0, import_ui10.styled)("ul")`
592
673
  padding: 0;
593
674
  `;
675
+ function useFilterOptions() {
676
+ return (0, import_react9.useState)(() => (0, import_ui10.createFilterOptions)())[0];
677
+ }
678
+ function useActionRunner() {
679
+ const [loading, setLoading] = (0, import_react9.useState)(false);
680
+ const run = async (apply, value) => {
681
+ setLoading(true);
682
+ try {
683
+ await apply(value);
684
+ } catch {
685
+ }
686
+ setLoading(false);
687
+ };
688
+ return { run, loading };
689
+ }
690
+ function filterActions(actions, { options: options10, inputValue }) {
691
+ return actions.filter((action) => action.condition(options10, inputValue)).map((action, index) => ({
692
+ label: action.label(inputValue),
693
+ value: inputValue,
694
+ group: action.group,
695
+ apply: action.apply,
696
+ condition: action.condition,
697
+ key: index.toString()
698
+ }));
699
+ }
700
+ function isAction(option) {
701
+ return "apply" in option && "condition" in option;
702
+ }
594
703
 
595
704
  // src/components/css-class-selector.tsx
596
705
  var ID = "elementor-css-class-selector";
@@ -604,13 +713,14 @@ var EMPTY_OPTION = {
604
713
  };
605
714
  function CssClassSelector() {
606
715
  const options10 = useOptions();
607
- const [appliedIds, setAppliedIds] = useAppliedClassesIds();
716
+ const { value: appliedIds, setValue: setAppliedIds, pushValue: pushAppliedId } = useAppliedClassesIds();
608
717
  const { id: activeId, setId: setActiveId } = useStyle();
718
+ const actions = useCreateActions({ pushAppliedId, setActiveId });
609
719
  const handleApply = useHandleApply(appliedIds, setAppliedIds);
610
720
  const handleActivate = ({ value }) => setActiveId(value);
611
721
  const applied = useAppliedOptions(options10, appliedIds);
612
722
  const active = applied.find((option) => option.value === activeId) ?? EMPTY_OPTION;
613
- return /* @__PURE__ */ React16.createElement(import_ui11.Stack, { gap: 1, p: 2 }, /* @__PURE__ */ React16.createElement(import_ui11.Typography, { component: "label", variant: "caption", htmlFor: ID }, (0, import_i18n2.__)("CSS Classes", "elementor")), /* @__PURE__ */ React16.createElement(
723
+ return /* @__PURE__ */ React17.createElement(import_ui11.Stack, { gap: 1, p: 2 }, /* @__PURE__ */ React17.createElement(import_ui11.Typography, { component: "label", variant: "caption", htmlFor: ID }, (0, import_i18n2.__)("CSS Classes", "elementor")), /* @__PURE__ */ React17.createElement(
614
724
  MultiCombobox,
615
725
  {
616
726
  id: ID,
@@ -619,73 +729,173 @@ function CssClassSelector() {
619
729
  selected: applied,
620
730
  onSelect: handleApply,
621
731
  limitTags: TAGS_LIMIT,
622
- optionsLabel: (0, import_i18n2.__)("Global CSS Classes", "elementor"),
732
+ actions,
733
+ getLimitTagsText: (more) => /* @__PURE__ */ React17.createElement(import_ui11.Chip, { size: "tiny", variant: "standard", label: `+${more}`, clickable: true }),
623
734
  renderTags: (values, getTagProps) => values.map((value, index) => {
624
735
  const chipProps = getTagProps({ index });
625
736
  const isActive = value.value === active?.value;
626
- return /* @__PURE__ */ React16.createElement(
627
- CssClassItem,
737
+ const renameLabel = (newLabel) => {
738
+ return updateClassByProvider(value.provider, { label: newLabel, id: value.value });
739
+ };
740
+ return /* @__PURE__ */ React17.createElement(
741
+ EditableFieldProvider,
628
742
  {
629
743
  key: chipProps.key,
630
- label: value.label,
631
- id: value.value,
632
- isActive,
633
- isGlobal: value.color === "global",
634
- color: isActive && value.color ? value.color : "default",
635
- chipProps,
636
- onClickActive: () => handleActivate(value)
637
- }
744
+ value: value.label,
745
+ onSubmit: renameLabel,
746
+ editable: value.provider !== import_editor_styles_repository.ELEMENTS_STYLES_PROVIDER_KEY,
747
+ validation: (newLabel) => renameValidation(
748
+ newLabel,
749
+ options10.filter((option) => option.value !== value.value)
750
+ )
751
+ },
752
+ /* @__PURE__ */ React17.createElement(
753
+ CssClassItem,
754
+ {
755
+ label: value.label,
756
+ id: value.value,
757
+ isActive,
758
+ isGlobal: value.color === "global",
759
+ color: isActive && value.color ? value.color : "default",
760
+ chipProps,
761
+ onClickActive: () => handleActivate(value)
762
+ }
763
+ )
638
764
  );
639
765
  })
640
766
  }
641
767
  ));
642
768
  }
643
- function CssClassItem({ id, label, isActive, isGlobal, color, chipProps, onClickActive }) {
769
+ var CHIP_SIZE = "tiny";
770
+ function CssClassItem({
771
+ id,
772
+ label,
773
+ isActive,
774
+ isGlobal,
775
+ color: colorProp,
776
+ chipProps,
777
+ onClickActive
778
+ }) {
644
779
  const { meta } = useStyle();
645
- const popupId = (0, import_react8.useId)().replace(/:/g, "_");
780
+ const popupId = (0, import_react10.useId)().replace(/:/g, "_");
646
781
  const popupState = (0, import_ui11.usePopupState)({ variant: "popover", popupId });
647
- const chipRef = (0, import_react8.useRef)(null);
782
+ const chipRef = (0, import_react10.useRef)(null);
648
783
  const { onDelete, ...chipGroupProps } = chipProps;
649
- return /* @__PURE__ */ React16.createElement(CssClassItemProvider, { styleId: id, isActive, isGlobal }, /* @__PURE__ */ React16.createElement(import_ui11.UnstableChipGroup, { ref: chipRef, ...chipGroupProps, "aria-label": `Edit ${label}`, role: "group" }, /* @__PURE__ */ React16.createElement(
784
+ const { isEditing, openEditMode, error, submitting } = useEditableField();
785
+ const color = error ? "error" : colorProp;
786
+ return /* @__PURE__ */ React17.createElement(CssClassItemProvider, { styleId: id, isActive, isGlobal }, /* @__PURE__ */ React17.createElement(import_ui11.UnstableChipGroup, { ref: chipRef, ...chipGroupProps, "aria-label": `Edit ${label}`, role: "group" }, /* @__PURE__ */ React17.createElement(
650
787
  import_ui11.Chip,
651
788
  {
652
- key: chipProps.key,
653
- size: "small",
654
- label: /* @__PURE__ */ React16.createElement(ConditionalTooltipWrapper, { maxWidth: "10ch", title: label }),
789
+ disabled: submitting,
790
+ size: CHIP_SIZE,
791
+ label: /* @__PURE__ */ React17.createElement(
792
+ EditableField,
793
+ {
794
+ onDoubleClick: () => {
795
+ if (!isActive) {
796
+ openEditMode();
797
+ }
798
+ },
799
+ onClick: () => {
800
+ if (isActive) {
801
+ openEditMode();
802
+ }
803
+ }
804
+ },
805
+ /* @__PURE__ */ React17.createElement(ConditionalTooltipWrapper, { maxWidth: "10ch", title: label })
806
+ ),
655
807
  variant: isActive && !meta.state ? "filled" : "standard",
656
808
  color,
657
809
  onClick: () => onClickActive(id),
658
- "aria-pressed": isActive
810
+ "aria-pressed": isActive,
811
+ sx: {
812
+ "&.Mui-focusVisible": {
813
+ boxShadow: "none !important"
814
+ }
815
+ }
659
816
  }
660
- ), /* @__PURE__ */ React16.createElement(
817
+ ), !isEditing && /* @__PURE__ */ React17.createElement(
661
818
  import_ui11.Chip,
662
819
  {
663
- key: `${chipProps.key}-menu`,
664
- size: "small",
665
- label: /* @__PURE__ */ React16.createElement(import_ui11.Stack, { direction: "row", gap: 0.5, alignItems: "center" }, isActive && meta.state && /* @__PURE__ */ React16.createElement(import_ui11.Typography, { variant: "inherit" }, meta.state), /* @__PURE__ */ React16.createElement(import_icons4.DotsVerticalIcon, { fontSize: "inherit" })),
820
+ disabled: submitting,
821
+ size: CHIP_SIZE,
822
+ label: /* @__PURE__ */ React17.createElement(import_ui11.Stack, { direction: "row", gap: 0.5, alignItems: "center" }, isActive && meta.state && /* @__PURE__ */ React17.createElement(import_ui11.Typography, { variant: "inherit" }, meta.state), /* @__PURE__ */ React17.createElement(import_icons4.DotsVerticalIcon, { fontSize: "inherit" })),
666
823
  variant: "filled",
667
824
  color,
668
825
  ...(0, import_ui11.bindTrigger)(popupState),
669
826
  "aria-label": (0, import_i18n2.__)("Open CSS Class Menu", "elementor")
670
827
  }
671
- )), /* @__PURE__ */ React16.createElement(CssClassMenu, { popupState, containerRef: chipRef }));
828
+ )), /* @__PURE__ */ React17.createElement(CssClassMenu, { popupState, containerRef: chipRef }));
672
829
  }
830
+ var updateClassByProvider = (provider, data) => {
831
+ const providerInstance = import_editor_styles_repository.stylesRepository.getProviderByKey(provider);
832
+ if (!providerInstance) {
833
+ return;
834
+ }
835
+ return providerInstance.actions.update?.(data);
836
+ };
837
+ var VALID_SELECTOR_REGEX = /^[a-zA-Z0-9_-]+$/;
838
+ var renameValidation = (newLabel, options10) => {
839
+ if (isNameExist(newLabel, options10)) {
840
+ return (0, import_i18n2.__)("Existing name", "elementor");
841
+ }
842
+ if (isCharactersNotSupported(newLabel)) {
843
+ return (0, import_i18n2.__)("Format is not valid", "elementor");
844
+ }
845
+ };
846
+ var isNameExist = (newLabel, options10) => {
847
+ if (!options10?.length) {
848
+ return false;
849
+ }
850
+ return options10.some((option) => option.label.toLowerCase() === newLabel.toLowerCase());
851
+ };
852
+ var isCharactersNotSupported = (newLabel) => !VALID_SELECTOR_REGEX.test(newLabel);
673
853
  function useOptions() {
674
854
  const { element } = useElement();
675
- return (0, import_editor_styles_repository.useAllStylesByProvider)({ elementId: element.id }).flatMap(([providerKey, styleDefs]) => {
676
- const isElements = providerKey === import_editor_styles_repository.ELEMENTS_STYLES_PROVIDER_KEY;
677
- if (isElements && styleDefs.length === 0) {
678
- return [EMPTY_OPTION];
855
+ return (0, import_editor_styles_repository.useAllStylesByProvider)({ elementId: element.id }).flatMap(
856
+ ([provider, styleDefs]) => {
857
+ const isElements = provider.key === import_editor_styles_repository.ELEMENTS_STYLES_PROVIDER_KEY;
858
+ if (isElements && styleDefs.length === 0) {
859
+ return [EMPTY_OPTION];
860
+ }
861
+ return styleDefs.map((styleDef) => {
862
+ return {
863
+ label: styleDef.label,
864
+ value: styleDef.id,
865
+ fixed: isElements,
866
+ color: isElements ? "primary" : "global",
867
+ provider: provider.key,
868
+ group: provider.labels?.plural
869
+ };
870
+ });
679
871
  }
680
- return styleDefs.map((styleDef) => {
681
- return {
682
- label: styleDef.label,
683
- value: styleDef.id,
684
- fixed: isElements,
685
- color: isElements ? "primary" : "global",
686
- provider: providerKey
687
- };
688
- });
872
+ );
873
+ }
874
+ function useCreateActions({
875
+ pushAppliedId,
876
+ setActiveId
877
+ }) {
878
+ return (0, import_editor_styles_repository.useCreateActionsByProvider)().map(([provider, create]) => {
879
+ return {
880
+ // translators: %s is the label of the new class.
881
+ label: (value) => (0, import_i18n2.__)('Create new "%s"', "elementor").replace("%s", value),
882
+ apply: async (value) => {
883
+ const created = await create({ label: value });
884
+ if (!created) {
885
+ return;
886
+ }
887
+ pushAppliedId(created.id);
888
+ setActiveId(created.id);
889
+ },
890
+ condition: (options10, inputValue) => {
891
+ const isUniqueLabel = !options10.some(
892
+ (option) => option.label.toLowerCase() === inputValue.toLowerCase()
893
+ );
894
+ return !!inputValue && isUniqueLabel;
895
+ },
896
+ // translators: %s is the singular label of css class provider (e.g "Global CSS Class").
897
+ group: (0, import_i18n2.__)("Create New %s", "elementor").replace("%s", provider.labels?.singular ?? "")
898
+ };
689
899
  });
690
900
  }
691
901
  function useAppliedOptions(options10, appliedIds) {
@@ -710,7 +920,15 @@ function useAppliedClassesIds() {
710
920
  }
711
921
  });
712
922
  };
713
- return [value, setValue];
923
+ const pushValue = (id) => {
924
+ const ids = (0, import_editor_elements2.getElementSetting)(element.id, currentClassesProp)?.value || [];
925
+ setValue([...ids, id]);
926
+ };
927
+ return {
928
+ value,
929
+ setValue,
930
+ pushValue
931
+ };
714
932
  }
715
933
  function useHandleApply(appliedIds, setAppliedIds) {
716
934
  const { id: activeId, setId: setActiveId } = useStyle();
@@ -734,12 +952,13 @@ function useHandleApply(appliedIds, setAppliedIds) {
734
952
  }
735
953
 
736
954
  // src/components/style-sections/background-section/background-section.tsx
737
- var React18 = __toESM(require("react"));
955
+ var React19 = __toESM(require("react"));
738
956
  var import_editor_controls6 = require("@elementor/editor-controls");
739
957
 
740
958
  // src/controls-registry/styles-field.tsx
741
- var React17 = __toESM(require("react"));
959
+ var React18 = __toESM(require("react"));
742
960
  var import_editor_controls5 = require("@elementor/editor-controls");
961
+ var import_editor_styles = require("@elementor/editor-styles");
743
962
 
744
963
  // src/hooks/use-styles-fields.ts
745
964
  var import_editor_elements3 = require("@elementor/editor-elements");
@@ -782,30 +1001,36 @@ function useStylesField(propName) {
782
1001
  // src/controls-registry/styles-field.tsx
783
1002
  var StylesField = ({ bind, children }) => {
784
1003
  const [value, setValue] = useStylesField(bind);
785
- return /* @__PURE__ */ React17.createElement(import_editor_controls5.BoundPropProvider, { setValue, value, bind }, children);
1004
+ const stylesSchema = (0, import_editor_styles.getStylesSchema)();
1005
+ const propType = createTopLevelOjectType({ schema: stylesSchema });
1006
+ const values = { [bind]: value };
1007
+ const setValues = (newValue) => {
1008
+ setValue(newValue[bind]);
1009
+ };
1010
+ return /* @__PURE__ */ React18.createElement(import_editor_controls5.PropProvider, { propType, value: values, setValue: setValues }, /* @__PURE__ */ React18.createElement(import_editor_controls5.PropKeyProvider, { bind }, children));
786
1011
  };
787
1012
 
788
1013
  // src/components/style-sections/background-section/background-section.tsx
789
1014
  var BackgroundSection = () => {
790
- return /* @__PURE__ */ React18.createElement(StylesField, { bind: "background" }, /* @__PURE__ */ React18.createElement(import_editor_controls6.BackgroundControl, null));
1015
+ return /* @__PURE__ */ React19.createElement(StylesField, { bind: "background" }, /* @__PURE__ */ React19.createElement(import_editor_controls6.BackgroundControl, null));
791
1016
  };
792
1017
 
793
1018
  // src/components/style-sections/border-section/border-section.tsx
794
- var React25 = __toESM(require("react"));
1019
+ var React26 = __toESM(require("react"));
795
1020
  var import_ui15 = require("@elementor/ui");
796
1021
 
797
1022
  // src/components/style-sections/border-section/border-field.tsx
798
- var React23 = __toESM(require("react"));
1023
+ var React24 = __toESM(require("react"));
799
1024
  var import_i18n7 = require("@wordpress/i18n");
800
1025
 
801
1026
  // src/components/add-or-remove-content.tsx
802
- var React19 = __toESM(require("react"));
1027
+ var React20 = __toESM(require("react"));
803
1028
  var import_editor_controls7 = require("@elementor/editor-controls");
804
1029
  var import_icons5 = require("@elementor/icons");
805
1030
  var import_ui12 = require("@elementor/ui");
806
1031
  var SIZE2 = "tiny";
807
1032
  var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
808
- return /* @__PURE__ */ React19.createElement(import_ui12.Stack, { gap: 1.5 }, /* @__PURE__ */ React19.createElement(
1033
+ return /* @__PURE__ */ React20.createElement(import_ui12.Stack, { gap: 1.5 }, /* @__PURE__ */ React20.createElement(
809
1034
  import_ui12.Stack,
810
1035
  {
811
1036
  direction: "row",
@@ -814,22 +1039,22 @@ var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
814
1039
  alignItems: "center"
815
1040
  }
816
1041
  },
817
- /* @__PURE__ */ React19.createElement(import_editor_controls7.ControlLabel, null, label),
818
- isAdded ? /* @__PURE__ */ React19.createElement(import_ui12.IconButton, { size: SIZE2, onClick: onRemove }, /* @__PURE__ */ React19.createElement(import_icons5.MinusIcon, { fontSize: SIZE2 })) : /* @__PURE__ */ React19.createElement(import_ui12.IconButton, { size: SIZE2, onClick: onAdd }, /* @__PURE__ */ React19.createElement(import_icons5.PlusIcon, { fontSize: SIZE2 }))
819
- ), /* @__PURE__ */ React19.createElement(import_ui12.Collapse, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React19.createElement(import_ui12.Stack, { gap: 1.5 }, children)));
1042
+ /* @__PURE__ */ React20.createElement(import_editor_controls7.ControlLabel, null, label),
1043
+ isAdded ? /* @__PURE__ */ React20.createElement(import_ui12.IconButton, { size: SIZE2, onClick: onRemove, "aria-label": "Remove" }, /* @__PURE__ */ React20.createElement(import_icons5.MinusIcon, { fontSize: SIZE2 })) : /* @__PURE__ */ React20.createElement(import_ui12.IconButton, { size: SIZE2, onClick: onAdd, "aria-label": "Add" }, /* @__PURE__ */ React20.createElement(import_icons5.PlusIcon, { fontSize: SIZE2 }))
1044
+ ), /* @__PURE__ */ React20.createElement(import_ui12.Collapse, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React20.createElement(import_ui12.Stack, { gap: 1.5 }, children)));
820
1045
  };
821
1046
 
822
1047
  // src/components/style-sections/border-section/border-color-field.tsx
823
- var React20 = __toESM(require("react"));
1048
+ var React21 = __toESM(require("react"));
824
1049
  var import_editor_controls8 = require("@elementor/editor-controls");
825
1050
  var import_ui13 = require("@elementor/ui");
826
1051
  var import_i18n4 = require("@wordpress/i18n");
827
1052
  var BorderColorField = () => {
828
- return /* @__PURE__ */ React20.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React20.createElement(import_ui13.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React20.createElement(import_ui13.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React20.createElement(import_editor_controls8.ControlLabel, null, (0, import_i18n4.__)("Border Color", "elementor"))), /* @__PURE__ */ React20.createElement(import_ui13.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React20.createElement(import_editor_controls8.ColorControl, null))));
1053
+ return /* @__PURE__ */ React21.createElement(StylesField, { bind: "border-color" }, /* @__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_controls8.ControlLabel, null, (0, import_i18n4.__)("Border Color", "elementor"))), /* @__PURE__ */ React21.createElement(import_ui13.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React21.createElement(import_editor_controls8.ColorControl, null))));
829
1054
  };
830
1055
 
831
1056
  // src/components/style-sections/border-section/border-style-field.tsx
832
- var React21 = __toESM(require("react"));
1057
+ var React22 = __toESM(require("react"));
833
1058
  var import_editor_controls9 = require("@elementor/editor-controls");
834
1059
  var import_ui14 = require("@elementor/ui");
835
1060
  var import_i18n5 = require("@wordpress/i18n");
@@ -845,11 +1070,11 @@ var borderStyles = [
845
1070
  { value: "outset", label: (0, import_i18n5.__)("Outset", "elementor") }
846
1071
  ];
847
1072
  var BorderStyleField = () => {
848
- return /* @__PURE__ */ React21.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React21.createElement(import_ui14.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React21.createElement(import_ui14.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React21.createElement(import_editor_controls9.ControlLabel, null, (0, import_i18n5.__)("Border Type", "elementor"))), /* @__PURE__ */ React21.createElement(import_ui14.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React21.createElement(import_editor_controls9.SelectControl, { options: borderStyles }))));
1073
+ return /* @__PURE__ */ React22.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React22.createElement(import_ui14.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React22.createElement(import_ui14.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React22.createElement(import_editor_controls9.ControlLabel, null, (0, import_i18n5.__)("Border Type", "elementor"))), /* @__PURE__ */ React22.createElement(import_ui14.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React22.createElement(import_editor_controls9.SelectControl, { options: borderStyles }))));
849
1074
  };
850
1075
 
851
1076
  // src/components/style-sections/border-section/border-width-field.tsx
852
- var React22 = __toESM(require("react"));
1077
+ var React23 = __toESM(require("react"));
853
1078
  var import_editor_controls10 = require("@elementor/editor-controls");
854
1079
  var import_editor_props2 = require("@elementor/editor-props");
855
1080
  var import_icons6 = require("@elementor/icons");
@@ -857,61 +1082,57 @@ var import_i18n6 = require("@wordpress/i18n");
857
1082
  var edges = [
858
1083
  {
859
1084
  label: (0, import_i18n6.__)("Top", "elementor"),
860
- icon: /* @__PURE__ */ React22.createElement(import_icons6.SideTopIcon, { fontSize: "tiny" }),
1085
+ icon: /* @__PURE__ */ React23.createElement(import_icons6.SideTopIcon, { fontSize: "tiny" }),
861
1086
  bind: "top"
862
1087
  },
863
1088
  {
864
1089
  label: (0, import_i18n6.__)("Right", "elementor"),
865
- icon: /* @__PURE__ */ React22.createElement(import_icons6.SideRightIcon, { fontSize: "tiny" }),
1090
+ icon: /* @__PURE__ */ React23.createElement(import_icons6.SideRightIcon, { fontSize: "tiny" }),
866
1091
  bind: "right"
867
1092
  },
868
1093
  {
869
1094
  label: (0, import_i18n6.__)("Bottom", "elementor"),
870
- icon: /* @__PURE__ */ React22.createElement(import_icons6.SideBottomIcon, { fontSize: "tiny" }),
1095
+ icon: /* @__PURE__ */ React23.createElement(import_icons6.SideBottomIcon, { fontSize: "tiny" }),
871
1096
  bind: "bottom"
872
1097
  },
873
1098
  {
874
1099
  label: (0, import_i18n6.__)("Left", "elementor"),
875
- icon: /* @__PURE__ */ React22.createElement(import_icons6.SideLeftIcon, { fontSize: "tiny" }),
1100
+ icon: /* @__PURE__ */ React23.createElement(import_icons6.SideLeftIcon, { fontSize: "tiny" }),
876
1101
  bind: "left"
877
1102
  }
878
1103
  ];
879
1104
  var BorderWidthField = () => {
880
- return /* @__PURE__ */ React22.createElement(StylesField, { bind: "border-width" }, /* @__PURE__ */ React22.createElement(
1105
+ return /* @__PURE__ */ React23.createElement(StylesField, { bind: "border-width" }, /* @__PURE__ */ React23.createElement(
881
1106
  import_editor_controls10.EqualUnequalSizesControl,
882
1107
  {
883
1108
  items: edges,
884
1109
  label: (0, import_i18n6.__)("Border Width", "elementor"),
885
- icon: /* @__PURE__ */ React22.createElement(import_icons6.SideAllIcon, { fontSize: "tiny" }),
1110
+ icon: /* @__PURE__ */ React23.createElement(import_icons6.SideAllIcon, { fontSize: "tiny" }),
886
1111
  multiSizePropTypeUtil: import_editor_props2.borderWidthPropTypeUtil
887
1112
  }
888
1113
  ));
889
1114
  };
890
1115
 
891
1116
  // src/components/style-sections/border-section/border-field.tsx
892
- var initialSize = { $$type: "size", value: { size: 1, unit: "px" } };
893
- var initialBorderWidth = {
894
- $$type: "border-width",
895
- value: { top: initialSize, right: initialSize, bottom: initialSize, left: initialSize }
1117
+ var initialBorder = {
1118
+ "border-width": { $$type: "size", value: { size: 1, unit: "px" } },
1119
+ "border-color": { $$type: "color", value: "#000000" },
1120
+ "border-style": { $$type: "string", value: "solid" }
896
1121
  };
897
- var initialBorderColor = { $$type: "color", value: "#000000" };
898
- var initialBorderStyle = "solid";
899
1122
  var BorderField = () => {
900
- const [borderWidth, setBorderWidth] = useStylesField("border-width");
901
- const [borderColor, setBorderColor] = useStylesField("border-color");
902
- const [borderStyle, setBorderStyle] = useStylesField("border-style");
1123
+ const [border, setBorder] = useStylesFields(Object.keys(initialBorder));
903
1124
  const addBorder = () => {
904
- setBorderWidth(initialBorderWidth);
905
- setBorderColor(initialBorderColor);
906
- setBorderStyle(initialBorderStyle);
1125
+ setBorder(initialBorder);
907
1126
  };
908
1127
  const removeBorder = () => {
909
- setBorderWidth(null);
910
- setBorderColor(null);
911
- setBorderStyle(null);
1128
+ setBorder({
1129
+ "border-width": null,
1130
+ "border-color": null,
1131
+ "border-style": null
1132
+ });
912
1133
  };
913
- const hasBorder = Boolean(borderWidth || borderColor || borderStyle);
914
- return /* @__PURE__ */ React23.createElement(
1134
+ const hasBorder = Object.values(border ?? {}).some(Boolean);
1135
+ return /* @__PURE__ */ React24.createElement(
915
1136
  AddOrRemoveContent,
916
1137
  {
917
1138
  label: (0, import_i18n7.__)("Border", "elementor"),
@@ -919,14 +1140,14 @@ var BorderField = () => {
919
1140
  onAdd: addBorder,
920
1141
  onRemove: removeBorder
921
1142
  },
922
- /* @__PURE__ */ React23.createElement(BorderWidthField, null),
923
- /* @__PURE__ */ React23.createElement(BorderColorField, null),
924
- /* @__PURE__ */ React23.createElement(BorderStyleField, null)
1143
+ /* @__PURE__ */ React24.createElement(BorderWidthField, null),
1144
+ /* @__PURE__ */ React24.createElement(BorderColorField, null),
1145
+ /* @__PURE__ */ React24.createElement(BorderStyleField, null)
925
1146
  );
926
1147
  };
927
1148
 
928
1149
  // src/components/style-sections/border-section/border-radius-field.tsx
929
- var React24 = __toESM(require("react"));
1150
+ var React25 = __toESM(require("react"));
930
1151
  var import_editor_controls11 = require("@elementor/editor-controls");
931
1152
  var import_editor_props3 = require("@elementor/editor-props");
932
1153
  var import_icons7 = require("@elementor/icons");
@@ -934,50 +1155,50 @@ var import_i18n8 = require("@wordpress/i18n");
934
1155
  var corners = [
935
1156
  {
936
1157
  label: (0, import_i18n8.__)("Top Left", "elementor"),
937
- icon: /* @__PURE__ */ React24.createElement(import_icons7.RadiusTopLeftIcon, { fontSize: "tiny" }),
1158
+ icon: /* @__PURE__ */ React25.createElement(import_icons7.RadiusTopLeftIcon, { fontSize: "tiny" }),
938
1159
  bind: "top-left"
939
1160
  },
940
1161
  {
941
1162
  label: (0, import_i18n8.__)("Top Right", "elementor"),
942
- icon: /* @__PURE__ */ React24.createElement(import_icons7.RadiusTopRightIcon, { fontSize: "tiny" }),
1163
+ icon: /* @__PURE__ */ React25.createElement(import_icons7.RadiusTopRightIcon, { fontSize: "tiny" }),
943
1164
  bind: "top-right"
944
1165
  },
945
1166
  {
946
1167
  label: (0, import_i18n8.__)("Bottom Right", "elementor"),
947
- icon: /* @__PURE__ */ React24.createElement(import_icons7.RadiusBottomRightIcon, { fontSize: "tiny" }),
1168
+ icon: /* @__PURE__ */ React25.createElement(import_icons7.RadiusBottomRightIcon, { fontSize: "tiny" }),
948
1169
  bind: "bottom-right"
949
1170
  },
950
1171
  {
951
1172
  label: (0, import_i18n8.__)("Bottom Left", "elementor"),
952
- icon: /* @__PURE__ */ React24.createElement(import_icons7.RadiusBottomLeftIcon, { fontSize: "tiny" }),
1173
+ icon: /* @__PURE__ */ React25.createElement(import_icons7.RadiusBottomLeftIcon, { fontSize: "tiny" }),
953
1174
  bind: "bottom-left"
954
1175
  }
955
1176
  ];
956
1177
  var BorderRadiusField = () => {
957
- return /* @__PURE__ */ React24.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React24.createElement(
1178
+ return /* @__PURE__ */ React25.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React25.createElement(
958
1179
  import_editor_controls11.EqualUnequalSizesControl,
959
1180
  {
960
1181
  items: corners,
961
1182
  label: (0, import_i18n8.__)("Border Radius", "elementor"),
962
- icon: /* @__PURE__ */ React24.createElement(import_icons7.BorderCornersIcon, { fontSize: "tiny" }),
1183
+ icon: /* @__PURE__ */ React25.createElement(import_icons7.BorderCornersIcon, { fontSize: "tiny" }),
963
1184
  multiSizePropTypeUtil: import_editor_props3.borderRadiusPropTypeUtil
964
1185
  }
965
1186
  ));
966
1187
  };
967
1188
 
968
1189
  // src/components/style-sections/border-section/border-section.tsx
969
- var BorderSection = () => /* @__PURE__ */ React25.createElement(import_ui15.Stack, { gap: 1.5 }, /* @__PURE__ */ React25.createElement(BorderRadiusField, null), /* @__PURE__ */ React25.createElement(import_ui15.Divider, null), /* @__PURE__ */ React25.createElement(BorderField, null));
1190
+ var BorderSection = () => /* @__PURE__ */ React26.createElement(import_ui15.Stack, { gap: 1.5 }, /* @__PURE__ */ React26.createElement(BorderRadiusField, null), /* @__PURE__ */ React26.createElement(import_ui15.Divider, null), /* @__PURE__ */ React26.createElement(BorderField, null));
970
1191
 
971
1192
  // src/components/style-sections/effects-section/effects-section.tsx
972
- var React26 = __toESM(require("react"));
1193
+ var React27 = __toESM(require("react"));
973
1194
  var import_editor_controls12 = require("@elementor/editor-controls");
974
1195
  var import_ui16 = require("@elementor/ui");
975
1196
  var EffectsSection = () => {
976
- return /* @__PURE__ */ React26.createElement(import_ui16.Stack, { gap: 1.5 }, /* @__PURE__ */ React26.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React26.createElement(import_editor_controls12.BoxShadowRepeaterControl, null)));
1197
+ return /* @__PURE__ */ React27.createElement(import_ui16.Stack, { gap: 1.5 }, /* @__PURE__ */ React27.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React27.createElement(import_editor_controls12.BoxShadowRepeaterControl, null)));
977
1198
  };
978
1199
 
979
1200
  // src/components/style-sections/layout-section/layout-section.tsx
980
- var React37 = __toESM(require("react"));
1201
+ var React38 = __toESM(require("react"));
981
1202
  var import_editor_controls22 = require("@elementor/editor-controls");
982
1203
  var import_editor_elements4 = require("@elementor/editor-elements");
983
1204
  var import_ui28 = require("@elementor/ui");
@@ -1009,7 +1230,7 @@ function useComputedStyle(elementId) {
1009
1230
  }
1010
1231
 
1011
1232
  // src/components/style-sections/layout-section/align-items-field.tsx
1012
- var React28 = __toESM(require("react"));
1233
+ var React29 = __toESM(require("react"));
1013
1234
  var import_editor_controls13 = require("@elementor/editor-controls");
1014
1235
  var import_icons8 = require("@elementor/icons");
1015
1236
  var import_ui19 = require("@elementor/ui");
@@ -1024,8 +1245,8 @@ function useDirection() {
1024
1245
  }
1025
1246
 
1026
1247
  // src/components/style-sections/layout-section/utils/rotated-icon.tsx
1027
- var React27 = __toESM(require("react"));
1028
- var import_react9 = require("react");
1248
+ var React28 = __toESM(require("react"));
1249
+ var import_react11 = require("react");
1029
1250
  var import_ui18 = require("@elementor/ui");
1030
1251
  var CLOCKWISE_ANGLES = {
1031
1252
  row: 0,
@@ -1040,9 +1261,9 @@ var COUNTER_CLOCKWISE_ANGLES = {
1040
1261
  "column-reverse": -270
1041
1262
  };
1042
1263
  var RotatedIcon = ({ icon: Icon, size, isClockwise = true, offset = 0 }) => {
1043
- const rotate = (0, import_react9.useRef)(useGetTargetAngle(isClockwise, offset));
1264
+ const rotate = (0, import_react11.useRef)(useGetTargetAngle(isClockwise, offset));
1044
1265
  rotate.current = useGetTargetAngle(isClockwise, offset, rotate);
1045
- return /* @__PURE__ */ React27.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
1266
+ return /* @__PURE__ */ React28.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
1046
1267
  };
1047
1268
  var useGetTargetAngle = (isClockwise, offset, existingRef) => {
1048
1269
  const [direction] = useStylesField("flex-direction");
@@ -1067,35 +1288,35 @@ var options = [
1067
1288
  {
1068
1289
  value: "start",
1069
1290
  label: (0, import_i18n9.__)("Start", "elementor"),
1070
- renderContent: ({ size }) => /* @__PURE__ */ React28.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
1291
+ renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
1071
1292
  showTooltip: true
1072
1293
  },
1073
1294
  {
1074
1295
  value: "center",
1075
1296
  label: (0, import_i18n9.__)("Center", "elementor"),
1076
- renderContent: ({ size }) => /* @__PURE__ */ React28.createElement(RotatedIcon, { icon: import_icons8.LayoutAlignCenterIcon, size, ...iconProps }),
1297
+ renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: import_icons8.LayoutAlignCenterIcon, size, ...iconProps }),
1077
1298
  showTooltip: true
1078
1299
  },
1079
1300
  {
1080
1301
  value: "end",
1081
1302
  label: (0, import_i18n9.__)("End", "elementor"),
1082
- renderContent: ({ size }) => /* @__PURE__ */ React28.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
1303
+ renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
1083
1304
  showTooltip: true
1084
1305
  },
1085
1306
  {
1086
1307
  value: "stretch",
1087
1308
  label: (0, import_i18n9.__)("Stretch", "elementor"),
1088
- renderContent: ({ size }) => /* @__PURE__ */ React28.createElement(RotatedIcon, { icon: import_icons8.LayoutDistributeVerticalIcon, size, ...iconProps }),
1309
+ renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: import_icons8.LayoutDistributeVerticalIcon, size, ...iconProps }),
1089
1310
  showTooltip: true
1090
1311
  }
1091
1312
  ];
1092
1313
  var AlignItemsField = () => {
1093
1314
  const { isSiteRtl } = useDirection();
1094
- return /* @__PURE__ */ React28.createElement(import_ui19.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React28.createElement(import_ui19.ThemeProvider, null, /* @__PURE__ */ React28.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React28.createElement(import_ui19.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React28.createElement(import_ui19.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React28.createElement(import_editor_controls13.ControlLabel, null, (0, import_i18n9.__)("Align items", "elementor"))), /* @__PURE__ */ React28.createElement(import_ui19.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React28.createElement(import_editor_controls13.ToggleControl, { options }))))));
1315
+ return /* @__PURE__ */ React29.createElement(import_ui19.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React29.createElement(import_ui19.ThemeProvider, null, /* @__PURE__ */ React29.createElement(StylesField, { bind: "align-items" }, /* @__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_controls13.ControlLabel, null, (0, import_i18n9.__)("Align items", "elementor"))), /* @__PURE__ */ React29.createElement(import_ui19.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React29.createElement(import_editor_controls13.ToggleControl, { options }))))));
1095
1316
  };
1096
1317
 
1097
1318
  // src/components/style-sections/layout-section/align-self-child-field.tsx
1098
- var React29 = __toESM(require("react"));
1319
+ var React30 = __toESM(require("react"));
1099
1320
  var import_editor_controls14 = require("@elementor/editor-controls");
1100
1321
  var import_icons9 = require("@elementor/icons");
1101
1322
  var import_ui20 = require("@elementor/ui");
@@ -1110,35 +1331,35 @@ var options2 = [
1110
1331
  {
1111
1332
  value: "start",
1112
1333
  label: (0, import_i18n10.__)("Start", "elementor"),
1113
- renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
1334
+ renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
1114
1335
  showTooltip: true
1115
1336
  },
1116
1337
  {
1117
1338
  value: "center",
1118
1339
  label: (0, import_i18n10.__)("Center", "elementor"),
1119
- renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: import_icons9.LayoutAlignCenterIcon, size, ...iconProps2 }),
1340
+ renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: import_icons9.LayoutAlignCenterIcon, size, ...iconProps2 }),
1120
1341
  showTooltip: true
1121
1342
  },
1122
1343
  {
1123
1344
  value: "end",
1124
1345
  label: (0, import_i18n10.__)("End", "elementor"),
1125
- renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
1346
+ renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
1126
1347
  showTooltip: true
1127
1348
  },
1128
1349
  {
1129
1350
  value: "stretch",
1130
1351
  label: (0, import_i18n10.__)("Stretch", "elementor"),
1131
- renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: import_icons9.LayoutDistributeVerticalIcon, size, ...iconProps2 }),
1352
+ renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: import_icons9.LayoutDistributeVerticalIcon, size, ...iconProps2 }),
1132
1353
  showTooltip: true
1133
1354
  }
1134
1355
  ];
1135
1356
  var AlignSelfChild = () => {
1136
1357
  const { isSiteRtl } = useDirection();
1137
- return /* @__PURE__ */ React29.createElement(import_ui20.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React29.createElement(import_ui20.ThemeProvider, null, /* @__PURE__ */ React29.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React29.createElement(import_ui20.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React29.createElement(import_ui20.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React29.createElement(import_editor_controls14.ControlLabel, null, (0, import_i18n10.__)("Align self", "elementor"))), /* @__PURE__ */ React29.createElement(import_ui20.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React29.createElement(import_editor_controls14.ToggleControl, { options: options2 }))))));
1358
+ return /* @__PURE__ */ React30.createElement(import_ui20.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React30.createElement(import_ui20.ThemeProvider, null, /* @__PURE__ */ React30.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React30.createElement(import_ui20.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React30.createElement(import_ui20.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React30.createElement(import_editor_controls14.ControlLabel, null, (0, import_i18n10.__)("Align self", "elementor"))), /* @__PURE__ */ React30.createElement(import_ui20.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React30.createElement(import_editor_controls14.ToggleControl, { options: options2 }))))));
1138
1359
  };
1139
1360
 
1140
1361
  // src/components/style-sections/layout-section/display-field.tsx
1141
- var React30 = __toESM(require("react"));
1362
+ var React31 = __toESM(require("react"));
1142
1363
  var import_editor_controls15 = require("@elementor/editor-controls");
1143
1364
  var import_ui21 = require("@elementor/ui");
1144
1365
  var import_i18n11 = require("@wordpress/i18n");
@@ -1155,11 +1376,11 @@ var DisplayField = () => {
1155
1376
  label: (0, import_i18n11.__)("Flex", "elementor")
1156
1377
  }
1157
1378
  ];
1158
- return /* @__PURE__ */ React30.createElement(StylesField, { bind: "display" }, /* @__PURE__ */ React30.createElement(import_ui21.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 })));
1379
+ return /* @__PURE__ */ React31.createElement(StylesField, { bind: "display" }, /* @__PURE__ */ React31.createElement(import_ui21.Stack, { gap: 1 }, /* @__PURE__ */ React31.createElement(import_editor_controls15.ControlLabel, null, (0, import_i18n11.__)("Display", "elementor")), /* @__PURE__ */ React31.createElement(import_editor_controls15.ToggleControl, { options: options10, fullWidth: true })));
1159
1380
  };
1160
1381
 
1161
1382
  // src/components/style-sections/layout-section/flex-direction-field.tsx
1162
- var React31 = __toESM(require("react"));
1383
+ var React32 = __toESM(require("react"));
1163
1384
  var import_editor_controls16 = require("@elementor/editor-controls");
1164
1385
  var import_icons10 = require("@elementor/icons");
1165
1386
  var import_ui22 = require("@elementor/ui");
@@ -1170,14 +1391,14 @@ var options3 = [
1170
1391
  label: (0, import_i18n12.__)("Row", "elementor"),
1171
1392
  renderContent: ({ size }) => {
1172
1393
  const StartIcon4 = (0, import_ui22.withDirection)(import_icons10.ArrowRightIcon);
1173
- return /* @__PURE__ */ React31.createElement(StartIcon4, { fontSize: size });
1394
+ return /* @__PURE__ */ React32.createElement(StartIcon4, { fontSize: size });
1174
1395
  },
1175
1396
  showTooltip: true
1176
1397
  },
1177
1398
  {
1178
1399
  value: "column",
1179
1400
  label: (0, import_i18n12.__)("Column", "elementor"),
1180
- renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(import_icons10.ArrowDownSmallIcon, { fontSize: size }),
1401
+ renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(import_icons10.ArrowDownSmallIcon, { fontSize: size }),
1181
1402
  showTooltip: true
1182
1403
  },
1183
1404
  {
@@ -1185,25 +1406,25 @@ var options3 = [
1185
1406
  label: (0, import_i18n12.__)("Reversed row", "elementor"),
1186
1407
  renderContent: ({ size }) => {
1187
1408
  const EndIcon4 = (0, import_ui22.withDirection)(import_icons10.ArrowLeftIcon);
1188
- return /* @__PURE__ */ React31.createElement(EndIcon4, { fontSize: size });
1409
+ return /* @__PURE__ */ React32.createElement(EndIcon4, { fontSize: size });
1189
1410
  },
1190
1411
  showTooltip: true
1191
1412
  },
1192
1413
  {
1193
1414
  value: "column-reverse",
1194
1415
  label: (0, import_i18n12.__)("Reversed column", "elementor"),
1195
- renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(import_icons10.ArrowUpSmallIcon, { fontSize: size }),
1416
+ renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(import_icons10.ArrowUpSmallIcon, { fontSize: size }),
1196
1417
  showTooltip: true
1197
1418
  }
1198
1419
  ];
1199
1420
  var FlexDirectionField = () => {
1200
1421
  const { isSiteRtl } = useDirection();
1201
- return /* @__PURE__ */ React31.createElement(import_ui22.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React31.createElement(import_ui22.ThemeProvider, null, /* @__PURE__ */ React31.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React31.createElement(import_ui22.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React31.createElement(import_ui22.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React31.createElement(import_editor_controls16.ControlLabel, null, (0, import_i18n12.__)("Direction", "elementor"))), /* @__PURE__ */ React31.createElement(import_ui22.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React31.createElement(import_editor_controls16.ToggleControl, { options: options3 }))))));
1422
+ return /* @__PURE__ */ React32.createElement(import_ui22.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React32.createElement(import_ui22.ThemeProvider, null, /* @__PURE__ */ React32.createElement(StylesField, { bind: "flex-direction" }, /* @__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_controls16.ControlLabel, null, (0, import_i18n12.__)("Direction", "elementor"))), /* @__PURE__ */ React32.createElement(import_ui22.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(import_editor_controls16.ToggleControl, { options: options3 }))))));
1202
1423
  };
1203
1424
 
1204
1425
  // src/components/style-sections/layout-section/flex-order-field.tsx
1205
- var React32 = __toESM(require("react"));
1206
- var import_react10 = require("react");
1426
+ var React33 = __toESM(require("react"));
1427
+ var import_react12 = require("react");
1207
1428
  var import_editor_controls17 = require("@elementor/editor-controls");
1208
1429
  var import_icons11 = require("@elementor/icons");
1209
1430
  var import_ui23 = require("@elementor/ui");
@@ -1221,25 +1442,25 @@ var items = [
1221
1442
  {
1222
1443
  value: FIRST,
1223
1444
  label: (0, import_i18n13.__)("First", "elementor"),
1224
- renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(import_icons11.ArrowUpSmallIcon, { fontSize: size }),
1445
+ renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(import_icons11.ArrowUpSmallIcon, { fontSize: size }),
1225
1446
  showTooltip: true
1226
1447
  },
1227
1448
  {
1228
1449
  value: LAST,
1229
1450
  label: (0, import_i18n13.__)("Last", "elementor"),
1230
- renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(import_icons11.ArrowDownSmallIcon, { fontSize: size }),
1451
+ renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(import_icons11.ArrowDownSmallIcon, { fontSize: size }),
1231
1452
  showTooltip: true
1232
1453
  },
1233
1454
  {
1234
1455
  value: CUSTOM,
1235
1456
  label: (0, import_i18n13.__)("Custom", "elementor"),
1236
- renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(import_icons11.PencilIcon, { fontSize: size }),
1457
+ renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(import_icons11.PencilIcon, { fontSize: size }),
1237
1458
  showTooltip: true
1238
1459
  }
1239
1460
  ];
1240
1461
  var FlexOrderField = () => {
1241
1462
  const { isSiteRtl } = useDirection(), [order, setOrder] = useStylesField("order");
1242
- const [groupControlValue, setGroupControlValue] = (0, import_react10.useState)(getGroupControlValue(order?.value || null));
1463
+ const [groupControlValue, setGroupControlValue] = (0, import_react12.useState)(getGroupControlValue(order?.value || null));
1243
1464
  const handleToggleButtonChange = (group) => {
1244
1465
  setGroupControlValue(group);
1245
1466
  if (!group || group === CUSTOM) {
@@ -1248,7 +1469,7 @@ var FlexOrderField = () => {
1248
1469
  }
1249
1470
  setOrder({ $$type: "number", value: orderValueMap[group] });
1250
1471
  };
1251
- return /* @__PURE__ */ React32.createElement(import_ui23.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React32.createElement(import_ui23.ThemeProvider, null, /* @__PURE__ */ React32.createElement(import_ui23.Stack, { gap: 2 }, /* @__PURE__ */ React32.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(import_editor_controls17.ControlLabel, null, (0, import_i18n13.__)("Order", "elementor"))), /* @__PURE__ */ React32.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(
1472
+ 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_controls17.ControlLabel, null, (0, import_i18n13.__)("Order", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(
1252
1473
  import_editor_controls17.ControlToggleButtonGroup,
1253
1474
  {
1254
1475
  items,
@@ -1256,7 +1477,7 @@ var FlexOrderField = () => {
1256
1477
  onChange: handleToggleButtonChange,
1257
1478
  exclusive: true
1258
1479
  }
1259
- ))), CUSTOM === groupControlValue && /* @__PURE__ */ React32.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React32.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(import_editor_controls17.ControlLabel, null, (0, import_i18n13.__)("Custom order", "elementor"))), /* @__PURE__ */ React32.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(
1480
+ ))), CUSTOM === groupControlValue && /* @__PURE__ */ React33.createElement(StylesField, { bind: "order" }, /* @__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_controls17.ControlLabel, null, (0, import_i18n13.__)("Custom order", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(
1260
1481
  import_editor_controls17.NumberControl,
1261
1482
  {
1262
1483
  min: FIRST_DEFAULT_VALUE + 1,
@@ -1276,7 +1497,7 @@ var getGroupControlValue = (order) => {
1276
1497
  };
1277
1498
 
1278
1499
  // src/components/style-sections/layout-section/flex-size-field.tsx
1279
- var React33 = __toESM(require("react"));
1500
+ var React34 = __toESM(require("react"));
1280
1501
  var import_editor_controls18 = require("@elementor/editor-controls");
1281
1502
  var import_icons12 = require("@elementor/icons");
1282
1503
  var import_ui24 = require("@elementor/ui");
@@ -1286,26 +1507,26 @@ var items2 = [
1286
1507
  {
1287
1508
  value: "flex-grow",
1288
1509
  label: (0, import_i18n14.__)("Grow", "elementor"),
1289
- renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(import_icons12.ExpandIcon, { fontSize: size }),
1510
+ renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(import_icons12.ExpandIcon, { fontSize: size }),
1290
1511
  showTooltip: true
1291
1512
  },
1292
1513
  {
1293
1514
  value: "flex-shrink",
1294
1515
  label: (0, import_i18n14.__)("Shrink", "elementor"),
1295
- renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(import_icons12.ShrinkIcon, { fontSize: size }),
1516
+ renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(import_icons12.ShrinkIcon, { fontSize: size }),
1296
1517
  showTooltip: true
1297
1518
  },
1298
1519
  {
1299
1520
  value: "custom",
1300
1521
  label: (0, import_i18n14.__)("Custom", "elementor"),
1301
- renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(import_icons12.PencilIcon, { fontSize: size }),
1522
+ renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(import_icons12.PencilIcon, { fontSize: size }),
1302
1523
  showTooltip: true
1303
1524
  }
1304
1525
  ];
1305
1526
  var FlexSizeField = () => {
1306
1527
  const { isSiteRtl } = useDirection(), [growField, setGrowField] = useStylesField("flex-grow"), [shrinkField, setShrinkField] = useStylesField("flex-shrink"), [basisField, setBasisField] = useStylesField("flex-basis");
1307
1528
  const grow = growField?.value || null, shrink = shrinkField?.value || null, basis = basisField?.value || null;
1308
- const currentGroup = React33.useMemo(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = React33.useState(currentGroup);
1529
+ const currentGroup = React34.useMemo(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = React34.useState(currentGroup);
1309
1530
  const onChangeGroup = (group = null) => {
1310
1531
  setActiveGroup(group);
1311
1532
  setBasisField(null);
@@ -1322,7 +1543,7 @@ var FlexSizeField = () => {
1322
1543
  setGrowField(null);
1323
1544
  setShrinkField({ $$type: "number", value: DEFAULT });
1324
1545
  };
1325
- return /* @__PURE__ */ React33.createElement(import_ui24.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React33.createElement(import_ui24.ThemeProvider, null, /* @__PURE__ */ React33.createElement(import_ui24.Stack, { gap: 2 }, /* @__PURE__ */ React33.createElement(import_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n14.__)("Size", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(
1546
+ return /* @__PURE__ */ React34.createElement(import_ui24.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React34.createElement(import_ui24.ThemeProvider, null, /* @__PURE__ */ React34.createElement(import_ui24.Stack, { gap: 2 }, /* @__PURE__ */ React34.createElement(import_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n14.__)("Size", "elementor"))), /* @__PURE__ */ React34.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React34.createElement(
1326
1547
  import_editor_controls18.ControlToggleButtonGroup,
1327
1548
  {
1328
1549
  value: activeGroup,
@@ -1330,9 +1551,9 @@ var FlexSizeField = () => {
1330
1551
  items: items2,
1331
1552
  exclusive: true
1332
1553
  }
1333
- ))), "custom" === activeGroup && /* @__PURE__ */ React33.createElement(FlexCustomField, null))));
1554
+ ))), "custom" === activeGroup && /* @__PURE__ */ React34.createElement(FlexCustomField, null))));
1334
1555
  };
1335
- var FlexCustomField = () => /* @__PURE__ */ React33.createElement(React33.Fragment, null, /* @__PURE__ */ React33.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React33.createElement(import_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n14.__)("Grow", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui24.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_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n14.__)("Shrink", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui24.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_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n14.__)("Basis", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(import_editor_controls18.SizeControl, null)))));
1556
+ var FlexCustomField = () => /* @__PURE__ */ React34.createElement(React34.Fragment, null, /* @__PURE__ */ React34.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React34.createElement(import_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n14.__)("Grow", "elementor"))), /* @__PURE__ */ React34.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React34.createElement(import_editor_controls18.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React34.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React34.createElement(import_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n14.__)("Shrink", "elementor"))), /* @__PURE__ */ React34.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React34.createElement(import_editor_controls18.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React34.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React34.createElement(import_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n14.__)("Basis", "elementor"))), /* @__PURE__ */ React34.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React34.createElement(import_editor_controls18.SizeControl, null)))));
1336
1557
  var getActiveGroup = ({
1337
1558
  grow,
1338
1559
  shrink,
@@ -1354,16 +1575,16 @@ var getActiveGroup = ({
1354
1575
  };
1355
1576
 
1356
1577
  // src/components/style-sections/layout-section/gap-control-field.tsx
1357
- var React34 = __toESM(require("react"));
1578
+ var React35 = __toESM(require("react"));
1358
1579
  var import_editor_controls19 = require("@elementor/editor-controls");
1359
1580
  var import_ui25 = require("@elementor/ui");
1360
1581
  var import_i18n15 = require("@wordpress/i18n");
1361
1582
  var GapControlField = () => {
1362
- return /* @__PURE__ */ React34.createElement(import_ui25.Stack, { gap: 1 }, /* @__PURE__ */ React34.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React34.createElement(import_editor_controls19.GapControl, { label: (0, import_i18n15.__)("Gaps", "elementor") })));
1583
+ return /* @__PURE__ */ React35.createElement(import_ui25.Stack, { gap: 1 }, /* @__PURE__ */ React35.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React35.createElement(import_editor_controls19.GapControl, { label: (0, import_i18n15.__)("Gaps", "elementor") })));
1363
1584
  };
1364
1585
 
1365
1586
  // src/components/style-sections/layout-section/justify-content-field.tsx
1366
- var React35 = __toESM(require("react"));
1587
+ var React36 = __toESM(require("react"));
1367
1588
  var import_editor_controls20 = require("@elementor/editor-controls");
1368
1589
  var import_icons13 = require("@elementor/icons");
1369
1590
  var import_ui26 = require("@elementor/ui");
@@ -1378,47 +1599,47 @@ var options4 = [
1378
1599
  {
1379
1600
  value: "start",
1380
1601
  label: (0, import_i18n16.__)("Start", "elementor"),
1381
- renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: StartIcon3, size, ...iconProps3 }),
1602
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: StartIcon3, size, ...iconProps3 }),
1382
1603
  showTooltip: true
1383
1604
  },
1384
1605
  {
1385
1606
  value: "center",
1386
1607
  label: (0, import_i18n16.__)("Center", "elementor"),
1387
- renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: import_icons13.JustifyCenterIcon, size, ...iconProps3 }),
1608
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: import_icons13.JustifyCenterIcon, size, ...iconProps3 }),
1388
1609
  showTooltip: true
1389
1610
  },
1390
1611
  {
1391
1612
  value: "end",
1392
1613
  label: (0, import_i18n16.__)("End", "elementor"),
1393
- renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: EndIcon3, size, ...iconProps3 }),
1614
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: EndIcon3, size, ...iconProps3 }),
1394
1615
  showTooltip: true
1395
1616
  },
1396
1617
  {
1397
1618
  value: "space-between",
1398
1619
  label: (0, import_i18n16.__)("Space between", "elementor"),
1399
- renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: import_icons13.JustifySpaceBetweenVerticalIcon, size, ...iconProps3 }),
1620
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: import_icons13.JustifySpaceBetweenVerticalIcon, size, ...iconProps3 }),
1400
1621
  showTooltip: true
1401
1622
  },
1402
1623
  {
1403
1624
  value: "space-around",
1404
1625
  label: (0, import_i18n16.__)("Space around", "elementor"),
1405
- renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: import_icons13.JustifySpaceAroundVerticalIcon, size, ...iconProps3 }),
1626
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: import_icons13.JustifySpaceAroundVerticalIcon, size, ...iconProps3 }),
1406
1627
  showTooltip: true
1407
1628
  },
1408
1629
  {
1409
1630
  value: "space-evenly",
1410
1631
  label: (0, import_i18n16.__)("Space evenly", "elementor"),
1411
- renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: import_icons13.JustifyDistributeVerticalIcon, size, ...iconProps3 }),
1632
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: import_icons13.JustifyDistributeVerticalIcon, size, ...iconProps3 }),
1412
1633
  showTooltip: true
1413
1634
  }
1414
1635
  ];
1415
1636
  var JustifyContentField = () => {
1416
1637
  const { isSiteRtl } = useDirection();
1417
- return /* @__PURE__ */ React35.createElement(import_ui26.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React35.createElement(import_ui26.ThemeProvider, null, /* @__PURE__ */ React35.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React35.createElement(import_ui26.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 })))));
1638
+ return /* @__PURE__ */ React36.createElement(import_ui26.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React36.createElement(import_ui26.ThemeProvider, null, /* @__PURE__ */ React36.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React36.createElement(import_ui26.Stack, { gap: 1 }, /* @__PURE__ */ React36.createElement(import_editor_controls20.ControlLabel, null, (0, import_i18n16.__)("Justify content", "elementor")), /* @__PURE__ */ React36.createElement(import_editor_controls20.ToggleControl, { options: options4, fullWidth: true })))));
1418
1639
  };
1419
1640
 
1420
1641
  // src/components/style-sections/layout-section/wrap-field.tsx
1421
- var React36 = __toESM(require("react"));
1642
+ var React37 = __toESM(require("react"));
1422
1643
  var import_editor_controls21 = require("@elementor/editor-controls");
1423
1644
  var import_icons14 = require("@elementor/icons");
1424
1645
  var import_ui27 = require("@elementor/ui");
@@ -1427,25 +1648,25 @@ var options5 = [
1427
1648
  {
1428
1649
  value: "nowrap",
1429
1650
  label: (0, import_i18n17.__)("No wrap", "elementor"),
1430
- renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(import_icons14.ArrowRightIcon, { fontSize: size }),
1651
+ renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(import_icons14.ArrowRightIcon, { fontSize: size }),
1431
1652
  showTooltip: true
1432
1653
  },
1433
1654
  {
1434
1655
  value: "wrap",
1435
1656
  label: (0, import_i18n17.__)("Wrap", "elementor"),
1436
- renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(import_icons14.ArrowBackIcon, { fontSize: size }),
1657
+ renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(import_icons14.ArrowBackIcon, { fontSize: size }),
1437
1658
  showTooltip: true
1438
1659
  },
1439
1660
  {
1440
1661
  value: "wrap-reverse",
1441
1662
  label: (0, import_i18n17.__)("Reversed wrap", "elementor"),
1442
- renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(import_icons14.ArrowForwardIcon, { fontSize: size }),
1663
+ renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(import_icons14.ArrowForwardIcon, { fontSize: size }),
1443
1664
  showTooltip: true
1444
1665
  }
1445
1666
  ];
1446
1667
  var WrapField = () => {
1447
1668
  const { isSiteRtl } = useDirection();
1448
- return /* @__PURE__ */ React36.createElement(import_ui27.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React36.createElement(import_ui27.ThemeProvider, null, /* @__PURE__ */ React36.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React36.createElement(import_ui27.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React36.createElement(import_ui27.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React36.createElement(import_editor_controls21.ControlLabel, null, (0, import_i18n17.__)("Wrap", "elementor"))), /* @__PURE__ */ React36.createElement(import_ui27.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React36.createElement(import_editor_controls21.ToggleControl, { options: options5 }))))));
1669
+ return /* @__PURE__ */ React37.createElement(import_ui27.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React37.createElement(import_ui27.ThemeProvider, null, /* @__PURE__ */ React37.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React37.createElement(import_ui27.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React37.createElement(import_ui27.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React37.createElement(import_editor_controls21.ControlLabel, null, (0, import_i18n17.__)("Wrap", "elementor"))), /* @__PURE__ */ React37.createElement(import_ui27.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React37.createElement(import_editor_controls21.ToggleControl, { options: options5 }))))));
1449
1670
  };
1450
1671
 
1451
1672
  // src/components/style-sections/layout-section/layout-section.tsx
@@ -1454,22 +1675,22 @@ var LayoutSection = () => {
1454
1675
  const { element } = useElement();
1455
1676
  const parent = (0, import_editor_elements4.useParentElement)(element.id);
1456
1677
  const parentStyle = useComputedStyle(parent?.id || null);
1457
- return /* @__PURE__ */ React37.createElement(import_ui28.Stack, { gap: 2 }, /* @__PURE__ */ React37.createElement(DisplayField, null), "flex" === display?.value && /* @__PURE__ */ React37.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React37.createElement(FlexChildFields, null));
1678
+ return /* @__PURE__ */ React38.createElement(import_ui28.Stack, { gap: 2 }, /* @__PURE__ */ React38.createElement(DisplayField, null), "flex" === display?.value && /* @__PURE__ */ React38.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React38.createElement(FlexChildFields, null));
1458
1679
  };
1459
- 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_ui28.Divider, null), /* @__PURE__ */ React37.createElement(GapControlField, null), /* @__PURE__ */ React37.createElement(WrapField, null));
1460
- var FlexChildFields = () => /* @__PURE__ */ React37.createElement(React37.Fragment, null, /* @__PURE__ */ React37.createElement(import_ui28.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));
1680
+ var FlexFields = () => /* @__PURE__ */ React38.createElement(React38.Fragment, null, /* @__PURE__ */ React38.createElement(FlexDirectionField, null), /* @__PURE__ */ React38.createElement(JustifyContentField, null), /* @__PURE__ */ React38.createElement(AlignItemsField, null), /* @__PURE__ */ React38.createElement(import_ui28.Divider, null), /* @__PURE__ */ React38.createElement(GapControlField, null), /* @__PURE__ */ React38.createElement(WrapField, null));
1681
+ var FlexChildFields = () => /* @__PURE__ */ React38.createElement(React38.Fragment, null, /* @__PURE__ */ React38.createElement(import_ui28.Divider, null), /* @__PURE__ */ React38.createElement(import_editor_controls22.ControlLabel, null, (0, import_i18n18.__)("Flex child", "elementor")), /* @__PURE__ */ React38.createElement(AlignSelfChild, null), /* @__PURE__ */ React38.createElement(FlexOrderField, null), /* @__PURE__ */ React38.createElement(FlexSizeField, null));
1461
1682
 
1462
1683
  // src/components/style-sections/position-section/position-section.tsx
1463
- var React41 = __toESM(require("react"));
1684
+ var React42 = __toESM(require("react"));
1464
1685
  var import_ui32 = require("@elementor/ui");
1465
1686
 
1466
1687
  // src/hooks/use-session-storage.ts
1467
- var import_react11 = require("react");
1688
+ var import_react13 = require("react");
1468
1689
  var import_utils2 = require("@elementor/utils");
1469
1690
  var useSessionStorage = (key) => {
1470
1691
  const prefixedKey = `elementor/${key}`;
1471
- const [value, setValue] = (0, import_react11.useState)();
1472
- (0, import_react11.useEffect)(() => {
1692
+ const [value, setValue] = (0, import_react13.useState)();
1693
+ (0, import_react13.useEffect)(() => {
1473
1694
  return subscribeToSessionStorage(prefixedKey, (newValue) => {
1474
1695
  setValue(newValue ?? null);
1475
1696
  });
@@ -1501,26 +1722,26 @@ var subscribeToSessionStorage = (key, subscriber) => {
1501
1722
  };
1502
1723
 
1503
1724
  // src/components/style-sections/position-section/dimensions-field.tsx
1504
- var React38 = __toESM(require("react"));
1725
+ var React39 = __toESM(require("react"));
1505
1726
  var import_editor_controls23 = require("@elementor/editor-controls");
1506
1727
  var import_icons15 = require("@elementor/icons");
1507
1728
  var import_ui29 = require("@elementor/ui");
1508
1729
  var import_i18n19 = require("@wordpress/i18n");
1509
1730
  var sideIcons = {
1510
- left: /* @__PURE__ */ React38.createElement(import_icons15.SideLeftIcon, { fontSize: "tiny" }),
1511
- right: /* @__PURE__ */ React38.createElement(import_icons15.SideRightIcon, { fontSize: "tiny" }),
1512
- top: /* @__PURE__ */ React38.createElement(import_icons15.SideTopIcon, { fontSize: "tiny" }),
1513
- bottom: /* @__PURE__ */ React38.createElement(import_icons15.SideBottomIcon, { fontSize: "tiny" })
1731
+ left: /* @__PURE__ */ React39.createElement(import_icons15.SideLeftIcon, { fontSize: "tiny" }),
1732
+ right: /* @__PURE__ */ React39.createElement(import_icons15.SideRightIcon, { fontSize: "tiny" }),
1733
+ top: /* @__PURE__ */ React39.createElement(import_icons15.SideTopIcon, { fontSize: "tiny" }),
1734
+ bottom: /* @__PURE__ */ React39.createElement(import_icons15.SideBottomIcon, { fontSize: "tiny" })
1514
1735
  };
1515
1736
  var DimensionsField = () => {
1516
- return /* @__PURE__ */ React38.createElement(React38.Fragment, null, /* @__PURE__ */ React38.createElement(import_ui29.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_ui29.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") })));
1737
+ return /* @__PURE__ */ React39.createElement(React39.Fragment, null, /* @__PURE__ */ React39.createElement(import_ui29.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React39.createElement(DimensionField, { side: "top", label: (0, import_i18n19.__)("Top", "elementor") }), /* @__PURE__ */ React39.createElement(DimensionField, { side: "right", label: (0, import_i18n19.__)("Right", "elementor") })), /* @__PURE__ */ React39.createElement(import_ui29.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React39.createElement(DimensionField, { side: "bottom", label: (0, import_i18n19.__)("Bottom", "elementor") }), /* @__PURE__ */ React39.createElement(DimensionField, { side: "left", label: (0, import_i18n19.__)("Left", "elementor") })));
1517
1738
  };
1518
1739
  var DimensionField = ({ side, label }) => {
1519
- return /* @__PURE__ */ React38.createElement(import_ui29.Grid, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React38.createElement(import_ui29.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React38.createElement(import_editor_controls23.ControlLabel, null, label)), /* @__PURE__ */ React38.createElement(import_ui29.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React38.createElement(StylesField, { bind: side }, /* @__PURE__ */ React38.createElement(import_editor_controls23.SizeControl, { startIcon: sideIcons[side] }))));
1740
+ return /* @__PURE__ */ React39.createElement(import_ui29.Grid, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React39.createElement(import_ui29.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React39.createElement(import_editor_controls23.ControlLabel, null, label)), /* @__PURE__ */ React39.createElement(import_ui29.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React39.createElement(StylesField, { bind: side }, /* @__PURE__ */ React39.createElement(import_editor_controls23.SizeControl, { startIcon: sideIcons[side] }))));
1520
1741
  };
1521
1742
 
1522
1743
  // src/components/style-sections/position-section/position-field.tsx
1523
- var React39 = __toESM(require("react"));
1744
+ var React40 = __toESM(require("react"));
1524
1745
  var import_editor_controls24 = require("@elementor/editor-controls");
1525
1746
  var import_ui30 = require("@elementor/ui");
1526
1747
  var import_i18n20 = require("@wordpress/i18n");
@@ -1528,19 +1749,20 @@ var positionOptions = [
1528
1749
  { label: (0, import_i18n20.__)("Static", "elementor"), value: "static" },
1529
1750
  { label: (0, import_i18n20.__)("Relative", "elementor"), value: "relative" },
1530
1751
  { label: (0, import_i18n20.__)("Absolute", "elementor"), value: "absolute" },
1531
- { label: (0, import_i18n20.__)("Fixed", "elementor"), value: "fixed" }
1752
+ { label: (0, import_i18n20.__)("Fixed", "elementor"), value: "fixed" },
1753
+ { label: (0, import_i18n20.__)("Sticky", "elementor"), value: "sticky" }
1532
1754
  ];
1533
1755
  var PositionField = ({ onChange }) => {
1534
- return /* @__PURE__ */ React39.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React39.createElement(import_ui30.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React39.createElement(import_ui30.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React39.createElement(import_editor_controls24.ControlLabel, null, (0, import_i18n20.__)("Position", "elementor"))), /* @__PURE__ */ React39.createElement(import_ui30.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React39.createElement(import_editor_controls24.SelectControl, { options: positionOptions, onChange }))));
1756
+ return /* @__PURE__ */ React40.createElement(StylesField, { bind: "position" }, /* @__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_controls24.ControlLabel, null, (0, import_i18n20.__)("Position", "elementor"))), /* @__PURE__ */ React40.createElement(import_ui30.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(import_editor_controls24.SelectControl, { options: positionOptions, onChange }))));
1535
1757
  };
1536
1758
 
1537
1759
  // src/components/style-sections/position-section/z-index-field.tsx
1538
- var React40 = __toESM(require("react"));
1760
+ var React41 = __toESM(require("react"));
1539
1761
  var import_editor_controls25 = require("@elementor/editor-controls");
1540
1762
  var import_ui31 = require("@elementor/ui");
1541
1763
  var import_i18n21 = require("@wordpress/i18n");
1542
1764
  var ZIndexField = () => {
1543
- return /* @__PURE__ */ React40.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React40.createElement(import_ui31.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(import_ui31.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(import_editor_controls25.ControlLabel, null, (0, import_i18n21.__)("Z-Index", "elementor"))), /* @__PURE__ */ React40.createElement(import_ui31.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(import_editor_controls25.NumberControl, null))));
1765
+ return /* @__PURE__ */ React41.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React41.createElement(import_ui31.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(import_ui31.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(import_editor_controls25.ControlLabel, null, (0, import_i18n21.__)("Z-Index", "elementor"))), /* @__PURE__ */ React41.createElement(import_ui31.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(import_editor_controls25.NumberControl, null))));
1544
1766
  };
1545
1767
 
1546
1768
  // src/components/style-sections/position-section/position-section.tsx
@@ -1572,7 +1794,7 @@ var PositionSection = () => {
1572
1794
  }
1573
1795
  };
1574
1796
  const isNotStatic = positionValue && positionValue?.value !== "static";
1575
- return /* @__PURE__ */ React41.createElement(import_ui32.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);
1797
+ return /* @__PURE__ */ React42.createElement(import_ui32.Stack, { gap: 1.5 }, /* @__PURE__ */ React42.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement(DimensionsField, null), /* @__PURE__ */ React42.createElement(ZIndexField, null)) : null);
1576
1798
  };
1577
1799
  var usePersistDimensions = () => {
1578
1800
  const { id: styleDefID, meta } = useStyle();
@@ -1582,13 +1804,13 @@ var usePersistDimensions = () => {
1582
1804
  };
1583
1805
 
1584
1806
  // src/components/style-sections/size-section/size-section.tsx
1585
- var React43 = __toESM(require("react"));
1807
+ var React44 = __toESM(require("react"));
1586
1808
  var import_editor_controls27 = require("@elementor/editor-controls");
1587
1809
  var import_ui34 = require("@elementor/ui");
1588
1810
  var import_i18n23 = require("@wordpress/i18n");
1589
1811
 
1590
1812
  // src/components/style-sections/size-section/overflow-field.tsx
1591
- var React42 = __toESM(require("react"));
1813
+ var React43 = __toESM(require("react"));
1592
1814
  var import_editor_controls26 = require("@elementor/editor-controls");
1593
1815
  var import_icons16 = require("@elementor/icons");
1594
1816
  var import_ui33 = require("@elementor/ui");
@@ -1597,58 +1819,58 @@ var options6 = [
1597
1819
  {
1598
1820
  value: "visible",
1599
1821
  label: (0, import_i18n22.__)("Visible", "elementor"),
1600
- renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(import_icons16.EyeIcon, { fontSize: size }),
1822
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(import_icons16.EyeIcon, { fontSize: size }),
1601
1823
  showTooltip: true
1602
1824
  },
1603
1825
  {
1604
1826
  value: "hidden",
1605
1827
  label: (0, import_i18n22.__)("Hidden", "elementor"),
1606
- renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(import_icons16.EyeOffIcon, { fontSize: size }),
1828
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(import_icons16.EyeOffIcon, { fontSize: size }),
1607
1829
  showTooltip: true
1608
1830
  },
1609
1831
  {
1610
1832
  value: "auto",
1611
1833
  label: (0, import_i18n22.__)("Auto", "elementor"),
1612
- renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(import_icons16.ExpandBottomIcon, { fontSize: size }),
1834
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(import_icons16.ExpandBottomIcon, { fontSize: size }),
1613
1835
  showTooltip: true
1614
1836
  }
1615
1837
  ];
1616
1838
  var OverflowField = () => {
1617
- return /* @__PURE__ */ React42.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React42.createElement(import_ui33.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React42.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(import_editor_controls26.ControlLabel, null, (0, import_i18n22.__)("Overflow", "elementor"))), /* @__PURE__ */ React42.createElement(import_ui33.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React42.createElement(import_editor_controls26.ToggleControl, { options: options6 }))));
1839
+ return /* @__PURE__ */ React43.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React43.createElement(import_ui33.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(import_editor_controls26.ControlLabel, null, (0, import_i18n22.__)("Overflow", "elementor"))), /* @__PURE__ */ React43.createElement(import_ui33.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React43.createElement(import_editor_controls26.ToggleControl, { options: options6 }))));
1618
1840
  };
1619
1841
 
1620
1842
  // src/components/style-sections/size-section/size-section.tsx
1621
1843
  var SizeSection = () => {
1622
- return /* @__PURE__ */ React43.createElement(import_ui34.Stack, { gap: 1.5 }, /* @__PURE__ */ React43.createElement(import_ui34.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "width", label: (0, import_i18n23.__)("Width", "elementor") })), /* @__PURE__ */ React43.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "height", label: (0, import_i18n23.__)("Height", "elementor") }))), /* @__PURE__ */ React43.createElement(import_ui34.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "min-width", label: (0, import_i18n23.__)("Min. Width", "elementor") })), /* @__PURE__ */ React43.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "min-height", label: (0, import_i18n23.__)("Min. Height", "elementor") }))), /* @__PURE__ */ React43.createElement(import_ui34.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "max-width", label: (0, import_i18n23.__)("Max. Width", "elementor") })), /* @__PURE__ */ React43.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "max-height", label: (0, import_i18n23.__)("Max. Height", "elementor") }))), /* @__PURE__ */ React43.createElement(import_ui34.Divider, null), /* @__PURE__ */ React43.createElement(import_ui34.Stack, null, /* @__PURE__ */ React43.createElement(OverflowField, null)));
1844
+ return /* @__PURE__ */ React44.createElement(import_ui34.Stack, { gap: 1.5 }, /* @__PURE__ */ React44.createElement(import_ui34.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "width", label: (0, import_i18n23.__)("Width", "elementor") })), /* @__PURE__ */ React44.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "height", label: (0, import_i18n23.__)("Height", "elementor") }))), /* @__PURE__ */ React44.createElement(import_ui34.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "min-width", label: (0, import_i18n23.__)("Min. Width", "elementor") })), /* @__PURE__ */ React44.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "min-height", label: (0, import_i18n23.__)("Min. Height", "elementor") }))), /* @__PURE__ */ React44.createElement(import_ui34.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "max-width", label: (0, import_i18n23.__)("Max. Width", "elementor") })), /* @__PURE__ */ React44.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "max-height", label: (0, import_i18n23.__)("Max. Height", "elementor") }))), /* @__PURE__ */ React44.createElement(import_ui34.Divider, null), /* @__PURE__ */ React44.createElement(import_ui34.Stack, null, /* @__PURE__ */ React44.createElement(OverflowField, null)));
1623
1845
  };
1624
1846
  var SizeField = ({ label, bind }) => {
1625
- return /* @__PURE__ */ React43.createElement(StylesField, { bind }, /* @__PURE__ */ React43.createElement(import_ui34.Grid, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React43.createElement(import_ui34.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React43.createElement(import_editor_controls27.ControlLabel, null, label)), /* @__PURE__ */ React43.createElement(import_ui34.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React43.createElement(import_editor_controls27.SizeControl, null))));
1847
+ return /* @__PURE__ */ React44.createElement(StylesField, { bind }, /* @__PURE__ */ React44.createElement(import_ui34.Grid, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React44.createElement(import_ui34.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React44.createElement(import_editor_controls27.ControlLabel, null, label)), /* @__PURE__ */ React44.createElement(import_ui34.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React44.createElement(import_editor_controls27.SizeControl, null))));
1626
1848
  };
1627
1849
 
1628
1850
  // src/components/style-sections/spacing-section/spacing-section.tsx
1629
- var React44 = __toESM(require("react"));
1851
+ var React45 = __toESM(require("react"));
1630
1852
  var import_editor_controls28 = require("@elementor/editor-controls");
1631
1853
  var import_ui35 = require("@elementor/ui");
1632
1854
  var import_i18n24 = require("@wordpress/i18n");
1633
1855
  var SpacingSection = () => {
1634
- return /* @__PURE__ */ React44.createElement(import_ui35.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_ui35.Divider, null), /* @__PURE__ */ React44.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React44.createElement(import_editor_controls28.LinkedDimensionsControl, { label: (0, import_i18n24.__)("Margin", "elementor") })));
1856
+ return /* @__PURE__ */ React45.createElement(import_ui35.Stack, { gap: 1.5 }, /* @__PURE__ */ React45.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React45.createElement(import_editor_controls28.LinkedDimensionsControl, { label: (0, import_i18n24.__)("Padding", "elementor") })), /* @__PURE__ */ React45.createElement(import_ui35.Divider, null), /* @__PURE__ */ React45.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React45.createElement(import_editor_controls28.LinkedDimensionsControl, { label: (0, import_i18n24.__)("Margin", "elementor") })));
1635
1857
  };
1636
1858
 
1637
1859
  // src/components/style-sections/typography-section/typography-section.tsx
1638
- var React58 = __toESM(require("react"));
1860
+ var React59 = __toESM(require("react"));
1639
1861
  var import_ui48 = require("@elementor/ui");
1640
1862
 
1641
1863
  // src/components/collapsible-content.tsx
1642
- var React45 = __toESM(require("react"));
1643
- var import_react12 = require("react");
1864
+ var React46 = __toESM(require("react"));
1865
+ var import_react14 = require("react");
1644
1866
  var import_ui36 = require("@elementor/ui");
1645
1867
  var import_i18n25 = require("@wordpress/i18n");
1646
1868
  var CollapsibleContent = ({ children, defaultOpen = false }) => {
1647
- const [open, setOpen] = (0, import_react12.useState)(defaultOpen);
1869
+ const [open, setOpen] = (0, import_react14.useState)(defaultOpen);
1648
1870
  const handleToggle = () => {
1649
1871
  setOpen((prevOpen) => !prevOpen);
1650
1872
  };
1651
- return /* @__PURE__ */ React45.createElement(import_ui36.Stack, { sx: { py: 0.5 } }, /* @__PURE__ */ React45.createElement(
1873
+ return /* @__PURE__ */ React46.createElement(import_ui36.Stack, { sx: { py: 0.5 } }, /* @__PURE__ */ React46.createElement(
1652
1874
  import_ui36.Button,
1653
1875
  {
1654
1876
  fullWidth: true,
@@ -1656,14 +1878,14 @@ var CollapsibleContent = ({ children, defaultOpen = false }) => {
1656
1878
  color: "secondary",
1657
1879
  variant: "outlined",
1658
1880
  onClick: handleToggle,
1659
- endIcon: /* @__PURE__ */ React45.createElement(CollapseIcon, { open })
1881
+ endIcon: /* @__PURE__ */ React46.createElement(CollapseIcon, { open })
1660
1882
  },
1661
1883
  open ? (0, import_i18n25.__)("Show less", "elementor") : (0, import_i18n25.__)("Show more", "elementor")
1662
- ), /* @__PURE__ */ React45.createElement(import_ui36.Collapse, { in: open, timeout: "auto", unmountOnExit: true }, children));
1884
+ ), /* @__PURE__ */ React46.createElement(import_ui36.Collapse, { in: open, timeout: "auto", unmountOnExit: true }, children));
1663
1885
  };
1664
1886
 
1665
1887
  // src/components/style-sections/typography-section/font-family-field.tsx
1666
- var React46 = __toESM(require("react"));
1888
+ var React47 = __toESM(require("react"));
1667
1889
  var import_editor_controls29 = require("@elementor/editor-controls");
1668
1890
  var import_ui37 = require("@elementor/ui");
1669
1891
  var import_i18n26 = require("@wordpress/i18n");
@@ -1680,7 +1902,7 @@ var FontFamilyField = () => {
1680
1902
  if (!fontFamilies) {
1681
1903
  return null;
1682
1904
  }
1683
- return /* @__PURE__ */ React46.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React46.createElement(import_ui37.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(import_ui37.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(import_editor_controls29.ControlLabel, null, (0, import_i18n26.__)("Font Family", "elementor"))), /* @__PURE__ */ React46.createElement(import_ui37.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(import_editor_controls29.FontFamilyControl, { fontFamilies }))));
1905
+ return /* @__PURE__ */ React47.createElement(StylesField, { bind: "font-family" }, /* @__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_controls29.ControlLabel, null, (0, import_i18n26.__)("Font Family", "elementor"))), /* @__PURE__ */ React47.createElement(import_ui37.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(import_editor_controls29.FontFamilyControl, { fontFamilies }))));
1684
1906
  };
1685
1907
  var getFontFamilies = () => {
1686
1908
  const { controls } = getElementorConfig();
@@ -1692,16 +1914,16 @@ var getFontFamilies = () => {
1692
1914
  };
1693
1915
 
1694
1916
  // src/components/style-sections/typography-section/font-size-field.tsx
1695
- var React47 = __toESM(require("react"));
1917
+ var React48 = __toESM(require("react"));
1696
1918
  var import_editor_controls30 = require("@elementor/editor-controls");
1697
1919
  var import_ui38 = require("@elementor/ui");
1698
1920
  var import_i18n27 = require("@wordpress/i18n");
1699
1921
  var FontSizeField = () => {
1700
- return /* @__PURE__ */ React47.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React47.createElement(import_ui38.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(import_editor_controls30.ControlLabel, null, (0, import_i18n27.__)("Font Size", "elementor"))), /* @__PURE__ */ React47.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(import_editor_controls30.SizeControl, null))));
1922
+ return /* @__PURE__ */ React48.createElement(StylesField, { bind: "font-size" }, /* @__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_controls30.ControlLabel, null, (0, import_i18n27.__)("Font Size", "elementor"))), /* @__PURE__ */ React48.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(import_editor_controls30.SizeControl, null))));
1701
1923
  };
1702
1924
 
1703
1925
  // src/components/style-sections/typography-section/font-weight-field.tsx
1704
- var React48 = __toESM(require("react"));
1926
+ var React49 = __toESM(require("react"));
1705
1927
  var import_editor_controls31 = require("@elementor/editor-controls");
1706
1928
  var import_ui39 = require("@elementor/ui");
1707
1929
  var import_i18n28 = require("@wordpress/i18n");
@@ -1713,29 +1935,29 @@ var fontWeightOptions = [
1713
1935
  { label: (0, import_i18n28.__)("Black - 900", "elementor"), value: "900" }
1714
1936
  ];
1715
1937
  var FontWeightField = () => {
1716
- return /* @__PURE__ */ React48.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React48.createElement(import_ui39.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(import_editor_controls31.ControlLabel, null, (0, import_i18n28.__)("Font Weight", "elementor"))), /* @__PURE__ */ React48.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(import_editor_controls31.SelectControl, { options: fontWeightOptions }))));
1938
+ return /* @__PURE__ */ React49.createElement(StylesField, { bind: "font-weight" }, /* @__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_controls31.ControlLabel, null, (0, import_i18n28.__)("Font Weight", "elementor"))), /* @__PURE__ */ React49.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(import_editor_controls31.SelectControl, { options: fontWeightOptions }))));
1717
1939
  };
1718
1940
 
1719
1941
  // src/components/style-sections/typography-section/letter-spacing-field.tsx
1720
- var React49 = __toESM(require("react"));
1942
+ var React50 = __toESM(require("react"));
1721
1943
  var import_editor_controls32 = require("@elementor/editor-controls");
1722
1944
  var import_ui40 = require("@elementor/ui");
1723
1945
  var import_i18n29 = require("@wordpress/i18n");
1724
1946
  var LetterSpacingField = () => {
1725
- return /* @__PURE__ */ React49.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React49.createElement(import_ui40.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(import_editor_controls32.ControlLabel, null, (0, import_i18n29.__)("Letter Spacing", "elementor"))), /* @__PURE__ */ React49.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(import_editor_controls32.SizeControl, null))));
1947
+ return /* @__PURE__ */ React50.createElement(StylesField, { bind: "letter-spacing" }, /* @__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_controls32.ControlLabel, null, (0, import_i18n29.__)("Letter Spacing", "elementor"))), /* @__PURE__ */ React50.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(import_editor_controls32.SizeControl, null))));
1726
1948
  };
1727
1949
 
1728
1950
  // src/components/style-sections/typography-section/line-height-field.tsx
1729
- var React50 = __toESM(require("react"));
1951
+ var React51 = __toESM(require("react"));
1730
1952
  var import_editor_controls33 = require("@elementor/editor-controls");
1731
1953
  var import_ui41 = require("@elementor/ui");
1732
1954
  var import_i18n30 = require("@wordpress/i18n");
1733
1955
  var LineHeightField = () => {
1734
- return /* @__PURE__ */ React50.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React50.createElement(import_ui41.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React50.createElement(import_ui41.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(import_editor_controls33.ControlLabel, null, (0, import_i18n30.__)("Line Height", "elementor"))), /* @__PURE__ */ React50.createElement(import_ui41.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(import_editor_controls33.SizeControl, null))));
1956
+ return /* @__PURE__ */ React51.createElement(StylesField, { bind: "line-height" }, /* @__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_controls33.ControlLabel, null, (0, import_i18n30.__)("Line Height", "elementor"))), /* @__PURE__ */ React51.createElement(import_ui41.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(import_editor_controls33.SizeControl, null))));
1735
1957
  };
1736
1958
 
1737
1959
  // src/components/style-sections/typography-section/text-alignment-field.tsx
1738
- var React51 = __toESM(require("react"));
1960
+ var React52 = __toESM(require("react"));
1739
1961
  var import_editor_controls34 = require("@elementor/editor-controls");
1740
1962
  var import_icons17 = require("@elementor/icons");
1741
1963
  var import_ui42 = require("@elementor/ui");
@@ -1744,39 +1966,39 @@ var options7 = [
1744
1966
  {
1745
1967
  value: "left",
1746
1968
  label: (0, import_i18n31.__)("Left", "elementor"),
1747
- renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(import_icons17.AlignLeftIcon, { fontSize: size })
1969
+ renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(import_icons17.AlignLeftIcon, { fontSize: size })
1748
1970
  },
1749
1971
  {
1750
1972
  value: "center",
1751
1973
  label: (0, import_i18n31.__)("Center", "elementor"),
1752
- renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(import_icons17.AlignCenterIcon, { fontSize: size })
1974
+ renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(import_icons17.AlignCenterIcon, { fontSize: size })
1753
1975
  },
1754
1976
  {
1755
1977
  value: "right",
1756
1978
  label: (0, import_i18n31.__)("Right", "elementor"),
1757
- renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(import_icons17.AlignRightIcon, { fontSize: size })
1979
+ renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(import_icons17.AlignRightIcon, { fontSize: size })
1758
1980
  },
1759
1981
  {
1760
1982
  value: "justify",
1761
1983
  label: (0, import_i18n31.__)("Justify", "elementor"),
1762
- renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(import_icons17.AlignJustifiedIcon, { fontSize: size })
1984
+ renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(import_icons17.AlignJustifiedIcon, { fontSize: size })
1763
1985
  }
1764
1986
  ];
1765
1987
  var TextAlignmentField = () => {
1766
- return /* @__PURE__ */ React51.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React51.createElement(import_ui42.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React51.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(import_editor_controls34.ControlLabel, null, (0, import_i18n31.__)("Alignment", "elementor"))), /* @__PURE__ */ React51.createElement(import_ui42.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React51.createElement(import_editor_controls34.ToggleControl, { options: options7 }))));
1988
+ return /* @__PURE__ */ React52.createElement(StylesField, { bind: "text-align" }, /* @__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_controls34.ControlLabel, null, (0, import_i18n31.__)("Alignment", "elementor"))), /* @__PURE__ */ React52.createElement(import_ui42.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React52.createElement(import_editor_controls34.ToggleControl, { options: options7 }))));
1767
1989
  };
1768
1990
 
1769
1991
  // src/components/style-sections/typography-section/text-color-field.tsx
1770
- var React52 = __toESM(require("react"));
1992
+ var React53 = __toESM(require("react"));
1771
1993
  var import_editor_controls35 = require("@elementor/editor-controls");
1772
1994
  var import_ui43 = require("@elementor/ui");
1773
1995
  var import_i18n32 = require("@wordpress/i18n");
1774
1996
  var TextColorField = () => {
1775
- return /* @__PURE__ */ React52.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React52.createElement(import_ui43.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(import_ui43.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(import_editor_controls35.ControlLabel, null, (0, import_i18n32.__)("Text Color", "elementor"))), /* @__PURE__ */ React52.createElement(import_ui43.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(import_editor_controls35.ColorControl, null))));
1997
+ return /* @__PURE__ */ React53.createElement(StylesField, { bind: "color" }, /* @__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_controls35.ControlLabel, null, (0, import_i18n32.__)("Text Color", "elementor"))), /* @__PURE__ */ React53.createElement(import_ui43.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(import_editor_controls35.ColorControl, null))));
1776
1998
  };
1777
1999
 
1778
2000
  // src/components/style-sections/typography-section/text-direction-field.tsx
1779
- var React53 = __toESM(require("react"));
2001
+ var React54 = __toESM(require("react"));
1780
2002
  var import_editor_controls36 = require("@elementor/editor-controls");
1781
2003
  var import_icons18 = require("@elementor/icons");
1782
2004
  var import_ui44 = require("@elementor/ui");
@@ -1785,20 +2007,20 @@ var options8 = [
1785
2007
  {
1786
2008
  value: "ltr",
1787
2009
  label: (0, import_i18n33.__)("Left to Right", "elementor"),
1788
- renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(import_icons18.TextDirectionLtrIcon, { fontSize: size })
2010
+ renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(import_icons18.TextDirectionLtrIcon, { fontSize: size })
1789
2011
  },
1790
2012
  {
1791
2013
  value: "rtl",
1792
2014
  label: (0, import_i18n33.__)("Right to Left", "elementor"),
1793
- renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(import_icons18.TextDirectionRtlIcon, { fontSize: size })
2015
+ renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(import_icons18.TextDirectionRtlIcon, { fontSize: size })
1794
2016
  }
1795
2017
  ];
1796
2018
  var TextDirectionField = () => {
1797
- return /* @__PURE__ */ React53.createElement(StylesField, { bind: "direction" }, /* @__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_controls36.ControlLabel, null, (0, import_i18n33.__)("Direction", "elementor"))), /* @__PURE__ */ React53.createElement(import_ui44.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React53.createElement(import_editor_controls36.ToggleControl, { options: options8 }))));
2019
+ return /* @__PURE__ */ React54.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React54.createElement(import_ui44.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React54.createElement(import_ui44.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(import_editor_controls36.ControlLabel, null, (0, import_i18n33.__)("Direction", "elementor"))), /* @__PURE__ */ React54.createElement(import_ui44.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React54.createElement(import_editor_controls36.ToggleControl, { options: options8 }))));
1798
2020
  };
1799
2021
 
1800
2022
  // src/components/style-sections/typography-section/text-stroke-field.tsx
1801
- var React54 = __toESM(require("react"));
2023
+ var React55 = __toESM(require("react"));
1802
2024
  var import_editor_controls37 = require("@elementor/editor-controls");
1803
2025
  var import_i18n34 = require("@wordpress/i18n");
1804
2026
  var initTextStroke = {
@@ -1826,7 +2048,7 @@ var TextStrokeField = () => {
1826
2048
  setTextStroke(null);
1827
2049
  };
1828
2050
  const hasTextStroke = Boolean(textStroke);
1829
- return /* @__PURE__ */ React54.createElement(
2051
+ return /* @__PURE__ */ React55.createElement(
1830
2052
  AddOrRemoveContent,
1831
2053
  {
1832
2054
  label: (0, import_i18n34.__)("Text Stroke", "elementor"),
@@ -1834,12 +2056,12 @@ var TextStrokeField = () => {
1834
2056
  onAdd: addTextStroke,
1835
2057
  onRemove: removeTextStroke
1836
2058
  },
1837
- /* @__PURE__ */ React54.createElement(StylesField, { bind: "-webkit-text-stroke" }, /* @__PURE__ */ React54.createElement(import_editor_controls37.StrokeControl, null))
2059
+ /* @__PURE__ */ React55.createElement(StylesField, { bind: "-webkit-text-stroke" }, /* @__PURE__ */ React55.createElement(import_editor_controls37.StrokeControl, null))
1838
2060
  );
1839
2061
  };
1840
2062
 
1841
2063
  // src/components/style-sections/typography-section/text-style-field.tsx
1842
- var React55 = __toESM(require("react"));
2064
+ var React56 = __toESM(require("react"));
1843
2065
  var import_editor_controls38 = require("@elementor/editor-controls");
1844
2066
  var import_icons19 = require("@elementor/icons");
1845
2067
  var import_ui45 = require("@elementor/ui");
@@ -1867,7 +2089,7 @@ var TextStyleField = () => {
1867
2089
  value: newValue
1868
2090
  });
1869
2091
  };
1870
- return /* @__PURE__ */ React55.createElement(import_ui45.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(import_editor_controls38.ControlLabel, null, (0, import_i18n35.__)("Style", "elementor"))), /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React55.createElement(import_ui45.ToggleButtonGroup, { value: formats }, /* @__PURE__ */ React55.createElement(
2092
+ return /* @__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_controls38.ControlLabel, null, (0, import_i18n35.__)("Style", "elementor"))), /* @__PURE__ */ React56.createElement(import_ui45.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React56.createElement(import_ui45.ToggleButtonGroup, { value: formats }, /* @__PURE__ */ React56.createElement(
1871
2093
  ToggleButton,
1872
2094
  {
1873
2095
  value: "italic",
@@ -1875,8 +2097,8 @@ var TextStyleField = () => {
1875
2097
  "aria-label": "italic",
1876
2098
  sx: { marginLeft: "auto" }
1877
2099
  },
1878
- /* @__PURE__ */ React55.createElement(import_icons19.ItalicIcon, { fontSize: buttonSize })
1879
- ), /* @__PURE__ */ React55.createElement(
2100
+ /* @__PURE__ */ React56.createElement(import_icons19.ItalicIcon, { fontSize: buttonSize })
2101
+ ), /* @__PURE__ */ React56.createElement(
1880
2102
  ShorthandControl,
1881
2103
  {
1882
2104
  value: "line-through",
@@ -1884,8 +2106,8 @@ var TextStyleField = () => {
1884
2106
  updateValues: handleSetTextDecoration,
1885
2107
  "aria-label": "line-through"
1886
2108
  },
1887
- /* @__PURE__ */ React55.createElement(import_icons19.StrikethroughIcon, { fontSize: buttonSize })
1888
- ), /* @__PURE__ */ React55.createElement(
2109
+ /* @__PURE__ */ React56.createElement(import_icons19.StrikethroughIcon, { fontSize: buttonSize })
2110
+ ), /* @__PURE__ */ React56.createElement(
1889
2111
  ShorthandControl,
1890
2112
  {
1891
2113
  value: "underline",
@@ -1893,7 +2115,7 @@ var TextStyleField = () => {
1893
2115
  updateValues: handleSetTextDecoration,
1894
2116
  "aria-label": "underline"
1895
2117
  },
1896
- /* @__PURE__ */ React55.createElement(import_icons19.UnderlineIcon, { fontSize: buttonSize })
2118
+ /* @__PURE__ */ React56.createElement(import_icons19.UnderlineIcon, { fontSize: buttonSize })
1897
2119
  ))));
1898
2120
  };
1899
2121
  var ShorthandControl = ({
@@ -1912,17 +2134,17 @@ var ShorthandControl = ({
1912
2134
  updateValues([...valuesArr, newValue].join(" "));
1913
2135
  }
1914
2136
  };
1915
- return /* @__PURE__ */ React55.createElement(ToggleButton, { value, onChange: toggleValue, selected, "aria-label": ariaLabel }, children);
2137
+ return /* @__PURE__ */ React56.createElement(ToggleButton, { value, onChange: toggleValue, selected, "aria-label": ariaLabel }, children);
1916
2138
  };
1917
2139
  var ToggleButton = ({ onChange, ...props }) => {
1918
2140
  const handleChange = (_e, newValue) => {
1919
2141
  onChange(newValue);
1920
2142
  };
1921
- return /* @__PURE__ */ React55.createElement(import_ui45.ToggleButton, { ...props, onChange: handleChange, size: buttonSize });
2143
+ return /* @__PURE__ */ React56.createElement(import_ui45.ToggleButton, { ...props, onChange: handleChange, size: buttonSize });
1922
2144
  };
1923
2145
 
1924
2146
  // src/components/style-sections/typography-section/transform-field.tsx
1925
- var React56 = __toESM(require("react"));
2147
+ var React57 = __toESM(require("react"));
1926
2148
  var import_editor_controls39 = require("@elementor/editor-controls");
1927
2149
  var import_icons20 = require("@elementor/icons");
1928
2150
  var import_ui46 = require("@elementor/ui");
@@ -1931,33 +2153,33 @@ var options9 = [
1931
2153
  {
1932
2154
  value: "capitalize",
1933
2155
  label: (0, import_i18n36.__)("Capitalize", "elementor"),
1934
- renderContent: ({ size }) => /* @__PURE__ */ React56.createElement(import_icons20.LetterCaseIcon, { fontSize: size })
2156
+ renderContent: ({ size }) => /* @__PURE__ */ React57.createElement(import_icons20.LetterCaseIcon, { fontSize: size })
1935
2157
  },
1936
2158
  {
1937
2159
  value: "uppercase",
1938
2160
  label: (0, import_i18n36.__)("Uppercase", "elementor"),
1939
- renderContent: ({ size }) => /* @__PURE__ */ React56.createElement(import_icons20.LetterCaseUpperIcon, { fontSize: size })
2161
+ renderContent: ({ size }) => /* @__PURE__ */ React57.createElement(import_icons20.LetterCaseUpperIcon, { fontSize: size })
1940
2162
  },
1941
2163
  {
1942
2164
  value: "lowercase",
1943
2165
  label: (0, import_i18n36.__)("Lowercase", "elementor"),
1944
- renderContent: ({ size }) => /* @__PURE__ */ React56.createElement(import_icons20.LetterCaseLowerIcon, { fontSize: size })
2166
+ renderContent: ({ size }) => /* @__PURE__ */ React57.createElement(import_icons20.LetterCaseLowerIcon, { fontSize: size })
1945
2167
  }
1946
2168
  ];
1947
- var TransformField = () => /* @__PURE__ */ React56.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React56.createElement(import_ui46.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React56.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(import_editor_controls39.ControlLabel, null, (0, import_i18n36.__)("Transform", "elementor"))), /* @__PURE__ */ React56.createElement(import_ui46.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React56.createElement(import_editor_controls39.ToggleControl, { options: options9 }))));
2169
+ var TransformField = () => /* @__PURE__ */ React57.createElement(StylesField, { bind: "text-transform" }, /* @__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_controls39.ControlLabel, null, (0, import_i18n36.__)("Transform", "elementor"))), /* @__PURE__ */ React57.createElement(import_ui46.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React57.createElement(import_editor_controls39.ToggleControl, { options: options9 }))));
1948
2170
 
1949
2171
  // src/components/style-sections/typography-section/word-spacing-field.tsx
1950
- var React57 = __toESM(require("react"));
2172
+ var React58 = __toESM(require("react"));
1951
2173
  var import_editor_controls40 = require("@elementor/editor-controls");
1952
2174
  var import_ui47 = require("@elementor/ui");
1953
2175
  var import_i18n37 = require("@wordpress/i18n");
1954
2176
  var WordSpacingField = () => {
1955
- return /* @__PURE__ */ React57.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React57.createElement(import_ui47.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React57.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(import_editor_controls40.ControlLabel, null, (0, import_i18n37.__)("Word Spacing", "elementor"))), /* @__PURE__ */ React57.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(import_editor_controls40.SizeControl, null))));
2177
+ return /* @__PURE__ */ React58.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React58.createElement(import_ui47.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React58.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React58.createElement(import_editor_controls40.ControlLabel, null, (0, import_i18n37.__)("Word Spacing", "elementor"))), /* @__PURE__ */ React58.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React58.createElement(import_editor_controls40.SizeControl, null))));
1956
2178
  };
1957
2179
 
1958
2180
  // src/components/style-sections/typography-section/typography-section.tsx
1959
2181
  var TypographySection = () => {
1960
- return /* @__PURE__ */ React58.createElement(import_ui48.Stack, { gap: 1.5 }, /* @__PURE__ */ React58.createElement(FontFamilyField, null), /* @__PURE__ */ React58.createElement(FontWeightField, null), /* @__PURE__ */ React58.createElement(FontSizeField, null), /* @__PURE__ */ React58.createElement(import_ui48.Divider, null), /* @__PURE__ */ React58.createElement(TextAlignmentField, null), /* @__PURE__ */ React58.createElement(TextColorField, null), /* @__PURE__ */ React58.createElement(CollapsibleContent, null, /* @__PURE__ */ React58.createElement(import_ui48.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_ui48.Divider, null), /* @__PURE__ */ React58.createElement(TextStyleField, null), /* @__PURE__ */ React58.createElement(TransformField, null), /* @__PURE__ */ React58.createElement(TextDirectionField, null), /* @__PURE__ */ React58.createElement(TextStrokeField, null))));
2182
+ return /* @__PURE__ */ React59.createElement(import_ui48.Stack, { gap: 1.5 }, /* @__PURE__ */ React59.createElement(FontFamilyField, null), /* @__PURE__ */ React59.createElement(FontWeightField, null), /* @__PURE__ */ React59.createElement(FontSizeField, null), /* @__PURE__ */ React59.createElement(import_ui48.Divider, null), /* @__PURE__ */ React59.createElement(TextAlignmentField, null), /* @__PURE__ */ React59.createElement(TextColorField, null), /* @__PURE__ */ React59.createElement(CollapsibleContent, null, /* @__PURE__ */ React59.createElement(import_ui48.Stack, { gap: 1.5, sx: { pt: 1.5 } }, /* @__PURE__ */ React59.createElement(LineHeightField, null), /* @__PURE__ */ React59.createElement(LetterSpacingField, null), /* @__PURE__ */ React59.createElement(WordSpacingField, null), /* @__PURE__ */ React59.createElement(import_ui48.Divider, null), /* @__PURE__ */ React59.createElement(TextStyleField, null), /* @__PURE__ */ React59.createElement(TransformField, null), /* @__PURE__ */ React59.createElement(TextDirectionField, null), /* @__PURE__ */ React59.createElement(TextStrokeField, null))));
1961
2183
  };
1962
2184
 
1963
2185
  // src/components/style-tab.tsx
@@ -1965,9 +2187,9 @@ var CLASSES_PROP_KEY = "classes";
1965
2187
  var StyleTab = () => {
1966
2188
  const currentClassesProp = useCurrentClassesProp();
1967
2189
  const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
1968
- const [activeStyleState, setActiveStyleState] = (0, import_react13.useState)(null);
2190
+ const [activeStyleState, setActiveStyleState] = (0, import_react15.useState)(null);
1969
2191
  const breakpoint = (0, import_editor_responsive.useActiveBreakpoint)();
1970
- return /* @__PURE__ */ React59.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React59.createElement(
2192
+ return /* @__PURE__ */ React60.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React60.createElement(
1971
2193
  StyleProvider,
1972
2194
  {
1973
2195
  meta: { breakpoint, state: activeStyleState },
@@ -1978,13 +2200,11 @@ var StyleTab = () => {
1978
2200
  },
1979
2201
  setMetaState: setActiveStyleState
1980
2202
  },
1981
- /* @__PURE__ */ React59.createElement(CssClassSelector, null),
1982
- /* @__PURE__ */ React59.createElement(import_ui49.Divider, null),
1983
- /* @__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)))
2203
+ /* @__PURE__ */ React60.createElement(import_session2.SessionStorageProvider, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React60.createElement(CssClassSelector, null), /* @__PURE__ */ React60.createElement(import_ui49.Divider, null), /* @__PURE__ */ React60.createElement(SectionsList, null, /* @__PURE__ */ React60.createElement(Section, { title: (0, import_i18n38.__)("Layout", "elementor") }, /* @__PURE__ */ React60.createElement(LayoutSection, null)), /* @__PURE__ */ React60.createElement(Section, { title: (0, import_i18n38.__)("Spacing", "elementor") }, /* @__PURE__ */ React60.createElement(SpacingSection, null)), /* @__PURE__ */ React60.createElement(Section, { title: (0, import_i18n38.__)("Size", "elementor") }, /* @__PURE__ */ React60.createElement(SizeSection, null)), /* @__PURE__ */ React60.createElement(Section, { title: (0, import_i18n38.__)("Position", "elementor") }, /* @__PURE__ */ React60.createElement(PositionSection, null)), /* @__PURE__ */ React60.createElement(Section, { title: (0, import_i18n38.__)("Typography", "elementor") }, /* @__PURE__ */ React60.createElement(TypographySection, null)), /* @__PURE__ */ React60.createElement(Section, { title: (0, import_i18n38.__)("Background", "elementor") }, /* @__PURE__ */ React60.createElement(BackgroundSection, null)), /* @__PURE__ */ React60.createElement(Section, { title: (0, import_i18n38.__)("Border", "elementor") }, /* @__PURE__ */ React60.createElement(BorderSection, null)), /* @__PURE__ */ React60.createElement(Section, { title: (0, import_i18n38.__)("Effects", "elementor") }, /* @__PURE__ */ React60.createElement(EffectsSection, null))))
1984
2204
  ));
1985
2205
  };
1986
2206
  function useActiveStyleDefId(currentClassesProp) {
1987
- const [activeStyledDefId, setActiveStyledDefId] = (0, import_react13.useState)(null);
2207
+ const [activeStyledDefId, setActiveStyledDefId] = (0, import_react15.useState)(null);
1988
2208
  const fallback = useFirstElementStyleDef(currentClassesProp);
1989
2209
  return [activeStyledDefId || fallback?.id || null, setActiveStyledDefId];
1990
2210
  }
@@ -1997,7 +2217,7 @@ function useFirstElementStyleDef(currentClassesProp) {
1997
2217
  function useCurrentClassesProp() {
1998
2218
  const { elementType } = useElement();
1999
2219
  const prop = Object.entries(elementType.propsSchema).find(
2000
- ([, propType]) => propType.kind === "array" && propType.key === CLASSES_PROP_KEY
2220
+ ([, propType]) => propType.kind === "plain" && propType.key === CLASSES_PROP_KEY
2001
2221
  );
2002
2222
  if (!prop) {
2003
2223
  throw new Error("Element does not have a classes prop");
@@ -2012,7 +2232,7 @@ var EditingPanelTabs = () => {
2012
2232
  return (
2013
2233
  // When switching between elements, the local states should be reset. We are using key to rerender the tabs.
2014
2234
  // Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
2015
- /* @__PURE__ */ React60.createElement(import_react14.Fragment, { key: element.id }, /* @__PURE__ */ React60.createElement(import_ui50.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React60.createElement(import_ui50.Tabs, { variant: "fullWidth", indicatorColor: "secondary", textColor: "inherit", ...getTabsProps() }, /* @__PURE__ */ React60.createElement(import_ui50.Tab, { label: (0, import_i18n39.__)("General", "elementor"), ...getTabProps("settings") }), /* @__PURE__ */ React60.createElement(import_ui50.Tab, { label: (0, import_i18n39.__)("Style", "elementor"), ...getTabProps("style") })), /* @__PURE__ */ React60.createElement(import_ui50.Divider, null), /* @__PURE__ */ React60.createElement(import_ui50.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React60.createElement(SettingsTab, null)), /* @__PURE__ */ React60.createElement(import_ui50.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React60.createElement(StyleTab, null))))
2235
+ /* @__PURE__ */ React61.createElement(import_react16.Fragment, { key: element.id }, /* @__PURE__ */ React61.createElement(import_ui50.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React61.createElement(import_ui50.Tabs, { variant: "fullWidth", indicatorColor: "secondary", textColor: "inherit", ...getTabsProps() }, /* @__PURE__ */ React61.createElement(import_ui50.Tab, { label: (0, import_i18n39.__)("General", "elementor"), ...getTabProps("settings") }), /* @__PURE__ */ React61.createElement(import_ui50.Tab, { label: (0, import_i18n39.__)("Style", "elementor"), ...getTabProps("style") })), /* @__PURE__ */ React61.createElement(import_ui50.Divider, null), /* @__PURE__ */ React61.createElement(import_ui50.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React61.createElement(SettingsTab, null)), /* @__PURE__ */ React61.createElement(import_ui50.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React61.createElement(StyleTab, null))))
2016
2236
  );
2017
2237
  };
2018
2238
 
@@ -2026,7 +2246,7 @@ var EditingPanel = () => {
2026
2246
  return null;
2027
2247
  }
2028
2248
  const panelTitle = (0, import_i18n40.__)("Edit %s", "elementor").replace("%s", elementType.title);
2029
- return /* @__PURE__ */ React61.createElement(import_ui51.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)))))));
2249
+ return /* @__PURE__ */ React62.createElement(import_ui51.ErrorBoundary, { fallback: /* @__PURE__ */ React62.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React62.createElement(import_session3.SessionStorageProvider, { prefix: "elementor" }, /* @__PURE__ */ React62.createElement(import_editor_panels.Panel, null, /* @__PURE__ */ React62.createElement(import_editor_panels.PanelHeader, null, /* @__PURE__ */ React62.createElement(import_editor_panels.PanelHeaderTitle, null, panelTitle)), /* @__PURE__ */ React62.createElement(import_editor_panels.PanelBody, null, /* @__PURE__ */ React62.createElement(import_editor_controls41.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React62.createElement(import_editor_controls41.ControlReplacementProvider, { ...controlReplacement }, /* @__PURE__ */ React62.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React62.createElement(EditingPanelTabs, null))))))));
2030
2250
  };
2031
2251
 
2032
2252
  // src/panel.ts
@@ -2049,7 +2269,7 @@ var isAtomicWidgetSelected = () => {
2049
2269
  // src/hooks/use-close-editor-panel.ts
2050
2270
  var useCloseEditorPanel = () => {
2051
2271
  const { close } = usePanelActions();
2052
- return (0, import_react15.useEffect)(() => {
2272
+ return (0, import_react17.useEffect)(() => {
2053
2273
  return (0, import_editor_v1_adapters2.__privateListenTo)((0, import_editor_v1_adapters2.commandStartEvent)("document/elements/delete"), (e) => {
2054
2274
  const selectedElement = (0, import_editor_elements8.getSelectedElements)()[0];
2055
2275
  const { container: deletedContainer } = e?.args;
@@ -2062,11 +2282,11 @@ var useCloseEditorPanel = () => {
2062
2282
  };
2063
2283
 
2064
2284
  // src/hooks/use-open-editor-panel.ts
2065
- var import_react16 = require("react");
2285
+ var import_react18 = require("react");
2066
2286
  var import_editor_v1_adapters3 = require("@elementor/editor-v1-adapters");
2067
2287
  var useOpenEditorPanel = () => {
2068
2288
  const { open } = usePanelActions();
2069
- (0, import_react16.useEffect)(() => {
2289
+ (0, import_react18.useEffect)(() => {
2070
2290
  return (0, import_editor_v1_adapters3.__privateListenTo)((0, import_editor_v1_adapters3.commandStartEvent)("panel/editor/open"), () => {
2071
2291
  if (isAtomicWidgetSelected()) {
2072
2292
  open();
@@ -2082,6 +2302,26 @@ var EditingPanelHooks = () => {
2082
2302
  return null;
2083
2303
  };
2084
2304
 
2305
+ // src/hooks/use-unapply-class.ts
2306
+ var import_editor_elements9 = require("@elementor/editor-elements");
2307
+ var useUnapplyClass = (classId) => {
2308
+ const { element } = useElement();
2309
+ const classesProp = useClassesProp();
2310
+ const classes = (0, import_editor_elements9.useElementSetting)(element.id, classesProp);
2311
+ const filteredClasses = classes?.value.filter((className) => className !== classId);
2312
+ return () => {
2313
+ (0, import_editor_elements9.updateSettings)({
2314
+ id: element.id,
2315
+ props: {
2316
+ [classesProp]: {
2317
+ $$type: "classes",
2318
+ value: filteredClasses
2319
+ }
2320
+ }
2321
+ });
2322
+ };
2323
+ };
2324
+
2085
2325
  // src/css-classes.ts
2086
2326
  var STATES = ["hover", "focus", "active"];
2087
2327
  function initCssClasses() {
@@ -2105,12 +2345,23 @@ function registerStateItems() {
2105
2345
  });
2106
2346
  }
2107
2347
  function registerGlobalClassItems() {
2348
+ registerGlobalClassMenuItem({
2349
+ id: "unapply-class",
2350
+ useProps: () => {
2351
+ const { styleId: currentClass } = useCssClassItem();
2352
+ const unapplyClass = useUnapplyClass(currentClass);
2353
+ return {
2354
+ text: "Remove",
2355
+ onClick: unapplyClass
2356
+ };
2357
+ }
2358
+ });
2108
2359
  }
2109
2360
 
2110
2361
  // src/dynamics/components/dynamic-selection-control.tsx
2111
- var React64 = __toESM(require("react"));
2112
- var import_react20 = require("react");
2113
- var import_editor_controls44 = require("@elementor/editor-controls");
2362
+ var React65 = __toESM(require("react"));
2363
+ var import_react22 = require("react");
2364
+ var import_editor_controls45 = require("@elementor/editor-controls");
2114
2365
  var import_icons22 = require("@elementor/icons");
2115
2366
  var import_ui53 = require("@elementor/ui");
2116
2367
  var import_i18n42 = require("@wordpress/i18n");
@@ -2123,14 +2374,15 @@ var usePersistDynamicValue = (propKey) => {
2123
2374
  };
2124
2375
 
2125
2376
  // src/dynamics/dynamic-control.tsx
2126
- var React62 = __toESM(require("react"));
2127
- var import_editor_controls42 = require("@elementor/editor-controls");
2377
+ var React63 = __toESM(require("react"));
2378
+ var import_editor_controls43 = require("@elementor/editor-controls");
2128
2379
 
2129
2380
  // src/dynamics/hooks/use-dynamic-tag.ts
2130
- var import_react18 = require("react");
2381
+ var import_react20 = require("react");
2131
2382
 
2132
2383
  // src/dynamics/hooks/use-prop-dynamic-tags.ts
2133
- var import_react17 = require("react");
2384
+ var import_react19 = require("react");
2385
+ var import_editor_controls42 = require("@elementor/editor-controls");
2134
2386
 
2135
2387
  // src/dynamics/sync/get-elementor-config.ts
2136
2388
  var getElementorConfig2 = () => {
@@ -2169,20 +2421,19 @@ var dynamicPropTypeUtil = (0, import_editor_props4.createPropUtils)(
2169
2421
  DYNAMIC_PROP_TYPE_KEY,
2170
2422
  import_schema.z.strictObject({
2171
2423
  name: import_schema.z.string(),
2172
- settings: import_schema.z.record(import_schema.z.any()).optional()
2424
+ settings: import_schema.z.any().optional()
2173
2425
  })
2174
2426
  );
2175
2427
 
2176
2428
  // src/dynamics/hooks/use-prop-dynamic-tags.ts
2177
- var usePropDynamicTags = (propName) => {
2429
+ var usePropDynamicTags = () => {
2178
2430
  let categories = [];
2179
- const { elementType } = useElement();
2180
- const propType = elementType.propsSchema?.[propName];
2431
+ const { propType } = (0, import_editor_controls42.useBoundProp)();
2181
2432
  if (propType) {
2182
2433
  const propDynamicType = getDynamicPropType(propType);
2183
2434
  categories = propDynamicType?.settings.categories || [];
2184
2435
  }
2185
- return (0, import_react17.useMemo)(() => getDynamicTagsByCategories(categories), [categories.join()]);
2436
+ return (0, import_react19.useMemo)(() => getDynamicTagsByCategories(categories), [categories.join()]);
2186
2437
  };
2187
2438
  var getDynamicTagsByCategories = (categories) => {
2188
2439
  const dynamicTags = getAtomicDynamicTags();
@@ -2196,49 +2447,51 @@ var getDynamicTagsByCategories = (categories) => {
2196
2447
  };
2197
2448
 
2198
2449
  // src/dynamics/hooks/use-dynamic-tag.ts
2199
- var useDynamicTag = (propName, tagName) => {
2200
- const dynamicTags = usePropDynamicTags(propName);
2201
- return (0, import_react18.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
2450
+ var useDynamicTag = (tagName) => {
2451
+ const dynamicTags = usePropDynamicTags();
2452
+ return (0, import_react20.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
2202
2453
  };
2203
2454
 
2204
2455
  // src/dynamics/dynamic-control.tsx
2205
2456
  var DynamicControl = ({ bind, children }) => {
2206
- const { value, setValue, bind: propName } = (0, import_editor_controls42.useBoundProp)(dynamicPropTypeUtil);
2457
+ const { value, setValue } = (0, import_editor_controls43.useBoundProp)(dynamicPropTypeUtil);
2207
2458
  const { name = "", settings } = value ?? {};
2208
- const dynamicTag = useDynamicTag(propName, name);
2459
+ const dynamicTag = useDynamicTag(name);
2209
2460
  if (!dynamicTag) {
2210
2461
  throw new Error(`Dynamic tag ${name} not found`);
2211
2462
  }
2212
- const defaultValue = dynamicTag.props_schema[bind]?.default;
2463
+ const dynamicPropType = dynamicTag.props_schema[bind];
2464
+ const defaultValue = dynamicPropType?.default;
2213
2465
  const dynamicValue = settings?.[bind] ?? defaultValue;
2214
- const setDynamicValue = (newValue) => {
2466
+ const setDynamicValue = (newValues) => {
2215
2467
  setValue({
2216
2468
  name,
2217
2469
  settings: {
2218
2470
  ...settings,
2219
- [bind]: newValue
2471
+ ...newValues
2220
2472
  }
2221
2473
  });
2222
2474
  };
2223
- return /* @__PURE__ */ React62.createElement(import_editor_controls42.BoundPropProvider, { setValue: setDynamicValue, value: dynamicValue, bind }, children);
2475
+ const propType = createTopLevelOjectType({ schema: dynamicTag.props_schema });
2476
+ return /* @__PURE__ */ React63.createElement(import_editor_controls43.PropProvider, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React63.createElement(import_editor_controls43.PropKeyProvider, { bind }, children));
2224
2477
  };
2225
2478
 
2226
2479
  // src/dynamics/components/dynamic-selection.tsx
2227
- var React63 = __toESM(require("react"));
2228
- var import_react19 = require("react");
2229
- var import_editor_controls43 = require("@elementor/editor-controls");
2480
+ var React64 = __toESM(require("react"));
2481
+ var import_react21 = require("react");
2482
+ var import_editor_controls44 = require("@elementor/editor-controls");
2230
2483
  var import_icons21 = require("@elementor/icons");
2231
2484
  var import_ui52 = require("@elementor/ui");
2232
2485
  var import_i18n41 = require("@wordpress/i18n");
2233
2486
  var SIZE3 = "tiny";
2234
2487
  var DynamicSelection = ({ onSelect }) => {
2235
- const [searchValue, setSearchValue] = (0, import_react19.useState)("");
2488
+ const [searchValue, setSearchValue] = (0, import_react21.useState)("");
2236
2489
  const { groups: dynamicGroups } = getAtomicDynamicTags() || {};
2237
- const { value: anyValue } = (0, import_editor_controls43.useBoundProp)();
2238
- const { bind, value: dynamicValue, setValue } = (0, import_editor_controls43.useBoundProp)(dynamicPropTypeUtil);
2490
+ const { value: anyValue } = (0, import_editor_controls44.useBoundProp)();
2491
+ const { bind, value: dynamicValue, setValue } = (0, import_editor_controls44.useBoundProp)(dynamicPropTypeUtil);
2239
2492
  const [, updatePropValueHistory] = usePersistDynamicValue(bind);
2240
2493
  const isCurrentValueDynamic = !!dynamicValue;
2241
- const options10 = useFilteredOptions(bind, searchValue);
2494
+ const options10 = useFilteredOptions(searchValue);
2242
2495
  const handleSearch = (event) => {
2243
2496
  setSearchValue(event.target.value);
2244
2497
  };
@@ -2249,7 +2502,7 @@ var DynamicSelection = ({ onSelect }) => {
2249
2502
  setValue({ name: value, settings: {} });
2250
2503
  onSelect?.();
2251
2504
  };
2252
- return /* @__PURE__ */ React63.createElement(import_ui52.Stack, null, /* @__PURE__ */ React63.createElement(import_ui52.Box, { px: 1.5, pb: 1 }, /* @__PURE__ */ React63.createElement(
2505
+ return /* @__PURE__ */ React64.createElement(import_ui52.Stack, null, /* @__PURE__ */ React64.createElement(import_ui52.Box, { px: 1.5, pb: 1 }, /* @__PURE__ */ React64.createElement(
2253
2506
  import_ui52.TextField,
2254
2507
  {
2255
2508
  fullWidth: true,
@@ -2258,12 +2511,12 @@ var DynamicSelection = ({ onSelect }) => {
2258
2511
  onChange: handleSearch,
2259
2512
  placeholder: (0, import_i18n41.__)("Search dynamic tag", "elementor"),
2260
2513
  InputProps: {
2261
- startAdornment: /* @__PURE__ */ React63.createElement(import_ui52.InputAdornment, { position: "start" }, /* @__PURE__ */ React63.createElement(import_icons21.SearchIcon, { fontSize: SIZE3 }))
2514
+ startAdornment: /* @__PURE__ */ React64.createElement(import_ui52.InputAdornment, { position: "start" }, /* @__PURE__ */ React64.createElement(import_icons21.SearchIcon, { fontSize: SIZE3 }))
2262
2515
  }
2263
2516
  }
2264
- )), /* @__PURE__ */ React63.createElement(import_ui52.Divider, null), /* @__PURE__ */ React63.createElement(import_ui52.Box, { sx: { overflowY: "auto", height: 260, width: 220 } }, options10.length > 0 ? /* @__PURE__ */ React63.createElement(import_ui52.MenuList, { role: "listbox", tabIndex: 0 }, options10.map(([category, items3], index) => /* @__PURE__ */ React63.createElement(import_react19.Fragment, { key: index }, /* @__PURE__ */ React63.createElement(import_ui52.ListSubheader, { sx: { typography: "caption", color: "text.tertiary" } }, dynamicGroups?.[category]?.title || category), items3.map(({ value, label: tagLabel }) => {
2517
+ )), /* @__PURE__ */ React64.createElement(import_ui52.Divider, null), /* @__PURE__ */ React64.createElement(import_ui52.Box, { sx: { overflowY: "auto", height: 260, width: 220 } }, options10.length > 0 ? /* @__PURE__ */ React64.createElement(import_ui52.MenuList, { role: "listbox", tabIndex: 0 }, options10.map(([category, items3], index) => /* @__PURE__ */ React64.createElement(import_react21.Fragment, { key: index }, /* @__PURE__ */ React64.createElement(import_ui52.ListSubheader, { sx: { typography: "caption", color: "text.tertiary" } }, dynamicGroups?.[category]?.title || category), items3.map(({ value, label: tagLabel }) => {
2265
2518
  const isSelected = isCurrentValueDynamic && value === dynamicValue?.name;
2266
- return /* @__PURE__ */ React63.createElement(
2519
+ return /* @__PURE__ */ React64.createElement(
2267
2520
  import_ui52.MenuItem,
2268
2521
  {
2269
2522
  key: value,
@@ -2274,7 +2527,7 @@ var DynamicSelection = ({ onSelect }) => {
2274
2527
  },
2275
2528
  tagLabel
2276
2529
  );
2277
- })))) : /* @__PURE__ */ React63.createElement(import_ui52.Stack, { alignItems: "center", p: 2.5, gap: 1.5 }, /* @__PURE__ */ React63.createElement(import_icons21.PhotoIcon, { fontSize: "large" }), /* @__PURE__ */ React63.createElement(import_ui52.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_ui52.Typography, { align: "center", variant: "caption", color: "text.secondary" }, /* @__PURE__ */ React63.createElement(
2530
+ })))) : /* @__PURE__ */ React64.createElement(import_ui52.Stack, { alignItems: "center", p: 2.5, gap: 1.5 }, /* @__PURE__ */ React64.createElement(import_icons21.PhotoIcon, { fontSize: "large" }), /* @__PURE__ */ React64.createElement(import_ui52.Typography, { align: "center", variant: "caption", color: "text.secondary" }, (0, import_i18n41.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React64.createElement("br", null), "\u201C", searchValue, "\u201D."), /* @__PURE__ */ React64.createElement(import_ui52.Typography, { align: "center", variant: "caption", color: "text.secondary" }, /* @__PURE__ */ React64.createElement(
2278
2531
  import_ui52.Link,
2279
2532
  {
2280
2533
  color: "secondary",
@@ -2285,8 +2538,8 @@ var DynamicSelection = ({ onSelect }) => {
2285
2538
  (0, import_i18n41.__)("Clear the filters", "elementor")
2286
2539
  ), "\xA0", (0, import_i18n41.__)("and try again.", "elementor")))));
2287
2540
  };
2288
- var useFilteredOptions = (bind, searchValue) => {
2289
- const dynamicTags = usePropDynamicTags(bind);
2541
+ var useFilteredOptions = (searchValue) => {
2542
+ const dynamicTags = usePropDynamicTags();
2290
2543
  const options10 = dynamicTags.reduce((categories, { name, label, group }) => {
2291
2544
  const isVisible = label.toLowerCase().includes(searchValue.trim().toLowerCase());
2292
2545
  if (!isVisible) {
@@ -2304,38 +2557,38 @@ var useFilteredOptions = (bind, searchValue) => {
2304
2557
  // src/dynamics/components/dynamic-selection-control.tsx
2305
2558
  var SIZE4 = "tiny";
2306
2559
  var DynamicSelectionControl = () => {
2307
- const { setValue: setAnyValue } = (0, import_editor_controls44.useBoundProp)();
2308
- const { bind, value } = (0, import_editor_controls44.useBoundProp)(dynamicPropTypeUtil);
2560
+ const { setValue: setAnyValue } = (0, import_editor_controls45.useBoundProp)();
2561
+ const { bind, value } = (0, import_editor_controls45.useBoundProp)(dynamicPropTypeUtil);
2309
2562
  const [propValueFromHistory] = usePersistDynamicValue(bind);
2310
2563
  const { name: tagName = "" } = value;
2311
- const selectionPopoverId = (0, import_react20.useId)();
2564
+ const selectionPopoverId = (0, import_react22.useId)();
2312
2565
  const selectionPopoverState = (0, import_ui53.usePopupState)({ variant: "popover", popupId: selectionPopoverId });
2313
- const dynamicTag = useDynamicTag(bind, tagName);
2566
+ const dynamicTag = useDynamicTag(tagName);
2314
2567
  const removeDynamicTag = () => {
2315
2568
  setAnyValue(propValueFromHistory ?? null);
2316
2569
  };
2317
2570
  if (!dynamicTag) {
2318
2571
  throw new Error(`Dynamic tag ${tagName} not found`);
2319
2572
  }
2320
- return /* @__PURE__ */ React64.createElement(import_ui53.Box, null, /* @__PURE__ */ React64.createElement(
2573
+ return /* @__PURE__ */ React65.createElement(import_ui53.Box, null, /* @__PURE__ */ React65.createElement(
2321
2574
  import_ui53.UnstableTag,
2322
2575
  {
2323
2576
  fullWidth: true,
2324
2577
  showActionsOnHover: true,
2325
2578
  label: dynamicTag.label,
2326
- startIcon: /* @__PURE__ */ React64.createElement(import_icons22.DatabaseIcon, { fontSize: SIZE4 }),
2579
+ startIcon: /* @__PURE__ */ React65.createElement(import_icons22.DatabaseIcon, { fontSize: SIZE4 }),
2327
2580
  ...(0, import_ui53.bindTrigger)(selectionPopoverState),
2328
- actions: /* @__PURE__ */ React64.createElement(React64.Fragment, null, /* @__PURE__ */ React64.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React64.createElement(
2581
+ actions: /* @__PURE__ */ React65.createElement(React65.Fragment, null, /* @__PURE__ */ React65.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React65.createElement(
2329
2582
  import_ui53.IconButton,
2330
2583
  {
2331
2584
  size: SIZE4,
2332
2585
  onClick: removeDynamicTag,
2333
2586
  "aria-label": (0, import_i18n42.__)("Remove dynamic value", "elementor")
2334
2587
  },
2335
- /* @__PURE__ */ React64.createElement(import_icons22.XIcon, { fontSize: SIZE4 })
2588
+ /* @__PURE__ */ React65.createElement(import_icons22.XIcon, { fontSize: SIZE4 })
2336
2589
  ))
2337
2590
  }
2338
- ), /* @__PURE__ */ React64.createElement(
2591
+ ), /* @__PURE__ */ React65.createElement(
2339
2592
  import_ui53.Popover,
2340
2593
  {
2341
2594
  disablePortal: true,
@@ -2343,32 +2596,32 @@ var DynamicSelectionControl = () => {
2343
2596
  anchorOrigin: { vertical: "bottom", horizontal: "left" },
2344
2597
  ...(0, import_ui53.bindPopover)(selectionPopoverState)
2345
2598
  },
2346
- /* @__PURE__ */ React64.createElement(import_ui53.Stack, null, /* @__PURE__ */ React64.createElement(import_ui53.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_ui53.Typography, { variant: "subtitle2" }, (0, import_i18n42.__)("Dynamic Tags", "elementor")), /* @__PURE__ */ React64.createElement(import_ui53.IconButton, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React64.createElement(import_icons22.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React64.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
2599
+ /* @__PURE__ */ React65.createElement(import_ui53.Stack, null, /* @__PURE__ */ React65.createElement(import_ui53.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React65.createElement(import_icons22.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React65.createElement(import_ui53.Typography, { variant: "subtitle2" }, (0, import_i18n42.__)("Dynamic Tags", "elementor")), /* @__PURE__ */ React65.createElement(import_ui53.IconButton, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React65.createElement(import_icons22.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React65.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
2347
2600
  ));
2348
2601
  };
2349
2602
  var DynamicSettingsPopover = ({ dynamicTag }) => {
2350
- const popupId = (0, import_react20.useId)();
2603
+ const popupId = (0, import_react22.useId)();
2351
2604
  const settingsPopupState = (0, import_ui53.usePopupState)({ variant: "popover", popupId });
2352
2605
  const hasDynamicSettings = !!dynamicTag.atomic_controls.length;
2353
2606
  if (!hasDynamicSettings) {
2354
2607
  return null;
2355
2608
  }
2356
- return /* @__PURE__ */ React64.createElement(React64.Fragment, null, /* @__PURE__ */ React64.createElement(
2609
+ return /* @__PURE__ */ React65.createElement(React65.Fragment, null, /* @__PURE__ */ React65.createElement(
2357
2610
  import_ui53.IconButton,
2358
2611
  {
2359
2612
  size: SIZE4,
2360
2613
  ...(0, import_ui53.bindTrigger)(settingsPopupState),
2361
2614
  "aria-label": (0, import_i18n42.__)("Settings", "elementor")
2362
2615
  },
2363
- /* @__PURE__ */ React64.createElement(import_icons22.SettingsIcon, { fontSize: SIZE4 })
2364
- ), /* @__PURE__ */ React64.createElement(
2616
+ /* @__PURE__ */ React65.createElement(import_icons22.SettingsIcon, { fontSize: SIZE4 })
2617
+ ), /* @__PURE__ */ React65.createElement(
2365
2618
  import_ui53.Popover,
2366
2619
  {
2367
2620
  disableScrollLock: true,
2368
2621
  anchorOrigin: { vertical: "bottom", horizontal: "center" },
2369
2622
  ...(0, import_ui53.bindPopover)(settingsPopupState)
2370
2623
  },
2371
- /* @__PURE__ */ React64.createElement(import_ui53.Paper, { component: import_ui53.Stack, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React64.createElement(import_ui53.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_ui53.Typography, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React64.createElement(import_ui53.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 }))
2624
+ /* @__PURE__ */ React65.createElement(import_ui53.Paper, { component: import_ui53.Stack, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React65.createElement(import_ui53.Stack, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React65.createElement(import_icons22.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React65.createElement(import_ui53.Typography, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React65.createElement(import_ui53.IconButton, { sx: { ml: "auto" }, size: SIZE4, onClick: settingsPopupState.close }, /* @__PURE__ */ React65.createElement(import_icons22.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React65.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
2372
2625
  ));
2373
2626
  };
2374
2627
  var DynamicSettings = ({ controls }) => {
@@ -2377,10 +2630,10 @@ var DynamicSettings = ({ controls }) => {
2377
2630
  if (!tabs.length) {
2378
2631
  return null;
2379
2632
  }
2380
- return /* @__PURE__ */ React64.createElement(React64.Fragment, null, /* @__PURE__ */ React64.createElement(import_ui53.Tabs, { indicatorColor: "secondary", textColor: "secondary", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React64.createElement(import_ui53.Tab, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React64.createElement(import_ui53.Divider, null), tabs.map(({ value }, index) => {
2381
- return /* @__PURE__ */ React64.createElement(import_ui53.TabPanel, { key: index, sx: { flexGrow: 1 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React64.createElement(import_ui53.Stack, { gap: 1, px: 2 }, value.items.map((item) => {
2633
+ return /* @__PURE__ */ React65.createElement(React65.Fragment, null, /* @__PURE__ */ React65.createElement(import_ui53.Tabs, { indicatorColor: "secondary", textColor: "secondary", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React65.createElement(import_ui53.Tab, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React65.createElement(import_ui53.Divider, null), tabs.map(({ value }, index) => {
2634
+ return /* @__PURE__ */ React65.createElement(import_ui53.TabPanel, { key: index, sx: { flexGrow: 1 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React65.createElement(import_ui53.Stack, { gap: 1, px: 2 }, value.items.map((item) => {
2382
2635
  if (item.type === "control") {
2383
- return /* @__PURE__ */ React64.createElement(Control3, { key: item.value.bind, control: item.value });
2636
+ return /* @__PURE__ */ React65.createElement(Control3, { key: item.value.bind, control: item.value });
2384
2637
  }
2385
2638
  return null;
2386
2639
  })));
@@ -2390,24 +2643,22 @@ var Control3 = ({ control }) => {
2390
2643
  if (!getControlByType(control.type)) {
2391
2644
  return null;
2392
2645
  }
2393
- return /* @__PURE__ */ React64.createElement(DynamicControl, { bind: control.bind }, control.label ? /* @__PURE__ */ React64.createElement(import_editor_controls44.ControlLabel, null, control.label) : null, /* @__PURE__ */ React64.createElement(Control, { type: control.type, props: control.props }));
2646
+ return /* @__PURE__ */ React65.createElement(DynamicControl, { bind: control.bind }, control.label ? /* @__PURE__ */ React65.createElement(import_editor_controls45.ControlLabel, null, control.label) : null, /* @__PURE__ */ React65.createElement(Control, { type: control.type, props: control.props }));
2394
2647
  };
2395
2648
 
2396
2649
  // src/dynamics/hooks/use-prop-dynamic-action.tsx
2397
- var React65 = __toESM(require("react"));
2398
- var import_editor_controls45 = require("@elementor/editor-controls");
2650
+ var React66 = __toESM(require("react"));
2651
+ var import_editor_controls46 = require("@elementor/editor-controls");
2399
2652
  var import_icons23 = require("@elementor/icons");
2400
2653
  var import_i18n43 = require("@wordpress/i18n");
2401
2654
  var usePropDynamicAction = () => {
2402
- const { bind } = (0, import_editor_controls45.useBoundProp)();
2403
- const { elementType } = useElement();
2404
- const propType = elementType.propsSchema[bind];
2655
+ const { propType } = (0, import_editor_controls46.useBoundProp)();
2405
2656
  const visible = !!propType && supportsDynamic(propType);
2406
2657
  return {
2407
2658
  visible,
2408
2659
  icon: import_icons23.DatabaseIcon,
2409
2660
  title: (0, import_i18n43.__)("Dynamic Tags", "elementor"),
2410
- popoverContent: ({ closePopover }) => /* @__PURE__ */ React65.createElement(DynamicSelection, { onSelect: closePopover })
2661
+ popoverContent: ({ closePopover }) => /* @__PURE__ */ React66.createElement(DynamicSelection, { onSelect: closePopover })
2411
2662
  };
2412
2663
  };
2413
2664