@elementor/editor-editing-panel 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -33,10 +33,10 @@ __export(index_exports, {
33
33
  registerGlobalClassMenuItem: () => registerGlobalClassMenuItem,
34
34
  registerStateMenuItem: () => registerStateMenuItem,
35
35
  replaceControl: () => replaceControl,
36
- useBoundProp: () => import_editor_controls46.useBoundProp
36
+ useBoundProp: () => import_editor_controls47.useBoundProp
37
37
  });
38
38
  module.exports = __toCommonJS(index_exports);
39
- var import_editor_controls46 = require("@elementor/editor-controls");
39
+ var import_editor_controls47 = require("@elementor/editor-controls");
40
40
 
41
41
  // src/control-replacement.tsx
42
42
  var import_editor_controls = require("@elementor/editor-controls");
@@ -157,7 +157,7 @@ var import_editor_panels3 = require("@elementor/editor-panels");
157
157
  var import_editor_v1_adapters4 = require("@elementor/editor-v1-adapters");
158
158
 
159
159
  // src/hooks/use-close-editor-panel.ts
160
- var import_react15 = require("react");
160
+ var import_react16 = require("react");
161
161
  var import_editor_elements8 = require("@elementor/editor-elements");
162
162
  var import_editor_v1_adapters2 = require("@elementor/editor-v1-adapters");
163
163
 
@@ -169,7 +169,7 @@ var React61 = __toESM(require("react"));
169
169
  var import_editor_controls41 = require("@elementor/editor-controls");
170
170
  var import_editor_elements6 = require("@elementor/editor-elements");
171
171
  var import_editor_panels = require("@elementor/editor-panels");
172
- var import_ui51 = require("@elementor/ui");
172
+ var import_ui50 = require("@elementor/ui");
173
173
  var import_i18n40 = require("@wordpress/i18n");
174
174
 
175
175
  // src/contexts/element-context.tsx
@@ -242,8 +242,8 @@ function EditorPanelErrorFallback() {
242
242
 
243
243
  // src/components/editing-panel-tabs.tsx
244
244
  var React60 = __toESM(require("react"));
245
- var import_react14 = require("react");
246
- var import_ui50 = require("@elementor/ui");
245
+ var import_react15 = require("react");
246
+ var import_ui49 = require("@elementor/ui");
247
247
  var import_i18n39 = require("@wordpress/i18n");
248
248
 
249
249
  // src/components/settings-tab.tsx
@@ -312,20 +312,33 @@ var getGridLayout = (layout) => ({
312
312
  var React9 = __toESM(require("react"));
313
313
  var import_editor_controls3 = require("@elementor/editor-controls");
314
314
  var import_editor_elements = require("@elementor/editor-elements");
315
+
316
+ // src/controls-registry/create-top-level-object-type.ts
317
+ var createTopLevelOjectType = ({ schema }) => {
318
+ const schemaPropType = {
319
+ key: "",
320
+ kind: "object",
321
+ meta: {},
322
+ settings: {},
323
+ default: null,
324
+ shape: schema
325
+ };
326
+ return schemaPropType;
327
+ };
328
+
329
+ // src/controls-registry/settings-field.tsx
315
330
  var SettingsField = ({ bind, children }) => {
316
331
  const { element, elementType } = useElement();
317
- const defaultValue = elementType.propsSchema[bind]?.default;
318
332
  const settingsValue = (0, import_editor_elements.useElementSetting)(element.id, bind);
319
- const value = settingsValue ?? defaultValue ?? null;
333
+ const value = { [bind]: settingsValue };
334
+ const propType = createTopLevelOjectType({ schema: elementType.propsSchema });
320
335
  const setValue = (newValue) => {
321
336
  (0, import_editor_elements.updateSettings)({
322
337
  id: element.id,
323
- props: {
324
- [bind]: newValue
325
- }
338
+ props: { ...newValue }
326
339
  });
327
340
  };
328
- return /* @__PURE__ */ React9.createElement(import_editor_controls3.BoundPropProvider, { setValue, value, bind }, children);
341
+ return /* @__PURE__ */ React9.createElement(import_editor_controls3.PropProvider, { propType, value, setValue }, /* @__PURE__ */ React9.createElement(import_editor_controls3.PropKeyProvider, { bind }, children));
329
342
  };
330
343
 
331
344
  // src/components/section.tsx
@@ -397,10 +410,10 @@ var Control2 = ({ control }) => {
397
410
 
398
411
  // src/components/style-tab.tsx
399
412
  var React59 = __toESM(require("react"));
400
- var import_react13 = require("react");
413
+ var import_react14 = require("react");
401
414
  var import_editor_elements5 = require("@elementor/editor-elements");
402
415
  var import_editor_responsive = require("@elementor/editor-responsive");
403
- var import_ui49 = require("@elementor/ui");
416
+ var import_ui48 = require("@elementor/ui");
404
417
  var import_i18n38 = require("@wordpress/i18n");
405
418
 
406
419
  // src/contexts/classes-prop-context.tsx
@@ -420,12 +433,12 @@ function useClassesProp() {
420
433
 
421
434
  // src/components/css-class-selector.tsx
422
435
  var React16 = __toESM(require("react"));
423
- var import_react8 = require("react");
436
+ var import_react9 = require("react");
424
437
  var import_editor_elements2 = require("@elementor/editor-elements");
425
438
  var import_editor_props = require("@elementor/editor-props");
426
439
  var import_editor_styles_repository = require("@elementor/editor-styles-repository");
427
440
  var import_icons4 = require("@elementor/icons");
428
- var import_ui11 = require("@elementor/ui");
441
+ var import_ui10 = require("@elementor/ui");
429
442
  var import_i18n2 = require("@wordpress/i18n");
430
443
 
431
444
  // src/components/conditional-tooltip-wrapper.tsx
@@ -463,75 +476,21 @@ var Content = React14.forwardRef(({ maxWidth, ...tooltipProps }, ref) => /* @__P
463
476
  }
464
477
  ));
465
478
 
466
- // src/components/multi-combobox/multi-combobox.tsx
479
+ // src/components/multi-combobox.tsx
467
480
  var React15 = __toESM(require("react"));
468
- var import_ui10 = require("@elementor/ui");
469
-
470
- // src/components/multi-combobox/use-combobox-actions.ts
481
+ var import_react8 = require("react");
471
482
  var import_ui9 = require("@elementor/ui");
472
- var useComboboxActions = (applied, actions, optionsLabel, onSelect) => ({
473
- action: {
474
- is: (opt) => typeof opt !== "string" && "action" in opt,
475
- getLabel: (option) => option.action.getLabel(option.label),
476
- groupBy: (option) => option.action.groupLabel,
477
- onChange: ({ action, label }) => action?.apply(label),
478
- getFilteredActions: (optionList, params) => {
479
- const actionGroups = Object.values(actions);
480
- return actionGroups.reduce((groups, group) => {
481
- const actionOptions = group.actions.reduce((groupActions, action) => {
482
- const shouldShowAction = action.condition(optionList, params.inputValue);
483
- if (shouldShowAction) {
484
- const actionOption = createActionOption(group.label, action, params.inputValue);
485
- groupActions.unshift(actionOption);
486
- }
487
- return groupActions;
488
- }, []);
489
- return [...groups, ...actionOptions];
490
- }, []);
491
- }
492
- },
493
- option: {
494
- is: (opt) => typeof opt !== "string" && !("action" in opt),
495
- getLabel: (option) => option.label,
496
- groupBy: () => optionsLabel ?? "",
497
- onChange: (optionValues) => onSelect?.(optionValues),
498
- getFilteredOptions: (optionList, params) => {
499
- const appliedValues = applied.map((option) => option.value);
500
- const optionsWithoutApplied = optionList.filter((option) => !appliedValues.includes(option.value));
501
- return filter(optionsWithoutApplied, params);
502
- }
503
- }
504
- });
505
- var filter = (0, import_ui9.createFilterOptions)();
506
- var createActionOption = (groupLabel, action, inputValue) => ({
507
- value: "",
508
- label: inputValue,
509
- action: {
510
- groupLabel,
511
- apply: action.apply,
512
- getLabel: action.getLabel
513
- }
514
- });
515
-
516
- // src/components/multi-combobox/multi-combobox.tsx
517
- var MultiCombobox = ({
518
- actions = {},
483
+ function MultiCombobox({
484
+ actions = [],
519
485
  selected,
520
486
  options: options10,
521
- optionsLabel,
522
487
  onSelect,
523
- onCreate,
524
488
  ...props
525
- }) => {
526
- const { action: actionProps, option: optionProps } = useComboboxActions(
527
- selected,
528
- actions,
529
- // TODO: make the group mechanism more generic, allow passing list of groups.
530
- optionsLabel,
531
- onSelect
532
- );
489
+ }) {
490
+ const filter = useFilterOptions();
491
+ const { run, loading } = useActionRunner();
533
492
  return /* @__PURE__ */ React15.createElement(
534
- import_ui10.Autocomplete,
493
+ import_ui9.Autocomplete,
535
494
  {
536
495
  ...props,
537
496
  freeSolo: true,
@@ -540,57 +499,94 @@ var MultiCombobox = ({
540
499
  selectOnFocus: true,
541
500
  disableClearable: true,
542
501
  handleHomeEndKeys: true,
502
+ disabled: loading,
543
503
  value: selected,
544
504
  options: options10,
545
- renderGroup,
546
- renderInput: (params) => /* @__PURE__ */ React15.createElement(import_ui10.TextField, { ...params }),
547
- getLimitTagsText: (more) => /* @__PURE__ */ React15.createElement(import_ui10.Chip, { size: "tiny", variant: "standard", label: `+${more}`, clickable: true }),
548
- onChange: (_, selectedOrTypedValue, reason) => {
505
+ renderGroup: (params) => /* @__PURE__ */ React15.createElement(Group, { ...params }),
506
+ renderInput: (params) => /* @__PURE__ */ React15.createElement(import_ui9.TextField, { ...params }),
507
+ onChange: (_, selectedOrInputValue, reason) => {
508
+ const inputValue = selectedOrInputValue.find((option) => typeof option === "string");
509
+ const optionsAndActions = selectedOrInputValue.filter((option) => typeof option !== "string");
549
510
  if (reason === "createOption") {
550
- const typedValue = selectedOrTypedValue.find((option) => typeof option === "string");
551
- return typedValue && onCreate?.(typedValue);
511
+ const [firstAction] = filterActions(actions, { options: options10, inputValue: inputValue ?? "" });
512
+ if (firstAction) {
513
+ return run(firstAction.apply, firstAction.value);
514
+ }
552
515
  }
553
- const action = selectedOrTypedValue.find((value) => actionProps.is(value));
516
+ const action = optionsAndActions.find((value) => isAction(value));
554
517
  if (reason === "selectOption" && action) {
555
- return actionProps.onChange(action);
518
+ return run(action.apply, action.value);
556
519
  }
557
- const selectedValues = selectedOrTypedValue.filter((v) => typeof v !== "string");
558
- const fixedValues = options10.filter((option) => option.fixed);
559
- optionProps.onChange([.../* @__PURE__ */ new Set([...fixedValues, ...selectedValues])]);
520
+ const fixedValues = options10.filter((option) => !!option.fixed);
521
+ onSelect?.([.../* @__PURE__ */ new Set([...optionsAndActions, ...fixedValues])]);
560
522
  },
561
- getOptionLabel: (option) => {
562
- if (optionProps.is(option)) {
563
- return optionProps.getLabel(option);
564
- }
565
- if (actionProps.is(option)) {
566
- return actionProps.getLabel(option);
523
+ getOptionLabel: (option) => typeof option === "string" ? option : option.label,
524
+ getOptionKey: (option) => {
525
+ if (typeof option === "string") {
526
+ return option;
567
527
  }
568
- return "";
528
+ return option.key ?? option.value;
569
529
  },
570
530
  filterOptions: (optionList, params) => {
571
- const filteredOptions = optionProps.getFilteredOptions(optionList, params);
572
- const actionOptions = actionProps.getFilteredActions(optionList, params);
573
- return [...actionOptions, ...filteredOptions];
531
+ const selectedValues = selected.map((option) => option.value);
532
+ return [
533
+ ...filterActions(actions, { options: optionList, inputValue: params.inputValue }),
534
+ ...filter(
535
+ optionList.filter((option) => !selectedValues.includes(option.value)),
536
+ params
537
+ )
538
+ ];
574
539
  },
575
- groupBy: (option) => (optionProps.is(option) ? optionProps.groupBy() : actionProps.groupBy(option)) ?? ""
540
+ groupBy: (option) => option.group ?? ""
576
541
  }
577
542
  );
543
+ }
544
+ var Group = (params) => {
545
+ const id = `combobox-group-${(0, import_react8.useId)().replace(/:/g, "_")}`;
546
+ return /* @__PURE__ */ React15.createElement(StyledGroup, { role: "group", "aria-labelledby": id }, /* @__PURE__ */ React15.createElement(StyledGroupHeader, { id }, " ", params.group), /* @__PURE__ */ React15.createElement(StyledGroupItems, { role: "listbox" }, params.children));
578
547
  };
579
- var renderGroup = (params) => /* @__PURE__ */ React15.createElement(Group, { key: params.key }, /* @__PURE__ */ React15.createElement(GroupHeader, null, params.group), /* @__PURE__ */ React15.createElement(GroupItems, null, params.children));
580
- var Group = (0, import_ui10.styled)("li")`
548
+ var StyledGroup = (0, import_ui9.styled)("li")`
581
549
  &:not( :last-of-type ) {
582
550
  border-bottom: 1px solid ${({ theme }) => theme.palette.divider};
583
551
  }
584
552
  `;
585
- var GroupHeader = (0, import_ui10.styled)(import_ui10.Box)(({ theme }) => ({
553
+ var StyledGroupHeader = (0, import_ui9.styled)(import_ui9.Box)(({ theme }) => ({
586
554
  position: "sticky",
587
555
  top: "-8px",
588
556
  padding: theme.spacing(1, 2),
589
557
  color: theme.palette.text.tertiary
590
558
  }));
591
- var GroupItems = (0, import_ui10.styled)("ul")`
559
+ var StyledGroupItems = (0, import_ui9.styled)("ul")`
592
560
  padding: 0;
593
561
  `;
562
+ function useFilterOptions() {
563
+ return (0, import_react8.useState)(() => (0, import_ui9.createFilterOptions)())[0];
564
+ }
565
+ function useActionRunner() {
566
+ const [loading, setLoading] = (0, import_react8.useState)(false);
567
+ const run = async (apply, value) => {
568
+ setLoading(true);
569
+ try {
570
+ await apply(value);
571
+ } catch {
572
+ }
573
+ setLoading(false);
574
+ };
575
+ return { run, loading };
576
+ }
577
+ function filterActions(actions, { options: options10, inputValue }) {
578
+ return actions.filter((action) => action.condition(options10, inputValue)).map((action, index) => ({
579
+ label: action.label(inputValue),
580
+ value: inputValue,
581
+ group: action.group,
582
+ apply: action.apply,
583
+ condition: action.condition,
584
+ key: index.toString()
585
+ }));
586
+ }
587
+ function isAction(option) {
588
+ return "apply" in option && "condition" in option;
589
+ }
594
590
 
595
591
  // src/components/css-class-selector.tsx
596
592
  var ID = "elementor-css-class-selector";
@@ -604,13 +600,14 @@ var EMPTY_OPTION = {
604
600
  };
605
601
  function CssClassSelector() {
606
602
  const options10 = useOptions();
607
- const [appliedIds, setAppliedIds] = useAppliedClassesIds();
603
+ const { value: appliedIds, setValue: setAppliedIds, pushValue: pushAppliedId } = useAppliedClassesIds();
608
604
  const { id: activeId, setId: setActiveId } = useStyle();
605
+ const actions = useCreateActions({ pushAppliedId, setActiveId });
609
606
  const handleApply = useHandleApply(appliedIds, setAppliedIds);
610
607
  const handleActivate = ({ value }) => setActiveId(value);
611
608
  const applied = useAppliedOptions(options10, appliedIds);
612
609
  const active = applied.find((option) => option.value === activeId) ?? EMPTY_OPTION;
613
- return /* @__PURE__ */ React16.createElement(import_ui11.Stack, { gap: 1, p: 2 }, /* @__PURE__ */ React16.createElement(import_ui11.Typography, { component: "label", variant: "caption", htmlFor: ID }, (0, import_i18n2.__)("CSS Classes", "elementor")), /* @__PURE__ */ React16.createElement(
610
+ return /* @__PURE__ */ React16.createElement(import_ui10.Stack, { gap: 1, p: 2 }, /* @__PURE__ */ React16.createElement(import_ui10.Typography, { component: "label", variant: "caption", htmlFor: ID }, (0, import_i18n2.__)("CSS Classes", "elementor")), /* @__PURE__ */ React16.createElement(
614
611
  MultiCombobox,
615
612
  {
616
613
  id: ID,
@@ -619,7 +616,8 @@ function CssClassSelector() {
619
616
  selected: applied,
620
617
  onSelect: handleApply,
621
618
  limitTags: TAGS_LIMIT,
622
- optionsLabel: (0, import_i18n2.__)("Global CSS Classes", "elementor"),
619
+ actions,
620
+ getLimitTagsText: (more) => /* @__PURE__ */ React16.createElement(import_ui10.Chip, { size: "tiny", variant: "standard", label: `+${more}`, clickable: true }),
623
621
  renderTags: (values, getTagProps) => values.map((value, index) => {
624
622
  const chipProps = getTagProps({ index });
625
623
  const isActive = value.value === active?.value;
@@ -642,15 +640,15 @@ function CssClassSelector() {
642
640
  }
643
641
  function CssClassItem({ id, label, isActive, isGlobal, color, chipProps, onClickActive }) {
644
642
  const { meta } = useStyle();
645
- const popupId = (0, import_react8.useId)().replace(/:/g, "_");
646
- const popupState = (0, import_ui11.usePopupState)({ variant: "popover", popupId });
647
- const chipRef = (0, import_react8.useRef)(null);
643
+ const popupId = (0, import_react9.useId)().replace(/:/g, "_");
644
+ const popupState = (0, import_ui10.usePopupState)({ variant: "popover", popupId });
645
+ const chipRef = (0, import_react9.useRef)(null);
648
646
  const { onDelete, ...chipGroupProps } = chipProps;
649
- return /* @__PURE__ */ React16.createElement(CssClassItemProvider, { styleId: id, isActive, isGlobal }, /* @__PURE__ */ React16.createElement(import_ui11.UnstableChipGroup, { ref: chipRef, ...chipGroupProps, "aria-label": `Edit ${label}`, role: "group" }, /* @__PURE__ */ React16.createElement(
650
- import_ui11.Chip,
647
+ return /* @__PURE__ */ React16.createElement(CssClassItemProvider, { styleId: id, isActive, isGlobal }, /* @__PURE__ */ React16.createElement(import_ui10.UnstableChipGroup, { ref: chipRef, ...chipGroupProps, "aria-label": `Edit ${label}`, role: "group" }, /* @__PURE__ */ React16.createElement(
648
+ import_ui10.Chip,
651
649
  {
652
650
  key: chipProps.key,
653
- size: "small",
651
+ size: "tiny",
654
652
  label: /* @__PURE__ */ React16.createElement(ConditionalTooltipWrapper, { maxWidth: "10ch", title: label }),
655
653
  variant: isActive && !meta.state ? "filled" : "standard",
656
654
  color,
@@ -658,34 +656,64 @@ function CssClassItem({ id, label, isActive, isGlobal, color, chipProps, onClick
658
656
  "aria-pressed": isActive
659
657
  }
660
658
  ), /* @__PURE__ */ React16.createElement(
661
- import_ui11.Chip,
659
+ import_ui10.Chip,
662
660
  {
663
661
  key: `${chipProps.key}-menu`,
664
- size: "small",
665
- label: /* @__PURE__ */ React16.createElement(import_ui11.Stack, { direction: "row", gap: 0.5, alignItems: "center" }, isActive && meta.state && /* @__PURE__ */ React16.createElement(import_ui11.Typography, { variant: "inherit" }, meta.state), /* @__PURE__ */ React16.createElement(import_icons4.DotsVerticalIcon, { fontSize: "inherit" })),
662
+ size: "tiny",
663
+ label: /* @__PURE__ */ React16.createElement(import_ui10.Stack, { direction: "row", gap: 0.5, alignItems: "center" }, isActive && meta.state && /* @__PURE__ */ React16.createElement(import_ui10.Typography, { variant: "inherit" }, meta.state), /* @__PURE__ */ React16.createElement(import_icons4.DotsVerticalIcon, { fontSize: "inherit" })),
666
664
  variant: "filled",
667
665
  color,
668
- ...(0, import_ui11.bindTrigger)(popupState),
666
+ ...(0, import_ui10.bindTrigger)(popupState),
669
667
  "aria-label": (0, import_i18n2.__)("Open CSS Class Menu", "elementor")
670
668
  }
671
669
  )), /* @__PURE__ */ React16.createElement(CssClassMenu, { popupState, containerRef: chipRef }));
672
670
  }
673
671
  function useOptions() {
674
672
  const { element } = useElement();
675
- return (0, import_editor_styles_repository.useAllStylesByProvider)({ elementId: element.id }).flatMap(([providerKey, styleDefs]) => {
676
- const isElements = providerKey === import_editor_styles_repository.ELEMENTS_STYLES_PROVIDER_KEY;
677
- if (isElements && styleDefs.length === 0) {
678
- return [EMPTY_OPTION];
673
+ return (0, import_editor_styles_repository.useAllStylesByProvider)({ elementId: element.id }).flatMap(
674
+ ([provider, styleDefs]) => {
675
+ const isElements = provider.key === import_editor_styles_repository.ELEMENTS_STYLES_PROVIDER_KEY;
676
+ if (isElements && styleDefs.length === 0) {
677
+ return [EMPTY_OPTION];
678
+ }
679
+ return styleDefs.map((styleDef) => {
680
+ return {
681
+ label: styleDef.label,
682
+ value: styleDef.id,
683
+ fixed: isElements,
684
+ color: isElements ? "primary" : "global",
685
+ provider: provider.key,
686
+ group: provider.labels?.plural
687
+ };
688
+ });
679
689
  }
680
- return styleDefs.map((styleDef) => {
681
- return {
682
- label: styleDef.label,
683
- value: styleDef.id,
684
- fixed: isElements,
685
- color: isElements ? "primary" : "global",
686
- provider: providerKey
687
- };
688
- });
690
+ );
691
+ }
692
+ function useCreateActions({
693
+ pushAppliedId,
694
+ setActiveId
695
+ }) {
696
+ return (0, import_editor_styles_repository.useCreateActionsByProvider)().map(([provider, create]) => {
697
+ return {
698
+ // translators: %s is the label of the new class.
699
+ label: (value) => (0, import_i18n2.__)('Create new "%s"', "elementor").replace("%s", value),
700
+ apply: async (value) => {
701
+ const created = await create({ label: value });
702
+ if (!created) {
703
+ return;
704
+ }
705
+ pushAppliedId(created.id);
706
+ setActiveId(created.id);
707
+ },
708
+ condition: (options10, inputValue) => {
709
+ const isUniqueLabel = !options10.some(
710
+ (option) => option.label.toLowerCase() === inputValue.toLowerCase()
711
+ );
712
+ return !!inputValue && isUniqueLabel;
713
+ },
714
+ // translators: %s is the singular label of css class provider (e.g "Global CSS Class").
715
+ group: (0, import_i18n2.__)("Create New %s", "elementor").replace("%s", provider.labels?.singular ?? "")
716
+ };
689
717
  });
690
718
  }
691
719
  function useAppliedOptions(options10, appliedIds) {
@@ -710,7 +738,15 @@ function useAppliedClassesIds() {
710
738
  }
711
739
  });
712
740
  };
713
- return [value, setValue];
741
+ const pushValue = (id) => {
742
+ const ids = (0, import_editor_elements2.getElementSetting)(element.id, currentClassesProp)?.value || [];
743
+ setValue([...ids, id]);
744
+ };
745
+ return {
746
+ value,
747
+ setValue,
748
+ pushValue
749
+ };
714
750
  }
715
751
  function useHandleApply(appliedIds, setAppliedIds) {
716
752
  const { id: activeId, setId: setActiveId } = useStyle();
@@ -740,6 +776,7 @@ var import_editor_controls6 = require("@elementor/editor-controls");
740
776
  // src/controls-registry/styles-field.tsx
741
777
  var React17 = __toESM(require("react"));
742
778
  var import_editor_controls5 = require("@elementor/editor-controls");
779
+ var import_editor_styles = require("@elementor/editor-styles");
743
780
 
744
781
  // src/hooks/use-styles-fields.ts
745
782
  var import_editor_elements3 = require("@elementor/editor-elements");
@@ -782,7 +819,13 @@ function useStylesField(propName) {
782
819
  // src/controls-registry/styles-field.tsx
783
820
  var StylesField = ({ bind, children }) => {
784
821
  const [value, setValue] = useStylesField(bind);
785
- return /* @__PURE__ */ React17.createElement(import_editor_controls5.BoundPropProvider, { setValue, value, bind }, children);
822
+ const stylesSchema = (0, import_editor_styles.getStylesSchema)();
823
+ const propType = createTopLevelOjectType({ schema: stylesSchema });
824
+ const values = { [bind]: value };
825
+ const setValues = (newValue) => {
826
+ setValue(newValue[bind]);
827
+ };
828
+ return /* @__PURE__ */ React17.createElement(import_editor_controls5.PropProvider, { propType, value: values, setValue: setValues }, /* @__PURE__ */ React17.createElement(import_editor_controls5.PropKeyProvider, { bind }, children));
786
829
  };
787
830
 
788
831
  // src/components/style-sections/background-section/background-section.tsx
@@ -792,7 +835,7 @@ var BackgroundSection = () => {
792
835
 
793
836
  // src/components/style-sections/border-section/border-section.tsx
794
837
  var React25 = __toESM(require("react"));
795
- var import_ui15 = require("@elementor/ui");
838
+ var import_ui14 = require("@elementor/ui");
796
839
 
797
840
  // src/components/style-sections/border-section/border-field.tsx
798
841
  var React23 = __toESM(require("react"));
@@ -802,11 +845,11 @@ var import_i18n7 = require("@wordpress/i18n");
802
845
  var React19 = __toESM(require("react"));
803
846
  var import_editor_controls7 = require("@elementor/editor-controls");
804
847
  var import_icons5 = require("@elementor/icons");
805
- var import_ui12 = require("@elementor/ui");
848
+ var import_ui11 = require("@elementor/ui");
806
849
  var SIZE2 = "tiny";
807
850
  var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
808
- return /* @__PURE__ */ React19.createElement(import_ui12.Stack, { gap: 1.5 }, /* @__PURE__ */ React19.createElement(
809
- import_ui12.Stack,
851
+ return /* @__PURE__ */ React19.createElement(import_ui11.Stack, { gap: 1.5 }, /* @__PURE__ */ React19.createElement(
852
+ import_ui11.Stack,
810
853
  {
811
854
  direction: "row",
812
855
  sx: {
@@ -815,23 +858,23 @@ var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
815
858
  }
816
859
  },
817
860
  /* @__PURE__ */ React19.createElement(import_editor_controls7.ControlLabel, null, label),
818
- isAdded ? /* @__PURE__ */ React19.createElement(import_ui12.IconButton, { size: SIZE2, onClick: onRemove }, /* @__PURE__ */ React19.createElement(import_icons5.MinusIcon, { fontSize: SIZE2 })) : /* @__PURE__ */ React19.createElement(import_ui12.IconButton, { size: SIZE2, onClick: onAdd }, /* @__PURE__ */ React19.createElement(import_icons5.PlusIcon, { fontSize: SIZE2 }))
819
- ), /* @__PURE__ */ React19.createElement(import_ui12.Collapse, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React19.createElement(import_ui12.Stack, { gap: 1.5 }, children)));
861
+ isAdded ? /* @__PURE__ */ React19.createElement(import_ui11.IconButton, { size: SIZE2, onClick: onRemove }, /* @__PURE__ */ React19.createElement(import_icons5.MinusIcon, { fontSize: SIZE2 })) : /* @__PURE__ */ React19.createElement(import_ui11.IconButton, { size: SIZE2, onClick: onAdd }, /* @__PURE__ */ React19.createElement(import_icons5.PlusIcon, { fontSize: SIZE2 }))
862
+ ), /* @__PURE__ */ React19.createElement(import_ui11.Collapse, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React19.createElement(import_ui11.Stack, { gap: 1.5 }, children)));
820
863
  };
821
864
 
822
865
  // src/components/style-sections/border-section/border-color-field.tsx
823
866
  var React20 = __toESM(require("react"));
824
867
  var import_editor_controls8 = require("@elementor/editor-controls");
825
- var import_ui13 = require("@elementor/ui");
868
+ var import_ui12 = require("@elementor/ui");
826
869
  var import_i18n4 = require("@wordpress/i18n");
827
870
  var BorderColorField = () => {
828
- return /* @__PURE__ */ React20.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React20.createElement(import_ui13.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React20.createElement(import_ui13.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React20.createElement(import_editor_controls8.ControlLabel, null, (0, import_i18n4.__)("Border Color", "elementor"))), /* @__PURE__ */ React20.createElement(import_ui13.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React20.createElement(import_editor_controls8.ColorControl, null))));
871
+ return /* @__PURE__ */ React20.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React20.createElement(import_ui12.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React20.createElement(import_ui12.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React20.createElement(import_editor_controls8.ControlLabel, null, (0, import_i18n4.__)("Border Color", "elementor"))), /* @__PURE__ */ React20.createElement(import_ui12.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React20.createElement(import_editor_controls8.ColorControl, null))));
829
872
  };
830
873
 
831
874
  // src/components/style-sections/border-section/border-style-field.tsx
832
875
  var React21 = __toESM(require("react"));
833
876
  var import_editor_controls9 = require("@elementor/editor-controls");
834
- var import_ui14 = require("@elementor/ui");
877
+ var import_ui13 = require("@elementor/ui");
835
878
  var import_i18n5 = require("@wordpress/i18n");
836
879
  var borderStyles = [
837
880
  { value: "none", label: (0, import_i18n5.__)("None", "elementor") },
@@ -845,7 +888,7 @@ var borderStyles = [
845
888
  { value: "outset", label: (0, import_i18n5.__)("Outset", "elementor") }
846
889
  ];
847
890
  var BorderStyleField = () => {
848
- return /* @__PURE__ */ React21.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React21.createElement(import_ui14.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React21.createElement(import_ui14.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React21.createElement(import_editor_controls9.ControlLabel, null, (0, import_i18n5.__)("Border Type", "elementor"))), /* @__PURE__ */ React21.createElement(import_ui14.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React21.createElement(import_editor_controls9.SelectControl, { options: borderStyles }))));
891
+ return /* @__PURE__ */ React21.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React21.createElement(import_ui13.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React21.createElement(import_ui13.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React21.createElement(import_editor_controls9.ControlLabel, null, (0, import_i18n5.__)("Border Type", "elementor"))), /* @__PURE__ */ React21.createElement(import_ui13.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React21.createElement(import_editor_controls9.SelectControl, { options: borderStyles }))));
849
892
  };
850
893
 
851
894
  // src/components/style-sections/border-section/border-width-field.tsx
@@ -889,11 +932,7 @@ var BorderWidthField = () => {
889
932
  };
890
933
 
891
934
  // src/components/style-sections/border-section/border-field.tsx
892
- var initialSize = { $$type: "size", value: { size: 1, unit: "px" } };
893
- var initialBorderWidth = {
894
- $$type: "border-width",
895
- value: { top: initialSize, right: initialSize, bottom: initialSize, left: initialSize }
896
- };
935
+ var initialBorderWidth = { $$type: "size", value: { size: 1, unit: "px" } };
897
936
  var initialBorderColor = { $$type: "color", value: "#000000" };
898
937
  var initialBorderStyle = "solid";
899
938
  var BorderField = () => {
@@ -966,21 +1005,21 @@ var BorderRadiusField = () => {
966
1005
  };
967
1006
 
968
1007
  // src/components/style-sections/border-section/border-section.tsx
969
- var BorderSection = () => /* @__PURE__ */ React25.createElement(import_ui15.Stack, { gap: 1.5 }, /* @__PURE__ */ React25.createElement(BorderRadiusField, null), /* @__PURE__ */ React25.createElement(import_ui15.Divider, null), /* @__PURE__ */ React25.createElement(BorderField, null));
1008
+ var BorderSection = () => /* @__PURE__ */ React25.createElement(import_ui14.Stack, { gap: 1.5 }, /* @__PURE__ */ React25.createElement(BorderRadiusField, null), /* @__PURE__ */ React25.createElement(import_ui14.Divider, null), /* @__PURE__ */ React25.createElement(BorderField, null));
970
1009
 
971
1010
  // src/components/style-sections/effects-section/effects-section.tsx
972
1011
  var React26 = __toESM(require("react"));
973
1012
  var import_editor_controls12 = require("@elementor/editor-controls");
974
- var import_ui16 = require("@elementor/ui");
1013
+ var import_ui15 = require("@elementor/ui");
975
1014
  var EffectsSection = () => {
976
- return /* @__PURE__ */ React26.createElement(import_ui16.Stack, { gap: 1.5 }, /* @__PURE__ */ React26.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React26.createElement(import_editor_controls12.BoxShadowRepeaterControl, null)));
1015
+ return /* @__PURE__ */ React26.createElement(import_ui15.Stack, { gap: 1.5 }, /* @__PURE__ */ React26.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React26.createElement(import_editor_controls12.BoxShadowRepeaterControl, null)));
977
1016
  };
978
1017
 
979
1018
  // src/components/style-sections/layout-section/layout-section.tsx
980
1019
  var React37 = __toESM(require("react"));
981
1020
  var import_editor_controls22 = require("@elementor/editor-controls");
982
1021
  var import_editor_elements4 = require("@elementor/editor-elements");
983
- var import_ui28 = require("@elementor/ui");
1022
+ var import_ui27 = require("@elementor/ui");
984
1023
  var import_i18n18 = require("@wordpress/i18n");
985
1024
 
986
1025
  // src/hooks/use-computed-style.ts
@@ -1012,21 +1051,21 @@ function useComputedStyle(elementId) {
1012
1051
  var React28 = __toESM(require("react"));
1013
1052
  var import_editor_controls13 = require("@elementor/editor-controls");
1014
1053
  var import_icons8 = require("@elementor/icons");
1015
- var import_ui19 = require("@elementor/ui");
1054
+ var import_ui18 = require("@elementor/ui");
1016
1055
  var import_i18n9 = require("@wordpress/i18n");
1017
1056
 
1018
1057
  // src/hooks/use-direction.ts
1019
- var import_ui17 = require("@elementor/ui");
1058
+ var import_ui16 = require("@elementor/ui");
1020
1059
  function useDirection() {
1021
- const theme = (0, import_ui17.useTheme)(), extendedWindow = window;
1060
+ const theme = (0, import_ui16.useTheme)(), extendedWindow = window;
1022
1061
  const isUiRtl = "rtl" === theme.direction, isSiteRtl = !!extendedWindow.elementorFrontend?.config?.is_rtl;
1023
1062
  return { isSiteRtl, isUiRtl };
1024
1063
  }
1025
1064
 
1026
1065
  // src/components/style-sections/layout-section/utils/rotated-icon.tsx
1027
1066
  var React27 = __toESM(require("react"));
1028
- var import_react9 = require("react");
1029
- var import_ui18 = require("@elementor/ui");
1067
+ var import_react10 = require("react");
1068
+ var import_ui17 = require("@elementor/ui");
1030
1069
  var CLOCKWISE_ANGLES = {
1031
1070
  row: 0,
1032
1071
  column: 90,
@@ -1040,13 +1079,13 @@ var COUNTER_CLOCKWISE_ANGLES = {
1040
1079
  "column-reverse": -270
1041
1080
  };
1042
1081
  var RotatedIcon = ({ icon: Icon, size, isClockwise = true, offset = 0 }) => {
1043
- const rotate = (0, import_react9.useRef)(useGetTargetAngle(isClockwise, offset));
1082
+ const rotate = (0, import_react10.useRef)(useGetTargetAngle(isClockwise, offset));
1044
1083
  rotate.current = useGetTargetAngle(isClockwise, offset, rotate);
1045
1084
  return /* @__PURE__ */ React27.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
1046
1085
  };
1047
1086
  var useGetTargetAngle = (isClockwise, offset, existingRef) => {
1048
1087
  const [direction] = useStylesField("flex-direction");
1049
- const isRtl = "rtl" === (0, import_ui18.useTheme)().direction;
1088
+ const isRtl = "rtl" === (0, import_ui17.useTheme)().direction;
1050
1089
  const rotationMultiplier = isRtl ? -1 : 1;
1051
1090
  const angleMap = isClockwise ? CLOCKWISE_ANGLES : COUNTER_CLOCKWISE_ANGLES;
1052
1091
  const currentAngle = existingRef ? existingRef.current * rotationMultiplier : angleMap[direction?.value || "row"] + offset;
@@ -1057,8 +1096,8 @@ var useGetTargetAngle = (isClockwise, offset, existingRef) => {
1057
1096
  };
1058
1097
 
1059
1098
  // src/components/style-sections/layout-section/align-items-field.tsx
1060
- var StartIcon = (0, import_ui19.withDirection)(import_icons8.LayoutAlignLeftIcon);
1061
- var EndIcon = (0, import_ui19.withDirection)(import_icons8.LayoutAlignRightIcon);
1099
+ var StartIcon = (0, import_ui18.withDirection)(import_icons8.LayoutAlignLeftIcon);
1100
+ var EndIcon = (0, import_ui18.withDirection)(import_icons8.LayoutAlignRightIcon);
1062
1101
  var iconProps = {
1063
1102
  isClockwise: false,
1064
1103
  offset: 90
@@ -1091,17 +1130,17 @@ var options = [
1091
1130
  ];
1092
1131
  var AlignItemsField = () => {
1093
1132
  const { isSiteRtl } = useDirection();
1094
- return /* @__PURE__ */ React28.createElement(import_ui19.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React28.createElement(import_ui19.ThemeProvider, null, /* @__PURE__ */ React28.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React28.createElement(import_ui19.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React28.createElement(import_ui19.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React28.createElement(import_editor_controls13.ControlLabel, null, (0, import_i18n9.__)("Align items", "elementor"))), /* @__PURE__ */ React28.createElement(import_ui19.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React28.createElement(import_editor_controls13.ToggleControl, { options }))))));
1133
+ return /* @__PURE__ */ React28.createElement(import_ui18.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React28.createElement(import_ui18.ThemeProvider, null, /* @__PURE__ */ React28.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React28.createElement(import_ui18.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React28.createElement(import_ui18.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React28.createElement(import_editor_controls13.ControlLabel, null, (0, import_i18n9.__)("Align items", "elementor"))), /* @__PURE__ */ React28.createElement(import_ui18.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React28.createElement(import_editor_controls13.ToggleControl, { options }))))));
1095
1134
  };
1096
1135
 
1097
1136
  // src/components/style-sections/layout-section/align-self-child-field.tsx
1098
1137
  var React29 = __toESM(require("react"));
1099
1138
  var import_editor_controls14 = require("@elementor/editor-controls");
1100
1139
  var import_icons9 = require("@elementor/icons");
1101
- var import_ui20 = require("@elementor/ui");
1140
+ var import_ui19 = require("@elementor/ui");
1102
1141
  var import_i18n10 = require("@wordpress/i18n");
1103
- var StartIcon2 = (0, import_ui20.withDirection)(import_icons9.LayoutAlignLeftIcon);
1104
- var EndIcon2 = (0, import_ui20.withDirection)(import_icons9.LayoutAlignRightIcon);
1142
+ var StartIcon2 = (0, import_ui19.withDirection)(import_icons9.LayoutAlignLeftIcon);
1143
+ var EndIcon2 = (0, import_ui19.withDirection)(import_icons9.LayoutAlignRightIcon);
1105
1144
  var iconProps2 = {
1106
1145
  isClockwise: false,
1107
1146
  offset: 90
@@ -1134,13 +1173,13 @@ var options2 = [
1134
1173
  ];
1135
1174
  var AlignSelfChild = () => {
1136
1175
  const { isSiteRtl } = useDirection();
1137
- return /* @__PURE__ */ React29.createElement(import_ui20.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React29.createElement(import_ui20.ThemeProvider, null, /* @__PURE__ */ React29.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React29.createElement(import_ui20.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React29.createElement(import_ui20.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React29.createElement(import_editor_controls14.ControlLabel, null, (0, import_i18n10.__)("Align self", "elementor"))), /* @__PURE__ */ React29.createElement(import_ui20.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React29.createElement(import_editor_controls14.ToggleControl, { options: options2 }))))));
1176
+ return /* @__PURE__ */ React29.createElement(import_ui19.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React29.createElement(import_ui19.ThemeProvider, null, /* @__PURE__ */ React29.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React29.createElement(import_ui19.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React29.createElement(import_ui19.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React29.createElement(import_editor_controls14.ControlLabel, null, (0, import_i18n10.__)("Align self", "elementor"))), /* @__PURE__ */ React29.createElement(import_ui19.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React29.createElement(import_editor_controls14.ToggleControl, { options: options2 }))))));
1138
1177
  };
1139
1178
 
1140
1179
  // src/components/style-sections/layout-section/display-field.tsx
1141
1180
  var React30 = __toESM(require("react"));
1142
1181
  var import_editor_controls15 = require("@elementor/editor-controls");
1143
- var import_ui21 = require("@elementor/ui");
1182
+ var import_ui20 = require("@elementor/ui");
1144
1183
  var import_i18n11 = require("@wordpress/i18n");
1145
1184
  var DisplayField = () => {
1146
1185
  const options10 = [
@@ -1155,21 +1194,21 @@ var DisplayField = () => {
1155
1194
  label: (0, import_i18n11.__)("Flex", "elementor")
1156
1195
  }
1157
1196
  ];
1158
- return /* @__PURE__ */ React30.createElement(StylesField, { bind: "display" }, /* @__PURE__ */ React30.createElement(import_ui21.Stack, { gap: 1 }, /* @__PURE__ */ React30.createElement(import_editor_controls15.ControlLabel, null, (0, import_i18n11.__)("Display", "elementor")), /* @__PURE__ */ React30.createElement(import_editor_controls15.ToggleControl, { options: options10, fullWidth: true })));
1197
+ return /* @__PURE__ */ React30.createElement(StylesField, { bind: "display" }, /* @__PURE__ */ React30.createElement(import_ui20.Stack, { gap: 1 }, /* @__PURE__ */ React30.createElement(import_editor_controls15.ControlLabel, null, (0, import_i18n11.__)("Display", "elementor")), /* @__PURE__ */ React30.createElement(import_editor_controls15.ToggleControl, { options: options10, fullWidth: true })));
1159
1198
  };
1160
1199
 
1161
1200
  // src/components/style-sections/layout-section/flex-direction-field.tsx
1162
1201
  var React31 = __toESM(require("react"));
1163
1202
  var import_editor_controls16 = require("@elementor/editor-controls");
1164
1203
  var import_icons10 = require("@elementor/icons");
1165
- var import_ui22 = require("@elementor/ui");
1204
+ var import_ui21 = require("@elementor/ui");
1166
1205
  var import_i18n12 = require("@wordpress/i18n");
1167
1206
  var options3 = [
1168
1207
  {
1169
1208
  value: "row",
1170
1209
  label: (0, import_i18n12.__)("Row", "elementor"),
1171
1210
  renderContent: ({ size }) => {
1172
- const StartIcon4 = (0, import_ui22.withDirection)(import_icons10.ArrowRightIcon);
1211
+ const StartIcon4 = (0, import_ui21.withDirection)(import_icons10.ArrowRightIcon);
1173
1212
  return /* @__PURE__ */ React31.createElement(StartIcon4, { fontSize: size });
1174
1213
  },
1175
1214
  showTooltip: true
@@ -1184,7 +1223,7 @@ var options3 = [
1184
1223
  value: "row-reverse",
1185
1224
  label: (0, import_i18n12.__)("Reversed row", "elementor"),
1186
1225
  renderContent: ({ size }) => {
1187
- const EndIcon4 = (0, import_ui22.withDirection)(import_icons10.ArrowLeftIcon);
1226
+ const EndIcon4 = (0, import_ui21.withDirection)(import_icons10.ArrowLeftIcon);
1188
1227
  return /* @__PURE__ */ React31.createElement(EndIcon4, { fontSize: size });
1189
1228
  },
1190
1229
  showTooltip: true
@@ -1198,15 +1237,15 @@ var options3 = [
1198
1237
  ];
1199
1238
  var FlexDirectionField = () => {
1200
1239
  const { isSiteRtl } = useDirection();
1201
- return /* @__PURE__ */ React31.createElement(import_ui22.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React31.createElement(import_ui22.ThemeProvider, null, /* @__PURE__ */ React31.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React31.createElement(import_ui22.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React31.createElement(import_ui22.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React31.createElement(import_editor_controls16.ControlLabel, null, (0, import_i18n12.__)("Direction", "elementor"))), /* @__PURE__ */ React31.createElement(import_ui22.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React31.createElement(import_editor_controls16.ToggleControl, { options: options3 }))))));
1240
+ return /* @__PURE__ */ React31.createElement(import_ui21.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React31.createElement(import_ui21.ThemeProvider, null, /* @__PURE__ */ React31.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React31.createElement(import_ui21.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React31.createElement(import_ui21.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React31.createElement(import_editor_controls16.ControlLabel, null, (0, import_i18n12.__)("Direction", "elementor"))), /* @__PURE__ */ React31.createElement(import_ui21.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React31.createElement(import_editor_controls16.ToggleControl, { options: options3 }))))));
1202
1241
  };
1203
1242
 
1204
1243
  // src/components/style-sections/layout-section/flex-order-field.tsx
1205
1244
  var React32 = __toESM(require("react"));
1206
- var import_react10 = require("react");
1245
+ var import_react11 = require("react");
1207
1246
  var import_editor_controls17 = require("@elementor/editor-controls");
1208
1247
  var import_icons11 = require("@elementor/icons");
1209
- var import_ui23 = require("@elementor/ui");
1248
+ var import_ui22 = require("@elementor/ui");
1210
1249
  var import_i18n13 = require("@wordpress/i18n");
1211
1250
  var FIRST_DEFAULT_VALUE = -99999;
1212
1251
  var LAST_DEFAULT_VALUE = 99999;
@@ -1239,7 +1278,7 @@ var items = [
1239
1278
  ];
1240
1279
  var FlexOrderField = () => {
1241
1280
  const { isSiteRtl } = useDirection(), [order, setOrder] = useStylesField("order");
1242
- const [groupControlValue, setGroupControlValue] = (0, import_react10.useState)(getGroupControlValue(order?.value || null));
1281
+ const [groupControlValue, setGroupControlValue] = (0, import_react11.useState)(getGroupControlValue(order?.value || null));
1243
1282
  const handleToggleButtonChange = (group) => {
1244
1283
  setGroupControlValue(group);
1245
1284
  if (!group || group === CUSTOM) {
@@ -1248,7 +1287,7 @@ var FlexOrderField = () => {
1248
1287
  }
1249
1288
  setOrder({ $$type: "number", value: orderValueMap[group] });
1250
1289
  };
1251
- return /* @__PURE__ */ React32.createElement(import_ui23.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React32.createElement(import_ui23.ThemeProvider, null, /* @__PURE__ */ React32.createElement(import_ui23.Stack, { gap: 2 }, /* @__PURE__ */ React32.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(import_editor_controls17.ControlLabel, null, (0, import_i18n13.__)("Order", "elementor"))), /* @__PURE__ */ React32.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(
1290
+ return /* @__PURE__ */ React32.createElement(import_ui22.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React32.createElement(import_ui22.ThemeProvider, null, /* @__PURE__ */ React32.createElement(import_ui22.Stack, { gap: 2 }, /* @__PURE__ */ React32.createElement(import_ui22.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(import_ui22.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(import_editor_controls17.ControlLabel, null, (0, import_i18n13.__)("Order", "elementor"))), /* @__PURE__ */ React32.createElement(import_ui22.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(
1252
1291
  import_editor_controls17.ControlToggleButtonGroup,
1253
1292
  {
1254
1293
  items,
@@ -1256,7 +1295,7 @@ var FlexOrderField = () => {
1256
1295
  onChange: handleToggleButtonChange,
1257
1296
  exclusive: true
1258
1297
  }
1259
- ))), CUSTOM === groupControlValue && /* @__PURE__ */ React32.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React32.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(import_editor_controls17.ControlLabel, null, (0, import_i18n13.__)("Custom order", "elementor"))), /* @__PURE__ */ React32.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(
1298
+ ))), CUSTOM === groupControlValue && /* @__PURE__ */ React32.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React32.createElement(import_ui22.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(import_ui22.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(import_editor_controls17.ControlLabel, null, (0, import_i18n13.__)("Custom order", "elementor"))), /* @__PURE__ */ React32.createElement(import_ui22.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(
1260
1299
  import_editor_controls17.NumberControl,
1261
1300
  {
1262
1301
  min: FIRST_DEFAULT_VALUE + 1,
@@ -1279,7 +1318,7 @@ var getGroupControlValue = (order) => {
1279
1318
  var React33 = __toESM(require("react"));
1280
1319
  var import_editor_controls18 = require("@elementor/editor-controls");
1281
1320
  var import_icons12 = require("@elementor/icons");
1282
- var import_ui24 = require("@elementor/ui");
1321
+ var import_ui23 = require("@elementor/ui");
1283
1322
  var import_i18n14 = require("@wordpress/i18n");
1284
1323
  var DEFAULT = 1;
1285
1324
  var items2 = [
@@ -1322,7 +1361,7 @@ var FlexSizeField = () => {
1322
1361
  setGrowField(null);
1323
1362
  setShrinkField({ $$type: "number", value: DEFAULT });
1324
1363
  };
1325
- return /* @__PURE__ */ React33.createElement(import_ui24.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React33.createElement(import_ui24.ThemeProvider, null, /* @__PURE__ */ React33.createElement(import_ui24.Stack, { gap: 2 }, /* @__PURE__ */ React33.createElement(import_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n14.__)("Size", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(
1364
+ return /* @__PURE__ */ React33.createElement(import_ui23.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React33.createElement(import_ui23.ThemeProvider, null, /* @__PURE__ */ React33.createElement(import_ui23.Stack, { gap: 2 }, /* @__PURE__ */ React33.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n14.__)("Size", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(
1326
1365
  import_editor_controls18.ControlToggleButtonGroup,
1327
1366
  {
1328
1367
  value: activeGroup,
@@ -1332,7 +1371,7 @@ var FlexSizeField = () => {
1332
1371
  }
1333
1372
  ))), "custom" === activeGroup && /* @__PURE__ */ React33.createElement(FlexCustomField, null))));
1334
1373
  };
1335
- var FlexCustomField = () => /* @__PURE__ */ React33.createElement(React33.Fragment, null, /* @__PURE__ */ React33.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React33.createElement(import_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n14.__)("Grow", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(import_editor_controls18.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React33.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React33.createElement(import_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n14.__)("Shrink", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(import_editor_controls18.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React33.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React33.createElement(import_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n14.__)("Basis", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(import_editor_controls18.SizeControl, null)))));
1374
+ var FlexCustomField = () => /* @__PURE__ */ React33.createElement(React33.Fragment, null, /* @__PURE__ */ React33.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React33.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n14.__)("Grow", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(import_editor_controls18.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React33.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React33.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n14.__)("Shrink", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(import_editor_controls18.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React33.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React33.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n14.__)("Basis", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(import_editor_controls18.SizeControl, null)))));
1336
1375
  var getActiveGroup = ({
1337
1376
  grow,
1338
1377
  shrink,
@@ -1356,20 +1395,20 @@ var getActiveGroup = ({
1356
1395
  // src/components/style-sections/layout-section/gap-control-field.tsx
1357
1396
  var React34 = __toESM(require("react"));
1358
1397
  var import_editor_controls19 = require("@elementor/editor-controls");
1359
- var import_ui25 = require("@elementor/ui");
1398
+ var import_ui24 = require("@elementor/ui");
1360
1399
  var import_i18n15 = require("@wordpress/i18n");
1361
1400
  var GapControlField = () => {
1362
- return /* @__PURE__ */ React34.createElement(import_ui25.Stack, { gap: 1 }, /* @__PURE__ */ React34.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React34.createElement(import_editor_controls19.GapControl, { label: (0, import_i18n15.__)("Gaps", "elementor") })));
1401
+ return /* @__PURE__ */ React34.createElement(import_ui24.Stack, { gap: 1 }, /* @__PURE__ */ React34.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React34.createElement(import_editor_controls19.GapControl, { label: (0, import_i18n15.__)("Gaps", "elementor") })));
1363
1402
  };
1364
1403
 
1365
1404
  // src/components/style-sections/layout-section/justify-content-field.tsx
1366
1405
  var React35 = __toESM(require("react"));
1367
1406
  var import_editor_controls20 = require("@elementor/editor-controls");
1368
1407
  var import_icons13 = require("@elementor/icons");
1369
- var import_ui26 = require("@elementor/ui");
1408
+ var import_ui25 = require("@elementor/ui");
1370
1409
  var import_i18n16 = require("@wordpress/i18n");
1371
- var StartIcon3 = (0, import_ui26.withDirection)(import_icons13.JustifyTopIcon);
1372
- var EndIcon3 = (0, import_ui26.withDirection)(import_icons13.JustifyBottomIcon);
1410
+ var StartIcon3 = (0, import_ui25.withDirection)(import_icons13.JustifyTopIcon);
1411
+ var EndIcon3 = (0, import_ui25.withDirection)(import_icons13.JustifyBottomIcon);
1373
1412
  var iconProps3 = {
1374
1413
  isClockwise: true,
1375
1414
  offset: -90
@@ -1414,14 +1453,14 @@ var options4 = [
1414
1453
  ];
1415
1454
  var JustifyContentField = () => {
1416
1455
  const { isSiteRtl } = useDirection();
1417
- return /* @__PURE__ */ React35.createElement(import_ui26.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React35.createElement(import_ui26.ThemeProvider, null, /* @__PURE__ */ React35.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React35.createElement(import_ui26.Stack, { gap: 1 }, /* @__PURE__ */ React35.createElement(import_editor_controls20.ControlLabel, null, (0, import_i18n16.__)("Justify content", "elementor")), /* @__PURE__ */ React35.createElement(import_editor_controls20.ToggleControl, { options: options4, fullWidth: true })))));
1456
+ return /* @__PURE__ */ React35.createElement(import_ui25.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React35.createElement(import_ui25.ThemeProvider, null, /* @__PURE__ */ React35.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React35.createElement(import_ui25.Stack, { gap: 1 }, /* @__PURE__ */ React35.createElement(import_editor_controls20.ControlLabel, null, (0, import_i18n16.__)("Justify content", "elementor")), /* @__PURE__ */ React35.createElement(import_editor_controls20.ToggleControl, { options: options4, fullWidth: true })))));
1418
1457
  };
1419
1458
 
1420
1459
  // src/components/style-sections/layout-section/wrap-field.tsx
1421
1460
  var React36 = __toESM(require("react"));
1422
1461
  var import_editor_controls21 = require("@elementor/editor-controls");
1423
1462
  var import_icons14 = require("@elementor/icons");
1424
- var import_ui27 = require("@elementor/ui");
1463
+ var import_ui26 = require("@elementor/ui");
1425
1464
  var import_i18n17 = require("@wordpress/i18n");
1426
1465
  var options5 = [
1427
1466
  {
@@ -1445,7 +1484,7 @@ var options5 = [
1445
1484
  ];
1446
1485
  var WrapField = () => {
1447
1486
  const { isSiteRtl } = useDirection();
1448
- return /* @__PURE__ */ React36.createElement(import_ui27.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React36.createElement(import_ui27.ThemeProvider, null, /* @__PURE__ */ React36.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React36.createElement(import_ui27.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React36.createElement(import_ui27.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React36.createElement(import_editor_controls21.ControlLabel, null, (0, import_i18n17.__)("Wrap", "elementor"))), /* @__PURE__ */ React36.createElement(import_ui27.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React36.createElement(import_editor_controls21.ToggleControl, { options: options5 }))))));
1487
+ return /* @__PURE__ */ React36.createElement(import_ui26.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React36.createElement(import_ui26.ThemeProvider, null, /* @__PURE__ */ React36.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React36.createElement(import_ui26.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React36.createElement(import_ui26.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React36.createElement(import_editor_controls21.ControlLabel, null, (0, import_i18n17.__)("Wrap", "elementor"))), /* @__PURE__ */ React36.createElement(import_ui26.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React36.createElement(import_editor_controls21.ToggleControl, { options: options5 }))))));
1449
1488
  };
1450
1489
 
1451
1490
  // src/components/style-sections/layout-section/layout-section.tsx
@@ -1454,22 +1493,22 @@ var LayoutSection = () => {
1454
1493
  const { element } = useElement();
1455
1494
  const parent = (0, import_editor_elements4.useParentElement)(element.id);
1456
1495
  const parentStyle = useComputedStyle(parent?.id || null);
1457
- return /* @__PURE__ */ React37.createElement(import_ui28.Stack, { gap: 2 }, /* @__PURE__ */ React37.createElement(DisplayField, null), "flex" === display?.value && /* @__PURE__ */ React37.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React37.createElement(FlexChildFields, null));
1496
+ return /* @__PURE__ */ React37.createElement(import_ui27.Stack, { gap: 2 }, /* @__PURE__ */ React37.createElement(DisplayField, null), "flex" === display?.value && /* @__PURE__ */ React37.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React37.createElement(FlexChildFields, null));
1458
1497
  };
1459
- var FlexFields = () => /* @__PURE__ */ React37.createElement(React37.Fragment, null, /* @__PURE__ */ React37.createElement(FlexDirectionField, null), /* @__PURE__ */ React37.createElement(JustifyContentField, null), /* @__PURE__ */ React37.createElement(AlignItemsField, null), /* @__PURE__ */ React37.createElement(import_ui28.Divider, null), /* @__PURE__ */ React37.createElement(GapControlField, null), /* @__PURE__ */ React37.createElement(WrapField, null));
1460
- var FlexChildFields = () => /* @__PURE__ */ React37.createElement(React37.Fragment, null, /* @__PURE__ */ React37.createElement(import_ui28.Divider, null), /* @__PURE__ */ React37.createElement(import_editor_controls22.ControlLabel, null, (0, import_i18n18.__)("Flex child", "elementor")), /* @__PURE__ */ React37.createElement(AlignSelfChild, null), /* @__PURE__ */ React37.createElement(FlexOrderField, null), /* @__PURE__ */ React37.createElement(FlexSizeField, null));
1498
+ var FlexFields = () => /* @__PURE__ */ React37.createElement(React37.Fragment, null, /* @__PURE__ */ React37.createElement(FlexDirectionField, null), /* @__PURE__ */ React37.createElement(JustifyContentField, null), /* @__PURE__ */ React37.createElement(AlignItemsField, null), /* @__PURE__ */ React37.createElement(import_ui27.Divider, null), /* @__PURE__ */ React37.createElement(GapControlField, null), /* @__PURE__ */ React37.createElement(WrapField, null));
1499
+ var FlexChildFields = () => /* @__PURE__ */ React37.createElement(React37.Fragment, null, /* @__PURE__ */ React37.createElement(import_ui27.Divider, null), /* @__PURE__ */ React37.createElement(import_editor_controls22.ControlLabel, null, (0, import_i18n18.__)("Flex child", "elementor")), /* @__PURE__ */ React37.createElement(AlignSelfChild, null), /* @__PURE__ */ React37.createElement(FlexOrderField, null), /* @__PURE__ */ React37.createElement(FlexSizeField, null));
1461
1500
 
1462
1501
  // src/components/style-sections/position-section/position-section.tsx
1463
1502
  var React41 = __toESM(require("react"));
1464
- var import_ui32 = require("@elementor/ui");
1503
+ var import_ui31 = require("@elementor/ui");
1465
1504
 
1466
1505
  // src/hooks/use-session-storage.ts
1467
- var import_react11 = require("react");
1506
+ var import_react12 = require("react");
1468
1507
  var import_utils2 = require("@elementor/utils");
1469
1508
  var useSessionStorage = (key) => {
1470
1509
  const prefixedKey = `elementor/${key}`;
1471
- const [value, setValue] = (0, import_react11.useState)();
1472
- (0, import_react11.useEffect)(() => {
1510
+ const [value, setValue] = (0, import_react12.useState)();
1511
+ (0, import_react12.useEffect)(() => {
1473
1512
  return subscribeToSessionStorage(prefixedKey, (newValue) => {
1474
1513
  setValue(newValue ?? null);
1475
1514
  });
@@ -1504,7 +1543,7 @@ var subscribeToSessionStorage = (key, subscriber) => {
1504
1543
  var React38 = __toESM(require("react"));
1505
1544
  var import_editor_controls23 = require("@elementor/editor-controls");
1506
1545
  var import_icons15 = require("@elementor/icons");
1507
- var import_ui29 = require("@elementor/ui");
1546
+ var import_ui28 = require("@elementor/ui");
1508
1547
  var import_i18n19 = require("@wordpress/i18n");
1509
1548
  var sideIcons = {
1510
1549
  left: /* @__PURE__ */ React38.createElement(import_icons15.SideLeftIcon, { fontSize: "tiny" }),
@@ -1513,34 +1552,35 @@ var sideIcons = {
1513
1552
  bottom: /* @__PURE__ */ React38.createElement(import_icons15.SideBottomIcon, { fontSize: "tiny" })
1514
1553
  };
1515
1554
  var DimensionsField = () => {
1516
- return /* @__PURE__ */ React38.createElement(React38.Fragment, null, /* @__PURE__ */ React38.createElement(import_ui29.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React38.createElement(DimensionField, { side: "top", label: (0, import_i18n19.__)("Top", "elementor") }), /* @__PURE__ */ React38.createElement(DimensionField, { side: "right", label: (0, import_i18n19.__)("Right", "elementor") })), /* @__PURE__ */ React38.createElement(import_ui29.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React38.createElement(DimensionField, { side: "bottom", label: (0, import_i18n19.__)("Bottom", "elementor") }), /* @__PURE__ */ React38.createElement(DimensionField, { side: "left", label: (0, import_i18n19.__)("Left", "elementor") })));
1555
+ return /* @__PURE__ */ React38.createElement(React38.Fragment, null, /* @__PURE__ */ React38.createElement(import_ui28.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React38.createElement(DimensionField, { side: "top", label: (0, import_i18n19.__)("Top", "elementor") }), /* @__PURE__ */ React38.createElement(DimensionField, { side: "right", label: (0, import_i18n19.__)("Right", "elementor") })), /* @__PURE__ */ React38.createElement(import_ui28.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React38.createElement(DimensionField, { side: "bottom", label: (0, import_i18n19.__)("Bottom", "elementor") }), /* @__PURE__ */ React38.createElement(DimensionField, { side: "left", label: (0, import_i18n19.__)("Left", "elementor") })));
1517
1556
  };
1518
1557
  var DimensionField = ({ side, label }) => {
1519
- return /* @__PURE__ */ React38.createElement(import_ui29.Grid, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React38.createElement(import_ui29.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React38.createElement(import_editor_controls23.ControlLabel, null, label)), /* @__PURE__ */ React38.createElement(import_ui29.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React38.createElement(StylesField, { bind: side }, /* @__PURE__ */ React38.createElement(import_editor_controls23.SizeControl, { startIcon: sideIcons[side] }))));
1558
+ return /* @__PURE__ */ React38.createElement(import_ui28.Grid, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React38.createElement(import_ui28.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React38.createElement(import_editor_controls23.ControlLabel, null, label)), /* @__PURE__ */ React38.createElement(import_ui28.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React38.createElement(StylesField, { bind: side }, /* @__PURE__ */ React38.createElement(import_editor_controls23.SizeControl, { startIcon: sideIcons[side] }))));
1520
1559
  };
1521
1560
 
1522
1561
  // src/components/style-sections/position-section/position-field.tsx
1523
1562
  var React39 = __toESM(require("react"));
1524
1563
  var import_editor_controls24 = require("@elementor/editor-controls");
1525
- var import_ui30 = require("@elementor/ui");
1564
+ var import_ui29 = require("@elementor/ui");
1526
1565
  var import_i18n20 = require("@wordpress/i18n");
1527
1566
  var positionOptions = [
1528
1567
  { label: (0, import_i18n20.__)("Static", "elementor"), value: "static" },
1529
1568
  { label: (0, import_i18n20.__)("Relative", "elementor"), value: "relative" },
1530
1569
  { label: (0, import_i18n20.__)("Absolute", "elementor"), value: "absolute" },
1531
- { label: (0, import_i18n20.__)("Fixed", "elementor"), value: "fixed" }
1570
+ { label: (0, import_i18n20.__)("Fixed", "elementor"), value: "fixed" },
1571
+ { label: (0, import_i18n20.__)("Sticky", "elementor"), value: "sticky" }
1532
1572
  ];
1533
1573
  var PositionField = ({ onChange }) => {
1534
- return /* @__PURE__ */ React39.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React39.createElement(import_ui30.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React39.createElement(import_ui30.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React39.createElement(import_editor_controls24.ControlLabel, null, (0, import_i18n20.__)("Position", "elementor"))), /* @__PURE__ */ React39.createElement(import_ui30.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React39.createElement(import_editor_controls24.SelectControl, { options: positionOptions, onChange }))));
1574
+ return /* @__PURE__ */ React39.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React39.createElement(import_ui29.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React39.createElement(import_ui29.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React39.createElement(import_editor_controls24.ControlLabel, null, (0, import_i18n20.__)("Position", "elementor"))), /* @__PURE__ */ React39.createElement(import_ui29.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React39.createElement(import_editor_controls24.SelectControl, { options: positionOptions, onChange }))));
1535
1575
  };
1536
1576
 
1537
1577
  // src/components/style-sections/position-section/z-index-field.tsx
1538
1578
  var React40 = __toESM(require("react"));
1539
1579
  var import_editor_controls25 = require("@elementor/editor-controls");
1540
- var import_ui31 = require("@elementor/ui");
1580
+ var import_ui30 = require("@elementor/ui");
1541
1581
  var import_i18n21 = require("@wordpress/i18n");
1542
1582
  var ZIndexField = () => {
1543
- return /* @__PURE__ */ React40.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React40.createElement(import_ui31.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(import_ui31.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(import_editor_controls25.ControlLabel, null, (0, import_i18n21.__)("Z-Index", "elementor"))), /* @__PURE__ */ React40.createElement(import_ui31.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(import_editor_controls25.NumberControl, null))));
1583
+ return /* @__PURE__ */ React40.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React40.createElement(import_ui30.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(import_ui30.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(import_editor_controls25.ControlLabel, null, (0, import_i18n21.__)("Z-Index", "elementor"))), /* @__PURE__ */ React40.createElement(import_ui30.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(import_editor_controls25.NumberControl, null))));
1544
1584
  };
1545
1585
 
1546
1586
  // src/components/style-sections/position-section/position-section.tsx
@@ -1572,7 +1612,7 @@ var PositionSection = () => {
1572
1612
  }
1573
1613
  };
1574
1614
  const isNotStatic = positionValue && positionValue?.value !== "static";
1575
- return /* @__PURE__ */ React41.createElement(import_ui32.Stack, { gap: 1.5 }, /* @__PURE__ */ React41.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React41.createElement(React41.Fragment, null, /* @__PURE__ */ React41.createElement(DimensionsField, null), /* @__PURE__ */ React41.createElement(ZIndexField, null)) : null);
1615
+ return /* @__PURE__ */ React41.createElement(import_ui31.Stack, { gap: 1.5 }, /* @__PURE__ */ React41.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React41.createElement(React41.Fragment, null, /* @__PURE__ */ React41.createElement(DimensionsField, null), /* @__PURE__ */ React41.createElement(ZIndexField, null)) : null);
1576
1616
  };
1577
1617
  var usePersistDimensions = () => {
1578
1618
  const { id: styleDefID, meta } = useStyle();
@@ -1584,14 +1624,14 @@ var usePersistDimensions = () => {
1584
1624
  // src/components/style-sections/size-section/size-section.tsx
1585
1625
  var React43 = __toESM(require("react"));
1586
1626
  var import_editor_controls27 = require("@elementor/editor-controls");
1587
- var import_ui34 = require("@elementor/ui");
1627
+ var import_ui33 = require("@elementor/ui");
1588
1628
  var import_i18n23 = require("@wordpress/i18n");
1589
1629
 
1590
1630
  // src/components/style-sections/size-section/overflow-field.tsx
1591
1631
  var React42 = __toESM(require("react"));
1592
1632
  var import_editor_controls26 = require("@elementor/editor-controls");
1593
1633
  var import_icons16 = require("@elementor/icons");
1594
- var import_ui33 = require("@elementor/ui");
1634
+ var import_ui32 = require("@elementor/ui");
1595
1635
  var import_i18n22 = require("@wordpress/i18n");
1596
1636
  var options6 = [
1597
1637
  {
@@ -1614,42 +1654,42 @@ var options6 = [
1614
1654
  }
1615
1655
  ];
1616
1656
  var OverflowField = () => {
1617
- return /* @__PURE__ */ React42.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React42.createElement(import_ui33.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React42.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(import_editor_controls26.ControlLabel, null, (0, import_i18n22.__)("Overflow", "elementor"))), /* @__PURE__ */ React42.createElement(import_ui33.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React42.createElement(import_editor_controls26.ToggleControl, { options: options6 }))));
1657
+ return /* @__PURE__ */ React42.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React42.createElement(import_ui32.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React42.createElement(import_ui32.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(import_editor_controls26.ControlLabel, null, (0, import_i18n22.__)("Overflow", "elementor"))), /* @__PURE__ */ React42.createElement(import_ui32.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React42.createElement(import_editor_controls26.ToggleControl, { options: options6 }))));
1618
1658
  };
1619
1659
 
1620
1660
  // src/components/style-sections/size-section/size-section.tsx
1621
1661
  var SizeSection = () => {
1622
- return /* @__PURE__ */ React43.createElement(import_ui34.Stack, { gap: 1.5 }, /* @__PURE__ */ React43.createElement(import_ui34.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "width", label: (0, import_i18n23.__)("Width", "elementor") })), /* @__PURE__ */ React43.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "height", label: (0, import_i18n23.__)("Height", "elementor") }))), /* @__PURE__ */ React43.createElement(import_ui34.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "min-width", label: (0, import_i18n23.__)("Min. Width", "elementor") })), /* @__PURE__ */ React43.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "min-height", label: (0, import_i18n23.__)("Min. Height", "elementor") }))), /* @__PURE__ */ React43.createElement(import_ui34.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "max-width", label: (0, import_i18n23.__)("Max. Width", "elementor") })), /* @__PURE__ */ React43.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "max-height", label: (0, import_i18n23.__)("Max. Height", "elementor") }))), /* @__PURE__ */ React43.createElement(import_ui34.Divider, null), /* @__PURE__ */ React43.createElement(import_ui34.Stack, null, /* @__PURE__ */ React43.createElement(OverflowField, null)));
1662
+ return /* @__PURE__ */ React43.createElement(import_ui33.Stack, { gap: 1.5 }, /* @__PURE__ */ React43.createElement(import_ui33.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "width", label: (0, import_i18n23.__)("Width", "elementor") })), /* @__PURE__ */ React43.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "height", label: (0, import_i18n23.__)("Height", "elementor") }))), /* @__PURE__ */ React43.createElement(import_ui33.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "min-width", label: (0, import_i18n23.__)("Min. Width", "elementor") })), /* @__PURE__ */ React43.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "min-height", label: (0, import_i18n23.__)("Min. Height", "elementor") }))), /* @__PURE__ */ React43.createElement(import_ui33.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "max-width", label: (0, import_i18n23.__)("Max. Width", "elementor") })), /* @__PURE__ */ React43.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(SizeField, { bind: "max-height", label: (0, import_i18n23.__)("Max. Height", "elementor") }))), /* @__PURE__ */ React43.createElement(import_ui33.Divider, null), /* @__PURE__ */ React43.createElement(import_ui33.Stack, null, /* @__PURE__ */ React43.createElement(OverflowField, null)));
1623
1663
  };
1624
1664
  var SizeField = ({ label, bind }) => {
1625
- return /* @__PURE__ */ React43.createElement(StylesField, { bind }, /* @__PURE__ */ React43.createElement(import_ui34.Grid, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React43.createElement(import_ui34.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React43.createElement(import_editor_controls27.ControlLabel, null, label)), /* @__PURE__ */ React43.createElement(import_ui34.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React43.createElement(import_editor_controls27.SizeControl, null))));
1665
+ return /* @__PURE__ */ React43.createElement(StylesField, { bind }, /* @__PURE__ */ React43.createElement(import_ui33.Grid, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React43.createElement(import_ui33.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React43.createElement(import_editor_controls27.ControlLabel, null, label)), /* @__PURE__ */ React43.createElement(import_ui33.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React43.createElement(import_editor_controls27.SizeControl, null))));
1626
1666
  };
1627
1667
 
1628
1668
  // src/components/style-sections/spacing-section/spacing-section.tsx
1629
1669
  var React44 = __toESM(require("react"));
1630
1670
  var import_editor_controls28 = require("@elementor/editor-controls");
1631
- var import_ui35 = require("@elementor/ui");
1671
+ var import_ui34 = require("@elementor/ui");
1632
1672
  var import_i18n24 = require("@wordpress/i18n");
1633
1673
  var SpacingSection = () => {
1634
- return /* @__PURE__ */ React44.createElement(import_ui35.Stack, { gap: 1.5 }, /* @__PURE__ */ React44.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React44.createElement(import_editor_controls28.LinkedDimensionsControl, { label: (0, import_i18n24.__)("Padding", "elementor") })), /* @__PURE__ */ React44.createElement(import_ui35.Divider, null), /* @__PURE__ */ React44.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React44.createElement(import_editor_controls28.LinkedDimensionsControl, { label: (0, import_i18n24.__)("Margin", "elementor") })));
1674
+ return /* @__PURE__ */ React44.createElement(import_ui34.Stack, { gap: 1.5 }, /* @__PURE__ */ React44.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React44.createElement(import_editor_controls28.LinkedDimensionsControl, { label: (0, import_i18n24.__)("Padding", "elementor") })), /* @__PURE__ */ React44.createElement(import_ui34.Divider, null), /* @__PURE__ */ React44.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React44.createElement(import_editor_controls28.LinkedDimensionsControl, { label: (0, import_i18n24.__)("Margin", "elementor") })));
1635
1675
  };
1636
1676
 
1637
1677
  // src/components/style-sections/typography-section/typography-section.tsx
1638
1678
  var React58 = __toESM(require("react"));
1639
- var import_ui48 = require("@elementor/ui");
1679
+ var import_ui47 = require("@elementor/ui");
1640
1680
 
1641
1681
  // src/components/collapsible-content.tsx
1642
1682
  var React45 = __toESM(require("react"));
1643
- var import_react12 = require("react");
1644
- var import_ui36 = require("@elementor/ui");
1683
+ var import_react13 = require("react");
1684
+ var import_ui35 = require("@elementor/ui");
1645
1685
  var import_i18n25 = require("@wordpress/i18n");
1646
1686
  var CollapsibleContent = ({ children, defaultOpen = false }) => {
1647
- const [open, setOpen] = (0, import_react12.useState)(defaultOpen);
1687
+ const [open, setOpen] = (0, import_react13.useState)(defaultOpen);
1648
1688
  const handleToggle = () => {
1649
1689
  setOpen((prevOpen) => !prevOpen);
1650
1690
  };
1651
- return /* @__PURE__ */ React45.createElement(import_ui36.Stack, { sx: { py: 0.5 } }, /* @__PURE__ */ React45.createElement(
1652
- import_ui36.Button,
1691
+ return /* @__PURE__ */ React45.createElement(import_ui35.Stack, { sx: { py: 0.5 } }, /* @__PURE__ */ React45.createElement(
1692
+ import_ui35.Button,
1653
1693
  {
1654
1694
  fullWidth: true,
1655
1695
  size: "small",
@@ -1659,13 +1699,13 @@ var CollapsibleContent = ({ children, defaultOpen = false }) => {
1659
1699
  endIcon: /* @__PURE__ */ React45.createElement(CollapseIcon, { open })
1660
1700
  },
1661
1701
  open ? (0, import_i18n25.__)("Show less", "elementor") : (0, import_i18n25.__)("Show more", "elementor")
1662
- ), /* @__PURE__ */ React45.createElement(import_ui36.Collapse, { in: open, timeout: "auto", unmountOnExit: true }, children));
1702
+ ), /* @__PURE__ */ React45.createElement(import_ui35.Collapse, { in: open, timeout: "auto", unmountOnExit: true }, children));
1663
1703
  };
1664
1704
 
1665
1705
  // src/components/style-sections/typography-section/font-family-field.tsx
1666
1706
  var React46 = __toESM(require("react"));
1667
1707
  var import_editor_controls29 = require("@elementor/editor-controls");
1668
- var import_ui37 = require("@elementor/ui");
1708
+ var import_ui36 = require("@elementor/ui");
1669
1709
  var import_i18n26 = require("@wordpress/i18n");
1670
1710
 
1671
1711
  // src/sync/get-elementor-config.ts
@@ -1680,7 +1720,7 @@ var FontFamilyField = () => {
1680
1720
  if (!fontFamilies) {
1681
1721
  return null;
1682
1722
  }
1683
- return /* @__PURE__ */ React46.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React46.createElement(import_ui37.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(import_ui37.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(import_editor_controls29.ControlLabel, null, (0, import_i18n26.__)("Font Family", "elementor"))), /* @__PURE__ */ React46.createElement(import_ui37.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(import_editor_controls29.FontFamilyControl, { fontFamilies }))));
1723
+ return /* @__PURE__ */ React46.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React46.createElement(import_ui36.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(import_ui36.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(import_editor_controls29.ControlLabel, null, (0, import_i18n26.__)("Font Family", "elementor"))), /* @__PURE__ */ React46.createElement(import_ui36.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(import_editor_controls29.FontFamilyControl, { fontFamilies }))));
1684
1724
  };
1685
1725
  var getFontFamilies = () => {
1686
1726
  const { controls } = getElementorConfig();
@@ -1694,16 +1734,16 @@ var getFontFamilies = () => {
1694
1734
  // src/components/style-sections/typography-section/font-size-field.tsx
1695
1735
  var React47 = __toESM(require("react"));
1696
1736
  var import_editor_controls30 = require("@elementor/editor-controls");
1697
- var import_ui38 = require("@elementor/ui");
1737
+ var import_ui37 = require("@elementor/ui");
1698
1738
  var import_i18n27 = require("@wordpress/i18n");
1699
1739
  var FontSizeField = () => {
1700
- return /* @__PURE__ */ React47.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React47.createElement(import_ui38.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(import_editor_controls30.ControlLabel, null, (0, import_i18n27.__)("Font Size", "elementor"))), /* @__PURE__ */ React47.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(import_editor_controls30.SizeControl, null))));
1740
+ return /* @__PURE__ */ React47.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React47.createElement(import_ui37.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(import_ui37.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(import_editor_controls30.ControlLabel, null, (0, import_i18n27.__)("Font Size", "elementor"))), /* @__PURE__ */ React47.createElement(import_ui37.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(import_editor_controls30.SizeControl, null))));
1701
1741
  };
1702
1742
 
1703
1743
  // src/components/style-sections/typography-section/font-weight-field.tsx
1704
1744
  var React48 = __toESM(require("react"));
1705
1745
  var import_editor_controls31 = require("@elementor/editor-controls");
1706
- var import_ui39 = require("@elementor/ui");
1746
+ var import_ui38 = require("@elementor/ui");
1707
1747
  var import_i18n28 = require("@wordpress/i18n");
1708
1748
  var fontWeightOptions = [
1709
1749
  { label: (0, import_i18n28.__)("Light - 400", "elementor"), value: "400" },
@@ -1713,32 +1753,32 @@ var fontWeightOptions = [
1713
1753
  { label: (0, import_i18n28.__)("Black - 900", "elementor"), value: "900" }
1714
1754
  ];
1715
1755
  var FontWeightField = () => {
1716
- return /* @__PURE__ */ React48.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React48.createElement(import_ui39.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(import_editor_controls31.ControlLabel, null, (0, import_i18n28.__)("Font Weight", "elementor"))), /* @__PURE__ */ React48.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(import_editor_controls31.SelectControl, { options: fontWeightOptions }))));
1756
+ return /* @__PURE__ */ React48.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React48.createElement(import_ui38.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(import_editor_controls31.ControlLabel, null, (0, import_i18n28.__)("Font Weight", "elementor"))), /* @__PURE__ */ React48.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(import_editor_controls31.SelectControl, { options: fontWeightOptions }))));
1717
1757
  };
1718
1758
 
1719
1759
  // src/components/style-sections/typography-section/letter-spacing-field.tsx
1720
1760
  var React49 = __toESM(require("react"));
1721
1761
  var import_editor_controls32 = require("@elementor/editor-controls");
1722
- var import_ui40 = require("@elementor/ui");
1762
+ var import_ui39 = require("@elementor/ui");
1723
1763
  var import_i18n29 = require("@wordpress/i18n");
1724
1764
  var LetterSpacingField = () => {
1725
- return /* @__PURE__ */ React49.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React49.createElement(import_ui40.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(import_editor_controls32.ControlLabel, null, (0, import_i18n29.__)("Letter Spacing", "elementor"))), /* @__PURE__ */ React49.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(import_editor_controls32.SizeControl, null))));
1765
+ return /* @__PURE__ */ React49.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React49.createElement(import_ui39.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(import_editor_controls32.ControlLabel, null, (0, import_i18n29.__)("Letter Spacing", "elementor"))), /* @__PURE__ */ React49.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(import_editor_controls32.SizeControl, null))));
1726
1766
  };
1727
1767
 
1728
1768
  // src/components/style-sections/typography-section/line-height-field.tsx
1729
1769
  var React50 = __toESM(require("react"));
1730
1770
  var import_editor_controls33 = require("@elementor/editor-controls");
1731
- var import_ui41 = require("@elementor/ui");
1771
+ var import_ui40 = require("@elementor/ui");
1732
1772
  var import_i18n30 = require("@wordpress/i18n");
1733
1773
  var LineHeightField = () => {
1734
- return /* @__PURE__ */ React50.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React50.createElement(import_ui41.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React50.createElement(import_ui41.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(import_editor_controls33.ControlLabel, null, (0, import_i18n30.__)("Line Height", "elementor"))), /* @__PURE__ */ React50.createElement(import_ui41.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(import_editor_controls33.SizeControl, null))));
1774
+ return /* @__PURE__ */ React50.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React50.createElement(import_ui40.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React50.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(import_editor_controls33.ControlLabel, null, (0, import_i18n30.__)("Line Height", "elementor"))), /* @__PURE__ */ React50.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(import_editor_controls33.SizeControl, null))));
1735
1775
  };
1736
1776
 
1737
1777
  // src/components/style-sections/typography-section/text-alignment-field.tsx
1738
1778
  var React51 = __toESM(require("react"));
1739
1779
  var import_editor_controls34 = require("@elementor/editor-controls");
1740
1780
  var import_icons17 = require("@elementor/icons");
1741
- var import_ui42 = require("@elementor/ui");
1781
+ var import_ui41 = require("@elementor/ui");
1742
1782
  var import_i18n31 = require("@wordpress/i18n");
1743
1783
  var options7 = [
1744
1784
  {
@@ -1763,23 +1803,23 @@ var options7 = [
1763
1803
  }
1764
1804
  ];
1765
1805
  var TextAlignmentField = () => {
1766
- return /* @__PURE__ */ React51.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React51.createElement(import_ui42.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React51.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(import_editor_controls34.ControlLabel, null, (0, import_i18n31.__)("Alignment", "elementor"))), /* @__PURE__ */ React51.createElement(import_ui42.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React51.createElement(import_editor_controls34.ToggleControl, { options: options7 }))));
1806
+ return /* @__PURE__ */ React51.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React51.createElement(import_ui41.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React51.createElement(import_ui41.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(import_editor_controls34.ControlLabel, null, (0, import_i18n31.__)("Alignment", "elementor"))), /* @__PURE__ */ React51.createElement(import_ui41.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React51.createElement(import_editor_controls34.ToggleControl, { options: options7 }))));
1767
1807
  };
1768
1808
 
1769
1809
  // src/components/style-sections/typography-section/text-color-field.tsx
1770
1810
  var React52 = __toESM(require("react"));
1771
1811
  var import_editor_controls35 = require("@elementor/editor-controls");
1772
- var import_ui43 = require("@elementor/ui");
1812
+ var import_ui42 = require("@elementor/ui");
1773
1813
  var import_i18n32 = require("@wordpress/i18n");
1774
1814
  var TextColorField = () => {
1775
- return /* @__PURE__ */ React52.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React52.createElement(import_ui43.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(import_ui43.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(import_editor_controls35.ControlLabel, null, (0, import_i18n32.__)("Text Color", "elementor"))), /* @__PURE__ */ React52.createElement(import_ui43.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(import_editor_controls35.ColorControl, null))));
1815
+ return /* @__PURE__ */ React52.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React52.createElement(import_ui42.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(import_editor_controls35.ControlLabel, null, (0, import_i18n32.__)("Text Color", "elementor"))), /* @__PURE__ */ React52.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(import_editor_controls35.ColorControl, null))));
1776
1816
  };
1777
1817
 
1778
1818
  // src/components/style-sections/typography-section/text-direction-field.tsx
1779
1819
  var React53 = __toESM(require("react"));
1780
1820
  var import_editor_controls36 = require("@elementor/editor-controls");
1781
1821
  var import_icons18 = require("@elementor/icons");
1782
- var import_ui44 = require("@elementor/ui");
1822
+ var import_ui43 = require("@elementor/ui");
1783
1823
  var import_i18n33 = require("@wordpress/i18n");
1784
1824
  var options8 = [
1785
1825
  {
@@ -1794,7 +1834,7 @@ var options8 = [
1794
1834
  }
1795
1835
  ];
1796
1836
  var TextDirectionField = () => {
1797
- return /* @__PURE__ */ React53.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React53.createElement(import_ui44.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React53.createElement(import_ui44.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(import_editor_controls36.ControlLabel, null, (0, import_i18n33.__)("Direction", "elementor"))), /* @__PURE__ */ React53.createElement(import_ui44.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React53.createElement(import_editor_controls36.ToggleControl, { options: options8 }))));
1837
+ return /* @__PURE__ */ React53.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React53.createElement(import_ui43.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React53.createElement(import_ui43.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(import_editor_controls36.ControlLabel, null, (0, import_i18n33.__)("Direction", "elementor"))), /* @__PURE__ */ React53.createElement(import_ui43.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React53.createElement(import_editor_controls36.ToggleControl, { options: options8 }))));
1798
1838
  };
1799
1839
 
1800
1840
  // src/components/style-sections/typography-section/text-stroke-field.tsx
@@ -1842,7 +1882,7 @@ var TextStrokeField = () => {
1842
1882
  var React55 = __toESM(require("react"));
1843
1883
  var import_editor_controls38 = require("@elementor/editor-controls");
1844
1884
  var import_icons19 = require("@elementor/icons");
1845
- var import_ui45 = require("@elementor/ui");
1885
+ var import_ui44 = require("@elementor/ui");
1846
1886
  var import_i18n35 = require("@wordpress/i18n");
1847
1887
  var buttonSize = "tiny";
1848
1888
  var TextStyleField = () => {
@@ -1867,7 +1907,7 @@ var TextStyleField = () => {
1867
1907
  value: newValue
1868
1908
  });
1869
1909
  };
1870
- return /* @__PURE__ */ React55.createElement(import_ui45.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(import_editor_controls38.ControlLabel, null, (0, import_i18n35.__)("Style", "elementor"))), /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React55.createElement(import_ui45.ToggleButtonGroup, { value: formats }, /* @__PURE__ */ React55.createElement(
1910
+ return /* @__PURE__ */ React55.createElement(import_ui44.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(import_ui44.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(import_editor_controls38.ControlLabel, null, (0, import_i18n35.__)("Style", "elementor"))), /* @__PURE__ */ React55.createElement(import_ui44.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React55.createElement(import_ui44.ToggleButtonGroup, { value: formats }, /* @__PURE__ */ React55.createElement(
1871
1911
  ToggleButton,
1872
1912
  {
1873
1913
  value: "italic",
@@ -1918,14 +1958,14 @@ var ToggleButton = ({ onChange, ...props }) => {
1918
1958
  const handleChange = (_e, newValue) => {
1919
1959
  onChange(newValue);
1920
1960
  };
1921
- return /* @__PURE__ */ React55.createElement(import_ui45.ToggleButton, { ...props, onChange: handleChange, size: buttonSize });
1961
+ return /* @__PURE__ */ React55.createElement(import_ui44.ToggleButton, { ...props, onChange: handleChange, size: buttonSize });
1922
1962
  };
1923
1963
 
1924
1964
  // src/components/style-sections/typography-section/transform-field.tsx
1925
1965
  var React56 = __toESM(require("react"));
1926
1966
  var import_editor_controls39 = require("@elementor/editor-controls");
1927
1967
  var import_icons20 = require("@elementor/icons");
1928
- var import_ui46 = require("@elementor/ui");
1968
+ var import_ui45 = require("@elementor/ui");
1929
1969
  var import_i18n36 = require("@wordpress/i18n");
1930
1970
  var options9 = [
1931
1971
  {
@@ -1944,20 +1984,20 @@ var options9 = [
1944
1984
  renderContent: ({ size }) => /* @__PURE__ */ React56.createElement(import_icons20.LetterCaseLowerIcon, { fontSize: size })
1945
1985
  }
1946
1986
  ];
1947
- var TransformField = () => /* @__PURE__ */ React56.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React56.createElement(import_ui46.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React56.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(import_editor_controls39.ControlLabel, null, (0, import_i18n36.__)("Transform", "elementor"))), /* @__PURE__ */ React56.createElement(import_ui46.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React56.createElement(import_editor_controls39.ToggleControl, { options: options9 }))));
1987
+ var TransformField = () => /* @__PURE__ */ React56.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React56.createElement(import_ui45.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React56.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(import_editor_controls39.ControlLabel, null, (0, import_i18n36.__)("Transform", "elementor"))), /* @__PURE__ */ React56.createElement(import_ui45.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React56.createElement(import_editor_controls39.ToggleControl, { options: options9 }))));
1948
1988
 
1949
1989
  // src/components/style-sections/typography-section/word-spacing-field.tsx
1950
1990
  var React57 = __toESM(require("react"));
1951
1991
  var import_editor_controls40 = require("@elementor/editor-controls");
1952
- var import_ui47 = require("@elementor/ui");
1992
+ var import_ui46 = require("@elementor/ui");
1953
1993
  var import_i18n37 = require("@wordpress/i18n");
1954
1994
  var WordSpacingField = () => {
1955
- return /* @__PURE__ */ React57.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React57.createElement(import_ui47.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React57.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(import_editor_controls40.ControlLabel, null, (0, import_i18n37.__)("Word Spacing", "elementor"))), /* @__PURE__ */ React57.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(import_editor_controls40.SizeControl, null))));
1995
+ return /* @__PURE__ */ React57.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React57.createElement(import_ui46.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React57.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(import_editor_controls40.ControlLabel, null, (0, import_i18n37.__)("Word Spacing", "elementor"))), /* @__PURE__ */ React57.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(import_editor_controls40.SizeControl, null))));
1956
1996
  };
1957
1997
 
1958
1998
  // src/components/style-sections/typography-section/typography-section.tsx
1959
1999
  var TypographySection = () => {
1960
- return /* @__PURE__ */ React58.createElement(import_ui48.Stack, { gap: 1.5 }, /* @__PURE__ */ React58.createElement(FontFamilyField, null), /* @__PURE__ */ React58.createElement(FontWeightField, null), /* @__PURE__ */ React58.createElement(FontSizeField, null), /* @__PURE__ */ React58.createElement(import_ui48.Divider, null), /* @__PURE__ */ React58.createElement(TextAlignmentField, null), /* @__PURE__ */ React58.createElement(TextColorField, null), /* @__PURE__ */ React58.createElement(CollapsibleContent, null, /* @__PURE__ */ React58.createElement(import_ui48.Stack, { gap: 1.5, sx: { pt: 1.5 } }, /* @__PURE__ */ React58.createElement(LineHeightField, null), /* @__PURE__ */ React58.createElement(LetterSpacingField, null), /* @__PURE__ */ React58.createElement(WordSpacingField, null), /* @__PURE__ */ React58.createElement(import_ui48.Divider, null), /* @__PURE__ */ React58.createElement(TextStyleField, null), /* @__PURE__ */ React58.createElement(TransformField, null), /* @__PURE__ */ React58.createElement(TextDirectionField, null), /* @__PURE__ */ React58.createElement(TextStrokeField, null))));
2000
+ return /* @__PURE__ */ React58.createElement(import_ui47.Stack, { gap: 1.5 }, /* @__PURE__ */ React58.createElement(FontFamilyField, null), /* @__PURE__ */ React58.createElement(FontWeightField, null), /* @__PURE__ */ React58.createElement(FontSizeField, null), /* @__PURE__ */ React58.createElement(import_ui47.Divider, null), /* @__PURE__ */ React58.createElement(TextAlignmentField, null), /* @__PURE__ */ React58.createElement(TextColorField, null), /* @__PURE__ */ React58.createElement(CollapsibleContent, null, /* @__PURE__ */ React58.createElement(import_ui47.Stack, { gap: 1.5, sx: { pt: 1.5 } }, /* @__PURE__ */ React58.createElement(LineHeightField, null), /* @__PURE__ */ React58.createElement(LetterSpacingField, null), /* @__PURE__ */ React58.createElement(WordSpacingField, null), /* @__PURE__ */ React58.createElement(import_ui47.Divider, null), /* @__PURE__ */ React58.createElement(TextStyleField, null), /* @__PURE__ */ React58.createElement(TransformField, null), /* @__PURE__ */ React58.createElement(TextDirectionField, null), /* @__PURE__ */ React58.createElement(TextStrokeField, null))));
1961
2001
  };
1962
2002
 
1963
2003
  // src/components/style-tab.tsx
@@ -1965,7 +2005,7 @@ var CLASSES_PROP_KEY = "classes";
1965
2005
  var StyleTab = () => {
1966
2006
  const currentClassesProp = useCurrentClassesProp();
1967
2007
  const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
1968
- const [activeStyleState, setActiveStyleState] = (0, import_react13.useState)(null);
2008
+ const [activeStyleState, setActiveStyleState] = (0, import_react14.useState)(null);
1969
2009
  const breakpoint = (0, import_editor_responsive.useActiveBreakpoint)();
1970
2010
  return /* @__PURE__ */ React59.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React59.createElement(
1971
2011
  StyleProvider,
@@ -1979,12 +2019,12 @@ var StyleTab = () => {
1979
2019
  setMetaState: setActiveStyleState
1980
2020
  },
1981
2021
  /* @__PURE__ */ React59.createElement(CssClassSelector, null),
1982
- /* @__PURE__ */ React59.createElement(import_ui49.Divider, null),
2022
+ /* @__PURE__ */ React59.createElement(import_ui48.Divider, null),
1983
2023
  /* @__PURE__ */ React59.createElement(SectionsList, null, /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Layout", "elementor") }, /* @__PURE__ */ React59.createElement(LayoutSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Spacing", "elementor") }, /* @__PURE__ */ React59.createElement(SpacingSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Size", "elementor") }, /* @__PURE__ */ React59.createElement(SizeSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Position", "elementor") }, /* @__PURE__ */ React59.createElement(PositionSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Typography", "elementor") }, /* @__PURE__ */ React59.createElement(TypographySection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Background", "elementor") }, /* @__PURE__ */ React59.createElement(BackgroundSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Border", "elementor") }, /* @__PURE__ */ React59.createElement(BorderSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Effects", "elementor") }, /* @__PURE__ */ React59.createElement(EffectsSection, null)))
1984
2024
  ));
1985
2025
  };
1986
2026
  function useActiveStyleDefId(currentClassesProp) {
1987
- const [activeStyledDefId, setActiveStyledDefId] = (0, import_react13.useState)(null);
2027
+ const [activeStyledDefId, setActiveStyledDefId] = (0, import_react14.useState)(null);
1988
2028
  const fallback = useFirstElementStyleDef(currentClassesProp);
1989
2029
  return [activeStyledDefId || fallback?.id || null, setActiveStyledDefId];
1990
2030
  }
@@ -1997,7 +2037,7 @@ function useFirstElementStyleDef(currentClassesProp) {
1997
2037
  function useCurrentClassesProp() {
1998
2038
  const { elementType } = useElement();
1999
2039
  const prop = Object.entries(elementType.propsSchema).find(
2000
- ([, propType]) => propType.kind === "array" && propType.key === CLASSES_PROP_KEY
2040
+ ([, propType]) => propType.kind === "plain" && propType.key === CLASSES_PROP_KEY
2001
2041
  );
2002
2042
  if (!prop) {
2003
2043
  throw new Error("Element does not have a classes prop");
@@ -2008,11 +2048,11 @@ function useCurrentClassesProp() {
2008
2048
  // src/components/editing-panel-tabs.tsx
2009
2049
  var EditingPanelTabs = () => {
2010
2050
  const { element } = useElement();
2011
- const { getTabProps, getTabPanelProps, getTabsProps } = (0, import_ui50.useTabs)("settings");
2051
+ const { getTabProps, getTabPanelProps, getTabsProps } = (0, import_ui49.useTabs)("settings");
2012
2052
  return (
2013
2053
  // When switching between elements, the local states should be reset. We are using key to rerender the tabs.
2014
2054
  // Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
2015
- /* @__PURE__ */ React60.createElement(import_react14.Fragment, { key: element.id }, /* @__PURE__ */ React60.createElement(import_ui50.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React60.createElement(import_ui50.Tabs, { variant: "fullWidth", indicatorColor: "secondary", textColor: "inherit", ...getTabsProps() }, /* @__PURE__ */ React60.createElement(import_ui50.Tab, { label: (0, import_i18n39.__)("General", "elementor"), ...getTabProps("settings") }), /* @__PURE__ */ React60.createElement(import_ui50.Tab, { label: (0, import_i18n39.__)("Style", "elementor"), ...getTabProps("style") })), /* @__PURE__ */ React60.createElement(import_ui50.Divider, null), /* @__PURE__ */ React60.createElement(import_ui50.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React60.createElement(SettingsTab, null)), /* @__PURE__ */ React60.createElement(import_ui50.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React60.createElement(StyleTab, null))))
2055
+ /* @__PURE__ */ React60.createElement(import_react15.Fragment, { key: element.id }, /* @__PURE__ */ React60.createElement(import_ui49.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React60.createElement(import_ui49.Tabs, { variant: "fullWidth", indicatorColor: "secondary", textColor: "inherit", ...getTabsProps() }, /* @__PURE__ */ React60.createElement(import_ui49.Tab, { label: (0, import_i18n39.__)("General", "elementor"), ...getTabProps("settings") }), /* @__PURE__ */ React60.createElement(import_ui49.Tab, { label: (0, import_i18n39.__)("Style", "elementor"), ...getTabProps("style") })), /* @__PURE__ */ React60.createElement(import_ui49.Divider, null), /* @__PURE__ */ React60.createElement(import_ui49.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React60.createElement(SettingsTab, null)), /* @__PURE__ */ React60.createElement(import_ui49.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React60.createElement(StyleTab, null))))
2016
2056
  );
2017
2057
  };
2018
2058
 
@@ -2026,7 +2066,7 @@ var EditingPanel = () => {
2026
2066
  return null;
2027
2067
  }
2028
2068
  const panelTitle = (0, import_i18n40.__)("Edit %s", "elementor").replace("%s", elementType.title);
2029
- return /* @__PURE__ */ React61.createElement(import_ui51.ErrorBoundary, { fallback: /* @__PURE__ */ React61.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React61.createElement(import_editor_panels.Panel, null, /* @__PURE__ */ React61.createElement(import_editor_panels.PanelHeader, null, /* @__PURE__ */ React61.createElement(import_editor_panels.PanelHeaderTitle, null, panelTitle)), /* @__PURE__ */ React61.createElement(import_editor_panels.PanelBody, null, /* @__PURE__ */ React61.createElement(import_editor_controls41.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React61.createElement(import_editor_controls41.ControlReplacementProvider, { ...controlReplacement }, /* @__PURE__ */ React61.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React61.createElement(EditingPanelTabs, null)))))));
2069
+ return /* @__PURE__ */ React61.createElement(import_ui50.ErrorBoundary, { fallback: /* @__PURE__ */ React61.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React61.createElement(import_editor_panels.Panel, null, /* @__PURE__ */ React61.createElement(import_editor_panels.PanelHeader, null, /* @__PURE__ */ React61.createElement(import_editor_panels.PanelHeaderTitle, null, panelTitle)), /* @__PURE__ */ React61.createElement(import_editor_panels.PanelBody, null, /* @__PURE__ */ React61.createElement(import_editor_controls41.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React61.createElement(import_editor_controls41.ControlReplacementProvider, { ...controlReplacement }, /* @__PURE__ */ React61.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React61.createElement(EditingPanelTabs, null)))))));
2030
2070
  };
2031
2071
 
2032
2072
  // src/panel.ts
@@ -2049,7 +2089,7 @@ var isAtomicWidgetSelected = () => {
2049
2089
  // src/hooks/use-close-editor-panel.ts
2050
2090
  var useCloseEditorPanel = () => {
2051
2091
  const { close } = usePanelActions();
2052
- return (0, import_react15.useEffect)(() => {
2092
+ return (0, import_react16.useEffect)(() => {
2053
2093
  return (0, import_editor_v1_adapters2.__privateListenTo)((0, import_editor_v1_adapters2.commandStartEvent)("document/elements/delete"), (e) => {
2054
2094
  const selectedElement = (0, import_editor_elements8.getSelectedElements)()[0];
2055
2095
  const { container: deletedContainer } = e?.args;
@@ -2062,11 +2102,11 @@ var useCloseEditorPanel = () => {
2062
2102
  };
2063
2103
 
2064
2104
  // src/hooks/use-open-editor-panel.ts
2065
- var import_react16 = require("react");
2105
+ var import_react17 = require("react");
2066
2106
  var import_editor_v1_adapters3 = require("@elementor/editor-v1-adapters");
2067
2107
  var useOpenEditorPanel = () => {
2068
2108
  const { open } = usePanelActions();
2069
- (0, import_react16.useEffect)(() => {
2109
+ (0, import_react17.useEffect)(() => {
2070
2110
  return (0, import_editor_v1_adapters3.__privateListenTo)((0, import_editor_v1_adapters3.commandStartEvent)("panel/editor/open"), () => {
2071
2111
  if (isAtomicWidgetSelected()) {
2072
2112
  open();
@@ -2109,10 +2149,10 @@ function registerGlobalClassItems() {
2109
2149
 
2110
2150
  // src/dynamics/components/dynamic-selection-control.tsx
2111
2151
  var React64 = __toESM(require("react"));
2112
- var import_react20 = require("react");
2113
- var import_editor_controls44 = require("@elementor/editor-controls");
2152
+ var import_react21 = require("react");
2153
+ var import_editor_controls45 = require("@elementor/editor-controls");
2114
2154
  var import_icons22 = require("@elementor/icons");
2115
- var import_ui53 = require("@elementor/ui");
2155
+ var import_ui52 = require("@elementor/ui");
2116
2156
  var import_i18n42 = require("@wordpress/i18n");
2117
2157
 
2118
2158
  // src/hooks/use-persist-dynamic-value.ts
@@ -2124,13 +2164,14 @@ var usePersistDynamicValue = (propKey) => {
2124
2164
 
2125
2165
  // src/dynamics/dynamic-control.tsx
2126
2166
  var React62 = __toESM(require("react"));
2127
- var import_editor_controls42 = require("@elementor/editor-controls");
2167
+ var import_editor_controls43 = require("@elementor/editor-controls");
2128
2168
 
2129
2169
  // src/dynamics/hooks/use-dynamic-tag.ts
2130
- var import_react18 = require("react");
2170
+ var import_react19 = require("react");
2131
2171
 
2132
2172
  // src/dynamics/hooks/use-prop-dynamic-tags.ts
2133
- var import_react17 = require("react");
2173
+ var import_react18 = require("react");
2174
+ var import_editor_controls42 = require("@elementor/editor-controls");
2134
2175
 
2135
2176
  // src/dynamics/sync/get-elementor-config.ts
2136
2177
  var getElementorConfig2 = () => {
@@ -2169,20 +2210,19 @@ var dynamicPropTypeUtil = (0, import_editor_props4.createPropUtils)(
2169
2210
  DYNAMIC_PROP_TYPE_KEY,
2170
2211
  import_schema.z.strictObject({
2171
2212
  name: import_schema.z.string(),
2172
- settings: import_schema.z.record(import_schema.z.any()).optional()
2213
+ settings: import_schema.z.any().optional()
2173
2214
  })
2174
2215
  );
2175
2216
 
2176
2217
  // src/dynamics/hooks/use-prop-dynamic-tags.ts
2177
- var usePropDynamicTags = (propName) => {
2218
+ var usePropDynamicTags = () => {
2178
2219
  let categories = [];
2179
- const { elementType } = useElement();
2180
- const propType = elementType.propsSchema?.[propName];
2220
+ const { propType } = (0, import_editor_controls42.useBoundProp)();
2181
2221
  if (propType) {
2182
2222
  const propDynamicType = getDynamicPropType(propType);
2183
2223
  categories = propDynamicType?.settings.categories || [];
2184
2224
  }
2185
- return (0, import_react17.useMemo)(() => getDynamicTagsByCategories(categories), [categories.join()]);
2225
+ return (0, import_react18.useMemo)(() => getDynamicTagsByCategories(categories), [categories.join()]);
2186
2226
  };
2187
2227
  var getDynamicTagsByCategories = (categories) => {
2188
2228
  const dynamicTags = getAtomicDynamicTags();
@@ -2196,49 +2236,51 @@ var getDynamicTagsByCategories = (categories) => {
2196
2236
  };
2197
2237
 
2198
2238
  // src/dynamics/hooks/use-dynamic-tag.ts
2199
- var useDynamicTag = (propName, tagName) => {
2200
- const dynamicTags = usePropDynamicTags(propName);
2201
- return (0, import_react18.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
2239
+ var useDynamicTag = (tagName) => {
2240
+ const dynamicTags = usePropDynamicTags();
2241
+ return (0, import_react19.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
2202
2242
  };
2203
2243
 
2204
2244
  // src/dynamics/dynamic-control.tsx
2205
2245
  var DynamicControl = ({ bind, children }) => {
2206
- const { value, setValue, bind: propName } = (0, import_editor_controls42.useBoundProp)(dynamicPropTypeUtil);
2246
+ const { value, setValue } = (0, import_editor_controls43.useBoundProp)(dynamicPropTypeUtil);
2207
2247
  const { name = "", settings } = value ?? {};
2208
- const dynamicTag = useDynamicTag(propName, name);
2248
+ const dynamicTag = useDynamicTag(name);
2209
2249
  if (!dynamicTag) {
2210
2250
  throw new Error(`Dynamic tag ${name} not found`);
2211
2251
  }
2212
- const defaultValue = dynamicTag.props_schema[bind]?.default;
2252
+ const dynamicPropType = dynamicTag.props_schema[bind];
2253
+ const defaultValue = dynamicPropType?.default;
2213
2254
  const dynamicValue = settings?.[bind] ?? defaultValue;
2214
- const setDynamicValue = (newValue) => {
2255
+ const setDynamicValue = (newValues) => {
2215
2256
  setValue({
2216
2257
  name,
2217
2258
  settings: {
2218
2259
  ...settings,
2219
- [bind]: newValue
2260
+ ...newValues
2220
2261
  }
2221
2262
  });
2222
2263
  };
2223
- return /* @__PURE__ */ React62.createElement(import_editor_controls42.BoundPropProvider, { setValue: setDynamicValue, value: dynamicValue, bind }, children);
2264
+ const propType = createTopLevelOjectType({ schema: dynamicTag.props_schema });
2265
+ return /* @__PURE__ */ React62.createElement(import_editor_controls43.PropProvider, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React62.createElement(import_editor_controls43.PropKeyProvider, { bind }, children));
2224
2266
  };
2225
2267
 
2226
2268
  // src/dynamics/components/dynamic-selection.tsx
2227
2269
  var React63 = __toESM(require("react"));
2228
- var import_react19 = require("react");
2229
- var import_editor_controls43 = require("@elementor/editor-controls");
2270
+ var import_react20 = require("react");
2271
+ var import_editor_controls44 = require("@elementor/editor-controls");
2230
2272
  var import_icons21 = require("@elementor/icons");
2231
- var import_ui52 = require("@elementor/ui");
2273
+ var import_ui51 = require("@elementor/ui");
2232
2274
  var import_i18n41 = require("@wordpress/i18n");
2233
2275
  var SIZE3 = "tiny";
2234
2276
  var DynamicSelection = ({ onSelect }) => {
2235
- const [searchValue, setSearchValue] = (0, import_react19.useState)("");
2277
+ const [searchValue, setSearchValue] = (0, import_react20.useState)("");
2236
2278
  const { groups: dynamicGroups } = getAtomicDynamicTags() || {};
2237
- const { value: anyValue } = (0, import_editor_controls43.useBoundProp)();
2238
- const { bind, value: dynamicValue, setValue } = (0, import_editor_controls43.useBoundProp)(dynamicPropTypeUtil);
2279
+ const { value: anyValue } = (0, import_editor_controls44.useBoundProp)();
2280
+ const { bind, value: dynamicValue, setValue } = (0, import_editor_controls44.useBoundProp)(dynamicPropTypeUtil);
2239
2281
  const [, updatePropValueHistory] = usePersistDynamicValue(bind);
2240
2282
  const isCurrentValueDynamic = !!dynamicValue;
2241
- const options10 = useFilteredOptions(bind, searchValue);
2283
+ const options10 = useFilteredOptions(searchValue);
2242
2284
  const handleSearch = (event) => {
2243
2285
  setSearchValue(event.target.value);
2244
2286
  };
@@ -2249,8 +2291,8 @@ var DynamicSelection = ({ onSelect }) => {
2249
2291
  setValue({ name: value, settings: {} });
2250
2292
  onSelect?.();
2251
2293
  };
2252
- return /* @__PURE__ */ React63.createElement(import_ui52.Stack, null, /* @__PURE__ */ React63.createElement(import_ui52.Box, { px: 1.5, pb: 1 }, /* @__PURE__ */ React63.createElement(
2253
- import_ui52.TextField,
2294
+ return /* @__PURE__ */ React63.createElement(import_ui51.Stack, null, /* @__PURE__ */ React63.createElement(import_ui51.Box, { px: 1.5, pb: 1 }, /* @__PURE__ */ React63.createElement(
2295
+ import_ui51.TextField,
2254
2296
  {
2255
2297
  fullWidth: true,
2256
2298
  size: SIZE3,
@@ -2258,13 +2300,13 @@ var DynamicSelection = ({ onSelect }) => {
2258
2300
  onChange: handleSearch,
2259
2301
  placeholder: (0, import_i18n41.__)("Search dynamic tag", "elementor"),
2260
2302
  InputProps: {
2261
- startAdornment: /* @__PURE__ */ React63.createElement(import_ui52.InputAdornment, { position: "start" }, /* @__PURE__ */ React63.createElement(import_icons21.SearchIcon, { fontSize: SIZE3 }))
2303
+ startAdornment: /* @__PURE__ */ React63.createElement(import_ui51.InputAdornment, { position: "start" }, /* @__PURE__ */ React63.createElement(import_icons21.SearchIcon, { fontSize: SIZE3 }))
2262
2304
  }
2263
2305
  }
2264
- )), /* @__PURE__ */ React63.createElement(import_ui52.Divider, null), /* @__PURE__ */ React63.createElement(import_ui52.Box, { sx: { overflowY: "auto", height: 260, width: 220 } }, options10.length > 0 ? /* @__PURE__ */ React63.createElement(import_ui52.MenuList, { role: "listbox", tabIndex: 0 }, options10.map(([category, items3], index) => /* @__PURE__ */ React63.createElement(import_react19.Fragment, { key: index }, /* @__PURE__ */ React63.createElement(import_ui52.ListSubheader, { sx: { typography: "caption", color: "text.tertiary" } }, dynamicGroups?.[category]?.title || category), items3.map(({ value, label: tagLabel }) => {
2306
+ )), /* @__PURE__ */ React63.createElement(import_ui51.Divider, null), /* @__PURE__ */ React63.createElement(import_ui51.Box, { sx: { overflowY: "auto", height: 260, width: 220 } }, options10.length > 0 ? /* @__PURE__ */ React63.createElement(import_ui51.MenuList, { role: "listbox", tabIndex: 0 }, options10.map(([category, items3], index) => /* @__PURE__ */ React63.createElement(import_react20.Fragment, { key: index }, /* @__PURE__ */ React63.createElement(import_ui51.ListSubheader, { sx: { typography: "caption", color: "text.tertiary" } }, dynamicGroups?.[category]?.title || category), items3.map(({ value, label: tagLabel }) => {
2265
2307
  const isSelected = isCurrentValueDynamic && value === dynamicValue?.name;
2266
2308
  return /* @__PURE__ */ React63.createElement(
2267
- import_ui52.MenuItem,
2309
+ import_ui51.MenuItem,
2268
2310
  {
2269
2311
  key: value,
2270
2312
  selected: isSelected,
@@ -2274,8 +2316,8 @@ var DynamicSelection = ({ onSelect }) => {
2274
2316
  },
2275
2317
  tagLabel
2276
2318
  );
2277
- })))) : /* @__PURE__ */ React63.createElement(import_ui52.Stack, { alignItems: "center", p: 2.5, gap: 1.5 }, /* @__PURE__ */ React63.createElement(import_icons21.PhotoIcon, { fontSize: "large" }), /* @__PURE__ */ React63.createElement(import_ui52.Typography, { align: "center", variant: "caption", color: "text.secondary" }, (0, import_i18n41.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React63.createElement("br", null), "\u201C", searchValue, "\u201D."), /* @__PURE__ */ React63.createElement(import_ui52.Typography, { align: "center", variant: "caption", color: "text.secondary" }, /* @__PURE__ */ React63.createElement(
2278
- import_ui52.Link,
2319
+ })))) : /* @__PURE__ */ React63.createElement(import_ui51.Stack, { alignItems: "center", p: 2.5, gap: 1.5 }, /* @__PURE__ */ React63.createElement(import_icons21.PhotoIcon, { fontSize: "large" }), /* @__PURE__ */ React63.createElement(import_ui51.Typography, { align: "center", variant: "caption", color: "text.secondary" }, (0, import_i18n41.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React63.createElement("br", null), "\u201C", searchValue, "\u201D."), /* @__PURE__ */ React63.createElement(import_ui51.Typography, { align: "center", variant: "caption", color: "text.secondary" }, /* @__PURE__ */ React63.createElement(
2320
+ import_ui51.Link,
2279
2321
  {
2280
2322
  color: "secondary",
2281
2323
  variant: "caption",
@@ -2285,8 +2327,8 @@ var DynamicSelection = ({ onSelect }) => {
2285
2327
  (0, import_i18n41.__)("Clear the filters", "elementor")
2286
2328
  ), "\xA0", (0, import_i18n41.__)("and try again.", "elementor")))));
2287
2329
  };
2288
- var useFilteredOptions = (bind, searchValue) => {
2289
- const dynamicTags = usePropDynamicTags(bind);
2330
+ var useFilteredOptions = (searchValue) => {
2331
+ const dynamicTags = usePropDynamicTags();
2290
2332
  const options10 = dynamicTags.reduce((categories, { name, label, group }) => {
2291
2333
  const isVisible = label.toLowerCase().includes(searchValue.trim().toLowerCase());
2292
2334
  if (!isVisible) {
@@ -2304,29 +2346,29 @@ var useFilteredOptions = (bind, searchValue) => {
2304
2346
  // src/dynamics/components/dynamic-selection-control.tsx
2305
2347
  var SIZE4 = "tiny";
2306
2348
  var DynamicSelectionControl = () => {
2307
- const { setValue: setAnyValue } = (0, import_editor_controls44.useBoundProp)();
2308
- const { bind, value } = (0, import_editor_controls44.useBoundProp)(dynamicPropTypeUtil);
2349
+ const { setValue: setAnyValue } = (0, import_editor_controls45.useBoundProp)();
2350
+ const { bind, value } = (0, import_editor_controls45.useBoundProp)(dynamicPropTypeUtil);
2309
2351
  const [propValueFromHistory] = usePersistDynamicValue(bind);
2310
2352
  const { name: tagName = "" } = value;
2311
- const selectionPopoverId = (0, import_react20.useId)();
2312
- const selectionPopoverState = (0, import_ui53.usePopupState)({ variant: "popover", popupId: selectionPopoverId });
2313
- const dynamicTag = useDynamicTag(bind, tagName);
2353
+ const selectionPopoverId = (0, import_react21.useId)();
2354
+ const selectionPopoverState = (0, import_ui52.usePopupState)({ variant: "popover", popupId: selectionPopoverId });
2355
+ const dynamicTag = useDynamicTag(tagName);
2314
2356
  const removeDynamicTag = () => {
2315
2357
  setAnyValue(propValueFromHistory ?? null);
2316
2358
  };
2317
2359
  if (!dynamicTag) {
2318
2360
  throw new Error(`Dynamic tag ${tagName} not found`);
2319
2361
  }
2320
- return /* @__PURE__ */ React64.createElement(import_ui53.Box, null, /* @__PURE__ */ React64.createElement(
2321
- import_ui53.UnstableTag,
2362
+ return /* @__PURE__ */ React64.createElement(import_ui52.Box, null, /* @__PURE__ */ React64.createElement(
2363
+ import_ui52.UnstableTag,
2322
2364
  {
2323
2365
  fullWidth: true,
2324
2366
  showActionsOnHover: true,
2325
2367
  label: dynamicTag.label,
2326
2368
  startIcon: /* @__PURE__ */ React64.createElement(import_icons22.DatabaseIcon, { fontSize: SIZE4 }),
2327
- ...(0, import_ui53.bindTrigger)(selectionPopoverState),
2369
+ ...(0, import_ui52.bindTrigger)(selectionPopoverState),
2328
2370
  actions: /* @__PURE__ */ React64.createElement(React64.Fragment, null, /* @__PURE__ */ React64.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React64.createElement(
2329
- import_ui53.IconButton,
2371
+ import_ui52.IconButton,
2330
2372
  {
2331
2373
  size: SIZE4,
2332
2374
  onClick: removeDynamicTag,
@@ -2336,49 +2378,49 @@ var DynamicSelectionControl = () => {
2336
2378
  ))
2337
2379
  }
2338
2380
  ), /* @__PURE__ */ React64.createElement(
2339
- import_ui53.Popover,
2381
+ import_ui52.Popover,
2340
2382
  {
2341
2383
  disablePortal: true,
2342
2384
  disableScrollLock: true,
2343
2385
  anchorOrigin: { vertical: "bottom", horizontal: "left" },
2344
- ...(0, import_ui53.bindPopover)(selectionPopoverState)
2386
+ ...(0, import_ui52.bindPopover)(selectionPopoverState)
2345
2387
  },
2346
- /* @__PURE__ */ React64.createElement(import_ui53.Stack, null, /* @__PURE__ */ React64.createElement(import_ui53.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React64.createElement(import_icons22.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React64.createElement(import_ui53.Typography, { variant: "subtitle2" }, (0, import_i18n42.__)("Dynamic Tags", "elementor")), /* @__PURE__ */ React64.createElement(import_ui53.IconButton, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React64.createElement(import_icons22.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React64.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
2388
+ /* @__PURE__ */ React64.createElement(import_ui52.Stack, null, /* @__PURE__ */ React64.createElement(import_ui52.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React64.createElement(import_icons22.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React64.createElement(import_ui52.Typography, { variant: "subtitle2" }, (0, import_i18n42.__)("Dynamic Tags", "elementor")), /* @__PURE__ */ React64.createElement(import_ui52.IconButton, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React64.createElement(import_icons22.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React64.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
2347
2389
  ));
2348
2390
  };
2349
2391
  var DynamicSettingsPopover = ({ dynamicTag }) => {
2350
- const popupId = (0, import_react20.useId)();
2351
- const settingsPopupState = (0, import_ui53.usePopupState)({ variant: "popover", popupId });
2392
+ const popupId = (0, import_react21.useId)();
2393
+ const settingsPopupState = (0, import_ui52.usePopupState)({ variant: "popover", popupId });
2352
2394
  const hasDynamicSettings = !!dynamicTag.atomic_controls.length;
2353
2395
  if (!hasDynamicSettings) {
2354
2396
  return null;
2355
2397
  }
2356
2398
  return /* @__PURE__ */ React64.createElement(React64.Fragment, null, /* @__PURE__ */ React64.createElement(
2357
- import_ui53.IconButton,
2399
+ import_ui52.IconButton,
2358
2400
  {
2359
2401
  size: SIZE4,
2360
- ...(0, import_ui53.bindTrigger)(settingsPopupState),
2402
+ ...(0, import_ui52.bindTrigger)(settingsPopupState),
2361
2403
  "aria-label": (0, import_i18n42.__)("Settings", "elementor")
2362
2404
  },
2363
2405
  /* @__PURE__ */ React64.createElement(import_icons22.SettingsIcon, { fontSize: SIZE4 })
2364
2406
  ), /* @__PURE__ */ React64.createElement(
2365
- import_ui53.Popover,
2407
+ import_ui52.Popover,
2366
2408
  {
2367
2409
  disableScrollLock: true,
2368
2410
  anchorOrigin: { vertical: "bottom", horizontal: "center" },
2369
- ...(0, import_ui53.bindPopover)(settingsPopupState)
2411
+ ...(0, import_ui52.bindPopover)(settingsPopupState)
2370
2412
  },
2371
- /* @__PURE__ */ React64.createElement(import_ui53.Paper, { component: import_ui53.Stack, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React64.createElement(import_ui53.Stack, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React64.createElement(import_icons22.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React64.createElement(import_ui53.Typography, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React64.createElement(import_ui53.IconButton, { sx: { ml: "auto" }, size: SIZE4, onClick: settingsPopupState.close }, /* @__PURE__ */ React64.createElement(import_icons22.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React64.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
2413
+ /* @__PURE__ */ React64.createElement(import_ui52.Paper, { component: import_ui52.Stack, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React64.createElement(import_ui52.Stack, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React64.createElement(import_icons22.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React64.createElement(import_ui52.Typography, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React64.createElement(import_ui52.IconButton, { sx: { ml: "auto" }, size: SIZE4, onClick: settingsPopupState.close }, /* @__PURE__ */ React64.createElement(import_icons22.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React64.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
2372
2414
  ));
2373
2415
  };
2374
2416
  var DynamicSettings = ({ controls }) => {
2375
2417
  const tabs = controls.filter(({ type }) => type === "section");
2376
- const { getTabsProps, getTabProps, getTabPanelProps } = (0, import_ui53.useTabs)(0);
2418
+ const { getTabsProps, getTabProps, getTabPanelProps } = (0, import_ui52.useTabs)(0);
2377
2419
  if (!tabs.length) {
2378
2420
  return null;
2379
2421
  }
2380
- return /* @__PURE__ */ React64.createElement(React64.Fragment, null, /* @__PURE__ */ React64.createElement(import_ui53.Tabs, { indicatorColor: "secondary", textColor: "secondary", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React64.createElement(import_ui53.Tab, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React64.createElement(import_ui53.Divider, null), tabs.map(({ value }, index) => {
2381
- return /* @__PURE__ */ React64.createElement(import_ui53.TabPanel, { key: index, sx: { flexGrow: 1 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React64.createElement(import_ui53.Stack, { gap: 1, px: 2 }, value.items.map((item) => {
2422
+ return /* @__PURE__ */ React64.createElement(React64.Fragment, null, /* @__PURE__ */ React64.createElement(import_ui52.Tabs, { indicatorColor: "secondary", textColor: "secondary", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React64.createElement(import_ui52.Tab, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React64.createElement(import_ui52.Divider, null), tabs.map(({ value }, index) => {
2423
+ return /* @__PURE__ */ React64.createElement(import_ui52.TabPanel, { key: index, sx: { flexGrow: 1 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React64.createElement(import_ui52.Stack, { gap: 1, px: 2 }, value.items.map((item) => {
2382
2424
  if (item.type === "control") {
2383
2425
  return /* @__PURE__ */ React64.createElement(Control3, { key: item.value.bind, control: item.value });
2384
2426
  }
@@ -2390,18 +2432,16 @@ var Control3 = ({ control }) => {
2390
2432
  if (!getControlByType(control.type)) {
2391
2433
  return null;
2392
2434
  }
2393
- return /* @__PURE__ */ React64.createElement(DynamicControl, { bind: control.bind }, control.label ? /* @__PURE__ */ React64.createElement(import_editor_controls44.ControlLabel, null, control.label) : null, /* @__PURE__ */ React64.createElement(Control, { type: control.type, props: control.props }));
2435
+ return /* @__PURE__ */ React64.createElement(DynamicControl, { bind: control.bind }, control.label ? /* @__PURE__ */ React64.createElement(import_editor_controls45.ControlLabel, null, control.label) : null, /* @__PURE__ */ React64.createElement(Control, { type: control.type, props: control.props }));
2394
2436
  };
2395
2437
 
2396
2438
  // src/dynamics/hooks/use-prop-dynamic-action.tsx
2397
2439
  var React65 = __toESM(require("react"));
2398
- var import_editor_controls45 = require("@elementor/editor-controls");
2440
+ var import_editor_controls46 = require("@elementor/editor-controls");
2399
2441
  var import_icons23 = require("@elementor/icons");
2400
2442
  var import_i18n43 = require("@wordpress/i18n");
2401
2443
  var usePropDynamicAction = () => {
2402
- const { bind } = (0, import_editor_controls45.useBoundProp)();
2403
- const { elementType } = useElement();
2404
- const propType = elementType.propsSchema[bind];
2444
+ const { propType } = (0, import_editor_controls46.useBoundProp)();
2405
2445
  const visible = !!propType && supportsDynamic(propType);
2406
2446
  return {
2407
2447
  visible,