@elementor/editor-components 3.35.0-427 → 3.35.0-428
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +157 -131
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +157 -131
- package/dist/index.mjs.map +1 -1
- package/package.json +22 -22
- package/src/components/components-tab/components-item.tsx +18 -3
- package/src/components/components-tab/delete-confirmation-dialog.tsx +26 -0
package/dist/index.js
CHANGED
|
@@ -44,7 +44,7 @@ var import_editor_panels4 = require("@elementor/editor-panels");
|
|
|
44
44
|
var import_editor_styles_repository2 = require("@elementor/editor-styles-repository");
|
|
45
45
|
var import_editor_v1_adapters10 = require("@elementor/editor-v1-adapters");
|
|
46
46
|
var import_store78 = require("@elementor/store");
|
|
47
|
-
var
|
|
47
|
+
var import_i18n29 = require("@wordpress/i18n");
|
|
48
48
|
|
|
49
49
|
// src/component-instance-transformer.ts
|
|
50
50
|
var import_editor_canvas = require("@elementor/editor-canvas");
|
|
@@ -1635,8 +1635,8 @@ function getComponentName() {
|
|
|
1635
1635
|
}
|
|
1636
1636
|
|
|
1637
1637
|
// src/components/components-tab/components.tsx
|
|
1638
|
-
var
|
|
1639
|
-
var
|
|
1638
|
+
var React18 = __toESM(require("react"));
|
|
1639
|
+
var import_editor_ui8 = require("@elementor/editor-ui");
|
|
1640
1640
|
|
|
1641
1641
|
// src/hooks/use-components.ts
|
|
1642
1642
|
var import_store27 = require("@elementor/store");
|
|
@@ -1695,12 +1695,12 @@ var ComponentSearch = () => {
|
|
|
1695
1695
|
};
|
|
1696
1696
|
|
|
1697
1697
|
// src/components/components-tab/components-list.tsx
|
|
1698
|
-
var
|
|
1698
|
+
var React17 = __toESM(require("react"));
|
|
1699
1699
|
var import_react9 = require("react");
|
|
1700
1700
|
var import_editor_mcp = require("@elementor/editor-mcp");
|
|
1701
1701
|
var import_icons10 = require("@elementor/icons");
|
|
1702
1702
|
var import_ui15 = require("@elementor/ui");
|
|
1703
|
-
var
|
|
1703
|
+
var import_i18n19 = require("@wordpress/i18n");
|
|
1704
1704
|
|
|
1705
1705
|
// src/store/actions/rename-component.ts
|
|
1706
1706
|
var import_editor_documents7 = require("@elementor/editor-documents");
|
|
@@ -2046,14 +2046,14 @@ function AngiePromotionCard({ onClose }) {
|
|
|
2046
2046
|
}
|
|
2047
2047
|
|
|
2048
2048
|
// src/components/components-tab/components-item.tsx
|
|
2049
|
-
var
|
|
2049
|
+
var React15 = __toESM(require("react"));
|
|
2050
2050
|
var import_react8 = require("react");
|
|
2051
2051
|
var import_editor_canvas5 = require("@elementor/editor-canvas");
|
|
2052
2052
|
var import_editor_elements8 = require("@elementor/editor-elements");
|
|
2053
|
-
var
|
|
2053
|
+
var import_editor_ui7 = require("@elementor/editor-ui");
|
|
2054
2054
|
var import_icons9 = require("@elementor/icons");
|
|
2055
2055
|
var import_ui13 = require("@elementor/ui");
|
|
2056
|
-
var
|
|
2056
|
+
var import_i18n18 = require("@wordpress/i18n");
|
|
2057
2057
|
|
|
2058
2058
|
// src/store/actions/archive-component.ts
|
|
2059
2059
|
var import_editor_documents8 = require("@elementor/editor-documents");
|
|
@@ -2293,16 +2293,28 @@ var createComponentModel2 = (component) => {
|
|
|
2293
2293
|
};
|
|
2294
2294
|
};
|
|
2295
2295
|
|
|
2296
|
+
// src/components/components-tab/delete-confirmation-dialog.tsx
|
|
2297
|
+
var React14 = __toESM(require("react"));
|
|
2298
|
+
var import_editor_ui6 = require("@elementor/editor-ui");
|
|
2299
|
+
var import_i18n17 = require("@wordpress/i18n");
|
|
2300
|
+
function DeleteConfirmationDialog({ open, onClose, onConfirm }) {
|
|
2301
|
+
return /* @__PURE__ */ React14.createElement(import_editor_ui6.ConfirmationDialog, { open, onClose }, /* @__PURE__ */ React14.createElement(import_editor_ui6.ConfirmationDialog.Title, null, (0, import_i18n17.__)("Delete this component?", "elementor")), /* @__PURE__ */ React14.createElement(import_editor_ui6.ConfirmationDialog.Content, null, /* @__PURE__ */ React14.createElement(import_editor_ui6.ConfirmationDialog.ContentText, null, (0, import_i18n17.__)(
|
|
2302
|
+
"Existing instances on your pages will remain functional. You will no longer find this component in your list.",
|
|
2303
|
+
"elementor"
|
|
2304
|
+
))), /* @__PURE__ */ React14.createElement(import_editor_ui6.ConfirmationDialog.Actions, { onClose, onConfirm }));
|
|
2305
|
+
}
|
|
2306
|
+
|
|
2296
2307
|
// src/components/components-tab/components-item.tsx
|
|
2297
2308
|
var ComponentItem = ({ component, renameComponent: renameComponent2 }) => {
|
|
2298
2309
|
const itemRef = (0, import_react8.useRef)(null);
|
|
2310
|
+
const [isDeleteDialogOpen, setIsDeleteDialogOpen] = (0, import_react8.useState)(false);
|
|
2299
2311
|
const {
|
|
2300
2312
|
ref: editableRef,
|
|
2301
2313
|
isEditing,
|
|
2302
2314
|
openEditMode,
|
|
2303
2315
|
error,
|
|
2304
2316
|
getProps: getEditableProps
|
|
2305
|
-
} = (0,
|
|
2317
|
+
} = (0, import_editor_ui7.useEditable)({
|
|
2306
2318
|
value: component.name,
|
|
2307
2319
|
onSubmit: renameComponent2,
|
|
2308
2320
|
validation: validateComponentTitle
|
|
@@ -2319,15 +2331,22 @@ var ComponentItem = ({ component, renameComponent: renameComponent2 }) => {
|
|
|
2319
2331
|
loadComponentsAssets([componentModel]);
|
|
2320
2332
|
(0, import_editor_canvas5.endDragElementFromPanel)();
|
|
2321
2333
|
};
|
|
2322
|
-
const
|
|
2334
|
+
const handleDeleteClick = () => {
|
|
2323
2335
|
popupState.close();
|
|
2336
|
+
setIsDeleteDialogOpen(true);
|
|
2337
|
+
};
|
|
2338
|
+
const handleDeleteConfirm = () => {
|
|
2324
2339
|
if (!component.id) {
|
|
2325
2340
|
throw new Error("Component ID is required");
|
|
2326
2341
|
}
|
|
2342
|
+
setIsDeleteDialogOpen(false);
|
|
2327
2343
|
archiveComponent(component.id, component.name);
|
|
2328
2344
|
};
|
|
2329
|
-
|
|
2330
|
-
|
|
2345
|
+
const handleDeleteDialogClose = () => {
|
|
2346
|
+
setIsDeleteDialogOpen(false);
|
|
2347
|
+
};
|
|
2348
|
+
return /* @__PURE__ */ React15.createElement(import_ui13.Stack, null, /* @__PURE__ */ React15.createElement(
|
|
2349
|
+
import_editor_ui7.WarningInfotip,
|
|
2331
2350
|
{
|
|
2332
2351
|
open: Boolean(error),
|
|
2333
2352
|
text: error ?? "",
|
|
@@ -2335,7 +2354,7 @@ var ComponentItem = ({ component, renameComponent: renameComponent2 }) => {
|
|
|
2335
2354
|
width: itemRef.current?.getBoundingClientRect().width,
|
|
2336
2355
|
offset: [0, -15]
|
|
2337
2356
|
},
|
|
2338
|
-
/* @__PURE__ */
|
|
2357
|
+
/* @__PURE__ */ React15.createElement(
|
|
2339
2358
|
import_ui13.ListItemButton,
|
|
2340
2359
|
{
|
|
2341
2360
|
draggable: true,
|
|
@@ -2354,7 +2373,7 @@ var ComponentItem = ({ component, renameComponent: renameComponent2 }) => {
|
|
|
2354
2373
|
gap: 1
|
|
2355
2374
|
}
|
|
2356
2375
|
},
|
|
2357
|
-
/* @__PURE__ */
|
|
2376
|
+
/* @__PURE__ */ React15.createElement(
|
|
2358
2377
|
import_ui13.Box,
|
|
2359
2378
|
{
|
|
2360
2379
|
display: "flex",
|
|
@@ -2364,17 +2383,17 @@ var ComponentItem = ({ component, renameComponent: renameComponent2 }) => {
|
|
|
2364
2383
|
flexGrow: 1,
|
|
2365
2384
|
onClick: handleClick
|
|
2366
2385
|
},
|
|
2367
|
-
/* @__PURE__ */
|
|
2368
|
-
/* @__PURE__ */
|
|
2369
|
-
|
|
2386
|
+
/* @__PURE__ */ React15.createElement(import_ui13.ListItemIcon, { size: "tiny" }, /* @__PURE__ */ React15.createElement(import_icons9.ComponentsIcon, { fontSize: "tiny" })),
|
|
2387
|
+
/* @__PURE__ */ React15.createElement(Indicator, { isActive: isEditing, isError: !!error }, /* @__PURE__ */ React15.createElement(import_ui13.Box, { display: "flex", flex: 1, minWidth: 0, flexGrow: 1 }, isEditing ? /* @__PURE__ */ React15.createElement(
|
|
2388
|
+
import_editor_ui7.EditableField,
|
|
2370
2389
|
{
|
|
2371
2390
|
ref: editableRef,
|
|
2372
2391
|
as: import_ui13.Typography,
|
|
2373
2392
|
variant: "caption",
|
|
2374
2393
|
...getEditableProps()
|
|
2375
2394
|
}
|
|
2376
|
-
) : /* @__PURE__ */
|
|
2377
|
-
|
|
2395
|
+
) : /* @__PURE__ */ React15.createElement(
|
|
2396
|
+
import_editor_ui7.EllipsisWithTooltip,
|
|
2378
2397
|
{
|
|
2379
2398
|
title: component.name,
|
|
2380
2399
|
as: import_ui13.Typography,
|
|
@@ -2383,9 +2402,9 @@ var ComponentItem = ({ component, renameComponent: renameComponent2 }) => {
|
|
|
2383
2402
|
}
|
|
2384
2403
|
)))
|
|
2385
2404
|
),
|
|
2386
|
-
/* @__PURE__ */
|
|
2405
|
+
/* @__PURE__ */ React15.createElement(import_ui13.IconButton, { size: "tiny", ...(0, import_ui13.bindTrigger)(popupState), "aria-label": "More actions" }, /* @__PURE__ */ React15.createElement(import_icons9.DotsVerticalIcon, { fontSize: "tiny" }))
|
|
2387
2406
|
)
|
|
2388
|
-
), /* @__PURE__ */
|
|
2407
|
+
), /* @__PURE__ */ React15.createElement(
|
|
2389
2408
|
import_ui13.Menu,
|
|
2390
2409
|
{
|
|
2391
2410
|
...(0, import_ui13.bindMenu)(popupState),
|
|
@@ -2398,8 +2417,8 @@ var ComponentItem = ({ component, renameComponent: renameComponent2 }) => {
|
|
|
2398
2417
|
horizontal: "right"
|
|
2399
2418
|
}
|
|
2400
2419
|
},
|
|
2401
|
-
/* @__PURE__ */
|
|
2402
|
-
|
|
2420
|
+
/* @__PURE__ */ React15.createElement(
|
|
2421
|
+
import_editor_ui7.MenuListItem,
|
|
2403
2422
|
{
|
|
2404
2423
|
sx: { minWidth: "160px" },
|
|
2405
2424
|
onClick: () => {
|
|
@@ -2407,9 +2426,16 @@ var ComponentItem = ({ component, renameComponent: renameComponent2 }) => {
|
|
|
2407
2426
|
openEditMode();
|
|
2408
2427
|
}
|
|
2409
2428
|
},
|
|
2410
|
-
(0,
|
|
2429
|
+
(0, import_i18n18.__)("Rename", "elementor")
|
|
2411
2430
|
),
|
|
2412
|
-
/* @__PURE__ */
|
|
2431
|
+
/* @__PURE__ */ React15.createElement(import_editor_ui7.MenuListItem, { sx: { minWidth: "160px" }, onClick: handleDeleteClick }, /* @__PURE__ */ React15.createElement(import_ui13.Typography, { variant: "caption", sx: { color: "error.light" } }, (0, import_i18n18.__)("Delete", "elementor")))
|
|
2432
|
+
), /* @__PURE__ */ React15.createElement(
|
|
2433
|
+
DeleteConfirmationDialog,
|
|
2434
|
+
{
|
|
2435
|
+
open: isDeleteDialogOpen,
|
|
2436
|
+
onClose: handleDeleteDialogClose,
|
|
2437
|
+
onConfirm: handleDeleteConfirm
|
|
2438
|
+
}
|
|
2413
2439
|
));
|
|
2414
2440
|
};
|
|
2415
2441
|
var addComponentToPage = (model) => {
|
|
@@ -2454,12 +2480,12 @@ var getIndicatorBorder = ({ isActive, isError, theme }) => {
|
|
|
2454
2480
|
};
|
|
2455
2481
|
|
|
2456
2482
|
// src/components/components-tab/loading-components.tsx
|
|
2457
|
-
var
|
|
2483
|
+
var React16 = __toESM(require("react"));
|
|
2458
2484
|
var import_ui14 = require("@elementor/ui");
|
|
2459
2485
|
var ROWS_COUNT = 6;
|
|
2460
2486
|
var rows = Array.from({ length: ROWS_COUNT }, (_, index) => index);
|
|
2461
2487
|
var LoadingComponents = () => {
|
|
2462
|
-
return /* @__PURE__ */
|
|
2488
|
+
return /* @__PURE__ */ React16.createElement(
|
|
2463
2489
|
import_ui14.Stack,
|
|
2464
2490
|
{
|
|
2465
2491
|
"aria-label": "Loading components",
|
|
@@ -2481,14 +2507,14 @@ var LoadingComponents = () => {
|
|
|
2481
2507
|
}
|
|
2482
2508
|
}
|
|
2483
2509
|
},
|
|
2484
|
-
rows.map((row) => /* @__PURE__ */
|
|
2510
|
+
rows.map((row) => /* @__PURE__ */ React16.createElement(
|
|
2485
2511
|
import_ui14.ListItemButton,
|
|
2486
2512
|
{
|
|
2487
2513
|
key: row,
|
|
2488
2514
|
sx: { border: "solid 1px", borderColor: "divider", py: 0.5, px: 1 },
|
|
2489
2515
|
shape: "rounded"
|
|
2490
2516
|
},
|
|
2491
|
-
/* @__PURE__ */
|
|
2517
|
+
/* @__PURE__ */ React16.createElement(import_ui14.Box, { display: "flex", gap: 1, width: "100%" }, /* @__PURE__ */ React16.createElement(import_ui14.Skeleton, { variant: "text", width: "24px", height: "36px" }), /* @__PURE__ */ React16.createElement(import_ui14.Skeleton, { variant: "text", width: "100%", height: "36px" }))
|
|
2492
2518
|
))
|
|
2493
2519
|
);
|
|
2494
2520
|
};
|
|
@@ -2502,16 +2528,16 @@ var SUBTITLE_OVERRIDE_SX = {
|
|
|
2502
2528
|
function ComponentsList() {
|
|
2503
2529
|
const { components, isLoading, searchValue } = useFilteredComponents();
|
|
2504
2530
|
if (isLoading) {
|
|
2505
|
-
return /* @__PURE__ */
|
|
2531
|
+
return /* @__PURE__ */ React17.createElement(LoadingComponents, null);
|
|
2506
2532
|
}
|
|
2507
2533
|
const isEmpty = !components || components.length === 0;
|
|
2508
2534
|
if (isEmpty) {
|
|
2509
2535
|
if (searchValue.length > 0) {
|
|
2510
|
-
return /* @__PURE__ */
|
|
2536
|
+
return /* @__PURE__ */ React17.createElement(EmptySearchResult, null);
|
|
2511
2537
|
}
|
|
2512
|
-
return /* @__PURE__ */
|
|
2538
|
+
return /* @__PURE__ */ React17.createElement(EmptyState, null);
|
|
2513
2539
|
}
|
|
2514
|
-
return /* @__PURE__ */
|
|
2540
|
+
return /* @__PURE__ */ React17.createElement(import_ui15.List, { sx: { display: "flex", flexDirection: "column", gap: 1, px: 2 } }, components.map((component) => /* @__PURE__ */ React17.createElement(
|
|
2515
2541
|
ComponentItem,
|
|
2516
2542
|
{
|
|
2517
2543
|
key: component.uid,
|
|
@@ -2528,7 +2554,7 @@ var EmptyState = () => {
|
|
|
2528
2554
|
const sdk = (0, import_editor_mcp.getAngieSdk)();
|
|
2529
2555
|
if (sdk.isAngieReady()) {
|
|
2530
2556
|
sdk.triggerAngie({
|
|
2531
|
-
prompt: (0,
|
|
2557
|
+
prompt: (0, import_i18n19.__)(
|
|
2532
2558
|
"Create a [hero/testimonial/product card/CTA/feature] component for my [business type]. Include [describe what you want]",
|
|
2533
2559
|
"elementor"
|
|
2534
2560
|
),
|
|
@@ -2538,7 +2564,7 @@ var EmptyState = () => {
|
|
|
2538
2564
|
setIsAngieModalOpen(true);
|
|
2539
2565
|
}
|
|
2540
2566
|
};
|
|
2541
|
-
return /* @__PURE__ */
|
|
2567
|
+
return /* @__PURE__ */ React17.createElement(
|
|
2542
2568
|
import_ui15.Stack,
|
|
2543
2569
|
{
|
|
2544
2570
|
alignItems: "center",
|
|
@@ -2548,7 +2574,7 @@ var EmptyState = () => {
|
|
|
2548
2574
|
gap: 2,
|
|
2549
2575
|
overflow: "hidden"
|
|
2550
2576
|
},
|
|
2551
|
-
/* @__PURE__ */
|
|
2577
|
+
/* @__PURE__ */ React17.createElement(import_ui15.Stack, { alignItems: "center", gap: 1 }, /* @__PURE__ */ React17.createElement(import_icons10.ComponentsIcon, { fontSize: "large", sx: { color: "text.secondary" } }), /* @__PURE__ */ React17.createElement(import_ui15.Typography, { align: "center", variant: "subtitle2", color: "text.secondary", sx: SUBTITLE_OVERRIDE_SX }, (0, import_i18n19.__)("No components yet", "elementor")), /* @__PURE__ */ React17.createElement(import_ui15.Typography, { align: "center", variant: "caption", color: "secondary", sx: { maxWidth: 200 } }, (0, import_i18n19.__)("Components are reusable blocks that sync across your site.", "elementor"), /* @__PURE__ */ React17.createElement("br", null), (0, import_i18n19.__)("Create once, use everywhere.", "elementor")), /* @__PURE__ */ React17.createElement(
|
|
2552
2578
|
import_ui15.Link,
|
|
2553
2579
|
{
|
|
2554
2580
|
href: LEARN_MORE_URL,
|
|
@@ -2557,28 +2583,28 @@ var EmptyState = () => {
|
|
|
2557
2583
|
variant: "caption",
|
|
2558
2584
|
color: "info.main"
|
|
2559
2585
|
},
|
|
2560
|
-
(0,
|
|
2586
|
+
(0, import_i18n19.__)("Learn more about components", "elementor")
|
|
2561
2587
|
)),
|
|
2562
|
-
/* @__PURE__ */
|
|
2563
|
-
/* @__PURE__ */
|
|
2588
|
+
/* @__PURE__ */ React17.createElement(import_ui15.Divider, { sx: { width: "100%" } }),
|
|
2589
|
+
/* @__PURE__ */ React17.createElement(import_ui15.Stack, { alignItems: "center", gap: 1, width: "100%" }, /* @__PURE__ */ React17.createElement(import_ui15.Typography, { align: "center", variant: "subtitle2", color: "text.secondary", sx: SUBTITLE_OVERRIDE_SX }, (0, import_i18n19.__)("Create your first one:", "elementor")), /* @__PURE__ */ React17.createElement(import_ui15.Typography, { align: "center", variant: "caption", color: "secondary", sx: { maxWidth: 228 } }, (0, import_i18n19.__)(
|
|
2564
2590
|
'Right-click any div-block or flexbox on your canvas or structure and select "Create component"',
|
|
2565
2591
|
"elementor"
|
|
2566
|
-
)), /* @__PURE__ */
|
|
2592
|
+
)), /* @__PURE__ */ React17.createElement(import_ui15.Typography, { align: "center", variant: "caption", color: "secondary" }, (0, import_i18n19.__)("Or", "elementor")), /* @__PURE__ */ React17.createElement(AngiePromotionModal, { open: isAngieModalOpen, onClose: () => setIsAngieModalOpen(false) }, /* @__PURE__ */ React17.createElement(
|
|
2567
2593
|
import_ui15.Button,
|
|
2568
2594
|
{
|
|
2569
2595
|
color: "secondary",
|
|
2570
2596
|
variant: "outlined",
|
|
2571
2597
|
size: "small",
|
|
2572
2598
|
onClick: handleCreateWithAI,
|
|
2573
|
-
endIcon: /* @__PURE__ */
|
|
2599
|
+
endIcon: /* @__PURE__ */ React17.createElement(import_icons10.AIIcon, null)
|
|
2574
2600
|
},
|
|
2575
|
-
(0,
|
|
2601
|
+
(0, import_i18n19.__)("Create component with AI", "elementor")
|
|
2576
2602
|
)))
|
|
2577
2603
|
);
|
|
2578
2604
|
};
|
|
2579
2605
|
var EmptySearchResult = () => {
|
|
2580
2606
|
const { searchValue, clearSearch } = useSearch();
|
|
2581
|
-
return /* @__PURE__ */
|
|
2607
|
+
return /* @__PURE__ */ React17.createElement(
|
|
2582
2608
|
import_ui15.Stack,
|
|
2583
2609
|
{
|
|
2584
2610
|
color: "text.secondary",
|
|
@@ -2588,16 +2614,16 @@ var EmptySearchResult = () => {
|
|
|
2588
2614
|
overflow: "hidden",
|
|
2589
2615
|
justifySelf: "center"
|
|
2590
2616
|
},
|
|
2591
|
-
/* @__PURE__ */
|
|
2592
|
-
/* @__PURE__ */
|
|
2617
|
+
/* @__PURE__ */ React17.createElement(import_icons10.ComponentsIcon, null),
|
|
2618
|
+
/* @__PURE__ */ React17.createElement(
|
|
2593
2619
|
import_ui15.Box,
|
|
2594
2620
|
{
|
|
2595
2621
|
sx: {
|
|
2596
2622
|
width: "100%"
|
|
2597
2623
|
}
|
|
2598
2624
|
},
|
|
2599
|
-
/* @__PURE__ */
|
|
2600
|
-
searchValue && /* @__PURE__ */
|
|
2625
|
+
/* @__PURE__ */ React17.createElement(import_ui15.Typography, { align: "center", variant: "subtitle2", color: "inherit", sx: SUBTITLE_OVERRIDE_SX }, (0, import_i18n19.__)("Sorry, nothing matched", "elementor")),
|
|
2626
|
+
searchValue && /* @__PURE__ */ React17.createElement(
|
|
2601
2627
|
import_ui15.Typography,
|
|
2602
2628
|
{
|
|
2603
2629
|
variant: "subtitle2",
|
|
@@ -2609,8 +2635,8 @@ var EmptySearchResult = () => {
|
|
|
2609
2635
|
justifyContent: "center"
|
|
2610
2636
|
}
|
|
2611
2637
|
},
|
|
2612
|
-
/* @__PURE__ */
|
|
2613
|
-
/* @__PURE__ */
|
|
2638
|
+
/* @__PURE__ */ React17.createElement("span", null, "\u201C"),
|
|
2639
|
+
/* @__PURE__ */ React17.createElement(
|
|
2614
2640
|
"span",
|
|
2615
2641
|
{
|
|
2616
2642
|
style: {
|
|
@@ -2621,11 +2647,11 @@ var EmptySearchResult = () => {
|
|
|
2621
2647
|
},
|
|
2622
2648
|
searchValue
|
|
2623
2649
|
),
|
|
2624
|
-
/* @__PURE__ */
|
|
2650
|
+
/* @__PURE__ */ React17.createElement("span", null, "\u201D.")
|
|
2625
2651
|
)
|
|
2626
2652
|
),
|
|
2627
|
-
/* @__PURE__ */
|
|
2628
|
-
/* @__PURE__ */
|
|
2653
|
+
/* @__PURE__ */ React17.createElement(import_ui15.Typography, { align: "center", variant: "caption", color: "inherit" }, (0, import_i18n19.__)("Try something else.", "elementor")),
|
|
2654
|
+
/* @__PURE__ */ React17.createElement(import_ui15.Typography, { align: "center", variant: "caption", color: "inherit" }, /* @__PURE__ */ React17.createElement(import_ui15.Link, { color: "secondary", variant: "caption", component: "button", onClick: clearSearch }, (0, import_i18n19.__)("Clear & try again", "elementor")))
|
|
2629
2655
|
);
|
|
2630
2656
|
};
|
|
2631
2657
|
var useFilteredComponents = () => {
|
|
@@ -2644,25 +2670,25 @@ var useFilteredComponents = () => {
|
|
|
2644
2670
|
var ComponentsContent = () => {
|
|
2645
2671
|
const { components, isLoading } = useComponents();
|
|
2646
2672
|
const hasComponents = !isLoading && components.length > 0;
|
|
2647
|
-
return /* @__PURE__ */
|
|
2673
|
+
return /* @__PURE__ */ React18.createElement(React18.Fragment, null, hasComponents && /* @__PURE__ */ React18.createElement(ComponentSearch, null), /* @__PURE__ */ React18.createElement(ComponentsList, null));
|
|
2648
2674
|
};
|
|
2649
2675
|
var Components = () => {
|
|
2650
|
-
return /* @__PURE__ */
|
|
2676
|
+
return /* @__PURE__ */ React18.createElement(import_editor_ui8.ThemeProvider, null, /* @__PURE__ */ React18.createElement(SearchProvider, { localStorageKey: "elementor-components-search" }, /* @__PURE__ */ React18.createElement(ComponentsContent, null)));
|
|
2651
2677
|
};
|
|
2652
2678
|
|
|
2653
2679
|
// src/components/consts.ts
|
|
2654
2680
|
var COMPONENT_DOCUMENT_TYPE = "elementor_component";
|
|
2655
2681
|
|
|
2656
2682
|
// src/components/create-component-form/create-component-form.tsx
|
|
2657
|
-
var
|
|
2683
|
+
var React19 = __toESM(require("react"));
|
|
2658
2684
|
var import_react11 = require("react");
|
|
2659
2685
|
var import_editor_elements10 = require("@elementor/editor-elements");
|
|
2660
2686
|
var import_editor_notifications3 = require("@elementor/editor-notifications");
|
|
2661
|
-
var
|
|
2687
|
+
var import_editor_ui9 = require("@elementor/editor-ui");
|
|
2662
2688
|
var import_icons11 = require("@elementor/icons");
|
|
2663
2689
|
var import_store47 = require("@elementor/store");
|
|
2664
2690
|
var import_ui16 = require("@elementor/ui");
|
|
2665
|
-
var
|
|
2691
|
+
var import_i18n21 = require("@wordpress/i18n");
|
|
2666
2692
|
|
|
2667
2693
|
// src/prevent-non-atomic-nesting.ts
|
|
2668
2694
|
var import_editor_canvas6 = require("@elementor/editor-canvas");
|
|
@@ -2670,10 +2696,10 @@ var import_editor_elements9 = require("@elementor/editor-elements");
|
|
|
2670
2696
|
var import_editor_notifications2 = require("@elementor/editor-notifications");
|
|
2671
2697
|
var import_editor_v1_adapters4 = require("@elementor/editor-v1-adapters");
|
|
2672
2698
|
var import_store43 = require("@elementor/store");
|
|
2673
|
-
var
|
|
2699
|
+
var import_i18n20 = require("@wordpress/i18n");
|
|
2674
2700
|
var NON_ATOMIC_ELEMENT_ALERT = {
|
|
2675
2701
|
type: "default",
|
|
2676
|
-
message: (0,
|
|
2702
|
+
message: (0, import_i18n20.__)("This widget isn't compatible with components. Use atomic elements instead.", "elementor"),
|
|
2677
2703
|
id: "non-atomic-element-blocked"
|
|
2678
2704
|
};
|
|
2679
2705
|
function initNonAtomicNestingPrevention() {
|
|
@@ -2893,7 +2919,7 @@ function CreateComponentForm() {
|
|
|
2893
2919
|
if (nonAtomicElements.length > 0) {
|
|
2894
2920
|
(0, import_editor_notifications3.notify)({
|
|
2895
2921
|
type: "default",
|
|
2896
|
-
message: (0,
|
|
2922
|
+
message: (0, import_i18n21.__)(
|
|
2897
2923
|
"Components require atomic elements only. Remove widgets to create this component.",
|
|
2898
2924
|
"elementor"
|
|
2899
2925
|
),
|
|
@@ -2932,12 +2958,12 @@ function CreateComponentForm() {
|
|
|
2932
2958
|
}
|
|
2933
2959
|
(0, import_editor_notifications3.notify)({
|
|
2934
2960
|
type: "success",
|
|
2935
|
-
message: (0,
|
|
2961
|
+
message: (0, import_i18n21.__)("Component created successfully.", "elementor"),
|
|
2936
2962
|
id: `component-saved-successfully-${uid}`
|
|
2937
2963
|
});
|
|
2938
2964
|
resetAndClosePopup();
|
|
2939
2965
|
} catch {
|
|
2940
|
-
const errorMessage = (0,
|
|
2966
|
+
const errorMessage = (0, import_i18n21.__)("Failed to create component. Please try again.", "elementor");
|
|
2941
2967
|
(0, import_editor_notifications3.notify)({
|
|
2942
2968
|
type: "error",
|
|
2943
2969
|
message: errorMessage,
|
|
@@ -2956,7 +2982,7 @@ function CreateComponentForm() {
|
|
|
2956
2982
|
...eventData.current
|
|
2957
2983
|
});
|
|
2958
2984
|
};
|
|
2959
|
-
return /* @__PURE__ */
|
|
2985
|
+
return /* @__PURE__ */ React19.createElement(import_editor_ui9.ThemeProvider, null, /* @__PURE__ */ React19.createElement(
|
|
2960
2986
|
import_ui16.Popover,
|
|
2961
2987
|
{
|
|
2962
2988
|
open: element !== null,
|
|
@@ -2964,7 +2990,7 @@ function CreateComponentForm() {
|
|
|
2964
2990
|
anchorReference: "anchorPosition",
|
|
2965
2991
|
anchorPosition
|
|
2966
2992
|
},
|
|
2967
|
-
element !== null && /* @__PURE__ */
|
|
2993
|
+
element !== null && /* @__PURE__ */ React19.createElement(
|
|
2968
2994
|
Form2,
|
|
2969
2995
|
{
|
|
2970
2996
|
initialValues: { componentName: element.elementLabel },
|
|
@@ -3000,13 +3026,13 @@ var Form2 = ({
|
|
|
3000
3026
|
}
|
|
3001
3027
|
};
|
|
3002
3028
|
const texts = {
|
|
3003
|
-
heading: (0,
|
|
3004
|
-
name: (0,
|
|
3005
|
-
cancel: (0,
|
|
3006
|
-
create: (0,
|
|
3029
|
+
heading: (0, import_i18n21.__)("Create component", "elementor"),
|
|
3030
|
+
name: (0, import_i18n21.__)("Name", "elementor"),
|
|
3031
|
+
cancel: (0, import_i18n21.__)("Cancel", "elementor"),
|
|
3032
|
+
create: (0, import_i18n21.__)("Create", "elementor")
|
|
3007
3033
|
};
|
|
3008
3034
|
const nameInputId = "component-name";
|
|
3009
|
-
return /* @__PURE__ */
|
|
3035
|
+
return /* @__PURE__ */ React19.createElement(import_editor_ui9.Form, { onSubmit: handleSubmit }, /* @__PURE__ */ React19.createElement(import_ui16.Stack, { alignItems: "start", width: "268px" }, /* @__PURE__ */ React19.createElement(
|
|
3010
3036
|
import_ui16.Stack,
|
|
3011
3037
|
{
|
|
3012
3038
|
direction: "row",
|
|
@@ -3015,9 +3041,9 @@ var Form2 = ({
|
|
|
3015
3041
|
px: 1.5,
|
|
3016
3042
|
sx: { columnGap: 0.5, borderBottom: "1px solid", borderColor: "divider", width: "100%" }
|
|
3017
3043
|
},
|
|
3018
|
-
/* @__PURE__ */
|
|
3019
|
-
/* @__PURE__ */
|
|
3020
|
-
), /* @__PURE__ */
|
|
3044
|
+
/* @__PURE__ */ React19.createElement(import_icons11.ComponentsIcon, { fontSize: FONT_SIZE }),
|
|
3045
|
+
/* @__PURE__ */ React19.createElement(import_ui16.Typography, { variant: "caption", sx: { color: "text.primary", fontWeight: "500", lineHeight: 1 } }, texts.heading)
|
|
3046
|
+
), /* @__PURE__ */ React19.createElement(import_ui16.Grid, { container: true, gap: 0.75, alignItems: "start", p: 1.5 }, /* @__PURE__ */ React19.createElement(import_ui16.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React19.createElement(import_ui16.FormLabel, { htmlFor: nameInputId, size: "tiny" }, texts.name)), /* @__PURE__ */ React19.createElement(import_ui16.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React19.createElement(
|
|
3021
3047
|
import_ui16.TextField,
|
|
3022
3048
|
{
|
|
3023
3049
|
id: nameInputId,
|
|
@@ -3029,11 +3055,11 @@ var Form2 = ({
|
|
|
3029
3055
|
error: Boolean(errors.componentName),
|
|
3030
3056
|
helperText: errors.componentName
|
|
3031
3057
|
}
|
|
3032
|
-
))), /* @__PURE__ */
|
|
3058
|
+
))), /* @__PURE__ */ React19.createElement(import_ui16.Stack, { direction: "row", justifyContent: "flex-end", alignSelf: "end", py: 1, px: 1.5 }, /* @__PURE__ */ React19.createElement(import_ui16.Button, { onClick: closePopup, color: "secondary", variant: "text", size: "small" }, texts.cancel), /* @__PURE__ */ React19.createElement(import_ui16.Button, { type: "submit", disabled: !isValid, variant: "contained", color: "primary", size: "small" }, texts.create))));
|
|
3033
3059
|
};
|
|
3034
3060
|
|
|
3035
3061
|
// src/components/edit-component/edit-component.tsx
|
|
3036
|
-
var
|
|
3062
|
+
var React21 = __toESM(require("react"));
|
|
3037
3063
|
var import_react14 = require("react");
|
|
3038
3064
|
var import_editor_documents11 = require("@elementor/editor-documents");
|
|
3039
3065
|
var import_editor_v1_adapters7 = require("@elementor/editor-v1-adapters");
|
|
@@ -3056,10 +3082,10 @@ function updateCurrentComponent({
|
|
|
3056
3082
|
}
|
|
3057
3083
|
|
|
3058
3084
|
// src/components/edit-component/component-modal.tsx
|
|
3059
|
-
var
|
|
3085
|
+
var React20 = __toESM(require("react"));
|
|
3060
3086
|
var import_react13 = require("react");
|
|
3061
3087
|
var import_react_dom = require("react-dom");
|
|
3062
|
-
var
|
|
3088
|
+
var import_i18n22 = require("@wordpress/i18n");
|
|
3063
3089
|
|
|
3064
3090
|
// src/hooks/use-canvas-document.ts
|
|
3065
3091
|
var import_editor_canvas7 = require("@elementor/editor-canvas");
|
|
@@ -3149,7 +3175,7 @@ function ComponentModal({ element, onClose }) {
|
|
|
3149
3175
|
return null;
|
|
3150
3176
|
}
|
|
3151
3177
|
return (0, import_react_dom.createPortal)(
|
|
3152
|
-
/* @__PURE__ */
|
|
3178
|
+
/* @__PURE__ */ React20.createElement(React20.Fragment, null, /* @__PURE__ */ React20.createElement(BlockEditPage, null), /* @__PURE__ */ React20.createElement(Backdrop, { canvas: canvasDocument, element, onClose })),
|
|
3153
3179
|
canvasDocument.body
|
|
3154
3180
|
);
|
|
3155
3181
|
}
|
|
@@ -3173,7 +3199,7 @@ function Backdrop({ canvas, element, onClose }) {
|
|
|
3173
3199
|
onClose();
|
|
3174
3200
|
}
|
|
3175
3201
|
};
|
|
3176
|
-
return /* @__PURE__ */
|
|
3202
|
+
return /* @__PURE__ */ React20.createElement(
|
|
3177
3203
|
"div",
|
|
3178
3204
|
{
|
|
3179
3205
|
style: backdropStyle,
|
|
@@ -3181,7 +3207,7 @@ function Backdrop({ canvas, element, onClose }) {
|
|
|
3181
3207
|
onKeyDown: handleKeyDown,
|
|
3182
3208
|
role: "button",
|
|
3183
3209
|
tabIndex: 0,
|
|
3184
|
-
"aria-label": (0,
|
|
3210
|
+
"aria-label": (0, import_i18n22.__)("Exit component editing mode", "elementor")
|
|
3185
3211
|
}
|
|
3186
3212
|
);
|
|
3187
3213
|
}
|
|
@@ -3231,7 +3257,7 @@ function BlockEditPage() {
|
|
|
3231
3257
|
}
|
|
3232
3258
|
}
|
|
3233
3259
|
`;
|
|
3234
|
-
return /* @__PURE__ */
|
|
3260
|
+
return /* @__PURE__ */ React20.createElement("style", { "data-e-style-id": "e-block-v3-document-handles-styles" }, blockV3DocumentHandlesStyles);
|
|
3235
3261
|
}
|
|
3236
3262
|
|
|
3237
3263
|
// src/components/edit-component/edit-component.tsx
|
|
@@ -3244,7 +3270,7 @@ function EditComponent() {
|
|
|
3244
3270
|
if (!elementDom) {
|
|
3245
3271
|
return null;
|
|
3246
3272
|
}
|
|
3247
|
-
return /* @__PURE__ */
|
|
3273
|
+
return /* @__PURE__ */ React21.createElement(ComponentModal, { element: elementDom, onClose });
|
|
3248
3274
|
}
|
|
3249
3275
|
function useHandleDocumentSwitches() {
|
|
3250
3276
|
const documentsManager = (0, import_editor_documents11.getV1DocumentsManager)();
|
|
@@ -3314,33 +3340,33 @@ function getComponentDOMElement(id2) {
|
|
|
3314
3340
|
}
|
|
3315
3341
|
|
|
3316
3342
|
// src/components/in-edit-mode.tsx
|
|
3317
|
-
var
|
|
3318
|
-
var
|
|
3343
|
+
var React22 = __toESM(require("react"));
|
|
3344
|
+
var import_editor_ui10 = require("@elementor/editor-ui");
|
|
3319
3345
|
var import_icons12 = require("@elementor/icons");
|
|
3320
3346
|
var import_ui17 = require("@elementor/ui");
|
|
3321
|
-
var
|
|
3347
|
+
var import_i18n23 = require("@wordpress/i18n");
|
|
3322
3348
|
var openEditModeDialog = (lockedBy) => {
|
|
3323
|
-
(0,
|
|
3324
|
-
component: /* @__PURE__ */
|
|
3349
|
+
(0, import_editor_ui10.openDialog)({
|
|
3350
|
+
component: /* @__PURE__ */ React22.createElement(EditModeDialog, { lockedBy })
|
|
3325
3351
|
});
|
|
3326
3352
|
};
|
|
3327
3353
|
var EditModeDialog = ({ lockedBy }) => {
|
|
3328
|
-
const content = (0,
|
|
3329
|
-
return /* @__PURE__ */
|
|
3354
|
+
const content = (0, import_i18n23.__)("%s is currently editing this document", "elementor").replace("%s", lockedBy);
|
|
3355
|
+
return /* @__PURE__ */ React22.createElement(React22.Fragment, null, /* @__PURE__ */ React22.createElement(import_ui17.DialogHeader, { logo: false }, /* @__PURE__ */ React22.createElement(import_ui17.Box, { display: "flex", alignItems: "center", gap: 1 }, /* @__PURE__ */ React22.createElement(import_ui17.Icon, { color: "secondary" }, /* @__PURE__ */ React22.createElement(import_icons12.InfoCircleFilledIcon, { fontSize: "medium" })), /* @__PURE__ */ React22.createElement(import_ui17.Typography, { variant: "subtitle1" }, content))), /* @__PURE__ */ React22.createElement(import_ui17.DialogContent, null, /* @__PURE__ */ React22.createElement(import_ui17.Stack, { spacing: 2, direction: "column" }, /* @__PURE__ */ React22.createElement(import_ui17.Typography, { variant: "body2" }, (0, import_i18n23.__)(
|
|
3330
3356
|
"You can wait for them to finish or reach out to coordinate your changes together.",
|
|
3331
3357
|
"elementor"
|
|
3332
|
-
)), /* @__PURE__ */
|
|
3358
|
+
)), /* @__PURE__ */ React22.createElement(import_ui17.DialogActions, null, /* @__PURE__ */ React22.createElement(import_ui17.Button, { color: "secondary", variant: "contained", onClick: import_editor_ui10.closeDialog }, (0, import_i18n23.__)("Close", "elementor"))))));
|
|
3333
3359
|
};
|
|
3334
3360
|
|
|
3335
3361
|
// src/components/instance-editing-panel/instance-editing-panel.tsx
|
|
3336
|
-
var
|
|
3362
|
+
var React27 = __toESM(require("react"));
|
|
3337
3363
|
var import_editor_controls4 = require("@elementor/editor-controls");
|
|
3338
3364
|
var import_editor_editing_panel5 = require("@elementor/editor-editing-panel");
|
|
3339
3365
|
var import_editor_elements14 = require("@elementor/editor-elements");
|
|
3340
3366
|
var import_editor_panels3 = require("@elementor/editor-panels");
|
|
3341
3367
|
var import_icons14 = require("@elementor/icons");
|
|
3342
3368
|
var import_ui22 = require("@elementor/ui");
|
|
3343
|
-
var
|
|
3369
|
+
var import_i18n25 = require("@wordpress/i18n");
|
|
3344
3370
|
|
|
3345
3371
|
// src/hooks/use-component-instance-settings.ts
|
|
3346
3372
|
var import_editor_editing_panel2 = require("@elementor/editor-editing-panel");
|
|
@@ -3406,12 +3432,12 @@ function useComponentInstanceSettings() {
|
|
|
3406
3432
|
}
|
|
3407
3433
|
|
|
3408
3434
|
// src/components/instance-editing-panel/empty-state.tsx
|
|
3409
|
-
var
|
|
3435
|
+
var React23 = __toESM(require("react"));
|
|
3410
3436
|
var import_icons13 = require("@elementor/icons");
|
|
3411
3437
|
var import_ui18 = require("@elementor/ui");
|
|
3412
|
-
var
|
|
3438
|
+
var import_i18n24 = require("@wordpress/i18n");
|
|
3413
3439
|
var EmptyState2 = ({ onEditComponent }) => {
|
|
3414
|
-
return /* @__PURE__ */
|
|
3440
|
+
return /* @__PURE__ */ React23.createElement(
|
|
3415
3441
|
import_ui18.Stack,
|
|
3416
3442
|
{
|
|
3417
3443
|
alignItems: "center",
|
|
@@ -3421,25 +3447,25 @@ var EmptyState2 = ({ onEditComponent }) => {
|
|
|
3421
3447
|
sx: { p: 2.5, pt: 8, pb: 5.5, mt: 1 },
|
|
3422
3448
|
gap: 1.5
|
|
3423
3449
|
},
|
|
3424
|
-
/* @__PURE__ */
|
|
3425
|
-
/* @__PURE__ */
|
|
3426
|
-
/* @__PURE__ */
|
|
3450
|
+
/* @__PURE__ */ React23.createElement(import_icons13.ComponentPropListIcon, { fontSize: "large" }),
|
|
3451
|
+
/* @__PURE__ */ React23.createElement(import_ui18.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n24.__)("No properties yet", "elementor")),
|
|
3452
|
+
/* @__PURE__ */ React23.createElement(import_ui18.Typography, { align: "center", variant: "caption", maxWidth: "170px" }, (0, import_i18n24.__)(
|
|
3427
3453
|
"Edit the component to add properties, manage them or update the design across all instances.",
|
|
3428
3454
|
"elementor"
|
|
3429
3455
|
)),
|
|
3430
|
-
/* @__PURE__ */
|
|
3456
|
+
/* @__PURE__ */ React23.createElement(import_ui18.Button, { variant: "outlined", color: "secondary", size: "small", sx: { mt: 1 }, onClick: onEditComponent }, /* @__PURE__ */ React23.createElement(import_icons13.PencilIcon, { fontSize: "small" }), (0, import_i18n24.__)("Edit component", "elementor"))
|
|
3431
3457
|
);
|
|
3432
3458
|
};
|
|
3433
3459
|
|
|
3434
3460
|
// src/components/instance-editing-panel/override-props-group.tsx
|
|
3435
|
-
var
|
|
3461
|
+
var React26 = __toESM(require("react"));
|
|
3436
3462
|
var import_react15 = require("react");
|
|
3437
3463
|
var import_editor_editing_panel4 = require("@elementor/editor-editing-panel");
|
|
3438
|
-
var
|
|
3464
|
+
var import_editor_ui11 = require("@elementor/editor-ui");
|
|
3439
3465
|
var import_ui21 = require("@elementor/ui");
|
|
3440
3466
|
|
|
3441
3467
|
// src/components/instance-editing-panel/override-prop-control.tsx
|
|
3442
|
-
var
|
|
3468
|
+
var React25 = __toESM(require("react"));
|
|
3443
3469
|
var import_editor_controls3 = require("@elementor/editor-controls");
|
|
3444
3470
|
var import_editor_editing_panel3 = require("@elementor/editor-editing-panel");
|
|
3445
3471
|
var import_ui20 = require("@elementor/ui");
|
|
@@ -3529,16 +3555,16 @@ function getPropType({ widgetType, propKey }) {
|
|
|
3529
3555
|
}
|
|
3530
3556
|
|
|
3531
3557
|
// src/components/control-label.tsx
|
|
3532
|
-
var
|
|
3558
|
+
var React24 = __toESM(require("react"));
|
|
3533
3559
|
var import_editor_controls2 = require("@elementor/editor-controls");
|
|
3534
3560
|
var import_ui19 = require("@elementor/ui");
|
|
3535
3561
|
var ControlLabel = ({ children, ...props }) => {
|
|
3536
|
-
return /* @__PURE__ */
|
|
3562
|
+
return /* @__PURE__ */ React24.createElement(import_ui19.Stack, { direction: "row", alignItems: "center", justifyItems: "start", gap: 0.25 }, /* @__PURE__ */ React24.createElement(import_editor_controls2.ControlFormLabel, { ...props }, children), /* @__PURE__ */ React24.createElement(import_editor_controls2.ControlAdornments, null));
|
|
3537
3563
|
};
|
|
3538
3564
|
|
|
3539
3565
|
// src/components/instance-editing-panel/override-prop-control.tsx
|
|
3540
3566
|
function OverridePropControl({ overridableProp, overrides }) {
|
|
3541
|
-
return /* @__PURE__ */
|
|
3567
|
+
return /* @__PURE__ */ React25.createElement(import_editor_editing_panel3.SettingsField, { bind: "component_instance", propDisplayName: overridableProp.label }, /* @__PURE__ */ React25.createElement(OverrideControl, { overridableProp, overrides }));
|
|
3542
3568
|
}
|
|
3543
3569
|
function OverrideControl({ overridableProp, overrides }) {
|
|
3544
3570
|
const componentId = useCurrentComponentId();
|
|
@@ -3585,7 +3611,7 @@ function OverrideControl({ overridableProp, overrides }) {
|
|
|
3585
3611
|
updateOverridableProp(componentId, overridableValue, { elType, widgetType, propKey });
|
|
3586
3612
|
}
|
|
3587
3613
|
};
|
|
3588
|
-
return /* @__PURE__ */
|
|
3614
|
+
return /* @__PURE__ */ React25.createElement(
|
|
3589
3615
|
import_editor_controls3.PropProvider,
|
|
3590
3616
|
{
|
|
3591
3617
|
propType: propTypeSchema,
|
|
@@ -3595,7 +3621,7 @@ function OverrideControl({ overridableProp, overrides }) {
|
|
|
3595
3621
|
return false;
|
|
3596
3622
|
}
|
|
3597
3623
|
},
|
|
3598
|
-
/* @__PURE__ */
|
|
3624
|
+
/* @__PURE__ */ React25.createElement(import_editor_controls3.PropKeyProvider, { bind: overridableProp.overrideKey }, /* @__PURE__ */ React25.createElement(import_ui20.Stack, { direction: "column", gap: 1, mb: 1.5 }, /* @__PURE__ */ React25.createElement(ControlLabel, null, overridableProp.label), getControl(controls, overridableProp?.originPropFields ?? overridableProp)))
|
|
3599
3625
|
);
|
|
3600
3626
|
}
|
|
3601
3627
|
function getPropValue(value) {
|
|
@@ -3648,7 +3674,7 @@ function createOverrideValue(overrideKey, overrideValue, componentId) {
|
|
|
3648
3674
|
function getControl(controls, originPropFields) {
|
|
3649
3675
|
const ControlComponent = import_editor_editing_panel3.controlsRegistry.get(controls[originPropFields.propKey].value.type);
|
|
3650
3676
|
const controlProps = controls[originPropFields.propKey].value.props;
|
|
3651
|
-
return /* @__PURE__ */
|
|
3677
|
+
return /* @__PURE__ */ React25.createElement(ControlComponent, { ...controlProps });
|
|
3652
3678
|
}
|
|
3653
3679
|
|
|
3654
3680
|
// src/components/instance-editing-panel/override-props-group.tsx
|
|
@@ -3661,7 +3687,7 @@ function OverridePropsGroup({ group, props, overrides }) {
|
|
|
3661
3687
|
const labelId = `label-${id2}`;
|
|
3662
3688
|
const contentId = `content-${id2}`;
|
|
3663
3689
|
const title = group.label;
|
|
3664
|
-
return /* @__PURE__ */
|
|
3690
|
+
return /* @__PURE__ */ React26.createElement(import_ui21.Box, { "aria-label": `${title} section` }, /* @__PURE__ */ React26.createElement(
|
|
3665
3691
|
import_ui21.ListItemButton,
|
|
3666
3692
|
{
|
|
3667
3693
|
id: labelId,
|
|
@@ -3671,7 +3697,7 @@ function OverridePropsGroup({ group, props, overrides }) {
|
|
|
3671
3697
|
p: 0,
|
|
3672
3698
|
sx: { "&:hover": { backgroundColor: "transparent" } }
|
|
3673
3699
|
},
|
|
3674
|
-
/* @__PURE__ */
|
|
3700
|
+
/* @__PURE__ */ React26.createElement(import_ui21.Stack, { direction: "row", alignItems: "center", justifyItems: "start", flexGrow: 1, gap: 0.5 }, /* @__PURE__ */ React26.createElement(
|
|
3675
3701
|
import_ui21.ListItemText,
|
|
3676
3702
|
{
|
|
3677
3703
|
secondary: title,
|
|
@@ -3679,8 +3705,8 @@ function OverridePropsGroup({ group, props, overrides }) {
|
|
|
3679
3705
|
sx: { flexGrow: 0, flexShrink: 1, marginInlineEnd: 1 }
|
|
3680
3706
|
}
|
|
3681
3707
|
)),
|
|
3682
|
-
/* @__PURE__ */
|
|
3683
|
-
), /* @__PURE__ */
|
|
3708
|
+
/* @__PURE__ */ React26.createElement(import_editor_ui11.CollapseIcon, { open: isOpen, color: "secondary", fontSize: "tiny" })
|
|
3709
|
+
), /* @__PURE__ */ React26.createElement(import_ui21.Collapse, { id: contentId, "aria-labelledby": labelId, in: isOpen, timeout: "auto" }, /* @__PURE__ */ React26.createElement(import_ui21.Stack, { direction: "column", gap: 1, p: 2 }, group.props.map((overrideKey) => /* @__PURE__ */ React26.createElement(
|
|
3684
3710
|
OverridePropControl,
|
|
3685
3711
|
{
|
|
3686
3712
|
key: overrideKey,
|
|
@@ -3701,12 +3727,12 @@ function InstanceEditingPanel() {
|
|
|
3701
3727
|
if (!componentId || !overridableProps || !component) {
|
|
3702
3728
|
return null;
|
|
3703
3729
|
}
|
|
3704
|
-
const panelTitle = (0,
|
|
3730
|
+
const panelTitle = (0, import_i18n25.__)("Edit %s", "elementor").replace("%s", component.name);
|
|
3705
3731
|
const handleEditComponent = () => switchToComponent(componentId, componentInstanceId);
|
|
3706
3732
|
const isNonEmptyGroup = (group) => group !== null && group.props.length > 0;
|
|
3707
3733
|
const groups = overridableProps.groups.order.map((groupId) => overridableProps.groups.items[groupId] ?? null).filter(isNonEmptyGroup);
|
|
3708
3734
|
const isEmpty = groups.length === 0 || Object.keys(overridableProps.props).length === 0;
|
|
3709
|
-
return /* @__PURE__ */
|
|
3735
|
+
return /* @__PURE__ */ React27.createElement(React27.Fragment, null, /* @__PURE__ */ React27.createElement(import_editor_panels3.PanelHeader, { sx: { justifyContent: "start", px: 2 } }, /* @__PURE__ */ React27.createElement(import_ui22.Stack, { direction: "row", alignContent: "space-between", flexGrow: 1 }, /* @__PURE__ */ React27.createElement(import_ui22.Stack, { direction: "row", alignItems: "center", justifyContent: "start", gap: 1, flexGrow: 1 }, /* @__PURE__ */ React27.createElement(import_icons14.ComponentsIcon, { fontSize: "small", sx: { color: "text.tertiary" } }), /* @__PURE__ */ React27.createElement(import_editor_panels3.PanelHeaderTitle, null, component.name)), /* @__PURE__ */ React27.createElement(import_ui22.Tooltip, { title: panelTitle }, /* @__PURE__ */ React27.createElement(import_ui22.IconButton, { size: "tiny", onClick: handleEditComponent, "aria-label": panelTitle }, /* @__PURE__ */ React27.createElement(import_icons14.PencilIcon, { fontSize: "tiny" }))))), /* @__PURE__ */ React27.createElement(import_editor_panels3.PanelBody, null, /* @__PURE__ */ React27.createElement(import_editor_controls4.ControlAdornmentsProvider, { items: (0, import_editor_editing_panel5.getFieldIndicators)("settings") }, isEmpty ? /* @__PURE__ */ React27.createElement(EmptyState2, { onEditComponent: handleEditComponent }) : /* @__PURE__ */ React27.createElement(import_ui22.Stack, { direction: "column", alignItems: "stretch" }, groups.map((group) => /* @__PURE__ */ React27.createElement(
|
|
3710
3736
|
OverridePropsGroup,
|
|
3711
3737
|
{
|
|
3712
3738
|
key: group.id,
|
|
@@ -3718,16 +3744,16 @@ function InstanceEditingPanel() {
|
|
|
3718
3744
|
}
|
|
3719
3745
|
|
|
3720
3746
|
// src/components/overridable-props/overridable-prop-control.tsx
|
|
3721
|
-
var
|
|
3747
|
+
var React29 = __toESM(require("react"));
|
|
3722
3748
|
var import_editor_controls5 = require("@elementor/editor-controls");
|
|
3723
3749
|
var import_editor_editing_panel6 = require("@elementor/editor-editing-panel");
|
|
3724
3750
|
|
|
3725
3751
|
// src/provider/overridable-prop-context.tsx
|
|
3726
|
-
var
|
|
3752
|
+
var React28 = __toESM(require("react"));
|
|
3727
3753
|
var import_react16 = require("react");
|
|
3728
3754
|
var OverridablePropContext = (0, import_react16.createContext)(null);
|
|
3729
3755
|
function OverridablePropProvider({ children, ...props }) {
|
|
3730
|
-
return /* @__PURE__ */
|
|
3756
|
+
return /* @__PURE__ */ React28.createElement(OverridablePropContext.Provider, { value: props }, children);
|
|
3731
3757
|
}
|
|
3732
3758
|
var useOverridablePropValue = () => (0, import_react16.useContext)(OverridablePropContext)?.value;
|
|
3733
3759
|
|
|
@@ -3766,7 +3792,7 @@ function OverridablePropControl({
|
|
|
3766
3792
|
});
|
|
3767
3793
|
const propValue = isComponentInstance2 ? (value.origin_value?.value).override_value : value.origin_value;
|
|
3768
3794
|
const objectPlaceholder = placeholder ? { [bind]: placeholder } : void 0;
|
|
3769
|
-
return /* @__PURE__ */
|
|
3795
|
+
return /* @__PURE__ */ React29.createElement(OverridablePropProvider, { value }, /* @__PURE__ */ React29.createElement(
|
|
3770
3796
|
import_editor_controls5.PropProvider,
|
|
3771
3797
|
{
|
|
3772
3798
|
...propContext,
|
|
@@ -3777,17 +3803,17 @@ function OverridablePropControl({
|
|
|
3777
3803
|
},
|
|
3778
3804
|
placeholder: objectPlaceholder
|
|
3779
3805
|
},
|
|
3780
|
-
/* @__PURE__ */
|
|
3806
|
+
/* @__PURE__ */ React29.createElement(import_editor_controls5.PropKeyProvider, { bind }, /* @__PURE__ */ React29.createElement(import_editor_controls5.ControlReplacementsProvider, { replacements: [] }, /* @__PURE__ */ React29.createElement(OriginalControl, { ...props })))
|
|
3781
3807
|
));
|
|
3782
3808
|
}
|
|
3783
3809
|
|
|
3784
3810
|
// src/components/overridable-props/overridable-prop-indicator.tsx
|
|
3785
|
-
var
|
|
3811
|
+
var React31 = __toESM(require("react"));
|
|
3786
3812
|
var import_editor_controls6 = require("@elementor/editor-controls");
|
|
3787
3813
|
var import_editor_editing_panel7 = require("@elementor/editor-editing-panel");
|
|
3788
3814
|
var import_editor_elements15 = require("@elementor/editor-elements");
|
|
3789
3815
|
var import_ui24 = require("@elementor/ui");
|
|
3790
|
-
var
|
|
3816
|
+
var import_i18n27 = require("@wordpress/i18n");
|
|
3791
3817
|
|
|
3792
3818
|
// src/store/actions/set-overridable-prop.ts
|
|
3793
3819
|
var import_store58 = require("@elementor/store");
|
|
@@ -3854,11 +3880,11 @@ function setOverridableProp({
|
|
|
3854
3880
|
}
|
|
3855
3881
|
|
|
3856
3882
|
// src/components/overridable-props/indicator.tsx
|
|
3857
|
-
var
|
|
3883
|
+
var React30 = __toESM(require("react"));
|
|
3858
3884
|
var import_react17 = require("react");
|
|
3859
3885
|
var import_icons15 = require("@elementor/icons");
|
|
3860
3886
|
var import_ui23 = require("@elementor/ui");
|
|
3861
|
-
var
|
|
3887
|
+
var import_i18n26 = require("@wordpress/i18n");
|
|
3862
3888
|
var SIZE2 = "tiny";
|
|
3863
3889
|
var IconContainer = (0, import_ui23.styled)(import_ui23.Box)`
|
|
3864
3890
|
pointer-events: none;
|
|
@@ -3914,13 +3940,13 @@ var Content = (0, import_ui23.styled)(import_ui23.Box)`
|
|
|
3914
3940
|
}
|
|
3915
3941
|
}
|
|
3916
3942
|
`;
|
|
3917
|
-
var Indicator2 = (0, import_react17.forwardRef)(({ isOpen, isOverridable, ...props }, ref) => /* @__PURE__ */
|
|
3943
|
+
var Indicator2 = (0, import_react17.forwardRef)(({ isOpen, isOverridable, ...props }, ref) => /* @__PURE__ */ React30.createElement(Content, { ref, ...props, className: isOpen || isOverridable ? "enlarged" : "" }, /* @__PURE__ */ React30.createElement(
|
|
3918
3944
|
IconContainer,
|
|
3919
3945
|
{
|
|
3920
3946
|
className: "icon",
|
|
3921
|
-
"aria-label": isOverridable ? (0,
|
|
3947
|
+
"aria-label": isOverridable ? (0, import_i18n26.__)("Overridable property", "elementor") : (0, import_i18n26.__)("Make prop overridable", "elementor")
|
|
3922
3948
|
},
|
|
3923
|
-
isOverridable ? /* @__PURE__ */
|
|
3949
|
+
isOverridable ? /* @__PURE__ */ React30.createElement(import_icons15.CheckIcon, { fontSize: SIZE2 }) : /* @__PURE__ */ React30.createElement(import_icons15.PlusIcon, { fontSize: SIZE2 })
|
|
3924
3950
|
)));
|
|
3925
3951
|
|
|
3926
3952
|
// src/components/overridable-props/utils/get-overridable-prop.ts
|
|
@@ -3945,7 +3971,7 @@ function OverridablePropIndicator() {
|
|
|
3945
3971
|
if (!isPropAllowed(bind) || !componentId || !overridableProps) {
|
|
3946
3972
|
return null;
|
|
3947
3973
|
}
|
|
3948
|
-
return /* @__PURE__ */
|
|
3974
|
+
return /* @__PURE__ */ React31.createElement(Content2, { componentId, overridableProps });
|
|
3949
3975
|
}
|
|
3950
3976
|
function Content2({ componentId, overridableProps }) {
|
|
3951
3977
|
const {
|
|
@@ -3989,7 +4015,7 @@ function Content2({ componentId, overridableProps }) {
|
|
|
3989
4015
|
popupState.close();
|
|
3990
4016
|
};
|
|
3991
4017
|
const overridableConfig = overridableValue ? getOverridableProp({ componentId, overrideKey: overridableValue.override_key }) : void 0;
|
|
3992
|
-
return /* @__PURE__ */
|
|
4018
|
+
return /* @__PURE__ */ React31.createElement(React31.Fragment, null, /* @__PURE__ */ React31.createElement(import_ui24.Tooltip, { placement: "top", title: (0, import_i18n27.__)("Override Property", "elementor") }, /* @__PURE__ */ React31.createElement(Indicator2, { ...triggerProps, isOpen: !!popoverProps.open, isOverridable: !!overridableValue })), /* @__PURE__ */ React31.createElement(
|
|
3993
4019
|
import_ui24.Popover,
|
|
3994
4020
|
{
|
|
3995
4021
|
disableScrollLock: true,
|
|
@@ -4006,7 +4032,7 @@ function Content2({ componentId, overridableProps }) {
|
|
|
4006
4032
|
},
|
|
4007
4033
|
...popoverProps
|
|
4008
4034
|
},
|
|
4009
|
-
/* @__PURE__ */
|
|
4035
|
+
/* @__PURE__ */ React31.createElement(
|
|
4010
4036
|
OverridablePropForm,
|
|
4011
4037
|
{
|
|
4012
4038
|
onSubmit: handleSubmit,
|
|
@@ -4452,11 +4478,11 @@ var import_editor_elements18 = require("@elementor/editor-elements");
|
|
|
4452
4478
|
var import_editor_notifications4 = require("@elementor/editor-notifications");
|
|
4453
4479
|
var import_editor_v1_adapters9 = require("@elementor/editor-v1-adapters");
|
|
4454
4480
|
var import_store64 = require("@elementor/store");
|
|
4455
|
-
var
|
|
4481
|
+
var import_i18n28 = require("@wordpress/i18n");
|
|
4456
4482
|
var COMPONENT_TYPE = "e-component";
|
|
4457
4483
|
var COMPONENT_CIRCULAR_NESTING_ALERT = {
|
|
4458
4484
|
type: "default",
|
|
4459
|
-
message: (0,
|
|
4485
|
+
message: (0, import_i18n28.__)("Can't add this component - components that contain each other can't be nested.", "elementor"),
|
|
4460
4486
|
id: "circular-component-nesting-blocked"
|
|
4461
4487
|
};
|
|
4462
4488
|
function initCircularNestingPrevention() {
|
|
@@ -4788,7 +4814,7 @@ function init() {
|
|
|
4788
4814
|
window.elementorCommon.__beforeSave = beforeSave;
|
|
4789
4815
|
(0, import_editor_elements_panel.injectTab)({
|
|
4790
4816
|
id: "components",
|
|
4791
|
-
label: (0,
|
|
4817
|
+
label: (0, import_i18n29.__)("Components", "elementor"),
|
|
4792
4818
|
component: Components,
|
|
4793
4819
|
position: 1
|
|
4794
4820
|
});
|