@elementor/editor-controls 3.35.0-386 → 3.35.0-388

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -2571,8 +2571,7 @@ var NumberControl = createControl(
2571
2571
  // src/controls/equal-unequal-sizes-control.tsx
2572
2572
  import * as React56 from "react";
2573
2573
  import { useId as useId2, useRef as useRef8 } from "react";
2574
- import { sizePropTypeUtil as sizePropTypeUtil3 } from "@elementor/editor-props";
2575
- import { bindPopover as bindPopover3, bindToggle, Grid as Grid8, Popover as Popover3, Stack as Stack7, ToggleButton as ToggleButton2, Tooltip as Tooltip5, usePopupState as usePopupState4 } from "@elementor/ui";
2574
+ import { bindPopover as bindPopover3, bindToggle, Box as Box7, Grid as Grid8, Popover as Popover3, Stack as Stack7, Tooltip as Tooltip5, usePopupState as usePopupState4 } from "@elementor/ui";
2576
2575
  import { __ as __17 } from "@wordpress/i18n";
2577
2576
 
2578
2577
  // src/components/control-label.tsx
@@ -2583,16 +2582,6 @@ var ControlLabel = ({ children, ...props }) => {
2583
2582
  };
2584
2583
 
2585
2584
  // src/controls/equal-unequal-sizes-control.tsx
2586
- var isEqualSizes = (propValue, items2) => {
2587
- const values = Object.values(propValue);
2588
- if (values.length !== items2.length) {
2589
- return false;
2590
- }
2591
- const [firstValue, ...restValues] = values;
2592
- return restValues.every(
2593
- (value) => value?.value?.size === firstValue?.value?.size && value?.value?.unit === firstValue?.value?.unit
2594
- );
2595
- };
2596
2585
  function EqualUnequalSizesControl({
2597
2586
  label,
2598
2587
  icon,
@@ -2602,56 +2591,60 @@ function EqualUnequalSizesControl({
2602
2591
  }) {
2603
2592
  const popupId = useId2();
2604
2593
  const popupState = usePopupState4({ variant: "popover", popupId });
2605
- const {
2606
- propType: multiSizePropType,
2607
- value: multiSizeValue,
2608
- setValue: setMultiSizeValue,
2609
- disabled: multiSizeDisabled
2610
- } = useBoundProp(multiSizePropTypeUtil);
2611
- const { value: sizeValue, setValue: setSizeValue } = useBoundProp(sizePropTypeUtil3);
2612
2594
  const rowRefs = [useRef8(null), useRef8(null)];
2613
- const splitEqualValue = () => {
2614
- if (!sizeValue) {
2615
- return null;
2595
+ const { propType: multiSizePropType, disabled: multiSizeDisabled } = useBoundProp(multiSizePropTypeUtil);
2596
+ const { value: masterValue, setValue: setMasterValue, placeholder: masterPlaceholder } = useBoundProp();
2597
+ const getMultiSizeValues = (sourceValue) => {
2598
+ if (multiSizePropTypeUtil.isValid(sourceValue)) {
2599
+ return sourceValue.value;
2616
2600
  }
2617
- return items2.reduce(
2618
- (acc, { bind }) => ({ ...acc, [bind]: sizePropTypeUtil3.create(sizeValue) }),
2619
- {}
2620
- );
2601
+ const propValue = {};
2602
+ items2.forEach((item) => {
2603
+ propValue[item.bind] = sourceValue;
2604
+ });
2605
+ const derived = multiSizePropTypeUtil.create(propValue);
2606
+ return derived?.value;
2621
2607
  };
2622
- const setNestedProp = (newValue) => {
2623
- const newMappedValues = {
2624
- ...multiSizeValue ?? splitEqualValue(),
2625
- ...newValue
2626
- };
2627
- const isEqual = isEqualSizes(newMappedValues, items2);
2628
- if (isEqual) {
2629
- return setSizeValue(Object.values(newMappedValues)[0]?.value);
2630
- }
2631
- setMultiSizeValue(newMappedValues);
2608
+ const isShowingGeneralIndicator = !popupState.isOpen;
2609
+ const derivedValue = getMultiSizeValues(masterValue);
2610
+ const derivedPlaceholder = getMultiSizeValues(masterPlaceholder);
2611
+ const isEqualValues = (values) => {
2612
+ if (!values) {
2613
+ return true;
2614
+ }
2615
+ const propValue = {};
2616
+ items2.forEach((item) => {
2617
+ propValue[item.bind] = values?.value?.[item.bind] ?? null;
2618
+ });
2619
+ const allValues = Object.values(propValue).map((value) => JSON.stringify(value));
2620
+ return allValues.every((value) => value === allValues[0]);
2632
2621
  };
2633
- const getMultiSizeValues = () => {
2634
- if (multiSizeValue) {
2635
- return multiSizeValue;
2622
+ const isMixedPlaceholder = !masterValue && !isEqualValues(multiSizePropTypeUtil.create(derivedPlaceholder));
2623
+ const isMixed = isMixedPlaceholder || !isEqualValues(multiSizePropTypeUtil.create(derivedValue));
2624
+ const applyMultiSizeValue = (newValue) => {
2625
+ const newPropValue = multiSizePropTypeUtil.create(newValue);
2626
+ if (isEqualValues(newPropValue)) {
2627
+ setMasterValue(Object.values(newValue)?.pop() ?? null);
2628
+ return;
2636
2629
  }
2637
- return splitEqualValue() ?? null;
2630
+ setMasterValue(newPropValue);
2638
2631
  };
2639
- const isShowingGeneralIndicator = !popupState.isOpen;
2640
- const isMixed = !!multiSizeValue;
2641
- return /* @__PURE__ */ React56.createElement(React56.Fragment, null, /* @__PURE__ */ React56.createElement(Grid8, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRefs[0] }, /* @__PURE__ */ React56.createElement(Grid8, { item: true, xs: 6 }, !isShowingGeneralIndicator ? /* @__PURE__ */ React56.createElement(ControlFormLabel, null, label) : /* @__PURE__ */ React56.createElement(ControlLabel, null, label)), /* @__PURE__ */ React56.createElement(Grid8, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(Stack7, { direction: "row", alignItems: "center", gap: 1 }, /* @__PURE__ */ React56.createElement(
2632
+ return /* @__PURE__ */ React56.createElement(React56.Fragment, null, /* @__PURE__ */ React56.createElement(Grid8, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRefs[0] }, /* @__PURE__ */ React56.createElement(Grid8, { item: true, xs: 6 }, !isShowingGeneralIndicator ? /* @__PURE__ */ React56.createElement(ControlFormLabel, null, label) : /* @__PURE__ */ React56.createElement(ControlLabel, null, label)), /* @__PURE__ */ React56.createElement(Grid8, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(Stack7, { direction: "row", alignItems: "center", gap: 1 }, /* @__PURE__ */ React56.createElement(Box7, { flexGrow: 1 }, /* @__PURE__ */ React56.createElement(
2642
2633
  SizeControl,
2643
2634
  {
2644
2635
  placeholder: isMixed ? __17("Mixed", "elementor") : void 0,
2636
+ enablePropTypeUnits: !isMixed || !isMixedPlaceholder,
2645
2637
  anchorRef: rowRefs[0]
2646
2638
  }
2647
- ), /* @__PURE__ */ React56.createElement(Tooltip5, { title: tooltipLabel, placement: "top" }, /* @__PURE__ */ React56.createElement(
2648
- ToggleButton2,
2639
+ )), /* @__PURE__ */ React56.createElement(Tooltip5, { title: tooltipLabel, placement: "top" }, /* @__PURE__ */ React56.createElement(
2640
+ StyledToggleButton,
2649
2641
  {
2650
2642
  size: "tiny",
2651
2643
  value: "check",
2652
2644
  sx: { marginLeft: "auto" },
2653
2645
  ...bindToggle(popupState),
2654
2646
  selected: popupState.isOpen,
2647
+ isPlaceholder: isMixedPlaceholder,
2655
2648
  "aria-label": tooltipLabel
2656
2649
  },
2657
2650
  icon
@@ -2677,8 +2670,9 @@ function EqualUnequalSizesControl({
2677
2670
  PropProvider,
2678
2671
  {
2679
2672
  propType: multiSizePropType,
2680
- value: getMultiSizeValues(),
2681
- setValue: setNestedProp,
2673
+ value: derivedValue,
2674
+ placeholder: derivedPlaceholder,
2675
+ setValue: applyMultiSizeValue,
2682
2676
  isDisabled: () => multiSizeDisabled
2683
2677
  },
2684
2678
  /* @__PURE__ */ React56.createElement(PopoverContent, { p: 1.5 }, /* @__PURE__ */ React56.createElement(PopoverGridContainer, { ref: rowRefs[1] }, /* @__PURE__ */ React56.createElement(MultiSizeValueControl, { item: items2[0], rowRef: rowRefs[1] }), /* @__PURE__ */ React56.createElement(MultiSizeValueControl, { item: items2[1], rowRef: rowRefs[1] })), /* @__PURE__ */ React56.createElement(PopoverGridContainer, { ref: rowRefs[2] }, /* @__PURE__ */ React56.createElement(MultiSizeValueControl, { item: items2[2], rowRef: rowRefs[2] }), /* @__PURE__ */ React56.createElement(MultiSizeValueControl, { item: items2[3], rowRef: rowRefs[2] })))
@@ -2692,14 +2686,14 @@ var MultiSizeValueControl = ({ item, rowRef }) => {
2692
2686
  // src/controls/linked-dimensions-control.tsx
2693
2687
  import * as React57 from "react";
2694
2688
  import { useLayoutEffect, useRef as useRef9, useState as useState8 } from "react";
2695
- import { dimensionsPropTypeUtil, sizePropTypeUtil as sizePropTypeUtil4 } from "@elementor/editor-props";
2689
+ import { dimensionsPropTypeUtil, sizePropTypeUtil as sizePropTypeUtil3 } from "@elementor/editor-props";
2696
2690
  import { useActiveBreakpoint as useActiveBreakpoint2 } from "@elementor/editor-responsive";
2697
2691
  import { DetachIcon, LinkIcon, SideBottomIcon, SideLeftIcon, SideRightIcon, SideTopIcon } from "@elementor/icons";
2698
2692
  import { Grid as Grid9, Stack as Stack8, Tooltip as Tooltip6 } from "@elementor/ui";
2699
2693
  import { __ as __18 } from "@wordpress/i18n";
2700
2694
  var LinkedDimensionsControl = ({ label, isSiteRtl = false, extendedOptions, min }) => {
2701
2695
  const gridRowRefs = [useRef9(null), useRef9(null)];
2702
- const { disabled: sizeDisabled } = useBoundProp(sizePropTypeUtil4);
2696
+ const { disabled: sizeDisabled } = useBoundProp(sizePropTypeUtil3);
2703
2697
  const {
2704
2698
  value: dimensionsValue,
2705
2699
  setValue: setDimensionsValue,
@@ -2857,7 +2851,7 @@ import { __ as __20 } from "@wordpress/i18n";
2857
2851
  import * as React58 from "react";
2858
2852
  import { useCallback as useCallback2, useEffect as useEffect6, useState as useState9 } from "react";
2859
2853
  import { PopoverBody, PopoverHeader as PopoverHeader2, PopoverMenuList, SearchField } from "@elementor/editor-ui";
2860
- import { Box as Box7, Divider as Divider2, Link, Stack as Stack9, Typography as Typography4 } from "@elementor/ui";
2854
+ import { Box as Box8, Divider as Divider2, Link, Stack as Stack9, Typography as Typography4 } from "@elementor/ui";
2861
2855
  import { debounce } from "@elementor/utils";
2862
2856
  import { __ as __19 } from "@wordpress/i18n";
2863
2857
 
@@ -2931,7 +2925,7 @@ var ItemSelector = ({
2931
2925
  overflow: "hidden"
2932
2926
  },
2933
2927
  /* @__PURE__ */ React58.createElement(IconComponent, { fontSize: "large" }),
2934
- /* @__PURE__ */ React58.createElement(Box7, { sx: { maxWidth: 160, overflow: "hidden" } }, /* @__PURE__ */ React58.createElement(Typography4, { align: "center", variant: "subtitle2", color: "text.secondary" }, __19("Sorry, nothing matched", "elementor")), /* @__PURE__ */ React58.createElement(
2928
+ /* @__PURE__ */ React58.createElement(Box8, { sx: { maxWidth: 160, overflow: "hidden" } }, /* @__PURE__ */ React58.createElement(Typography4, { align: "center", variant: "subtitle2", color: "text.secondary" }, __19("Sorry, nothing matched", "elementor")), /* @__PURE__ */ React58.createElement(
2935
2929
  Typography4,
2936
2930
  {
2937
2931
  variant: "subtitle2",
@@ -2940,7 +2934,7 @@ var ItemSelector = ({
2940
2934
  },
2941
2935
  /* @__PURE__ */ React58.createElement("span", null, "\u201C"),
2942
2936
  /* @__PURE__ */ React58.createElement(
2943
- Box7,
2937
+ Box8,
2944
2938
  {
2945
2939
  component: "span",
2946
2940
  sx: { maxWidth: "80%", overflow: "hidden", textOverflow: "ellipsis" }
@@ -3118,7 +3112,7 @@ import { __ as __23 } from "@wordpress/i18n";
3118
3112
  import * as React61 from "react";
3119
3113
  import { selectElement } from "@elementor/editor-elements";
3120
3114
  import { InfoCircleFilledIcon } from "@elementor/icons";
3121
- import { Alert, AlertAction, AlertTitle, Box as Box8, Infotip as Infotip2, Link as Link2 } from "@elementor/ui";
3115
+ import { Alert, AlertAction, AlertTitle, Box as Box9, Infotip as Infotip2, Link as Link2 } from "@elementor/ui";
3122
3116
  import { __ as __21 } from "@wordpress/i18n";
3123
3117
  var learnMoreButton = {
3124
3118
  label: __21("Learn More", "elementor"),
@@ -3159,7 +3153,7 @@ var RestrictedLinkInfotip = ({
3159
3153
  )
3160
3154
  },
3161
3155
  /* @__PURE__ */ React61.createElement(AlertTitle, null, __21("Nested links", "elementor")),
3162
- /* @__PURE__ */ React61.createElement(Box8, { component: "span" }, INFOTIP_CONTENT[reason ?? "descendant"], " ", /* @__PURE__ */ React61.createElement(Link2, { href: learnMoreButton.href, target: "_blank", color: "info.main" }, learnMoreButton.label))
3156
+ /* @__PURE__ */ React61.createElement(Box9, { component: "span" }, INFOTIP_CONTENT[reason ?? "descendant"], " ", /* @__PURE__ */ React61.createElement(Link2, { href: learnMoreButton.href, target: "_blank", color: "info.main" }, learnMoreButton.label))
3163
3157
  );
3164
3158
  return shouldRestrict && isVisible ? /* @__PURE__ */ React61.createElement(
3165
3159
  Infotip2,
@@ -3169,7 +3163,7 @@ var RestrictedLinkInfotip = ({
3169
3163
  color: "secondary",
3170
3164
  slotProps: { popper: { sx: { width: 300 } } }
3171
3165
  },
3172
- /* @__PURE__ */ React61.createElement(Box8, null, children)
3166
+ /* @__PURE__ */ React61.createElement(Box9, null, children)
3173
3167
  ) : /* @__PURE__ */ React61.createElement(React61.Fragment, null, children);
3174
3168
  };
3175
3169
 
@@ -3188,7 +3182,7 @@ import { forwardRef as forwardRef8 } from "react";
3188
3182
  import { XIcon as XIcon2 } from "@elementor/icons";
3189
3183
  import {
3190
3184
  Autocomplete as AutocompleteBase,
3191
- Box as Box9,
3185
+ Box as Box10,
3192
3186
  IconButton as IconButton5,
3193
3187
  InputAdornment as InputAdornment4,
3194
3188
  TextField as TextField6
@@ -3235,7 +3229,7 @@ var Autocomplete = forwardRef8((props, ref) => {
3235
3229
  groupBy: isCategorizedOptionPool(options) ? (optionId) => findMatchingOption(options, optionId)?.groupLabel || optionId : void 0,
3236
3230
  isOptionEqualToValue,
3237
3231
  filterOptions: () => optionKeys,
3238
- renderOption: (optionProps, optionId) => /* @__PURE__ */ React62.createElement(Box9, { component: "li", ...optionProps, key: optionProps.id }, findMatchingOption(options, optionId)?.label ?? optionId),
3232
+ renderOption: (optionProps, optionId) => /* @__PURE__ */ React62.createElement(Box10, { component: "li", ...optionProps, key: optionProps.id }, findMatchingOption(options, optionId)?.label ?? optionId),
3239
3233
  renderInput: (params) => /* @__PURE__ */ React62.createElement(
3240
3234
  TextInput,
3241
3235
  {
@@ -3421,13 +3415,13 @@ function generateFirstLoadedOption(unionValue) {
3421
3415
  // src/controls/switch-control.tsx
3422
3416
  import * as React64 from "react";
3423
3417
  import { booleanPropTypeUtil } from "@elementor/editor-props";
3424
- import { Box as Box10, Switch } from "@elementor/ui";
3418
+ import { Box as Box11, Switch } from "@elementor/ui";
3425
3419
  var SwitchControl = createControl(() => {
3426
3420
  const { value, setValue, disabled } = useBoundProp(booleanPropTypeUtil);
3427
3421
  const handleChange = (event) => {
3428
3422
  setValue(event.target.checked);
3429
3423
  };
3430
- return /* @__PURE__ */ React64.createElement(Box10, { sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React64.createElement(
3424
+ return /* @__PURE__ */ React64.createElement(Box11, { sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React64.createElement(
3431
3425
  Switch,
3432
3426
  {
3433
3427
  checked: !!value,
@@ -3530,7 +3524,7 @@ import { __ as __24 } from "@wordpress/i18n";
3530
3524
  // src/components/conditional-control-infotip.tsx
3531
3525
  import * as React66 from "react";
3532
3526
  import { InfoAlert } from "@elementor/editor-ui";
3533
- import { AlertTitle as AlertTitle2, Box as Box11, Infotip as Infotip3, useTheme as useTheme2 } from "@elementor/ui";
3527
+ import { AlertTitle as AlertTitle2, Box as Box12, Infotip as Infotip3, useTheme as useTheme2 } from "@elementor/ui";
3534
3528
  import { DirectionProvider } from "@elementor/ui";
3535
3529
  var DEFAULT_COLOR = "secondary";
3536
3530
  var ConditionalControlInfotip = React66.forwardRef(
@@ -3538,7 +3532,7 @@ var ConditionalControlInfotip = React66.forwardRef(
3538
3532
  const theme = useTheme2();
3539
3533
  const isUiRtl = "rtl" === theme.direction;
3540
3534
  const isEnabled = props.isEnabled && (title || description);
3541
- return /* @__PURE__ */ React66.createElement(Box11, { ref }, isEnabled ? /* @__PURE__ */ React66.createElement(DirectionProvider, { rtl: isUiRtl }, /* @__PURE__ */ React66.createElement(
3535
+ return /* @__PURE__ */ React66.createElement(Box12, { ref }, isEnabled ? /* @__PURE__ */ React66.createElement(DirectionProvider, { rtl: isUiRtl }, /* @__PURE__ */ React66.createElement(
3542
3536
  Infotip3,
3543
3537
  {
3544
3538
  placement: "right",
@@ -3563,7 +3557,7 @@ var ConditionalControlInfotip = React66.forwardRef(
3563
3557
  sx: { width: 300, px: 1.5, py: 2 },
3564
3558
  ...alertProps
3565
3559
  },
3566
- /* @__PURE__ */ React66.createElement(Box11, { sx: { flexDirection: "column", display: "flex", gap: 0.5 } }, /* @__PURE__ */ React66.createElement(AlertTitle2, null, title), /* @__PURE__ */ React66.createElement(Box11, null, description))
3560
+ /* @__PURE__ */ React66.createElement(Box12, { sx: { flexDirection: "column", display: "flex", gap: 0.5 } }, /* @__PURE__ */ React66.createElement(AlertTitle2, null, title), /* @__PURE__ */ React66.createElement(Box12, null, description))
3567
3561
  )
3568
3562
  },
3569
3563
  children
@@ -3621,14 +3615,14 @@ var HtmlTagControl = createControl(({ options, onChange, fallbackLabels = {} })
3621
3615
  // src/controls/gap-control.tsx
3622
3616
  import * as React68 from "react";
3623
3617
  import { useLayoutEffect as useLayoutEffect2, useRef as useRef10, useState as useState12 } from "react";
3624
- import { layoutDirectionPropTypeUtil, sizePropTypeUtil as sizePropTypeUtil5 } from "@elementor/editor-props";
3618
+ import { layoutDirectionPropTypeUtil, sizePropTypeUtil as sizePropTypeUtil4 } from "@elementor/editor-props";
3625
3619
  import { useActiveBreakpoint as useActiveBreakpoint3 } from "@elementor/editor-responsive";
3626
3620
  import { DetachIcon as DetachIcon2, LinkIcon as LinkIcon2 } from "@elementor/icons";
3627
3621
  import { Grid as Grid11, Stack as Stack11, Tooltip as Tooltip7 } from "@elementor/ui";
3628
3622
  import { __ as __25 } from "@wordpress/i18n";
3629
3623
  var GapControl = ({ label }) => {
3630
3624
  const stackRef = useRef10(null);
3631
- const { disabled: sizeDisabled } = useBoundProp(sizePropTypeUtil5);
3625
+ const { disabled: sizeDisabled } = useBoundProp(sizePropTypeUtil4);
3632
3626
  const {
3633
3627
  value: directionValue,
3634
3628
  setValue: setDirectionValue,
@@ -4012,7 +4006,7 @@ import {
4012
4006
  backgroundOverlayPropTypeUtil,
4013
4007
  colorPropTypeUtil as colorPropTypeUtil3
4014
4008
  } from "@elementor/editor-props";
4015
- import { Box as Box12, CardMedia as CardMedia3, styled as styled9, Tab, TabPanel, Tabs, UnstableColorIndicator as UnstableColorIndicator3 } from "@elementor/ui";
4009
+ import { Box as Box13, CardMedia as CardMedia3, styled as styled9, Tab, TabPanel, Tabs, UnstableColorIndicator as UnstableColorIndicator3 } from "@elementor/ui";
4016
4010
  import { useWpMediaAttachment as useWpMediaAttachment3 } from "@elementor/wp-media";
4017
4011
  import { __ as __33 } from "@wordpress/i18n";
4018
4012
 
@@ -4414,7 +4408,7 @@ var ItemContent = () => {
4414
4408
  gradient: initialBackgroundGradientOverlay.value
4415
4409
  });
4416
4410
  const { rowRef } = useRepeaterContext();
4417
- return /* @__PURE__ */ React77.createElement(Box12, { sx: { width: "100%" } }, /* @__PURE__ */ React77.createElement(Box12, { sx: { borderBottom: 1, borderColor: "divider" } }, /* @__PURE__ */ React77.createElement(
4411
+ return /* @__PURE__ */ React77.createElement(Box13, { sx: { width: "100%" } }, /* @__PURE__ */ React77.createElement(Box13, { sx: { borderBottom: 1, borderColor: "divider" } }, /* @__PURE__ */ React77.createElement(
4418
4412
  Tabs,
4419
4413
  {
4420
4414
  size: "small",
@@ -4561,7 +4555,7 @@ var BackgroundClipField = () => {
4561
4555
  import * as React79 from "react";
4562
4556
  import { useMemo as useMemo8 } from "react";
4563
4557
  import { createArrayPropUtils } from "@elementor/editor-props";
4564
- import { Box as Box13 } from "@elementor/ui";
4558
+ import { Box as Box14 } from "@elementor/ui";
4565
4559
  var PLACEHOLDER_REGEX = /\$\{([^}]+)\}/g;
4566
4560
  var RepeatableControl = createControl(
4567
4561
  ({
@@ -4705,7 +4699,7 @@ var ItemLabel3 = ({ value }) => {
4705
4699
  const label = showPlaceholder ? placeholder : interpolate(patternLabel, value);
4706
4700
  const isReadOnly = !!childProps?.readOnly;
4707
4701
  const color = getTextColor(isReadOnly, showPlaceholder);
4708
- return /* @__PURE__ */ React79.createElement(Box13, { component: "span", color }, label);
4702
+ return /* @__PURE__ */ React79.createElement(Box14, { component: "span", color }, label);
4709
4703
  };
4710
4704
  var getAllProperties = (pattern) => {
4711
4705
  const properties = pattern.match(PLACEHOLDER_REGEX)?.map((match) => match.slice(2, -1)) || [];
@@ -4889,7 +4883,7 @@ import * as React94 from "react";
4889
4883
  import { useRef as useRef21 } from "react";
4890
4884
  import { transformFunctionsPropTypeUtil, transformPropTypeUtil } from "@elementor/editor-props";
4891
4885
  import { AdjustmentsIcon as AdjustmentsIcon2, InfoCircleFilledIcon as InfoCircleFilledIcon2 } from "@elementor/icons";
4892
- import { bindTrigger as bindTrigger4, Box as Box17, IconButton as IconButton7, Tooltip as Tooltip8, Typography as Typography6, usePopupState as usePopupState6 } from "@elementor/ui";
4886
+ import { bindTrigger as bindTrigger4, Box as Box18, IconButton as IconButton7, Tooltip as Tooltip8, Typography as Typography6, usePopupState as usePopupState6 } from "@elementor/ui";
4893
4887
  import { __ as __46 } from "@wordpress/i18n";
4894
4888
 
4895
4889
  // src/controls/transform-control/initial-values.ts
@@ -4945,7 +4939,7 @@ var initialSkewValue = skewTransformPropTypeUtil.create({
4945
4939
 
4946
4940
  // src/controls/transform-control/transform-content.tsx
4947
4941
  import * as React88 from "react";
4948
- import { Box as Box14, Tab as Tab2, TabPanel as TabPanel2, Tabs as Tabs2 } from "@elementor/ui";
4942
+ import { Box as Box15, Tab as Tab2, TabPanel as TabPanel2, Tabs as Tabs2 } from "@elementor/ui";
4949
4943
  import { __ as __41 } from "@wordpress/i18n";
4950
4944
 
4951
4945
  // src/controls/transform-control/functions/move.tsx
@@ -5216,7 +5210,7 @@ var TransformContent = () => {
5216
5210
  rotate: initialRotateValue.value,
5217
5211
  skew: initialSkewValue.value
5218
5212
  });
5219
- return /* @__PURE__ */ React88.createElement(PopoverContent, null, /* @__PURE__ */ React88.createElement(Box14, { sx: { width: "100%" } }, /* @__PURE__ */ React88.createElement(Box14, { sx: { borderBottom: 1, borderColor: "divider" } }, /* @__PURE__ */ React88.createElement(
5213
+ return /* @__PURE__ */ React88.createElement(PopoverContent, null, /* @__PURE__ */ React88.createElement(Box15, { sx: { width: "100%" } }, /* @__PURE__ */ React88.createElement(Box15, { sx: { borderBottom: 1, borderColor: "divider" } }, /* @__PURE__ */ React88.createElement(
5220
5214
  Tabs2,
5221
5215
  {
5222
5216
  size: "small",
@@ -5256,7 +5250,7 @@ var TransformIcon = ({ value }) => {
5256
5250
 
5257
5251
  // src/controls/transform-control/transform-label.tsx
5258
5252
  import * as React90 from "react";
5259
- import { Box as Box15 } from "@elementor/ui";
5253
+ import { Box as Box16 } from "@elementor/ui";
5260
5254
  import { __ as __42 } from "@wordpress/i18n";
5261
5255
  var formatLabel = (value, functionType) => {
5262
5256
  return Object.values(value).map((axis) => {
@@ -5285,14 +5279,14 @@ var TransformLabel = (props) => {
5285
5279
  }
5286
5280
  };
5287
5281
  var Label2 = ({ label, value }) => {
5288
- return /* @__PURE__ */ React90.createElement(Box15, { component: "span" }, label, ": ", value);
5282
+ return /* @__PURE__ */ React90.createElement(Box16, { component: "span" }, label, ": ", value);
5289
5283
  };
5290
5284
 
5291
5285
  // src/controls/transform-control/transform-settings-control.tsx
5292
5286
  import * as React93 from "react";
5293
5287
  import { PopoverHeader as PopoverHeader3 } from "@elementor/editor-ui";
5294
5288
  import { AdjustmentsIcon } from "@elementor/icons";
5295
- import { bindPopover as bindPopover5, Box as Box16, Divider as Divider4, Popover as Popover5 } from "@elementor/ui";
5289
+ import { bindPopover as bindPopover5, Box as Box17, Divider as Divider4, Popover as Popover5 } from "@elementor/ui";
5296
5290
  import { __ as __45 } from "@wordpress/i18n";
5297
5291
 
5298
5292
  // src/controls/transform-control/transform-base-controls/children-perspective-control.tsx
@@ -5399,7 +5393,7 @@ var TransformSettingsControl = ({
5399
5393
  }
5400
5394
  ),
5401
5395
  /* @__PURE__ */ React93.createElement(Divider4, null),
5402
- /* @__PURE__ */ React93.createElement(PopoverContent, { sx: { px: 2, py: 1.5 } }, /* @__PURE__ */ React93.createElement(PropKeyProvider, { bind: "transform-origin" }, /* @__PURE__ */ React93.createElement(TransformOriginControl, null)), /* @__PURE__ */ React93.createElement(Box16, { sx: { my: 0.5 } }, /* @__PURE__ */ React93.createElement(Divider4, null)), /* @__PURE__ */ React93.createElement(ChildrenPerspectiveControl, null))
5396
+ /* @__PURE__ */ React93.createElement(PopoverContent, { sx: { px: 2, py: 1.5 } }, /* @__PURE__ */ React93.createElement(PropKeyProvider, { bind: "transform-origin" }, /* @__PURE__ */ React93.createElement(TransformOriginControl, null)), /* @__PURE__ */ React93.createElement(Box17, { sx: { my: 0.5 } }, /* @__PURE__ */ React93.createElement(Divider4, null)), /* @__PURE__ */ React93.createElement(ChildrenPerspectiveControl, null))
5403
5397
  );
5404
5398
  };
5405
5399
 
@@ -5412,7 +5406,7 @@ var TransformRepeaterControl = createControl(() => {
5412
5406
  return /* @__PURE__ */ React94.createElement(PropProvider, { ...context }, /* @__PURE__ */ React94.createElement(TransformSettingsControl, { popupState, anchorRef: headerRef }), /* @__PURE__ */ React94.createElement(PropKeyProvider, { bind: "transform-functions" }, /* @__PURE__ */ React94.createElement(Repeater2, { headerRef, propType: context.propType, popupState })));
5413
5407
  });
5414
5408
  var ToolTip = /* @__PURE__ */ React94.createElement(
5415
- Box17,
5409
+ Box18,
5416
5410
  {
5417
5411
  component: "span",
5418
5412
  "aria-label": void 0,
@@ -5485,7 +5479,7 @@ import {
5485
5479
  selectionSizePropTypeUtil as selectionSizePropTypeUtil2
5486
5480
  } from "@elementor/editor-props";
5487
5481
  import { InfoCircleFilledIcon as InfoCircleFilledIcon3 } from "@elementor/icons";
5488
- import { Alert as Alert2, AlertTitle as AlertTitle3, Box as Box19, Typography as Typography7 } from "@elementor/ui";
5482
+ import { Alert as Alert2, AlertTitle as AlertTitle3, Box as Box20, Typography as Typography7 } from "@elementor/ui";
5489
5483
  import { __ as __49 } from "@wordpress/i18n";
5490
5484
 
5491
5485
  // src/controls/selection-size-control.tsx
@@ -5574,7 +5568,7 @@ import * as React96 from "react";
5574
5568
  import { useRef as useRef23 } from "react";
5575
5569
  import { keyValuePropTypeUtil as keyValuePropTypeUtil2 } from "@elementor/editor-props";
5576
5570
  import { ChevronDownIcon as ChevronDownIcon3, VariationsIcon } from "@elementor/icons";
5577
- import { bindPopover as bindPopover6, bindTrigger as bindTrigger5, Box as Box18, Popover as Popover6, UnstableTag as UnstableTag3, usePopupState as usePopupState7 } from "@elementor/ui";
5571
+ import { bindPopover as bindPopover6, bindTrigger as bindTrigger5, Box as Box19, Popover as Popover6, UnstableTag as UnstableTag3, usePopupState as usePopupState7 } from "@elementor/ui";
5578
5572
  import { __ as __48 } from "@wordpress/i18n";
5579
5573
  var toTransitionSelectorValue = (label) => {
5580
5574
  for (const category of transitionProperties) {
@@ -5655,7 +5649,7 @@ var TransitionSelector = ({
5655
5649
  left: rect.right + 36
5656
5650
  };
5657
5651
  };
5658
- return /* @__PURE__ */ React96.createElement(Box18, { ref: defaultRef }, /* @__PURE__ */ React96.createElement(ControlActions, null, /* @__PURE__ */ React96.createElement(
5652
+ return /* @__PURE__ */ React96.createElement(Box19, { ref: defaultRef }, /* @__PURE__ */ React96.createElement(ControlActions, null, /* @__PURE__ */ React96.createElement(
5659
5653
  UnstableTag3,
5660
5654
  {
5661
5655
  variant: "outlined",
@@ -5797,7 +5791,7 @@ var disableAddItemTooltipContent = /* @__PURE__ */ React97.createElement(
5797
5791
  icon: /* @__PURE__ */ React97.createElement(InfoCircleFilledIcon3, null)
5798
5792
  },
5799
5793
  /* @__PURE__ */ React97.createElement(AlertTitle3, null, __49("Transitions", "elementor")),
5800
- /* @__PURE__ */ React97.createElement(Box19, { component: "span" }, /* @__PURE__ */ React97.createElement(Typography7, { variant: "body2" }, __49("Switch to 'Normal' state to add a transition.", "elementor")))
5794
+ /* @__PURE__ */ React97.createElement(Box20, { component: "span" }, /* @__PURE__ */ React97.createElement(Typography7, { variant: "body2" }, __49("Switch to 'Normal' state to add a transition.", "elementor")))
5801
5795
  );
5802
5796
  var TransitionRepeaterControl = createControl(
5803
5797
  ({
@@ -5859,7 +5853,7 @@ import * as React98 from "react";
5859
5853
  import * as dayjs from "dayjs";
5860
5854
  import { isTransformable as isTransformable2, stringPropTypeUtil as stringPropTypeUtil14 } from "@elementor/editor-props";
5861
5855
  import { DateTimePropTypeUtil } from "@elementor/editor-props";
5862
- import { Box as Box20, DatePicker, LocalizationProvider, TimePicker } from "@elementor/ui";
5856
+ import { Box as Box21, DatePicker, LocalizationProvider, TimePicker } from "@elementor/ui";
5863
5857
  var DATE_FORMAT = "YYYY-MM-DD";
5864
5858
  var TIME_FORMAT = "HH:mm";
5865
5859
  var DateTimeControl = createControl(({ inputDisabled }) => {
@@ -5903,7 +5897,7 @@ var DateTimeControl = createControl(({ inputDisabled }) => {
5903
5897
  const base = dayjs.default();
5904
5898
  return base.hour(h).minute(m).second(0).millisecond(0);
5905
5899
  };
5906
- return /* @__PURE__ */ React98.createElement(PropProvider, { ...propContext, value, setValue }, /* @__PURE__ */ React98.createElement(ControlActions, null, /* @__PURE__ */ React98.createElement(LocalizationProvider, null, /* @__PURE__ */ React98.createElement(Box20, { display: "flex", gap: 1, alignItems: "center" }, /* @__PURE__ */ React98.createElement(PropKeyProvider, { bind: "date" }, /* @__PURE__ */ React98.createElement(
5900
+ return /* @__PURE__ */ React98.createElement(PropProvider, { ...propContext, value, setValue }, /* @__PURE__ */ React98.createElement(ControlActions, null, /* @__PURE__ */ React98.createElement(LocalizationProvider, null, /* @__PURE__ */ React98.createElement(Box21, { display: "flex", gap: 1, alignItems: "center" }, /* @__PURE__ */ React98.createElement(PropKeyProvider, { bind: "date" }, /* @__PURE__ */ React98.createElement(
5907
5901
  DatePicker,
5908
5902
  {
5909
5903
  value: parseDateValue(stringPropTypeUtil14.extract(value?.date)),
@@ -5933,7 +5927,7 @@ var DateTimeControl = createControl(({ inputDisabled }) => {
5933
5927
  // src/controls/inline-editing-control.tsx
5934
5928
  import * as React102 from "react";
5935
5929
  import { htmlPropTypeUtil } from "@elementor/editor-props";
5936
- import { Box as Box23 } from "@elementor/ui";
5930
+ import { Box as Box24 } from "@elementor/ui";
5937
5931
 
5938
5932
  // src/components/inline-editor.tsx
5939
5933
  import * as React101 from "react";
@@ -5943,7 +5937,7 @@ import {
5943
5937
  useRef as useRef26,
5944
5938
  useState as useState19
5945
5939
  } from "react";
5946
- import { bindPopover as bindPopover8, Box as Box22, ClickAwayListener, Popover as Popover8, usePopupState as usePopupState9 } from "@elementor/ui";
5940
+ import { bindPopover as bindPopover8, Box as Box23, ClickAwayListener, Popover as Popover8, usePopupState as usePopupState9 } from "@elementor/ui";
5947
5941
  import Bold from "@tiptap/extension-bold";
5948
5942
  import Document from "@tiptap/extension-document";
5949
5943
  import HardBreak from "@tiptap/extension-hard-break";
@@ -5982,9 +5976,9 @@ import {
5982
5976
  UnderlineIcon
5983
5977
  } from "@elementor/icons";
5984
5978
  import {
5985
- Box as Box21,
5979
+ Box as Box22,
5986
5980
  IconButton as IconButton8,
5987
- ToggleButton as ToggleButton4,
5981
+ ToggleButton as ToggleButton3,
5988
5982
  ToggleButtonGroup as ToggleButtonGroup2,
5989
5983
  toggleButtonGroupClasses,
5990
5984
  Tooltip as Tooltip9,
@@ -5997,7 +5991,7 @@ import { __ as __51 } from "@wordpress/i18n";
5997
5991
  import * as React99 from "react";
5998
5992
  import { useEffect as useEffect9, useRef as useRef24 } from "react";
5999
5993
  import { ExternalLinkIcon } from "@elementor/icons";
6000
- import { bindPopover as bindPopover7, Popover as Popover7, Stack as Stack16, TextField as TextField8, ToggleButton as ToggleButton3 } from "@elementor/ui";
5994
+ import { bindPopover as bindPopover7, Popover as Popover7, Stack as Stack16, TextField as TextField8, ToggleButton as ToggleButton2 } from "@elementor/ui";
6001
5995
  import { __ as __50 } from "@wordpress/i18n";
6002
5996
  var UrlPopover = ({
6003
5997
  popupState,
@@ -6042,7 +6036,7 @@ var UrlPopover = ({
6042
6036
  InputProps: { sx: { borderRadius: "8px" } }
6043
6037
  }
6044
6038
  ), /* @__PURE__ */ React99.createElement(
6045
- ToggleButton3,
6039
+ ToggleButton2,
6046
6040
  {
6047
6041
  size: "tiny",
6048
6042
  value: "newTab",
@@ -6160,7 +6154,7 @@ var InlineEditorToolbar = ({ editor }) => {
6160
6154
  editor?.commands?.focus();
6161
6155
  }, [editor]);
6162
6156
  return /* @__PURE__ */ React100.createElement(
6163
- Box21,
6157
+ Box22,
6164
6158
  {
6165
6159
  ref: toolbarRef,
6166
6160
  sx: {
@@ -6199,7 +6193,7 @@ var InlineEditorToolbar = ({ editor }) => {
6199
6193
  }
6200
6194
  },
6201
6195
  formatButtonsList.map((button) => /* @__PURE__ */ React100.createElement(Tooltip9, { title: button.label, key: button.action, placement: "top" }, /* @__PURE__ */ React100.createElement(
6202
- ToggleButton4,
6196
+ ToggleButton3,
6203
6197
  {
6204
6198
  value: button.action,
6205
6199
  "aria-label": button.label,
@@ -6255,7 +6249,7 @@ var calcSelectionCenter = (view, container) => {
6255
6249
  return { left, top };
6256
6250
  };
6257
6251
  var Wrapper = ({ children, containerRef, editor, sx, onBlur }) => {
6258
- const wrappedChildren = /* @__PURE__ */ React101.createElement(Box22, { ref: containerRef, ...sx }, children);
6252
+ const wrappedChildren = /* @__PURE__ */ React101.createElement(Box23, { ref: containerRef, ...sx }, children);
6259
6253
  return onBlur ? /* @__PURE__ */ React101.createElement(
6260
6254
  ClickAwayListener,
6261
6255
  {
@@ -6423,7 +6417,7 @@ var InlineEditingControl = createControl(
6423
6417
  const { value, setValue } = useBoundProp(htmlPropTypeUtil);
6424
6418
  const handleChange = (newValue) => setValue(newValue);
6425
6419
  return /* @__PURE__ */ React102.createElement(ControlActions, null, /* @__PURE__ */ React102.createElement(
6426
- Box23,
6420
+ Box24,
6427
6421
  {
6428
6422
  sx: {
6429
6423
  p: 0.8,
@@ -6478,7 +6472,7 @@ import { CopyIcon as CopyIcon2, EyeIcon as EyeIcon2, EyeOffIcon as EyeOffIcon2,
6478
6472
  import {
6479
6473
  bindPopover as bindPopover9,
6480
6474
  bindTrigger as bindTrigger6,
6481
- Box as Box24,
6475
+ Box as Box25,
6482
6476
  IconButton as IconButton10,
6483
6477
  Infotip as Infotip4,
6484
6478
  Tooltip as Tooltip11,
@@ -6586,7 +6580,7 @@ var Repeater3 = ({
6586
6580
  color: "secondary",
6587
6581
  slotProps: { popper: { sx: { width: 300 } } }
6588
6582
  },
6589
- /* @__PURE__ */ React104.createElement(Box24, { sx: { ...isButtonDisabled ? { cursor: "not-allowed" } : {} } }, addButton)
6583
+ /* @__PURE__ */ React104.createElement(Box25, { sx: { ...isButtonDisabled ? { cursor: "not-allowed" } : {} } }, addButton)
6590
6584
  ) : addButton), 0 < uniqueKeys.length && /* @__PURE__ */ React104.createElement(SortableProvider, { value: uniqueKeys, onChange: onChangeOrder }, uniqueKeys.map((key) => {
6591
6585
  const index = uniqueKeys.indexOf(key);
6592
6586
  const value = items2[index];
@@ -6655,7 +6649,7 @@ var RepeaterItem = ({
6655
6649
  startIcon,
6656
6650
  actions: /* @__PURE__ */ React104.createElement(React104.Fragment, null, showDuplicate && /* @__PURE__ */ React104.createElement(Tooltip11, { title: duplicateLabel, placement: "top" }, /* @__PURE__ */ React104.createElement(IconButton10, { size: SIZE9, onClick: duplicateItem, "aria-label": duplicateLabel }, /* @__PURE__ */ React104.createElement(CopyIcon2, { fontSize: SIZE9 }))), showToggle && /* @__PURE__ */ React104.createElement(Tooltip11, { title: toggleLabel, placement: "top" }, /* @__PURE__ */ React104.createElement(IconButton10, { size: SIZE9, onClick: toggleDisableItem, "aria-label": toggleLabel }, propDisabled ? /* @__PURE__ */ React104.createElement(EyeOffIcon2, { fontSize: SIZE9 }) : /* @__PURE__ */ React104.createElement(EyeIcon2, { fontSize: SIZE9 }))), actions?.(value), showRemove && /* @__PURE__ */ React104.createElement(Tooltip11, { title: removeLabel, placement: "top" }, /* @__PURE__ */ React104.createElement(IconButton10, { size: SIZE9, onClick: removeItem, "aria-label": removeLabel }, /* @__PURE__ */ React104.createElement(XIcon4, { fontSize: SIZE9 }))))
6657
6651
  }
6658
- ), /* @__PURE__ */ React104.createElement(RepeaterPopover, { width: ref?.getBoundingClientRect().width, ...popoverProps, anchorEl: ref }, /* @__PURE__ */ React104.createElement(Box24, null, children({ anchorEl: ref }))));
6652
+ ), /* @__PURE__ */ React104.createElement(RepeaterPopover, { width: ref?.getBoundingClientRect().width, ...popoverProps, anchorEl: ref }, /* @__PURE__ */ React104.createElement(Box25, null, children({ anchorEl: ref }))));
6659
6653
  };
6660
6654
  var usePopover = (openOnMount, onOpen) => {
6661
6655
  const [ref, setRef] = useState20(null);