@elementor/editor-controls 0.31.0 → 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 +17 -0
- package/dist/index.d.mts +7 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.js +282 -178
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +233 -131
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
- package/src/controls/aspect-ratio-control.tsx +121 -0
- package/src/controls/link-control.tsx +1 -1
- package/src/controls/switch-control.tsx +20 -0
- package/src/index.ts +2 -0
package/dist/index.mjs
CHANGED
|
@@ -2048,7 +2048,7 @@ var LinkControl = createControl((props) => {
|
|
|
2048
2048
|
setValue(linkSessionValue.value);
|
|
2049
2049
|
}
|
|
2050
2050
|
setLinkSessionValue({
|
|
2051
|
-
value:
|
|
2051
|
+
value: linkSessionValue?.value,
|
|
2052
2052
|
meta: { isEnabled: newState }
|
|
2053
2053
|
});
|
|
2054
2054
|
};
|
|
@@ -2247,18 +2247,106 @@ var Control4 = ({ bind, isLinked }) => {
|
|
|
2247
2247
|
return /* @__PURE__ */ React36.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React36.createElement(SizeControl, null));
|
|
2248
2248
|
};
|
|
2249
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
|
+
|
|
2250
2338
|
// src/controls/svg-media-control.tsx
|
|
2251
|
-
import * as
|
|
2252
|
-
import { useState as
|
|
2339
|
+
import * as React39 from "react";
|
|
2340
|
+
import { useState as useState9 } from "react";
|
|
2253
2341
|
import { imageSrcPropTypeUtil as imageSrcPropTypeUtil2 } from "@elementor/editor-props";
|
|
2254
2342
|
import { UploadIcon as UploadIcon2 } from "@elementor/icons";
|
|
2255
|
-
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";
|
|
2256
2344
|
import { useWpMediaAttachment as useWpMediaAttachment2, useWpMediaFrame as useWpMediaFrame2 } from "@elementor/wp-media";
|
|
2257
|
-
import { __ as
|
|
2345
|
+
import { __ as __13 } from "@wordpress/i18n";
|
|
2258
2346
|
|
|
2259
2347
|
// src/components/enable-unfiltered-modal.tsx
|
|
2260
|
-
import * as
|
|
2261
|
-
import { useState as
|
|
2348
|
+
import * as React38 from "react";
|
|
2349
|
+
import { useState as useState8 } from "react";
|
|
2262
2350
|
import { useCurrentUserCapabilities } from "@elementor/editor-current-user";
|
|
2263
2351
|
import {
|
|
2264
2352
|
Button as Button3,
|
|
@@ -2271,19 +2359,19 @@ import {
|
|
|
2271
2359
|
DialogTitle,
|
|
2272
2360
|
Divider as Divider3
|
|
2273
2361
|
} from "@elementor/ui";
|
|
2274
|
-
import { __ as
|
|
2275
|
-
var ADMIN_TITLE_TEXT =
|
|
2276
|
-
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(
|
|
2277
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.",
|
|
2278
2366
|
"elementor"
|
|
2279
2367
|
);
|
|
2280
|
-
var NON_ADMIN_TITLE_TEXT =
|
|
2281
|
-
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(
|
|
2282
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.",
|
|
2283
2371
|
"elementor"
|
|
2284
2372
|
);
|
|
2285
|
-
var ADMIN_FAILED_CONTENT_TEXT_PT1 =
|
|
2286
|
-
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(
|
|
2287
2375
|
"You can try again, if the problem persists, please contact support.",
|
|
2288
2376
|
"elementor"
|
|
2289
2377
|
);
|
|
@@ -2291,7 +2379,7 @@ var WAIT_FOR_CLOSE_TIMEOUT_MS = 300;
|
|
|
2291
2379
|
var EnableUnfilteredModal = (props) => {
|
|
2292
2380
|
const { mutateAsync, isPending } = useUpdateUnfilteredFilesUpload();
|
|
2293
2381
|
const { canUser } = useCurrentUserCapabilities();
|
|
2294
|
-
const [isError, setIsError] =
|
|
2382
|
+
const [isError, setIsError] = useState8(false);
|
|
2295
2383
|
const canManageOptions = canUser("manage_options");
|
|
2296
2384
|
const onClose = (enabled) => {
|
|
2297
2385
|
props.onClose(enabled);
|
|
@@ -2310,9 +2398,9 @@ var EnableUnfilteredModal = (props) => {
|
|
|
2310
2398
|
}
|
|
2311
2399
|
};
|
|
2312
2400
|
const dialogProps = { ...props, isPending, handleEnable, isError, onClose };
|
|
2313
|
-
return canManageOptions ? /* @__PURE__ */
|
|
2401
|
+
return canManageOptions ? /* @__PURE__ */ React38.createElement(AdminDialog, { ...dialogProps }) : /* @__PURE__ */ React38.createElement(NonAdminDialog, { ...dialogProps });
|
|
2314
2402
|
};
|
|
2315
|
-
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(
|
|
2316
2404
|
Button3,
|
|
2317
2405
|
{
|
|
2318
2406
|
size: "medium",
|
|
@@ -2321,9 +2409,9 @@ var AdminDialog = ({ open, onClose, handleEnable, isPending, isError }) => /* @_
|
|
|
2321
2409
|
color: "primary",
|
|
2322
2410
|
disabled: isPending
|
|
2323
2411
|
},
|
|
2324
|
-
isPending ? /* @__PURE__ */
|
|
2412
|
+
isPending ? /* @__PURE__ */ React38.createElement(CircularProgress2, { size: 24 }) : __12("Enable", "elementor")
|
|
2325
2413
|
)));
|
|
2326
|
-
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"))));
|
|
2327
2415
|
|
|
2328
2416
|
// src/controls/svg-media-control.tsx
|
|
2329
2417
|
var TILE_SIZE = 8;
|
|
@@ -2339,7 +2427,7 @@ var StyledCard = styled5(Card2)`
|
|
|
2339
2427
|
${TILE_SIZE / 2}px ${TILE_SIZE / 2}px;
|
|
2340
2428
|
border: none;
|
|
2341
2429
|
`;
|
|
2342
|
-
var StyledCardMediaContainer = styled5(
|
|
2430
|
+
var StyledCardMediaContainer = styled5(Stack13)`
|
|
2343
2431
|
position: relative;
|
|
2344
2432
|
height: 140px;
|
|
2345
2433
|
object-fit: contain;
|
|
@@ -2356,7 +2444,7 @@ var SvgMediaControl = createControl(() => {
|
|
|
2356
2444
|
const { data: attachment, isFetching } = useWpMediaAttachment2(id?.value || null);
|
|
2357
2445
|
const src = attachment?.url ?? url?.value ?? null;
|
|
2358
2446
|
const { data: allowSvgUpload } = useUnfilteredFilesUpload();
|
|
2359
|
-
const [unfilteredModalOpenState, setUnfilteredModalOpenState] =
|
|
2447
|
+
const [unfilteredModalOpenState, setUnfilteredModalOpenState] = useState9(false);
|
|
2360
2448
|
const { open } = useWpMediaFrame2({
|
|
2361
2449
|
mediaTypes: ["svg"],
|
|
2362
2450
|
multiple: false,
|
|
@@ -2384,15 +2472,15 @@ var SvgMediaControl = createControl(() => {
|
|
|
2384
2472
|
open(openOptions);
|
|
2385
2473
|
}
|
|
2386
2474
|
};
|
|
2387
|
-
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(
|
|
2388
2476
|
CardMedia2,
|
|
2389
2477
|
{
|
|
2390
2478
|
component: "img",
|
|
2391
2479
|
image: src,
|
|
2392
|
-
alt:
|
|
2480
|
+
alt: __13("Preview SVG", "elementor"),
|
|
2393
2481
|
sx: { maxHeight: "140px", width: "50px" }
|
|
2394
2482
|
}
|
|
2395
|
-
)), /* @__PURE__ */
|
|
2483
|
+
)), /* @__PURE__ */ React39.createElement(
|
|
2396
2484
|
CardOverlay2,
|
|
2397
2485
|
{
|
|
2398
2486
|
sx: {
|
|
@@ -2401,7 +2489,7 @@ var SvgMediaControl = createControl(() => {
|
|
|
2401
2489
|
}
|
|
2402
2490
|
}
|
|
2403
2491
|
},
|
|
2404
|
-
/* @__PURE__ */
|
|
2492
|
+
/* @__PURE__ */ React39.createElement(Stack13, { gap: 1 }, /* @__PURE__ */ React39.createElement(
|
|
2405
2493
|
Button4,
|
|
2406
2494
|
{
|
|
2407
2495
|
size: "tiny",
|
|
@@ -2409,53 +2497,53 @@ var SvgMediaControl = createControl(() => {
|
|
|
2409
2497
|
variant: "outlined",
|
|
2410
2498
|
onClick: () => handleClick(MODE_BROWSE)
|
|
2411
2499
|
},
|
|
2412
|
-
|
|
2413
|
-
), /* @__PURE__ */
|
|
2500
|
+
__13("Select SVG", "elementor")
|
|
2501
|
+
), /* @__PURE__ */ React39.createElement(
|
|
2414
2502
|
Button4,
|
|
2415
2503
|
{
|
|
2416
2504
|
size: "tiny",
|
|
2417
2505
|
variant: "text",
|
|
2418
2506
|
color: "inherit",
|
|
2419
|
-
startIcon: /* @__PURE__ */
|
|
2507
|
+
startIcon: /* @__PURE__ */ React39.createElement(UploadIcon2, null),
|
|
2420
2508
|
onClick: () => handleClick(MODE_UPLOAD)
|
|
2421
2509
|
},
|
|
2422
|
-
|
|
2510
|
+
__13("Upload", "elementor")
|
|
2423
2511
|
))
|
|
2424
2512
|
))));
|
|
2425
2513
|
});
|
|
2426
2514
|
|
|
2427
2515
|
// src/controls/background-control/background-control.tsx
|
|
2428
|
-
import * as
|
|
2516
|
+
import * as React46 from "react";
|
|
2429
2517
|
import { backgroundPropTypeUtil } from "@elementor/editor-props";
|
|
2430
2518
|
import { isExperimentActive } from "@elementor/editor-v1-adapters";
|
|
2431
|
-
import { Grid as
|
|
2432
|
-
import { __ as
|
|
2519
|
+
import { Grid as Grid15 } from "@elementor/ui";
|
|
2520
|
+
import { __ as __19 } from "@wordpress/i18n";
|
|
2433
2521
|
|
|
2434
2522
|
// src/controls/background-control/background-overlay/background-overlay-repeater-control.tsx
|
|
2435
|
-
import * as
|
|
2523
|
+
import * as React45 from "react";
|
|
2436
2524
|
import {
|
|
2437
2525
|
backgroundColorOverlayPropTypeUtil as backgroundColorOverlayPropTypeUtil2,
|
|
2438
2526
|
backgroundImageOverlayPropTypeUtil as backgroundImageOverlayPropTypeUtil2,
|
|
2439
2527
|
backgroundOverlayPropTypeUtil,
|
|
2440
2528
|
colorPropTypeUtil as colorPropTypeUtil3
|
|
2441
2529
|
} from "@elementor/editor-props";
|
|
2442
|
-
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";
|
|
2443
2531
|
import { useWpMediaAttachment as useWpMediaAttachment3 } from "@elementor/wp-media";
|
|
2444
|
-
import { __ as
|
|
2532
|
+
import { __ as __18 } from "@wordpress/i18n";
|
|
2445
2533
|
|
|
2446
2534
|
// src/env.ts
|
|
2447
2535
|
import { parseEnv } from "@elementor/env";
|
|
2448
2536
|
var { env } = parseEnv("@elementor/editor-controls");
|
|
2449
2537
|
|
|
2450
2538
|
// src/controls/background-control/background-gradient-color-control.tsx
|
|
2451
|
-
import * as
|
|
2539
|
+
import * as React40 from "react";
|
|
2452
2540
|
import {
|
|
2453
2541
|
backgroundGradientOverlayPropTypeUtil,
|
|
2454
2542
|
colorPropTypeUtil as colorPropTypeUtil2,
|
|
2455
2543
|
colorStopPropTypeUtil,
|
|
2456
2544
|
gradientColorStopPropTypeUtil,
|
|
2457
2545
|
numberPropTypeUtil as numberPropTypeUtil3,
|
|
2458
|
-
stringPropTypeUtil as
|
|
2546
|
+
stringPropTypeUtil as stringPropTypeUtil9
|
|
2459
2547
|
} from "@elementor/editor-props";
|
|
2460
2548
|
import { UnstableGradientBox } from "@elementor/ui";
|
|
2461
2549
|
var BackgroundGradientColorControl = createControl(() => {
|
|
@@ -2463,13 +2551,13 @@ var BackgroundGradientColorControl = createControl(() => {
|
|
|
2463
2551
|
const handleChange = (newValue) => {
|
|
2464
2552
|
const transformedValue = createTransformableValue(newValue);
|
|
2465
2553
|
if (transformedValue.positions) {
|
|
2466
|
-
transformedValue.positions =
|
|
2554
|
+
transformedValue.positions = stringPropTypeUtil9.create(newValue.positions.join(" "));
|
|
2467
2555
|
}
|
|
2468
2556
|
setValue(transformedValue);
|
|
2469
2557
|
};
|
|
2470
2558
|
const createTransformableValue = (newValue) => ({
|
|
2471
2559
|
...newValue,
|
|
2472
|
-
type:
|
|
2560
|
+
type: stringPropTypeUtil9.create(newValue.type),
|
|
2473
2561
|
angle: numberPropTypeUtil3.create(newValue.angle),
|
|
2474
2562
|
stops: gradientColorStopPropTypeUtil.create(
|
|
2475
2563
|
newValue.stops.map(
|
|
@@ -2495,7 +2583,7 @@ var BackgroundGradientColorControl = createControl(() => {
|
|
|
2495
2583
|
positions: positions?.value.split(" ")
|
|
2496
2584
|
};
|
|
2497
2585
|
};
|
|
2498
|
-
return /* @__PURE__ */
|
|
2586
|
+
return /* @__PURE__ */ React40.createElement(ControlActions, null, /* @__PURE__ */ React40.createElement(
|
|
2499
2587
|
UnstableGradientBox,
|
|
2500
2588
|
{
|
|
2501
2589
|
sx: { width: "auto", padding: 1.5 },
|
|
@@ -2505,7 +2593,7 @@ var BackgroundGradientColorControl = createControl(() => {
|
|
|
2505
2593
|
));
|
|
2506
2594
|
});
|
|
2507
2595
|
var initialBackgroundGradientOverlay = backgroundGradientOverlayPropTypeUtil.create({
|
|
2508
|
-
type:
|
|
2596
|
+
type: stringPropTypeUtil9.create("linear"),
|
|
2509
2597
|
angle: numberPropTypeUtil3.create(180),
|
|
2510
2598
|
stops: gradientColorStopPropTypeUtil.create([
|
|
2511
2599
|
colorStopPropTypeUtil.create({
|
|
@@ -2520,50 +2608,50 @@ var initialBackgroundGradientOverlay = backgroundGradientOverlayPropTypeUtil.cre
|
|
|
2520
2608
|
});
|
|
2521
2609
|
|
|
2522
2610
|
// src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-attachment.tsx
|
|
2523
|
-
import * as
|
|
2611
|
+
import * as React41 from "react";
|
|
2524
2612
|
import { PinIcon, PinnedOffIcon } from "@elementor/icons";
|
|
2525
|
-
import { Grid as
|
|
2526
|
-
import { __ as
|
|
2613
|
+
import { Grid as Grid10 } from "@elementor/ui";
|
|
2614
|
+
import { __ as __14 } from "@wordpress/i18n";
|
|
2527
2615
|
var attachmentControlOptions = [
|
|
2528
2616
|
{
|
|
2529
2617
|
value: "fixed",
|
|
2530
|
-
label:
|
|
2531
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2618
|
+
label: __14("Fixed", "elementor"),
|
|
2619
|
+
renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(PinIcon, { fontSize: size }),
|
|
2532
2620
|
showTooltip: true
|
|
2533
2621
|
},
|
|
2534
2622
|
{
|
|
2535
2623
|
value: "scroll",
|
|
2536
|
-
label:
|
|
2537
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2624
|
+
label: __14("Scroll", "elementor"),
|
|
2625
|
+
renderContent: ({ size }) => /* @__PURE__ */ React41.createElement(PinnedOffIcon, { fontSize: size }),
|
|
2538
2626
|
showTooltip: true
|
|
2539
2627
|
}
|
|
2540
2628
|
];
|
|
2541
2629
|
var BackgroundImageOverlayAttachment = () => {
|
|
2542
|
-
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 })));
|
|
2543
2631
|
};
|
|
2544
2632
|
|
|
2545
2633
|
// src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-position.tsx
|
|
2546
|
-
import * as
|
|
2547
|
-
import { backgroundImagePositionOffsetPropTypeUtil, stringPropTypeUtil as
|
|
2548
|
-
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";
|
|
2549
2637
|
import { LetterXIcon, LetterYIcon } from "@elementor/icons";
|
|
2550
|
-
import { Grid as
|
|
2551
|
-
import { __ as
|
|
2638
|
+
import { Grid as Grid11, Select as Select3 } from "@elementor/ui";
|
|
2639
|
+
import { __ as __15 } from "@wordpress/i18n";
|
|
2552
2640
|
var backgroundPositionOptions = [
|
|
2553
|
-
{ label:
|
|
2554
|
-
{ label:
|
|
2555
|
-
{ label:
|
|
2556
|
-
{ label:
|
|
2557
|
-
{ label:
|
|
2558
|
-
{ label:
|
|
2559
|
-
{ label:
|
|
2560
|
-
{ label:
|
|
2561
|
-
{ label:
|
|
2562
|
-
{ 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" }
|
|
2563
2651
|
];
|
|
2564
2652
|
var BackgroundImageOverlayPosition = () => {
|
|
2565
2653
|
const backgroundImageOffsetContext = useBoundProp(backgroundImagePositionOffsetPropTypeUtil);
|
|
2566
|
-
const stringPropContext = useBoundProp(
|
|
2654
|
+
const stringPropContext = useBoundProp(stringPropTypeUtil10);
|
|
2567
2655
|
const isCustom = !!backgroundImageOffsetContext.value;
|
|
2568
2656
|
const handlePositionChange = (event) => {
|
|
2569
2657
|
const value = event.target.value || null;
|
|
@@ -2573,56 +2661,56 @@ var BackgroundImageOverlayPosition = () => {
|
|
|
2573
2661
|
stringPropContext.setValue(value);
|
|
2574
2662
|
}
|
|
2575
2663
|
};
|
|
2576
|
-
return /* @__PURE__ */
|
|
2577
|
-
|
|
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,
|
|
2578
2666
|
{
|
|
2579
2667
|
size: "tiny",
|
|
2580
2668
|
value: (backgroundImageOffsetContext.value ? "custom" : stringPropContext.value) ?? "",
|
|
2581
2669
|
onChange: handlePositionChange,
|
|
2582
2670
|
fullWidth: true
|
|
2583
2671
|
},
|
|
2584
|
-
backgroundPositionOptions.map(({ label, value }) => /* @__PURE__ */
|
|
2585
|
-
)))), 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);
|
|
2586
2674
|
};
|
|
2587
2675
|
|
|
2588
2676
|
// src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-repeat.tsx
|
|
2589
|
-
import * as
|
|
2677
|
+
import * as React43 from "react";
|
|
2590
2678
|
import { DotsHorizontalIcon, DotsVerticalIcon, GridDotsIcon, XIcon as XIcon4 } from "@elementor/icons";
|
|
2591
|
-
import { Grid as
|
|
2592
|
-
import { __ as
|
|
2679
|
+
import { Grid as Grid12 } from "@elementor/ui";
|
|
2680
|
+
import { __ as __16 } from "@wordpress/i18n";
|
|
2593
2681
|
var repeatControlOptions = [
|
|
2594
2682
|
{
|
|
2595
2683
|
value: "repeat",
|
|
2596
|
-
label:
|
|
2597
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2684
|
+
label: __16("Repeat", "elementor"),
|
|
2685
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(GridDotsIcon, { fontSize: size }),
|
|
2598
2686
|
showTooltip: true
|
|
2599
2687
|
},
|
|
2600
2688
|
{
|
|
2601
2689
|
value: "repeat-x",
|
|
2602
|
-
label:
|
|
2603
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2690
|
+
label: __16("Repeat-x", "elementor"),
|
|
2691
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(DotsHorizontalIcon, { fontSize: size }),
|
|
2604
2692
|
showTooltip: true
|
|
2605
2693
|
},
|
|
2606
2694
|
{
|
|
2607
2695
|
value: "repeat-y",
|
|
2608
|
-
label:
|
|
2609
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2696
|
+
label: __16("Repeat-y", "elementor"),
|
|
2697
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(DotsVerticalIcon, { fontSize: size }),
|
|
2610
2698
|
showTooltip: true
|
|
2611
2699
|
},
|
|
2612
2700
|
{
|
|
2613
2701
|
value: "no-repeat",
|
|
2614
|
-
label:
|
|
2615
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2702
|
+
label: __16("No-repeat", "elementor"),
|
|
2703
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(XIcon4, { fontSize: size }),
|
|
2616
2704
|
showTooltip: true
|
|
2617
2705
|
}
|
|
2618
2706
|
];
|
|
2619
2707
|
var BackgroundImageOverlayRepeat = () => {
|
|
2620
|
-
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 })));
|
|
2621
2709
|
};
|
|
2622
2710
|
|
|
2623
2711
|
// src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-size.tsx
|
|
2624
|
-
import * as
|
|
2625
|
-
import { backgroundImageSizeScalePropTypeUtil, stringPropTypeUtil as
|
|
2712
|
+
import * as React44 from "react";
|
|
2713
|
+
import { backgroundImageSizeScalePropTypeUtil, stringPropTypeUtil as stringPropTypeUtil11 } from "@elementor/editor-props";
|
|
2626
2714
|
import {
|
|
2627
2715
|
ArrowBarBothIcon,
|
|
2628
2716
|
ArrowsMaximizeIcon,
|
|
@@ -2631,37 +2719,37 @@ import {
|
|
|
2631
2719
|
LetterAIcon,
|
|
2632
2720
|
PencilIcon
|
|
2633
2721
|
} from "@elementor/icons";
|
|
2634
|
-
import { Grid as
|
|
2635
|
-
import { __ as
|
|
2722
|
+
import { Grid as Grid13 } from "@elementor/ui";
|
|
2723
|
+
import { __ as __17 } from "@wordpress/i18n";
|
|
2636
2724
|
var sizeControlOptions = [
|
|
2637
2725
|
{
|
|
2638
2726
|
value: "auto",
|
|
2639
|
-
label:
|
|
2640
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2727
|
+
label: __17("Auto", "elementor"),
|
|
2728
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(LetterAIcon, { fontSize: size }),
|
|
2641
2729
|
showTooltip: true
|
|
2642
2730
|
},
|
|
2643
2731
|
{
|
|
2644
2732
|
value: "cover",
|
|
2645
|
-
label:
|
|
2646
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2733
|
+
label: __17("Cover", "elementor"),
|
|
2734
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(ArrowsMaximizeIcon, { fontSize: size }),
|
|
2647
2735
|
showTooltip: true
|
|
2648
2736
|
},
|
|
2649
2737
|
{
|
|
2650
2738
|
value: "contain",
|
|
2651
|
-
label:
|
|
2652
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2739
|
+
label: __17("Contain", "elementor"),
|
|
2740
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(ArrowBarBothIcon, { fontSize: size }),
|
|
2653
2741
|
showTooltip: true
|
|
2654
2742
|
},
|
|
2655
2743
|
{
|
|
2656
2744
|
value: "custom",
|
|
2657
|
-
label:
|
|
2658
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2745
|
+
label: __17("Custom", "elementor"),
|
|
2746
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(PencilIcon, { fontSize: size }),
|
|
2659
2747
|
showTooltip: true
|
|
2660
2748
|
}
|
|
2661
2749
|
];
|
|
2662
2750
|
var BackgroundImageOverlaySize = () => {
|
|
2663
2751
|
const backgroundImageScaleContext = useBoundProp(backgroundImageSizeScalePropTypeUtil);
|
|
2664
|
-
const stringPropContext = useBoundProp(
|
|
2752
|
+
const stringPropContext = useBoundProp(stringPropTypeUtil11);
|
|
2665
2753
|
const isCustom = !!backgroundImageScaleContext.value;
|
|
2666
2754
|
const handleSizeChange = (size) => {
|
|
2667
2755
|
if (size === "custom") {
|
|
@@ -2670,7 +2758,7 @@ var BackgroundImageOverlaySize = () => {
|
|
|
2670
2758
|
stringPropContext.setValue(size);
|
|
2671
2759
|
}
|
|
2672
2760
|
};
|
|
2673
|
-
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(
|
|
2674
2762
|
ControlToggleButtonGroup,
|
|
2675
2763
|
{
|
|
2676
2764
|
exclusive: true,
|
|
@@ -2678,16 +2766,16 @@ var BackgroundImageOverlaySize = () => {
|
|
|
2678
2766
|
value: backgroundImageScaleContext.value ? "custom" : stringPropContext.value,
|
|
2679
2767
|
onChange: handleSizeChange
|
|
2680
2768
|
}
|
|
2681
|
-
)))), 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(
|
|
2682
2770
|
SizeControl,
|
|
2683
2771
|
{
|
|
2684
|
-
startIcon: /* @__PURE__ */
|
|
2772
|
+
startIcon: /* @__PURE__ */ React44.createElement(ArrowsMoveHorizontalIcon, { fontSize: "tiny" }),
|
|
2685
2773
|
extendedValues: ["auto"]
|
|
2686
2774
|
}
|
|
2687
|
-
))), /* @__PURE__ */
|
|
2775
|
+
))), /* @__PURE__ */ React44.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(PropKeyProvider, { bind: "height" }, /* @__PURE__ */ React44.createElement(
|
|
2688
2776
|
SizeControl,
|
|
2689
2777
|
{
|
|
2690
|
-
startIcon: /* @__PURE__ */
|
|
2778
|
+
startIcon: /* @__PURE__ */ React44.createElement(ArrowsMoveVerticalIcon, { fontSize: "tiny" }),
|
|
2691
2779
|
extendedValues: ["auto"]
|
|
2692
2780
|
}
|
|
2693
2781
|
)))))) : null);
|
|
@@ -2787,20 +2875,20 @@ var getInitialBackgroundOverlay = () => ({
|
|
|
2787
2875
|
}
|
|
2788
2876
|
});
|
|
2789
2877
|
var backgroundResolutionOptions = [
|
|
2790
|
-
{ label:
|
|
2791
|
-
{ label:
|
|
2792
|
-
{ label:
|
|
2793
|
-
{ 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" }
|
|
2794
2882
|
];
|
|
2795
2883
|
var BackgroundOverlayRepeaterControl = createControl(() => {
|
|
2796
2884
|
const { propType, value: overlayValues, setValue } = useBoundProp(backgroundOverlayPropTypeUtil);
|
|
2797
|
-
return /* @__PURE__ */
|
|
2885
|
+
return /* @__PURE__ */ React45.createElement(PropProvider, { propType, value: overlayValues, setValue }, /* @__PURE__ */ React45.createElement(
|
|
2798
2886
|
Repeater,
|
|
2799
2887
|
{
|
|
2800
2888
|
openOnAdd: true,
|
|
2801
2889
|
values: overlayValues ?? [],
|
|
2802
2890
|
setValues: setValue,
|
|
2803
|
-
label:
|
|
2891
|
+
label: __18("Overlay", "elementor"),
|
|
2804
2892
|
itemSettings: {
|
|
2805
2893
|
Icon: ItemIcon2,
|
|
2806
2894
|
Label: ItemLabel2,
|
|
@@ -2811,7 +2899,7 @@ var BackgroundOverlayRepeaterControl = createControl(() => {
|
|
|
2811
2899
|
));
|
|
2812
2900
|
});
|
|
2813
2901
|
var ItemContent2 = ({ anchorEl = null, bind }) => {
|
|
2814
|
-
return /* @__PURE__ */
|
|
2902
|
+
return /* @__PURE__ */ React45.createElement(PropKeyProvider, { bind }, /* @__PURE__ */ React45.createElement(Content2, { anchorEl }));
|
|
2815
2903
|
};
|
|
2816
2904
|
var Content2 = ({ anchorEl }) => {
|
|
2817
2905
|
const { getTabsProps, getTabProps, getTabPanelProps } = useBackgroundTabsHistory({
|
|
@@ -2819,27 +2907,27 @@ var Content2 = ({ anchorEl }) => {
|
|
|
2819
2907
|
color: initialBackgroundColorOverlay.value,
|
|
2820
2908
|
gradient: initialBackgroundGradientOverlay.value
|
|
2821
2909
|
});
|
|
2822
|
-
return /* @__PURE__ */
|
|
2910
|
+
return /* @__PURE__ */ React45.createElement(Box5, { sx: { width: "100%" } }, /* @__PURE__ */ React45.createElement(Box5, { sx: { borderBottom: 1, borderColor: "divider" } }, /* @__PURE__ */ React45.createElement(
|
|
2823
2911
|
Tabs,
|
|
2824
2912
|
{
|
|
2825
2913
|
size: "small",
|
|
2826
2914
|
variant: "fullWidth",
|
|
2827
2915
|
...getTabsProps(),
|
|
2828
|
-
"aria-label":
|
|
2916
|
+
"aria-label": __18("Background Overlay", "elementor")
|
|
2829
2917
|
},
|
|
2830
|
-
/* @__PURE__ */
|
|
2831
|
-
/* @__PURE__ */
|
|
2832
|
-
/* @__PURE__ */
|
|
2833
|
-
)), /* @__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 }))));
|
|
2834
2922
|
};
|
|
2835
2923
|
var ItemIcon2 = ({ value }) => {
|
|
2836
2924
|
switch (value.$$type) {
|
|
2837
2925
|
case "background-image-overlay":
|
|
2838
|
-
return /* @__PURE__ */
|
|
2926
|
+
return /* @__PURE__ */ React45.createElement(ItemIconImage, { value });
|
|
2839
2927
|
case "background-color-overlay":
|
|
2840
|
-
return /* @__PURE__ */
|
|
2928
|
+
return /* @__PURE__ */ React45.createElement(ItemIconColor, { value });
|
|
2841
2929
|
case "background-gradient-overlay":
|
|
2842
|
-
return /* @__PURE__ */
|
|
2930
|
+
return /* @__PURE__ */ React45.createElement(ItemIconGradient, { value });
|
|
2843
2931
|
default:
|
|
2844
2932
|
return null;
|
|
2845
2933
|
}
|
|
@@ -2852,11 +2940,11 @@ var extractColorFrom = (prop) => {
|
|
|
2852
2940
|
};
|
|
2853
2941
|
var ItemIconColor = ({ value: prop }) => {
|
|
2854
2942
|
const color = extractColorFrom(prop);
|
|
2855
|
-
return /* @__PURE__ */
|
|
2943
|
+
return /* @__PURE__ */ React45.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: color });
|
|
2856
2944
|
};
|
|
2857
2945
|
var ItemIconImage = ({ value }) => {
|
|
2858
2946
|
const { imageUrl } = useImage(value);
|
|
2859
|
-
return /* @__PURE__ */
|
|
2947
|
+
return /* @__PURE__ */ React45.createElement(
|
|
2860
2948
|
CardMedia3,
|
|
2861
2949
|
{
|
|
2862
2950
|
image: imageUrl,
|
|
@@ -2871,47 +2959,47 @@ var ItemIconImage = ({ value }) => {
|
|
|
2871
2959
|
};
|
|
2872
2960
|
var ItemIconGradient = ({ value }) => {
|
|
2873
2961
|
const gradient = getGradientValue(value);
|
|
2874
|
-
return /* @__PURE__ */
|
|
2962
|
+
return /* @__PURE__ */ React45.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: gradient });
|
|
2875
2963
|
};
|
|
2876
2964
|
var ItemLabel2 = ({ value }) => {
|
|
2877
2965
|
switch (value.$$type) {
|
|
2878
2966
|
case "background-image-overlay":
|
|
2879
|
-
return /* @__PURE__ */
|
|
2967
|
+
return /* @__PURE__ */ React45.createElement(ItemLabelImage, { value });
|
|
2880
2968
|
case "background-color-overlay":
|
|
2881
|
-
return /* @__PURE__ */
|
|
2969
|
+
return /* @__PURE__ */ React45.createElement(ItemLabelColor, { value });
|
|
2882
2970
|
case "background-gradient-overlay":
|
|
2883
|
-
return /* @__PURE__ */
|
|
2971
|
+
return /* @__PURE__ */ React45.createElement(ItemLabelGradient, { value });
|
|
2884
2972
|
default:
|
|
2885
2973
|
return null;
|
|
2886
2974
|
}
|
|
2887
2975
|
};
|
|
2888
2976
|
var ItemLabelColor = ({ value: prop }) => {
|
|
2889
2977
|
const color = extractColorFrom(prop);
|
|
2890
|
-
return /* @__PURE__ */
|
|
2978
|
+
return /* @__PURE__ */ React45.createElement("span", null, color);
|
|
2891
2979
|
};
|
|
2892
2980
|
var ItemLabelImage = ({ value }) => {
|
|
2893
2981
|
const { imageTitle } = useImage(value);
|
|
2894
|
-
return /* @__PURE__ */
|
|
2982
|
+
return /* @__PURE__ */ React45.createElement("span", null, imageTitle);
|
|
2895
2983
|
};
|
|
2896
2984
|
var ItemLabelGradient = ({ value }) => {
|
|
2897
2985
|
if (value.value.type.value === "linear") {
|
|
2898
|
-
return /* @__PURE__ */
|
|
2986
|
+
return /* @__PURE__ */ React45.createElement("span", null, __18("Linear Gradient", "elementor"));
|
|
2899
2987
|
}
|
|
2900
|
-
return /* @__PURE__ */
|
|
2988
|
+
return /* @__PURE__ */ React45.createElement("span", null, __18("Radial Gradient", "elementor"));
|
|
2901
2989
|
};
|
|
2902
2990
|
var ColorOverlayContent = ({ anchorEl }) => {
|
|
2903
2991
|
const propContext = useBoundProp(backgroundColorOverlayPropTypeUtil2);
|
|
2904
|
-
return /* @__PURE__ */
|
|
2992
|
+
return /* @__PURE__ */ React45.createElement(PropProvider, { ...propContext }, /* @__PURE__ */ React45.createElement(PropKeyProvider, { bind: "color" }, /* @__PURE__ */ React45.createElement(ColorControl, { anchorEl })));
|
|
2905
2993
|
};
|
|
2906
2994
|
var ImageOverlayContent = () => {
|
|
2907
2995
|
const propContext = useBoundProp(backgroundImageOverlayPropTypeUtil2);
|
|
2908
|
-
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(
|
|
2909
2997
|
ImageControl,
|
|
2910
2998
|
{
|
|
2911
|
-
resolutionLabel:
|
|
2999
|
+
resolutionLabel: __18("Resolution", "elementor"),
|
|
2912
3000
|
sizes: backgroundResolutionOptions
|
|
2913
3001
|
}
|
|
2914
|
-
)))), /* @__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)));
|
|
2915
3003
|
};
|
|
2916
3004
|
var StyledUnstableColorIndicator = styled6(UnstableColorIndicator2)(({ theme }) => ({
|
|
2917
3005
|
borderRadius: `${theme.shape.borderRadius / 2}px`
|
|
@@ -2950,10 +3038,23 @@ var getGradientValue = (value) => {
|
|
|
2950
3038
|
var BackgroundControl = createControl(() => {
|
|
2951
3039
|
const propContext = useBoundProp(backgroundPropTypeUtil);
|
|
2952
3040
|
const isUsingNestedProps = isExperimentActive("e_v_3_30");
|
|
2953
|
-
const colorLabel =
|
|
2954
|
-
return /* @__PURE__ */
|
|
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" }));
|
|
2955
3055
|
});
|
|
2956
3056
|
export {
|
|
3057
|
+
AspectRatioControl,
|
|
2957
3058
|
BackgroundControl,
|
|
2958
3059
|
BoxShadowRepeaterControl,
|
|
2959
3060
|
ColorControl,
|
|
@@ -2976,6 +3077,7 @@ export {
|
|
|
2976
3077
|
SizeControl,
|
|
2977
3078
|
StrokeControl,
|
|
2978
3079
|
SvgMediaControl,
|
|
3080
|
+
SwitchControl2 as SwitchControl,
|
|
2979
3081
|
TextAreaControl,
|
|
2980
3082
|
TextControl,
|
|
2981
3083
|
ToggleControl,
|