@elementor/editor-controls 4.1.0-800 → 4.1.0-802
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 +242 -196
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +169 -124
- package/dist/index.mjs.map +1 -1
- package/package.json +15 -15
- package/src/components/control-repeater/context/repeater-context.tsx +13 -0
- package/src/components/repeater/repeater.tsx +6 -10
- package/src/hooks/use-repeater-popover-dismiss.ts +53 -0
package/dist/index.js
CHANGED
|
@@ -1497,7 +1497,7 @@ var Control = (0, import_react15.forwardRef)(({ bind, label, children }, ref) =>
|
|
|
1497
1497
|
|
|
1498
1498
|
// src/controls/box-shadow-repeater-control.tsx
|
|
1499
1499
|
var React40 = __toESM(require("react"));
|
|
1500
|
-
var
|
|
1500
|
+
var import_react24 = require("react");
|
|
1501
1501
|
var import_editor_props11 = require("@elementor/editor-props");
|
|
1502
1502
|
var import_ui31 = require("@elementor/ui");
|
|
1503
1503
|
var import_i18n11 = require("@wordpress/i18n");
|
|
@@ -1510,9 +1510,53 @@ var import_i18n5 = require("@wordpress/i18n");
|
|
|
1510
1510
|
|
|
1511
1511
|
// src/components/control-repeater/context/repeater-context.tsx
|
|
1512
1512
|
var React25 = __toESM(require("react"));
|
|
1513
|
-
var
|
|
1513
|
+
var import_react18 = require("react");
|
|
1514
1514
|
var import_ui18 = require("@elementor/ui");
|
|
1515
1515
|
|
|
1516
|
+
// src/hooks/use-repeater-popover-dismiss.ts
|
|
1517
|
+
var import_react16 = require("react");
|
|
1518
|
+
var import_editor_responsive2 = require("@elementor/editor-responsive");
|
|
1519
|
+
var serializeBreakpoints = (breakpoints) => breakpoints.map((b) => [b.id, b.width ?? "", b.type ?? ""].join(":")).join("|");
|
|
1520
|
+
var usePopoverDismiss = ({ isOpen, onClose }) => {
|
|
1521
|
+
const onCloseRef = (0, import_react16.useRef)(onClose);
|
|
1522
|
+
onCloseRef.current = onClose;
|
|
1523
|
+
const activeBreakpoint = (0, import_editor_responsive2.useActiveBreakpoint)();
|
|
1524
|
+
const breakpoints = (0, import_editor_responsive2.useBreakpoints)();
|
|
1525
|
+
const breakpointsSignature = (0, import_react16.useMemo)(() => serializeBreakpoints(breakpoints), [breakpoints]);
|
|
1526
|
+
const prevActiveBreakpointRef = (0, import_react16.useRef)(void 0);
|
|
1527
|
+
const prevBreakpointsSignatureRef = (0, import_react16.useRef)(null);
|
|
1528
|
+
(0, import_react16.useEffect)(() => {
|
|
1529
|
+
if (!isOpen) {
|
|
1530
|
+
prevActiveBreakpointRef.current = activeBreakpoint;
|
|
1531
|
+
prevBreakpointsSignatureRef.current = breakpointsSignature;
|
|
1532
|
+
return;
|
|
1533
|
+
}
|
|
1534
|
+
const previousBreakpoint = prevActiveBreakpointRef.current;
|
|
1535
|
+
const previousSignature = prevBreakpointsSignatureRef.current;
|
|
1536
|
+
const breakpointChanged = previousBreakpoint !== void 0 && previousBreakpoint !== activeBreakpoint;
|
|
1537
|
+
const breakpointsChanged = previousSignature !== null && previousSignature !== breakpointsSignature;
|
|
1538
|
+
if (breakpointChanged || breakpointsChanged) {
|
|
1539
|
+
onCloseRef.current();
|
|
1540
|
+
}
|
|
1541
|
+
prevActiveBreakpointRef.current = activeBreakpoint;
|
|
1542
|
+
prevBreakpointsSignatureRef.current = breakpointsSignature;
|
|
1543
|
+
}, [activeBreakpoint, breakpointsSignature, isOpen]);
|
|
1544
|
+
(0, import_react16.useEffect)(() => {
|
|
1545
|
+
if (!isOpen) {
|
|
1546
|
+
return;
|
|
1547
|
+
}
|
|
1548
|
+
const onKeyDown = (event) => {
|
|
1549
|
+
if (event.key === "Escape" && !event.defaultPrevented) {
|
|
1550
|
+
onCloseRef.current();
|
|
1551
|
+
}
|
|
1552
|
+
};
|
|
1553
|
+
document.addEventListener("keydown", onKeyDown);
|
|
1554
|
+
return () => {
|
|
1555
|
+
document.removeEventListener("keydown", onKeyDown);
|
|
1556
|
+
};
|
|
1557
|
+
}, [isOpen]);
|
|
1558
|
+
};
|
|
1559
|
+
|
|
1516
1560
|
// src/services/event-bus.ts
|
|
1517
1561
|
var EventBus = class {
|
|
1518
1562
|
listeners = /* @__PURE__ */ new Map();
|
|
@@ -1548,18 +1592,18 @@ var EventBus = class {
|
|
|
1548
1592
|
var eventBus = new EventBus();
|
|
1549
1593
|
|
|
1550
1594
|
// src/components/control-repeater/context/item-context.tsx
|
|
1551
|
-
var
|
|
1552
|
-
var ItemContext = (0,
|
|
1595
|
+
var import_react17 = require("react");
|
|
1596
|
+
var ItemContext = (0, import_react17.createContext)({
|
|
1553
1597
|
index: -1,
|
|
1554
1598
|
value: {}
|
|
1555
1599
|
});
|
|
1556
1600
|
|
|
1557
1601
|
// src/components/control-repeater/context/repeater-context.tsx
|
|
1558
|
-
var RepeaterContext = (0,
|
|
1602
|
+
var RepeaterContext = (0, import_react18.createContext)(null);
|
|
1559
1603
|
var EMPTY_OPEN_ITEM = -1;
|
|
1560
1604
|
var useRepeaterContext = () => {
|
|
1561
|
-
const context = (0,
|
|
1562
|
-
const itemContext = (0,
|
|
1605
|
+
const context = (0, import_react18.useContext)(RepeaterContext);
|
|
1606
|
+
const itemContext = (0, import_react18.useContext)(ItemContext);
|
|
1563
1607
|
if (!context) {
|
|
1564
1608
|
throw new Error("useRepeaterContext must be used within a RepeaterContextProvider");
|
|
1565
1609
|
}
|
|
@@ -1578,10 +1622,10 @@ var RepeaterContextProvider = ({
|
|
|
1578
1622
|
setExternal: setRepeaterValues,
|
|
1579
1623
|
persistWhen: () => true
|
|
1580
1624
|
});
|
|
1581
|
-
const [uniqueKeys, setUniqueKeys] = (0,
|
|
1625
|
+
const [uniqueKeys, setUniqueKeys] = (0, import_react18.useState)(() => {
|
|
1582
1626
|
return items2?.map(() => generateUniqueKey()) ?? [];
|
|
1583
1627
|
});
|
|
1584
|
-
(0,
|
|
1628
|
+
(0, import_react18.useEffect)(() => {
|
|
1585
1629
|
const nextLength = items2?.length ?? 0;
|
|
1586
1630
|
setUniqueKeys((prev) => {
|
|
1587
1631
|
const prevLength = prev.length;
|
|
@@ -1594,7 +1638,7 @@ var RepeaterContextProvider = ({
|
|
|
1594
1638
|
return [...prev, ...Array.from({ length: nextLength - prevLength }, generateUniqueKey)];
|
|
1595
1639
|
});
|
|
1596
1640
|
}, [items2?.length]);
|
|
1597
|
-
const itemsWithKeys = (0,
|
|
1641
|
+
const itemsWithKeys = (0, import_react18.useMemo)(
|
|
1598
1642
|
() => uniqueKeys.map((key, index) => ({
|
|
1599
1643
|
key,
|
|
1600
1644
|
item: items2[index]
|
|
@@ -1604,8 +1648,8 @@ var RepeaterContextProvider = ({
|
|
|
1604
1648
|
const handleSetItems = (newItemsWithKeys) => {
|
|
1605
1649
|
setItems(newItemsWithKeys.map(({ item }) => item));
|
|
1606
1650
|
};
|
|
1607
|
-
const [openItemIndex, setOpenItemIndex] = (0,
|
|
1608
|
-
const [rowRef, setRowRef] = (0,
|
|
1651
|
+
const [openItemIndex, setOpenItemIndex] = (0, import_react18.useState)(EMPTY_OPEN_ITEM);
|
|
1652
|
+
const [rowRef, setRowRef] = (0, import_react18.useState)(null);
|
|
1609
1653
|
const isOpen = openItemIndex !== EMPTY_OPEN_ITEM;
|
|
1610
1654
|
const popoverState = (0, import_ui18.usePopupState)({ variant: "popover" });
|
|
1611
1655
|
const addItem = (ev, config) => {
|
|
@@ -1634,6 +1678,15 @@ var RepeaterContextProvider = ({
|
|
|
1634
1678
|
const newItems = [...items2.slice(0, index), updatedItem, ...items2.slice(index + 1)];
|
|
1635
1679
|
setItems(newItems);
|
|
1636
1680
|
};
|
|
1681
|
+
const closePopover = () => {
|
|
1682
|
+
if (!isOpen) {
|
|
1683
|
+
return;
|
|
1684
|
+
}
|
|
1685
|
+
setOpenItemIndex(EMPTY_OPEN_ITEM);
|
|
1686
|
+
setRowRef(null);
|
|
1687
|
+
popoverState.close();
|
|
1688
|
+
};
|
|
1689
|
+
usePopoverDismiss({ isOpen, onClose: closePopover });
|
|
1637
1690
|
return /* @__PURE__ */ React25.createElement(
|
|
1638
1691
|
RepeaterContext.Provider,
|
|
1639
1692
|
{
|
|
@@ -1802,15 +1855,15 @@ var ItemsContainer = ({
|
|
|
1802
1855
|
|
|
1803
1856
|
// src/components/control-repeater/items/item.tsx
|
|
1804
1857
|
var React30 = __toESM(require("react"));
|
|
1805
|
-
var
|
|
1858
|
+
var import_react21 = require("react");
|
|
1806
1859
|
var import_ui22 = require("@elementor/ui");
|
|
1807
1860
|
var import_i18n7 = require("@wordpress/i18n");
|
|
1808
1861
|
|
|
1809
1862
|
// src/hooks/use-repeatable-control-context.ts
|
|
1810
|
-
var
|
|
1811
|
-
var RepeatableControlContext = (0,
|
|
1863
|
+
var import_react19 = require("react");
|
|
1864
|
+
var RepeatableControlContext = (0, import_react19.createContext)(void 0);
|
|
1812
1865
|
var useRepeatableControlContext = () => {
|
|
1813
|
-
const context = (0,
|
|
1866
|
+
const context = (0, import_react19.useContext)(RepeatableControlContext);
|
|
1814
1867
|
if (!context) {
|
|
1815
1868
|
throw new Error("useRepeatableControlContext must be used within RepeatableControl");
|
|
1816
1869
|
}
|
|
@@ -1819,9 +1872,9 @@ var useRepeatableControlContext = () => {
|
|
|
1819
1872
|
|
|
1820
1873
|
// src/components/repeater/repeater-tag.tsx
|
|
1821
1874
|
var React29 = __toESM(require("react"));
|
|
1822
|
-
var
|
|
1875
|
+
var import_react20 = require("react");
|
|
1823
1876
|
var import_ui21 = require("@elementor/ui");
|
|
1824
|
-
var RepeaterTag = (0,
|
|
1877
|
+
var RepeaterTag = (0, import_react20.forwardRef)((props, ref) => {
|
|
1825
1878
|
return /* @__PURE__ */ React29.createElement(
|
|
1826
1879
|
import_ui21.UnstableTag,
|
|
1827
1880
|
{
|
|
@@ -1852,7 +1905,7 @@ var Item = ({ Label: Label3, Icon, actions }) => {
|
|
|
1852
1905
|
value,
|
|
1853
1906
|
isItemDisabled: isItemDisabled2
|
|
1854
1907
|
} = useRepeaterContext();
|
|
1855
|
-
const repeatableContext = (0,
|
|
1908
|
+
const repeatableContext = (0, import_react21.useContext)(RepeatableControlContext);
|
|
1856
1909
|
const disableOpen = !!repeatableContext?.props?.readOnly;
|
|
1857
1910
|
const triggerProps = (0, import_ui22.bindTrigger)(popoverState);
|
|
1858
1911
|
const onClick = (ev) => {
|
|
@@ -2024,18 +2077,18 @@ var import_ui28 = require("@elementor/ui");
|
|
|
2024
2077
|
var PopoverContent = ({ gap = 1.5, children, ...props }) => /* @__PURE__ */ React37.createElement(import_ui28.Stack, { ...props, gap }, children);
|
|
2025
2078
|
|
|
2026
2079
|
// src/components/popover-grid-container.tsx
|
|
2027
|
-
var
|
|
2080
|
+
var import_react22 = require("react");
|
|
2028
2081
|
var React38 = __toESM(require("react"));
|
|
2029
2082
|
var import_ui29 = require("@elementor/ui");
|
|
2030
|
-
var PopoverGridContainer = (0,
|
|
2083
|
+
var PopoverGridContainer = (0, import_react22.forwardRef)(
|
|
2031
2084
|
({ gap = 1.5, alignItems = "center", flexWrap = "nowrap", children }, ref) => /* @__PURE__ */ React38.createElement(import_ui29.Grid, { container: true, gap, alignItems, flexWrap, ref }, children)
|
|
2032
2085
|
);
|
|
2033
2086
|
|
|
2034
2087
|
// src/components/repeater/repeater-header.tsx
|
|
2035
2088
|
var React39 = __toESM(require("react"));
|
|
2036
|
-
var
|
|
2089
|
+
var import_react23 = require("react");
|
|
2037
2090
|
var import_ui30 = require("@elementor/ui");
|
|
2038
|
-
var RepeaterHeader = (0,
|
|
2091
|
+
var RepeaterHeader = (0, import_react23.forwardRef)(
|
|
2039
2092
|
({
|
|
2040
2093
|
label,
|
|
2041
2094
|
children,
|
|
@@ -2076,7 +2129,7 @@ var StyledUnstableColorIndicator = (0, import_ui31.styled)(import_ui31.UnstableC
|
|
|
2076
2129
|
var ItemIcon = ({ value }) => /* @__PURE__ */ React40.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: value.value.color?.value });
|
|
2077
2130
|
var Content = () => {
|
|
2078
2131
|
const context = useBoundProp(import_editor_props11.shadowPropTypeUtil);
|
|
2079
|
-
const rowRef = [(0,
|
|
2132
|
+
const rowRef = [(0, import_react24.useRef)(null), (0, import_react24.useRef)(null)];
|
|
2080
2133
|
const { rowRef: anchorEl } = useRepeaterContext();
|
|
2081
2134
|
return /* @__PURE__ */ React40.createElement(PropProvider, { ...context }, /* @__PURE__ */ React40.createElement(PopoverContent, { p: 1.5 }, /* @__PURE__ */ React40.createElement(PopoverGridContainer, null, /* @__PURE__ */ React40.createElement(Control2, { bind: "color", label: (0, import_i18n11.__)("Color", "elementor") }, /* @__PURE__ */ React40.createElement(ColorControl, { anchorEl })), /* @__PURE__ */ React40.createElement(Control2, { bind: "position", label: (0, import_i18n11.__)("Position", "elementor"), sx: { overflow: "hidden" } }, /* @__PURE__ */ React40.createElement(
|
|
2082
2135
|
SelectControl,
|
|
@@ -2148,7 +2201,7 @@ var import_i18n17 = require("@wordpress/i18n");
|
|
|
2148
2201
|
|
|
2149
2202
|
// src/controls/filter-control/context/filter-config-context.tsx
|
|
2150
2203
|
var React41 = __toESM(require("react"));
|
|
2151
|
-
var
|
|
2204
|
+
var import_react25 = require("react");
|
|
2152
2205
|
var import_editor_props12 = require("@elementor/editor-props");
|
|
2153
2206
|
|
|
2154
2207
|
// src/controls/filter-control/utils.ts
|
|
@@ -2247,10 +2300,10 @@ function extractPropType(propType, filterFunctionGroup) {
|
|
|
2247
2300
|
}
|
|
2248
2301
|
|
|
2249
2302
|
// src/controls/filter-control/context/filter-config-context.tsx
|
|
2250
|
-
var FilterConfigContext = (0,
|
|
2303
|
+
var FilterConfigContext = (0, import_react25.createContext)(null);
|
|
2251
2304
|
function FilterConfigProvider({ children }) {
|
|
2252
2305
|
const propContext = useBoundProp(import_editor_props12.cssFilterFunctionPropUtil);
|
|
2253
|
-
const contextValue = (0,
|
|
2306
|
+
const contextValue = (0, import_react25.useMemo)(() => {
|
|
2254
2307
|
const config = buildFilterConfig(propContext.propType.item_prop_type);
|
|
2255
2308
|
const filterOptions = Object.entries(config).map(([key, conf]) => ({
|
|
2256
2309
|
value: key,
|
|
@@ -2266,7 +2319,7 @@ function FilterConfigProvider({ children }) {
|
|
|
2266
2319
|
return /* @__PURE__ */ React41.createElement(FilterConfigContext.Provider, { value: contextValue }, children);
|
|
2267
2320
|
}
|
|
2268
2321
|
function useFilterConfig() {
|
|
2269
|
-
const context = (0,
|
|
2322
|
+
const context = (0, import_react25.useContext)(FilterConfigContext);
|
|
2270
2323
|
if (!context) {
|
|
2271
2324
|
throw new Error("useFilterConfig must be used within FilterConfigProvider");
|
|
2272
2325
|
}
|
|
@@ -2281,7 +2334,7 @@ var import_i18n15 = require("@wordpress/i18n");
|
|
|
2281
2334
|
|
|
2282
2335
|
// src/controls/filter-control/drop-shadow/drop-shadow-item-content.tsx
|
|
2283
2336
|
var React42 = __toESM(require("react"));
|
|
2284
|
-
var
|
|
2337
|
+
var import_react26 = require("react");
|
|
2285
2338
|
var import_editor_props13 = require("@elementor/editor-props");
|
|
2286
2339
|
var import_ui32 = require("@elementor/ui");
|
|
2287
2340
|
var import_i18n14 = require("@wordpress/i18n");
|
|
@@ -2309,7 +2362,7 @@ var items = [
|
|
|
2309
2362
|
];
|
|
2310
2363
|
var DropShadowItemContent = ({ anchorEl }) => {
|
|
2311
2364
|
const context = useBoundProp(import_editor_props13.dropShadowFilterPropTypeUtil);
|
|
2312
|
-
const rowRefs = [(0,
|
|
2365
|
+
const rowRefs = [(0, import_react26.useRef)(null), (0, import_react26.useRef)(null)];
|
|
2313
2366
|
return /* @__PURE__ */ React42.createElement(PropProvider, { ...context }, items.map((item) => /* @__PURE__ */ React42.createElement(PopoverGridContainer, { key: item.bind, ref: rowRefs[item.rowIndex] ?? null }, /* @__PURE__ */ React42.createElement(PropKeyProvider, { bind: item.bind }, /* @__PURE__ */ React42.createElement(import_ui32.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(ControlFormLabel, null, item.label)), /* @__PURE__ */ React42.createElement(import_ui32.Grid, { item: true, xs: 6 }, item.bind === "color" ? /* @__PURE__ */ React42.createElement(ColorControl, { anchorEl }) : /* @__PURE__ */ React42.createElement(
|
|
2314
2367
|
SizeControl,
|
|
2315
2368
|
{
|
|
@@ -2322,7 +2375,7 @@ var DropShadowItemContent = ({ anchorEl }) => {
|
|
|
2322
2375
|
};
|
|
2323
2376
|
|
|
2324
2377
|
// src/controls/filter-control/single-size/single-size-item-content.tsx
|
|
2325
|
-
var
|
|
2378
|
+
var import_react27 = require("react");
|
|
2326
2379
|
var React43 = __toESM(require("react"));
|
|
2327
2380
|
var import_editor_props14 = require("@elementor/editor-props");
|
|
2328
2381
|
var import_ui33 = require("@elementor/ui");
|
|
@@ -2333,7 +2386,7 @@ var propTypeMap = {
|
|
|
2333
2386
|
"color-tone": import_editor_props14.colorToneFilterPropTypeUtil
|
|
2334
2387
|
};
|
|
2335
2388
|
var SingleSizeItemContent = ({ filterFunc }) => {
|
|
2336
|
-
const rowRef = (0,
|
|
2389
|
+
const rowRef = (0, import_react27.useRef)(null);
|
|
2337
2390
|
const { getFilterFunctionConfig } = useFilterConfig();
|
|
2338
2391
|
const { valueName, filterFunctionGroup } = getFilterFunctionConfig(filterFunc);
|
|
2339
2392
|
const context = useBoundProp(propTypeMap[filterFunctionGroup]);
|
|
@@ -2474,7 +2527,7 @@ function ensureFilterConfig(name) {
|
|
|
2474
2527
|
|
|
2475
2528
|
// src/controls/select-control-wrapper.tsx
|
|
2476
2529
|
var React50 = __toESM(require("react"));
|
|
2477
|
-
var
|
|
2530
|
+
var import_react28 = require("react");
|
|
2478
2531
|
var getOffCanvasElements = () => {
|
|
2479
2532
|
const extendedWindow = window;
|
|
2480
2533
|
const documentId = extendedWindow.elementor.config.document.id;
|
|
@@ -2510,8 +2563,8 @@ var collectionMethods = {
|
|
|
2510
2563
|
"form-elements": getFormElements
|
|
2511
2564
|
};
|
|
2512
2565
|
var useDynamicOptions = (collectionId, initialOptions) => {
|
|
2513
|
-
const [options, setOptions] = (0,
|
|
2514
|
-
(0,
|
|
2566
|
+
const [options, setOptions] = (0, import_react28.useState)(initialOptions ?? []);
|
|
2567
|
+
(0, import_react28.useEffect)(() => {
|
|
2515
2568
|
if (!collectionId || !collectionMethods[collectionId]) {
|
|
2516
2569
|
setOptions(initialOptions ?? []);
|
|
2517
2570
|
return;
|
|
@@ -2567,7 +2620,7 @@ var import_editor_props18 = require("@elementor/editor-props");
|
|
|
2567
2620
|
|
|
2568
2621
|
// src/components/control-toggle-button-group.tsx
|
|
2569
2622
|
var React53 = __toESM(require("react"));
|
|
2570
|
-
var
|
|
2623
|
+
var import_react29 = require("react");
|
|
2571
2624
|
var import_icons9 = require("@elementor/icons");
|
|
2572
2625
|
var import_ui40 = require("@elementor/ui");
|
|
2573
2626
|
|
|
@@ -2631,7 +2684,7 @@ var ToggleButtonGroupUi = React53.forwardRef(
|
|
|
2631
2684
|
const handleChange = (_, newValue) => {
|
|
2632
2685
|
onChange(newValue);
|
|
2633
2686
|
};
|
|
2634
|
-
const getGridTemplateColumns = (0,
|
|
2687
|
+
const getGridTemplateColumns = (0, import_react29.useMemo)(() => {
|
|
2635
2688
|
const isOffLimits = menuItems?.length;
|
|
2636
2689
|
const itemsCount = isOffLimits ? fixedItems.length + 1 : fixedItems.length;
|
|
2637
2690
|
const templateColumnsSuffix = isOffLimits ? "auto" : "";
|
|
@@ -2729,8 +2782,8 @@ var SplitButtonGroup = ({
|
|
|
2729
2782
|
value
|
|
2730
2783
|
}) => {
|
|
2731
2784
|
const previewButton = usePreviewButton(items2, value);
|
|
2732
|
-
const [isMenuOpen, setIsMenuOpen] = (0,
|
|
2733
|
-
const menuButtonRef = (0,
|
|
2785
|
+
const [isMenuOpen, setIsMenuOpen] = (0, import_react29.useState)(false);
|
|
2786
|
+
const menuButtonRef = (0, import_react29.useRef)(null);
|
|
2734
2787
|
const onMenuToggle = (ev) => {
|
|
2735
2788
|
setIsMenuOpen((prev) => !prev);
|
|
2736
2789
|
ev.preventDefault();
|
|
@@ -2798,10 +2851,10 @@ var SplitButtonGroup = ({
|
|
|
2798
2851
|
));
|
|
2799
2852
|
};
|
|
2800
2853
|
var usePreviewButton = (items2, value) => {
|
|
2801
|
-
const [previewButton, setPreviewButton] = (0,
|
|
2854
|
+
const [previewButton, setPreviewButton] = (0, import_react29.useState)(
|
|
2802
2855
|
items2.find((item) => item.value === value) ?? items2[0]
|
|
2803
2856
|
);
|
|
2804
|
-
(0,
|
|
2857
|
+
(0, import_react29.useEffect)(() => {
|
|
2805
2858
|
const selectedButton = items2.find((item) => item.value === value);
|
|
2806
2859
|
if (selectedButton) {
|
|
2807
2860
|
setPreviewButton(selectedButton);
|
|
@@ -2941,7 +2994,7 @@ var NumberControl = createControl(
|
|
|
2941
2994
|
|
|
2942
2995
|
// src/controls/equal-unequal-sizes-control.tsx
|
|
2943
2996
|
var React57 = __toESM(require("react"));
|
|
2944
|
-
var
|
|
2997
|
+
var import_react30 = require("react");
|
|
2945
2998
|
var import_ui42 = require("@elementor/ui");
|
|
2946
2999
|
var import_i18n18 = require("@wordpress/i18n");
|
|
2947
3000
|
function EqualUnequalSizesControl({
|
|
@@ -2951,9 +3004,9 @@ function EqualUnequalSizesControl({
|
|
|
2951
3004
|
items: items2,
|
|
2952
3005
|
multiSizePropTypeUtil
|
|
2953
3006
|
}) {
|
|
2954
|
-
const popupId = (0,
|
|
3007
|
+
const popupId = (0, import_react30.useId)();
|
|
2955
3008
|
const popupState = (0, import_ui42.usePopupState)({ variant: "popover", popupId });
|
|
2956
|
-
const rowRefs = [(0,
|
|
3009
|
+
const rowRefs = [(0, import_react30.useRef)(null), (0, import_react30.useRef)(null)];
|
|
2957
3010
|
const { propType: multiSizePropType, disabled: multiSizeDisabled } = useBoundProp(multiSizePropTypeUtil);
|
|
2958
3011
|
const { value: masterValue, setValue: setMasterValue, placeholder: masterPlaceholder } = useBoundProp();
|
|
2959
3012
|
const getMultiSizeValues = (sourceValue) => {
|
|
@@ -3048,22 +3101,22 @@ var MultiSizeValueControl = ({ item, rowRef }) => {
|
|
|
3048
3101
|
|
|
3049
3102
|
// src/controls/linked-dimensions-control.tsx
|
|
3050
3103
|
var React64 = __toESM(require("react"));
|
|
3051
|
-
var
|
|
3104
|
+
var import_react38 = require("react");
|
|
3052
3105
|
var import_editor_props22 = require("@elementor/editor-props");
|
|
3053
|
-
var
|
|
3106
|
+
var import_editor_responsive4 = require("@elementor/editor-responsive");
|
|
3054
3107
|
var import_icons12 = require("@elementor/icons");
|
|
3055
3108
|
var import_ui47 = require("@elementor/ui");
|
|
3056
3109
|
var import_i18n20 = require("@wordpress/i18n");
|
|
3057
3110
|
|
|
3058
3111
|
// src/controls/size-control/unstable-size-control.tsx
|
|
3059
3112
|
var React63 = __toESM(require("react"));
|
|
3060
|
-
var
|
|
3113
|
+
var import_react37 = require("react");
|
|
3061
3114
|
var import_editor_props21 = require("@elementor/editor-props");
|
|
3062
3115
|
|
|
3063
3116
|
// src/controls/size-control/size-component.tsx
|
|
3064
3117
|
var React62 = __toESM(require("react"));
|
|
3065
|
-
var
|
|
3066
|
-
var
|
|
3118
|
+
var import_react36 = require("react");
|
|
3119
|
+
var import_editor_responsive3 = require("@elementor/editor-responsive");
|
|
3067
3120
|
var import_ui46 = require("@elementor/ui");
|
|
3068
3121
|
|
|
3069
3122
|
// src/controls/size-control/size-field.tsx
|
|
@@ -3132,7 +3185,7 @@ var isNumericValue = (value) => {
|
|
|
3132
3185
|
};
|
|
3133
3186
|
|
|
3134
3187
|
// src/controls/size-control/hooks/use-size-value.ts
|
|
3135
|
-
var
|
|
3188
|
+
var import_react32 = require("react");
|
|
3136
3189
|
|
|
3137
3190
|
// src/controls/size-control/utils/resolve-size-value.ts
|
|
3138
3191
|
var DEFAULT_SIZE2 = "";
|
|
@@ -3184,10 +3237,10 @@ var sanitizeSize = (size) => {
|
|
|
3184
3237
|
};
|
|
3185
3238
|
|
|
3186
3239
|
// src/controls/size-control/hooks/use-unit-sync.ts
|
|
3187
|
-
var
|
|
3240
|
+
var import_react31 = require("react");
|
|
3188
3241
|
var useUnitSync = ({ sizeValue, setUnit, persistWhen }) => {
|
|
3189
|
-
const [state, setState] = (0,
|
|
3190
|
-
(0,
|
|
3242
|
+
const [state, setState] = (0, import_react31.useState)(sizeValue.unit);
|
|
3243
|
+
(0, import_react31.useEffect)(() => {
|
|
3191
3244
|
if (sizeValue.unit !== state) {
|
|
3192
3245
|
setState(sizeValue.unit);
|
|
3193
3246
|
}
|
|
@@ -3208,7 +3261,7 @@ var useSizeValue = ({
|
|
|
3208
3261
|
units: units2,
|
|
3209
3262
|
defaultUnit
|
|
3210
3263
|
}) => {
|
|
3211
|
-
const resolvedValue = (0,
|
|
3264
|
+
const resolvedValue = (0, import_react32.useMemo)(
|
|
3212
3265
|
() => resolveSizeValue(value, { units: units2, defaultUnit }),
|
|
3213
3266
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3214
3267
|
[value?.size, value?.unit, defaultUnit]
|
|
@@ -3260,8 +3313,8 @@ var hasChanged = (next, current) => {
|
|
|
3260
3313
|
|
|
3261
3314
|
// src/controls/size-control/ui/size-input.tsx
|
|
3262
3315
|
var React58 = __toESM(require("react"));
|
|
3263
|
-
var
|
|
3264
|
-
var SizeInput2 = (0,
|
|
3316
|
+
var import_react33 = require("react");
|
|
3317
|
+
var SizeInput2 = (0, import_react33.forwardRef)(
|
|
3265
3318
|
({
|
|
3266
3319
|
id,
|
|
3267
3320
|
type,
|
|
@@ -3305,7 +3358,7 @@ var getCursorStyle = (readOnly) => ({
|
|
|
3305
3358
|
|
|
3306
3359
|
// src/controls/size-control/ui/unit-selector.tsx
|
|
3307
3360
|
var React59 = __toESM(require("react"));
|
|
3308
|
-
var
|
|
3361
|
+
var import_react34 = require("react");
|
|
3309
3362
|
var import_editor_ui5 = require("@elementor/editor-ui");
|
|
3310
3363
|
var import_ui43 = require("@elementor/ui");
|
|
3311
3364
|
var menuItemContentStyles = {
|
|
@@ -3324,7 +3377,7 @@ var UnitSelector = ({
|
|
|
3324
3377
|
}) => {
|
|
3325
3378
|
const popupState = (0, import_ui43.usePopupState)({
|
|
3326
3379
|
variant: "popover",
|
|
3327
|
-
popupId: (0,
|
|
3380
|
+
popupId: (0, import_react34.useId)()
|
|
3328
3381
|
});
|
|
3329
3382
|
const handleMenuItemClick = (option) => {
|
|
3330
3383
|
onSelect(option);
|
|
@@ -3449,15 +3502,15 @@ var shouldHighlightUnit = (value) => {
|
|
|
3449
3502
|
|
|
3450
3503
|
// src/controls/size-control/ui/text-field-popover.tsx
|
|
3451
3504
|
var React61 = __toESM(require("react"));
|
|
3452
|
-
var
|
|
3505
|
+
var import_react35 = require("react");
|
|
3453
3506
|
var import_editor_ui6 = require("@elementor/editor-ui");
|
|
3454
3507
|
var import_icons11 = require("@elementor/icons");
|
|
3455
3508
|
var import_ui45 = require("@elementor/ui");
|
|
3456
3509
|
var import_i18n19 = require("@wordpress/i18n");
|
|
3457
3510
|
var SIZE7 = "tiny";
|
|
3458
3511
|
var TextFieldPopover2 = ({ popupState, anchorRef, value, onChange, onClose }) => {
|
|
3459
|
-
const inputRef = (0,
|
|
3460
|
-
(0,
|
|
3512
|
+
const inputRef = (0, import_react35.useRef)(null);
|
|
3513
|
+
(0, import_react35.useEffect)(() => {
|
|
3461
3514
|
if (popupState.isOpen) {
|
|
3462
3515
|
requestAnimationFrame(() => {
|
|
3463
3516
|
if (inputRef.current) {
|
|
@@ -3521,10 +3574,10 @@ var TextFieldPopover2 = ({ popupState, anchorRef, value, onChange, onClose }) =>
|
|
|
3521
3574
|
// src/controls/size-control/size-component.tsx
|
|
3522
3575
|
var SizeComponent = ({ anchorRef, SizeFieldWrapper = React62.Fragment, ...sizeFieldProps }) => {
|
|
3523
3576
|
const popupState = (0, import_ui46.usePopupState)({ variant: "popover" });
|
|
3524
|
-
const activeBreakpoint = (0,
|
|
3577
|
+
const activeBreakpoint = (0, import_editor_responsive3.useActiveBreakpoint)();
|
|
3525
3578
|
const isCustomUnit = sizeFieldProps?.value?.unit === EXTENDED_UNITS.custom;
|
|
3526
3579
|
const hasCustomUnitOption = sizeFieldProps.units.includes(EXTENDED_UNITS.custom);
|
|
3527
|
-
(0,
|
|
3580
|
+
(0, import_react36.useEffect)(() => {
|
|
3528
3581
|
if (popupState && popupState.isOpen) {
|
|
3529
3582
|
popupState.close();
|
|
3530
3583
|
}
|
|
@@ -3661,7 +3714,7 @@ var UnstableSizeControl = createControl(
|
|
|
3661
3714
|
placeholder: boundPropPlaceholder,
|
|
3662
3715
|
restoreValue
|
|
3663
3716
|
} = useBoundProp(import_editor_props21.sizePropTypeUtil);
|
|
3664
|
-
const lastNonAutoValue = (0,
|
|
3717
|
+
const lastNonAutoValue = (0, import_react37.useRef)(null);
|
|
3665
3718
|
const { sizeValue, placeholder } = resolveBoundPropValue(
|
|
3666
3719
|
value ?? lastNonAutoValue.current,
|
|
3667
3720
|
boundPropPlaceholder,
|
|
@@ -3718,7 +3771,7 @@ var isTransitioningFromExtendedUnit = (nextValue, previousValue) => {
|
|
|
3718
3771
|
|
|
3719
3772
|
// src/controls/linked-dimensions-control.tsx
|
|
3720
3773
|
var LinkedDimensionsControl = ({ label, isSiteRtl = false, min }) => {
|
|
3721
|
-
const gridRowRefs = [(0,
|
|
3774
|
+
const gridRowRefs = [(0, import_react38.useRef)(null), (0, import_react38.useRef)(null)];
|
|
3722
3775
|
const { disabled: sizeDisabled } = useBoundProp(import_editor_props22.sizePropTypeUtil);
|
|
3723
3776
|
const {
|
|
3724
3777
|
value: dimensionsValue,
|
|
@@ -3737,10 +3790,10 @@ var LinkedDimensionsControl = ({ label, isSiteRtl = false, min }) => {
|
|
|
3737
3790
|
}
|
|
3738
3791
|
return true;
|
|
3739
3792
|
};
|
|
3740
|
-
const [isLinked, setIsLinked] = (0,
|
|
3741
|
-
const activeBreakpoint = (0,
|
|
3793
|
+
const [isLinked, setIsLinked] = (0, import_react38.useState)(() => inferIsLinked());
|
|
3794
|
+
const activeBreakpoint = (0, import_editor_responsive4.useActiveBreakpoint)();
|
|
3742
3795
|
const isCurrentlyDimensions = import_editor_props22.dimensionsPropTypeUtil.isValid(masterValue ?? masterPlaceholder);
|
|
3743
|
-
(0,
|
|
3796
|
+
(0, import_react38.useLayoutEffect)(() => {
|
|
3744
3797
|
setIsLinked(inferIsLinked);
|
|
3745
3798
|
}, [activeBreakpoint, isCurrentlyDimensions]);
|
|
3746
3799
|
const onLinkToggle = () => {
|
|
@@ -3911,7 +3964,7 @@ function getCssDimensionProps(label, isSiteRtl) {
|
|
|
3911
3964
|
|
|
3912
3965
|
// src/controls/font-family-control/font-family-control.tsx
|
|
3913
3966
|
var React66 = __toESM(require("react"));
|
|
3914
|
-
var
|
|
3967
|
+
var import_react40 = require("react");
|
|
3915
3968
|
var import_editor_props23 = require("@elementor/editor-props");
|
|
3916
3969
|
var import_icons13 = require("@elementor/icons");
|
|
3917
3970
|
var import_ui49 = require("@elementor/ui");
|
|
@@ -3919,7 +3972,7 @@ var import_i18n22 = require("@wordpress/i18n");
|
|
|
3919
3972
|
|
|
3920
3973
|
// src/components/item-selector.tsx
|
|
3921
3974
|
var React65 = __toESM(require("react"));
|
|
3922
|
-
var
|
|
3975
|
+
var import_react39 = require("react");
|
|
3923
3976
|
var import_editor_ui7 = require("@elementor/editor-ui");
|
|
3924
3977
|
var import_ui48 = require("@elementor/ui");
|
|
3925
3978
|
var import_utils3 = require("@elementor/utils");
|
|
@@ -3958,7 +4011,7 @@ var ItemSelector = ({
|
|
|
3958
4011
|
footer,
|
|
3959
4012
|
categoryItemContentTemplate
|
|
3960
4013
|
}) => {
|
|
3961
|
-
const [searchValue, setSearchValue] = (0,
|
|
4014
|
+
const [searchValue, setSearchValue] = (0, import_react39.useState)("");
|
|
3962
4015
|
const filteredItemsList = useFilteredItemsList(itemsList, searchValue, disabledItems);
|
|
3963
4016
|
const IconComponent = icon;
|
|
3964
4017
|
const handleSearch = (value) => {
|
|
@@ -4056,7 +4109,7 @@ var ItemList = ({
|
|
|
4056
4109
|
}
|
|
4057
4110
|
});
|
|
4058
4111
|
}, 100);
|
|
4059
|
-
const memoizedItemStyle = (0,
|
|
4112
|
+
const memoizedItemStyle = (0, import_react39.useCallback)((item) => itemStyle(item), [itemStyle]);
|
|
4060
4113
|
return /* @__PURE__ */ React65.createElement(
|
|
4061
4114
|
import_editor_ui7.PopoverMenuList,
|
|
4062
4115
|
{
|
|
@@ -4072,8 +4125,8 @@ var ItemList = ({
|
|
|
4072
4125
|
);
|
|
4073
4126
|
};
|
|
4074
4127
|
var useDebounce = (fn, delay) => {
|
|
4075
|
-
const [debouncedFn] = (0,
|
|
4076
|
-
(0,
|
|
4128
|
+
const [debouncedFn] = (0, import_react39.useState)(() => (0, import_utils3.debounce)(fn, delay));
|
|
4129
|
+
(0, import_react39.useEffect)(() => () => debouncedFn.cancel(), [debouncedFn]);
|
|
4077
4130
|
return debouncedFn;
|
|
4078
4131
|
};
|
|
4079
4132
|
|
|
@@ -4094,7 +4147,7 @@ var FontFamilyControl = createControl(
|
|
|
4094
4147
|
} = useBoundProp(import_editor_props23.stringPropTypeUtil);
|
|
4095
4148
|
const popoverState = (0, import_ui49.usePopupState)({ variant: "popover" });
|
|
4096
4149
|
const isShowingPlaceholder = !fontFamily && placeholder;
|
|
4097
|
-
const mapFontSubs = (0,
|
|
4150
|
+
const mapFontSubs = (0, import_react40.useMemo)(() => {
|
|
4098
4151
|
return fontFamilies.map(({ label, fonts }) => ({
|
|
4099
4152
|
label,
|
|
4100
4153
|
items: fonts
|
|
@@ -4175,7 +4228,7 @@ var UrlControl = createControl(
|
|
|
4175
4228
|
|
|
4176
4229
|
// src/controls/link-control.tsx
|
|
4177
4230
|
var React72 = __toESM(require("react"));
|
|
4178
|
-
var
|
|
4231
|
+
var import_react43 = require("react");
|
|
4179
4232
|
var import_editor_elements2 = require("@elementor/editor-elements");
|
|
4180
4233
|
var import_editor_props27 = require("@elementor/editor-props");
|
|
4181
4234
|
var import_icons17 = require("@elementor/icons");
|
|
@@ -4249,7 +4302,7 @@ var RestrictedLinkInfotip = ({
|
|
|
4249
4302
|
|
|
4250
4303
|
// src/controls/query-control.tsx
|
|
4251
4304
|
var React70 = __toESM(require("react"));
|
|
4252
|
-
var
|
|
4305
|
+
var import_react42 = require("react");
|
|
4253
4306
|
var import_editor_props25 = require("@elementor/editor-props");
|
|
4254
4307
|
var import_http_client2 = require("@elementor/http-client");
|
|
4255
4308
|
var import_icons16 = require("@elementor/icons");
|
|
@@ -4258,10 +4311,10 @@ var import_i18n24 = require("@wordpress/i18n");
|
|
|
4258
4311
|
|
|
4259
4312
|
// src/components/autocomplete.tsx
|
|
4260
4313
|
var React69 = __toESM(require("react"));
|
|
4261
|
-
var
|
|
4314
|
+
var import_react41 = require("react");
|
|
4262
4315
|
var import_icons15 = require("@elementor/icons");
|
|
4263
4316
|
var import_ui52 = require("@elementor/ui");
|
|
4264
|
-
var Autocomplete2 = (0,
|
|
4317
|
+
var Autocomplete2 = (0, import_react41.forwardRef)((props, ref) => {
|
|
4265
4318
|
const {
|
|
4266
4319
|
options,
|
|
4267
4320
|
onOptionChange,
|
|
@@ -4393,7 +4446,7 @@ var QueryControl = createControl((props) => {
|
|
|
4393
4446
|
onSetValue,
|
|
4394
4447
|
ariaLabel
|
|
4395
4448
|
} = props || {};
|
|
4396
|
-
const [options, setOptions] = (0,
|
|
4449
|
+
const [options, setOptions] = (0, import_react42.useState)(
|
|
4397
4450
|
generateFirstLoadedOption(queryValue)
|
|
4398
4451
|
);
|
|
4399
4452
|
const onOptionChange = (newValue) => {
|
|
@@ -4427,7 +4480,7 @@ var QueryControl = createControl((props) => {
|
|
|
4427
4480
|
}
|
|
4428
4481
|
debounceFetch({ ...params, term: newValue });
|
|
4429
4482
|
};
|
|
4430
|
-
const debounceFetch = (0,
|
|
4483
|
+
const debounceFetch = (0, import_react42.useMemo)(
|
|
4431
4484
|
() => (0, import_utils4.debounce)(
|
|
4432
4485
|
(queryParams) => fetchOptions(url, queryParams).then((newOptions) => {
|
|
4433
4486
|
setOptions(formatOptions(newOptions));
|
|
@@ -4511,7 +4564,7 @@ var LinkControl = createControl((props) => {
|
|
|
4511
4564
|
const { value, path, setValue, ...propContext } = useBoundProp(import_editor_props27.linkPropTypeUtil);
|
|
4512
4565
|
const linkPlaceholder = propContext.placeholder;
|
|
4513
4566
|
const [linkSessionValue, setLinkSessionValue] = (0, import_session.useSessionStorage)(path.join("/"));
|
|
4514
|
-
const [isActive, setIsActive] = (0,
|
|
4567
|
+
const [isActive, setIsActive] = (0, import_react43.useState)(!!value || !!linkPlaceholder);
|
|
4515
4568
|
const {
|
|
4516
4569
|
allowCustomValues = true,
|
|
4517
4570
|
queryOptions,
|
|
@@ -4521,11 +4574,11 @@ var LinkControl = createControl((props) => {
|
|
|
4521
4574
|
label = (0, import_i18n25.__)("Link", "elementor"),
|
|
4522
4575
|
ariaLabel
|
|
4523
4576
|
} = props || {};
|
|
4524
|
-
const [linkInLinkRestriction, setLinkInLinkRestriction] = (0,
|
|
4577
|
+
const [linkInLinkRestriction, setLinkInLinkRestriction] = (0, import_react43.useState)(
|
|
4525
4578
|
(0, import_editor_elements2.getLinkInLinkRestriction)(elementId, value ?? linkPlaceholder)
|
|
4526
4579
|
);
|
|
4527
4580
|
const shouldDisableAddingLink = !isActive && linkInLinkRestriction.shouldRestrict;
|
|
4528
|
-
const debouncedCheckRestriction = (0,
|
|
4581
|
+
const debouncedCheckRestriction = (0, import_react43.useMemo)(
|
|
4529
4582
|
() => (0, import_utils5.debounce)(() => {
|
|
4530
4583
|
const newRestriction = (0, import_editor_elements2.getLinkInLinkRestriction)(elementId, value ?? linkPlaceholder);
|
|
4531
4584
|
if (newRestriction.shouldRestrict && isActive && !linkPlaceholder) {
|
|
@@ -4535,7 +4588,7 @@ var LinkControl = createControl((props) => {
|
|
|
4535
4588
|
}, 300),
|
|
4536
4589
|
[elementId, isActive, value, linkPlaceholder]
|
|
4537
4590
|
);
|
|
4538
|
-
(0,
|
|
4591
|
+
(0, import_react43.useEffect)(() => {
|
|
4539
4592
|
debouncedCheckRestriction();
|
|
4540
4593
|
const handleInlineLinkChanged = (event) => {
|
|
4541
4594
|
const customEvent = event;
|
|
@@ -4715,14 +4768,14 @@ var HtmlTagControl = createControl((props) => {
|
|
|
4715
4768
|
|
|
4716
4769
|
// src/controls/gap-control.tsx
|
|
4717
4770
|
var React75 = __toESM(require("react"));
|
|
4718
|
-
var
|
|
4771
|
+
var import_react44 = require("react");
|
|
4719
4772
|
var import_editor_props29 = require("@elementor/editor-props");
|
|
4720
|
-
var
|
|
4773
|
+
var import_editor_responsive5 = require("@elementor/editor-responsive");
|
|
4721
4774
|
var import_icons18 = require("@elementor/icons");
|
|
4722
4775
|
var import_ui58 = require("@elementor/ui");
|
|
4723
4776
|
var import_i18n27 = require("@wordpress/i18n");
|
|
4724
4777
|
var GapControl = ({ label }) => {
|
|
4725
|
-
const stackRef = (0,
|
|
4778
|
+
const stackRef = (0, import_react44.useRef)(null);
|
|
4726
4779
|
const { disabled: sizeDisabled } = useBoundProp(import_editor_props29.sizePropTypeUtil);
|
|
4727
4780
|
const {
|
|
4728
4781
|
value: directionValue,
|
|
@@ -4741,10 +4794,10 @@ var GapControl = ({ label }) => {
|
|
|
4741
4794
|
}
|
|
4742
4795
|
return true;
|
|
4743
4796
|
};
|
|
4744
|
-
const [isLinked, setIsLinked] = (0,
|
|
4797
|
+
const [isLinked, setIsLinked] = (0, import_react44.useState)(() => inferIsLinked());
|
|
4745
4798
|
const isCurrentlyDirection = import_editor_props29.layoutDirectionPropTypeUtil.isValid(masterValue ?? masterPlaceholder);
|
|
4746
|
-
const activeBreakpoint = (0,
|
|
4747
|
-
(0,
|
|
4799
|
+
const activeBreakpoint = (0, import_editor_responsive5.useActiveBreakpoint)();
|
|
4800
|
+
(0, import_react44.useLayoutEffect)(() => {
|
|
4748
4801
|
setIsLinked(inferIsLinked());
|
|
4749
4802
|
}, [activeBreakpoint, isCurrentlyDirection]);
|
|
4750
4803
|
const onLinkToggle = () => {
|
|
@@ -4837,7 +4890,7 @@ var Control4 = ({
|
|
|
4837
4890
|
|
|
4838
4891
|
// src/controls/aspect-ratio-control.tsx
|
|
4839
4892
|
var React76 = __toESM(require("react"));
|
|
4840
|
-
var
|
|
4893
|
+
var import_react45 = require("react");
|
|
4841
4894
|
var import_editor_props30 = require("@elementor/editor-props");
|
|
4842
4895
|
var import_editor_ui10 = require("@elementor/editor-ui");
|
|
4843
4896
|
var import_icons19 = require("@elementor/icons");
|
|
@@ -4864,13 +4917,13 @@ var AspectRatioControl = createControl(({ label }) => {
|
|
|
4864
4917
|
const aspectRatioValue = currentPropValue ?? externalPlaceholder;
|
|
4865
4918
|
const isCustomSelected = aspectRatioValue && !RATIO_OPTIONS.some((option) => option.value === aspectRatioValue);
|
|
4866
4919
|
const [initialWidth, initialHeight] = isCustomSelected ? aspectRatioValue.split("/") : ["", ""];
|
|
4867
|
-
const [isCustom, setIsCustom] = (0,
|
|
4868
|
-
const [customWidth, setCustomWidth] = (0,
|
|
4869
|
-
const [customHeight, setCustomHeight] = (0,
|
|
4870
|
-
const [selectedValue, setSelectedValue] = (0,
|
|
4920
|
+
const [isCustom, setIsCustom] = (0, import_react45.useState)(isCustomSelected);
|
|
4921
|
+
const [customWidth, setCustomWidth] = (0, import_react45.useState)(initialWidth);
|
|
4922
|
+
const [customHeight, setCustomHeight] = (0, import_react45.useState)(initialHeight);
|
|
4923
|
+
const [selectedValue, setSelectedValue] = (0, import_react45.useState)(
|
|
4871
4924
|
isCustomSelected ? CUSTOM_RATIO : aspectRatioValue || ""
|
|
4872
4925
|
);
|
|
4873
|
-
(0,
|
|
4926
|
+
(0, import_react45.useEffect)(() => {
|
|
4874
4927
|
const isCustomValue = aspectRatioValue && !RATIO_OPTIONS.some((option) => option.value === aspectRatioValue);
|
|
4875
4928
|
if (isCustomValue) {
|
|
4876
4929
|
const [width, height] = aspectRatioValue.split("/");
|
|
@@ -4957,7 +5010,7 @@ var AspectRatioControl = createControl(({ label }) => {
|
|
|
4957
5010
|
|
|
4958
5011
|
// src/controls/svg-media-control.tsx
|
|
4959
5012
|
var React78 = __toESM(require("react"));
|
|
4960
|
-
var
|
|
5013
|
+
var import_react47 = require("react");
|
|
4961
5014
|
var import_editor_current_user = require("@elementor/editor-current-user");
|
|
4962
5015
|
var import_editor_props31 = require("@elementor/editor-props");
|
|
4963
5016
|
var import_icons20 = require("@elementor/icons");
|
|
@@ -4967,7 +5020,7 @@ var import_i18n30 = require("@wordpress/i18n");
|
|
|
4967
5020
|
|
|
4968
5021
|
// src/components/enable-unfiltered-modal.tsx
|
|
4969
5022
|
var React77 = __toESM(require("react"));
|
|
4970
|
-
var
|
|
5023
|
+
var import_react46 = require("react");
|
|
4971
5024
|
var import_ui60 = require("@elementor/ui");
|
|
4972
5025
|
var import_i18n29 = require("@wordpress/i18n");
|
|
4973
5026
|
var ADMIN_TITLE_TEXT = (0, import_i18n29.__)("Enable Unfiltered Uploads", "elementor");
|
|
@@ -4983,7 +5036,7 @@ var ADMIN_FAILED_CONTENT_TEXT_PT2 = (0, import_i18n29.__)(
|
|
|
4983
5036
|
var WAIT_FOR_CLOSE_TIMEOUT_MS = 300;
|
|
4984
5037
|
var EnableUnfilteredModal = (props) => {
|
|
4985
5038
|
const { mutateAsync, isPending } = useUpdateUnfilteredFilesUpload();
|
|
4986
|
-
const [isError, setIsError] = (0,
|
|
5039
|
+
const [isError, setIsError] = (0, import_react46.useState)(false);
|
|
4987
5040
|
const onClose = (enabled) => {
|
|
4988
5041
|
props.onClose(enabled);
|
|
4989
5042
|
setTimeout(() => setIsError(false), WAIT_FOR_CLOSE_TIMEOUT_MS);
|
|
@@ -5047,7 +5100,7 @@ var SvgMediaControl = createControl(() => {
|
|
|
5047
5100
|
const { data: attachment, isFetching } = (0, import_wp_media2.useWpMediaAttachment)(id?.value || null);
|
|
5048
5101
|
const src = attachment?.url ?? url?.value ?? null;
|
|
5049
5102
|
const { data: allowSvgUpload } = useUnfilteredFilesUpload();
|
|
5050
|
-
const [unfilteredModalOpenState, setUnfilteredModalOpenState] = (0,
|
|
5103
|
+
const [unfilteredModalOpenState, setUnfilteredModalOpenState] = (0, import_react47.useState)(false);
|
|
5051
5104
|
const { isAdmin } = (0, import_editor_current_user.useCurrentUserCapabilities)();
|
|
5052
5105
|
const { open } = (0, import_wp_media2.useWpMediaFrame)({
|
|
5053
5106
|
mediaTypes: ["svg"],
|
|
@@ -5318,7 +5371,7 @@ var BackgroundImageOverlayAttachment = () => {
|
|
|
5318
5371
|
|
|
5319
5372
|
// src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-position.tsx
|
|
5320
5373
|
var React82 = __toESM(require("react"));
|
|
5321
|
-
var
|
|
5374
|
+
var import_react48 = require("react");
|
|
5322
5375
|
var import_editor_props34 = require("@elementor/editor-props");
|
|
5323
5376
|
var import_editor_ui11 = require("@elementor/editor-ui");
|
|
5324
5377
|
var import_icons23 = require("@elementor/icons");
|
|
@@ -5340,7 +5393,7 @@ var BackgroundImageOverlayPosition = () => {
|
|
|
5340
5393
|
const backgroundImageOffsetContext = useBoundProp(import_editor_props34.backgroundImagePositionOffsetPropTypeUtil);
|
|
5341
5394
|
const stringPropContext = useBoundProp(import_editor_props34.stringPropTypeUtil);
|
|
5342
5395
|
const isCustom = !!backgroundImageOffsetContext.value;
|
|
5343
|
-
const rowRef = (0,
|
|
5396
|
+
const rowRef = (0, import_react48.useRef)(null);
|
|
5344
5397
|
const handlePositionChange = (event) => {
|
|
5345
5398
|
const value = event.target.value || null;
|
|
5346
5399
|
if (value === "custom") {
|
|
@@ -5413,7 +5466,7 @@ var BackgroundImageOverlayRepeat = () => {
|
|
|
5413
5466
|
|
|
5414
5467
|
// src/controls/background-control/background-overlay/background-image-overlay/background-image-overlay-size.tsx
|
|
5415
5468
|
var React84 = __toESM(require("react"));
|
|
5416
|
-
var
|
|
5469
|
+
var import_react49 = require("react");
|
|
5417
5470
|
var import_editor_props35 = require("@elementor/editor-props");
|
|
5418
5471
|
var import_icons25 = require("@elementor/icons");
|
|
5419
5472
|
var import_ui67 = require("@elementor/ui");
|
|
@@ -5448,7 +5501,7 @@ var BackgroundImageOverlaySize = () => {
|
|
|
5448
5501
|
const backgroundImageScaleContext = useBoundProp(import_editor_props35.backgroundImageSizeScalePropTypeUtil);
|
|
5449
5502
|
const stringPropContext = useBoundProp(import_editor_props35.stringPropTypeUtil);
|
|
5450
5503
|
const isCustom = !!backgroundImageScaleContext.value;
|
|
5451
|
-
const rowRef = (0,
|
|
5504
|
+
const rowRef = (0, import_react49.useRef)(null);
|
|
5452
5505
|
const handleSizeChange = (size) => {
|
|
5453
5506
|
if (size === "custom") {
|
|
5454
5507
|
backgroundImageScaleContext.setValue({ width: null, height: null });
|
|
@@ -5483,7 +5536,7 @@ var BackgroundImageOverlaySize = () => {
|
|
|
5483
5536
|
};
|
|
5484
5537
|
|
|
5485
5538
|
// src/controls/background-control/background-overlay/use-background-tabs-history.ts
|
|
5486
|
-
var
|
|
5539
|
+
var import_react50 = require("react");
|
|
5487
5540
|
var import_editor_props36 = require("@elementor/editor-props");
|
|
5488
5541
|
var import_ui68 = require("@elementor/ui");
|
|
5489
5542
|
var useBackgroundTabsHistory = ({
|
|
@@ -5504,7 +5557,7 @@ var useBackgroundTabsHistory = ({
|
|
|
5504
5557
|
return "image";
|
|
5505
5558
|
};
|
|
5506
5559
|
const { getTabsProps, getTabProps, getTabPanelProps } = (0, import_ui68.useTabs)(getCurrentOverlayType());
|
|
5507
|
-
const valuesHistory = (0,
|
|
5560
|
+
const valuesHistory = (0, import_react50.useRef)({
|
|
5508
5561
|
image: initialBackgroundImageOverlay,
|
|
5509
5562
|
color: initialBackgroundColorOverlay2,
|
|
5510
5563
|
gradient: initialBackgroundGradientOverlay2
|
|
@@ -5749,7 +5802,7 @@ var BackgroundClipField = () => {
|
|
|
5749
5802
|
|
|
5750
5803
|
// src/controls/repeatable-control.tsx
|
|
5751
5804
|
var React87 = __toESM(require("react"));
|
|
5752
|
-
var
|
|
5805
|
+
var import_react51 = require("react");
|
|
5753
5806
|
var import_editor_props39 = require("@elementor/editor-props");
|
|
5754
5807
|
var import_ui71 = require("@elementor/ui");
|
|
5755
5808
|
var PLACEHOLDER_REGEX = /\$\{([^}]+)\}/g;
|
|
@@ -5770,11 +5823,11 @@ var RepeatableControl = createControl(
|
|
|
5770
5823
|
if (!childPropTypeUtil) {
|
|
5771
5824
|
return null;
|
|
5772
5825
|
}
|
|
5773
|
-
const childArrayPropTypeUtil2 = (0,
|
|
5826
|
+
const childArrayPropTypeUtil2 = (0, import_react51.useMemo)(
|
|
5774
5827
|
() => (0, import_editor_props39.createArrayPropUtils)(childPropTypeUtil.key, childPropTypeUtil.schema, propKey),
|
|
5775
5828
|
[childPropTypeUtil.key, childPropTypeUtil.schema, propKey]
|
|
5776
5829
|
);
|
|
5777
|
-
const contextValue = (0,
|
|
5830
|
+
const contextValue = (0, import_react51.useMemo)(
|
|
5778
5831
|
() => ({
|
|
5779
5832
|
...childControlConfig,
|
|
5780
5833
|
placeholder: placeholder || "",
|
|
@@ -5906,7 +5959,7 @@ var getAllProperties = (pattern) => {
|
|
|
5906
5959
|
|
|
5907
5960
|
// src/controls/key-value-control.tsx
|
|
5908
5961
|
var React88 = __toESM(require("react"));
|
|
5909
|
-
var
|
|
5962
|
+
var import_react52 = require("react");
|
|
5910
5963
|
var import_editor_props40 = require("@elementor/editor-props");
|
|
5911
5964
|
var import_ui72 = require("@elementor/ui");
|
|
5912
5965
|
var import_i18n38 = require("@wordpress/i18n");
|
|
@@ -5933,9 +5986,9 @@ var getInitialFieldValue = (fieldValue) => {
|
|
|
5933
5986
|
};
|
|
5934
5987
|
var KeyValueControl = createControl((props = {}) => {
|
|
5935
5988
|
const { value, setValue, ...propContext } = useBoundProp(import_editor_props40.keyValuePropTypeUtil);
|
|
5936
|
-
const [keyError, setKeyError] = (0,
|
|
5937
|
-
const [valueError, setValueError] = (0,
|
|
5938
|
-
const [sessionState, setSessionState] = (0,
|
|
5989
|
+
const [keyError, setKeyError] = (0, import_react52.useState)("");
|
|
5990
|
+
const [valueError, setValueError] = (0, import_react52.useState)("");
|
|
5991
|
+
const [sessionState, setSessionState] = (0, import_react52.useState)({
|
|
5939
5992
|
key: getInitialFieldValue(value?.key),
|
|
5940
5993
|
value: getInitialFieldValue(value?.value)
|
|
5941
5994
|
});
|
|
@@ -5945,7 +5998,7 @@ var KeyValueControl = createControl((props = {}) => {
|
|
|
5945
5998
|
keyHelper: void 0,
|
|
5946
5999
|
valueHelper: void 0
|
|
5947
6000
|
};
|
|
5948
|
-
const [keyRegex, valueRegex, errMsg] = (0,
|
|
6001
|
+
const [keyRegex, valueRegex, errMsg] = (0, import_react52.useMemo)(
|
|
5949
6002
|
() => [
|
|
5950
6003
|
props.regexKey ? new RegExp(props.regexKey) : void 0,
|
|
5951
6004
|
props.regexValue ? new RegExp(props.regexValue) : void 0,
|
|
@@ -6074,7 +6127,7 @@ var PositionControl = () => {
|
|
|
6074
6127
|
|
|
6075
6128
|
// src/controls/transform-control/transform-repeater-control.tsx
|
|
6076
6129
|
var React102 = __toESM(require("react"));
|
|
6077
|
-
var
|
|
6130
|
+
var import_react60 = require("react");
|
|
6078
6131
|
var import_editor_props50 = require("@elementor/editor-props");
|
|
6079
6132
|
var import_icons33 = require("@elementor/icons");
|
|
6080
6133
|
var import_ui86 = require("@elementor/ui");
|
|
@@ -6133,7 +6186,7 @@ var import_i18n44 = require("@wordpress/i18n");
|
|
|
6133
6186
|
|
|
6134
6187
|
// src/controls/transform-control/functions/move.tsx
|
|
6135
6188
|
var React91 = __toESM(require("react"));
|
|
6136
|
-
var
|
|
6189
|
+
var import_react53 = require("react");
|
|
6137
6190
|
var import_editor_props43 = require("@elementor/editor-props");
|
|
6138
6191
|
var import_icons27 = require("@elementor/icons");
|
|
6139
6192
|
var import_ui75 = require("@elementor/ui");
|
|
@@ -6180,7 +6233,7 @@ var moveAxisControls = [
|
|
|
6180
6233
|
];
|
|
6181
6234
|
var Move = () => {
|
|
6182
6235
|
const context = useBoundProp(import_editor_props43.moveTransformPropTypeUtil);
|
|
6183
|
-
const rowRefs = [(0,
|
|
6236
|
+
const rowRefs = [(0, import_react53.useRef)(null), (0, import_react53.useRef)(null), (0, import_react53.useRef)(null)];
|
|
6184
6237
|
return /* @__PURE__ */ React91.createElement(import_ui75.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React91.createElement(PropProvider, { ...context }, /* @__PURE__ */ React91.createElement(PropKeyProvider, { bind: TransformFunctionKeys.move }, moveAxisControls.map((control, index) => /* @__PURE__ */ React91.createElement(
|
|
6185
6238
|
AxisRow,
|
|
6186
6239
|
{
|
|
@@ -6195,7 +6248,7 @@ var Move = () => {
|
|
|
6195
6248
|
|
|
6196
6249
|
// src/controls/transform-control/functions/rotate.tsx
|
|
6197
6250
|
var React92 = __toESM(require("react"));
|
|
6198
|
-
var
|
|
6251
|
+
var import_react54 = require("react");
|
|
6199
6252
|
var import_editor_props44 = require("@elementor/editor-props");
|
|
6200
6253
|
var import_icons28 = require("@elementor/icons");
|
|
6201
6254
|
var import_ui76 = require("@elementor/ui");
|
|
@@ -6220,7 +6273,7 @@ var rotateAxisControls = [
|
|
|
6220
6273
|
var rotateUnits = ["deg", "rad", "grad", "turn"];
|
|
6221
6274
|
var Rotate = () => {
|
|
6222
6275
|
const context = useBoundProp(import_editor_props44.rotateTransformPropTypeUtil);
|
|
6223
|
-
const rowRefs = [(0,
|
|
6276
|
+
const rowRefs = [(0, import_react54.useRef)(null), (0, import_react54.useRef)(null), (0, import_react54.useRef)(null)];
|
|
6224
6277
|
return /* @__PURE__ */ React92.createElement(import_ui76.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React92.createElement(PropProvider, { ...context }, /* @__PURE__ */ React92.createElement(PropKeyProvider, { bind: TransformFunctionKeys.rotate }, rotateAxisControls.map((control, index) => /* @__PURE__ */ React92.createElement(
|
|
6225
6278
|
AxisRow,
|
|
6226
6279
|
{
|
|
@@ -6234,7 +6287,7 @@ var Rotate = () => {
|
|
|
6234
6287
|
|
|
6235
6288
|
// src/controls/transform-control/functions/scale.tsx
|
|
6236
6289
|
var React94 = __toESM(require("react"));
|
|
6237
|
-
var
|
|
6290
|
+
var import_react55 = require("react");
|
|
6238
6291
|
var import_editor_props45 = require("@elementor/editor-props");
|
|
6239
6292
|
var import_icons29 = require("@elementor/icons");
|
|
6240
6293
|
var import_ui78 = require("@elementor/ui");
|
|
@@ -6267,13 +6320,13 @@ var scaleAxisControls = [
|
|
|
6267
6320
|
];
|
|
6268
6321
|
var Scale = () => {
|
|
6269
6322
|
const context = useBoundProp(import_editor_props45.scaleTransformPropTypeUtil);
|
|
6270
|
-
const rowRefs = [(0,
|
|
6323
|
+
const rowRefs = [(0, import_react55.useRef)(null), (0, import_react55.useRef)(null), (0, import_react55.useRef)(null)];
|
|
6271
6324
|
return /* @__PURE__ */ React94.createElement(import_ui78.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React94.createElement(PropProvider, { ...context }, /* @__PURE__ */ React94.createElement(PropKeyProvider, { bind: TransformFunctionKeys.scale }, scaleAxisControls.map((control, index) => /* @__PURE__ */ React94.createElement(ScaleAxisRow, { key: control.bind, ...control, anchorRef: rowRefs[index] })))));
|
|
6272
6325
|
};
|
|
6273
6326
|
|
|
6274
6327
|
// src/controls/transform-control/functions/skew.tsx
|
|
6275
6328
|
var React95 = __toESM(require("react"));
|
|
6276
|
-
var
|
|
6329
|
+
var import_react56 = require("react");
|
|
6277
6330
|
var import_editor_props46 = require("@elementor/editor-props");
|
|
6278
6331
|
var import_icons30 = require("@elementor/icons");
|
|
6279
6332
|
var import_ui79 = require("@elementor/ui");
|
|
@@ -6293,7 +6346,7 @@ var skewAxisControls = [
|
|
|
6293
6346
|
var skewUnits = ["deg", "rad", "grad", "turn"];
|
|
6294
6347
|
var Skew = () => {
|
|
6295
6348
|
const context = useBoundProp(import_editor_props46.skewTransformPropTypeUtil);
|
|
6296
|
-
const rowRefs = [(0,
|
|
6349
|
+
const rowRefs = [(0, import_react56.useRef)(null), (0, import_react56.useRef)(null), (0, import_react56.useRef)(null)];
|
|
6297
6350
|
return /* @__PURE__ */ React95.createElement(import_ui79.Grid, { container: true, spacing: 1.5 }, /* @__PURE__ */ React95.createElement(PropProvider, { ...context }, /* @__PURE__ */ React95.createElement(PropKeyProvider, { bind: TransformFunctionKeys.skew }, skewAxisControls.map((control, index) => /* @__PURE__ */ React95.createElement(
|
|
6298
6351
|
AxisRow,
|
|
6299
6352
|
{
|
|
@@ -6306,7 +6359,7 @@ var Skew = () => {
|
|
|
6306
6359
|
};
|
|
6307
6360
|
|
|
6308
6361
|
// src/controls/transform-control/use-transform-tabs-history.tsx
|
|
6309
|
-
var
|
|
6362
|
+
var import_react57 = require("react");
|
|
6310
6363
|
var import_editor_props47 = require("@elementor/editor-props");
|
|
6311
6364
|
var import_ui80 = require("@elementor/ui");
|
|
6312
6365
|
var useTransformTabsHistory = ({
|
|
@@ -6333,7 +6386,7 @@ var useTransformTabsHistory = ({
|
|
|
6333
6386
|
}
|
|
6334
6387
|
};
|
|
6335
6388
|
const { getTabsProps, getTabProps, getTabPanelProps } = (0, import_ui80.useTabs)(getCurrentTransformType());
|
|
6336
|
-
const valuesHistory = (0,
|
|
6389
|
+
const valuesHistory = (0, import_react57.useRef)({
|
|
6337
6390
|
move: initialMove,
|
|
6338
6391
|
scale: initialScale,
|
|
6339
6392
|
rotate: initialRotate,
|
|
@@ -6477,7 +6530,7 @@ var import_i18n48 = require("@wordpress/i18n");
|
|
|
6477
6530
|
|
|
6478
6531
|
// src/controls/transform-control/transform-base-controls/children-perspective-control.tsx
|
|
6479
6532
|
var React99 = __toESM(require("react"));
|
|
6480
|
-
var
|
|
6533
|
+
var import_react58 = require("react");
|
|
6481
6534
|
var import_editor_props48 = require("@elementor/editor-props");
|
|
6482
6535
|
var import_ui83 = require("@elementor/ui");
|
|
6483
6536
|
var import_i18n46 = require("@wordpress/i18n");
|
|
@@ -6509,13 +6562,13 @@ var PerspectiveOriginControlProvider = () => {
|
|
|
6509
6562
|
return /* @__PURE__ */ React99.createElement(PropProvider, { ...context }, CHILDREN_PERSPECTIVE_FIELDS.map((control) => /* @__PURE__ */ React99.createElement(PropKeyProvider, { bind: control.bind, key: control.bind }, /* @__PURE__ */ React99.createElement(ControlFields, { control }))));
|
|
6510
6563
|
};
|
|
6511
6564
|
var ControlFields = ({ control }) => {
|
|
6512
|
-
const rowRef = (0,
|
|
6565
|
+
const rowRef = (0, import_react58.useRef)(null);
|
|
6513
6566
|
return /* @__PURE__ */ React99.createElement(PopoverGridContainer, { ref: rowRef }, /* @__PURE__ */ React99.createElement(import_ui83.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React99.createElement(ControlFormLabel, null, control.label)), /* @__PURE__ */ React99.createElement(import_ui83.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React99.createElement(SizeControl, { variant: "length", units: control.units, anchorRef: rowRef, disableCustom: true })));
|
|
6514
6567
|
};
|
|
6515
6568
|
|
|
6516
6569
|
// src/controls/transform-control/transform-base-controls/transform-origin-control.tsx
|
|
6517
6570
|
var React100 = __toESM(require("react"));
|
|
6518
|
-
var
|
|
6571
|
+
var import_react59 = require("react");
|
|
6519
6572
|
var import_editor_props49 = require("@elementor/editor-props");
|
|
6520
6573
|
var import_ui84 = require("@elementor/ui");
|
|
6521
6574
|
var import_i18n47 = require("@wordpress/i18n");
|
|
@@ -6543,7 +6596,7 @@ var TransformOriginControl = () => {
|
|
|
6543
6596
|
};
|
|
6544
6597
|
var ControlFields2 = ({ control }) => {
|
|
6545
6598
|
const context = useBoundProp(import_editor_props49.transformOriginPropTypeUtil);
|
|
6546
|
-
const rowRef = (0,
|
|
6599
|
+
const rowRef = (0, import_react59.useRef)(null);
|
|
6547
6600
|
return /* @__PURE__ */ React100.createElement(PropProvider, { ...context }, /* @__PURE__ */ React100.createElement(PropKeyProvider, { bind: control.bind }, /* @__PURE__ */ React100.createElement(PopoverGridContainer, { ref: rowRef }, /* @__PURE__ */ React100.createElement(import_ui84.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React100.createElement(ControlFormLabel, null, control.label)), /* @__PURE__ */ React100.createElement(import_ui84.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React100.createElement(SizeControl, { variant: "length", units: control.units, anchorRef: rowRef })))));
|
|
6548
6601
|
};
|
|
6549
6602
|
|
|
@@ -6591,7 +6644,7 @@ var SIZE10 = "tiny";
|
|
|
6591
6644
|
var TransformRepeaterControl = createControl(
|
|
6592
6645
|
({ showChildrenPerspective }) => {
|
|
6593
6646
|
const context = useBoundProp(import_editor_props50.transformPropTypeUtil);
|
|
6594
|
-
const headerRef = (0,
|
|
6647
|
+
const headerRef = (0, import_react60.useRef)(null);
|
|
6595
6648
|
const popupState = (0, import_ui86.usePopupState)({ variant: "popover" });
|
|
6596
6649
|
return /* @__PURE__ */ React102.createElement(PropProvider, { ...context }, /* @__PURE__ */ React102.createElement(
|
|
6597
6650
|
TransformSettingsControl,
|
|
@@ -6671,7 +6724,7 @@ var TransformBasePopoverTrigger = ({
|
|
|
6671
6724
|
|
|
6672
6725
|
// src/controls/transition-control/transition-repeater-control.tsx
|
|
6673
6726
|
var React105 = __toESM(require("react"));
|
|
6674
|
-
var
|
|
6727
|
+
var import_react63 = require("react");
|
|
6675
6728
|
var import_editor_props53 = require("@elementor/editor-props");
|
|
6676
6729
|
var import_icons35 = require("@elementor/icons");
|
|
6677
6730
|
var import_ui89 = require("@elementor/ui");
|
|
@@ -6680,15 +6733,15 @@ var import_i18n52 = require("@wordpress/i18n");
|
|
|
6680
6733
|
|
|
6681
6734
|
// src/controls/selection-size-control.tsx
|
|
6682
6735
|
var React103 = __toESM(require("react"));
|
|
6683
|
-
var
|
|
6736
|
+
var import_react61 = require("react");
|
|
6684
6737
|
var import_editor_props51 = require("@elementor/editor-props");
|
|
6685
6738
|
var import_ui87 = require("@elementor/ui");
|
|
6686
6739
|
var SelectionSizeControl = createControl(
|
|
6687
6740
|
({ selectionLabel, sizeLabel, selectionConfig, sizeConfigMap }) => {
|
|
6688
6741
|
const { value, setValue, propType } = useBoundProp(import_editor_props51.selectionSizePropTypeUtil);
|
|
6689
|
-
const rowRef = (0,
|
|
6742
|
+
const rowRef = (0, import_react61.useRef)(null);
|
|
6690
6743
|
const sizeFieldId = sizeLabel.replace(/\s+/g, "-").toLowerCase();
|
|
6691
|
-
const currentSizeConfig = (0,
|
|
6744
|
+
const currentSizeConfig = (0, import_react61.useMemo)(() => {
|
|
6692
6745
|
switch (value.selection.$$type) {
|
|
6693
6746
|
case "key-value":
|
|
6694
6747
|
return sizeConfigMap[value?.selection?.value.value.value || ""];
|
|
@@ -6901,7 +6954,7 @@ function subscribeToTransitionEvent() {
|
|
|
6901
6954
|
|
|
6902
6955
|
// src/controls/transition-control/transition-selector.tsx
|
|
6903
6956
|
var React104 = __toESM(require("react"));
|
|
6904
|
-
var
|
|
6957
|
+
var import_react62 = require("react");
|
|
6905
6958
|
var import_editor_props52 = require("@elementor/editor-props");
|
|
6906
6959
|
var import_editor_ui14 = require("@elementor/editor-ui");
|
|
6907
6960
|
var import_icons34 = require("@elementor/icons");
|
|
@@ -6988,9 +7041,9 @@ var TransitionSelector = ({
|
|
|
6988
7041
|
const {
|
|
6989
7042
|
key: { value: transitionLabel }
|
|
6990
7043
|
} = value;
|
|
6991
|
-
const defaultRef = (0,
|
|
7044
|
+
const defaultRef = (0, import_react62.useRef)(null);
|
|
6992
7045
|
const popoverState = (0, import_ui88.usePopupState)({ variant: "popover" });
|
|
6993
|
-
const disabledCategories = (0,
|
|
7046
|
+
const disabledCategories = (0, import_react62.useMemo)(() => {
|
|
6994
7047
|
return new Set(
|
|
6995
7048
|
transitionProperties.filter((cat) => cat.properties.some((prop) => prop.isDisabled)).map((cat) => cat.label)
|
|
6996
7049
|
);
|
|
@@ -7216,14 +7269,14 @@ var TransitionRepeaterControl = createControl(
|
|
|
7216
7269
|
currentStyleState
|
|
7217
7270
|
}) => {
|
|
7218
7271
|
const currentStyleIsNormal = currentStyleState === null;
|
|
7219
|
-
const [recentlyUsedList, setRecentlyUsedList] = (0,
|
|
7272
|
+
const [recentlyUsedList, setRecentlyUsedList] = (0, import_react63.useState)([]);
|
|
7220
7273
|
const proInstalled = (0, import_utils7.hasProInstalled)();
|
|
7221
7274
|
const { value, setValue } = useBoundProp(childArrayPropTypeUtil);
|
|
7222
|
-
const { allDisabled: disabledItems, proDisabled: proDisabledItems } = (0,
|
|
7275
|
+
const { allDisabled: disabledItems, proDisabled: proDisabledItems } = (0, import_react63.useMemo)(
|
|
7223
7276
|
() => getDisabledItemLabels(value),
|
|
7224
7277
|
[value]
|
|
7225
7278
|
);
|
|
7226
|
-
const allowedTransitionSet = (0,
|
|
7279
|
+
const allowedTransitionSet = (0, import_react63.useMemo)(() => {
|
|
7227
7280
|
const set = /* @__PURE__ */ new Set();
|
|
7228
7281
|
transitionProperties.forEach((category) => {
|
|
7229
7282
|
category.properties.forEach((prop) => {
|
|
@@ -7234,7 +7287,7 @@ var TransitionRepeaterControl = createControl(
|
|
|
7234
7287
|
});
|
|
7235
7288
|
return set;
|
|
7236
7289
|
}, [proInstalled]);
|
|
7237
|
-
(0,
|
|
7290
|
+
(0, import_react63.useEffect)(() => {
|
|
7238
7291
|
if (!value || value.length === 0) {
|
|
7239
7292
|
return;
|
|
7240
7293
|
}
|
|
@@ -7246,10 +7299,10 @@ var TransitionRepeaterControl = createControl(
|
|
|
7246
7299
|
setValue(sanitized);
|
|
7247
7300
|
}
|
|
7248
7301
|
}, [allowedTransitionSet]);
|
|
7249
|
-
(0,
|
|
7302
|
+
(0, import_react63.useEffect)(() => {
|
|
7250
7303
|
recentlyUsedListGetter().then(setRecentlyUsedList);
|
|
7251
7304
|
}, [recentlyUsedListGetter]);
|
|
7252
|
-
const allPropertiesUsed = (0,
|
|
7305
|
+
const allPropertiesUsed = (0, import_react63.useMemo)(() => areAllPropertiesUsed(value), [value]);
|
|
7253
7306
|
const isAddItemDisabled = !currentStyleIsNormal || allPropertiesUsed;
|
|
7254
7307
|
return /* @__PURE__ */ React105.createElement(
|
|
7255
7308
|
RepeatableControl,
|
|
@@ -7355,14 +7408,14 @@ var DateTimeControl = createControl(({ inputDisabled }) => {
|
|
|
7355
7408
|
|
|
7356
7409
|
// src/controls/inline-editing-control.tsx
|
|
7357
7410
|
var React108 = __toESM(require("react"));
|
|
7358
|
-
var
|
|
7411
|
+
var import_react66 = require("react");
|
|
7359
7412
|
var import_editor_props56 = require("@elementor/editor-props");
|
|
7360
7413
|
var import_ui92 = require("@elementor/ui");
|
|
7361
7414
|
var import_utils8 = require("@elementor/utils");
|
|
7362
7415
|
|
|
7363
7416
|
// src/components/inline-editor.tsx
|
|
7364
7417
|
var React107 = __toESM(require("react"));
|
|
7365
|
-
var
|
|
7418
|
+
var import_react64 = require("react");
|
|
7366
7419
|
var import_ui91 = require("@elementor/ui");
|
|
7367
7420
|
var import_extension_bold = __toESM(require("@tiptap/extension-bold"));
|
|
7368
7421
|
var import_extension_document = __toESM(require("@tiptap/extension-document"));
|
|
@@ -7376,7 +7429,7 @@ var import_extension_subscript = __toESM(require("@tiptap/extension-subscript"))
|
|
|
7376
7429
|
var import_extension_superscript = __toESM(require("@tiptap/extension-superscript"));
|
|
7377
7430
|
var import_extension_text = __toESM(require("@tiptap/extension-text"));
|
|
7378
7431
|
var import_extension_underline = __toESM(require("@tiptap/extension-underline"));
|
|
7379
|
-
var
|
|
7432
|
+
var import_react65 = require("@tiptap/react");
|
|
7380
7433
|
|
|
7381
7434
|
// src/utils/inline-editing.ts
|
|
7382
7435
|
function isEmpty(value = "") {
|
|
@@ -7416,8 +7469,8 @@ var InlineEditor = React107.forwardRef((props, ref) => {
|
|
|
7416
7469
|
onSelectionEnd,
|
|
7417
7470
|
mountElement = null
|
|
7418
7471
|
} = props;
|
|
7419
|
-
const containerRef = (0,
|
|
7420
|
-
const onBlurRef = (0,
|
|
7472
|
+
const containerRef = (0, import_react64.useRef)(null);
|
|
7473
|
+
const onBlurRef = (0, import_react64.useRef)(onBlur);
|
|
7421
7474
|
onBlurRef.current = onBlur;
|
|
7422
7475
|
const documentContentSettings = !!expectedTag ? "block+" : "inline*";
|
|
7423
7476
|
const onUpdate = ({ editor: updatedEditor }) => {
|
|
@@ -7439,7 +7492,7 @@ var InlineEditor = React107.forwardRef((props, ref) => {
|
|
|
7439
7492
|
...HTMLAttributes,
|
|
7440
7493
|
class: elementClasses
|
|
7441
7494
|
});
|
|
7442
|
-
const editor = (0,
|
|
7495
|
+
const editor = (0, import_react65.useEditor)({
|
|
7443
7496
|
...mountElement ? { element: mountElement } : {},
|
|
7444
7497
|
extensions: [
|
|
7445
7498
|
import_extension_document.default.extend({
|
|
@@ -7511,11 +7564,11 @@ var InlineEditor = React107.forwardRef((props, ref) => {
|
|
|
7511
7564
|
if (mountElement) {
|
|
7512
7565
|
return null;
|
|
7513
7566
|
}
|
|
7514
|
-
return /* @__PURE__ */ React107.createElement(import_ui91.Box, { ref: containerRef, sx, className: wrapperClassName }, /* @__PURE__ */ React107.createElement(
|
|
7567
|
+
return /* @__PURE__ */ React107.createElement(import_ui91.Box, { ref: containerRef, sx, className: wrapperClassName }, /* @__PURE__ */ React107.createElement(import_react65.EditorContent, { ref, editor }));
|
|
7515
7568
|
});
|
|
7516
7569
|
var useOnUpdate = (callback, dependencies) => {
|
|
7517
|
-
const hasMounted = (0,
|
|
7518
|
-
(0,
|
|
7570
|
+
const hasMounted = (0, import_react64.useRef)(false);
|
|
7571
|
+
(0, import_react64.useEffect)(() => {
|
|
7519
7572
|
if (hasMounted.current) {
|
|
7520
7573
|
callback();
|
|
7521
7574
|
} else {
|
|
@@ -7534,7 +7587,7 @@ var InlineEditingControl = createControl(
|
|
|
7534
7587
|
}) => {
|
|
7535
7588
|
const { value, setValue, placeholder } = useBoundProp(import_editor_props56.htmlV3PropTypeUtil);
|
|
7536
7589
|
const content = import_editor_props56.stringPropTypeUtil.extract(value?.content ?? null) ?? "";
|
|
7537
|
-
const debouncedParse = (0,
|
|
7590
|
+
const debouncedParse = (0, import_react66.useMemo)(
|
|
7538
7591
|
() => (0, import_utils8.debounce)((html) => {
|
|
7539
7592
|
const parsed = (0, import_editor_props56.parseHtmlChildren)(html);
|
|
7540
7593
|
setValue({
|
|
@@ -7544,7 +7597,7 @@ var InlineEditingControl = createControl(
|
|
|
7544
7597
|
}, CHILDREN_PARSE_DEBOUNCE_MS),
|
|
7545
7598
|
[setValue]
|
|
7546
7599
|
);
|
|
7547
|
-
const handleChange = (0,
|
|
7600
|
+
const handleChange = (0, import_react66.useCallback)(
|
|
7548
7601
|
(newValue) => {
|
|
7549
7602
|
const html = newValue ?? "";
|
|
7550
7603
|
setValue({
|
|
@@ -7555,7 +7608,7 @@ var InlineEditingControl = createControl(
|
|
|
7555
7608
|
},
|
|
7556
7609
|
[setValue, value?.children, debouncedParse]
|
|
7557
7610
|
);
|
|
7558
|
-
(0,
|
|
7611
|
+
(0, import_react66.useEffect)(() => () => debouncedParse.cancel(), [debouncedParse]);
|
|
7559
7612
|
return /* @__PURE__ */ React108.createElement(ControlActions, null, /* @__PURE__ */ React108.createElement(
|
|
7560
7613
|
import_ui92.Box,
|
|
7561
7614
|
{
|
|
@@ -7757,24 +7810,24 @@ var EmailFormActionControl = createControl(({ toPlaceholder }) => {
|
|
|
7757
7810
|
|
|
7758
7811
|
// src/components/promotions/display-conditions-control.tsx
|
|
7759
7812
|
var React111 = __toESM(require("react"));
|
|
7760
|
-
var
|
|
7813
|
+
var import_react68 = require("react");
|
|
7761
7814
|
var import_icons36 = require("@elementor/icons");
|
|
7762
7815
|
var import_ui95 = require("@elementor/ui");
|
|
7763
7816
|
var import_i18n54 = require("@wordpress/i18n");
|
|
7764
7817
|
|
|
7765
7818
|
// src/components/promotions/promotion-trigger.tsx
|
|
7766
7819
|
var React110 = __toESM(require("react"));
|
|
7767
|
-
var
|
|
7820
|
+
var import_react67 = require("react");
|
|
7768
7821
|
var import_editor_ui16 = require("@elementor/editor-ui");
|
|
7769
7822
|
var import_ui94 = require("@elementor/ui");
|
|
7770
7823
|
function getV4Promotion(key) {
|
|
7771
7824
|
return window.elementor?.config?.v4Promotions?.[key];
|
|
7772
7825
|
}
|
|
7773
|
-
var PromotionTrigger = (0,
|
|
7826
|
+
var PromotionTrigger = (0, import_react67.forwardRef)(
|
|
7774
7827
|
({ promotionKey, children, trackingData }, ref) => {
|
|
7775
|
-
const [isOpen, setIsOpen] = (0,
|
|
7828
|
+
const [isOpen, setIsOpen] = (0, import_react67.useState)(false);
|
|
7776
7829
|
const promotion = getV4Promotion(promotionKey);
|
|
7777
|
-
const toggle = (0,
|
|
7830
|
+
const toggle = (0, import_react67.useCallback)(() => {
|
|
7778
7831
|
setIsOpen((prev) => {
|
|
7779
7832
|
if (!prev) {
|
|
7780
7833
|
trackViewPromotion(trackingData);
|
|
@@ -7782,7 +7835,7 @@ var PromotionTrigger = (0, import_react66.forwardRef)(
|
|
|
7782
7835
|
return !prev;
|
|
7783
7836
|
});
|
|
7784
7837
|
}, [trackingData]);
|
|
7785
|
-
(0,
|
|
7838
|
+
(0, import_react67.useImperativeHandle)(ref, () => ({ toggle }), [toggle]);
|
|
7786
7839
|
return /* @__PURE__ */ React110.createElement(React110.Fragment, null, promotion && /* @__PURE__ */ React110.createElement(
|
|
7787
7840
|
import_editor_ui16.PromotionInfotip,
|
|
7788
7841
|
{
|
|
@@ -7816,7 +7869,7 @@ var PromotionTrigger = (0, import_react66.forwardRef)(
|
|
|
7816
7869
|
var ARIA_LABEL = (0, import_i18n54.__)("Display Conditions", "elementor");
|
|
7817
7870
|
var TRACKING_DATA = { target_name: "display_conditions", location_l2: "general" };
|
|
7818
7871
|
var DisplayConditionsControl = createControl(() => {
|
|
7819
|
-
const triggerRef = (0,
|
|
7872
|
+
const triggerRef = (0, import_react68.useRef)(null);
|
|
7820
7873
|
return /* @__PURE__ */ React111.createElement(
|
|
7821
7874
|
import_ui95.Stack,
|
|
7822
7875
|
{
|
|
@@ -7848,14 +7901,14 @@ var DisplayConditionsControl = createControl(() => {
|
|
|
7848
7901
|
|
|
7849
7902
|
// src/components/promotions/attributes-control.tsx
|
|
7850
7903
|
var React112 = __toESM(require("react"));
|
|
7851
|
-
var
|
|
7904
|
+
var import_react69 = require("react");
|
|
7852
7905
|
var import_icons37 = require("@elementor/icons");
|
|
7853
7906
|
var import_ui96 = require("@elementor/ui");
|
|
7854
7907
|
var import_i18n55 = require("@wordpress/i18n");
|
|
7855
7908
|
var ARIA_LABEL2 = (0, import_i18n55.__)("Attributes", "elementor");
|
|
7856
7909
|
var TRACKING_DATA2 = { target_name: "attributes", location_l2: "general" };
|
|
7857
7910
|
var AttributesControl = createControl(() => {
|
|
7858
|
-
const triggerRef = (0,
|
|
7911
|
+
const triggerRef = (0, import_react69.useRef)(null);
|
|
7859
7912
|
return /* @__PURE__ */ React112.createElement(
|
|
7860
7913
|
import_ui96.Stack,
|
|
7861
7914
|
{
|
|
@@ -7892,7 +7945,7 @@ var ClearIconButton = ({ tooltipText, onClick, disabled, size = "tiny" }) => /*
|
|
|
7892
7945
|
|
|
7893
7946
|
// src/components/repeater/repeater.tsx
|
|
7894
7947
|
var React114 = __toESM(require("react"));
|
|
7895
|
-
var
|
|
7948
|
+
var import_react70 = require("react");
|
|
7896
7949
|
var import_icons39 = require("@elementor/icons");
|
|
7897
7950
|
var import_ui98 = require("@elementor/ui");
|
|
7898
7951
|
var import_i18n56 = require("@wordpress/i18n");
|
|
@@ -7913,7 +7966,7 @@ var Repeater3 = ({
|
|
|
7913
7966
|
openItem: initialOpenItem = EMPTY_OPEN_ITEM2,
|
|
7914
7967
|
isSortable = true
|
|
7915
7968
|
}) => {
|
|
7916
|
-
const [openItem, setOpenItem] = (0,
|
|
7969
|
+
const [openItem, setOpenItem] = (0, import_react70.useState)(initialOpenItem);
|
|
7917
7970
|
const uniqueKeys = items2.map(
|
|
7918
7971
|
(item, index) => isSortable && "getId" in itemSettings ? itemSettings.getId({ item, index }) : String(index)
|
|
7919
7972
|
);
|
|
@@ -8065,10 +8118,11 @@ var RepeaterItem = ({
|
|
|
8065
8118
|
wrappedOnPopoverClose
|
|
8066
8119
|
);
|
|
8067
8120
|
const triggerProps = (0, import_ui98.bindTrigger)(popoverState);
|
|
8121
|
+
usePopoverDismiss({ isOpen: popoverState.isOpen, onClose: popoverProps.onClose });
|
|
8068
8122
|
const duplicateLabel = (0, import_i18n56.__)("Duplicate", "elementor");
|
|
8069
8123
|
const toggleLabel = propDisabled ? (0, import_i18n56.__)("Show", "elementor") : (0, import_i18n56.__)("Hide", "elementor");
|
|
8070
8124
|
const removeLabel = (0, import_i18n56.__)("Remove", "elementor");
|
|
8071
|
-
return /* @__PURE__ */ React114.createElement(
|
|
8125
|
+
return /* @__PURE__ */ React114.createElement(import_ui98.Box, { sx: { display: "contents" } }, /* @__PURE__ */ React114.createElement(
|
|
8072
8126
|
RepeaterTag,
|
|
8073
8127
|
{
|
|
8074
8128
|
disabled,
|
|
@@ -8085,21 +8139,13 @@ var RepeaterItem = ({
|
|
|
8085
8139
|
startIcon,
|
|
8086
8140
|
actions: /* @__PURE__ */ React114.createElement(React114.Fragment, null, showDuplicate && /* @__PURE__ */ React114.createElement(import_ui98.Tooltip, { title: duplicateLabel, placement: "top" }, /* @__PURE__ */ React114.createElement(import_ui98.IconButton, { size: SIZE11, onClick: duplicateItem, "aria-label": duplicateLabel }, /* @__PURE__ */ React114.createElement(import_icons39.CopyIcon, { fontSize: SIZE11 }))), showToggle && /* @__PURE__ */ React114.createElement(import_ui98.Tooltip, { title: toggleLabel, placement: "top" }, /* @__PURE__ */ React114.createElement(import_ui98.IconButton, { size: SIZE11, onClick: toggleDisableItem, "aria-label": toggleLabel }, propDisabled ? /* @__PURE__ */ React114.createElement(import_icons39.EyeOffIcon, { fontSize: SIZE11 }) : /* @__PURE__ */ React114.createElement(import_icons39.EyeIcon, { fontSize: SIZE11 }))), actions?.(value), showRemove && /* @__PURE__ */ React114.createElement(import_ui98.Tooltip, { title: removeLabel, placement: "top" }, /* @__PURE__ */ React114.createElement(import_ui98.IconButton, { size: SIZE11, onClick: removeItem, "aria-label": removeLabel }, /* @__PURE__ */ React114.createElement(import_icons39.XIcon, { fontSize: SIZE11 }))))
|
|
8087
8141
|
}
|
|
8088
|
-
), /* @__PURE__ */ React114.createElement(RepeaterPopover, { width: ref?.getBoundingClientRect().width, ...popoverProps, anchorEl: ref }, /* @__PURE__ */ React114.createElement(
|
|
8089
|
-
import_ui98.ClickAwayListener,
|
|
8090
|
-
{
|
|
8091
|
-
mouseEvent: "onMouseDown",
|
|
8092
|
-
touchEvent: "onTouchStart",
|
|
8093
|
-
onClickAway: popoverProps.onClose
|
|
8094
|
-
},
|
|
8095
|
-
/* @__PURE__ */ React114.createElement(import_ui98.Box, null, children({ anchorEl: ref }))
|
|
8096
|
-
)));
|
|
8142
|
+
), /* @__PURE__ */ React114.createElement(RepeaterPopover, { width: ref?.getBoundingClientRect().width, ...popoverProps, anchorEl: ref }, /* @__PURE__ */ React114.createElement(import_ui98.Box, null, children({ anchorEl: ref }))));
|
|
8097
8143
|
};
|
|
8098
8144
|
var usePopover = (openOnMount, onOpen, onPopoverClose) => {
|
|
8099
|
-
const [ref, setRef] = (0,
|
|
8145
|
+
const [ref, setRef] = (0, import_react70.useState)(null);
|
|
8100
8146
|
const popoverState = (0, import_ui98.usePopupState)({ variant: "popover" });
|
|
8101
8147
|
const popoverProps = (0, import_ui98.bindPopover)(popoverState);
|
|
8102
|
-
(0,
|
|
8148
|
+
(0, import_react70.useEffect)(() => {
|
|
8103
8149
|
if (openOnMount && ref) {
|
|
8104
8150
|
popoverState.open(ref);
|
|
8105
8151
|
onOpen?.();
|
|
@@ -8119,16 +8165,16 @@ var usePopover = (openOnMount, onOpen, onPopoverClose) => {
|
|
|
8119
8165
|
|
|
8120
8166
|
// src/components/inline-editor-toolbar.tsx
|
|
8121
8167
|
var React116 = __toESM(require("react"));
|
|
8122
|
-
var
|
|
8168
|
+
var import_react72 = require("react");
|
|
8123
8169
|
var import_editor_elements7 = require("@elementor/editor-elements");
|
|
8124
8170
|
var import_icons41 = require("@elementor/icons");
|
|
8125
8171
|
var import_ui100 = require("@elementor/ui");
|
|
8126
|
-
var
|
|
8172
|
+
var import_react73 = require("@tiptap/react");
|
|
8127
8173
|
var import_i18n58 = require("@wordpress/i18n");
|
|
8128
8174
|
|
|
8129
8175
|
// src/components/url-popover.tsx
|
|
8130
8176
|
var React115 = __toESM(require("react"));
|
|
8131
|
-
var
|
|
8177
|
+
var import_react71 = require("react");
|
|
8132
8178
|
var import_icons40 = require("@elementor/icons");
|
|
8133
8179
|
var import_ui99 = require("@elementor/ui");
|
|
8134
8180
|
var import_i18n57 = require("@wordpress/i18n");
|
|
@@ -8141,8 +8187,8 @@ var UrlPopover = ({
|
|
|
8141
8187
|
openInNewTab,
|
|
8142
8188
|
onToggleNewTab
|
|
8143
8189
|
}) => {
|
|
8144
|
-
const inputRef = (0,
|
|
8145
|
-
(0,
|
|
8190
|
+
const inputRef = (0, import_react71.useRef)(null);
|
|
8191
|
+
(0, import_react71.useEffect)(() => {
|
|
8146
8192
|
if (popupState.isOpen) {
|
|
8147
8193
|
requestAnimationFrame(() => inputRef.current?.focus());
|
|
8148
8194
|
}
|
|
@@ -8192,16 +8238,16 @@ var UrlPopover = ({
|
|
|
8192
8238
|
|
|
8193
8239
|
// src/components/inline-editor-toolbar.tsx
|
|
8194
8240
|
var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
|
|
8195
|
-
const [urlValue, setUrlValue] = (0,
|
|
8196
|
-
const [openInNewTab, setOpenInNewTab] = (0,
|
|
8197
|
-
const toolbarRef = (0,
|
|
8241
|
+
const [urlValue, setUrlValue] = (0, import_react72.useState)("");
|
|
8242
|
+
const [openInNewTab, setOpenInNewTab] = (0, import_react72.useState)(false);
|
|
8243
|
+
const toolbarRef = (0, import_react72.useRef)(null);
|
|
8198
8244
|
const linkPopupState = (0, import_ui100.usePopupState)({ variant: "popover" });
|
|
8199
8245
|
const isElementClickable = elementId ? checkIfElementIsClickable(elementId) : false;
|
|
8200
|
-
const editorState = (0,
|
|
8246
|
+
const editorState = (0, import_react73.useEditorState)({
|
|
8201
8247
|
editor,
|
|
8202
8248
|
selector: (ctx) => possibleFormats.filter((format) => ctx.editor.isActive(format))
|
|
8203
8249
|
});
|
|
8204
|
-
const formatButtonsList = (0,
|
|
8250
|
+
const formatButtonsList = (0, import_react72.useMemo)(() => {
|
|
8205
8251
|
const buttons = Object.values(formatButtons);
|
|
8206
8252
|
if (isElementClickable) {
|
|
8207
8253
|
return buttons.filter((button) => button.action !== "link");
|
|
@@ -8238,7 +8284,7 @@ var InlineEditorToolbar = ({ editor, elementId, sx = {} }) => {
|
|
|
8238
8284
|
}
|
|
8239
8285
|
linkPopupState.close();
|
|
8240
8286
|
};
|
|
8241
|
-
(0,
|
|
8287
|
+
(0, import_react72.useEffect)(() => {
|
|
8242
8288
|
editor?.commands?.focus();
|
|
8243
8289
|
}, [editor]);
|
|
8244
8290
|
return /* @__PURE__ */ React116.createElement(
|
|
@@ -8432,7 +8478,7 @@ var differsFromExternal = (newState, externalState) => {
|
|
|
8432
8478
|
|
|
8433
8479
|
// src/components/size/unit-select.tsx
|
|
8434
8480
|
var React117 = __toESM(require("react"));
|
|
8435
|
-
var
|
|
8481
|
+
var import_react74 = require("react");
|
|
8436
8482
|
var import_editor_ui17 = require("@elementor/editor-ui");
|
|
8437
8483
|
var import_ui101 = require("@elementor/ui");
|
|
8438
8484
|
var menuItemContentStyles2 = {
|
|
@@ -8443,7 +8489,7 @@ var menuItemContentStyles2 = {
|
|
|
8443
8489
|
var UnitSelect = ({ value, showPrimaryColor, onClick, options }) => {
|
|
8444
8490
|
const popupState = (0, import_ui101.usePopupState)({
|
|
8445
8491
|
variant: "popover",
|
|
8446
|
-
popupId: (0,
|
|
8492
|
+
popupId: (0, import_react74.useId)()
|
|
8447
8493
|
});
|
|
8448
8494
|
const handleMenuItemClick = (index) => {
|
|
8449
8495
|
onClick(options[index]);
|
|
@@ -8479,8 +8525,8 @@ var StyledButton3 = (0, import_ui101.styled)(import_ui101.Button, {
|
|
|
8479
8525
|
|
|
8480
8526
|
// src/components/size/unstable-size-input.tsx
|
|
8481
8527
|
var React118 = __toESM(require("react"));
|
|
8482
|
-
var
|
|
8483
|
-
var UnstableSizeInput = (0,
|
|
8528
|
+
var import_react75 = require("react");
|
|
8529
|
+
var UnstableSizeInput = (0, import_react75.forwardRef)(
|
|
8484
8530
|
({ type, value, onChange, onKeyDown, onKeyUp, InputProps, onBlur, focused, disabled }, ref) => {
|
|
8485
8531
|
return /* @__PURE__ */ React118.createElement(
|
|
8486
8532
|
NumberInput,
|
|
@@ -8548,7 +8594,7 @@ var hasValue = (value) => {
|
|
|
8548
8594
|
};
|
|
8549
8595
|
|
|
8550
8596
|
// src/hooks/use-font-families.ts
|
|
8551
|
-
var
|
|
8597
|
+
var import_react76 = require("react");
|
|
8552
8598
|
var import_editor_v1_adapters2 = require("@elementor/editor-v1-adapters");
|
|
8553
8599
|
var getFontControlConfig = () => {
|
|
8554
8600
|
const { controls } = (0, import_editor_v1_adapters2.getElementorConfig)();
|
|
@@ -8556,7 +8602,7 @@ var getFontControlConfig = () => {
|
|
|
8556
8602
|
};
|
|
8557
8603
|
var useFontFamilies = () => {
|
|
8558
8604
|
const { groups, options } = getFontControlConfig();
|
|
8559
|
-
return (0,
|
|
8605
|
+
return (0, import_react76.useMemo)(() => {
|
|
8560
8606
|
if (!groups || !options) {
|
|
8561
8607
|
return [];
|
|
8562
8608
|
}
|