@elementor/editor-editing-panel 1.37.0 → 1.38.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/dist/index.js +311 -251
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +251 -191
- package/dist/index.mjs.map +1 -1
- package/package.json +8 -8
- package/src/components/style-sections/layout-section/display-field.tsx +2 -2
- package/src/components/style-sections/typography-section/column-count-field.tsx +22 -0
- package/src/components/style-sections/typography-section/column-gap-field.tsx +22 -0
- package/src/components/style-sections/typography-section/typography-section.tsx +14 -0
- package/src/contexts/styles-inheritance-context.tsx +25 -20
- package/src/hooks/use-normalized-inheritance-chain-items.tsx +10 -3
- package/src/styles-inheritance/create-styles-inheritance.ts +49 -3
- package/src/styles-inheritance/styles-inheritance-indicator.tsx +14 -9
- package/src/styles-inheritance/styles-inheritance-infotip.tsx +8 -15
- package/src/styles-inheritance/types.ts +5 -0
package/dist/index.js
CHANGED
|
@@ -34,12 +34,12 @@ __export(index_exports, {
|
|
|
34
34
|
init: () => init2,
|
|
35
35
|
injectIntoClassSelectorActions: () => injectIntoClassSelectorActions,
|
|
36
36
|
registerControlReplacement: () => registerControlReplacement,
|
|
37
|
-
useBoundProp: () =>
|
|
37
|
+
useBoundProp: () => import_editor_controls55.useBoundProp,
|
|
38
38
|
usePanelActions: () => usePanelActions,
|
|
39
39
|
usePanelStatus: () => usePanelStatus
|
|
40
40
|
});
|
|
41
41
|
module.exports = __toCommonJS(index_exports);
|
|
42
|
-
var
|
|
42
|
+
var import_editor_controls55 = require("@elementor/editor-controls");
|
|
43
43
|
|
|
44
44
|
// src/control-replacement.tsx
|
|
45
45
|
var import_editor_controls = require("@elementor/editor-controls");
|
|
@@ -949,15 +949,15 @@ function useHandleApply(appliedIds, setAppliedIds) {
|
|
|
949
949
|
var import_editor_panels2 = require("@elementor/editor-panels");
|
|
950
950
|
|
|
951
951
|
// src/components/editing-panel.tsx
|
|
952
|
-
var
|
|
953
|
-
var
|
|
952
|
+
var React74 = __toESM(require("react"));
|
|
953
|
+
var import_editor_controls49 = require("@elementor/editor-controls");
|
|
954
954
|
var import_editor_elements8 = require("@elementor/editor-elements");
|
|
955
955
|
var import_editor_panels = require("@elementor/editor-panels");
|
|
956
956
|
var import_editor_ui4 = require("@elementor/editor-ui");
|
|
957
957
|
var import_icons23 = require("@elementor/icons");
|
|
958
958
|
var import_session5 = require("@elementor/session");
|
|
959
|
-
var
|
|
960
|
-
var
|
|
959
|
+
var import_ui62 = require("@elementor/ui");
|
|
960
|
+
var import_i18n50 = require("@wordpress/i18n");
|
|
961
961
|
|
|
962
962
|
// src/controls-actions.ts
|
|
963
963
|
var import_menus = require("@elementor/menus");
|
|
@@ -1013,10 +1013,10 @@ function EditorPanelErrorFallback() {
|
|
|
1013
1013
|
}
|
|
1014
1014
|
|
|
1015
1015
|
// src/components/editing-panel-tabs.tsx
|
|
1016
|
-
var
|
|
1016
|
+
var React73 = __toESM(require("react"));
|
|
1017
1017
|
var import_react26 = require("react");
|
|
1018
|
-
var
|
|
1019
|
-
var
|
|
1018
|
+
var import_ui61 = require("@elementor/ui");
|
|
1019
|
+
var import_i18n49 = require("@wordpress/i18n");
|
|
1020
1020
|
|
|
1021
1021
|
// src/contexts/scroll-context.tsx
|
|
1022
1022
|
var React10 = __toESM(require("react"));
|
|
@@ -1240,19 +1240,19 @@ var Control2 = ({ control }) => {
|
|
|
1240
1240
|
};
|
|
1241
1241
|
|
|
1242
1242
|
// src/components/style-tab.tsx
|
|
1243
|
-
var
|
|
1243
|
+
var React72 = __toESM(require("react"));
|
|
1244
1244
|
var import_react25 = require("react");
|
|
1245
|
-
var
|
|
1245
|
+
var import_editor_props9 = require("@elementor/editor-props");
|
|
1246
1246
|
var import_editor_responsive2 = require("@elementor/editor-responsive");
|
|
1247
1247
|
var import_session4 = require("@elementor/session");
|
|
1248
|
-
var
|
|
1249
|
-
var
|
|
1248
|
+
var import_ui60 = require("@elementor/ui");
|
|
1249
|
+
var import_i18n48 = require("@wordpress/i18n");
|
|
1250
1250
|
|
|
1251
1251
|
// src/contexts/styles-inheritance-context.tsx
|
|
1252
1252
|
var React17 = __toESM(require("react"));
|
|
1253
1253
|
var import_react14 = require("react");
|
|
1254
1254
|
var import_editor_elements4 = require("@elementor/editor-elements");
|
|
1255
|
-
var
|
|
1255
|
+
var import_editor_props4 = require("@elementor/editor-props");
|
|
1256
1256
|
var import_editor_responsive = require("@elementor/editor-responsive");
|
|
1257
1257
|
var import_editor_styles_repository5 = require("@elementor/editor-styles-repository");
|
|
1258
1258
|
|
|
@@ -1264,6 +1264,9 @@ var useStylesRerender = () => {
|
|
|
1264
1264
|
(0, import_react13.useEffect)(() => provider?.subscribe(reRender), [provider]);
|
|
1265
1265
|
};
|
|
1266
1266
|
|
|
1267
|
+
// src/styles-inheritance/create-styles-inheritance.ts
|
|
1268
|
+
var import_editor_props3 = require("@elementor/editor-props");
|
|
1269
|
+
|
|
1267
1270
|
// src/styles-inheritance/create-snapshots-manager.ts
|
|
1268
1271
|
var import_editor_props2 = require("@elementor/editor-props");
|
|
1269
1272
|
|
|
@@ -1393,7 +1396,20 @@ function mergeSnapshots(snapshots) {
|
|
|
1393
1396
|
function createStylesInheritance(styleDefs, breakpointsRoot) {
|
|
1394
1397
|
const styleVariantsByMeta = buildStyleVariantsByMetaMapping(styleDefs);
|
|
1395
1398
|
const getStyles = ({ breakpoint, state }) => styleVariantsByMeta?.[getBreakpointKey(breakpoint)]?.[getStateKey(state)] ?? [];
|
|
1396
|
-
return
|
|
1399
|
+
return {
|
|
1400
|
+
getSnapshot: createSnapshotsManager(getStyles, breakpointsRoot),
|
|
1401
|
+
getInheritanceChain: (snapshot, path) => {
|
|
1402
|
+
const [field, ...nextFields] = path;
|
|
1403
|
+
let inheritanceChain = snapshot[field] ?? [];
|
|
1404
|
+
if (nextFields.length > 0) {
|
|
1405
|
+
inheritanceChain = inheritanceChain.map(({ value: styleValue, ...rest }) => ({
|
|
1406
|
+
...rest,
|
|
1407
|
+
value: getValueByPath(styleValue, nextFields)
|
|
1408
|
+
})).filter(({ value: styleValue }) => !(0, import_editor_props3.isEmpty)(styleValue));
|
|
1409
|
+
}
|
|
1410
|
+
return inheritanceChain;
|
|
1411
|
+
}
|
|
1412
|
+
};
|
|
1397
1413
|
}
|
|
1398
1414
|
function buildStyleVariantsByMetaMapping(styleDefs) {
|
|
1399
1415
|
const breakpointStateSlots = {};
|
|
@@ -1420,32 +1436,53 @@ function buildStyleVariantsByMetaMapping(styleDefs) {
|
|
|
1420
1436
|
});
|
|
1421
1437
|
return breakpointStateSlots;
|
|
1422
1438
|
}
|
|
1439
|
+
function getValueByPath(value, path) {
|
|
1440
|
+
if (!value || typeof value !== "object") {
|
|
1441
|
+
return null;
|
|
1442
|
+
}
|
|
1443
|
+
return path.reduce((currentScope, key) => {
|
|
1444
|
+
if (!currentScope) {
|
|
1445
|
+
return null;
|
|
1446
|
+
}
|
|
1447
|
+
if ((0, import_editor_props3.isTransformable)(currentScope)) {
|
|
1448
|
+
return currentScope.value?.[key];
|
|
1449
|
+
}
|
|
1450
|
+
if (typeof currentScope === "object") {
|
|
1451
|
+
return currentScope[key];
|
|
1452
|
+
}
|
|
1453
|
+
return null;
|
|
1454
|
+
}, value);
|
|
1455
|
+
}
|
|
1423
1456
|
|
|
1424
1457
|
// src/contexts/styles-inheritance-context.tsx
|
|
1425
1458
|
var Context4 = (0, import_react14.createContext)(null);
|
|
1426
1459
|
function StyleInheritanceProvider({ children }) {
|
|
1427
1460
|
const styleDefs = useAppliedStyles();
|
|
1428
1461
|
const breakpointsTree = (0, import_editor_responsive.getBreakpointsTree)();
|
|
1429
|
-
const getSnapshot = createStylesInheritance(styleDefs, breakpointsTree);
|
|
1430
|
-
return /* @__PURE__ */ React17.createElement(Context4.Provider, { value: { getSnapshot } }, children);
|
|
1462
|
+
const { getSnapshot, getInheritanceChain } = createStylesInheritance(styleDefs, breakpointsTree);
|
|
1463
|
+
return /* @__PURE__ */ React17.createElement(Context4.Provider, { value: { getSnapshot, getInheritanceChain } }, children);
|
|
1431
1464
|
}
|
|
1432
|
-
function
|
|
1465
|
+
function useStylesInheritanceSnapshot() {
|
|
1433
1466
|
const context = (0, import_react14.useContext)(Context4);
|
|
1434
1467
|
const { meta } = useStyle();
|
|
1435
1468
|
if (!context) {
|
|
1436
|
-
throw new Error("
|
|
1469
|
+
throw new Error("useStylesInheritanceSnapshot must be used within a StyleInheritanceProvider");
|
|
1437
1470
|
}
|
|
1438
1471
|
if (!meta) {
|
|
1439
1472
|
return null;
|
|
1440
1473
|
}
|
|
1441
|
-
|
|
1442
|
-
return fields.reduce(
|
|
1443
|
-
(acc, key) => ({ ...acc, [key]: snapshot?.[key] ?? [] }),
|
|
1444
|
-
{}
|
|
1445
|
-
);
|
|
1474
|
+
return context.getSnapshot(meta) ?? null;
|
|
1446
1475
|
}
|
|
1447
|
-
function
|
|
1448
|
-
|
|
1476
|
+
function useStylesInheritanceChain(path) {
|
|
1477
|
+
const context = (0, import_react14.useContext)(Context4);
|
|
1478
|
+
if (!context) {
|
|
1479
|
+
throw new Error("useStylesInheritanceChain must be used within a StyleInheritanceProvider");
|
|
1480
|
+
}
|
|
1481
|
+
const snapshot = useStylesInheritanceSnapshot();
|
|
1482
|
+
if (!snapshot) {
|
|
1483
|
+
return [];
|
|
1484
|
+
}
|
|
1485
|
+
return context.getInheritanceChain(snapshot, path);
|
|
1449
1486
|
}
|
|
1450
1487
|
var useAppliedStyles = () => {
|
|
1451
1488
|
const { element } = useElement();
|
|
@@ -1453,7 +1490,7 @@ var useAppliedStyles = () => {
|
|
|
1453
1490
|
const baseStyles = useBaseStyles();
|
|
1454
1491
|
useStylesRerender();
|
|
1455
1492
|
const classesProp = (0, import_editor_elements4.useElementSetting)(element.id, currentClassesProp);
|
|
1456
|
-
const appliedStyles =
|
|
1493
|
+
const appliedStyles = import_editor_props4.classesPropTypeUtil.extract(classesProp);
|
|
1457
1494
|
return import_editor_styles_repository5.stylesRepository.all().filter((style) => appliedStyles?.includes(style.id)).concat(baseStyles);
|
|
1458
1495
|
};
|
|
1459
1496
|
var useBaseStyles = () => {
|
|
@@ -1494,7 +1531,7 @@ var import_editor_controls7 = require("@elementor/editor-controls");
|
|
|
1494
1531
|
// src/controls-registry/styles-field.tsx
|
|
1495
1532
|
var React20 = __toESM(require("react"));
|
|
1496
1533
|
var import_editor_controls6 = require("@elementor/editor-controls");
|
|
1497
|
-
var
|
|
1534
|
+
var import_editor_styles2 = require("@elementor/editor-styles");
|
|
1498
1535
|
|
|
1499
1536
|
// src/hooks/use-styles-fields.ts
|
|
1500
1537
|
var import_react16 = require("react");
|
|
@@ -1636,6 +1673,7 @@ function useStylesField(propName) {
|
|
|
1636
1673
|
var React19 = __toESM(require("react"));
|
|
1637
1674
|
var import_react19 = require("react");
|
|
1638
1675
|
var import_editor_controls5 = require("@elementor/editor-controls");
|
|
1676
|
+
var import_editor_props5 = require("@elementor/editor-props");
|
|
1639
1677
|
var import_editor_styles_repository7 = require("@elementor/editor-styles-repository");
|
|
1640
1678
|
var import_editor_v1_adapters3 = require("@elementor/editor-v1-adapters");
|
|
1641
1679
|
var import_ui16 = require("@elementor/ui");
|
|
@@ -1645,7 +1683,6 @@ var import_i18n5 = require("@wordpress/i18n");
|
|
|
1645
1683
|
var React18 = __toESM(require("react"));
|
|
1646
1684
|
var import_react18 = require("react");
|
|
1647
1685
|
var import_editor_canvas = require("@elementor/editor-canvas");
|
|
1648
|
-
var import_editor_styles2 = require("@elementor/editor-styles");
|
|
1649
1686
|
var import_ui15 = require("@elementor/ui");
|
|
1650
1687
|
|
|
1651
1688
|
// src/hooks/use-normalized-inheritance-chain-items.tsx
|
|
@@ -1689,15 +1726,15 @@ var getTransformedValue = async (item, bind, resolve) => {
|
|
|
1689
1726
|
};
|
|
1690
1727
|
|
|
1691
1728
|
// src/styles-inheritance/styles-inheritance-infotip.tsx
|
|
1692
|
-
var StyleIndicatorInfotip = ({ inheritanceChain,
|
|
1729
|
+
var StyleIndicatorInfotip = ({ inheritanceChain, propType, path }) => {
|
|
1730
|
+
const key = path.join(".");
|
|
1693
1731
|
const resolve = (0, import_react18.useMemo)(() => {
|
|
1694
|
-
const stylesSchema = (0, import_editor_styles2.getStylesSchema)();
|
|
1695
1732
|
return (0, import_editor_canvas.createPropsResolver)({
|
|
1696
1733
|
transformers: import_editor_canvas.styleTransformersRegistry,
|
|
1697
|
-
schema: { [
|
|
1734
|
+
schema: { [key]: propType }
|
|
1698
1735
|
});
|
|
1699
|
-
}, [
|
|
1700
|
-
const items3 = useNormalizedInheritanceChainItems(inheritanceChain,
|
|
1736
|
+
}, [key, propType]);
|
|
1737
|
+
const items3 = useNormalizedInheritanceChainItems(inheritanceChain, key, resolve);
|
|
1701
1738
|
return /* @__PURE__ */ React18.createElement(import_ui15.Card, { elevation: 0, sx: { maxWidth: 320 } }, /* @__PURE__ */ React18.createElement(import_ui15.CardContent, { sx: { p: 1.5, pb: 2.5 } }, /* @__PURE__ */ React18.createElement(import_ui15.List, null, items3.map((item) => /* @__PURE__ */ React18.createElement(import_ui15.ListItem, { key: item.id }, /* @__PURE__ */ React18.createElement(
|
|
1702
1739
|
import_ui15.ListItemText,
|
|
1703
1740
|
{
|
|
@@ -1709,10 +1746,11 @@ var StyleIndicatorInfotip = ({ inheritanceChain, bind }) => {
|
|
|
1709
1746
|
// src/styles-inheritance/styles-inheritance-indicator.tsx
|
|
1710
1747
|
var StylesInheritanceIndicator = () => {
|
|
1711
1748
|
const [open, setOpen] = (0, import_react19.useState)(false);
|
|
1712
|
-
const { value, path } = (0, import_editor_controls5.useBoundProp)();
|
|
1749
|
+
const { value, path, propType } = (0, import_editor_controls5.useBoundProp)();
|
|
1713
1750
|
const { id: currentStyleId, provider: currentStyleProvider, meta: currentStyleMeta } = useStyle();
|
|
1714
|
-
const
|
|
1715
|
-
const
|
|
1751
|
+
const isUsingNestedProps = (0, import_editor_v1_adapters3.isExperimentActive)("e_v_3_30");
|
|
1752
|
+
const finalPath = isUsingNestedProps ? path : path.slice(0, 1);
|
|
1753
|
+
const inheritanceChain = useStylesInheritanceChain(finalPath);
|
|
1716
1754
|
if (!inheritanceChain.length) {
|
|
1717
1755
|
return null;
|
|
1718
1756
|
}
|
|
@@ -1722,7 +1760,7 @@ var StylesInheritanceIndicator = () => {
|
|
|
1722
1760
|
}
|
|
1723
1761
|
const { breakpoint, state } = variant.meta;
|
|
1724
1762
|
const isFinalValue = style.id === currentStyleId && breakpoint === currentStyleMeta.breakpoint && state === currentStyleMeta.state;
|
|
1725
|
-
const hasValue =
|
|
1763
|
+
const hasValue = !(0, import_editor_props5.isEmpty)(value);
|
|
1726
1764
|
const label = getLabel({ isFinalValue, hasValue });
|
|
1727
1765
|
const variantType = getVariant({ isFinalValue, hasValue, currentStyleProvider });
|
|
1728
1766
|
const eIndicationsPopover = (0, import_editor_v1_adapters3.isExperimentActive)("e_indications_popover");
|
|
@@ -1734,7 +1772,7 @@ var StylesInheritanceIndicator = () => {
|
|
|
1734
1772
|
import_ui16.Infotip,
|
|
1735
1773
|
{
|
|
1736
1774
|
placement: "top",
|
|
1737
|
-
content: /* @__PURE__ */ React19.createElement(StyleIndicatorInfotip, { inheritanceChain,
|
|
1775
|
+
content: /* @__PURE__ */ React19.createElement(StyleIndicatorInfotip, { inheritanceChain, path: finalPath, propType }),
|
|
1738
1776
|
open,
|
|
1739
1777
|
onClose: () => setOpen(false),
|
|
1740
1778
|
trigger: "manual"
|
|
@@ -1768,7 +1806,7 @@ var getVariant = ({
|
|
|
1768
1806
|
// src/controls-registry/styles-field.tsx
|
|
1769
1807
|
var StylesField = ({ bind, placeholder, children }) => {
|
|
1770
1808
|
const [value, setValue] = useStylesField(bind);
|
|
1771
|
-
const stylesSchema = (0,
|
|
1809
|
+
const stylesSchema = (0, import_editor_styles2.getStylesSchema)();
|
|
1772
1810
|
const propType = createTopLevelOjectType({ schema: stylesSchema });
|
|
1773
1811
|
const values = { [bind]: value };
|
|
1774
1812
|
const placeholderValues = { [bind]: placeholder };
|
|
@@ -1883,7 +1921,7 @@ var BorderStyleField = () => {
|
|
|
1883
1921
|
// src/components/style-sections/border-section/border-width-field.tsx
|
|
1884
1922
|
var React28 = __toESM(require("react"));
|
|
1885
1923
|
var import_editor_controls11 = require("@elementor/editor-controls");
|
|
1886
|
-
var
|
|
1924
|
+
var import_editor_props6 = require("@elementor/editor-props");
|
|
1887
1925
|
var import_icons6 = require("@elementor/icons");
|
|
1888
1926
|
var import_ui24 = require("@elementor/ui");
|
|
1889
1927
|
var import_i18n8 = require("@wordpress/i18n");
|
|
@@ -1942,7 +1980,7 @@ var BorderWidthField = () => {
|
|
|
1942
1980
|
label: (0, import_i18n8.__)("Border width", "elementor"),
|
|
1943
1981
|
icon: /* @__PURE__ */ React28.createElement(import_icons6.SideAllIcon, { fontSize: "tiny" }),
|
|
1944
1982
|
tooltipLabel: (0, import_i18n8.__)("Adjust borders", "elementor"),
|
|
1945
|
-
multiSizePropTypeUtil:
|
|
1983
|
+
multiSizePropTypeUtil: import_editor_props6.borderWidthPropTypeUtil
|
|
1946
1984
|
}
|
|
1947
1985
|
));
|
|
1948
1986
|
};
|
|
@@ -1983,7 +2021,7 @@ var BorderField = () => {
|
|
|
1983
2021
|
// src/components/style-sections/border-section/border-radius-field.tsx
|
|
1984
2022
|
var React30 = __toESM(require("react"));
|
|
1985
2023
|
var import_editor_controls12 = require("@elementor/editor-controls");
|
|
1986
|
-
var
|
|
2024
|
+
var import_editor_props7 = require("@elementor/editor-props");
|
|
1987
2025
|
var import_icons7 = require("@elementor/icons");
|
|
1988
2026
|
var import_ui25 = require("@elementor/ui");
|
|
1989
2027
|
var import_i18n10 = require("@wordpress/i18n");
|
|
@@ -2026,7 +2064,7 @@ var BorderRadiusField = () => {
|
|
|
2026
2064
|
label: (0, import_i18n10.__)("Border radius", "elementor"),
|
|
2027
2065
|
icon: /* @__PURE__ */ React30.createElement(import_icons7.BorderCornersIcon, { fontSize: "tiny" }),
|
|
2028
2066
|
tooltipLabel: (0, import_i18n10.__)("Adjust corners", "elementor"),
|
|
2029
|
-
multiSizePropTypeUtil:
|
|
2067
|
+
multiSizePropTypeUtil: import_editor_props7.borderRadiusPropTypeUtil
|
|
2030
2068
|
}
|
|
2031
2069
|
));
|
|
2032
2070
|
};
|
|
@@ -2342,7 +2380,7 @@ var DisplayField = () => {
|
|
|
2342
2380
|
const placeholder = useDisplayPlaceholderValue();
|
|
2343
2381
|
return /* @__PURE__ */ React37.createElement(StylesField, { bind: "display", placeholder }, /* @__PURE__ */ React37.createElement(import_ui30.Stack, { gap: 0.75 }, /* @__PURE__ */ React37.createElement(ControlLabel, null, (0, import_i18n14.__)("Display", "elementor")), /* @__PURE__ */ React37.createElement(import_editor_controls17.ToggleControl, { options: items3, maxItems: 4, fullWidth: true })));
|
|
2344
2382
|
};
|
|
2345
|
-
var useDisplayPlaceholderValue = () =>
|
|
2383
|
+
var useDisplayPlaceholderValue = () => useStylesInheritanceChain(["display"])[0]?.value ?? void 0;
|
|
2346
2384
|
|
|
2347
2385
|
// src/components/style-sections/layout-section/flex-direction-field.tsx
|
|
2348
2386
|
var React38 = __toESM(require("react"));
|
|
@@ -2465,7 +2503,7 @@ var getGroupControlValue = (order) => {
|
|
|
2465
2503
|
var React40 = __toESM(require("react"));
|
|
2466
2504
|
var import_react22 = require("react");
|
|
2467
2505
|
var import_editor_controls20 = require("@elementor/editor-controls");
|
|
2468
|
-
var
|
|
2506
|
+
var import_editor_props8 = require("@elementor/editor-props");
|
|
2469
2507
|
var import_icons13 = require("@elementor/icons");
|
|
2470
2508
|
var import_ui33 = require("@elementor/ui");
|
|
2471
2509
|
var import_i18n17 = require("@wordpress/i18n");
|
|
@@ -2510,7 +2548,7 @@ var FlexSizeField = () => {
|
|
|
2510
2548
|
if (group === "flex-grow") {
|
|
2511
2549
|
setFields({
|
|
2512
2550
|
"flex-basis": null,
|
|
2513
|
-
"flex-grow":
|
|
2551
|
+
"flex-grow": import_editor_props8.numberPropTypeUtil.create(DEFAULT),
|
|
2514
2552
|
"flex-shrink": null
|
|
2515
2553
|
});
|
|
2516
2554
|
return;
|
|
@@ -2518,7 +2556,7 @@ var FlexSizeField = () => {
|
|
|
2518
2556
|
setFields({
|
|
2519
2557
|
"flex-basis": null,
|
|
2520
2558
|
"flex-grow": null,
|
|
2521
|
-
"flex-shrink":
|
|
2559
|
+
"flex-shrink": import_editor_props8.numberPropTypeUtil.create(DEFAULT)
|
|
2522
2560
|
});
|
|
2523
2561
|
};
|
|
2524
2562
|
return /* @__PURE__ */ React40.createElement(import_ui33.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React40.createElement(import_ui33.ThemeProvider, null, /* @__PURE__ */ React40.createElement(SectionContent, null, /* @__PURE__ */ React40.createElement(import_ui33.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(StylesField, { bind: activeGroup ?? "" }, /* @__PURE__ */ React40.createElement(ControlLabel, null, (0, import_i18n17.__)("Size", "elementor")))), /* @__PURE__ */ React40.createElement(import_ui33.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React40.createElement(
|
|
@@ -2921,21 +2959,40 @@ var SpacingSection = () => {
|
|
|
2921
2959
|
};
|
|
2922
2960
|
|
|
2923
2961
|
// src/components/style-sections/typography-section/typography-section.tsx
|
|
2924
|
-
var
|
|
2962
|
+
var React71 = __toESM(require("react"));
|
|
2963
|
+
var import_editor_v1_adapters8 = require("@elementor/editor-v1-adapters");
|
|
2925
2964
|
|
|
2926
|
-
// src/components/style-sections/typography-section/
|
|
2965
|
+
// src/components/style-sections/typography-section/column-count-field.tsx
|
|
2927
2966
|
var React56 = __toESM(require("react"));
|
|
2928
2967
|
var import_editor_controls34 = require("@elementor/editor-controls");
|
|
2929
2968
|
var import_ui46 = require("@elementor/ui");
|
|
2969
|
+
var import_i18n32 = require("@wordpress/i18n");
|
|
2970
|
+
var ColumnCountField = () => {
|
|
2971
|
+
return /* @__PURE__ */ React56.createElement(StylesField, { bind: "column-count" }, /* @__PURE__ */ React56.createElement(import_ui46.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React56.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(ControlLabel, null, (0, import_i18n32.__)("Columns", "elementor"))), /* @__PURE__ */ React56.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(import_editor_controls34.NumberControl, { shouldForceInt: true, min: 0, step: 1 }))));
|
|
2972
|
+
};
|
|
2973
|
+
|
|
2974
|
+
// src/components/style-sections/typography-section/column-gap-field.tsx
|
|
2975
|
+
var React57 = __toESM(require("react"));
|
|
2976
|
+
var import_editor_controls35 = require("@elementor/editor-controls");
|
|
2977
|
+
var import_ui47 = require("@elementor/ui");
|
|
2930
2978
|
var import_i18n33 = require("@wordpress/i18n");
|
|
2979
|
+
var ColumnGapField = () => {
|
|
2980
|
+
return /* @__PURE__ */ React57.createElement(StylesField, { bind: "column-gap" }, /* @__PURE__ */ React57.createElement(import_ui47.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React57.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(ControlLabel, null, (0, import_i18n33.__)("Column gap", "elementor"))), /* @__PURE__ */ React57.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(import_editor_controls35.SizeControl, null))));
|
|
2981
|
+
};
|
|
2982
|
+
|
|
2983
|
+
// src/components/style-sections/typography-section/font-family-field.tsx
|
|
2984
|
+
var React58 = __toESM(require("react"));
|
|
2985
|
+
var import_editor_controls36 = require("@elementor/editor-controls");
|
|
2986
|
+
var import_ui48 = require("@elementor/ui");
|
|
2987
|
+
var import_i18n35 = require("@wordpress/i18n");
|
|
2931
2988
|
|
|
2932
2989
|
// src/components/style-sections/typography-section/hooks/use-font-families.ts
|
|
2933
2990
|
var import_react24 = require("react");
|
|
2934
|
-
var
|
|
2991
|
+
var import_i18n34 = require("@wordpress/i18n");
|
|
2935
2992
|
var supportedCategories = {
|
|
2936
|
-
system: (0,
|
|
2937
|
-
custom: (0,
|
|
2938
|
-
googlefonts: (0,
|
|
2993
|
+
system: (0, import_i18n34.__)("System", "elementor"),
|
|
2994
|
+
custom: (0, import_i18n34.__)("Custom Fonts", "elementor"),
|
|
2995
|
+
googlefonts: (0, import_i18n34.__)("Google Fonts", "elementor")
|
|
2939
2996
|
};
|
|
2940
2997
|
var getFontFamilies = () => {
|
|
2941
2998
|
const { controls } = getElementorConfig();
|
|
@@ -2972,188 +3029,188 @@ var FontFamilyField = () => {
|
|
|
2972
3029
|
if (fontFamilies.length === 0) {
|
|
2973
3030
|
return null;
|
|
2974
3031
|
}
|
|
2975
|
-
return /* @__PURE__ */
|
|
3032
|
+
return /* @__PURE__ */ React58.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React58.createElement(import_ui48.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React58.createElement(import_ui48.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React58.createElement(ControlLabel, null, (0, import_i18n35.__)("Font family", "elementor"))), /* @__PURE__ */ React58.createElement(import_ui48.Grid, { item: true, xs: 6, sx: { minWidth: 0 } }, /* @__PURE__ */ React58.createElement(import_editor_controls36.FontFamilyControl, { fontFamilies }))));
|
|
2976
3033
|
};
|
|
2977
3034
|
|
|
2978
3035
|
// src/components/style-sections/typography-section/font-size-field.tsx
|
|
2979
|
-
var
|
|
2980
|
-
var
|
|
2981
|
-
var
|
|
2982
|
-
var
|
|
3036
|
+
var React59 = __toESM(require("react"));
|
|
3037
|
+
var import_editor_controls37 = require("@elementor/editor-controls");
|
|
3038
|
+
var import_ui49 = require("@elementor/ui");
|
|
3039
|
+
var import_i18n36 = require("@wordpress/i18n");
|
|
2983
3040
|
var FontSizeField = () => {
|
|
2984
|
-
return /* @__PURE__ */
|
|
3041
|
+
return /* @__PURE__ */ React59.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React59.createElement(import_ui49.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React59.createElement(import_ui49.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React59.createElement(ControlLabel, null, (0, import_i18n36.__)("Font size", "elementor"))), /* @__PURE__ */ React59.createElement(import_ui49.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React59.createElement(import_editor_controls37.SizeControl, null))));
|
|
2985
3042
|
};
|
|
2986
3043
|
|
|
2987
3044
|
// src/components/style-sections/typography-section/font-style-field.tsx
|
|
2988
|
-
var
|
|
2989
|
-
var
|
|
3045
|
+
var React60 = __toESM(require("react"));
|
|
3046
|
+
var import_editor_controls38 = require("@elementor/editor-controls");
|
|
2990
3047
|
var import_icons18 = require("@elementor/icons");
|
|
2991
|
-
var
|
|
2992
|
-
var
|
|
3048
|
+
var import_ui50 = require("@elementor/ui");
|
|
3049
|
+
var import_i18n37 = require("@wordpress/i18n");
|
|
2993
3050
|
var options7 = [
|
|
2994
3051
|
{
|
|
2995
3052
|
value: "normal",
|
|
2996
|
-
label: (0,
|
|
2997
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3053
|
+
label: (0, import_i18n37.__)("Normal", "elementor"),
|
|
3054
|
+
renderContent: ({ size }) => /* @__PURE__ */ React60.createElement(import_icons18.MinusIcon, { fontSize: size }),
|
|
2998
3055
|
showTooltip: true
|
|
2999
3056
|
},
|
|
3000
3057
|
{
|
|
3001
3058
|
value: "italic",
|
|
3002
|
-
label: (0,
|
|
3003
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3059
|
+
label: (0, import_i18n37.__)("Italic", "elementor"),
|
|
3060
|
+
renderContent: ({ size }) => /* @__PURE__ */ React60.createElement(import_icons18.ItalicIcon, { fontSize: size }),
|
|
3004
3061
|
showTooltip: true
|
|
3005
3062
|
}
|
|
3006
3063
|
];
|
|
3007
|
-
var FontStyleField = () => /* @__PURE__ */
|
|
3064
|
+
var FontStyleField = () => /* @__PURE__ */ React60.createElement(StylesField, { bind: "font-style" }, /* @__PURE__ */ React60.createElement(import_ui50.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React60.createElement(import_ui50.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(import_editor_controls38.ControlFormLabel, null, (0, import_i18n37.__)("Font style", "elementor"))), /* @__PURE__ */ React60.createElement(import_ui50.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React60.createElement(import_editor_controls38.ToggleControl, { options: options7 }))));
|
|
3008
3065
|
|
|
3009
3066
|
// src/components/style-sections/typography-section/font-weight-field.tsx
|
|
3010
|
-
var
|
|
3011
|
-
var
|
|
3012
|
-
var
|
|
3013
|
-
var
|
|
3067
|
+
var React61 = __toESM(require("react"));
|
|
3068
|
+
var import_editor_controls39 = require("@elementor/editor-controls");
|
|
3069
|
+
var import_ui51 = require("@elementor/ui");
|
|
3070
|
+
var import_i18n38 = require("@wordpress/i18n");
|
|
3014
3071
|
var fontWeightOptions = [
|
|
3015
|
-
{ value: "100", label: (0,
|
|
3016
|
-
{ value: "200", label: (0,
|
|
3017
|
-
{ value: "300", label: (0,
|
|
3018
|
-
{ value: "400", label: (0,
|
|
3019
|
-
{ value: "500", label: (0,
|
|
3020
|
-
{ value: "600", label: (0,
|
|
3021
|
-
{ value: "700", label: (0,
|
|
3022
|
-
{ value: "800", label: (0,
|
|
3023
|
-
{ value: "900", label: (0,
|
|
3072
|
+
{ value: "100", label: (0, import_i18n38.__)("100 - Thin", "elementor") },
|
|
3073
|
+
{ value: "200", label: (0, import_i18n38.__)("200 - Extra light", "elementor") },
|
|
3074
|
+
{ value: "300", label: (0, import_i18n38.__)("300 - Light", "elementor") },
|
|
3075
|
+
{ value: "400", label: (0, import_i18n38.__)("400 - Normal", "elementor") },
|
|
3076
|
+
{ value: "500", label: (0, import_i18n38.__)("500 - Medium", "elementor") },
|
|
3077
|
+
{ value: "600", label: (0, import_i18n38.__)("600 - Semi bold", "elementor") },
|
|
3078
|
+
{ value: "700", label: (0, import_i18n38.__)("700 - Bold", "elementor") },
|
|
3079
|
+
{ value: "800", label: (0, import_i18n38.__)("800 - Extra bold", "elementor") },
|
|
3080
|
+
{ value: "900", label: (0, import_i18n38.__)("900 - Black", "elementor") }
|
|
3024
3081
|
];
|
|
3025
3082
|
var FontWeightField = () => {
|
|
3026
|
-
return /* @__PURE__ */
|
|
3083
|
+
return /* @__PURE__ */ React61.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React61.createElement(import_ui51.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React61.createElement(import_ui51.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React61.createElement(ControlLabel, null, (0, import_i18n38.__)("Font weight", "elementor"))), /* @__PURE__ */ React61.createElement(import_ui51.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React61.createElement(import_editor_controls39.SelectControl, { options: fontWeightOptions }))));
|
|
3027
3084
|
};
|
|
3028
3085
|
|
|
3029
3086
|
// src/components/style-sections/typography-section/letter-spacing-field.tsx
|
|
3030
|
-
var
|
|
3031
|
-
var
|
|
3032
|
-
var
|
|
3033
|
-
var
|
|
3087
|
+
var React62 = __toESM(require("react"));
|
|
3088
|
+
var import_editor_controls40 = require("@elementor/editor-controls");
|
|
3089
|
+
var import_ui52 = require("@elementor/ui");
|
|
3090
|
+
var import_i18n39 = require("@wordpress/i18n");
|
|
3034
3091
|
var LetterSpacingField = () => {
|
|
3035
|
-
return /* @__PURE__ */
|
|
3092
|
+
return /* @__PURE__ */ React62.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React62.createElement(import_ui52.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React62.createElement(import_ui52.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(ControlLabel, null, (0, import_i18n39.__)("Letter spacing", "elementor"))), /* @__PURE__ */ React62.createElement(import_ui52.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(import_editor_controls40.SizeControl, null))));
|
|
3036
3093
|
};
|
|
3037
3094
|
|
|
3038
3095
|
// src/components/style-sections/typography-section/line-height-field.tsx
|
|
3039
|
-
var
|
|
3040
|
-
var
|
|
3041
|
-
var
|
|
3042
|
-
var
|
|
3096
|
+
var React63 = __toESM(require("react"));
|
|
3097
|
+
var import_editor_controls41 = require("@elementor/editor-controls");
|
|
3098
|
+
var import_ui53 = require("@elementor/ui");
|
|
3099
|
+
var import_i18n40 = require("@wordpress/i18n");
|
|
3043
3100
|
var LineHeightField = () => {
|
|
3044
|
-
return /* @__PURE__ */
|
|
3101
|
+
return /* @__PURE__ */ React63.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React63.createElement(import_ui53.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React63.createElement(import_ui53.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React63.createElement(ControlLabel, null, (0, import_i18n40.__)("Line height", "elementor"))), /* @__PURE__ */ React63.createElement(import_ui53.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React63.createElement(import_editor_controls41.SizeControl, null))));
|
|
3045
3102
|
};
|
|
3046
3103
|
|
|
3047
3104
|
// src/components/style-sections/typography-section/text-alignment-field.tsx
|
|
3048
|
-
var
|
|
3049
|
-
var
|
|
3105
|
+
var React64 = __toESM(require("react"));
|
|
3106
|
+
var import_editor_controls42 = require("@elementor/editor-controls");
|
|
3050
3107
|
var import_icons19 = require("@elementor/icons");
|
|
3051
|
-
var
|
|
3052
|
-
var
|
|
3053
|
-
var AlignStartIcon = (0,
|
|
3054
|
-
var AlignEndIcon = (0,
|
|
3108
|
+
var import_ui54 = require("@elementor/ui");
|
|
3109
|
+
var import_i18n41 = require("@wordpress/i18n");
|
|
3110
|
+
var AlignStartIcon = (0, import_ui54.withDirection)(import_icons19.AlignLeftIcon);
|
|
3111
|
+
var AlignEndIcon = (0, import_ui54.withDirection)(import_icons19.AlignRightIcon);
|
|
3055
3112
|
var options8 = [
|
|
3056
3113
|
{
|
|
3057
3114
|
value: "start",
|
|
3058
|
-
label: (0,
|
|
3059
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3115
|
+
label: (0, import_i18n41.__)("Start", "elementor"),
|
|
3116
|
+
renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(AlignStartIcon, { fontSize: size }),
|
|
3060
3117
|
showTooltip: true
|
|
3061
3118
|
},
|
|
3062
3119
|
{
|
|
3063
3120
|
value: "center",
|
|
3064
|
-
label: (0,
|
|
3065
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3121
|
+
label: (0, import_i18n41.__)("Center", "elementor"),
|
|
3122
|
+
renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(import_icons19.AlignCenterIcon, { fontSize: size }),
|
|
3066
3123
|
showTooltip: true
|
|
3067
3124
|
},
|
|
3068
3125
|
{
|
|
3069
3126
|
value: "end",
|
|
3070
|
-
label: (0,
|
|
3071
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3127
|
+
label: (0, import_i18n41.__)("End", "elementor"),
|
|
3128
|
+
renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(AlignEndIcon, { fontSize: size }),
|
|
3072
3129
|
showTooltip: true
|
|
3073
3130
|
},
|
|
3074
3131
|
{
|
|
3075
3132
|
value: "justify",
|
|
3076
|
-
label: (0,
|
|
3077
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3133
|
+
label: (0, import_i18n41.__)("Justify", "elementor"),
|
|
3134
|
+
renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(import_icons19.AlignJustifiedIcon, { fontSize: size }),
|
|
3078
3135
|
showTooltip: true
|
|
3079
3136
|
}
|
|
3080
3137
|
];
|
|
3081
3138
|
var TextAlignmentField = () => {
|
|
3082
|
-
return /* @__PURE__ */
|
|
3139
|
+
return /* @__PURE__ */ React64.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React64.createElement(import_ui54.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React64.createElement(import_ui54.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React64.createElement(ControlLabel, null, (0, import_i18n41.__)("Text align", "elementor"))), /* @__PURE__ */ React64.createElement(import_ui54.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React64.createElement(import_editor_controls42.ToggleControl, { options: options8 }))));
|
|
3083
3140
|
};
|
|
3084
3141
|
|
|
3085
3142
|
// src/components/style-sections/typography-section/text-color-field.tsx
|
|
3086
|
-
var
|
|
3087
|
-
var
|
|
3088
|
-
var
|
|
3089
|
-
var
|
|
3143
|
+
var React65 = __toESM(require("react"));
|
|
3144
|
+
var import_editor_controls43 = require("@elementor/editor-controls");
|
|
3145
|
+
var import_ui55 = require("@elementor/ui");
|
|
3146
|
+
var import_i18n42 = require("@wordpress/i18n");
|
|
3090
3147
|
var TextColorField = () => {
|
|
3091
|
-
return /* @__PURE__ */
|
|
3148
|
+
return /* @__PURE__ */ React65.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React65.createElement(import_ui55.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React65.createElement(import_ui55.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React65.createElement(ControlLabel, null, (0, import_i18n42.__)("Text color", "elementor"))), /* @__PURE__ */ React65.createElement(import_ui55.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React65.createElement(import_editor_controls43.ColorControl, null))));
|
|
3092
3149
|
};
|
|
3093
3150
|
|
|
3094
3151
|
// src/components/style-sections/typography-section/text-decoration-field.tsx
|
|
3095
|
-
var
|
|
3096
|
-
var
|
|
3152
|
+
var React66 = __toESM(require("react"));
|
|
3153
|
+
var import_editor_controls44 = require("@elementor/editor-controls");
|
|
3097
3154
|
var import_icons20 = require("@elementor/icons");
|
|
3098
|
-
var
|
|
3099
|
-
var
|
|
3155
|
+
var import_ui56 = require("@elementor/ui");
|
|
3156
|
+
var import_i18n43 = require("@wordpress/i18n");
|
|
3100
3157
|
var options9 = [
|
|
3101
3158
|
{
|
|
3102
3159
|
value: "none",
|
|
3103
|
-
label: (0,
|
|
3104
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3160
|
+
label: (0, import_i18n43.__)("None", "elementor"),
|
|
3161
|
+
renderContent: ({ size }) => /* @__PURE__ */ React66.createElement(import_icons20.MinusIcon, { fontSize: size }),
|
|
3105
3162
|
showTooltip: true,
|
|
3106
3163
|
exclusive: true
|
|
3107
3164
|
},
|
|
3108
3165
|
{
|
|
3109
3166
|
value: "underline",
|
|
3110
|
-
label: (0,
|
|
3111
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3167
|
+
label: (0, import_i18n43.__)("Underline", "elementor"),
|
|
3168
|
+
renderContent: ({ size }) => /* @__PURE__ */ React66.createElement(import_icons20.UnderlineIcon, { fontSize: size }),
|
|
3112
3169
|
showTooltip: true
|
|
3113
3170
|
},
|
|
3114
3171
|
{
|
|
3115
3172
|
value: "line-through",
|
|
3116
|
-
label: (0,
|
|
3117
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3173
|
+
label: (0, import_i18n43.__)("Line-through", "elementor"),
|
|
3174
|
+
renderContent: ({ size }) => /* @__PURE__ */ React66.createElement(import_icons20.StrikethroughIcon, { fontSize: size }),
|
|
3118
3175
|
showTooltip: true
|
|
3119
3176
|
},
|
|
3120
3177
|
{
|
|
3121
3178
|
value: "overline",
|
|
3122
|
-
label: (0,
|
|
3123
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3179
|
+
label: (0, import_i18n43.__)("Overline", "elementor"),
|
|
3180
|
+
renderContent: ({ size }) => /* @__PURE__ */ React66.createElement(import_icons20.OverlineIcon, { fontSize: size }),
|
|
3124
3181
|
showTooltip: true
|
|
3125
3182
|
}
|
|
3126
3183
|
];
|
|
3127
|
-
var TextDecorationField = () => /* @__PURE__ */
|
|
3184
|
+
var TextDecorationField = () => /* @__PURE__ */ React66.createElement(StylesField, { bind: "text-decoration" }, /* @__PURE__ */ React66.createElement(import_ui56.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React66.createElement(import_ui56.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React66.createElement(ControlLabel, null, (0, import_i18n43.__)("Line decoration", "elementor"))), /* @__PURE__ */ React66.createElement(import_ui56.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React66.createElement(import_editor_controls44.ToggleControl, { options: options9, exclusive: false }))));
|
|
3128
3185
|
|
|
3129
3186
|
// src/components/style-sections/typography-section/text-direction-field.tsx
|
|
3130
|
-
var
|
|
3131
|
-
var
|
|
3187
|
+
var React67 = __toESM(require("react"));
|
|
3188
|
+
var import_editor_controls45 = require("@elementor/editor-controls");
|
|
3132
3189
|
var import_icons21 = require("@elementor/icons");
|
|
3133
|
-
var
|
|
3134
|
-
var
|
|
3190
|
+
var import_ui57 = require("@elementor/ui");
|
|
3191
|
+
var import_i18n44 = require("@wordpress/i18n");
|
|
3135
3192
|
var options10 = [
|
|
3136
3193
|
{
|
|
3137
3194
|
value: "ltr",
|
|
3138
|
-
label: (0,
|
|
3139
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3195
|
+
label: (0, import_i18n44.__)("Left to right", "elementor"),
|
|
3196
|
+
renderContent: ({ size }) => /* @__PURE__ */ React67.createElement(import_icons21.TextDirectionLtrIcon, { fontSize: size }),
|
|
3140
3197
|
showTooltip: true
|
|
3141
3198
|
},
|
|
3142
3199
|
{
|
|
3143
3200
|
value: "rtl",
|
|
3144
|
-
label: (0,
|
|
3145
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3201
|
+
label: (0, import_i18n44.__)("Right to left", "elementor"),
|
|
3202
|
+
renderContent: ({ size }) => /* @__PURE__ */ React67.createElement(import_icons21.TextDirectionRtlIcon, { fontSize: size }),
|
|
3146
3203
|
showTooltip: true
|
|
3147
3204
|
}
|
|
3148
3205
|
];
|
|
3149
3206
|
var TextDirectionField = () => {
|
|
3150
|
-
return /* @__PURE__ */
|
|
3207
|
+
return /* @__PURE__ */ React67.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React67.createElement(import_ui57.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React67.createElement(import_ui57.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React67.createElement(ControlLabel, null, (0, import_i18n44.__)("Direction", "elementor"))), /* @__PURE__ */ React67.createElement(import_ui57.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React67.createElement(import_editor_controls45.ToggleControl, { options: options10 }))));
|
|
3151
3208
|
};
|
|
3152
3209
|
|
|
3153
3210
|
// src/components/style-sections/typography-section/text-stroke-field.tsx
|
|
3154
|
-
var
|
|
3155
|
-
var
|
|
3156
|
-
var
|
|
3211
|
+
var React68 = __toESM(require("react"));
|
|
3212
|
+
var import_editor_controls46 = require("@elementor/editor-controls");
|
|
3213
|
+
var import_i18n45 = require("@wordpress/i18n");
|
|
3157
3214
|
var initTextStroke = {
|
|
3158
3215
|
$$type: "stroke",
|
|
3159
3216
|
value: {
|
|
@@ -3179,64 +3236,67 @@ var TextStrokeField = () => {
|
|
|
3179
3236
|
setTextStroke(null);
|
|
3180
3237
|
};
|
|
3181
3238
|
const hasTextStroke = Boolean(textStroke);
|
|
3182
|
-
return /* @__PURE__ */
|
|
3239
|
+
return /* @__PURE__ */ React68.createElement(StylesField, { bind: "stroke" }, /* @__PURE__ */ React68.createElement(
|
|
3183
3240
|
AddOrRemoveContent,
|
|
3184
3241
|
{
|
|
3185
|
-
label: (0,
|
|
3242
|
+
label: (0, import_i18n45.__)("Text stroke", "elementor"),
|
|
3186
3243
|
isAdded: hasTextStroke,
|
|
3187
3244
|
onAdd: addTextStroke,
|
|
3188
3245
|
onRemove: removeTextStroke
|
|
3189
3246
|
},
|
|
3190
|
-
/* @__PURE__ */
|
|
3247
|
+
/* @__PURE__ */ React68.createElement(import_editor_controls46.StrokeControl, null)
|
|
3191
3248
|
));
|
|
3192
3249
|
};
|
|
3193
3250
|
|
|
3194
3251
|
// src/components/style-sections/typography-section/transform-field.tsx
|
|
3195
|
-
var
|
|
3196
|
-
var
|
|
3252
|
+
var React69 = __toESM(require("react"));
|
|
3253
|
+
var import_editor_controls47 = require("@elementor/editor-controls");
|
|
3197
3254
|
var import_icons22 = require("@elementor/icons");
|
|
3198
|
-
var
|
|
3199
|
-
var
|
|
3255
|
+
var import_ui58 = require("@elementor/ui");
|
|
3256
|
+
var import_i18n46 = require("@wordpress/i18n");
|
|
3200
3257
|
var options11 = [
|
|
3201
3258
|
{
|
|
3202
3259
|
value: "none",
|
|
3203
|
-
label: (0,
|
|
3204
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3260
|
+
label: (0, import_i18n46.__)("None", "elementor"),
|
|
3261
|
+
renderContent: ({ size }) => /* @__PURE__ */ React69.createElement(import_icons22.MinusIcon, { fontSize: size }),
|
|
3205
3262
|
showTooltip: true
|
|
3206
3263
|
},
|
|
3207
3264
|
{
|
|
3208
3265
|
value: "capitalize",
|
|
3209
|
-
label: (0,
|
|
3210
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3266
|
+
label: (0, import_i18n46.__)("Capitalize", "elementor"),
|
|
3267
|
+
renderContent: ({ size }) => /* @__PURE__ */ React69.createElement(import_icons22.LetterCaseIcon, { fontSize: size }),
|
|
3211
3268
|
showTooltip: true
|
|
3212
3269
|
},
|
|
3213
3270
|
{
|
|
3214
3271
|
value: "uppercase",
|
|
3215
|
-
label: (0,
|
|
3216
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3272
|
+
label: (0, import_i18n46.__)("Uppercase", "elementor"),
|
|
3273
|
+
renderContent: ({ size }) => /* @__PURE__ */ React69.createElement(import_icons22.LetterCaseUpperIcon, { fontSize: size }),
|
|
3217
3274
|
showTooltip: true
|
|
3218
3275
|
},
|
|
3219
3276
|
{
|
|
3220
3277
|
value: "lowercase",
|
|
3221
|
-
label: (0,
|
|
3222
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3278
|
+
label: (0, import_i18n46.__)("Lowercase", "elementor"),
|
|
3279
|
+
renderContent: ({ size }) => /* @__PURE__ */ React69.createElement(import_icons22.LetterCaseLowerIcon, { fontSize: size }),
|
|
3223
3280
|
showTooltip: true
|
|
3224
3281
|
}
|
|
3225
3282
|
];
|
|
3226
|
-
var TransformField = () => /* @__PURE__ */
|
|
3283
|
+
var TransformField = () => /* @__PURE__ */ React69.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React69.createElement(import_ui58.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React69.createElement(import_ui58.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React69.createElement(ControlLabel, null, (0, import_i18n46.__)("Text transform", "elementor"))), /* @__PURE__ */ React69.createElement(import_ui58.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React69.createElement(import_editor_controls47.ToggleControl, { options: options11 }))));
|
|
3227
3284
|
|
|
3228
3285
|
// src/components/style-sections/typography-section/word-spacing-field.tsx
|
|
3229
|
-
var
|
|
3230
|
-
var
|
|
3231
|
-
var
|
|
3232
|
-
var
|
|
3286
|
+
var React70 = __toESM(require("react"));
|
|
3287
|
+
var import_editor_controls48 = require("@elementor/editor-controls");
|
|
3288
|
+
var import_ui59 = require("@elementor/ui");
|
|
3289
|
+
var import_i18n47 = require("@wordpress/i18n");
|
|
3233
3290
|
var WordSpacingField = () => {
|
|
3234
|
-
return /* @__PURE__ */
|
|
3291
|
+
return /* @__PURE__ */ React70.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React70.createElement(import_ui59.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React70.createElement(import_ui59.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React70.createElement(ControlLabel, null, (0, import_i18n47.__)("Word spacing", "elementor"))), /* @__PURE__ */ React70.createElement(import_ui59.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React70.createElement(import_editor_controls48.SizeControl, null))));
|
|
3235
3292
|
};
|
|
3236
3293
|
|
|
3237
3294
|
// src/components/style-sections/typography-section/typography-section.tsx
|
|
3238
3295
|
var TypographySection = () => {
|
|
3239
|
-
|
|
3296
|
+
const [columnCount] = useStylesField("column-count");
|
|
3297
|
+
const isVersion330Active = (0, import_editor_v1_adapters8.isExperimentActive)("e_v_3_30");
|
|
3298
|
+
const hasMultiColumns = columnCount?.value && columnCount?.value > 1;
|
|
3299
|
+
return /* @__PURE__ */ React71.createElement(SectionContent, null, /* @__PURE__ */ React71.createElement(FontFamilyField, null), /* @__PURE__ */ React71.createElement(FontWeightField, null), /* @__PURE__ */ React71.createElement(FontSizeField, null), /* @__PURE__ */ React71.createElement(PanelDivider, null), /* @__PURE__ */ React71.createElement(TextAlignmentField, null), /* @__PURE__ */ React71.createElement(TextColorField, null), /* @__PURE__ */ React71.createElement(CollapsibleContent, null, /* @__PURE__ */ React71.createElement(SectionContent, { sx: { pt: 2 } }, /* @__PURE__ */ React71.createElement(LineHeightField, null), /* @__PURE__ */ React71.createElement(LetterSpacingField, null), /* @__PURE__ */ React71.createElement(WordSpacingField, null), isVersion330Active && /* @__PURE__ */ React71.createElement(React71.Fragment, null, /* @__PURE__ */ React71.createElement(ColumnCountField, null), hasMultiColumns && /* @__PURE__ */ React71.createElement(ColumnGapField, null)), /* @__PURE__ */ React71.createElement(PanelDivider, null), /* @__PURE__ */ React71.createElement(TextDecorationField, null), /* @__PURE__ */ React71.createElement(TransformField, null), /* @__PURE__ */ React71.createElement(TextDirectionField, null), /* @__PURE__ */ React71.createElement(FontStyleField, null), /* @__PURE__ */ React71.createElement(TextStrokeField, null))));
|
|
3240
3300
|
};
|
|
3241
3301
|
|
|
3242
3302
|
// src/components/style-tab.tsx
|
|
@@ -3253,7 +3313,7 @@ var StyleTab = () => {
|
|
|
3253
3313
|
const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
|
|
3254
3314
|
const [activeStyleState, setActiveStyleState] = (0, import_react25.useState)(null);
|
|
3255
3315
|
const breakpoint = (0, import_editor_responsive2.useActiveBreakpoint)();
|
|
3256
|
-
return /* @__PURE__ */
|
|
3316
|
+
return /* @__PURE__ */ React72.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React72.createElement(
|
|
3257
3317
|
StyleProvider,
|
|
3258
3318
|
{
|
|
3259
3319
|
meta: { breakpoint, state: activeStyleState },
|
|
@@ -3264,17 +3324,17 @@ var StyleTab = () => {
|
|
|
3264
3324
|
},
|
|
3265
3325
|
setMetaState: setActiveStyleState
|
|
3266
3326
|
},
|
|
3267
|
-
/* @__PURE__ */
|
|
3327
|
+
/* @__PURE__ */ React72.createElement(import_session4.SessionStorageProvider, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React72.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React72.createElement(ClassesHeader, null, /* @__PURE__ */ React72.createElement(CssClassSelector, null), /* @__PURE__ */ React72.createElement(import_ui60.Divider, null)), /* @__PURE__ */ React72.createElement(SectionsList, null, /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Layout", "elementor") }, /* @__PURE__ */ React72.createElement(LayoutSection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Spacing", "elementor") }, /* @__PURE__ */ React72.createElement(SpacingSection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Size", "elementor") }, /* @__PURE__ */ React72.createElement(SizeSection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Position", "elementor") }, /* @__PURE__ */ React72.createElement(PositionSection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Typography", "elementor") }, /* @__PURE__ */ React72.createElement(TypographySection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Background", "elementor") }, /* @__PURE__ */ React72.createElement(BackgroundSection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Border", "elementor") }, /* @__PURE__ */ React72.createElement(BorderSection, null)), /* @__PURE__ */ React72.createElement(Section, { title: (0, import_i18n48.__)("Effects", "elementor") }, /* @__PURE__ */ React72.createElement(EffectsSection, null)))))
|
|
3268
3328
|
));
|
|
3269
3329
|
};
|
|
3270
3330
|
function ClassesHeader({ children }) {
|
|
3271
3331
|
const scrollDirection = useScrollDirection();
|
|
3272
|
-
return /* @__PURE__ */
|
|
3332
|
+
return /* @__PURE__ */ React72.createElement(import_ui60.Stack, { sx: { ...stickyHeaderStyles, top: scrollDirection === "up" ? TABS_HEADER_HEIGHT : 0 } }, children);
|
|
3273
3333
|
}
|
|
3274
3334
|
function useCurrentClassesProp() {
|
|
3275
3335
|
const { elementType } = useElement();
|
|
3276
3336
|
const prop = Object.entries(elementType.propsSchema).find(
|
|
3277
|
-
([, propType]) => propType.kind === "plain" && propType.key ===
|
|
3337
|
+
([, propType]) => propType.kind === "plain" && propType.key === import_editor_props9.CLASSES_PROP_KEY
|
|
3278
3338
|
);
|
|
3279
3339
|
if (!prop) {
|
|
3280
3340
|
throw new Error("Element does not have a classes prop");
|
|
@@ -3288,15 +3348,15 @@ var EditingPanelTabs = () => {
|
|
|
3288
3348
|
return (
|
|
3289
3349
|
// When switching between elements, the local states should be reset. We are using key to rerender the tabs.
|
|
3290
3350
|
// Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
|
|
3291
|
-
/* @__PURE__ */
|
|
3351
|
+
/* @__PURE__ */ React73.createElement(import_react26.Fragment, { key: element.id }, /* @__PURE__ */ React73.createElement(PanelTabContent, null))
|
|
3292
3352
|
);
|
|
3293
3353
|
};
|
|
3294
3354
|
var PanelTabContent = () => {
|
|
3295
3355
|
const defaultComponentTab = "settings";
|
|
3296
3356
|
const [currentTab, setCurrentTab] = useStateByElement("tab", defaultComponentTab);
|
|
3297
|
-
const { getTabProps, getTabPanelProps, getTabsProps } = (0,
|
|
3298
|
-
return /* @__PURE__ */
|
|
3299
|
-
|
|
3357
|
+
const { getTabProps, getTabPanelProps, getTabsProps } = (0, import_ui61.useTabs)(currentTab);
|
|
3358
|
+
return /* @__PURE__ */ React73.createElement(ScrollProvider, null, /* @__PURE__ */ React73.createElement(import_ui61.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React73.createElement(import_ui61.Stack, { sx: { ...stickyHeaderStyles, top: 0 } }, /* @__PURE__ */ React73.createElement(
|
|
3359
|
+
import_ui61.Tabs,
|
|
3300
3360
|
{
|
|
3301
3361
|
variant: "fullWidth",
|
|
3302
3362
|
size: "small",
|
|
@@ -3307,9 +3367,9 @@ var PanelTabContent = () => {
|
|
|
3307
3367
|
setCurrentTab(newValue);
|
|
3308
3368
|
}
|
|
3309
3369
|
},
|
|
3310
|
-
/* @__PURE__ */
|
|
3311
|
-
/* @__PURE__ */
|
|
3312
|
-
), /* @__PURE__ */
|
|
3370
|
+
/* @__PURE__ */ React73.createElement(import_ui61.Tab, { label: (0, import_i18n49.__)("General", "elementor"), ...getTabProps("settings") }),
|
|
3371
|
+
/* @__PURE__ */ React73.createElement(import_ui61.Tab, { label: (0, import_i18n49.__)("Style", "elementor"), ...getTabProps("style") })
|
|
3372
|
+
), /* @__PURE__ */ React73.createElement(import_ui61.Divider, null)), /* @__PURE__ */ React73.createElement(import_ui61.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React73.createElement(SettingsTab, null)), /* @__PURE__ */ React73.createElement(import_ui61.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React73.createElement(StyleTab, null))));
|
|
3313
3373
|
};
|
|
3314
3374
|
|
|
3315
3375
|
// src/components/editing-panel.tsx
|
|
@@ -3321,8 +3381,8 @@ var EditingPanel = () => {
|
|
|
3321
3381
|
if (!element || !elementType) {
|
|
3322
3382
|
return null;
|
|
3323
3383
|
}
|
|
3324
|
-
const panelTitle = (0,
|
|
3325
|
-
return /* @__PURE__ */
|
|
3384
|
+
const panelTitle = (0, import_i18n50.__)("Edit %s", "elementor").replace("%s", elementType.title);
|
|
3385
|
+
return /* @__PURE__ */ React74.createElement(import_ui62.ErrorBoundary, { fallback: /* @__PURE__ */ React74.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React74.createElement(import_session5.SessionStorageProvider, { prefix: "elementor" }, /* @__PURE__ */ React74.createElement(import_editor_ui4.ThemeProvider, null, /* @__PURE__ */ React74.createElement(import_editor_panels.Panel, null, /* @__PURE__ */ React74.createElement(import_editor_panels.PanelHeader, null, /* @__PURE__ */ React74.createElement(import_editor_panels.PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React74.createElement(import_icons23.AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React74.createElement(import_editor_panels.PanelBody, null, /* @__PURE__ */ React74.createElement(import_editor_controls49.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React74.createElement(import_editor_controls49.ControlReplacementsProvider, { replacements: controlReplacements }, /* @__PURE__ */ React74.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React74.createElement(EditingPanelTabs, null)))))))));
|
|
3326
3386
|
};
|
|
3327
3387
|
|
|
3328
3388
|
// src/panel.ts
|
|
@@ -3335,11 +3395,11 @@ var { panel, usePanelActions, usePanelStatus } = (0, import_editor_panels2.__cre
|
|
|
3335
3395
|
var import_editor = require("@elementor/editor");
|
|
3336
3396
|
var import_editor_current_user = require("@elementor/editor-current-user");
|
|
3337
3397
|
var import_editor_panels3 = require("@elementor/editor-panels");
|
|
3338
|
-
var
|
|
3398
|
+
var import_editor_v1_adapters10 = require("@elementor/editor-v1-adapters");
|
|
3339
3399
|
|
|
3340
3400
|
// src/hooks/use-open-editor-panel.ts
|
|
3341
3401
|
var import_react27 = require("react");
|
|
3342
|
-
var
|
|
3402
|
+
var import_editor_v1_adapters9 = require("@elementor/editor-v1-adapters");
|
|
3343
3403
|
|
|
3344
3404
|
// src/sync/is-atomic-widget-selected.ts
|
|
3345
3405
|
var import_editor_elements9 = require("@elementor/editor-elements");
|
|
@@ -3356,7 +3416,7 @@ var isAtomicWidgetSelected = () => {
|
|
|
3356
3416
|
var useOpenEditorPanel = () => {
|
|
3357
3417
|
const { open } = usePanelActions();
|
|
3358
3418
|
(0, import_react27.useEffect)(() => {
|
|
3359
|
-
return (0,
|
|
3419
|
+
return (0, import_editor_v1_adapters9.__privateListenTo)((0, import_editor_v1_adapters9.commandStartEvent)("panel/editor/open"), () => {
|
|
3360
3420
|
if (isAtomicWidgetSelected()) {
|
|
3361
3421
|
open();
|
|
3362
3422
|
}
|
|
@@ -3374,16 +3434,16 @@ var EditingPanelHooks = () => {
|
|
|
3374
3434
|
var import_editor_canvas3 = require("@elementor/editor-canvas");
|
|
3375
3435
|
|
|
3376
3436
|
// src/dynamics/components/dynamic-selection-control.tsx
|
|
3377
|
-
var
|
|
3378
|
-
var
|
|
3437
|
+
var React78 = __toESM(require("react"));
|
|
3438
|
+
var import_editor_controls53 = require("@elementor/editor-controls");
|
|
3379
3439
|
var import_icons25 = require("@elementor/icons");
|
|
3380
|
-
var
|
|
3381
|
-
var
|
|
3440
|
+
var import_ui65 = require("@elementor/ui");
|
|
3441
|
+
var import_i18n52 = require("@wordpress/i18n");
|
|
3382
3442
|
|
|
3383
3443
|
// src/components/popover-content.tsx
|
|
3384
|
-
var
|
|
3385
|
-
var
|
|
3386
|
-
var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */
|
|
3444
|
+
var React75 = __toESM(require("react"));
|
|
3445
|
+
var import_ui63 = require("@elementor/ui");
|
|
3446
|
+
var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React75.createElement(import_ui63.Stack, { alignItems, gap, p }, children);
|
|
3387
3447
|
|
|
3388
3448
|
// src/hooks/use-persist-dynamic-value.ts
|
|
3389
3449
|
var import_session6 = require("@elementor/session");
|
|
@@ -3394,15 +3454,15 @@ var usePersistDynamicValue = (propKey) => {
|
|
|
3394
3454
|
};
|
|
3395
3455
|
|
|
3396
3456
|
// src/dynamics/dynamic-control.tsx
|
|
3397
|
-
var
|
|
3398
|
-
var
|
|
3457
|
+
var React76 = __toESM(require("react"));
|
|
3458
|
+
var import_editor_controls51 = require("@elementor/editor-controls");
|
|
3399
3459
|
|
|
3400
3460
|
// src/dynamics/hooks/use-dynamic-tag.ts
|
|
3401
3461
|
var import_react29 = require("react");
|
|
3402
3462
|
|
|
3403
3463
|
// src/dynamics/hooks/use-prop-dynamic-tags.ts
|
|
3404
3464
|
var import_react28 = require("react");
|
|
3405
|
-
var
|
|
3465
|
+
var import_editor_controls50 = require("@elementor/editor-controls");
|
|
3406
3466
|
|
|
3407
3467
|
// src/dynamics/sync/get-elementor-config.ts
|
|
3408
3468
|
var getElementorConfig2 = () => {
|
|
@@ -3423,7 +3483,7 @@ var getAtomicDynamicTags = () => {
|
|
|
3423
3483
|
};
|
|
3424
3484
|
|
|
3425
3485
|
// src/dynamics/utils.ts
|
|
3426
|
-
var
|
|
3486
|
+
var import_editor_props10 = require("@elementor/editor-props");
|
|
3427
3487
|
var import_schema = require("@elementor/schema");
|
|
3428
3488
|
var DYNAMIC_PROP_TYPE_KEY = "dynamic";
|
|
3429
3489
|
var isDynamicPropType = (prop) => prop.key === DYNAMIC_PROP_TYPE_KEY;
|
|
@@ -3432,12 +3492,12 @@ var getDynamicPropType = (propType) => {
|
|
|
3432
3492
|
return dynamicPropType && isDynamicPropType(dynamicPropType) ? dynamicPropType : null;
|
|
3433
3493
|
};
|
|
3434
3494
|
var isDynamicPropValue = (prop) => {
|
|
3435
|
-
return (0,
|
|
3495
|
+
return (0, import_editor_props10.isTransformable)(prop) && prop.$$type === DYNAMIC_PROP_TYPE_KEY;
|
|
3436
3496
|
};
|
|
3437
3497
|
var supportsDynamic = (propType) => {
|
|
3438
3498
|
return !!getDynamicPropType(propType);
|
|
3439
3499
|
};
|
|
3440
|
-
var dynamicPropTypeUtil = (0,
|
|
3500
|
+
var dynamicPropTypeUtil = (0, import_editor_props10.createPropUtils)(
|
|
3441
3501
|
DYNAMIC_PROP_TYPE_KEY,
|
|
3442
3502
|
import_schema.z.strictObject({
|
|
3443
3503
|
name: import_schema.z.string(),
|
|
@@ -3448,7 +3508,7 @@ var dynamicPropTypeUtil = (0, import_editor_props8.createPropUtils)(
|
|
|
3448
3508
|
// src/dynamics/hooks/use-prop-dynamic-tags.ts
|
|
3449
3509
|
var usePropDynamicTags = () => {
|
|
3450
3510
|
let categories = [];
|
|
3451
|
-
const { propType } = (0,
|
|
3511
|
+
const { propType } = (0, import_editor_controls50.useBoundProp)();
|
|
3452
3512
|
if (propType) {
|
|
3453
3513
|
const propDynamicType = getDynamicPropType(propType);
|
|
3454
3514
|
categories = propDynamicType?.settings.categories || [];
|
|
@@ -3474,7 +3534,7 @@ var useDynamicTag = (tagName) => {
|
|
|
3474
3534
|
|
|
3475
3535
|
// src/dynamics/dynamic-control.tsx
|
|
3476
3536
|
var DynamicControl = ({ bind, children }) => {
|
|
3477
|
-
const { value, setValue } = (0,
|
|
3537
|
+
const { value, setValue } = (0, import_editor_controls51.useBoundProp)(dynamicPropTypeUtil);
|
|
3478
3538
|
const { name = "", settings } = value ?? {};
|
|
3479
3539
|
const dynamicTag = useDynamicTag(name);
|
|
3480
3540
|
if (!dynamicTag) {
|
|
@@ -3493,22 +3553,22 @@ var DynamicControl = ({ bind, children }) => {
|
|
|
3493
3553
|
});
|
|
3494
3554
|
};
|
|
3495
3555
|
const propType = createTopLevelOjectType({ schema: dynamicTag.props_schema });
|
|
3496
|
-
return /* @__PURE__ */
|
|
3556
|
+
return /* @__PURE__ */ React76.createElement(import_editor_controls51.PropProvider, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React76.createElement(import_editor_controls51.PropKeyProvider, { bind }, children));
|
|
3497
3557
|
};
|
|
3498
3558
|
|
|
3499
3559
|
// src/dynamics/components/dynamic-selection.tsx
|
|
3500
|
-
var
|
|
3560
|
+
var React77 = __toESM(require("react"));
|
|
3501
3561
|
var import_react30 = require("react");
|
|
3502
|
-
var
|
|
3562
|
+
var import_editor_controls52 = require("@elementor/editor-controls");
|
|
3503
3563
|
var import_icons24 = require("@elementor/icons");
|
|
3504
|
-
var
|
|
3505
|
-
var
|
|
3564
|
+
var import_ui64 = require("@elementor/ui");
|
|
3565
|
+
var import_i18n51 = require("@wordpress/i18n");
|
|
3506
3566
|
var SIZE3 = "tiny";
|
|
3507
3567
|
var DynamicSelection = ({ onSelect }) => {
|
|
3508
3568
|
const [searchValue, setSearchValue] = (0, import_react30.useState)("");
|
|
3509
3569
|
const { groups: dynamicGroups } = getAtomicDynamicTags() || {};
|
|
3510
|
-
const { value: anyValue } = (0,
|
|
3511
|
-
const { bind, value: dynamicValue, setValue } = (0,
|
|
3570
|
+
const { value: anyValue } = (0, import_editor_controls52.useBoundProp)();
|
|
3571
|
+
const { bind, value: dynamicValue, setValue } = (0, import_editor_controls52.useBoundProp)(dynamicPropTypeUtil);
|
|
3512
3572
|
const [, updatePropValueHistory] = usePersistDynamicValue(bind);
|
|
3513
3573
|
const isCurrentValueDynamic = !!dynamicValue;
|
|
3514
3574
|
const options12 = useFilteredOptions(searchValue);
|
|
@@ -3523,28 +3583,28 @@ var DynamicSelection = ({ onSelect }) => {
|
|
|
3523
3583
|
setValue({ name: value, settings: { label } });
|
|
3524
3584
|
onSelect?.();
|
|
3525
3585
|
};
|
|
3526
|
-
return /* @__PURE__ */
|
|
3527
|
-
|
|
3586
|
+
return /* @__PURE__ */ React77.createElement(import_ui64.Stack, null, hasNoDynamicTags ? /* @__PURE__ */ React77.createElement(NoDynamicTags, null) : /* @__PURE__ */ React77.createElement(import_react30.Fragment, null, /* @__PURE__ */ React77.createElement(import_ui64.Box, { px: 1.5, pb: 1 }, /* @__PURE__ */ React77.createElement(
|
|
3587
|
+
import_ui64.TextField,
|
|
3528
3588
|
{
|
|
3529
3589
|
fullWidth: true,
|
|
3530
3590
|
size: SIZE3,
|
|
3531
3591
|
value: searchValue,
|
|
3532
3592
|
onChange: handleSearch,
|
|
3533
|
-
placeholder: (0,
|
|
3593
|
+
placeholder: (0, import_i18n51.__)("Search dynamic tags\u2026", "elementor"),
|
|
3534
3594
|
InputProps: {
|
|
3535
|
-
startAdornment: /* @__PURE__ */
|
|
3595
|
+
startAdornment: /* @__PURE__ */ React77.createElement(import_ui64.InputAdornment, { position: "start" }, /* @__PURE__ */ React77.createElement(import_icons24.SearchIcon, { fontSize: SIZE3 }))
|
|
3536
3596
|
}
|
|
3537
3597
|
}
|
|
3538
|
-
)), /* @__PURE__ */
|
|
3539
|
-
|
|
3598
|
+
)), /* @__PURE__ */ React77.createElement(import_ui64.Divider, null), /* @__PURE__ */ React77.createElement(import_ui64.Box, { sx: { overflowY: "auto", height: 260, width: 220 } }, options12.length > 0 ? /* @__PURE__ */ React77.createElement(import_ui64.MenuList, { role: "listbox", tabIndex: 0 }, options12.map(([category, items3], index) => /* @__PURE__ */ React77.createElement(import_react30.Fragment, { key: index }, /* @__PURE__ */ React77.createElement(
|
|
3599
|
+
import_ui64.MenuSubheader,
|
|
3540
3600
|
{
|
|
3541
3601
|
sx: { px: 1.5, typography: "caption", color: "text.tertiary" }
|
|
3542
3602
|
},
|
|
3543
3603
|
dynamicGroups?.[category]?.title || category
|
|
3544
3604
|
), items3.map(({ value, label: tagLabel }) => {
|
|
3545
3605
|
const isSelected = isCurrentValueDynamic && value === dynamicValue?.name;
|
|
3546
|
-
return /* @__PURE__ */
|
|
3547
|
-
|
|
3606
|
+
return /* @__PURE__ */ React77.createElement(
|
|
3607
|
+
import_ui64.MenuItem,
|
|
3548
3608
|
{
|
|
3549
3609
|
key: value,
|
|
3550
3610
|
selected: isSelected,
|
|
@@ -3554,10 +3614,10 @@ var DynamicSelection = ({ onSelect }) => {
|
|
|
3554
3614
|
},
|
|
3555
3615
|
tagLabel
|
|
3556
3616
|
);
|
|
3557
|
-
})))) : /* @__PURE__ */
|
|
3617
|
+
})))) : /* @__PURE__ */ React77.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") }))));
|
|
3558
3618
|
};
|
|
3559
|
-
var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */
|
|
3560
|
-
|
|
3619
|
+
var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React77.createElement(
|
|
3620
|
+
import_ui64.Stack,
|
|
3561
3621
|
{
|
|
3562
3622
|
gap: 1,
|
|
3563
3623
|
alignItems: "center",
|
|
@@ -3567,12 +3627,12 @@ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React75.createElem
|
|
|
3567
3627
|
color: "text.secondary",
|
|
3568
3628
|
sx: { pb: 3.5 }
|
|
3569
3629
|
},
|
|
3570
|
-
/* @__PURE__ */
|
|
3571
|
-
/* @__PURE__ */
|
|
3572
|
-
/* @__PURE__ */
|
|
3630
|
+
/* @__PURE__ */ React77.createElement(import_icons24.DatabaseIcon, { fontSize: "large" }),
|
|
3631
|
+
/* @__PURE__ */ React77.createElement(import_ui64.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n51.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React77.createElement("br", null), "\u201C", searchValue, "\u201D."),
|
|
3632
|
+
/* @__PURE__ */ React77.createElement(import_ui64.Typography, { align: "center", variant: "caption" }, (0, import_i18n51.__)("Try something else.", "elementor"), "\xA0", /* @__PURE__ */ React77.createElement(import_ui64.Link, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, (0, import_i18n51.__)("Clear & try again", "elementor")))
|
|
3573
3633
|
);
|
|
3574
|
-
var NoDynamicTags = () => /* @__PURE__ */
|
|
3575
|
-
|
|
3634
|
+
var NoDynamicTags = () => /* @__PURE__ */ React77.createElement(import_ui64.Box, { sx: { overflowY: "hidden", height: 297, width: 220 } }, /* @__PURE__ */ React77.createElement(import_ui64.Divider, null), /* @__PURE__ */ React77.createElement(
|
|
3635
|
+
import_ui64.Stack,
|
|
3576
3636
|
{
|
|
3577
3637
|
gap: 1,
|
|
3578
3638
|
alignItems: "center",
|
|
@@ -3582,9 +3642,9 @@ var NoDynamicTags = () => /* @__PURE__ */ React75.createElement(import_ui62.Box,
|
|
|
3582
3642
|
color: "text.secondary",
|
|
3583
3643
|
sx: { pb: 3.5 }
|
|
3584
3644
|
},
|
|
3585
|
-
/* @__PURE__ */
|
|
3586
|
-
/* @__PURE__ */
|
|
3587
|
-
/* @__PURE__ */
|
|
3645
|
+
/* @__PURE__ */ React77.createElement(import_icons24.DatabaseIcon, { fontSize: "large" }),
|
|
3646
|
+
/* @__PURE__ */ React77.createElement(import_ui64.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n51.__)("Streamline your workflow with dynamic tags", "elementor")),
|
|
3647
|
+
/* @__PURE__ */ React77.createElement(import_ui64.Typography, { align: "center", variant: "caption" }, (0, import_i18n51.__)("You\u2019ll need Elementor Pro to use this feature.", "elementor"))
|
|
3588
3648
|
));
|
|
3589
3649
|
var useFilteredOptions = (searchValue) => {
|
|
3590
3650
|
const dynamicTags = usePropDynamicTags();
|
|
@@ -3605,10 +3665,10 @@ var useFilteredOptions = (searchValue) => {
|
|
|
3605
3665
|
// src/dynamics/components/dynamic-selection-control.tsx
|
|
3606
3666
|
var SIZE4 = "tiny";
|
|
3607
3667
|
var DynamicSelectionControl = () => {
|
|
3608
|
-
const { setValue: setAnyValue } = (0,
|
|
3609
|
-
const { bind, value } = (0,
|
|
3668
|
+
const { setValue: setAnyValue } = (0, import_editor_controls53.useBoundProp)();
|
|
3669
|
+
const { bind, value } = (0, import_editor_controls53.useBoundProp)(dynamicPropTypeUtil);
|
|
3610
3670
|
const [propValueFromHistory] = usePersistDynamicValue(bind);
|
|
3611
|
-
const selectionPopoverState = (0,
|
|
3671
|
+
const selectionPopoverState = (0, import_ui65.usePopupState)({ variant: "popover" });
|
|
3612
3672
|
const { name: tagName = "" } = value;
|
|
3613
3673
|
const dynamicTag = useDynamicTag(tagName);
|
|
3614
3674
|
const removeDynamicTag = () => {
|
|
@@ -3617,62 +3677,62 @@ var DynamicSelectionControl = () => {
|
|
|
3617
3677
|
if (!dynamicTag) {
|
|
3618
3678
|
throw new Error(`Dynamic tag ${tagName} not found`);
|
|
3619
3679
|
}
|
|
3620
|
-
return /* @__PURE__ */
|
|
3621
|
-
|
|
3680
|
+
return /* @__PURE__ */ React78.createElement(import_ui65.Box, null, /* @__PURE__ */ React78.createElement(
|
|
3681
|
+
import_ui65.UnstableTag,
|
|
3622
3682
|
{
|
|
3623
3683
|
fullWidth: true,
|
|
3624
3684
|
showActionsOnHover: true,
|
|
3625
3685
|
label: dynamicTag.label,
|
|
3626
|
-
startIcon: /* @__PURE__ */
|
|
3627
|
-
...(0,
|
|
3628
|
-
actions: /* @__PURE__ */
|
|
3629
|
-
|
|
3686
|
+
startIcon: /* @__PURE__ */ React78.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4 }),
|
|
3687
|
+
...(0, import_ui65.bindTrigger)(selectionPopoverState),
|
|
3688
|
+
actions: /* @__PURE__ */ React78.createElement(React78.Fragment, null, /* @__PURE__ */ React78.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React78.createElement(
|
|
3689
|
+
import_ui65.IconButton,
|
|
3630
3690
|
{
|
|
3631
3691
|
size: SIZE4,
|
|
3632
3692
|
onClick: removeDynamicTag,
|
|
3633
|
-
"aria-label": (0,
|
|
3693
|
+
"aria-label": (0, import_i18n52.__)("Remove dynamic value", "elementor")
|
|
3634
3694
|
},
|
|
3635
|
-
/* @__PURE__ */
|
|
3695
|
+
/* @__PURE__ */ React78.createElement(import_icons25.XIcon, { fontSize: SIZE4 })
|
|
3636
3696
|
))
|
|
3637
3697
|
}
|
|
3638
|
-
), /* @__PURE__ */
|
|
3639
|
-
|
|
3698
|
+
), /* @__PURE__ */ React78.createElement(
|
|
3699
|
+
import_ui65.Popover,
|
|
3640
3700
|
{
|
|
3641
3701
|
disablePortal: true,
|
|
3642
3702
|
disableScrollLock: true,
|
|
3643
3703
|
anchorOrigin: { vertical: "bottom", horizontal: "left" },
|
|
3644
|
-
...(0,
|
|
3704
|
+
...(0, import_ui65.bindPopover)(selectionPopoverState)
|
|
3645
3705
|
},
|
|
3646
|
-
/* @__PURE__ */
|
|
3706
|
+
/* @__PURE__ */ React78.createElement(import_ui65.Stack, null, /* @__PURE__ */ React78.createElement(import_ui65.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React78.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React78.createElement(import_ui65.Typography, { variant: "subtitle2" }, (0, import_i18n52.__)("Dynamic tags", "elementor")), /* @__PURE__ */ React78.createElement(import_ui65.IconButton, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React78.createElement(import_icons25.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React78.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
|
|
3647
3707
|
));
|
|
3648
3708
|
};
|
|
3649
3709
|
var DynamicSettingsPopover = ({ dynamicTag }) => {
|
|
3650
|
-
const popupState = (0,
|
|
3710
|
+
const popupState = (0, import_ui65.usePopupState)({ variant: "popover" });
|
|
3651
3711
|
const hasDynamicSettings = !!dynamicTag.atomic_controls.length;
|
|
3652
3712
|
if (!hasDynamicSettings) {
|
|
3653
3713
|
return null;
|
|
3654
3714
|
}
|
|
3655
|
-
return /* @__PURE__ */
|
|
3656
|
-
|
|
3715
|
+
return /* @__PURE__ */ React78.createElement(React78.Fragment, null, /* @__PURE__ */ React78.createElement(import_ui65.IconButton, { size: SIZE4, ...(0, import_ui65.bindTrigger)(popupState), "aria-label": (0, import_i18n52.__)("Settings", "elementor") }, /* @__PURE__ */ React78.createElement(import_icons25.SettingsIcon, { fontSize: SIZE4 })), /* @__PURE__ */ React78.createElement(
|
|
3716
|
+
import_ui65.Popover,
|
|
3657
3717
|
{
|
|
3658
3718
|
disablePortal: true,
|
|
3659
3719
|
disableScrollLock: true,
|
|
3660
3720
|
anchorOrigin: { vertical: "bottom", horizontal: "center" },
|
|
3661
|
-
...(0,
|
|
3721
|
+
...(0, import_ui65.bindPopover)(popupState)
|
|
3662
3722
|
},
|
|
3663
|
-
/* @__PURE__ */
|
|
3723
|
+
/* @__PURE__ */ React78.createElement(import_ui65.Paper, { component: import_ui65.Stack, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React78.createElement(import_ui65.Stack, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React78.createElement(import_icons25.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React78.createElement(import_ui65.Typography, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React78.createElement(import_ui65.IconButton, { sx: { ml: "auto" }, size: SIZE4, onClick: popupState.close }, /* @__PURE__ */ React78.createElement(import_icons25.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React78.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
|
|
3664
3724
|
));
|
|
3665
3725
|
};
|
|
3666
3726
|
var DynamicSettings = ({ controls }) => {
|
|
3667
3727
|
const tabs = controls.filter(({ type }) => type === "section");
|
|
3668
|
-
const { getTabsProps, getTabProps, getTabPanelProps } = (0,
|
|
3728
|
+
const { getTabsProps, getTabProps, getTabPanelProps } = (0, import_ui65.useTabs)(0);
|
|
3669
3729
|
if (!tabs.length) {
|
|
3670
3730
|
return null;
|
|
3671
3731
|
}
|
|
3672
|
-
return /* @__PURE__ */
|
|
3673
|
-
return /* @__PURE__ */
|
|
3732
|
+
return /* @__PURE__ */ React78.createElement(React78.Fragment, null, /* @__PURE__ */ React78.createElement(import_ui65.Tabs, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React78.createElement(import_ui65.Tab, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React78.createElement(import_ui65.Divider, null), tabs.map(({ value }, index) => {
|
|
3733
|
+
return /* @__PURE__ */ React78.createElement(import_ui65.TabPanel, { key: index, sx: { flexGrow: 1, py: 0 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React78.createElement(PopoverContent, { p: 2, gap: 2 }, value.items.map((item) => {
|
|
3674
3734
|
if (item.type === "control") {
|
|
3675
|
-
return /* @__PURE__ */
|
|
3735
|
+
return /* @__PURE__ */ React78.createElement(Control3, { key: item.value.bind, control: item.value });
|
|
3676
3736
|
}
|
|
3677
3737
|
return null;
|
|
3678
3738
|
})));
|
|
@@ -3682,12 +3742,12 @@ var Control3 = ({ control }) => {
|
|
|
3682
3742
|
if (!getControl(control.type)) {
|
|
3683
3743
|
return null;
|
|
3684
3744
|
}
|
|
3685
|
-
return /* @__PURE__ */
|
|
3745
|
+
return /* @__PURE__ */ React78.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React78.createElement(import_ui65.Grid, { container: true, gap: 0.75 }, control.label ? /* @__PURE__ */ React78.createElement(import_ui65.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React78.createElement(import_editor_controls53.ControlFormLabel, null, control.label)) : null, /* @__PURE__ */ React78.createElement(import_ui65.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React78.createElement(Control, { type: control.type, props: control.props }))));
|
|
3686
3746
|
};
|
|
3687
3747
|
|
|
3688
3748
|
// src/dynamics/dynamic-transformer.ts
|
|
3689
3749
|
var import_editor_canvas2 = require("@elementor/editor-canvas");
|
|
3690
|
-
var
|
|
3750
|
+
var import_editor_props11 = require("@elementor/editor-props");
|
|
3691
3751
|
|
|
3692
3752
|
// src/dynamics/errors.ts
|
|
3693
3753
|
var import_utils8 = require("@elementor/utils");
|
|
@@ -3705,7 +3765,7 @@ var dynamicTransformer = (0, import_editor_canvas2.createTransformer)((value) =>
|
|
|
3705
3765
|
});
|
|
3706
3766
|
function simpleTransform(props) {
|
|
3707
3767
|
const transformed = Object.entries(props).map(([settingKey, settingValue]) => {
|
|
3708
|
-
const value = (0,
|
|
3768
|
+
const value = (0, import_editor_props11.isTransformable)(settingValue) ? settingValue.value : settingValue;
|
|
3709
3769
|
return [settingKey, value];
|
|
3710
3770
|
});
|
|
3711
3771
|
return Object.fromEntries(transformed);
|
|
@@ -3735,18 +3795,18 @@ function getDynamicValue(name, settings) {
|
|
|
3735
3795
|
}
|
|
3736
3796
|
|
|
3737
3797
|
// src/dynamics/hooks/use-prop-dynamic-action.tsx
|
|
3738
|
-
var
|
|
3739
|
-
var
|
|
3798
|
+
var React79 = __toESM(require("react"));
|
|
3799
|
+
var import_editor_controls54 = require("@elementor/editor-controls");
|
|
3740
3800
|
var import_icons26 = require("@elementor/icons");
|
|
3741
|
-
var
|
|
3801
|
+
var import_i18n53 = require("@wordpress/i18n");
|
|
3742
3802
|
var usePropDynamicAction = () => {
|
|
3743
|
-
const { propType } = (0,
|
|
3803
|
+
const { propType } = (0, import_editor_controls54.useBoundProp)();
|
|
3744
3804
|
const visible = !!propType && supportsDynamic(propType);
|
|
3745
3805
|
return {
|
|
3746
3806
|
visible,
|
|
3747
3807
|
icon: import_icons26.DatabaseIcon,
|
|
3748
|
-
title: (0,
|
|
3749
|
-
popoverContent: ({ closePopover }) => /* @__PURE__ */
|
|
3808
|
+
title: (0, import_i18n53.__)("Dynamic tags", "elementor"),
|
|
3809
|
+
popoverContent: ({ closePopover }) => /* @__PURE__ */ React79.createElement(DynamicSelection, { onSelect: closePopover })
|
|
3750
3810
|
};
|
|
3751
3811
|
};
|
|
3752
3812
|
|
|
@@ -3780,7 +3840,7 @@ function init2() {
|
|
|
3780
3840
|
init();
|
|
3781
3841
|
}
|
|
3782
3842
|
var blockV1Panel = () => {
|
|
3783
|
-
(0,
|
|
3843
|
+
(0, import_editor_v1_adapters10.blockCommand)({
|
|
3784
3844
|
command: "panel/editor/open",
|
|
3785
3845
|
condition: isAtomicWidgetSelected
|
|
3786
3846
|
});
|