@elementor/editor-controls 0.30.1 → 0.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/dist/index.d.mts +9 -2
- package/dist/index.d.ts +9 -2
- package/dist/index.js +373 -236
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +303 -168
- package/dist/index.mjs.map +1 -1
- package/package.json +7 -6
- package/src/components/text-field-inner-selection.tsx +3 -0
- package/src/controls/aspect-ratio-control.tsx +121 -0
- package/src/controls/background-control/background-control.tsx +10 -1
- package/src/controls/background-control/background-overlay/background-overlay-repeater-control.tsx +6 -6
- package/src/controls/box-shadow-repeater-control.tsx +1 -15
- package/src/controls/color-control.tsx +34 -11
- package/src/controls/link-control.tsx +1 -1
- package/src/controls/size-control.tsx +31 -1
- package/src/controls/switch-control.tsx +20 -0
- package/src/index.ts +2 -0
package/dist/index.mjs
CHANGED
|
@@ -433,6 +433,7 @@ var TextAreaControl = createControl(({ placeholder }) => {
|
|
|
433
433
|
|
|
434
434
|
// src/controls/size-control.tsx
|
|
435
435
|
import * as React14 from "react";
|
|
436
|
+
import { useRef } from "react";
|
|
436
437
|
import { sizePropTypeUtil, stringPropTypeUtil as stringPropTypeUtil4 } from "@elementor/editor-props";
|
|
437
438
|
import { InputAdornment as InputAdornment2 } from "@elementor/ui";
|
|
438
439
|
|
|
@@ -449,6 +450,7 @@ var TextFieldInnerSelection = forwardRef(
|
|
|
449
450
|
onChange,
|
|
450
451
|
onBlur,
|
|
451
452
|
onKeyDown,
|
|
453
|
+
onKeyUp,
|
|
452
454
|
endAdornment,
|
|
453
455
|
startAdornment
|
|
454
456
|
}, ref) => {
|
|
@@ -462,6 +464,7 @@ var TextFieldInnerSelection = forwardRef(
|
|
|
462
464
|
value,
|
|
463
465
|
onChange,
|
|
464
466
|
onKeyDown,
|
|
467
|
+
onKeyUp,
|
|
465
468
|
onBlur,
|
|
466
469
|
placeholder,
|
|
467
470
|
InputProps: {
|
|
@@ -605,6 +608,21 @@ var SizeInput = ({
|
|
|
605
608
|
size,
|
|
606
609
|
unit
|
|
607
610
|
}) => {
|
|
611
|
+
const unitInputBufferRef = useRef("");
|
|
612
|
+
const handleKeyUp = (event) => {
|
|
613
|
+
const { key } = event;
|
|
614
|
+
if (!/^[a-zA-Z%]$/.test(key)) {
|
|
615
|
+
return;
|
|
616
|
+
}
|
|
617
|
+
event.preventDefault();
|
|
618
|
+
const newChar = key.toLowerCase();
|
|
619
|
+
const updatedBuffer = (unitInputBufferRef.current + newChar).slice(-3);
|
|
620
|
+
unitInputBufferRef.current = updatedBuffer;
|
|
621
|
+
const matchedUnit = units2.find((u) => u.includes(updatedBuffer)) || units2.find((u) => u.startsWith(newChar)) || units2.find((u) => u.includes(newChar));
|
|
622
|
+
if (matchedUnit) {
|
|
623
|
+
handleUnitChange(matchedUnit);
|
|
624
|
+
}
|
|
625
|
+
};
|
|
608
626
|
return /* @__PURE__ */ React14.createElement(ControlActions, null, /* @__PURE__ */ React14.createElement(
|
|
609
627
|
TextFieldInnerSelection,
|
|
610
628
|
{
|
|
@@ -621,12 +639,16 @@ var SizeInput = ({
|
|
|
621
639
|
type: "number",
|
|
622
640
|
value: Number.isNaN(size) ? "" : size,
|
|
623
641
|
onChange: handleSizeChange,
|
|
624
|
-
onBlur
|
|
642
|
+
onBlur: (event) => {
|
|
643
|
+
unitInputBufferRef.current = "";
|
|
644
|
+
onBlur?.(event);
|
|
645
|
+
},
|
|
625
646
|
onKeyDown: (event) => {
|
|
626
647
|
if (RESTRICTED_INPUT_KEYS.includes(event.key)) {
|
|
627
648
|
event.preventDefault();
|
|
628
649
|
}
|
|
629
|
-
}
|
|
650
|
+
},
|
|
651
|
+
onKeyUp: handleKeyUp
|
|
630
652
|
}
|
|
631
653
|
));
|
|
632
654
|
};
|
|
@@ -646,13 +668,38 @@ var SectionContent = ({ gap = 2, sx, children }) => /* @__PURE__ */ React15.crea
|
|
|
646
668
|
import * as React16 from "react";
|
|
647
669
|
import { colorPropTypeUtil } from "@elementor/editor-props";
|
|
648
670
|
import { UnstableColorField } from "@elementor/ui";
|
|
649
|
-
var ColorControl = createControl(
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
671
|
+
var ColorControl = createControl(
|
|
672
|
+
({ propTypeUtil = colorPropTypeUtil, anchorEl, slotProps = {}, ...props }) => {
|
|
673
|
+
const { value, setValue } = useBoundProp(propTypeUtil);
|
|
674
|
+
const handleChange = (selectedColor) => {
|
|
675
|
+
setValue(selectedColor || null);
|
|
676
|
+
};
|
|
677
|
+
return /* @__PURE__ */ React16.createElement(ControlActions, null, /* @__PURE__ */ React16.createElement(
|
|
678
|
+
UnstableColorField,
|
|
679
|
+
{
|
|
680
|
+
size: "tiny",
|
|
681
|
+
fullWidth: true,
|
|
682
|
+
value: value ?? "",
|
|
683
|
+
onChange: handleChange,
|
|
684
|
+
...props,
|
|
685
|
+
slotProps: {
|
|
686
|
+
...slotProps,
|
|
687
|
+
colorPicker: {
|
|
688
|
+
anchorEl,
|
|
689
|
+
anchorOrigin: {
|
|
690
|
+
vertical: "top",
|
|
691
|
+
horizontal: "right"
|
|
692
|
+
},
|
|
693
|
+
transformOrigin: {
|
|
694
|
+
vertical: "top",
|
|
695
|
+
horizontal: -10
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
));
|
|
701
|
+
}
|
|
702
|
+
);
|
|
656
703
|
|
|
657
704
|
// src/controls/stroke-control.tsx
|
|
658
705
|
var units = ["px", "em", "rem"];
|
|
@@ -1013,24 +1060,7 @@ var ItemContent = ({ anchorEl, bind }) => {
|
|
|
1013
1060
|
};
|
|
1014
1061
|
var Content = ({ anchorEl }) => {
|
|
1015
1062
|
const { propType, value, setValue } = useBoundProp(shadowPropTypeUtil);
|
|
1016
|
-
return /* @__PURE__ */ React24.createElement(PropProvider, { propType, value, setValue }, /* @__PURE__ */ React24.createElement(PopoverContent, { p: 1.5 }, /* @__PURE__ */ React24.createElement(PopoverGridContainer, null, /* @__PURE__ */ React24.createElement(Control2, { bind: "color", label: __5("Color", "elementor") }, /* @__PURE__ */ React24.createElement(
|
|
1017
|
-
ColorControl,
|
|
1018
|
-
{
|
|
1019
|
-
slotProps: {
|
|
1020
|
-
colorPicker: {
|
|
1021
|
-
anchorEl,
|
|
1022
|
-
anchorOrigin: {
|
|
1023
|
-
vertical: "top",
|
|
1024
|
-
horizontal: "right"
|
|
1025
|
-
},
|
|
1026
|
-
transformOrigin: {
|
|
1027
|
-
vertical: "top",
|
|
1028
|
-
horizontal: -10
|
|
1029
|
-
}
|
|
1030
|
-
}
|
|
1031
|
-
}
|
|
1032
|
-
}
|
|
1033
|
-
)), /* @__PURE__ */ React24.createElement(Control2, { bind: "position", label: __5("Position", "elementor"), sx: { overflow: "hidden" } }, /* @__PURE__ */ React24.createElement(
|
|
1063
|
+
return /* @__PURE__ */ React24.createElement(PropProvider, { propType, value, setValue }, /* @__PURE__ */ React24.createElement(PopoverContent, { p: 1.5 }, /* @__PURE__ */ React24.createElement(PopoverGridContainer, null, /* @__PURE__ */ React24.createElement(Control2, { bind: "color", label: __5("Color", "elementor") }, /* @__PURE__ */ React24.createElement(ColorControl, { anchorEl })), /* @__PURE__ */ React24.createElement(Control2, { bind: "position", label: __5("Position", "elementor"), sx: { overflow: "hidden" } }, /* @__PURE__ */ React24.createElement(
|
|
1034
1064
|
SelectControl,
|
|
1035
1065
|
{
|
|
1036
1066
|
options: [
|
|
@@ -1094,7 +1124,7 @@ import { stringPropTypeUtil as stringPropTypeUtil5 } from "@elementor/editor-pro
|
|
|
1094
1124
|
|
|
1095
1125
|
// src/components/control-toggle-button-group.tsx
|
|
1096
1126
|
import * as React26 from "react";
|
|
1097
|
-
import { useEffect as useEffect3, useMemo, useRef, useState as useState4 } from "react";
|
|
1127
|
+
import { useEffect as useEffect3, useMemo, useRef as useRef2, useState as useState4 } from "react";
|
|
1098
1128
|
import { ChevronDownIcon } from "@elementor/icons";
|
|
1099
1129
|
import {
|
|
1100
1130
|
ListItemText,
|
|
@@ -1201,7 +1231,7 @@ var SplitButtonGroup = ({
|
|
|
1201
1231
|
}) => {
|
|
1202
1232
|
const previewButton = usePreviewButton(items, value);
|
|
1203
1233
|
const [isMenuOpen, setIsMenuOpen] = useState4(false);
|
|
1204
|
-
const menuButtonRef =
|
|
1234
|
+
const menuButtonRef = useRef2(null);
|
|
1205
1235
|
const onMenuToggle = (ev) => {
|
|
1206
1236
|
setIsMenuOpen((prev) => !prev);
|
|
1207
1237
|
ev.preventDefault();
|
|
@@ -1371,7 +1401,7 @@ var NumberControl = createControl(
|
|
|
1371
1401
|
|
|
1372
1402
|
// src/controls/equal-unequal-sizes-control.tsx
|
|
1373
1403
|
import * as React30 from "react";
|
|
1374
|
-
import { useId as useId2, useRef as
|
|
1404
|
+
import { useId as useId2, useRef as useRef3 } from "react";
|
|
1375
1405
|
import { sizePropTypeUtil as sizePropTypeUtil2 } from "@elementor/editor-props";
|
|
1376
1406
|
import { bindPopover as bindPopover2, bindToggle, Grid as Grid5, Popover as Popover2, Stack as Stack7, ToggleButton as ToggleButton2, Tooltip as Tooltip3, usePopupState as usePopupState3 } from "@elementor/ui";
|
|
1377
1407
|
import { __ as __6 } from "@wordpress/i18n";
|
|
@@ -1402,7 +1432,7 @@ function EqualUnequalSizesControl({
|
|
|
1402
1432
|
multiSizePropTypeUtil
|
|
1403
1433
|
}) {
|
|
1404
1434
|
const popupId = useId2();
|
|
1405
|
-
const controlRef =
|
|
1435
|
+
const controlRef = useRef3(null);
|
|
1406
1436
|
const popupState = usePopupState3({ variant: "popover", popupId });
|
|
1407
1437
|
const {
|
|
1408
1438
|
propType: multiSizePropType,
|
|
@@ -1567,7 +1597,7 @@ var Control3 = ({
|
|
|
1567
1597
|
|
|
1568
1598
|
// src/controls/font-family-control/font-family-control.tsx
|
|
1569
1599
|
import * as React32 from "react";
|
|
1570
|
-
import { useEffect as useEffect4, useRef as
|
|
1600
|
+
import { useEffect as useEffect4, useRef as useRef4, useState as useState5 } from "react";
|
|
1571
1601
|
import { stringPropTypeUtil as stringPropTypeUtil6 } from "@elementor/editor-props";
|
|
1572
1602
|
import { ChevronDownIcon as ChevronDownIcon2, SearchIcon, TextIcon, XIcon as XIcon2 } from "@elementor/icons";
|
|
1573
1603
|
import {
|
|
@@ -1702,7 +1732,7 @@ var FontFamilyControl = createControl(({ fontFamilies }) => {
|
|
|
1702
1732
|
var LIST_ITEM_HEIGHT = 36;
|
|
1703
1733
|
var LIST_ITEMS_BUFFER = 6;
|
|
1704
1734
|
var FontList = ({ fontListItems, setFontFamily, handleClose, fontFamily }) => {
|
|
1705
|
-
const containerRef =
|
|
1735
|
+
const containerRef = useRef4(null);
|
|
1706
1736
|
const selectedItem = fontListItems.find((item) => item.value === fontFamily);
|
|
1707
1737
|
const debouncedVirtualizeChange = useDebounce(({ getVirtualIndexes }) => {
|
|
1708
1738
|
getVirtualIndexes().forEach((index) => {
|
|
@@ -2018,7 +2048,7 @@ var LinkControl = createControl((props) => {
|
|
|
2018
2048
|
setValue(linkSessionValue.value);
|
|
2019
2049
|
}
|
|
2020
2050
|
setLinkSessionValue({
|
|
2021
|
-
value:
|
|
2051
|
+
value: linkSessionValue?.value,
|
|
2022
2052
|
meta: { isEnabled: newState }
|
|
2023
2053
|
});
|
|
2024
2054
|
};
|
|
@@ -2217,18 +2247,106 @@ var Control4 = ({ bind, isLinked }) => {
|
|
|
2217
2247
|
return /* @__PURE__ */ React36.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React36.createElement(SizeControl, null));
|
|
2218
2248
|
};
|
|
2219
2249
|
|
|
2250
|
+
// src/controls/aspect-ratio-control.tsx
|
|
2251
|
+
import * as React37 from "react";
|
|
2252
|
+
import { useState as useState7 } from "react";
|
|
2253
|
+
import { stringPropTypeUtil as stringPropTypeUtil8 } from "@elementor/editor-props";
|
|
2254
|
+
import { MenuListItem as MenuListItem3 } from "@elementor/editor-ui";
|
|
2255
|
+
import { Grid as Grid9, Select as Select2, Stack as Stack12, TextField as TextField8 } from "@elementor/ui";
|
|
2256
|
+
import { __ as __11 } from "@wordpress/i18n";
|
|
2257
|
+
var RATIO_OPTIONS = [
|
|
2258
|
+
{ label: __11("Auto", "elementor"), value: "auto" },
|
|
2259
|
+
{ label: "1/1", value: "1/1" },
|
|
2260
|
+
{ label: "4/3", value: "4/3" },
|
|
2261
|
+
{ label: "3/4", value: "3/4" },
|
|
2262
|
+
{ label: "16/9", value: "16/9" },
|
|
2263
|
+
{ label: "9/16", value: "9/16" },
|
|
2264
|
+
{ label: "3/2", value: "3/2" },
|
|
2265
|
+
{ label: "2/3", value: "2/3" }
|
|
2266
|
+
];
|
|
2267
|
+
var CUSTOM_RATIO = "custom";
|
|
2268
|
+
var AspectRatioControl = createControl(({ label }) => {
|
|
2269
|
+
const { value: aspectRatioValue, setValue: setAspectRatioValue } = useBoundProp(stringPropTypeUtil8);
|
|
2270
|
+
const isCustomSelected = aspectRatioValue && !RATIO_OPTIONS.some((option) => option.value === aspectRatioValue);
|
|
2271
|
+
const [initialWidth, initialHeight] = isCustomSelected ? aspectRatioValue.split("/") : ["", ""];
|
|
2272
|
+
const [isCustom, setIsCustom] = useState7(isCustomSelected);
|
|
2273
|
+
const [customWidth, setCustomWidth] = useState7(initialWidth);
|
|
2274
|
+
const [customHeight, setCustomHeight] = useState7(initialHeight);
|
|
2275
|
+
const [selectedValue, setSelectedValue] = useState7(
|
|
2276
|
+
isCustomSelected ? CUSTOM_RATIO : aspectRatioValue || ""
|
|
2277
|
+
);
|
|
2278
|
+
const handleSelectChange = (event) => {
|
|
2279
|
+
const newValue = event.target.value;
|
|
2280
|
+
const isCustomRatio = newValue === CUSTOM_RATIO;
|
|
2281
|
+
setIsCustom(isCustomRatio);
|
|
2282
|
+
setSelectedValue(newValue);
|
|
2283
|
+
if (isCustomRatio) {
|
|
2284
|
+
return;
|
|
2285
|
+
}
|
|
2286
|
+
setAspectRatioValue(newValue);
|
|
2287
|
+
};
|
|
2288
|
+
const handleCustomWidthChange = (event) => {
|
|
2289
|
+
const newWidth = event.target.value;
|
|
2290
|
+
setCustomWidth(newWidth);
|
|
2291
|
+
if (newWidth && customHeight) {
|
|
2292
|
+
setAspectRatioValue(`${newWidth}/${customHeight}`);
|
|
2293
|
+
}
|
|
2294
|
+
};
|
|
2295
|
+
const handleCustomHeightChange = (event) => {
|
|
2296
|
+
const newHeight = event.target.value;
|
|
2297
|
+
setCustomHeight(newHeight);
|
|
2298
|
+
if (customWidth && newHeight) {
|
|
2299
|
+
setAspectRatioValue(`${customWidth}/${newHeight}`);
|
|
2300
|
+
}
|
|
2301
|
+
};
|
|
2302
|
+
return /* @__PURE__ */ React37.createElement(Stack12, { direction: "column", gap: 2 }, /* @__PURE__ */ React37.createElement(Grid9, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React37.createElement(Grid9, { item: true, xs: 6 }, /* @__PURE__ */ React37.createElement(ControlLabel, null, label)), /* @__PURE__ */ React37.createElement(Grid9, { item: true, xs: 6 }, /* @__PURE__ */ React37.createElement(
|
|
2303
|
+
Select2,
|
|
2304
|
+
{
|
|
2305
|
+
sx: { overflow: "hidden" },
|
|
2306
|
+
displayEmpty: true,
|
|
2307
|
+
size: "tiny",
|
|
2308
|
+
value: selectedValue,
|
|
2309
|
+
onChange: handleSelectChange,
|
|
2310
|
+
fullWidth: true
|
|
2311
|
+
},
|
|
2312
|
+
[...RATIO_OPTIONS, { label: __11("Custom", "elementor"), value: CUSTOM_RATIO }].map(
|
|
2313
|
+
({ label: optionLabel, ...props }) => /* @__PURE__ */ React37.createElement(MenuListItem3, { key: props.value, ...props, value: props.value ?? "" }, optionLabel)
|
|
2314
|
+
)
|
|
2315
|
+
))), isCustom && /* @__PURE__ */ React37.createElement(Grid9, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React37.createElement(Grid9, { item: true, xs: 6 }, /* @__PURE__ */ React37.createElement(
|
|
2316
|
+
TextField8,
|
|
2317
|
+
{
|
|
2318
|
+
size: "tiny",
|
|
2319
|
+
type: "number",
|
|
2320
|
+
fullWidth: true,
|
|
2321
|
+
value: customWidth,
|
|
2322
|
+
onChange: handleCustomWidthChange,
|
|
2323
|
+
placeholder: __11("Width", "elementor")
|
|
2324
|
+
}
|
|
2325
|
+
)), /* @__PURE__ */ React37.createElement(Grid9, { item: true, xs: 6 }, /* @__PURE__ */ React37.createElement(
|
|
2326
|
+
TextField8,
|
|
2327
|
+
{
|
|
2328
|
+
size: "tiny",
|
|
2329
|
+
type: "number",
|
|
2330
|
+
fullWidth: true,
|
|
2331
|
+
value: customHeight,
|
|
2332
|
+
onChange: handleCustomHeightChange,
|
|
2333
|
+
placeholder: __11("Height", "elementor")
|
|
2334
|
+
}
|
|
2335
|
+
))));
|
|
2336
|
+
});
|
|
2337
|
+
|
|
2220
2338
|
// src/controls/svg-media-control.tsx
|
|
2221
|
-
import * as
|
|
2222
|
-
import { useState as
|
|
2339
|
+
import * as React39 from "react";
|
|
2340
|
+
import { useState as useState9 } from "react";
|
|
2223
2341
|
import { imageSrcPropTypeUtil as imageSrcPropTypeUtil2 } from "@elementor/editor-props";
|
|
2224
2342
|
import { UploadIcon as UploadIcon2 } from "@elementor/icons";
|
|
2225
|
-
import { Button as Button4, Card as Card2, CardMedia as CardMedia2, CardOverlay as CardOverlay2, CircularProgress as CircularProgress3, Stack as
|
|
2343
|
+
import { Button as Button4, Card as Card2, CardMedia as CardMedia2, CardOverlay as CardOverlay2, CircularProgress as CircularProgress3, Stack as Stack13, styled as styled5 } from "@elementor/ui";
|
|
2226
2344
|
import { useWpMediaAttachment as useWpMediaAttachment2, useWpMediaFrame as useWpMediaFrame2 } from "@elementor/wp-media";
|
|
2227
|
-
import { __ as
|
|
2345
|
+
import { __ as __13 } from "@wordpress/i18n";
|
|
2228
2346
|
|
|
2229
2347
|
// src/components/enable-unfiltered-modal.tsx
|
|
2230
|
-
import * as
|
|
2231
|
-
import { useState as
|
|
2348
|
+
import * as React38 from "react";
|
|
2349
|
+
import { useState as useState8 } from "react";
|
|
2232
2350
|
import { useCurrentUserCapabilities } from "@elementor/editor-current-user";
|
|
2233
2351
|
import {
|
|
2234
2352
|
Button as Button3,
|
|
@@ -2241,19 +2359,19 @@ import {
|
|
|
2241
2359
|
DialogTitle,
|
|
2242
2360
|
Divider as Divider3
|
|
2243
2361
|
} from "@elementor/ui";
|
|
2244
|
-
import { __ as
|
|
2245
|
-
var ADMIN_TITLE_TEXT =
|
|
2246
|
-
var ADMIN_CONTENT_TEXT =
|
|
2362
|
+
import { __ as __12 } from "@wordpress/i18n";
|
|
2363
|
+
var ADMIN_TITLE_TEXT = __12("Enable Unfiltered Uploads", "elementor");
|
|
2364
|
+
var ADMIN_CONTENT_TEXT = __12(
|
|
2247
2365
|
"Before you enable unfiltered files upload, note that such files include a security risk. Elementor does run a process to remove possible malicious code, but there is still risk involved when using such files.",
|
|
2248
2366
|
"elementor"
|
|
2249
2367
|
);
|
|
2250
|
-
var NON_ADMIN_TITLE_TEXT =
|
|
2251
|
-
var NON_ADMIN_CONTENT_TEXT =
|
|
2368
|
+
var NON_ADMIN_TITLE_TEXT = __12("Sorry, you can't upload that file yet", "elementor");
|
|
2369
|
+
var NON_ADMIN_CONTENT_TEXT = __12(
|
|
2252
2370
|
"This is because this file type may pose a security risk. To upload them anyway, ask the site administrator to enable unfiltered file uploads.",
|
|
2253
2371
|
"elementor"
|
|
2254
2372
|
);
|
|
2255
|
-
var ADMIN_FAILED_CONTENT_TEXT_PT1 =
|
|
2256
|
-
var ADMIN_FAILED_CONTENT_TEXT_PT2 =
|
|
2373
|
+
var ADMIN_FAILED_CONTENT_TEXT_PT1 = __12("Failed to enable unfiltered files upload.", "elementor");
|
|
2374
|
+
var ADMIN_FAILED_CONTENT_TEXT_PT2 = __12(
|
|
2257
2375
|
"You can try again, if the problem persists, please contact support.",
|
|
2258
2376
|
"elementor"
|
|
2259
2377
|
);
|
|
@@ -2261,7 +2379,7 @@ var WAIT_FOR_CLOSE_TIMEOUT_MS = 300;
|
|
|
2261
2379
|
var EnableUnfilteredModal = (props) => {
|
|
2262
2380
|
const { mutateAsync, isPending } = useUpdateUnfilteredFilesUpload();
|
|
2263
2381
|
const { canUser } = useCurrentUserCapabilities();
|
|
2264
|
-
const [isError, setIsError] =
|
|
2382
|
+
const [isError, setIsError] = useState8(false);
|
|
2265
2383
|
const canManageOptions = canUser("manage_options");
|
|
2266
2384
|
const onClose = (enabled) => {
|
|
2267
2385
|
props.onClose(enabled);
|
|
@@ -2280,9 +2398,9 @@ var EnableUnfilteredModal = (props) => {
|
|
|
2280
2398
|
}
|
|
2281
2399
|
};
|
|
2282
2400
|
const dialogProps = { ...props, isPending, handleEnable, isError, onClose };
|
|
2283
|
-
return canManageOptions ? /* @__PURE__ */
|
|
2401
|
+
return canManageOptions ? /* @__PURE__ */ React38.createElement(AdminDialog, { ...dialogProps }) : /* @__PURE__ */ React38.createElement(NonAdminDialog, { ...dialogProps });
|
|
2284
2402
|
};
|
|
2285
|
-
var AdminDialog = ({ open, onClose, handleEnable, isPending, isError }) => /* @__PURE__ */
|
|
2403
|
+
var AdminDialog = ({ open, onClose, handleEnable, isPending, isError }) => /* @__PURE__ */ React38.createElement(Dialog, { open, maxWidth: "sm", onClose: () => onClose(false) }, /* @__PURE__ */ React38.createElement(DialogHeader, { logo: false }, /* @__PURE__ */ React38.createElement(DialogTitle, null, ADMIN_TITLE_TEXT)), /* @__PURE__ */ React38.createElement(Divider3, null), /* @__PURE__ */ React38.createElement(DialogContent, null, /* @__PURE__ */ React38.createElement(DialogContentText, null, isError ? /* @__PURE__ */ React38.createElement(React38.Fragment, null, ADMIN_FAILED_CONTENT_TEXT_PT1, " ", /* @__PURE__ */ React38.createElement("br", null), " ", ADMIN_FAILED_CONTENT_TEXT_PT2) : ADMIN_CONTENT_TEXT)), /* @__PURE__ */ React38.createElement(DialogActions, null, /* @__PURE__ */ React38.createElement(Button3, { size: "medium", color: "secondary", onClick: () => onClose(false) }, __12("Cancel", "elementor")), /* @__PURE__ */ React38.createElement(
|
|
2286
2404
|
Button3,
|
|
2287
2405
|
{
|
|
2288
2406
|
size: "medium",
|
|
@@ -2291,9 +2409,9 @@ var AdminDialog = ({ open, onClose, handleEnable, isPending, isError }) => /* @_
|
|
|
2291
2409
|
color: "primary",
|
|
2292
2410
|
disabled: isPending
|
|
2293
2411
|
},
|
|
2294
|
-
isPending ? /* @__PURE__ */
|
|
2412
|
+
isPending ? /* @__PURE__ */ React38.createElement(CircularProgress2, { size: 24 }) : __12("Enable", "elementor")
|
|
2295
2413
|
)));
|
|
2296
|
-
var NonAdminDialog = ({ open, onClose }) => /* @__PURE__ */
|
|
2414
|
+
var NonAdminDialog = ({ open, onClose }) => /* @__PURE__ */ React38.createElement(Dialog, { open, maxWidth: "sm", onClose: () => onClose(false) }, /* @__PURE__ */ React38.createElement(DialogHeader, { logo: false }, /* @__PURE__ */ React38.createElement(DialogTitle, null, NON_ADMIN_TITLE_TEXT)), /* @__PURE__ */ React38.createElement(Divider3, null), /* @__PURE__ */ React38.createElement(DialogContent, null, /* @__PURE__ */ React38.createElement(DialogContentText, null, NON_ADMIN_CONTENT_TEXT)), /* @__PURE__ */ React38.createElement(DialogActions, null, /* @__PURE__ */ React38.createElement(Button3, { size: "medium", onClick: () => onClose(false), variant: "contained", color: "primary" }, __12("Got it", "elementor"))));
|
|
2297
2415
|
|
|
2298
2416
|
// src/controls/svg-media-control.tsx
|
|
2299
2417
|
var TILE_SIZE = 8;
|
|
@@ -2309,7 +2427,7 @@ var StyledCard = styled5(Card2)`
|
|
|
2309
2427
|
${TILE_SIZE / 2}px ${TILE_SIZE / 2}px;
|
|
2310
2428
|
border: none;
|
|
2311
2429
|
`;
|
|
2312
|
-
var StyledCardMediaContainer = styled5(
|
|
2430
|
+
var StyledCardMediaContainer = styled5(Stack13)`
|
|
2313
2431
|
position: relative;
|
|
2314
2432
|
height: 140px;
|
|
2315
2433
|
object-fit: contain;
|
|
@@ -2326,7 +2444,7 @@ var SvgMediaControl = createControl(() => {
|
|
|
2326
2444
|
const { data: attachment, isFetching } = useWpMediaAttachment2(id?.value || null);
|
|
2327
2445
|
const src = attachment?.url ?? url?.value ?? null;
|
|
2328
2446
|
const { data: allowSvgUpload } = useUnfilteredFilesUpload();
|
|
2329
|
-
const [unfilteredModalOpenState, setUnfilteredModalOpenState] =
|
|
2447
|
+
const [unfilteredModalOpenState, setUnfilteredModalOpenState] = useState9(false);
|
|
2330
2448
|
const { open } = useWpMediaFrame2({
|
|
2331
2449
|
mediaTypes: ["svg"],
|
|
2332
2450
|
multiple: false,
|
|
@@ -2354,15 +2472,15 @@ var SvgMediaControl = createControl(() => {
|
|
|
2354
2472
|
open(openOptions);
|
|
2355
2473
|
}
|
|
2356
2474
|
};
|
|
2357
|
-
return /* @__PURE__ */
|
|
2475
|
+
return /* @__PURE__ */ React39.createElement(Stack13, { gap: 1 }, /* @__PURE__ */ React39.createElement(EnableUnfilteredModal, { open: unfilteredModalOpenState, onClose: onCloseUnfilteredModal }), /* @__PURE__ */ React39.createElement(ControlFormLabel, null, " ", __13("SVG", "elementor"), " "), /* @__PURE__ */ React39.createElement(ControlActions, null, /* @__PURE__ */ React39.createElement(StyledCard, { variant: "outlined" }, /* @__PURE__ */ React39.createElement(StyledCardMediaContainer, null, isFetching ? /* @__PURE__ */ React39.createElement(CircularProgress3, { role: "progressbar" }) : /* @__PURE__ */ React39.createElement(
|
|
2358
2476
|
CardMedia2,
|
|
2359
2477
|
{
|
|
2360
2478
|
component: "img",
|
|
2361
2479
|
image: src,
|
|
2362
|
-
alt:
|
|
2480
|
+
alt: __13("Preview SVG", "elementor"),
|
|
2363
2481
|
sx: { maxHeight: "140px", width: "50px" }
|
|
2364
2482
|
}
|
|
2365
|
-
)), /* @__PURE__ */
|
|
2483
|
+
)), /* @__PURE__ */ React39.createElement(
|
|
2366
2484
|
CardOverlay2,
|
|
2367
2485
|
{
|
|
2368
2486
|
sx: {
|
|
@@ -2371,7 +2489,7 @@ var SvgMediaControl = createControl(() => {
|
|
|
2371
2489
|
}
|
|
2372
2490
|
}
|
|
2373
2491
|
},
|
|
2374
|
-
/* @__PURE__ */
|
|
2492
|
+
/* @__PURE__ */ React39.createElement(Stack13, { gap: 1 }, /* @__PURE__ */ React39.createElement(
|
|
2375
2493
|
Button4,
|
|
2376
2494
|
{
|
|
2377
2495
|
size: "tiny",
|
|
@@ -2379,52 +2497,53 @@ var SvgMediaControl = createControl(() => {
|
|
|
2379
2497
|
variant: "outlined",
|
|
2380
2498
|
onClick: () => handleClick(MODE_BROWSE)
|
|
2381
2499
|
},
|
|
2382
|
-
|
|
2383
|
-
), /* @__PURE__ */
|
|
2500
|
+
__13("Select SVG", "elementor")
|
|
2501
|
+
), /* @__PURE__ */ React39.createElement(
|
|
2384
2502
|
Button4,
|
|
2385
2503
|
{
|
|
2386
2504
|
size: "tiny",
|
|
2387
2505
|
variant: "text",
|
|
2388
2506
|
color: "inherit",
|
|
2389
|
-
startIcon: /* @__PURE__ */
|
|
2507
|
+
startIcon: /* @__PURE__ */ React39.createElement(UploadIcon2, null),
|
|
2390
2508
|
onClick: () => handleClick(MODE_UPLOAD)
|
|
2391
2509
|
},
|
|
2392
|
-
|
|
2510
|
+
__13("Upload", "elementor")
|
|
2393
2511
|
))
|
|
2394
2512
|
))));
|
|
2395
2513
|
});
|
|
2396
2514
|
|
|
2397
2515
|
// src/controls/background-control/background-control.tsx
|
|
2398
|
-
import * as
|
|
2516
|
+
import * as React46 from "react";
|
|
2399
2517
|
import { backgroundPropTypeUtil } from "@elementor/editor-props";
|
|
2400
|
-
import {
|
|
2401
|
-
import {
|
|
2518
|
+
import { isExperimentActive } from "@elementor/editor-v1-adapters";
|
|
2519
|
+
import { Grid as Grid15 } from "@elementor/ui";
|
|
2520
|
+
import { __ as __19 } from "@wordpress/i18n";
|
|
2402
2521
|
|
|
2403
2522
|
// src/controls/background-control/background-overlay/background-overlay-repeater-control.tsx
|
|
2404
|
-
import * as
|
|
2523
|
+
import * as React45 from "react";
|
|
2405
2524
|
import {
|
|
2406
2525
|
backgroundColorOverlayPropTypeUtil as backgroundColorOverlayPropTypeUtil2,
|
|
2407
2526
|
backgroundImageOverlayPropTypeUtil as backgroundImageOverlayPropTypeUtil2,
|
|
2408
2527
|
backgroundOverlayPropTypeUtil,
|
|
2409
2528
|
colorPropTypeUtil as colorPropTypeUtil3
|
|
2410
2529
|
} from "@elementor/editor-props";
|
|
2411
|
-
import { Box as Box5, CardMedia as CardMedia3, Grid as
|
|
2530
|
+
import { Box as Box5, CardMedia as CardMedia3, Grid as Grid14, styled as styled6, Tab, TabPanel, Tabs, UnstableColorIndicator as UnstableColorIndicator2 } from "@elementor/ui";
|
|
2412
2531
|
import { useWpMediaAttachment as useWpMediaAttachment3 } from "@elementor/wp-media";
|
|
2413
|
-
import { __ as
|
|
2532
|
+
import { __ as __18 } from "@wordpress/i18n";
|
|
2414
2533
|
|
|
2415
2534
|
// src/env.ts
|
|
2416
2535
|
import { parseEnv } from "@elementor/env";
|
|
2417
2536
|
var { env } = parseEnv("@elementor/editor-controls");
|
|
2418
2537
|
|
|
2419
2538
|
// src/controls/background-control/background-gradient-color-control.tsx
|
|
2420
|
-
import * as
|
|
2539
|
+
import * as React40 from "react";
|
|
2421
2540
|
import {
|
|
2422
2541
|
backgroundGradientOverlayPropTypeUtil,
|
|
2423
2542
|
colorPropTypeUtil as colorPropTypeUtil2,
|
|
2424
2543
|
colorStopPropTypeUtil,
|
|
2425
2544
|
gradientColorStopPropTypeUtil,
|
|
2426
2545
|
numberPropTypeUtil as numberPropTypeUtil3,
|
|
2427
|
-
stringPropTypeUtil as
|
|
2546
|
+
stringPropTypeUtil as stringPropTypeUtil9
|
|
2428
2547
|
} from "@elementor/editor-props";
|
|
2429
2548
|
import { UnstableGradientBox } from "@elementor/ui";
|
|
2430
2549
|
var BackgroundGradientColorControl = createControl(() => {
|
|
@@ -2432,13 +2551,13 @@ var BackgroundGradientColorControl = createControl(() => {
|
|
|
2432
2551
|
const handleChange = (newValue) => {
|
|
2433
2552
|
const transformedValue = createTransformableValue(newValue);
|
|
2434
2553
|
if (transformedValue.positions) {
|
|
2435
|
-
transformedValue.positions =
|
|
2554
|
+
transformedValue.positions = stringPropTypeUtil9.create(newValue.positions.join(" "));
|
|
2436
2555
|
}
|
|
2437
2556
|
setValue(transformedValue);
|
|
2438
2557
|
};
|
|
2439
2558
|
const createTransformableValue = (newValue) => ({
|
|
2440
2559
|
...newValue,
|
|
2441
|
-
type:
|
|
2560
|
+
type: stringPropTypeUtil9.create(newValue.type),
|
|
2442
2561
|
angle: numberPropTypeUtil3.create(newValue.angle),
|
|
2443
2562
|
stops: gradientColorStopPropTypeUtil.create(
|
|
2444
2563
|
newValue.stops.map(
|
|
@@ -2464,7 +2583,7 @@ var BackgroundGradientColorControl = createControl(() => {
|
|
|
2464
2583
|
positions: positions?.value.split(" ")
|
|
2465
2584
|
};
|
|
2466
2585
|
};
|
|
2467
|
-
return /* @__PURE__ */
|
|
2586
|
+
return /* @__PURE__ */ React40.createElement(ControlActions, null, /* @__PURE__ */ React40.createElement(
|
|
2468
2587
|
UnstableGradientBox,
|
|
2469
2588
|
{
|
|
2470
2589
|
sx: { width: "auto", padding: 1.5 },
|
|
@@ -2474,7 +2593,7 @@ var BackgroundGradientColorControl = createControl(() => {
|
|
|
2474
2593
|
));
|
|
2475
2594
|
});
|
|
2476
2595
|
var initialBackgroundGradientOverlay = backgroundGradientOverlayPropTypeUtil.create({
|
|
2477
|
-
type:
|
|
2596
|
+
type: stringPropTypeUtil9.create("linear"),
|
|
2478
2597
|
angle: numberPropTypeUtil3.create(180),
|
|
2479
2598
|
stops: gradientColorStopPropTypeUtil.create([
|
|
2480
2599
|
colorStopPropTypeUtil.create({
|
|
@@ -2489,50 +2608,50 @@ var initialBackgroundGradientOverlay = backgroundGradientOverlayPropTypeUtil.cre
|
|
|
2489
2608
|
});
|
|
2490
2609
|
|
|
2491
2610
|
// src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-attachment.tsx
|
|
2492
|
-
import * as
|
|
2611
|
+
import * as React41 from "react";
|
|
2493
2612
|
import { PinIcon, PinnedOffIcon } from "@elementor/icons";
|
|
2494
|
-
import { Grid as
|
|
2495
|
-
import { __ as
|
|
2613
|
+
import { Grid as Grid10 } from "@elementor/ui";
|
|
2614
|
+
import { __ as __14 } from "@wordpress/i18n";
|
|
2496
2615
|
var attachmentControlOptions = [
|
|
2497
2616
|
{
|
|
2498
2617
|
value: "fixed",
|
|
2499
|
-
label:
|
|
2500
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2618
|
+
label: __14("Fixed", "elementor"),
|
|
2619
|
+
renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(PinIcon, { fontSize: size }),
|
|
2501
2620
|
showTooltip: true
|
|
2502
2621
|
},
|
|
2503
2622
|
{
|
|
2504
2623
|
value: "scroll",
|
|
2505
|
-
label:
|
|
2506
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2624
|
+
label: __14("Scroll", "elementor"),
|
|
2625
|
+
renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(PinnedOffIcon, { fontSize: size }),
|
|
2507
2626
|
showTooltip: true
|
|
2508
2627
|
}
|
|
2509
2628
|
];
|
|
2510
2629
|
var BackgroundImageOverlayAttachment = () => {
|
|
2511
|
-
return /* @__PURE__ */
|
|
2630
|
+
return /* @__PURE__ */ React41.createElement(PopoverGridContainer, null, /* @__PURE__ */ React41.createElement(Grid10, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(ControlFormLabel, null, __14("Attachment", "elementor"))), /* @__PURE__ */ React41.createElement(Grid10, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end", overflow: "hidden" } }, /* @__PURE__ */ React41.createElement(ToggleControl, { options: attachmentControlOptions })));
|
|
2512
2631
|
};
|
|
2513
2632
|
|
|
2514
2633
|
// src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-position.tsx
|
|
2515
|
-
import * as
|
|
2516
|
-
import { backgroundImagePositionOffsetPropTypeUtil, stringPropTypeUtil as
|
|
2517
|
-
import { MenuListItem as
|
|
2634
|
+
import * as React42 from "react";
|
|
2635
|
+
import { backgroundImagePositionOffsetPropTypeUtil, stringPropTypeUtil as stringPropTypeUtil10 } from "@elementor/editor-props";
|
|
2636
|
+
import { MenuListItem as MenuListItem4 } from "@elementor/editor-ui";
|
|
2518
2637
|
import { LetterXIcon, LetterYIcon } from "@elementor/icons";
|
|
2519
|
-
import { Grid as
|
|
2520
|
-
import { __ as
|
|
2638
|
+
import { Grid as Grid11, Select as Select3 } from "@elementor/ui";
|
|
2639
|
+
import { __ as __15 } from "@wordpress/i18n";
|
|
2521
2640
|
var backgroundPositionOptions = [
|
|
2522
|
-
{ label:
|
|
2523
|
-
{ label:
|
|
2524
|
-
{ label:
|
|
2525
|
-
{ label:
|
|
2526
|
-
{ label:
|
|
2527
|
-
{ label:
|
|
2528
|
-
{ label:
|
|
2529
|
-
{ label:
|
|
2530
|
-
{ label:
|
|
2531
|
-
{ label:
|
|
2641
|
+
{ label: __15("Center center", "elementor"), value: "center center" },
|
|
2642
|
+
{ label: __15("Center left", "elementor"), value: "center left" },
|
|
2643
|
+
{ label: __15("Center right", "elementor"), value: "center right" },
|
|
2644
|
+
{ label: __15("Top center", "elementor"), value: "top center" },
|
|
2645
|
+
{ label: __15("Top left", "elementor"), value: "top left" },
|
|
2646
|
+
{ label: __15("Top right", "elementor"), value: "top right" },
|
|
2647
|
+
{ label: __15("Bottom center", "elementor"), value: "bottom center" },
|
|
2648
|
+
{ label: __15("Bottom left", "elementor"), value: "bottom left" },
|
|
2649
|
+
{ label: __15("Bottom right", "elementor"), value: "bottom right" },
|
|
2650
|
+
{ label: __15("Custom", "elementor"), value: "custom" }
|
|
2532
2651
|
];
|
|
2533
2652
|
var BackgroundImageOverlayPosition = () => {
|
|
2534
2653
|
const backgroundImageOffsetContext = useBoundProp(backgroundImagePositionOffsetPropTypeUtil);
|
|
2535
|
-
const stringPropContext = useBoundProp(
|
|
2654
|
+
const stringPropContext = useBoundProp(stringPropTypeUtil10);
|
|
2536
2655
|
const isCustom = !!backgroundImageOffsetContext.value;
|
|
2537
2656
|
const handlePositionChange = (event) => {
|
|
2538
2657
|
const value = event.target.value || null;
|
|
@@ -2542,56 +2661,56 @@ var BackgroundImageOverlayPosition = () => {
|
|
|
2542
2661
|
stringPropContext.setValue(value);
|
|
2543
2662
|
}
|
|
2544
2663
|
};
|
|
2545
|
-
return /* @__PURE__ */
|
|
2546
|
-
|
|
2664
|
+
return /* @__PURE__ */ React42.createElement(Grid11, { container: true, spacing: 1.5 }, /* @__PURE__ */ React42.createElement(Grid11, { item: true, xs: 12 }, /* @__PURE__ */ React42.createElement(PopoverGridContainer, null, /* @__PURE__ */ React42.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(ControlFormLabel, null, __15("Position", "elementor"))), /* @__PURE__ */ React42.createElement(Grid11, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end", overflow: "hidden" } }, /* @__PURE__ */ React42.createElement(
|
|
2665
|
+
Select3,
|
|
2547
2666
|
{
|
|
2548
2667
|
size: "tiny",
|
|
2549
2668
|
value: (backgroundImageOffsetContext.value ? "custom" : stringPropContext.value) ?? "",
|
|
2550
2669
|
onChange: handlePositionChange,
|
|
2551
2670
|
fullWidth: true
|
|
2552
2671
|
},
|
|
2553
|
-
backgroundPositionOptions.map(({ label, value }) => /* @__PURE__ */
|
|
2554
|
-
)))), isCustom ? /* @__PURE__ */
|
|
2672
|
+
backgroundPositionOptions.map(({ label, value }) => /* @__PURE__ */ React42.createElement(MenuListItem4, { key: value, value: value ?? "" }, label))
|
|
2673
|
+
)))), isCustom ? /* @__PURE__ */ React42.createElement(PropProvider, { ...backgroundImageOffsetContext }, /* @__PURE__ */ React42.createElement(Grid11, { item: true, xs: 12 }, /* @__PURE__ */ React42.createElement(Grid11, { container: true, spacing: 1.5 }, /* @__PURE__ */ React42.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(PropKeyProvider, { bind: "x" }, /* @__PURE__ */ React42.createElement(SizeControl, { startIcon: /* @__PURE__ */ React42.createElement(LetterXIcon, { fontSize: "tiny" }) }))), /* @__PURE__ */ React42.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(PropKeyProvider, { bind: "y" }, /* @__PURE__ */ React42.createElement(SizeControl, { startIcon: /* @__PURE__ */ React42.createElement(LetterYIcon, { fontSize: "tiny" }) })))))) : null);
|
|
2555
2674
|
};
|
|
2556
2675
|
|
|
2557
2676
|
// src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-repeat.tsx
|
|
2558
|
-
import * as
|
|
2677
|
+
import * as React43 from "react";
|
|
2559
2678
|
import { DotsHorizontalIcon, DotsVerticalIcon, GridDotsIcon, XIcon as XIcon4 } from "@elementor/icons";
|
|
2560
|
-
import { Grid as
|
|
2561
|
-
import { __ as
|
|
2679
|
+
import { Grid as Grid12 } from "@elementor/ui";
|
|
2680
|
+
import { __ as __16 } from "@wordpress/i18n";
|
|
2562
2681
|
var repeatControlOptions = [
|
|
2563
2682
|
{
|
|
2564
2683
|
value: "repeat",
|
|
2565
|
-
label:
|
|
2566
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2684
|
+
label: __16("Repeat", "elementor"),
|
|
2685
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(GridDotsIcon, { fontSize: size }),
|
|
2567
2686
|
showTooltip: true
|
|
2568
2687
|
},
|
|
2569
2688
|
{
|
|
2570
2689
|
value: "repeat-x",
|
|
2571
|
-
label:
|
|
2572
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2690
|
+
label: __16("Repeat-x", "elementor"),
|
|
2691
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(DotsHorizontalIcon, { fontSize: size }),
|
|
2573
2692
|
showTooltip: true
|
|
2574
2693
|
},
|
|
2575
2694
|
{
|
|
2576
2695
|
value: "repeat-y",
|
|
2577
|
-
label:
|
|
2578
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2696
|
+
label: __16("Repeat-y", "elementor"),
|
|
2697
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(DotsVerticalIcon, { fontSize: size }),
|
|
2579
2698
|
showTooltip: true
|
|
2580
2699
|
},
|
|
2581
2700
|
{
|
|
2582
2701
|
value: "no-repeat",
|
|
2583
|
-
label:
|
|
2584
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2702
|
+
label: __16("No-repeat", "elementor"),
|
|
2703
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(XIcon4, { fontSize: size }),
|
|
2585
2704
|
showTooltip: true
|
|
2586
2705
|
}
|
|
2587
2706
|
];
|
|
2588
2707
|
var BackgroundImageOverlayRepeat = () => {
|
|
2589
|
-
return /* @__PURE__ */
|
|
2708
|
+
return /* @__PURE__ */ React43.createElement(PopoverGridContainer, null, /* @__PURE__ */ React43.createElement(Grid12, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(ControlFormLabel, null, __16("Repeat", "elementor"))), /* @__PURE__ */ React43.createElement(Grid12, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React43.createElement(ToggleControl, { options: repeatControlOptions })));
|
|
2590
2709
|
};
|
|
2591
2710
|
|
|
2592
2711
|
// src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-size.tsx
|
|
2593
|
-
import * as
|
|
2594
|
-
import { backgroundImageSizeScalePropTypeUtil, stringPropTypeUtil as
|
|
2712
|
+
import * as React44 from "react";
|
|
2713
|
+
import { backgroundImageSizeScalePropTypeUtil, stringPropTypeUtil as stringPropTypeUtil11 } from "@elementor/editor-props";
|
|
2595
2714
|
import {
|
|
2596
2715
|
ArrowBarBothIcon,
|
|
2597
2716
|
ArrowsMaximizeIcon,
|
|
@@ -2600,37 +2719,37 @@ import {
|
|
|
2600
2719
|
LetterAIcon,
|
|
2601
2720
|
PencilIcon
|
|
2602
2721
|
} from "@elementor/icons";
|
|
2603
|
-
import { Grid as
|
|
2604
|
-
import { __ as
|
|
2722
|
+
import { Grid as Grid13 } from "@elementor/ui";
|
|
2723
|
+
import { __ as __17 } from "@wordpress/i18n";
|
|
2605
2724
|
var sizeControlOptions = [
|
|
2606
2725
|
{
|
|
2607
2726
|
value: "auto",
|
|
2608
|
-
label:
|
|
2609
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2727
|
+
label: __17("Auto", "elementor"),
|
|
2728
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(LetterAIcon, { fontSize: size }),
|
|
2610
2729
|
showTooltip: true
|
|
2611
2730
|
},
|
|
2612
2731
|
{
|
|
2613
2732
|
value: "cover",
|
|
2614
|
-
label:
|
|
2615
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2733
|
+
label: __17("Cover", "elementor"),
|
|
2734
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(ArrowsMaximizeIcon, { fontSize: size }),
|
|
2616
2735
|
showTooltip: true
|
|
2617
2736
|
},
|
|
2618
2737
|
{
|
|
2619
2738
|
value: "contain",
|
|
2620
|
-
label:
|
|
2621
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2739
|
+
label: __17("Contain", "elementor"),
|
|
2740
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(ArrowBarBothIcon, { fontSize: size }),
|
|
2622
2741
|
showTooltip: true
|
|
2623
2742
|
},
|
|
2624
2743
|
{
|
|
2625
2744
|
value: "custom",
|
|
2626
|
-
label:
|
|
2627
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2745
|
+
label: __17("Custom", "elementor"),
|
|
2746
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(PencilIcon, { fontSize: size }),
|
|
2628
2747
|
showTooltip: true
|
|
2629
2748
|
}
|
|
2630
2749
|
];
|
|
2631
2750
|
var BackgroundImageOverlaySize = () => {
|
|
2632
2751
|
const backgroundImageScaleContext = useBoundProp(backgroundImageSizeScalePropTypeUtil);
|
|
2633
|
-
const stringPropContext = useBoundProp(
|
|
2752
|
+
const stringPropContext = useBoundProp(stringPropTypeUtil11);
|
|
2634
2753
|
const isCustom = !!backgroundImageScaleContext.value;
|
|
2635
2754
|
const handleSizeChange = (size) => {
|
|
2636
2755
|
if (size === "custom") {
|
|
@@ -2639,7 +2758,7 @@ var BackgroundImageOverlaySize = () => {
|
|
|
2639
2758
|
stringPropContext.setValue(size);
|
|
2640
2759
|
}
|
|
2641
2760
|
};
|
|
2642
|
-
return /* @__PURE__ */
|
|
2761
|
+
return /* @__PURE__ */ React44.createElement(Grid13, { container: true, spacing: 1.5 }, /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 12 }, /* @__PURE__ */ React44.createElement(PopoverGridContainer, null, /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(ControlFormLabel, null, __17("Size", "elementor"))), /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React44.createElement(
|
|
2643
2762
|
ControlToggleButtonGroup,
|
|
2644
2763
|
{
|
|
2645
2764
|
exclusive: true,
|
|
@@ -2647,23 +2766,23 @@ var BackgroundImageOverlaySize = () => {
|
|
|
2647
2766
|
value: backgroundImageScaleContext.value ? "custom" : stringPropContext.value,
|
|
2648
2767
|
onChange: handleSizeChange
|
|
2649
2768
|
}
|
|
2650
|
-
)))), isCustom ? /* @__PURE__ */
|
|
2769
|
+
)))), isCustom ? /* @__PURE__ */ React44.createElement(PropProvider, { ...backgroundImageScaleContext }, /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 12 }, /* @__PURE__ */ React44.createElement(PopoverGridContainer, null, /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(PropKeyProvider, { bind: "width" }, /* @__PURE__ */ React44.createElement(
|
|
2651
2770
|
SizeControl,
|
|
2652
2771
|
{
|
|
2653
|
-
startIcon: /* @__PURE__ */
|
|
2772
|
+
startIcon: /* @__PURE__ */ React44.createElement(ArrowsMoveHorizontalIcon, { fontSize: "tiny" }),
|
|
2654
2773
|
extendedValues: ["auto"]
|
|
2655
2774
|
}
|
|
2656
|
-
))), /* @__PURE__ */
|
|
2775
|
+
))), /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(PropKeyProvider, { bind: "height" }, /* @__PURE__ */ React44.createElement(
|
|
2657
2776
|
SizeControl,
|
|
2658
2777
|
{
|
|
2659
|
-
startIcon: /* @__PURE__ */
|
|
2778
|
+
startIcon: /* @__PURE__ */ React44.createElement(ArrowsMoveVerticalIcon, { fontSize: "tiny" }),
|
|
2660
2779
|
extendedValues: ["auto"]
|
|
2661
2780
|
}
|
|
2662
2781
|
)))))) : null);
|
|
2663
2782
|
};
|
|
2664
2783
|
|
|
2665
2784
|
// src/controls/background-control/background-overlay/use-background-tabs-history.ts
|
|
2666
|
-
import { useRef as
|
|
2785
|
+
import { useRef as useRef5 } from "react";
|
|
2667
2786
|
import {
|
|
2668
2787
|
backgroundColorOverlayPropTypeUtil,
|
|
2669
2788
|
backgroundGradientOverlayPropTypeUtil as backgroundGradientOverlayPropTypeUtil2,
|
|
@@ -2688,7 +2807,7 @@ var useBackgroundTabsHistory = ({
|
|
|
2688
2807
|
return "image";
|
|
2689
2808
|
};
|
|
2690
2809
|
const { getTabsProps, getTabProps, getTabPanelProps } = useTabs(getCurrentOverlayType());
|
|
2691
|
-
const valuesHistory =
|
|
2810
|
+
const valuesHistory = useRef5({
|
|
2692
2811
|
image: initialBackgroundImageOverlay,
|
|
2693
2812
|
color: initialBackgroundColorOverlay2,
|
|
2694
2813
|
gradient: initialBackgroundGradientOverlay2
|
|
@@ -2756,20 +2875,20 @@ var getInitialBackgroundOverlay = () => ({
|
|
|
2756
2875
|
}
|
|
2757
2876
|
});
|
|
2758
2877
|
var backgroundResolutionOptions = [
|
|
2759
|
-
{ label:
|
|
2760
|
-
{ label:
|
|
2761
|
-
{ label:
|
|
2762
|
-
{ label:
|
|
2878
|
+
{ label: __18("Thumbnail - 150 x 150", "elementor"), value: "thumbnail" },
|
|
2879
|
+
{ label: __18("Medium - 300 x 300", "elementor"), value: "medium" },
|
|
2880
|
+
{ label: __18("Large 1024 x 1024", "elementor"), value: "large" },
|
|
2881
|
+
{ label: __18("Full", "elementor"), value: "full" }
|
|
2763
2882
|
];
|
|
2764
2883
|
var BackgroundOverlayRepeaterControl = createControl(() => {
|
|
2765
2884
|
const { propType, value: overlayValues, setValue } = useBoundProp(backgroundOverlayPropTypeUtil);
|
|
2766
|
-
return /* @__PURE__ */
|
|
2885
|
+
return /* @__PURE__ */ React45.createElement(PropProvider, { propType, value: overlayValues, setValue }, /* @__PURE__ */ React45.createElement(
|
|
2767
2886
|
Repeater,
|
|
2768
2887
|
{
|
|
2769
2888
|
openOnAdd: true,
|
|
2770
2889
|
values: overlayValues ?? [],
|
|
2771
2890
|
setValues: setValue,
|
|
2772
|
-
label:
|
|
2891
|
+
label: __18("Overlay", "elementor"),
|
|
2773
2892
|
itemSettings: {
|
|
2774
2893
|
Icon: ItemIcon2,
|
|
2775
2894
|
Label: ItemLabel2,
|
|
@@ -2779,36 +2898,36 @@ var BackgroundOverlayRepeaterControl = createControl(() => {
|
|
|
2779
2898
|
}
|
|
2780
2899
|
));
|
|
2781
2900
|
});
|
|
2782
|
-
var ItemContent2 = ({ bind }) => {
|
|
2783
|
-
return /* @__PURE__ */
|
|
2901
|
+
var ItemContent2 = ({ anchorEl = null, bind }) => {
|
|
2902
|
+
return /* @__PURE__ */ React45.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React45.createElement(Content2, { anchorEl }));
|
|
2784
2903
|
};
|
|
2785
|
-
var Content2 = () => {
|
|
2904
|
+
var Content2 = ({ anchorEl }) => {
|
|
2786
2905
|
const { getTabsProps, getTabProps, getTabPanelProps } = useBackgroundTabsHistory({
|
|
2787
2906
|
image: getInitialBackgroundOverlay().value,
|
|
2788
2907
|
color: initialBackgroundColorOverlay.value,
|
|
2789
2908
|
gradient: initialBackgroundGradientOverlay.value
|
|
2790
2909
|
});
|
|
2791
|
-
return /* @__PURE__ */
|
|
2910
|
+
return /* @__PURE__ */ React45.createElement(Box5, { sx: { width: "100%" } }, /* @__PURE__ */ React45.createElement(Box5, { sx: { borderBottom: 1, borderColor: "divider" } }, /* @__PURE__ */ React45.createElement(
|
|
2792
2911
|
Tabs,
|
|
2793
2912
|
{
|
|
2794
2913
|
size: "small",
|
|
2795
2914
|
variant: "fullWidth",
|
|
2796
2915
|
...getTabsProps(),
|
|
2797
|
-
"aria-label":
|
|
2916
|
+
"aria-label": __18("Background Overlay", "elementor")
|
|
2798
2917
|
},
|
|
2799
|
-
/* @__PURE__ */
|
|
2800
|
-
/* @__PURE__ */
|
|
2801
|
-
/* @__PURE__ */
|
|
2802
|
-
)), /* @__PURE__ */
|
|
2918
|
+
/* @__PURE__ */ React45.createElement(Tab, { label: __18("Image", "elementor"), ...getTabProps("image") }),
|
|
2919
|
+
/* @__PURE__ */ React45.createElement(Tab, { label: __18("Gradient", "elementor"), ...getTabProps("gradient") }),
|
|
2920
|
+
/* @__PURE__ */ React45.createElement(Tab, { label: __18("Color", "elementor"), ...getTabProps("color") })
|
|
2921
|
+
)), /* @__PURE__ */ React45.createElement(TabPanel, { sx: { p: 1.5 }, ...getTabPanelProps("image") }, /* @__PURE__ */ React45.createElement(PopoverContent, null, /* @__PURE__ */ React45.createElement(ImageOverlayContent, null))), /* @__PURE__ */ React45.createElement(TabPanel, { sx: { p: 1.5 }, ...getTabPanelProps("gradient") }, /* @__PURE__ */ React45.createElement(BackgroundGradientColorControl, null)), /* @__PURE__ */ React45.createElement(TabPanel, { sx: { p: 1.5 }, ...getTabPanelProps("color") }, /* @__PURE__ */ React45.createElement(PopoverContent, null, /* @__PURE__ */ React45.createElement(ColorOverlayContent, { anchorEl }))));
|
|
2803
2922
|
};
|
|
2804
2923
|
var ItemIcon2 = ({ value }) => {
|
|
2805
2924
|
switch (value.$$type) {
|
|
2806
2925
|
case "background-image-overlay":
|
|
2807
|
-
return /* @__PURE__ */
|
|
2926
|
+
return /* @__PURE__ */ React45.createElement(ItemIconImage, { value });
|
|
2808
2927
|
case "background-color-overlay":
|
|
2809
|
-
return /* @__PURE__ */
|
|
2928
|
+
return /* @__PURE__ */ React45.createElement(ItemIconColor, { value });
|
|
2810
2929
|
case "background-gradient-overlay":
|
|
2811
|
-
return /* @__PURE__ */
|
|
2930
|
+
return /* @__PURE__ */ React45.createElement(ItemIconGradient, { value });
|
|
2812
2931
|
default:
|
|
2813
2932
|
return null;
|
|
2814
2933
|
}
|
|
@@ -2821,11 +2940,11 @@ var extractColorFrom = (prop) => {
|
|
|
2821
2940
|
};
|
|
2822
2941
|
var ItemIconColor = ({ value: prop }) => {
|
|
2823
2942
|
const color = extractColorFrom(prop);
|
|
2824
|
-
return /* @__PURE__ */
|
|
2943
|
+
return /* @__PURE__ */ React45.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: color });
|
|
2825
2944
|
};
|
|
2826
2945
|
var ItemIconImage = ({ value }) => {
|
|
2827
2946
|
const { imageUrl } = useImage(value);
|
|
2828
|
-
return /* @__PURE__ */
|
|
2947
|
+
return /* @__PURE__ */ React45.createElement(
|
|
2829
2948
|
CardMedia3,
|
|
2830
2949
|
{
|
|
2831
2950
|
image: imageUrl,
|
|
@@ -2840,47 +2959,47 @@ var ItemIconImage = ({ value }) => {
|
|
|
2840
2959
|
};
|
|
2841
2960
|
var ItemIconGradient = ({ value }) => {
|
|
2842
2961
|
const gradient = getGradientValue(value);
|
|
2843
|
-
return /* @__PURE__ */
|
|
2962
|
+
return /* @__PURE__ */ React45.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: gradient });
|
|
2844
2963
|
};
|
|
2845
2964
|
var ItemLabel2 = ({ value }) => {
|
|
2846
2965
|
switch (value.$$type) {
|
|
2847
2966
|
case "background-image-overlay":
|
|
2848
|
-
return /* @__PURE__ */
|
|
2967
|
+
return /* @__PURE__ */ React45.createElement(ItemLabelImage, { value });
|
|
2849
2968
|
case "background-color-overlay":
|
|
2850
|
-
return /* @__PURE__ */
|
|
2969
|
+
return /* @__PURE__ */ React45.createElement(ItemLabelColor, { value });
|
|
2851
2970
|
case "background-gradient-overlay":
|
|
2852
|
-
return /* @__PURE__ */
|
|
2971
|
+
return /* @__PURE__ */ React45.createElement(ItemLabelGradient, { value });
|
|
2853
2972
|
default:
|
|
2854
2973
|
return null;
|
|
2855
2974
|
}
|
|
2856
2975
|
};
|
|
2857
2976
|
var ItemLabelColor = ({ value: prop }) => {
|
|
2858
2977
|
const color = extractColorFrom(prop);
|
|
2859
|
-
return /* @__PURE__ */
|
|
2978
|
+
return /* @__PURE__ */ React45.createElement("span", null, color);
|
|
2860
2979
|
};
|
|
2861
2980
|
var ItemLabelImage = ({ value }) => {
|
|
2862
2981
|
const { imageTitle } = useImage(value);
|
|
2863
|
-
return /* @__PURE__ */
|
|
2982
|
+
return /* @__PURE__ */ React45.createElement("span", null, imageTitle);
|
|
2864
2983
|
};
|
|
2865
2984
|
var ItemLabelGradient = ({ value }) => {
|
|
2866
2985
|
if (value.value.type.value === "linear") {
|
|
2867
|
-
return /* @__PURE__ */
|
|
2986
|
+
return /* @__PURE__ */ React45.createElement("span", null, __18("Linear Gradient", "elementor"));
|
|
2868
2987
|
}
|
|
2869
|
-
return /* @__PURE__ */
|
|
2988
|
+
return /* @__PURE__ */ React45.createElement("span", null, __18("Radial Gradient", "elementor"));
|
|
2870
2989
|
};
|
|
2871
|
-
var ColorOverlayContent = () => {
|
|
2990
|
+
var ColorOverlayContent = ({ anchorEl }) => {
|
|
2872
2991
|
const propContext = useBoundProp(backgroundColorOverlayPropTypeUtil2);
|
|
2873
|
-
return /* @__PURE__ */
|
|
2992
|
+
return /* @__PURE__ */ React45.createElement(PropProvider, { ...propContext }, /* @__PURE__ */ React45.createElement(PropKeyProvider, { bind: "color" }, /* @__PURE__ */ React45.createElement(ColorControl, { anchorEl })));
|
|
2874
2993
|
};
|
|
2875
2994
|
var ImageOverlayContent = () => {
|
|
2876
2995
|
const propContext = useBoundProp(backgroundImageOverlayPropTypeUtil2);
|
|
2877
|
-
return /* @__PURE__ */
|
|
2996
|
+
return /* @__PURE__ */ React45.createElement(PropProvider, { ...propContext }, /* @__PURE__ */ React45.createElement(PropKeyProvider, { bind: "image" }, /* @__PURE__ */ React45.createElement(Grid14, { container: true, spacing: 1, alignItems: "center" }, /* @__PURE__ */ React45.createElement(Grid14, { item: true, xs: 12 }, /* @__PURE__ */ React45.createElement(
|
|
2878
2997
|
ImageControl,
|
|
2879
2998
|
{
|
|
2880
|
-
resolutionLabel:
|
|
2999
|
+
resolutionLabel: __18("Resolution", "elementor"),
|
|
2881
3000
|
sizes: backgroundResolutionOptions
|
|
2882
3001
|
}
|
|
2883
|
-
)))), /* @__PURE__ */
|
|
3002
|
+
)))), /* @__PURE__ */ React45.createElement(PropKeyProvider, { bind: "position" }, /* @__PURE__ */ React45.createElement(BackgroundImageOverlayPosition, null)), /* @__PURE__ */ React45.createElement(PropKeyProvider, { bind: "repeat" }, /* @__PURE__ */ React45.createElement(BackgroundImageOverlayRepeat, null)), /* @__PURE__ */ React45.createElement(PropKeyProvider, { bind: "size" }, /* @__PURE__ */ React45.createElement(BackgroundImageOverlaySize, null)), /* @__PURE__ */ React45.createElement(PropKeyProvider, { bind: "attachment" }, /* @__PURE__ */ React45.createElement(BackgroundImageOverlayAttachment, null)));
|
|
2884
3003
|
};
|
|
2885
3004
|
var StyledUnstableColorIndicator = styled6(UnstableColorIndicator2)(({ theme }) => ({
|
|
2886
3005
|
borderRadius: `${theme.shape.borderRadius / 2}px`
|
|
@@ -2918,9 +3037,24 @@ var getGradientValue = (value) => {
|
|
|
2918
3037
|
// src/controls/background-control/background-control.tsx
|
|
2919
3038
|
var BackgroundControl = createControl(() => {
|
|
2920
3039
|
const propContext = useBoundProp(backgroundPropTypeUtil);
|
|
2921
|
-
|
|
3040
|
+
const isUsingNestedProps = isExperimentActive("e_v_3_30");
|
|
3041
|
+
const colorLabel = __19("Color", "elementor");
|
|
3042
|
+
return /* @__PURE__ */ React46.createElement(PropProvider, { ...propContext }, /* @__PURE__ */ React46.createElement(SectionContent, null, /* @__PURE__ */ React46.createElement(PropKeyProvider, { bind: "background-overlay" }, /* @__PURE__ */ React46.createElement(BackgroundOverlayRepeaterControl, null)), /* @__PURE__ */ React46.createElement(PropKeyProvider, { bind: "color" }, /* @__PURE__ */ React46.createElement(Grid15, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(Grid15, { item: true, xs: 6 }, isUsingNestedProps ? /* @__PURE__ */ React46.createElement(ControlLabel, null, colorLabel) : /* @__PURE__ */ React46.createElement(ControlFormLabel, null, colorLabel)), /* @__PURE__ */ React46.createElement(Grid15, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(ColorControl, null))))));
|
|
3043
|
+
});
|
|
3044
|
+
|
|
3045
|
+
// src/controls/switch-control.tsx
|
|
3046
|
+
import * as React47 from "react";
|
|
3047
|
+
import { booleanPropTypeUtil as booleanPropTypeUtil2 } from "@elementor/editor-props";
|
|
3048
|
+
import { Switch as Switch2 } from "@elementor/ui";
|
|
3049
|
+
var SwitchControl2 = createControl(() => {
|
|
3050
|
+
const { value, setValue } = useBoundProp(booleanPropTypeUtil2);
|
|
3051
|
+
const handleChange = (event) => {
|
|
3052
|
+
setValue(event.target.checked);
|
|
3053
|
+
};
|
|
3054
|
+
return /* @__PURE__ */ React47.createElement("div", { style: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React47.createElement(Switch2, { checked: !!value, onChange: handleChange, size: "small" }));
|
|
2922
3055
|
});
|
|
2923
3056
|
export {
|
|
3057
|
+
AspectRatioControl,
|
|
2924
3058
|
BackgroundControl,
|
|
2925
3059
|
BoxShadowRepeaterControl,
|
|
2926
3060
|
ColorControl,
|
|
@@ -2943,6 +3077,7 @@ export {
|
|
|
2943
3077
|
SizeControl,
|
|
2944
3078
|
StrokeControl,
|
|
2945
3079
|
SvgMediaControl,
|
|
3080
|
+
SwitchControl2 as SwitchControl,
|
|
2946
3081
|
TextAreaControl,
|
|
2947
3082
|
TextControl,
|
|
2948
3083
|
ToggleControl,
|