@elementor/editor-editing-panel 1.38.0 → 1.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/index.js +1091 -771
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.mjs +1076 -751
  5. package/dist/index.mjs.map +1 -1
  6. package/package.json +13 -12
  7. package/src/components/creatable-autocomplete/autocomplete-option-internal-properties.ts +3 -6
  8. package/src/components/creatable-autocomplete/creatable-autocomplete.tsx +21 -2
  9. package/src/components/creatable-autocomplete/types.ts +13 -4
  10. package/src/components/creatable-autocomplete/use-autocomplete-change.ts +59 -46
  11. package/src/components/creatable-autocomplete/use-create-option.ts +4 -4
  12. package/src/components/css-classes/css-class-context.tsx +30 -0
  13. package/src/components/css-classes/css-class-item.tsx +8 -19
  14. package/src/components/css-classes/css-class-menu.tsx +78 -78
  15. package/src/components/css-classes/css-class-selector.tsx +46 -32
  16. package/src/components/css-classes/use-apply-and-unapply-class.ts +178 -0
  17. package/src/components/editing-panel-tabs.tsx +7 -1
  18. package/src/components/settings-tab.tsx +14 -1
  19. package/src/components/style-indicator.tsx +1 -1
  20. package/src/components/style-sections/layout-section/display-field.tsx +2 -2
  21. package/src/components/style-sections/size-section/size-section.tsx +8 -1
  22. package/src/components/style-sections/typography-section/typography-section.tsx +1 -1
  23. package/src/components/style-tab.tsx +82 -24
  24. package/src/contexts/styles-inheritance-context.tsx +25 -20
  25. package/src/controls-registry/controls-registry.tsx +2 -0
  26. package/src/hooks/use-active-style-def-id.ts +5 -2
  27. package/src/hooks/use-default-panel-settings.ts +33 -0
  28. package/src/hooks/use-normalized-inheritance-chain-items.tsx +10 -3
  29. package/src/hooks/use-state-by-element.ts +2 -1
  30. package/src/styles-inheritance/create-styles-inheritance.ts +49 -3
  31. package/src/styles-inheritance/styles-inheritance-indicator.tsx +14 -9
  32. package/src/styles-inheritance/styles-inheritance-infotip.tsx +8 -15
  33. package/src/styles-inheritance/types.ts +5 -0
  34. package/src/sync/experiments-flags.ts +4 -0
  35. package/src/hooks/use-unapply-class.ts +0 -29
package/dist/index.js CHANGED
@@ -46,16 +46,16 @@ var import_editor_controls = require("@elementor/editor-controls");
46
46
  var { registerControlReplacement, getControlReplacements } = (0, import_editor_controls.createControlReplacementsRegistry)();
47
47
 
48
48
  // src/components/css-classes/css-class-selector.tsx
49
- var React7 = __toESM(require("react"));
50
- var import_react8 = require("react");
49
+ var React8 = __toESM(require("react"));
50
+ var import_react10 = require("react");
51
51
  var import_editor_elements2 = require("@elementor/editor-elements");
52
- var import_editor_props = require("@elementor/editor-props");
52
+ var import_editor_props2 = require("@elementor/editor-props");
53
53
  var import_editor_styles_repository4 = require("@elementor/editor-styles-repository");
54
54
  var import_editor_ui3 = require("@elementor/editor-ui");
55
55
  var import_icons2 = require("@elementor/icons");
56
56
  var import_locations = require("@elementor/locations");
57
57
  var import_ui6 = require("@elementor/ui");
58
- var import_i18n3 = require("@wordpress/i18n");
58
+ var import_i18n4 = require("@wordpress/i18n");
59
59
 
60
60
  // src/contexts/classes-prop-context.tsx
61
61
  var React = __toESM(require("react"));
@@ -148,48 +148,63 @@ function addGroupToOptions(options12, pluralEntityName) {
148
148
  };
149
149
  });
150
150
  }
151
- function removeOptionsInternalKeys(options12) {
152
- return options12.map((option) => {
153
- const { _group, _action, ...rest } = option;
154
- return rest;
155
- });
151
+ function removeInternalKeys(option) {
152
+ const { _group, _action, ...rest } = option;
153
+ return rest;
156
154
  }
157
155
 
158
156
  // src/components/creatable-autocomplete/use-autocomplete-change.ts
159
157
  function useAutocompleteChange(params) {
160
158
  const { options: options12, onSelect, createOption, setInputValue, closeDropdown } = params;
161
- const handleChange = async (_, selectedOrInputValue, reason) => {
159
+ if (!onSelect && !createOption) {
160
+ return;
161
+ }
162
+ const handleChange = async (_, selectedOrInputValue, reason, details) => {
163
+ const changedOption = details?.option;
164
+ if (!changedOption || typeof changedOption === "object" && changedOption.fixed) {
165
+ return;
166
+ }
162
167
  const selectedOptions = selectedOrInputValue.filter((option) => typeof option !== "string");
163
- const newInputValue = selectedOrInputValue.reduce((acc, option) => {
164
- if (typeof option === "string") {
165
- return option;
166
- } else if (option._action === "create") {
167
- return option.value;
168
+ switch (reason) {
169
+ case "removeOption":
170
+ const removedOption = changedOption;
171
+ updateSelectedOptions(selectedOptions, "removeOption", removedOption);
172
+ break;
173
+ // User clicked an option. It's either an existing option, or "Create <new option>".
174
+ case "selectOption": {
175
+ const selectedOption = changedOption;
176
+ if (selectedOption._action === "create") {
177
+ const newOption = selectedOption.value;
178
+ return createOption?.(newOption);
179
+ }
180
+ updateSelectedOptions(selectedOptions, "selectOption", selectedOption);
181
+ break;
182
+ }
183
+ // User pressed "Enter" after typing input. The input is either matching existing option or a new option to create.
184
+ case "createOption": {
185
+ const inputValue = changedOption;
186
+ const matchingOption = options12.find(
187
+ (option) => option.label.toLocaleLowerCase() === inputValue.toLocaleLowerCase()
188
+ );
189
+ if (matchingOption) {
190
+ selectedOptions.push(matchingOption);
191
+ updateSelectedOptions(selectedOptions, "selectOption", matchingOption);
192
+ } else {
193
+ return createOption?.(inputValue);
194
+ }
195
+ break;
168
196
  }
169
- return acc;
170
- }, null);
171
- const inputValueMatchesExistingOption = newInputValue && options12.find((option) => option.label === newInputValue);
172
- if (newInputValue && shouldCreateNewOption(reason, selectedOptions, newInputValue, Boolean(inputValueMatchesExistingOption))) {
173
- return createOption(newInputValue);
174
- }
175
- if (reason === "createOption" && inputValueMatchesExistingOption) {
176
- selectedOptions.push(inputValueMatchesExistingOption);
177
197
  }
178
- updateSelectedOptions(selectedOptions);
179
198
  setInputValue("");
180
199
  closeDropdown();
181
200
  };
182
201
  return handleChange;
183
- function shouldCreateNewOption(reason, selectedOptions, newInputValue, inputValueMatchesExistingOption) {
184
- const createOptionWasClicked = reason === "selectOption" && selectedOptions.some((option) => option._action === "create");
185
- const enterWasPressed = reason === "createOption" && !options12.some((option) => option.label === newInputValue);
186
- const createOptionWasDisplayed = !inputValueMatchesExistingOption;
187
- return createOptionWasClicked || enterWasPressed && createOptionWasDisplayed;
188
- }
189
- function updateSelectedOptions(selectedOptions) {
190
- const fixedOptions = options12.filter((option) => !!option.fixed);
191
- const updatedOptions = [...fixedOptions, ...selectedOptions.filter((option) => !option.fixed)];
192
- onSelect?.(removeOptionsInternalKeys(updatedOptions));
202
+ function updateSelectedOptions(selectedOptions, reason, changedOption) {
203
+ onSelect?.(
204
+ selectedOptions.map((option) => removeInternalKeys(option)),
205
+ reason,
206
+ removeInternalKeys(changedOption)
207
+ );
193
208
  }
194
209
  }
195
210
 
@@ -242,10 +257,10 @@ var import_react5 = require("react");
242
257
  function useCreateOption(params) {
243
258
  const { onCreate, validate, setInputValue, setError, closeDropdown } = params;
244
259
  const [loading, setLoading] = (0, import_react5.useState)(false);
260
+ if (!onCreate) {
261
+ return { createOption: null, loading: false };
262
+ }
245
263
  const createOption = async (value) => {
246
- if (!onCreate) {
247
- return;
248
- }
249
264
  setLoading(true);
250
265
  if (validate) {
251
266
  const { isValid, errorMessage } = validate(value, "create");
@@ -304,6 +319,7 @@ function CreatableAutocompleteInner({
304
319
  placeholder,
305
320
  onCreate,
306
321
  validate,
322
+ renderEmptyState,
307
323
  ...props
308
324
  }, ref) {
309
325
  const { inputValue, setInputValue, error, setError, inputHandlers } = useInputState(validate);
@@ -321,6 +337,7 @@ function CreatableAutocompleteInner({
321
337
  closeDropdown
322
338
  });
323
339
  const filterOptions = useFilterOptions({ options: options12, selected, onCreate, entityName });
340
+ const isCreatable = Boolean(onCreate);
324
341
  return /* @__PURE__ */ React4.createElement(
325
342
  import_ui2.Autocomplete,
326
343
  {
@@ -337,7 +354,8 @@ function CreatableAutocompleteInner({
337
354
  },
338
355
  ...props,
339
356
  ref,
340
- freeSolo: true,
357
+ freeSolo: isCreatable || void 0,
358
+ forcePopupIcon: isCreatable ? false : void 0,
341
359
  multiple: true,
342
360
  clearOnBlur: true,
343
361
  selectOnFocus: true,
@@ -358,8 +376,8 @@ function CreatableAutocompleteInner({
358
376
  import_ui2.TextField,
359
377
  {
360
378
  ...params,
361
- placeholder,
362
379
  error: Boolean(error),
380
+ placeholder,
363
381
  ...inputHandlers,
364
382
  sx: (theme) => ({
365
383
  ".MuiAutocomplete-inputRoot.MuiInputBase-adornedStart": {
@@ -391,6 +409,19 @@ function CreatableAutocompleteInner({
391
409
  },
392
410
  label
393
411
  );
412
+ },
413
+ noOptionsText: renderEmptyState?.({
414
+ searchValue: inputValue,
415
+ onClear: () => {
416
+ setInputValue("");
417
+ closeDropdown();
418
+ }
419
+ }),
420
+ isOptionEqualToValue: (option, value) => {
421
+ if (typeof option === "string") {
422
+ return option === value;
423
+ }
424
+ return option.value === value.value;
394
425
  }
395
426
  }
396
427
  );
@@ -428,42 +459,35 @@ var StyledGroupItems = (0, import_ui2.styled)("ul")`
428
459
  `;
429
460
 
430
461
  // src/components/css-classes/css-class-item.tsx
431
- var React6 = __toESM(require("react"));
432
- var import_react7 = require("react");
462
+ var React7 = __toESM(require("react"));
463
+ var import_react9 = require("react");
433
464
  var import_editor_styles_repository3 = require("@elementor/editor-styles-repository");
434
465
  var import_editor_ui2 = require("@elementor/editor-ui");
435
466
  var import_icons = require("@elementor/icons");
436
467
  var import_ui5 = require("@elementor/ui");
437
- var import_i18n2 = require("@wordpress/i18n");
468
+ var import_i18n3 = require("@wordpress/i18n");
438
469
 
439
- // src/components/css-classes/css-class-menu.tsx
470
+ // src/components/css-classes/css-class-context.tsx
440
471
  var React5 = __toESM(require("react"));
472
+ var import_react7 = require("react");
473
+ var CssClassContext = (0, import_react7.createContext)(null);
474
+ var useCssClass = () => {
475
+ const context = (0, import_react7.useContext)(CssClassContext);
476
+ if (!context) {
477
+ throw new Error("useCssClass must be used within a CssClassProvider");
478
+ }
479
+ return context;
480
+ };
481
+ function CssClassProvider({ children, ...contextValue }) {
482
+ return /* @__PURE__ */ React5.createElement(CssClassContext.Provider, { value: contextValue }, children);
483
+ }
484
+
485
+ // src/components/css-classes/css-class-menu.tsx
486
+ var React6 = __toESM(require("react"));
441
487
  var import_editor_styles_repository2 = require("@elementor/editor-styles-repository");
442
488
  var import_editor_ui = require("@elementor/editor-ui");
443
489
  var import_ui4 = require("@elementor/ui");
444
- var import_i18n = require("@wordpress/i18n");
445
-
446
- // src/hooks/use-unapply-class.ts
447
- var import_editor_elements = require("@elementor/editor-elements");
448
- var useUnapplyClass = (classId) => {
449
- const { element } = useElement();
450
- const { setId: setStyleId } = useStyle();
451
- const classesProp = useClassesProp();
452
- const classes = (0, import_editor_elements.useElementSetting)(element.id, classesProp);
453
- const filteredClasses = classes?.value.filter((className) => className !== classId) ?? [];
454
- return () => {
455
- (0, import_editor_elements.updateElementSettings)({
456
- id: element.id,
457
- props: {
458
- [classesProp]: {
459
- $$type: "classes",
460
- value: filteredClasses
461
- }
462
- }
463
- });
464
- setStyleId(null);
465
- };
466
- };
490
+ var import_i18n2 = require("@wordpress/i18n");
467
491
 
468
492
  // src/components/style-indicator.tsx
469
493
  var import_ui3 = require("@elementor/ui");
@@ -487,15 +511,157 @@ var StyleIndicator = (0, import_ui3.styled)("div", {
487
511
  }};
488
512
  `;
489
513
 
514
+ // src/components/css-classes/use-apply-and-unapply-class.ts
515
+ var import_react8 = require("react");
516
+ var import_editor_documents = require("@elementor/editor-documents");
517
+ var import_editor_elements = require("@elementor/editor-elements");
518
+ var import_editor_props = require("@elementor/editor-props");
519
+ var import_editor_v1_adapters = require("@elementor/editor-v1-adapters");
520
+ var import_i18n = require("@wordpress/i18n");
521
+ function useApplyClass() {
522
+ const { id: activeId, setId: setActiveId } = useStyle();
523
+ const { element } = useElement();
524
+ const isVersion330Active = (0, import_editor_v1_adapters.isExperimentActive)("e_v_3_30");
525
+ const applyClass = useApply();
526
+ const unapplyClass = useUnapply();
527
+ const undoableApply = (0, import_react8.useMemo)(() => {
528
+ return (0, import_editor_v1_adapters.undoable)(
529
+ {
530
+ do: ({ classId }) => {
531
+ const prevActiveId = activeId;
532
+ applyClass(classId);
533
+ (0, import_editor_documents.setDocumentModifiedStatus)(true);
534
+ return prevActiveId;
535
+ },
536
+ undo: ({ classId }, prevActiveId) => {
537
+ unapplyClass(classId);
538
+ setActiveId(prevActiveId);
539
+ }
540
+ },
541
+ {
542
+ title: (0, import_editor_elements.getElementLabel)(element.id),
543
+ subtitle: ({ classLabel }) => {
544
+ return (0, import_i18n.__)(`class %s applied`, "elementor").replace("%s", classLabel);
545
+ }
546
+ }
547
+ );
548
+ }, [activeId, applyClass, element.id, unapplyClass, setActiveId]);
549
+ const applyWithoutHistory = (0, import_react8.useCallback)(
550
+ ({ classId }) => {
551
+ applyClass(classId);
552
+ },
553
+ [applyClass]
554
+ );
555
+ return isVersion330Active ? undoableApply : applyWithoutHistory;
556
+ }
557
+ function useUnapplyClass() {
558
+ const { id: activeId, setId: setActiveId } = useStyle();
559
+ const { element } = useElement();
560
+ const isVersion330Active = (0, import_editor_v1_adapters.isExperimentActive)("e_v_3_30");
561
+ const applyClass = useApply();
562
+ const unapplyClass = useUnapply();
563
+ const undoableUnapply = (0, import_react8.useMemo)(() => {
564
+ return (0, import_editor_v1_adapters.undoable)(
565
+ {
566
+ do: ({ classId }) => {
567
+ const prevActiveId = activeId;
568
+ unapplyClass(classId);
569
+ (0, import_editor_documents.setDocumentModifiedStatus)(true);
570
+ return prevActiveId;
571
+ },
572
+ undo: ({ classId }, prevActiveId) => {
573
+ applyClass(classId);
574
+ setActiveId(prevActiveId);
575
+ }
576
+ },
577
+ {
578
+ title: (0, import_editor_elements.getElementLabel)(element.id),
579
+ subtitle: ({ classLabel }) => {
580
+ return (0, import_i18n.__)(`class %s removed`, "elementor").replace("%s", classLabel);
581
+ }
582
+ }
583
+ );
584
+ }, [activeId, applyClass, element.id, unapplyClass, setActiveId]);
585
+ const unapplyWithoutHistory = (0, import_react8.useCallback)(
586
+ ({ classId }) => {
587
+ unapplyClass(classId);
588
+ },
589
+ [unapplyClass]
590
+ );
591
+ return isVersion330Active ? undoableUnapply : unapplyWithoutHistory;
592
+ }
593
+ function useApply() {
594
+ const { element } = useElement();
595
+ const { setId: setActiveId } = useStyle();
596
+ const { setClasses, getAppliedClasses } = useSetClasses();
597
+ return (0, import_react8.useCallback)(
598
+ (classIDToApply) => {
599
+ const appliedClasses = getAppliedClasses();
600
+ if (appliedClasses.includes(classIDToApply)) {
601
+ throw new Error(
602
+ `Class ${classIDToApply} is already applied to element ${element.id}, cannot re-apply.`
603
+ );
604
+ }
605
+ const updatedClassesIds = [...appliedClasses, classIDToApply];
606
+ setClasses(updatedClassesIds);
607
+ setActiveId(classIDToApply);
608
+ },
609
+ [element.id, getAppliedClasses, setActiveId, setClasses]
610
+ );
611
+ }
612
+ function useUnapply() {
613
+ const { element } = useElement();
614
+ const { id: activeId, setId: setActiveId } = useStyle();
615
+ const { setClasses, getAppliedClasses } = useSetClasses();
616
+ return (0, import_react8.useCallback)(
617
+ (classIDToUnapply) => {
618
+ const appliedClasses = getAppliedClasses();
619
+ if (!appliedClasses.includes(classIDToUnapply)) {
620
+ throw new Error(
621
+ `Class ${classIDToUnapply} is not applied to element ${element.id}, cannot unapply it.`
622
+ );
623
+ }
624
+ const updatedClassesIds = appliedClasses.filter((id) => id !== classIDToUnapply);
625
+ setClasses(updatedClassesIds);
626
+ if (activeId === classIDToUnapply) {
627
+ setActiveId(updatedClassesIds[0] ?? null);
628
+ }
629
+ },
630
+ [activeId, element.id, getAppliedClasses, setActiveId, setClasses]
631
+ );
632
+ }
633
+ function useSetClasses() {
634
+ const { element } = useElement();
635
+ const currentClassesProp = useClassesProp();
636
+ return (0, import_react8.useMemo)(() => {
637
+ const setClasses = (ids) => {
638
+ (0, import_editor_elements.updateElementSettings)({
639
+ id: element.id,
640
+ props: { [currentClassesProp]: import_editor_props.classesPropTypeUtil.create(ids) },
641
+ withHistory: false
642
+ });
643
+ };
644
+ const getAppliedClasses = () => (0, import_editor_elements.getElementSetting)(element.id, currentClassesProp)?.value || [];
645
+ return {
646
+ setClasses,
647
+ getAppliedClasses
648
+ };
649
+ }, [currentClassesProp, element.id]);
650
+ }
651
+
490
652
  // src/components/css-classes/css-class-menu.tsx
491
- var STATES = ["hover", "focus", "active"];
492
- function CssClassMenu({ styleId, provider, popupState, handleRename, anchorEl }) {
493
- const styledStates = useStyledStates(styleId);
494
- const indicatorVariant = !provider || (0, import_editor_styles_repository2.isElementsStylesProvider)(provider) ? "local" : "global";
653
+ var STATES = [
654
+ { key: "normal", value: null },
655
+ { key: "hover", value: "hover" },
656
+ { key: "focus", value: "focus" },
657
+ { key: "active", value: "active" }
658
+ ];
659
+ function CssClassMenu({ popupState, anchorEl }) {
660
+ const { provider } = useCssClass();
495
661
  const handleKeyDown = (e) => {
496
662
  e.stopPropagation();
497
663
  };
498
- return /* @__PURE__ */ React5.createElement(
664
+ return /* @__PURE__ */ React6.createElement(
499
665
  import_ui4.Menu,
500
666
  {
501
667
  MenuListProps: { dense: true, sx: { minWidth: "160px" } },
@@ -512,60 +678,34 @@ function CssClassMenu({ styleId, provider, popupState, handleRename, anchorEl })
512
678
  onKeyDown: handleKeyDown,
513
679
  disableAutoFocusItem: true
514
680
  },
515
- getMenuItemsByProvider({ provider, styleId, handleRename, closeMenu: popupState.close }),
516
- /* @__PURE__ */ React5.createElement(import_ui4.MenuSubheader, { sx: { typography: "caption", color: "text.secondary", pb: 0.5, pt: 1 } }, (0, import_i18n.__)("States", "elementor")),
517
- /* @__PURE__ */ React5.createElement(
518
- StateMenuItem,
519
- {
520
- key: "normal",
521
- state: null,
522
- styleId,
523
- closeMenu: popupState.close,
524
- isStyled: styledStates.normal,
525
- indicatorVariant
526
- }
527
- ),
681
+ getMenuItemsByProvider({ provider, closeMenu: popupState.close }),
682
+ /* @__PURE__ */ React6.createElement(import_ui4.MenuSubheader, { sx: { typography: "caption", color: "text.secondary", pb: 0.5, pt: 1 } }, (0, import_i18n2.__)("States", "elementor")),
528
683
  STATES.map((state) => {
529
- return /* @__PURE__ */ React5.createElement(
530
- StateMenuItem,
531
- {
532
- key: state,
533
- state,
534
- styleId,
535
- closeMenu: popupState.close,
536
- isStyled: styledStates[state],
537
- indicatorVariant
538
- }
539
- );
684
+ return /* @__PURE__ */ React6.createElement(StateMenuItem, { key: state.key, state: state.value, closeMenu: popupState.close });
540
685
  })
541
686
  );
542
687
  }
543
- function useStyledStates(styleId) {
688
+ function useModifiedStates(styleId) {
544
689
  const { meta } = useStyle();
545
690
  const styleDef = import_editor_styles_repository2.stylesRepository.all().find((style) => style.id === styleId);
546
691
  return Object.fromEntries(
547
692
  styleDef?.variants.filter((variant) => meta.breakpoint === variant.meta.breakpoint).map((variant) => [variant.meta.state ?? "normal", true]) ?? []
548
693
  );
549
694
  }
550
- function getMenuItemsByProvider({
551
- provider,
552
- styleId,
553
- handleRename,
554
- closeMenu
555
- }) {
556
- if (!styleId || !provider) {
695
+ function getMenuItemsByProvider({ provider, closeMenu }) {
696
+ if (!provider) {
557
697
  return [];
558
698
  }
559
699
  const providerInstance = import_editor_styles_repository2.stylesRepository.getProviderByKey(provider);
560
700
  const providerActions = providerInstance?.actions;
561
701
  const [canUpdate, canDelete] = [providerActions?.update, providerActions?.delete];
562
702
  const actions = [
563
- canUpdate && /* @__PURE__ */ React5.createElement(RenameClassMenuItem, { key: "rename-class", handleRename, closeMenu }),
564
- canDelete && /* @__PURE__ */ React5.createElement(UnapplyClassMenuItem, { key: "unapply-class", styleId, closeMenu })
703
+ canUpdate && /* @__PURE__ */ React6.createElement(RenameClassMenuItem, { key: "rename-class", closeMenu }),
704
+ canDelete && /* @__PURE__ */ React6.createElement(UnapplyClassMenuItem, { key: "unapply-class", closeMenu })
565
705
  ].filter(Boolean);
566
706
  if (actions.length) {
567
707
  actions.unshift(
568
- /* @__PURE__ */ React5.createElement(
708
+ /* @__PURE__ */ React6.createElement(
569
709
  import_ui4.MenuSubheader,
570
710
  {
571
711
  key: "provider-label",
@@ -574,27 +714,28 @@ function getMenuItemsByProvider({
574
714
  providerInstance?.labels?.singular
575
715
  )
576
716
  );
577
- actions.push(/* @__PURE__ */ React5.createElement(import_ui4.Divider, { key: "provider-actions-divider" }));
717
+ actions.push(/* @__PURE__ */ React6.createElement(import_ui4.Divider, { key: "provider-actions-divider" }));
578
718
  }
579
719
  return actions;
580
720
  }
581
- function StateMenuItem({
582
- state,
583
- styleId,
584
- closeMenu,
585
- isStyled = false,
586
- indicatorVariant,
587
- ...props
588
- }) {
721
+ function StateMenuItem({ state, closeMenu, ...props }) {
722
+ const { id: styleId, provider } = useCssClass();
589
723
  const { id: activeId, setId: setActiveId, setMetaState: setActiveMetaState, meta } = useStyle();
590
724
  const { state: activeState } = meta;
725
+ const { userCan } = (0, import_editor_styles_repository2.useUserStylesCapability)();
726
+ const modifiedStates = useModifiedStates(styleId);
727
+ const isUpdateAllowed = userCan(provider ?? "").updateProps;
728
+ const indicatorVariant = !provider || (0, import_editor_styles_repository2.isElementsStylesProvider)(provider) ? "local" : "global";
729
+ const isStyled = modifiedStates[state ?? "normal"] ?? false;
730
+ const disabled = isUpdateAllowed ? false : !isStyled;
591
731
  const isActive = styleId === activeId;
592
732
  const isSelected = state === activeState && isActive;
593
- return /* @__PURE__ */ React5.createElement(
733
+ return /* @__PURE__ */ React6.createElement(
594
734
  import_editor_ui.MenuListItem,
595
735
  {
596
736
  ...props,
597
737
  selected: isSelected,
738
+ disabled,
598
739
  sx: { textTransform: "capitalize" },
599
740
  onClick: () => {
600
741
  if (!isActive) {
@@ -604,58 +745,69 @@ function StateMenuItem({
604
745
  closeMenu();
605
746
  }
606
747
  },
607
- /* @__PURE__ */ React5.createElement(import_ui4.Stack, { gap: 0.75, direction: "row", alignItems: "center" }, isStyled && /* @__PURE__ */ React5.createElement(StyleIndicator, { "aria-label": (0, import_i18n.__)("Has style", "elementor"), variant: indicatorVariant }), state ?? "normal")
748
+ /* @__PURE__ */ React6.createElement(
749
+ import_editor_ui.MenuItemInfotip,
750
+ {
751
+ showInfoTip: disabled,
752
+ content: (0, import_i18n2.__)("With your role as an editor, you can only use existing states.", "elementor")
753
+ },
754
+ /* @__PURE__ */ React6.createElement(import_ui4.Stack, { gap: 0.75, direction: "row", alignItems: "center" }, isStyled && /* @__PURE__ */ React6.createElement(StyleIndicator, { "aria-label": (0, import_i18n2.__)("Has style", "elementor"), variant: indicatorVariant }), state ?? "normal")
755
+ )
608
756
  );
609
757
  }
610
- function UnapplyClassMenuItem({ styleId, closeMenu, ...props }) {
611
- const unapplyClass = useUnapplyClass(styleId);
612
- return /* @__PURE__ */ React5.createElement(
758
+ function UnapplyClassMenuItem({ closeMenu, ...props }) {
759
+ const { id: classId, label: classLabel } = useCssClass();
760
+ const unapplyClass = useUnapplyClass();
761
+ return classId ? /* @__PURE__ */ React6.createElement(
613
762
  import_editor_ui.MenuListItem,
614
763
  {
615
764
  ...props,
616
765
  onClick: () => {
617
- unapplyClass();
766
+ unapplyClass({ classId, classLabel });
618
767
  closeMenu();
619
768
  }
620
769
  },
621
- (0, import_i18n.__)("Remove", "elementor")
622
- );
770
+ (0, import_i18n2.__)("Remove", "elementor")
771
+ ) : null;
623
772
  }
624
- function RenameClassMenuItem({
625
- handleRename,
626
- closeMenu,
627
- ...props
628
- }) {
629
- return /* @__PURE__ */ React5.createElement(
773
+ function RenameClassMenuItem({ closeMenu }) {
774
+ const { handleRename, provider } = useCssClass();
775
+ const { userCan } = (0, import_editor_styles_repository2.useUserStylesCapability)();
776
+ if (!provider) {
777
+ return null;
778
+ }
779
+ const isAllowed = userCan(provider).update;
780
+ return /* @__PURE__ */ React6.createElement(
630
781
  import_editor_ui.MenuListItem,
631
782
  {
632
- ...props,
783
+ disabled: !isAllowed,
633
784
  onClick: () => {
634
785
  closeMenu();
635
786
  handleRename();
636
787
  }
637
788
  },
638
- (0, import_i18n.__)("Rename", "elementor")
789
+ /* @__PURE__ */ React6.createElement(
790
+ import_editor_ui.MenuItemInfotip,
791
+ {
792
+ showInfoTip: !isAllowed,
793
+ content: (0, import_i18n2.__)(
794
+ "With your role as an editor, you can use existing classes but can\u2019t modify them.",
795
+ "elementor"
796
+ )
797
+ },
798
+ (0, import_i18n2.__)("Rename", "elementor")
799
+ )
639
800
  );
640
801
  }
641
802
 
642
803
  // src/components/css-classes/css-class-item.tsx
643
804
  var CHIP_SIZE = "tiny";
644
- function CssClassItem({
645
- id,
646
- provider,
647
- label,
648
- isActive,
649
- color: colorProp,
650
- icon,
651
- chipProps,
652
- onClickActive,
653
- renameLabel,
654
- setError
655
- }) {
805
+ function CssClassItem(props) {
806
+ const { chipProps, icon, color: colorProp, ...classProps } = props;
807
+ const { id, provider, label, isActive, onClickActive, renameLabel, setError } = classProps;
656
808
  const { meta, setMetaState } = useStyle();
657
809
  const popupState = (0, import_ui5.usePopupState)({ variant: "popover" });
658
- const [chipRef, setChipRef] = (0, import_react7.useState)(null);
810
+ const [chipRef, setChipRef] = (0, import_react9.useState)(null);
659
811
  const { onDelete, ...chipGroupProps } = chipProps;
660
812
  const {
661
813
  ref,
@@ -673,7 +825,7 @@ function CssClassItem({
673
825
  const providerActions = provider ? import_editor_styles_repository3.stylesRepository.getProviderByKey(provider)?.actions : null;
674
826
  const allowRename = Boolean(providerActions?.update);
675
827
  const isShowingState = isActive && meta.state;
676
- return /* @__PURE__ */ React6.createElement(React6.Fragment, null, /* @__PURE__ */ React6.createElement(
828
+ return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement(
677
829
  import_ui5.UnstableChipGroup,
678
830
  {
679
831
  ref: setChipRef,
@@ -684,11 +836,11 @@ function CssClassItem({
684
836
  "&.MuiChipGroup-root.MuiAutocomplete-tag": { margin: theme.spacing(0.125) }
685
837
  })
686
838
  },
687
- /* @__PURE__ */ React6.createElement(
839
+ /* @__PURE__ */ React7.createElement(
688
840
  import_ui5.Chip,
689
841
  {
690
842
  size: CHIP_SIZE,
691
- label: isEditing ? /* @__PURE__ */ React6.createElement(import_editor_ui2.EditableField, { ref, ...getEditableProps() }) : /* @__PURE__ */ React6.createElement(import_editor_ui2.EllipsisWithTooltip, { maxWidth: "10ch", title: label, as: "div" }),
843
+ label: isEditing ? /* @__PURE__ */ React7.createElement(import_editor_ui2.EditableField, { ref, ...getEditableProps() }) : /* @__PURE__ */ React7.createElement(import_editor_ui2.EllipsisWithTooltip, { maxWidth: "10ch", title: label, as: "div" }),
692
844
  variant: isActive && !meta.state && !isEditing ? "filled" : "standard",
693
845
  shape: "rounded",
694
846
  icon,
@@ -715,17 +867,17 @@ function CssClassItem({
715
867
  })
716
868
  }
717
869
  ),
718
- !isEditing && /* @__PURE__ */ React6.createElement(
870
+ !isEditing && /* @__PURE__ */ React7.createElement(
719
871
  import_ui5.Chip,
720
872
  {
721
- icon: isShowingState ? void 0 : /* @__PURE__ */ React6.createElement(import_icons.DotsVerticalIcon, { fontSize: "tiny" }),
873
+ icon: isShowingState ? void 0 : /* @__PURE__ */ React7.createElement(import_icons.DotsVerticalIcon, { fontSize: "tiny" }),
722
874
  size: CHIP_SIZE,
723
- label: isShowingState ? /* @__PURE__ */ React6.createElement(import_ui5.Stack, { direction: "row", gap: 0.5, alignItems: "center" }, /* @__PURE__ */ React6.createElement(import_ui5.Typography, { variant: "inherit" }, meta.state), /* @__PURE__ */ React6.createElement(import_icons.DotsVerticalIcon, { fontSize: "tiny" })) : void 0,
875
+ label: isShowingState ? /* @__PURE__ */ React7.createElement(import_ui5.Stack, { direction: "row", gap: 0.5, alignItems: "center" }, /* @__PURE__ */ React7.createElement(import_ui5.Typography, { variant: "inherit" }, meta.state), /* @__PURE__ */ React7.createElement(import_icons.DotsVerticalIcon, { fontSize: "tiny" })) : void 0,
724
876
  variant: "filled",
725
877
  shape: "rounded",
726
878
  color,
727
879
  ...(0, import_ui5.bindTrigger)(popupState),
728
- "aria-label": (0, import_i18n2.__)("Open CSS Class Menu", "elementor"),
880
+ "aria-label": (0, import_i18n3.__)("Open CSS Class Menu", "elementor"),
729
881
  sx: (theme) => ({
730
882
  borderRadius: `${theme.shape.borderRadius * 0.75}px`,
731
883
  paddingRight: 0,
@@ -734,16 +886,7 @@ function CssClassItem({
734
886
  })
735
887
  }
736
888
  )
737
- ), /* @__PURE__ */ React6.createElement(
738
- CssClassMenu,
739
- {
740
- styleId: id,
741
- popupState,
742
- provider,
743
- handleRename: openEditMode,
744
- anchorEl: chipRef
745
- }
746
- ));
889
+ ), /* @__PURE__ */ React7.createElement(CssClassProvider, { ...classProps, handleRename: openEditMode }, /* @__PURE__ */ React7.createElement(CssClassMenu, { popupState, anchorEl: chipRef })));
747
890
  }
748
891
  var validateLabel = (newLabel) => {
749
892
  const result = (0, import_editor_styles_repository3.validateStyleLabel)(newLabel, "rename");
@@ -757,26 +900,26 @@ var validateLabel = (newLabel) => {
757
900
  var ID = "elementor-css-class-selector";
758
901
  var TAGS_LIMIT = 50;
759
902
  var EMPTY_OPTION = {
760
- label: (0, import_i18n3.__)("local", "elementor"),
903
+ label: (0, import_i18n4.__)("local", "elementor"),
761
904
  value: null,
762
905
  fixed: true,
763
906
  color: "accent",
764
- icon: /* @__PURE__ */ React7.createElement(import_icons2.MapPinIcon, null),
907
+ icon: /* @__PURE__ */ React8.createElement(import_icons2.MapPinIcon, null),
765
908
  provider: null
766
909
  };
767
910
  var { Slot: ClassSelectorActionsSlot, inject: injectIntoClassSelectorActions } = (0, import_locations.createLocation)();
768
911
  function CssClassSelector() {
769
912
  const options12 = useOptions();
770
- const { value: appliedIds, setValue: setAppliedIds, pushValue: pushAppliedId } = useAppliedClassesIds();
913
+ const { value: appliedIds, pushValue: pushAppliedId } = useAppliedClassesIds();
771
914
  const { id: activeId, setId: setActiveId } = useStyle();
772
- const autocompleteRef = (0, import_react8.useRef)(null);
773
- const [renameError, setRenameError] = (0, import_react8.useState)(null);
774
- const handleApply = useHandleApply(appliedIds, setAppliedIds);
915
+ const autocompleteRef = (0, import_react10.useRef)(null);
916
+ const [renameError, setRenameError] = (0, import_react10.useState)(null);
917
+ const handleSelect = useHandleSelect();
775
918
  const { create, validate, entityName } = useCreateAction({ pushAppliedId, setActiveId });
776
919
  const applied = useAppliedOptions(options12, appliedIds);
777
920
  const active = applied.find((option) => option.value === activeId) ?? EMPTY_OPTION;
778
921
  const showPlaceholder = applied.every(({ fixed }) => fixed);
779
- return /* @__PURE__ */ React7.createElement(import_ui6.Stack, { p: 2 }, /* @__PURE__ */ React7.createElement(import_ui6.Stack, { direction: "row", gap: 1, alignItems: "center", justifyContent: "space-between" }, /* @__PURE__ */ React7.createElement(import_ui6.FormLabel, { htmlFor: ID, size: "small" }, (0, import_i18n3.__)("Classes", "elementor")), /* @__PURE__ */ React7.createElement(import_ui6.Stack, { direction: "row", gap: 1 }, /* @__PURE__ */ React7.createElement(ClassSelectorActionsSlot, null))), /* @__PURE__ */ React7.createElement(
922
+ return /* @__PURE__ */ React8.createElement(import_ui6.Stack, { p: 2 }, /* @__PURE__ */ React8.createElement(import_ui6.Stack, { direction: "row", gap: 1, alignItems: "center", justifyContent: "space-between" }, /* @__PURE__ */ React8.createElement(import_ui6.FormLabel, { htmlFor: ID, size: "small" }, (0, import_i18n4.__)("Classes", "elementor")), /* @__PURE__ */ React8.createElement(import_ui6.Stack, { direction: "row", gap: 1 }, /* @__PURE__ */ React8.createElement(ClassSelectorActionsSlot, null))), /* @__PURE__ */ React8.createElement(
780
923
  import_editor_ui3.WarningInfotip,
781
924
  {
782
925
  open: Boolean(renameError),
@@ -785,21 +928,22 @@ function CssClassSelector() {
785
928
  width: autocompleteRef.current?.getBoundingClientRect().width,
786
929
  offset: [0, -15]
787
930
  },
788
- /* @__PURE__ */ React7.createElement(
931
+ /* @__PURE__ */ React8.createElement(
789
932
  CreatableAutocomplete,
790
933
  {
791
934
  id: ID,
792
935
  ref: autocompleteRef,
793
936
  size: "tiny",
794
- placeholder: showPlaceholder ? (0, import_i18n3.__)("Type class name", "elementor") : void 0,
937
+ placeholder: showPlaceholder ? (0, import_i18n4.__)("Type class name", "elementor") : void 0,
795
938
  options: options12,
796
939
  selected: applied,
797
940
  entityName,
798
- onSelect: handleApply,
941
+ onSelect: handleSelect,
799
942
  onCreate: create ?? void 0,
800
943
  validate: validate ?? void 0,
801
944
  limitTags: TAGS_LIMIT,
802
- getLimitTagsText: (more) => /* @__PURE__ */ React7.createElement(import_ui6.Chip, { size: "tiny", variant: "standard", label: `+${more}`, clickable: true }),
945
+ renderEmptyState: EmptyState,
946
+ getLimitTagsText: (more) => /* @__PURE__ */ React8.createElement(import_ui6.Chip, { size: "tiny", variant: "standard", label: `+${more}`, clickable: true }),
803
947
  renderTags: (values, getTagProps) => values.map((value, index) => {
804
948
  const chipProps = getTagProps({ index });
805
949
  const isActive = value.value === active?.value;
@@ -809,7 +953,7 @@ function CssClassSelector() {
809
953
  }
810
954
  return updateClassByProvider(value.provider, { label: newLabel, id: value.value });
811
955
  };
812
- return /* @__PURE__ */ React7.createElement(
956
+ return /* @__PURE__ */ React8.createElement(
813
957
  CssClassItem,
814
958
  {
815
959
  key: chipProps.key,
@@ -830,6 +974,20 @@ function CssClassSelector() {
830
974
  )
831
975
  ));
832
976
  }
977
+ var EmptyState = ({ searchValue, onClear }) => /* @__PURE__ */ React8.createElement(import_ui6.Box, { sx: { py: 4 } }, /* @__PURE__ */ React8.createElement(
978
+ import_ui6.Stack,
979
+ {
980
+ gap: 1,
981
+ alignItems: "center",
982
+ color: "text.secondary",
983
+ justifyContent: "center",
984
+ sx: { px: 2, m: "auto", maxWidth: "236px" }
985
+ },
986
+ /* @__PURE__ */ React8.createElement(import_icons2.ColorSwatchIcon, { sx: { transform: "rotate(90deg)" }, fontSize: "large" }),
987
+ /* @__PURE__ */ React8.createElement(import_ui6.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n4.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React8.createElement("br", null), "\u201C", searchValue, "\u201D."),
988
+ /* @__PURE__ */ React8.createElement(import_ui6.Typography, { align: "center", variant: "caption", sx: { mb: 2 } }, (0, import_i18n4.__)("With your role as an editor,", "elementor"), /* @__PURE__ */ React8.createElement("br", null), (0, import_i18n4.__)("you can only use existing classes.", "elementor")),
989
+ /* @__PURE__ */ React8.createElement(import_ui6.Link, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, (0, import_i18n4.__)("Clear & try again", "elementor"))
990
+ ));
833
991
  var updateClassByProvider = (provider, data) => {
834
992
  if (!provider) {
835
993
  return;
@@ -855,7 +1013,7 @@ function useOptions() {
855
1013
  value: styleDef.id,
856
1014
  fixed: isElements,
857
1015
  color: isElements ? "accent" : "global",
858
- icon: isElements ? /* @__PURE__ */ React7.createElement(import_icons2.MapPinIcon, null) : null,
1016
+ icon: isElements ? /* @__PURE__ */ React8.createElement(import_icons2.MapPinIcon, null) : null,
859
1017
  provider: provider.getKey()
860
1018
  };
861
1019
  });
@@ -878,7 +1036,7 @@ function useCreateAction({
878
1036
  if (hasReachedLimit(provider)) {
879
1037
  return {
880
1038
  isValid: false,
881
- errorMessage: (0, import_i18n3.__)(
1039
+ errorMessage: (0, import_i18n4.__)(
882
1040
  "You\u2019ve reached the limit of 50 classes. Please remove an existing one to create a new class.",
883
1041
  "elementor"
884
1042
  )
@@ -910,7 +1068,7 @@ function useAppliedClassesIds() {
910
1068
  (0, import_editor_elements2.updateElementSettings)({
911
1069
  id: element.id,
912
1070
  props: {
913
- [currentClassesProp]: import_editor_props.classesPropTypeUtil.create(ids)
1071
+ [currentClassesProp]: import_editor_props2.classesPropTypeUtil.create(ids)
914
1072
  }
915
1073
  });
916
1074
  };
@@ -920,27 +1078,23 @@ function useAppliedClassesIds() {
920
1078
  };
921
1079
  return {
922
1080
  value,
923
- setValue,
924
1081
  pushValue
925
1082
  };
926
1083
  }
927
- function useHandleApply(appliedIds, setAppliedIds) {
928
- const { id: activeId, setId: setActiveId } = useStyle();
929
- return (selectedOptions) => {
930
- const selectedValues = selectedOptions.map(({ value }) => value).filter((value) => value !== EMPTY_OPTION.value);
931
- const isSameClassesAlreadyApplied = selectedValues.length === appliedIds.length && selectedValues.every((value) => appliedIds.includes(value));
932
- if (isSameClassesAlreadyApplied) {
933
- return;
934
- }
935
- setAppliedIds(selectedValues);
936
- const addedValue = selectedValues.find((id) => !appliedIds.includes(id));
937
- if (addedValue) {
938
- setActiveId(addedValue);
1084
+ function useHandleSelect() {
1085
+ const apply = useApplyClass();
1086
+ const unapply = useUnapplyClass();
1087
+ return (_selectedOptions, reason, option) => {
1088
+ if (!option.value) {
939
1089
  return;
940
1090
  }
941
- const removedValue = appliedIds.find((id) => !selectedValues.includes(id));
942
- if (removedValue && removedValue === activeId) {
943
- setActiveId(selectedValues[0] ?? null);
1091
+ switch (reason) {
1092
+ case "selectOption":
1093
+ apply({ classId: option.value, classLabel: option.label });
1094
+ break;
1095
+ case "removeOption":
1096
+ unapply({ classId: option.value, classLabel: option.label });
1097
+ break;
944
1098
  }
945
1099
  };
946
1100
  }
@@ -949,7 +1103,7 @@ function useHandleApply(appliedIds, setAppliedIds) {
949
1103
  var import_editor_panels2 = require("@elementor/editor-panels");
950
1104
 
951
1105
  // src/components/editing-panel.tsx
952
- var React74 = __toESM(require("react"));
1106
+ var React75 = __toESM(require("react"));
953
1107
  var import_editor_controls49 = require("@elementor/editor-controls");
954
1108
  var import_editor_elements8 = require("@elementor/editor-elements");
955
1109
  var import_editor_panels = require("@elementor/editor-panels");
@@ -957,14 +1111,14 @@ var import_editor_ui4 = require("@elementor/editor-ui");
957
1111
  var import_icons23 = require("@elementor/icons");
958
1112
  var import_session5 = require("@elementor/session");
959
1113
  var import_ui62 = require("@elementor/ui");
960
- var import_i18n50 = require("@wordpress/i18n");
1114
+ var import_i18n51 = require("@wordpress/i18n");
961
1115
 
962
1116
  // src/controls-actions.ts
963
1117
  var import_menus = require("@elementor/menus");
964
1118
 
965
1119
  // src/popover-action.tsx
966
- var React8 = __toESM(require("react"));
967
- var import_react9 = require("react");
1120
+ var React9 = __toESM(require("react"));
1121
+ var import_react11 = require("react");
968
1122
  var import_icons3 = require("@elementor/icons");
969
1123
  var import_ui7 = require("@elementor/ui");
970
1124
  var SIZE = "tiny";
@@ -974,7 +1128,7 @@ function PopoverAction({
974
1128
  icon: Icon,
975
1129
  popoverContent: PopoverContent2
976
1130
  }) {
977
- const id = (0, import_react9.useId)();
1131
+ const id = (0, import_react11.useId)();
978
1132
  const popupState = (0, import_ui7.usePopupState)({
979
1133
  variant: "popover",
980
1134
  popupId: `elementor-popover-action-${id}`
@@ -982,7 +1136,7 @@ function PopoverAction({
982
1136
  if (!visible) {
983
1137
  return null;
984
1138
  }
985
- return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement(import_ui7.Tooltip, { placement: "top", title }, /* @__PURE__ */ React8.createElement(import_ui7.IconButton, { "aria-label": title, key: id, size: SIZE, ...(0, import_ui7.bindToggle)(popupState) }, /* @__PURE__ */ React8.createElement(Icon, { fontSize: SIZE }))), /* @__PURE__ */ React8.createElement(
1139
+ return /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement(import_ui7.Tooltip, { placement: "top", title }, /* @__PURE__ */ React9.createElement(import_ui7.IconButton, { "aria-label": title, key: id, size: SIZE, ...(0, import_ui7.bindToggle)(popupState) }, /* @__PURE__ */ React9.createElement(Icon, { fontSize: SIZE }))), /* @__PURE__ */ React9.createElement(
986
1140
  import_ui7.Popover,
987
1141
  {
988
1142
  disablePortal: true,
@@ -993,8 +1147,8 @@ function PopoverAction({
993
1147
  },
994
1148
  ...(0, import_ui7.bindPopover)(popupState)
995
1149
  },
996
- /* @__PURE__ */ React8.createElement(import_ui7.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React8.createElement(Icon, { fontSize: SIZE, sx: { mr: 0.5 } }), /* @__PURE__ */ React8.createElement(import_ui7.Typography, { variant: "subtitle2" }, title), /* @__PURE__ */ React8.createElement(import_ui7.IconButton, { sx: { ml: "auto" }, size: SIZE, onClick: popupState.close }, /* @__PURE__ */ React8.createElement(import_icons3.XIcon, { fontSize: SIZE }))),
997
- /* @__PURE__ */ React8.createElement(PopoverContent2, { closePopover: popupState.close })
1150
+ /* @__PURE__ */ React9.createElement(import_ui7.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React9.createElement(Icon, { fontSize: SIZE, sx: { mr: 0.5 } }), /* @__PURE__ */ React9.createElement(import_ui7.Typography, { variant: "subtitle2" }, title), /* @__PURE__ */ React9.createElement(import_ui7.IconButton, { sx: { ml: "auto" }, size: SIZE, onClick: popupState.close }, /* @__PURE__ */ React9.createElement(import_icons3.XIcon, { fontSize: SIZE }))),
1151
+ /* @__PURE__ */ React9.createElement(PopoverContent2, { closePopover: popupState.close })
998
1152
  ));
999
1153
  }
1000
1154
 
@@ -1006,33 +1160,34 @@ var controlActionsMenu = (0, import_menus.createMenu)({
1006
1160
  });
1007
1161
 
1008
1162
  // src/components/editing-panel-error-fallback.tsx
1009
- var React9 = __toESM(require("react"));
1163
+ var React10 = __toESM(require("react"));
1010
1164
  var import_ui8 = require("@elementor/ui");
1011
1165
  function EditorPanelErrorFallback() {
1012
- return /* @__PURE__ */ React9.createElement(import_ui8.Box, { role: "alert", sx: { minHeight: "100%", p: 2 } }, /* @__PURE__ */ React9.createElement(import_ui8.Alert, { severity: "error", sx: { mb: 2, maxWidth: 400, textAlign: "center" } }, /* @__PURE__ */ React9.createElement("strong", null, "Something went wrong")));
1166
+ return /* @__PURE__ */ React10.createElement(import_ui8.Box, { role: "alert", sx: { minHeight: "100%", p: 2 } }, /* @__PURE__ */ React10.createElement(import_ui8.Alert, { severity: "error", sx: { mb: 2, maxWidth: 400, textAlign: "center" } }, /* @__PURE__ */ React10.createElement("strong", null, "Something went wrong")));
1013
1167
  }
1014
1168
 
1015
1169
  // src/components/editing-panel-tabs.tsx
1016
- var React73 = __toESM(require("react"));
1017
- var import_react26 = require("react");
1170
+ var React74 = __toESM(require("react"));
1171
+ var import_react28 = require("react");
1172
+ var import_editor_v1_adapters12 = require("@elementor/editor-v1-adapters");
1018
1173
  var import_ui61 = require("@elementor/ui");
1019
- var import_i18n49 = require("@wordpress/i18n");
1174
+ var import_i18n50 = require("@wordpress/i18n");
1020
1175
 
1021
1176
  // src/contexts/scroll-context.tsx
1022
- var React10 = __toESM(require("react"));
1023
- var import_react10 = require("react");
1177
+ var React11 = __toESM(require("react"));
1178
+ var import_react12 = require("react");
1024
1179
  var import_ui9 = require("@elementor/ui");
1025
- var ScrollContext = (0, import_react10.createContext)(void 0);
1180
+ var ScrollContext = (0, import_react12.createContext)(void 0);
1026
1181
  var ScrollPanel = (0, import_ui9.styled)("div")`
1027
1182
  height: 100%;
1028
1183
  overflow-y: auto;
1029
1184
  `;
1030
1185
  var DEFAULT_SCROLL_DIRECTION = "up";
1031
1186
  function ScrollProvider({ children }) {
1032
- const [direction, setDirection] = (0, import_react10.useState)(DEFAULT_SCROLL_DIRECTION);
1033
- const ref = (0, import_react10.useRef)(null);
1034
- const scrollPos = (0, import_react10.useRef)(0);
1035
- (0, import_react10.useEffect)(() => {
1187
+ const [direction, setDirection] = (0, import_react12.useState)(DEFAULT_SCROLL_DIRECTION);
1188
+ const ref = (0, import_react12.useRef)(null);
1189
+ const scrollPos = (0, import_react12.useRef)(0);
1190
+ (0, import_react12.useEffect)(() => {
1036
1191
  const scrollElement = ref.current;
1037
1192
  if (!scrollElement) {
1038
1193
  return;
@@ -1051,22 +1206,54 @@ function ScrollProvider({ children }) {
1051
1206
  scrollElement.removeEventListener("scroll", handleScroll);
1052
1207
  };
1053
1208
  });
1054
- return /* @__PURE__ */ React10.createElement(ScrollContext.Provider, { value: { direction } }, /* @__PURE__ */ React10.createElement(ScrollPanel, { ref }, children));
1209
+ return /* @__PURE__ */ React11.createElement(ScrollContext.Provider, { value: { direction } }, /* @__PURE__ */ React11.createElement(ScrollPanel, { ref }, children));
1055
1210
  }
1056
1211
  function useScrollDirection() {
1057
- return (0, import_react10.useContext)(ScrollContext)?.direction ?? DEFAULT_SCROLL_DIRECTION;
1212
+ return (0, import_react12.useContext)(ScrollContext)?.direction ?? DEFAULT_SCROLL_DIRECTION;
1058
1213
  }
1059
1214
 
1215
+ // src/hooks/use-default-panel-settings.ts
1216
+ var import_react13 = require("react");
1217
+ var fallbackEditorSettings = {
1218
+ defaultSectionsExpanded: {
1219
+ settings: ["Content", "Settings"],
1220
+ style: []
1221
+ },
1222
+ defaultTab: "settings"
1223
+ };
1224
+ var defaultPanelSettingsContext = (0, import_react13.createContext)({
1225
+ "e-div-block": {
1226
+ defaultSectionsExpanded: fallbackEditorSettings.defaultSectionsExpanded,
1227
+ defaultTab: "style"
1228
+ },
1229
+ "e-flexbox": {
1230
+ defaultSectionsExpanded: fallbackEditorSettings.defaultSectionsExpanded,
1231
+ defaultTab: "style"
1232
+ }
1233
+ });
1234
+ var useDefaultPanelSettings = () => {
1235
+ const { element } = useElement();
1236
+ const defaults = (0, import_react13.useContext)(defaultPanelSettingsContext)[element.type];
1237
+ return defaults || fallbackEditorSettings;
1238
+ };
1239
+
1060
1240
  // src/hooks/use-state-by-element.ts
1061
- var import_react11 = require("react");
1062
- var import_editor_v1_adapters = require("@elementor/editor-v1-adapters");
1241
+ var import_react14 = require("react");
1242
+ var import_editor_v1_adapters2 = require("@elementor/editor-v1-adapters");
1063
1243
  var import_session = require("@elementor/session");
1244
+
1245
+ // src/sync/experiments-flags.ts
1246
+ var EXPERIMENTAL_FEATURES = {
1247
+ V_3_30: "e_v_3_30"
1248
+ };
1249
+
1250
+ // src/hooks/use-state-by-element.ts
1064
1251
  var useStateByElement = (key, initialValue) => {
1065
1252
  const { element } = useElement();
1066
- const isFeatureActive = (0, import_editor_v1_adapters.isExperimentActive)("e_v_3_30");
1253
+ const isFeatureActive = (0, import_editor_v1_adapters2.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_30);
1067
1254
  const lookup = `elementor/editor-state/${element.id}/${key}`;
1068
1255
  const storedValue = isFeatureActive ? (0, import_session.getSessionStorageItem)(lookup) : initialValue;
1069
- const [value, setValue] = (0, import_react11.useState)(storedValue ?? initialValue);
1256
+ const [value, setValue] = (0, import_react14.useState)(storedValue ?? initialValue);
1070
1257
  const doUpdate = (newValue) => {
1071
1258
  (0, import_session.setSessionStorageItem)(lookup, newValue);
1072
1259
  setValue(newValue);
@@ -1075,13 +1262,14 @@ var useStateByElement = (key, initialValue) => {
1075
1262
  };
1076
1263
 
1077
1264
  // src/components/settings-tab.tsx
1078
- var React16 = __toESM(require("react"));
1265
+ var React17 = __toESM(require("react"));
1079
1266
  var import_editor_controls4 = require("@elementor/editor-controls");
1267
+ var import_editor_v1_adapters3 = require("@elementor/editor-v1-adapters");
1080
1268
  var import_session2 = require("@elementor/session");
1081
1269
  var import_ui14 = require("@elementor/ui");
1082
1270
 
1083
1271
  // src/controls-registry/control.tsx
1084
- var React11 = __toESM(require("react"));
1272
+ var React12 = __toESM(require("react"));
1085
1273
 
1086
1274
  // src/controls-registry/controls-registry.tsx
1087
1275
  var import_editor_controls2 = require("@elementor/editor-controls");
@@ -1093,7 +1281,8 @@ var controlTypes = {
1093
1281
  size: { component: import_editor_controls2.SizeControl, layout: "two-columns" },
1094
1282
  select: { component: import_editor_controls2.SelectControl, layout: "two-columns" },
1095
1283
  link: { component: import_editor_controls2.LinkControl, layout: "full" },
1096
- url: { component: import_editor_controls2.UrlControl, layout: "full" }
1284
+ url: { component: import_editor_controls2.UrlControl, layout: "full" },
1285
+ switch: { component: import_editor_controls2.SwitchControl, layout: "two-columns" }
1097
1286
  };
1098
1287
  var getControl = (type) => controlTypes[type]?.component;
1099
1288
  var getDefaultLayout = (type) => controlTypes[type].layout;
@@ -1107,14 +1296,14 @@ var Control = ({ props, type }) => {
1107
1296
  context: { controlType: type }
1108
1297
  });
1109
1298
  }
1110
- return /* @__PURE__ */ React11.createElement(ControlByType, { ...props, context: { elementId: element.id } });
1299
+ return /* @__PURE__ */ React12.createElement(ControlByType, { ...props, context: { elementId: element.id } });
1111
1300
  };
1112
1301
 
1113
1302
  // src/controls-registry/control-type-container.tsx
1114
- var React12 = __toESM(require("react"));
1303
+ var React13 = __toESM(require("react"));
1115
1304
  var import_ui10 = require("@elementor/ui");
1116
1305
  var ControlTypeContainer = ({ children, layout }) => {
1117
- return /* @__PURE__ */ React12.createElement(StyledContainer, { layout }, children);
1306
+ return /* @__PURE__ */ React13.createElement(StyledContainer, { layout }, children);
1118
1307
  };
1119
1308
  var StyledContainer = (0, import_ui10.styled)(import_ui10.Box, {
1120
1309
  shouldForwardProp: (prop) => !["layout"].includes(prop)
@@ -1132,7 +1321,7 @@ var getGridLayout = (layout) => ({
1132
1321
  });
1133
1322
 
1134
1323
  // src/controls-registry/settings-field.tsx
1135
- var React13 = __toESM(require("react"));
1324
+ var React14 = __toESM(require("react"));
1136
1325
  var import_editor_controls3 = require("@elementor/editor-controls");
1137
1326
  var import_editor_elements3 = require("@elementor/editor-elements");
1138
1327
 
@@ -1161,12 +1350,12 @@ var SettingsField = ({ bind, children }) => {
1161
1350
  props: { ...newValue }
1162
1351
  });
1163
1352
  };
1164
- return /* @__PURE__ */ React13.createElement(import_editor_controls3.PropProvider, { propType, value, setValue }, /* @__PURE__ */ React13.createElement(import_editor_controls3.PropKeyProvider, { bind }, children));
1353
+ return /* @__PURE__ */ React14.createElement(import_editor_controls3.PropProvider, { propType, value, setValue }, /* @__PURE__ */ React14.createElement(import_editor_controls3.PropKeyProvider, { bind }, children));
1165
1354
  };
1166
1355
 
1167
1356
  // src/components/section.tsx
1168
- var React14 = __toESM(require("react"));
1169
- var import_react12 = require("react");
1357
+ var React15 = __toESM(require("react"));
1358
+ var import_react15 = require("react");
1170
1359
  var import_ui12 = require("@elementor/ui");
1171
1360
 
1172
1361
  // src/components/collapse-icon.tsx
@@ -1184,10 +1373,10 @@ var CollapseIcon = (0, import_ui11.styled)(import_icons4.ChevronDownIcon, {
1184
1373
  // src/components/section.tsx
1185
1374
  function Section({ title, children, defaultExpanded = false }) {
1186
1375
  const [isOpen, setIsOpen] = useStateByElement(title, !!defaultExpanded);
1187
- const id = (0, import_react12.useId)();
1376
+ const id = (0, import_react15.useId)();
1188
1377
  const labelId = `label-${id}`;
1189
1378
  const contentId = `content-${id}`;
1190
- return /* @__PURE__ */ React14.createElement(React14.Fragment, null, /* @__PURE__ */ React14.createElement(
1379
+ return /* @__PURE__ */ React15.createElement(React15.Fragment, null, /* @__PURE__ */ React15.createElement(
1191
1380
  import_ui12.ListItemButton,
1192
1381
  {
1193
1382
  id: labelId,
@@ -1195,38 +1384,48 @@ function Section({ title, children, defaultExpanded = false }) {
1195
1384
  onClick: () => setIsOpen(!isOpen),
1196
1385
  sx: { "&:hover": { backgroundColor: "transparent" } }
1197
1386
  },
1198
- /* @__PURE__ */ React14.createElement(
1387
+ /* @__PURE__ */ React15.createElement(
1199
1388
  import_ui12.ListItemText,
1200
1389
  {
1201
1390
  secondary: title,
1202
1391
  secondaryTypographyProps: { color: "text.primary", variant: "caption", fontWeight: "bold" }
1203
1392
  }
1204
1393
  ),
1205
- /* @__PURE__ */ React14.createElement(CollapseIcon, { open: isOpen, color: "secondary", fontSize: "tiny" })
1206
- ), /* @__PURE__ */ React14.createElement(import_ui12.Collapse, { id: contentId, "aria-labelledby": labelId, in: isOpen, timeout: "auto", unmountOnExit: true }, /* @__PURE__ */ React14.createElement(import_ui12.Stack, { gap: 2.5, p: 2 }, children)), /* @__PURE__ */ React14.createElement(import_ui12.Divider, null));
1394
+ /* @__PURE__ */ React15.createElement(CollapseIcon, { open: isOpen, color: "secondary", fontSize: "tiny" })
1395
+ ), /* @__PURE__ */ React15.createElement(import_ui12.Collapse, { id: contentId, "aria-labelledby": labelId, in: isOpen, timeout: "auto", unmountOnExit: true }, /* @__PURE__ */ React15.createElement(import_ui12.Stack, { gap: 2.5, p: 2 }, children)), /* @__PURE__ */ React15.createElement(import_ui12.Divider, null));
1207
1396
  }
1208
1397
 
1209
1398
  // src/components/sections-list.tsx
1210
- var React15 = __toESM(require("react"));
1399
+ var React16 = __toESM(require("react"));
1211
1400
  var import_ui13 = require("@elementor/ui");
1212
1401
  function SectionsList(props) {
1213
- return /* @__PURE__ */ React15.createElement(import_ui13.List, { disablePadding: true, component: "div", ...props });
1402
+ return /* @__PURE__ */ React16.createElement(import_ui13.List, { disablePadding: true, component: "div", ...props });
1214
1403
  }
1215
1404
 
1216
1405
  // src/components/settings-tab.tsx
1217
1406
  var SettingsTab = () => {
1218
1407
  const { elementType, element } = useElement();
1219
- return /* @__PURE__ */ React16.createElement(import_session2.SessionStorageProvider, { prefix: element.id }, /* @__PURE__ */ React16.createElement(SectionsList, null, elementType.controls.map(({ type, value }, index) => {
1408
+ const settingsDefault = useDefaultPanelSettings();
1409
+ const isDefaultExpanded = (sectionId) => (0, import_editor_v1_adapters3.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_30) ? settingsDefault.defaultSectionsExpanded.settings?.includes(sectionId) : true;
1410
+ return /* @__PURE__ */ React17.createElement(import_session2.SessionStorageProvider, { prefix: element.id }, /* @__PURE__ */ React17.createElement(SectionsList, null, elementType.controls.map(({ type, value }, index) => {
1220
1411
  if (type === "control") {
1221
- return /* @__PURE__ */ React16.createElement(Control2, { key: value.bind, control: value });
1412
+ return /* @__PURE__ */ React17.createElement(Control2, { key: value.bind, control: value });
1222
1413
  }
1223
1414
  if (type === "section") {
1224
- return /* @__PURE__ */ React16.createElement(Section, { title: value.label, key: type + "." + index, defaultExpanded: true }, value.items?.map((item) => {
1225
- if (item.type === "control") {
1226
- return /* @__PURE__ */ React16.createElement(Control2, { key: item.value.bind, control: item.value });
1227
- }
1228
- return null;
1229
- }));
1415
+ return /* @__PURE__ */ React17.createElement(
1416
+ Section,
1417
+ {
1418
+ title: value.label,
1419
+ key: type + "." + index,
1420
+ defaultExpanded: isDefaultExpanded(value.label)
1421
+ },
1422
+ value.items?.map((item) => {
1423
+ if (item.type === "control") {
1424
+ return /* @__PURE__ */ React17.createElement(Control2, { key: item.value.bind, control: item.value });
1425
+ }
1426
+ return null;
1427
+ })
1428
+ );
1230
1429
  }
1231
1430
  return null;
1232
1431
  })));
@@ -1236,36 +1435,40 @@ var Control2 = ({ control }) => {
1236
1435
  return null;
1237
1436
  }
1238
1437
  const layout = control.meta?.layout || getDefaultLayout(control.type);
1239
- return /* @__PURE__ */ React16.createElement(SettingsField, { bind: control.bind }, control.meta?.topDivider && /* @__PURE__ */ React16.createElement(import_ui14.Divider, null), /* @__PURE__ */ React16.createElement(ControlTypeContainer, { layout }, control.label ? /* @__PURE__ */ React16.createElement(import_editor_controls4.ControlFormLabel, null, control.label) : null, /* @__PURE__ */ React16.createElement(Control, { type: control.type, props: control.props })));
1438
+ return /* @__PURE__ */ React17.createElement(SettingsField, { bind: control.bind }, control.meta?.topDivider && /* @__PURE__ */ React17.createElement(import_ui14.Divider, null), /* @__PURE__ */ React17.createElement(ControlTypeContainer, { layout }, control.label ? /* @__PURE__ */ React17.createElement(import_editor_controls4.ControlFormLabel, null, control.label) : null, /* @__PURE__ */ React17.createElement(Control, { type: control.type, props: control.props })));
1240
1439
  };
1241
1440
 
1242
1441
  // src/components/style-tab.tsx
1243
- var React72 = __toESM(require("react"));
1244
- var import_react25 = require("react");
1245
- var import_editor_props7 = require("@elementor/editor-props");
1442
+ var React73 = __toESM(require("react"));
1443
+ var import_react27 = require("react");
1444
+ var import_editor_props10 = require("@elementor/editor-props");
1246
1445
  var import_editor_responsive2 = require("@elementor/editor-responsive");
1446
+ var import_editor_v1_adapters11 = require("@elementor/editor-v1-adapters");
1247
1447
  var import_session4 = require("@elementor/session");
1248
1448
  var import_ui60 = require("@elementor/ui");
1249
- var import_i18n48 = require("@wordpress/i18n");
1449
+ var import_i18n49 = require("@wordpress/i18n");
1250
1450
 
1251
1451
  // src/contexts/styles-inheritance-context.tsx
1252
- var React17 = __toESM(require("react"));
1253
- var import_react14 = require("react");
1452
+ var React18 = __toESM(require("react"));
1453
+ var import_react17 = require("react");
1254
1454
  var import_editor_elements4 = require("@elementor/editor-elements");
1255
- var import_editor_props3 = require("@elementor/editor-props");
1455
+ var import_editor_props5 = require("@elementor/editor-props");
1256
1456
  var import_editor_responsive = require("@elementor/editor-responsive");
1257
1457
  var import_editor_styles_repository5 = require("@elementor/editor-styles-repository");
1258
1458
 
1259
1459
  // src/hooks/use-styles-rerender.ts
1260
- var import_react13 = require("react");
1460
+ var import_react16 = require("react");
1261
1461
  var useStylesRerender = () => {
1262
1462
  const { provider } = useStyle();
1263
- const [, reRender] = (0, import_react13.useReducer)((p) => !p, false);
1264
- (0, import_react13.useEffect)(() => provider?.subscribe(reRender), [provider]);
1463
+ const [, reRender] = (0, import_react16.useReducer)((p) => !p, false);
1464
+ (0, import_react16.useEffect)(() => provider?.subscribe(reRender), [provider]);
1265
1465
  };
1266
1466
 
1467
+ // src/styles-inheritance/create-styles-inheritance.ts
1468
+ var import_editor_props4 = require("@elementor/editor-props");
1469
+
1267
1470
  // src/styles-inheritance/create-snapshots-manager.ts
1268
- var import_editor_props2 = require("@elementor/editor-props");
1471
+ var import_editor_props3 = require("@elementor/editor-props");
1269
1472
 
1270
1473
  // src/styles-inheritance/utils.ts
1271
1474
  var DEFAULT_STATE = "normal";
@@ -1357,7 +1560,7 @@ function buildInitialSnapshotFromStyles(styles) {
1357
1560
  variant: { props }
1358
1561
  } = styleData;
1359
1562
  Object.entries(props).forEach(([key, value]) => {
1360
- const filteredValue = (0, import_editor_props2.filterEmptyValues)(value);
1563
+ const filteredValue = (0, import_editor_props3.filterEmptyValues)(value);
1361
1564
  if (filteredValue === null) {
1362
1565
  return;
1363
1566
  }
@@ -1393,7 +1596,20 @@ function mergeSnapshots(snapshots) {
1393
1596
  function createStylesInheritance(styleDefs, breakpointsRoot) {
1394
1597
  const styleVariantsByMeta = buildStyleVariantsByMetaMapping(styleDefs);
1395
1598
  const getStyles = ({ breakpoint, state }) => styleVariantsByMeta?.[getBreakpointKey(breakpoint)]?.[getStateKey(state)] ?? [];
1396
- return createSnapshotsManager(getStyles, breakpointsRoot);
1599
+ return {
1600
+ getSnapshot: createSnapshotsManager(getStyles, breakpointsRoot),
1601
+ getInheritanceChain: (snapshot, path) => {
1602
+ const [field, ...nextFields] = path;
1603
+ let inheritanceChain = snapshot[field] ?? [];
1604
+ if (nextFields.length > 0) {
1605
+ inheritanceChain = inheritanceChain.map(({ value: styleValue, ...rest }) => ({
1606
+ ...rest,
1607
+ value: getValueByPath(styleValue, nextFields)
1608
+ })).filter(({ value: styleValue }) => !(0, import_editor_props4.isEmpty)(styleValue));
1609
+ }
1610
+ return inheritanceChain;
1611
+ }
1612
+ };
1397
1613
  }
1398
1614
  function buildStyleVariantsByMetaMapping(styleDefs) {
1399
1615
  const breakpointStateSlots = {};
@@ -1420,32 +1636,53 @@ function buildStyleVariantsByMetaMapping(styleDefs) {
1420
1636
  });
1421
1637
  return breakpointStateSlots;
1422
1638
  }
1639
+ function getValueByPath(value, path) {
1640
+ if (!value || typeof value !== "object") {
1641
+ return null;
1642
+ }
1643
+ return path.reduce((currentScope, key) => {
1644
+ if (!currentScope) {
1645
+ return null;
1646
+ }
1647
+ if ((0, import_editor_props4.isTransformable)(currentScope)) {
1648
+ return currentScope.value?.[key];
1649
+ }
1650
+ if (typeof currentScope === "object") {
1651
+ return currentScope[key];
1652
+ }
1653
+ return null;
1654
+ }, value);
1655
+ }
1423
1656
 
1424
1657
  // src/contexts/styles-inheritance-context.tsx
1425
- var Context4 = (0, import_react14.createContext)(null);
1658
+ var Context4 = (0, import_react17.createContext)(null);
1426
1659
  function StyleInheritanceProvider({ children }) {
1427
1660
  const styleDefs = useAppliedStyles();
1428
1661
  const breakpointsTree = (0, import_editor_responsive.getBreakpointsTree)();
1429
- const getSnapshot = createStylesInheritance(styleDefs, breakpointsTree);
1430
- return /* @__PURE__ */ React17.createElement(Context4.Provider, { value: { getSnapshot } }, children);
1662
+ const { getSnapshot, getInheritanceChain } = createStylesInheritance(styleDefs, breakpointsTree);
1663
+ return /* @__PURE__ */ React18.createElement(Context4.Provider, { value: { getSnapshot, getInheritanceChain } }, children);
1431
1664
  }
1432
- function useStylesInheritanceFields(fields) {
1433
- const context = (0, import_react14.useContext)(Context4);
1665
+ function useStylesInheritanceSnapshot() {
1666
+ const context = (0, import_react17.useContext)(Context4);
1434
1667
  const { meta } = useStyle();
1435
1668
  if (!context) {
1436
- throw new Error("useStylesInheritanceFields must be used within a StyleInheritanceProvider");
1669
+ throw new Error("useStylesInheritanceSnapshot must be used within a StyleInheritanceProvider");
1437
1670
  }
1438
1671
  if (!meta) {
1439
1672
  return null;
1440
1673
  }
1441
- const snapshot = context.getSnapshot(meta);
1442
- return fields.reduce(
1443
- (acc, key) => ({ ...acc, [key]: snapshot?.[key] ?? [] }),
1444
- {}
1445
- );
1674
+ return context.getSnapshot(meta) ?? null;
1446
1675
  }
1447
- function useStylesInheritanceField(field) {
1448
- return useStylesInheritanceFields([field])?.[field] ?? [];
1676
+ function useStylesInheritanceChain(path) {
1677
+ const context = (0, import_react17.useContext)(Context4);
1678
+ if (!context) {
1679
+ throw new Error("useStylesInheritanceChain must be used within a StyleInheritanceProvider");
1680
+ }
1681
+ const snapshot = useStylesInheritanceSnapshot();
1682
+ if (!snapshot) {
1683
+ return [];
1684
+ }
1685
+ return context.getInheritanceChain(snapshot, path);
1449
1686
  }
1450
1687
  var useAppliedStyles = () => {
1451
1688
  const { element } = useElement();
@@ -1453,7 +1690,7 @@ var useAppliedStyles = () => {
1453
1690
  const baseStyles = useBaseStyles();
1454
1691
  useStylesRerender();
1455
1692
  const classesProp = (0, import_editor_elements4.useElementSetting)(element.id, currentClassesProp);
1456
- const appliedStyles = import_editor_props3.classesPropTypeUtil.extract(classesProp);
1693
+ const appliedStyles = import_editor_props5.classesPropTypeUtil.extract(classesProp);
1457
1694
  return import_editor_styles_repository5.stylesRepository.all().filter((style) => appliedStyles?.includes(style.id)).concat(baseStyles);
1458
1695
  };
1459
1696
  var useBaseStyles = () => {
@@ -1464,10 +1701,12 @@ var useBaseStyles = () => {
1464
1701
  };
1465
1702
 
1466
1703
  // src/hooks/use-active-style-def-id.ts
1467
- var import_react15 = require("react");
1468
1704
  var import_editor_elements5 = require("@elementor/editor-elements");
1469
1705
  function useActiveStyleDefId(classProp) {
1470
- const [activeStyledDefId, setActiveStyledDefId] = (0, import_react15.useState)(null);
1706
+ const [activeStyledDefId, setActiveStyledDefId] = useStateByElement(
1707
+ "active-style-id",
1708
+ null
1709
+ );
1471
1710
  const appliedClassesIds = useAppliedClassesIds2(classProp)?.value || [];
1472
1711
  const fallback = useFirstAppliedClass(appliedClassesIds);
1473
1712
  const activeAndAppliedClassId = useActiveAndAppliedClassId(activeStyledDefId, appliedClassesIds);
@@ -1488,21 +1727,21 @@ function useActiveAndAppliedClassId(id, appliedClassesIds) {
1488
1727
  }
1489
1728
 
1490
1729
  // src/components/style-sections/background-section/background-section.tsx
1491
- var React21 = __toESM(require("react"));
1730
+ var React22 = __toESM(require("react"));
1492
1731
  var import_editor_controls7 = require("@elementor/editor-controls");
1493
1732
 
1494
1733
  // src/controls-registry/styles-field.tsx
1495
- var React20 = __toESM(require("react"));
1734
+ var React21 = __toESM(require("react"));
1496
1735
  var import_editor_controls6 = require("@elementor/editor-controls");
1497
- var import_editor_styles3 = require("@elementor/editor-styles");
1736
+ var import_editor_styles2 = require("@elementor/editor-styles");
1498
1737
 
1499
1738
  // src/hooks/use-styles-fields.ts
1500
- var import_react16 = require("react");
1739
+ var import_react18 = require("react");
1501
1740
  var import_editor_elements6 = require("@elementor/editor-elements");
1502
1741
  var import_editor_styles = require("@elementor/editor-styles");
1503
1742
  var import_editor_styles_repository6 = require("@elementor/editor-styles-repository");
1504
- var import_editor_v1_adapters2 = require("@elementor/editor-v1-adapters");
1505
- var import_i18n4 = require("@wordpress/i18n");
1743
+ var import_editor_v1_adapters4 = require("@elementor/editor-v1-adapters");
1744
+ var import_i18n5 = require("@wordpress/i18n");
1506
1745
  function useStylesFields(propNames) {
1507
1746
  const { element } = useElement();
1508
1747
  const { id, meta, provider } = useStyle();
@@ -1551,8 +1790,8 @@ function getProps({ styleId, elementId, provider, meta, propNames }) {
1551
1790
  );
1552
1791
  }
1553
1792
  function useUndoableCreateElementStyle() {
1554
- return (0, import_react16.useMemo)(() => {
1555
- return (0, import_editor_v1_adapters2.undoable)(
1793
+ return (0, import_react18.useMemo)(() => {
1794
+ return (0, import_editor_v1_adapters4.undoable)(
1556
1795
  {
1557
1796
  do: (payload) => {
1558
1797
  return (0, import_editor_elements6.createElementStyle)({
@@ -1573,14 +1812,14 @@ function useUndoableCreateElementStyle() {
1573
1812
  },
1574
1813
  {
1575
1814
  title: ({ elementId }) => (0, import_editor_elements6.getElementLabel)(elementId),
1576
- subtitle: (0, import_i18n4.__)("Style edited", "elementor")
1815
+ subtitle: (0, import_i18n5.__)("Style edited", "elementor")
1577
1816
  }
1578
1817
  );
1579
1818
  }, []);
1580
1819
  }
1581
1820
  function useUndoableUpdateStyle() {
1582
- return (0, import_react16.useMemo)(() => {
1583
- return (0, import_editor_v1_adapters2.undoable)(
1821
+ return (0, import_react18.useMemo)(() => {
1822
+ return (0, import_editor_v1_adapters4.undoable)(
1584
1823
  {
1585
1824
  do: ({ elementId, styleId, provider, meta, props }) => {
1586
1825
  if (!provider.actions.updateProps) {
@@ -1606,7 +1845,7 @@ function useUndoableUpdateStyle() {
1606
1845
  },
1607
1846
  {
1608
1847
  title: ({ elementId }) => (0, import_editor_elements6.getElementLabel)(elementId),
1609
- subtitle: (0, import_i18n4.__)("Style edited", "elementor")
1848
+ subtitle: (0, import_i18n5.__)("Style edited", "elementor")
1610
1849
  }
1611
1850
  );
1612
1851
  }, []);
@@ -1633,27 +1872,27 @@ function useStylesField(propName) {
1633
1872
  }
1634
1873
 
1635
1874
  // src/styles-inheritance/styles-inheritance-indicator.tsx
1636
- var React19 = __toESM(require("react"));
1637
- var import_react19 = require("react");
1875
+ var React20 = __toESM(require("react"));
1876
+ var import_react21 = require("react");
1638
1877
  var import_editor_controls5 = require("@elementor/editor-controls");
1878
+ var import_editor_props6 = require("@elementor/editor-props");
1639
1879
  var import_editor_styles_repository7 = require("@elementor/editor-styles-repository");
1640
- var import_editor_v1_adapters3 = require("@elementor/editor-v1-adapters");
1880
+ var import_editor_v1_adapters5 = require("@elementor/editor-v1-adapters");
1641
1881
  var import_ui16 = require("@elementor/ui");
1642
- var import_i18n5 = require("@wordpress/i18n");
1882
+ var import_i18n6 = require("@wordpress/i18n");
1643
1883
 
1644
1884
  // src/styles-inheritance/styles-inheritance-infotip.tsx
1645
- var React18 = __toESM(require("react"));
1646
- var import_react18 = require("react");
1885
+ var React19 = __toESM(require("react"));
1886
+ var import_react20 = require("react");
1647
1887
  var import_editor_canvas = require("@elementor/editor-canvas");
1648
- var import_editor_styles2 = require("@elementor/editor-styles");
1649
1888
  var import_ui15 = require("@elementor/ui");
1650
1889
 
1651
1890
  // src/hooks/use-normalized-inheritance-chain-items.tsx
1652
- var import_react17 = require("react");
1891
+ var import_react19 = require("react");
1653
1892
  var MAXIMUM_ITEMS = 2;
1654
1893
  var useNormalizedInheritanceChainItems = (inheritanceChain, bind, resolve) => {
1655
- const [items3, setItems] = (0, import_react17.useState)([]);
1656
- (0, import_react17.useEffect)(() => {
1894
+ const [items3, setItems] = (0, import_react19.useState)([]);
1895
+ (0, import_react19.useEffect)(() => {
1657
1896
  (async () => {
1658
1897
  const normalizedItems = await Promise.all(
1659
1898
  inheritanceChain.filter((item) => item.style?.label).map((item, index) => normalizeInheritanceItem(item, index, bind, resolve))
@@ -1689,16 +1928,16 @@ var getTransformedValue = async (item, bind, resolve) => {
1689
1928
  };
1690
1929
 
1691
1930
  // src/styles-inheritance/styles-inheritance-infotip.tsx
1692
- var StyleIndicatorInfotip = ({ inheritanceChain, bind }) => {
1693
- const resolve = (0, import_react18.useMemo)(() => {
1694
- const stylesSchema = (0, import_editor_styles2.getStylesSchema)();
1931
+ var StyleIndicatorInfotip = ({ inheritanceChain, propType, path }) => {
1932
+ const key = path.join(".");
1933
+ const resolve = (0, import_react20.useMemo)(() => {
1695
1934
  return (0, import_editor_canvas.createPropsResolver)({
1696
1935
  transformers: import_editor_canvas.styleTransformersRegistry,
1697
- schema: { [bind]: stylesSchema[bind] }
1936
+ schema: { [key]: propType }
1698
1937
  });
1699
- }, [bind]);
1700
- const items3 = useNormalizedInheritanceChainItems(inheritanceChain, bind, resolve);
1701
- return /* @__PURE__ */ React18.createElement(import_ui15.Card, { elevation: 0, sx: { maxWidth: 320 } }, /* @__PURE__ */ React18.createElement(import_ui15.CardContent, { sx: { p: 1.5, pb: 2.5 } }, /* @__PURE__ */ React18.createElement(import_ui15.List, null, items3.map((item) => /* @__PURE__ */ React18.createElement(import_ui15.ListItem, { key: item.id }, /* @__PURE__ */ React18.createElement(
1938
+ }, [key, propType]);
1939
+ const items3 = useNormalizedInheritanceChainItems(inheritanceChain, key, resolve);
1940
+ return /* @__PURE__ */ React19.createElement(import_ui15.Card, { elevation: 0, sx: { maxWidth: 320 } }, /* @__PURE__ */ React19.createElement(import_ui15.CardContent, { sx: { p: 1.5, pb: 2.5 } }, /* @__PURE__ */ React19.createElement(import_ui15.List, null, items3.map((item) => /* @__PURE__ */ React19.createElement(import_ui15.ListItem, { key: item.id }, /* @__PURE__ */ React19.createElement(
1702
1941
  import_ui15.ListItemText,
1703
1942
  {
1704
1943
  primary: `${item.breakpoint} | ${item.displayLabel}. ${item.value}`
@@ -1708,11 +1947,12 @@ var StyleIndicatorInfotip = ({ inheritanceChain, bind }) => {
1708
1947
 
1709
1948
  // src/styles-inheritance/styles-inheritance-indicator.tsx
1710
1949
  var StylesInheritanceIndicator = () => {
1711
- const [open, setOpen] = (0, import_react19.useState)(false);
1712
- const { value, path } = (0, import_editor_controls5.useBoundProp)();
1950
+ const [open, setOpen] = (0, import_react21.useState)(false);
1951
+ const { value, path, propType } = (0, import_editor_controls5.useBoundProp)();
1713
1952
  const { id: currentStyleId, provider: currentStyleProvider, meta: currentStyleMeta } = useStyle();
1714
- const [bind] = path;
1715
- const inheritanceChain = useStylesInheritanceField(bind);
1953
+ const isUsingNestedProps = (0, import_editor_v1_adapters5.isExperimentActive)("e_v_3_30");
1954
+ const finalPath = isUsingNestedProps ? path : path.slice(0, 1);
1955
+ const inheritanceChain = useStylesInheritanceChain(finalPath);
1716
1956
  if (!inheritanceChain.length) {
1717
1957
  return null;
1718
1958
  }
@@ -1722,34 +1962,34 @@ var StylesInheritanceIndicator = () => {
1722
1962
  }
1723
1963
  const { breakpoint, state } = variant.meta;
1724
1964
  const isFinalValue = style.id === currentStyleId && breakpoint === currentStyleMeta.breakpoint && state === currentStyleMeta.state;
1725
- const hasValue = value !== null && value !== void 0;
1965
+ const hasValue = !(0, import_editor_props6.isEmpty)(value);
1726
1966
  const label = getLabel({ isFinalValue, hasValue });
1727
1967
  const variantType = getVariant({ isFinalValue, hasValue, currentStyleProvider });
1728
- const eIndicationsPopover = (0, import_editor_v1_adapters3.isExperimentActive)("e_indications_popover");
1968
+ const eIndicationsPopover = (0, import_editor_v1_adapters5.isExperimentActive)("e_indications_popover");
1729
1969
  if (!eIndicationsPopover) {
1730
- return /* @__PURE__ */ React19.createElement(StyleIndicator, { variant: variantType, "aria-label": label });
1970
+ return /* @__PURE__ */ React20.createElement(StyleIndicator, { variant: variantType, "aria-label": label });
1731
1971
  }
1732
1972
  const toggleOpen = () => setOpen((prev) => !prev);
1733
- return /* @__PURE__ */ React19.createElement(
1973
+ return /* @__PURE__ */ React20.createElement(
1734
1974
  import_ui16.Infotip,
1735
1975
  {
1736
1976
  placement: "top",
1737
- content: /* @__PURE__ */ React19.createElement(StyleIndicatorInfotip, { inheritanceChain, bind }),
1977
+ content: /* @__PURE__ */ React20.createElement(StyleIndicatorInfotip, { inheritanceChain, path: finalPath, propType }),
1738
1978
  open,
1739
1979
  onClose: () => setOpen(false),
1740
1980
  trigger: "manual"
1741
1981
  },
1742
- /* @__PURE__ */ React19.createElement(import_ui16.IconButton, { onClick: toggleOpen, "aria-label": label }, /* @__PURE__ */ React19.createElement(StyleIndicator, { variant: variantType }))
1982
+ /* @__PURE__ */ React20.createElement(import_ui16.IconButton, { onClick: toggleOpen, "aria-label": label }, /* @__PURE__ */ React20.createElement(StyleIndicator, { variant: variantType }))
1743
1983
  );
1744
1984
  };
1745
1985
  var getLabel = ({ isFinalValue, hasValue }) => {
1746
1986
  if (isFinalValue) {
1747
- return (0, import_i18n5.__)("This is the final value", "elementor");
1987
+ return (0, import_i18n6.__)("This is the final value", "elementor");
1748
1988
  }
1749
1989
  if (hasValue) {
1750
- return (0, import_i18n5.__)("This value is overridden by another style", "elementor");
1990
+ return (0, import_i18n6.__)("This value is overridden by another style", "elementor");
1751
1991
  }
1752
- return (0, import_i18n5.__)("This has value from another style", "elementor");
1992
+ return (0, import_i18n6.__)("This has value from another style", "elementor");
1753
1993
  };
1754
1994
  var getVariant = ({
1755
1995
  isFinalValue,
@@ -1768,14 +2008,14 @@ var getVariant = ({
1768
2008
  // src/controls-registry/styles-field.tsx
1769
2009
  var StylesField = ({ bind, placeholder, children }) => {
1770
2010
  const [value, setValue] = useStylesField(bind);
1771
- const stylesSchema = (0, import_editor_styles3.getStylesSchema)();
2011
+ const stylesSchema = (0, import_editor_styles2.getStylesSchema)();
1772
2012
  const propType = createTopLevelOjectType({ schema: stylesSchema });
1773
2013
  const values = { [bind]: value };
1774
2014
  const placeholderValues = { [bind]: placeholder };
1775
2015
  const setValues = (newValue) => {
1776
2016
  setValue(newValue[bind]);
1777
2017
  };
1778
- return /* @__PURE__ */ React20.createElement(
2018
+ return /* @__PURE__ */ React21.createElement(
1779
2019
  import_editor_controls6.ControlAdornmentsProvider,
1780
2020
  {
1781
2021
  items: [
@@ -1785,7 +2025,7 @@ var StylesField = ({ bind, placeholder, children }) => {
1785
2025
  }
1786
2026
  ]
1787
2027
  },
1788
- /* @__PURE__ */ React20.createElement(
2028
+ /* @__PURE__ */ React21.createElement(
1789
2029
  import_editor_controls6.PropProvider,
1790
2030
  {
1791
2031
  propType,
@@ -1793,50 +2033,50 @@ var StylesField = ({ bind, placeholder, children }) => {
1793
2033
  setValue: setValues,
1794
2034
  placeholder: placeholderValues
1795
2035
  },
1796
- /* @__PURE__ */ React20.createElement(import_editor_controls6.PropKeyProvider, { bind }, children)
2036
+ /* @__PURE__ */ React21.createElement(import_editor_controls6.PropKeyProvider, { bind }, children)
1797
2037
  )
1798
2038
  );
1799
2039
  };
1800
2040
 
1801
2041
  // src/components/style-sections/background-section/background-section.tsx
1802
2042
  var BackgroundSection = () => {
1803
- return /* @__PURE__ */ React21.createElement(StylesField, { bind: "background" }, /* @__PURE__ */ React21.createElement(import_editor_controls7.BackgroundControl, null));
2043
+ return /* @__PURE__ */ React22.createElement(StylesField, { bind: "background" }, /* @__PURE__ */ React22.createElement(import_editor_controls7.BackgroundControl, null));
1804
2044
  };
1805
2045
 
1806
2046
  // src/components/style-sections/border-section/border-section.tsx
1807
- var React31 = __toESM(require("react"));
2047
+ var React32 = __toESM(require("react"));
1808
2048
 
1809
2049
  // src/components/panel-divider.tsx
1810
- var React22 = __toESM(require("react"));
2050
+ var React23 = __toESM(require("react"));
1811
2051
  var import_ui17 = require("@elementor/ui");
1812
- var PanelDivider = () => /* @__PURE__ */ React22.createElement(import_ui17.Divider, { sx: { my: 0.5 } });
2052
+ var PanelDivider = () => /* @__PURE__ */ React23.createElement(import_ui17.Divider, { sx: { my: 0.5 } });
1813
2053
 
1814
2054
  // src/components/section-content.tsx
1815
- var React23 = __toESM(require("react"));
2055
+ var React24 = __toESM(require("react"));
1816
2056
  var import_ui18 = require("@elementor/ui");
1817
- var SectionContent = ({ gap = 2, sx, children }) => /* @__PURE__ */ React23.createElement(import_ui18.Stack, { gap, sx: { ...sx } }, children);
2057
+ var SectionContent = ({ gap = 2, sx, children }) => /* @__PURE__ */ React24.createElement(import_ui18.Stack, { gap, sx: { ...sx } }, children);
1818
2058
 
1819
2059
  // src/components/style-sections/border-section/border-field.tsx
1820
- var React29 = __toESM(require("react"));
1821
- var import_i18n9 = require("@wordpress/i18n");
2060
+ var React30 = __toESM(require("react"));
2061
+ var import_i18n10 = require("@wordpress/i18n");
1822
2062
 
1823
2063
  // src/components/add-or-remove-content.tsx
1824
- var React25 = __toESM(require("react"));
2064
+ var React26 = __toESM(require("react"));
1825
2065
  var import_icons5 = require("@elementor/icons");
1826
2066
  var import_ui20 = require("@elementor/ui");
1827
2067
 
1828
2068
  // src/components/control-label.tsx
1829
- var React24 = __toESM(require("react"));
2069
+ var React25 = __toESM(require("react"));
1830
2070
  var import_editor_controls8 = require("@elementor/editor-controls");
1831
2071
  var import_ui19 = require("@elementor/ui");
1832
2072
  var ControlLabel = ({ children }) => {
1833
- return /* @__PURE__ */ React24.createElement(import_ui19.Stack, { direction: "row", alignItems: "center", justifyItems: "start", gap: 1 }, /* @__PURE__ */ React24.createElement(import_editor_controls8.ControlFormLabel, null, children), /* @__PURE__ */ React24.createElement(import_editor_controls8.ControlAdornments, null));
2073
+ return /* @__PURE__ */ React25.createElement(import_ui19.Stack, { direction: "row", alignItems: "center", justifyItems: "start", gap: 1 }, /* @__PURE__ */ React25.createElement(import_editor_controls8.ControlFormLabel, null, children), /* @__PURE__ */ React25.createElement(import_editor_controls8.ControlAdornments, null));
1834
2074
  };
1835
2075
 
1836
2076
  // src/components/add-or-remove-content.tsx
1837
2077
  var SIZE2 = "tiny";
1838
2078
  var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
1839
- return /* @__PURE__ */ React25.createElement(SectionContent, null, /* @__PURE__ */ React25.createElement(
2079
+ return /* @__PURE__ */ React26.createElement(SectionContent, null, /* @__PURE__ */ React26.createElement(
1840
2080
  import_ui20.Stack,
1841
2081
  {
1842
2082
  direction: "row",
@@ -1846,47 +2086,47 @@ var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
1846
2086
  marginInlineEnd: -0.75
1847
2087
  }
1848
2088
  },
1849
- /* @__PURE__ */ React25.createElement(ControlLabel, null, label),
1850
- isAdded ? /* @__PURE__ */ React25.createElement(import_ui20.IconButton, { size: SIZE2, onClick: onRemove, "aria-label": "Remove" }, /* @__PURE__ */ React25.createElement(import_icons5.MinusIcon, { fontSize: SIZE2 })) : /* @__PURE__ */ React25.createElement(import_ui20.IconButton, { size: SIZE2, onClick: onAdd, "aria-label": "Add" }, /* @__PURE__ */ React25.createElement(import_icons5.PlusIcon, { fontSize: SIZE2 }))
1851
- ), /* @__PURE__ */ React25.createElement(import_ui20.Collapse, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React25.createElement(SectionContent, null, children)));
2089
+ /* @__PURE__ */ React26.createElement(ControlLabel, null, label),
2090
+ isAdded ? /* @__PURE__ */ React26.createElement(import_ui20.IconButton, { size: SIZE2, onClick: onRemove, "aria-label": "Remove" }, /* @__PURE__ */ React26.createElement(import_icons5.MinusIcon, { fontSize: SIZE2 })) : /* @__PURE__ */ React26.createElement(import_ui20.IconButton, { size: SIZE2, onClick: onAdd, "aria-label": "Add" }, /* @__PURE__ */ React26.createElement(import_icons5.PlusIcon, { fontSize: SIZE2 }))
2091
+ ), /* @__PURE__ */ React26.createElement(import_ui20.Collapse, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React26.createElement(SectionContent, null, children)));
1852
2092
  };
1853
2093
 
1854
2094
  // src/components/style-sections/border-section/border-color-field.tsx
1855
- var React26 = __toESM(require("react"));
2095
+ var React27 = __toESM(require("react"));
1856
2096
  var import_editor_controls9 = require("@elementor/editor-controls");
1857
2097
  var import_ui21 = require("@elementor/ui");
1858
- var import_i18n6 = require("@wordpress/i18n");
2098
+ var import_i18n7 = require("@wordpress/i18n");
1859
2099
  var BorderColorField = () => {
1860
- return /* @__PURE__ */ React26.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React26.createElement(import_ui21.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React26.createElement(import_ui21.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React26.createElement(ControlLabel, null, (0, import_i18n6.__)("Border color", "elementor"))), /* @__PURE__ */ React26.createElement(import_ui21.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React26.createElement(import_editor_controls9.ColorControl, null))));
2100
+ return /* @__PURE__ */ React27.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React27.createElement(import_ui21.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React27.createElement(import_ui21.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React27.createElement(ControlLabel, null, (0, import_i18n7.__)("Border color", "elementor"))), /* @__PURE__ */ React27.createElement(import_ui21.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React27.createElement(import_editor_controls9.ColorControl, null))));
1861
2101
  };
1862
2102
 
1863
2103
  // src/components/style-sections/border-section/border-style-field.tsx
1864
- var React27 = __toESM(require("react"));
2104
+ var React28 = __toESM(require("react"));
1865
2105
  var import_editor_controls10 = require("@elementor/editor-controls");
1866
2106
  var import_ui22 = require("@elementor/ui");
1867
- var import_i18n7 = require("@wordpress/i18n");
2107
+ var import_i18n8 = require("@wordpress/i18n");
1868
2108
  var borderStyles = [
1869
- { value: "none", label: (0, import_i18n7.__)("None", "elementor") },
1870
- { value: "solid", label: (0, import_i18n7.__)("Solid", "elementor") },
1871
- { value: "dashed", label: (0, import_i18n7.__)("Dashed", "elementor") },
1872
- { value: "dotted", label: (0, import_i18n7.__)("Dotted", "elementor") },
1873
- { value: "double", label: (0, import_i18n7.__)("Double", "elementor") },
1874
- { value: "groove", label: (0, import_i18n7.__)("Groove", "elementor") },
1875
- { value: "ridge", label: (0, import_i18n7.__)("Ridge", "elementor") },
1876
- { value: "inset", label: (0, import_i18n7.__)("Inset", "elementor") },
1877
- { value: "outset", label: (0, import_i18n7.__)("Outset", "elementor") }
2109
+ { value: "none", label: (0, import_i18n8.__)("None", "elementor") },
2110
+ { value: "solid", label: (0, import_i18n8.__)("Solid", "elementor") },
2111
+ { value: "dashed", label: (0, import_i18n8.__)("Dashed", "elementor") },
2112
+ { value: "dotted", label: (0, import_i18n8.__)("Dotted", "elementor") },
2113
+ { value: "double", label: (0, import_i18n8.__)("Double", "elementor") },
2114
+ { value: "groove", label: (0, import_i18n8.__)("Groove", "elementor") },
2115
+ { value: "ridge", label: (0, import_i18n8.__)("Ridge", "elementor") },
2116
+ { value: "inset", label: (0, import_i18n8.__)("Inset", "elementor") },
2117
+ { value: "outset", label: (0, import_i18n8.__)("Outset", "elementor") }
1878
2118
  ];
1879
2119
  var BorderStyleField = () => {
1880
- return /* @__PURE__ */ React27.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React27.createElement(import_ui22.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React27.createElement(import_ui22.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React27.createElement(ControlLabel, null, (0, import_i18n7.__)("Border type", "elementor"))), /* @__PURE__ */ React27.createElement(import_ui22.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React27.createElement(import_editor_controls10.SelectControl, { options: borderStyles }))));
2120
+ return /* @__PURE__ */ React28.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React28.createElement(import_ui22.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React28.createElement(import_ui22.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React28.createElement(ControlLabel, null, (0, import_i18n8.__)("Border type", "elementor"))), /* @__PURE__ */ React28.createElement(import_ui22.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React28.createElement(import_editor_controls10.SelectControl, { options: borderStyles }))));
1881
2121
  };
1882
2122
 
1883
2123
  // src/components/style-sections/border-section/border-width-field.tsx
1884
- var React28 = __toESM(require("react"));
2124
+ var React29 = __toESM(require("react"));
1885
2125
  var import_editor_controls11 = require("@elementor/editor-controls");
1886
- var import_editor_props4 = require("@elementor/editor-props");
2126
+ var import_editor_props7 = require("@elementor/editor-props");
1887
2127
  var import_icons6 = require("@elementor/icons");
1888
2128
  var import_ui24 = require("@elementor/ui");
1889
- var import_i18n8 = require("@wordpress/i18n");
2129
+ var import_i18n9 = require("@wordpress/i18n");
1890
2130
 
1891
2131
  // src/hooks/use-direction.ts
1892
2132
  var import_ui23 = require("@elementor/ui");
@@ -1913,36 +2153,36 @@ var InlineStartIcon = (0, import_ui24.withDirection)(import_icons6.SideRightIcon
1913
2153
  var InlineEndIcon = (0, import_ui24.withDirection)(import_icons6.SideLeftIcon);
1914
2154
  var getEdges = (isSiteRtl) => [
1915
2155
  {
1916
- label: (0, import_i18n8.__)("Top", "elementor"),
1917
- icon: /* @__PURE__ */ React28.createElement(import_icons6.SideTopIcon, { fontSize: "tiny" }),
2156
+ label: (0, import_i18n9.__)("Top", "elementor"),
2157
+ icon: /* @__PURE__ */ React29.createElement(import_icons6.SideTopIcon, { fontSize: "tiny" }),
1918
2158
  bind: "block-start"
1919
2159
  },
1920
2160
  {
1921
- label: isSiteRtl ? (0, import_i18n8.__)("Left", "elementor") : (0, import_i18n8.__)("Right", "elementor"),
1922
- icon: /* @__PURE__ */ React28.createElement(InlineStartIcon, { fontSize: "tiny" }),
2161
+ label: isSiteRtl ? (0, import_i18n9.__)("Left", "elementor") : (0, import_i18n9.__)("Right", "elementor"),
2162
+ icon: /* @__PURE__ */ React29.createElement(InlineStartIcon, { fontSize: "tiny" }),
1923
2163
  bind: "inline-end"
1924
2164
  },
1925
2165
  {
1926
- label: (0, import_i18n8.__)("Bottom", "elementor"),
1927
- icon: /* @__PURE__ */ React28.createElement(import_icons6.SideBottomIcon, { fontSize: "tiny" }),
2166
+ label: (0, import_i18n9.__)("Bottom", "elementor"),
2167
+ icon: /* @__PURE__ */ React29.createElement(import_icons6.SideBottomIcon, { fontSize: "tiny" }),
1928
2168
  bind: "block-end"
1929
2169
  },
1930
2170
  {
1931
- label: isSiteRtl ? (0, import_i18n8.__)("Right", "elementor") : (0, import_i18n8.__)("Left", "elementor"),
1932
- icon: /* @__PURE__ */ React28.createElement(InlineEndIcon, { fontSize: "tiny" }),
2171
+ label: isSiteRtl ? (0, import_i18n9.__)("Right", "elementor") : (0, import_i18n9.__)("Left", "elementor"),
2172
+ icon: /* @__PURE__ */ React29.createElement(InlineEndIcon, { fontSize: "tiny" }),
1933
2173
  bind: "inline-start"
1934
2174
  }
1935
2175
  ];
1936
2176
  var BorderWidthField = () => {
1937
2177
  const { isSiteRtl } = useDirection();
1938
- return /* @__PURE__ */ React28.createElement(StylesField, { bind: "border-width" }, /* @__PURE__ */ React28.createElement(
2178
+ return /* @__PURE__ */ React29.createElement(StylesField, { bind: "border-width" }, /* @__PURE__ */ React29.createElement(
1939
2179
  import_editor_controls11.EqualUnequalSizesControl,
1940
2180
  {
1941
2181
  items: getEdges(isSiteRtl),
1942
- label: (0, import_i18n8.__)("Border width", "elementor"),
1943
- icon: /* @__PURE__ */ React28.createElement(import_icons6.SideAllIcon, { fontSize: "tiny" }),
1944
- tooltipLabel: (0, import_i18n8.__)("Adjust borders", "elementor"),
1945
- multiSizePropTypeUtil: import_editor_props4.borderWidthPropTypeUtil
2182
+ label: (0, import_i18n9.__)("Border width", "elementor"),
2183
+ icon: /* @__PURE__ */ React29.createElement(import_icons6.SideAllIcon, { fontSize: "tiny" }),
2184
+ tooltipLabel: (0, import_i18n9.__)("Adjust borders", "elementor"),
2185
+ multiSizePropTypeUtil: import_editor_props7.borderWidthPropTypeUtil
1946
2186
  }
1947
2187
  ));
1948
2188
  };
@@ -1966,96 +2206,96 @@ var BorderField = () => {
1966
2206
  });
1967
2207
  };
1968
2208
  const hasBorder = Object.values(border ?? {}).some(Boolean);
1969
- return /* @__PURE__ */ React29.createElement(
2209
+ return /* @__PURE__ */ React30.createElement(
1970
2210
  AddOrRemoveContent,
1971
2211
  {
1972
- label: (0, import_i18n9.__)("Border", "elementor"),
2212
+ label: (0, import_i18n10.__)("Border", "elementor"),
1973
2213
  isAdded: hasBorder,
1974
2214
  onAdd: addBorder,
1975
2215
  onRemove: removeBorder
1976
2216
  },
1977
- /* @__PURE__ */ React29.createElement(BorderWidthField, null),
1978
- /* @__PURE__ */ React29.createElement(BorderColorField, null),
1979
- /* @__PURE__ */ React29.createElement(BorderStyleField, null)
2217
+ /* @__PURE__ */ React30.createElement(BorderWidthField, null),
2218
+ /* @__PURE__ */ React30.createElement(BorderColorField, null),
2219
+ /* @__PURE__ */ React30.createElement(BorderStyleField, null)
1980
2220
  );
1981
2221
  };
1982
2222
 
1983
2223
  // src/components/style-sections/border-section/border-radius-field.tsx
1984
- var React30 = __toESM(require("react"));
2224
+ var React31 = __toESM(require("react"));
1985
2225
  var import_editor_controls12 = require("@elementor/editor-controls");
1986
- var import_editor_props5 = require("@elementor/editor-props");
2226
+ var import_editor_props8 = require("@elementor/editor-props");
1987
2227
  var import_icons7 = require("@elementor/icons");
1988
2228
  var import_ui25 = require("@elementor/ui");
1989
- var import_i18n10 = require("@wordpress/i18n");
2229
+ var import_i18n11 = require("@wordpress/i18n");
1990
2230
  var StartStartIcon = (0, import_ui25.withDirection)(import_icons7.RadiusTopLeftIcon);
1991
2231
  var StartEndIcon = (0, import_ui25.withDirection)(import_icons7.RadiusTopRightIcon);
1992
2232
  var EndStartIcon = (0, import_ui25.withDirection)(import_icons7.RadiusBottomLeftIcon);
1993
2233
  var EndEndIcon = (0, import_ui25.withDirection)(import_icons7.RadiusBottomRightIcon);
1994
- var getStartStartLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n10.__)("Top right", "elementor") : (0, import_i18n10.__)("Top left", "elementor");
1995
- var getStartEndLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n10.__)("Top left", "elementor") : (0, import_i18n10.__)("Top right", "elementor");
1996
- var getEndStartLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n10.__)("Bottom right", "elementor") : (0, import_i18n10.__)("Bottom left", "elementor");
1997
- var getEndEndLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n10.__)("Bottom left", "elementor") : (0, import_i18n10.__)("Bottom right", "elementor");
2234
+ var getStartStartLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n11.__)("Top right", "elementor") : (0, import_i18n11.__)("Top left", "elementor");
2235
+ var getStartEndLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n11.__)("Top left", "elementor") : (0, import_i18n11.__)("Top right", "elementor");
2236
+ var getEndStartLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n11.__)("Bottom right", "elementor") : (0, import_i18n11.__)("Bottom left", "elementor");
2237
+ var getEndEndLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n11.__)("Bottom left", "elementor") : (0, import_i18n11.__)("Bottom right", "elementor");
1998
2238
  var getCorners = (isSiteRtl) => [
1999
2239
  {
2000
2240
  label: getStartStartLabel(isSiteRtl),
2001
- icon: /* @__PURE__ */ React30.createElement(StartStartIcon, { fontSize: "tiny" }),
2241
+ icon: /* @__PURE__ */ React31.createElement(StartStartIcon, { fontSize: "tiny" }),
2002
2242
  bind: "start-start"
2003
2243
  },
2004
2244
  {
2005
2245
  label: getStartEndLabel(isSiteRtl),
2006
- icon: /* @__PURE__ */ React30.createElement(StartEndIcon, { fontSize: "tiny" }),
2246
+ icon: /* @__PURE__ */ React31.createElement(StartEndIcon, { fontSize: "tiny" }),
2007
2247
  bind: "start-end"
2008
2248
  },
2009
2249
  {
2010
2250
  label: getEndStartLabel(isSiteRtl),
2011
- icon: /* @__PURE__ */ React30.createElement(EndStartIcon, { fontSize: "tiny" }),
2251
+ icon: /* @__PURE__ */ React31.createElement(EndStartIcon, { fontSize: "tiny" }),
2012
2252
  bind: "end-start"
2013
2253
  },
2014
2254
  {
2015
2255
  label: getEndEndLabel(isSiteRtl),
2016
- icon: /* @__PURE__ */ React30.createElement(EndEndIcon, { fontSize: "tiny" }),
2256
+ icon: /* @__PURE__ */ React31.createElement(EndEndIcon, { fontSize: "tiny" }),
2017
2257
  bind: "end-end"
2018
2258
  }
2019
2259
  ];
2020
2260
  var BorderRadiusField = () => {
2021
2261
  const { isSiteRtl } = useDirection();
2022
- return /* @__PURE__ */ React30.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React30.createElement(
2262
+ return /* @__PURE__ */ React31.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React31.createElement(
2023
2263
  import_editor_controls12.EqualUnequalSizesControl,
2024
2264
  {
2025
2265
  items: getCorners(isSiteRtl),
2026
- label: (0, import_i18n10.__)("Border radius", "elementor"),
2027
- icon: /* @__PURE__ */ React30.createElement(import_icons7.BorderCornersIcon, { fontSize: "tiny" }),
2028
- tooltipLabel: (0, import_i18n10.__)("Adjust corners", "elementor"),
2029
- multiSizePropTypeUtil: import_editor_props5.borderRadiusPropTypeUtil
2266
+ label: (0, import_i18n11.__)("Border radius", "elementor"),
2267
+ icon: /* @__PURE__ */ React31.createElement(import_icons7.BorderCornersIcon, { fontSize: "tiny" }),
2268
+ tooltipLabel: (0, import_i18n11.__)("Adjust corners", "elementor"),
2269
+ multiSizePropTypeUtil: import_editor_props8.borderRadiusPropTypeUtil
2030
2270
  }
2031
2271
  ));
2032
2272
  };
2033
2273
 
2034
2274
  // src/components/style-sections/border-section/border-section.tsx
2035
- var BorderSection = () => /* @__PURE__ */ React31.createElement(SectionContent, null, /* @__PURE__ */ React31.createElement(BorderRadiusField, null), /* @__PURE__ */ React31.createElement(PanelDivider, null), /* @__PURE__ */ React31.createElement(BorderField, null));
2275
+ var BorderSection = () => /* @__PURE__ */ React32.createElement(SectionContent, null, /* @__PURE__ */ React32.createElement(BorderRadiusField, null), /* @__PURE__ */ React32.createElement(PanelDivider, null), /* @__PURE__ */ React32.createElement(BorderField, null));
2036
2276
 
2037
2277
  // src/components/style-sections/effects-section/effects-section.tsx
2038
- var React32 = __toESM(require("react"));
2278
+ var React33 = __toESM(require("react"));
2039
2279
  var import_editor_controls13 = require("@elementor/editor-controls");
2040
2280
  var EffectsSection = () => {
2041
- return /* @__PURE__ */ React32.createElement(SectionContent, null, /* @__PURE__ */ React32.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React32.createElement(import_editor_controls13.BoxShadowRepeaterControl, null)));
2281
+ return /* @__PURE__ */ React33.createElement(SectionContent, null, /* @__PURE__ */ React33.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React33.createElement(import_editor_controls13.BoxShadowRepeaterControl, null)));
2042
2282
  };
2043
2283
 
2044
2284
  // src/components/style-sections/layout-section/layout-section.tsx
2045
- var React44 = __toESM(require("react"));
2285
+ var React45 = __toESM(require("react"));
2046
2286
  var import_editor_controls24 = require("@elementor/editor-controls");
2047
2287
  var import_editor_elements7 = require("@elementor/editor-elements");
2048
- var import_i18n21 = require("@wordpress/i18n");
2288
+ var import_i18n22 = require("@wordpress/i18n");
2049
2289
 
2050
2290
  // src/hooks/use-computed-style.ts
2051
- var import_editor_v1_adapters4 = require("@elementor/editor-v1-adapters");
2291
+ var import_editor_v1_adapters6 = require("@elementor/editor-v1-adapters");
2052
2292
  function useComputedStyle(elementId) {
2053
- return (0, import_editor_v1_adapters4.__privateUseListenTo)(
2293
+ return (0, import_editor_v1_adapters6.__privateUseListenTo)(
2054
2294
  [
2055
- (0, import_editor_v1_adapters4.windowEvent)("elementor/device-mode/change"),
2056
- (0, import_editor_v1_adapters4.commandEndEvent)("document/elements/reset-style"),
2057
- (0, import_editor_v1_adapters4.commandEndEvent)("document/elements/settings"),
2058
- (0, import_editor_v1_adapters4.commandEndEvent)("document/elements/paste-style")
2295
+ (0, import_editor_v1_adapters6.windowEvent)("elementor/device-mode/change"),
2296
+ (0, import_editor_v1_adapters6.commandEndEvent)("document/elements/reset-style"),
2297
+ (0, import_editor_v1_adapters6.commandEndEvent)("document/elements/settings"),
2298
+ (0, import_editor_v1_adapters6.commandEndEvent)("document/elements/paste-style")
2059
2299
  ],
2060
2300
  () => {
2061
2301
  if (!elementId) {
@@ -2073,15 +2313,15 @@ function useComputedStyle(elementId) {
2073
2313
  }
2074
2314
 
2075
2315
  // src/components/style-sections/layout-section/align-content-field.tsx
2076
- var React34 = __toESM(require("react"));
2316
+ var React35 = __toESM(require("react"));
2077
2317
  var import_editor_controls14 = require("@elementor/editor-controls");
2078
2318
  var import_icons8 = require("@elementor/icons");
2079
2319
  var import_ui27 = require("@elementor/ui");
2080
- var import_i18n11 = require("@wordpress/i18n");
2320
+ var import_i18n12 = require("@wordpress/i18n");
2081
2321
 
2082
2322
  // src/components/style-sections/layout-section/utils/rotated-icon.tsx
2083
- var React33 = __toESM(require("react"));
2084
- var import_react20 = require("react");
2323
+ var React34 = __toESM(require("react"));
2324
+ var import_react22 = require("react");
2085
2325
  var import_ui26 = require("@elementor/ui");
2086
2326
  var CLOCKWISE_ANGLES = {
2087
2327
  row: 0,
@@ -2102,9 +2342,9 @@ var RotatedIcon = ({
2102
2342
  offset = 0,
2103
2343
  disableRotationForReversed = false
2104
2344
  }) => {
2105
- const rotate = (0, import_react20.useRef)(useGetTargetAngle(isClockwise, offset, disableRotationForReversed));
2345
+ const rotate = (0, import_react22.useRef)(useGetTargetAngle(isClockwise, offset, disableRotationForReversed));
2106
2346
  rotate.current = useGetTargetAngle(isClockwise, offset, disableRotationForReversed, rotate);
2107
- return /* @__PURE__ */ React33.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
2347
+ return /* @__PURE__ */ React34.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
2108
2348
  };
2109
2349
  var useGetTargetAngle = (isClockwise, offset, disableRotationForReversed, existingRef) => {
2110
2350
  const [direction] = useStylesField("flex-direction");
@@ -2133,52 +2373,52 @@ var iconProps = {
2133
2373
  var options = [
2134
2374
  {
2135
2375
  value: "start",
2136
- label: (0, import_i18n11.__)("Start", "elementor"),
2137
- renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
2376
+ label: (0, import_i18n12.__)("Start", "elementor"),
2377
+ renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
2138
2378
  showTooltip: true
2139
2379
  },
2140
2380
  {
2141
2381
  value: "center",
2142
- label: (0, import_i18n11.__)("Center", "elementor"),
2143
- renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: import_icons8.JustifyCenterIcon, size, ...iconProps }),
2382
+ label: (0, import_i18n12.__)("Center", "elementor"),
2383
+ renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: import_icons8.JustifyCenterIcon, size, ...iconProps }),
2144
2384
  showTooltip: true
2145
2385
  },
2146
2386
  {
2147
2387
  value: "end",
2148
- label: (0, import_i18n11.__)("End", "elementor"),
2149
- renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
2388
+ label: (0, import_i18n12.__)("End", "elementor"),
2389
+ renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
2150
2390
  showTooltip: true
2151
2391
  },
2152
2392
  {
2153
2393
  value: "space-between",
2154
- label: (0, import_i18n11.__)("Space between", "elementor"),
2155
- renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: import_icons8.JustifySpaceBetweenVerticalIcon, size, ...iconProps }),
2394
+ label: (0, import_i18n12.__)("Space between", "elementor"),
2395
+ renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: import_icons8.JustifySpaceBetweenVerticalIcon, size, ...iconProps }),
2156
2396
  showTooltip: true
2157
2397
  },
2158
2398
  {
2159
2399
  value: "space-around",
2160
- label: (0, import_i18n11.__)("Space around", "elementor"),
2161
- renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: import_icons8.JustifySpaceAroundVerticalIcon, size, ...iconProps }),
2400
+ label: (0, import_i18n12.__)("Space around", "elementor"),
2401
+ renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: import_icons8.JustifySpaceAroundVerticalIcon, size, ...iconProps }),
2162
2402
  showTooltip: true
2163
2403
  },
2164
2404
  {
2165
2405
  value: "space-evenly",
2166
- label: (0, import_i18n11.__)("Space evenly", "elementor"),
2167
- renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(RotatedIcon, { icon: import_icons8.JustifyDistributeVerticalIcon, size, ...iconProps }),
2406
+ label: (0, import_i18n12.__)("Space evenly", "elementor"),
2407
+ renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: import_icons8.JustifyDistributeVerticalIcon, size, ...iconProps }),
2168
2408
  showTooltip: true
2169
2409
  }
2170
2410
  ];
2171
2411
  var AlignContentField = () => {
2172
2412
  const { isSiteRtl } = useDirection();
2173
- return /* @__PURE__ */ React34.createElement(import_ui27.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React34.createElement(import_ui27.ThemeProvider, null, /* @__PURE__ */ React34.createElement(StylesField, { bind: "align-content" }, /* @__PURE__ */ React34.createElement(import_ui27.Stack, { gap: 1 }, /* @__PURE__ */ React34.createElement(ControlLabel, null, (0, import_i18n11.__)("Align content", "elementor")), /* @__PURE__ */ React34.createElement(import_editor_controls14.ToggleControl, { options, fullWidth: true })))));
2413
+ return /* @__PURE__ */ React35.createElement(import_ui27.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React35.createElement(import_ui27.ThemeProvider, null, /* @__PURE__ */ React35.createElement(StylesField, { bind: "align-content" }, /* @__PURE__ */ React35.createElement(import_ui27.Stack, { gap: 1 }, /* @__PURE__ */ React35.createElement(ControlLabel, null, (0, import_i18n12.__)("Align content", "elementor")), /* @__PURE__ */ React35.createElement(import_editor_controls14.ToggleControl, { options, fullWidth: true })))));
2174
2414
  };
2175
2415
 
2176
2416
  // src/components/style-sections/layout-section/align-items-field.tsx
2177
- var React35 = __toESM(require("react"));
2417
+ var React36 = __toESM(require("react"));
2178
2418
  var import_editor_controls15 = require("@elementor/editor-controls");
2179
2419
  var import_icons9 = require("@elementor/icons");
2180
2420
  var import_ui28 = require("@elementor/ui");
2181
- var import_i18n12 = require("@wordpress/i18n");
2421
+ var import_i18n13 = require("@wordpress/i18n");
2182
2422
  var StartIcon2 = (0, import_ui28.withDirection)(import_icons9.LayoutAlignLeftIcon);
2183
2423
  var EndIcon2 = (0, import_ui28.withDirection)(import_icons9.LayoutAlignRightIcon);
2184
2424
  var iconProps2 = {
@@ -2188,40 +2428,40 @@ var iconProps2 = {
2188
2428
  var options2 = [
2189
2429
  {
2190
2430
  value: "start",
2191
- label: (0, import_i18n12.__)("Start", "elementor"),
2192
- renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
2431
+ label: (0, import_i18n13.__)("Start", "elementor"),
2432
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
2193
2433
  showTooltip: true
2194
2434
  },
2195
2435
  {
2196
2436
  value: "center",
2197
- label: (0, import_i18n12.__)("Center", "elementor"),
2198
- renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: import_icons9.LayoutAlignCenterIcon, size, ...iconProps2 }),
2437
+ label: (0, import_i18n13.__)("Center", "elementor"),
2438
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: import_icons9.LayoutAlignCenterIcon, size, ...iconProps2 }),
2199
2439
  showTooltip: true
2200
2440
  },
2201
2441
  {
2202
2442
  value: "end",
2203
- label: (0, import_i18n12.__)("End", "elementor"),
2204
- renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
2443
+ label: (0, import_i18n13.__)("End", "elementor"),
2444
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
2205
2445
  showTooltip: true
2206
2446
  },
2207
2447
  {
2208
2448
  value: "stretch",
2209
- label: (0, import_i18n12.__)("Stretch", "elementor"),
2210
- renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(RotatedIcon, { icon: import_icons9.LayoutDistributeVerticalIcon, size, ...iconProps2 }),
2449
+ label: (0, import_i18n13.__)("Stretch", "elementor"),
2450
+ renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: import_icons9.LayoutDistributeVerticalIcon, size, ...iconProps2 }),
2211
2451
  showTooltip: true
2212
2452
  }
2213
2453
  ];
2214
2454
  var AlignItemsField = () => {
2215
2455
  const { isSiteRtl } = useDirection();
2216
- return /* @__PURE__ */ React35.createElement(import_ui28.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React35.createElement(import_ui28.ThemeProvider, null, /* @__PURE__ */ React35.createElement(StylesField, { bind: "align-items" }, /* @__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(ControlLabel, null, (0, import_i18n12.__)("Align items", "elementor"))), /* @__PURE__ */ React35.createElement(import_ui28.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React35.createElement(import_editor_controls15.ToggleControl, { options: options2 }))))));
2456
+ return /* @__PURE__ */ React36.createElement(import_ui28.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React36.createElement(import_ui28.ThemeProvider, null, /* @__PURE__ */ React36.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React36.createElement(import_ui28.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React36.createElement(import_ui28.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React36.createElement(ControlLabel, null, (0, import_i18n13.__)("Align items", "elementor"))), /* @__PURE__ */ React36.createElement(import_ui28.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React36.createElement(import_editor_controls15.ToggleControl, { options: options2 }))))));
2217
2457
  };
2218
2458
 
2219
2459
  // src/components/style-sections/layout-section/align-self-child-field.tsx
2220
- var React36 = __toESM(require("react"));
2460
+ var React37 = __toESM(require("react"));
2221
2461
  var import_editor_controls16 = require("@elementor/editor-controls");
2222
2462
  var import_icons10 = require("@elementor/icons");
2223
2463
  var import_ui29 = require("@elementor/ui");
2224
- var import_i18n13 = require("@wordpress/i18n");
2464
+ var import_i18n14 = require("@wordpress/i18n");
2225
2465
  var ALIGN_SELF_CHILD_OFFSET_MAP = {
2226
2466
  row: 90,
2227
2467
  "row-reverse": 90,
@@ -2236,8 +2476,8 @@ var iconProps3 = {
2236
2476
  var getOptions = (parentStyleDirection) => [
2237
2477
  {
2238
2478
  value: "start",
2239
- label: (0, import_i18n13.__)("Start", "elementor"),
2240
- renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(
2479
+ label: (0, import_i18n14.__)("Start", "elementor"),
2480
+ renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(
2241
2481
  RotatedIcon,
2242
2482
  {
2243
2483
  icon: StartIcon3,
@@ -2250,8 +2490,8 @@ var getOptions = (parentStyleDirection) => [
2250
2490
  },
2251
2491
  {
2252
2492
  value: "center",
2253
- label: (0, import_i18n13.__)("Center", "elementor"),
2254
- renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(
2493
+ label: (0, import_i18n14.__)("Center", "elementor"),
2494
+ renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(
2255
2495
  RotatedIcon,
2256
2496
  {
2257
2497
  icon: import_icons10.LayoutAlignCenterIcon,
@@ -2264,8 +2504,8 @@ var getOptions = (parentStyleDirection) => [
2264
2504
  },
2265
2505
  {
2266
2506
  value: "end",
2267
- label: (0, import_i18n13.__)("End", "elementor"),
2268
- renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(
2507
+ label: (0, import_i18n14.__)("End", "elementor"),
2508
+ renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(
2269
2509
  RotatedIcon,
2270
2510
  {
2271
2511
  icon: EndIcon3,
@@ -2278,8 +2518,8 @@ var getOptions = (parentStyleDirection) => [
2278
2518
  },
2279
2519
  {
2280
2520
  value: "stretch",
2281
- label: (0, import_i18n13.__)("Stretch", "elementor"),
2282
- renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(
2521
+ label: (0, import_i18n14.__)("Stretch", "elementor"),
2522
+ renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(
2283
2523
  RotatedIcon,
2284
2524
  {
2285
2525
  icon: import_icons10.LayoutDistributeVerticalIcon,
@@ -2293,107 +2533,107 @@ var getOptions = (parentStyleDirection) => [
2293
2533
  ];
2294
2534
  var AlignSelfChild = ({ parentStyleDirection }) => {
2295
2535
  const { isSiteRtl } = useDirection();
2296
- return /* @__PURE__ */ React36.createElement(import_ui29.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React36.createElement(import_ui29.ThemeProvider, null, /* @__PURE__ */ React36.createElement(StylesField, { bind: "align-self" }, /* @__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(ControlLabel, null, (0, import_i18n13.__)("Align self", "elementor"))), /* @__PURE__ */ React36.createElement(import_ui29.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React36.createElement(import_editor_controls16.ToggleControl, { options: getOptions(parentStyleDirection) }))))));
2536
+ return /* @__PURE__ */ React37.createElement(import_ui29.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React37.createElement(import_ui29.ThemeProvider, null, /* @__PURE__ */ React37.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React37.createElement(import_ui29.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React37.createElement(import_ui29.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React37.createElement(ControlLabel, null, (0, import_i18n14.__)("Align self", "elementor"))), /* @__PURE__ */ React37.createElement(import_ui29.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React37.createElement(import_editor_controls16.ToggleControl, { options: getOptions(parentStyleDirection) }))))));
2297
2537
  };
2298
2538
 
2299
2539
  // src/components/style-sections/layout-section/display-field.tsx
2300
- var React37 = __toESM(require("react"));
2540
+ var React38 = __toESM(require("react"));
2301
2541
  var import_editor_controls17 = require("@elementor/editor-controls");
2302
- var import_editor_v1_adapters5 = require("@elementor/editor-v1-adapters");
2542
+ var import_editor_v1_adapters7 = require("@elementor/editor-v1-adapters");
2303
2543
  var import_ui30 = require("@elementor/ui");
2304
- var import_i18n14 = require("@wordpress/i18n");
2544
+ var import_i18n15 = require("@wordpress/i18n");
2305
2545
  var displayFieldItems = [
2306
2546
  {
2307
2547
  value: "block",
2308
- renderContent: () => (0, import_i18n14.__)("Block", "elementor"),
2309
- label: (0, import_i18n14.__)("Block", "elementor"),
2548
+ renderContent: () => (0, import_i18n15.__)("Block", "elementor"),
2549
+ label: (0, import_i18n15.__)("Block", "elementor"),
2310
2550
  showTooltip: true
2311
2551
  },
2312
2552
  {
2313
2553
  value: "flex",
2314
- renderContent: () => (0, import_i18n14.__)("Flex", "elementor"),
2315
- label: (0, import_i18n14.__)("Flex", "elementor"),
2554
+ renderContent: () => (0, import_i18n15.__)("Flex", "elementor"),
2555
+ label: (0, import_i18n15.__)("Flex", "elementor"),
2316
2556
  showTooltip: true
2317
2557
  },
2318
2558
  {
2319
2559
  value: "inline-block",
2320
- renderContent: () => (0, import_i18n14.__)("In-blk", "elementor"),
2321
- label: (0, import_i18n14.__)("Inline-block", "elementor"),
2560
+ renderContent: () => (0, import_i18n15.__)("In-blk", "elementor"),
2561
+ label: (0, import_i18n15.__)("Inline-block", "elementor"),
2322
2562
  showTooltip: true
2323
2563
  }
2324
2564
  ];
2325
2565
  var DisplayField = () => {
2326
- const isDisplayNoneFeatureActive = (0, import_editor_v1_adapters5.isExperimentActive)("e_v_3_30");
2566
+ const isDisplayNoneFeatureActive = (0, import_editor_v1_adapters7.isExperimentActive)("e_v_3_30");
2327
2567
  const items3 = [...displayFieldItems];
2328
2568
  if (isDisplayNoneFeatureActive) {
2329
2569
  items3.push({
2330
2570
  value: "none",
2331
- renderContent: () => (0, import_i18n14.__)("None", "elementor"),
2332
- label: (0, import_i18n14.__)("None", "elementor"),
2571
+ renderContent: () => (0, import_i18n15.__)("None", "elementor"),
2572
+ label: (0, import_i18n15.__)("None", "elementor"),
2333
2573
  showTooltip: true
2334
2574
  });
2335
2575
  }
2336
2576
  items3.push({
2337
2577
  value: "inline-flex",
2338
- renderContent: () => (0, import_i18n14.__)("In-flx", "elementor"),
2339
- label: (0, import_i18n14.__)("Inline-flex", "elementor"),
2578
+ renderContent: () => (0, import_i18n15.__)("In-flx", "elementor"),
2579
+ label: (0, import_i18n15.__)("Inline-flex", "elementor"),
2340
2580
  showTooltip: true
2341
2581
  });
2342
2582
  const placeholder = useDisplayPlaceholderValue();
2343
- return /* @__PURE__ */ React37.createElement(StylesField, { bind: "display", placeholder }, /* @__PURE__ */ React37.createElement(import_ui30.Stack, { gap: 0.75 }, /* @__PURE__ */ React37.createElement(ControlLabel, null, (0, import_i18n14.__)("Display", "elementor")), /* @__PURE__ */ React37.createElement(import_editor_controls17.ToggleControl, { options: items3, maxItems: 4, fullWidth: true })));
2583
+ return /* @__PURE__ */ React38.createElement(StylesField, { bind: "display", placeholder }, /* @__PURE__ */ React38.createElement(import_ui30.Stack, { gap: 0.75 }, /* @__PURE__ */ React38.createElement(ControlLabel, null, (0, import_i18n15.__)("Display", "elementor")), /* @__PURE__ */ React38.createElement(import_editor_controls17.ToggleControl, { options: items3, maxItems: 4, fullWidth: true })));
2344
2584
  };
2345
- var useDisplayPlaceholderValue = () => useStylesInheritanceField("display")[0]?.value ?? void 0;
2585
+ var useDisplayPlaceholderValue = () => useStylesInheritanceChain(["display"])[0]?.value ?? void 0;
2346
2586
 
2347
2587
  // src/components/style-sections/layout-section/flex-direction-field.tsx
2348
- var React38 = __toESM(require("react"));
2588
+ var React39 = __toESM(require("react"));
2349
2589
  var import_editor_controls18 = require("@elementor/editor-controls");
2350
2590
  var import_icons11 = require("@elementor/icons");
2351
2591
  var import_ui31 = require("@elementor/ui");
2352
- var import_i18n15 = require("@wordpress/i18n");
2592
+ var import_i18n16 = require("@wordpress/i18n");
2353
2593
  var options3 = [
2354
2594
  {
2355
2595
  value: "row",
2356
- label: (0, import_i18n15.__)("Row", "elementor"),
2596
+ label: (0, import_i18n16.__)("Row", "elementor"),
2357
2597
  renderContent: ({ size }) => {
2358
2598
  const StartIcon5 = (0, import_ui31.withDirection)(import_icons11.ArrowRightIcon);
2359
- return /* @__PURE__ */ React38.createElement(StartIcon5, { fontSize: size });
2599
+ return /* @__PURE__ */ React39.createElement(StartIcon5, { fontSize: size });
2360
2600
  },
2361
2601
  showTooltip: true
2362
2602
  },
2363
2603
  {
2364
2604
  value: "column",
2365
- label: (0, import_i18n15.__)("Column", "elementor"),
2366
- renderContent: ({ size }) => /* @__PURE__ */ React38.createElement(import_icons11.ArrowDownSmallIcon, { fontSize: size }),
2605
+ label: (0, import_i18n16.__)("Column", "elementor"),
2606
+ renderContent: ({ size }) => /* @__PURE__ */ React39.createElement(import_icons11.ArrowDownSmallIcon, { fontSize: size }),
2367
2607
  showTooltip: true
2368
2608
  },
2369
2609
  {
2370
2610
  value: "row-reverse",
2371
- label: (0, import_i18n15.__)("Reversed row", "elementor"),
2611
+ label: (0, import_i18n16.__)("Reversed row", "elementor"),
2372
2612
  renderContent: ({ size }) => {
2373
2613
  const EndIcon5 = (0, import_ui31.withDirection)(import_icons11.ArrowLeftIcon);
2374
- return /* @__PURE__ */ React38.createElement(EndIcon5, { fontSize: size });
2614
+ return /* @__PURE__ */ React39.createElement(EndIcon5, { fontSize: size });
2375
2615
  },
2376
2616
  showTooltip: true
2377
2617
  },
2378
2618
  {
2379
2619
  value: "column-reverse",
2380
- label: (0, import_i18n15.__)("Reversed column", "elementor"),
2381
- renderContent: ({ size }) => /* @__PURE__ */ React38.createElement(import_icons11.ArrowUpSmallIcon, { fontSize: size }),
2620
+ label: (0, import_i18n16.__)("Reversed column", "elementor"),
2621
+ renderContent: ({ size }) => /* @__PURE__ */ React39.createElement(import_icons11.ArrowUpSmallIcon, { fontSize: size }),
2382
2622
  showTooltip: true
2383
2623
  }
2384
2624
  ];
2385
2625
  var FlexDirectionField = () => {
2386
2626
  const { isSiteRtl } = useDirection();
2387
- return /* @__PURE__ */ React38.createElement(import_ui31.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React38.createElement(import_ui31.ThemeProvider, null, /* @__PURE__ */ React38.createElement(StylesField, { bind: "flex-direction" }, /* @__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(ControlLabel, null, (0, import_i18n15.__)("Direction", "elementor"))), /* @__PURE__ */ React38.createElement(import_ui31.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React38.createElement(import_editor_controls18.ToggleControl, { options: options3 }))))));
2627
+ return /* @__PURE__ */ React39.createElement(import_ui31.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React39.createElement(import_ui31.ThemeProvider, null, /* @__PURE__ */ React39.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React39.createElement(import_ui31.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React39.createElement(import_ui31.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React39.createElement(ControlLabel, null, (0, import_i18n16.__)("Direction", "elementor"))), /* @__PURE__ */ React39.createElement(import_ui31.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React39.createElement(import_editor_controls18.ToggleControl, { options: options3 }))))));
2388
2628
  };
2389
2629
 
2390
2630
  // src/components/style-sections/layout-section/flex-order-field.tsx
2391
- var React39 = __toESM(require("react"));
2392
- var import_react21 = require("react");
2631
+ var React40 = __toESM(require("react"));
2632
+ var import_react23 = require("react");
2393
2633
  var import_editor_controls19 = require("@elementor/editor-controls");
2394
2634
  var import_icons12 = require("@elementor/icons");
2395
2635
  var import_ui32 = require("@elementor/ui");
2396
- var import_i18n16 = require("@wordpress/i18n");
2636
+ var import_i18n17 = require("@wordpress/i18n");
2397
2637
  var FIRST_DEFAULT_VALUE = -99999;
2398
2638
  var LAST_DEFAULT_VALUE = 99999;
2399
2639
  var FIRST = "first";
@@ -2406,26 +2646,26 @@ var orderValueMap = {
2406
2646
  var items = [
2407
2647
  {
2408
2648
  value: FIRST,
2409
- label: (0, import_i18n16.__)("First", "elementor"),
2410
- renderContent: ({ size }) => /* @__PURE__ */ React39.createElement(import_icons12.ArrowUpSmallIcon, { fontSize: size }),
2649
+ label: (0, import_i18n17.__)("First", "elementor"),
2650
+ renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(import_icons12.ArrowUpSmallIcon, { fontSize: size }),
2411
2651
  showTooltip: true
2412
2652
  },
2413
2653
  {
2414
2654
  value: LAST,
2415
- label: (0, import_i18n16.__)("Last", "elementor"),
2416
- renderContent: ({ size }) => /* @__PURE__ */ React39.createElement(import_icons12.ArrowDownSmallIcon, { fontSize: size }),
2655
+ label: (0, import_i18n17.__)("Last", "elementor"),
2656
+ renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(import_icons12.ArrowDownSmallIcon, { fontSize: size }),
2417
2657
  showTooltip: true
2418
2658
  },
2419
2659
  {
2420
2660
  value: CUSTOM,
2421
- label: (0, import_i18n16.__)("Custom", "elementor"),
2422
- renderContent: ({ size }) => /* @__PURE__ */ React39.createElement(import_icons12.PencilIcon, { fontSize: size }),
2661
+ label: (0, import_i18n17.__)("Custom", "elementor"),
2662
+ renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(import_icons12.PencilIcon, { fontSize: size }),
2423
2663
  showTooltip: true
2424
2664
  }
2425
2665
  ];
2426
2666
  var FlexOrderField = () => {
2427
2667
  const { isSiteRtl } = useDirection(), [order, setOrder] = useStylesField("order");
2428
- const [groupControlValue, setGroupControlValue] = (0, import_react21.useState)(getGroupControlValue(order?.value || null));
2668
+ const [groupControlValue, setGroupControlValue] = (0, import_react23.useState)(getGroupControlValue(order?.value || null));
2429
2669
  const handleToggleButtonChange = (group) => {
2430
2670
  setGroupControlValue(group);
2431
2671
  if (!group || group === CUSTOM) {
@@ -2434,7 +2674,7 @@ var FlexOrderField = () => {
2434
2674
  }
2435
2675
  setOrder({ $$type: "number", value: orderValueMap[group] });
2436
2676
  };
2437
- return /* @__PURE__ */ React39.createElement(import_ui32.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React39.createElement(import_ui32.ThemeProvider, null, /* @__PURE__ */ React39.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React39.createElement(SectionContent, null, /* @__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(ControlLabel, null, (0, import_i18n16.__)("Order", "elementor"))), /* @__PURE__ */ React39.createElement(import_ui32.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React39.createElement(
2677
+ return /* @__PURE__ */ React40.createElement(import_ui32.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React40.createElement(import_ui32.ThemeProvider, null, /* @__PURE__ */ React40.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React40.createElement(SectionContent, null, /* @__PURE__ */ React40.createElement(import_ui32.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(import_ui32.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(ControlLabel, null, (0, import_i18n17.__)("Order", "elementor"))), /* @__PURE__ */ React40.createElement(import_ui32.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React40.createElement(
2438
2678
  import_editor_controls19.ControlToggleButtonGroup,
2439
2679
  {
2440
2680
  items,
@@ -2442,7 +2682,7 @@ var FlexOrderField = () => {
2442
2682
  onChange: handleToggleButtonChange,
2443
2683
  exclusive: true
2444
2684
  }
2445
- ))), CUSTOM === groupControlValue && /* @__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(ControlLabel, null, (0, import_i18n16.__)("Custom order", "elementor"))), /* @__PURE__ */ React39.createElement(import_ui32.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React39.createElement(
2685
+ ))), CUSTOM === groupControlValue && /* @__PURE__ */ React40.createElement(import_ui32.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(import_ui32.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(ControlLabel, null, (0, import_i18n17.__)("Custom order", "elementor"))), /* @__PURE__ */ React40.createElement(import_ui32.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React40.createElement(
2446
2686
  import_editor_controls19.NumberControl,
2447
2687
  {
2448
2688
  min: FIRST_DEFAULT_VALUE + 1,
@@ -2462,31 +2702,31 @@ var getGroupControlValue = (order) => {
2462
2702
  };
2463
2703
 
2464
2704
  // src/components/style-sections/layout-section/flex-size-field.tsx
2465
- var React40 = __toESM(require("react"));
2466
- var import_react22 = require("react");
2705
+ var React41 = __toESM(require("react"));
2706
+ var import_react24 = require("react");
2467
2707
  var import_editor_controls20 = require("@elementor/editor-controls");
2468
- var import_editor_props6 = require("@elementor/editor-props");
2708
+ var import_editor_props9 = require("@elementor/editor-props");
2469
2709
  var import_icons13 = require("@elementor/icons");
2470
2710
  var import_ui33 = require("@elementor/ui");
2471
- var import_i18n17 = require("@wordpress/i18n");
2711
+ var import_i18n18 = require("@wordpress/i18n");
2472
2712
  var DEFAULT = 1;
2473
2713
  var items2 = [
2474
2714
  {
2475
2715
  value: "flex-grow",
2476
- label: (0, import_i18n17.__)("Grow", "elementor"),
2477
- renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(import_icons13.ExpandIcon, { fontSize: size }),
2716
+ label: (0, import_i18n18.__)("Grow", "elementor"),
2717
+ renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(import_icons13.ExpandIcon, { fontSize: size }),
2478
2718
  showTooltip: true
2479
2719
  },
2480
2720
  {
2481
2721
  value: "flex-shrink",
2482
- label: (0, import_i18n17.__)("Shrink", "elementor"),
2483
- renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(import_icons13.ShrinkIcon, { fontSize: size }),
2722
+ label: (0, import_i18n18.__)("Shrink", "elementor"),
2723
+ renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(import_icons13.ShrinkIcon, { fontSize: size }),
2484
2724
  showTooltip: true
2485
2725
  },
2486
2726
  {
2487
2727
  value: "custom",
2488
- label: (0, import_i18n17.__)("Custom", "elementor"),
2489
- renderContent: ({ size }) => /* @__PURE__ */ React40.createElement(import_icons13.PencilIcon, { fontSize: size }),
2728
+ label: (0, import_i18n18.__)("Custom", "elementor"),
2729
+ renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(import_icons13.PencilIcon, { fontSize: size }),
2490
2730
  showTooltip: true
2491
2731
  }
2492
2732
  ];
@@ -2496,7 +2736,7 @@ var FlexSizeField = () => {
2496
2736
  const grow = fields?.["flex-grow"]?.value || null;
2497
2737
  const shrink = fields?.["flex-shrink"]?.value || null;
2498
2738
  const basis = fields?.["flex-basis"]?.value || null;
2499
- const currentGroup = (0, import_react22.useMemo)(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = (0, import_react22.useState)(currentGroup);
2739
+ const currentGroup = (0, import_react24.useMemo)(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = (0, import_react24.useState)(currentGroup);
2500
2740
  const onChangeGroup = (group = null) => {
2501
2741
  setActiveGroup(group);
2502
2742
  if (!group || group === "custom") {
@@ -2510,7 +2750,7 @@ var FlexSizeField = () => {
2510
2750
  if (group === "flex-grow") {
2511
2751
  setFields({
2512
2752
  "flex-basis": null,
2513
- "flex-grow": import_editor_props6.numberPropTypeUtil.create(DEFAULT),
2753
+ "flex-grow": import_editor_props9.numberPropTypeUtil.create(DEFAULT),
2514
2754
  "flex-shrink": null
2515
2755
  });
2516
2756
  return;
@@ -2518,10 +2758,10 @@ var FlexSizeField = () => {
2518
2758
  setFields({
2519
2759
  "flex-basis": null,
2520
2760
  "flex-grow": null,
2521
- "flex-shrink": import_editor_props6.numberPropTypeUtil.create(DEFAULT)
2761
+ "flex-shrink": import_editor_props9.numberPropTypeUtil.create(DEFAULT)
2522
2762
  });
2523
2763
  };
2524
- return /* @__PURE__ */ React40.createElement(import_ui33.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React40.createElement(import_ui33.ThemeProvider, null, /* @__PURE__ */ React40.createElement(SectionContent, null, /* @__PURE__ */ React40.createElement(import_ui33.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(StylesField, { bind: activeGroup ?? "" }, /* @__PURE__ */ React40.createElement(ControlLabel, null, (0, import_i18n17.__)("Size", "elementor")))), /* @__PURE__ */ React40.createElement(import_ui33.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React40.createElement(
2764
+ return /* @__PURE__ */ React41.createElement(import_ui33.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React41.createElement(import_ui33.ThemeProvider, null, /* @__PURE__ */ React41.createElement(SectionContent, null, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(StylesField, { bind: activeGroup ?? "" }, /* @__PURE__ */ React41.createElement(ControlLabel, null, (0, import_i18n18.__)("Size", "elementor")))), /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React41.createElement(
2525
2765
  import_editor_controls20.ControlToggleButtonGroup,
2526
2766
  {
2527
2767
  value: activeGroup,
@@ -2529,9 +2769,9 @@ var FlexSizeField = () => {
2529
2769
  items: items2,
2530
2770
  exclusive: true
2531
2771
  }
2532
- ))), "custom" === activeGroup && /* @__PURE__ */ React40.createElement(FlexCustomField, null))));
2772
+ ))), "custom" === activeGroup && /* @__PURE__ */ React41.createElement(FlexCustomField, null))));
2533
2773
  };
2534
- var FlexCustomField = () => /* @__PURE__ */ React40.createElement(React40.Fragment, null, /* @__PURE__ */ React40.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React40.createElement(import_ui33.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(ControlLabel, null, (0, import_i18n17.__)("Grow", "elementor"))), /* @__PURE__ */ React40.createElement(import_ui33.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React40.createElement(import_editor_controls20.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React40.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React40.createElement(import_ui33.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(ControlLabel, null, (0, import_i18n17.__)("Shrink", "elementor"))), /* @__PURE__ */ React40.createElement(import_ui33.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React40.createElement(import_editor_controls20.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React40.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React40.createElement(import_ui33.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(ControlLabel, null, (0, import_i18n17.__)("Basis", "elementor"))), /* @__PURE__ */ React40.createElement(import_ui33.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React40.createElement(import_editor_controls20.SizeControl, { extendedValues: ["auto"] })))));
2774
+ var FlexCustomField = () => /* @__PURE__ */ React41.createElement(React41.Fragment, null, /* @__PURE__ */ React41.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(ControlLabel, null, (0, import_i18n18.__)("Grow", "elementor"))), /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React41.createElement(import_editor_controls20.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React41.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(ControlLabel, null, (0, import_i18n18.__)("Shrink", "elementor"))), /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React41.createElement(import_editor_controls20.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React41.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(ControlLabel, null, (0, import_i18n18.__)("Basis", "elementor"))), /* @__PURE__ */ React41.createElement(import_ui33.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React41.createElement(import_editor_controls20.SizeControl, { extendedValues: ["auto"] })))));
2535
2775
  var getActiveGroup = ({
2536
2776
  grow,
2537
2777
  shrink,
@@ -2553,20 +2793,20 @@ var getActiveGroup = ({
2553
2793
  };
2554
2794
 
2555
2795
  // src/components/style-sections/layout-section/gap-control-field.tsx
2556
- var React41 = __toESM(require("react"));
2796
+ var React42 = __toESM(require("react"));
2557
2797
  var import_editor_controls21 = require("@elementor/editor-controls");
2558
2798
  var import_ui34 = require("@elementor/ui");
2559
- var import_i18n18 = require("@wordpress/i18n");
2799
+ var import_i18n19 = require("@wordpress/i18n");
2560
2800
  var GapControlField = () => {
2561
- return /* @__PURE__ */ React41.createElement(import_ui34.Stack, { gap: 1 }, /* @__PURE__ */ React41.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React41.createElement(import_editor_controls21.GapControl, { label: (0, import_i18n18.__)("Gaps", "elementor") })));
2801
+ return /* @__PURE__ */ React42.createElement(import_ui34.Stack, { gap: 1 }, /* @__PURE__ */ React42.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React42.createElement(import_editor_controls21.GapControl, { label: (0, import_i18n19.__)("Gaps", "elementor") })));
2562
2802
  };
2563
2803
 
2564
2804
  // src/components/style-sections/layout-section/justify-content-field.tsx
2565
- var React42 = __toESM(require("react"));
2805
+ var React43 = __toESM(require("react"));
2566
2806
  var import_editor_controls22 = require("@elementor/editor-controls");
2567
2807
  var import_icons14 = require("@elementor/icons");
2568
2808
  var import_ui35 = require("@elementor/ui");
2569
- var import_i18n19 = require("@wordpress/i18n");
2809
+ var import_i18n20 = require("@wordpress/i18n");
2570
2810
  var StartIcon4 = (0, import_ui35.withDirection)(import_icons14.JustifyTopIcon);
2571
2811
  var EndIcon4 = (0, import_ui35.withDirection)(import_icons14.JustifyBottomIcon);
2572
2812
  var iconProps4 = {
@@ -2576,75 +2816,75 @@ var iconProps4 = {
2576
2816
  var options4 = [
2577
2817
  {
2578
2818
  value: "flex-start",
2579
- label: (0, import_i18n19.__)("Start", "elementor"),
2580
- renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: StartIcon4, size, ...iconProps4 }),
2819
+ label: (0, import_i18n20.__)("Start", "elementor"),
2820
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: StartIcon4, size, ...iconProps4 }),
2581
2821
  showTooltip: true
2582
2822
  },
2583
2823
  {
2584
2824
  value: "center",
2585
- label: (0, import_i18n19.__)("Center", "elementor"),
2586
- renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: import_icons14.JustifyCenterIcon, size, ...iconProps4 }),
2825
+ label: (0, import_i18n20.__)("Center", "elementor"),
2826
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: import_icons14.JustifyCenterIcon, size, ...iconProps4 }),
2587
2827
  showTooltip: true
2588
2828
  },
2589
2829
  {
2590
2830
  value: "flex-end",
2591
- label: (0, import_i18n19.__)("End", "elementor"),
2592
- renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: EndIcon4, size, ...iconProps4 }),
2831
+ label: (0, import_i18n20.__)("End", "elementor"),
2832
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: EndIcon4, size, ...iconProps4 }),
2593
2833
  showTooltip: true
2594
2834
  },
2595
2835
  {
2596
2836
  value: "space-between",
2597
- label: (0, import_i18n19.__)("Space between", "elementor"),
2598
- renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: import_icons14.JustifySpaceBetweenVerticalIcon, size, ...iconProps4 }),
2837
+ label: (0, import_i18n20.__)("Space between", "elementor"),
2838
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: import_icons14.JustifySpaceBetweenVerticalIcon, size, ...iconProps4 }),
2599
2839
  showTooltip: true
2600
2840
  },
2601
2841
  {
2602
2842
  value: "space-around",
2603
- label: (0, import_i18n19.__)("Space around", "elementor"),
2604
- renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: import_icons14.JustifySpaceAroundVerticalIcon, size, ...iconProps4 }),
2843
+ label: (0, import_i18n20.__)("Space around", "elementor"),
2844
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: import_icons14.JustifySpaceAroundVerticalIcon, size, ...iconProps4 }),
2605
2845
  showTooltip: true
2606
2846
  },
2607
2847
  {
2608
2848
  value: "space-evenly",
2609
- label: (0, import_i18n19.__)("Space evenly", "elementor"),
2610
- renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: import_icons14.JustifyDistributeVerticalIcon, size, ...iconProps4 }),
2849
+ label: (0, import_i18n20.__)("Space evenly", "elementor"),
2850
+ renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: import_icons14.JustifyDistributeVerticalIcon, size, ...iconProps4 }),
2611
2851
  showTooltip: true
2612
2852
  }
2613
2853
  ];
2614
2854
  var JustifyContentField = () => {
2615
2855
  const { isSiteRtl } = useDirection();
2616
- return /* @__PURE__ */ React42.createElement(import_ui35.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React42.createElement(import_ui35.ThemeProvider, null, /* @__PURE__ */ React42.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React42.createElement(import_ui35.Stack, { gap: 0.75 }, /* @__PURE__ */ React42.createElement(ControlLabel, null, (0, import_i18n19.__)("Justify content", "elementor")), /* @__PURE__ */ React42.createElement(import_editor_controls22.ToggleControl, { options: options4, fullWidth: true })))));
2856
+ return /* @__PURE__ */ React43.createElement(import_ui35.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React43.createElement(import_ui35.ThemeProvider, null, /* @__PURE__ */ React43.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React43.createElement(import_ui35.Stack, { gap: 0.75 }, /* @__PURE__ */ React43.createElement(ControlLabel, null, (0, import_i18n20.__)("Justify content", "elementor")), /* @__PURE__ */ React43.createElement(import_editor_controls22.ToggleControl, { options: options4, fullWidth: true })))));
2617
2857
  };
2618
2858
 
2619
2859
  // src/components/style-sections/layout-section/wrap-field.tsx
2620
- var React43 = __toESM(require("react"));
2860
+ var React44 = __toESM(require("react"));
2621
2861
  var import_editor_controls23 = require("@elementor/editor-controls");
2622
2862
  var import_icons15 = require("@elementor/icons");
2623
2863
  var import_ui36 = require("@elementor/ui");
2624
- var import_i18n20 = require("@wordpress/i18n");
2864
+ var import_i18n21 = require("@wordpress/i18n");
2625
2865
  var options5 = [
2626
2866
  {
2627
2867
  value: "nowrap",
2628
- label: (0, import_i18n20.__)("No wrap", "elementor"),
2629
- renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(import_icons15.ArrowRightIcon, { fontSize: size }),
2868
+ label: (0, import_i18n21.__)("No wrap", "elementor"),
2869
+ renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(import_icons15.ArrowRightIcon, { fontSize: size }),
2630
2870
  showTooltip: true
2631
2871
  },
2632
2872
  {
2633
2873
  value: "wrap",
2634
- label: (0, import_i18n20.__)("Wrap", "elementor"),
2635
- renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(import_icons15.ArrowBackIcon, { fontSize: size }),
2874
+ label: (0, import_i18n21.__)("Wrap", "elementor"),
2875
+ renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(import_icons15.ArrowBackIcon, { fontSize: size }),
2636
2876
  showTooltip: true
2637
2877
  },
2638
2878
  {
2639
2879
  value: "wrap-reverse",
2640
- label: (0, import_i18n20.__)("Reversed wrap", "elementor"),
2641
- renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(import_icons15.ArrowForwardIcon, { fontSize: size }),
2880
+ label: (0, import_i18n21.__)("Reversed wrap", "elementor"),
2881
+ renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(import_icons15.ArrowForwardIcon, { fontSize: size }),
2642
2882
  showTooltip: true
2643
2883
  }
2644
2884
  ];
2645
2885
  var WrapField = () => {
2646
2886
  const { isSiteRtl } = useDirection();
2647
- return /* @__PURE__ */ React43.createElement(import_ui36.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React43.createElement(import_ui36.ThemeProvider, null, /* @__PURE__ */ React43.createElement(StylesField, { bind: "flex-wrap" }, /* @__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(ControlLabel, null, (0, import_i18n20.__)("Wrap", "elementor"))), /* @__PURE__ */ React43.createElement(import_ui36.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React43.createElement(import_editor_controls23.ToggleControl, { options: options5 }))))));
2887
+ return /* @__PURE__ */ React44.createElement(import_ui36.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React44.createElement(import_ui36.ThemeProvider, null, /* @__PURE__ */ React44.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React44.createElement(import_ui36.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(import_ui36.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(ControlLabel, null, (0, import_i18n21.__)("Wrap", "elementor"))), /* @__PURE__ */ React44.createElement(import_ui36.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React44.createElement(import_editor_controls23.ToggleControl, { options: options5 }))))));
2648
2888
  };
2649
2889
 
2650
2890
  // src/components/style-sections/layout-section/layout-section.tsx
@@ -2656,13 +2896,13 @@ var LayoutSection = () => {
2656
2896
  const parent = (0, import_editor_elements7.useParentElement)(element.id);
2657
2897
  const parentStyle = useComputedStyle(parent?.id || null);
2658
2898
  const parentStyleDirection = parentStyle?.flexDirection ?? "row";
2659
- return /* @__PURE__ */ React44.createElement(SectionContent, null, /* @__PURE__ */ React44.createElement(DisplayField, null), isDisplayFlex && /* @__PURE__ */ React44.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React44.createElement(FlexChildFields, { parentStyleDirection }));
2899
+ return /* @__PURE__ */ React45.createElement(SectionContent, null, /* @__PURE__ */ React45.createElement(DisplayField, null), isDisplayFlex && /* @__PURE__ */ React45.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React45.createElement(FlexChildFields, { parentStyleDirection }));
2660
2900
  };
2661
2901
  var FlexFields = () => {
2662
2902
  const [flexWrap] = useStylesField("flex-wrap");
2663
- return /* @__PURE__ */ React44.createElement(React44.Fragment, null, /* @__PURE__ */ React44.createElement(FlexDirectionField, null), /* @__PURE__ */ React44.createElement(JustifyContentField, null), /* @__PURE__ */ React44.createElement(AlignItemsField, null), /* @__PURE__ */ React44.createElement(PanelDivider, null), /* @__PURE__ */ React44.createElement(GapControlField, null), /* @__PURE__ */ React44.createElement(WrapField, null), ["wrap", "wrap-reverse"].includes(flexWrap?.value) && /* @__PURE__ */ React44.createElement(AlignContentField, null));
2903
+ return /* @__PURE__ */ React45.createElement(React45.Fragment, null, /* @__PURE__ */ React45.createElement(FlexDirectionField, null), /* @__PURE__ */ React45.createElement(JustifyContentField, null), /* @__PURE__ */ React45.createElement(AlignItemsField, null), /* @__PURE__ */ React45.createElement(PanelDivider, null), /* @__PURE__ */ React45.createElement(GapControlField, null), /* @__PURE__ */ React45.createElement(WrapField, null), ["wrap", "wrap-reverse"].includes(flexWrap?.value) && /* @__PURE__ */ React45.createElement(AlignContentField, null));
2664
2904
  };
2665
- var FlexChildFields = ({ parentStyleDirection }) => /* @__PURE__ */ React44.createElement(React44.Fragment, null, /* @__PURE__ */ React44.createElement(PanelDivider, null), /* @__PURE__ */ React44.createElement(import_editor_controls24.ControlFormLabel, null, (0, import_i18n21.__)("Flex child", "elementor")), /* @__PURE__ */ React44.createElement(AlignSelfChild, { parentStyleDirection }), /* @__PURE__ */ React44.createElement(FlexOrderField, null), /* @__PURE__ */ React44.createElement(FlexSizeField, null));
2905
+ var FlexChildFields = ({ parentStyleDirection }) => /* @__PURE__ */ React45.createElement(React45.Fragment, null, /* @__PURE__ */ React45.createElement(PanelDivider, null), /* @__PURE__ */ React45.createElement(import_editor_controls24.ControlFormLabel, null, (0, import_i18n22.__)("Flex child", "elementor")), /* @__PURE__ */ React45.createElement(AlignSelfChild, { parentStyleDirection }), /* @__PURE__ */ React45.createElement(FlexOrderField, null), /* @__PURE__ */ React45.createElement(FlexSizeField, null));
2666
2906
  var shouldDisplayFlexFields = (display, local) => {
2667
2907
  const value = display?.value ?? local?.value;
2668
2908
  if (!value) {
@@ -2672,66 +2912,66 @@ var shouldDisplayFlexFields = (display, local) => {
2672
2912
  };
2673
2913
 
2674
2914
  // src/components/style-sections/position-section/position-section.tsx
2675
- var React49 = __toESM(require("react"));
2676
- var import_editor_v1_adapters6 = require("@elementor/editor-v1-adapters");
2915
+ var React50 = __toESM(require("react"));
2916
+ var import_editor_v1_adapters8 = require("@elementor/editor-v1-adapters");
2677
2917
  var import_session3 = require("@elementor/session");
2678
2918
 
2679
2919
  // src/components/style-sections/position-section/dimensions-field.tsx
2680
- var React45 = __toESM(require("react"));
2920
+ var React46 = __toESM(require("react"));
2681
2921
  var import_editor_controls25 = require("@elementor/editor-controls");
2682
2922
  var import_icons16 = require("@elementor/icons");
2683
2923
  var import_ui37 = require("@elementor/ui");
2684
- var import_i18n22 = require("@wordpress/i18n");
2924
+ var import_i18n23 = require("@wordpress/i18n");
2685
2925
  var InlineStartIcon2 = (0, import_ui37.withDirection)(import_icons16.SideLeftIcon);
2686
2926
  var InlineEndIcon2 = (0, import_ui37.withDirection)(import_icons16.SideRightIcon);
2687
2927
  var sideIcons = {
2688
- "inset-block-start": /* @__PURE__ */ React45.createElement(import_icons16.SideTopIcon, { fontSize: "tiny" }),
2689
- "inset-block-end": /* @__PURE__ */ React45.createElement(import_icons16.SideBottomIcon, { fontSize: "tiny" }),
2690
- "inset-inline-start": /* @__PURE__ */ React45.createElement(RotatedIcon, { icon: InlineStartIcon2, size: "tiny" }),
2691
- "inset-inline-end": /* @__PURE__ */ React45.createElement(RotatedIcon, { icon: InlineEndIcon2, size: "tiny" })
2928
+ "inset-block-start": /* @__PURE__ */ React46.createElement(import_icons16.SideTopIcon, { fontSize: "tiny" }),
2929
+ "inset-block-end": /* @__PURE__ */ React46.createElement(import_icons16.SideBottomIcon, { fontSize: "tiny" }),
2930
+ "inset-inline-start": /* @__PURE__ */ React46.createElement(RotatedIcon, { icon: InlineStartIcon2, size: "tiny" }),
2931
+ "inset-inline-end": /* @__PURE__ */ React46.createElement(RotatedIcon, { icon: InlineEndIcon2, size: "tiny" })
2692
2932
  };
2693
- var getInlineStartLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n22.__)("Right", "elementor") : (0, import_i18n22.__)("Left", "elementor");
2694
- var getInlineEndLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n22.__)("Left", "elementor") : (0, import_i18n22.__)("Right", "elementor");
2933
+ var getInlineStartLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n23.__)("Right", "elementor") : (0, import_i18n23.__)("Left", "elementor");
2934
+ var getInlineEndLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n23.__)("Left", "elementor") : (0, import_i18n23.__)("Right", "elementor");
2695
2935
  var DimensionsField = () => {
2696
2936
  const { isSiteRtl } = useDirection();
2697
- return /* @__PURE__ */ React45.createElement(React45.Fragment, null, /* @__PURE__ */ React45.createElement(import_ui37.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React45.createElement(DimensionField, { side: "inset-block-start", label: (0, import_i18n22.__)("Top", "elementor") }), /* @__PURE__ */ React45.createElement(DimensionField, { side: "inset-inline-end", label: getInlineEndLabel(isSiteRtl) })), /* @__PURE__ */ React45.createElement(import_ui37.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React45.createElement(DimensionField, { side: "inset-block-end", label: (0, import_i18n22.__)("Bottom", "elementor") }), /* @__PURE__ */ React45.createElement(DimensionField, { side: "inset-inline-start", label: getInlineStartLabel(isSiteRtl) })));
2937
+ return /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement(import_ui37.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(DimensionField, { side: "inset-block-start", label: (0, import_i18n23.__)("Top", "elementor") }), /* @__PURE__ */ React46.createElement(DimensionField, { side: "inset-inline-end", label: getInlineEndLabel(isSiteRtl) })), /* @__PURE__ */ React46.createElement(import_ui37.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(DimensionField, { side: "inset-block-end", label: (0, import_i18n23.__)("Bottom", "elementor") }), /* @__PURE__ */ React46.createElement(DimensionField, { side: "inset-inline-start", label: getInlineStartLabel(isSiteRtl) })));
2698
2938
  };
2699
2939
  var DimensionField = ({ side, label }) => {
2700
- return /* @__PURE__ */ React45.createElement(import_ui37.Grid, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React45.createElement(import_ui37.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React45.createElement(ControlLabel, null, label)), /* @__PURE__ */ React45.createElement(import_ui37.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React45.createElement(StylesField, { bind: side }, /* @__PURE__ */ React45.createElement(import_editor_controls25.SizeControl, { startIcon: sideIcons[side], extendedValues: ["auto"] }))));
2940
+ return /* @__PURE__ */ React46.createElement(import_ui37.Grid, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React46.createElement(import_ui37.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React46.createElement(ControlLabel, null, label)), /* @__PURE__ */ React46.createElement(import_ui37.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React46.createElement(StylesField, { bind: side }, /* @__PURE__ */ React46.createElement(import_editor_controls25.SizeControl, { startIcon: sideIcons[side], extendedValues: ["auto"] }))));
2701
2941
  };
2702
2942
 
2703
2943
  // src/components/style-sections/position-section/offset-field.tsx
2704
- var React46 = __toESM(require("react"));
2944
+ var React47 = __toESM(require("react"));
2705
2945
  var import_editor_controls26 = require("@elementor/editor-controls");
2706
2946
  var import_ui38 = require("@elementor/ui");
2707
- var import_i18n23 = require("@wordpress/i18n");
2947
+ var import_i18n24 = require("@wordpress/i18n");
2708
2948
  var OffsetField = () => {
2709
- return /* @__PURE__ */ React46.createElement(StylesField, { bind: "scroll-margin-top" }, /* @__PURE__ */ React46.createElement(import_ui38.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(ControlLabel, null, (0, import_i18n23.__)("Anchor offset", "elementor"))), /* @__PURE__ */ React46.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(import_editor_controls26.SizeControl, { units: ["px", "em", "rem", "vw", "vh"] }))));
2949
+ return /* @__PURE__ */ React47.createElement(StylesField, { bind: "scroll-margin-top" }, /* @__PURE__ */ React47.createElement(import_ui38.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel, null, (0, import_i18n24.__)("Anchor offset", "elementor"))), /* @__PURE__ */ React47.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(import_editor_controls26.SizeControl, { units: ["px", "em", "rem", "vw", "vh"] }))));
2710
2950
  };
2711
2951
 
2712
2952
  // src/components/style-sections/position-section/position-field.tsx
2713
- var React47 = __toESM(require("react"));
2953
+ var React48 = __toESM(require("react"));
2714
2954
  var import_editor_controls27 = require("@elementor/editor-controls");
2715
2955
  var import_ui39 = require("@elementor/ui");
2716
- var import_i18n24 = require("@wordpress/i18n");
2956
+ var import_i18n25 = require("@wordpress/i18n");
2717
2957
  var positionOptions = [
2718
- { label: (0, import_i18n24.__)("Static", "elementor"), value: "static" },
2719
- { label: (0, import_i18n24.__)("Relative", "elementor"), value: "relative" },
2720
- { label: (0, import_i18n24.__)("Absolute", "elementor"), value: "absolute" },
2721
- { label: (0, import_i18n24.__)("Fixed", "elementor"), value: "fixed" },
2722
- { label: (0, import_i18n24.__)("Sticky", "elementor"), value: "sticky" }
2958
+ { label: (0, import_i18n25.__)("Static", "elementor"), value: "static" },
2959
+ { label: (0, import_i18n25.__)("Relative", "elementor"), value: "relative" },
2960
+ { label: (0, import_i18n25.__)("Absolute", "elementor"), value: "absolute" },
2961
+ { label: (0, import_i18n25.__)("Fixed", "elementor"), value: "fixed" },
2962
+ { label: (0, import_i18n25.__)("Sticky", "elementor"), value: "sticky" }
2723
2963
  ];
2724
2964
  var PositionField = ({ onChange }) => {
2725
- return /* @__PURE__ */ React47.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React47.createElement(import_ui39.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel, null, (0, import_i18n24.__)("Position", "elementor"))), /* @__PURE__ */ React47.createElement(import_ui39.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React47.createElement(import_editor_controls27.SelectControl, { options: positionOptions, onChange }))));
2965
+ return /* @__PURE__ */ React48.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React48.createElement(import_ui39.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(ControlLabel, null, (0, import_i18n25.__)("Position", "elementor"))), /* @__PURE__ */ React48.createElement(import_ui39.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React48.createElement(import_editor_controls27.SelectControl, { options: positionOptions, onChange }))));
2726
2966
  };
2727
2967
 
2728
2968
  // src/components/style-sections/position-section/z-index-field.tsx
2729
- var React48 = __toESM(require("react"));
2969
+ var React49 = __toESM(require("react"));
2730
2970
  var import_editor_controls28 = require("@elementor/editor-controls");
2731
2971
  var import_ui40 = require("@elementor/ui");
2732
- var import_i18n25 = require("@wordpress/i18n");
2972
+ var import_i18n26 = require("@wordpress/i18n");
2733
2973
  var ZIndexField = () => {
2734
- return /* @__PURE__ */ React48.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React48.createElement(import_ui40.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(ControlLabel, null, (0, import_i18n25.__)("Z-index", "elementor"))), /* @__PURE__ */ React48.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(import_editor_controls28.NumberControl, null))));
2974
+ return /* @__PURE__ */ React49.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React49.createElement(import_ui40.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(ControlLabel, null, (0, import_i18n26.__)("Z-index", "elementor"))), /* @__PURE__ */ React49.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(import_editor_controls28.NumberControl, null))));
2735
2975
  };
2736
2976
 
2737
2977
  // src/components/style-sections/position-section/position-section.tsx
@@ -2744,7 +2984,7 @@ var PositionSection = () => {
2744
2984
  "inset-inline-end"
2745
2985
  ]);
2746
2986
  const [dimensionsValuesFromHistory, updateDimensionsHistory, clearDimensionsHistory] = usePersistDimensions();
2747
- const isCssIdFeatureActive = (0, import_editor_v1_adapters6.isExperimentActive)("e_v_3_30");
2987
+ const isCssIdFeatureActive = (0, import_editor_v1_adapters8.isExperimentActive)("e_v_3_30");
2748
2988
  const onPositionChange = (newPosition, previousPosition) => {
2749
2989
  if (newPosition === "static") {
2750
2990
  if (dimensionsValues) {
@@ -2764,7 +3004,7 @@ var PositionSection = () => {
2764
3004
  }
2765
3005
  };
2766
3006
  const isNotStatic = positionValue && positionValue?.value !== "static";
2767
- return /* @__PURE__ */ React49.createElement(SectionContent, null, /* @__PURE__ */ React49.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React49.createElement(React49.Fragment, null, /* @__PURE__ */ React49.createElement(DimensionsField, null), /* @__PURE__ */ React49.createElement(ZIndexField, null)) : null, isCssIdFeatureActive && /* @__PURE__ */ React49.createElement(React49.Fragment, null, /* @__PURE__ */ React49.createElement(PanelDivider, null), /* @__PURE__ */ React49.createElement(OffsetField, null)));
3007
+ return /* @__PURE__ */ React50.createElement(SectionContent, null, /* @__PURE__ */ React50.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React50.createElement(React50.Fragment, null, /* @__PURE__ */ React50.createElement(DimensionsField, null), /* @__PURE__ */ React50.createElement(ZIndexField, null)) : null, isCssIdFeatureActive && /* @__PURE__ */ React50.createElement(React50.Fragment, null, /* @__PURE__ */ React50.createElement(PanelDivider, null), /* @__PURE__ */ React50.createElement(OffsetField, null)));
2768
3008
  };
2769
3009
  var usePersistDimensions = () => {
2770
3010
  const { id: styleDefID, meta } = useStyle();
@@ -2774,23 +3014,23 @@ var usePersistDimensions = () => {
2774
3014
  };
2775
3015
 
2776
3016
  // src/components/style-sections/size-section/size-section.tsx
2777
- var React54 = __toESM(require("react"));
3017
+ var React55 = __toESM(require("react"));
2778
3018
  var import_editor_controls32 = require("@elementor/editor-controls");
2779
- var import_editor_v1_adapters7 = require("@elementor/editor-v1-adapters");
3019
+ var import_editor_v1_adapters9 = require("@elementor/editor-v1-adapters");
2780
3020
  var import_ui45 = require("@elementor/ui");
2781
- var import_i18n30 = require("@wordpress/i18n");
3021
+ var import_i18n31 = require("@wordpress/i18n");
2782
3022
 
2783
3023
  // src/components/collapsible-content.tsx
2784
- var React50 = __toESM(require("react"));
2785
- var import_react23 = require("react");
3024
+ var React51 = __toESM(require("react"));
3025
+ var import_react25 = require("react");
2786
3026
  var import_ui41 = require("@elementor/ui");
2787
- var import_i18n26 = require("@wordpress/i18n");
3027
+ var import_i18n27 = require("@wordpress/i18n");
2788
3028
  var CollapsibleContent = ({ children, defaultOpen = false }) => {
2789
- const [open, setOpen] = (0, import_react23.useState)(defaultOpen);
3029
+ const [open, setOpen] = (0, import_react25.useState)(defaultOpen);
2790
3030
  const handleToggle = () => {
2791
3031
  setOpen((prevOpen) => !prevOpen);
2792
3032
  };
2793
- return /* @__PURE__ */ React50.createElement(import_ui41.Stack, null, /* @__PURE__ */ React50.createElement(
3033
+ return /* @__PURE__ */ React51.createElement(import_ui41.Stack, null, /* @__PURE__ */ React51.createElement(
2794
3034
  import_ui41.Button,
2795
3035
  {
2796
3036
  fullWidth: true,
@@ -2798,77 +3038,77 @@ var CollapsibleContent = ({ children, defaultOpen = false }) => {
2798
3038
  color: "secondary",
2799
3039
  variant: "outlined",
2800
3040
  onClick: handleToggle,
2801
- endIcon: /* @__PURE__ */ React50.createElement(CollapseIcon, { open }),
3041
+ endIcon: /* @__PURE__ */ React51.createElement(CollapseIcon, { open }),
2802
3042
  sx: { my: 0.5 }
2803
3043
  },
2804
- open ? (0, import_i18n26.__)("Show less", "elementor") : (0, import_i18n26.__)("Show more", "elementor")
2805
- ), /* @__PURE__ */ React50.createElement(import_ui41.Collapse, { in: open, timeout: "auto", unmountOnExit: true }, children));
3044
+ open ? (0, import_i18n27.__)("Show less", "elementor") : (0, import_i18n27.__)("Show more", "elementor")
3045
+ ), /* @__PURE__ */ React51.createElement(import_ui41.Collapse, { in: open, timeout: "auto", unmountOnExit: true }, children));
2806
3046
  };
2807
3047
 
2808
3048
  // src/components/style-sections/size-section/object-fit-field.tsx
2809
- var React51 = __toESM(require("react"));
3049
+ var React52 = __toESM(require("react"));
2810
3050
  var import_editor_controls29 = require("@elementor/editor-controls");
2811
3051
  var import_ui42 = require("@elementor/ui");
2812
- var import_i18n27 = require("@wordpress/i18n");
3052
+ var import_i18n28 = require("@wordpress/i18n");
2813
3053
  var positionOptions2 = [
2814
- { label: (0, import_i18n27.__)("Fill", "elementor"), value: "fill" },
2815
- { label: (0, import_i18n27.__)("Cover", "elementor"), value: "cover" },
2816
- { label: (0, import_i18n27.__)("Contain", "elementor"), value: "contain" },
2817
- { label: (0, import_i18n27.__)("None", "elementor"), value: "none" },
2818
- { label: (0, import_i18n27.__)("Scale down", "elementor"), value: "scale-down" }
3054
+ { label: (0, import_i18n28.__)("Fill", "elementor"), value: "fill" },
3055
+ { label: (0, import_i18n28.__)("Cover", "elementor"), value: "cover" },
3056
+ { label: (0, import_i18n28.__)("Contain", "elementor"), value: "contain" },
3057
+ { label: (0, import_i18n28.__)("None", "elementor"), value: "none" },
3058
+ { label: (0, import_i18n28.__)("Scale down", "elementor"), value: "scale-down" }
2819
3059
  ];
2820
3060
  var ObjectFitField = ({ onChange }) => {
2821
- return /* @__PURE__ */ React51.createElement(StylesField, { bind: "object-fit" }, /* @__PURE__ */ React51.createElement(import_ui42.Grid, { container: true, pt: 2, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React51.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(ControlLabel, null, (0, import_i18n27.__)("Object fit", "elementor"))), /* @__PURE__ */ React51.createElement(import_ui42.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React51.createElement(import_editor_controls29.SelectControl, { options: positionOptions2, onChange }))));
3061
+ return /* @__PURE__ */ React52.createElement(StylesField, { bind: "object-fit" }, /* @__PURE__ */ React52.createElement(import_ui42.Grid, { container: true, pt: 2, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(ControlLabel, null, (0, import_i18n28.__)("Object fit", "elementor"))), /* @__PURE__ */ React52.createElement(import_ui42.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React52.createElement(import_editor_controls29.SelectControl, { options: positionOptions2, onChange }))));
2822
3062
  };
2823
3063
 
2824
3064
  // src/components/style-sections/size-section/object-position-field.tsx
2825
- var React52 = __toESM(require("react"));
3065
+ var React53 = __toESM(require("react"));
2826
3066
  var import_editor_controls30 = require("@elementor/editor-controls");
2827
3067
  var import_ui43 = require("@elementor/ui");
2828
- var import_i18n28 = require("@wordpress/i18n");
3068
+ var import_i18n29 = require("@wordpress/i18n");
2829
3069
  var positionOptions3 = [
2830
- { label: (0, import_i18n28.__)("Center center", "elementor"), value: "center center" },
2831
- { label: (0, import_i18n28.__)("Center left", "elementor"), value: "center left" },
2832
- { label: (0, import_i18n28.__)("Center right", "elementor"), value: "center right" },
2833
- { label: (0, import_i18n28.__)("Top center", "elementor"), value: "top center" },
2834
- { label: (0, import_i18n28.__)("Top left", "elementor"), value: "top left" },
2835
- { label: (0, import_i18n28.__)("Top right", "elementor"), value: "top right" },
2836
- { label: (0, import_i18n28.__)("Bottom center", "elementor"), value: "bottom center" },
2837
- { label: (0, import_i18n28.__)("Bottom left", "elementor"), value: "bottom left" },
2838
- { label: (0, import_i18n28.__)("Bottom right", "elementor"), value: "bottom right" }
3070
+ { label: (0, import_i18n29.__)("Center center", "elementor"), value: "center center" },
3071
+ { label: (0, import_i18n29.__)("Center left", "elementor"), value: "center left" },
3072
+ { label: (0, import_i18n29.__)("Center right", "elementor"), value: "center right" },
3073
+ { label: (0, import_i18n29.__)("Top center", "elementor"), value: "top center" },
3074
+ { label: (0, import_i18n29.__)("Top left", "elementor"), value: "top left" },
3075
+ { label: (0, import_i18n29.__)("Top right", "elementor"), value: "top right" },
3076
+ { label: (0, import_i18n29.__)("Bottom center", "elementor"), value: "bottom center" },
3077
+ { label: (0, import_i18n29.__)("Bottom left", "elementor"), value: "bottom left" },
3078
+ { label: (0, import_i18n29.__)("Bottom right", "elementor"), value: "bottom right" }
2839
3079
  ];
2840
3080
  var ObjectPositionField = ({ onChange }) => {
2841
- return /* @__PURE__ */ React52.createElement(StylesField, { bind: "object-position" }, /* @__PURE__ */ React52.createElement(import_ui43.Grid, { container: true, pt: 2, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(import_ui43.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(ControlLabel, null, (0, import_i18n28.__)("Object position", "elementor"))), /* @__PURE__ */ React52.createElement(import_ui43.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React52.createElement(import_editor_controls30.SelectControl, { options: positionOptions3, onChange }))));
3081
+ return /* @__PURE__ */ React53.createElement(StylesField, { bind: "object-position" }, /* @__PURE__ */ React53.createElement(import_ui43.Grid, { container: true, pt: 2, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React53.createElement(import_ui43.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(ControlLabel, null, (0, import_i18n29.__)("Object position", "elementor"))), /* @__PURE__ */ React53.createElement(import_ui43.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React53.createElement(import_editor_controls30.SelectControl, { options: positionOptions3, onChange }))));
2842
3082
  };
2843
3083
 
2844
3084
  // src/components/style-sections/size-section/overflow-field.tsx
2845
- var React53 = __toESM(require("react"));
3085
+ var React54 = __toESM(require("react"));
2846
3086
  var import_editor_controls31 = require("@elementor/editor-controls");
2847
3087
  var import_icons17 = require("@elementor/icons");
2848
3088
  var import_ui44 = require("@elementor/ui");
2849
- var import_i18n29 = require("@wordpress/i18n");
3089
+ var import_i18n30 = require("@wordpress/i18n");
2850
3090
  var options6 = [
2851
3091
  {
2852
3092
  value: "visible",
2853
- label: (0, import_i18n29.__)("Visible", "elementor"),
2854
- renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(import_icons17.EyeIcon, { fontSize: size }),
3093
+ label: (0, import_i18n30.__)("Visible", "elementor"),
3094
+ renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(import_icons17.EyeIcon, { fontSize: size }),
2855
3095
  showTooltip: true
2856
3096
  },
2857
3097
  {
2858
3098
  value: "hidden",
2859
- label: (0, import_i18n29.__)("Hidden", "elementor"),
2860
- renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(import_icons17.EyeOffIcon, { fontSize: size }),
3099
+ label: (0, import_i18n30.__)("Hidden", "elementor"),
3100
+ renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(import_icons17.EyeOffIcon, { fontSize: size }),
2861
3101
  showTooltip: true
2862
3102
  },
2863
3103
  {
2864
3104
  value: "auto",
2865
- label: (0, import_i18n29.__)("Auto", "elementor"),
2866
- renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(import_icons17.LetterAIcon, { fontSize: size }),
3105
+ label: (0, import_i18n30.__)("Auto", "elementor"),
3106
+ renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(import_icons17.LetterAIcon, { fontSize: size }),
2867
3107
  showTooltip: true
2868
3108
  }
2869
3109
  ];
2870
3110
  var OverflowField = () => {
2871
- return /* @__PURE__ */ React53.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React53.createElement(import_ui44.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React53.createElement(import_ui44.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(ControlLabel, null, (0, import_i18n29.__)("Overflow", "elementor"))), /* @__PURE__ */ React53.createElement(import_ui44.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React53.createElement(import_editor_controls31.ToggleControl, { options: options6 }))));
3111
+ return /* @__PURE__ */ React54.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React54.createElement(import_ui44.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React54.createElement(import_ui44.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(ControlLabel, null, (0, import_i18n30.__)("Overflow", "elementor"))), /* @__PURE__ */ React54.createElement(import_ui44.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React54.createElement(import_editor_controls31.ToggleControl, { options: options6 }))));
2872
3112
  };
2873
3113
 
2874
3114
  // src/components/style-sections/size-section/size-section.tsx
@@ -2883,78 +3123,78 @@ var SizeSection = () => {
2883
3123
  });
2884
3124
  }
2885
3125
  };
2886
- const isVersion330Active = (0, import_editor_v1_adapters7.isExperimentActive)("e_v_3_30");
2887
- return /* @__PURE__ */ React54.createElement(SectionContent, null, /* @__PURE__ */ React54.createElement(import_ui45.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React54.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(SizeField, { bind: "width", label: (0, import_i18n30.__)("Width", "elementor"), extendedValues: ["auto"] })), /* @__PURE__ */ React54.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(SizeField, { bind: "height", label: (0, import_i18n30.__)("Height", "elementor"), extendedValues: ["auto"] }))), /* @__PURE__ */ React54.createElement(import_ui45.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React54.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(
3126
+ const isVersion330Active = (0, import_editor_v1_adapters9.isExperimentActive)("e_v_3_30");
3127
+ return /* @__PURE__ */ React55.createElement(SectionContent, null, /* @__PURE__ */ React55.createElement(import_ui45.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(SizeField, { bind: "width", label: (0, import_i18n31.__)("Width", "elementor"), extendedValues: ["auto"] })), /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(SizeField, { bind: "height", label: (0, import_i18n31.__)("Height", "elementor"), extendedValues: ["auto"] }))), /* @__PURE__ */ React55.createElement(import_ui45.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(
2888
3128
  SizeField,
2889
3129
  {
2890
3130
  bind: "min-width",
2891
- label: (0, import_i18n30.__)("Min width", "elementor"),
3131
+ label: (0, import_i18n31.__)("Min width", "elementor"),
2892
3132
  extendedValues: ["auto"]
2893
3133
  }
2894
- )), /* @__PURE__ */ React54.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(
3134
+ )), /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(
2895
3135
  SizeField,
2896
3136
  {
2897
3137
  bind: "min-height",
2898
- label: (0, import_i18n30.__)("Min height", "elementor"),
3138
+ label: (0, import_i18n31.__)("Min height", "elementor"),
2899
3139
  extendedValues: ["auto"]
2900
3140
  }
2901
- ))), /* @__PURE__ */ React54.createElement(import_ui45.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React54.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(SizeField, { bind: "max-width", label: (0, import_i18n30.__)("Max width", "elementor") })), /* @__PURE__ */ React54.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(SizeField, { bind: "max-height", label: (0, import_i18n30.__)("Max height", "elementor") }))), /* @__PURE__ */ React54.createElement(PanelDivider, null), /* @__PURE__ */ React54.createElement(import_ui45.Stack, null, /* @__PURE__ */ React54.createElement(OverflowField, null)), isVersion330Active && /* @__PURE__ */ React54.createElement(CollapsibleContent, null, /* @__PURE__ */ React54.createElement(ObjectFitField, { onChange: onFitChange }), /* @__PURE__ */ React54.createElement(import_ui45.Grid, { item: true, xs: 6 }, isNotFill && /* @__PURE__ */ React54.createElement(ObjectPositionField, null))));
3141
+ ))), /* @__PURE__ */ React55.createElement(import_ui45.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(SizeField, { bind: "max-width", label: (0, import_i18n31.__)("Max width", "elementor") })), /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(SizeField, { bind: "max-height", label: (0, import_i18n31.__)("Max height", "elementor") }))), /* @__PURE__ */ React55.createElement(PanelDivider, null), /* @__PURE__ */ React55.createElement(import_ui45.Stack, null, /* @__PURE__ */ React55.createElement(OverflowField, null)), isVersion330Active && /* @__PURE__ */ React55.createElement(import_ui45.Stack, null, /* @__PURE__ */ React55.createElement(StylesField, { bind: "aspect-ratio" }, /* @__PURE__ */ React55.createElement(import_editor_controls32.AspectRatioControl, { label: (0, import_i18n31.__)("Aspect Ratio", "elementor") }))), isVersion330Active && /* @__PURE__ */ React55.createElement(CollapsibleContent, null, /* @__PURE__ */ React55.createElement(ObjectFitField, { onChange: onFitChange }), /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 6 }, isNotFill && /* @__PURE__ */ React55.createElement(ObjectPositionField, null))));
2902
3142
  };
2903
3143
  var SizeField = ({ label, bind, extendedValues }) => {
2904
- return /* @__PURE__ */ React54.createElement(StylesField, { bind }, /* @__PURE__ */ React54.createElement(import_ui45.Grid, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React54.createElement(import_ui45.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React54.createElement(ControlLabel, null, label)), /* @__PURE__ */ React54.createElement(import_ui45.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React54.createElement(import_editor_controls32.SizeControl, { extendedValues }))));
3144
+ return /* @__PURE__ */ React55.createElement(StylesField, { bind }, /* @__PURE__ */ React55.createElement(import_ui45.Grid, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React55.createElement(ControlLabel, null, label)), /* @__PURE__ */ React55.createElement(import_ui45.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React55.createElement(import_editor_controls32.SizeControl, { extendedValues }))));
2905
3145
  };
2906
3146
 
2907
3147
  // src/components/style-sections/spacing-section/spacing-section.tsx
2908
- var React55 = __toESM(require("react"));
3148
+ var React56 = __toESM(require("react"));
2909
3149
  var import_editor_controls33 = require("@elementor/editor-controls");
2910
- var import_i18n31 = require("@wordpress/i18n");
3150
+ var import_i18n32 = require("@wordpress/i18n");
2911
3151
  var SpacingSection = () => {
2912
3152
  const { isSiteRtl } = useDirection();
2913
- return /* @__PURE__ */ React55.createElement(SectionContent, null, /* @__PURE__ */ React55.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React55.createElement(
3153
+ return /* @__PURE__ */ React56.createElement(SectionContent, null, /* @__PURE__ */ React56.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React56.createElement(
2914
3154
  import_editor_controls33.LinkedDimensionsControl,
2915
3155
  {
2916
- label: (0, import_i18n31.__)("Margin", "elementor"),
3156
+ label: (0, import_i18n32.__)("Margin", "elementor"),
2917
3157
  isSiteRtl,
2918
3158
  extendedValues: ["auto"]
2919
3159
  }
2920
- )), /* @__PURE__ */ React55.createElement(PanelDivider, null), /* @__PURE__ */ React55.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React55.createElement(import_editor_controls33.LinkedDimensionsControl, { label: (0, import_i18n31.__)("Padding", "elementor"), isSiteRtl })));
3160
+ )), /* @__PURE__ */ React56.createElement(PanelDivider, null), /* @__PURE__ */ React56.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React56.createElement(import_editor_controls33.LinkedDimensionsControl, { label: (0, import_i18n32.__)("Padding", "elementor"), isSiteRtl })));
2921
3161
  };
2922
3162
 
2923
3163
  // src/components/style-sections/typography-section/typography-section.tsx
2924
- var React71 = __toESM(require("react"));
2925
- var import_editor_v1_adapters8 = require("@elementor/editor-v1-adapters");
3164
+ var React72 = __toESM(require("react"));
3165
+ var import_editor_v1_adapters10 = require("@elementor/editor-v1-adapters");
2926
3166
 
2927
3167
  // src/components/style-sections/typography-section/column-count-field.tsx
2928
- var React56 = __toESM(require("react"));
3168
+ var React57 = __toESM(require("react"));
2929
3169
  var import_editor_controls34 = require("@elementor/editor-controls");
2930
3170
  var import_ui46 = require("@elementor/ui");
2931
- var import_i18n32 = require("@wordpress/i18n");
3171
+ var import_i18n33 = require("@wordpress/i18n");
2932
3172
  var ColumnCountField = () => {
2933
- return /* @__PURE__ */ React56.createElement(StylesField, { bind: "column-count" }, /* @__PURE__ */ React56.createElement(import_ui46.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React56.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(ControlLabel, null, (0, import_i18n32.__)("Columns", "elementor"))), /* @__PURE__ */ React56.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(import_editor_controls34.NumberControl, { shouldForceInt: true, min: 0, step: 1 }))));
3173
+ return /* @__PURE__ */ React57.createElement(StylesField, { bind: "column-count" }, /* @__PURE__ */ React57.createElement(import_ui46.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React57.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(ControlLabel, null, (0, import_i18n33.__)("Columns", "elementor"))), /* @__PURE__ */ React57.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(import_editor_controls34.NumberControl, { shouldForceInt: true, min: 0, step: 1 }))));
2934
3174
  };
2935
3175
 
2936
3176
  // src/components/style-sections/typography-section/column-gap-field.tsx
2937
- var React57 = __toESM(require("react"));
3177
+ var React58 = __toESM(require("react"));
2938
3178
  var import_editor_controls35 = require("@elementor/editor-controls");
2939
3179
  var import_ui47 = require("@elementor/ui");
2940
- var import_i18n33 = require("@wordpress/i18n");
3180
+ var import_i18n34 = require("@wordpress/i18n");
2941
3181
  var ColumnGapField = () => {
2942
- return /* @__PURE__ */ React57.createElement(StylesField, { bind: "column-gap" }, /* @__PURE__ */ React57.createElement(import_ui47.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React57.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(ControlLabel, null, (0, import_i18n33.__)("Column gap", "elementor"))), /* @__PURE__ */ React57.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(import_editor_controls35.SizeControl, null))));
3182
+ return /* @__PURE__ */ React58.createElement(StylesField, { bind: "column-gap" }, /* @__PURE__ */ React58.createElement(import_ui47.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React58.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React58.createElement(ControlLabel, null, (0, import_i18n34.__)("Column gap", "elementor"))), /* @__PURE__ */ React58.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React58.createElement(import_editor_controls35.SizeControl, null))));
2943
3183
  };
2944
3184
 
2945
3185
  // src/components/style-sections/typography-section/font-family-field.tsx
2946
- var React58 = __toESM(require("react"));
3186
+ var React59 = __toESM(require("react"));
2947
3187
  var import_editor_controls36 = require("@elementor/editor-controls");
2948
3188
  var import_ui48 = require("@elementor/ui");
2949
- var import_i18n35 = require("@wordpress/i18n");
3189
+ var import_i18n36 = require("@wordpress/i18n");
2950
3190
 
2951
3191
  // src/components/style-sections/typography-section/hooks/use-font-families.ts
2952
- var import_react24 = require("react");
2953
- var import_i18n34 = require("@wordpress/i18n");
3192
+ var import_react26 = require("react");
3193
+ var import_i18n35 = require("@wordpress/i18n");
2954
3194
  var supportedCategories = {
2955
- system: (0, import_i18n34.__)("System", "elementor"),
2956
- custom: (0, import_i18n34.__)("Custom Fonts", "elementor"),
2957
- googlefonts: (0, import_i18n34.__)("Google Fonts", "elementor")
3195
+ system: (0, import_i18n35.__)("System", "elementor"),
3196
+ custom: (0, import_i18n35.__)("Custom Fonts", "elementor"),
3197
+ googlefonts: (0, import_i18n35.__)("Google Fonts", "elementor")
2958
3198
  };
2959
3199
  var getFontFamilies = () => {
2960
3200
  const { controls } = getElementorConfig();
@@ -2966,7 +3206,7 @@ var getFontFamilies = () => {
2966
3206
  };
2967
3207
  var useFontFamilies = () => {
2968
3208
  const fontFamilies = getFontFamilies();
2969
- return (0, import_react24.useMemo)(() => {
3209
+ return (0, import_react26.useMemo)(() => {
2970
3210
  const categoriesOrder = ["system", "custom", "googlefonts"];
2971
3211
  return Object.entries(fontFamilies || {}).reduce((acc, [font, category]) => {
2972
3212
  if (!supportedCategories[category]) {
@@ -2991,188 +3231,188 @@ var FontFamilyField = () => {
2991
3231
  if (fontFamilies.length === 0) {
2992
3232
  return null;
2993
3233
  }
2994
- return /* @__PURE__ */ React58.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React58.createElement(import_ui48.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React58.createElement(import_ui48.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React58.createElement(ControlLabel, null, (0, import_i18n35.__)("Font family", "elementor"))), /* @__PURE__ */ React58.createElement(import_ui48.Grid, { item: true, xs: 6, sx: { minWidth: 0 } }, /* @__PURE__ */ React58.createElement(import_editor_controls36.FontFamilyControl, { fontFamilies }))));
3234
+ return /* @__PURE__ */ React59.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React59.createElement(import_ui48.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React59.createElement(import_ui48.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React59.createElement(ControlLabel, null, (0, import_i18n36.__)("Font family", "elementor"))), /* @__PURE__ */ React59.createElement(import_ui48.Grid, { item: true, xs: 6, sx: { minWidth: 0 } }, /* @__PURE__ */ React59.createElement(import_editor_controls36.FontFamilyControl, { fontFamilies }))));
2995
3235
  };
2996
3236
 
2997
3237
  // src/components/style-sections/typography-section/font-size-field.tsx
2998
- var React59 = __toESM(require("react"));
3238
+ var React60 = __toESM(require("react"));
2999
3239
  var import_editor_controls37 = require("@elementor/editor-controls");
3000
3240
  var import_ui49 = require("@elementor/ui");
3001
- var import_i18n36 = require("@wordpress/i18n");
3241
+ var import_i18n37 = require("@wordpress/i18n");
3002
3242
  var FontSizeField = () => {
3003
- return /* @__PURE__ */ React59.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React59.createElement(import_ui49.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React59.createElement(import_ui49.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React59.createElement(ControlLabel, null, (0, import_i18n36.__)("Font size", "elementor"))), /* @__PURE__ */ React59.createElement(import_ui49.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React59.createElement(import_editor_controls37.SizeControl, null))));
3243
+ return /* @__PURE__ */ React60.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React60.createElement(import_ui49.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React60.createElement(import_ui49.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(ControlLabel, null, (0, import_i18n37.__)("Font size", "elementor"))), /* @__PURE__ */ React60.createElement(import_ui49.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(import_editor_controls37.SizeControl, null))));
3004
3244
  };
3005
3245
 
3006
3246
  // src/components/style-sections/typography-section/font-style-field.tsx
3007
- var React60 = __toESM(require("react"));
3247
+ var React61 = __toESM(require("react"));
3008
3248
  var import_editor_controls38 = require("@elementor/editor-controls");
3009
3249
  var import_icons18 = require("@elementor/icons");
3010
3250
  var import_ui50 = require("@elementor/ui");
3011
- var import_i18n37 = require("@wordpress/i18n");
3251
+ var import_i18n38 = require("@wordpress/i18n");
3012
3252
  var options7 = [
3013
3253
  {
3014
3254
  value: "normal",
3015
- label: (0, import_i18n37.__)("Normal", "elementor"),
3016
- renderContent: ({ size }) => /* @__PURE__ */ React60.createElement(import_icons18.MinusIcon, { fontSize: size }),
3255
+ label: (0, import_i18n38.__)("Normal", "elementor"),
3256
+ renderContent: ({ size }) => /* @__PURE__ */ React61.createElement(import_icons18.MinusIcon, { fontSize: size }),
3017
3257
  showTooltip: true
3018
3258
  },
3019
3259
  {
3020
3260
  value: "italic",
3021
- label: (0, import_i18n37.__)("Italic", "elementor"),
3022
- renderContent: ({ size }) => /* @__PURE__ */ React60.createElement(import_icons18.ItalicIcon, { fontSize: size }),
3261
+ label: (0, import_i18n38.__)("Italic", "elementor"),
3262
+ renderContent: ({ size }) => /* @__PURE__ */ React61.createElement(import_icons18.ItalicIcon, { fontSize: size }),
3023
3263
  showTooltip: true
3024
3264
  }
3025
3265
  ];
3026
- var FontStyleField = () => /* @__PURE__ */ React60.createElement(StylesField, { bind: "font-style" }, /* @__PURE__ */ React60.createElement(import_ui50.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React60.createElement(import_ui50.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(import_editor_controls38.ControlFormLabel, null, (0, import_i18n37.__)("Font style", "elementor"))), /* @__PURE__ */ React60.createElement(import_ui50.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React60.createElement(import_editor_controls38.ToggleControl, { options: options7 }))));
3266
+ var FontStyleField = () => /* @__PURE__ */ React61.createElement(StylesField, { bind: "font-style" }, /* @__PURE__ */ React61.createElement(import_ui50.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React61.createElement(import_ui50.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React61.createElement(import_editor_controls38.ControlFormLabel, null, (0, import_i18n38.__)("Font style", "elementor"))), /* @__PURE__ */ React61.createElement(import_ui50.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React61.createElement(import_editor_controls38.ToggleControl, { options: options7 }))));
3027
3267
 
3028
3268
  // src/components/style-sections/typography-section/font-weight-field.tsx
3029
- var React61 = __toESM(require("react"));
3269
+ var React62 = __toESM(require("react"));
3030
3270
  var import_editor_controls39 = require("@elementor/editor-controls");
3031
3271
  var import_ui51 = require("@elementor/ui");
3032
- var import_i18n38 = require("@wordpress/i18n");
3272
+ var import_i18n39 = require("@wordpress/i18n");
3033
3273
  var fontWeightOptions = [
3034
- { value: "100", label: (0, import_i18n38.__)("100 - Thin", "elementor") },
3035
- { value: "200", label: (0, import_i18n38.__)("200 - Extra light", "elementor") },
3036
- { value: "300", label: (0, import_i18n38.__)("300 - Light", "elementor") },
3037
- { value: "400", label: (0, import_i18n38.__)("400 - Normal", "elementor") },
3038
- { value: "500", label: (0, import_i18n38.__)("500 - Medium", "elementor") },
3039
- { value: "600", label: (0, import_i18n38.__)("600 - Semi bold", "elementor") },
3040
- { value: "700", label: (0, import_i18n38.__)("700 - Bold", "elementor") },
3041
- { value: "800", label: (0, import_i18n38.__)("800 - Extra bold", "elementor") },
3042
- { value: "900", label: (0, import_i18n38.__)("900 - Black", "elementor") }
3274
+ { value: "100", label: (0, import_i18n39.__)("100 - Thin", "elementor") },
3275
+ { value: "200", label: (0, import_i18n39.__)("200 - Extra light", "elementor") },
3276
+ { value: "300", label: (0, import_i18n39.__)("300 - Light", "elementor") },
3277
+ { value: "400", label: (0, import_i18n39.__)("400 - Normal", "elementor") },
3278
+ { value: "500", label: (0, import_i18n39.__)("500 - Medium", "elementor") },
3279
+ { value: "600", label: (0, import_i18n39.__)("600 - Semi bold", "elementor") },
3280
+ { value: "700", label: (0, import_i18n39.__)("700 - Bold", "elementor") },
3281
+ { value: "800", label: (0, import_i18n39.__)("800 - Extra bold", "elementor") },
3282
+ { value: "900", label: (0, import_i18n39.__)("900 - Black", "elementor") }
3043
3283
  ];
3044
3284
  var FontWeightField = () => {
3045
- return /* @__PURE__ */ React61.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React61.createElement(import_ui51.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React61.createElement(import_ui51.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React61.createElement(ControlLabel, null, (0, import_i18n38.__)("Font weight", "elementor"))), /* @__PURE__ */ React61.createElement(import_ui51.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React61.createElement(import_editor_controls39.SelectControl, { options: fontWeightOptions }))));
3285
+ return /* @__PURE__ */ React62.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React62.createElement(import_ui51.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React62.createElement(import_ui51.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(ControlLabel, null, (0, import_i18n39.__)("Font weight", "elementor"))), /* @__PURE__ */ React62.createElement(import_ui51.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React62.createElement(import_editor_controls39.SelectControl, { options: fontWeightOptions }))));
3046
3286
  };
3047
3287
 
3048
3288
  // src/components/style-sections/typography-section/letter-spacing-field.tsx
3049
- var React62 = __toESM(require("react"));
3289
+ var React63 = __toESM(require("react"));
3050
3290
  var import_editor_controls40 = require("@elementor/editor-controls");
3051
3291
  var import_ui52 = require("@elementor/ui");
3052
- var import_i18n39 = require("@wordpress/i18n");
3292
+ var import_i18n40 = require("@wordpress/i18n");
3053
3293
  var LetterSpacingField = () => {
3054
- return /* @__PURE__ */ React62.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React62.createElement(import_ui52.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React62.createElement(import_ui52.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(ControlLabel, null, (0, import_i18n39.__)("Letter spacing", "elementor"))), /* @__PURE__ */ React62.createElement(import_ui52.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(import_editor_controls40.SizeControl, null))));
3294
+ return /* @__PURE__ */ React63.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React63.createElement(import_ui52.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React63.createElement(import_ui52.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React63.createElement(ControlLabel, null, (0, import_i18n40.__)("Letter spacing", "elementor"))), /* @__PURE__ */ React63.createElement(import_ui52.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React63.createElement(import_editor_controls40.SizeControl, null))));
3055
3295
  };
3056
3296
 
3057
3297
  // src/components/style-sections/typography-section/line-height-field.tsx
3058
- var React63 = __toESM(require("react"));
3298
+ var React64 = __toESM(require("react"));
3059
3299
  var import_editor_controls41 = require("@elementor/editor-controls");
3060
3300
  var import_ui53 = require("@elementor/ui");
3061
- var import_i18n40 = require("@wordpress/i18n");
3301
+ var import_i18n41 = require("@wordpress/i18n");
3062
3302
  var LineHeightField = () => {
3063
- return /* @__PURE__ */ React63.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React63.createElement(import_ui53.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React63.createElement(import_ui53.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React63.createElement(ControlLabel, null, (0, import_i18n40.__)("Line height", "elementor"))), /* @__PURE__ */ React63.createElement(import_ui53.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React63.createElement(import_editor_controls41.SizeControl, null))));
3303
+ return /* @__PURE__ */ React64.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React64.createElement(import_ui53.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React64.createElement(import_ui53.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React64.createElement(ControlLabel, null, (0, import_i18n41.__)("Line height", "elementor"))), /* @__PURE__ */ React64.createElement(import_ui53.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React64.createElement(import_editor_controls41.SizeControl, null))));
3064
3304
  };
3065
3305
 
3066
3306
  // src/components/style-sections/typography-section/text-alignment-field.tsx
3067
- var React64 = __toESM(require("react"));
3307
+ var React65 = __toESM(require("react"));
3068
3308
  var import_editor_controls42 = require("@elementor/editor-controls");
3069
3309
  var import_icons19 = require("@elementor/icons");
3070
3310
  var import_ui54 = require("@elementor/ui");
3071
- var import_i18n41 = require("@wordpress/i18n");
3311
+ var import_i18n42 = require("@wordpress/i18n");
3072
3312
  var AlignStartIcon = (0, import_ui54.withDirection)(import_icons19.AlignLeftIcon);
3073
3313
  var AlignEndIcon = (0, import_ui54.withDirection)(import_icons19.AlignRightIcon);
3074
3314
  var options8 = [
3075
3315
  {
3076
3316
  value: "start",
3077
- label: (0, import_i18n41.__)("Start", "elementor"),
3078
- renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(AlignStartIcon, { fontSize: size }),
3317
+ label: (0, import_i18n42.__)("Start", "elementor"),
3318
+ renderContent: ({ size }) => /* @__PURE__ */ React65.createElement(AlignStartIcon, { fontSize: size }),
3079
3319
  showTooltip: true
3080
3320
  },
3081
3321
  {
3082
3322
  value: "center",
3083
- label: (0, import_i18n41.__)("Center", "elementor"),
3084
- renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(import_icons19.AlignCenterIcon, { fontSize: size }),
3323
+ label: (0, import_i18n42.__)("Center", "elementor"),
3324
+ renderContent: ({ size }) => /* @__PURE__ */ React65.createElement(import_icons19.AlignCenterIcon, { fontSize: size }),
3085
3325
  showTooltip: true
3086
3326
  },
3087
3327
  {
3088
3328
  value: "end",
3089
- label: (0, import_i18n41.__)("End", "elementor"),
3090
- renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(AlignEndIcon, { fontSize: size }),
3329
+ label: (0, import_i18n42.__)("End", "elementor"),
3330
+ renderContent: ({ size }) => /* @__PURE__ */ React65.createElement(AlignEndIcon, { fontSize: size }),
3091
3331
  showTooltip: true
3092
3332
  },
3093
3333
  {
3094
3334
  value: "justify",
3095
- label: (0, import_i18n41.__)("Justify", "elementor"),
3096
- renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(import_icons19.AlignJustifiedIcon, { fontSize: size }),
3335
+ label: (0, import_i18n42.__)("Justify", "elementor"),
3336
+ renderContent: ({ size }) => /* @__PURE__ */ React65.createElement(import_icons19.AlignJustifiedIcon, { fontSize: size }),
3097
3337
  showTooltip: true
3098
3338
  }
3099
3339
  ];
3100
3340
  var TextAlignmentField = () => {
3101
- return /* @__PURE__ */ React64.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React64.createElement(import_ui54.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React64.createElement(import_ui54.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React64.createElement(ControlLabel, null, (0, import_i18n41.__)("Text align", "elementor"))), /* @__PURE__ */ React64.createElement(import_ui54.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React64.createElement(import_editor_controls42.ToggleControl, { options: options8 }))));
3341
+ return /* @__PURE__ */ React65.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React65.createElement(import_ui54.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React65.createElement(import_ui54.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React65.createElement(ControlLabel, null, (0, import_i18n42.__)("Text align", "elementor"))), /* @__PURE__ */ React65.createElement(import_ui54.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React65.createElement(import_editor_controls42.ToggleControl, { options: options8 }))));
3102
3342
  };
3103
3343
 
3104
3344
  // src/components/style-sections/typography-section/text-color-field.tsx
3105
- var React65 = __toESM(require("react"));
3345
+ var React66 = __toESM(require("react"));
3106
3346
  var import_editor_controls43 = require("@elementor/editor-controls");
3107
3347
  var import_ui55 = require("@elementor/ui");
3108
- var import_i18n42 = require("@wordpress/i18n");
3348
+ var import_i18n43 = require("@wordpress/i18n");
3109
3349
  var TextColorField = () => {
3110
- return /* @__PURE__ */ React65.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React65.createElement(import_ui55.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React65.createElement(import_ui55.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React65.createElement(ControlLabel, null, (0, import_i18n42.__)("Text color", "elementor"))), /* @__PURE__ */ React65.createElement(import_ui55.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React65.createElement(import_editor_controls43.ColorControl, null))));
3350
+ return /* @__PURE__ */ React66.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React66.createElement(import_ui55.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React66.createElement(import_ui55.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React66.createElement(ControlLabel, null, (0, import_i18n43.__)("Text color", "elementor"))), /* @__PURE__ */ React66.createElement(import_ui55.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React66.createElement(import_editor_controls43.ColorControl, null))));
3111
3351
  };
3112
3352
 
3113
3353
  // src/components/style-sections/typography-section/text-decoration-field.tsx
3114
- var React66 = __toESM(require("react"));
3354
+ var React67 = __toESM(require("react"));
3115
3355
  var import_editor_controls44 = require("@elementor/editor-controls");
3116
3356
  var import_icons20 = require("@elementor/icons");
3117
3357
  var import_ui56 = require("@elementor/ui");
3118
- var import_i18n43 = require("@wordpress/i18n");
3358
+ var import_i18n44 = require("@wordpress/i18n");
3119
3359
  var options9 = [
3120
3360
  {
3121
3361
  value: "none",
3122
- label: (0, import_i18n43.__)("None", "elementor"),
3123
- renderContent: ({ size }) => /* @__PURE__ */ React66.createElement(import_icons20.MinusIcon, { fontSize: size }),
3362
+ label: (0, import_i18n44.__)("None", "elementor"),
3363
+ renderContent: ({ size }) => /* @__PURE__ */ React67.createElement(import_icons20.MinusIcon, { fontSize: size }),
3124
3364
  showTooltip: true,
3125
3365
  exclusive: true
3126
3366
  },
3127
3367
  {
3128
3368
  value: "underline",
3129
- label: (0, import_i18n43.__)("Underline", "elementor"),
3130
- renderContent: ({ size }) => /* @__PURE__ */ React66.createElement(import_icons20.UnderlineIcon, { fontSize: size }),
3369
+ label: (0, import_i18n44.__)("Underline", "elementor"),
3370
+ renderContent: ({ size }) => /* @__PURE__ */ React67.createElement(import_icons20.UnderlineIcon, { fontSize: size }),
3131
3371
  showTooltip: true
3132
3372
  },
3133
3373
  {
3134
3374
  value: "line-through",
3135
- label: (0, import_i18n43.__)("Line-through", "elementor"),
3136
- renderContent: ({ size }) => /* @__PURE__ */ React66.createElement(import_icons20.StrikethroughIcon, { fontSize: size }),
3375
+ label: (0, import_i18n44.__)("Line-through", "elementor"),
3376
+ renderContent: ({ size }) => /* @__PURE__ */ React67.createElement(import_icons20.StrikethroughIcon, { fontSize: size }),
3137
3377
  showTooltip: true
3138
3378
  },
3139
3379
  {
3140
3380
  value: "overline",
3141
- label: (0, import_i18n43.__)("Overline", "elementor"),
3142
- renderContent: ({ size }) => /* @__PURE__ */ React66.createElement(import_icons20.OverlineIcon, { fontSize: size }),
3381
+ label: (0, import_i18n44.__)("Overline", "elementor"),
3382
+ renderContent: ({ size }) => /* @__PURE__ */ React67.createElement(import_icons20.OverlineIcon, { fontSize: size }),
3143
3383
  showTooltip: true
3144
3384
  }
3145
3385
  ];
3146
- var TextDecorationField = () => /* @__PURE__ */ React66.createElement(StylesField, { bind: "text-decoration" }, /* @__PURE__ */ React66.createElement(import_ui56.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React66.createElement(import_ui56.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React66.createElement(ControlLabel, null, (0, import_i18n43.__)("Line decoration", "elementor"))), /* @__PURE__ */ React66.createElement(import_ui56.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React66.createElement(import_editor_controls44.ToggleControl, { options: options9, exclusive: false }))));
3386
+ var TextDecorationField = () => /* @__PURE__ */ React67.createElement(StylesField, { bind: "text-decoration" }, /* @__PURE__ */ React67.createElement(import_ui56.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React67.createElement(import_ui56.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React67.createElement(ControlLabel, null, (0, import_i18n44.__)("Line decoration", "elementor"))), /* @__PURE__ */ React67.createElement(import_ui56.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React67.createElement(import_editor_controls44.ToggleControl, { options: options9, exclusive: false }))));
3147
3387
 
3148
3388
  // src/components/style-sections/typography-section/text-direction-field.tsx
3149
- var React67 = __toESM(require("react"));
3389
+ var React68 = __toESM(require("react"));
3150
3390
  var import_editor_controls45 = require("@elementor/editor-controls");
3151
3391
  var import_icons21 = require("@elementor/icons");
3152
3392
  var import_ui57 = require("@elementor/ui");
3153
- var import_i18n44 = require("@wordpress/i18n");
3393
+ var import_i18n45 = require("@wordpress/i18n");
3154
3394
  var options10 = [
3155
3395
  {
3156
3396
  value: "ltr",
3157
- label: (0, import_i18n44.__)("Left to right", "elementor"),
3158
- renderContent: ({ size }) => /* @__PURE__ */ React67.createElement(import_icons21.TextDirectionLtrIcon, { fontSize: size }),
3397
+ label: (0, import_i18n45.__)("Left to right", "elementor"),
3398
+ renderContent: ({ size }) => /* @__PURE__ */ React68.createElement(import_icons21.TextDirectionLtrIcon, { fontSize: size }),
3159
3399
  showTooltip: true
3160
3400
  },
3161
3401
  {
3162
3402
  value: "rtl",
3163
- label: (0, import_i18n44.__)("Right to left", "elementor"),
3164
- renderContent: ({ size }) => /* @__PURE__ */ React67.createElement(import_icons21.TextDirectionRtlIcon, { fontSize: size }),
3403
+ label: (0, import_i18n45.__)("Right to left", "elementor"),
3404
+ renderContent: ({ size }) => /* @__PURE__ */ React68.createElement(import_icons21.TextDirectionRtlIcon, { fontSize: size }),
3165
3405
  showTooltip: true
3166
3406
  }
3167
3407
  ];
3168
3408
  var TextDirectionField = () => {
3169
- return /* @__PURE__ */ React67.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React67.createElement(import_ui57.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React67.createElement(import_ui57.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React67.createElement(ControlLabel, null, (0, import_i18n44.__)("Direction", "elementor"))), /* @__PURE__ */ React67.createElement(import_ui57.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React67.createElement(import_editor_controls45.ToggleControl, { options: options10 }))));
3409
+ return /* @__PURE__ */ React68.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React68.createElement(import_ui57.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React68.createElement(import_ui57.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React68.createElement(ControlLabel, null, (0, import_i18n45.__)("Direction", "elementor"))), /* @__PURE__ */ React68.createElement(import_ui57.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React68.createElement(import_editor_controls45.ToggleControl, { options: options10 }))));
3170
3410
  };
3171
3411
 
3172
3412
  // src/components/style-sections/typography-section/text-stroke-field.tsx
3173
- var React68 = __toESM(require("react"));
3413
+ var React69 = __toESM(require("react"));
3174
3414
  var import_editor_controls46 = require("@elementor/editor-controls");
3175
- var import_i18n45 = require("@wordpress/i18n");
3415
+ var import_i18n46 = require("@wordpress/i18n");
3176
3416
  var initTextStroke = {
3177
3417
  $$type: "stroke",
3178
3418
  value: {
@@ -3198,67 +3438,67 @@ var TextStrokeField = () => {
3198
3438
  setTextStroke(null);
3199
3439
  };
3200
3440
  const hasTextStroke = Boolean(textStroke);
3201
- return /* @__PURE__ */ React68.createElement(StylesField, { bind: "stroke" }, /* @__PURE__ */ React68.createElement(
3441
+ return /* @__PURE__ */ React69.createElement(StylesField, { bind: "stroke" }, /* @__PURE__ */ React69.createElement(
3202
3442
  AddOrRemoveContent,
3203
3443
  {
3204
- label: (0, import_i18n45.__)("Text stroke", "elementor"),
3444
+ label: (0, import_i18n46.__)("Text stroke", "elementor"),
3205
3445
  isAdded: hasTextStroke,
3206
3446
  onAdd: addTextStroke,
3207
3447
  onRemove: removeTextStroke
3208
3448
  },
3209
- /* @__PURE__ */ React68.createElement(import_editor_controls46.StrokeControl, null)
3449
+ /* @__PURE__ */ React69.createElement(import_editor_controls46.StrokeControl, null)
3210
3450
  ));
3211
3451
  };
3212
3452
 
3213
3453
  // src/components/style-sections/typography-section/transform-field.tsx
3214
- var React69 = __toESM(require("react"));
3454
+ var React70 = __toESM(require("react"));
3215
3455
  var import_editor_controls47 = require("@elementor/editor-controls");
3216
3456
  var import_icons22 = require("@elementor/icons");
3217
3457
  var import_ui58 = require("@elementor/ui");
3218
- var import_i18n46 = require("@wordpress/i18n");
3458
+ var import_i18n47 = require("@wordpress/i18n");
3219
3459
  var options11 = [
3220
3460
  {
3221
3461
  value: "none",
3222
- label: (0, import_i18n46.__)("None", "elementor"),
3223
- renderContent: ({ size }) => /* @__PURE__ */ React69.createElement(import_icons22.MinusIcon, { fontSize: size }),
3462
+ label: (0, import_i18n47.__)("None", "elementor"),
3463
+ renderContent: ({ size }) => /* @__PURE__ */ React70.createElement(import_icons22.MinusIcon, { fontSize: size }),
3224
3464
  showTooltip: true
3225
3465
  },
3226
3466
  {
3227
3467
  value: "capitalize",
3228
- label: (0, import_i18n46.__)("Capitalize", "elementor"),
3229
- renderContent: ({ size }) => /* @__PURE__ */ React69.createElement(import_icons22.LetterCaseIcon, { fontSize: size }),
3468
+ label: (0, import_i18n47.__)("Capitalize", "elementor"),
3469
+ renderContent: ({ size }) => /* @__PURE__ */ React70.createElement(import_icons22.LetterCaseIcon, { fontSize: size }),
3230
3470
  showTooltip: true
3231
3471
  },
3232
3472
  {
3233
3473
  value: "uppercase",
3234
- label: (0, import_i18n46.__)("Uppercase", "elementor"),
3235
- renderContent: ({ size }) => /* @__PURE__ */ React69.createElement(import_icons22.LetterCaseUpperIcon, { fontSize: size }),
3474
+ label: (0, import_i18n47.__)("Uppercase", "elementor"),
3475
+ renderContent: ({ size }) => /* @__PURE__ */ React70.createElement(import_icons22.LetterCaseUpperIcon, { fontSize: size }),
3236
3476
  showTooltip: true
3237
3477
  },
3238
3478
  {
3239
3479
  value: "lowercase",
3240
- label: (0, import_i18n46.__)("Lowercase", "elementor"),
3241
- renderContent: ({ size }) => /* @__PURE__ */ React69.createElement(import_icons22.LetterCaseLowerIcon, { fontSize: size }),
3480
+ label: (0, import_i18n47.__)("Lowercase", "elementor"),
3481
+ renderContent: ({ size }) => /* @__PURE__ */ React70.createElement(import_icons22.LetterCaseLowerIcon, { fontSize: size }),
3242
3482
  showTooltip: true
3243
3483
  }
3244
3484
  ];
3245
- var TransformField = () => /* @__PURE__ */ React69.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React69.createElement(import_ui58.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React69.createElement(import_ui58.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React69.createElement(ControlLabel, null, (0, import_i18n46.__)("Text transform", "elementor"))), /* @__PURE__ */ React69.createElement(import_ui58.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React69.createElement(import_editor_controls47.ToggleControl, { options: options11 }))));
3485
+ var TransformField = () => /* @__PURE__ */ React70.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React70.createElement(import_ui58.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React70.createElement(import_ui58.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React70.createElement(ControlLabel, null, (0, import_i18n47.__)("Text transform", "elementor"))), /* @__PURE__ */ React70.createElement(import_ui58.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React70.createElement(import_editor_controls47.ToggleControl, { options: options11 }))));
3246
3486
 
3247
3487
  // src/components/style-sections/typography-section/word-spacing-field.tsx
3248
- var React70 = __toESM(require("react"));
3488
+ var React71 = __toESM(require("react"));
3249
3489
  var import_editor_controls48 = require("@elementor/editor-controls");
3250
3490
  var import_ui59 = require("@elementor/ui");
3251
- var import_i18n47 = require("@wordpress/i18n");
3491
+ var import_i18n48 = require("@wordpress/i18n");
3252
3492
  var WordSpacingField = () => {
3253
- return /* @__PURE__ */ React70.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React70.createElement(import_ui59.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React70.createElement(import_ui59.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React70.createElement(ControlLabel, null, (0, import_i18n47.__)("Word spacing", "elementor"))), /* @__PURE__ */ React70.createElement(import_ui59.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React70.createElement(import_editor_controls48.SizeControl, null))));
3493
+ return /* @__PURE__ */ React71.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React71.createElement(import_ui59.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React71.createElement(import_ui59.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React71.createElement(ControlLabel, null, (0, import_i18n48.__)("Word spacing", "elementor"))), /* @__PURE__ */ React71.createElement(import_ui59.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React71.createElement(import_editor_controls48.SizeControl, null))));
3254
3494
  };
3255
3495
 
3256
3496
  // src/components/style-sections/typography-section/typography-section.tsx
3257
3497
  var TypographySection = () => {
3258
3498
  const [columnCount] = useStylesField("column-count");
3259
- const isVersion330Active = (0, import_editor_v1_adapters8.isExperimentActive)("e_v_3_30");
3260
- const hasMultiColumns = columnCount?.value && columnCount?.value > 1;
3261
- return /* @__PURE__ */ React71.createElement(SectionContent, null, /* @__PURE__ */ React71.createElement(FontFamilyField, null), /* @__PURE__ */ React71.createElement(FontWeightField, null), /* @__PURE__ */ React71.createElement(FontSizeField, null), /* @__PURE__ */ React71.createElement(PanelDivider, null), /* @__PURE__ */ React71.createElement(TextAlignmentField, null), /* @__PURE__ */ React71.createElement(TextColorField, null), /* @__PURE__ */ React71.createElement(CollapsibleContent, null, /* @__PURE__ */ React71.createElement(SectionContent, { sx: { pt: 2 } }, /* @__PURE__ */ React71.createElement(LineHeightField, null), /* @__PURE__ */ React71.createElement(LetterSpacingField, null), /* @__PURE__ */ React71.createElement(WordSpacingField, null), isVersion330Active && /* @__PURE__ */ React71.createElement(React71.Fragment, null, /* @__PURE__ */ React71.createElement(ColumnCountField, null), hasMultiColumns && /* @__PURE__ */ React71.createElement(ColumnGapField, null)), /* @__PURE__ */ React71.createElement(PanelDivider, null), /* @__PURE__ */ React71.createElement(TextDecorationField, null), /* @__PURE__ */ React71.createElement(TransformField, null), /* @__PURE__ */ React71.createElement(TextDirectionField, null), /* @__PURE__ */ React71.createElement(FontStyleField, null), /* @__PURE__ */ React71.createElement(TextStrokeField, null))));
3499
+ const isVersion330Active = (0, import_editor_v1_adapters10.isExperimentActive)("e_v_3_30");
3500
+ const hasMultiColumns = !!(columnCount?.value && columnCount?.value > 1);
3501
+ return /* @__PURE__ */ React72.createElement(SectionContent, null, /* @__PURE__ */ React72.createElement(FontFamilyField, null), /* @__PURE__ */ React72.createElement(FontWeightField, null), /* @__PURE__ */ React72.createElement(FontSizeField, null), /* @__PURE__ */ React72.createElement(PanelDivider, null), /* @__PURE__ */ React72.createElement(TextAlignmentField, null), /* @__PURE__ */ React72.createElement(TextColorField, null), /* @__PURE__ */ React72.createElement(CollapsibleContent, null, /* @__PURE__ */ React72.createElement(SectionContent, { sx: { pt: 2 } }, /* @__PURE__ */ React72.createElement(LineHeightField, null), /* @__PURE__ */ React72.createElement(LetterSpacingField, null), /* @__PURE__ */ React72.createElement(WordSpacingField, null), isVersion330Active && /* @__PURE__ */ React72.createElement(React72.Fragment, null, /* @__PURE__ */ React72.createElement(ColumnCountField, null), hasMultiColumns && /* @__PURE__ */ React72.createElement(ColumnGapField, null)), /* @__PURE__ */ React72.createElement(PanelDivider, null), /* @__PURE__ */ React72.createElement(TextDecorationField, null), /* @__PURE__ */ React72.createElement(TransformField, null), /* @__PURE__ */ React72.createElement(TextDirectionField, null), /* @__PURE__ */ React72.createElement(FontStyleField, null), /* @__PURE__ */ React72.createElement(TextStrokeField, null))));
3262
3502
  };
3263
3503
 
3264
3504
  // src/components/style-tab.tsx
@@ -3270,12 +3510,19 @@ var stickyHeaderStyles = {
3270
3510
  backgroundColor: "background.default",
3271
3511
  transition: "top 300ms ease"
3272
3512
  };
3513
+ var PanelSection = ({ section }) => {
3514
+ const { component, name, title } = section;
3515
+ const tabDefaults = useDefaultPanelSettings();
3516
+ const SectionComponent = component;
3517
+ const isExpanded = (0, import_editor_v1_adapters11.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_30) ? tabDefaults.defaultSectionsExpanded.style?.includes(name) : true;
3518
+ return /* @__PURE__ */ React73.createElement(Section, { title, defaultExpanded: isExpanded }, /* @__PURE__ */ React73.createElement(SectionComponent, null));
3519
+ };
3273
3520
  var StyleTab = () => {
3274
3521
  const currentClassesProp = useCurrentClassesProp();
3275
3522
  const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
3276
- const [activeStyleState, setActiveStyleState] = (0, import_react25.useState)(null);
3523
+ const [activeStyleState, setActiveStyleState] = (0, import_react27.useState)(null);
3277
3524
  const breakpoint = (0, import_editor_responsive2.useActiveBreakpoint)();
3278
- return /* @__PURE__ */ React72.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React72.createElement(
3525
+ return /* @__PURE__ */ React73.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React73.createElement(
3279
3526
  StyleProvider,
3280
3527
  {
3281
3528
  meta: { breakpoint, state: activeStyleState },
@@ -3286,17 +3533,89 @@ var StyleTab = () => {
3286
3533
  },
3287
3534
  setMetaState: setActiveStyleState
3288
3535
  },
3289
- /* @__PURE__ */ React72.createElement(import_session4.SessionStorageProvider, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React72.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React72.createElement(ClassesHeader, null, /* @__PURE__ */ React72.createElement(CssClassSelector, null), /* @__PURE__ */ React72.createElement(import_ui60.Divider, null)), /* @__PURE__ */ React72.createElement(SectionsList, null, /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Layout", "elementor") }, /* @__PURE__ */ React72.createElement(LayoutSection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Spacing", "elementor") }, /* @__PURE__ */ React72.createElement(SpacingSection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Size", "elementor") }, /* @__PURE__ */ React72.createElement(SizeSection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Position", "elementor") }, /* @__PURE__ */ React72.createElement(PositionSection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Typography", "elementor") }, /* @__PURE__ */ React72.createElement(TypographySection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Background", "elementor") }, /* @__PURE__ */ React72.createElement(BackgroundSection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Border", "elementor") }, /* @__PURE__ */ React72.createElement(BorderSection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Effects", "elementor") }, /* @__PURE__ */ React72.createElement(EffectsSection, null)))))
3536
+ /* @__PURE__ */ React73.createElement(import_session4.SessionStorageProvider, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React73.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React73.createElement(ClassesHeader, null, /* @__PURE__ */ React73.createElement(CssClassSelector, null), /* @__PURE__ */ React73.createElement(import_ui60.Divider, null)), /* @__PURE__ */ React73.createElement(SectionsList, null, /* @__PURE__ */ React73.createElement(
3537
+ PanelSection,
3538
+ {
3539
+ section: {
3540
+ component: LayoutSection,
3541
+ name: "Layout",
3542
+ title: (0, import_i18n49.__)("Layout", "elementor")
3543
+ }
3544
+ }
3545
+ ), /* @__PURE__ */ React73.createElement(
3546
+ PanelSection,
3547
+ {
3548
+ section: {
3549
+ component: SpacingSection,
3550
+ name: "Spacing",
3551
+ title: (0, import_i18n49.__)("Spacing", "elementor")
3552
+ }
3553
+ }
3554
+ ), /* @__PURE__ */ React73.createElement(
3555
+ PanelSection,
3556
+ {
3557
+ section: {
3558
+ component: SizeSection,
3559
+ name: "Size",
3560
+ title: (0, import_i18n49.__)("Size", "elementor")
3561
+ }
3562
+ }
3563
+ ), /* @__PURE__ */ React73.createElement(
3564
+ PanelSection,
3565
+ {
3566
+ section: {
3567
+ component: PositionSection,
3568
+ name: "Position",
3569
+ title: (0, import_i18n49.__)("Position", "elementor")
3570
+ }
3571
+ }
3572
+ ), /* @__PURE__ */ React73.createElement(
3573
+ PanelSection,
3574
+ {
3575
+ section: {
3576
+ component: TypographySection,
3577
+ name: "Typography",
3578
+ title: (0, import_i18n49.__)("Typography", "elementor")
3579
+ }
3580
+ }
3581
+ ), /* @__PURE__ */ React73.createElement(
3582
+ PanelSection,
3583
+ {
3584
+ section: {
3585
+ component: BackgroundSection,
3586
+ name: "Background",
3587
+ title: (0, import_i18n49.__)("Background", "elementor")
3588
+ }
3589
+ }
3590
+ ), /* @__PURE__ */ React73.createElement(
3591
+ PanelSection,
3592
+ {
3593
+ section: {
3594
+ component: BorderSection,
3595
+ name: "Border",
3596
+ title: (0, import_i18n49.__)("Border", "elementor")
3597
+ }
3598
+ }
3599
+ ), /* @__PURE__ */ React73.createElement(
3600
+ PanelSection,
3601
+ {
3602
+ section: {
3603
+ component: EffectsSection,
3604
+ name: "Effects",
3605
+ title: (0, import_i18n49.__)("Effects", "elementor")
3606
+ }
3607
+ }
3608
+ ))))
3290
3609
  ));
3291
3610
  };
3292
3611
  function ClassesHeader({ children }) {
3293
3612
  const scrollDirection = useScrollDirection();
3294
- return /* @__PURE__ */ React72.createElement(import_ui60.Stack, { sx: { ...stickyHeaderStyles, top: scrollDirection === "up" ? TABS_HEADER_HEIGHT : 0 } }, children);
3613
+ return /* @__PURE__ */ React73.createElement(import_ui60.Stack, { sx: { ...stickyHeaderStyles, top: scrollDirection === "up" ? TABS_HEADER_HEIGHT : 0 } }, children);
3295
3614
  }
3296
3615
  function useCurrentClassesProp() {
3297
3616
  const { elementType } = useElement();
3298
3617
  const prop = Object.entries(elementType.propsSchema).find(
3299
- ([, propType]) => propType.kind === "plain" && propType.key === import_editor_props7.CLASSES_PROP_KEY
3618
+ ([, propType]) => propType.kind === "plain" && propType.key === import_editor_props10.CLASSES_PROP_KEY
3300
3619
  );
3301
3620
  if (!prop) {
3302
3621
  throw new Error("Element does not have a classes prop");
@@ -3310,14 +3629,15 @@ var EditingPanelTabs = () => {
3310
3629
  return (
3311
3630
  // When switching between elements, the local states should be reset. We are using key to rerender the tabs.
3312
3631
  // Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
3313
- /* @__PURE__ */ React73.createElement(import_react26.Fragment, { key: element.id }, /* @__PURE__ */ React73.createElement(PanelTabContent, null))
3632
+ /* @__PURE__ */ React74.createElement(import_react28.Fragment, { key: element.id }, /* @__PURE__ */ React74.createElement(PanelTabContent, null))
3314
3633
  );
3315
3634
  };
3316
3635
  var PanelTabContent = () => {
3317
- const defaultComponentTab = "settings";
3636
+ const editorDefaults = useDefaultPanelSettings();
3637
+ const defaultComponentTab = (0, import_editor_v1_adapters12.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_30) ? editorDefaults.defaultTab : "settings";
3318
3638
  const [currentTab, setCurrentTab] = useStateByElement("tab", defaultComponentTab);
3319
3639
  const { getTabProps, getTabPanelProps, getTabsProps } = (0, import_ui61.useTabs)(currentTab);
3320
- return /* @__PURE__ */ React73.createElement(ScrollProvider, null, /* @__PURE__ */ React73.createElement(import_ui61.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React73.createElement(import_ui61.Stack, { sx: { ...stickyHeaderStyles, top: 0 } }, /* @__PURE__ */ React73.createElement(
3640
+ return /* @__PURE__ */ React74.createElement(ScrollProvider, null, /* @__PURE__ */ React74.createElement(import_ui61.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React74.createElement(import_ui61.Stack, { sx: { ...stickyHeaderStyles, top: 0 } }, /* @__PURE__ */ React74.createElement(
3321
3641
  import_ui61.Tabs,
3322
3642
  {
3323
3643
  variant: "fullWidth",
@@ -3329,9 +3649,9 @@ var PanelTabContent = () => {
3329
3649
  setCurrentTab(newValue);
3330
3650
  }
3331
3651
  },
3332
- /* @__PURE__ */ React73.createElement(import_ui61.Tab, { label: (0, import_i18n49.__)("General", "elementor"), ...getTabProps("settings") }),
3333
- /* @__PURE__ */ React73.createElement(import_ui61.Tab, { label: (0, import_i18n49.__)("Style", "elementor"), ...getTabProps("style") })
3334
- ), /* @__PURE__ */ React73.createElement(import_ui61.Divider, null)), /* @__PURE__ */ React73.createElement(import_ui61.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React73.createElement(SettingsTab, null)), /* @__PURE__ */ React73.createElement(import_ui61.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React73.createElement(StyleTab, null))));
3652
+ /* @__PURE__ */ React74.createElement(import_ui61.Tab, { label: (0, import_i18n50.__)("General", "elementor"), ...getTabProps("settings") }),
3653
+ /* @__PURE__ */ React74.createElement(import_ui61.Tab, { label: (0, import_i18n50.__)("Style", "elementor"), ...getTabProps("style") })
3654
+ ), /* @__PURE__ */ React74.createElement(import_ui61.Divider, null)), /* @__PURE__ */ React74.createElement(import_ui61.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React74.createElement(SettingsTab, null)), /* @__PURE__ */ React74.createElement(import_ui61.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React74.createElement(StyleTab, null))));
3335
3655
  };
3336
3656
 
3337
3657
  // src/components/editing-panel.tsx
@@ -3343,8 +3663,8 @@ var EditingPanel = () => {
3343
3663
  if (!element || !elementType) {
3344
3664
  return null;
3345
3665
  }
3346
- const panelTitle = (0, import_i18n50.__)("Edit %s", "elementor").replace("%s", elementType.title);
3347
- return /* @__PURE__ */ React74.createElement(import_ui62.ErrorBoundary, { fallback: /* @__PURE__ */ React74.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React74.createElement(import_session5.SessionStorageProvider, { prefix: "elementor" }, /* @__PURE__ */ React74.createElement(import_editor_ui4.ThemeProvider, null, /* @__PURE__ */ React74.createElement(import_editor_panels.Panel, null, /* @__PURE__ */ React74.createElement(import_editor_panels.PanelHeader, null, /* @__PURE__ */ React74.createElement(import_editor_panels.PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React74.createElement(import_icons23.AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React74.createElement(import_editor_panels.PanelBody, null, /* @__PURE__ */ React74.createElement(import_editor_controls49.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React74.createElement(import_editor_controls49.ControlReplacementsProvider, { replacements: controlReplacements }, /* @__PURE__ */ React74.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React74.createElement(EditingPanelTabs, null)))))))));
3666
+ const panelTitle = (0, import_i18n51.__)("Edit %s", "elementor").replace("%s", elementType.title);
3667
+ return /* @__PURE__ */ React75.createElement(import_ui62.ErrorBoundary, { fallback: /* @__PURE__ */ React75.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React75.createElement(import_session5.SessionStorageProvider, { prefix: "elementor" }, /* @__PURE__ */ React75.createElement(import_editor_ui4.ThemeProvider, null, /* @__PURE__ */ React75.createElement(import_editor_panels.Panel, null, /* @__PURE__ */ React75.createElement(import_editor_panels.PanelHeader, null, /* @__PURE__ */ React75.createElement(import_editor_panels.PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React75.createElement(import_icons23.AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React75.createElement(import_editor_panels.PanelBody, null, /* @__PURE__ */ React75.createElement(import_editor_controls49.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React75.createElement(import_editor_controls49.ControlReplacementsProvider, { replacements: controlReplacements }, /* @__PURE__ */ React75.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React75.createElement(EditingPanelTabs, null)))))))));
3348
3668
  };
3349
3669
 
3350
3670
  // src/panel.ts
@@ -3357,11 +3677,11 @@ var { panel, usePanelActions, usePanelStatus } = (0, import_editor_panels2.__cre
3357
3677
  var import_editor = require("@elementor/editor");
3358
3678
  var import_editor_current_user = require("@elementor/editor-current-user");
3359
3679
  var import_editor_panels3 = require("@elementor/editor-panels");
3360
- var import_editor_v1_adapters10 = require("@elementor/editor-v1-adapters");
3680
+ var import_editor_v1_adapters14 = require("@elementor/editor-v1-adapters");
3361
3681
 
3362
3682
  // src/hooks/use-open-editor-panel.ts
3363
- var import_react27 = require("react");
3364
- var import_editor_v1_adapters9 = require("@elementor/editor-v1-adapters");
3683
+ var import_react29 = require("react");
3684
+ var import_editor_v1_adapters13 = require("@elementor/editor-v1-adapters");
3365
3685
 
3366
3686
  // src/sync/is-atomic-widget-selected.ts
3367
3687
  var import_editor_elements9 = require("@elementor/editor-elements");
@@ -3377,8 +3697,8 @@ var isAtomicWidgetSelected = () => {
3377
3697
  // src/hooks/use-open-editor-panel.ts
3378
3698
  var useOpenEditorPanel = () => {
3379
3699
  const { open } = usePanelActions();
3380
- (0, import_react27.useEffect)(() => {
3381
- return (0, import_editor_v1_adapters9.__privateListenTo)((0, import_editor_v1_adapters9.commandStartEvent)("panel/editor/open"), () => {
3700
+ (0, import_react29.useEffect)(() => {
3701
+ return (0, import_editor_v1_adapters13.__privateListenTo)((0, import_editor_v1_adapters13.commandStartEvent)("panel/editor/open"), () => {
3382
3702
  if (isAtomicWidgetSelected()) {
3383
3703
  open();
3384
3704
  }
@@ -3396,16 +3716,16 @@ var EditingPanelHooks = () => {
3396
3716
  var import_editor_canvas3 = require("@elementor/editor-canvas");
3397
3717
 
3398
3718
  // src/dynamics/components/dynamic-selection-control.tsx
3399
- var React78 = __toESM(require("react"));
3719
+ var React79 = __toESM(require("react"));
3400
3720
  var import_editor_controls53 = require("@elementor/editor-controls");
3401
3721
  var import_icons25 = require("@elementor/icons");
3402
3722
  var import_ui65 = require("@elementor/ui");
3403
- var import_i18n52 = require("@wordpress/i18n");
3723
+ var import_i18n53 = require("@wordpress/i18n");
3404
3724
 
3405
3725
  // src/components/popover-content.tsx
3406
- var React75 = __toESM(require("react"));
3726
+ var React76 = __toESM(require("react"));
3407
3727
  var import_ui63 = require("@elementor/ui");
3408
- var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React75.createElement(import_ui63.Stack, { alignItems, gap, p }, children);
3728
+ var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React76.createElement(import_ui63.Stack, { alignItems, gap, p }, children);
3409
3729
 
3410
3730
  // src/hooks/use-persist-dynamic-value.ts
3411
3731
  var import_session6 = require("@elementor/session");
@@ -3416,14 +3736,14 @@ var usePersistDynamicValue = (propKey) => {
3416
3736
  };
3417
3737
 
3418
3738
  // src/dynamics/dynamic-control.tsx
3419
- var React76 = __toESM(require("react"));
3739
+ var React77 = __toESM(require("react"));
3420
3740
  var import_editor_controls51 = require("@elementor/editor-controls");
3421
3741
 
3422
3742
  // src/dynamics/hooks/use-dynamic-tag.ts
3423
- var import_react29 = require("react");
3743
+ var import_react31 = require("react");
3424
3744
 
3425
3745
  // src/dynamics/hooks/use-prop-dynamic-tags.ts
3426
- var import_react28 = require("react");
3746
+ var import_react30 = require("react");
3427
3747
  var import_editor_controls50 = require("@elementor/editor-controls");
3428
3748
 
3429
3749
  // src/dynamics/sync/get-elementor-config.ts
@@ -3445,7 +3765,7 @@ var getAtomicDynamicTags = () => {
3445
3765
  };
3446
3766
 
3447
3767
  // src/dynamics/utils.ts
3448
- var import_editor_props8 = require("@elementor/editor-props");
3768
+ var import_editor_props11 = require("@elementor/editor-props");
3449
3769
  var import_schema = require("@elementor/schema");
3450
3770
  var DYNAMIC_PROP_TYPE_KEY = "dynamic";
3451
3771
  var isDynamicPropType = (prop) => prop.key === DYNAMIC_PROP_TYPE_KEY;
@@ -3454,12 +3774,12 @@ var getDynamicPropType = (propType) => {
3454
3774
  return dynamicPropType && isDynamicPropType(dynamicPropType) ? dynamicPropType : null;
3455
3775
  };
3456
3776
  var isDynamicPropValue = (prop) => {
3457
- return (0, import_editor_props8.isTransformable)(prop) && prop.$$type === DYNAMIC_PROP_TYPE_KEY;
3777
+ return (0, import_editor_props11.isTransformable)(prop) && prop.$$type === DYNAMIC_PROP_TYPE_KEY;
3458
3778
  };
3459
3779
  var supportsDynamic = (propType) => {
3460
3780
  return !!getDynamicPropType(propType);
3461
3781
  };
3462
- var dynamicPropTypeUtil = (0, import_editor_props8.createPropUtils)(
3782
+ var dynamicPropTypeUtil = (0, import_editor_props11.createPropUtils)(
3463
3783
  DYNAMIC_PROP_TYPE_KEY,
3464
3784
  import_schema.z.strictObject({
3465
3785
  name: import_schema.z.string(),
@@ -3475,7 +3795,7 @@ var usePropDynamicTags = () => {
3475
3795
  const propDynamicType = getDynamicPropType(propType);
3476
3796
  categories = propDynamicType?.settings.categories || [];
3477
3797
  }
3478
- return (0, import_react28.useMemo)(() => getDynamicTagsByCategories(categories), [categories.join()]);
3798
+ return (0, import_react30.useMemo)(() => getDynamicTagsByCategories(categories), [categories.join()]);
3479
3799
  };
3480
3800
  var getDynamicTagsByCategories = (categories) => {
3481
3801
  const dynamicTags = getAtomicDynamicTags();
@@ -3491,7 +3811,7 @@ var getDynamicTagsByCategories = (categories) => {
3491
3811
  // src/dynamics/hooks/use-dynamic-tag.ts
3492
3812
  var useDynamicTag = (tagName) => {
3493
3813
  const dynamicTags = usePropDynamicTags();
3494
- return (0, import_react29.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
3814
+ return (0, import_react31.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
3495
3815
  };
3496
3816
 
3497
3817
  // src/dynamics/dynamic-control.tsx
@@ -3515,19 +3835,19 @@ var DynamicControl = ({ bind, children }) => {
3515
3835
  });
3516
3836
  };
3517
3837
  const propType = createTopLevelOjectType({ schema: dynamicTag.props_schema });
3518
- return /* @__PURE__ */ React76.createElement(import_editor_controls51.PropProvider, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React76.createElement(import_editor_controls51.PropKeyProvider, { bind }, children));
3838
+ return /* @__PURE__ */ React77.createElement(import_editor_controls51.PropProvider, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React77.createElement(import_editor_controls51.PropKeyProvider, { bind }, children));
3519
3839
  };
3520
3840
 
3521
3841
  // src/dynamics/components/dynamic-selection.tsx
3522
- var React77 = __toESM(require("react"));
3523
- var import_react30 = require("react");
3842
+ var React78 = __toESM(require("react"));
3843
+ var import_react32 = require("react");
3524
3844
  var import_editor_controls52 = require("@elementor/editor-controls");
3525
3845
  var import_icons24 = require("@elementor/icons");
3526
3846
  var import_ui64 = require("@elementor/ui");
3527
- var import_i18n51 = require("@wordpress/i18n");
3847
+ var import_i18n52 = require("@wordpress/i18n");
3528
3848
  var SIZE3 = "tiny";
3529
3849
  var DynamicSelection = ({ onSelect }) => {
3530
- const [searchValue, setSearchValue] = (0, import_react30.useState)("");
3850
+ const [searchValue, setSearchValue] = (0, import_react32.useState)("");
3531
3851
  const { groups: dynamicGroups } = getAtomicDynamicTags() || {};
3532
3852
  const { value: anyValue } = (0, import_editor_controls52.useBoundProp)();
3533
3853
  const { bind, value: dynamicValue, setValue } = (0, import_editor_controls52.useBoundProp)(dynamicPropTypeUtil);
@@ -3545,19 +3865,19 @@ var DynamicSelection = ({ onSelect }) => {
3545
3865
  setValue({ name: value, settings: { label } });
3546
3866
  onSelect?.();
3547
3867
  };
3548
- return /* @__PURE__ */ React77.createElement(import_ui64.Stack, null, hasNoDynamicTags ? /* @__PURE__ */ React77.createElement(NoDynamicTags, null) : /* @__PURE__ */ React77.createElement(import_react30.Fragment, null, /* @__PURE__ */ React77.createElement(import_ui64.Box, { px: 1.5, pb: 1 }, /* @__PURE__ */ React77.createElement(
3868
+ return /* @__PURE__ */ React78.createElement(import_ui64.Stack, null, hasNoDynamicTags ? /* @__PURE__ */ React78.createElement(NoDynamicTags, null) : /* @__PURE__ */ React78.createElement(import_react32.Fragment, null, /* @__PURE__ */ React78.createElement(import_ui64.Box, { px: 1.5, pb: 1 }, /* @__PURE__ */ React78.createElement(
3549
3869
  import_ui64.TextField,
3550
3870
  {
3551
3871
  fullWidth: true,
3552
3872
  size: SIZE3,
3553
3873
  value: searchValue,
3554
3874
  onChange: handleSearch,
3555
- placeholder: (0, import_i18n51.__)("Search dynamic tags\u2026", "elementor"),
3875
+ placeholder: (0, import_i18n52.__)("Search dynamic tags\u2026", "elementor"),
3556
3876
  InputProps: {
3557
- startAdornment: /* @__PURE__ */ React77.createElement(import_ui64.InputAdornment, { position: "start" }, /* @__PURE__ */ React77.createElement(import_icons24.SearchIcon, { fontSize: SIZE3 }))
3877
+ startAdornment: /* @__PURE__ */ React78.createElement(import_ui64.InputAdornment, { position: "start" }, /* @__PURE__ */ React78.createElement(import_icons24.SearchIcon, { fontSize: SIZE3 }))
3558
3878
  }
3559
3879
  }
3560
- )), /* @__PURE__ */ React77.createElement(import_ui64.Divider, null), /* @__PURE__ */ React77.createElement(import_ui64.Box, { sx: { overflowY: "auto", height: 260, width: 220 } }, options12.length > 0 ? /* @__PURE__ */ React77.createElement(import_ui64.MenuList, { role: "listbox", tabIndex: 0 }, options12.map(([category, items3], index) => /* @__PURE__ */ React77.createElement(import_react30.Fragment, { key: index }, /* @__PURE__ */ React77.createElement(
3880
+ )), /* @__PURE__ */ React78.createElement(import_ui64.Divider, null), /* @__PURE__ */ React78.createElement(import_ui64.Box, { sx: { overflowY: "auto", height: 260, width: 220 } }, options12.length > 0 ? /* @__PURE__ */ React78.createElement(import_ui64.MenuList, { role: "listbox", tabIndex: 0 }, options12.map(([category, items3], index) => /* @__PURE__ */ React78.createElement(import_react32.Fragment, { key: index }, /* @__PURE__ */ React78.createElement(
3561
3881
  import_ui64.MenuSubheader,
3562
3882
  {
3563
3883
  sx: { px: 1.5, typography: "caption", color: "text.tertiary" }
@@ -3565,7 +3885,7 @@ var DynamicSelection = ({ onSelect }) => {
3565
3885
  dynamicGroups?.[category]?.title || category
3566
3886
  ), items3.map(({ value, label: tagLabel }) => {
3567
3887
  const isSelected = isCurrentValueDynamic && value === dynamicValue?.name;
3568
- return /* @__PURE__ */ React77.createElement(
3888
+ return /* @__PURE__ */ React78.createElement(
3569
3889
  import_ui64.MenuItem,
3570
3890
  {
3571
3891
  key: value,
@@ -3576,9 +3896,9 @@ var DynamicSelection = ({ onSelect }) => {
3576
3896
  },
3577
3897
  tagLabel
3578
3898
  );
3579
- })))) : /* @__PURE__ */ React77.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") }))));
3899
+ })))) : /* @__PURE__ */ React78.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") }))));
3580
3900
  };
3581
- var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React77.createElement(
3901
+ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React78.createElement(
3582
3902
  import_ui64.Stack,
3583
3903
  {
3584
3904
  gap: 1,
@@ -3589,11 +3909,11 @@ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React77.createElem
3589
3909
  color: "text.secondary",
3590
3910
  sx: { pb: 3.5 }
3591
3911
  },
3592
- /* @__PURE__ */ React77.createElement(import_icons24.DatabaseIcon, { fontSize: "large" }),
3593
- /* @__PURE__ */ React77.createElement(import_ui64.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n51.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React77.createElement("br", null), "\u201C", searchValue, "\u201D."),
3594
- /* @__PURE__ */ React77.createElement(import_ui64.Typography, { align: "center", variant: "caption" }, (0, import_i18n51.__)("Try something else.", "elementor"), "\xA0", /* @__PURE__ */ React77.createElement(import_ui64.Link, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, (0, import_i18n51.__)("Clear & try again", "elementor")))
3912
+ /* @__PURE__ */ React78.createElement(import_icons24.DatabaseIcon, { fontSize: "large" }),
3913
+ /* @__PURE__ */ React78.createElement(import_ui64.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n52.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React78.createElement("br", null), "\u201C", searchValue, "\u201D."),
3914
+ /* @__PURE__ */ React78.createElement(import_ui64.Typography, { align: "center", variant: "caption" }, (0, import_i18n52.__)("Try something else.", "elementor"), "\xA0", /* @__PURE__ */ React78.createElement(import_ui64.Link, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, (0, import_i18n52.__)("Clear & try again", "elementor")))
3595
3915
  );
3596
- var NoDynamicTags = () => /* @__PURE__ */ React77.createElement(import_ui64.Box, { sx: { overflowY: "hidden", height: 297, width: 220 } }, /* @__PURE__ */ React77.createElement(import_ui64.Divider, null), /* @__PURE__ */ React77.createElement(
3916
+ var NoDynamicTags = () => /* @__PURE__ */ React78.createElement(import_ui64.Box, { sx: { overflowY: "hidden", height: 297, width: 220 } }, /* @__PURE__ */ React78.createElement(import_ui64.Divider, null), /* @__PURE__ */ React78.createElement(
3597
3917
  import_ui64.Stack,
3598
3918
  {
3599
3919
  gap: 1,
@@ -3604,9 +3924,9 @@ var NoDynamicTags = () => /* @__PURE__ */ React77.createElement(import_ui64.Box,
3604
3924
  color: "text.secondary",
3605
3925
  sx: { pb: 3.5 }
3606
3926
  },
3607
- /* @__PURE__ */ React77.createElement(import_icons24.DatabaseIcon, { fontSize: "large" }),
3608
- /* @__PURE__ */ React77.createElement(import_ui64.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n51.__)("Streamline your workflow with dynamic tags", "elementor")),
3609
- /* @__PURE__ */ React77.createElement(import_ui64.Typography, { align: "center", variant: "caption" }, (0, import_i18n51.__)("You\u2019ll need Elementor Pro to use this feature.", "elementor"))
3927
+ /* @__PURE__ */ React78.createElement(import_icons24.DatabaseIcon, { fontSize: "large" }),
3928
+ /* @__PURE__ */ React78.createElement(import_ui64.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n52.__)("Streamline your workflow with dynamic tags", "elementor")),
3929
+ /* @__PURE__ */ React78.createElement(import_ui64.Typography, { align: "center", variant: "caption" }, (0, import_i18n52.__)("You\u2019ll need Elementor Pro to use this feature.", "elementor"))
3610
3930
  ));
3611
3931
  var useFilteredOptions = (searchValue) => {
3612
3932
  const dynamicTags = usePropDynamicTags();
@@ -3639,25 +3959,25 @@ var DynamicSelectionControl = () => {
3639
3959
  if (!dynamicTag) {
3640
3960
  throw new Error(`Dynamic tag ${tagName} not found`);
3641
3961
  }
3642
- return /* @__PURE__ */ React78.createElement(import_ui65.Box, null, /* @__PURE__ */ React78.createElement(
3962
+ return /* @__PURE__ */ React79.createElement(import_ui65.Box, null, /* @__PURE__ */ React79.createElement(
3643
3963
  import_ui65.UnstableTag,
3644
3964
  {
3645
3965
  fullWidth: true,
3646
3966
  showActionsOnHover: true,
3647
3967
  label: dynamicTag.label,
3648
- startIcon: /* @__PURE__ */ React78.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4 }),
3968
+ startIcon: /* @__PURE__ */ React79.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4 }),
3649
3969
  ...(0, import_ui65.bindTrigger)(selectionPopoverState),
3650
- actions: /* @__PURE__ */ React78.createElement(React78.Fragment, null, /* @__PURE__ */ React78.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React78.createElement(
3970
+ actions: /* @__PURE__ */ React79.createElement(React79.Fragment, null, /* @__PURE__ */ React79.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React79.createElement(
3651
3971
  import_ui65.IconButton,
3652
3972
  {
3653
3973
  size: SIZE4,
3654
3974
  onClick: removeDynamicTag,
3655
- "aria-label": (0, import_i18n52.__)("Remove dynamic value", "elementor")
3975
+ "aria-label": (0, import_i18n53.__)("Remove dynamic value", "elementor")
3656
3976
  },
3657
- /* @__PURE__ */ React78.createElement(import_icons25.XIcon, { fontSize: SIZE4 })
3977
+ /* @__PURE__ */ React79.createElement(import_icons25.XIcon, { fontSize: SIZE4 })
3658
3978
  ))
3659
3979
  }
3660
- ), /* @__PURE__ */ React78.createElement(
3980
+ ), /* @__PURE__ */ React79.createElement(
3661
3981
  import_ui65.Popover,
3662
3982
  {
3663
3983
  disablePortal: true,
@@ -3665,7 +3985,7 @@ var DynamicSelectionControl = () => {
3665
3985
  anchorOrigin: { vertical: "bottom", horizontal: "left" },
3666
3986
  ...(0, import_ui65.bindPopover)(selectionPopoverState)
3667
3987
  },
3668
- /* @__PURE__ */ React78.createElement(import_ui65.Stack, null, /* @__PURE__ */ React78.createElement(import_ui65.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React78.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React78.createElement(import_ui65.Typography, { variant: "subtitle2" }, (0, import_i18n52.__)("Dynamic tags", "elementor")), /* @__PURE__ */ React78.createElement(import_ui65.IconButton, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React78.createElement(import_icons25.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React78.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
3988
+ /* @__PURE__ */ React79.createElement(import_ui65.Stack, null, /* @__PURE__ */ React79.createElement(import_ui65.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React79.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React79.createElement(import_ui65.Typography, { variant: "subtitle2" }, (0, import_i18n53.__)("Dynamic tags", "elementor")), /* @__PURE__ */ React79.createElement(import_ui65.IconButton, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React79.createElement(import_icons25.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React79.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
3669
3989
  ));
3670
3990
  };
3671
3991
  var DynamicSettingsPopover = ({ dynamicTag }) => {
@@ -3674,7 +3994,7 @@ var DynamicSettingsPopover = ({ dynamicTag }) => {
3674
3994
  if (!hasDynamicSettings) {
3675
3995
  return null;
3676
3996
  }
3677
- return /* @__PURE__ */ React78.createElement(React78.Fragment, null, /* @__PURE__ */ React78.createElement(import_ui65.IconButton, { size: SIZE4, ...(0, import_ui65.bindTrigger)(popupState), "aria-label": (0, import_i18n52.__)("Settings", "elementor") }, /* @__PURE__ */ React78.createElement(import_icons25.SettingsIcon, { fontSize: SIZE4 })), /* @__PURE__ */ React78.createElement(
3997
+ return /* @__PURE__ */ React79.createElement(React79.Fragment, null, /* @__PURE__ */ React79.createElement(import_ui65.IconButton, { size: SIZE4, ...(0, import_ui65.bindTrigger)(popupState), "aria-label": (0, import_i18n53.__)("Settings", "elementor") }, /* @__PURE__ */ React79.createElement(import_icons25.SettingsIcon, { fontSize: SIZE4 })), /* @__PURE__ */ React79.createElement(
3678
3998
  import_ui65.Popover,
3679
3999
  {
3680
4000
  disablePortal: true,
@@ -3682,7 +4002,7 @@ var DynamicSettingsPopover = ({ dynamicTag }) => {
3682
4002
  anchorOrigin: { vertical: "bottom", horizontal: "center" },
3683
4003
  ...(0, import_ui65.bindPopover)(popupState)
3684
4004
  },
3685
- /* @__PURE__ */ React78.createElement(import_ui65.Paper, { component: import_ui65.Stack, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React78.createElement(import_ui65.Stack, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React78.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React78.createElement(import_ui65.Typography, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React78.createElement(import_ui65.IconButton, { sx: { ml: "auto" }, size: SIZE4, onClick: popupState.close }, /* @__PURE__ */ React78.createElement(import_icons25.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React78.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
4005
+ /* @__PURE__ */ React79.createElement(import_ui65.Paper, { component: import_ui65.Stack, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React79.createElement(import_ui65.Stack, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React79.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React79.createElement(import_ui65.Typography, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React79.createElement(import_ui65.IconButton, { sx: { ml: "auto" }, size: SIZE4, onClick: popupState.close }, /* @__PURE__ */ React79.createElement(import_icons25.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React79.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
3686
4006
  ));
3687
4007
  };
3688
4008
  var DynamicSettings = ({ controls }) => {
@@ -3691,10 +4011,10 @@ var DynamicSettings = ({ controls }) => {
3691
4011
  if (!tabs.length) {
3692
4012
  return null;
3693
4013
  }
3694
- return /* @__PURE__ */ React78.createElement(React78.Fragment, null, /* @__PURE__ */ React78.createElement(import_ui65.Tabs, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React78.createElement(import_ui65.Tab, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React78.createElement(import_ui65.Divider, null), tabs.map(({ value }, index) => {
3695
- return /* @__PURE__ */ React78.createElement(import_ui65.TabPanel, { key: index, sx: { flexGrow: 1, py: 0 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React78.createElement(PopoverContent, { p: 2, gap: 2 }, value.items.map((item) => {
4014
+ return /* @__PURE__ */ React79.createElement(React79.Fragment, null, /* @__PURE__ */ React79.createElement(import_ui65.Tabs, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React79.createElement(import_ui65.Tab, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React79.createElement(import_ui65.Divider, null), tabs.map(({ value }, index) => {
4015
+ return /* @__PURE__ */ React79.createElement(import_ui65.TabPanel, { key: index, sx: { flexGrow: 1, py: 0 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React79.createElement(PopoverContent, { p: 2, gap: 2 }, value.items.map((item) => {
3696
4016
  if (item.type === "control") {
3697
- return /* @__PURE__ */ React78.createElement(Control3, { key: item.value.bind, control: item.value });
4017
+ return /* @__PURE__ */ React79.createElement(Control3, { key: item.value.bind, control: item.value });
3698
4018
  }
3699
4019
  return null;
3700
4020
  })));
@@ -3704,12 +4024,12 @@ var Control3 = ({ control }) => {
3704
4024
  if (!getControl(control.type)) {
3705
4025
  return null;
3706
4026
  }
3707
- return /* @__PURE__ */ React78.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React78.createElement(import_ui65.Grid, { container: true, gap: 0.75 }, control.label ? /* @__PURE__ */ React78.createElement(import_ui65.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React78.createElement(import_editor_controls53.ControlFormLabel, null, control.label)) : null, /* @__PURE__ */ React78.createElement(import_ui65.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React78.createElement(Control, { type: control.type, props: control.props }))));
4027
+ return /* @__PURE__ */ React79.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React79.createElement(import_ui65.Grid, { container: true, gap: 0.75 }, control.label ? /* @__PURE__ */ React79.createElement(import_ui65.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React79.createElement(import_editor_controls53.ControlFormLabel, null, control.label)) : null, /* @__PURE__ */ React79.createElement(import_ui65.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React79.createElement(Control, { type: control.type, props: control.props }))));
3708
4028
  };
3709
4029
 
3710
4030
  // src/dynamics/dynamic-transformer.ts
3711
4031
  var import_editor_canvas2 = require("@elementor/editor-canvas");
3712
- var import_editor_props9 = require("@elementor/editor-props");
4032
+ var import_editor_props12 = require("@elementor/editor-props");
3713
4033
 
3714
4034
  // src/dynamics/errors.ts
3715
4035
  var import_utils8 = require("@elementor/utils");
@@ -3727,7 +4047,7 @@ var dynamicTransformer = (0, import_editor_canvas2.createTransformer)((value) =>
3727
4047
  });
3728
4048
  function simpleTransform(props) {
3729
4049
  const transformed = Object.entries(props).map(([settingKey, settingValue]) => {
3730
- const value = (0, import_editor_props9.isTransformable)(settingValue) ? settingValue.value : settingValue;
4050
+ const value = (0, import_editor_props12.isTransformable)(settingValue) ? settingValue.value : settingValue;
3731
4051
  return [settingKey, value];
3732
4052
  });
3733
4053
  return Object.fromEntries(transformed);
@@ -3757,18 +4077,18 @@ function getDynamicValue(name, settings) {
3757
4077
  }
3758
4078
 
3759
4079
  // src/dynamics/hooks/use-prop-dynamic-action.tsx
3760
- var React79 = __toESM(require("react"));
4080
+ var React80 = __toESM(require("react"));
3761
4081
  var import_editor_controls54 = require("@elementor/editor-controls");
3762
4082
  var import_icons26 = require("@elementor/icons");
3763
- var import_i18n53 = require("@wordpress/i18n");
4083
+ var import_i18n54 = require("@wordpress/i18n");
3764
4084
  var usePropDynamicAction = () => {
3765
4085
  const { propType } = (0, import_editor_controls54.useBoundProp)();
3766
4086
  const visible = !!propType && supportsDynamic(propType);
3767
4087
  return {
3768
4088
  visible,
3769
4089
  icon: import_icons26.DatabaseIcon,
3770
- title: (0, import_i18n53.__)("Dynamic tags", "elementor"),
3771
- popoverContent: ({ closePopover }) => /* @__PURE__ */ React79.createElement(DynamicSelection, { onSelect: closePopover })
4090
+ title: (0, import_i18n54.__)("Dynamic tags", "elementor"),
4091
+ popoverContent: ({ closePopover }) => /* @__PURE__ */ React80.createElement(DynamicSelection, { onSelect: closePopover })
3772
4092
  };
3773
4093
  };
3774
4094
 
@@ -3802,7 +4122,7 @@ function init2() {
3802
4122
  init();
3803
4123
  }
3804
4124
  var blockV1Panel = () => {
3805
- (0, import_editor_v1_adapters10.blockCommand)({
4125
+ (0, import_editor_v1_adapters14.blockCommand)({
3806
4126
  command: "panel/editor/open",
3807
4127
  condition: isAtomicWidgetSelected
3808
4128
  });