@elementor/editor-editing-panel 1.7.0 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -129,7 +129,7 @@ import { __registerPanel as registerPanel } from "@elementor/editor-panels";
129
129
  import { __privateBlockDataCommand as blockDataCommand } from "@elementor/editor-v1-adapters";
130
130
 
131
131
  // src/hooks/use-close-editor-panel.ts
132
- import { useEffect as useEffect3 } from "react";
132
+ import { useEffect as useEffect4 } from "react";
133
133
  import { getSelectedElements as getSelectedElements2, isElementInContainer } from "@elementor/editor-elements";
134
134
  import { __privateListenTo as listenTo, commandStartEvent } from "@elementor/editor-v1-adapters";
135
135
 
@@ -137,10 +137,11 @@ import { __privateListenTo as listenTo, commandStartEvent } from "@elementor/edi
137
137
  import { __createPanel as createPanel } from "@elementor/editor-panels";
138
138
 
139
139
  // src/components/editing-panel.tsx
140
- import * as React61 from "react";
140
+ import * as React62 from "react";
141
141
  import { ControlActionsProvider, ControlReplacementProvider } from "@elementor/editor-controls";
142
142
  import { useSelectedElement } from "@elementor/editor-elements";
143
143
  import { Panel, PanelBody, PanelHeader, PanelHeaderTitle } from "@elementor/editor-panels";
144
+ import { SessionStorageProvider as SessionStorageProvider3 } from "@elementor/session";
144
145
  import { ErrorBoundary } from "@elementor/ui";
145
146
  import { __ as __40 } from "@wordpress/i18n";
146
147
 
@@ -213,7 +214,7 @@ function EditorPanelErrorFallback() {
213
214
  }
214
215
 
215
216
  // src/components/editing-panel-tabs.tsx
216
- import * as React60 from "react";
217
+ import * as React61 from "react";
217
218
  import { Fragment as Fragment7 } from "react";
218
219
  import { Divider as Divider8, Stack as Stack19, Tab, TabPanel, Tabs, useTabs } from "@elementor/ui";
219
220
  import { __ as __39 } from "@wordpress/i18n";
@@ -221,6 +222,7 @@ import { __ as __39 } from "@wordpress/i18n";
221
222
  // src/components/settings-tab.tsx
222
223
  import * as React12 from "react";
223
224
  import { ControlLabel } from "@elementor/editor-controls";
225
+ import { SessionStorageProvider } from "@elementor/session";
224
226
 
225
227
  // src/controls-registry/control.tsx
226
228
  import * as React7 from "react";
@@ -365,8 +367,8 @@ function SectionsList(props) {
365
367
 
366
368
  // src/components/settings-tab.tsx
367
369
  var SettingsTab = () => {
368
- const { elementType } = useElement();
369
- return /* @__PURE__ */ React12.createElement(SectionsList, null, elementType.controls.map(({ type, value }, index) => {
370
+ const { elementType, element } = useElement();
371
+ return /* @__PURE__ */ React12.createElement(SessionStorageProvider, { prefix: element.id }, /* @__PURE__ */ React12.createElement(SectionsList, null, elementType.controls.map(({ type, value }, index) => {
370
372
  if (type === "control") {
371
373
  return /* @__PURE__ */ React12.createElement(Control2, { key: value.bind, control: value });
372
374
  }
@@ -379,7 +381,7 @@ var SettingsTab = () => {
379
381
  }));
380
382
  }
381
383
  return null;
382
- }));
384
+ })));
383
385
  };
384
386
  var Control2 = ({ control }) => {
385
387
  if (!getControlByType(control.type)) {
@@ -389,10 +391,11 @@ var Control2 = ({ control }) => {
389
391
  };
390
392
 
391
393
  // src/components/style-tab.tsx
392
- import * as React59 from "react";
393
- import { useState as useState8 } from "react";
394
+ import * as React60 from "react";
395
+ import { useState as useState9 } from "react";
394
396
  import { useElementSetting as useElementSetting3, useElementStyles } from "@elementor/editor-elements";
395
397
  import { useActiveBreakpoint } from "@elementor/editor-responsive";
398
+ import { SessionStorageProvider as SessionStorageProvider2 } from "@elementor/session";
396
399
  import { Divider as Divider7 } from "@elementor/ui";
397
400
  import { __ as __38 } from "@wordpress/i18n";
398
401
 
@@ -412,12 +415,13 @@ function useClassesProp() {
412
415
  }
413
416
 
414
417
  // src/components/css-class-selector.tsx
415
- import * as React16 from "react";
416
- import { useId as useId4, useRef as useRef2 } from "react";
418
+ import * as React17 from "react";
419
+ import { useId as useId4, useRef as useRef3 } from "react";
417
420
  import { getElementSetting, updateSettings as updateSettings2, useElementSetting as useElementSetting2 } from "@elementor/editor-elements";
418
421
  import { classesPropTypeUtil } from "@elementor/editor-props";
419
422
  import {
420
423
  ELEMENTS_STYLES_PROVIDER_KEY,
424
+ stylesRepository,
421
425
  useAllStylesByProvider,
422
426
  useCreateActionsByProvider
423
427
  } from "@elementor/editor-styles-repository";
@@ -467,9 +471,119 @@ var Content = React14.forwardRef(({ maxWidth, ...tooltipProps }, ref) => /* @__P
467
471
  }
468
472
  ));
469
473
 
470
- // src/components/multi-combobox.tsx
474
+ // src/components/editable-field.tsx
471
475
  import * as React15 from "react";
472
- import { useId as useId3, useState as useState3 } from "react";
476
+ import { createContext as createContext5, useContext as useContext5, useEffect as useEffect2, useRef as useRef2, useState as useState3 } from "react";
477
+ import { Tooltip as Tooltip3 } from "@elementor/ui";
478
+ var Context4 = createContext5(null);
479
+ var EditableFieldProvider = ({
480
+ children,
481
+ value,
482
+ onSubmit,
483
+ validation,
484
+ editable
485
+ }) => {
486
+ const [isEditing, setIsEditing] = useState3(false);
487
+ const [submitting, setSubmitting] = useState3(false);
488
+ const [error, setError] = useState3(null);
489
+ const openEditMode = () => {
490
+ setIsEditing(true);
491
+ };
492
+ const closeEditMode = () => {
493
+ setError(null);
494
+ setIsEditing(false);
495
+ };
496
+ const submit = async (newValue) => {
497
+ if (!error) {
498
+ setSubmitting(true);
499
+ try {
500
+ await onSubmit(newValue);
501
+ } finally {
502
+ setSubmitting(false);
503
+ }
504
+ }
505
+ closeEditMode();
506
+ };
507
+ const onChange = (event) => {
508
+ const { innerText: newValue } = event.target;
509
+ if (validation) {
510
+ setError(validation(newValue));
511
+ }
512
+ };
513
+ return /* @__PURE__ */ React15.createElement(
514
+ Context4.Provider,
515
+ {
516
+ value: {
517
+ isEditing,
518
+ openEditMode,
519
+ closeEditMode,
520
+ onChange,
521
+ value,
522
+ error,
523
+ submit,
524
+ editable,
525
+ submitting
526
+ }
527
+ },
528
+ children
529
+ );
530
+ };
531
+ var EditableField = ({ children, ...props }) => {
532
+ const ref = useRef2(null);
533
+ const { isEditing, closeEditMode, value, onChange, error, submit, editable } = useEditableField();
534
+ useEffect2(() => {
535
+ if (isEditing) {
536
+ ref.current?.focus();
537
+ selectAll();
538
+ }
539
+ }, [isEditing]);
540
+ const handleKeyDown = (event) => {
541
+ event.stopPropagation();
542
+ if (["Escape"].includes(event.key)) {
543
+ return closeEditMode();
544
+ }
545
+ if (["Enter"].includes(event.key)) {
546
+ event.preventDefault();
547
+ return submit(event.target.innerText);
548
+ }
549
+ };
550
+ const selectAll = () => {
551
+ const selection = getSelection();
552
+ if (!selection || !ref.current) {
553
+ return;
554
+ }
555
+ const range = document.createRange();
556
+ range.selectNodeContents(ref.current);
557
+ selection.removeAllRanges();
558
+ selection.addRange(range);
559
+ };
560
+ if (!editable) {
561
+ return children;
562
+ }
563
+ return /* @__PURE__ */ React15.createElement(Tooltip3, { open: !!error, title: error, placement: "top" }, /* @__PURE__ */ React15.createElement("div", { onKeyDown: handleKeyDown, ...props }, /* @__PURE__ */ React15.createElement(
564
+ "span",
565
+ {
566
+ ref,
567
+ role: "textbox",
568
+ onInput: onChange,
569
+ contentEditable: isEditing,
570
+ suppressContentEditableWarning: true,
571
+ onBlur: closeEditMode
572
+ },
573
+ isEditing ? value : children
574
+ )));
575
+ };
576
+ var useEditableField = () => {
577
+ const contextValue = useContext5(Context4);
578
+ if (!contextValue) {
579
+ throw new Error("useEditableField must be used within a EditableFieldProvider");
580
+ }
581
+ return contextValue;
582
+ };
583
+
584
+ // src/components/multi-combobox.tsx
585
+ import * as React16 from "react";
586
+ import { useId as useId3, useState as useState4 } from "react";
473
587
  import {
474
588
  Autocomplete,
475
589
  Box as Box5,
@@ -486,7 +600,7 @@ function MultiCombobox({
486
600
  }) {
487
601
  const filter = useFilterOptions();
488
602
  const { run, loading } = useActionRunner();
489
- return /* @__PURE__ */ React15.createElement(
603
+ return /* @__PURE__ */ React16.createElement(
490
604
  Autocomplete,
491
605
  {
492
606
  ...props,
@@ -499,8 +613,8 @@ function MultiCombobox({
499
613
  disabled: loading,
500
614
  value: selected,
501
615
  options: options10,
502
- renderGroup: (params) => /* @__PURE__ */ React15.createElement(Group, { ...params }),
503
- renderInput: (params) => /* @__PURE__ */ React15.createElement(TextField, { ...params }),
616
+ renderGroup: (params) => /* @__PURE__ */ React16.createElement(Group, { ...params }),
617
+ renderInput: (params) => /* @__PURE__ */ React16.createElement(TextField, { ...params }),
504
618
  onChange: (_, selectedOrInputValue, reason) => {
505
619
  const inputValue = selectedOrInputValue.find((option) => typeof option === "string");
506
620
  const optionsAndActions = selectedOrInputValue.filter((option) => typeof option !== "string");
@@ -540,7 +654,7 @@ function MultiCombobox({
540
654
  }
541
655
  var Group = (params) => {
542
656
  const id = `combobox-group-${useId3().replace(/:/g, "_")}`;
543
- return /* @__PURE__ */ React15.createElement(StyledGroup, { role: "group", "aria-labelledby": id }, /* @__PURE__ */ React15.createElement(StyledGroupHeader, { id }, " ", params.group), /* @__PURE__ */ React15.createElement(StyledGroupItems, { role: "listbox" }, params.children));
657
+ 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));
544
658
  };
545
659
  var StyledGroup = styled4("li")`
546
660
  &:not( :last-of-type ) {
@@ -557,10 +671,10 @@ var StyledGroupItems = styled4("ul")`
557
671
  padding: 0;
558
672
  `;
559
673
  function useFilterOptions() {
560
- return useState3(() => createFilterOptions())[0];
674
+ return useState4(() => createFilterOptions())[0];
561
675
  }
562
676
  function useActionRunner() {
563
- const [loading, setLoading] = useState3(false);
677
+ const [loading, setLoading] = useState4(false);
564
678
  const run = async (apply, value) => {
565
679
  setLoading(true);
566
680
  try {
@@ -604,7 +718,7 @@ function CssClassSelector() {
604
718
  const handleActivate = ({ value }) => setActiveId(value);
605
719
  const applied = useAppliedOptions(options10, appliedIds);
606
720
  const active = applied.find((option) => option.value === activeId) ?? EMPTY_OPTION;
607
- return /* @__PURE__ */ React16.createElement(Stack3, { gap: 1, p: 2 }, /* @__PURE__ */ React16.createElement(Typography2, { component: "label", variant: "caption", htmlFor: ID }, __2("CSS Classes", "elementor")), /* @__PURE__ */ React16.createElement(
721
+ return /* @__PURE__ */ React17.createElement(Stack3, { gap: 1, p: 2 }, /* @__PURE__ */ React17.createElement(Typography2, { component: "label", variant: "caption", htmlFor: ID }, __2("CSS Classes", "elementor")), /* @__PURE__ */ React17.createElement(
608
722
  MultiCombobox,
609
723
  {
610
724
  id: ID,
@@ -614,57 +728,126 @@ function CssClassSelector() {
614
728
  onSelect: handleApply,
615
729
  limitTags: TAGS_LIMIT,
616
730
  actions,
617
- getLimitTagsText: (more) => /* @__PURE__ */ React16.createElement(Chip, { size: "tiny", variant: "standard", label: `+${more}`, clickable: true }),
731
+ getLimitTagsText: (more) => /* @__PURE__ */ React17.createElement(Chip, { size: "tiny", variant: "standard", label: `+${more}`, clickable: true }),
618
732
  renderTags: (values, getTagProps) => values.map((value, index) => {
619
733
  const chipProps = getTagProps({ index });
620
734
  const isActive = value.value === active?.value;
621
- return /* @__PURE__ */ React16.createElement(
622
- CssClassItem,
735
+ const renameLabel = (newLabel) => {
736
+ return updateClassByProvider(value.provider, { label: newLabel, id: value.value });
737
+ };
738
+ return /* @__PURE__ */ React17.createElement(
739
+ EditableFieldProvider,
623
740
  {
624
741
  key: chipProps.key,
625
- label: value.label,
626
- id: value.value,
627
- isActive,
628
- isGlobal: value.color === "global",
629
- color: isActive && value.color ? value.color : "default",
630
- chipProps,
631
- onClickActive: () => handleActivate(value)
632
- }
742
+ value: value.label,
743
+ onSubmit: renameLabel,
744
+ editable: value.provider !== ELEMENTS_STYLES_PROVIDER_KEY,
745
+ validation: (newLabel) => renameValidation(
746
+ newLabel,
747
+ options10.filter((option) => option.value !== value.value)
748
+ )
749
+ },
750
+ /* @__PURE__ */ React17.createElement(
751
+ CssClassItem,
752
+ {
753
+ label: value.label,
754
+ id: value.value,
755
+ isActive,
756
+ isGlobal: value.color === "global",
757
+ color: isActive && value.color ? value.color : "default",
758
+ chipProps,
759
+ onClickActive: () => handleActivate(value)
760
+ }
761
+ )
633
762
  );
634
763
  })
635
764
  }
636
765
  ));
637
766
  }
638
- function CssClassItem({ id, label, isActive, isGlobal, color, chipProps, onClickActive }) {
767
+ var CHIP_SIZE = "tiny";
768
+ function CssClassItem({
769
+ id,
770
+ label,
771
+ isActive,
772
+ isGlobal,
773
+ color: colorProp,
774
+ chipProps,
775
+ onClickActive
776
+ }) {
639
777
  const { meta } = useStyle();
640
778
  const popupId = useId4().replace(/:/g, "_");
641
779
  const popupState = usePopupState2({ variant: "popover", popupId });
642
- const chipRef = useRef2(null);
780
+ const chipRef = useRef3(null);
643
781
  const { onDelete, ...chipGroupProps } = chipProps;
644
- return /* @__PURE__ */ React16.createElement(CssClassItemProvider, { styleId: id, isActive, isGlobal }, /* @__PURE__ */ React16.createElement(UnstableChipGroup, { ref: chipRef, ...chipGroupProps, "aria-label": `Edit ${label}`, role: "group" }, /* @__PURE__ */ React16.createElement(
782
+ const { isEditing, openEditMode, error, submitting } = useEditableField();
783
+ const color = error ? "error" : colorProp;
784
+ return /* @__PURE__ */ React17.createElement(CssClassItemProvider, { styleId: id, isActive, isGlobal }, /* @__PURE__ */ React17.createElement(UnstableChipGroup, { ref: chipRef, ...chipGroupProps, "aria-label": `Edit ${label}`, role: "group" }, /* @__PURE__ */ React17.createElement(
645
785
  Chip,
646
786
  {
647
- key: chipProps.key,
648
- size: "tiny",
649
- label: /* @__PURE__ */ React16.createElement(ConditionalTooltipWrapper, { maxWidth: "10ch", title: label }),
787
+ disabled: submitting,
788
+ size: CHIP_SIZE,
789
+ label: /* @__PURE__ */ React17.createElement(
790
+ EditableField,
791
+ {
792
+ onDoubleClick: () => {
793
+ if (!isActive) {
794
+ openEditMode();
795
+ }
796
+ },
797
+ onClick: () => {
798
+ if (isActive) {
799
+ openEditMode();
800
+ }
801
+ }
802
+ },
803
+ /* @__PURE__ */ React17.createElement(ConditionalTooltipWrapper, { maxWidth: "10ch", title: label })
804
+ ),
650
805
  variant: isActive && !meta.state ? "filled" : "standard",
651
806
  color,
652
807
  onClick: () => onClickActive(id),
653
- "aria-pressed": isActive
808
+ "aria-pressed": isActive,
809
+ sx: {
810
+ "&.Mui-focusVisible": {
811
+ boxShadow: "none !important"
812
+ }
813
+ }
654
814
  }
655
- ), /* @__PURE__ */ React16.createElement(
815
+ ), !isEditing && /* @__PURE__ */ React17.createElement(
656
816
  Chip,
657
817
  {
658
- key: `${chipProps.key}-menu`,
659
- size: "tiny",
660
- label: /* @__PURE__ */ React16.createElement(Stack3, { direction: "row", gap: 0.5, alignItems: "center" }, isActive && meta.state && /* @__PURE__ */ React16.createElement(Typography2, { variant: "inherit" }, meta.state), /* @__PURE__ */ React16.createElement(DotsVerticalIcon, { fontSize: "inherit" })),
818
+ disabled: submitting,
819
+ size: CHIP_SIZE,
820
+ label: /* @__PURE__ */ React17.createElement(Stack3, { direction: "row", gap: 0.5, alignItems: "center" }, isActive && meta.state && /* @__PURE__ */ React17.createElement(Typography2, { variant: "inherit" }, meta.state), /* @__PURE__ */ React17.createElement(DotsVerticalIcon, { fontSize: "inherit" })),
661
821
  variant: "filled",
662
822
  color,
663
823
  ...bindTrigger(popupState),
664
824
  "aria-label": __2("Open CSS Class Menu", "elementor")
665
825
  }
666
- )), /* @__PURE__ */ React16.createElement(CssClassMenu, { popupState, containerRef: chipRef }));
826
+ )), /* @__PURE__ */ React17.createElement(CssClassMenu, { popupState, containerRef: chipRef }));
667
827
  }
828
+ var updateClassByProvider = (provider, data) => {
829
+ const providerInstance = stylesRepository.getProviderByKey(provider);
830
+ if (!providerInstance) {
831
+ return;
832
+ }
833
+ return providerInstance.actions.update?.(data);
834
+ };
835
+ var VALID_SELECTOR_REGEX = /^[a-zA-Z0-9_-]+$/;
836
+ var renameValidation = (newLabel, options10) => {
837
+ if (isNameExist(newLabel, options10)) {
838
+ return __2("Existing name", "elementor");
839
+ }
840
+ if (isCharactersNotSupported(newLabel)) {
841
+ return __2("Format is not valid", "elementor");
842
+ }
843
+ };
844
+ var isNameExist = (newLabel, options10) => {
845
+ if (!options10?.length) {
846
+ return false;
847
+ }
848
+ return options10.some((option) => option.label.toLowerCase() === newLabel.toLowerCase());
849
+ };
850
+ var isCharactersNotSupported = (newLabel) => !VALID_SELECTOR_REGEX.test(newLabel);
668
851
  function useOptions() {
669
852
  const { element } = useElement();
670
853
  return useAllStylesByProvider({ elementId: element.id }).flatMap(
@@ -767,11 +950,11 @@ function useHandleApply(appliedIds, setAppliedIds) {
767
950
  }
768
951
 
769
952
  // src/components/style-sections/background-section/background-section.tsx
770
- import * as React18 from "react";
953
+ import * as React19 from "react";
771
954
  import { BackgroundControl } from "@elementor/editor-controls";
772
955
 
773
956
  // src/controls-registry/styles-field.tsx
774
- import * as React17 from "react";
957
+ import * as React18 from "react";
775
958
  import { PropKeyProvider as PropKeyProvider2, PropProvider as PropProvider2 } from "@elementor/editor-controls";
776
959
  import { getStylesSchema } from "@elementor/editor-styles";
777
960
 
@@ -822,30 +1005,30 @@ var StylesField = ({ bind, children }) => {
822
1005
  const setValues = (newValue) => {
823
1006
  setValue(newValue[bind]);
824
1007
  };
825
- return /* @__PURE__ */ React17.createElement(PropProvider2, { propType, value: values, setValue: setValues }, /* @__PURE__ */ React17.createElement(PropKeyProvider2, { bind }, children));
1008
+ return /* @__PURE__ */ React18.createElement(PropProvider2, { propType, value: values, setValue: setValues }, /* @__PURE__ */ React18.createElement(PropKeyProvider2, { bind }, children));
826
1009
  };
827
1010
 
828
1011
  // src/components/style-sections/background-section/background-section.tsx
829
1012
  var BackgroundSection = () => {
830
- return /* @__PURE__ */ React18.createElement(StylesField, { bind: "background" }, /* @__PURE__ */ React18.createElement(BackgroundControl, null));
1013
+ return /* @__PURE__ */ React19.createElement(StylesField, { bind: "background" }, /* @__PURE__ */ React19.createElement(BackgroundControl, null));
831
1014
  };
832
1015
 
833
1016
  // src/components/style-sections/border-section/border-section.tsx
834
- import * as React25 from "react";
1017
+ import * as React26 from "react";
835
1018
  import { Divider as Divider2, Stack as Stack5 } from "@elementor/ui";
836
1019
 
837
1020
  // src/components/style-sections/border-section/border-field.tsx
838
- import * as React23 from "react";
1021
+ import * as React24 from "react";
839
1022
  import { __ as __7 } from "@wordpress/i18n";
840
1023
 
841
1024
  // src/components/add-or-remove-content.tsx
842
- import * as React19 from "react";
1025
+ import * as React20 from "react";
843
1026
  import { ControlLabel as ControlLabel2 } from "@elementor/editor-controls";
844
1027
  import { MinusIcon, PlusIcon } from "@elementor/icons";
845
1028
  import { Collapse as Collapse2, IconButton as IconButton2, Stack as Stack4 } from "@elementor/ui";
846
1029
  var SIZE2 = "tiny";
847
1030
  var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
848
- return /* @__PURE__ */ React19.createElement(Stack4, { gap: 1.5 }, /* @__PURE__ */ React19.createElement(
1031
+ return /* @__PURE__ */ React20.createElement(Stack4, { gap: 1.5 }, /* @__PURE__ */ React20.createElement(
849
1032
  Stack4,
850
1033
  {
851
1034
  direction: "row",
@@ -854,22 +1037,22 @@ var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
854
1037
  alignItems: "center"
855
1038
  }
856
1039
  },
857
- /* @__PURE__ */ React19.createElement(ControlLabel2, null, label),
858
- isAdded ? /* @__PURE__ */ React19.createElement(IconButton2, { size: SIZE2, onClick: onRemove }, /* @__PURE__ */ React19.createElement(MinusIcon, { fontSize: SIZE2 })) : /* @__PURE__ */ React19.createElement(IconButton2, { size: SIZE2, onClick: onAdd }, /* @__PURE__ */ React19.createElement(PlusIcon, { fontSize: SIZE2 }))
859
- ), /* @__PURE__ */ React19.createElement(Collapse2, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React19.createElement(Stack4, { gap: 1.5 }, children)));
1040
+ /* @__PURE__ */ React20.createElement(ControlLabel2, null, label),
1041
+ isAdded ? /* @__PURE__ */ React20.createElement(IconButton2, { size: SIZE2, onClick: onRemove, "aria-label": "Remove" }, /* @__PURE__ */ React20.createElement(MinusIcon, { fontSize: SIZE2 })) : /* @__PURE__ */ React20.createElement(IconButton2, { size: SIZE2, onClick: onAdd, "aria-label": "Add" }, /* @__PURE__ */ React20.createElement(PlusIcon, { fontSize: SIZE2 }))
1042
+ ), /* @__PURE__ */ React20.createElement(Collapse2, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React20.createElement(Stack4, { gap: 1.5 }, children)));
860
1043
  };
861
1044
 
862
1045
  // src/components/style-sections/border-section/border-color-field.tsx
863
- import * as React20 from "react";
1046
+ import * as React21 from "react";
864
1047
  import { ColorControl, ControlLabel as ControlLabel3 } from "@elementor/editor-controls";
865
1048
  import { Grid } from "@elementor/ui";
866
1049
  import { __ as __4 } from "@wordpress/i18n";
867
1050
  var BorderColorField = () => {
868
- return /* @__PURE__ */ React20.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React20.createElement(Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React20.createElement(Grid, { item: true, xs: 6 }, /* @__PURE__ */ React20.createElement(ControlLabel3, null, __4("Border Color", "elementor"))), /* @__PURE__ */ React20.createElement(Grid, { item: true, xs: 6 }, /* @__PURE__ */ React20.createElement(ColorControl, null))));
1051
+ return /* @__PURE__ */ React21.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React21.createElement(Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React21.createElement(Grid, { item: true, xs: 6 }, /* @__PURE__ */ React21.createElement(ControlLabel3, null, __4("Border Color", "elementor"))), /* @__PURE__ */ React21.createElement(Grid, { item: true, xs: 6 }, /* @__PURE__ */ React21.createElement(ColorControl, null))));
869
1052
  };
870
1053
 
871
1054
  // src/components/style-sections/border-section/border-style-field.tsx
872
- import * as React21 from "react";
1055
+ import * as React22 from "react";
873
1056
  import { ControlLabel as ControlLabel4, SelectControl as SelectControl2 } from "@elementor/editor-controls";
874
1057
  import { Grid as Grid2 } from "@elementor/ui";
875
1058
  import { __ as __5 } from "@wordpress/i18n";
@@ -885,11 +1068,11 @@ var borderStyles = [
885
1068
  { value: "outset", label: __5("Outset", "elementor") }
886
1069
  ];
887
1070
  var BorderStyleField = () => {
888
- return /* @__PURE__ */ React21.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React21.createElement(Grid2, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React21.createElement(Grid2, { item: true, xs: 6 }, /* @__PURE__ */ React21.createElement(ControlLabel4, null, __5("Border Type", "elementor"))), /* @__PURE__ */ React21.createElement(Grid2, { item: true, xs: 6 }, /* @__PURE__ */ React21.createElement(SelectControl2, { options: borderStyles }))));
1071
+ return /* @__PURE__ */ React22.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React22.createElement(Grid2, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React22.createElement(Grid2, { item: true, xs: 6 }, /* @__PURE__ */ React22.createElement(ControlLabel4, null, __5("Border Type", "elementor"))), /* @__PURE__ */ React22.createElement(Grid2, { item: true, xs: 6 }, /* @__PURE__ */ React22.createElement(SelectControl2, { options: borderStyles }))));
889
1072
  };
890
1073
 
891
1074
  // src/components/style-sections/border-section/border-width-field.tsx
892
- import * as React22 from "react";
1075
+ import * as React23 from "react";
893
1076
  import { EqualUnequalSizesControl } from "@elementor/editor-controls";
894
1077
  import { borderWidthPropTypeUtil } from "@elementor/editor-props";
895
1078
  import { SideAllIcon, SideBottomIcon, SideLeftIcon, SideRightIcon, SideTopIcon } from "@elementor/icons";
@@ -897,57 +1080,57 @@ import { __ as __6 } from "@wordpress/i18n";
897
1080
  var edges = [
898
1081
  {
899
1082
  label: __6("Top", "elementor"),
900
- icon: /* @__PURE__ */ React22.createElement(SideTopIcon, { fontSize: "tiny" }),
1083
+ icon: /* @__PURE__ */ React23.createElement(SideTopIcon, { fontSize: "tiny" }),
901
1084
  bind: "top"
902
1085
  },
903
1086
  {
904
1087
  label: __6("Right", "elementor"),
905
- icon: /* @__PURE__ */ React22.createElement(SideRightIcon, { fontSize: "tiny" }),
1088
+ icon: /* @__PURE__ */ React23.createElement(SideRightIcon, { fontSize: "tiny" }),
906
1089
  bind: "right"
907
1090
  },
908
1091
  {
909
1092
  label: __6("Bottom", "elementor"),
910
- icon: /* @__PURE__ */ React22.createElement(SideBottomIcon, { fontSize: "tiny" }),
1093
+ icon: /* @__PURE__ */ React23.createElement(SideBottomIcon, { fontSize: "tiny" }),
911
1094
  bind: "bottom"
912
1095
  },
913
1096
  {
914
1097
  label: __6("Left", "elementor"),
915
- icon: /* @__PURE__ */ React22.createElement(SideLeftIcon, { fontSize: "tiny" }),
1098
+ icon: /* @__PURE__ */ React23.createElement(SideLeftIcon, { fontSize: "tiny" }),
916
1099
  bind: "left"
917
1100
  }
918
1101
  ];
919
1102
  var BorderWidthField = () => {
920
- return /* @__PURE__ */ React22.createElement(StylesField, { bind: "border-width" }, /* @__PURE__ */ React22.createElement(
1103
+ return /* @__PURE__ */ React23.createElement(StylesField, { bind: "border-width" }, /* @__PURE__ */ React23.createElement(
921
1104
  EqualUnequalSizesControl,
922
1105
  {
923
1106
  items: edges,
924
1107
  label: __6("Border Width", "elementor"),
925
- icon: /* @__PURE__ */ React22.createElement(SideAllIcon, { fontSize: "tiny" }),
1108
+ icon: /* @__PURE__ */ React23.createElement(SideAllIcon, { fontSize: "tiny" }),
926
1109
  multiSizePropTypeUtil: borderWidthPropTypeUtil
927
1110
  }
928
1111
  ));
929
1112
  };
930
1113
 
931
1114
  // src/components/style-sections/border-section/border-field.tsx
932
- var initialBorderWidth = { $$type: "size", value: { size: 1, unit: "px" } };
933
- var initialBorderColor = { $$type: "color", value: "#000000" };
934
- var initialBorderStyle = "solid";
1115
+ var initialBorder = {
1116
+ "border-width": { $$type: "size", value: { size: 1, unit: "px" } },
1117
+ "border-color": { $$type: "color", value: "#000000" },
1118
+ "border-style": { $$type: "string", value: "solid" }
1119
+ };
935
1120
  var BorderField = () => {
936
- const [borderWidth, setBorderWidth] = useStylesField("border-width");
937
- const [borderColor, setBorderColor] = useStylesField("border-color");
938
- const [borderStyle, setBorderStyle] = useStylesField("border-style");
1121
+ const [border, setBorder] = useStylesFields(Object.keys(initialBorder));
939
1122
  const addBorder = () => {
940
- setBorderWidth(initialBorderWidth);
941
- setBorderColor(initialBorderColor);
942
- setBorderStyle(initialBorderStyle);
1123
+ setBorder(initialBorder);
943
1124
  };
944
1125
  const removeBorder = () => {
945
- setBorderWidth(null);
946
- setBorderColor(null);
947
- setBorderStyle(null);
1126
+ setBorder({
1127
+ "border-width": null,
1128
+ "border-color": null,
1129
+ "border-style": null
1130
+ });
948
1131
  };
949
- const hasBorder = Boolean(borderWidth || borderColor || borderStyle);
950
- return /* @__PURE__ */ React23.createElement(
1132
+ const hasBorder = Object.values(border ?? {}).some(Boolean);
1133
+ return /* @__PURE__ */ React24.createElement(
951
1134
  AddOrRemoveContent,
952
1135
  {
953
1136
  label: __7("Border", "elementor"),
@@ -955,14 +1138,14 @@ var BorderField = () => {
955
1138
  onAdd: addBorder,
956
1139
  onRemove: removeBorder
957
1140
  },
958
- /* @__PURE__ */ React23.createElement(BorderWidthField, null),
959
- /* @__PURE__ */ React23.createElement(BorderColorField, null),
960
- /* @__PURE__ */ React23.createElement(BorderStyleField, null)
1141
+ /* @__PURE__ */ React24.createElement(BorderWidthField, null),
1142
+ /* @__PURE__ */ React24.createElement(BorderColorField, null),
1143
+ /* @__PURE__ */ React24.createElement(BorderStyleField, null)
961
1144
  );
962
1145
  };
963
1146
 
964
1147
  // src/components/style-sections/border-section/border-radius-field.tsx
965
- import * as React24 from "react";
1148
+ import * as React25 from "react";
966
1149
  import { EqualUnequalSizesControl as EqualUnequalSizesControl2 } from "@elementor/editor-controls";
967
1150
  import { borderRadiusPropTypeUtil } from "@elementor/editor-props";
968
1151
  import {
@@ -976,50 +1159,50 @@ import { __ as __8 } from "@wordpress/i18n";
976
1159
  var corners = [
977
1160
  {
978
1161
  label: __8("Top Left", "elementor"),
979
- icon: /* @__PURE__ */ React24.createElement(RadiusTopLeftIcon, { fontSize: "tiny" }),
1162
+ icon: /* @__PURE__ */ React25.createElement(RadiusTopLeftIcon, { fontSize: "tiny" }),
980
1163
  bind: "top-left"
981
1164
  },
982
1165
  {
983
1166
  label: __8("Top Right", "elementor"),
984
- icon: /* @__PURE__ */ React24.createElement(RadiusTopRightIcon, { fontSize: "tiny" }),
1167
+ icon: /* @__PURE__ */ React25.createElement(RadiusTopRightIcon, { fontSize: "tiny" }),
985
1168
  bind: "top-right"
986
1169
  },
987
1170
  {
988
1171
  label: __8("Bottom Right", "elementor"),
989
- icon: /* @__PURE__ */ React24.createElement(RadiusBottomRightIcon, { fontSize: "tiny" }),
1172
+ icon: /* @__PURE__ */ React25.createElement(RadiusBottomRightIcon, { fontSize: "tiny" }),
990
1173
  bind: "bottom-right"
991
1174
  },
992
1175
  {
993
1176
  label: __8("Bottom Left", "elementor"),
994
- icon: /* @__PURE__ */ React24.createElement(RadiusBottomLeftIcon, { fontSize: "tiny" }),
1177
+ icon: /* @__PURE__ */ React25.createElement(RadiusBottomLeftIcon, { fontSize: "tiny" }),
995
1178
  bind: "bottom-left"
996
1179
  }
997
1180
  ];
998
1181
  var BorderRadiusField = () => {
999
- return /* @__PURE__ */ React24.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React24.createElement(
1182
+ return /* @__PURE__ */ React25.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React25.createElement(
1000
1183
  EqualUnequalSizesControl2,
1001
1184
  {
1002
1185
  items: corners,
1003
1186
  label: __8("Border Radius", "elementor"),
1004
- icon: /* @__PURE__ */ React24.createElement(BorderCornersIcon, { fontSize: "tiny" }),
1187
+ icon: /* @__PURE__ */ React25.createElement(BorderCornersIcon, { fontSize: "tiny" }),
1005
1188
  multiSizePropTypeUtil: borderRadiusPropTypeUtil
1006
1189
  }
1007
1190
  ));
1008
1191
  };
1009
1192
 
1010
1193
  // src/components/style-sections/border-section/border-section.tsx
1011
- var BorderSection = () => /* @__PURE__ */ React25.createElement(Stack5, { gap: 1.5 }, /* @__PURE__ */ React25.createElement(BorderRadiusField, null), /* @__PURE__ */ React25.createElement(Divider2, null), /* @__PURE__ */ React25.createElement(BorderField, null));
1194
+ var BorderSection = () => /* @__PURE__ */ React26.createElement(Stack5, { gap: 1.5 }, /* @__PURE__ */ React26.createElement(BorderRadiusField, null), /* @__PURE__ */ React26.createElement(Divider2, null), /* @__PURE__ */ React26.createElement(BorderField, null));
1012
1195
 
1013
1196
  // src/components/style-sections/effects-section/effects-section.tsx
1014
- import * as React26 from "react";
1197
+ import * as React27 from "react";
1015
1198
  import { BoxShadowRepeaterControl } from "@elementor/editor-controls";
1016
1199
  import { Stack as Stack6 } from "@elementor/ui";
1017
1200
  var EffectsSection = () => {
1018
- return /* @__PURE__ */ React26.createElement(Stack6, { gap: 1.5 }, /* @__PURE__ */ React26.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React26.createElement(BoxShadowRepeaterControl, null)));
1201
+ return /* @__PURE__ */ React27.createElement(Stack6, { gap: 1.5 }, /* @__PURE__ */ React27.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React27.createElement(BoxShadowRepeaterControl, null)));
1019
1202
  };
1020
1203
 
1021
1204
  // src/components/style-sections/layout-section/layout-section.tsx
1022
- import * as React37 from "react";
1205
+ import * as React38 from "react";
1023
1206
  import { ControlLabel as ControlLabel13 } from "@elementor/editor-controls";
1024
1207
  import { useParentElement } from "@elementor/editor-elements";
1025
1208
  import { Divider as Divider3, Stack as Stack12 } from "@elementor/ui";
@@ -1051,7 +1234,7 @@ function useComputedStyle(elementId) {
1051
1234
  }
1052
1235
 
1053
1236
  // src/components/style-sections/layout-section/align-items-field.tsx
1054
- import * as React28 from "react";
1237
+ import * as React29 from "react";
1055
1238
  import { ControlLabel as ControlLabel5, ToggleControl } from "@elementor/editor-controls";
1056
1239
  import {
1057
1240
  LayoutAlignCenterIcon as CenterIcon,
@@ -1071,8 +1254,8 @@ function useDirection() {
1071
1254
  }
1072
1255
 
1073
1256
  // src/components/style-sections/layout-section/utils/rotated-icon.tsx
1074
- import * as React27 from "react";
1075
- import { useRef as useRef3 } from "react";
1257
+ import * as React28 from "react";
1258
+ import { useRef as useRef4 } from "react";
1076
1259
  import { useTheme as useTheme2 } from "@elementor/ui";
1077
1260
  var CLOCKWISE_ANGLES = {
1078
1261
  row: 0,
@@ -1087,9 +1270,9 @@ var COUNTER_CLOCKWISE_ANGLES = {
1087
1270
  "column-reverse": -270
1088
1271
  };
1089
1272
  var RotatedIcon = ({ icon: Icon, size, isClockwise = true, offset = 0 }) => {
1090
- const rotate = useRef3(useGetTargetAngle(isClockwise, offset));
1273
+ const rotate = useRef4(useGetTargetAngle(isClockwise, offset));
1091
1274
  rotate.current = useGetTargetAngle(isClockwise, offset, rotate);
1092
- return /* @__PURE__ */ React27.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
1275
+ return /* @__PURE__ */ React28.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
1093
1276
  };
1094
1277
  var useGetTargetAngle = (isClockwise, offset, existingRef) => {
1095
1278
  const [direction] = useStylesField("flex-direction");
@@ -1114,35 +1297,35 @@ var options = [
1114
1297
  {
1115
1298
  value: "start",
1116
1299
  label: __9("Start", "elementor"),
1117
- renderContent: ({ size }) => /* @__PURE__ */ React28.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
1300
+ renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
1118
1301
  showTooltip: true
1119
1302
  },
1120
1303
  {
1121
1304
  value: "center",
1122
1305
  label: __9("Center", "elementor"),
1123
- renderContent: ({ size }) => /* @__PURE__ */ React28.createElement(RotatedIcon, { icon: CenterIcon, size, ...iconProps }),
1306
+ renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: CenterIcon, size, ...iconProps }),
1124
1307
  showTooltip: true
1125
1308
  },
1126
1309
  {
1127
1310
  value: "end",
1128
1311
  label: __9("End", "elementor"),
1129
- renderContent: ({ size }) => /* @__PURE__ */ React28.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
1312
+ renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
1130
1313
  showTooltip: true
1131
1314
  },
1132
1315
  {
1133
1316
  value: "stretch",
1134
1317
  label: __9("Stretch", "elementor"),
1135
- renderContent: ({ size }) => /* @__PURE__ */ React28.createElement(RotatedIcon, { icon: JustifyIcon, size, ...iconProps }),
1318
+ renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: JustifyIcon, size, ...iconProps }),
1136
1319
  showTooltip: true
1137
1320
  }
1138
1321
  ];
1139
1322
  var AlignItemsField = () => {
1140
1323
  const { isSiteRtl } = useDirection();
1141
- return /* @__PURE__ */ React28.createElement(DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React28.createElement(ThemeProvider, null, /* @__PURE__ */ React28.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React28.createElement(Grid3, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React28.createElement(Grid3, { item: true, xs: 6 }, /* @__PURE__ */ React28.createElement(ControlLabel5, null, __9("Align items", "elementor"))), /* @__PURE__ */ React28.createElement(Grid3, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React28.createElement(ToggleControl, { options }))))));
1324
+ return /* @__PURE__ */ React29.createElement(DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React29.createElement(ThemeProvider, null, /* @__PURE__ */ React29.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React29.createElement(Grid3, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React29.createElement(Grid3, { item: true, xs: 6 }, /* @__PURE__ */ React29.createElement(ControlLabel5, null, __9("Align items", "elementor"))), /* @__PURE__ */ React29.createElement(Grid3, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React29.createElement(ToggleControl, { options }))))));
1142
1325
  };
1143
1326
 
1144
1327
  // src/components/style-sections/layout-section/align-self-child-field.tsx
1145
- import * as React29 from "react";
1328
+ import * as React30 from "react";
1146
1329
  import { ControlLabel as ControlLabel6, ToggleControl as ToggleControl2 } from "@elementor/editor-controls";
1147
1330
  import {
1148
1331
  LayoutAlignCenterIcon as CenterIcon2,
@@ -1162,35 +1345,35 @@ var options2 = [
1162
1345
  {
1163
1346
  value: "start",
1164
1347
  label: __10("Start", "elementor"),
1165
- renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
1348
+ renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
1166
1349
  showTooltip: true
1167
1350
  },
1168
1351
  {
1169
1352
  value: "center",
1170
1353
  label: __10("Center", "elementor"),
1171
- renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: CenterIcon2, size, ...iconProps2 }),
1354
+ renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: CenterIcon2, size, ...iconProps2 }),
1172
1355
  showTooltip: true
1173
1356
  },
1174
1357
  {
1175
1358
  value: "end",
1176
1359
  label: __10("End", "elementor"),
1177
- renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
1360
+ renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
1178
1361
  showTooltip: true
1179
1362
  },
1180
1363
  {
1181
1364
  value: "stretch",
1182
1365
  label: __10("Stretch", "elementor"),
1183
- renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: JustifyIcon2, size, ...iconProps2 }),
1366
+ renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: JustifyIcon2, size, ...iconProps2 }),
1184
1367
  showTooltip: true
1185
1368
  }
1186
1369
  ];
1187
1370
  var AlignSelfChild = () => {
1188
1371
  const { isSiteRtl } = useDirection();
1189
- return /* @__PURE__ */ React29.createElement(DirectionProvider2, { rtl: isSiteRtl }, /* @__PURE__ */ React29.createElement(ThemeProvider2, null, /* @__PURE__ */ React29.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React29.createElement(Grid4, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React29.createElement(Grid4, { item: true, xs: 6 }, /* @__PURE__ */ React29.createElement(ControlLabel6, null, __10("Align self", "elementor"))), /* @__PURE__ */ React29.createElement(Grid4, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React29.createElement(ToggleControl2, { options: options2 }))))));
1372
+ return /* @__PURE__ */ React30.createElement(DirectionProvider2, { rtl: isSiteRtl }, /* @__PURE__ */ React30.createElement(ThemeProvider2, null, /* @__PURE__ */ React30.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React30.createElement(Grid4, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React30.createElement(Grid4, { item: true, xs: 6 }, /* @__PURE__ */ React30.createElement(ControlLabel6, null, __10("Align self", "elementor"))), /* @__PURE__ */ React30.createElement(Grid4, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React30.createElement(ToggleControl2, { options: options2 }))))));
1190
1373
  };
1191
1374
 
1192
1375
  // src/components/style-sections/layout-section/display-field.tsx
1193
- import * as React30 from "react";
1376
+ import * as React31 from "react";
1194
1377
  import { ControlLabel as ControlLabel7, ToggleControl as ToggleControl3 } from "@elementor/editor-controls";
1195
1378
  import { Stack as Stack7 } from "@elementor/ui";
1196
1379
  import { __ as __11 } from "@wordpress/i18n";
@@ -1207,11 +1390,11 @@ var DisplayField = () => {
1207
1390
  label: __11("Flex", "elementor")
1208
1391
  }
1209
1392
  ];
1210
- return /* @__PURE__ */ React30.createElement(StylesField, { bind: "display" }, /* @__PURE__ */ React30.createElement(Stack7, { gap: 1 }, /* @__PURE__ */ React30.createElement(ControlLabel7, null, __11("Display", "elementor")), /* @__PURE__ */ React30.createElement(ToggleControl3, { options: options10, fullWidth: true })));
1393
+ return /* @__PURE__ */ React31.createElement(StylesField, { bind: "display" }, /* @__PURE__ */ React31.createElement(Stack7, { gap: 1 }, /* @__PURE__ */ React31.createElement(ControlLabel7, null, __11("Display", "elementor")), /* @__PURE__ */ React31.createElement(ToggleControl3, { options: options10, fullWidth: true })));
1211
1394
  };
1212
1395
 
1213
1396
  // src/components/style-sections/layout-section/flex-direction-field.tsx
1214
- import * as React31 from "react";
1397
+ import * as React32 from "react";
1215
1398
  import { ControlLabel as ControlLabel8, ToggleControl as ToggleControl4 } from "@elementor/editor-controls";
1216
1399
  import { ArrowDownSmallIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpSmallIcon } from "@elementor/icons";
1217
1400
  import { DirectionProvider as DirectionProvider3, Grid as Grid5, ThemeProvider as ThemeProvider3, withDirection as withDirection3 } from "@elementor/ui";
@@ -1222,14 +1405,14 @@ var options3 = [
1222
1405
  label: __12("Row", "elementor"),
1223
1406
  renderContent: ({ size }) => {
1224
1407
  const StartIcon4 = withDirection3(ArrowRightIcon);
1225
- return /* @__PURE__ */ React31.createElement(StartIcon4, { fontSize: size });
1408
+ return /* @__PURE__ */ React32.createElement(StartIcon4, { fontSize: size });
1226
1409
  },
1227
1410
  showTooltip: true
1228
1411
  },
1229
1412
  {
1230
1413
  value: "column",
1231
1414
  label: __12("Column", "elementor"),
1232
- renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(ArrowDownSmallIcon, { fontSize: size }),
1415
+ renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(ArrowDownSmallIcon, { fontSize: size }),
1233
1416
  showTooltip: true
1234
1417
  },
1235
1418
  {
@@ -1237,25 +1420,25 @@ var options3 = [
1237
1420
  label: __12("Reversed row", "elementor"),
1238
1421
  renderContent: ({ size }) => {
1239
1422
  const EndIcon4 = withDirection3(ArrowLeftIcon);
1240
- return /* @__PURE__ */ React31.createElement(EndIcon4, { fontSize: size });
1423
+ return /* @__PURE__ */ React32.createElement(EndIcon4, { fontSize: size });
1241
1424
  },
1242
1425
  showTooltip: true
1243
1426
  },
1244
1427
  {
1245
1428
  value: "column-reverse",
1246
1429
  label: __12("Reversed column", "elementor"),
1247
- renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(ArrowUpSmallIcon, { fontSize: size }),
1430
+ renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(ArrowUpSmallIcon, { fontSize: size }),
1248
1431
  showTooltip: true
1249
1432
  }
1250
1433
  ];
1251
1434
  var FlexDirectionField = () => {
1252
1435
  const { isSiteRtl } = useDirection();
1253
- return /* @__PURE__ */ React31.createElement(DirectionProvider3, { rtl: isSiteRtl }, /* @__PURE__ */ React31.createElement(ThemeProvider3, null, /* @__PURE__ */ React31.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React31.createElement(Grid5, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React31.createElement(Grid5, { item: true, xs: 6 }, /* @__PURE__ */ React31.createElement(ControlLabel8, null, __12("Direction", "elementor"))), /* @__PURE__ */ React31.createElement(Grid5, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React31.createElement(ToggleControl4, { options: options3 }))))));
1436
+ return /* @__PURE__ */ React32.createElement(DirectionProvider3, { rtl: isSiteRtl }, /* @__PURE__ */ React32.createElement(ThemeProvider3, null, /* @__PURE__ */ React32.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React32.createElement(Grid5, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(Grid5, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(ControlLabel8, null, __12("Direction", "elementor"))), /* @__PURE__ */ React32.createElement(Grid5, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(ToggleControl4, { options: options3 }))))));
1254
1437
  };
1255
1438
 
1256
1439
  // src/components/style-sections/layout-section/flex-order-field.tsx
1257
- import * as React32 from "react";
1258
- import { useState as useState4 } from "react";
1440
+ import * as React33 from "react";
1441
+ import { useState as useState5 } from "react";
1259
1442
  import {
1260
1443
  ControlLabel as ControlLabel9,
1261
1444
  ControlToggleButtonGroup,
@@ -1277,25 +1460,25 @@ var items = [
1277
1460
  {
1278
1461
  value: FIRST,
1279
1462
  label: __13("First", "elementor"),
1280
- renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(ArrowUpSmallIcon2, { fontSize: size }),
1463
+ renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(ArrowUpSmallIcon2, { fontSize: size }),
1281
1464
  showTooltip: true
1282
1465
  },
1283
1466
  {
1284
1467
  value: LAST,
1285
1468
  label: __13("Last", "elementor"),
1286
- renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(ArrowDownSmallIcon2, { fontSize: size }),
1469
+ renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(ArrowDownSmallIcon2, { fontSize: size }),
1287
1470
  showTooltip: true
1288
1471
  },
1289
1472
  {
1290
1473
  value: CUSTOM,
1291
1474
  label: __13("Custom", "elementor"),
1292
- renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(PencilIcon, { fontSize: size }),
1475
+ renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(PencilIcon, { fontSize: size }),
1293
1476
  showTooltip: true
1294
1477
  }
1295
1478
  ];
1296
1479
  var FlexOrderField = () => {
1297
1480
  const { isSiteRtl } = useDirection(), [order, setOrder] = useStylesField("order");
1298
- const [groupControlValue, setGroupControlValue] = useState4(getGroupControlValue(order?.value || null));
1481
+ const [groupControlValue, setGroupControlValue] = useState5(getGroupControlValue(order?.value || null));
1299
1482
  const handleToggleButtonChange = (group) => {
1300
1483
  setGroupControlValue(group);
1301
1484
  if (!group || group === CUSTOM) {
@@ -1304,7 +1487,7 @@ var FlexOrderField = () => {
1304
1487
  }
1305
1488
  setOrder({ $$type: "number", value: orderValueMap[group] });
1306
1489
  };
1307
- return /* @__PURE__ */ React32.createElement(DirectionProvider4, { rtl: isSiteRtl }, /* @__PURE__ */ React32.createElement(ThemeProvider4, null, /* @__PURE__ */ React32.createElement(Stack8, { gap: 2 }, /* @__PURE__ */ React32.createElement(Grid6, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(Grid6, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(ControlLabel9, null, __13("Order", "elementor"))), /* @__PURE__ */ React32.createElement(Grid6, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(
1490
+ return /* @__PURE__ */ React33.createElement(DirectionProvider4, { rtl: isSiteRtl }, /* @__PURE__ */ React33.createElement(ThemeProvider4, null, /* @__PURE__ */ React33.createElement(Stack8, { gap: 2 }, /* @__PURE__ */ React33.createElement(Grid6, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(Grid6, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(ControlLabel9, null, __13("Order", "elementor"))), /* @__PURE__ */ React33.createElement(Grid6, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(
1308
1491
  ControlToggleButtonGroup,
1309
1492
  {
1310
1493
  items,
@@ -1312,7 +1495,7 @@ var FlexOrderField = () => {
1312
1495
  onChange: handleToggleButtonChange,
1313
1496
  exclusive: true
1314
1497
  }
1315
- ))), CUSTOM === groupControlValue && /* @__PURE__ */ React32.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React32.createElement(Grid6, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(Grid6, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(ControlLabel9, null, __13("Custom order", "elementor"))), /* @__PURE__ */ React32.createElement(Grid6, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(
1498
+ ))), CUSTOM === groupControlValue && /* @__PURE__ */ React33.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React33.createElement(Grid6, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(Grid6, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(ControlLabel9, null, __13("Custom order", "elementor"))), /* @__PURE__ */ React33.createElement(Grid6, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(
1316
1499
  NumberControl,
1317
1500
  {
1318
1501
  min: FIRST_DEFAULT_VALUE + 1,
@@ -1332,7 +1515,7 @@ var getGroupControlValue = (order) => {
1332
1515
  };
1333
1516
 
1334
1517
  // src/components/style-sections/layout-section/flex-size-field.tsx
1335
- import * as React33 from "react";
1518
+ import * as React34 from "react";
1336
1519
  import {
1337
1520
  ControlLabel as ControlLabel10,
1338
1521
  ControlToggleButtonGroup as ControlToggleButtonGroup2,
@@ -1347,26 +1530,26 @@ var items2 = [
1347
1530
  {
1348
1531
  value: "flex-grow",
1349
1532
  label: __14("Grow", "elementor"),
1350
- renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(ExpandIcon, { fontSize: size }),
1533
+ renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(ExpandIcon, { fontSize: size }),
1351
1534
  showTooltip: true
1352
1535
  },
1353
1536
  {
1354
1537
  value: "flex-shrink",
1355
1538
  label: __14("Shrink", "elementor"),
1356
- renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(ShrinkIcon, { fontSize: size }),
1539
+ renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(ShrinkIcon, { fontSize: size }),
1357
1540
  showTooltip: true
1358
1541
  },
1359
1542
  {
1360
1543
  value: "custom",
1361
1544
  label: __14("Custom", "elementor"),
1362
- renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(PencilIcon2, { fontSize: size }),
1545
+ renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(PencilIcon2, { fontSize: size }),
1363
1546
  showTooltip: true
1364
1547
  }
1365
1548
  ];
1366
1549
  var FlexSizeField = () => {
1367
1550
  const { isSiteRtl } = useDirection(), [growField, setGrowField] = useStylesField("flex-grow"), [shrinkField, setShrinkField] = useStylesField("flex-shrink"), [basisField, setBasisField] = useStylesField("flex-basis");
1368
1551
  const grow = growField?.value || null, shrink = shrinkField?.value || null, basis = basisField?.value || null;
1369
- const currentGroup = React33.useMemo(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = React33.useState(currentGroup);
1552
+ const currentGroup = React34.useMemo(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = React34.useState(currentGroup);
1370
1553
  const onChangeGroup = (group = null) => {
1371
1554
  setActiveGroup(group);
1372
1555
  setBasisField(null);
@@ -1383,7 +1566,7 @@ var FlexSizeField = () => {
1383
1566
  setGrowField(null);
1384
1567
  setShrinkField({ $$type: "number", value: DEFAULT });
1385
1568
  };
1386
- return /* @__PURE__ */ React33.createElement(DirectionProvider5, { rtl: isSiteRtl }, /* @__PURE__ */ React33.createElement(ThemeProvider5, null, /* @__PURE__ */ React33.createElement(Stack9, { gap: 2 }, /* @__PURE__ */ React33.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(ControlLabel10, null, __14("Size", "elementor"))), /* @__PURE__ */ React33.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(
1569
+ return /* @__PURE__ */ React34.createElement(DirectionProvider5, { rtl: isSiteRtl }, /* @__PURE__ */ React34.createElement(ThemeProvider5, null, /* @__PURE__ */ React34.createElement(Stack9, { gap: 2 }, /* @__PURE__ */ React34.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(ControlLabel10, null, __14("Size", "elementor"))), /* @__PURE__ */ React34.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React34.createElement(
1387
1570
  ControlToggleButtonGroup2,
1388
1571
  {
1389
1572
  value: activeGroup,
@@ -1391,9 +1574,9 @@ var FlexSizeField = () => {
1391
1574
  items: items2,
1392
1575
  exclusive: true
1393
1576
  }
1394
- ))), "custom" === activeGroup && /* @__PURE__ */ React33.createElement(FlexCustomField, null))));
1577
+ ))), "custom" === activeGroup && /* @__PURE__ */ React34.createElement(FlexCustomField, null))));
1395
1578
  };
1396
- var FlexCustomField = () => /* @__PURE__ */ React33.createElement(React33.Fragment, null, /* @__PURE__ */ React33.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React33.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(ControlLabel10, null, __14("Grow", "elementor"))), /* @__PURE__ */ React33.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React33.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React33.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(ControlLabel10, null, __14("Shrink", "elementor"))), /* @__PURE__ */ React33.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React33.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React33.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(ControlLabel10, null, __14("Basis", "elementor"))), /* @__PURE__ */ React33.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(SizeControl2, null)))));
1579
+ var FlexCustomField = () => /* @__PURE__ */ React34.createElement(React34.Fragment, null, /* @__PURE__ */ React34.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React34.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(ControlLabel10, null, __14("Grow", "elementor"))), /* @__PURE__ */ React34.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React34.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React34.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React34.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(ControlLabel10, null, __14("Shrink", "elementor"))), /* @__PURE__ */ React34.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React34.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React34.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React34.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(ControlLabel10, null, __14("Basis", "elementor"))), /* @__PURE__ */ React34.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React34.createElement(SizeControl2, null)))));
1397
1580
  var getActiveGroup = ({
1398
1581
  grow,
1399
1582
  shrink,
@@ -1415,16 +1598,16 @@ var getActiveGroup = ({
1415
1598
  };
1416
1599
 
1417
1600
  // src/components/style-sections/layout-section/gap-control-field.tsx
1418
- import * as React34 from "react";
1601
+ import * as React35 from "react";
1419
1602
  import { GapControl } from "@elementor/editor-controls";
1420
1603
  import { Stack as Stack10 } from "@elementor/ui";
1421
1604
  import { __ as __15 } from "@wordpress/i18n";
1422
1605
  var GapControlField = () => {
1423
- return /* @__PURE__ */ React34.createElement(Stack10, { gap: 1 }, /* @__PURE__ */ React34.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React34.createElement(GapControl, { label: __15("Gaps", "elementor") })));
1606
+ return /* @__PURE__ */ React35.createElement(Stack10, { gap: 1 }, /* @__PURE__ */ React35.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React35.createElement(GapControl, { label: __15("Gaps", "elementor") })));
1424
1607
  };
1425
1608
 
1426
1609
  // src/components/style-sections/layout-section/justify-content-field.tsx
1427
- import * as React35 from "react";
1610
+ import * as React36 from "react";
1428
1611
  import { ControlLabel as ControlLabel11, ToggleControl as ToggleControl5 } from "@elementor/editor-controls";
1429
1612
  import {
1430
1613
  JustifyBottomIcon,
@@ -1446,47 +1629,47 @@ var options4 = [
1446
1629
  {
1447
1630
  value: "start",
1448
1631
  label: __16("Start", "elementor"),
1449
- renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: StartIcon3, size, ...iconProps3 }),
1632
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: StartIcon3, size, ...iconProps3 }),
1450
1633
  showTooltip: true
1451
1634
  },
1452
1635
  {
1453
1636
  value: "center",
1454
1637
  label: __16("Center", "elementor"),
1455
- renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: CenterIcon3, size, ...iconProps3 }),
1638
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: CenterIcon3, size, ...iconProps3 }),
1456
1639
  showTooltip: true
1457
1640
  },
1458
1641
  {
1459
1642
  value: "end",
1460
1643
  label: __16("End", "elementor"),
1461
- renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: EndIcon3, size, ...iconProps3 }),
1644
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: EndIcon3, size, ...iconProps3 }),
1462
1645
  showTooltip: true
1463
1646
  },
1464
1647
  {
1465
1648
  value: "space-between",
1466
1649
  label: __16("Space between", "elementor"),
1467
- renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: BetweenIcon, size, ...iconProps3 }),
1650
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: BetweenIcon, size, ...iconProps3 }),
1468
1651
  showTooltip: true
1469
1652
  },
1470
1653
  {
1471
1654
  value: "space-around",
1472
1655
  label: __16("Space around", "elementor"),
1473
- renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: AroundIcon, size, ...iconProps3 }),
1656
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: AroundIcon, size, ...iconProps3 }),
1474
1657
  showTooltip: true
1475
1658
  },
1476
1659
  {
1477
1660
  value: "space-evenly",
1478
1661
  label: __16("Space evenly", "elementor"),
1479
- renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: EvenlyIcon, size, ...iconProps3 }),
1662
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: EvenlyIcon, size, ...iconProps3 }),
1480
1663
  showTooltip: true
1481
1664
  }
1482
1665
  ];
1483
1666
  var JustifyContentField = () => {
1484
1667
  const { isSiteRtl } = useDirection();
1485
- return /* @__PURE__ */ React35.createElement(DirectionProvider6, { rtl: isSiteRtl }, /* @__PURE__ */ React35.createElement(ThemeProvider6, null, /* @__PURE__ */ React35.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React35.createElement(Stack11, { gap: 1 }, /* @__PURE__ */ React35.createElement(ControlLabel11, null, __16("Justify content", "elementor")), /* @__PURE__ */ React35.createElement(ToggleControl5, { options: options4, fullWidth: true })))));
1668
+ return /* @__PURE__ */ React36.createElement(DirectionProvider6, { rtl: isSiteRtl }, /* @__PURE__ */ React36.createElement(ThemeProvider6, null, /* @__PURE__ */ React36.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React36.createElement(Stack11, { gap: 1 }, /* @__PURE__ */ React36.createElement(ControlLabel11, null, __16("Justify content", "elementor")), /* @__PURE__ */ React36.createElement(ToggleControl5, { options: options4, fullWidth: true })))));
1486
1669
  };
1487
1670
 
1488
1671
  // src/components/style-sections/layout-section/wrap-field.tsx
1489
- import * as React36 from "react";
1672
+ import * as React37 from "react";
1490
1673
  import { ControlLabel as ControlLabel12, ToggleControl as ToggleControl6 } from "@elementor/editor-controls";
1491
1674
  import { ArrowBackIcon, ArrowForwardIcon, ArrowRightIcon as ArrowRightIcon2 } from "@elementor/icons";
1492
1675
  import { DirectionProvider as DirectionProvider7, Grid as Grid8, ThemeProvider as ThemeProvider7 } from "@elementor/ui";
@@ -1495,25 +1678,25 @@ var options5 = [
1495
1678
  {
1496
1679
  value: "nowrap",
1497
1680
  label: __17("No wrap", "elementor"),
1498
- renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(ArrowRightIcon2, { fontSize: size }),
1681
+ renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(ArrowRightIcon2, { fontSize: size }),
1499
1682
  showTooltip: true
1500
1683
  },
1501
1684
  {
1502
1685
  value: "wrap",
1503
1686
  label: __17("Wrap", "elementor"),
1504
- renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(ArrowBackIcon, { fontSize: size }),
1687
+ renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(ArrowBackIcon, { fontSize: size }),
1505
1688
  showTooltip: true
1506
1689
  },
1507
1690
  {
1508
1691
  value: "wrap-reverse",
1509
1692
  label: __17("Reversed wrap", "elementor"),
1510
- renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(ArrowForwardIcon, { fontSize: size }),
1693
+ renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(ArrowForwardIcon, { fontSize: size }),
1511
1694
  showTooltip: true
1512
1695
  }
1513
1696
  ];
1514
1697
  var WrapField = () => {
1515
1698
  const { isSiteRtl } = useDirection();
1516
- return /* @__PURE__ */ React36.createElement(DirectionProvider7, { rtl: isSiteRtl }, /* @__PURE__ */ React36.createElement(ThemeProvider7, null, /* @__PURE__ */ React36.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React36.createElement(Grid8, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React36.createElement(Grid8, { item: true, xs: 6 }, /* @__PURE__ */ React36.createElement(ControlLabel12, null, __17("Wrap", "elementor"))), /* @__PURE__ */ React36.createElement(Grid8, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React36.createElement(ToggleControl6, { options: options5 }))))));
1699
+ return /* @__PURE__ */ React37.createElement(DirectionProvider7, { rtl: isSiteRtl }, /* @__PURE__ */ React37.createElement(ThemeProvider7, null, /* @__PURE__ */ React37.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React37.createElement(Grid8, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React37.createElement(Grid8, { item: true, xs: 6 }, /* @__PURE__ */ React37.createElement(ControlLabel12, null, __17("Wrap", "elementor"))), /* @__PURE__ */ React37.createElement(Grid8, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React37.createElement(ToggleControl6, { options: options5 }))))));
1517
1700
  };
1518
1701
 
1519
1702
  // src/components/style-sections/layout-section/layout-section.tsx
@@ -1522,22 +1705,22 @@ var LayoutSection = () => {
1522
1705
  const { element } = useElement();
1523
1706
  const parent = useParentElement(element.id);
1524
1707
  const parentStyle = useComputedStyle(parent?.id || null);
1525
- return /* @__PURE__ */ React37.createElement(Stack12, { gap: 2 }, /* @__PURE__ */ React37.createElement(DisplayField, null), "flex" === display?.value && /* @__PURE__ */ React37.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React37.createElement(FlexChildFields, null));
1708
+ return /* @__PURE__ */ React38.createElement(Stack12, { gap: 2 }, /* @__PURE__ */ React38.createElement(DisplayField, null), "flex" === display?.value && /* @__PURE__ */ React38.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React38.createElement(FlexChildFields, null));
1526
1709
  };
1527
- 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(Divider3, null), /* @__PURE__ */ React37.createElement(GapControlField, null), /* @__PURE__ */ React37.createElement(WrapField, null));
1528
- var FlexChildFields = () => /* @__PURE__ */ React37.createElement(React37.Fragment, null, /* @__PURE__ */ React37.createElement(Divider3, null), /* @__PURE__ */ React37.createElement(ControlLabel13, null, __18("Flex child", "elementor")), /* @__PURE__ */ React37.createElement(AlignSelfChild, null), /* @__PURE__ */ React37.createElement(FlexOrderField, null), /* @__PURE__ */ React37.createElement(FlexSizeField, null));
1710
+ 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(Divider3, null), /* @__PURE__ */ React38.createElement(GapControlField, null), /* @__PURE__ */ React38.createElement(WrapField, null));
1711
+ var FlexChildFields = () => /* @__PURE__ */ React38.createElement(React38.Fragment, null, /* @__PURE__ */ React38.createElement(Divider3, null), /* @__PURE__ */ React38.createElement(ControlLabel13, null, __18("Flex child", "elementor")), /* @__PURE__ */ React38.createElement(AlignSelfChild, null), /* @__PURE__ */ React38.createElement(FlexOrderField, null), /* @__PURE__ */ React38.createElement(FlexSizeField, null));
1529
1712
 
1530
1713
  // src/components/style-sections/position-section/position-section.tsx
1531
- import * as React41 from "react";
1714
+ import * as React42 from "react";
1532
1715
  import { Stack as Stack14 } from "@elementor/ui";
1533
1716
 
1534
1717
  // src/hooks/use-session-storage.ts
1535
- import { useEffect as useEffect2, useState as useState6 } from "react";
1718
+ import { useEffect as useEffect3, useState as useState7 } from "react";
1536
1719
  import { getSessionStorageItem, removeSessionStorageItem, setSessionStorageItem } from "@elementor/utils";
1537
1720
  var useSessionStorage = (key) => {
1538
1721
  const prefixedKey = `elementor/${key}`;
1539
- const [value, setValue] = useState6();
1540
- useEffect2(() => {
1722
+ const [value, setValue] = useState7();
1723
+ useEffect3(() => {
1541
1724
  return subscribeToSessionStorage(prefixedKey, (newValue) => {
1542
1725
  setValue(newValue ?? null);
1543
1726
  });
@@ -1569,26 +1752,26 @@ var subscribeToSessionStorage = (key, subscriber) => {
1569
1752
  };
1570
1753
 
1571
1754
  // src/components/style-sections/position-section/dimensions-field.tsx
1572
- import * as React38 from "react";
1755
+ import * as React39 from "react";
1573
1756
  import { ControlLabel as ControlLabel14, SizeControl as SizeControl3 } from "@elementor/editor-controls";
1574
1757
  import { SideBottomIcon as SideBottomIcon2, SideLeftIcon as SideLeftIcon2, SideRightIcon as SideRightIcon2, SideTopIcon as SideTopIcon2 } from "@elementor/icons";
1575
1758
  import { Grid as Grid9, Stack as Stack13 } from "@elementor/ui";
1576
1759
  import { __ as __19 } from "@wordpress/i18n";
1577
1760
  var sideIcons = {
1578
- left: /* @__PURE__ */ React38.createElement(SideLeftIcon2, { fontSize: "tiny" }),
1579
- right: /* @__PURE__ */ React38.createElement(SideRightIcon2, { fontSize: "tiny" }),
1580
- top: /* @__PURE__ */ React38.createElement(SideTopIcon2, { fontSize: "tiny" }),
1581
- bottom: /* @__PURE__ */ React38.createElement(SideBottomIcon2, { fontSize: "tiny" })
1761
+ left: /* @__PURE__ */ React39.createElement(SideLeftIcon2, { fontSize: "tiny" }),
1762
+ right: /* @__PURE__ */ React39.createElement(SideRightIcon2, { fontSize: "tiny" }),
1763
+ top: /* @__PURE__ */ React39.createElement(SideTopIcon2, { fontSize: "tiny" }),
1764
+ bottom: /* @__PURE__ */ React39.createElement(SideBottomIcon2, { fontSize: "tiny" })
1582
1765
  };
1583
1766
  var DimensionsField = () => {
1584
- return /* @__PURE__ */ React38.createElement(React38.Fragment, null, /* @__PURE__ */ React38.createElement(Stack13, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React38.createElement(DimensionField, { side: "top", label: __19("Top", "elementor") }), /* @__PURE__ */ React38.createElement(DimensionField, { side: "right", label: __19("Right", "elementor") })), /* @__PURE__ */ React38.createElement(Stack13, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React38.createElement(DimensionField, { side: "bottom", label: __19("Bottom", "elementor") }), /* @__PURE__ */ React38.createElement(DimensionField, { side: "left", label: __19("Left", "elementor") })));
1767
+ return /* @__PURE__ */ React39.createElement(React39.Fragment, null, /* @__PURE__ */ React39.createElement(Stack13, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React39.createElement(DimensionField, { side: "top", label: __19("Top", "elementor") }), /* @__PURE__ */ React39.createElement(DimensionField, { side: "right", label: __19("Right", "elementor") })), /* @__PURE__ */ React39.createElement(Stack13, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React39.createElement(DimensionField, { side: "bottom", label: __19("Bottom", "elementor") }), /* @__PURE__ */ React39.createElement(DimensionField, { side: "left", label: __19("Left", "elementor") })));
1585
1768
  };
1586
1769
  var DimensionField = ({ side, label }) => {
1587
- return /* @__PURE__ */ React38.createElement(Grid9, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React38.createElement(Grid9, { item: true, xs: 12 }, /* @__PURE__ */ React38.createElement(ControlLabel14, null, label)), /* @__PURE__ */ React38.createElement(Grid9, { item: true, xs: 12 }, /* @__PURE__ */ React38.createElement(StylesField, { bind: side }, /* @__PURE__ */ React38.createElement(SizeControl3, { startIcon: sideIcons[side] }))));
1770
+ return /* @__PURE__ */ React39.createElement(Grid9, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React39.createElement(Grid9, { item: true, xs: 12 }, /* @__PURE__ */ React39.createElement(ControlLabel14, null, label)), /* @__PURE__ */ React39.createElement(Grid9, { item: true, xs: 12 }, /* @__PURE__ */ React39.createElement(StylesField, { bind: side }, /* @__PURE__ */ React39.createElement(SizeControl3, { startIcon: sideIcons[side] }))));
1588
1771
  };
1589
1772
 
1590
1773
  // src/components/style-sections/position-section/position-field.tsx
1591
- import * as React39 from "react";
1774
+ import * as React40 from "react";
1592
1775
  import { ControlLabel as ControlLabel15, SelectControl as SelectControl3 } from "@elementor/editor-controls";
1593
1776
  import { Grid as Grid10 } from "@elementor/ui";
1594
1777
  import { __ as __20 } from "@wordpress/i18n";
@@ -1600,16 +1783,16 @@ var positionOptions = [
1600
1783
  { label: __20("Sticky", "elementor"), value: "sticky" }
1601
1784
  ];
1602
1785
  var PositionField = ({ onChange }) => {
1603
- return /* @__PURE__ */ React39.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React39.createElement(Grid10, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React39.createElement(Grid10, { item: true, xs: 6 }, /* @__PURE__ */ React39.createElement(ControlLabel15, null, __20("Position", "elementor"))), /* @__PURE__ */ React39.createElement(Grid10, { item: true, xs: 6 }, /* @__PURE__ */ React39.createElement(SelectControl3, { options: positionOptions, onChange }))));
1786
+ return /* @__PURE__ */ React40.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React40.createElement(Grid10, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(Grid10, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(ControlLabel15, null, __20("Position", "elementor"))), /* @__PURE__ */ React40.createElement(Grid10, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(SelectControl3, { options: positionOptions, onChange }))));
1604
1787
  };
1605
1788
 
1606
1789
  // src/components/style-sections/position-section/z-index-field.tsx
1607
- import * as React40 from "react";
1790
+ import * as React41 from "react";
1608
1791
  import { ControlLabel as ControlLabel16, NumberControl as NumberControl3 } from "@elementor/editor-controls";
1609
1792
  import { Grid as Grid11 } from "@elementor/ui";
1610
1793
  import { __ as __21 } from "@wordpress/i18n";
1611
1794
  var ZIndexField = () => {
1612
- return /* @__PURE__ */ React40.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React40.createElement(Grid11, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(ControlLabel16, null, __21("Z-Index", "elementor"))), /* @__PURE__ */ React40.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(NumberControl3, null))));
1795
+ return /* @__PURE__ */ React41.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React41.createElement(Grid11, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(ControlLabel16, null, __21("Z-Index", "elementor"))), /* @__PURE__ */ React41.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(NumberControl3, null))));
1613
1796
  };
1614
1797
 
1615
1798
  // src/components/style-sections/position-section/position-section.tsx
@@ -1641,7 +1824,7 @@ var PositionSection = () => {
1641
1824
  }
1642
1825
  };
1643
1826
  const isNotStatic = positionValue && positionValue?.value !== "static";
1644
- return /* @__PURE__ */ React41.createElement(Stack14, { 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);
1827
+ return /* @__PURE__ */ React42.createElement(Stack14, { 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);
1645
1828
  };
1646
1829
  var usePersistDimensions = () => {
1647
1830
  const { id: styleDefID, meta } = useStyle();
@@ -1651,13 +1834,13 @@ var usePersistDimensions = () => {
1651
1834
  };
1652
1835
 
1653
1836
  // src/components/style-sections/size-section/size-section.tsx
1654
- import * as React43 from "react";
1837
+ import * as React44 from "react";
1655
1838
  import { ControlLabel as ControlLabel18, SizeControl as SizeControl4 } from "@elementor/editor-controls";
1656
1839
  import { Divider as Divider4, Grid as Grid13, Stack as Stack15 } from "@elementor/ui";
1657
1840
  import { __ as __23 } from "@wordpress/i18n";
1658
1841
 
1659
1842
  // src/components/style-sections/size-section/overflow-field.tsx
1660
- import * as React42 from "react";
1843
+ import * as React43 from "react";
1661
1844
  import { ControlLabel as ControlLabel17, ToggleControl as ToggleControl7 } from "@elementor/editor-controls";
1662
1845
  import { ExpandBottomIcon, EyeIcon, EyeOffIcon } from "@elementor/icons";
1663
1846
  import { Grid as Grid12 } from "@elementor/ui";
@@ -1666,58 +1849,58 @@ var options6 = [
1666
1849
  {
1667
1850
  value: "visible",
1668
1851
  label: __22("Visible", "elementor"),
1669
- renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(EyeIcon, { fontSize: size }),
1852
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(EyeIcon, { fontSize: size }),
1670
1853
  showTooltip: true
1671
1854
  },
1672
1855
  {
1673
1856
  value: "hidden",
1674
1857
  label: __22("Hidden", "elementor"),
1675
- renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(EyeOffIcon, { fontSize: size }),
1858
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(EyeOffIcon, { fontSize: size }),
1676
1859
  showTooltip: true
1677
1860
  },
1678
1861
  {
1679
1862
  value: "auto",
1680
1863
  label: __22("Auto", "elementor"),
1681
- renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(ExpandBottomIcon, { fontSize: size }),
1864
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(ExpandBottomIcon, { fontSize: size }),
1682
1865
  showTooltip: true
1683
1866
  }
1684
1867
  ];
1685
1868
  var OverflowField = () => {
1686
- return /* @__PURE__ */ React42.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React42.createElement(Grid12, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React42.createElement(Grid12, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(ControlLabel17, null, __22("Overflow", "elementor"))), /* @__PURE__ */ React42.createElement(Grid12, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React42.createElement(ToggleControl7, { options: options6 }))));
1869
+ return /* @__PURE__ */ React43.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React43.createElement(Grid12, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(Grid12, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(ControlLabel17, null, __22("Overflow", "elementor"))), /* @__PURE__ */ React43.createElement(Grid12, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React43.createElement(ToggleControl7, { options: options6 }))));
1687
1870
  };
1688
1871
 
1689
1872
  // src/components/style-sections/size-section/size-section.tsx
1690
1873
  var SizeSection = () => {
1691
- return /* @__PURE__ */ React43.createElement(Stack15, { gap: 1.5 }, /* @__PURE__ */ React43.createElement(Grid13, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "width", label: __23("Width", "elementor") })), /* @__PURE__ */ React43.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "height", label: __23("Height", "elementor") }))), /* @__PURE__ */ React43.createElement(Grid13, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "min-width", label: __23("Min. Width", "elementor") })), /* @__PURE__ */ React43.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "min-height", label: __23("Min. Height", "elementor") }))), /* @__PURE__ */ React43.createElement(Grid13, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "max-width", label: __23("Max. Width", "elementor") })), /* @__PURE__ */ React43.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "max-height", label: __23("Max. Height", "elementor") }))), /* @__PURE__ */ React43.createElement(Divider4, null), /* @__PURE__ */ React43.createElement(Stack15, null, /* @__PURE__ */ React43.createElement(OverflowField, null)));
1874
+ return /* @__PURE__ */ React44.createElement(Stack15, { gap: 1.5 }, /* @__PURE__ */ React44.createElement(Grid13, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "width", label: __23("Width", "elementor") })), /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "height", label: __23("Height", "elementor") }))), /* @__PURE__ */ React44.createElement(Grid13, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "min-width", label: __23("Min. Width", "elementor") })), /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "min-height", label: __23("Min. Height", "elementor") }))), /* @__PURE__ */ React44.createElement(Grid13, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "max-width", label: __23("Max. Width", "elementor") })), /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "max-height", label: __23("Max. Height", "elementor") }))), /* @__PURE__ */ React44.createElement(Divider4, null), /* @__PURE__ */ React44.createElement(Stack15, null, /* @__PURE__ */ React44.createElement(OverflowField, null)));
1692
1875
  };
1693
1876
  var SizeField = ({ label, bind }) => {
1694
- return /* @__PURE__ */ React43.createElement(StylesField, { bind }, /* @__PURE__ */ React43.createElement(Grid13, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React43.createElement(Grid13, { item: true, xs: 12 }, /* @__PURE__ */ React43.createElement(ControlLabel18, null, label)), /* @__PURE__ */ React43.createElement(Grid13, { item: true, xs: 12 }, /* @__PURE__ */ React43.createElement(SizeControl4, null))));
1877
+ return /* @__PURE__ */ React44.createElement(StylesField, { bind }, /* @__PURE__ */ React44.createElement(Grid13, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 12 }, /* @__PURE__ */ React44.createElement(ControlLabel18, null, label)), /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 12 }, /* @__PURE__ */ React44.createElement(SizeControl4, null))));
1695
1878
  };
1696
1879
 
1697
1880
  // src/components/style-sections/spacing-section/spacing-section.tsx
1698
- import * as React44 from "react";
1881
+ import * as React45 from "react";
1699
1882
  import { LinkedDimensionsControl } from "@elementor/editor-controls";
1700
1883
  import { Divider as Divider5, Stack as Stack16 } from "@elementor/ui";
1701
1884
  import { __ as __24 } from "@wordpress/i18n";
1702
1885
  var SpacingSection = () => {
1703
- return /* @__PURE__ */ React44.createElement(Stack16, { gap: 1.5 }, /* @__PURE__ */ React44.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React44.createElement(LinkedDimensionsControl, { label: __24("Padding", "elementor") })), /* @__PURE__ */ React44.createElement(Divider5, null), /* @__PURE__ */ React44.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React44.createElement(LinkedDimensionsControl, { label: __24("Margin", "elementor") })));
1886
+ return /* @__PURE__ */ React45.createElement(Stack16, { gap: 1.5 }, /* @__PURE__ */ React45.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React45.createElement(LinkedDimensionsControl, { label: __24("Padding", "elementor") })), /* @__PURE__ */ React45.createElement(Divider5, null), /* @__PURE__ */ React45.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React45.createElement(LinkedDimensionsControl, { label: __24("Margin", "elementor") })));
1704
1887
  };
1705
1888
 
1706
1889
  // src/components/style-sections/typography-section/typography-section.tsx
1707
- import * as React58 from "react";
1890
+ import * as React59 from "react";
1708
1891
  import { Divider as Divider6, Stack as Stack18 } from "@elementor/ui";
1709
1892
 
1710
1893
  // src/components/collapsible-content.tsx
1711
- import * as React45 from "react";
1712
- import { useState as useState7 } from "react";
1894
+ import * as React46 from "react";
1895
+ import { useState as useState8 } from "react";
1713
1896
  import { Button, Collapse as Collapse3, Stack as Stack17 } from "@elementor/ui";
1714
1897
  import { __ as __25 } from "@wordpress/i18n";
1715
1898
  var CollapsibleContent = ({ children, defaultOpen = false }) => {
1716
- const [open, setOpen] = useState7(defaultOpen);
1899
+ const [open, setOpen] = useState8(defaultOpen);
1717
1900
  const handleToggle = () => {
1718
1901
  setOpen((prevOpen) => !prevOpen);
1719
1902
  };
1720
- return /* @__PURE__ */ React45.createElement(Stack17, { sx: { py: 0.5 } }, /* @__PURE__ */ React45.createElement(
1903
+ return /* @__PURE__ */ React46.createElement(Stack17, { sx: { py: 0.5 } }, /* @__PURE__ */ React46.createElement(
1721
1904
  Button,
1722
1905
  {
1723
1906
  fullWidth: true,
@@ -1725,14 +1908,14 @@ var CollapsibleContent = ({ children, defaultOpen = false }) => {
1725
1908
  color: "secondary",
1726
1909
  variant: "outlined",
1727
1910
  onClick: handleToggle,
1728
- endIcon: /* @__PURE__ */ React45.createElement(CollapseIcon, { open })
1911
+ endIcon: /* @__PURE__ */ React46.createElement(CollapseIcon, { open })
1729
1912
  },
1730
1913
  open ? __25("Show less", "elementor") : __25("Show more", "elementor")
1731
- ), /* @__PURE__ */ React45.createElement(Collapse3, { in: open, timeout: "auto", unmountOnExit: true }, children));
1914
+ ), /* @__PURE__ */ React46.createElement(Collapse3, { in: open, timeout: "auto", unmountOnExit: true }, children));
1732
1915
  };
1733
1916
 
1734
1917
  // src/components/style-sections/typography-section/font-family-field.tsx
1735
- import * as React46 from "react";
1918
+ import * as React47 from "react";
1736
1919
  import { ControlLabel as ControlLabel19, FontFamilyControl } from "@elementor/editor-controls";
1737
1920
  import { Grid as Grid14 } from "@elementor/ui";
1738
1921
  import { __ as __26 } from "@wordpress/i18n";
@@ -1749,7 +1932,7 @@ var FontFamilyField = () => {
1749
1932
  if (!fontFamilies) {
1750
1933
  return null;
1751
1934
  }
1752
- return /* @__PURE__ */ React46.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React46.createElement(Grid14, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(Grid14, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(ControlLabel19, null, __26("Font Family", "elementor"))), /* @__PURE__ */ React46.createElement(Grid14, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(FontFamilyControl, { fontFamilies }))));
1935
+ return /* @__PURE__ */ React47.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React47.createElement(Grid14, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(Grid14, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel19, null, __26("Font Family", "elementor"))), /* @__PURE__ */ React47.createElement(Grid14, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(FontFamilyControl, { fontFamilies }))));
1753
1936
  };
1754
1937
  var getFontFamilies = () => {
1755
1938
  const { controls } = getElementorConfig();
@@ -1761,16 +1944,16 @@ var getFontFamilies = () => {
1761
1944
  };
1762
1945
 
1763
1946
  // src/components/style-sections/typography-section/font-size-field.tsx
1764
- import * as React47 from "react";
1947
+ import * as React48 from "react";
1765
1948
  import { ControlLabel as ControlLabel20, SizeControl as SizeControl5 } from "@elementor/editor-controls";
1766
1949
  import { Grid as Grid15 } from "@elementor/ui";
1767
1950
  import { __ as __27 } from "@wordpress/i18n";
1768
1951
  var FontSizeField = () => {
1769
- return /* @__PURE__ */ React47.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React47.createElement(Grid15, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(Grid15, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel20, null, __27("Font Size", "elementor"))), /* @__PURE__ */ React47.createElement(Grid15, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(SizeControl5, null))));
1952
+ return /* @__PURE__ */ React48.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React48.createElement(Grid15, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(Grid15, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(ControlLabel20, null, __27("Font Size", "elementor"))), /* @__PURE__ */ React48.createElement(Grid15, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(SizeControl5, null))));
1770
1953
  };
1771
1954
 
1772
1955
  // src/components/style-sections/typography-section/font-weight-field.tsx
1773
- import * as React48 from "react";
1956
+ import * as React49 from "react";
1774
1957
  import { ControlLabel as ControlLabel21, SelectControl as SelectControl4 } from "@elementor/editor-controls";
1775
1958
  import { Grid as Grid16 } from "@elementor/ui";
1776
1959
  import { __ as __28 } from "@wordpress/i18n";
@@ -1782,29 +1965,29 @@ var fontWeightOptions = [
1782
1965
  { label: __28("Black - 900", "elementor"), value: "900" }
1783
1966
  ];
1784
1967
  var FontWeightField = () => {
1785
- return /* @__PURE__ */ React48.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React48.createElement(Grid16, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(ControlLabel21, null, __28("Font Weight", "elementor"))), /* @__PURE__ */ React48.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(SelectControl4, { options: fontWeightOptions }))));
1968
+ return /* @__PURE__ */ React49.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React49.createElement(Grid16, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(ControlLabel21, null, __28("Font Weight", "elementor"))), /* @__PURE__ */ React49.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(SelectControl4, { options: fontWeightOptions }))));
1786
1969
  };
1787
1970
 
1788
1971
  // src/components/style-sections/typography-section/letter-spacing-field.tsx
1789
- import * as React49 from "react";
1972
+ import * as React50 from "react";
1790
1973
  import { ControlLabel as ControlLabel22, SizeControl as SizeControl6 } from "@elementor/editor-controls";
1791
1974
  import { Grid as Grid17 } from "@elementor/ui";
1792
1975
  import { __ as __29 } from "@wordpress/i18n";
1793
1976
  var LetterSpacingField = () => {
1794
- return /* @__PURE__ */ React49.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React49.createElement(Grid17, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(ControlLabel22, null, __29("Letter Spacing", "elementor"))), /* @__PURE__ */ React49.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(SizeControl6, null))));
1977
+ return /* @__PURE__ */ React50.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React50.createElement(Grid17, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React50.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(ControlLabel22, null, __29("Letter Spacing", "elementor"))), /* @__PURE__ */ React50.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(SizeControl6, null))));
1795
1978
  };
1796
1979
 
1797
1980
  // src/components/style-sections/typography-section/line-height-field.tsx
1798
- import * as React50 from "react";
1981
+ import * as React51 from "react";
1799
1982
  import { ControlLabel as ControlLabel23, SizeControl as SizeControl7 } from "@elementor/editor-controls";
1800
1983
  import { Grid as Grid18 } from "@elementor/ui";
1801
1984
  import { __ as __30 } from "@wordpress/i18n";
1802
1985
  var LineHeightField = () => {
1803
- return /* @__PURE__ */ React50.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React50.createElement(Grid18, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React50.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(ControlLabel23, null, __30("Line Height", "elementor"))), /* @__PURE__ */ React50.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(SizeControl7, null))));
1986
+ return /* @__PURE__ */ React51.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React51.createElement(Grid18, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React51.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(ControlLabel23, null, __30("Line Height", "elementor"))), /* @__PURE__ */ React51.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(SizeControl7, null))));
1804
1987
  };
1805
1988
 
1806
1989
  // src/components/style-sections/typography-section/text-alignment-field.tsx
1807
- import * as React51 from "react";
1990
+ import * as React52 from "react";
1808
1991
  import { ControlLabel as ControlLabel24, ToggleControl as ToggleControl8 } from "@elementor/editor-controls";
1809
1992
  import { AlignCenterIcon, AlignJustifiedIcon, AlignLeftIcon, AlignRightIcon } from "@elementor/icons";
1810
1993
  import { Grid as Grid19 } from "@elementor/ui";
@@ -1813,39 +1996,39 @@ var options7 = [
1813
1996
  {
1814
1997
  value: "left",
1815
1998
  label: __31("Left", "elementor"),
1816
- renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(AlignLeftIcon, { fontSize: size })
1999
+ renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(AlignLeftIcon, { fontSize: size })
1817
2000
  },
1818
2001
  {
1819
2002
  value: "center",
1820
2003
  label: __31("Center", "elementor"),
1821
- renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(AlignCenterIcon, { fontSize: size })
2004
+ renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(AlignCenterIcon, { fontSize: size })
1822
2005
  },
1823
2006
  {
1824
2007
  value: "right",
1825
2008
  label: __31("Right", "elementor"),
1826
- renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(AlignRightIcon, { fontSize: size })
2009
+ renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(AlignRightIcon, { fontSize: size })
1827
2010
  },
1828
2011
  {
1829
2012
  value: "justify",
1830
2013
  label: __31("Justify", "elementor"),
1831
- renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(AlignJustifiedIcon, { fontSize: size })
2014
+ renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(AlignJustifiedIcon, { fontSize: size })
1832
2015
  }
1833
2016
  ];
1834
2017
  var TextAlignmentField = () => {
1835
- return /* @__PURE__ */ React51.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React51.createElement(Grid19, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React51.createElement(Grid19, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(ControlLabel24, null, __31("Alignment", "elementor"))), /* @__PURE__ */ React51.createElement(Grid19, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React51.createElement(ToggleControl8, { options: options7 }))));
2018
+ return /* @__PURE__ */ React52.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React52.createElement(Grid19, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(Grid19, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(ControlLabel24, null, __31("Alignment", "elementor"))), /* @__PURE__ */ React52.createElement(Grid19, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React52.createElement(ToggleControl8, { options: options7 }))));
1836
2019
  };
1837
2020
 
1838
2021
  // src/components/style-sections/typography-section/text-color-field.tsx
1839
- import * as React52 from "react";
2022
+ import * as React53 from "react";
1840
2023
  import { ColorControl as ColorControl2, ControlLabel as ControlLabel25 } from "@elementor/editor-controls";
1841
2024
  import { Grid as Grid20 } from "@elementor/ui";
1842
2025
  import { __ as __32 } from "@wordpress/i18n";
1843
2026
  var TextColorField = () => {
1844
- return /* @__PURE__ */ React52.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React52.createElement(Grid20, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(ControlLabel25, null, __32("Text Color", "elementor"))), /* @__PURE__ */ React52.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(ColorControl2, null))));
2027
+ return /* @__PURE__ */ React53.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React53.createElement(Grid20, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React53.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(ControlLabel25, null, __32("Text Color", "elementor"))), /* @__PURE__ */ React53.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(ColorControl2, null))));
1845
2028
  };
1846
2029
 
1847
2030
  // src/components/style-sections/typography-section/text-direction-field.tsx
1848
- import * as React53 from "react";
2031
+ import * as React54 from "react";
1849
2032
  import { ControlLabel as ControlLabel26, ToggleControl as ToggleControl9 } from "@elementor/editor-controls";
1850
2033
  import { TextDirectionLtrIcon, TextDirectionRtlIcon } from "@elementor/icons";
1851
2034
  import { Grid as Grid21 } from "@elementor/ui";
@@ -1854,20 +2037,20 @@ var options8 = [
1854
2037
  {
1855
2038
  value: "ltr",
1856
2039
  label: __33("Left to Right", "elementor"),
1857
- renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(TextDirectionLtrIcon, { fontSize: size })
2040
+ renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(TextDirectionLtrIcon, { fontSize: size })
1858
2041
  },
1859
2042
  {
1860
2043
  value: "rtl",
1861
2044
  label: __33("Right to Left", "elementor"),
1862
- renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(TextDirectionRtlIcon, { fontSize: size })
2045
+ renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(TextDirectionRtlIcon, { fontSize: size })
1863
2046
  }
1864
2047
  ];
1865
2048
  var TextDirectionField = () => {
1866
- return /* @__PURE__ */ React53.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React53.createElement(Grid21, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React53.createElement(Grid21, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(ControlLabel26, null, __33("Direction", "elementor"))), /* @__PURE__ */ React53.createElement(Grid21, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React53.createElement(ToggleControl9, { options: options8 }))));
2049
+ return /* @__PURE__ */ React54.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React54.createElement(Grid21, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React54.createElement(Grid21, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(ControlLabel26, null, __33("Direction", "elementor"))), /* @__PURE__ */ React54.createElement(Grid21, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React54.createElement(ToggleControl9, { options: options8 }))));
1867
2050
  };
1868
2051
 
1869
2052
  // src/components/style-sections/typography-section/text-stroke-field.tsx
1870
- import * as React54 from "react";
2053
+ import * as React55 from "react";
1871
2054
  import { StrokeControl } from "@elementor/editor-controls";
1872
2055
  import { __ as __34 } from "@wordpress/i18n";
1873
2056
  var initTextStroke = {
@@ -1895,7 +2078,7 @@ var TextStrokeField = () => {
1895
2078
  setTextStroke(null);
1896
2079
  };
1897
2080
  const hasTextStroke = Boolean(textStroke);
1898
- return /* @__PURE__ */ React54.createElement(
2081
+ return /* @__PURE__ */ React55.createElement(
1899
2082
  AddOrRemoveContent,
1900
2083
  {
1901
2084
  label: __34("Text Stroke", "elementor"),
@@ -1903,12 +2086,12 @@ var TextStrokeField = () => {
1903
2086
  onAdd: addTextStroke,
1904
2087
  onRemove: removeTextStroke
1905
2088
  },
1906
- /* @__PURE__ */ React54.createElement(StylesField, { bind: "-webkit-text-stroke" }, /* @__PURE__ */ React54.createElement(StrokeControl, null))
2089
+ /* @__PURE__ */ React55.createElement(StylesField, { bind: "-webkit-text-stroke" }, /* @__PURE__ */ React55.createElement(StrokeControl, null))
1907
2090
  );
1908
2091
  };
1909
2092
 
1910
2093
  // src/components/style-sections/typography-section/text-style-field.tsx
1911
- import * as React55 from "react";
2094
+ import * as React56 from "react";
1912
2095
  import { ControlLabel as ControlLabel27 } from "@elementor/editor-controls";
1913
2096
  import { ItalicIcon, StrikethroughIcon, UnderlineIcon } from "@elementor/icons";
1914
2097
  import { Grid as Grid22, ToggleButton as ToggleButtonBase, ToggleButtonGroup } from "@elementor/ui";
@@ -1936,7 +2119,7 @@ var TextStyleField = () => {
1936
2119
  value: newValue
1937
2120
  });
1938
2121
  };
1939
- return /* @__PURE__ */ React55.createElement(Grid22, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(Grid22, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(ControlLabel27, null, __35("Style", "elementor"))), /* @__PURE__ */ React55.createElement(Grid22, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React55.createElement(ToggleButtonGroup, { value: formats }, /* @__PURE__ */ React55.createElement(
2122
+ return /* @__PURE__ */ React56.createElement(Grid22, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React56.createElement(Grid22, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(ControlLabel27, null, __35("Style", "elementor"))), /* @__PURE__ */ React56.createElement(Grid22, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React56.createElement(ToggleButtonGroup, { value: formats }, /* @__PURE__ */ React56.createElement(
1940
2123
  ToggleButton,
1941
2124
  {
1942
2125
  value: "italic",
@@ -1944,8 +2127,8 @@ var TextStyleField = () => {
1944
2127
  "aria-label": "italic",
1945
2128
  sx: { marginLeft: "auto" }
1946
2129
  },
1947
- /* @__PURE__ */ React55.createElement(ItalicIcon, { fontSize: buttonSize })
1948
- ), /* @__PURE__ */ React55.createElement(
2130
+ /* @__PURE__ */ React56.createElement(ItalicIcon, { fontSize: buttonSize })
2131
+ ), /* @__PURE__ */ React56.createElement(
1949
2132
  ShorthandControl,
1950
2133
  {
1951
2134
  value: "line-through",
@@ -1953,8 +2136,8 @@ var TextStyleField = () => {
1953
2136
  updateValues: handleSetTextDecoration,
1954
2137
  "aria-label": "line-through"
1955
2138
  },
1956
- /* @__PURE__ */ React55.createElement(StrikethroughIcon, { fontSize: buttonSize })
1957
- ), /* @__PURE__ */ React55.createElement(
2139
+ /* @__PURE__ */ React56.createElement(StrikethroughIcon, { fontSize: buttonSize })
2140
+ ), /* @__PURE__ */ React56.createElement(
1958
2141
  ShorthandControl,
1959
2142
  {
1960
2143
  value: "underline",
@@ -1962,7 +2145,7 @@ var TextStyleField = () => {
1962
2145
  updateValues: handleSetTextDecoration,
1963
2146
  "aria-label": "underline"
1964
2147
  },
1965
- /* @__PURE__ */ React55.createElement(UnderlineIcon, { fontSize: buttonSize })
2148
+ /* @__PURE__ */ React56.createElement(UnderlineIcon, { fontSize: buttonSize })
1966
2149
  ))));
1967
2150
  };
1968
2151
  var ShorthandControl = ({
@@ -1981,17 +2164,17 @@ var ShorthandControl = ({
1981
2164
  updateValues([...valuesArr, newValue].join(" "));
1982
2165
  }
1983
2166
  };
1984
- return /* @__PURE__ */ React55.createElement(ToggleButton, { value, onChange: toggleValue, selected, "aria-label": ariaLabel }, children);
2167
+ return /* @__PURE__ */ React56.createElement(ToggleButton, { value, onChange: toggleValue, selected, "aria-label": ariaLabel }, children);
1985
2168
  };
1986
2169
  var ToggleButton = ({ onChange, ...props }) => {
1987
2170
  const handleChange = (_e, newValue) => {
1988
2171
  onChange(newValue);
1989
2172
  };
1990
- return /* @__PURE__ */ React55.createElement(ToggleButtonBase, { ...props, onChange: handleChange, size: buttonSize });
2173
+ return /* @__PURE__ */ React56.createElement(ToggleButtonBase, { ...props, onChange: handleChange, size: buttonSize });
1991
2174
  };
1992
2175
 
1993
2176
  // src/components/style-sections/typography-section/transform-field.tsx
1994
- import * as React56 from "react";
2177
+ import * as React57 from "react";
1995
2178
  import { ControlLabel as ControlLabel28, ToggleControl as ToggleControl10 } from "@elementor/editor-controls";
1996
2179
  import { LetterCaseIcon, LetterCaseLowerIcon, LetterCaseUpperIcon } from "@elementor/icons";
1997
2180
  import { Grid as Grid23 } from "@elementor/ui";
@@ -2000,33 +2183,33 @@ var options9 = [
2000
2183
  {
2001
2184
  value: "capitalize",
2002
2185
  label: __36("Capitalize", "elementor"),
2003
- renderContent: ({ size }) => /* @__PURE__ */ React56.createElement(LetterCaseIcon, { fontSize: size })
2186
+ renderContent: ({ size }) => /* @__PURE__ */ React57.createElement(LetterCaseIcon, { fontSize: size })
2004
2187
  },
2005
2188
  {
2006
2189
  value: "uppercase",
2007
2190
  label: __36("Uppercase", "elementor"),
2008
- renderContent: ({ size }) => /* @__PURE__ */ React56.createElement(LetterCaseUpperIcon, { fontSize: size })
2191
+ renderContent: ({ size }) => /* @__PURE__ */ React57.createElement(LetterCaseUpperIcon, { fontSize: size })
2009
2192
  },
2010
2193
  {
2011
2194
  value: "lowercase",
2012
2195
  label: __36("Lowercase", "elementor"),
2013
- renderContent: ({ size }) => /* @__PURE__ */ React56.createElement(LetterCaseLowerIcon, { fontSize: size })
2196
+ renderContent: ({ size }) => /* @__PURE__ */ React57.createElement(LetterCaseLowerIcon, { fontSize: size })
2014
2197
  }
2015
2198
  ];
2016
- var TransformField = () => /* @__PURE__ */ React56.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React56.createElement(Grid23, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React56.createElement(Grid23, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(ControlLabel28, null, __36("Transform", "elementor"))), /* @__PURE__ */ React56.createElement(Grid23, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React56.createElement(ToggleControl10, { options: options9 }))));
2199
+ var TransformField = () => /* @__PURE__ */ React57.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React57.createElement(Grid23, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React57.createElement(Grid23, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(ControlLabel28, null, __36("Transform", "elementor"))), /* @__PURE__ */ React57.createElement(Grid23, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React57.createElement(ToggleControl10, { options: options9 }))));
2017
2200
 
2018
2201
  // src/components/style-sections/typography-section/word-spacing-field.tsx
2019
- import * as React57 from "react";
2202
+ import * as React58 from "react";
2020
2203
  import { ControlLabel as ControlLabel29, SizeControl as SizeControl8 } from "@elementor/editor-controls";
2021
2204
  import { Grid as Grid24 } from "@elementor/ui";
2022
2205
  import { __ as __37 } from "@wordpress/i18n";
2023
2206
  var WordSpacingField = () => {
2024
- return /* @__PURE__ */ React57.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React57.createElement(Grid24, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React57.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(ControlLabel29, null, __37("Word Spacing", "elementor"))), /* @__PURE__ */ React57.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(SizeControl8, null))));
2207
+ return /* @__PURE__ */ React58.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React58.createElement(Grid24, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React58.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React58.createElement(ControlLabel29, null, __37("Word Spacing", "elementor"))), /* @__PURE__ */ React58.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React58.createElement(SizeControl8, null))));
2025
2208
  };
2026
2209
 
2027
2210
  // src/components/style-sections/typography-section/typography-section.tsx
2028
2211
  var TypographySection = () => {
2029
- return /* @__PURE__ */ React58.createElement(Stack18, { gap: 1.5 }, /* @__PURE__ */ React58.createElement(FontFamilyField, null), /* @__PURE__ */ React58.createElement(FontWeightField, null), /* @__PURE__ */ React58.createElement(FontSizeField, null), /* @__PURE__ */ React58.createElement(Divider6, null), /* @__PURE__ */ React58.createElement(TextAlignmentField, null), /* @__PURE__ */ React58.createElement(TextColorField, null), /* @__PURE__ */ React58.createElement(CollapsibleContent, null, /* @__PURE__ */ React58.createElement(Stack18, { 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(Divider6, null), /* @__PURE__ */ React58.createElement(TextStyleField, null), /* @__PURE__ */ React58.createElement(TransformField, null), /* @__PURE__ */ React58.createElement(TextDirectionField, null), /* @__PURE__ */ React58.createElement(TextStrokeField, null))));
2212
+ return /* @__PURE__ */ React59.createElement(Stack18, { gap: 1.5 }, /* @__PURE__ */ React59.createElement(FontFamilyField, null), /* @__PURE__ */ React59.createElement(FontWeightField, null), /* @__PURE__ */ React59.createElement(FontSizeField, null), /* @__PURE__ */ React59.createElement(Divider6, null), /* @__PURE__ */ React59.createElement(TextAlignmentField, null), /* @__PURE__ */ React59.createElement(TextColorField, null), /* @__PURE__ */ React59.createElement(CollapsibleContent, null, /* @__PURE__ */ React59.createElement(Stack18, { 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(Divider6, null), /* @__PURE__ */ React59.createElement(TextStyleField, null), /* @__PURE__ */ React59.createElement(TransformField, null), /* @__PURE__ */ React59.createElement(TextDirectionField, null), /* @__PURE__ */ React59.createElement(TextStrokeField, null))));
2030
2213
  };
2031
2214
 
2032
2215
  // src/components/style-tab.tsx
@@ -2034,9 +2217,9 @@ var CLASSES_PROP_KEY = "classes";
2034
2217
  var StyleTab = () => {
2035
2218
  const currentClassesProp = useCurrentClassesProp();
2036
2219
  const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
2037
- const [activeStyleState, setActiveStyleState] = useState8(null);
2220
+ const [activeStyleState, setActiveStyleState] = useState9(null);
2038
2221
  const breakpoint = useActiveBreakpoint();
2039
- return /* @__PURE__ */ React59.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React59.createElement(
2222
+ return /* @__PURE__ */ React60.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React60.createElement(
2040
2223
  StyleProvider,
2041
2224
  {
2042
2225
  meta: { breakpoint, state: activeStyleState },
@@ -2047,13 +2230,11 @@ var StyleTab = () => {
2047
2230
  },
2048
2231
  setMetaState: setActiveStyleState
2049
2232
  },
2050
- /* @__PURE__ */ React59.createElement(CssClassSelector, null),
2051
- /* @__PURE__ */ React59.createElement(Divider7, null),
2052
- /* @__PURE__ */ React59.createElement(SectionsList, null, /* @__PURE__ */ React59.createElement(Section, { title: __38("Layout", "elementor") }, /* @__PURE__ */ React59.createElement(LayoutSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: __38("Spacing", "elementor") }, /* @__PURE__ */ React59.createElement(SpacingSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: __38("Size", "elementor") }, /* @__PURE__ */ React59.createElement(SizeSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: __38("Position", "elementor") }, /* @__PURE__ */ React59.createElement(PositionSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: __38("Typography", "elementor") }, /* @__PURE__ */ React59.createElement(TypographySection, null)), /* @__PURE__ */ React59.createElement(Section, { title: __38("Background", "elementor") }, /* @__PURE__ */ React59.createElement(BackgroundSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: __38("Border", "elementor") }, /* @__PURE__ */ React59.createElement(BorderSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: __38("Effects", "elementor") }, /* @__PURE__ */ React59.createElement(EffectsSection, null)))
2233
+ /* @__PURE__ */ React60.createElement(SessionStorageProvider2, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React60.createElement(CssClassSelector, null), /* @__PURE__ */ React60.createElement(Divider7, null), /* @__PURE__ */ React60.createElement(SectionsList, null, /* @__PURE__ */ React60.createElement(Section, { title: __38("Layout", "elementor") }, /* @__PURE__ */ React60.createElement(LayoutSection, null)), /* @__PURE__ */ React60.createElement(Section, { title: __38("Spacing", "elementor") }, /* @__PURE__ */ React60.createElement(SpacingSection, null)), /* @__PURE__ */ React60.createElement(Section, { title: __38("Size", "elementor") }, /* @__PURE__ */ React60.createElement(SizeSection, null)), /* @__PURE__ */ React60.createElement(Section, { title: __38("Position", "elementor") }, /* @__PURE__ */ React60.createElement(PositionSection, null)), /* @__PURE__ */ React60.createElement(Section, { title: __38("Typography", "elementor") }, /* @__PURE__ */ React60.createElement(TypographySection, null)), /* @__PURE__ */ React60.createElement(Section, { title: __38("Background", "elementor") }, /* @__PURE__ */ React60.createElement(BackgroundSection, null)), /* @__PURE__ */ React60.createElement(Section, { title: __38("Border", "elementor") }, /* @__PURE__ */ React60.createElement(BorderSection, null)), /* @__PURE__ */ React60.createElement(Section, { title: __38("Effects", "elementor") }, /* @__PURE__ */ React60.createElement(EffectsSection, null))))
2053
2234
  ));
2054
2235
  };
2055
2236
  function useActiveStyleDefId(currentClassesProp) {
2056
- const [activeStyledDefId, setActiveStyledDefId] = useState8(null);
2237
+ const [activeStyledDefId, setActiveStyledDefId] = useState9(null);
2057
2238
  const fallback = useFirstElementStyleDef(currentClassesProp);
2058
2239
  return [activeStyledDefId || fallback?.id || null, setActiveStyledDefId];
2059
2240
  }
@@ -2081,7 +2262,7 @@ var EditingPanelTabs = () => {
2081
2262
  return (
2082
2263
  // When switching between elements, the local states should be reset. We are using key to rerender the tabs.
2083
2264
  // Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
2084
- /* @__PURE__ */ React60.createElement(Fragment7, { key: element.id }, /* @__PURE__ */ React60.createElement(Stack19, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React60.createElement(Tabs, { variant: "fullWidth", indicatorColor: "secondary", textColor: "inherit", ...getTabsProps() }, /* @__PURE__ */ React60.createElement(Tab, { label: __39("General", "elementor"), ...getTabProps("settings") }), /* @__PURE__ */ React60.createElement(Tab, { label: __39("Style", "elementor"), ...getTabProps("style") })), /* @__PURE__ */ React60.createElement(Divider8, null), /* @__PURE__ */ React60.createElement(TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React60.createElement(SettingsTab, null)), /* @__PURE__ */ React60.createElement(TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React60.createElement(StyleTab, null))))
2265
+ /* @__PURE__ */ React61.createElement(Fragment7, { key: element.id }, /* @__PURE__ */ React61.createElement(Stack19, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React61.createElement(Tabs, { variant: "fullWidth", indicatorColor: "secondary", textColor: "inherit", ...getTabsProps() }, /* @__PURE__ */ React61.createElement(Tab, { label: __39("General", "elementor"), ...getTabProps("settings") }), /* @__PURE__ */ React61.createElement(Tab, { label: __39("Style", "elementor"), ...getTabProps("style") })), /* @__PURE__ */ React61.createElement(Divider8, null), /* @__PURE__ */ React61.createElement(TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React61.createElement(SettingsTab, null)), /* @__PURE__ */ React61.createElement(TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React61.createElement(StyleTab, null))))
2085
2266
  );
2086
2267
  };
2087
2268
 
@@ -2095,7 +2276,7 @@ var EditingPanel = () => {
2095
2276
  return null;
2096
2277
  }
2097
2278
  const panelTitle = __40("Edit %s", "elementor").replace("%s", elementType.title);
2098
- return /* @__PURE__ */ React61.createElement(ErrorBoundary, { fallback: /* @__PURE__ */ React61.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React61.createElement(Panel, null, /* @__PURE__ */ React61.createElement(PanelHeader, null, /* @__PURE__ */ React61.createElement(PanelHeaderTitle, null, panelTitle)), /* @__PURE__ */ React61.createElement(PanelBody, null, /* @__PURE__ */ React61.createElement(ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React61.createElement(ControlReplacementProvider, { ...controlReplacement }, /* @__PURE__ */ React61.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React61.createElement(EditingPanelTabs, null)))))));
2279
+ return /* @__PURE__ */ React62.createElement(ErrorBoundary, { fallback: /* @__PURE__ */ React62.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React62.createElement(SessionStorageProvider3, { prefix: "elementor" }, /* @__PURE__ */ React62.createElement(Panel, null, /* @__PURE__ */ React62.createElement(PanelHeader, null, /* @__PURE__ */ React62.createElement(PanelHeaderTitle, null, panelTitle)), /* @__PURE__ */ React62.createElement(PanelBody, null, /* @__PURE__ */ React62.createElement(ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React62.createElement(ControlReplacementProvider, { ...controlReplacement }, /* @__PURE__ */ React62.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React62.createElement(EditingPanelTabs, null))))))));
2099
2280
  };
2100
2281
 
2101
2282
  // src/panel.ts
@@ -2118,7 +2299,7 @@ var isAtomicWidgetSelected = () => {
2118
2299
  // src/hooks/use-close-editor-panel.ts
2119
2300
  var useCloseEditorPanel = () => {
2120
2301
  const { close } = usePanelActions();
2121
- return useEffect3(() => {
2302
+ return useEffect4(() => {
2122
2303
  return listenTo(commandStartEvent("document/elements/delete"), (e) => {
2123
2304
  const selectedElement = getSelectedElements2()[0];
2124
2305
  const { container: deletedContainer } = e?.args;
@@ -2131,11 +2312,11 @@ var useCloseEditorPanel = () => {
2131
2312
  };
2132
2313
 
2133
2314
  // src/hooks/use-open-editor-panel.ts
2134
- import { useEffect as useEffect4 } from "react";
2315
+ import { useEffect as useEffect5 } from "react";
2135
2316
  import { __privateListenTo as listenTo2, commandStartEvent as commandStartEvent2 } from "@elementor/editor-v1-adapters";
2136
2317
  var useOpenEditorPanel = () => {
2137
2318
  const { open } = usePanelActions();
2138
- useEffect4(() => {
2319
+ useEffect5(() => {
2139
2320
  return listenTo2(commandStartEvent2("panel/editor/open"), () => {
2140
2321
  if (isAtomicWidgetSelected()) {
2141
2322
  open();
@@ -2151,6 +2332,26 @@ var EditingPanelHooks = () => {
2151
2332
  return null;
2152
2333
  };
2153
2334
 
2335
+ // src/hooks/use-unapply-class.ts
2336
+ import { updateSettings as updateSettings3, useElementSetting as useElementSetting4 } from "@elementor/editor-elements";
2337
+ var useUnapplyClass = (classId) => {
2338
+ const { element } = useElement();
2339
+ const classesProp = useClassesProp();
2340
+ const classes = useElementSetting4(element.id, classesProp);
2341
+ const filteredClasses = classes?.value.filter((className) => className !== classId);
2342
+ return () => {
2343
+ updateSettings3({
2344
+ id: element.id,
2345
+ props: {
2346
+ [classesProp]: {
2347
+ $$type: "classes",
2348
+ value: filteredClasses
2349
+ }
2350
+ }
2351
+ });
2352
+ };
2353
+ };
2354
+
2154
2355
  // src/css-classes.ts
2155
2356
  var STATES = ["hover", "focus", "active"];
2156
2357
  function initCssClasses() {
@@ -2174,10 +2375,21 @@ function registerStateItems() {
2174
2375
  });
2175
2376
  }
2176
2377
  function registerGlobalClassItems() {
2378
+ registerGlobalClassMenuItem({
2379
+ id: "unapply-class",
2380
+ useProps: () => {
2381
+ const { styleId: currentClass } = useCssClassItem();
2382
+ const unapplyClass = useUnapplyClass(currentClass);
2383
+ return {
2384
+ text: "Remove",
2385
+ onClick: unapplyClass
2386
+ };
2387
+ }
2388
+ });
2177
2389
  }
2178
2390
 
2179
2391
  // src/dynamics/components/dynamic-selection-control.tsx
2180
- import * as React64 from "react";
2392
+ import * as React65 from "react";
2181
2393
  import { useId as useId5 } from "react";
2182
2394
  import { ControlLabel as ControlLabel30, useBoundProp as useBoundProp4 } from "@elementor/editor-controls";
2183
2395
  import { DatabaseIcon, SettingsIcon, XIcon as XIcon2 } from "@elementor/icons";
@@ -2208,7 +2420,7 @@ var usePersistDynamicValue = (propKey) => {
2208
2420
  };
2209
2421
 
2210
2422
  // src/dynamics/dynamic-control.tsx
2211
- import * as React62 from "react";
2423
+ import * as React63 from "react";
2212
2424
  import { PropKeyProvider as PropKeyProvider3, PropProvider as PropProvider3, useBoundProp as useBoundProp2 } from "@elementor/editor-controls";
2213
2425
 
2214
2426
  // src/dynamics/hooks/use-dynamic-tag.ts
@@ -2310,12 +2522,12 @@ var DynamicControl = ({ bind, children }) => {
2310
2522
  });
2311
2523
  };
2312
2524
  const propType = createTopLevelOjectType({ schema: dynamicTag.props_schema });
2313
- return /* @__PURE__ */ React62.createElement(PropProvider3, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React62.createElement(PropKeyProvider3, { bind }, children));
2525
+ return /* @__PURE__ */ React63.createElement(PropProvider3, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React63.createElement(PropKeyProvider3, { bind }, children));
2314
2526
  };
2315
2527
 
2316
2528
  // src/dynamics/components/dynamic-selection.tsx
2317
- import * as React63 from "react";
2318
- import { Fragment as Fragment8, useState as useState9 } from "react";
2529
+ import * as React64 from "react";
2530
+ import { Fragment as Fragment8, useState as useState10 } from "react";
2319
2531
  import { useBoundProp as useBoundProp3 } from "@elementor/editor-controls";
2320
2532
  import { PhotoIcon, SearchIcon } from "@elementor/icons";
2321
2533
  import {
@@ -2333,7 +2545,7 @@ import {
2333
2545
  import { __ as __41 } from "@wordpress/i18n";
2334
2546
  var SIZE3 = "tiny";
2335
2547
  var DynamicSelection = ({ onSelect }) => {
2336
- const [searchValue, setSearchValue] = useState9("");
2548
+ const [searchValue, setSearchValue] = useState10("");
2337
2549
  const { groups: dynamicGroups } = getAtomicDynamicTags() || {};
2338
2550
  const { value: anyValue } = useBoundProp3();
2339
2551
  const { bind, value: dynamicValue, setValue } = useBoundProp3(dynamicPropTypeUtil);
@@ -2350,7 +2562,7 @@ var DynamicSelection = ({ onSelect }) => {
2350
2562
  setValue({ name: value, settings: {} });
2351
2563
  onSelect?.();
2352
2564
  };
2353
- return /* @__PURE__ */ React63.createElement(Stack20, null, /* @__PURE__ */ React63.createElement(Box6, { px: 1.5, pb: 1 }, /* @__PURE__ */ React63.createElement(
2565
+ return /* @__PURE__ */ React64.createElement(Stack20, null, /* @__PURE__ */ React64.createElement(Box6, { px: 1.5, pb: 1 }, /* @__PURE__ */ React64.createElement(
2354
2566
  TextField2,
2355
2567
  {
2356
2568
  fullWidth: true,
@@ -2359,12 +2571,12 @@ var DynamicSelection = ({ onSelect }) => {
2359
2571
  onChange: handleSearch,
2360
2572
  placeholder: __41("Search dynamic tag", "elementor"),
2361
2573
  InputProps: {
2362
- startAdornment: /* @__PURE__ */ React63.createElement(InputAdornment, { position: "start" }, /* @__PURE__ */ React63.createElement(SearchIcon, { fontSize: SIZE3 }))
2574
+ startAdornment: /* @__PURE__ */ React64.createElement(InputAdornment, { position: "start" }, /* @__PURE__ */ React64.createElement(SearchIcon, { fontSize: SIZE3 }))
2363
2575
  }
2364
2576
  }
2365
- )), /* @__PURE__ */ React63.createElement(Divider9, null), /* @__PURE__ */ React63.createElement(Box6, { sx: { overflowY: "auto", height: 260, width: 220 } }, options10.length > 0 ? /* @__PURE__ */ React63.createElement(MenuList, { role: "listbox", tabIndex: 0 }, options10.map(([category, items3], index) => /* @__PURE__ */ React63.createElement(Fragment8, { key: index }, /* @__PURE__ */ React63.createElement(ListSubheader2, { sx: { typography: "caption", color: "text.tertiary" } }, dynamicGroups?.[category]?.title || category), items3.map(({ value, label: tagLabel }) => {
2577
+ )), /* @__PURE__ */ React64.createElement(Divider9, null), /* @__PURE__ */ React64.createElement(Box6, { sx: { overflowY: "auto", height: 260, width: 220 } }, options10.length > 0 ? /* @__PURE__ */ React64.createElement(MenuList, { role: "listbox", tabIndex: 0 }, options10.map(([category, items3], index) => /* @__PURE__ */ React64.createElement(Fragment8, { key: index }, /* @__PURE__ */ React64.createElement(ListSubheader2, { sx: { typography: "caption", color: "text.tertiary" } }, dynamicGroups?.[category]?.title || category), items3.map(({ value, label: tagLabel }) => {
2366
2578
  const isSelected = isCurrentValueDynamic && value === dynamicValue?.name;
2367
- return /* @__PURE__ */ React63.createElement(
2579
+ return /* @__PURE__ */ React64.createElement(
2368
2580
  MenuItem2,
2369
2581
  {
2370
2582
  key: value,
@@ -2375,7 +2587,7 @@ var DynamicSelection = ({ onSelect }) => {
2375
2587
  },
2376
2588
  tagLabel
2377
2589
  );
2378
- })))) : /* @__PURE__ */ React63.createElement(Stack20, { alignItems: "center", p: 2.5, gap: 1.5 }, /* @__PURE__ */ React63.createElement(PhotoIcon, { fontSize: "large" }), /* @__PURE__ */ React63.createElement(Typography3, { align: "center", variant: "caption", color: "text.secondary" }, __41("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React63.createElement("br", null), "\u201C", searchValue, "\u201D."), /* @__PURE__ */ React63.createElement(Typography3, { align: "center", variant: "caption", color: "text.secondary" }, /* @__PURE__ */ React63.createElement(
2590
+ })))) : /* @__PURE__ */ React64.createElement(Stack20, { alignItems: "center", p: 2.5, gap: 1.5 }, /* @__PURE__ */ React64.createElement(PhotoIcon, { fontSize: "large" }), /* @__PURE__ */ React64.createElement(Typography3, { align: "center", variant: "caption", color: "text.secondary" }, __41("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React64.createElement("br", null), "\u201C", searchValue, "\u201D."), /* @__PURE__ */ React64.createElement(Typography3, { align: "center", variant: "caption", color: "text.secondary" }, /* @__PURE__ */ React64.createElement(
2379
2591
  Link,
2380
2592
  {
2381
2593
  color: "secondary",
@@ -2418,25 +2630,25 @@ var DynamicSelectionControl = () => {
2418
2630
  if (!dynamicTag) {
2419
2631
  throw new Error(`Dynamic tag ${tagName} not found`);
2420
2632
  }
2421
- return /* @__PURE__ */ React64.createElement(Box7, null, /* @__PURE__ */ React64.createElement(
2633
+ return /* @__PURE__ */ React65.createElement(Box7, null, /* @__PURE__ */ React65.createElement(
2422
2634
  Tag,
2423
2635
  {
2424
2636
  fullWidth: true,
2425
2637
  showActionsOnHover: true,
2426
2638
  label: dynamicTag.label,
2427
- startIcon: /* @__PURE__ */ React64.createElement(DatabaseIcon, { fontSize: SIZE4 }),
2639
+ startIcon: /* @__PURE__ */ React65.createElement(DatabaseIcon, { fontSize: SIZE4 }),
2428
2640
  ...bindTrigger2(selectionPopoverState),
2429
- actions: /* @__PURE__ */ React64.createElement(React64.Fragment, null, /* @__PURE__ */ React64.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React64.createElement(
2641
+ actions: /* @__PURE__ */ React65.createElement(React65.Fragment, null, /* @__PURE__ */ React65.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React65.createElement(
2430
2642
  IconButton3,
2431
2643
  {
2432
2644
  size: SIZE4,
2433
2645
  onClick: removeDynamicTag,
2434
2646
  "aria-label": __42("Remove dynamic value", "elementor")
2435
2647
  },
2436
- /* @__PURE__ */ React64.createElement(XIcon2, { fontSize: SIZE4 })
2648
+ /* @__PURE__ */ React65.createElement(XIcon2, { fontSize: SIZE4 })
2437
2649
  ))
2438
2650
  }
2439
- ), /* @__PURE__ */ React64.createElement(
2651
+ ), /* @__PURE__ */ React65.createElement(
2440
2652
  Popover2,
2441
2653
  {
2442
2654
  disablePortal: true,
@@ -2444,7 +2656,7 @@ var DynamicSelectionControl = () => {
2444
2656
  anchorOrigin: { vertical: "bottom", horizontal: "left" },
2445
2657
  ...bindPopover2(selectionPopoverState)
2446
2658
  },
2447
- /* @__PURE__ */ React64.createElement(Stack21, null, /* @__PURE__ */ React64.createElement(Stack21, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React64.createElement(DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React64.createElement(Typography4, { variant: "subtitle2" }, __42("Dynamic Tags", "elementor")), /* @__PURE__ */ React64.createElement(IconButton3, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React64.createElement(XIcon2, { fontSize: SIZE4 }))), /* @__PURE__ */ React64.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
2659
+ /* @__PURE__ */ React65.createElement(Stack21, null, /* @__PURE__ */ React65.createElement(Stack21, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React65.createElement(DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React65.createElement(Typography4, { variant: "subtitle2" }, __42("Dynamic Tags", "elementor")), /* @__PURE__ */ React65.createElement(IconButton3, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React65.createElement(XIcon2, { fontSize: SIZE4 }))), /* @__PURE__ */ React65.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
2448
2660
  ));
2449
2661
  };
2450
2662
  var DynamicSettingsPopover = ({ dynamicTag }) => {
@@ -2454,22 +2666,22 @@ var DynamicSettingsPopover = ({ dynamicTag }) => {
2454
2666
  if (!hasDynamicSettings) {
2455
2667
  return null;
2456
2668
  }
2457
- return /* @__PURE__ */ React64.createElement(React64.Fragment, null, /* @__PURE__ */ React64.createElement(
2669
+ return /* @__PURE__ */ React65.createElement(React65.Fragment, null, /* @__PURE__ */ React65.createElement(
2458
2670
  IconButton3,
2459
2671
  {
2460
2672
  size: SIZE4,
2461
2673
  ...bindTrigger2(settingsPopupState),
2462
2674
  "aria-label": __42("Settings", "elementor")
2463
2675
  },
2464
- /* @__PURE__ */ React64.createElement(SettingsIcon, { fontSize: SIZE4 })
2465
- ), /* @__PURE__ */ React64.createElement(
2676
+ /* @__PURE__ */ React65.createElement(SettingsIcon, { fontSize: SIZE4 })
2677
+ ), /* @__PURE__ */ React65.createElement(
2466
2678
  Popover2,
2467
2679
  {
2468
2680
  disableScrollLock: true,
2469
2681
  anchorOrigin: { vertical: "bottom", horizontal: "center" },
2470
2682
  ...bindPopover2(settingsPopupState)
2471
2683
  },
2472
- /* @__PURE__ */ React64.createElement(Paper, { component: Stack21, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React64.createElement(Stack21, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React64.createElement(DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React64.createElement(Typography4, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React64.createElement(IconButton3, { sx: { ml: "auto" }, size: SIZE4, onClick: settingsPopupState.close }, /* @__PURE__ */ React64.createElement(XIcon2, { fontSize: SIZE4 }))), /* @__PURE__ */ React64.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
2684
+ /* @__PURE__ */ React65.createElement(Paper, { component: Stack21, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React65.createElement(Stack21, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React65.createElement(DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React65.createElement(Typography4, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React65.createElement(IconButton3, { sx: { ml: "auto" }, size: SIZE4, onClick: settingsPopupState.close }, /* @__PURE__ */ React65.createElement(XIcon2, { fontSize: SIZE4 }))), /* @__PURE__ */ React65.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
2473
2685
  ));
2474
2686
  };
2475
2687
  var DynamicSettings = ({ controls }) => {
@@ -2478,10 +2690,10 @@ var DynamicSettings = ({ controls }) => {
2478
2690
  if (!tabs.length) {
2479
2691
  return null;
2480
2692
  }
2481
- return /* @__PURE__ */ React64.createElement(React64.Fragment, null, /* @__PURE__ */ React64.createElement(Tabs2, { indicatorColor: "secondary", textColor: "secondary", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React64.createElement(Tab2, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React64.createElement(Divider10, null), tabs.map(({ value }, index) => {
2482
- return /* @__PURE__ */ React64.createElement(TabPanel2, { key: index, sx: { flexGrow: 1 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React64.createElement(Stack21, { gap: 1, px: 2 }, value.items.map((item) => {
2693
+ return /* @__PURE__ */ React65.createElement(React65.Fragment, null, /* @__PURE__ */ React65.createElement(Tabs2, { indicatorColor: "secondary", textColor: "secondary", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React65.createElement(Tab2, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React65.createElement(Divider10, null), tabs.map(({ value }, index) => {
2694
+ return /* @__PURE__ */ React65.createElement(TabPanel2, { key: index, sx: { flexGrow: 1 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React65.createElement(Stack21, { gap: 1, px: 2 }, value.items.map((item) => {
2483
2695
  if (item.type === "control") {
2484
- return /* @__PURE__ */ React64.createElement(Control3, { key: item.value.bind, control: item.value });
2696
+ return /* @__PURE__ */ React65.createElement(Control3, { key: item.value.bind, control: item.value });
2485
2697
  }
2486
2698
  return null;
2487
2699
  })));
@@ -2491,11 +2703,11 @@ var Control3 = ({ control }) => {
2491
2703
  if (!getControlByType(control.type)) {
2492
2704
  return null;
2493
2705
  }
2494
- return /* @__PURE__ */ React64.createElement(DynamicControl, { bind: control.bind }, control.label ? /* @__PURE__ */ React64.createElement(ControlLabel30, null, control.label) : null, /* @__PURE__ */ React64.createElement(Control, { type: control.type, props: control.props }));
2706
+ return /* @__PURE__ */ React65.createElement(DynamicControl, { bind: control.bind }, control.label ? /* @__PURE__ */ React65.createElement(ControlLabel30, null, control.label) : null, /* @__PURE__ */ React65.createElement(Control, { type: control.type, props: control.props }));
2495
2707
  };
2496
2708
 
2497
2709
  // src/dynamics/hooks/use-prop-dynamic-action.tsx
2498
- import * as React65 from "react";
2710
+ import * as React66 from "react";
2499
2711
  import { useBoundProp as useBoundProp5 } from "@elementor/editor-controls";
2500
2712
  import { DatabaseIcon as DatabaseIcon2 } from "@elementor/icons";
2501
2713
  import { __ as __43 } from "@wordpress/i18n";
@@ -2506,7 +2718,7 @@ var usePropDynamicAction = () => {
2506
2718
  visible,
2507
2719
  icon: DatabaseIcon2,
2508
2720
  title: __43("Dynamic Tags", "elementor"),
2509
- popoverContent: ({ closePopover }) => /* @__PURE__ */ React65.createElement(DynamicSelection, { onSelect: closePopover })
2721
+ popoverContent: ({ closePopover }) => /* @__PURE__ */ React66.createElement(DynamicSelection, { onSelect: closePopover })
2510
2722
  };
2511
2723
  };
2512
2724