@elementor/editor-controls 4.3.0 → 4.3.2
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.d.mts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +247 -199
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +171 -123
- package/dist/index.mjs.map +1 -1
- package/package.json +16 -16
- package/src/controls/number-control.tsx +81 -25
- package/src/utils/number-value.ts +17 -0
package/dist/index.js
CHANGED
|
@@ -3022,8 +3022,24 @@ var ToggleControl = createControl(
|
|
|
3022
3022
|
|
|
3023
3023
|
// src/controls/number-control.tsx
|
|
3024
3024
|
var React57 = __toESM(require("react"));
|
|
3025
|
+
var import_react30 = require("react");
|
|
3025
3026
|
var import_editor_props19 = require("@elementor/editor-props");
|
|
3026
3027
|
var import_ui42 = require("@elementor/ui");
|
|
3028
|
+
|
|
3029
|
+
// src/utils/number-value.ts
|
|
3030
|
+
var isEmptyDraft = (raw) => raw.trim() === "";
|
|
3031
|
+
var parseNumberDraft = (raw, shouldForceInt = false) => {
|
|
3032
|
+
const trimmed = raw.trim();
|
|
3033
|
+
if (trimmed === "") {
|
|
3034
|
+
return null;
|
|
3035
|
+
}
|
|
3036
|
+
const parsed = shouldForceInt ? parseInt(trimmed, 10) : Number(trimmed);
|
|
3037
|
+
return Number.isFinite(parsed) ? parsed : null;
|
|
3038
|
+
};
|
|
3039
|
+
var isInRange = (value, min, max) => value >= min && value <= max;
|
|
3040
|
+
var clamp = (value, min, max) => Math.min(Math.max(value, min), max);
|
|
3041
|
+
|
|
3042
|
+
// src/controls/number-control.tsx
|
|
3027
3043
|
var isEmptyOrNaN = (value) => value === null || value === void 0 || value === "" || Number.isNaN(Number(value));
|
|
3028
3044
|
var renderSuffix = (propType) => {
|
|
3029
3045
|
if (propType.meta?.suffix) {
|
|
@@ -3034,31 +3050,63 @@ var renderSuffix = (propType) => {
|
|
|
3034
3050
|
var NumberControl = createControl(
|
|
3035
3051
|
({
|
|
3036
3052
|
placeholder: labelPlaceholder,
|
|
3037
|
-
max
|
|
3038
|
-
min
|
|
3039
|
-
step
|
|
3053
|
+
max: maxProp,
|
|
3054
|
+
min: minProp,
|
|
3055
|
+
step: stepProp,
|
|
3040
3056
|
shouldForceInt = false,
|
|
3041
3057
|
startIcon,
|
|
3042
3058
|
disabled: inputDisabled
|
|
3043
3059
|
}) => {
|
|
3060
|
+
const max = maxProp ?? Number.MAX_SAFE_INTEGER;
|
|
3061
|
+
const min = minProp ?? -Number.MAX_SAFE_INTEGER;
|
|
3062
|
+
const step = stepProp ?? 1;
|
|
3044
3063
|
const { value, setValue, placeholder, disabled, restoreValue, propType } = useBoundProp(import_editor_props19.numberPropTypeUtil);
|
|
3045
|
-
const
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3058
|
-
|
|
3064
|
+
const [draft, setDraft] = (0, import_react30.useState)(null);
|
|
3065
|
+
const committedNullOnInputRef = (0, import_react30.useRef)(false);
|
|
3066
|
+
const handleInput = (event) => {
|
|
3067
|
+
const raw = event.target.value;
|
|
3068
|
+
setDraft(raw);
|
|
3069
|
+
if (isEmptyDraft(raw)) {
|
|
3070
|
+
if (!propType.settings.required) {
|
|
3071
|
+
setValue(null);
|
|
3072
|
+
committedNullOnInputRef.current = true;
|
|
3073
|
+
}
|
|
3074
|
+
return;
|
|
3075
|
+
}
|
|
3076
|
+
committedNullOnInputRef.current = false;
|
|
3077
|
+
const parsed = parseNumberDraft(raw, shouldForceInt);
|
|
3078
|
+
if (parsed === null) {
|
|
3079
|
+
return;
|
|
3080
|
+
}
|
|
3081
|
+
if (isInRange(parsed, min, max)) {
|
|
3082
|
+
setValue(parsed);
|
|
3059
3083
|
}
|
|
3060
|
-
setValue(updatedValue, void 0, { validation: () => isInputValid });
|
|
3061
3084
|
};
|
|
3085
|
+
const handleBlur = () => {
|
|
3086
|
+
const raw = draft;
|
|
3087
|
+
const committedNullOnInput = committedNullOnInputRef.current;
|
|
3088
|
+
committedNullOnInputRef.current = false;
|
|
3089
|
+
setDraft(null);
|
|
3090
|
+
restoreValue();
|
|
3091
|
+
if (raw === null) {
|
|
3092
|
+
return;
|
|
3093
|
+
}
|
|
3094
|
+
if (isEmptyDraft(raw)) {
|
|
3095
|
+
if (!propType.settings.required && !committedNullOnInput) {
|
|
3096
|
+
setValue(null);
|
|
3097
|
+
}
|
|
3098
|
+
return;
|
|
3099
|
+
}
|
|
3100
|
+
const parsed = parseNumberDraft(raw, shouldForceInt);
|
|
3101
|
+
if (parsed === null) {
|
|
3102
|
+
return;
|
|
3103
|
+
}
|
|
3104
|
+
if (isInRange(parsed, min, max)) {
|
|
3105
|
+
return;
|
|
3106
|
+
}
|
|
3107
|
+
setValue(clamp(parsed, min, max));
|
|
3108
|
+
};
|
|
3109
|
+
const displayValue = draft ?? (isEmptyOrNaN(value) ? "" : String(value));
|
|
3062
3110
|
return /* @__PURE__ */ React57.createElement(ControlActions, null, /* @__PURE__ */ React57.createElement(
|
|
3063
3111
|
NumberInput,
|
|
3064
3112
|
{
|
|
@@ -3066,11 +3114,11 @@ var NumberControl = createControl(
|
|
|
3066
3114
|
type: "number",
|
|
3067
3115
|
fullWidth: true,
|
|
3068
3116
|
disabled: inputDisabled ?? disabled,
|
|
3069
|
-
value:
|
|
3070
|
-
onInput:
|
|
3071
|
-
onBlur:
|
|
3117
|
+
value: displayValue,
|
|
3118
|
+
onInput: handleInput,
|
|
3119
|
+
onBlur: handleBlur,
|
|
3072
3120
|
placeholder: labelPlaceholder ?? (isEmptyOrNaN(placeholder) ? "" : String(placeholder)),
|
|
3073
|
-
inputProps: { step, min },
|
|
3121
|
+
inputProps: { step, min, ...maxProp !== null && maxProp !== void 0 && { max } },
|
|
3074
3122
|
InputProps: {
|
|
3075
3123
|
startAdornment: startIcon ? /* @__PURE__ */ React57.createElement(import_ui42.InputAdornment, { position: "start", disabled: inputDisabled ?? disabled }, startIcon) : void 0,
|
|
3076
3124
|
endAdornment: renderSuffix(propType)
|
|
@@ -3082,7 +3130,7 @@ var NumberControl = createControl(
|
|
|
3082
3130
|
|
|
3083
3131
|
// src/controls/equal-unequal-sizes-control.tsx
|
|
3084
3132
|
var React58 = __toESM(require("react"));
|
|
3085
|
-
var
|
|
3133
|
+
var import_react31 = require("react");
|
|
3086
3134
|
var import_ui43 = require("@elementor/ui");
|
|
3087
3135
|
var import_i18n18 = require("@wordpress/i18n");
|
|
3088
3136
|
function EqualUnequalSizesControl({
|
|
@@ -3092,9 +3140,9 @@ function EqualUnequalSizesControl({
|
|
|
3092
3140
|
items: items2,
|
|
3093
3141
|
multiSizePropTypeUtil
|
|
3094
3142
|
}) {
|
|
3095
|
-
const popupId = (0,
|
|
3143
|
+
const popupId = (0, import_react31.useId)();
|
|
3096
3144
|
const popupState = (0, import_ui43.usePopupState)({ variant: "popover", popupId });
|
|
3097
|
-
const rowRefs = [(0,
|
|
3145
|
+
const rowRefs = [(0, import_react31.useRef)(null), (0, import_react31.useRef)(null)];
|
|
3098
3146
|
const { propType: multiSizePropType, disabled: multiSizeDisabled } = useBoundProp(multiSizePropTypeUtil);
|
|
3099
3147
|
const { value: masterValue, setValue: setMasterValue, placeholder: masterPlaceholder } = useBoundProp();
|
|
3100
3148
|
const getMultiSizeValues = (sourceValue) => {
|
|
@@ -3189,7 +3237,7 @@ var MultiSizeValueControl = ({ item, rowRef }) => {
|
|
|
3189
3237
|
|
|
3190
3238
|
// src/controls/linked-dimensions-control.tsx
|
|
3191
3239
|
var React65 = __toESM(require("react"));
|
|
3192
|
-
var
|
|
3240
|
+
var import_react39 = require("react");
|
|
3193
3241
|
var import_editor_props22 = require("@elementor/editor-props");
|
|
3194
3242
|
var import_editor_responsive4 = require("@elementor/editor-responsive");
|
|
3195
3243
|
var import_icons12 = require("@elementor/icons");
|
|
@@ -3198,12 +3246,12 @@ var import_i18n20 = require("@wordpress/i18n");
|
|
|
3198
3246
|
|
|
3199
3247
|
// src/controls/size-control/unstable-size-control.tsx
|
|
3200
3248
|
var React64 = __toESM(require("react"));
|
|
3201
|
-
var
|
|
3249
|
+
var import_react38 = require("react");
|
|
3202
3250
|
var import_editor_props21 = require("@elementor/editor-props");
|
|
3203
3251
|
|
|
3204
3252
|
// src/controls/size-control/size-component.tsx
|
|
3205
3253
|
var React63 = __toESM(require("react"));
|
|
3206
|
-
var
|
|
3254
|
+
var import_react37 = require("react");
|
|
3207
3255
|
var import_editor_responsive3 = require("@elementor/editor-responsive");
|
|
3208
3256
|
var import_ui47 = require("@elementor/ui");
|
|
3209
3257
|
|
|
@@ -3273,7 +3321,7 @@ var isNumericValue = (value) => {
|
|
|
3273
3321
|
};
|
|
3274
3322
|
|
|
3275
3323
|
// src/controls/size-control/hooks/use-size-value.ts
|
|
3276
|
-
var
|
|
3324
|
+
var import_react33 = require("react");
|
|
3277
3325
|
|
|
3278
3326
|
// src/controls/size-control/utils/resolve-size-value.ts
|
|
3279
3327
|
var DEFAULT_SIZE2 = "";
|
|
@@ -3325,10 +3373,10 @@ var sanitizeSize = (size) => {
|
|
|
3325
3373
|
};
|
|
3326
3374
|
|
|
3327
3375
|
// src/controls/size-control/hooks/use-unit-sync.ts
|
|
3328
|
-
var
|
|
3376
|
+
var import_react32 = require("react");
|
|
3329
3377
|
var useUnitSync = ({ sizeValue, setUnit, persistWhen }) => {
|
|
3330
|
-
const [state, setState] = (0,
|
|
3331
|
-
(0,
|
|
3378
|
+
const [state, setState] = (0, import_react32.useState)(sizeValue.unit);
|
|
3379
|
+
(0, import_react32.useEffect)(() => {
|
|
3332
3380
|
if (sizeValue.unit !== state) {
|
|
3333
3381
|
setState(sizeValue.unit);
|
|
3334
3382
|
}
|
|
@@ -3349,7 +3397,7 @@ var useSizeValue = ({
|
|
|
3349
3397
|
units: units2,
|
|
3350
3398
|
defaultUnit
|
|
3351
3399
|
}) => {
|
|
3352
|
-
const resolvedValue = (0,
|
|
3400
|
+
const resolvedValue = (0, import_react33.useMemo)(
|
|
3353
3401
|
() => resolveSizeValue(value, { units: units2, defaultUnit }),
|
|
3354
3402
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3355
3403
|
[value?.size, value?.unit, defaultUnit]
|
|
@@ -3401,8 +3449,8 @@ var hasChanged = (next, current) => {
|
|
|
3401
3449
|
|
|
3402
3450
|
// src/controls/size-control/ui/size-input.tsx
|
|
3403
3451
|
var React59 = __toESM(require("react"));
|
|
3404
|
-
var
|
|
3405
|
-
var SizeInput2 = (0,
|
|
3452
|
+
var import_react34 = require("react");
|
|
3453
|
+
var SizeInput2 = (0, import_react34.forwardRef)(
|
|
3406
3454
|
({
|
|
3407
3455
|
id,
|
|
3408
3456
|
type,
|
|
@@ -3446,7 +3494,7 @@ var getCursorStyle = (readOnly) => ({
|
|
|
3446
3494
|
|
|
3447
3495
|
// src/controls/size-control/ui/unit-selector.tsx
|
|
3448
3496
|
var React60 = __toESM(require("react"));
|
|
3449
|
-
var
|
|
3497
|
+
var import_react35 = require("react");
|
|
3450
3498
|
var import_editor_ui5 = require("@elementor/editor-ui");
|
|
3451
3499
|
var import_ui44 = require("@elementor/ui");
|
|
3452
3500
|
var menuItemContentStyles = {
|
|
@@ -3465,7 +3513,7 @@ var UnitSelector = ({
|
|
|
3465
3513
|
}) => {
|
|
3466
3514
|
const popupState = (0, import_ui44.usePopupState)({
|
|
3467
3515
|
variant: "popover",
|
|
3468
|
-
popupId: (0,
|
|
3516
|
+
popupId: (0, import_react35.useId)()
|
|
3469
3517
|
});
|
|
3470
3518
|
const handleMenuItemClick = (option) => {
|
|
3471
3519
|
onSelect(option);
|
|
@@ -3590,15 +3638,15 @@ var shouldHighlightUnit = (value) => {
|
|
|
3590
3638
|
|
|
3591
3639
|
// src/controls/size-control/ui/text-field-popover.tsx
|
|
3592
3640
|
var React62 = __toESM(require("react"));
|
|
3593
|
-
var
|
|
3641
|
+
var import_react36 = require("react");
|
|
3594
3642
|
var import_editor_ui6 = require("@elementor/editor-ui");
|
|
3595
3643
|
var import_icons11 = require("@elementor/icons");
|
|
3596
3644
|
var import_ui46 = require("@elementor/ui");
|
|
3597
3645
|
var import_i18n19 = require("@wordpress/i18n");
|
|
3598
3646
|
var SIZE7 = "tiny";
|
|
3599
3647
|
var TextFieldPopover2 = ({ popupState, anchorRef, value, onChange, onClose }) => {
|
|
3600
|
-
const inputRef = (0,
|
|
3601
|
-
(0,
|
|
3648
|
+
const inputRef = (0, import_react36.useRef)(null);
|
|
3649
|
+
(0, import_react36.useEffect)(() => {
|
|
3602
3650
|
if (popupState.isOpen) {
|
|
3603
3651
|
requestAnimationFrame(() => {
|
|
3604
3652
|
if (inputRef.current) {
|
|
@@ -3665,7 +3713,7 @@ var SizeComponent = ({ anchorRef, SizeFieldWrapper = React63.Fragment, ...sizeFi
|
|
|
3665
3713
|
const activeBreakpoint = (0, import_editor_responsive3.useActiveBreakpoint)();
|
|
3666
3714
|
const isCustomUnit = sizeFieldProps?.value?.unit === EXTENDED_UNITS.custom;
|
|
3667
3715
|
const hasCustomUnitOption = sizeFieldProps.units.includes(EXTENDED_UNITS.custom);
|
|
3668
|
-
(0,
|
|
3716
|
+
(0, import_react37.useEffect)(() => {
|
|
3669
3717
|
if (popupState && popupState.isOpen) {
|
|
3670
3718
|
popupState.close();
|
|
3671
3719
|
}
|
|
@@ -3797,7 +3845,7 @@ var UnstableSizeControl = createControl(
|
|
|
3797
3845
|
placeholder: boundPropPlaceholder,
|
|
3798
3846
|
restoreValue
|
|
3799
3847
|
} = useBoundProp(import_editor_props21.sizePropTypeUtil);
|
|
3800
|
-
const lastNonAutoValue = (0,
|
|
3848
|
+
const lastNonAutoValue = (0, import_react38.useRef)(null);
|
|
3801
3849
|
const { sizeValue, placeholder } = resolveBoundPropValue(
|
|
3802
3850
|
value ?? lastNonAutoValue.current,
|
|
3803
3851
|
boundPropPlaceholder,
|
|
@@ -3854,7 +3902,7 @@ var isTransitioningFromExtendedUnit = (nextValue, previousValue) => {
|
|
|
3854
3902
|
|
|
3855
3903
|
// src/controls/linked-dimensions-control.tsx
|
|
3856
3904
|
var LinkedDimensionsControl = ({ label, isSiteRtl = false, min }) => {
|
|
3857
|
-
const gridRowRefs = [(0,
|
|
3905
|
+
const gridRowRefs = [(0, import_react39.useRef)(null), (0, import_react39.useRef)(null)];
|
|
3858
3906
|
const { disabled: sizeDisabled } = useBoundProp(import_editor_props22.sizePropTypeUtil);
|
|
3859
3907
|
const {
|
|
3860
3908
|
value: dimensionsValue,
|
|
@@ -3873,10 +3921,10 @@ var LinkedDimensionsControl = ({ label, isSiteRtl = false, min }) => {
|
|
|
3873
3921
|
}
|
|
3874
3922
|
return true;
|
|
3875
3923
|
};
|
|
3876
|
-
const [isLinked, setIsLinked] = (0,
|
|
3924
|
+
const [isLinked, setIsLinked] = (0, import_react39.useState)(() => inferIsLinked());
|
|
3877
3925
|
const activeBreakpoint = (0, import_editor_responsive4.useActiveBreakpoint)();
|
|
3878
3926
|
const isCurrentlyDimensions = import_editor_props22.dimensionsPropTypeUtil.isValid(masterValue ?? masterPlaceholder);
|
|
3879
|
-
(0,
|
|
3927
|
+
(0, import_react39.useLayoutEffect)(() => {
|
|
3880
3928
|
setIsLinked(inferIsLinked);
|
|
3881
3929
|
}, [activeBreakpoint, isCurrentlyDimensions]);
|
|
3882
3930
|
const onLinkToggle = () => {
|
|
@@ -4047,7 +4095,7 @@ function getCssDimensionProps(label, isSiteRtl) {
|
|
|
4047
4095
|
|
|
4048
4096
|
// src/controls/font-family-control/font-family-control.tsx
|
|
4049
4097
|
var React67 = __toESM(require("react"));
|
|
4050
|
-
var
|
|
4098
|
+
var import_react41 = require("react");
|
|
4051
4099
|
var import_editor_props23 = require("@elementor/editor-props");
|
|
4052
4100
|
var import_icons13 = require("@elementor/icons");
|
|
4053
4101
|
var import_ui50 = require("@elementor/ui");
|
|
@@ -4055,7 +4103,7 @@ var import_i18n22 = require("@wordpress/i18n");
|
|
|
4055
4103
|
|
|
4056
4104
|
// src/components/item-selector.tsx
|
|
4057
4105
|
var React66 = __toESM(require("react"));
|
|
4058
|
-
var
|
|
4106
|
+
var import_react40 = require("react");
|
|
4059
4107
|
var import_editor_ui7 = require("@elementor/editor-ui");
|
|
4060
4108
|
var import_ui49 = require("@elementor/ui");
|
|
4061
4109
|
var import_utils3 = require("@elementor/utils");
|
|
@@ -4094,7 +4142,7 @@ var ItemSelector = ({
|
|
|
4094
4142
|
footer,
|
|
4095
4143
|
categoryItemContentTemplate
|
|
4096
4144
|
}) => {
|
|
4097
|
-
const [searchValue, setSearchValue] = (0,
|
|
4145
|
+
const [searchValue, setSearchValue] = (0, import_react40.useState)("");
|
|
4098
4146
|
const filteredItemsList = useFilteredItemsList(itemsList, searchValue, disabledItems);
|
|
4099
4147
|
const IconComponent = icon;
|
|
4100
4148
|
const handleSearch = (value) => {
|
|
@@ -4192,7 +4240,7 @@ var ItemList = ({
|
|
|
4192
4240
|
}
|
|
4193
4241
|
});
|
|
4194
4242
|
}, 100);
|
|
4195
|
-
const memoizedItemStyle = (0,
|
|
4243
|
+
const memoizedItemStyle = (0, import_react40.useCallback)((item) => itemStyle(item), [itemStyle]);
|
|
4196
4244
|
return /* @__PURE__ */ React66.createElement(
|
|
4197
4245
|
import_editor_ui7.PopoverMenuList,
|
|
4198
4246
|
{
|
|
@@ -4208,8 +4256,8 @@ var ItemList = ({
|
|
|
4208
4256
|
);
|
|
4209
4257
|
};
|
|
4210
4258
|
var useDebounce = (fn, delay) => {
|
|
4211
|
-
const [debouncedFn] = (0,
|
|
4212
|
-
(0,
|
|
4259
|
+
const [debouncedFn] = (0, import_react40.useState)(() => (0, import_utils3.debounce)(fn, delay));
|
|
4260
|
+
(0, import_react40.useEffect)(() => () => debouncedFn.cancel(), [debouncedFn]);
|
|
4213
4261
|
return debouncedFn;
|
|
4214
4262
|
};
|
|
4215
4263
|
|
|
@@ -4230,7 +4278,7 @@ var FontFamilyControl = createControl(
|
|
|
4230
4278
|
} = useBoundProp(import_editor_props23.fontFamilyPropTypeUtil);
|
|
4231
4279
|
const popoverState = (0, import_ui50.usePopupState)({ variant: "popover" });
|
|
4232
4280
|
const isShowingPlaceholder = !fontFamily && placeholder;
|
|
4233
|
-
const mapFontSubs = (0,
|
|
4281
|
+
const mapFontSubs = (0, import_react41.useMemo)(() => {
|
|
4234
4282
|
return fontFamilies.map(({ label, fonts }) => ({
|
|
4235
4283
|
label,
|
|
4236
4284
|
items: fonts
|
|
@@ -4311,7 +4359,7 @@ var UrlControl = createControl(
|
|
|
4311
4359
|
|
|
4312
4360
|
// src/controls/link-control.tsx
|
|
4313
4361
|
var React73 = __toESM(require("react"));
|
|
4314
|
-
var
|
|
4362
|
+
var import_react44 = require("react");
|
|
4315
4363
|
var import_editor_elements2 = require("@elementor/editor-elements");
|
|
4316
4364
|
var import_editor_props28 = require("@elementor/editor-props");
|
|
4317
4365
|
var import_editor_v1_adapters = require("@elementor/editor-v1-adapters");
|
|
@@ -4405,10 +4453,10 @@ var import_i18n24 = require("@wordpress/i18n");
|
|
|
4405
4453
|
|
|
4406
4454
|
// src/components/autocomplete.tsx
|
|
4407
4455
|
var React70 = __toESM(require("react"));
|
|
4408
|
-
var
|
|
4456
|
+
var import_react42 = require("react");
|
|
4409
4457
|
var import_icons15 = require("@elementor/icons");
|
|
4410
4458
|
var import_ui53 = require("@elementor/ui");
|
|
4411
|
-
var Autocomplete2 = (0,
|
|
4459
|
+
var Autocomplete2 = (0, import_react42.forwardRef)((props, ref) => {
|
|
4412
4460
|
const {
|
|
4413
4461
|
options,
|
|
4414
4462
|
onOptionChange,
|
|
@@ -4529,7 +4577,7 @@ function factoryFilter(newValue, options, minInputLength) {
|
|
|
4529
4577
|
}
|
|
4530
4578
|
|
|
4531
4579
|
// src/hooks/use-query-autocomplete.ts
|
|
4532
|
-
var
|
|
4580
|
+
var import_react43 = require("react");
|
|
4533
4581
|
var import_editor_props25 = require("@elementor/editor-props");
|
|
4534
4582
|
var import_http_client2 = require("@elementor/http-client");
|
|
4535
4583
|
var import_utils4 = require("@elementor/utils");
|
|
@@ -4540,11 +4588,11 @@ function useQueryAutocomplete({
|
|
|
4540
4588
|
initialQueryValue = null,
|
|
4541
4589
|
excludeIds
|
|
4542
4590
|
}) {
|
|
4543
|
-
const excludeIdSet = (0,
|
|
4544
|
-
const [options, setOptions] = (0,
|
|
4591
|
+
const excludeIdSet = (0, import_react43.useMemo)(() => new Set((excludeIds ?? []).map(String)), [excludeIds]);
|
|
4592
|
+
const [options, setOptions] = (0, import_react43.useState)(
|
|
4545
4593
|
generateFirstLoadedOption(initialQueryValue)
|
|
4546
4594
|
);
|
|
4547
|
-
const debounceFetch = (0,
|
|
4595
|
+
const debounceFetch = (0, import_react43.useMemo)(
|
|
4548
4596
|
() => (0, import_utils4.debounce)(
|
|
4549
4597
|
(queryParams) => fetchOptions(url, queryParams).then((newOptions) => {
|
|
4550
4598
|
setOptions(formatOptions(filterExcludedOptions(newOptions, excludeIdSet)));
|
|
@@ -4553,7 +4601,7 @@ function useQueryAutocomplete({
|
|
|
4553
4601
|
),
|
|
4554
4602
|
[url, excludeIdSet]
|
|
4555
4603
|
);
|
|
4556
|
-
(0,
|
|
4604
|
+
(0, import_react43.useEffect)(() => {
|
|
4557
4605
|
if (minInputLength === 0 && url) {
|
|
4558
4606
|
fetchOptions(url, { ...params, term: "" }).then((newOptions) => {
|
|
4559
4607
|
setOptions(formatOptions(filterExcludedOptions(newOptions, excludeIdSet)));
|
|
@@ -4699,7 +4747,7 @@ var LinkControl = createControl((props) => {
|
|
|
4699
4747
|
const { value, path, setValue, ...propContext } = useBoundProp(import_editor_props28.linkPropTypeUtil);
|
|
4700
4748
|
const linkPlaceholder = propContext.placeholder;
|
|
4701
4749
|
const [linkSessionValue, setLinkSessionValue] = (0, import_session.useSessionStorage)(path.join("/"));
|
|
4702
|
-
const [isActive, setIsActive] = (0,
|
|
4750
|
+
const [isActive, setIsActive] = (0, import_react44.useState)(!!value || !!linkPlaceholder);
|
|
4703
4751
|
const {
|
|
4704
4752
|
allowCustomValues = true,
|
|
4705
4753
|
queryOptions,
|
|
@@ -4709,7 +4757,7 @@ var LinkControl = createControl((props) => {
|
|
|
4709
4757
|
label = (0, import_i18n25.__)("Link", "elementor"),
|
|
4710
4758
|
ariaLabel
|
|
4711
4759
|
} = props || {};
|
|
4712
|
-
const [linkInLinkRestriction, setLinkInLinkRestriction] = (0,
|
|
4760
|
+
const [linkInLinkRestriction, setLinkInLinkRestriction] = (0, import_react44.useState)(
|
|
4713
4761
|
(0, import_editor_elements2.getLinkInLinkRestriction)(elementId, value ?? linkPlaceholder)
|
|
4714
4762
|
);
|
|
4715
4763
|
const shouldDisableAddingLink = !isActive && linkInLinkRestriction.shouldRestrict;
|
|
@@ -4736,7 +4784,7 @@ var LinkControl = createControl((props) => {
|
|
|
4736
4784
|
},
|
|
4737
4785
|
[debouncedSyncLinkRestriction]
|
|
4738
4786
|
);
|
|
4739
|
-
(0,
|
|
4787
|
+
(0, import_react44.useEffect)(() => {
|
|
4740
4788
|
debouncedSyncLinkRestriction();
|
|
4741
4789
|
const handleInlineLinkChanged = () => {
|
|
4742
4790
|
debouncedSyncLinkRestriction();
|
|
@@ -4915,7 +4963,7 @@ var HtmlTagControl = createControl((props) => {
|
|
|
4915
4963
|
|
|
4916
4964
|
// src/controls/query-chips-control.tsx
|
|
4917
4965
|
var React76 = __toESM(require("react"));
|
|
4918
|
-
var
|
|
4966
|
+
var import_react45 = require("react");
|
|
4919
4967
|
var import_editor_props30 = require("@elementor/editor-props");
|
|
4920
4968
|
var import_ui59 = require("@elementor/ui");
|
|
4921
4969
|
var import_i18n27 = require("@wordpress/i18n");
|
|
@@ -4924,8 +4972,8 @@ var SIZE9 = "tiny";
|
|
|
4924
4972
|
var QueryChipsControl = createControl((props) => {
|
|
4925
4973
|
const { queryOptions, placeholder, minInputLength = 2 } = props;
|
|
4926
4974
|
const { value, setValue, disabled } = useBoundProp(queryArrayPropTypeUtil);
|
|
4927
|
-
const selectedChips = (0,
|
|
4928
|
-
const excludeIds = (0,
|
|
4975
|
+
const selectedChips = (0, import_react45.useMemo)(() => extractChips(value), [value]);
|
|
4976
|
+
const excludeIds = (0, import_react45.useMemo)(
|
|
4929
4977
|
() => selectedChips.map((chip) => Number(chip.id)).filter((id) => Number.isFinite(id)),
|
|
4930
4978
|
[selectedChips]
|
|
4931
4979
|
);
|
|
@@ -4985,7 +5033,7 @@ function extractChips(value) {
|
|
|
4985
5033
|
|
|
4986
5034
|
// src/controls/query-filter-repeater-control.tsx
|
|
4987
5035
|
var React77 = __toESM(require("react"));
|
|
4988
|
-
var
|
|
5036
|
+
var import_react46 = require("react");
|
|
4989
5037
|
var import_editor_elements4 = require("@elementor/editor-elements");
|
|
4990
5038
|
var import_editor_props31 = require("@elementor/editor-props");
|
|
4991
5039
|
var import_icons18 = require("@elementor/icons");
|
|
@@ -5000,16 +5048,16 @@ var QueryFilterRepeaterControl = createControl(
|
|
|
5000
5048
|
}) => {
|
|
5001
5049
|
const { propType, value, setValue } = useBoundProp(import_editor_props31.queryFilterArrayPropTypeUtil);
|
|
5002
5050
|
const { settings } = (0, import_editor_elements4.useSelectedElementSettings)();
|
|
5003
|
-
const visibleKeys = (0,
|
|
5051
|
+
const visibleKeys = (0, import_react46.useMemo)(
|
|
5004
5052
|
() => allowedKeys.filter((key) => isKeyVisible(keyConfig[key]?.visibleWhen, settings)),
|
|
5005
5053
|
[allowedKeys, keyConfig, settings]
|
|
5006
5054
|
);
|
|
5007
|
-
const usedKeys = (0,
|
|
5008
|
-
const nextAvailableKey = (0,
|
|
5055
|
+
const usedKeys = (0, import_react46.useMemo)(() => getUsedKeys(value ?? []), [value]);
|
|
5056
|
+
const nextAvailableKey = (0, import_react46.useMemo)(
|
|
5009
5057
|
() => visibleKeys.find((key) => !usedKeys.has(key)) ?? null,
|
|
5010
5058
|
[visibleKeys, usedKeys]
|
|
5011
5059
|
);
|
|
5012
|
-
const getKeySelectOptions = (0,
|
|
5060
|
+
const getKeySelectOptions = (0, import_react46.useMemo)(
|
|
5013
5061
|
() => (currentKey) => visibleKeys.map((itemKey) => ({
|
|
5014
5062
|
value: itemKey,
|
|
5015
5063
|
label: keyConfig[itemKey]?.label ?? itemKey,
|
|
@@ -5017,7 +5065,7 @@ var QueryFilterRepeaterControl = createControl(
|
|
|
5017
5065
|
})),
|
|
5018
5066
|
[visibleKeys, keyConfig, usedKeys]
|
|
5019
5067
|
);
|
|
5020
|
-
const initialFallback = (0,
|
|
5068
|
+
const initialFallback = (0, import_react46.useMemo)(() => createItemForKey(visibleKeys[0] ?? ""), [visibleKeys]);
|
|
5021
5069
|
return /* @__PURE__ */ React77.createElement(PropProvider, { propType, value, setValue }, /* @__PURE__ */ React77.createElement(ControlRepeater, { initial: initialFallback, propTypeUtil: import_editor_props31.queryFilterArrayPropTypeUtil }, /* @__PURE__ */ React77.createElement(RepeaterHeader, { label }, /* @__PURE__ */ React77.createElement(AddFilterItemAction, { nextAvailableKey, ariaLabel: label })), /* @__PURE__ */ React77.createElement(ItemsContainer, { isSortable: false }, /* @__PURE__ */ React77.createElement(
|
|
5022
5070
|
Item,
|
|
5023
5071
|
{
|
|
@@ -5081,7 +5129,7 @@ var ItemContent = ({
|
|
|
5081
5129
|
chipsPlaceholder
|
|
5082
5130
|
}) => {
|
|
5083
5131
|
const propContext = useBoundProp(import_editor_props31.queryFilterPropTypeUtil);
|
|
5084
|
-
const snapshotsByKeyRef = (0,
|
|
5132
|
+
const snapshotsByKeyRef = (0, import_react46.useRef)({});
|
|
5085
5133
|
const handleValueChange = (nextValue, options, meta) => {
|
|
5086
5134
|
if (meta?.bind !== "key") {
|
|
5087
5135
|
propContext.setValue(nextValue, options, meta);
|
|
@@ -5109,7 +5157,7 @@ var ItemContent = ({
|
|
|
5109
5157
|
const currentKey = import_editor_props31.stringPropTypeUtil.extract(propContext.value?.key);
|
|
5110
5158
|
const currentKeyConfig = currentKey ? keyConfig[currentKey] : void 0;
|
|
5111
5159
|
const valueType = currentKeyConfig?.valueType ?? "chips";
|
|
5112
|
-
const keySelectOptions = (0,
|
|
5160
|
+
const keySelectOptions = (0, import_react46.useMemo)(() => getKeySelectOptions(currentKey), [getKeySelectOptions, currentKey]);
|
|
5113
5161
|
return /* @__PURE__ */ React77.createElement(PopoverContent, { p: 1.5 }, /* @__PURE__ */ React77.createElement(PropProvider, { ...propContext, setValue: handleValueChange }, /* @__PURE__ */ React77.createElement(PopoverGridContainer, { flexWrap: "wrap" }, /* @__PURE__ */ React77.createElement(import_ui60.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React77.createElement(ControlFormLabel, null, (0, import_i18n28.__)("Type", "elementor"))), /* @__PURE__ */ React77.createElement(import_ui60.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React77.createElement(PropKeyProvider, { bind: "key" }, /* @__PURE__ */ React77.createElement(SelectControl, { options: keySelectOptions })))), valueType === "taxonomies" && currentKeyConfig?.staticOptions && /* @__PURE__ */ React77.createElement(PopoverGridContainer, { flexWrap: "wrap" }, /* @__PURE__ */ React77.createElement(import_ui60.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React77.createElement(ControlFormLabel, null, currentKeyConfig.label)), /* @__PURE__ */ React77.createElement(import_ui60.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React77.createElement(PropKeyProvider, { bind: "taxonomies" }, /* @__PURE__ */ React77.createElement(ChipsControl, { options: currentKeyConfig.staticOptions })))), valueType !== "taxonomies" && currentKeyConfig?.queryEndpoint && /* @__PURE__ */ React77.createElement(PopoverGridContainer, { flexWrap: "wrap" }, /* @__PURE__ */ React77.createElement(import_ui60.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React77.createElement(ControlFormLabel, null, currentKeyConfig.label)), /* @__PURE__ */ React77.createElement(import_ui60.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React77.createElement(PropKeyProvider, { bind: "values" }, /* @__PURE__ */ React77.createElement(
|
|
5114
5162
|
QueryChipsControl,
|
|
5115
5163
|
{
|
|
@@ -5153,14 +5201,14 @@ function getUsedKeys(items2) {
|
|
|
5153
5201
|
|
|
5154
5202
|
// src/controls/gap-control.tsx
|
|
5155
5203
|
var React78 = __toESM(require("react"));
|
|
5156
|
-
var
|
|
5204
|
+
var import_react47 = require("react");
|
|
5157
5205
|
var import_editor_props32 = require("@elementor/editor-props");
|
|
5158
5206
|
var import_editor_responsive5 = require("@elementor/editor-responsive");
|
|
5159
5207
|
var import_icons19 = require("@elementor/icons");
|
|
5160
5208
|
var import_ui61 = require("@elementor/ui");
|
|
5161
5209
|
var import_i18n29 = require("@wordpress/i18n");
|
|
5162
5210
|
var GapControl = ({ label }) => {
|
|
5163
|
-
const stackRef = (0,
|
|
5211
|
+
const stackRef = (0, import_react47.useRef)(null);
|
|
5164
5212
|
const { disabled: sizeDisabled } = useBoundProp(import_editor_props32.sizePropTypeUtil);
|
|
5165
5213
|
const {
|
|
5166
5214
|
value: directionValue,
|
|
@@ -5179,10 +5227,10 @@ var GapControl = ({ label }) => {
|
|
|
5179
5227
|
}
|
|
5180
5228
|
return true;
|
|
5181
5229
|
};
|
|
5182
|
-
const [isLinked, setIsLinked] = (0,
|
|
5230
|
+
const [isLinked, setIsLinked] = (0, import_react47.useState)(() => inferIsLinked());
|
|
5183
5231
|
const isCurrentlyDirection = import_editor_props32.layoutDirectionPropTypeUtil.isValid(masterValue ?? masterPlaceholder);
|
|
5184
5232
|
const activeBreakpoint = (0, import_editor_responsive5.useActiveBreakpoint)();
|
|
5185
|
-
(0,
|
|
5233
|
+
(0, import_react47.useLayoutEffect)(() => {
|
|
5186
5234
|
setIsLinked(inferIsLinked());
|
|
5187
5235
|
}, [activeBreakpoint, isCurrentlyDirection]);
|
|
5188
5236
|
const onLinkToggle = () => {
|
|
@@ -5275,7 +5323,7 @@ var Control4 = ({
|
|
|
5275
5323
|
|
|
5276
5324
|
// src/controls/aspect-ratio-control.tsx
|
|
5277
5325
|
var React79 = __toESM(require("react"));
|
|
5278
|
-
var
|
|
5326
|
+
var import_react48 = require("react");
|
|
5279
5327
|
var import_editor_props33 = require("@elementor/editor-props");
|
|
5280
5328
|
var import_editor_ui10 = require("@elementor/editor-ui");
|
|
5281
5329
|
var import_icons20 = require("@elementor/icons");
|
|
@@ -5302,13 +5350,13 @@ var AspectRatioControl = createControl(({ label }) => {
|
|
|
5302
5350
|
const aspectRatioValue = currentPropValue ?? externalPlaceholder;
|
|
5303
5351
|
const isCustomSelected = aspectRatioValue && !RATIO_OPTIONS.some((option) => option.value === aspectRatioValue);
|
|
5304
5352
|
const [initialWidth, initialHeight] = isCustomSelected ? aspectRatioValue.split("/") : ["", ""];
|
|
5305
|
-
const [isCustom, setIsCustom] = (0,
|
|
5306
|
-
const [customWidth, setCustomWidth] = (0,
|
|
5307
|
-
const [customHeight, setCustomHeight] = (0,
|
|
5308
|
-
const [selectedValue, setSelectedValue] = (0,
|
|
5353
|
+
const [isCustom, setIsCustom] = (0, import_react48.useState)(isCustomSelected);
|
|
5354
|
+
const [customWidth, setCustomWidth] = (0, import_react48.useState)(initialWidth);
|
|
5355
|
+
const [customHeight, setCustomHeight] = (0, import_react48.useState)(initialHeight);
|
|
5356
|
+
const [selectedValue, setSelectedValue] = (0, import_react48.useState)(
|
|
5309
5357
|
isCustomSelected ? CUSTOM_RATIO : aspectRatioValue || ""
|
|
5310
5358
|
);
|
|
5311
|
-
(0,
|
|
5359
|
+
(0, import_react48.useEffect)(() => {
|
|
5312
5360
|
const isCustomValue = aspectRatioValue && !RATIO_OPTIONS.some((option) => option.value === aspectRatioValue);
|
|
5313
5361
|
if (isCustomValue) {
|
|
5314
5362
|
const [width, height] = aspectRatioValue.split("/");
|
|
@@ -5395,7 +5443,7 @@ var AspectRatioControl = createControl(({ label }) => {
|
|
|
5395
5443
|
|
|
5396
5444
|
// src/controls/svg-media-control.tsx
|
|
5397
5445
|
var React88 = __toESM(require("react"));
|
|
5398
|
-
var
|
|
5446
|
+
var import_react54 = require("react");
|
|
5399
5447
|
var import_editor_current_user = require("@elementor/editor-current-user");
|
|
5400
5448
|
var import_editor_props35 = require("@elementor/editor-props");
|
|
5401
5449
|
var import_ui70 = require("@elementor/ui");
|
|
@@ -5404,7 +5452,7 @@ var import_i18n38 = require("@wordpress/i18n");
|
|
|
5404
5452
|
|
|
5405
5453
|
// src/components/enable-unfiltered-modal.tsx
|
|
5406
5454
|
var React80 = __toESM(require("react"));
|
|
5407
|
-
var
|
|
5455
|
+
var import_react49 = require("react");
|
|
5408
5456
|
var import_ui63 = require("@elementor/ui");
|
|
5409
5457
|
var import_i18n31 = require("@wordpress/i18n");
|
|
5410
5458
|
var ADMIN_TITLE_TEXT = (0, import_i18n31.__)("Enable Unfiltered Uploads", "elementor");
|
|
@@ -5420,7 +5468,7 @@ var ADMIN_FAILED_CONTENT_TEXT_PT2 = (0, import_i18n31.__)(
|
|
|
5420
5468
|
var WAIT_FOR_CLOSE_TIMEOUT_MS = 300;
|
|
5421
5469
|
var EnableUnfilteredModal = (props) => {
|
|
5422
5470
|
const { mutateAsync, isPending } = useUpdateUnfilteredFilesUpload();
|
|
5423
|
-
const [isError, setIsError] = (0,
|
|
5471
|
+
const [isError, setIsError] = (0, import_react49.useState)(false);
|
|
5424
5472
|
const onClose = (enabled) => {
|
|
5425
5473
|
props.onClose(enabled);
|
|
5426
5474
|
setTimeout(() => setIsError(false), WAIT_FOR_CLOSE_TIMEOUT_MS);
|
|
@@ -5469,7 +5517,7 @@ function measureIconLibraryAnchor(container, buttonGroup) {
|
|
|
5469
5517
|
|
|
5470
5518
|
// src/controls/icon-library/icon-library-popover.tsx
|
|
5471
5519
|
var React85 = __toESM(require("react"));
|
|
5472
|
-
var
|
|
5520
|
+
var import_react53 = require("react");
|
|
5473
5521
|
var import_editor_ui11 = require("@elementor/editor-ui");
|
|
5474
5522
|
var import_icons23 = require("@elementor/icons");
|
|
5475
5523
|
var import_session2 = require("@elementor/session");
|
|
@@ -5737,7 +5785,7 @@ var FontAwesomeGlyph = ({ icon, size, color, label }) => {
|
|
|
5737
5785
|
|
|
5738
5786
|
// src/controls/icon-library/icon-library-filter.tsx
|
|
5739
5787
|
var React82 = __toESM(require("react"));
|
|
5740
|
-
var
|
|
5788
|
+
var import_react50 = require("react");
|
|
5741
5789
|
var import_icons21 = require("@elementor/icons");
|
|
5742
5790
|
var import_ui64 = require("@elementor/ui");
|
|
5743
5791
|
var import_i18n32 = require("@wordpress/i18n");
|
|
@@ -5772,7 +5820,7 @@ var LIBRARY_FILTER_CONFIG = {
|
|
|
5772
5820
|
}
|
|
5773
5821
|
};
|
|
5774
5822
|
var IconLibraryFilter = ({ value, onChange }) => {
|
|
5775
|
-
const popupId = (0,
|
|
5823
|
+
const popupId = (0, import_react50.useId)();
|
|
5776
5824
|
const popupState = (0, import_ui64.usePopupState)({
|
|
5777
5825
|
variant: "popover",
|
|
5778
5826
|
popupId
|
|
@@ -5868,7 +5916,7 @@ var renderFilterMenuItemContent = (label, Icon, selected) => /* @__PURE__ */ Rea
|
|
|
5868
5916
|
|
|
5869
5917
|
// src/controls/icon-library/icon-library-grid.tsx
|
|
5870
5918
|
var React83 = __toESM(require("react"));
|
|
5871
|
-
var
|
|
5919
|
+
var import_react51 = require("react");
|
|
5872
5920
|
var import_ui65 = require("@elementor/ui");
|
|
5873
5921
|
var import_react_virtual = require("@tanstack/react-virtual");
|
|
5874
5922
|
var import_i18n33 = require("@wordpress/i18n");
|
|
@@ -5906,12 +5954,12 @@ var IconLibraryGrid = ({
|
|
|
5906
5954
|
noResultsComponent
|
|
5907
5955
|
}) => {
|
|
5908
5956
|
const theme = (0, import_ui65.useTheme)();
|
|
5909
|
-
const containerRef = (0,
|
|
5910
|
-
const cellRefs = (0,
|
|
5911
|
-
const shouldRestoreFocusRef = (0,
|
|
5957
|
+
const containerRef = (0, import_react51.useRef)(null);
|
|
5958
|
+
const cellRefs = (0, import_react51.useRef)(/* @__PURE__ */ new Map());
|
|
5959
|
+
const shouldRestoreFocusRef = (0, import_react51.useRef)(false);
|
|
5912
5960
|
const selectedIndex = items2.findIndex((item) => item.id === selectedValue);
|
|
5913
|
-
const [focusedIndex, setFocusedIndex] = (0,
|
|
5914
|
-
const [{ columnCount, cellSize }, setGridMetrics] = (0,
|
|
5961
|
+
const [focusedIndex, setFocusedIndex] = (0, import_react51.useState)(selectedIndex >= 0 ? selectedIndex : 0);
|
|
5962
|
+
const [{ columnCount, cellSize }, setGridMetrics] = (0, import_react51.useState)(() => getGridMetrics(0, 0, 0));
|
|
5915
5963
|
const rowCount = Math.ceil(items2.length / columnCount);
|
|
5916
5964
|
const virtualizer = (0, import_react_virtual.useVirtualizer)({
|
|
5917
5965
|
count: rowCount,
|
|
@@ -5921,7 +5969,7 @@ var IconLibraryGrid = ({
|
|
|
5921
5969
|
});
|
|
5922
5970
|
const focusedItem = items2[focusedIndex];
|
|
5923
5971
|
const visibleRowIndexes = virtualizer.getVirtualIndexes().join(",");
|
|
5924
|
-
(0,
|
|
5972
|
+
(0, import_react51.useLayoutEffect)(() => {
|
|
5925
5973
|
setFocusedIndex((current) => {
|
|
5926
5974
|
if (items2.length === 0) {
|
|
5927
5975
|
return 0;
|
|
@@ -5935,7 +5983,7 @@ var IconLibraryGrid = ({
|
|
|
5935
5983
|
virtualizer.scrollToIndex(Math.floor(selectedIndex / columnCount));
|
|
5936
5984
|
}
|
|
5937
5985
|
}, [columnCount, items2, selectedIndex, selectedValue]);
|
|
5938
|
-
(0,
|
|
5986
|
+
(0, import_react51.useLayoutEffect)(() => {
|
|
5939
5987
|
if (!shouldRestoreFocusRef.current || !focusedItem) {
|
|
5940
5988
|
return;
|
|
5941
5989
|
}
|
|
@@ -5946,7 +5994,7 @@ var IconLibraryGrid = ({
|
|
|
5946
5994
|
cell.focus();
|
|
5947
5995
|
shouldRestoreFocusRef.current = false;
|
|
5948
5996
|
}, [focusedItem, visibleRowIndexes]);
|
|
5949
|
-
(0,
|
|
5997
|
+
(0, import_react51.useLayoutEffect)(() => {
|
|
5950
5998
|
const container = containerRef.current;
|
|
5951
5999
|
if (!container) {
|
|
5952
6000
|
return;
|
|
@@ -5963,7 +6011,7 @@ var IconLibraryGrid = ({
|
|
|
5963
6011
|
resizeObserver.disconnect();
|
|
5964
6012
|
};
|
|
5965
6013
|
}, [theme, items2.length]);
|
|
5966
|
-
(0,
|
|
6014
|
+
(0, import_react51.useLayoutEffect)(() => {
|
|
5967
6015
|
virtualizer.measure();
|
|
5968
6016
|
}, [cellSize, columnCount]);
|
|
5969
6017
|
const isRtl = theme.direction === "rtl" || document.documentElement.dir === "rtl";
|
|
@@ -6160,13 +6208,13 @@ var IconLibraryGrid = ({
|
|
|
6160
6208
|
|
|
6161
6209
|
// src/controls/icon-library/icon-library-view-toggle.tsx
|
|
6162
6210
|
var React84 = __toESM(require("react"));
|
|
6163
|
-
var
|
|
6211
|
+
var import_react52 = require("react");
|
|
6164
6212
|
var import_icons22 = require("@elementor/icons");
|
|
6165
6213
|
var import_ui66 = require("@elementor/ui");
|
|
6166
6214
|
var import_i18n34 = require("@wordpress/i18n");
|
|
6167
6215
|
var VIEW_MENU_WIDTH = 122;
|
|
6168
6216
|
var IconLibraryViewToggle = ({ value, onChange }) => {
|
|
6169
|
-
const popupId = (0,
|
|
6217
|
+
const popupId = (0, import_react52.useId)();
|
|
6170
6218
|
const popupState = (0, import_ui66.usePopupState)({
|
|
6171
6219
|
variant: "popover",
|
|
6172
6220
|
popupId
|
|
@@ -6277,18 +6325,18 @@ var IconLibraryPopover = ({
|
|
|
6277
6325
|
handleChange: handleSearchChange,
|
|
6278
6326
|
setImmediateValue: setSearchValue
|
|
6279
6327
|
} = (0, import_utils6.useDebounceState)({ delay: ICON_LIBRARY_SEARCH_DEBOUNCE_DELAY });
|
|
6280
|
-
const [activeLibraries, setActiveLibraries] = (0,
|
|
6328
|
+
const [activeLibraries, setActiveLibraries] = (0, import_react53.useState)([]);
|
|
6281
6329
|
const [storedView, setStoredView] = (0, import_session2.useSessionStorage)(
|
|
6282
6330
|
ICON_LIBRARY_VIEW_STORAGE_KEY,
|
|
6283
6331
|
ICON_LIBRARY_VIEW_STORAGE_PREFIX
|
|
6284
6332
|
);
|
|
6285
6333
|
const view = isIconLibraryView(storedView) ? storedView : DEFAULT_ICON_LIBRARY_VIEW;
|
|
6286
6334
|
const { data: icons = [], isLoading } = useFontAwesome7Catalog(open);
|
|
6287
|
-
const items2 = (0,
|
|
6335
|
+
const items2 = (0, import_react53.useMemo)(
|
|
6288
6336
|
() => createIconLibraryItems(icons, searchValue, activeLibraries),
|
|
6289
6337
|
[activeLibraries, icons, searchValue]
|
|
6290
6338
|
);
|
|
6291
|
-
const selectedValue = (0,
|
|
6339
|
+
const selectedValue = (0, import_react53.useMemo)(
|
|
6292
6340
|
() => findFontAwesome7Icon(icons, selectedIconClass, selectedIconLibrary)?.id,
|
|
6293
6341
|
[icons, selectedIconClass, selectedIconLibrary]
|
|
6294
6342
|
);
|
|
@@ -6634,11 +6682,11 @@ var SvgMediaControl = createControl(({ showIconLibrary = false }) => {
|
|
|
6634
6682
|
const { data: attachment, isFetching } = (0, import_wp_media2.useWpMediaAttachment)(id?.value || null);
|
|
6635
6683
|
const src = attachment?.url ?? url?.value ?? null;
|
|
6636
6684
|
const { data: allowSvgUpload } = useUnfilteredFilesUpload();
|
|
6637
|
-
const [unfilteredModalOpenState, setUnfilteredModalOpenState] = (0,
|
|
6685
|
+
const [unfilteredModalOpenState, setUnfilteredModalOpenState] = (0, import_react54.useState)(false);
|
|
6638
6686
|
const iconLibraryPopoverState = (0, import_ui70.usePopupState)({ variant: "popover" });
|
|
6639
|
-
const controlContainerRef = (0,
|
|
6640
|
-
const buttonGroupRef = (0,
|
|
6641
|
-
const [iconLibraryAnchor, setIconLibraryAnchor] = (0,
|
|
6687
|
+
const controlContainerRef = (0, import_react54.useRef)(null);
|
|
6688
|
+
const buttonGroupRef = (0, import_react54.useRef)(null);
|
|
6689
|
+
const [iconLibraryAnchor, setIconLibraryAnchor] = (0, import_react54.useState)(null);
|
|
6642
6690
|
const { isAdmin } = (0, import_editor_current_user.useCurrentUserCapabilities)();
|
|
6643
6691
|
const selectedIconClass = showIconLibrary && typeof iconValue?.value?.value === "string" ? iconValue.value.value : null;
|
|
6644
6692
|
const selectedIconLibrary = showIconLibrary && typeof iconValue?.library?.value === "string" ? iconValue.library.value : null;
|
|
@@ -6690,7 +6738,7 @@ var SvgMediaControl = createControl(({ showIconLibrary = false }) => {
|
|
|
6690
6738
|
setIconLibraryAnchor(anchor);
|
|
6691
6739
|
iconLibraryPopoverState.open(event);
|
|
6692
6740
|
};
|
|
6693
|
-
(0,
|
|
6741
|
+
(0, import_react54.useEffect)(() => {
|
|
6694
6742
|
if (!iconLibraryPopoverState.isOpen) {
|
|
6695
6743
|
return;
|
|
6696
6744
|
}
|
|
@@ -6992,7 +7040,7 @@ var BackgroundImageOverlayAttachment = () => {
|
|
|
6992
7040
|
|
|
6993
7041
|
// src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-position.tsx
|
|
6994
7042
|
var React92 = __toESM(require("react"));
|
|
6995
|
-
var
|
|
7043
|
+
var import_react55 = require("react");
|
|
6996
7044
|
var import_editor_props38 = require("@elementor/editor-props");
|
|
6997
7045
|
var import_editor_ui12 = require("@elementor/editor-ui");
|
|
6998
7046
|
var import_icons27 = require("@elementor/icons");
|
|
@@ -7014,7 +7062,7 @@ var BackgroundImageOverlayPosition = () => {
|
|
|
7014
7062
|
const backgroundImageOffsetContext = useBoundProp(import_editor_props38.backgroundImagePositionOffsetPropTypeUtil);
|
|
7015
7063
|
const stringPropContext = useBoundProp(import_editor_props38.stringPropTypeUtil);
|
|
7016
7064
|
const isCustom = !!backgroundImageOffsetContext.value;
|
|
7017
|
-
const rowRef = (0,
|
|
7065
|
+
const rowRef = (0, import_react55.useRef)(null);
|
|
7018
7066
|
const handlePositionChange = (event) => {
|
|
7019
7067
|
const value = event.target.value || null;
|
|
7020
7068
|
if (value === "custom") {
|
|
@@ -7087,7 +7135,7 @@ var BackgroundImageOverlayRepeat = () => {
|
|
|
7087
7135
|
|
|
7088
7136
|
// src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-size.tsx
|
|
7089
7137
|
var React94 = __toESM(require("react"));
|
|
7090
|
-
var
|
|
7138
|
+
var import_react56 = require("react");
|
|
7091
7139
|
var import_editor_props39 = require("@elementor/editor-props");
|
|
7092
7140
|
var import_icons29 = require("@elementor/icons");
|
|
7093
7141
|
var import_ui76 = require("@elementor/ui");
|
|
@@ -7122,7 +7170,7 @@ var BackgroundImageOverlaySize = () => {
|
|
|
7122
7170
|
const backgroundImageScaleContext = useBoundProp(import_editor_props39.backgroundImageSizeScalePropTypeUtil);
|
|
7123
7171
|
const stringPropContext = useBoundProp(import_editor_props39.stringPropTypeUtil);
|
|
7124
7172
|
const isCustom = !!backgroundImageScaleContext.value;
|
|
7125
|
-
const rowRef = (0,
|
|
7173
|
+
const rowRef = (0, import_react56.useRef)(null);
|
|
7126
7174
|
const handleSizeChange = (size) => {
|
|
7127
7175
|
if (size === "custom") {
|
|
7128
7176
|
backgroundImageScaleContext.setValue({ width: null, height: null });
|
|
@@ -7157,7 +7205,7 @@ var BackgroundImageOverlaySize = () => {
|
|
|
7157
7205
|
};
|
|
7158
7206
|
|
|
7159
7207
|
// src/controls/background-control/background-overlay/use-background-tabs-history.ts
|
|
7160
|
-
var
|
|
7208
|
+
var import_react57 = require("react");
|
|
7161
7209
|
var import_editor_props40 = require("@elementor/editor-props");
|
|
7162
7210
|
var import_ui77 = require("@elementor/ui");
|
|
7163
7211
|
var useBackgroundTabsHistory = ({
|
|
@@ -7178,7 +7226,7 @@ var useBackgroundTabsHistory = ({
|
|
|
7178
7226
|
return "image";
|
|
7179
7227
|
};
|
|
7180
7228
|
const { getTabsProps, getTabProps, getTabPanelProps } = (0, import_ui77.useTabs)(getCurrentOverlayType());
|
|
7181
|
-
const valuesHistory = (0,
|
|
7229
|
+
const valuesHistory = (0, import_react57.useRef)({
|
|
7182
7230
|
image: initialBackgroundImageOverlay,
|
|
7183
7231
|
color: initialBackgroundColorOverlay2,
|
|
7184
7232
|
gradient: initialBackgroundGradientOverlay2
|
|
@@ -7425,7 +7473,7 @@ var BackgroundClipField = () => {
|
|
|
7425
7473
|
|
|
7426
7474
|
// src/controls/repeatable-control.tsx
|
|
7427
7475
|
var React97 = __toESM(require("react"));
|
|
7428
|
-
var
|
|
7476
|
+
var import_react58 = require("react");
|
|
7429
7477
|
var import_editor_props43 = require("@elementor/editor-props");
|
|
7430
7478
|
var import_ui80 = require("@elementor/ui");
|
|
7431
7479
|
var PLACEHOLDER_REGEX = /\$\{([^}]+)\}/g;
|
|
@@ -7446,11 +7494,11 @@ var RepeatableControl = createControl(
|
|
|
7446
7494
|
if (!childPropTypeUtil) {
|
|
7447
7495
|
return null;
|
|
7448
7496
|
}
|
|
7449
|
-
const childArrayPropTypeUtil2 = (0,
|
|
7497
|
+
const childArrayPropTypeUtil2 = (0, import_react58.useMemo)(
|
|
7450
7498
|
() => (0, import_editor_props43.createArrayPropUtils)(childPropTypeUtil.key, childPropTypeUtil.schema, propKey),
|
|
7451
7499
|
[childPropTypeUtil.key, childPropTypeUtil.schema, propKey]
|
|
7452
7500
|
);
|
|
7453
|
-
const contextValue = (0,
|
|
7501
|
+
const contextValue = (0, import_react58.useMemo)(
|
|
7454
7502
|
() => ({
|
|
7455
7503
|
...childControlConfig,
|
|
7456
7504
|
placeholder: placeholder || "",
|
|
@@ -7582,7 +7630,7 @@ var getAllProperties = (pattern) => {
|
|
|
7582
7630
|
|
|
7583
7631
|
// src/controls/key-value-control.tsx
|
|
7584
7632
|
var React98 = __toESM(require("react"));
|
|
7585
|
-
var
|
|
7633
|
+
var import_react59 = require("react");
|
|
7586
7634
|
var import_editor_props44 = require("@elementor/editor-props");
|
|
7587
7635
|
var import_ui81 = require("@elementor/ui");
|
|
7588
7636
|
var import_i18n46 = require("@wordpress/i18n");
|
|
@@ -7609,9 +7657,9 @@ var getInitialFieldValue = (fieldValue) => {
|
|
|
7609
7657
|
};
|
|
7610
7658
|
var KeyValueControl = createControl((props = {}) => {
|
|
7611
7659
|
const { value, setValue, ...propContext } = useBoundProp(import_editor_props44.keyValuePropTypeUtil);
|
|
7612
|
-
const [keyError, setKeyError] = (0,
|
|
7613
|
-
const [valueError, setValueError] = (0,
|
|
7614
|
-
const [sessionState, setSessionState] = (0,
|
|
7660
|
+
const [keyError, setKeyError] = (0, import_react59.useState)("");
|
|
7661
|
+
const [valueError, setValueError] = (0, import_react59.useState)("");
|
|
7662
|
+
const [sessionState, setSessionState] = (0, import_react59.useState)({
|
|
7615
7663
|
key: getInitialFieldValue(value?.key),
|
|
7616
7664
|
value: getInitialFieldValue(value?.value)
|
|
7617
7665
|
});
|
|
@@ -7621,7 +7669,7 @@ var KeyValueControl = createControl((props = {}) => {
|
|
|
7621
7669
|
keyHelper: void 0,
|
|
7622
7670
|
valueHelper: void 0
|
|
7623
7671
|
};
|
|
7624
|
-
const [keyRegex, valueRegex, errMsg] = (0,
|
|
7672
|
+
const [keyRegex, valueRegex, errMsg] = (0, import_react59.useMemo)(
|
|
7625
7673
|
() => [
|
|
7626
7674
|
props.regexKey ? new RegExp(props.regexKey) : void 0,
|
|
7627
7675
|
props.regexValue ? new RegExp(props.regexValue) : void 0,
|
|
@@ -7753,7 +7801,7 @@ var PositionControl = () => {
|
|
|
7753
7801
|
|
|
7754
7802
|
// src/controls/transform-control/transform-repeater-control.tsx
|
|
7755
7803
|
var React112 = __toESM(require("react"));
|
|
7756
|
-
var
|
|
7804
|
+
var import_react67 = require("react");
|
|
7757
7805
|
var import_editor_props54 = require("@elementor/editor-props");
|
|
7758
7806
|
var import_icons37 = require("@elementor/icons");
|
|
7759
7807
|
var import_ui95 = require("@elementor/ui");
|
|
@@ -7812,7 +7860,7 @@ var import_i18n52 = require("@wordpress/i18n");
|
|
|
7812
7860
|
|
|
7813
7861
|
// src/controls/transform-control/functions/move.tsx
|
|
7814
7862
|
var React101 = __toESM(require("react"));
|
|
7815
|
-
var
|
|
7863
|
+
var import_react60 = require("react");
|
|
7816
7864
|
var import_editor_props47 = require("@elementor/editor-props");
|
|
7817
7865
|
var import_icons31 = require("@elementor/icons");
|
|
7818
7866
|
var import_ui84 = require("@elementor/ui");
|
|
@@ -7859,7 +7907,7 @@ var moveAxisControls = [
|
|
|
7859
7907
|
];
|
|
7860
7908
|
var Move = () => {
|
|
7861
7909
|
const context = useBoundProp(import_editor_props47.moveTransformPropTypeUtil);
|
|
7862
|
-
const rowRefs = [(0,
|
|
7910
|
+
const rowRefs = [(0, import_react60.useRef)(null), (0, import_react60.useRef)(null), (0, import_react60.useRef)(null)];
|
|
7863
7911
|
return /* @__PURE__ */ React101.createElement(import_ui84.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React101.createElement(PropProvider, { ...context }, /* @__PURE__ */ React101.createElement(PropKeyProvider, { bind: TransformFunctionKeys.move }, moveAxisControls.map((control, index) => /* @__PURE__ */ React101.createElement(
|
|
7864
7912
|
AxisRow,
|
|
7865
7913
|
{
|
|
@@ -7874,7 +7922,7 @@ var Move = () => {
|
|
|
7874
7922
|
|
|
7875
7923
|
// src/controls/transform-control/functions/rotate.tsx
|
|
7876
7924
|
var React102 = __toESM(require("react"));
|
|
7877
|
-
var
|
|
7925
|
+
var import_react61 = require("react");
|
|
7878
7926
|
var import_editor_props48 = require("@elementor/editor-props");
|
|
7879
7927
|
var import_icons32 = require("@elementor/icons");
|
|
7880
7928
|
var import_ui85 = require("@elementor/ui");
|
|
@@ -7899,7 +7947,7 @@ var rotateAxisControls = [
|
|
|
7899
7947
|
var rotateUnits = ["deg", "rad", "grad", "turn"];
|
|
7900
7948
|
var Rotate = () => {
|
|
7901
7949
|
const context = useBoundProp(import_editor_props48.rotateTransformPropTypeUtil);
|
|
7902
|
-
const rowRefs = [(0,
|
|
7950
|
+
const rowRefs = [(0, import_react61.useRef)(null), (0, import_react61.useRef)(null), (0, import_react61.useRef)(null)];
|
|
7903
7951
|
return /* @__PURE__ */ React102.createElement(import_ui85.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React102.createElement(PropProvider, { ...context }, /* @__PURE__ */ React102.createElement(PropKeyProvider, { bind: TransformFunctionKeys.rotate }, rotateAxisControls.map((control, index) => /* @__PURE__ */ React102.createElement(
|
|
7904
7952
|
AxisRow,
|
|
7905
7953
|
{
|
|
@@ -7913,7 +7961,7 @@ var Rotate = () => {
|
|
|
7913
7961
|
|
|
7914
7962
|
// src/controls/transform-control/functions/scale.tsx
|
|
7915
7963
|
var React104 = __toESM(require("react"));
|
|
7916
|
-
var
|
|
7964
|
+
var import_react62 = require("react");
|
|
7917
7965
|
var import_editor_props49 = require("@elementor/editor-props");
|
|
7918
7966
|
var import_icons33 = require("@elementor/icons");
|
|
7919
7967
|
var import_ui87 = require("@elementor/ui");
|
|
@@ -7946,13 +7994,13 @@ var scaleAxisControls = [
|
|
|
7946
7994
|
];
|
|
7947
7995
|
var Scale = () => {
|
|
7948
7996
|
const context = useBoundProp(import_editor_props49.scaleTransformPropTypeUtil);
|
|
7949
|
-
const rowRefs = [(0,
|
|
7997
|
+
const rowRefs = [(0, import_react62.useRef)(null), (0, import_react62.useRef)(null), (0, import_react62.useRef)(null)];
|
|
7950
7998
|
return /* @__PURE__ */ React104.createElement(import_ui87.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React104.createElement(PropProvider, { ...context }, /* @__PURE__ */ React104.createElement(PropKeyProvider, { bind: TransformFunctionKeys.scale }, scaleAxisControls.map((control, index) => /* @__PURE__ */ React104.createElement(ScaleAxisRow, { key: control.bind, ...control, anchorRef: rowRefs[index] })))));
|
|
7951
7999
|
};
|
|
7952
8000
|
|
|
7953
8001
|
// src/controls/transform-control/functions/skew.tsx
|
|
7954
8002
|
var React105 = __toESM(require("react"));
|
|
7955
|
-
var
|
|
8003
|
+
var import_react63 = require("react");
|
|
7956
8004
|
var import_editor_props50 = require("@elementor/editor-props");
|
|
7957
8005
|
var import_icons34 = require("@elementor/icons");
|
|
7958
8006
|
var import_ui88 = require("@elementor/ui");
|
|
@@ -7972,7 +8020,7 @@ var skewAxisControls = [
|
|
|
7972
8020
|
var skewUnits = ["deg", "rad", "grad", "turn"];
|
|
7973
8021
|
var Skew = () => {
|
|
7974
8022
|
const context = useBoundProp(import_editor_props50.skewTransformPropTypeUtil);
|
|
7975
|
-
const rowRefs = [(0,
|
|
8023
|
+
const rowRefs = [(0, import_react63.useRef)(null), (0, import_react63.useRef)(null), (0, import_react63.useRef)(null)];
|
|
7976
8024
|
return /* @__PURE__ */ React105.createElement(import_ui88.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React105.createElement(PropProvider, { ...context }, /* @__PURE__ */ React105.createElement(PropKeyProvider, { bind: TransformFunctionKeys.skew }, skewAxisControls.map((control, index) => /* @__PURE__ */ React105.createElement(
|
|
7977
8025
|
AxisRow,
|
|
7978
8026
|
{
|
|
@@ -7985,7 +8033,7 @@ var Skew = () => {
|
|
|
7985
8033
|
};
|
|
7986
8034
|
|
|
7987
8035
|
// src/controls/transform-control/use-transform-tabs-history.tsx
|
|
7988
|
-
var
|
|
8036
|
+
var import_react64 = require("react");
|
|
7989
8037
|
var import_editor_props51 = require("@elementor/editor-props");
|
|
7990
8038
|
var import_ui89 = require("@elementor/ui");
|
|
7991
8039
|
var useTransformTabsHistory = ({
|
|
@@ -8012,7 +8060,7 @@ var useTransformTabsHistory = ({
|
|
|
8012
8060
|
}
|
|
8013
8061
|
};
|
|
8014
8062
|
const { getTabsProps, getTabProps, getTabPanelProps } = (0, import_ui89.useTabs)(getCurrentTransformType());
|
|
8015
|
-
const valuesHistory = (0,
|
|
8063
|
+
const valuesHistory = (0, import_react64.useRef)({
|
|
8016
8064
|
move: initialMove,
|
|
8017
8065
|
scale: initialScale,
|
|
8018
8066
|
rotate: initialRotate,
|
|
@@ -8156,7 +8204,7 @@ var import_i18n56 = require("@wordpress/i18n");
|
|
|
8156
8204
|
|
|
8157
8205
|
// src/controls/transform-control/transform-base-controls/children-perspective-control.tsx
|
|
8158
8206
|
var React109 = __toESM(require("react"));
|
|
8159
|
-
var
|
|
8207
|
+
var import_react65 = require("react");
|
|
8160
8208
|
var import_editor_props52 = require("@elementor/editor-props");
|
|
8161
8209
|
var import_ui92 = require("@elementor/ui");
|
|
8162
8210
|
var import_i18n54 = require("@wordpress/i18n");
|
|
@@ -8188,13 +8236,13 @@ var PerspectiveOriginControlProvider = () => {
|
|
|
8188
8236
|
return /* @__PURE__ */ React109.createElement(PropProvider, { ...context }, CHILDREN_PERSPECTIVE_FIELDS.map((control) => /* @__PURE__ */ React109.createElement(PropKeyProvider, { bind: control.bind, key: control.bind }, /* @__PURE__ */ React109.createElement(ControlFields, { control }))));
|
|
8189
8237
|
};
|
|
8190
8238
|
var ControlFields = ({ control }) => {
|
|
8191
|
-
const rowRef = (0,
|
|
8239
|
+
const rowRef = (0, import_react65.useRef)(null);
|
|
8192
8240
|
return /* @__PURE__ */ React109.createElement(PopoverGridContainer, { ref: rowRef }, /* @__PURE__ */ React109.createElement(import_ui92.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React109.createElement(ControlFormLabel, null, control.label)), /* @__PURE__ */ React109.createElement(import_ui92.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React109.createElement(SizeControl, { variant: "length", units: control.units, anchorRef: rowRef, disableCustom: true })));
|
|
8193
8241
|
};
|
|
8194
8242
|
|
|
8195
8243
|
// src/controls/transform-control/transform-base-controls/transform-origin-control.tsx
|
|
8196
8244
|
var React110 = __toESM(require("react"));
|
|
8197
|
-
var
|
|
8245
|
+
var import_react66 = require("react");
|
|
8198
8246
|
var import_editor_props53 = require("@elementor/editor-props");
|
|
8199
8247
|
var import_ui93 = require("@elementor/ui");
|
|
8200
8248
|
var import_i18n55 = require("@wordpress/i18n");
|
|
@@ -8222,7 +8270,7 @@ var TransformOriginControl = () => {
|
|
|
8222
8270
|
};
|
|
8223
8271
|
var ControlFields2 = ({ control }) => {
|
|
8224
8272
|
const context = useBoundProp(import_editor_props53.transformOriginPropTypeUtil);
|
|
8225
|
-
const rowRef = (0,
|
|
8273
|
+
const rowRef = (0, import_react66.useRef)(null);
|
|
8226
8274
|
return /* @__PURE__ */ React110.createElement(PropProvider, { ...context }, /* @__PURE__ */ React110.createElement(PropKeyProvider, { bind: control.bind }, /* @__PURE__ */ React110.createElement(PopoverGridContainer, { ref: rowRef }, /* @__PURE__ */ React110.createElement(import_ui93.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React110.createElement(ControlFormLabel, null, control.label)), /* @__PURE__ */ React110.createElement(import_ui93.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React110.createElement(SizeControl, { variant: "length", units: control.units, anchorRef: rowRef })))));
|
|
8227
8275
|
};
|
|
8228
8276
|
|
|
@@ -8270,7 +8318,7 @@ var SIZE11 = "tiny";
|
|
|
8270
8318
|
var TransformRepeaterControl = createControl(
|
|
8271
8319
|
({ showChildrenPerspective }) => {
|
|
8272
8320
|
const context = useBoundProp(import_editor_props54.transformPropTypeUtil);
|
|
8273
|
-
const headerRef = (0,
|
|
8321
|
+
const headerRef = (0, import_react67.useRef)(null);
|
|
8274
8322
|
const popupState = (0, import_ui95.usePopupState)({ variant: "popover" });
|
|
8275
8323
|
return /* @__PURE__ */ React112.createElement(PropProvider, { ...context }, /* @__PURE__ */ React112.createElement(
|
|
8276
8324
|
TransformSettingsControl,
|
|
@@ -8350,7 +8398,7 @@ var TransformBasePopoverTrigger = ({
|
|
|
8350
8398
|
|
|
8351
8399
|
// src/controls/transition-control/transition-repeater-control.tsx
|
|
8352
8400
|
var React115 = __toESM(require("react"));
|
|
8353
|
-
var
|
|
8401
|
+
var import_react70 = require("react");
|
|
8354
8402
|
var import_editor_props57 = require("@elementor/editor-props");
|
|
8355
8403
|
var import_icons39 = require("@elementor/icons");
|
|
8356
8404
|
var import_ui98 = require("@elementor/ui");
|
|
@@ -8359,15 +8407,15 @@ var import_i18n60 = require("@wordpress/i18n");
|
|
|
8359
8407
|
|
|
8360
8408
|
// src/controls/selection-size-control.tsx
|
|
8361
8409
|
var React113 = __toESM(require("react"));
|
|
8362
|
-
var
|
|
8410
|
+
var import_react68 = require("react");
|
|
8363
8411
|
var import_editor_props55 = require("@elementor/editor-props");
|
|
8364
8412
|
var import_ui96 = require("@elementor/ui");
|
|
8365
8413
|
var SelectionSizeControl = createControl(
|
|
8366
8414
|
({ selectionLabel, sizeLabel, selectionConfig, sizeConfigMap }) => {
|
|
8367
8415
|
const { value, setValue, propType } = useBoundProp(import_editor_props55.selectionSizePropTypeUtil);
|
|
8368
|
-
const rowRef = (0,
|
|
8416
|
+
const rowRef = (0, import_react68.useRef)(null);
|
|
8369
8417
|
const sizeFieldId = sizeLabel.replace(/\s+/g, "-").toLowerCase();
|
|
8370
|
-
const currentSizeConfig = (0,
|
|
8418
|
+
const currentSizeConfig = (0, import_react68.useMemo)(() => {
|
|
8371
8419
|
switch (value.selection.$$type) {
|
|
8372
8420
|
case "key-value":
|
|
8373
8421
|
return sizeConfigMap[value?.selection?.value.value.value || ""];
|
|
@@ -8580,7 +8628,7 @@ function subscribeToTransitionEvent() {
|
|
|
8580
8628
|
|
|
8581
8629
|
// src/controls/transition-control/transition-selector.tsx
|
|
8582
8630
|
var React114 = __toESM(require("react"));
|
|
8583
|
-
var
|
|
8631
|
+
var import_react69 = require("react");
|
|
8584
8632
|
var import_editor_props56 = require("@elementor/editor-props");
|
|
8585
8633
|
var import_editor_ui15 = require("@elementor/editor-ui");
|
|
8586
8634
|
var import_icons38 = require("@elementor/icons");
|
|
@@ -8666,9 +8714,9 @@ var TransitionSelector = ({
|
|
|
8666
8714
|
const {
|
|
8667
8715
|
key: { value: transitionLabel }
|
|
8668
8716
|
} = value;
|
|
8669
|
-
const defaultRef = (0,
|
|
8717
|
+
const defaultRef = (0, import_react69.useRef)(null);
|
|
8670
8718
|
const popoverState = (0, import_ui97.usePopupState)({ variant: "popover" });
|
|
8671
|
-
const disabledCategories = (0,
|
|
8719
|
+
const disabledCategories = (0, import_react69.useMemo)(() => {
|
|
8672
8720
|
return new Set(
|
|
8673
8721
|
transitionProperties.filter((cat) => cat.properties.some((prop) => prop.isDisabled)).map((cat) => cat.label)
|
|
8674
8722
|
);
|
|
@@ -8894,14 +8942,14 @@ var TransitionRepeaterControl = createControl(
|
|
|
8894
8942
|
currentStyleState
|
|
8895
8943
|
}) => {
|
|
8896
8944
|
const currentStyleIsNormal = currentStyleState === null;
|
|
8897
|
-
const [recentlyUsedList, setRecentlyUsedList] = (0,
|
|
8945
|
+
const [recentlyUsedList, setRecentlyUsedList] = (0, import_react70.useState)([]);
|
|
8898
8946
|
const proInstalled = (0, import_utils8.hasProInstalled)();
|
|
8899
8947
|
const { value, setValue } = useBoundProp(childArrayPropTypeUtil);
|
|
8900
|
-
const { allDisabled: disabledItems, proDisabled: proDisabledItems } = (0,
|
|
8948
|
+
const { allDisabled: disabledItems, proDisabled: proDisabledItems } = (0, import_react70.useMemo)(
|
|
8901
8949
|
() => getDisabledItemLabels(value),
|
|
8902
8950
|
[value]
|
|
8903
8951
|
);
|
|
8904
|
-
const allowedTransitionSet = (0,
|
|
8952
|
+
const allowedTransitionSet = (0, import_react70.useMemo)(() => {
|
|
8905
8953
|
const set = /* @__PURE__ */ new Set();
|
|
8906
8954
|
transitionProperties.forEach((category) => {
|
|
8907
8955
|
category.properties.forEach((prop) => {
|
|
@@ -8912,7 +8960,7 @@ var TransitionRepeaterControl = createControl(
|
|
|
8912
8960
|
});
|
|
8913
8961
|
return set;
|
|
8914
8962
|
}, [proInstalled]);
|
|
8915
|
-
(0,
|
|
8963
|
+
(0, import_react70.useEffect)(() => {
|
|
8916
8964
|
if (!value || value.length === 0) {
|
|
8917
8965
|
return;
|
|
8918
8966
|
}
|
|
@@ -8924,10 +8972,10 @@ var TransitionRepeaterControl = createControl(
|
|
|
8924
8972
|
setValue(sanitized);
|
|
8925
8973
|
}
|
|
8926
8974
|
}, [allowedTransitionSet]);
|
|
8927
|
-
(0,
|
|
8975
|
+
(0, import_react70.useEffect)(() => {
|
|
8928
8976
|
recentlyUsedListGetter().then(setRecentlyUsedList);
|
|
8929
8977
|
}, [recentlyUsedListGetter]);
|
|
8930
|
-
const allPropertiesUsed = (0,
|
|
8978
|
+
const allPropertiesUsed = (0, import_react70.useMemo)(() => areAllPropertiesUsed(value), [value]);
|
|
8931
8979
|
const isAddItemDisabled = !currentStyleIsNormal || allPropertiesUsed;
|
|
8932
8980
|
return /* @__PURE__ */ React115.createElement(
|
|
8933
8981
|
RepeatableControl,
|
|
@@ -9210,13 +9258,13 @@ var BoundTimeStringControl = ({ bind, ariaLabel }) => {
|
|
|
9210
9258
|
|
|
9211
9259
|
// src/controls/inline-editing-control.tsx
|
|
9212
9260
|
var React124 = __toESM(require("react"));
|
|
9213
|
-
var
|
|
9261
|
+
var import_react76 = require("react");
|
|
9214
9262
|
var import_editor_props65 = require("@elementor/editor-props");
|
|
9215
9263
|
var import_ui107 = require("@elementor/ui");
|
|
9216
9264
|
|
|
9217
9265
|
// src/components/inline-editor.tsx
|
|
9218
9266
|
var React121 = __toESM(require("react"));
|
|
9219
|
-
var
|
|
9267
|
+
var import_react71 = require("react");
|
|
9220
9268
|
var import_ui104 = require("@elementor/ui");
|
|
9221
9269
|
var import_extension_bold = __toESM(require("@tiptap/extension-bold"));
|
|
9222
9270
|
var import_extension_document = __toESM(require("@tiptap/extension-document"));
|
|
@@ -9230,7 +9278,7 @@ var import_extension_subscript = __toESM(require("@tiptap/extension-subscript"))
|
|
|
9230
9278
|
var import_extension_superscript = __toESM(require("@tiptap/extension-superscript"));
|
|
9231
9279
|
var import_extension_text = __toESM(require("@tiptap/extension-text"));
|
|
9232
9280
|
var import_extension_underline = __toESM(require("@tiptap/extension-underline"));
|
|
9233
|
-
var
|
|
9281
|
+
var import_react72 = require("@tiptap/react");
|
|
9234
9282
|
|
|
9235
9283
|
// src/utils/inline-editing.ts
|
|
9236
9284
|
var import_editor_props64 = require("@elementor/editor-props");
|
|
@@ -9279,8 +9327,8 @@ var InlineEditor = React121.forwardRef((props, ref) => {
|
|
|
9279
9327
|
onSelectionEnd,
|
|
9280
9328
|
mountElement = null
|
|
9281
9329
|
} = props;
|
|
9282
|
-
const containerRef = (0,
|
|
9283
|
-
const onBlurRef = (0,
|
|
9330
|
+
const containerRef = (0, import_react71.useRef)(null);
|
|
9331
|
+
const onBlurRef = (0, import_react71.useRef)(onBlur);
|
|
9284
9332
|
onBlurRef.current = onBlur;
|
|
9285
9333
|
const documentContentSettings = !!expectedTag ? "block+" : "inline*";
|
|
9286
9334
|
const onUpdate = ({ editor: updatedEditor }) => {
|
|
@@ -9302,7 +9350,7 @@ var InlineEditor = React121.forwardRef((props, ref) => {
|
|
|
9302
9350
|
...HTMLAttributes,
|
|
9303
9351
|
class: elementClasses
|
|
9304
9352
|
});
|
|
9305
|
-
const editor = (0,
|
|
9353
|
+
const editor = (0, import_react72.useEditor)({
|
|
9306
9354
|
...mountElement ? { element: mountElement } : {},
|
|
9307
9355
|
extensions: [
|
|
9308
9356
|
import_extension_document.default.extend({
|
|
@@ -9375,11 +9423,11 @@ var InlineEditor = React121.forwardRef((props, ref) => {
|
|
|
9375
9423
|
if (mountElement) {
|
|
9376
9424
|
return null;
|
|
9377
9425
|
}
|
|
9378
|
-
return /* @__PURE__ */ React121.createElement(import_ui104.Box, { ref: containerRef, sx, className: wrapperClassName }, /* @__PURE__ */ React121.createElement(
|
|
9426
|
+
return /* @__PURE__ */ React121.createElement(import_ui104.Box, { ref: containerRef, sx, className: wrapperClassName }, /* @__PURE__ */ React121.createElement(import_react72.EditorContent, { ref, editor }));
|
|
9379
9427
|
});
|
|
9380
9428
|
var useOnUpdate = (callback, dependencies) => {
|
|
9381
|
-
const hasMounted = (0,
|
|
9382
|
-
(0,
|
|
9429
|
+
const hasMounted = (0, import_react71.useRef)(false);
|
|
9430
|
+
(0, import_react71.useEffect)(() => {
|
|
9383
9431
|
if (hasMounted.current) {
|
|
9384
9432
|
callback();
|
|
9385
9433
|
} else {
|
|
@@ -9390,16 +9438,16 @@ var useOnUpdate = (callback, dependencies) => {
|
|
|
9390
9438
|
|
|
9391
9439
|
// src/components/inline-editor-toolbar.tsx
|
|
9392
9440
|
var React123 = __toESM(require("react"));
|
|
9393
|
-
var
|
|
9441
|
+
var import_react74 = require("react");
|
|
9394
9442
|
var import_editor_elements7 = require("@elementor/editor-elements");
|
|
9395
9443
|
var import_icons41 = require("@elementor/icons");
|
|
9396
9444
|
var import_ui106 = require("@elementor/ui");
|
|
9397
|
-
var
|
|
9445
|
+
var import_react75 = require("@tiptap/react");
|
|
9398
9446
|
var import_i18n64 = require("@wordpress/i18n");
|
|
9399
9447
|
|
|
9400
9448
|
// src/components/url-popover.tsx
|
|
9401
9449
|
var React122 = __toESM(require("react"));
|
|
9402
|
-
var
|
|
9450
|
+
var import_react73 = require("react");
|
|
9403
9451
|
var import_icons40 = require("@elementor/icons");
|
|
9404
9452
|
var import_ui105 = require("@elementor/ui");
|
|
9405
9453
|
var import_i18n63 = require("@wordpress/i18n");
|
|
@@ -9412,8 +9460,8 @@ var UrlPopover = ({
|
|
|
9412
9460
|
openInNewTab,
|
|
9413
9461
|
onToggleNewTab
|
|
9414
9462
|
}) => {
|
|
9415
|
-
const inputRef = (0,
|
|
9416
|
-
(0,
|
|
9463
|
+
const inputRef = (0, import_react73.useRef)(null);
|
|
9464
|
+
(0, import_react73.useEffect)(() => {
|
|
9417
9465
|
if (popupState.isOpen) {
|
|
9418
9466
|
requestAnimationFrame(() => inputRef.current?.focus());
|
|
9419
9467
|
}
|
|
@@ -9468,16 +9516,16 @@ var InlineEditorToolbar = ({
|
|
|
9468
9516
|
sx = {},
|
|
9469
9517
|
inControlPanel = false
|
|
9470
9518
|
}) => {
|
|
9471
|
-
const [urlValue, setUrlValue] = (0,
|
|
9472
|
-
const [openInNewTab, setOpenInNewTab] = (0,
|
|
9473
|
-
const toolbarRef = (0,
|
|
9519
|
+
const [urlValue, setUrlValue] = (0, import_react74.useState)("");
|
|
9520
|
+
const [openInNewTab, setOpenInNewTab] = (0, import_react74.useState)(false);
|
|
9521
|
+
const toolbarRef = (0, import_react74.useRef)(null);
|
|
9474
9522
|
const linkPopupState = (0, import_ui106.usePopupState)({ variant: "popover" });
|
|
9475
9523
|
const isElementClickable = elementId ? checkIfElementIsClickable(elementId) : false;
|
|
9476
|
-
const editorState = (0,
|
|
9524
|
+
const editorState = (0, import_react75.useEditorState)({
|
|
9477
9525
|
editor,
|
|
9478
9526
|
selector: (ctx) => possibleFormats.filter((format) => ctx.editor.isActive(format))
|
|
9479
9527
|
});
|
|
9480
|
-
const formatButtonsList = (0,
|
|
9528
|
+
const formatButtonsList = (0, import_react74.useMemo)(() => {
|
|
9481
9529
|
const buttons = Object.values(formatButtons);
|
|
9482
9530
|
if (isElementClickable) {
|
|
9483
9531
|
return buttons.filter((button) => button.action !== "link");
|
|
@@ -9514,7 +9562,7 @@ var InlineEditorToolbar = ({
|
|
|
9514
9562
|
}
|
|
9515
9563
|
linkPopupState.close();
|
|
9516
9564
|
};
|
|
9517
|
-
(0,
|
|
9565
|
+
(0, import_react74.useEffect)(() => {
|
|
9518
9566
|
if (!inControlPanel) {
|
|
9519
9567
|
editor?.commands?.focus();
|
|
9520
9568
|
}
|
|
@@ -9695,8 +9743,8 @@ var InlineEditingControl = createControl(({ sx, attributes, props, context: { el
|
|
|
9695
9743
|
const { setValue, placeholder, value } = useBoundProp(import_editor_props65.escapedHtmlPropTypeUtil);
|
|
9696
9744
|
const { value: rawValue } = usePropKeyContext();
|
|
9697
9745
|
const content = value ?? extractInlineHtmlContent(rawValue);
|
|
9698
|
-
const [editor, setEditor] = (0,
|
|
9699
|
-
const handleChange = (0,
|
|
9746
|
+
const [editor, setEditor] = (0, import_react76.useState)(null);
|
|
9747
|
+
const handleChange = (0, import_react76.useCallback)(
|
|
9700
9748
|
(newValue) => {
|
|
9701
9749
|
const html = newValue ?? "";
|
|
9702
9750
|
setValue(html);
|
|
@@ -9878,7 +9926,7 @@ function useFormFieldSuggestions(options) {
|
|
|
9878
9926
|
|
|
9879
9927
|
// src/controls/email-form-action-control/email-chips-field.tsx
|
|
9880
9928
|
var React125 = __toESM(require("react"));
|
|
9881
|
-
var
|
|
9929
|
+
var import_react77 = require("react");
|
|
9882
9930
|
var import_editor_props67 = require("@elementor/editor-props");
|
|
9883
9931
|
var import_ui108 = require("@elementor/ui");
|
|
9884
9932
|
|
|
@@ -9916,10 +9964,10 @@ function resolveMention(raw, suggestions) {
|
|
|
9916
9964
|
}
|
|
9917
9965
|
var EmailChipsControl = createControl(({ placeholder, suggestions = [] }) => {
|
|
9918
9966
|
const { value, setValue, disabled } = useBoundProp(import_editor_props67.stringArrayPropTypeUtil);
|
|
9919
|
-
const [inputValue, setInputValue] = (0,
|
|
9967
|
+
const [inputValue, setInputValue] = (0, import_react77.useState)("");
|
|
9920
9968
|
const items2 = value || [];
|
|
9921
9969
|
const selectedValues = items2.map((item) => import_editor_props67.stringPropTypeUtil.extract(item)).filter((val) => val !== null);
|
|
9922
|
-
const suggestionOptions = (0,
|
|
9970
|
+
const suggestionOptions = (0, import_react77.useMemo)(
|
|
9923
9971
|
() => suggestions.map((suggestion) => `[${suggestion.value}]`),
|
|
9924
9972
|
[suggestions]
|
|
9925
9973
|
);
|
|
@@ -10099,7 +10147,7 @@ var AttachmentTypeControl = createControl(({ label, options }) => {
|
|
|
10099
10147
|
|
|
10100
10148
|
// src/controls/notice-control.tsx
|
|
10101
10149
|
var React130 = __toESM(require("react"));
|
|
10102
|
-
var
|
|
10150
|
+
var import_react78 = require("react");
|
|
10103
10151
|
var import_editor_v1_adapters3 = require("@elementor/editor-v1-adapters");
|
|
10104
10152
|
var import_icons42 = require("@elementor/icons");
|
|
10105
10153
|
var import_ui113 = require("@elementor/ui");
|
|
@@ -10117,7 +10165,7 @@ var markNoticeAsDismissedInSession = (dismissId) => {
|
|
|
10117
10165
|
};
|
|
10118
10166
|
var NoticeControl = createControl(
|
|
10119
10167
|
({ noticeType = "info", heading, content, dismissible, buttonText, buttonUrl }) => {
|
|
10120
|
-
const [isDismissed, setIsDismissed] = (0,
|
|
10168
|
+
const [isDismissed, setIsDismissed] = (0, import_react78.useState)(false);
|
|
10121
10169
|
if (isDismissed || !content) {
|
|
10122
10170
|
return null;
|
|
10123
10171
|
}
|
|
@@ -10200,24 +10248,24 @@ var GridSpanControl = createControl(
|
|
|
10200
10248
|
|
|
10201
10249
|
// src/components/promotions/display-conditions-control.tsx
|
|
10202
10250
|
var React133 = __toESM(require("react"));
|
|
10203
|
-
var
|
|
10251
|
+
var import_react80 = require("react");
|
|
10204
10252
|
var import_icons43 = require("@elementor/icons");
|
|
10205
10253
|
var import_ui116 = require("@elementor/ui");
|
|
10206
10254
|
var import_i18n68 = require("@wordpress/i18n");
|
|
10207
10255
|
|
|
10208
10256
|
// src/components/promotions/promotion-trigger.tsx
|
|
10209
10257
|
var React132 = __toESM(require("react"));
|
|
10210
|
-
var
|
|
10258
|
+
var import_react79 = require("react");
|
|
10211
10259
|
var import_editor_ui19 = require("@elementor/editor-ui");
|
|
10212
10260
|
var import_ui115 = require("@elementor/ui");
|
|
10213
10261
|
function getV4Promotion(key) {
|
|
10214
10262
|
return window.elementor?.config?.v4Promotions?.[key];
|
|
10215
10263
|
}
|
|
10216
|
-
var PromotionTrigger = (0,
|
|
10264
|
+
var PromotionTrigger = (0, import_react79.forwardRef)(
|
|
10217
10265
|
({ promotionKey, children, trackingData }, ref) => {
|
|
10218
|
-
const [isOpen, setIsOpen] = (0,
|
|
10266
|
+
const [isOpen, setIsOpen] = (0, import_react79.useState)(false);
|
|
10219
10267
|
const promotion = getV4Promotion(promotionKey);
|
|
10220
|
-
const toggle = (0,
|
|
10268
|
+
const toggle = (0, import_react79.useCallback)(() => {
|
|
10221
10269
|
setIsOpen((prev) => {
|
|
10222
10270
|
if (!prev) {
|
|
10223
10271
|
trackViewPromotion(trackingData);
|
|
@@ -10225,7 +10273,7 @@ var PromotionTrigger = (0, import_react78.forwardRef)(
|
|
|
10225
10273
|
return !prev;
|
|
10226
10274
|
});
|
|
10227
10275
|
}, [trackingData]);
|
|
10228
|
-
(0,
|
|
10276
|
+
(0, import_react79.useImperativeHandle)(ref, () => ({ toggle }), [toggle]);
|
|
10229
10277
|
return /* @__PURE__ */ React132.createElement(React132.Fragment, null, promotion && /* @__PURE__ */ React132.createElement(
|
|
10230
10278
|
import_editor_ui19.PromotionInfotip,
|
|
10231
10279
|
{
|
|
@@ -10259,7 +10307,7 @@ var PromotionTrigger = (0, import_react78.forwardRef)(
|
|
|
10259
10307
|
var ARIA_LABEL = (0, import_i18n68.__)("Display Conditions", "elementor");
|
|
10260
10308
|
var TRACKING_DATA = { target_name: "display_conditions", location_l2: "general" };
|
|
10261
10309
|
var DisplayConditionsControl = createControl(() => {
|
|
10262
|
-
const triggerRef = (0,
|
|
10310
|
+
const triggerRef = (0, import_react80.useRef)(null);
|
|
10263
10311
|
return /* @__PURE__ */ React133.createElement(
|
|
10264
10312
|
import_ui116.Stack,
|
|
10265
10313
|
{
|
|
@@ -10291,14 +10339,14 @@ var DisplayConditionsControl = createControl(() => {
|
|
|
10291
10339
|
|
|
10292
10340
|
// src/components/promotions/attributes-control.tsx
|
|
10293
10341
|
var React134 = __toESM(require("react"));
|
|
10294
|
-
var
|
|
10342
|
+
var import_react81 = require("react");
|
|
10295
10343
|
var import_icons44 = require("@elementor/icons");
|
|
10296
10344
|
var import_ui117 = require("@elementor/ui");
|
|
10297
10345
|
var import_i18n69 = require("@wordpress/i18n");
|
|
10298
10346
|
var ARIA_LABEL2 = (0, import_i18n69.__)("Attributes", "elementor");
|
|
10299
10347
|
var TRACKING_DATA2 = { target_name: "attributes", location_l2: "general" };
|
|
10300
10348
|
var AttributesControl = createControl(() => {
|
|
10301
|
-
const triggerRef = (0,
|
|
10349
|
+
const triggerRef = (0, import_react81.useRef)(null);
|
|
10302
10350
|
return /* @__PURE__ */ React134.createElement(
|
|
10303
10351
|
import_ui117.Stack,
|
|
10304
10352
|
{
|
|
@@ -10335,7 +10383,7 @@ var ClearIconButton = ({ tooltipText, onClick, disabled, size = "tiny" }) => /*
|
|
|
10335
10383
|
|
|
10336
10384
|
// src/components/repeater/repeater.tsx
|
|
10337
10385
|
var React136 = __toESM(require("react"));
|
|
10338
|
-
var
|
|
10386
|
+
var import_react82 = require("react");
|
|
10339
10387
|
var import_icons46 = require("@elementor/icons");
|
|
10340
10388
|
var import_ui119 = require("@elementor/ui");
|
|
10341
10389
|
var import_i18n70 = require("@wordpress/i18n");
|
|
@@ -10357,7 +10405,7 @@ var Repeater3 = ({
|
|
|
10357
10405
|
isSortable = true,
|
|
10358
10406
|
adornment = ControlAdornments
|
|
10359
10407
|
}) => {
|
|
10360
|
-
const [openItem, setOpenItem] = (0,
|
|
10408
|
+
const [openItem, setOpenItem] = (0, import_react82.useState)(initialOpenItem);
|
|
10361
10409
|
const uniqueKeys = items2.map(
|
|
10362
10410
|
(item, index) => isSortable && "getId" in itemSettings ? itemSettings.getId({ item, index }) : String(index)
|
|
10363
10411
|
);
|
|
@@ -10533,10 +10581,10 @@ var RepeaterItem = ({
|
|
|
10533
10581
|
), /* @__PURE__ */ React136.createElement(RepeaterPopover, { width: ref?.getBoundingClientRect().width, ...popoverProps, anchorEl: ref }, /* @__PURE__ */ React136.createElement(import_ui119.Box, null, children({ anchorEl: ref }))));
|
|
10534
10582
|
};
|
|
10535
10583
|
var usePopover = (openOnMount, onOpen, onPopoverClose) => {
|
|
10536
|
-
const [ref, setRef] = (0,
|
|
10584
|
+
const [ref, setRef] = (0, import_react82.useState)(null);
|
|
10537
10585
|
const popoverState = (0, import_ui119.usePopupState)({ variant: "popover" });
|
|
10538
10586
|
const popoverProps = (0, import_ui119.bindPopover)(popoverState);
|
|
10539
|
-
(0,
|
|
10587
|
+
(0, import_react82.useEffect)(() => {
|
|
10540
10588
|
if (openOnMount && ref) {
|
|
10541
10589
|
popoverState.open(ref);
|
|
10542
10590
|
onOpen?.();
|
|
@@ -10599,7 +10647,7 @@ var differsFromExternal = (newState, externalState) => {
|
|
|
10599
10647
|
|
|
10600
10648
|
// src/components/size/unit-select.tsx
|
|
10601
10649
|
var React137 = __toESM(require("react"));
|
|
10602
|
-
var
|
|
10650
|
+
var import_react83 = require("react");
|
|
10603
10651
|
var import_editor_ui20 = require("@elementor/editor-ui");
|
|
10604
10652
|
var import_ui120 = require("@elementor/ui");
|
|
10605
10653
|
var menuItemContentStyles2 = {
|
|
@@ -10610,7 +10658,7 @@ var menuItemContentStyles2 = {
|
|
|
10610
10658
|
var UnitSelect = ({ value, showPrimaryColor, onClick, options }) => {
|
|
10611
10659
|
const popupState = (0, import_ui120.usePopupState)({
|
|
10612
10660
|
variant: "popover",
|
|
10613
|
-
popupId: (0,
|
|
10661
|
+
popupId: (0, import_react83.useId)()
|
|
10614
10662
|
});
|
|
10615
10663
|
const handleMenuItemClick = (index) => {
|
|
10616
10664
|
onClick(options[index]);
|
|
@@ -10646,8 +10694,8 @@ var StyledButton3 = (0, import_ui120.styled)(import_ui120.Button, {
|
|
|
10646
10694
|
|
|
10647
10695
|
// src/components/size/unstable-size-input.tsx
|
|
10648
10696
|
var React138 = __toESM(require("react"));
|
|
10649
|
-
var
|
|
10650
|
-
var UnstableSizeInput = (0,
|
|
10697
|
+
var import_react84 = require("react");
|
|
10698
|
+
var UnstableSizeInput = (0, import_react84.forwardRef)(
|
|
10651
10699
|
({ type, value, onChange, onKeyDown, onKeyUp, InputProps, onBlur, focused, disabled }, ref) => {
|
|
10652
10700
|
return /* @__PURE__ */ React138.createElement(
|
|
10653
10701
|
NumberInput,
|
|
@@ -10715,7 +10763,7 @@ var hasValue = (value) => {
|
|
|
10715
10763
|
};
|
|
10716
10764
|
|
|
10717
10765
|
// src/hooks/use-font-families.ts
|
|
10718
|
-
var
|
|
10766
|
+
var import_react85 = require("react");
|
|
10719
10767
|
var import_editor_v1_adapters4 = require("@elementor/editor-v1-adapters");
|
|
10720
10768
|
var getFontControlConfig = () => {
|
|
10721
10769
|
const { controls } = (0, import_editor_v1_adapters4.getElementorConfig)();
|
|
@@ -10723,7 +10771,7 @@ var getFontControlConfig = () => {
|
|
|
10723
10771
|
};
|
|
10724
10772
|
var useFontFamilies = () => {
|
|
10725
10773
|
const { groups, options } = getFontControlConfig();
|
|
10726
|
-
return (0,
|
|
10774
|
+
return (0, import_react85.useMemo)(() => {
|
|
10727
10775
|
if (!groups || !options) {
|
|
10728
10776
|
return [];
|
|
10729
10777
|
}
|