@elementor/editor-editing-panel 1.3.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -28,13 +28,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
 
30
30
  // src/index.ts
31
- var src_exports = {};
32
- __export(src_exports, {
31
+ var index_exports = {};
32
+ __export(index_exports, {
33
33
  replaceControl: () => replaceControl,
34
- useBoundProp: () => import_editor_controls46.useBoundProp
34
+ useBoundProp: () => import_editor_controls47.useBoundProp
35
35
  });
36
- module.exports = __toCommonJS(src_exports);
37
- var import_editor_controls46 = require("@elementor/editor-controls");
36
+ module.exports = __toCommonJS(index_exports);
37
+ var import_editor_controls47 = require("@elementor/editor-controls");
38
38
 
39
39
  // src/control-replacement.tsx
40
40
  var import_editor_controls = require("@elementor/editor-controls");
@@ -46,20 +46,20 @@ var import_editor_panels3 = require("@elementor/editor-panels");
46
46
  var import_editor_v1_adapters3 = require("@elementor/editor-v1-adapters");
47
47
 
48
48
  // src/hooks/use-close-editor-panel.ts
49
- var import_react15 = require("react");
50
- var import_editor_elements8 = require("@elementor/editor-elements");
49
+ var import_react13 = require("react");
50
+ var import_editor_elements7 = require("@elementor/editor-elements");
51
51
  var import_editor_v1_adapters = require("@elementor/editor-v1-adapters");
52
52
 
53
53
  // src/panel.ts
54
54
  var import_editor_panels2 = require("@elementor/editor-panels");
55
55
 
56
56
  // src/components/editing-panel.tsx
57
- var React58 = __toESM(require("react"));
58
- var import_editor_controls41 = require("@elementor/editor-controls");
59
- var import_editor_elements6 = require("@elementor/editor-elements");
57
+ var React60 = __toESM(require("react"));
58
+ var import_editor_controls42 = require("@elementor/editor-controls");
59
+ var import_editor_elements5 = require("@elementor/editor-elements");
60
60
  var import_editor_panels = require("@elementor/editor-panels");
61
- var import_ui50 = require("@elementor/ui");
62
- var import_i18n38 = require("@wordpress/i18n");
61
+ var import_ui52 = require("@elementor/ui");
62
+ var import_i18n40 = require("@wordpress/i18n");
63
63
 
64
64
  // src/contexts/element-context.tsx
65
65
  var React = __toESM(require("react"));
@@ -130,10 +130,10 @@ function EditorPanelErrorFallback() {
130
130
  }
131
131
 
132
132
  // src/components/editing-panel-tabs.tsx
133
- var React57 = __toESM(require("react"));
134
- var import_react14 = require("react");
135
- var import_ui49 = require("@elementor/ui");
136
- var import_i18n37 = require("@wordpress/i18n");
133
+ var React59 = __toESM(require("react"));
134
+ var import_react12 = require("react");
135
+ var import_ui51 = require("@elementor/ui");
136
+ var import_i18n39 = require("@wordpress/i18n");
137
137
 
138
138
  // src/components/settings-tab.tsx
139
139
  var React9 = __toESM(require("react"));
@@ -285,13 +285,12 @@ var Control2 = ({ control }) => {
285
285
  };
286
286
 
287
287
  // src/components/style-tab.tsx
288
- var React56 = __toESM(require("react"));
289
- var import_react13 = require("react");
290
- var import_editor_elements5 = require("@elementor/editor-elements");
288
+ var React58 = __toESM(require("react"));
289
+ var import_react11 = require("react");
290
+ var import_editor_elements4 = require("@elementor/editor-elements");
291
291
  var import_editor_responsive = require("@elementor/editor-responsive");
292
- var import_editor_styles = require("@elementor/editor-styles");
293
- var import_ui48 = require("@elementor/ui");
294
- var import_i18n36 = require("@wordpress/i18n");
292
+ var import_ui50 = require("@elementor/ui");
293
+ var import_i18n38 = require("@wordpress/i18n");
295
294
 
296
295
  // src/contexts/classes-prop-context.tsx
297
296
  var React10 = __toESM(require("react"));
@@ -324,18 +323,55 @@ function useStyle() {
324
323
  }
325
324
 
326
325
  // src/components/css-class-selector.tsx
327
- var React13 = __toESM(require("react"));
326
+ var React14 = __toESM(require("react"));
328
327
  var import_editor_elements2 = require("@elementor/editor-elements");
329
328
  var import_editor_props = require("@elementor/editor-props");
330
- var import_ui9 = require("@elementor/ui");
329
+ var import_editor_styles_repository = require("@elementor/editor-styles-repository");
330
+ var import_ui10 = require("@elementor/ui");
331
331
  var import_i18n = require("@wordpress/i18n");
332
332
 
333
- // src/components/multi-combobox/multi-combobox.tsx
333
+ // src/components/conditional-tooltip-wrapper.tsx
334
+ var import_react6 = require("react");
334
335
  var React12 = __toESM(require("react"));
335
- var import_ui8 = require("@elementor/ui");
336
+ var import_ui7 = require("@elementor/ui");
337
+ var ConditionalTooltipWrapper = ({ maxWidth, title }) => {
338
+ const elRef = (0, import_react6.useRef)(null);
339
+ const [isOverflown, setIsOverflown] = (0, import_react6.useState)(false);
340
+ (0, import_react6.useEffect)(() => {
341
+ const onResize = () => {
342
+ const element = elRef.current;
343
+ if (element) {
344
+ setIsOverflown(element.scrollWidth > element.clientWidth);
345
+ }
346
+ };
347
+ onResize();
348
+ window.addEventListener("resize", onResize);
349
+ return () => {
350
+ window.removeEventListener("resize", onResize);
351
+ };
352
+ }, []);
353
+ if (isOverflown) {
354
+ return /* @__PURE__ */ React12.createElement(import_ui7.Tooltip, { title, placement: "top" }, /* @__PURE__ */ React12.createElement(Content, { maxWidth, ref: elRef, title }));
355
+ }
356
+ return /* @__PURE__ */ React12.createElement(Content, { maxWidth, ref: elRef, title });
357
+ };
358
+ var Content = React12.forwardRef(({ maxWidth, title, ...rest }, ref) => /* @__PURE__ */ React12.createElement(
359
+ import_ui7.Box,
360
+ {
361
+ ref,
362
+ position: "relative",
363
+ sx: { overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap", maxWidth },
364
+ ...rest
365
+ },
366
+ title
367
+ ));
368
+
369
+ // src/components/multi-combobox/multi-combobox.tsx
370
+ var React13 = __toESM(require("react"));
371
+ var import_ui9 = require("@elementor/ui");
336
372
 
337
373
  // src/components/multi-combobox/use-combobox-actions.ts
338
- var import_ui7 = require("@elementor/ui");
374
+ var import_ui8 = require("@elementor/ui");
339
375
  var useComboboxActions = (applied, actions, optionsLabel, onSelect) => ({
340
376
  action: {
341
377
  is: (opt) => typeof opt !== "string" && "action" in opt,
@@ -369,7 +405,7 @@ var useComboboxActions = (applied, actions, optionsLabel, onSelect) => ({
369
405
  }
370
406
  }
371
407
  });
372
- var filter = (0, import_ui7.createFilterOptions)();
408
+ var filter = (0, import_ui8.createFilterOptions)();
373
409
  var createActionOption = (groupLabel, action, inputValue) => ({
374
410
  value: "",
375
411
  label: inputValue,
@@ -397,8 +433,8 @@ var MultiCombobox = ({
397
433
  optionsLabel,
398
434
  onSelect
399
435
  );
400
- return /* @__PURE__ */ React12.createElement(
401
- import_ui8.Autocomplete,
436
+ return /* @__PURE__ */ React13.createElement(
437
+ import_ui9.Autocomplete,
402
438
  {
403
439
  ...props,
404
440
  freeSolo: true,
@@ -410,8 +446,8 @@ var MultiCombobox = ({
410
446
  value: selected,
411
447
  options: options10,
412
448
  renderGroup,
413
- renderInput: (params) => /* @__PURE__ */ React12.createElement(import_ui8.TextField, { ...params }),
414
- getLimitTagsText: (more) => /* @__PURE__ */ React12.createElement(import_ui8.Chip, { size: "tiny", variant: "standard", label: `+${more}`, clickable: true }),
449
+ renderInput: (params) => /* @__PURE__ */ React13.createElement(import_ui9.TextField, { ...params }),
450
+ getLimitTagsText: (more) => /* @__PURE__ */ React13.createElement(import_ui9.Chip, { size: "tiny", variant: "standard", label: `+${more}`, clickable: true }),
415
451
  onChange: (_, selectedOrTypedValue, reason) => {
416
452
  if (reason === "createOption") {
417
453
  const typedValue = selectedOrTypedValue.find((option) => typeof option === "string");
@@ -443,34 +479,41 @@ var MultiCombobox = ({
443
479
  }
444
480
  );
445
481
  };
446
- var renderGroup = (params) => /* @__PURE__ */ React12.createElement(Group, { key: params.key }, /* @__PURE__ */ React12.createElement(GroupHeader, null, params.group), /* @__PURE__ */ React12.createElement(GroupItems, null, params.children));
447
- var Group = (0, import_ui8.styled)("li")`
482
+ var renderGroup = (params) => /* @__PURE__ */ React13.createElement(Group, { key: params.key }, /* @__PURE__ */ React13.createElement(GroupHeader, null, params.group), /* @__PURE__ */ React13.createElement(GroupItems, null, params.children));
483
+ var Group = (0, import_ui9.styled)("li")`
448
484
  &:not( :last-of-type ) {
449
485
  border-bottom: 1px solid ${({ theme }) => theme.palette.divider};
450
486
  }
451
487
  `;
452
- var GroupHeader = (0, import_ui8.styled)(import_ui8.Box)(({ theme }) => ({
488
+ var GroupHeader = (0, import_ui9.styled)(import_ui9.Box)(({ theme }) => ({
453
489
  position: "sticky",
454
490
  top: "-8px",
455
491
  padding: theme.spacing(1, 2),
456
492
  color: theme.palette.text.tertiary
457
493
  }));
458
- var GroupItems = (0, import_ui8.styled)("ul")`
494
+ var GroupItems = (0, import_ui9.styled)("ul")`
459
495
  padding: 0;
460
496
  `;
461
497
 
462
498
  // src/components/css-class-selector.tsx
463
499
  var ID = "elementor-css-class-selector";
464
500
  var TAGS_LIMIT = 8;
501
+ var EMPTY_OPTION = {
502
+ label: (0, import_i18n.__)("local", "elementor"),
503
+ value: "",
504
+ fixed: true,
505
+ color: "primary",
506
+ provider: import_editor_styles_repository.ELEMENTS_STYLES_PROVIDER_KEY
507
+ };
465
508
  function CssClassSelector() {
466
509
  const options10 = useOptions();
510
+ const [appliedIds, setAppliedIds] = useAppliedClassesIds();
467
511
  const { id: activeId, setId: setActiveId } = useStyle();
468
- const [appliedIds] = useAppliedClassesIds();
469
- const handleApply = useHandleApply();
512
+ const handleApply = useHandleApply(appliedIds, setAppliedIds);
470
513
  const handleActivate = ({ value }) => setActiveId(value);
471
- const active = options10.find((option) => option.value === activeId) || null;
472
- const applied = appliedIds.map((id) => options10.find((option) => option.value === id)).filter((option) => !!option);
473
- return /* @__PURE__ */ React13.createElement(import_ui9.Stack, { gap: 1, p: 2 }, /* @__PURE__ */ React13.createElement(import_ui9.Typography, { component: "label", variant: "caption", htmlFor: ID }, (0, import_i18n.__)("CSS Classes", "elementor")), /* @__PURE__ */ React13.createElement(
514
+ const applied = useAppliedOptions(options10, appliedIds);
515
+ const active = applied.find((option) => option.value === activeId) ?? EMPTY_OPTION;
516
+ return /* @__PURE__ */ React14.createElement(import_ui10.Stack, { gap: 1, p: 2 }, /* @__PURE__ */ React14.createElement(import_ui10.Typography, { component: "label", variant: "caption", htmlFor: ID }, (0, import_i18n.__)("CSS Classes", "elementor")), /* @__PURE__ */ React14.createElement(
474
517
  MultiCombobox,
475
518
  {
476
519
  id: ID,
@@ -483,17 +526,18 @@ function CssClassSelector() {
483
526
  renderTags: (values, getTagProps) => values.map((value, index) => {
484
527
  const chipProps = getTagProps({ index });
485
528
  const isActive = value.value === active?.value;
486
- return /* @__PURE__ */ React13.createElement(
487
- import_ui9.Chip,
529
+ return /* @__PURE__ */ React14.createElement(
530
+ import_ui10.Chip,
488
531
  {
489
532
  ...chipProps,
490
533
  key: chipProps.key,
491
534
  size: "small",
492
- label: value.label,
535
+ label: /* @__PURE__ */ React14.createElement(ConditionalTooltipWrapper, { maxWidth: "10ch", title: value.label }),
493
536
  variant: isActive ? "filled" : "standard",
494
537
  color: isActive && value.color ? value.color : "default",
495
538
  onClick: () => handleActivate(value),
496
- onDelete: null
539
+ onDelete: null,
540
+ "aria-pressed": isActive
497
541
  }
498
542
  );
499
543
  })
@@ -502,13 +546,31 @@ function CssClassSelector() {
502
546
  }
503
547
  function useOptions() {
504
548
  const { element } = useElement();
505
- const styleDefs = (0, import_editor_elements2.useElementStyles)(element.id);
506
- return Object.values(styleDefs).map((styleDef) => ({
507
- label: styleDef.label,
508
- value: styleDef.id,
509
- fixed: true,
510
- color: "primary"
511
- }));
549
+ return (0, import_editor_styles_repository.useAllStylesByProvider)({ elementId: element.id }).flatMap(([providerKey, styleDefs]) => {
550
+ const isElements = providerKey === import_editor_styles_repository.ELEMENTS_STYLES_PROVIDER_KEY;
551
+ if (isElements && styleDefs.length === 0) {
552
+ return [EMPTY_OPTION];
553
+ }
554
+ return styleDefs.map((styleDef) => {
555
+ return {
556
+ label: styleDef.label,
557
+ value: styleDef.id,
558
+ fixed: isElements,
559
+ color: isElements ? "primary" : "global",
560
+ provider: providerKey
561
+ };
562
+ });
563
+ });
564
+ }
565
+ function useAppliedOptions(options10, appliedIds) {
566
+ const applied = appliedIds.map((id) => options10.find((option) => option.value === id)).filter((option) => !!option);
567
+ const hasElementsProviderStyleApplied = applied.some(
568
+ (option) => option.provider === import_editor_styles_repository.ELEMENTS_STYLES_PROVIDER_KEY
569
+ );
570
+ if (!hasElementsProviderStyleApplied) {
571
+ applied.unshift(EMPTY_OPTION);
572
+ }
573
+ return applied;
512
574
  }
513
575
  function useAppliedClassesIds() {
514
576
  const { element } = useElement();
@@ -524,11 +586,10 @@ function useAppliedClassesIds() {
524
586
  };
525
587
  return [value, setValue];
526
588
  }
527
- function useHandleApply() {
589
+ function useHandleApply(appliedIds, setAppliedIds) {
528
590
  const { id: activeId, setId: setActiveId } = useStyle();
529
- const [appliedIds, setAppliedIds] = useAppliedClassesIds();
530
591
  return (selectedOptions) => {
531
- const selectedValues = selectedOptions.map(({ value }) => value);
592
+ const selectedValues = selectedOptions.map(({ value }) => value).filter((value) => value !== EMPTY_OPTION.value);
532
593
  const isSameClassesAlreadyApplied = selectedValues.length === appliedIds.length && selectedValues.every((value) => appliedIds.includes(value));
533
594
  if (isSameClassesAlreadyApplied) {
534
595
  return;
@@ -547,87 +608,89 @@ function useHandleApply() {
547
608
  }
548
609
 
549
610
  // src/components/style-sections/background-section/background-section.tsx
550
- var React16 = __toESM(require("react"));
611
+ var React17 = __toESM(require("react"));
551
612
  var import_editor_controls7 = require("@elementor/editor-controls");
552
- var import_ui11 = require("@elementor/ui");
613
+ var import_ui12 = require("@elementor/ui");
553
614
 
554
615
  // src/controls-registry/styles-field.tsx
555
- var React14 = __toESM(require("react"));
616
+ var React15 = __toESM(require("react"));
556
617
  var import_editor_controls5 = require("@elementor/editor-controls");
557
618
 
558
- // src/hooks/use-styles-field.ts
559
- var import_react6 = require("react");
619
+ // src/hooks/use-styles-fields.ts
560
620
  var import_editor_elements3 = require("@elementor/editor-elements");
561
- var useStylesField = (propName) => {
621
+ var import_i18n2 = require("@wordpress/i18n");
622
+ function useStylesFields(propNames) {
562
623
  const { element } = useElement();
563
624
  const { id, meta } = useStyle();
564
625
  const classesProp = useClassesProp();
565
- const previousValue = (0, import_react6.useRef)(null);
566
- const onChangeCallbacks = (0, import_react6.useRef)(/* @__PURE__ */ new Set());
567
- const value = (0, import_editor_elements3.useElementStyleProp)({
626
+ const value = (0, import_editor_elements3.useElementStyleProps)({
568
627
  elementID: element.id,
569
628
  styleDefID: id,
570
629
  meta,
571
- propName
630
+ propNames
572
631
  });
573
- const setValue = (newValue) => {
632
+ const setValue = (newValues) => {
574
633
  (0, import_editor_elements3.updateStyle)({
575
634
  elementID: element.id,
576
635
  styleDefID: id,
577
- props: { [propName]: newValue },
636
+ props: newValues,
578
637
  meta,
579
- bind: classesProp
638
+ bind: classesProp,
639
+ label: (0, import_i18n2.__)("local", "elementor")
580
640
  });
581
641
  };
582
- const registerChangeListener = (callback) => {
583
- onChangeCallbacks.current.add(callback);
584
- };
585
- (0, import_react6.useEffect)(() => {
586
- onChangeCallbacks.current.forEach((cb) => {
587
- cb(value, previousValue.current);
642
+ return [value, setValue];
643
+ }
644
+
645
+ // src/hooks/use-styles-field.ts
646
+ function useStylesField(propName) {
647
+ const [values, setValues] = useStylesFields([propName]);
648
+ const value = values?.[propName] ?? null;
649
+ const setValue = (newValue) => {
650
+ setValues({
651
+ [propName]: newValue
588
652
  });
589
- previousValue.current = value;
590
- }, [value]);
591
- return [value, setValue, registerChangeListener];
592
- };
653
+ };
654
+ return [value, setValue];
655
+ }
593
656
 
594
657
  // src/controls-registry/styles-field.tsx
595
658
  var StylesField = ({ bind, children }) => {
596
659
  const [value, setValue] = useStylesField(bind);
597
- return /* @__PURE__ */ React14.createElement(import_editor_controls5.BoundPropProvider, { setValue, value, bind }, children);
660
+ return /* @__PURE__ */ React15.createElement(import_editor_controls5.BoundPropProvider, { setValue, value, bind }, children);
598
661
  };
599
662
 
600
663
  // src/components/style-sections/background-section/background-color-field.tsx
601
- var React15 = __toESM(require("react"));
664
+ var React16 = __toESM(require("react"));
602
665
  var import_editor_controls6 = require("@elementor/editor-controls");
603
- var import_ui10 = require("@elementor/ui");
604
- var import_i18n2 = require("@wordpress/i18n");
666
+ var import_ui11 = require("@elementor/ui");
667
+ var import_i18n3 = require("@wordpress/i18n");
605
668
  var BackgroundColorField = () => {
606
- return /* @__PURE__ */ React15.createElement(StylesField, { bind: "background-color" }, /* @__PURE__ */ React15.createElement(import_ui10.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React15.createElement(import_ui10.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React15.createElement(import_editor_controls6.ControlLabel, null, (0, import_i18n2.__)("Color", "elementor"))), /* @__PURE__ */ React15.createElement(import_ui10.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React15.createElement(import_editor_controls6.ColorControl, null))));
669
+ return /* @__PURE__ */ React16.createElement(StylesField, { bind: "background-color" }, /* @__PURE__ */ React16.createElement(import_ui11.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React16.createElement(import_ui11.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React16.createElement(import_editor_controls6.ControlLabel, null, (0, import_i18n3.__)("Color", "elementor"))), /* @__PURE__ */ React16.createElement(import_ui11.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React16.createElement(import_editor_controls6.ColorControl, null))));
607
670
  };
608
671
 
609
672
  // src/components/style-sections/background-section/background-section.tsx
610
673
  var BackgroundSection = () => {
611
- return /* @__PURE__ */ React16.createElement(import_ui11.Stack, { gap: 1.5 }, /* @__PURE__ */ React16.createElement(StylesField, { bind: "background-image" }, /* @__PURE__ */ React16.createElement(import_editor_controls7.BackgroundOverlayRepeaterControl, null)), /* @__PURE__ */ React16.createElement(BackgroundColorField, null));
674
+ return /* @__PURE__ */ React17.createElement(import_ui12.Stack, { gap: 1.5 }, /* @__PURE__ */ React17.createElement(StylesField, { bind: "background-image" }, /* @__PURE__ */ React17.createElement(import_editor_controls7.BackgroundOverlayRepeaterControl, null)), /* @__PURE__ */ React17.createElement(BackgroundColorField, null));
612
675
  };
613
676
 
614
677
  // src/components/style-sections/border-section/border-section.tsx
615
- var React23 = __toESM(require("react"));
616
- var import_ui15 = require("@elementor/ui");
678
+ var React24 = __toESM(require("react"));
679
+ var import_ui16 = require("@elementor/ui");
617
680
 
618
681
  // src/components/style-sections/border-section/border-field.tsx
619
- var React21 = __toESM(require("react"));
620
- var import_i18n6 = require("@wordpress/i18n");
682
+ var React22 = __toESM(require("react"));
683
+ var import_i18n7 = require("@wordpress/i18n");
621
684
 
622
685
  // src/components/add-or-remove-content.tsx
623
- var React17 = __toESM(require("react"));
686
+ var React18 = __toESM(require("react"));
624
687
  var import_editor_controls8 = require("@elementor/editor-controls");
625
688
  var import_icons3 = require("@elementor/icons");
626
- var import_ui12 = require("@elementor/ui");
689
+ var import_ui13 = require("@elementor/ui");
627
690
  var SIZE2 = "tiny";
628
691
  var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
629
- return /* @__PURE__ */ React17.createElement(import_ui12.Stack, { gap: 1.5 }, /* @__PURE__ */ React17.createElement(
630
- import_ui12.Stack,
692
+ return /* @__PURE__ */ React18.createElement(import_ui13.Stack, { gap: 1.5 }, /* @__PURE__ */ React18.createElement(
693
+ import_ui13.Stack,
631
694
  {
632
695
  direction: "row",
633
696
  sx: {
@@ -635,75 +698,75 @@ var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
635
698
  alignItems: "center"
636
699
  }
637
700
  },
638
- /* @__PURE__ */ React17.createElement(import_editor_controls8.ControlLabel, null, label),
639
- isAdded ? /* @__PURE__ */ React17.createElement(import_ui12.IconButton, { size: SIZE2, onClick: onRemove }, /* @__PURE__ */ React17.createElement(import_icons3.MinusIcon, { fontSize: SIZE2 })) : /* @__PURE__ */ React17.createElement(import_ui12.IconButton, { size: SIZE2, onClick: onAdd }, /* @__PURE__ */ React17.createElement(import_icons3.PlusIcon, { fontSize: SIZE2 }))
640
- ), /* @__PURE__ */ React17.createElement(import_ui12.Collapse, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React17.createElement(import_ui12.Stack, { gap: 1.5 }, children)));
701
+ /* @__PURE__ */ React18.createElement(import_editor_controls8.ControlLabel, null, label),
702
+ isAdded ? /* @__PURE__ */ React18.createElement(import_ui13.IconButton, { size: SIZE2, onClick: onRemove }, /* @__PURE__ */ React18.createElement(import_icons3.MinusIcon, { fontSize: SIZE2 })) : /* @__PURE__ */ React18.createElement(import_ui13.IconButton, { size: SIZE2, onClick: onAdd }, /* @__PURE__ */ React18.createElement(import_icons3.PlusIcon, { fontSize: SIZE2 }))
703
+ ), /* @__PURE__ */ React18.createElement(import_ui13.Collapse, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React18.createElement(import_ui13.Stack, { gap: 1.5 }, children)));
641
704
  };
642
705
 
643
706
  // src/components/style-sections/border-section/border-color-field.tsx
644
- var React18 = __toESM(require("react"));
707
+ var React19 = __toESM(require("react"));
645
708
  var import_editor_controls9 = require("@elementor/editor-controls");
646
- var import_ui13 = require("@elementor/ui");
647
- var import_i18n3 = require("@wordpress/i18n");
709
+ var import_ui14 = require("@elementor/ui");
710
+ var import_i18n4 = require("@wordpress/i18n");
648
711
  var BorderColorField = () => {
649
- return /* @__PURE__ */ React18.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React18.createElement(import_ui13.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React18.createElement(import_ui13.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React18.createElement(import_editor_controls9.ControlLabel, null, (0, import_i18n3.__)("Border Color", "elementor"))), /* @__PURE__ */ React18.createElement(import_ui13.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React18.createElement(import_editor_controls9.ColorControl, null))));
712
+ return /* @__PURE__ */ React19.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React19.createElement(import_ui14.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React19.createElement(import_ui14.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React19.createElement(import_editor_controls9.ControlLabel, null, (0, import_i18n4.__)("Border Color", "elementor"))), /* @__PURE__ */ React19.createElement(import_ui14.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React19.createElement(import_editor_controls9.ColorControl, null))));
650
713
  };
651
714
 
652
715
  // src/components/style-sections/border-section/border-style-field.tsx
653
- var React19 = __toESM(require("react"));
716
+ var React20 = __toESM(require("react"));
654
717
  var import_editor_controls10 = require("@elementor/editor-controls");
655
- var import_ui14 = require("@elementor/ui");
656
- var import_i18n4 = require("@wordpress/i18n");
718
+ var import_ui15 = require("@elementor/ui");
719
+ var import_i18n5 = require("@wordpress/i18n");
657
720
  var borderStyles = [
658
- { value: "none", label: (0, import_i18n4.__)("None", "elementor") },
659
- { value: "solid", label: (0, import_i18n4.__)("Solid", "elementor") },
660
- { value: "dashed", label: (0, import_i18n4.__)("Dashed", "elementor") },
661
- { value: "dotted", label: (0, import_i18n4.__)("Dotted", "elementor") },
662
- { value: "double", label: (0, import_i18n4.__)("Double", "elementor") },
663
- { value: "groove", label: (0, import_i18n4.__)("Groove", "elementor") },
664
- { value: "ridge", label: (0, import_i18n4.__)("Ridge", "elementor") },
665
- { value: "inset", label: (0, import_i18n4.__)("Inset", "elementor") },
666
- { value: "outset", label: (0, import_i18n4.__)("Outset", "elementor") }
721
+ { value: "none", label: (0, import_i18n5.__)("None", "elementor") },
722
+ { value: "solid", label: (0, import_i18n5.__)("Solid", "elementor") },
723
+ { value: "dashed", label: (0, import_i18n5.__)("Dashed", "elementor") },
724
+ { value: "dotted", label: (0, import_i18n5.__)("Dotted", "elementor") },
725
+ { value: "double", label: (0, import_i18n5.__)("Double", "elementor") },
726
+ { value: "groove", label: (0, import_i18n5.__)("Groove", "elementor") },
727
+ { value: "ridge", label: (0, import_i18n5.__)("Ridge", "elementor") },
728
+ { value: "inset", label: (0, import_i18n5.__)("Inset", "elementor") },
729
+ { value: "outset", label: (0, import_i18n5.__)("Outset", "elementor") }
667
730
  ];
668
731
  var BorderStyleField = () => {
669
- return /* @__PURE__ */ React19.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React19.createElement(import_ui14.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React19.createElement(import_ui14.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React19.createElement(import_editor_controls10.ControlLabel, null, (0, import_i18n4.__)("Border Type", "elementor"))), /* @__PURE__ */ React19.createElement(import_ui14.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React19.createElement(import_editor_controls10.SelectControl, { options: borderStyles }))));
732
+ return /* @__PURE__ */ React20.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React20.createElement(import_ui15.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React20.createElement(import_ui15.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React20.createElement(import_editor_controls10.ControlLabel, null, (0, import_i18n5.__)("Border Type", "elementor"))), /* @__PURE__ */ React20.createElement(import_ui15.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React20.createElement(import_editor_controls10.SelectControl, { options: borderStyles }))));
670
733
  };
671
734
 
672
735
  // src/components/style-sections/border-section/border-width-field.tsx
673
- var React20 = __toESM(require("react"));
736
+ var React21 = __toESM(require("react"));
674
737
  var import_editor_controls11 = require("@elementor/editor-controls");
675
738
  var import_editor_props2 = require("@elementor/editor-props");
676
739
  var import_icons4 = require("@elementor/icons");
677
- var import_i18n5 = require("@wordpress/i18n");
740
+ var import_i18n6 = require("@wordpress/i18n");
678
741
  var edges = [
679
742
  {
680
- label: (0, import_i18n5.__)("Top", "elementor"),
681
- icon: /* @__PURE__ */ React20.createElement(import_icons4.SideTopIcon, { fontSize: "tiny" }),
743
+ label: (0, import_i18n6.__)("Top", "elementor"),
744
+ icon: /* @__PURE__ */ React21.createElement(import_icons4.SideTopIcon, { fontSize: "tiny" }),
682
745
  bind: "top"
683
746
  },
684
747
  {
685
- label: (0, import_i18n5.__)("Right", "elementor"),
686
- icon: /* @__PURE__ */ React20.createElement(import_icons4.SideRightIcon, { fontSize: "tiny" }),
748
+ label: (0, import_i18n6.__)("Right", "elementor"),
749
+ icon: /* @__PURE__ */ React21.createElement(import_icons4.SideRightIcon, { fontSize: "tiny" }),
687
750
  bind: "right"
688
751
  },
689
752
  {
690
- label: (0, import_i18n5.__)("Bottom", "elementor"),
691
- icon: /* @__PURE__ */ React20.createElement(import_icons4.SideBottomIcon, { fontSize: "tiny" }),
753
+ label: (0, import_i18n6.__)("Bottom", "elementor"),
754
+ icon: /* @__PURE__ */ React21.createElement(import_icons4.SideBottomIcon, { fontSize: "tiny" }),
692
755
  bind: "bottom"
693
756
  },
694
757
  {
695
- label: (0, import_i18n5.__)("Left", "elementor"),
696
- icon: /* @__PURE__ */ React20.createElement(import_icons4.SideLeftIcon, { fontSize: "tiny" }),
758
+ label: (0, import_i18n6.__)("Left", "elementor"),
759
+ icon: /* @__PURE__ */ React21.createElement(import_icons4.SideLeftIcon, { fontSize: "tiny" }),
697
760
  bind: "left"
698
761
  }
699
762
  ];
700
763
  var BorderWidthField = () => {
701
- return /* @__PURE__ */ React20.createElement(StylesField, { bind: "border-width" }, /* @__PURE__ */ React20.createElement(
764
+ return /* @__PURE__ */ React21.createElement(StylesField, { bind: "border-width" }, /* @__PURE__ */ React21.createElement(
702
765
  import_editor_controls11.EqualUnequalSizesControl,
703
766
  {
704
767
  items: edges,
705
- label: (0, import_i18n5.__)("Border Width", "elementor"),
706
- icon: /* @__PURE__ */ React20.createElement(import_icons4.SideAllIcon, { fontSize: "tiny" }),
768
+ label: (0, import_i18n6.__)("Border Width", "elementor"),
769
+ icon: /* @__PURE__ */ React21.createElement(import_icons4.SideAllIcon, { fontSize: "tiny" }),
707
770
  multiSizePropTypeUtil: import_editor_props2.borderWidthPropTypeUtil
708
771
  }
709
772
  ));
@@ -732,96 +795,96 @@ var BorderField = () => {
732
795
  setBorderStyle(null);
733
796
  };
734
797
  const hasBorder = Boolean(borderWidth || borderColor || borderStyle);
735
- return /* @__PURE__ */ React21.createElement(
798
+ return /* @__PURE__ */ React22.createElement(
736
799
  AddOrRemoveContent,
737
800
  {
738
- label: (0, import_i18n6.__)("Border", "elementor"),
801
+ label: (0, import_i18n7.__)("Border", "elementor"),
739
802
  isAdded: hasBorder,
740
803
  onAdd: addBorder,
741
804
  onRemove: removeBorder
742
805
  },
743
- /* @__PURE__ */ React21.createElement(BorderWidthField, null),
744
- /* @__PURE__ */ React21.createElement(BorderColorField, null),
745
- /* @__PURE__ */ React21.createElement(BorderStyleField, null)
806
+ /* @__PURE__ */ React22.createElement(BorderWidthField, null),
807
+ /* @__PURE__ */ React22.createElement(BorderColorField, null),
808
+ /* @__PURE__ */ React22.createElement(BorderStyleField, null)
746
809
  );
747
810
  };
748
811
 
749
812
  // src/components/style-sections/border-section/border-radius-field.tsx
750
- var React22 = __toESM(require("react"));
813
+ var React23 = __toESM(require("react"));
751
814
  var import_editor_controls12 = require("@elementor/editor-controls");
752
815
  var import_editor_props3 = require("@elementor/editor-props");
753
816
  var import_icons5 = require("@elementor/icons");
754
- var import_i18n7 = require("@wordpress/i18n");
817
+ var import_i18n8 = require("@wordpress/i18n");
755
818
  var corners = [
756
819
  {
757
- label: (0, import_i18n7.__)("Top Left", "elementor"),
758
- icon: /* @__PURE__ */ React22.createElement(import_icons5.RadiusTopLeftIcon, { fontSize: "tiny" }),
820
+ label: (0, import_i18n8.__)("Top Left", "elementor"),
821
+ icon: /* @__PURE__ */ React23.createElement(import_icons5.RadiusTopLeftIcon, { fontSize: "tiny" }),
759
822
  bind: "top-left"
760
823
  },
761
824
  {
762
- label: (0, import_i18n7.__)("Top Right", "elementor"),
763
- icon: /* @__PURE__ */ React22.createElement(import_icons5.RadiusTopRightIcon, { fontSize: "tiny" }),
825
+ label: (0, import_i18n8.__)("Top Right", "elementor"),
826
+ icon: /* @__PURE__ */ React23.createElement(import_icons5.RadiusTopRightIcon, { fontSize: "tiny" }),
764
827
  bind: "top-right"
765
828
  },
766
829
  {
767
- label: (0, import_i18n7.__)("Bottom Right", "elementor"),
768
- icon: /* @__PURE__ */ React22.createElement(import_icons5.RadiusBottomRightIcon, { fontSize: "tiny" }),
830
+ label: (0, import_i18n8.__)("Bottom Right", "elementor"),
831
+ icon: /* @__PURE__ */ React23.createElement(import_icons5.RadiusBottomRightIcon, { fontSize: "tiny" }),
769
832
  bind: "bottom-right"
770
833
  },
771
834
  {
772
- label: (0, import_i18n7.__)("Bottom Left", "elementor"),
773
- icon: /* @__PURE__ */ React22.createElement(import_icons5.RadiusBottomLeftIcon, { fontSize: "tiny" }),
835
+ label: (0, import_i18n8.__)("Bottom Left", "elementor"),
836
+ icon: /* @__PURE__ */ React23.createElement(import_icons5.RadiusBottomLeftIcon, { fontSize: "tiny" }),
774
837
  bind: "bottom-left"
775
838
  }
776
839
  ];
777
840
  var BorderRadiusField = () => {
778
- return /* @__PURE__ */ React22.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React22.createElement(
841
+ return /* @__PURE__ */ React23.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React23.createElement(
779
842
  import_editor_controls12.EqualUnequalSizesControl,
780
843
  {
781
844
  items: corners,
782
- label: (0, import_i18n7.__)("Border Radius", "elementor"),
783
- icon: /* @__PURE__ */ React22.createElement(import_icons5.BorderCornersIcon, { fontSize: "tiny" }),
845
+ label: (0, import_i18n8.__)("Border Radius", "elementor"),
846
+ icon: /* @__PURE__ */ React23.createElement(import_icons5.BorderCornersIcon, { fontSize: "tiny" }),
784
847
  multiSizePropTypeUtil: import_editor_props3.borderRadiusPropTypeUtil
785
848
  }
786
849
  ));
787
850
  };
788
851
 
789
852
  // src/components/style-sections/border-section/border-section.tsx
790
- var BorderSection = () => /* @__PURE__ */ React23.createElement(import_ui15.Stack, { gap: 1.5 }, /* @__PURE__ */ React23.createElement(BorderRadiusField, null), /* @__PURE__ */ React23.createElement(import_ui15.Divider, null), /* @__PURE__ */ React23.createElement(BorderField, null));
853
+ var BorderSection = () => /* @__PURE__ */ React24.createElement(import_ui16.Stack, { gap: 1.5 }, /* @__PURE__ */ React24.createElement(BorderRadiusField, null), /* @__PURE__ */ React24.createElement(import_ui16.Divider, null), /* @__PURE__ */ React24.createElement(BorderField, null));
791
854
 
792
855
  // src/components/style-sections/effects-section/effects-section.tsx
793
- var React24 = __toESM(require("react"));
856
+ var React25 = __toESM(require("react"));
794
857
  var import_editor_controls13 = require("@elementor/editor-controls");
795
- var import_ui16 = require("@elementor/ui");
858
+ var import_ui17 = require("@elementor/ui");
796
859
  var EffectsSection = () => {
797
- return /* @__PURE__ */ React24.createElement(import_ui16.Stack, { gap: 1.5 }, /* @__PURE__ */ React24.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React24.createElement(import_editor_controls13.BoxShadowRepeaterControl, null)));
860
+ return /* @__PURE__ */ React25.createElement(import_ui17.Stack, { gap: 1.5 }, /* @__PURE__ */ React25.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React25.createElement(import_editor_controls13.BoxShadowRepeaterControl, null)));
798
861
  };
799
862
 
800
863
  // src/components/style-sections/layout-section/layout-section.tsx
801
- var React34 = __toESM(require("react"));
802
- var import_editor_controls22 = require("@elementor/editor-controls");
803
- var import_ui27 = require("@elementor/ui");
804
- var import_i18n16 = require("@wordpress/i18n");
864
+ var React36 = __toESM(require("react"));
865
+ var import_editor_controls23 = require("@elementor/editor-controls");
866
+ var import_ui29 = require("@elementor/ui");
867
+ var import_i18n18 = require("@wordpress/i18n");
805
868
 
806
869
  // src/components/style-sections/layout-section/align-items-field.tsx
807
- var React26 = __toESM(require("react"));
870
+ var React27 = __toESM(require("react"));
808
871
  var import_editor_controls14 = require("@elementor/editor-controls");
809
872
  var import_icons6 = require("@elementor/icons");
810
- var import_ui19 = require("@elementor/ui");
811
- var import_i18n8 = require("@wordpress/i18n");
873
+ var import_ui20 = require("@elementor/ui");
874
+ var import_i18n9 = require("@wordpress/i18n");
812
875
 
813
876
  // src/hooks/use-direction.ts
814
- var import_ui17 = require("@elementor/ui");
877
+ var import_ui18 = require("@elementor/ui");
815
878
  function useDirection() {
816
- const theme = (0, import_ui17.useTheme)(), extendedWindow = window;
879
+ const theme = (0, import_ui18.useTheme)(), extendedWindow = window;
817
880
  const isUiRtl = "rtl" === theme.direction, isSiteRtl = !!extendedWindow.elementorFrontend?.config?.is_rtl;
818
881
  return { isSiteRtl, isUiRtl };
819
882
  }
820
883
 
821
884
  // src/components/style-sections/layout-section/utils/rotated-icon.tsx
822
- var React25 = __toESM(require("react"));
885
+ var React26 = __toESM(require("react"));
823
886
  var import_react7 = require("react");
824
- var import_ui18 = require("@elementor/ui");
887
+ var import_ui19 = require("@elementor/ui");
825
888
  var CLOCKWISE_ANGLES = {
826
889
  row: 0,
827
890
  column: 90,
@@ -837,11 +900,11 @@ var COUNTER_CLOCKWISE_ANGLES = {
837
900
  var RotatedIcon = ({ icon: Icon, size, isClockwise = true, offset = 0 }) => {
838
901
  const rotate = (0, import_react7.useRef)(useGetTargetAngle(isClockwise, offset));
839
902
  rotate.current = useGetTargetAngle(isClockwise, offset, rotate);
840
- return /* @__PURE__ */ React25.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
903
+ return /* @__PURE__ */ React26.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
841
904
  };
842
905
  var useGetTargetAngle = (isClockwise, offset, existingRef) => {
843
906
  const [direction] = useStylesField("flex-direction");
844
- const isRtl = "rtl" === (0, import_ui18.useTheme)().direction;
907
+ const isRtl = "rtl" === (0, import_ui19.useTheme)().direction;
845
908
  const rotationMultiplier = isRtl ? -1 : 1;
846
909
  const angleMap = isClockwise ? CLOCKWISE_ANGLES : COUNTER_CLOCKWISE_ANGLES;
847
910
  const currentAngle = existingRef ? existingRef.current * rotationMultiplier : angleMap[direction?.value || "row"] + offset;
@@ -852,8 +915,8 @@ var useGetTargetAngle = (isClockwise, offset, existingRef) => {
852
915
  };
853
916
 
854
917
  // src/components/style-sections/layout-section/align-items-field.tsx
855
- var StartIcon = (0, import_ui19.withDirection)(import_icons6.LayoutAlignLeftIcon);
856
- var EndIcon = (0, import_ui19.withDirection)(import_icons6.LayoutAlignRightIcon);
918
+ var StartIcon = (0, import_ui20.withDirection)(import_icons6.LayoutAlignLeftIcon);
919
+ var EndIcon = (0, import_ui20.withDirection)(import_icons6.LayoutAlignRightIcon);
857
920
  var iconProps = {
858
921
  isClockwise: false,
859
922
  offset: 90
@@ -861,42 +924,42 @@ var iconProps = {
861
924
  var options = [
862
925
  {
863
926
  value: "start",
864
- label: (0, import_i18n8.__)("Start", "elementor"),
865
- renderContent: ({ size }) => /* @__PURE__ */ React26.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
927
+ label: (0, import_i18n9.__)("Start", "elementor"),
928
+ renderContent: ({ size }) => /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
866
929
  showTooltip: true
867
930
  },
868
931
  {
869
932
  value: "center",
870
- label: (0, import_i18n8.__)("Center", "elementor"),
871
- renderContent: ({ size }) => /* @__PURE__ */ React26.createElement(RotatedIcon, { icon: import_icons6.LayoutAlignCenterIcon, size, ...iconProps }),
933
+ label: (0, import_i18n9.__)("Center", "elementor"),
934
+ renderContent: ({ size }) => /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: import_icons6.LayoutAlignCenterIcon, size, ...iconProps }),
872
935
  showTooltip: true
873
936
  },
874
937
  {
875
938
  value: "end",
876
- label: (0, import_i18n8.__)("End", "elementor"),
877
- renderContent: ({ size }) => /* @__PURE__ */ React26.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
939
+ label: (0, import_i18n9.__)("End", "elementor"),
940
+ renderContent: ({ size }) => /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
878
941
  showTooltip: true
879
942
  },
880
943
  {
881
944
  value: "stretch",
882
- label: (0, import_i18n8.__)("Stretch", "elementor"),
883
- renderContent: ({ size }) => /* @__PURE__ */ React26.createElement(RotatedIcon, { icon: import_icons6.LayoutDistributeVerticalIcon, size, ...iconProps }),
945
+ label: (0, import_i18n9.__)("Stretch", "elementor"),
946
+ renderContent: ({ size }) => /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: import_icons6.LayoutDistributeVerticalIcon, size, ...iconProps }),
884
947
  showTooltip: true
885
948
  }
886
949
  ];
887
950
  var AlignItemsField = () => {
888
951
  const { isSiteRtl } = useDirection();
889
- return /* @__PURE__ */ React26.createElement(import_ui19.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React26.createElement(import_ui19.ThemeProvider, null, /* @__PURE__ */ React26.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React26.createElement(import_ui19.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React26.createElement(import_ui19.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React26.createElement(import_editor_controls14.ControlLabel, null, (0, import_i18n8.__)("Align items", "elementor"))), /* @__PURE__ */ React26.createElement(import_ui19.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React26.createElement(import_editor_controls14.ToggleControl, { options }))))));
952
+ return /* @__PURE__ */ React27.createElement(import_ui20.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React27.createElement(import_ui20.ThemeProvider, null, /* @__PURE__ */ React27.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React27.createElement(import_ui20.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React27.createElement(import_ui20.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React27.createElement(import_editor_controls14.ControlLabel, null, (0, import_i18n9.__)("Align items", "elementor"))), /* @__PURE__ */ React27.createElement(import_ui20.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React27.createElement(import_editor_controls14.ToggleControl, { options }))))));
890
953
  };
891
954
 
892
955
  // src/components/style-sections/layout-section/align-self-child-field.tsx
893
- var React27 = __toESM(require("react"));
956
+ var React28 = __toESM(require("react"));
894
957
  var import_editor_controls15 = require("@elementor/editor-controls");
895
958
  var import_icons7 = require("@elementor/icons");
896
- var import_ui20 = require("@elementor/ui");
897
- var import_i18n9 = require("@wordpress/i18n");
898
- var StartIcon2 = (0, import_ui20.withDirection)(import_icons7.LayoutAlignLeftIcon);
899
- var EndIcon2 = (0, import_ui20.withDirection)(import_icons7.LayoutAlignRightIcon);
959
+ var import_ui21 = require("@elementor/ui");
960
+ var import_i18n10 = require("@wordpress/i18n");
961
+ var StartIcon2 = (0, import_ui21.withDirection)(import_icons7.LayoutAlignLeftIcon);
962
+ var EndIcon2 = (0, import_ui21.withDirection)(import_icons7.LayoutAlignRightIcon);
900
963
  var iconProps2 = {
901
964
  isClockwise: false,
902
965
  offset: 90
@@ -904,105 +967,105 @@ var iconProps2 = {
904
967
  var options2 = [
905
968
  {
906
969
  value: "start",
907
- label: (0, import_i18n9.__)("Start", "elementor"),
908
- renderContent: ({ size }) => /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
970
+ label: (0, import_i18n10.__)("Start", "elementor"),
971
+ renderContent: ({ size }) => /* @__PURE__ */ React28.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
909
972
  showTooltip: true
910
973
  },
911
974
  {
912
975
  value: "center",
913
- label: (0, import_i18n9.__)("Center", "elementor"),
914
- renderContent: ({ size }) => /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: import_icons7.LayoutAlignCenterIcon, size, ...iconProps2 }),
976
+ label: (0, import_i18n10.__)("Center", "elementor"),
977
+ renderContent: ({ size }) => /* @__PURE__ */ React28.createElement(RotatedIcon, { icon: import_icons7.LayoutAlignCenterIcon, size, ...iconProps2 }),
915
978
  showTooltip: true
916
979
  },
917
980
  {
918
981
  value: "end",
919
- label: (0, import_i18n9.__)("End", "elementor"),
920
- renderContent: ({ size }) => /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
982
+ label: (0, import_i18n10.__)("End", "elementor"),
983
+ renderContent: ({ size }) => /* @__PURE__ */ React28.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
921
984
  showTooltip: true
922
985
  },
923
986
  {
924
987
  value: "stretch",
925
- label: (0, import_i18n9.__)("Stretch", "elementor"),
926
- renderContent: ({ size }) => /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: import_icons7.LayoutDistributeVerticalIcon, size, ...iconProps2 }),
988
+ label: (0, import_i18n10.__)("Stretch", "elementor"),
989
+ renderContent: ({ size }) => /* @__PURE__ */ React28.createElement(RotatedIcon, { icon: import_icons7.LayoutDistributeVerticalIcon, size, ...iconProps2 }),
927
990
  showTooltip: true
928
991
  }
929
992
  ];
930
993
  var AlignSelfChild = () => {
931
994
  const { isSiteRtl } = useDirection();
932
- return /* @__PURE__ */ React27.createElement(import_ui20.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React27.createElement(import_ui20.ThemeProvider, null, /* @__PURE__ */ React27.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React27.createElement(import_ui20.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React27.createElement(import_ui20.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React27.createElement(import_editor_controls15.ControlLabel, null, (0, import_i18n9.__)("Align self", "elementor"))), /* @__PURE__ */ React27.createElement(import_ui20.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React27.createElement(import_editor_controls15.ToggleControl, { options: options2 }))))));
995
+ return /* @__PURE__ */ React28.createElement(import_ui21.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React28.createElement(import_ui21.ThemeProvider, null, /* @__PURE__ */ React28.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React28.createElement(import_ui21.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React28.createElement(import_ui21.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React28.createElement(import_editor_controls15.ControlLabel, null, (0, import_i18n10.__)("Align self", "elementor"))), /* @__PURE__ */ React28.createElement(import_ui21.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React28.createElement(import_editor_controls15.ToggleControl, { options: options2 }))))));
933
996
  };
934
997
 
935
998
  // src/components/style-sections/layout-section/display-field.tsx
936
- var React28 = __toESM(require("react"));
999
+ var React29 = __toESM(require("react"));
937
1000
  var import_editor_controls16 = require("@elementor/editor-controls");
938
- var import_ui21 = require("@elementor/ui");
939
- var import_i18n10 = require("@wordpress/i18n");
1001
+ var import_ui22 = require("@elementor/ui");
1002
+ var import_i18n11 = require("@wordpress/i18n");
940
1003
  var DisplayField = () => {
941
1004
  const options10 = [
942
1005
  {
943
1006
  value: "block",
944
- renderContent: () => (0, import_i18n10.__)("Block", "elementor"),
945
- label: (0, import_i18n10.__)("Block", "elementor")
1007
+ renderContent: () => (0, import_i18n11.__)("Block", "elementor"),
1008
+ label: (0, import_i18n11.__)("Block", "elementor")
946
1009
  },
947
1010
  {
948
1011
  value: "flex",
949
- renderContent: () => (0, import_i18n10.__)("Flex", "elementor"),
950
- label: (0, import_i18n10.__)("Flex", "elementor")
1012
+ renderContent: () => (0, import_i18n11.__)("Flex", "elementor"),
1013
+ label: (0, import_i18n11.__)("Flex", "elementor")
951
1014
  }
952
1015
  ];
953
- return /* @__PURE__ */ React28.createElement(StylesField, { bind: "display" }, /* @__PURE__ */ React28.createElement(import_ui21.Stack, { gap: 1 }, /* @__PURE__ */ React28.createElement(import_editor_controls16.ControlLabel, null, (0, import_i18n10.__)("Display", "elementor")), /* @__PURE__ */ React28.createElement(import_editor_controls16.ToggleControl, { options: options10, fullWidth: true })));
1016
+ return /* @__PURE__ */ React29.createElement(StylesField, { bind: "display" }, /* @__PURE__ */ React29.createElement(import_ui22.Stack, { gap: 1 }, /* @__PURE__ */ React29.createElement(import_editor_controls16.ControlLabel, null, (0, import_i18n11.__)("Display", "elementor")), /* @__PURE__ */ React29.createElement(import_editor_controls16.ToggleControl, { options: options10, fullWidth: true })));
954
1017
  };
955
1018
 
956
1019
  // src/components/style-sections/layout-section/flex-direction-field.tsx
957
- var React29 = __toESM(require("react"));
1020
+ var React30 = __toESM(require("react"));
958
1021
  var import_editor_controls17 = require("@elementor/editor-controls");
959
1022
  var import_icons8 = require("@elementor/icons");
960
- var import_ui22 = require("@elementor/ui");
961
- var import_i18n11 = require("@wordpress/i18n");
1023
+ var import_ui23 = require("@elementor/ui");
1024
+ var import_i18n12 = require("@wordpress/i18n");
962
1025
  var options3 = [
963
1026
  {
964
1027
  value: "row",
965
- label: (0, import_i18n11.__)("Row", "elementor"),
1028
+ label: (0, import_i18n12.__)("Row", "elementor"),
966
1029
  renderContent: ({ size }) => {
967
- const StartIcon4 = (0, import_ui22.withDirection)(import_icons8.ArrowRightIcon);
968
- return /* @__PURE__ */ React29.createElement(StartIcon4, { fontSize: size });
1030
+ const StartIcon4 = (0, import_ui23.withDirection)(import_icons8.ArrowRightIcon);
1031
+ return /* @__PURE__ */ React30.createElement(StartIcon4, { fontSize: size });
969
1032
  },
970
1033
  showTooltip: true
971
1034
  },
972
1035
  {
973
1036
  value: "column",
974
- label: (0, import_i18n11.__)("Column", "elementor"),
975
- renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(import_icons8.ArrowDownSmallIcon, { fontSize: size }),
1037
+ label: (0, import_i18n12.__)("Column", "elementor"),
1038
+ renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(import_icons8.ArrowDownSmallIcon, { fontSize: size }),
976
1039
  showTooltip: true
977
1040
  },
978
1041
  {
979
1042
  value: "row-reverse",
980
- label: (0, import_i18n11.__)("Reversed row", "elementor"),
1043
+ label: (0, import_i18n12.__)("Reversed row", "elementor"),
981
1044
  renderContent: ({ size }) => {
982
- const EndIcon4 = (0, import_ui22.withDirection)(import_icons8.ArrowLeftIcon);
983
- return /* @__PURE__ */ React29.createElement(EndIcon4, { fontSize: size });
1045
+ const EndIcon4 = (0, import_ui23.withDirection)(import_icons8.ArrowLeftIcon);
1046
+ return /* @__PURE__ */ React30.createElement(EndIcon4, { fontSize: size });
984
1047
  },
985
1048
  showTooltip: true
986
1049
  },
987
1050
  {
988
1051
  value: "column-reverse",
989
- label: (0, import_i18n11.__)("Reversed column", "elementor"),
990
- renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(import_icons8.ArrowUpSmallIcon, { fontSize: size }),
1052
+ label: (0, import_i18n12.__)("Reversed column", "elementor"),
1053
+ renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(import_icons8.ArrowUpSmallIcon, { fontSize: size }),
991
1054
  showTooltip: true
992
1055
  }
993
1056
  ];
994
1057
  var FlexDirectionField = () => {
995
1058
  const { isSiteRtl } = useDirection();
996
- return /* @__PURE__ */ React29.createElement(import_ui22.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React29.createElement(import_ui22.ThemeProvider, null, /* @__PURE__ */ React29.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React29.createElement(import_ui22.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React29.createElement(import_ui22.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React29.createElement(import_editor_controls17.ControlLabel, null, (0, import_i18n11.__)("Direction", "elementor"))), /* @__PURE__ */ React29.createElement(import_ui22.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React29.createElement(import_editor_controls17.ToggleControl, { options: options3 }))))));
1059
+ return /* @__PURE__ */ React30.createElement(import_ui23.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React30.createElement(import_ui23.ThemeProvider, null, /* @__PURE__ */ React30.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React30.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React30.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React30.createElement(import_editor_controls17.ControlLabel, null, (0, import_i18n12.__)("Direction", "elementor"))), /* @__PURE__ */ React30.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React30.createElement(import_editor_controls17.ToggleControl, { options: options3 }))))));
997
1060
  };
998
1061
 
999
1062
  // src/components/style-sections/layout-section/flex-order-field.tsx
1000
- var React30 = __toESM(require("react"));
1063
+ var React31 = __toESM(require("react"));
1001
1064
  var import_react8 = require("react");
1002
1065
  var import_editor_controls18 = require("@elementor/editor-controls");
1003
1066
  var import_icons9 = require("@elementor/icons");
1004
- var import_ui23 = require("@elementor/ui");
1005
- var import_i18n12 = require("@wordpress/i18n");
1067
+ var import_ui24 = require("@elementor/ui");
1068
+ var import_i18n13 = require("@wordpress/i18n");
1006
1069
  var FIRST_DEFAULT_VALUE = -99999;
1007
1070
  var LAST_DEFAULT_VALUE = 99999;
1008
1071
  var FIRST = "first";
@@ -1015,20 +1078,20 @@ var orderValueMap = {
1015
1078
  var items = [
1016
1079
  {
1017
1080
  value: FIRST,
1018
- label: (0, import_i18n12.__)("First", "elementor"),
1019
- renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(import_icons9.ArrowUpSmallIcon, { fontSize: size }),
1081
+ label: (0, import_i18n13.__)("First", "elementor"),
1082
+ renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(import_icons9.ArrowUpSmallIcon, { fontSize: size }),
1020
1083
  showTooltip: true
1021
1084
  },
1022
1085
  {
1023
1086
  value: LAST,
1024
- label: (0, import_i18n12.__)("Last", "elementor"),
1025
- renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(import_icons9.ArrowDownSmallIcon, { fontSize: size }),
1087
+ label: (0, import_i18n13.__)("Last", "elementor"),
1088
+ renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(import_icons9.ArrowDownSmallIcon, { fontSize: size }),
1026
1089
  showTooltip: true
1027
1090
  },
1028
1091
  {
1029
1092
  value: CUSTOM,
1030
- label: (0, import_i18n12.__)("Custom", "elementor"),
1031
- renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(import_icons9.PencilIcon, { fontSize: size }),
1093
+ label: (0, import_i18n13.__)("Custom", "elementor"),
1094
+ renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(import_icons9.PencilIcon, { fontSize: size }),
1032
1095
  showTooltip: true
1033
1096
  }
1034
1097
  ];
@@ -1043,7 +1106,7 @@ var FlexOrderField = () => {
1043
1106
  }
1044
1107
  setOrder({ $$type: "number", value: orderValueMap[group] });
1045
1108
  };
1046
- return /* @__PURE__ */ React30.createElement(import_ui23.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React30.createElement(import_ui23.ThemeProvider, null, /* @__PURE__ */ React30.createElement(import_ui23.Stack, { gap: 2 }, /* @__PURE__ */ React30.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React30.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React30.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n12.__)("Order", "elementor"))), /* @__PURE__ */ React30.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React30.createElement(
1109
+ return /* @__PURE__ */ React31.createElement(import_ui24.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React31.createElement(import_ui24.ThemeProvider, null, /* @__PURE__ */ React31.createElement(import_ui24.Stack, { gap: 2 }, /* @__PURE__ */ React31.createElement(import_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React31.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React31.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n13.__)("Order", "elementor"))), /* @__PURE__ */ React31.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React31.createElement(
1047
1110
  import_editor_controls18.ControlToggleButtonGroup,
1048
1111
  {
1049
1112
  items,
@@ -1051,7 +1114,7 @@ var FlexOrderField = () => {
1051
1114
  onChange: handleToggleButtonChange,
1052
1115
  exclusive: true
1053
1116
  }
1054
- ))), CUSTOM === groupControlValue && /* @__PURE__ */ React30.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React30.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React30.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React30.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n12.__)("Custom order", "elementor"))), /* @__PURE__ */ React30.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React30.createElement(
1117
+ ))), CUSTOM === groupControlValue && /* @__PURE__ */ React31.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React31.createElement(import_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React31.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React31.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n13.__)("Custom order", "elementor"))), /* @__PURE__ */ React31.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React31.createElement(
1055
1118
  import_editor_controls18.NumberControl,
1056
1119
  {
1057
1120
  min: FIRST_DEFAULT_VALUE + 1,
@@ -1071,36 +1134,36 @@ var getGroupControlValue = (order) => {
1071
1134
  };
1072
1135
 
1073
1136
  // src/components/style-sections/layout-section/flex-size-field.tsx
1074
- var React31 = __toESM(require("react"));
1137
+ var React32 = __toESM(require("react"));
1075
1138
  var import_editor_controls19 = require("@elementor/editor-controls");
1076
1139
  var import_icons10 = require("@elementor/icons");
1077
- var import_ui24 = require("@elementor/ui");
1078
- var import_i18n13 = require("@wordpress/i18n");
1140
+ var import_ui25 = require("@elementor/ui");
1141
+ var import_i18n14 = require("@wordpress/i18n");
1079
1142
  var DEFAULT = 1;
1080
1143
  var items2 = [
1081
1144
  {
1082
1145
  value: "flex-grow",
1083
- label: (0, import_i18n13.__)("Grow", "elementor"),
1084
- renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(import_icons10.ExpandIcon, { fontSize: size }),
1146
+ label: (0, import_i18n14.__)("Grow", "elementor"),
1147
+ renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(import_icons10.ExpandIcon, { fontSize: size }),
1085
1148
  showTooltip: true
1086
1149
  },
1087
1150
  {
1088
1151
  value: "flex-shrink",
1089
- label: (0, import_i18n13.__)("Shrink", "elementor"),
1090
- renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(import_icons10.ShrinkIcon, { fontSize: size }),
1152
+ label: (0, import_i18n14.__)("Shrink", "elementor"),
1153
+ renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(import_icons10.ShrinkIcon, { fontSize: size }),
1091
1154
  showTooltip: true
1092
1155
  },
1093
1156
  {
1094
1157
  value: "custom",
1095
- label: (0, import_i18n13.__)("Custom", "elementor"),
1096
- renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(import_icons10.PencilIcon, { fontSize: size }),
1158
+ label: (0, import_i18n14.__)("Custom", "elementor"),
1159
+ renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(import_icons10.PencilIcon, { fontSize: size }),
1097
1160
  showTooltip: true
1098
1161
  }
1099
1162
  ];
1100
1163
  var FlexSizeField = () => {
1101
1164
  const { isSiteRtl } = useDirection(), [growField, setGrowField] = useStylesField("flex-grow"), [shrinkField, setShrinkField] = useStylesField("flex-shrink"), [basisField, setBasisField] = useStylesField("flex-basis");
1102
1165
  const grow = growField?.value || null, shrink = shrinkField?.value || null, basis = basisField?.value || null;
1103
- const currentGroup = React31.useMemo(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = React31.useState(currentGroup);
1166
+ const currentGroup = React32.useMemo(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = React32.useState(currentGroup);
1104
1167
  const onChangeGroup = (group = null) => {
1105
1168
  setActiveGroup(group);
1106
1169
  setBasisField(null);
@@ -1117,7 +1180,7 @@ var FlexSizeField = () => {
1117
1180
  setGrowField(null);
1118
1181
  setShrinkField({ $$type: "number", value: DEFAULT });
1119
1182
  };
1120
- return /* @__PURE__ */ React31.createElement(import_ui24.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React31.createElement(import_ui24.ThemeProvider, null, /* @__PURE__ */ React31.createElement(import_ui24.Stack, { gap: 2 }, /* @__PURE__ */ React31.createElement(import_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React31.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React31.createElement(import_editor_controls19.ControlLabel, null, (0, import_i18n13.__)("Size", "elementor"))), /* @__PURE__ */ React31.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React31.createElement(
1183
+ return /* @__PURE__ */ React32.createElement(import_ui25.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React32.createElement(import_ui25.ThemeProvider, null, /* @__PURE__ */ React32.createElement(import_ui25.Stack, { gap: 2 }, /* @__PURE__ */ React32.createElement(import_ui25.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(import_ui25.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(import_editor_controls19.ControlLabel, null, (0, import_i18n14.__)("Size", "elementor"))), /* @__PURE__ */ React32.createElement(import_ui25.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(
1121
1184
  import_editor_controls19.ControlToggleButtonGroup,
1122
1185
  {
1123
1186
  value: activeGroup,
@@ -1125,9 +1188,9 @@ var FlexSizeField = () => {
1125
1188
  items: items2,
1126
1189
  exclusive: true
1127
1190
  }
1128
- ))), "custom" === activeGroup && /* @__PURE__ */ React31.createElement(FlexCustomField, null))));
1191
+ ))), "custom" === activeGroup && /* @__PURE__ */ React32.createElement(FlexCustomField, null))));
1129
1192
  };
1130
- var FlexCustomField = () => /* @__PURE__ */ React31.createElement(React31.Fragment, null, /* @__PURE__ */ React31.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React31.createElement(import_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React31.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React31.createElement(import_editor_controls19.ControlLabel, null, (0, import_i18n13.__)("Grow", "elementor"))), /* @__PURE__ */ React31.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React31.createElement(import_editor_controls19.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React31.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React31.createElement(import_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React31.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React31.createElement(import_editor_controls19.ControlLabel, null, (0, import_i18n13.__)("Shrink", "elementor"))), /* @__PURE__ */ React31.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React31.createElement(import_editor_controls19.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React31.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React31.createElement(import_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React31.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React31.createElement(import_editor_controls19.ControlLabel, null, (0, import_i18n13.__)("Basis", "elementor"))), /* @__PURE__ */ React31.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React31.createElement(import_editor_controls19.SizeControl, null)))));
1193
+ var FlexCustomField = () => /* @__PURE__ */ React32.createElement(React32.Fragment, null, /* @__PURE__ */ React32.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React32.createElement(import_ui25.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(import_ui25.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(import_editor_controls19.ControlLabel, null, (0, import_i18n14.__)("Grow", "elementor"))), /* @__PURE__ */ React32.createElement(import_ui25.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(import_editor_controls19.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React32.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React32.createElement(import_ui25.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(import_ui25.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(import_editor_controls19.ControlLabel, null, (0, import_i18n14.__)("Shrink", "elementor"))), /* @__PURE__ */ React32.createElement(import_ui25.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(import_editor_controls19.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React32.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React32.createElement(import_ui25.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(import_ui25.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(import_editor_controls19.ControlLabel, null, (0, import_i18n14.__)("Basis", "elementor"))), /* @__PURE__ */ React32.createElement(import_ui25.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(import_editor_controls19.SizeControl, null)))));
1131
1194
  var getActiveGroup = ({
1132
1195
  grow,
1133
1196
  shrink,
@@ -1148,14 +1211,23 @@ var getActiveGroup = ({
1148
1211
  return "custom";
1149
1212
  };
1150
1213
 
1151
- // src/components/style-sections/layout-section/justify-content-field.tsx
1152
- var React32 = __toESM(require("react"));
1214
+ // src/components/style-sections/layout-section/gap-control-field.tsx
1215
+ var React33 = __toESM(require("react"));
1153
1216
  var import_editor_controls20 = require("@elementor/editor-controls");
1217
+ var import_ui26 = require("@elementor/ui");
1218
+ var import_i18n15 = require("@wordpress/i18n");
1219
+ var GapControlField = () => {
1220
+ return /* @__PURE__ */ React33.createElement(import_ui26.Stack, { gap: 1 }, /* @__PURE__ */ React33.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React33.createElement(import_editor_controls20.GapControl, { label: (0, import_i18n15.__)("Gaps", "elementor") })));
1221
+ };
1222
+
1223
+ // src/components/style-sections/layout-section/justify-content-field.tsx
1224
+ var React34 = __toESM(require("react"));
1225
+ var import_editor_controls21 = require("@elementor/editor-controls");
1154
1226
  var import_icons11 = require("@elementor/icons");
1155
- var import_ui25 = require("@elementor/ui");
1156
- var import_i18n14 = require("@wordpress/i18n");
1157
- var StartIcon3 = (0, import_ui25.withDirection)(import_icons11.JustifyTopIcon);
1158
- var EndIcon3 = (0, import_ui25.withDirection)(import_icons11.JustifyBottomIcon);
1227
+ var import_ui27 = require("@elementor/ui");
1228
+ var import_i18n16 = require("@wordpress/i18n");
1229
+ var StartIcon3 = (0, import_ui27.withDirection)(import_icons11.JustifyTopIcon);
1230
+ var EndIcon3 = (0, import_ui27.withDirection)(import_icons11.JustifyBottomIcon);
1159
1231
  var iconProps3 = {
1160
1232
  isClockwise: true,
1161
1233
  offset: -90
@@ -1163,349 +1235,292 @@ var iconProps3 = {
1163
1235
  var options4 = [
1164
1236
  {
1165
1237
  value: "start",
1166
- label: (0, import_i18n14.__)("Start", "elementor"),
1167
- renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(RotatedIcon, { icon: StartIcon3, size, ...iconProps3 }),
1238
+ label: (0, import_i18n16.__)("Start", "elementor"),
1239
+ renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: StartIcon3, size, ...iconProps3 }),
1168
1240
  showTooltip: true
1169
1241
  },
1170
1242
  {
1171
1243
  value: "center",
1172
- label: (0, import_i18n14.__)("Center", "elementor"),
1173
- renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(RotatedIcon, { icon: import_icons11.JustifyCenterIcon, size, ...iconProps3 }),
1244
+ label: (0, import_i18n16.__)("Center", "elementor"),
1245
+ renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: import_icons11.JustifyCenterIcon, size, ...iconProps3 }),
1174
1246
  showTooltip: true
1175
1247
  },
1176
1248
  {
1177
1249
  value: "end",
1178
- label: (0, import_i18n14.__)("End", "elementor"),
1179
- renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(RotatedIcon, { icon: EndIcon3, size, ...iconProps3 }),
1250
+ label: (0, import_i18n16.__)("End", "elementor"),
1251
+ renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: EndIcon3, size, ...iconProps3 }),
1180
1252
  showTooltip: true
1181
1253
  },
1182
1254
  {
1183
1255
  value: "space-between",
1184
- label: (0, import_i18n14.__)("Space between", "elementor"),
1185
- renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(RotatedIcon, { icon: import_icons11.JustifySpaceBetweenVerticalIcon, size, ...iconProps3 }),
1256
+ label: (0, import_i18n16.__)("Space between", "elementor"),
1257
+ renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: import_icons11.JustifySpaceBetweenVerticalIcon, size, ...iconProps3 }),
1186
1258
  showTooltip: true
1187
1259
  },
1188
1260
  {
1189
1261
  value: "space-around",
1190
- label: (0, import_i18n14.__)("Space around", "elementor"),
1191
- renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(RotatedIcon, { icon: import_icons11.JustifySpaceAroundVerticalIcon, size, ...iconProps3 }),
1262
+ label: (0, import_i18n16.__)("Space around", "elementor"),
1263
+ renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: import_icons11.JustifySpaceAroundVerticalIcon, size, ...iconProps3 }),
1192
1264
  showTooltip: true
1193
1265
  },
1194
1266
  {
1195
1267
  value: "space-evenly",
1196
- label: (0, import_i18n14.__)("Space evenly", "elementor"),
1197
- renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(RotatedIcon, { icon: import_icons11.JustifyDistributeVerticalIcon, size, ...iconProps3 }),
1268
+ label: (0, import_i18n16.__)("Space evenly", "elementor"),
1269
+ renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: import_icons11.JustifyDistributeVerticalIcon, size, ...iconProps3 }),
1198
1270
  showTooltip: true
1199
1271
  }
1200
1272
  ];
1201
1273
  var JustifyContentField = () => {
1202
1274
  const { isSiteRtl } = useDirection();
1203
- return /* @__PURE__ */ React32.createElement(import_ui25.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React32.createElement(import_ui25.ThemeProvider, null, /* @__PURE__ */ React32.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React32.createElement(import_ui25.Stack, { gap: 1 }, /* @__PURE__ */ React32.createElement(import_editor_controls20.ControlLabel, null, (0, import_i18n14.__)("Justify content", "elementor")), /* @__PURE__ */ React32.createElement(import_editor_controls20.ToggleControl, { options: options4, fullWidth: true })))));
1275
+ return /* @__PURE__ */ React34.createElement(import_ui27.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React34.createElement(import_ui27.ThemeProvider, null, /* @__PURE__ */ React34.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React34.createElement(import_ui27.Stack, { gap: 1 }, /* @__PURE__ */ React34.createElement(import_editor_controls21.ControlLabel, null, (0, import_i18n16.__)("Justify content", "elementor")), /* @__PURE__ */ React34.createElement(import_editor_controls21.ToggleControl, { options: options4, fullWidth: true })))));
1204
1276
  };
1205
1277
 
1206
1278
  // src/components/style-sections/layout-section/wrap-field.tsx
1207
- var React33 = __toESM(require("react"));
1208
- var import_editor_controls21 = require("@elementor/editor-controls");
1279
+ var React35 = __toESM(require("react"));
1280
+ var import_editor_controls22 = require("@elementor/editor-controls");
1209
1281
  var import_icons12 = require("@elementor/icons");
1210
- var import_ui26 = require("@elementor/ui");
1211
- var import_i18n15 = require("@wordpress/i18n");
1282
+ var import_ui28 = require("@elementor/ui");
1283
+ var import_i18n17 = require("@wordpress/i18n");
1212
1284
  var options5 = [
1213
1285
  {
1214
1286
  value: "nowrap",
1215
- label: (0, import_i18n15.__)("No wrap", "elementor"),
1216
- renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(import_icons12.ArrowRightIcon, { fontSize: size }),
1287
+ label: (0, import_i18n17.__)("No wrap", "elementor"),
1288
+ renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(import_icons12.ArrowRightIcon, { fontSize: size }),
1217
1289
  showTooltip: true
1218
1290
  },
1219
1291
  {
1220
1292
  value: "wrap",
1221
- label: (0, import_i18n15.__)("Wrap", "elementor"),
1222
- renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(import_icons12.ArrowBackIcon, { fontSize: size }),
1293
+ label: (0, import_i18n17.__)("Wrap", "elementor"),
1294
+ renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(import_icons12.ArrowBackIcon, { fontSize: size }),
1223
1295
  showTooltip: true
1224
1296
  },
1225
1297
  {
1226
1298
  value: "wrap-reverse",
1227
- label: (0, import_i18n15.__)("Reversed wrap", "elementor"),
1228
- renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(import_icons12.ArrowForwardIcon, { fontSize: size }),
1299
+ label: (0, import_i18n17.__)("Reversed wrap", "elementor"),
1300
+ renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(import_icons12.ArrowForwardIcon, { fontSize: size }),
1229
1301
  showTooltip: true
1230
1302
  }
1231
1303
  ];
1232
1304
  var WrapField = () => {
1233
1305
  const { isSiteRtl } = useDirection();
1234
- return /* @__PURE__ */ React33.createElement(import_ui26.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React33.createElement(import_ui26.ThemeProvider, null, /* @__PURE__ */ React33.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React33.createElement(import_ui26.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(import_ui26.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(import_editor_controls21.ControlLabel, null, (0, import_i18n15.__)("Wrap", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui26.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React33.createElement(import_editor_controls21.ToggleControl, { options: options5 }))))));
1306
+ return /* @__PURE__ */ React35.createElement(import_ui28.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React35.createElement(import_ui28.ThemeProvider, null, /* @__PURE__ */ React35.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React35.createElement(import_ui28.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React35.createElement(import_ui28.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React35.createElement(import_editor_controls22.ControlLabel, null, (0, import_i18n17.__)("Wrap", "elementor"))), /* @__PURE__ */ React35.createElement(import_ui28.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React35.createElement(import_editor_controls22.ToggleControl, { options: options5 }))))));
1235
1307
  };
1236
1308
 
1237
1309
  // src/components/style-sections/layout-section/layout-section.tsx
1238
1310
  var LayoutSection = () => {
1239
1311
  const [display] = useStylesField("display");
1240
- return /* @__PURE__ */ React34.createElement(import_ui27.Stack, { gap: 2 }, /* @__PURE__ */ React34.createElement(DisplayField, null), "flex" === display?.value && /* @__PURE__ */ React34.createElement(FlexFields, null));
1312
+ return /* @__PURE__ */ React36.createElement(import_ui29.Stack, { gap: 2 }, /* @__PURE__ */ React36.createElement(DisplayField, null), "flex" === display?.value && /* @__PURE__ */ React36.createElement(FlexFields, null));
1241
1313
  };
1242
- var FlexFields = () => /* @__PURE__ */ React34.createElement(React34.Fragment, null, /* @__PURE__ */ React34.createElement(FlexDirectionField, null), /* @__PURE__ */ React34.createElement(JustifyContentField, null), /* @__PURE__ */ React34.createElement(AlignItemsField, null), /* @__PURE__ */ React34.createElement(import_ui27.Divider, null), /* @__PURE__ */ React34.createElement(WrapField, null), /* @__PURE__ */ React34.createElement(import_ui27.Divider, null), /* @__PURE__ */ React34.createElement(import_editor_controls22.ControlLabel, null, (0, import_i18n16.__)("Flex child", "elementor")), /* @__PURE__ */ React34.createElement(AlignSelfChild, null), /* @__PURE__ */ React34.createElement(FlexOrderField, null), /* @__PURE__ */ React34.createElement(FlexSizeField, null));
1314
+ var FlexFields = () => /* @__PURE__ */ React36.createElement(React36.Fragment, null, /* @__PURE__ */ React36.createElement(FlexDirectionField, null), /* @__PURE__ */ React36.createElement(JustifyContentField, null), /* @__PURE__ */ React36.createElement(AlignItemsField, null), /* @__PURE__ */ React36.createElement(import_ui29.Divider, null), /* @__PURE__ */ React36.createElement(GapControlField, null), /* @__PURE__ */ React36.createElement(WrapField, null), /* @__PURE__ */ React36.createElement(import_ui29.Divider, null), /* @__PURE__ */ React36.createElement(import_editor_controls23.ControlLabel, null, (0, import_i18n18.__)("Flex child", "elementor")), /* @__PURE__ */ React36.createElement(AlignSelfChild, null), /* @__PURE__ */ React36.createElement(FlexOrderField, null), /* @__PURE__ */ React36.createElement(FlexSizeField, null));
1243
1315
 
1244
1316
  // src/components/style-sections/position-section/position-section.tsx
1245
- var React38 = __toESM(require("react"));
1246
- var import_react11 = require("react");
1247
- var import_ui31 = require("@elementor/ui");
1248
-
1249
- // src/hooks/use-style-prop-history.ts
1250
- var import_react10 = require("react");
1251
- var import_editor_elements4 = require("@elementor/editor-elements");
1317
+ var React40 = __toESM(require("react"));
1318
+ var import_ui33 = require("@elementor/ui");
1252
1319
 
1253
- // src/hooks/use-prop-value-history.ts
1320
+ // src/hooks/use-session-storage.ts
1254
1321
  var import_react9 = require("react");
1255
1322
  var import_utils2 = require("@elementor/utils");
1256
- var PROPS_VALUES_HISTORY_PREFIX = "elementor/editor-editing-panel/prop-value-history";
1257
- var usePropValueHistory = () => {
1258
- const { element } = useElement();
1259
- const elementKey = `${PROPS_VALUES_HISTORY_PREFIX}/${element.id}`;
1260
- const getElementPropsHistory = (0, import_react9.useCallback)(() => {
1261
- return (0, import_utils2.getSessionStorageItem)(elementKey);
1262
- }, [elementKey]);
1263
- const getPropValue = (0, import_react9.useCallback)(
1264
- (propKey) => {
1265
- const elementPropValues = getElementPropsHistory();
1266
- return elementPropValues?.[propKey] ?? null;
1267
- },
1268
- [getElementPropsHistory]
1269
- );
1270
- const setPropValue = (0, import_react9.useCallback)(
1271
- (propKey, propValue) => {
1272
- const elementPropValues = getElementPropsHistory();
1273
- const updatedElementPropValues = { ...elementPropValues, [propKey]: propValue };
1274
- (0, import_utils2.setSessionStorageItem)(elementKey, updatedElementPropValues);
1275
- },
1276
- [getElementPropsHistory, elementKey]
1277
- );
1278
- const removeProp = (0, import_react9.useCallback)(
1279
- (propKey) => {
1280
- const elementPropValues = getElementPropsHistory();
1281
- const updatedElementPropValues = Object.fromEntries(
1282
- Object.entries(elementPropValues || {}).filter(([key]) => key !== propKey)
1283
- );
1284
- (0, import_utils2.setSessionStorageItem)(elementKey, updatedElementPropValues);
1285
- },
1286
- [getElementPropsHistory, elementKey]
1287
- );
1288
- return (0, import_react9.useMemo)(() => ({ getPropValue, setPropValue, removeProp }), [getPropValue, removeProp, setPropValue]);
1289
- };
1290
-
1291
- // src/hooks/use-style-prop-history.ts
1292
- var useStylePropsHistory = (props) => {
1293
- const { element } = useElement();
1294
- const { id: styleDefID, meta } = useStyle();
1295
- const { getPropValue, setPropValue, removeProp } = usePropValueHistory();
1296
- const styleDef = (0, import_editor_elements4.getElementStyles)(element.id)?.[styleDefID];
1297
- const styleVariant = styleDef ? (0, import_editor_elements4.getVariantByMeta)(styleDef, meta) : null;
1298
- const styleVariantPath = `${styleDefID}-${styleVariant?.meta.breakpoint}-${styleVariant?.meta.state}`;
1299
- const saveStylePropsHistory = (0, import_react10.useCallback)(() => {
1300
- props.forEach((propKey) => {
1301
- const propValue = styleVariant?.props[propKey];
1302
- if (propValue) {
1303
- const propPath = `${styleVariantPath}-${propKey}`;
1304
- setPropValue(propPath, propValue);
1305
- }
1323
+ var useSessionStorage = (key) => {
1324
+ const prefixedKey = `elementor/${key}`;
1325
+ const [value, setValue] = (0, import_react9.useState)();
1326
+ (0, import_react9.useEffect)(() => {
1327
+ return subscribeToSessionStorage(prefixedKey, (newValue) => {
1328
+ setValue(newValue ?? null);
1306
1329
  });
1307
- }, [props, setPropValue, styleVariant?.props, styleVariantPath]);
1308
- const updateStylePropsFromHistory = (0, import_react10.useCallback)(() => {
1309
- const propValuesFromHistory = props.reduce((allProps, currentPropKey) => {
1310
- const propPath = `${styleVariantPath}-${currentPropKey}`;
1311
- const propHistory = getPropValue(propPath);
1312
- if (propHistory) {
1313
- removeProp(propPath);
1314
- return { ...allProps, [currentPropKey]: propHistory };
1330
+ }, [prefixedKey]);
1331
+ const saveValue = (newValue) => {
1332
+ (0, import_utils2.setSessionStorageItem)(prefixedKey, newValue);
1333
+ };
1334
+ const removeValue = () => {
1335
+ (0, import_utils2.removeSessionStorageItem)(prefixedKey);
1336
+ };
1337
+ return [value, saveValue, removeValue];
1338
+ };
1339
+ var subscribeToSessionStorage = (key, subscriber) => {
1340
+ subscriber((0, import_utils2.getSessionStorageItem)(key));
1341
+ const abortController = new AbortController();
1342
+ window.addEventListener(
1343
+ "storage",
1344
+ (e) => {
1345
+ if (e.key !== key || e.storageArea !== sessionStorage) {
1346
+ return;
1315
1347
  }
1316
- return allProps;
1317
- }, {});
1318
- if (Object.keys(propValuesFromHistory).length) {
1319
- (0, import_editor_elements4.updateStyle)({
1320
- elementID: element.id,
1321
- styleDefID,
1322
- meta,
1323
- props: propValuesFromHistory,
1324
- bind: "classes"
1325
- });
1326
- }
1327
- }, [element.id, getPropValue, meta, props, removeProp, styleDefID, styleVariantPath]);
1328
- const clearCurrentStyleProps = (0, import_react10.useCallback)(() => {
1329
- const resetValues = props.reduce(
1330
- (allProps, currentPropKey) => ({
1331
- ...allProps,
1332
- [currentPropKey]: void 0
1333
- }),
1334
- {}
1335
- );
1336
- (0, import_editor_elements4.updateStyle)({
1337
- elementID: element.id,
1338
- styleDefID,
1339
- meta,
1340
- props: resetValues,
1341
- bind: "classes"
1342
- });
1343
- }, [element.id, meta, props, styleDefID]);
1344
- return (0, import_react10.useMemo)(
1345
- () => ({ saveStylePropsHistory, updateStylePropsFromHistory, clearCurrentStyleProps }),
1346
- [saveStylePropsHistory, updateStylePropsFromHistory, clearCurrentStyleProps]
1348
+ subscriber((0, import_utils2.getSessionStorageItem)(key));
1349
+ },
1350
+ { signal: abortController.signal }
1347
1351
  );
1352
+ return () => {
1353
+ abortController.abort();
1354
+ };
1348
1355
  };
1349
1356
 
1350
1357
  // src/components/style-sections/position-section/dimensions-field.tsx
1351
- var React35 = __toESM(require("react"));
1352
- var import_editor_controls23 = require("@elementor/editor-controls");
1358
+ var React37 = __toESM(require("react"));
1359
+ var import_editor_controls24 = require("@elementor/editor-controls");
1353
1360
  var import_icons13 = require("@elementor/icons");
1354
- var import_ui28 = require("@elementor/ui");
1355
- var import_i18n17 = require("@wordpress/i18n");
1361
+ var import_ui30 = require("@elementor/ui");
1362
+ var import_i18n19 = require("@wordpress/i18n");
1356
1363
  var sideIcons = {
1357
- left: /* @__PURE__ */ React35.createElement(import_icons13.SideLeftIcon, { fontSize: "tiny" }),
1358
- right: /* @__PURE__ */ React35.createElement(import_icons13.SideRightIcon, { fontSize: "tiny" }),
1359
- top: /* @__PURE__ */ React35.createElement(import_icons13.SideTopIcon, { fontSize: "tiny" }),
1360
- bottom: /* @__PURE__ */ React35.createElement(import_icons13.SideBottomIcon, { fontSize: "tiny" })
1364
+ left: /* @__PURE__ */ React37.createElement(import_icons13.SideLeftIcon, { fontSize: "tiny" }),
1365
+ right: /* @__PURE__ */ React37.createElement(import_icons13.SideRightIcon, { fontSize: "tiny" }),
1366
+ top: /* @__PURE__ */ React37.createElement(import_icons13.SideTopIcon, { fontSize: "tiny" }),
1367
+ bottom: /* @__PURE__ */ React37.createElement(import_icons13.SideBottomIcon, { fontSize: "tiny" })
1361
1368
  };
1362
1369
  var DimensionsField = () => {
1363
- return /* @__PURE__ */ React35.createElement(React35.Fragment, null, /* @__PURE__ */ React35.createElement(import_ui28.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React35.createElement(DimensionField, { side: "top", label: (0, import_i18n17.__)("Top", "elementor") }), /* @__PURE__ */ React35.createElement(DimensionField, { side: "right", label: (0, import_i18n17.__)("Right", "elementor") })), /* @__PURE__ */ React35.createElement(import_ui28.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React35.createElement(DimensionField, { side: "bottom", label: (0, import_i18n17.__)("Bottom", "elementor") }), /* @__PURE__ */ React35.createElement(DimensionField, { side: "left", label: (0, import_i18n17.__)("Left", "elementor") })));
1370
+ return /* @__PURE__ */ React37.createElement(React37.Fragment, null, /* @__PURE__ */ React37.createElement(import_ui30.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React37.createElement(DimensionField, { side: "top", label: (0, import_i18n19.__)("Top", "elementor") }), /* @__PURE__ */ React37.createElement(DimensionField, { side: "right", label: (0, import_i18n19.__)("Right", "elementor") })), /* @__PURE__ */ React37.createElement(import_ui30.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React37.createElement(DimensionField, { side: "bottom", label: (0, import_i18n19.__)("Bottom", "elementor") }), /* @__PURE__ */ React37.createElement(DimensionField, { side: "left", label: (0, import_i18n19.__)("Left", "elementor") })));
1364
1371
  };
1365
1372
  var DimensionField = ({ side, label }) => {
1366
- return /* @__PURE__ */ React35.createElement(import_ui28.Grid, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React35.createElement(import_ui28.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React35.createElement(import_editor_controls23.ControlLabel, null, label)), /* @__PURE__ */ React35.createElement(import_ui28.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React35.createElement(StylesField, { bind: side }, /* @__PURE__ */ React35.createElement(import_editor_controls23.SizeControl, { startIcon: sideIcons[side] }))));
1373
+ return /* @__PURE__ */ React37.createElement(import_ui30.Grid, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React37.createElement(import_ui30.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React37.createElement(import_editor_controls24.ControlLabel, null, label)), /* @__PURE__ */ React37.createElement(import_ui30.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React37.createElement(StylesField, { bind: side }, /* @__PURE__ */ React37.createElement(import_editor_controls24.SizeControl, { startIcon: sideIcons[side] }))));
1367
1374
  };
1368
1375
 
1369
1376
  // src/components/style-sections/position-section/position-field.tsx
1370
- var React36 = __toESM(require("react"));
1371
- var import_editor_controls24 = require("@elementor/editor-controls");
1372
- var import_ui29 = require("@elementor/ui");
1373
- var import_i18n18 = require("@wordpress/i18n");
1377
+ var React38 = __toESM(require("react"));
1378
+ var import_editor_controls25 = require("@elementor/editor-controls");
1379
+ var import_ui31 = require("@elementor/ui");
1380
+ var import_i18n20 = require("@wordpress/i18n");
1374
1381
  var positionOptions = [
1375
- { label: (0, import_i18n18.__)("Static", "elementor"), value: "static" },
1376
- { label: (0, import_i18n18.__)("Relative", "elementor"), value: "relative" },
1377
- { label: (0, import_i18n18.__)("Absolute", "elementor"), value: "absolute" },
1378
- { label: (0, import_i18n18.__)("Fixed", "elementor"), value: "fixed" }
1382
+ { label: (0, import_i18n20.__)("Static", "elementor"), value: "static" },
1383
+ { label: (0, import_i18n20.__)("Relative", "elementor"), value: "relative" },
1384
+ { label: (0, import_i18n20.__)("Absolute", "elementor"), value: "absolute" },
1385
+ { label: (0, import_i18n20.__)("Fixed", "elementor"), value: "fixed" }
1379
1386
  ];
1380
- var PositionField = () => {
1381
- return /* @__PURE__ */ React36.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React36.createElement(import_ui29.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React36.createElement(import_ui29.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React36.createElement(import_editor_controls24.ControlLabel, null, (0, import_i18n18.__)("Position", "elementor"))), /* @__PURE__ */ React36.createElement(import_ui29.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React36.createElement(import_editor_controls24.SelectControl, { options: positionOptions }))));
1387
+ var PositionField = ({ onChange }) => {
1388
+ return /* @__PURE__ */ React38.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React38.createElement(import_ui31.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React38.createElement(import_ui31.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React38.createElement(import_editor_controls25.ControlLabel, null, (0, import_i18n20.__)("Position", "elementor"))), /* @__PURE__ */ React38.createElement(import_ui31.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React38.createElement(import_editor_controls25.SelectControl, { options: positionOptions, onChange }))));
1382
1389
  };
1383
1390
 
1384
1391
  // src/components/style-sections/position-section/z-index-field.tsx
1385
- var React37 = __toESM(require("react"));
1386
- var import_editor_controls25 = require("@elementor/editor-controls");
1387
- var import_ui30 = require("@elementor/ui");
1388
- var import_i18n19 = require("@wordpress/i18n");
1392
+ var React39 = __toESM(require("react"));
1393
+ var import_editor_controls26 = require("@elementor/editor-controls");
1394
+ var import_ui32 = require("@elementor/ui");
1395
+ var import_i18n21 = require("@wordpress/i18n");
1389
1396
  var ZIndexField = () => {
1390
- return /* @__PURE__ */ React37.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React37.createElement(import_ui30.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React37.createElement(import_ui30.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React37.createElement(import_editor_controls25.ControlLabel, null, (0, import_i18n19.__)("Z-Index", "elementor"))), /* @__PURE__ */ React37.createElement(import_ui30.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React37.createElement(import_editor_controls25.NumberControl, null))));
1397
+ return /* @__PURE__ */ React39.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React39.createElement(import_ui32.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React39.createElement(import_ui32.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React39.createElement(import_editor_controls26.ControlLabel, null, (0, import_i18n21.__)("Z-Index", "elementor"))), /* @__PURE__ */ React39.createElement(import_ui32.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React39.createElement(import_editor_controls26.NumberControl, null))));
1391
1398
  };
1392
1399
 
1393
1400
  // src/components/style-sections/position-section/position-section.tsx
1394
- var dimensionsPropKeys = ["top", "bottom", "left", "right"];
1395
1401
  var PositionSection = () => {
1396
1402
  const [positionValue] = useStylesField("position");
1397
- usePositionChangeHandler();
1398
- const isNotStatic = positionValue && positionValue?.value !== "static";
1399
- return /* @__PURE__ */ React38.createElement(import_ui31.Stack, { gap: 1.5 }, /* @__PURE__ */ React38.createElement(PositionField, null), isNotStatic ? /* @__PURE__ */ React38.createElement(React38.Fragment, null, /* @__PURE__ */ React38.createElement(DimensionsField, null), /* @__PURE__ */ React38.createElement(ZIndexField, null)) : null);
1400
- };
1401
- var usePositionChangeHandler = () => {
1402
- const dimensionsHistory = useStylePropsHistory(dimensionsPropKeys);
1403
- const onPositionChange = (0, import_react11.useCallback)(
1404
- (newPositionValue, previousPosition) => {
1405
- if (!dimensionsHistory) {
1406
- return;
1403
+ const [dimensionsValues, setDimensionsValues] = useStylesFields([
1404
+ "top",
1405
+ "bottom",
1406
+ "left",
1407
+ "right"
1408
+ ]);
1409
+ const [dimensionsValuesFromHistory, updateDimensionsHistory, clearDimensionsHistory] = usePersistDimensions();
1410
+ const onPositionChange = (newPosition, previousPosition) => {
1411
+ if (newPosition === "static") {
1412
+ if (dimensionsValues) {
1413
+ updateDimensionsHistory(dimensionsValues);
1414
+ setDimensionsValues({
1415
+ top: void 0,
1416
+ bottom: void 0,
1417
+ left: void 0,
1418
+ right: void 0
1419
+ });
1407
1420
  }
1408
- const { saveStylePropsHistory, updateStylePropsFromHistory, clearCurrentStyleProps } = dimensionsHistory;
1409
- if (newPositionValue === "static") {
1410
- saveStylePropsHistory();
1411
- clearCurrentStyleProps();
1412
- } else if (previousPosition === "static") {
1413
- updateStylePropsFromHistory();
1421
+ } else if (previousPosition === "static") {
1422
+ if (dimensionsValuesFromHistory) {
1423
+ setDimensionsValues(dimensionsValuesFromHistory);
1424
+ clearDimensionsHistory();
1414
1425
  }
1415
- previousPosition = newPositionValue;
1416
- },
1417
- [dimensionsHistory]
1418
- );
1419
- const [, , registerChangeListener] = useStylesField("position");
1420
- registerChangeListener?.(onPositionChange);
1426
+ }
1427
+ };
1428
+ const isNotStatic = positionValue && positionValue?.value !== "static";
1429
+ return /* @__PURE__ */ React40.createElement(import_ui33.Stack, { gap: 1.5 }, /* @__PURE__ */ React40.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React40.createElement(React40.Fragment, null, /* @__PURE__ */ React40.createElement(DimensionsField, null), /* @__PURE__ */ React40.createElement(ZIndexField, null)) : null);
1430
+ };
1431
+ var usePersistDimensions = () => {
1432
+ const { id: styleDefID, meta } = useStyle();
1433
+ const styleVariantPath = `styles/${styleDefID}/${meta.breakpoint || "desktop"}/${meta.state || "null"}`;
1434
+ const dimensionsPath = `${styleVariantPath}/dimensions`;
1435
+ return useSessionStorage(dimensionsPath);
1421
1436
  };
1422
1437
 
1423
1438
  // src/components/style-sections/size-section/size-section.tsx
1424
- var React40 = __toESM(require("react"));
1425
- var import_editor_controls27 = require("@elementor/editor-controls");
1426
- var import_ui33 = require("@elementor/ui");
1427
- var import_i18n21 = require("@wordpress/i18n");
1439
+ var React42 = __toESM(require("react"));
1440
+ var import_editor_controls28 = require("@elementor/editor-controls");
1441
+ var import_ui35 = require("@elementor/ui");
1442
+ var import_i18n23 = require("@wordpress/i18n");
1428
1443
 
1429
1444
  // src/components/style-sections/size-section/overflow-field.tsx
1430
- var React39 = __toESM(require("react"));
1431
- var import_editor_controls26 = require("@elementor/editor-controls");
1445
+ var React41 = __toESM(require("react"));
1446
+ var import_editor_controls27 = require("@elementor/editor-controls");
1432
1447
  var import_icons14 = require("@elementor/icons");
1433
- var import_ui32 = require("@elementor/ui");
1434
- var import_i18n20 = require("@wordpress/i18n");
1448
+ var import_ui34 = require("@elementor/ui");
1449
+ var import_i18n22 = require("@wordpress/i18n");
1435
1450
  var options6 = [
1436
1451
  {
1437
1452
  value: "visible",
1438
- label: (0, import_i18n20.__)("Visible", "elementor"),
1439
- renderContent: ({ size }) => /* @__PURE__ */ React39.createElement(import_icons14.EyeIcon, { fontSize: size }),
1453
+ label: (0, import_i18n22.__)("Visible", "elementor"),
1454
+ renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(import_icons14.EyeIcon, { fontSize: size }),
1440
1455
  showTooltip: true
1441
1456
  },
1442
1457
  {
1443
1458
  value: "hidden",
1444
- label: (0, import_i18n20.__)("Hidden", "elementor"),
1445
- renderContent: ({ size }) => /* @__PURE__ */ React39.createElement(import_icons14.EyeOffIcon, { fontSize: size }),
1459
+ label: (0, import_i18n22.__)("Hidden", "elementor"),
1460
+ renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(import_icons14.EyeOffIcon, { fontSize: size }),
1446
1461
  showTooltip: true
1447
1462
  },
1448
1463
  {
1449
1464
  value: "auto",
1450
- label: (0, import_i18n20.__)("Auto", "elementor"),
1451
- renderContent: ({ size }) => /* @__PURE__ */ React39.createElement(import_icons14.ExpandBottomIcon, { fontSize: size }),
1465
+ label: (0, import_i18n22.__)("Auto", "elementor"),
1466
+ renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(import_icons14.ExpandBottomIcon, { fontSize: size }),
1452
1467
  showTooltip: true
1453
1468
  }
1454
1469
  ];
1455
1470
  var OverflowField = () => {
1456
- return /* @__PURE__ */ React39.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React39.createElement(import_ui32.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React39.createElement(import_ui32.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React39.createElement(import_editor_controls26.ControlLabel, null, (0, import_i18n20.__)("Overflow", "elementor"))), /* @__PURE__ */ React39.createElement(import_ui32.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React39.createElement(import_editor_controls26.ToggleControl, { options: options6 }))));
1471
+ return /* @__PURE__ */ React41.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React41.createElement(import_ui34.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(import_editor_controls27.ControlLabel, null, (0, import_i18n22.__)("Overflow", "elementor"))), /* @__PURE__ */ React41.createElement(import_ui34.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React41.createElement(import_editor_controls27.ToggleControl, { options: options6 }))));
1457
1472
  };
1458
1473
 
1459
1474
  // src/components/style-sections/size-section/size-section.tsx
1460
1475
  var SizeSection = () => {
1461
- return /* @__PURE__ */ React40.createElement(import_ui33.Stack, { gap: 1.5 }, /* @__PURE__ */ React40.createElement(import_ui33.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(SizeField, { bind: "width", label: (0, import_i18n21.__)("Width", "elementor") })), /* @__PURE__ */ React40.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(SizeField, { bind: "height", label: (0, import_i18n21.__)("Height", "elementor") }))), /* @__PURE__ */ React40.createElement(import_ui33.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(SizeField, { bind: "min-width", label: (0, import_i18n21.__)("Min. Width", "elementor") })), /* @__PURE__ */ React40.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(SizeField, { bind: "min-height", label: (0, import_i18n21.__)("Min. Height", "elementor") }))), /* @__PURE__ */ React40.createElement(import_ui33.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(SizeField, { bind: "max-width", label: (0, import_i18n21.__)("Max. Width", "elementor") })), /* @__PURE__ */ React40.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(SizeField, { bind: "max-height", label: (0, import_i18n21.__)("Max. Height", "elementor") }))), /* @__PURE__ */ React40.createElement(import_ui33.Divider, null), /* @__PURE__ */ React40.createElement(import_ui33.Stack, null, /* @__PURE__ */ React40.createElement(OverflowField, null)));
1476
+ return /* @__PURE__ */ React42.createElement(import_ui35.Stack, { gap: 1.5 }, /* @__PURE__ */ React42.createElement(import_ui35.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React42.createElement(import_ui35.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(SizeField, { bind: "width", label: (0, import_i18n23.__)("Width", "elementor") })), /* @__PURE__ */ React42.createElement(import_ui35.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(SizeField, { bind: "height", label: (0, import_i18n23.__)("Height", "elementor") }))), /* @__PURE__ */ React42.createElement(import_ui35.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React42.createElement(import_ui35.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(SizeField, { bind: "min-width", label: (0, import_i18n23.__)("Min. Width", "elementor") })), /* @__PURE__ */ React42.createElement(import_ui35.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(SizeField, { bind: "min-height", label: (0, import_i18n23.__)("Min. Height", "elementor") }))), /* @__PURE__ */ React42.createElement(import_ui35.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React42.createElement(import_ui35.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(SizeField, { bind: "max-width", label: (0, import_i18n23.__)("Max. Width", "elementor") })), /* @__PURE__ */ React42.createElement(import_ui35.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(SizeField, { bind: "max-height", label: (0, import_i18n23.__)("Max. Height", "elementor") }))), /* @__PURE__ */ React42.createElement(import_ui35.Divider, null), /* @__PURE__ */ React42.createElement(import_ui35.Stack, null, /* @__PURE__ */ React42.createElement(OverflowField, null)));
1462
1477
  };
1463
1478
  var SizeField = ({ label, bind }) => {
1464
- return /* @__PURE__ */ React40.createElement(StylesField, { bind }, /* @__PURE__ */ React40.createElement(import_ui33.Grid, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React40.createElement(import_ui33.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React40.createElement(import_editor_controls27.ControlLabel, null, label)), /* @__PURE__ */ React40.createElement(import_ui33.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React40.createElement(import_editor_controls27.SizeControl, null))));
1479
+ return /* @__PURE__ */ React42.createElement(StylesField, { bind }, /* @__PURE__ */ React42.createElement(import_ui35.Grid, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React42.createElement(import_ui35.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React42.createElement(import_editor_controls28.ControlLabel, null, label)), /* @__PURE__ */ React42.createElement(import_ui35.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React42.createElement(import_editor_controls28.SizeControl, null))));
1465
1480
  };
1466
1481
 
1467
1482
  // src/components/style-sections/spacing-section/spacing-section.tsx
1468
- var React41 = __toESM(require("react"));
1469
- var import_editor_controls28 = require("@elementor/editor-controls");
1470
- var import_ui34 = require("@elementor/ui");
1471
- var import_i18n22 = require("@wordpress/i18n");
1483
+ var React43 = __toESM(require("react"));
1484
+ var import_editor_controls29 = require("@elementor/editor-controls");
1485
+ var import_ui36 = require("@elementor/ui");
1486
+ var import_i18n24 = require("@wordpress/i18n");
1472
1487
  var SpacingSection = () => {
1473
- return /* @__PURE__ */ React41.createElement(import_ui34.Stack, { gap: 1.5 }, /* @__PURE__ */ React41.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React41.createElement(import_editor_controls28.LinkedDimensionsControl, { label: (0, import_i18n22.__)("Padding", "elementor") })), /* @__PURE__ */ React41.createElement(import_ui34.Divider, null), /* @__PURE__ */ React41.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React41.createElement(import_editor_controls28.LinkedDimensionsControl, { label: (0, import_i18n22.__)("Margin", "elementor") })));
1488
+ return /* @__PURE__ */ React43.createElement(import_ui36.Stack, { gap: 1.5 }, /* @__PURE__ */ React43.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React43.createElement(import_editor_controls29.LinkedDimensionsControl, { label: (0, import_i18n24.__)("Padding", "elementor") })), /* @__PURE__ */ React43.createElement(import_ui36.Divider, null), /* @__PURE__ */ React43.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React43.createElement(import_editor_controls29.LinkedDimensionsControl, { label: (0, import_i18n24.__)("Margin", "elementor") })));
1474
1489
  };
1475
1490
 
1476
1491
  // src/components/style-sections/typography-section/typography-section.tsx
1477
- var React55 = __toESM(require("react"));
1478
- var import_ui47 = require("@elementor/ui");
1492
+ var React57 = __toESM(require("react"));
1493
+ var import_ui49 = require("@elementor/ui");
1479
1494
 
1480
1495
  // src/components/collapsible-content.tsx
1481
- var React42 = __toESM(require("react"));
1482
- var import_react12 = require("react");
1483
- var import_ui35 = require("@elementor/ui");
1484
- var import_i18n23 = require("@wordpress/i18n");
1496
+ var React44 = __toESM(require("react"));
1497
+ var import_react10 = require("react");
1498
+ var import_ui37 = require("@elementor/ui");
1499
+ var import_i18n25 = require("@wordpress/i18n");
1485
1500
  var CollapsibleContent = ({ children, defaultOpen = false }) => {
1486
- const [open, setOpen] = (0, import_react12.useState)(defaultOpen);
1501
+ const [open, setOpen] = (0, import_react10.useState)(defaultOpen);
1487
1502
  const handleToggle = () => {
1488
1503
  setOpen((prevOpen) => !prevOpen);
1489
1504
  };
1490
- return /* @__PURE__ */ React42.createElement(import_ui35.Stack, { sx: { py: 0.5 } }, /* @__PURE__ */ React42.createElement(
1491
- import_ui35.Button,
1505
+ return /* @__PURE__ */ React44.createElement(import_ui37.Stack, { sx: { py: 0.5 } }, /* @__PURE__ */ React44.createElement(
1506
+ import_ui37.Button,
1492
1507
  {
1493
1508
  fullWidth: true,
1494
1509
  size: "small",
1495
1510
  color: "secondary",
1496
1511
  variant: "outlined",
1497
1512
  onClick: handleToggle,
1498
- endIcon: /* @__PURE__ */ React42.createElement(CollapseIcon, { open })
1513
+ endIcon: /* @__PURE__ */ React44.createElement(CollapseIcon, { open })
1499
1514
  },
1500
- open ? (0, import_i18n23.__)("Show less", "elementor") : (0, import_i18n23.__)("Show more", "elementor")
1501
- ), /* @__PURE__ */ React42.createElement(import_ui35.Collapse, { in: open, timeout: "auto", unmountOnExit: true }, children));
1515
+ open ? (0, import_i18n25.__)("Show less", "elementor") : (0, import_i18n25.__)("Show more", "elementor")
1516
+ ), /* @__PURE__ */ React44.createElement(import_ui37.Collapse, { in: open, timeout: "auto", unmountOnExit: true }, children));
1502
1517
  };
1503
1518
 
1504
1519
  // src/components/style-sections/typography-section/font-family-field.tsx
1505
- var React43 = __toESM(require("react"));
1506
- var import_editor_controls29 = require("@elementor/editor-controls");
1507
- var import_ui36 = require("@elementor/ui");
1508
- var import_i18n24 = require("@wordpress/i18n");
1520
+ var React45 = __toESM(require("react"));
1521
+ var import_editor_controls30 = require("@elementor/editor-controls");
1522
+ var import_ui38 = require("@elementor/ui");
1523
+ var import_i18n26 = require("@wordpress/i18n");
1509
1524
 
1510
1525
  // src/sync/get-elementor-config.ts
1511
1526
  var getElementorConfig = () => {
@@ -1519,7 +1534,7 @@ var FontFamilyField = () => {
1519
1534
  if (!fontFamilies) {
1520
1535
  return null;
1521
1536
  }
1522
- return /* @__PURE__ */ React43.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React43.createElement(import_ui36.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(import_ui36.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(import_editor_controls29.ControlLabel, null, (0, import_i18n24.__)("Font Family", "elementor"))), /* @__PURE__ */ React43.createElement(import_ui36.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(import_editor_controls29.FontFamilyControl, { fontFamilies }))));
1537
+ return /* @__PURE__ */ React45.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React45.createElement(import_ui38.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React45.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(import_editor_controls30.ControlLabel, null, (0, import_i18n26.__)("Font Family", "elementor"))), /* @__PURE__ */ React45.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(import_editor_controls30.FontFamilyControl, { fontFamilies }))));
1523
1538
  };
1524
1539
  var getFontFamilies = () => {
1525
1540
  const { controls } = getElementorConfig();
@@ -1531,115 +1546,115 @@ var getFontFamilies = () => {
1531
1546
  };
1532
1547
 
1533
1548
  // src/components/style-sections/typography-section/font-size-field.tsx
1534
- var React44 = __toESM(require("react"));
1535
- var import_editor_controls30 = require("@elementor/editor-controls");
1536
- var import_ui37 = require("@elementor/ui");
1537
- var import_i18n25 = require("@wordpress/i18n");
1549
+ var React46 = __toESM(require("react"));
1550
+ var import_editor_controls31 = require("@elementor/editor-controls");
1551
+ var import_ui39 = require("@elementor/ui");
1552
+ var import_i18n27 = require("@wordpress/i18n");
1538
1553
  var FontSizeField = () => {
1539
- return /* @__PURE__ */ React44.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React44.createElement(import_ui37.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(import_ui37.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(import_editor_controls30.ControlLabel, null, (0, import_i18n25.__)("Font Size", "elementor"))), /* @__PURE__ */ React44.createElement(import_ui37.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(import_editor_controls30.SizeControl, null))));
1554
+ return /* @__PURE__ */ React46.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React46.createElement(import_ui39.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(import_editor_controls31.ControlLabel, null, (0, import_i18n27.__)("Font Size", "elementor"))), /* @__PURE__ */ React46.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(import_editor_controls31.SizeControl, null))));
1540
1555
  };
1541
1556
 
1542
1557
  // src/components/style-sections/typography-section/font-weight-field.tsx
1543
- var React45 = __toESM(require("react"));
1544
- var import_editor_controls31 = require("@elementor/editor-controls");
1545
- var import_ui38 = require("@elementor/ui");
1546
- var import_i18n26 = require("@wordpress/i18n");
1558
+ var React47 = __toESM(require("react"));
1559
+ var import_editor_controls32 = require("@elementor/editor-controls");
1560
+ var import_ui40 = require("@elementor/ui");
1561
+ var import_i18n28 = require("@wordpress/i18n");
1547
1562
  var fontWeightOptions = [
1548
- { label: (0, import_i18n26.__)("Light - 400", "elementor"), value: "400" },
1549
- { label: (0, import_i18n26.__)("Regular - 500", "elementor"), value: "500" },
1550
- { label: (0, import_i18n26.__)("Semi Bold - 600", "elementor"), value: "600" },
1551
- { label: (0, import_i18n26.__)("Bold - 700", "elementor"), value: "700" },
1552
- { label: (0, import_i18n26.__)("Black - 900", "elementor"), value: "900" }
1563
+ { label: (0, import_i18n28.__)("Light - 400", "elementor"), value: "400" },
1564
+ { label: (0, import_i18n28.__)("Regular - 500", "elementor"), value: "500" },
1565
+ { label: (0, import_i18n28.__)("Semi Bold - 600", "elementor"), value: "600" },
1566
+ { label: (0, import_i18n28.__)("Bold - 700", "elementor"), value: "700" },
1567
+ { label: (0, import_i18n28.__)("Black - 900", "elementor"), value: "900" }
1553
1568
  ];
1554
1569
  var FontWeightField = () => {
1555
- return /* @__PURE__ */ React45.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React45.createElement(import_ui38.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React45.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(import_editor_controls31.ControlLabel, null, (0, import_i18n26.__)("Font Weight", "elementor"))), /* @__PURE__ */ React45.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(import_editor_controls31.SelectControl, { options: fontWeightOptions }))));
1570
+ return /* @__PURE__ */ React47.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React47.createElement(import_ui40.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(import_editor_controls32.ControlLabel, null, (0, import_i18n28.__)("Font Weight", "elementor"))), /* @__PURE__ */ React47.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(import_editor_controls32.SelectControl, { options: fontWeightOptions }))));
1556
1571
  };
1557
1572
 
1558
1573
  // src/components/style-sections/typography-section/letter-spacing-field.tsx
1559
- var React46 = __toESM(require("react"));
1560
- var import_editor_controls32 = require("@elementor/editor-controls");
1561
- var import_ui39 = require("@elementor/ui");
1562
- var import_i18n27 = require("@wordpress/i18n");
1574
+ var React48 = __toESM(require("react"));
1575
+ var import_editor_controls33 = require("@elementor/editor-controls");
1576
+ var import_ui41 = require("@elementor/ui");
1577
+ var import_i18n29 = require("@wordpress/i18n");
1563
1578
  var LetterSpacingField = () => {
1564
- return /* @__PURE__ */ React46.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React46.createElement(import_ui39.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(import_editor_controls32.ControlLabel, null, (0, import_i18n27.__)("Letter Spacing", "elementor"))), /* @__PURE__ */ React46.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(import_editor_controls32.SizeControl, null))));
1579
+ return /* @__PURE__ */ React48.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React48.createElement(import_ui41.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(import_ui41.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(import_editor_controls33.ControlLabel, null, (0, import_i18n29.__)("Letter Spacing", "elementor"))), /* @__PURE__ */ React48.createElement(import_ui41.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(import_editor_controls33.SizeControl, null))));
1565
1580
  };
1566
1581
 
1567
1582
  // src/components/style-sections/typography-section/line-height-field.tsx
1568
- var React47 = __toESM(require("react"));
1569
- var import_editor_controls33 = require("@elementor/editor-controls");
1570
- var import_ui40 = require("@elementor/ui");
1571
- var import_i18n28 = require("@wordpress/i18n");
1583
+ var React49 = __toESM(require("react"));
1584
+ var import_editor_controls34 = require("@elementor/editor-controls");
1585
+ var import_ui42 = require("@elementor/ui");
1586
+ var import_i18n30 = require("@wordpress/i18n");
1572
1587
  var LineHeightField = () => {
1573
- return /* @__PURE__ */ React47.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React47.createElement(import_ui40.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(import_editor_controls33.ControlLabel, null, (0, import_i18n28.__)("Line Height", "elementor"))), /* @__PURE__ */ React47.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(import_editor_controls33.SizeControl, null))));
1588
+ return /* @__PURE__ */ React49.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React49.createElement(import_ui42.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(import_editor_controls34.ControlLabel, null, (0, import_i18n30.__)("Line Height", "elementor"))), /* @__PURE__ */ React49.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(import_editor_controls34.SizeControl, null))));
1574
1589
  };
1575
1590
 
1576
1591
  // src/components/style-sections/typography-section/text-alignment-field.tsx
1577
- var React48 = __toESM(require("react"));
1578
- var import_editor_controls34 = require("@elementor/editor-controls");
1592
+ var React50 = __toESM(require("react"));
1593
+ var import_editor_controls35 = require("@elementor/editor-controls");
1579
1594
  var import_icons15 = require("@elementor/icons");
1580
- var import_ui41 = require("@elementor/ui");
1581
- var import_i18n29 = require("@wordpress/i18n");
1595
+ var import_ui43 = require("@elementor/ui");
1596
+ var import_i18n31 = require("@wordpress/i18n");
1582
1597
  var options7 = [
1583
1598
  {
1584
1599
  value: "left",
1585
- label: (0, import_i18n29.__)("Left", "elementor"),
1586
- renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(import_icons15.AlignLeftIcon, { fontSize: size })
1600
+ label: (0, import_i18n31.__)("Left", "elementor"),
1601
+ renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(import_icons15.AlignLeftIcon, { fontSize: size })
1587
1602
  },
1588
1603
  {
1589
1604
  value: "center",
1590
- label: (0, import_i18n29.__)("Center", "elementor"),
1591
- renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(import_icons15.AlignCenterIcon, { fontSize: size })
1605
+ label: (0, import_i18n31.__)("Center", "elementor"),
1606
+ renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(import_icons15.AlignCenterIcon, { fontSize: size })
1592
1607
  },
1593
1608
  {
1594
1609
  value: "right",
1595
- label: (0, import_i18n29.__)("Right", "elementor"),
1596
- renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(import_icons15.AlignRightIcon, { fontSize: size })
1610
+ label: (0, import_i18n31.__)("Right", "elementor"),
1611
+ renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(import_icons15.AlignRightIcon, { fontSize: size })
1597
1612
  },
1598
1613
  {
1599
1614
  value: "justify",
1600
- label: (0, import_i18n29.__)("Justify", "elementor"),
1601
- renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(import_icons15.AlignJustifiedIcon, { fontSize: size })
1615
+ label: (0, import_i18n31.__)("Justify", "elementor"),
1616
+ renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(import_icons15.AlignJustifiedIcon, { fontSize: size })
1602
1617
  }
1603
1618
  ];
1604
1619
  var TextAlignmentField = () => {
1605
- return /* @__PURE__ */ React48.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React48.createElement(import_ui41.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(import_ui41.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(import_editor_controls34.ControlLabel, null, (0, import_i18n29.__)("Alignment", "elementor"))), /* @__PURE__ */ React48.createElement(import_ui41.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React48.createElement(import_editor_controls34.ToggleControl, { options: options7 }))));
1620
+ return /* @__PURE__ */ React50.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React50.createElement(import_ui43.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React50.createElement(import_ui43.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(import_editor_controls35.ControlLabel, null, (0, import_i18n31.__)("Alignment", "elementor"))), /* @__PURE__ */ React50.createElement(import_ui43.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React50.createElement(import_editor_controls35.ToggleControl, { options: options7 }))));
1606
1621
  };
1607
1622
 
1608
1623
  // src/components/style-sections/typography-section/text-color-field.tsx
1609
- var React49 = __toESM(require("react"));
1610
- var import_editor_controls35 = require("@elementor/editor-controls");
1611
- var import_ui42 = require("@elementor/ui");
1612
- var import_i18n30 = require("@wordpress/i18n");
1624
+ var React51 = __toESM(require("react"));
1625
+ var import_editor_controls36 = require("@elementor/editor-controls");
1626
+ var import_ui44 = require("@elementor/ui");
1627
+ var import_i18n32 = require("@wordpress/i18n");
1613
1628
  var TextColorField = () => {
1614
- return /* @__PURE__ */ React49.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React49.createElement(import_ui42.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(import_editor_controls35.ControlLabel, null, (0, import_i18n30.__)("Text Color", "elementor"))), /* @__PURE__ */ React49.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(import_editor_controls35.ColorControl, null))));
1629
+ return /* @__PURE__ */ React51.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React51.createElement(import_ui44.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React51.createElement(import_ui44.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(import_editor_controls36.ControlLabel, null, (0, import_i18n32.__)("Text Color", "elementor"))), /* @__PURE__ */ React51.createElement(import_ui44.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(import_editor_controls36.ColorControl, null))));
1615
1630
  };
1616
1631
 
1617
1632
  // src/components/style-sections/typography-section/text-direction-field.tsx
1618
- var React50 = __toESM(require("react"));
1619
- var import_editor_controls36 = require("@elementor/editor-controls");
1633
+ var React52 = __toESM(require("react"));
1634
+ var import_editor_controls37 = require("@elementor/editor-controls");
1620
1635
  var import_icons16 = require("@elementor/icons");
1621
- var import_ui43 = require("@elementor/ui");
1622
- var import_i18n31 = require("@wordpress/i18n");
1636
+ var import_ui45 = require("@elementor/ui");
1637
+ var import_i18n33 = require("@wordpress/i18n");
1623
1638
  var options8 = [
1624
1639
  {
1625
1640
  value: "ltr",
1626
- label: (0, import_i18n31.__)("Left to Right", "elementor"),
1627
- renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(import_icons16.TextDirectionLtrIcon, { fontSize: size })
1641
+ label: (0, import_i18n33.__)("Left to Right", "elementor"),
1642
+ renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(import_icons16.TextDirectionLtrIcon, { fontSize: size })
1628
1643
  },
1629
1644
  {
1630
1645
  value: "rtl",
1631
- label: (0, import_i18n31.__)("Right to Left", "elementor"),
1632
- renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(import_icons16.TextDirectionRtlIcon, { fontSize: size })
1646
+ label: (0, import_i18n33.__)("Right to Left", "elementor"),
1647
+ renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(import_icons16.TextDirectionRtlIcon, { fontSize: size })
1633
1648
  }
1634
1649
  ];
1635
1650
  var TextDirectionField = () => {
1636
- return /* @__PURE__ */ React50.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React50.createElement(import_ui43.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React50.createElement(import_ui43.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(import_editor_controls36.ControlLabel, null, (0, import_i18n31.__)("Direction", "elementor"))), /* @__PURE__ */ React50.createElement(import_ui43.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React50.createElement(import_editor_controls36.ToggleControl, { options: options8 }))));
1651
+ return /* @__PURE__ */ React52.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React52.createElement(import_ui45.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(import_editor_controls37.ControlLabel, null, (0, import_i18n33.__)("Direction", "elementor"))), /* @__PURE__ */ React52.createElement(import_ui45.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React52.createElement(import_editor_controls37.ToggleControl, { options: options8 }))));
1637
1652
  };
1638
1653
 
1639
1654
  // src/components/style-sections/typography-section/text-stroke-field.tsx
1640
- var React51 = __toESM(require("react"));
1641
- var import_editor_controls37 = require("@elementor/editor-controls");
1642
- var import_i18n32 = require("@wordpress/i18n");
1655
+ var React53 = __toESM(require("react"));
1656
+ var import_editor_controls38 = require("@elementor/editor-controls");
1657
+ var import_i18n34 = require("@wordpress/i18n");
1643
1658
  var initTextStroke = {
1644
1659
  $$type: "stroke",
1645
1660
  value: {
@@ -1665,24 +1680,24 @@ var TextStrokeField = () => {
1665
1680
  setTextStroke(null);
1666
1681
  };
1667
1682
  const hasTextStroke = Boolean(textStroke);
1668
- return /* @__PURE__ */ React51.createElement(
1683
+ return /* @__PURE__ */ React53.createElement(
1669
1684
  AddOrRemoveContent,
1670
1685
  {
1671
- label: (0, import_i18n32.__)("Text Stroke", "elementor"),
1686
+ label: (0, import_i18n34.__)("Text Stroke", "elementor"),
1672
1687
  isAdded: hasTextStroke,
1673
1688
  onAdd: addTextStroke,
1674
1689
  onRemove: removeTextStroke
1675
1690
  },
1676
- /* @__PURE__ */ React51.createElement(StylesField, { bind: "-webkit-text-stroke" }, /* @__PURE__ */ React51.createElement(import_editor_controls37.StrokeControl, null))
1691
+ /* @__PURE__ */ React53.createElement(StylesField, { bind: "-webkit-text-stroke" }, /* @__PURE__ */ React53.createElement(import_editor_controls38.StrokeControl, null))
1677
1692
  );
1678
1693
  };
1679
1694
 
1680
1695
  // src/components/style-sections/typography-section/text-style-field.tsx
1681
- var React52 = __toESM(require("react"));
1682
- var import_editor_controls38 = require("@elementor/editor-controls");
1696
+ var React54 = __toESM(require("react"));
1697
+ var import_editor_controls39 = require("@elementor/editor-controls");
1683
1698
  var import_icons17 = require("@elementor/icons");
1684
- var import_ui44 = require("@elementor/ui");
1685
- var import_i18n33 = require("@wordpress/i18n");
1699
+ var import_ui46 = require("@elementor/ui");
1700
+ var import_i18n35 = require("@wordpress/i18n");
1686
1701
  var buttonSize = "tiny";
1687
1702
  var TextStyleField = () => {
1688
1703
  const [fontStyle, setFontStyle] = useStylesField("font-style");
@@ -1706,7 +1721,7 @@ var TextStyleField = () => {
1706
1721
  value: newValue
1707
1722
  });
1708
1723
  };
1709
- return /* @__PURE__ */ React52.createElement(import_ui44.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(import_ui44.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(import_editor_controls38.ControlLabel, null, (0, import_i18n33.__)("Style", "elementor"))), /* @__PURE__ */ React52.createElement(import_ui44.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React52.createElement(import_ui44.ToggleButtonGroup, { value: formats }, /* @__PURE__ */ React52.createElement(
1724
+ return /* @__PURE__ */ React54.createElement(import_ui46.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React54.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(import_editor_controls39.ControlLabel, null, (0, import_i18n35.__)("Style", "elementor"))), /* @__PURE__ */ React54.createElement(import_ui46.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React54.createElement(import_ui46.ToggleButtonGroup, { value: formats }, /* @__PURE__ */ React54.createElement(
1710
1725
  ToggleButton,
1711
1726
  {
1712
1727
  value: "italic",
@@ -1714,8 +1729,8 @@ var TextStyleField = () => {
1714
1729
  "aria-label": "italic",
1715
1730
  sx: { marginLeft: "auto" }
1716
1731
  },
1717
- /* @__PURE__ */ React52.createElement(import_icons17.ItalicIcon, { fontSize: buttonSize })
1718
- ), /* @__PURE__ */ React52.createElement(
1732
+ /* @__PURE__ */ React54.createElement(import_icons17.ItalicIcon, { fontSize: buttonSize })
1733
+ ), /* @__PURE__ */ React54.createElement(
1719
1734
  ShorthandControl,
1720
1735
  {
1721
1736
  value: "line-through",
@@ -1723,8 +1738,8 @@ var TextStyleField = () => {
1723
1738
  updateValues: handleSetTextDecoration,
1724
1739
  "aria-label": "line-through"
1725
1740
  },
1726
- /* @__PURE__ */ React52.createElement(import_icons17.StrikethroughIcon, { fontSize: buttonSize })
1727
- ), /* @__PURE__ */ React52.createElement(
1741
+ /* @__PURE__ */ React54.createElement(import_icons17.StrikethroughIcon, { fontSize: buttonSize })
1742
+ ), /* @__PURE__ */ React54.createElement(
1728
1743
  ShorthandControl,
1729
1744
  {
1730
1745
  value: "underline",
@@ -1732,7 +1747,7 @@ var TextStyleField = () => {
1732
1747
  updateValues: handleSetTextDecoration,
1733
1748
  "aria-label": "underline"
1734
1749
  },
1735
- /* @__PURE__ */ React52.createElement(import_icons17.UnderlineIcon, { fontSize: buttonSize })
1750
+ /* @__PURE__ */ React54.createElement(import_icons17.UnderlineIcon, { fontSize: buttonSize })
1736
1751
  ))));
1737
1752
  };
1738
1753
  var ShorthandControl = ({
@@ -1751,52 +1766,52 @@ var ShorthandControl = ({
1751
1766
  updateValues([...valuesArr, newValue].join(" "));
1752
1767
  }
1753
1768
  };
1754
- return /* @__PURE__ */ React52.createElement(ToggleButton, { value, onChange: toggleValue, selected, "aria-label": ariaLabel }, children);
1769
+ return /* @__PURE__ */ React54.createElement(ToggleButton, { value, onChange: toggleValue, selected, "aria-label": ariaLabel }, children);
1755
1770
  };
1756
1771
  var ToggleButton = ({ onChange, ...props }) => {
1757
1772
  const handleChange = (_e, newValue) => {
1758
1773
  onChange(newValue);
1759
1774
  };
1760
- return /* @__PURE__ */ React52.createElement(import_ui44.ToggleButton, { ...props, onChange: handleChange, size: buttonSize });
1775
+ return /* @__PURE__ */ React54.createElement(import_ui46.ToggleButton, { ...props, onChange: handleChange, size: buttonSize });
1761
1776
  };
1762
1777
 
1763
1778
  // src/components/style-sections/typography-section/transform-field.tsx
1764
- var React53 = __toESM(require("react"));
1765
- var import_editor_controls39 = require("@elementor/editor-controls");
1779
+ var React55 = __toESM(require("react"));
1780
+ var import_editor_controls40 = require("@elementor/editor-controls");
1766
1781
  var import_icons18 = require("@elementor/icons");
1767
- var import_ui45 = require("@elementor/ui");
1768
- var import_i18n34 = require("@wordpress/i18n");
1782
+ var import_ui47 = require("@elementor/ui");
1783
+ var import_i18n36 = require("@wordpress/i18n");
1769
1784
  var options9 = [
1770
1785
  {
1771
1786
  value: "capitalize",
1772
- label: (0, import_i18n34.__)("Capitalize", "elementor"),
1773
- renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(import_icons18.LetterCaseIcon, { fontSize: size })
1787
+ label: (0, import_i18n36.__)("Capitalize", "elementor"),
1788
+ renderContent: ({ size }) => /* @__PURE__ */ React55.createElement(import_icons18.LetterCaseIcon, { fontSize: size })
1774
1789
  },
1775
1790
  {
1776
1791
  value: "uppercase",
1777
- label: (0, import_i18n34.__)("Uppercase", "elementor"),
1778
- renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(import_icons18.LetterCaseUpperIcon, { fontSize: size })
1792
+ label: (0, import_i18n36.__)("Uppercase", "elementor"),
1793
+ renderContent: ({ size }) => /* @__PURE__ */ React55.createElement(import_icons18.LetterCaseUpperIcon, { fontSize: size })
1779
1794
  },
1780
1795
  {
1781
1796
  value: "lowercase",
1782
- label: (0, import_i18n34.__)("Lowercase", "elementor"),
1783
- renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(import_icons18.LetterCaseLowerIcon, { fontSize: size })
1797
+ label: (0, import_i18n36.__)("Lowercase", "elementor"),
1798
+ renderContent: ({ size }) => /* @__PURE__ */ React55.createElement(import_icons18.LetterCaseLowerIcon, { fontSize: size })
1784
1799
  }
1785
1800
  ];
1786
- var TransformField = () => /* @__PURE__ */ React53.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React53.createElement(import_ui45.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React53.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(import_editor_controls39.ControlLabel, null, (0, import_i18n34.__)("Transform", "elementor"))), /* @__PURE__ */ React53.createElement(import_ui45.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React53.createElement(import_editor_controls39.ToggleControl, { options: options9 }))));
1801
+ var TransformField = () => /* @__PURE__ */ React55.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React55.createElement(import_ui47.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(import_editor_controls40.ControlLabel, null, (0, import_i18n36.__)("Transform", "elementor"))), /* @__PURE__ */ React55.createElement(import_ui47.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React55.createElement(import_editor_controls40.ToggleControl, { options: options9 }))));
1787
1802
 
1788
1803
  // src/components/style-sections/typography-section/word-spacing-field.tsx
1789
- var React54 = __toESM(require("react"));
1790
- var import_editor_controls40 = require("@elementor/editor-controls");
1791
- var import_ui46 = require("@elementor/ui");
1792
- var import_i18n35 = require("@wordpress/i18n");
1804
+ var React56 = __toESM(require("react"));
1805
+ var import_editor_controls41 = require("@elementor/editor-controls");
1806
+ var import_ui48 = require("@elementor/ui");
1807
+ var import_i18n37 = require("@wordpress/i18n");
1793
1808
  var WordSpacingField = () => {
1794
- return /* @__PURE__ */ React54.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React54.createElement(import_ui46.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React54.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(import_editor_controls40.ControlLabel, null, (0, import_i18n35.__)("Word Spacing", "elementor"))), /* @__PURE__ */ React54.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(import_editor_controls40.SizeControl, null))));
1809
+ return /* @__PURE__ */ React56.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React56.createElement(import_ui48.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React56.createElement(import_ui48.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(import_editor_controls41.ControlLabel, null, (0, import_i18n37.__)("Word Spacing", "elementor"))), /* @__PURE__ */ React56.createElement(import_ui48.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(import_editor_controls41.SizeControl, null))));
1795
1810
  };
1796
1811
 
1797
1812
  // src/components/style-sections/typography-section/typography-section.tsx
1798
1813
  var TypographySection = () => {
1799
- return /* @__PURE__ */ React55.createElement(import_ui47.Stack, { gap: 1.5 }, /* @__PURE__ */ React55.createElement(FontFamilyField, null), /* @__PURE__ */ React55.createElement(FontWeightField, null), /* @__PURE__ */ React55.createElement(FontSizeField, null), /* @__PURE__ */ React55.createElement(import_ui47.Divider, null), /* @__PURE__ */ React55.createElement(TextAlignmentField, null), /* @__PURE__ */ React55.createElement(TextColorField, null), /* @__PURE__ */ React55.createElement(CollapsibleContent, null, /* @__PURE__ */ React55.createElement(import_ui47.Stack, { gap: 1.5, sx: { pt: 1.5 } }, /* @__PURE__ */ React55.createElement(LineHeightField, null), /* @__PURE__ */ React55.createElement(LetterSpacingField, null), /* @__PURE__ */ React55.createElement(WordSpacingField, null), /* @__PURE__ */ React55.createElement(import_ui47.Divider, null), /* @__PURE__ */ React55.createElement(TextStyleField, null), /* @__PURE__ */ React55.createElement(TransformField, null), /* @__PURE__ */ React55.createElement(TextDirectionField, null), /* @__PURE__ */ React55.createElement(TextStrokeField, null))));
1814
+ return /* @__PURE__ */ React57.createElement(import_ui49.Stack, { gap: 1.5 }, /* @__PURE__ */ React57.createElement(FontFamilyField, null), /* @__PURE__ */ React57.createElement(FontWeightField, null), /* @__PURE__ */ React57.createElement(FontSizeField, null), /* @__PURE__ */ React57.createElement(import_ui49.Divider, null), /* @__PURE__ */ React57.createElement(TextAlignmentField, null), /* @__PURE__ */ React57.createElement(TextColorField, null), /* @__PURE__ */ React57.createElement(CollapsibleContent, null, /* @__PURE__ */ React57.createElement(import_ui49.Stack, { gap: 1.5, sx: { pt: 1.5 } }, /* @__PURE__ */ React57.createElement(LineHeightField, null), /* @__PURE__ */ React57.createElement(LetterSpacingField, null), /* @__PURE__ */ React57.createElement(WordSpacingField, null), /* @__PURE__ */ React57.createElement(import_ui49.Divider, null), /* @__PURE__ */ React57.createElement(TextStyleField, null), /* @__PURE__ */ React57.createElement(TransformField, null), /* @__PURE__ */ React57.createElement(TextDirectionField, null), /* @__PURE__ */ React57.createElement(TextStrokeField, null))));
1800
1815
  };
1801
1816
 
1802
1817
  // src/components/style-tab.tsx
@@ -1805,25 +1820,19 @@ var StyleTab = () => {
1805
1820
  const currentClassesProp = useCurrentClassesProp();
1806
1821
  const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
1807
1822
  const breakpoint = (0, import_editor_responsive.useActiveBreakpoint)();
1808
- return /* @__PURE__ */ React56.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React56.createElement(StyleProvider, { meta: { breakpoint, state: null }, id: activeStyleDefId, setId: setActiveStyleDefId }, /* @__PURE__ */ React56.createElement(CssClassSelector, null), /* @__PURE__ */ React56.createElement(import_ui48.Divider, null), /* @__PURE__ */ React56.createElement(SectionsList, null, /* @__PURE__ */ React56.createElement(Section, { title: (0, import_i18n36.__)("Layout", "elementor") }, /* @__PURE__ */ React56.createElement(LayoutSection, null)), /* @__PURE__ */ React56.createElement(Section, { title: (0, import_i18n36.__)("Spacing", "elementor") }, /* @__PURE__ */ React56.createElement(SpacingSection, null)), /* @__PURE__ */ React56.createElement(Section, { title: (0, import_i18n36.__)("Size", "elementor") }, /* @__PURE__ */ React56.createElement(SizeSection, null)), /* @__PURE__ */ React56.createElement(Section, { title: (0, import_i18n36.__)("Position", "elementor") }, /* @__PURE__ */ React56.createElement(PositionSection, null)), /* @__PURE__ */ React56.createElement(Section, { title: (0, import_i18n36.__)("Typography", "elementor") }, /* @__PURE__ */ React56.createElement(TypographySection, null)), /* @__PURE__ */ React56.createElement(Section, { title: (0, import_i18n36.__)("Background", "elementor") }, /* @__PURE__ */ React56.createElement(BackgroundSection, null)), /* @__PURE__ */ React56.createElement(Section, { title: (0, import_i18n36.__)("Border", "elementor") }, /* @__PURE__ */ React56.createElement(BorderSection, null)), /* @__PURE__ */ React56.createElement(Section, { title: (0, import_i18n36.__)("Effects", "elementor") }, /* @__PURE__ */ React56.createElement(EffectsSection, null)))));
1823
+ return /* @__PURE__ */ React58.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React58.createElement(StyleProvider, { meta: { breakpoint, state: null }, id: activeStyleDefId, setId: setActiveStyleDefId }, /* @__PURE__ */ React58.createElement(CssClassSelector, null), /* @__PURE__ */ React58.createElement(import_ui50.Divider, null), /* @__PURE__ */ React58.createElement(SectionsList, null, /* @__PURE__ */ React58.createElement(Section, { title: (0, import_i18n38.__)("Layout", "elementor") }, /* @__PURE__ */ React58.createElement(LayoutSection, null)), /* @__PURE__ */ React58.createElement(Section, { title: (0, import_i18n38.__)("Spacing", "elementor") }, /* @__PURE__ */ React58.createElement(SpacingSection, null)), /* @__PURE__ */ React58.createElement(Section, { title: (0, import_i18n38.__)("Size", "elementor") }, /* @__PURE__ */ React58.createElement(SizeSection, null)), /* @__PURE__ */ React58.createElement(Section, { title: (0, import_i18n38.__)("Position", "elementor") }, /* @__PURE__ */ React58.createElement(PositionSection, null)), /* @__PURE__ */ React58.createElement(Section, { title: (0, import_i18n38.__)("Typography", "elementor") }, /* @__PURE__ */ React58.createElement(TypographySection, null)), /* @__PURE__ */ React58.createElement(Section, { title: (0, import_i18n38.__)("Background", "elementor") }, /* @__PURE__ */ React58.createElement(BackgroundSection, null)), /* @__PURE__ */ React58.createElement(Section, { title: (0, import_i18n38.__)("Border", "elementor") }, /* @__PURE__ */ React58.createElement(BorderSection, null)), /* @__PURE__ */ React58.createElement(Section, { title: (0, import_i18n38.__)("Effects", "elementor") }, /* @__PURE__ */ React58.createElement(EffectsSection, null)))));
1809
1824
  };
1810
1825
  function useActiveStyleDefId(currentClassesProp) {
1811
- const [activeStyledDefId, setActiveStyledDefId] = (0, import_react13.useState)(null);
1826
+ const [activeStyledDefId, setActiveStyledDefId] = (0, import_react11.useState)(null);
1812
1827
  const fallback = useFirstElementStyleDef(currentClassesProp);
1813
- const newId = useGeneratedId();
1814
- return [activeStyledDefId || fallback?.id || newId, setActiveStyledDefId];
1828
+ return [activeStyledDefId || fallback?.id || null, setActiveStyledDefId];
1815
1829
  }
1816
1830
  function useFirstElementStyleDef(currentClassesProp) {
1817
1831
  const { element } = useElement();
1818
- const classesIds = (0, import_editor_elements5.useElementSetting)(element.id, currentClassesProp)?.value || [];
1819
- const stylesDefs = (0, import_editor_elements5.useElementStyles)(element.id);
1832
+ const classesIds = (0, import_editor_elements4.useElementSetting)(element.id, currentClassesProp)?.value || [];
1833
+ const stylesDefs = (0, import_editor_elements4.useElementStyles)(element.id);
1820
1834
  return Object.values(stylesDefs).find((styleDef) => classesIds.includes(styleDef.id));
1821
1835
  }
1822
- function useGeneratedId() {
1823
- const { element } = useElement();
1824
- const stylesDefs = (0, import_editor_elements5.useElementStyles)(element.id);
1825
- return (0, import_editor_styles.generateId)(`e-${element.id}-`, Object.keys(stylesDefs));
1826
- }
1827
1836
  function useCurrentClassesProp() {
1828
1837
  const { elementType } = useElement();
1829
1838
  const prop = Object.entries(elementType.propsSchema).find(
@@ -1838,25 +1847,25 @@ function useCurrentClassesProp() {
1838
1847
  // src/components/editing-panel-tabs.tsx
1839
1848
  var EditingPanelTabs = () => {
1840
1849
  const { element } = useElement();
1841
- const { getTabProps, getTabPanelProps, getTabsProps } = (0, import_ui49.useTabs)("settings");
1850
+ const { getTabProps, getTabPanelProps, getTabsProps } = (0, import_ui51.useTabs)("settings");
1842
1851
  return (
1843
1852
  // When switching between elements, the local states should be reset. We are using key to rerender the tabs.
1844
1853
  // Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
1845
- /* @__PURE__ */ React57.createElement(import_react14.Fragment, { key: element.id }, /* @__PURE__ */ React57.createElement(import_ui49.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React57.createElement(import_ui49.Tabs, { variant: "fullWidth", indicatorColor: "secondary", textColor: "inherit", ...getTabsProps() }, /* @__PURE__ */ React57.createElement(import_ui49.Tab, { label: (0, import_i18n37.__)("General", "elementor"), ...getTabProps("settings") }), /* @__PURE__ */ React57.createElement(import_ui49.Tab, { label: (0, import_i18n37.__)("Style", "elementor"), ...getTabProps("style") })), /* @__PURE__ */ React57.createElement(import_ui49.Divider, null), /* @__PURE__ */ React57.createElement(import_ui49.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React57.createElement(SettingsTab, null)), /* @__PURE__ */ React57.createElement(import_ui49.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React57.createElement(StyleTab, null))))
1854
+ /* @__PURE__ */ React59.createElement(import_react12.Fragment, { key: element.id }, /* @__PURE__ */ React59.createElement(import_ui51.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React59.createElement(import_ui51.Tabs, { variant: "fullWidth", indicatorColor: "secondary", textColor: "inherit", ...getTabsProps() }, /* @__PURE__ */ React59.createElement(import_ui51.Tab, { label: (0, import_i18n39.__)("General", "elementor"), ...getTabProps("settings") }), /* @__PURE__ */ React59.createElement(import_ui51.Tab, { label: (0, import_i18n39.__)("Style", "elementor"), ...getTabProps("style") })), /* @__PURE__ */ React59.createElement(import_ui51.Divider, null), /* @__PURE__ */ React59.createElement(import_ui51.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React59.createElement(SettingsTab, null)), /* @__PURE__ */ React59.createElement(import_ui51.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React59.createElement(StyleTab, null))))
1846
1855
  );
1847
1856
  };
1848
1857
 
1849
1858
  // src/components/editing-panel.tsx
1850
1859
  var { useMenuItems } = controlActionsMenu;
1851
1860
  var EditingPanel = () => {
1852
- const { element, elementType } = (0, import_editor_elements6.useSelectedElement)();
1861
+ const { element, elementType } = (0, import_editor_elements5.useSelectedElement)();
1853
1862
  const controlReplacement = getControlReplacement();
1854
1863
  const menuItems = useMenuItems().default;
1855
1864
  if (!element || !elementType) {
1856
1865
  return null;
1857
1866
  }
1858
- const panelTitle = (0, import_i18n38.__)("Edit %s", "elementor").replace("%s", elementType.title);
1859
- return /* @__PURE__ */ React58.createElement(import_ui50.ErrorBoundary, { fallback: /* @__PURE__ */ React58.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React58.createElement(import_editor_panels.Panel, null, /* @__PURE__ */ React58.createElement(import_editor_panels.PanelHeader, null, /* @__PURE__ */ React58.createElement(import_editor_panels.PanelHeaderTitle, null, panelTitle)), /* @__PURE__ */ React58.createElement(import_editor_panels.PanelBody, null, /* @__PURE__ */ React58.createElement(import_editor_controls41.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React58.createElement(import_editor_controls41.ControlReplacementProvider, { ...controlReplacement }, /* @__PURE__ */ React58.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React58.createElement(EditingPanelTabs, null)))))));
1867
+ const panelTitle = (0, import_i18n40.__)("Edit %s", "elementor").replace("%s", elementType.title);
1868
+ return /* @__PURE__ */ React60.createElement(import_ui52.ErrorBoundary, { fallback: /* @__PURE__ */ React60.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React60.createElement(import_editor_panels.Panel, null, /* @__PURE__ */ React60.createElement(import_editor_panels.PanelHeader, null, /* @__PURE__ */ React60.createElement(import_editor_panels.PanelHeaderTitle, null, panelTitle)), /* @__PURE__ */ React60.createElement(import_editor_panels.PanelBody, null, /* @__PURE__ */ React60.createElement(import_editor_controls42.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React60.createElement(import_editor_controls42.ControlReplacementProvider, { ...controlReplacement }, /* @__PURE__ */ React60.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React60.createElement(EditingPanelTabs, null)))))));
1860
1869
  };
1861
1870
 
1862
1871
  // src/panel.ts
@@ -1866,10 +1875,10 @@ var { panel, usePanelActions, usePanelStatus } = (0, import_editor_panels2.__cre
1866
1875
  });
1867
1876
 
1868
1877
  // src/sync/is-atomic-widget-selected.ts
1869
- var import_editor_elements7 = require("@elementor/editor-elements");
1878
+ var import_editor_elements6 = require("@elementor/editor-elements");
1870
1879
  var isAtomicWidgetSelected = () => {
1871
- const selectedElements = (0, import_editor_elements7.getSelectedElements)();
1872
- const widgetCache = (0, import_editor_elements7.getWidgetsCache)();
1880
+ const selectedElements = (0, import_editor_elements6.getSelectedElements)();
1881
+ const widgetCache = (0, import_editor_elements6.getWidgetsCache)();
1873
1882
  if (selectedElements.length !== 1) {
1874
1883
  return false;
1875
1884
  }
@@ -1879,11 +1888,11 @@ var isAtomicWidgetSelected = () => {
1879
1888
  // src/hooks/use-close-editor-panel.ts
1880
1889
  var useCloseEditorPanel = () => {
1881
1890
  const { close } = usePanelActions();
1882
- return (0, import_react15.useEffect)(() => {
1891
+ return (0, import_react13.useEffect)(() => {
1883
1892
  return (0, import_editor_v1_adapters.__privateListenTo)((0, import_editor_v1_adapters.commandStartEvent)("document/elements/delete"), (e) => {
1884
- const selectedElement = (0, import_editor_elements8.getSelectedElements)()[0];
1893
+ const selectedElement = (0, import_editor_elements7.getSelectedElements)()[0];
1885
1894
  const { container: deletedContainer } = e?.args;
1886
- const isSelectedElementInDeletedContainer = deletedContainer && selectedElement && (0, import_editor_elements8.isElementInContainer)(selectedElement, deletedContainer);
1895
+ const isSelectedElementInDeletedContainer = deletedContainer && selectedElement && (0, import_editor_elements7.isElementInContainer)(selectedElement, deletedContainer);
1887
1896
  if (isSelectedElementInDeletedContainer && isAtomicWidgetSelected()) {
1888
1897
  close();
1889
1898
  }
@@ -1892,11 +1901,11 @@ var useCloseEditorPanel = () => {
1892
1901
  };
1893
1902
 
1894
1903
  // src/hooks/use-open-editor-panel.ts
1895
- var import_react16 = require("react");
1904
+ var import_react14 = require("react");
1896
1905
  var import_editor_v1_adapters2 = require("@elementor/editor-v1-adapters");
1897
1906
  var useOpenEditorPanel = () => {
1898
1907
  const { open } = usePanelActions();
1899
- (0, import_react16.useEffect)(() => {
1908
+ (0, import_react14.useEffect)(() => {
1900
1909
  return (0, import_editor_v1_adapters2.__privateListenTo)((0, import_editor_v1_adapters2.commandStartEvent)("panel/editor/open"), () => {
1901
1910
  if (isAtomicWidgetSelected()) {
1902
1911
  open();
@@ -1913,23 +1922,30 @@ var EditingPanelHooks = () => {
1913
1922
  };
1914
1923
 
1915
1924
  // src/dynamics/components/dynamic-selection-control.tsx
1916
- var React61 = __toESM(require("react"));
1917
- var import_react20 = require("react");
1918
- var import_editor_controls44 = require("@elementor/editor-controls");
1925
+ var React63 = __toESM(require("react"));
1926
+ var import_react18 = require("react");
1927
+ var import_editor_controls45 = require("@elementor/editor-controls");
1919
1928
  var import_icons20 = require("@elementor/icons");
1920
- var import_ui52 = require("@elementor/ui");
1921
- var import_i18n40 = require("@wordpress/i18n");
1929
+ var import_ui54 = require("@elementor/ui");
1930
+ var import_i18n42 = require("@wordpress/i18n");
1931
+
1932
+ // src/hooks/use-persist-dynamic-value.ts
1933
+ var usePersistDynamicValue = (propKey) => {
1934
+ const { element } = useElement();
1935
+ const prefixedKey = `dynamic/non-dynamic-values-history/${element.id}/${propKey}`;
1936
+ return useSessionStorage(prefixedKey);
1937
+ };
1922
1938
 
1923
1939
  // src/dynamics/dynamic-control.tsx
1924
- var React59 = __toESM(require("react"));
1925
- var import_editor_controls42 = require("@elementor/editor-controls");
1940
+ var React61 = __toESM(require("react"));
1941
+ var import_editor_controls43 = require("@elementor/editor-controls");
1926
1942
  var import_editor_props5 = require("@elementor/editor-props");
1927
1943
 
1928
1944
  // src/dynamics/hooks/use-dynamic-tag.ts
1929
- var import_react18 = require("react");
1945
+ var import_react16 = require("react");
1930
1946
 
1931
1947
  // src/dynamics/hooks/use-prop-dynamic-tags.ts
1932
- var import_react17 = require("react");
1948
+ var import_react15 = require("react");
1933
1949
 
1934
1950
  // src/dynamics/sync/get-elementor-config.ts
1935
1951
  var getElementorConfig2 = () => {
@@ -1981,7 +1997,7 @@ var usePropDynamicTags = (propName) => {
1981
1997
  const propDynamicType = getDynamicPropType(propType);
1982
1998
  categories = propDynamicType?.settings.categories || [];
1983
1999
  }
1984
- return (0, import_react17.useMemo)(() => getDynamicTagsByCategories(categories), [categories.join()]);
2000
+ return (0, import_react15.useMemo)(() => getDynamicTagsByCategories(categories), [categories.join()]);
1985
2001
  };
1986
2002
  var getDynamicTagsByCategories = (categories) => {
1987
2003
  const dynamicTags = getAtomicDynamicTags();
@@ -1997,12 +2013,12 @@ var getDynamicTagsByCategories = (categories) => {
1997
2013
  // src/dynamics/hooks/use-dynamic-tag.ts
1998
2014
  var useDynamicTag = (propName, tagName) => {
1999
2015
  const dynamicTags = usePropDynamicTags(propName);
2000
- return (0, import_react18.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
2016
+ return (0, import_react16.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
2001
2017
  };
2002
2018
 
2003
2019
  // src/dynamics/dynamic-control.tsx
2004
2020
  var DynamicControl = ({ bind, children }) => {
2005
- const { value, setValue, bind: propName } = (0, import_editor_controls42.useBoundProp)(dynamicPropTypeUtil);
2021
+ const { value, setValue, bind: propName } = (0, import_editor_controls43.useBoundProp)(dynamicPropTypeUtil);
2006
2022
  const { name = "", settings } = value ?? {};
2007
2023
  const dynamicTag = useDynamicTag(propName, name);
2008
2024
  if (!dynamicTag) {
@@ -2020,51 +2036,51 @@ var DynamicControl = ({ bind, children }) => {
2020
2036
  }
2021
2037
  });
2022
2038
  };
2023
- return /* @__PURE__ */ React59.createElement(import_editor_controls42.BoundPropProvider, { setValue: setDynamicValue, value: dynamicValue, bind }, children);
2039
+ return /* @__PURE__ */ React61.createElement(import_editor_controls43.BoundPropProvider, { setValue: setDynamicValue, value: dynamicValue, bind }, children);
2024
2040
  };
2025
2041
 
2026
2042
  // src/dynamics/components/dynamic-selection.tsx
2027
- var React60 = __toESM(require("react"));
2028
- var import_react19 = require("react");
2029
- var import_editor_controls43 = require("@elementor/editor-controls");
2043
+ var React62 = __toESM(require("react"));
2044
+ var import_react17 = require("react");
2045
+ var import_editor_controls44 = require("@elementor/editor-controls");
2030
2046
  var import_icons19 = require("@elementor/icons");
2031
- var import_ui51 = require("@elementor/ui");
2032
- var import_i18n39 = require("@wordpress/i18n");
2047
+ var import_ui53 = require("@elementor/ui");
2048
+ var import_i18n41 = require("@wordpress/i18n");
2033
2049
  var SIZE3 = "tiny";
2034
2050
  var DynamicSelection = ({ onSelect }) => {
2035
- const [searchValue, setSearchValue] = (0, import_react19.useState)("");
2051
+ const [searchValue, setSearchValue] = (0, import_react17.useState)("");
2036
2052
  const { groups: dynamicGroups } = getAtomicDynamicTags() || {};
2037
- const { value: anyValue } = (0, import_editor_controls43.useBoundProp)();
2038
- const { bind, value: dynamicvalue, setValue } = (0, import_editor_controls43.useBoundProp)(dynamicPropTypeUtil);
2039
- const { setPropValue: updatePropValueHistory } = usePropValueHistory();
2040
- const isCurrentValueDynamic = !!dynamicvalue;
2053
+ const { value: anyValue } = (0, import_editor_controls44.useBoundProp)();
2054
+ const { bind, value: dynamicValue, setValue } = (0, import_editor_controls44.useBoundProp)(dynamicPropTypeUtil);
2055
+ const [, updatePropValueHistory] = usePersistDynamicValue(bind);
2056
+ const isCurrentValueDynamic = !!dynamicValue;
2041
2057
  const options10 = useFilteredOptions(bind, searchValue);
2042
2058
  const handleSearch = (event) => {
2043
2059
  setSearchValue(event.target.value);
2044
2060
  };
2045
2061
  const handleSetDynamicTag = (value) => {
2046
2062
  if (!isCurrentValueDynamic) {
2047
- updatePropValueHistory(bind, anyValue);
2063
+ updatePropValueHistory(anyValue);
2048
2064
  }
2049
2065
  setValue({ name: value, settings: {} });
2050
2066
  onSelect?.();
2051
2067
  };
2052
- return /* @__PURE__ */ React60.createElement(import_ui51.Stack, null, /* @__PURE__ */ React60.createElement(import_ui51.Box, { px: 1.5, pb: 1 }, /* @__PURE__ */ React60.createElement(
2053
- import_ui51.TextField,
2068
+ return /* @__PURE__ */ React62.createElement(import_ui53.Stack, null, /* @__PURE__ */ React62.createElement(import_ui53.Box, { px: 1.5, pb: 1 }, /* @__PURE__ */ React62.createElement(
2069
+ import_ui53.TextField,
2054
2070
  {
2055
2071
  fullWidth: true,
2056
2072
  size: SIZE3,
2057
2073
  value: searchValue,
2058
2074
  onChange: handleSearch,
2059
- placeholder: (0, import_i18n39.__)("Search dynamic tag", "elementor"),
2075
+ placeholder: (0, import_i18n41.__)("Search dynamic tag", "elementor"),
2060
2076
  InputProps: {
2061
- startAdornment: /* @__PURE__ */ React60.createElement(import_ui51.InputAdornment, { position: "start" }, /* @__PURE__ */ React60.createElement(import_icons19.SearchIcon, { fontSize: SIZE3 }))
2077
+ startAdornment: /* @__PURE__ */ React62.createElement(import_ui53.InputAdornment, { position: "start" }, /* @__PURE__ */ React62.createElement(import_icons19.SearchIcon, { fontSize: SIZE3 }))
2062
2078
  }
2063
2079
  }
2064
- )), /* @__PURE__ */ React60.createElement(import_ui51.Divider, null), /* @__PURE__ */ React60.createElement(import_ui51.Box, { sx: { overflowY: "auto", height: 260, width: 220 } }, options10.length > 0 ? /* @__PURE__ */ React60.createElement(import_ui51.MenuList, { role: "listbox", tabIndex: 0 }, options10.map(([category, items3], index) => /* @__PURE__ */ React60.createElement(import_react19.Fragment, { key: index }, /* @__PURE__ */ React60.createElement(import_ui51.ListSubheader, { sx: { typography: "caption", color: "text.tertiary" } }, dynamicGroups?.[category]?.title || category), items3.map(({ value, label: tagLabel }) => {
2065
- const isSelected = isCurrentValueDynamic && value === dynamicvalue?.name;
2066
- return /* @__PURE__ */ React60.createElement(
2067
- import_ui51.MenuItem,
2080
+ )), /* @__PURE__ */ React62.createElement(import_ui53.Divider, null), /* @__PURE__ */ React62.createElement(import_ui53.Box, { sx: { overflowY: "auto", height: 260, width: 220 } }, options10.length > 0 ? /* @__PURE__ */ React62.createElement(import_ui53.MenuList, { role: "listbox", tabIndex: 0 }, options10.map(([category, items3], index) => /* @__PURE__ */ React62.createElement(import_react17.Fragment, { key: index }, /* @__PURE__ */ React62.createElement(import_ui53.ListSubheader, { sx: { typography: "caption", color: "text.tertiary" } }, dynamicGroups?.[category]?.title || category), items3.map(({ value, label: tagLabel }) => {
2081
+ const isSelected = isCurrentValueDynamic && value === dynamicValue?.name;
2082
+ return /* @__PURE__ */ React62.createElement(
2083
+ import_ui53.MenuItem,
2068
2084
  {
2069
2085
  key: value,
2070
2086
  selected: isSelected,
@@ -2074,16 +2090,16 @@ var DynamicSelection = ({ onSelect }) => {
2074
2090
  },
2075
2091
  tagLabel
2076
2092
  );
2077
- })))) : /* @__PURE__ */ React60.createElement(import_ui51.Stack, { alignItems: "center", p: 2.5, gap: 1.5 }, /* @__PURE__ */ React60.createElement(import_icons19.PhotoIcon, { fontSize: "large" }), /* @__PURE__ */ React60.createElement(import_ui51.Typography, { align: "center", variant: "caption", color: "text.secondary" }, (0, import_i18n39.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React60.createElement("br", null), "\u201C", searchValue, "\u201D."), /* @__PURE__ */ React60.createElement(import_ui51.Typography, { align: "center", variant: "caption", color: "text.secondary" }, /* @__PURE__ */ React60.createElement(
2078
- import_ui51.Link,
2093
+ })))) : /* @__PURE__ */ React62.createElement(import_ui53.Stack, { alignItems: "center", p: 2.5, gap: 1.5 }, /* @__PURE__ */ React62.createElement(import_icons19.PhotoIcon, { fontSize: "large" }), /* @__PURE__ */ React62.createElement(import_ui53.Typography, { align: "center", variant: "caption", color: "text.secondary" }, (0, import_i18n41.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React62.createElement("br", null), "\u201C", searchValue, "\u201D."), /* @__PURE__ */ React62.createElement(import_ui53.Typography, { align: "center", variant: "caption", color: "text.secondary" }, /* @__PURE__ */ React62.createElement(
2094
+ import_ui53.Link,
2079
2095
  {
2080
2096
  color: "secondary",
2081
2097
  variant: "caption",
2082
2098
  component: "button",
2083
2099
  onClick: () => setSearchValue("")
2084
2100
  },
2085
- (0, import_i18n39.__)("Clear the filters", "elementor")
2086
- ), "\xA0", (0, import_i18n39.__)("and try again.", "elementor")))));
2101
+ (0, import_i18n41.__)("Clear the filters", "elementor")
2102
+ ), "\xA0", (0, import_i18n41.__)("and try again.", "elementor")))));
2087
2103
  };
2088
2104
  var useFilteredOptions = (bind, searchValue) => {
2089
2105
  const dynamicTags = usePropDynamicTags(bind);
@@ -2104,84 +2120,83 @@ var useFilteredOptions = (bind, searchValue) => {
2104
2120
  // src/dynamics/components/dynamic-selection-control.tsx
2105
2121
  var SIZE4 = "tiny";
2106
2122
  var DynamicSelectionControl = () => {
2107
- const { setValue: setAnyValue } = (0, import_editor_controls44.useBoundProp)();
2108
- const { bind, value } = (0, import_editor_controls44.useBoundProp)(dynamicPropTypeUtil);
2109
- const { getPropValue: getPropValueFromHistory } = usePropValueHistory();
2123
+ const { setValue: setAnyValue } = (0, import_editor_controls45.useBoundProp)();
2124
+ const { bind, value } = (0, import_editor_controls45.useBoundProp)(dynamicPropTypeUtil);
2125
+ const [propValueFromHistory] = usePersistDynamicValue(bind);
2110
2126
  const { name: tagName = "" } = value;
2111
- const selectionPopoverId = (0, import_react20.useId)();
2112
- const selectionPopoverState = (0, import_ui52.usePopupState)({ variant: "popover", popupId: selectionPopoverId });
2127
+ const selectionPopoverId = (0, import_react18.useId)();
2128
+ const selectionPopoverState = (0, import_ui54.usePopupState)({ variant: "popover", popupId: selectionPopoverId });
2113
2129
  const dynamicTag = useDynamicTag(bind, tagName);
2114
2130
  const removeDynamicTag = () => {
2115
- const propValue = getPropValueFromHistory(bind);
2116
- setAnyValue(propValue ?? null);
2131
+ setAnyValue(propValueFromHistory ?? null);
2117
2132
  };
2118
2133
  if (!dynamicTag) {
2119
2134
  throw new Error(`Dynamic tag ${tagName} not found`);
2120
2135
  }
2121
- return /* @__PURE__ */ React61.createElement(import_ui52.Box, null, /* @__PURE__ */ React61.createElement(
2122
- import_ui52.UnstableTag,
2136
+ return /* @__PURE__ */ React63.createElement(import_ui54.Box, null, /* @__PURE__ */ React63.createElement(
2137
+ import_ui54.UnstableTag,
2123
2138
  {
2124
2139
  fullWidth: true,
2125
2140
  showActionsOnHover: true,
2126
2141
  label: dynamicTag.label,
2127
- startIcon: /* @__PURE__ */ React61.createElement(import_icons20.DatabaseIcon, { fontSize: SIZE4 }),
2128
- ...(0, import_ui52.bindTrigger)(selectionPopoverState),
2129
- actions: /* @__PURE__ */ React61.createElement(React61.Fragment, null, /* @__PURE__ */ React61.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React61.createElement(
2130
- import_ui52.IconButton,
2142
+ startIcon: /* @__PURE__ */ React63.createElement(import_icons20.DatabaseIcon, { fontSize: SIZE4 }),
2143
+ ...(0, import_ui54.bindTrigger)(selectionPopoverState),
2144
+ actions: /* @__PURE__ */ React63.createElement(React63.Fragment, null, /* @__PURE__ */ React63.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React63.createElement(
2145
+ import_ui54.IconButton,
2131
2146
  {
2132
2147
  size: SIZE4,
2133
2148
  onClick: removeDynamicTag,
2134
- "aria-label": (0, import_i18n40.__)("Remove dynamic value", "elementor")
2149
+ "aria-label": (0, import_i18n42.__)("Remove dynamic value", "elementor")
2135
2150
  },
2136
- /* @__PURE__ */ React61.createElement(import_icons20.XIcon, { fontSize: SIZE4 })
2151
+ /* @__PURE__ */ React63.createElement(import_icons20.XIcon, { fontSize: SIZE4 })
2137
2152
  ))
2138
2153
  }
2139
- ), /* @__PURE__ */ React61.createElement(
2140
- import_ui52.Popover,
2154
+ ), /* @__PURE__ */ React63.createElement(
2155
+ import_ui54.Popover,
2141
2156
  {
2142
2157
  disablePortal: true,
2143
2158
  disableScrollLock: true,
2144
2159
  anchorOrigin: { vertical: "bottom", horizontal: "left" },
2145
- ...(0, import_ui52.bindPopover)(selectionPopoverState)
2160
+ ...(0, import_ui54.bindPopover)(selectionPopoverState)
2146
2161
  },
2147
- /* @__PURE__ */ React61.createElement(import_ui52.Stack, null, /* @__PURE__ */ React61.createElement(import_ui52.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React61.createElement(import_icons20.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React61.createElement(import_ui52.Typography, { variant: "subtitle2" }, (0, import_i18n40.__)("Dynamic Tags", "elementor")), /* @__PURE__ */ React61.createElement(import_ui52.IconButton, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React61.createElement(import_icons20.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React61.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
2162
+ /* @__PURE__ */ React63.createElement(import_ui54.Stack, null, /* @__PURE__ */ React63.createElement(import_ui54.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React63.createElement(import_icons20.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React63.createElement(import_ui54.Typography, { variant: "subtitle2" }, (0, import_i18n42.__)("Dynamic Tags", "elementor")), /* @__PURE__ */ React63.createElement(import_ui54.IconButton, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React63.createElement(import_icons20.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React63.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
2148
2163
  ));
2149
2164
  };
2150
2165
  var DynamicSettingsPopover = ({ dynamicTag }) => {
2151
- const popupId = (0, import_react20.useId)();
2152
- const settingsPopupState = (0, import_ui52.usePopupState)({ variant: "popover", popupId });
2166
+ const popupId = (0, import_react18.useId)();
2167
+ const settingsPopupState = (0, import_ui54.usePopupState)({ variant: "popover", popupId });
2153
2168
  const hasDynamicSettings = !!dynamicTag.atomic_controls.length;
2154
2169
  if (!hasDynamicSettings) {
2155
2170
  return null;
2156
2171
  }
2157
- return /* @__PURE__ */ React61.createElement(React61.Fragment, null, /* @__PURE__ */ React61.createElement(
2158
- import_ui52.IconButton,
2172
+ return /* @__PURE__ */ React63.createElement(React63.Fragment, null, /* @__PURE__ */ React63.createElement(
2173
+ import_ui54.IconButton,
2159
2174
  {
2160
2175
  size: SIZE4,
2161
- ...(0, import_ui52.bindTrigger)(settingsPopupState),
2162
- "aria-label": (0, import_i18n40.__)("Settings", "elementor")
2176
+ ...(0, import_ui54.bindTrigger)(settingsPopupState),
2177
+ "aria-label": (0, import_i18n42.__)("Settings", "elementor")
2163
2178
  },
2164
- /* @__PURE__ */ React61.createElement(import_icons20.SettingsIcon, { fontSize: SIZE4 })
2165
- ), /* @__PURE__ */ React61.createElement(
2166
- import_ui52.Popover,
2179
+ /* @__PURE__ */ React63.createElement(import_icons20.SettingsIcon, { fontSize: SIZE4 })
2180
+ ), /* @__PURE__ */ React63.createElement(
2181
+ import_ui54.Popover,
2167
2182
  {
2168
2183
  disableScrollLock: true,
2169
2184
  anchorOrigin: { vertical: "bottom", horizontal: "center" },
2170
- ...(0, import_ui52.bindPopover)(settingsPopupState)
2185
+ ...(0, import_ui54.bindPopover)(settingsPopupState)
2171
2186
  },
2172
- /* @__PURE__ */ React61.createElement(import_ui52.Paper, { component: import_ui52.Stack, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React61.createElement(import_ui52.Stack, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React61.createElement(import_icons20.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React61.createElement(import_ui52.Typography, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React61.createElement(import_ui52.IconButton, { sx: { ml: "auto" }, size: SIZE4, onClick: settingsPopupState.close }, /* @__PURE__ */ React61.createElement(import_icons20.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React61.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
2187
+ /* @__PURE__ */ React63.createElement(import_ui54.Paper, { component: import_ui54.Stack, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React63.createElement(import_ui54.Stack, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React63.createElement(import_icons20.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React63.createElement(import_ui54.Typography, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React63.createElement(import_ui54.IconButton, { sx: { ml: "auto" }, size: SIZE4, onClick: settingsPopupState.close }, /* @__PURE__ */ React63.createElement(import_icons20.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React63.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
2173
2188
  ));
2174
2189
  };
2175
2190
  var DynamicSettings = ({ controls }) => {
2176
2191
  const tabs = controls.filter(({ type }) => type === "section");
2177
- const { getTabsProps, getTabProps, getTabPanelProps } = (0, import_ui52.useTabs)(0);
2192
+ const { getTabsProps, getTabProps, getTabPanelProps } = (0, import_ui54.useTabs)(0);
2178
2193
  if (!tabs.length) {
2179
2194
  return null;
2180
2195
  }
2181
- return /* @__PURE__ */ React61.createElement(React61.Fragment, null, /* @__PURE__ */ React61.createElement(import_ui52.Tabs, { indicatorColor: "secondary", textColor: "secondary", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React61.createElement(import_ui52.Tab, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React61.createElement(import_ui52.Divider, null), tabs.map(({ value }, index) => {
2182
- return /* @__PURE__ */ React61.createElement(import_ui52.TabPanel, { key: index, sx: { flexGrow: 1 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React61.createElement(import_ui52.Stack, { gap: 1, px: 2 }, value.items.map((item) => {
2196
+ return /* @__PURE__ */ React63.createElement(React63.Fragment, null, /* @__PURE__ */ React63.createElement(import_ui54.Tabs, { indicatorColor: "secondary", textColor: "secondary", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React63.createElement(import_ui54.Tab, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React63.createElement(import_ui54.Divider, null), tabs.map(({ value }, index) => {
2197
+ return /* @__PURE__ */ React63.createElement(import_ui54.TabPanel, { key: index, sx: { flexGrow: 1 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React63.createElement(import_ui54.Stack, { gap: 1, px: 2 }, value.items.map((item) => {
2183
2198
  if (item.type === "control") {
2184
- return /* @__PURE__ */ React61.createElement(Control3, { key: item.value.bind, control: item.value });
2199
+ return /* @__PURE__ */ React63.createElement(Control3, { key: item.value.bind, control: item.value });
2185
2200
  }
2186
2201
  return null;
2187
2202
  })));
@@ -2191,24 +2206,24 @@ var Control3 = ({ control }) => {
2191
2206
  if (!getControlByType(control.type)) {
2192
2207
  return null;
2193
2208
  }
2194
- return /* @__PURE__ */ React61.createElement(DynamicControl, { bind: control.bind }, control.label ? /* @__PURE__ */ React61.createElement(import_editor_controls44.ControlLabel, null, control.label) : null, /* @__PURE__ */ React61.createElement(Control, { type: control.type, props: control.props }));
2209
+ return /* @__PURE__ */ React63.createElement(DynamicControl, { bind: control.bind }, control.label ? /* @__PURE__ */ React63.createElement(import_editor_controls45.ControlLabel, null, control.label) : null, /* @__PURE__ */ React63.createElement(Control, { type: control.type, props: control.props }));
2195
2210
  };
2196
2211
 
2197
2212
  // src/dynamics/hooks/use-prop-dynamic-action.tsx
2198
- var React62 = __toESM(require("react"));
2199
- var import_editor_controls45 = require("@elementor/editor-controls");
2213
+ var React64 = __toESM(require("react"));
2214
+ var import_editor_controls46 = require("@elementor/editor-controls");
2200
2215
  var import_icons21 = require("@elementor/icons");
2201
- var import_i18n41 = require("@wordpress/i18n");
2216
+ var import_i18n43 = require("@wordpress/i18n");
2202
2217
  var usePropDynamicAction = () => {
2203
- const { bind } = (0, import_editor_controls45.useBoundProp)();
2218
+ const { bind } = (0, import_editor_controls46.useBoundProp)();
2204
2219
  const { elementType } = useElement();
2205
2220
  const propType = elementType.propsSchema[bind];
2206
2221
  const visible = !!propType && supportsDynamic(propType);
2207
2222
  return {
2208
2223
  visible,
2209
2224
  icon: import_icons21.DatabaseIcon,
2210
- title: (0, import_i18n41.__)("Dynamic Tags", "elementor"),
2211
- popoverContent: ({ closePopover }) => /* @__PURE__ */ React62.createElement(DynamicSelection, { onSelect: closePopover })
2225
+ title: (0, import_i18n43.__)("Dynamic Tags", "elementor"),
2226
+ popoverContent: ({ closePopover }) => /* @__PURE__ */ React64.createElement(DynamicSelection, { onSelect: closePopover })
2212
2227
  };
2213
2228
  };
2214
2229