@elementor/editor-controls 4.0.0-552 → 4.0.0-573
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 +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +253 -148
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +235 -131
- package/dist/index.mjs.map +1 -1
- package/package.json +15 -15
- package/src/controls/chips-control.tsx +5 -3
- package/src/controls/email-form-action-control.tsx +151 -0
- package/src/controls/inline-editing-control.tsx +37 -5
- package/src/index.ts +1 -0
package/dist/index.mjs
CHANGED
|
@@ -2185,15 +2185,15 @@ var SelectControlWrapper = createControl(
|
|
|
2185
2185
|
|
|
2186
2186
|
// src/controls/chips-control.tsx
|
|
2187
2187
|
import * as React50 from "react";
|
|
2188
|
-
import { stringArrayPropTypeUtil } from "@elementor/editor-props";
|
|
2188
|
+
import { stringArrayPropTypeUtil, stringPropTypeUtil as stringPropTypeUtil4 } from "@elementor/editor-props";
|
|
2189
2189
|
import { Autocomplete, Chip, TextField as TextField5 } from "@elementor/ui";
|
|
2190
2190
|
var SIZE6 = "tiny";
|
|
2191
2191
|
var ChipsControl = createControl(({ options }) => {
|
|
2192
2192
|
const { value, setValue, disabled } = useBoundProp(stringArrayPropTypeUtil);
|
|
2193
|
-
const selectedValues = value || [];
|
|
2193
|
+
const selectedValues = (value || []).map((item) => stringPropTypeUtil4.extract(item)).filter((val) => val !== null);
|
|
2194
2194
|
const selectedOptions = selectedValues.map((val) => options.find((opt) => opt.value === val)).filter((opt) => opt !== void 0);
|
|
2195
2195
|
const handleChange = (_, newValue) => {
|
|
2196
|
-
const values = newValue.map((option) => option.value);
|
|
2196
|
+
const values = newValue.map((option) => stringPropTypeUtil4.create(option.value));
|
|
2197
2197
|
setValue(values.length > 0 ? values : null);
|
|
2198
2198
|
};
|
|
2199
2199
|
return /* @__PURE__ */ React50.createElement(ControlActions, null, /* @__PURE__ */ React50.createElement(
|
|
@@ -2219,7 +2219,7 @@ var ChipsControl = createControl(({ options }) => {
|
|
|
2219
2219
|
|
|
2220
2220
|
// src/controls/toggle-control.tsx
|
|
2221
2221
|
import * as React54 from "react";
|
|
2222
|
-
import { stringPropTypeUtil as
|
|
2222
|
+
import { stringPropTypeUtil as stringPropTypeUtil5 } from "@elementor/editor-props";
|
|
2223
2223
|
|
|
2224
2224
|
// src/components/control-toggle-button-group.tsx
|
|
2225
2225
|
import * as React52 from "react";
|
|
@@ -2507,7 +2507,7 @@ var ToggleControl = createControl(
|
|
|
2507
2507
|
maxItems,
|
|
2508
2508
|
convertOptions = false
|
|
2509
2509
|
}) => {
|
|
2510
|
-
const { value, setValue, placeholder, disabled } = useBoundProp(
|
|
2510
|
+
const { value, setValue, placeholder, disabled } = useBoundProp(stringPropTypeUtil5);
|
|
2511
2511
|
const processedOptions = convertOptions ? convertToggleOptionsToAtomic(options) : options;
|
|
2512
2512
|
const exclusiveValues = processedOptions.filter((option) => option.exclusive).map((option) => option.value);
|
|
2513
2513
|
const handleNonExclusiveToggle = (selectedValues) => {
|
|
@@ -2885,7 +2885,7 @@ function getCssDimensionProps(label, isSiteRtl) {
|
|
|
2885
2885
|
|
|
2886
2886
|
// src/controls/font-family-control/font-family-control.tsx
|
|
2887
2887
|
import * as React59 from "react";
|
|
2888
|
-
import { stringPropTypeUtil as
|
|
2888
|
+
import { stringPropTypeUtil as stringPropTypeUtil6 } from "@elementor/editor-props";
|
|
2889
2889
|
import { ChevronDownIcon as ChevronDownIcon2, TextIcon } from "@elementor/icons";
|
|
2890
2890
|
import { bindPopover as bindPopover4, bindTrigger as bindTrigger3, Popover as Popover4, UnstableTag as UnstableTag2, usePopupState as usePopupState5 } from "@elementor/ui";
|
|
2891
2891
|
import { __ as __20 } from "@wordpress/i18n";
|
|
@@ -3064,7 +3064,7 @@ var FontFamilyControl = createControl(
|
|
|
3064
3064
|
setValue: setFontFamily,
|
|
3065
3065
|
disabled,
|
|
3066
3066
|
placeholder
|
|
3067
|
-
} = useBoundProp(
|
|
3067
|
+
} = useBoundProp(stringPropTypeUtil6);
|
|
3068
3068
|
const popoverState = usePopupState5({ variant: "popover" });
|
|
3069
3069
|
const isShowingPlaceholder = !fontFamily && placeholder;
|
|
3070
3070
|
const mapFontSubs = React59.useMemo(() => {
|
|
@@ -3221,7 +3221,7 @@ var RestrictedLinkInfotip = ({
|
|
|
3221
3221
|
// src/controls/query-control.tsx
|
|
3222
3222
|
import * as React63 from "react";
|
|
3223
3223
|
import { useMemo as useMemo7, useState as useState9 } from "react";
|
|
3224
|
-
import { numberPropTypeUtil as numberPropTypeUtil2, stringPropTypeUtil as
|
|
3224
|
+
import { numberPropTypeUtil as numberPropTypeUtil2, stringPropTypeUtil as stringPropTypeUtil7, urlPropTypeUtil as urlPropTypeUtil2 } from "@elementor/editor-props";
|
|
3225
3225
|
import { httpService as httpService2 } from "@elementor/http-client";
|
|
3226
3226
|
import { SearchIcon } from "@elementor/icons";
|
|
3227
3227
|
import { debounce as debounce2 } from "@elementor/utils";
|
|
@@ -3383,7 +3383,7 @@ var QueryControl = createControl((props) => {
|
|
|
3383
3383
|
$$type: "query",
|
|
3384
3384
|
value: {
|
|
3385
3385
|
id: numberPropTypeUtil2.create(newValue),
|
|
3386
|
-
label:
|
|
3386
|
+
label: stringPropTypeUtil7.create(findMatchingOption(options, newValue)?.label || null)
|
|
3387
3387
|
}
|
|
3388
3388
|
};
|
|
3389
3389
|
setValue(valueToSave);
|
|
@@ -3594,7 +3594,7 @@ var ToggleIconControl = ({ disabled, active, onIconClick, label }) => {
|
|
|
3594
3594
|
// src/controls/html-tag-control.tsx
|
|
3595
3595
|
import * as React67 from "react";
|
|
3596
3596
|
import { getElementLabel } from "@elementor/editor-elements";
|
|
3597
|
-
import { stringPropTypeUtil as
|
|
3597
|
+
import { stringPropTypeUtil as stringPropTypeUtil8 } from "@elementor/editor-props";
|
|
3598
3598
|
import { MenuListItem as MenuListItem3 } from "@elementor/editor-ui";
|
|
3599
3599
|
import { Select as Select2, styled as styled6, Typography as Typography5 } from "@elementor/ui";
|
|
3600
3600
|
import { __ as __24 } from "@wordpress/i18n";
|
|
@@ -3646,7 +3646,7 @@ var ConditionalControlInfotip = React66.forwardRef(
|
|
|
3646
3646
|
// src/controls/html-tag-control.tsx
|
|
3647
3647
|
var StyledSelect = styled6(Select2)(() => ({ ".MuiSelect-select.Mui-disabled": { cursor: "not-allowed" } }));
|
|
3648
3648
|
var HtmlTagControl = createControl(({ options, onChange, fallbackLabels = {} }) => {
|
|
3649
|
-
const { value, setValue, disabled, placeholder } = useBoundProp(
|
|
3649
|
+
const { value, setValue, disabled, placeholder } = useBoundProp(stringPropTypeUtil8);
|
|
3650
3650
|
const handleChange = (event) => {
|
|
3651
3651
|
const newValue = event.target.value || null;
|
|
3652
3652
|
onChange?.(newValue, value);
|
|
@@ -3800,7 +3800,7 @@ var Control4 = ({
|
|
|
3800
3800
|
// src/controls/aspect-ratio-control.tsx
|
|
3801
3801
|
import * as React69 from "react";
|
|
3802
3802
|
import { useEffect as useEffect9, useState as useState12 } from "react";
|
|
3803
|
-
import { stringPropTypeUtil as
|
|
3803
|
+
import { stringPropTypeUtil as stringPropTypeUtil9 } from "@elementor/editor-props";
|
|
3804
3804
|
import { MenuListItem as MenuListItem4 } from "@elementor/editor-ui";
|
|
3805
3805
|
import { ArrowsMoveHorizontalIcon, ArrowsMoveVerticalIcon } from "@elementor/icons";
|
|
3806
3806
|
import { Grid as Grid12, Select as Select3, Stack as Stack12, TextField as TextField8 } from "@elementor/ui";
|
|
@@ -3817,7 +3817,7 @@ var RATIO_OPTIONS = [
|
|
|
3817
3817
|
];
|
|
3818
3818
|
var CUSTOM_RATIO = "custom";
|
|
3819
3819
|
var AspectRatioControl = createControl(({ label }) => {
|
|
3820
|
-
const { value: aspectRatioValue, setValue: setAspectRatioValue, disabled } = useBoundProp(
|
|
3820
|
+
const { value: aspectRatioValue, setValue: setAspectRatioValue, disabled } = useBoundProp(stringPropTypeUtil9);
|
|
3821
3821
|
const isCustomSelected = aspectRatioValue && !RATIO_OPTIONS.some((option) => option.value === aspectRatioValue);
|
|
3822
3822
|
const [initialWidth, initialHeight] = isCustomSelected ? aspectRatioValue.split("/") : ["", ""];
|
|
3823
3823
|
const [isCustom, setIsCustom] = useState12(isCustomSelected);
|
|
@@ -4116,7 +4116,7 @@ import {
|
|
|
4116
4116
|
colorStopPropTypeUtil,
|
|
4117
4117
|
gradientColorStopPropTypeUtil,
|
|
4118
4118
|
numberPropTypeUtil as numberPropTypeUtil3,
|
|
4119
|
-
stringPropTypeUtil as
|
|
4119
|
+
stringPropTypeUtil as stringPropTypeUtil10
|
|
4120
4120
|
} from "@elementor/editor-props";
|
|
4121
4121
|
import { UnstableGradientBox } from "@elementor/ui";
|
|
4122
4122
|
var BackgroundGradientColorControl = createControl(() => {
|
|
@@ -4124,13 +4124,13 @@ var BackgroundGradientColorControl = createControl(() => {
|
|
|
4124
4124
|
const handleChange = (newValue) => {
|
|
4125
4125
|
const transformedValue = createTransformableValue(newValue);
|
|
4126
4126
|
if (transformedValue.positions) {
|
|
4127
|
-
transformedValue.positions =
|
|
4127
|
+
transformedValue.positions = stringPropTypeUtil10.create(newValue.positions.join(" "));
|
|
4128
4128
|
}
|
|
4129
4129
|
setValue(transformedValue);
|
|
4130
4130
|
};
|
|
4131
4131
|
const createTransformableValue = (newValue) => ({
|
|
4132
4132
|
...newValue,
|
|
4133
|
-
type:
|
|
4133
|
+
type: stringPropTypeUtil10.create(newValue.type),
|
|
4134
4134
|
angle: numberPropTypeUtil3.create(newValue.angle),
|
|
4135
4135
|
stops: gradientColorStopPropTypeUtil.create(
|
|
4136
4136
|
newValue.stops.map(
|
|
@@ -4166,7 +4166,7 @@ var BackgroundGradientColorControl = createControl(() => {
|
|
|
4166
4166
|
);
|
|
4167
4167
|
});
|
|
4168
4168
|
var initialBackgroundGradientOverlay = backgroundGradientOverlayPropTypeUtil.create({
|
|
4169
|
-
type:
|
|
4169
|
+
type: stringPropTypeUtil10.create("linear"),
|
|
4170
4170
|
angle: numberPropTypeUtil3.create(180),
|
|
4171
4171
|
stops: gradientColorStopPropTypeUtil.create([
|
|
4172
4172
|
colorStopPropTypeUtil.create({
|
|
@@ -4206,7 +4206,7 @@ var BackgroundImageOverlayAttachment = () => {
|
|
|
4206
4206
|
// src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-position.tsx
|
|
4207
4207
|
import * as React74 from "react";
|
|
4208
4208
|
import { useRef as useRef11 } from "react";
|
|
4209
|
-
import { backgroundImagePositionOffsetPropTypeUtil, stringPropTypeUtil as
|
|
4209
|
+
import { backgroundImagePositionOffsetPropTypeUtil, stringPropTypeUtil as stringPropTypeUtil11 } from "@elementor/editor-props";
|
|
4210
4210
|
import { MenuListItem as MenuListItem5 } from "@elementor/editor-ui";
|
|
4211
4211
|
import { LetterXIcon, LetterYIcon } from "@elementor/icons";
|
|
4212
4212
|
import { Grid as Grid14, Select as Select4 } from "@elementor/ui";
|
|
@@ -4225,7 +4225,7 @@ var backgroundPositionOptions = [
|
|
|
4225
4225
|
];
|
|
4226
4226
|
var BackgroundImageOverlayPosition = () => {
|
|
4227
4227
|
const backgroundImageOffsetContext = useBoundProp(backgroundImagePositionOffsetPropTypeUtil);
|
|
4228
|
-
const stringPropContext = useBoundProp(
|
|
4228
|
+
const stringPropContext = useBoundProp(stringPropTypeUtil11);
|
|
4229
4229
|
const isCustom = !!backgroundImageOffsetContext.value;
|
|
4230
4230
|
const rowRef = useRef11(null);
|
|
4231
4231
|
const handlePositionChange = (event) => {
|
|
@@ -4301,7 +4301,7 @@ var BackgroundImageOverlayRepeat = () => {
|
|
|
4301
4301
|
// src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-size.tsx
|
|
4302
4302
|
import * as React76 from "react";
|
|
4303
4303
|
import { useRef as useRef12 } from "react";
|
|
4304
|
-
import { backgroundImageSizeScalePropTypeUtil, stringPropTypeUtil as
|
|
4304
|
+
import { backgroundImageSizeScalePropTypeUtil, stringPropTypeUtil as stringPropTypeUtil12 } from "@elementor/editor-props";
|
|
4305
4305
|
import {
|
|
4306
4306
|
ArrowBarBothIcon,
|
|
4307
4307
|
ArrowsMaximizeIcon,
|
|
@@ -4340,7 +4340,7 @@ var sizeControlOptions = [
|
|
|
4340
4340
|
];
|
|
4341
4341
|
var BackgroundImageOverlaySize = () => {
|
|
4342
4342
|
const backgroundImageScaleContext = useBoundProp(backgroundImageSizeScalePropTypeUtil);
|
|
4343
|
-
const stringPropContext = useBoundProp(
|
|
4343
|
+
const stringPropContext = useBoundProp(stringPropTypeUtil12);
|
|
4344
4344
|
const isCustom = !!backgroundImageScaleContext.value;
|
|
4345
4345
|
const rowRef = useRef12(null);
|
|
4346
4346
|
const handleSizeChange = (size) => {
|
|
@@ -4806,7 +4806,7 @@ import { useMemo as useMemo10, useState as useState15 } from "react";
|
|
|
4806
4806
|
import {
|
|
4807
4807
|
isTransformable,
|
|
4808
4808
|
keyValuePropTypeUtil,
|
|
4809
|
-
stringPropTypeUtil as
|
|
4809
|
+
stringPropTypeUtil as stringPropTypeUtil13
|
|
4810
4810
|
} from "@elementor/editor-props";
|
|
4811
4811
|
import { FormHelperText, FormLabel as FormLabel3, Grid as Grid18 } from "@elementor/ui";
|
|
4812
4812
|
import { __ as __35 } from "@wordpress/i18n";
|
|
@@ -4878,7 +4878,7 @@ var KeyValueControl = createControl((props = {}) => {
|
|
|
4878
4878
|
});
|
|
4879
4879
|
return;
|
|
4880
4880
|
}
|
|
4881
|
-
const extractedValue =
|
|
4881
|
+
const extractedValue = stringPropTypeUtil13.extract(newChangedValue);
|
|
4882
4882
|
setSessionState((prev) => ({
|
|
4883
4883
|
...prev,
|
|
4884
4884
|
[fieldType]: extractedValue
|
|
@@ -4918,7 +4918,7 @@ var KeyValueControl = createControl((props = {}) => {
|
|
|
4918
4918
|
|
|
4919
4919
|
// src/controls/position-control.tsx
|
|
4920
4920
|
import * as React81 from "react";
|
|
4921
|
-
import { positionPropTypeUtil, stringPropTypeUtil as
|
|
4921
|
+
import { positionPropTypeUtil, stringPropTypeUtil as stringPropTypeUtil14 } from "@elementor/editor-props";
|
|
4922
4922
|
import { MenuListItem as MenuListItem6 } from "@elementor/editor-ui";
|
|
4923
4923
|
import { LetterXIcon as LetterXIcon2, LetterYIcon as LetterYIcon2 } from "@elementor/icons";
|
|
4924
4924
|
import { Grid as Grid19, Select as Select5 } from "@elementor/ui";
|
|
@@ -4937,7 +4937,7 @@ var positionOptions = [
|
|
|
4937
4937
|
];
|
|
4938
4938
|
var PositionControl = () => {
|
|
4939
4939
|
const positionContext = useBoundProp(positionPropTypeUtil);
|
|
4940
|
-
const stringPropContext = useBoundProp(
|
|
4940
|
+
const stringPropContext = useBoundProp(stringPropTypeUtil14);
|
|
4941
4941
|
const isCustom = !!positionContext.value;
|
|
4942
4942
|
const handlePositionChange = (event) => {
|
|
4943
4943
|
const value = event.target.value || null;
|
|
@@ -6155,7 +6155,7 @@ var TransitionRepeaterControl = createControl(
|
|
|
6155
6155
|
// src/controls/date-time-control.tsx
|
|
6156
6156
|
import * as React98 from "react";
|
|
6157
6157
|
import * as dayjs from "dayjs";
|
|
6158
|
-
import { isTransformable as isTransformable2, stringPropTypeUtil as
|
|
6158
|
+
import { isTransformable as isTransformable2, stringPropTypeUtil as stringPropTypeUtil15 } from "@elementor/editor-props";
|
|
6159
6159
|
import { DateTimePropTypeUtil } from "@elementor/editor-props";
|
|
6160
6160
|
import { Box as Box21, DatePicker, LocalizationProvider, TimePicker } from "@elementor/ui";
|
|
6161
6161
|
var DATE_FORMAT = "YYYY-MM-DD";
|
|
@@ -6204,7 +6204,7 @@ var DateTimeControl = createControl(({ inputDisabled }) => {
|
|
|
6204
6204
|
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(
|
|
6205
6205
|
DatePicker,
|
|
6206
6206
|
{
|
|
6207
|
-
value: parseDateValue(
|
|
6207
|
+
value: parseDateValue(stringPropTypeUtil15.extract(value?.date)),
|
|
6208
6208
|
onChange: (v) => handleChange({ date: v }, { bind: "date" }),
|
|
6209
6209
|
disabled: inputDisabled,
|
|
6210
6210
|
slotProps: {
|
|
@@ -6216,7 +6216,7 @@ var DateTimeControl = createControl(({ inputDisabled }) => {
|
|
|
6216
6216
|
)), /* @__PURE__ */ React98.createElement(PropKeyProvider, { bind: "time" }, /* @__PURE__ */ React98.createElement(
|
|
6217
6217
|
TimePicker,
|
|
6218
6218
|
{
|
|
6219
|
-
value: parseTimeValue(
|
|
6219
|
+
value: parseTimeValue(stringPropTypeUtil15.extract(value?.time)),
|
|
6220
6220
|
onChange: (v) => handleChange({ time: v }, { bind: "time" }),
|
|
6221
6221
|
disabled: inputDisabled,
|
|
6222
6222
|
slotProps: {
|
|
@@ -6230,8 +6230,10 @@ var DateTimeControl = createControl(({ inputDisabled }) => {
|
|
|
6230
6230
|
|
|
6231
6231
|
// src/controls/inline-editing-control.tsx
|
|
6232
6232
|
import * as React100 from "react";
|
|
6233
|
-
import {
|
|
6233
|
+
import { useCallback as useCallback3, useEffect as useEffect12, useMemo as useMemo15 } from "react";
|
|
6234
|
+
import { htmlV2PropTypeUtil, parseHtmlChildren } from "@elementor/editor-props";
|
|
6234
6235
|
import { Box as Box23 } from "@elementor/ui";
|
|
6236
|
+
import { debounce as debounce4 } from "@elementor/utils";
|
|
6235
6237
|
|
|
6236
6238
|
// src/components/inline-editor.tsx
|
|
6237
6239
|
import * as React99 from "react";
|
|
@@ -6407,14 +6409,37 @@ var useOnUpdate = (callback, dependencies) => {
|
|
|
6407
6409
|
};
|
|
6408
6410
|
|
|
6409
6411
|
// src/controls/inline-editing-control.tsx
|
|
6412
|
+
var CHILDREN_PARSE_DEBOUNCE_MS = 300;
|
|
6410
6413
|
var InlineEditingControl = createControl(
|
|
6411
6414
|
({
|
|
6412
6415
|
sx,
|
|
6413
6416
|
attributes,
|
|
6414
6417
|
props
|
|
6415
6418
|
}) => {
|
|
6416
|
-
const { value, setValue } = useBoundProp(
|
|
6417
|
-
const
|
|
6419
|
+
const { value, setValue } = useBoundProp(htmlV2PropTypeUtil);
|
|
6420
|
+
const content = value?.content ?? "";
|
|
6421
|
+
const debouncedParse = useMemo15(
|
|
6422
|
+
() => debounce4((html) => {
|
|
6423
|
+
const parsed = parseHtmlChildren(html);
|
|
6424
|
+
setValue({
|
|
6425
|
+
content: parsed.content || null,
|
|
6426
|
+
children: parsed.children
|
|
6427
|
+
});
|
|
6428
|
+
}, CHILDREN_PARSE_DEBOUNCE_MS),
|
|
6429
|
+
[setValue]
|
|
6430
|
+
);
|
|
6431
|
+
const handleChange = useCallback3(
|
|
6432
|
+
(newValue) => {
|
|
6433
|
+
const html = newValue ?? "";
|
|
6434
|
+
setValue({
|
|
6435
|
+
content: html || null,
|
|
6436
|
+
children: value?.children ?? []
|
|
6437
|
+
});
|
|
6438
|
+
debouncedParse(html);
|
|
6439
|
+
},
|
|
6440
|
+
[setValue, value?.children, debouncedParse]
|
|
6441
|
+
);
|
|
6442
|
+
useEffect12(() => () => debouncedParse.cancel(), [debouncedParse]);
|
|
6418
6443
|
return /* @__PURE__ */ React100.createElement(ControlActions, null, /* @__PURE__ */ React100.createElement(
|
|
6419
6444
|
Box23,
|
|
6420
6445
|
{
|
|
@@ -6453,23 +6478,101 @@ var InlineEditingControl = createControl(
|
|
|
6453
6478
|
...attributes,
|
|
6454
6479
|
...props
|
|
6455
6480
|
},
|
|
6456
|
-
/* @__PURE__ */ React100.createElement(InlineEditor, { value:
|
|
6481
|
+
/* @__PURE__ */ React100.createElement(InlineEditor, { value: content, setValue: handleChange })
|
|
6457
6482
|
));
|
|
6458
6483
|
}
|
|
6459
6484
|
);
|
|
6460
6485
|
|
|
6486
|
+
// src/controls/email-form-action-control.tsx
|
|
6487
|
+
import * as React101 from "react";
|
|
6488
|
+
import { emailPropTypeUtil } from "@elementor/editor-props";
|
|
6489
|
+
import { CollapsibleContent } from "@elementor/editor-ui";
|
|
6490
|
+
import { Box as Box24, Divider as Divider5, Grid as Grid29, Stack as Stack16 } from "@elementor/ui";
|
|
6491
|
+
import { __ as __50 } from "@wordpress/i18n";
|
|
6492
|
+
var EmailField = ({ bind, label, placeholder }) => /* @__PURE__ */ React101.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React101.createElement(Grid29, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React101.createElement(Grid29, { item: true }, /* @__PURE__ */ React101.createElement(ControlFormLabel, null, label)), /* @__PURE__ */ React101.createElement(Grid29, { item: true }, /* @__PURE__ */ React101.createElement(TextControl, { placeholder }))));
|
|
6493
|
+
var SendToField = () => /* @__PURE__ */ React101.createElement(
|
|
6494
|
+
EmailField,
|
|
6495
|
+
{
|
|
6496
|
+
bind: "to",
|
|
6497
|
+
label: __50("Send To", "elementor"),
|
|
6498
|
+
placeholder: __50("Where should we send new submissions?", "elementor")
|
|
6499
|
+
}
|
|
6500
|
+
);
|
|
6501
|
+
var SubjectField = () => /* @__PURE__ */ React101.createElement(
|
|
6502
|
+
EmailField,
|
|
6503
|
+
{
|
|
6504
|
+
bind: "subject",
|
|
6505
|
+
label: __50("Email Subject", "elementor"),
|
|
6506
|
+
placeholder: __50("New form submission", "elementor")
|
|
6507
|
+
}
|
|
6508
|
+
);
|
|
6509
|
+
var MessageField = () => /* @__PURE__ */ React101.createElement(PropKeyProvider, { bind: "message" }, /* @__PURE__ */ React101.createElement(Grid29, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React101.createElement(Grid29, { item: true }, /* @__PURE__ */ React101.createElement(ControlFormLabel, null, __50("Message", "elementor"))), /* @__PURE__ */ React101.createElement(Grid29, { item: true }, /* @__PURE__ */ React101.createElement(
|
|
6510
|
+
TextAreaControl,
|
|
6511
|
+
{
|
|
6512
|
+
placeholder: __50(
|
|
6513
|
+
"By default, all form fields are sent via [all-fields] shortcode.",
|
|
6514
|
+
"elementor"
|
|
6515
|
+
)
|
|
6516
|
+
}
|
|
6517
|
+
))));
|
|
6518
|
+
var FromEmailField = () => /* @__PURE__ */ React101.createElement(
|
|
6519
|
+
EmailField,
|
|
6520
|
+
{
|
|
6521
|
+
bind: "from",
|
|
6522
|
+
label: __50("From email", "elementor"),
|
|
6523
|
+
placeholder: __50("What email address should appear as the sender?", "elementor")
|
|
6524
|
+
}
|
|
6525
|
+
);
|
|
6526
|
+
var FromNameField = () => /* @__PURE__ */ React101.createElement(
|
|
6527
|
+
EmailField,
|
|
6528
|
+
{
|
|
6529
|
+
bind: "from-name",
|
|
6530
|
+
label: __50("From name", "elementor"),
|
|
6531
|
+
placeholder: __50("What name should appear as the sender?", "elementor")
|
|
6532
|
+
}
|
|
6533
|
+
);
|
|
6534
|
+
var ReplyToField = () => /* @__PURE__ */ React101.createElement(EmailField, { bind: "reply-to", label: __50("Reply-to", "elementor") });
|
|
6535
|
+
var CcField = () => /* @__PURE__ */ React101.createElement(EmailField, { bind: "cc", label: __50("Cc", "elementor") });
|
|
6536
|
+
var BccField = () => /* @__PURE__ */ React101.createElement(EmailField, { bind: "bcc", label: __50("Bcc", "elementor") });
|
|
6537
|
+
var MetaDataField = () => /* @__PURE__ */ React101.createElement(PropKeyProvider, { bind: "meta-data" }, /* @__PURE__ */ React101.createElement(Stack16, { gap: 0.5 }, /* @__PURE__ */ React101.createElement(ControlLabel, null, __50("Meta data", "elementor")), /* @__PURE__ */ React101.createElement(
|
|
6538
|
+
ChipsControl,
|
|
6539
|
+
{
|
|
6540
|
+
options: [
|
|
6541
|
+
{ label: __50("Date", "elementor"), value: "date" },
|
|
6542
|
+
{ label: __50("Time", "elementor"), value: "time" },
|
|
6543
|
+
{ label: __50("Page URL", "elementor"), value: "page-url" },
|
|
6544
|
+
{ label: __50("User agent", "elementor"), value: "user-agent" },
|
|
6545
|
+
{ label: __50("Credit", "elementor"), value: "credit" }
|
|
6546
|
+
]
|
|
6547
|
+
}
|
|
6548
|
+
)));
|
|
6549
|
+
var SendAsField = () => /* @__PURE__ */ React101.createElement(PropKeyProvider, { bind: "send-as" }, /* @__PURE__ */ React101.createElement(Grid29, { container: true, direction: "column", gap: 0.5 }, /* @__PURE__ */ React101.createElement(Grid29, { item: true }, /* @__PURE__ */ React101.createElement(ControlFormLabel, null, __50("Send as", "elementor"))), /* @__PURE__ */ React101.createElement(Grid29, { item: true }, /* @__PURE__ */ React101.createElement(
|
|
6550
|
+
SelectControl,
|
|
6551
|
+
{
|
|
6552
|
+
options: [
|
|
6553
|
+
{ label: __50("HTML", "elementor"), value: "html" },
|
|
6554
|
+
{ label: __50("Plain Text", "elementor"), value: "plain" }
|
|
6555
|
+
]
|
|
6556
|
+
}
|
|
6557
|
+
))));
|
|
6558
|
+
var AdvancedSettings = () => /* @__PURE__ */ React101.createElement(CollapsibleContent, { defaultOpen: false }, /* @__PURE__ */ React101.createElement(Box24, { sx: { pt: 2 } }, /* @__PURE__ */ React101.createElement(Stack16, { gap: 2 }, /* @__PURE__ */ React101.createElement(FromNameField, null), /* @__PURE__ */ React101.createElement(ReplyToField, null), /* @__PURE__ */ React101.createElement(CcField, null), /* @__PURE__ */ React101.createElement(BccField, null), /* @__PURE__ */ React101.createElement(Divider5, null), /* @__PURE__ */ React101.createElement(MetaDataField, null), /* @__PURE__ */ React101.createElement(SendAsField, null))));
|
|
6559
|
+
var EmailFormActionControl = createControl(() => {
|
|
6560
|
+
const { value, setValue, ...propContext } = useBoundProp(emailPropTypeUtil);
|
|
6561
|
+
return /* @__PURE__ */ React101.createElement(PropProvider, { ...propContext, value, setValue }, /* @__PURE__ */ React101.createElement(Stack16, { gap: 2 }, /* @__PURE__ */ React101.createElement(ControlFormLabel, null, __50("Email settings", "elementor")), /* @__PURE__ */ React101.createElement(SendToField, null), /* @__PURE__ */ React101.createElement(SubjectField, null), /* @__PURE__ */ React101.createElement(MessageField, null), /* @__PURE__ */ React101.createElement(FromEmailField, null), /* @__PURE__ */ React101.createElement(AdvancedSettings, null)));
|
|
6562
|
+
});
|
|
6563
|
+
|
|
6461
6564
|
// src/components/promotions/display-conditions-control.tsx
|
|
6462
|
-
import * as
|
|
6565
|
+
import * as React103 from "react";
|
|
6463
6566
|
import { useRef as useRef25 } from "react";
|
|
6464
6567
|
import { SitemapIcon } from "@elementor/icons";
|
|
6465
|
-
import { IconButton as IconButton8, Stack as
|
|
6466
|
-
import { __ as
|
|
6568
|
+
import { IconButton as IconButton8, Stack as Stack17, Tooltip as Tooltip9 } from "@elementor/ui";
|
|
6569
|
+
import { __ as __51 } from "@wordpress/i18n";
|
|
6467
6570
|
|
|
6468
6571
|
// src/components/promotions/promotion-trigger.tsx
|
|
6469
|
-
import * as
|
|
6572
|
+
import * as React102 from "react";
|
|
6470
6573
|
import { forwardRef as forwardRef11, useImperativeHandle, useState as useState17 } from "react";
|
|
6471
6574
|
import { PromotionChip as PromotionChip2, PromotionInfotip } from "@elementor/editor-ui";
|
|
6472
|
-
import { Box as
|
|
6575
|
+
import { Box as Box25 } from "@elementor/ui";
|
|
6473
6576
|
function getV4Promotion(key) {
|
|
6474
6577
|
return window.elementor?.config?.v4Promotions?.[key];
|
|
6475
6578
|
}
|
|
@@ -6479,7 +6582,7 @@ var PromotionTrigger = forwardRef11(
|
|
|
6479
6582
|
const promotion = getV4Promotion(promotionKey);
|
|
6480
6583
|
const toggle = () => setIsOpen((prev) => !prev);
|
|
6481
6584
|
useImperativeHandle(ref, () => ({ toggle }), []);
|
|
6482
|
-
return /* @__PURE__ */
|
|
6585
|
+
return /* @__PURE__ */ React102.createElement(React102.Fragment, null, promotion && /* @__PURE__ */ React102.createElement(
|
|
6483
6586
|
PromotionInfotip,
|
|
6484
6587
|
{
|
|
6485
6588
|
title: promotion.title,
|
|
@@ -6492,8 +6595,8 @@ var PromotionTrigger = forwardRef11(
|
|
|
6492
6595
|
setIsOpen(false);
|
|
6493
6596
|
}
|
|
6494
6597
|
},
|
|
6495
|
-
/* @__PURE__ */
|
|
6496
|
-
|
|
6598
|
+
/* @__PURE__ */ React102.createElement(
|
|
6599
|
+
Box25,
|
|
6497
6600
|
{
|
|
6498
6601
|
onClick: (e) => {
|
|
6499
6602
|
e.stopPropagation();
|
|
@@ -6501,18 +6604,18 @@ var PromotionTrigger = forwardRef11(
|
|
|
6501
6604
|
},
|
|
6502
6605
|
sx: { cursor: "pointer", display: "inline-flex" }
|
|
6503
6606
|
},
|
|
6504
|
-
children ?? /* @__PURE__ */
|
|
6607
|
+
children ?? /* @__PURE__ */ React102.createElement(PromotionChip2, null)
|
|
6505
6608
|
)
|
|
6506
6609
|
));
|
|
6507
6610
|
}
|
|
6508
6611
|
);
|
|
6509
6612
|
|
|
6510
6613
|
// src/components/promotions/display-conditions-control.tsx
|
|
6511
|
-
var ARIA_LABEL =
|
|
6614
|
+
var ARIA_LABEL = __51("Display Conditions", "elementor");
|
|
6512
6615
|
var DisplayConditionsControl = createControl(() => {
|
|
6513
6616
|
const triggerRef = useRef25(null);
|
|
6514
|
-
return /* @__PURE__ */
|
|
6515
|
-
|
|
6617
|
+
return /* @__PURE__ */ React103.createElement(
|
|
6618
|
+
Stack17,
|
|
6516
6619
|
{
|
|
6517
6620
|
direction: "row",
|
|
6518
6621
|
spacing: 2,
|
|
@@ -6521,8 +6624,8 @@ var DisplayConditionsControl = createControl(() => {
|
|
|
6521
6624
|
alignItems: "center"
|
|
6522
6625
|
}
|
|
6523
6626
|
},
|
|
6524
|
-
/* @__PURE__ */
|
|
6525
|
-
/* @__PURE__ */
|
|
6627
|
+
/* @__PURE__ */ React103.createElement(PromotionTrigger, { ref: triggerRef, promotionKey: "displayConditions" }),
|
|
6628
|
+
/* @__PURE__ */ React103.createElement(Tooltip9, { title: ARIA_LABEL, placement: "top" }, /* @__PURE__ */ React103.createElement(
|
|
6526
6629
|
IconButton8,
|
|
6527
6630
|
{
|
|
6528
6631
|
size: "tiny",
|
|
@@ -6535,22 +6638,22 @@ var DisplayConditionsControl = createControl(() => {
|
|
|
6535
6638
|
borderRadius: 1
|
|
6536
6639
|
}
|
|
6537
6640
|
},
|
|
6538
|
-
/* @__PURE__ */
|
|
6641
|
+
/* @__PURE__ */ React103.createElement(SitemapIcon, { fontSize: "tiny", color: "disabled" })
|
|
6539
6642
|
))
|
|
6540
6643
|
);
|
|
6541
6644
|
});
|
|
6542
6645
|
|
|
6543
6646
|
// src/components/promotions/attributes-control.tsx
|
|
6544
|
-
import * as
|
|
6647
|
+
import * as React104 from "react";
|
|
6545
6648
|
import { useRef as useRef26 } from "react";
|
|
6546
6649
|
import { PlusIcon as PlusIcon3 } from "@elementor/icons";
|
|
6547
|
-
import { Stack as
|
|
6548
|
-
import { __ as
|
|
6549
|
-
var ARIA_LABEL2 =
|
|
6650
|
+
import { Stack as Stack18, Tooltip as Tooltip10 } from "@elementor/ui";
|
|
6651
|
+
import { __ as __52 } from "@wordpress/i18n";
|
|
6652
|
+
var ARIA_LABEL2 = __52("Attributes", "elementor");
|
|
6550
6653
|
var AttributesControl = createControl(() => {
|
|
6551
6654
|
const triggerRef = useRef26(null);
|
|
6552
|
-
return /* @__PURE__ */
|
|
6553
|
-
|
|
6655
|
+
return /* @__PURE__ */ React104.createElement(
|
|
6656
|
+
Stack18,
|
|
6554
6657
|
{
|
|
6555
6658
|
direction: "row",
|
|
6556
6659
|
spacing: 2,
|
|
@@ -6559,8 +6662,8 @@ var AttributesControl = createControl(() => {
|
|
|
6559
6662
|
alignItems: "center"
|
|
6560
6663
|
}
|
|
6561
6664
|
},
|
|
6562
|
-
/* @__PURE__ */
|
|
6563
|
-
/* @__PURE__ */
|
|
6665
|
+
/* @__PURE__ */ React104.createElement(PromotionTrigger, { ref: triggerRef, promotionKey: "attributes" }),
|
|
6666
|
+
/* @__PURE__ */ React104.createElement(Tooltip10, { title: ARIA_LABEL2, placement: "top" }, /* @__PURE__ */ React104.createElement(
|
|
6564
6667
|
PlusIcon3,
|
|
6565
6668
|
{
|
|
6566
6669
|
"aria-label": ARIA_LABEL2,
|
|
@@ -6574,29 +6677,29 @@ var AttributesControl = createControl(() => {
|
|
|
6574
6677
|
});
|
|
6575
6678
|
|
|
6576
6679
|
// src/components/icon-buttons/clear-icon-button.tsx
|
|
6577
|
-
import * as
|
|
6680
|
+
import * as React105 from "react";
|
|
6578
6681
|
import { BrushBigIcon } from "@elementor/icons";
|
|
6579
6682
|
import { IconButton as IconButton9, styled as styled9, Tooltip as Tooltip11 } from "@elementor/ui";
|
|
6580
6683
|
var CustomIconButton = styled9(IconButton9)(({ theme }) => ({
|
|
6581
6684
|
width: theme.spacing(2.5),
|
|
6582
6685
|
height: theme.spacing(2.5)
|
|
6583
6686
|
}));
|
|
6584
|
-
var ClearIconButton = ({ tooltipText, onClick, disabled, size = "tiny" }) => /* @__PURE__ */
|
|
6687
|
+
var ClearIconButton = ({ tooltipText, onClick, disabled, size = "tiny" }) => /* @__PURE__ */ React105.createElement(Tooltip11, { title: tooltipText, placement: "top", disableInteractive: true }, /* @__PURE__ */ React105.createElement(CustomIconButton, { "aria-label": tooltipText, size, onClick, disabled }, /* @__PURE__ */ React105.createElement(BrushBigIcon, { fontSize: size })));
|
|
6585
6688
|
|
|
6586
6689
|
// src/components/repeater/repeater.tsx
|
|
6587
|
-
import * as
|
|
6588
|
-
import { useEffect as
|
|
6690
|
+
import * as React106 from "react";
|
|
6691
|
+
import { useEffect as useEffect13, useState as useState18 } from "react";
|
|
6589
6692
|
import { CopyIcon as CopyIcon2, EyeIcon as EyeIcon2, EyeOffIcon as EyeOffIcon2, PlusIcon as PlusIcon4, XIcon as XIcon4 } from "@elementor/icons";
|
|
6590
6693
|
import {
|
|
6591
6694
|
bindPopover as bindPopover7,
|
|
6592
6695
|
bindTrigger as bindTrigger6,
|
|
6593
|
-
Box as
|
|
6696
|
+
Box as Box26,
|
|
6594
6697
|
IconButton as IconButton10,
|
|
6595
6698
|
Infotip as Infotip4,
|
|
6596
6699
|
Tooltip as Tooltip12,
|
|
6597
6700
|
usePopupState as usePopupState8
|
|
6598
6701
|
} from "@elementor/ui";
|
|
6599
|
-
import { __ as
|
|
6702
|
+
import { __ as __53 } from "@wordpress/i18n";
|
|
6600
6703
|
var SIZE10 = "tiny";
|
|
6601
6704
|
var EMPTY_OPEN_ITEM2 = -1;
|
|
6602
6705
|
var Repeater3 = ({
|
|
@@ -6677,7 +6780,7 @@ var Repeater3 = ({
|
|
|
6677
6780
|
};
|
|
6678
6781
|
const isButtonDisabled = disabled || disableAddItemButton;
|
|
6679
6782
|
const shouldShowInfotip = isButtonDisabled && addButtonInfotipContent;
|
|
6680
|
-
const addButton = /* @__PURE__ */
|
|
6783
|
+
const addButton = /* @__PURE__ */ React106.createElement(
|
|
6681
6784
|
IconButton10,
|
|
6682
6785
|
{
|
|
6683
6786
|
size: SIZE10,
|
|
@@ -6686,11 +6789,11 @@ var Repeater3 = ({
|
|
|
6686
6789
|
},
|
|
6687
6790
|
disabled: isButtonDisabled,
|
|
6688
6791
|
onClick: addRepeaterItem,
|
|
6689
|
-
"aria-label":
|
|
6792
|
+
"aria-label": __53("Add item", "elementor")
|
|
6690
6793
|
},
|
|
6691
|
-
/* @__PURE__ */
|
|
6794
|
+
/* @__PURE__ */ React106.createElement(PlusIcon4, { fontSize: SIZE10 })
|
|
6692
6795
|
);
|
|
6693
|
-
return /* @__PURE__ */
|
|
6796
|
+
return /* @__PURE__ */ React106.createElement(SectionContent, { gap: 2 }, /* @__PURE__ */ React106.createElement(RepeaterHeader, { label, adornment: ControlAdornments }, shouldShowInfotip ? /* @__PURE__ */ React106.createElement(
|
|
6694
6797
|
Infotip4,
|
|
6695
6798
|
{
|
|
6696
6799
|
placement: "right",
|
|
@@ -6698,20 +6801,20 @@ var Repeater3 = ({
|
|
|
6698
6801
|
color: "secondary",
|
|
6699
6802
|
slotProps: { popper: { sx: { width: 300 } } }
|
|
6700
6803
|
},
|
|
6701
|
-
/* @__PURE__ */
|
|
6702
|
-
) : addButton), 0 < uniqueKeys.length && /* @__PURE__ */
|
|
6804
|
+
/* @__PURE__ */ React106.createElement(Box26, { sx: { ...isButtonDisabled ? { cursor: "not-allowed" } : {} } }, addButton)
|
|
6805
|
+
) : addButton), 0 < uniqueKeys.length && /* @__PURE__ */ React106.createElement(SortableProvider, { value: uniqueKeys, onChange: onChangeOrder }, uniqueKeys.map((key) => {
|
|
6703
6806
|
const index = uniqueKeys.indexOf(key);
|
|
6704
6807
|
const value = items2[index];
|
|
6705
6808
|
if (!value) {
|
|
6706
6809
|
return null;
|
|
6707
6810
|
}
|
|
6708
|
-
return /* @__PURE__ */
|
|
6811
|
+
return /* @__PURE__ */ React106.createElement(SortableItem, { id: key, key: `sortable-${key}`, disabled: !isSortable }, /* @__PURE__ */ React106.createElement(
|
|
6709
6812
|
RepeaterItem,
|
|
6710
6813
|
{
|
|
6711
6814
|
disabled,
|
|
6712
6815
|
propDisabled: value?.disabled,
|
|
6713
|
-
label: /* @__PURE__ */
|
|
6714
|
-
startIcon: /* @__PURE__ */
|
|
6816
|
+
label: /* @__PURE__ */ React106.createElement(RepeaterItemLabelSlot, { value }, /* @__PURE__ */ React106.createElement(itemSettings.Label, { value, index })),
|
|
6817
|
+
startIcon: /* @__PURE__ */ React106.createElement(RepeaterItemIconSlot, { value }, /* @__PURE__ */ React106.createElement(itemSettings.Icon, { value })),
|
|
6715
6818
|
removeItem: () => removeRepeaterItem(index),
|
|
6716
6819
|
duplicateItem: () => duplicateRepeaterItem(index),
|
|
6717
6820
|
toggleDisableItem: () => toggleDisableRepeaterItem(index),
|
|
@@ -6723,7 +6826,7 @@ var Repeater3 = ({
|
|
|
6723
6826
|
actions: itemSettings.actions,
|
|
6724
6827
|
value
|
|
6725
6828
|
},
|
|
6726
|
-
(props) => /* @__PURE__ */
|
|
6829
|
+
(props) => /* @__PURE__ */ React106.createElement(
|
|
6727
6830
|
itemSettings.Content,
|
|
6728
6831
|
{
|
|
6729
6832
|
...props,
|
|
@@ -6753,27 +6856,27 @@ var RepeaterItem = ({
|
|
|
6753
6856
|
value
|
|
6754
6857
|
}) => {
|
|
6755
6858
|
const { popoverState, popoverProps, ref, setRef } = usePopover(openOnMount, onOpen);
|
|
6756
|
-
const duplicateLabel =
|
|
6757
|
-
const toggleLabel = propDisabled ?
|
|
6758
|
-
const removeLabel =
|
|
6759
|
-
return /* @__PURE__ */
|
|
6859
|
+
const duplicateLabel = __53("Duplicate", "elementor");
|
|
6860
|
+
const toggleLabel = propDisabled ? __53("Show", "elementor") : __53("Hide", "elementor");
|
|
6861
|
+
const removeLabel = __53("Remove", "elementor");
|
|
6862
|
+
return /* @__PURE__ */ React106.createElement(React106.Fragment, null, /* @__PURE__ */ React106.createElement(
|
|
6760
6863
|
RepeaterTag,
|
|
6761
6864
|
{
|
|
6762
6865
|
disabled,
|
|
6763
6866
|
label,
|
|
6764
6867
|
ref: setRef,
|
|
6765
|
-
"aria-label":
|
|
6868
|
+
"aria-label": __53("Open item", "elementor"),
|
|
6766
6869
|
...bindTrigger6(popoverState),
|
|
6767
6870
|
startIcon,
|
|
6768
|
-
actions: /* @__PURE__ */
|
|
6871
|
+
actions: /* @__PURE__ */ React106.createElement(React106.Fragment, null, showDuplicate && /* @__PURE__ */ React106.createElement(Tooltip12, { title: duplicateLabel, placement: "top" }, /* @__PURE__ */ React106.createElement(IconButton10, { size: SIZE10, onClick: duplicateItem, "aria-label": duplicateLabel }, /* @__PURE__ */ React106.createElement(CopyIcon2, { fontSize: SIZE10 }))), showToggle && /* @__PURE__ */ React106.createElement(Tooltip12, { title: toggleLabel, placement: "top" }, /* @__PURE__ */ React106.createElement(IconButton10, { size: SIZE10, onClick: toggleDisableItem, "aria-label": toggleLabel }, propDisabled ? /* @__PURE__ */ React106.createElement(EyeOffIcon2, { fontSize: SIZE10 }) : /* @__PURE__ */ React106.createElement(EyeIcon2, { fontSize: SIZE10 }))), actions?.(value), showRemove && /* @__PURE__ */ React106.createElement(Tooltip12, { title: removeLabel, placement: "top" }, /* @__PURE__ */ React106.createElement(IconButton10, { size: SIZE10, onClick: removeItem, "aria-label": removeLabel }, /* @__PURE__ */ React106.createElement(XIcon4, { fontSize: SIZE10 }))))
|
|
6769
6872
|
}
|
|
6770
|
-
), /* @__PURE__ */
|
|
6873
|
+
), /* @__PURE__ */ React106.createElement(RepeaterPopover, { width: ref?.getBoundingClientRect().width, ...popoverProps, anchorEl: ref }, /* @__PURE__ */ React106.createElement(Box26, null, children({ anchorEl: ref }))));
|
|
6771
6874
|
};
|
|
6772
6875
|
var usePopover = (openOnMount, onOpen) => {
|
|
6773
6876
|
const [ref, setRef] = useState18(null);
|
|
6774
6877
|
const popoverState = usePopupState8({ variant: "popover" });
|
|
6775
6878
|
const popoverProps = bindPopover7(popoverState);
|
|
6776
|
-
|
|
6879
|
+
useEffect13(() => {
|
|
6777
6880
|
if (openOnMount && ref) {
|
|
6778
6881
|
popoverState.open(ref);
|
|
6779
6882
|
onOpen?.();
|
|
@@ -6788,8 +6891,8 @@ var usePopover = (openOnMount, onOpen) => {
|
|
|
6788
6891
|
};
|
|
6789
6892
|
|
|
6790
6893
|
// src/components/inline-editor-toolbar.tsx
|
|
6791
|
-
import * as
|
|
6792
|
-
import { useMemo as
|
|
6894
|
+
import * as React108 from "react";
|
|
6895
|
+
import { useMemo as useMemo16, useRef as useRef28, useState as useState19 } from "react";
|
|
6793
6896
|
import { getContainer as getContainer2, getElementSetting } from "@elementor/editor-elements";
|
|
6794
6897
|
import {
|
|
6795
6898
|
BoldIcon,
|
|
@@ -6802,7 +6905,7 @@ import {
|
|
|
6802
6905
|
UnderlineIcon
|
|
6803
6906
|
} from "@elementor/icons";
|
|
6804
6907
|
import {
|
|
6805
|
-
Box as
|
|
6908
|
+
Box as Box27,
|
|
6806
6909
|
IconButton as IconButton11,
|
|
6807
6910
|
ToggleButton as ToggleButton3,
|
|
6808
6911
|
ToggleButtonGroup as ToggleButtonGroup2,
|
|
@@ -6811,14 +6914,14 @@ import {
|
|
|
6811
6914
|
usePopupState as usePopupState9
|
|
6812
6915
|
} from "@elementor/ui";
|
|
6813
6916
|
import { useEditorState } from "@tiptap/react";
|
|
6814
|
-
import { __ as
|
|
6917
|
+
import { __ as __55 } from "@wordpress/i18n";
|
|
6815
6918
|
|
|
6816
6919
|
// src/components/url-popover.tsx
|
|
6817
|
-
import * as
|
|
6818
|
-
import { useEffect as
|
|
6920
|
+
import * as React107 from "react";
|
|
6921
|
+
import { useEffect as useEffect14, useRef as useRef27 } from "react";
|
|
6819
6922
|
import { ExternalLinkIcon } from "@elementor/icons";
|
|
6820
|
-
import { bindPopover as bindPopover8, Popover as Popover7, Stack as
|
|
6821
|
-
import { __ as
|
|
6923
|
+
import { bindPopover as bindPopover8, Popover as Popover7, Stack as Stack19, TextField as TextField9, ToggleButton as ToggleButton2, Tooltip as Tooltip13 } from "@elementor/ui";
|
|
6924
|
+
import { __ as __54 } from "@wordpress/i18n";
|
|
6822
6925
|
var UrlPopover = ({
|
|
6823
6926
|
popupState,
|
|
6824
6927
|
restoreValue,
|
|
@@ -6829,7 +6932,7 @@ var UrlPopover = ({
|
|
|
6829
6932
|
onToggleNewTab
|
|
6830
6933
|
}) => {
|
|
6831
6934
|
const inputRef = useRef27(null);
|
|
6832
|
-
|
|
6935
|
+
useEffect14(() => {
|
|
6833
6936
|
if (popupState.isOpen) {
|
|
6834
6937
|
requestAnimationFrame(() => inputRef.current?.focus());
|
|
6835
6938
|
}
|
|
@@ -6838,7 +6941,7 @@ var UrlPopover = ({
|
|
|
6838
6941
|
restoreValue();
|
|
6839
6942
|
popupState.close();
|
|
6840
6943
|
};
|
|
6841
|
-
return /* @__PURE__ */
|
|
6944
|
+
return /* @__PURE__ */ React107.createElement(
|
|
6842
6945
|
Popover7,
|
|
6843
6946
|
{
|
|
6844
6947
|
slotProps: {
|
|
@@ -6849,30 +6952,30 @@ var UrlPopover = ({
|
|
|
6849
6952
|
transformOrigin: { vertical: "top", horizontal: "left" },
|
|
6850
6953
|
onClose: handleClose
|
|
6851
6954
|
},
|
|
6852
|
-
/* @__PURE__ */
|
|
6955
|
+
/* @__PURE__ */ React107.createElement(Stack19, { direction: "row", alignItems: "center", gap: 1, sx: { p: 1.5 } }, /* @__PURE__ */ React107.createElement(
|
|
6853
6956
|
TextField9,
|
|
6854
6957
|
{
|
|
6855
6958
|
value,
|
|
6856
6959
|
onChange,
|
|
6857
6960
|
size: "tiny",
|
|
6858
6961
|
fullWidth: true,
|
|
6859
|
-
placeholder:
|
|
6962
|
+
placeholder: __54("Type a URL", "elementor"),
|
|
6860
6963
|
inputProps: { ref: inputRef },
|
|
6861
6964
|
color: "secondary",
|
|
6862
6965
|
InputProps: { sx: { borderRadius: "8px" } },
|
|
6863
6966
|
onKeyUp: (event) => event.key === "Enter" && handleClose()
|
|
6864
6967
|
}
|
|
6865
|
-
), /* @__PURE__ */
|
|
6968
|
+
), /* @__PURE__ */ React107.createElement(Tooltip13, { title: __54("Open in a new tab", "elementor") }, /* @__PURE__ */ React107.createElement(
|
|
6866
6969
|
ToggleButton2,
|
|
6867
6970
|
{
|
|
6868
6971
|
size: "tiny",
|
|
6869
6972
|
value: "newTab",
|
|
6870
6973
|
selected: openInNewTab,
|
|
6871
6974
|
onClick: onToggleNewTab,
|
|
6872
|
-
"aria-label":
|
|
6975
|
+
"aria-label": __54("Open in a new tab", "elementor"),
|
|
6873
6976
|
sx: { borderRadius: "8px" }
|
|
6874
6977
|
},
|
|
6875
|
-
/* @__PURE__ */
|
|
6978
|
+
/* @__PURE__ */ React107.createElement(ExternalLinkIcon, { fontSize: "tiny" })
|
|
6876
6979
|
)))
|
|
6877
6980
|
);
|
|
6878
6981
|
};
|
|
@@ -6888,7 +6991,7 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
|
|
|
6888
6991
|
editor,
|
|
6889
6992
|
selector: (ctx) => possibleFormats.filter((format) => ctx.editor.isActive(format))
|
|
6890
6993
|
});
|
|
6891
|
-
const formatButtonsList =
|
|
6994
|
+
const formatButtonsList = useMemo16(() => {
|
|
6892
6995
|
const buttons = Object.values(formatButtons);
|
|
6893
6996
|
if (isElementClickable) {
|
|
6894
6997
|
return buttons.filter((button) => button.action !== "link");
|
|
@@ -6925,11 +7028,11 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
|
|
|
6925
7028
|
}
|
|
6926
7029
|
linkPopupState.close();
|
|
6927
7030
|
};
|
|
6928
|
-
|
|
7031
|
+
React108.useEffect(() => {
|
|
6929
7032
|
editor?.commands?.focus();
|
|
6930
7033
|
}, [editor]);
|
|
6931
|
-
return /* @__PURE__ */
|
|
6932
|
-
|
|
7034
|
+
return /* @__PURE__ */ React108.createElement(
|
|
7035
|
+
Box27,
|
|
6933
7036
|
{
|
|
6934
7037
|
ref: toolbarRef,
|
|
6935
7038
|
sx: {
|
|
@@ -6945,8 +7048,8 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
|
|
|
6945
7048
|
...sx
|
|
6946
7049
|
}
|
|
6947
7050
|
},
|
|
6948
|
-
/* @__PURE__ */
|
|
6949
|
-
/* @__PURE__ */
|
|
7051
|
+
/* @__PURE__ */ React108.createElement(Tooltip14, { title: clearButton.label, placement: "top", sx: { borderRadius: "8px" } }, /* @__PURE__ */ React108.createElement(IconButton11, { "aria-label": clearButton.label, onClick: () => clearButton.method(editor), size: "tiny" }, clearButton.icon)),
|
|
7052
|
+
/* @__PURE__ */ React108.createElement(
|
|
6950
7053
|
ToggleButtonGroup2,
|
|
6951
7054
|
{
|
|
6952
7055
|
value: editorState,
|
|
@@ -6968,7 +7071,7 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
|
|
|
6968
7071
|
}
|
|
6969
7072
|
}
|
|
6970
7073
|
},
|
|
6971
|
-
formatButtonsList.map((button) => /* @__PURE__ */
|
|
7074
|
+
formatButtonsList.map((button) => /* @__PURE__ */ React108.createElement(Tooltip14, { title: button.label, key: button.action, placement: "top" }, /* @__PURE__ */ React108.createElement(
|
|
6972
7075
|
ToggleButton3,
|
|
6973
7076
|
{
|
|
6974
7077
|
value: button.action,
|
|
@@ -6986,7 +7089,7 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
|
|
|
6986
7089
|
button.icon
|
|
6987
7090
|
)))
|
|
6988
7091
|
),
|
|
6989
|
-
/* @__PURE__ */
|
|
7092
|
+
/* @__PURE__ */ React108.createElement(
|
|
6990
7093
|
UrlPopover,
|
|
6991
7094
|
{
|
|
6992
7095
|
popupState: linkPopupState,
|
|
@@ -7009,64 +7112,64 @@ var checkIfElementIsClickable = (elementId) => {
|
|
|
7009
7112
|
};
|
|
7010
7113
|
var toolbarButtons = {
|
|
7011
7114
|
clear: {
|
|
7012
|
-
label:
|
|
7013
|
-
icon: /* @__PURE__ */
|
|
7115
|
+
label: __55("Clear", "elementor"),
|
|
7116
|
+
icon: /* @__PURE__ */ React108.createElement(MinusIcon2, { fontSize: "tiny" }),
|
|
7014
7117
|
action: "clear",
|
|
7015
7118
|
method: (editor) => {
|
|
7016
7119
|
editor.chain().focus().clearNodes().unsetAllMarks().run();
|
|
7017
7120
|
}
|
|
7018
7121
|
},
|
|
7019
7122
|
bold: {
|
|
7020
|
-
label:
|
|
7021
|
-
icon: /* @__PURE__ */
|
|
7123
|
+
label: __55("Bold", "elementor"),
|
|
7124
|
+
icon: /* @__PURE__ */ React108.createElement(BoldIcon, { fontSize: "tiny" }),
|
|
7022
7125
|
action: "bold",
|
|
7023
7126
|
method: (editor) => {
|
|
7024
7127
|
editor.chain().focus().toggleBold().run();
|
|
7025
7128
|
}
|
|
7026
7129
|
},
|
|
7027
7130
|
italic: {
|
|
7028
|
-
label:
|
|
7029
|
-
icon: /* @__PURE__ */
|
|
7131
|
+
label: __55("Italic", "elementor"),
|
|
7132
|
+
icon: /* @__PURE__ */ React108.createElement(ItalicIcon, { fontSize: "tiny" }),
|
|
7030
7133
|
action: "italic",
|
|
7031
7134
|
method: (editor) => {
|
|
7032
7135
|
editor.chain().focus().toggleItalic().run();
|
|
7033
7136
|
}
|
|
7034
7137
|
},
|
|
7035
7138
|
underline: {
|
|
7036
|
-
label:
|
|
7037
|
-
icon: /* @__PURE__ */
|
|
7139
|
+
label: __55("Underline", "elementor"),
|
|
7140
|
+
icon: /* @__PURE__ */ React108.createElement(UnderlineIcon, { fontSize: "tiny" }),
|
|
7038
7141
|
action: "underline",
|
|
7039
7142
|
method: (editor) => {
|
|
7040
7143
|
editor.chain().focus().toggleUnderline().run();
|
|
7041
7144
|
}
|
|
7042
7145
|
},
|
|
7043
7146
|
strike: {
|
|
7044
|
-
label:
|
|
7045
|
-
icon: /* @__PURE__ */
|
|
7147
|
+
label: __55("Strikethrough", "elementor"),
|
|
7148
|
+
icon: /* @__PURE__ */ React108.createElement(StrikethroughIcon, { fontSize: "tiny" }),
|
|
7046
7149
|
action: "strike",
|
|
7047
7150
|
method: (editor) => {
|
|
7048
7151
|
editor.chain().focus().toggleStrike().run();
|
|
7049
7152
|
}
|
|
7050
7153
|
},
|
|
7051
7154
|
superscript: {
|
|
7052
|
-
label:
|
|
7053
|
-
icon: /* @__PURE__ */
|
|
7155
|
+
label: __55("Superscript", "elementor"),
|
|
7156
|
+
icon: /* @__PURE__ */ React108.createElement(SuperscriptIcon, { fontSize: "tiny" }),
|
|
7054
7157
|
action: "superscript",
|
|
7055
7158
|
method: (editor) => {
|
|
7056
7159
|
editor.chain().focus().toggleSuperscript().run();
|
|
7057
7160
|
}
|
|
7058
7161
|
},
|
|
7059
7162
|
subscript: {
|
|
7060
|
-
label:
|
|
7061
|
-
icon: /* @__PURE__ */
|
|
7163
|
+
label: __55("Subscript", "elementor"),
|
|
7164
|
+
icon: /* @__PURE__ */ React108.createElement(SubscriptIcon, { fontSize: "tiny" }),
|
|
7062
7165
|
action: "subscript",
|
|
7063
7166
|
method: (editor) => {
|
|
7064
7167
|
editor.chain().focus().toggleSubscript().run();
|
|
7065
7168
|
}
|
|
7066
7169
|
},
|
|
7067
7170
|
link: {
|
|
7068
|
-
label:
|
|
7069
|
-
icon: /* @__PURE__ */
|
|
7171
|
+
label: __55("Link", "elementor"),
|
|
7172
|
+
icon: /* @__PURE__ */ React108.createElement(LinkIcon3, { fontSize: "tiny" }),
|
|
7070
7173
|
action: "link",
|
|
7071
7174
|
method: null
|
|
7072
7175
|
}
|
|
@@ -7075,7 +7178,7 @@ var { clear: clearButton, ...formatButtons } = toolbarButtons;
|
|
|
7075
7178
|
var possibleFormats = Object.keys(formatButtons);
|
|
7076
7179
|
|
|
7077
7180
|
// src/components/size/unstable-size-field.tsx
|
|
7078
|
-
import * as
|
|
7181
|
+
import * as React111 from "react";
|
|
7079
7182
|
import { InputAdornment as InputAdornment5 } from "@elementor/ui";
|
|
7080
7183
|
|
|
7081
7184
|
// src/hooks/use-size-value.ts
|
|
@@ -7116,7 +7219,7 @@ var differsFromExternal = (newState, externalState) => {
|
|
|
7116
7219
|
};
|
|
7117
7220
|
|
|
7118
7221
|
// src/components/size/unit-select.tsx
|
|
7119
|
-
import * as
|
|
7222
|
+
import * as React109 from "react";
|
|
7120
7223
|
import { useId as useId3 } from "react";
|
|
7121
7224
|
import { MenuListItem as MenuListItem7 } from "@elementor/editor-ui";
|
|
7122
7225
|
import { bindMenu as bindMenu2, bindTrigger as bindTrigger7, Button as Button5, Menu as Menu3, styled as styled10, usePopupState as usePopupState10 } from "@elementor/ui";
|
|
@@ -7134,7 +7237,7 @@ var UnitSelect = ({ value, showPrimaryColor, onClick, options }) => {
|
|
|
7134
7237
|
onClick(options[index]);
|
|
7135
7238
|
popupState.close();
|
|
7136
7239
|
};
|
|
7137
|
-
return /* @__PURE__ */
|
|
7240
|
+
return /* @__PURE__ */ React109.createElement(React109.Fragment, null, /* @__PURE__ */ React109.createElement(StyledButton2, { isPrimaryColor: showPrimaryColor, size: "small", ...bindTrigger7(popupState) }, value), /* @__PURE__ */ React109.createElement(Menu3, { MenuListProps: { dense: true }, ...bindMenu2(popupState) }, options.map((option, index) => /* @__PURE__ */ React109.createElement(
|
|
7138
7241
|
MenuListItem7,
|
|
7139
7242
|
{
|
|
7140
7243
|
key: option,
|
|
@@ -7163,11 +7266,11 @@ var StyledButton2 = styled10(Button5, {
|
|
|
7163
7266
|
}));
|
|
7164
7267
|
|
|
7165
7268
|
// src/components/size/unstable-size-input.tsx
|
|
7166
|
-
import * as
|
|
7269
|
+
import * as React110 from "react";
|
|
7167
7270
|
import { forwardRef as forwardRef12 } from "react";
|
|
7168
7271
|
var UnstableSizeInput = forwardRef12(
|
|
7169
7272
|
({ type, value, onChange, onKeyDown, onKeyUp, InputProps, onBlur, focused, disabled }, ref) => {
|
|
7170
|
-
return /* @__PURE__ */
|
|
7273
|
+
return /* @__PURE__ */ React110.createElement(
|
|
7171
7274
|
NumberInput,
|
|
7172
7275
|
{
|
|
7173
7276
|
ref,
|
|
@@ -7211,7 +7314,7 @@ var UnstableSizeField = ({
|
|
|
7211
7314
|
const shouldHighlightUnit = () => {
|
|
7212
7315
|
return hasValue(size);
|
|
7213
7316
|
};
|
|
7214
|
-
return /* @__PURE__ */
|
|
7317
|
+
return /* @__PURE__ */ React111.createElement(
|
|
7215
7318
|
UnstableSizeInput,
|
|
7216
7319
|
{
|
|
7217
7320
|
type: "number",
|
|
@@ -7220,7 +7323,7 @@ var UnstableSizeField = ({
|
|
|
7220
7323
|
onChange: (event) => setSize(event.target.value),
|
|
7221
7324
|
InputProps: {
|
|
7222
7325
|
...InputProps,
|
|
7223
|
-
endAdornment: /* @__PURE__ */
|
|
7326
|
+
endAdornment: /* @__PURE__ */ React111.createElement(InputAdornment5, { position: "end" }, /* @__PURE__ */ React111.createElement(
|
|
7224
7327
|
UnitSelect,
|
|
7225
7328
|
{
|
|
7226
7329
|
options: units2,
|
|
@@ -7238,13 +7341,13 @@ var hasValue = (value) => {
|
|
|
7238
7341
|
};
|
|
7239
7342
|
|
|
7240
7343
|
// src/hooks/use-font-families.ts
|
|
7241
|
-
import { useMemo as
|
|
7344
|
+
import { useMemo as useMemo17 } from "react";
|
|
7242
7345
|
import { getElementorConfig } from "@elementor/editor-v1-adapters";
|
|
7243
|
-
import { __ as
|
|
7346
|
+
import { __ as __56 } from "@wordpress/i18n";
|
|
7244
7347
|
var supportedCategories = {
|
|
7245
|
-
system:
|
|
7246
|
-
custom:
|
|
7247
|
-
googlefonts:
|
|
7348
|
+
system: __56("System", "elementor"),
|
|
7349
|
+
custom: __56("Custom Fonts", "elementor"),
|
|
7350
|
+
googlefonts: __56("Google Fonts", "elementor")
|
|
7248
7351
|
};
|
|
7249
7352
|
var getFontFamilies = () => {
|
|
7250
7353
|
const { controls } = getElementorConfig();
|
|
@@ -7256,7 +7359,7 @@ var getFontFamilies = () => {
|
|
|
7256
7359
|
};
|
|
7257
7360
|
var useFontFamilies = () => {
|
|
7258
7361
|
const fontFamilies = getFontFamilies();
|
|
7259
|
-
return
|
|
7362
|
+
return useMemo17(() => {
|
|
7260
7363
|
const categoriesOrder = ["system", "custom", "googlefonts"];
|
|
7261
7364
|
return Object.entries(fontFamilies || {}).reduce((acc, [font, category]) => {
|
|
7262
7365
|
if (!supportedCategories[category]) {
|
|
@@ -7290,6 +7393,7 @@ export {
|
|
|
7290
7393
|
ControlToggleButtonGroup,
|
|
7291
7394
|
DateTimeControl,
|
|
7292
7395
|
DisplayConditionsControl,
|
|
7396
|
+
EmailFormActionControl,
|
|
7293
7397
|
EqualUnequalSizesControl,
|
|
7294
7398
|
FilterRepeaterControl,
|
|
7295
7399
|
FontFamilyControl,
|