@elementor/editor-editing-panel 1.43.1 → 1.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +41 -0
- package/dist/index.d.mts +4 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +1247 -977
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1025 -755
- package/dist/index.mjs.map +1 -1
- package/package.json +8 -8
- package/src/action.tsx +1 -1
- package/src/components/add-or-remove-content.tsx +3 -4
- package/src/components/collapsible-content.tsx +42 -14
- package/src/components/control-label.tsx +1 -1
- package/src/components/section.tsx +21 -7
- package/src/components/style-sections/border-section/border-field.tsx +2 -1
- package/src/components/style-sections/border-section/border-radius-field.tsx +12 -9
- package/src/components/style-sections/layout-section/align-content-field.tsx +10 -14
- package/src/components/style-sections/layout-section/align-items-field.tsx +13 -17
- package/src/components/style-sections/layout-section/align-self-child-field.tsx +13 -17
- package/src/components/style-sections/layout-section/flex-direction-field.tsx +13 -17
- package/src/components/style-sections/layout-section/flex-order-field.tsx +30 -33
- package/src/components/style-sections/layout-section/flex-size-field.tsx +60 -59
- package/src/components/style-sections/layout-section/justify-content-field.tsx +10 -14
- package/src/components/style-sections/layout-section/wrap-field.tsx +13 -17
- package/src/components/style-sections/position-section/dimensions-field.tsx +33 -15
- package/src/components/style-sections/position-section/offset-field.tsx +5 -2
- package/src/components/style-sections/size-section/size-section.tsx +54 -39
- package/src/components/style-sections/spacing-section/spacing-section.tsx +1 -1
- package/src/components/style-sections/typography-section/column-gap-field.tsx +5 -2
- package/src/components/style-sections/typography-section/font-size-field.tsx +5 -2
- package/src/components/style-sections/typography-section/letter-spacing-field.tsx +5 -2
- package/src/components/style-sections/typography-section/line-height-field.tsx +5 -2
- package/src/components/style-sections/typography-section/text-alignment-field.tsx +12 -9
- package/src/components/style-sections/typography-section/text-stroke-field.tsx +2 -1
- package/src/components/style-sections/typography-section/typography-section.tsx +15 -3
- package/src/components/style-sections/typography-section/word-spacing-field.tsx +5 -2
- package/src/components/style-tab-collapsible-content.tsx +22 -0
- package/src/components/style-tab-section.tsx +30 -0
- package/src/components/style-tab.tsx +51 -35
- package/src/controls-registry/styles-field.tsx +1 -1
- package/src/dynamics/components/background-control-dynamic-tag.tsx +48 -0
- package/src/dynamics/components/dynamic-selection-control.tsx +11 -15
- package/src/dynamics/init.ts +21 -0
- package/src/index.ts +1 -0
- package/src/popover-action.tsx +3 -9
- package/src/styles-inheritance/components/{label-chip.tsx → infotip/label-chip.tsx} +1 -1
- package/src/styles-inheritance/{styles-inheritance-indicator.tsx → components/styles-inheritance-indicator.tsx} +8 -8
- package/src/styles-inheritance/{styles-inheritance-infotip.tsx → components/styles-inheritance-infotip.tsx} +7 -7
- package/src/styles-inheritance/components/styles-inheritance-section-indicators.tsx +113 -0
- package/src/styles-inheritance/components/ui-providers.tsx +18 -0
- /package/src/styles-inheritance/components/{action-icons.tsx → infotip/action-icons.tsx} +0 -0
- /package/src/styles-inheritance/components/{breakpoint-icon.tsx → infotip/breakpoint-icon.tsx} +0 -0
- /package/src/styles-inheritance/components/{index.ts → infotip/index.ts} +0 -0
- /package/src/styles-inheritance/components/{value-component.tsx → infotip/value-component.tsx} +0 -0
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/index.ts
|
|
2
|
-
import { useBoundProp as
|
|
2
|
+
import { useBoundProp as useBoundProp9 } from "@elementor/editor-controls";
|
|
3
3
|
|
|
4
4
|
// src/control-replacement.tsx
|
|
5
5
|
import { createControlReplacementsRegistry } from "@elementor/editor-controls";
|
|
@@ -1142,15 +1142,15 @@ function useHandleSelect() {
|
|
|
1142
1142
|
import { __createPanel as createPanel } from "@elementor/editor-panels";
|
|
1143
1143
|
|
|
1144
1144
|
// src/components/editing-panel.tsx
|
|
1145
|
-
import * as
|
|
1145
|
+
import * as React84 from "react";
|
|
1146
1146
|
import { ControlActionsProvider, ControlReplacementsProvider } from "@elementor/editor-controls";
|
|
1147
1147
|
import { useSelectedElement } from "@elementor/editor-elements";
|
|
1148
1148
|
import { Panel, PanelBody, PanelHeader, PanelHeaderTitle } from "@elementor/editor-panels";
|
|
1149
|
-
import { ThemeProvider as
|
|
1149
|
+
import { ThemeProvider as ThemeProvider2 } from "@elementor/editor-ui";
|
|
1150
1150
|
import { AtomIcon } from "@elementor/icons";
|
|
1151
1151
|
import { SessionStorageProvider as SessionStorageProvider3 } from "@elementor/session";
|
|
1152
1152
|
import { ErrorBoundary } from "@elementor/ui";
|
|
1153
|
-
import { __ as
|
|
1153
|
+
import { __ as __55 } from "@wordpress/i18n";
|
|
1154
1154
|
|
|
1155
1155
|
// src/controls-actions.ts
|
|
1156
1156
|
import { createMenu } from "@elementor/menus";
|
|
@@ -1163,14 +1163,14 @@ function Action({ title, visible = true, icon: Icon, onClick }) {
|
|
|
1163
1163
|
if (!visible) {
|
|
1164
1164
|
return null;
|
|
1165
1165
|
}
|
|
1166
|
-
return /* @__PURE__ */ React9.createElement(Tooltip, { placement: "
|
|
1166
|
+
return /* @__PURE__ */ React9.createElement(Tooltip, { placement: "top", title, arrow: true }, /* @__PURE__ */ React9.createElement(IconButton, { "aria-label": title, size: SIZE, onClick }, /* @__PURE__ */ React9.createElement(Icon, { fontSize: SIZE })));
|
|
1167
1167
|
}
|
|
1168
1168
|
|
|
1169
1169
|
// src/popover-action.tsx
|
|
1170
1170
|
import * as React10 from "react";
|
|
1171
1171
|
import { useId as useId2 } from "react";
|
|
1172
|
-
import {
|
|
1173
|
-
import { bindPopover, bindToggle, IconButton as IconButton2, Popover,
|
|
1172
|
+
import { PopoverHeader } from "@elementor/editor-ui";
|
|
1173
|
+
import { bindPopover, bindToggle, IconButton as IconButton2, Popover, Tooltip as Tooltip2, usePopupState as usePopupState2 } from "@elementor/ui";
|
|
1174
1174
|
var SIZE2 = "tiny";
|
|
1175
1175
|
function PopoverAction({
|
|
1176
1176
|
title,
|
|
@@ -1197,7 +1197,7 @@ function PopoverAction({
|
|
|
1197
1197
|
},
|
|
1198
1198
|
...bindPopover(popupState)
|
|
1199
1199
|
},
|
|
1200
|
-
/* @__PURE__ */ React10.createElement(
|
|
1200
|
+
/* @__PURE__ */ React10.createElement(PopoverHeader, { title, onClose: popupState.close, icon: /* @__PURE__ */ React10.createElement(Icon, { fontSize: SIZE2 }) }),
|
|
1201
1201
|
/* @__PURE__ */ React10.createElement(PopoverContent2, { closePopover: popupState.close })
|
|
1202
1202
|
));
|
|
1203
1203
|
}
|
|
@@ -1218,11 +1218,11 @@ function EditorPanelErrorFallback() {
|
|
|
1218
1218
|
}
|
|
1219
1219
|
|
|
1220
1220
|
// src/components/editing-panel-tabs.tsx
|
|
1221
|
-
import * as
|
|
1222
|
-
import { Fragment as
|
|
1223
|
-
import { isExperimentActive as
|
|
1221
|
+
import * as React83 from "react";
|
|
1222
|
+
import { Fragment as Fragment9 } from "react";
|
|
1223
|
+
import { isExperimentActive as isExperimentActive13 } from "@elementor/editor-v1-adapters";
|
|
1224
1224
|
import { Divider as Divider6, Stack as Stack18, Tab, TabPanel, Tabs, useTabs } from "@elementor/ui";
|
|
1225
|
-
import { __ as
|
|
1225
|
+
import { __ as __54 } from "@wordpress/i18n";
|
|
1226
1226
|
|
|
1227
1227
|
// src/contexts/scroll-context.tsx
|
|
1228
1228
|
import * as React12 from "react";
|
|
@@ -1306,9 +1306,9 @@ var useStateByElement = (key, initialValue) => {
|
|
|
1306
1306
|
};
|
|
1307
1307
|
|
|
1308
1308
|
// src/components/settings-tab.tsx
|
|
1309
|
-
import * as
|
|
1309
|
+
import * as React19 from "react";
|
|
1310
1310
|
import { ControlFormLabel } from "@elementor/editor-controls";
|
|
1311
|
-
import { isExperimentActive as
|
|
1311
|
+
import { isExperimentActive as isExperimentActive4 } from "@elementor/editor-v1-adapters";
|
|
1312
1312
|
import { SessionStorageProvider } from "@elementor/session";
|
|
1313
1313
|
import { Divider as Divider3 } from "@elementor/ui";
|
|
1314
1314
|
|
|
@@ -1408,9 +1408,10 @@ var SettingsField = ({ bind, children }) => {
|
|
|
1408
1408
|
};
|
|
1409
1409
|
|
|
1410
1410
|
// src/components/section.tsx
|
|
1411
|
-
import * as
|
|
1411
|
+
import * as React17 from "react";
|
|
1412
1412
|
import { useId as useId3 } from "react";
|
|
1413
|
-
import {
|
|
1413
|
+
import { isExperimentActive as isExperimentActive3 } from "@elementor/editor-v1-adapters";
|
|
1414
|
+
import { Collapse as Collapse2, Divider as Divider2, ListItemButton, ListItemText, Stack as Stack5 } from "@elementor/ui";
|
|
1414
1415
|
|
|
1415
1416
|
// src/components/collapse-icon.tsx
|
|
1416
1417
|
import { ChevronDownIcon } from "@elementor/icons";
|
|
@@ -1424,49 +1425,95 @@ var CollapseIcon = styled5(ChevronDownIcon, {
|
|
|
1424
1425
|
})
|
|
1425
1426
|
}));
|
|
1426
1427
|
|
|
1428
|
+
// src/components/collapsible-content.tsx
|
|
1429
|
+
import * as React16 from "react";
|
|
1430
|
+
import { useState as useState7 } from "react";
|
|
1431
|
+
import { Button, Collapse, Stack as Stack4, styled as styled6 } from "@elementor/ui";
|
|
1432
|
+
import { __ as __5 } from "@wordpress/i18n";
|
|
1433
|
+
var IndicatorsWrapper = styled6("div")`
|
|
1434
|
+
position: absolute;
|
|
1435
|
+
top: 0;
|
|
1436
|
+
right: ${({ theme }) => theme.spacing(3)};
|
|
1437
|
+
height: 100%;
|
|
1438
|
+
display: flex;
|
|
1439
|
+
flex-direction: column;
|
|
1440
|
+
align-items: center;
|
|
1441
|
+
justify-content: center;
|
|
1442
|
+
`;
|
|
1443
|
+
var CollapsibleContent = ({ children, defaultOpen = false, titleEnd = null }) => {
|
|
1444
|
+
const [open, setOpen] = useState7(defaultOpen);
|
|
1445
|
+
const handleToggle = () => {
|
|
1446
|
+
setOpen((prevOpen) => !prevOpen);
|
|
1447
|
+
};
|
|
1448
|
+
return /* @__PURE__ */ React16.createElement(Stack4, null, /* @__PURE__ */ React16.createElement(Stack4, { sx: { position: "relative" } }, /* @__PURE__ */ React16.createElement(
|
|
1449
|
+
Button,
|
|
1450
|
+
{
|
|
1451
|
+
fullWidth: true,
|
|
1452
|
+
size: "small",
|
|
1453
|
+
color: "secondary",
|
|
1454
|
+
variant: "outlined",
|
|
1455
|
+
onClick: handleToggle,
|
|
1456
|
+
endIcon: /* @__PURE__ */ React16.createElement(CollapseIcon, { open }),
|
|
1457
|
+
sx: { my: 0.5 }
|
|
1458
|
+
},
|
|
1459
|
+
open ? __5("Show less", "elementor") : __5("Show more", "elementor")
|
|
1460
|
+
), titleEnd && /* @__PURE__ */ React16.createElement(IndicatorsWrapper, null, getCollapsibleValue(titleEnd, open))), /* @__PURE__ */ React16.createElement(Collapse, { in: open, timeout: "auto", unmountOnExit: true }, children));
|
|
1461
|
+
};
|
|
1462
|
+
function getCollapsibleValue(value, isOpen) {
|
|
1463
|
+
if (typeof value === "function") {
|
|
1464
|
+
return value(isOpen);
|
|
1465
|
+
}
|
|
1466
|
+
return value;
|
|
1467
|
+
}
|
|
1468
|
+
|
|
1427
1469
|
// src/components/section.tsx
|
|
1428
|
-
function Section({ title, children, defaultExpanded = false }) {
|
|
1470
|
+
function Section({ title, children, defaultExpanded = false, titleEnd }) {
|
|
1429
1471
|
const [isOpen, setIsOpen] = useStateByElement(title, !!defaultExpanded);
|
|
1472
|
+
const handleClick = () => {
|
|
1473
|
+
setIsOpen(!isOpen);
|
|
1474
|
+
};
|
|
1430
1475
|
const id = useId3();
|
|
1431
1476
|
const labelId = `label-${id}`;
|
|
1432
1477
|
const contentId = `content-${id}`;
|
|
1433
|
-
|
|
1478
|
+
const isUsingTitleEnd = isExperimentActive3(EXPERIMENTAL_FEATURES.V_3_30);
|
|
1479
|
+
return /* @__PURE__ */ React17.createElement(React17.Fragment, null, /* @__PURE__ */ React17.createElement(
|
|
1434
1480
|
ListItemButton,
|
|
1435
1481
|
{
|
|
1436
1482
|
id: labelId,
|
|
1437
1483
|
"aria-controls": contentId,
|
|
1438
|
-
onClick:
|
|
1484
|
+
onClick: handleClick,
|
|
1439
1485
|
sx: { "&:hover": { backgroundColor: "transparent" } }
|
|
1440
1486
|
},
|
|
1441
|
-
/* @__PURE__ */
|
|
1487
|
+
/* @__PURE__ */ React17.createElement(Stack5, { direction: "row", alignItems: "center", justifyItems: "start", flexGrow: 1, gap: 0.5 }, /* @__PURE__ */ React17.createElement(
|
|
1442
1488
|
ListItemText,
|
|
1443
1489
|
{
|
|
1444
1490
|
secondary: title,
|
|
1445
|
-
secondaryTypographyProps: { color: "text.primary", variant: "caption", fontWeight: "bold" }
|
|
1491
|
+
secondaryTypographyProps: { color: "text.primary", variant: "caption", fontWeight: "bold" },
|
|
1492
|
+
sx: { flexGrow: 0, flexShrink: 1, marginInlineEnd: 1 }
|
|
1446
1493
|
}
|
|
1447
|
-
),
|
|
1448
|
-
/* @__PURE__ */
|
|
1449
|
-
), /* @__PURE__ */
|
|
1494
|
+
), isUsingTitleEnd ? getCollapsibleValue(titleEnd, isOpen) : null),
|
|
1495
|
+
/* @__PURE__ */ React17.createElement(CollapseIcon, { open: isOpen, color: "secondary", fontSize: "tiny" })
|
|
1496
|
+
), /* @__PURE__ */ React17.createElement(Collapse2, { id: contentId, "aria-labelledby": labelId, in: isOpen, timeout: "auto", unmountOnExit: true }, /* @__PURE__ */ React17.createElement(Stack5, { gap: 2.5, p: 2 }, children)), /* @__PURE__ */ React17.createElement(Divider2, null));
|
|
1450
1497
|
}
|
|
1451
1498
|
|
|
1452
1499
|
// src/components/sections-list.tsx
|
|
1453
|
-
import * as
|
|
1500
|
+
import * as React18 from "react";
|
|
1454
1501
|
import { List } from "@elementor/ui";
|
|
1455
1502
|
function SectionsList(props) {
|
|
1456
|
-
return /* @__PURE__ */
|
|
1503
|
+
return /* @__PURE__ */ React18.createElement(List, { disablePadding: true, component: "div", ...props });
|
|
1457
1504
|
}
|
|
1458
1505
|
|
|
1459
1506
|
// src/components/settings-tab.tsx
|
|
1460
1507
|
var SettingsTab = () => {
|
|
1461
1508
|
const { elementType, element } = useElement();
|
|
1462
1509
|
const settingsDefault = useDefaultPanelSettings();
|
|
1463
|
-
const isDefaultExpanded = (sectionId) =>
|
|
1464
|
-
return /* @__PURE__ */
|
|
1510
|
+
const isDefaultExpanded = (sectionId) => isExperimentActive4(EXPERIMENTAL_FEATURES.V_3_30) ? settingsDefault.defaultSectionsExpanded.settings?.includes(sectionId) : true;
|
|
1511
|
+
return /* @__PURE__ */ React19.createElement(SessionStorageProvider, { prefix: element.id }, /* @__PURE__ */ React19.createElement(SectionsList, null, elementType.controls.map(({ type, value }, index) => {
|
|
1465
1512
|
if (type === "control") {
|
|
1466
|
-
return /* @__PURE__ */
|
|
1513
|
+
return /* @__PURE__ */ React19.createElement(Control2, { key: value.bind, control: value });
|
|
1467
1514
|
}
|
|
1468
1515
|
if (type === "section") {
|
|
1469
|
-
return /* @__PURE__ */
|
|
1516
|
+
return /* @__PURE__ */ React19.createElement(
|
|
1470
1517
|
Section,
|
|
1471
1518
|
{
|
|
1472
1519
|
title: value.label,
|
|
@@ -1475,7 +1522,7 @@ var SettingsTab = () => {
|
|
|
1475
1522
|
},
|
|
1476
1523
|
value.items?.map((item) => {
|
|
1477
1524
|
if (item.type === "control") {
|
|
1478
|
-
return /* @__PURE__ */
|
|
1525
|
+
return /* @__PURE__ */ React19.createElement(Control2, { key: item.value.bind, control: item.value });
|
|
1479
1526
|
}
|
|
1480
1527
|
return null;
|
|
1481
1528
|
})
|
|
@@ -1489,21 +1536,20 @@ var Control2 = ({ control }) => {
|
|
|
1489
1536
|
return null;
|
|
1490
1537
|
}
|
|
1491
1538
|
const layout = control.meta?.layout || getDefaultLayout(control.type);
|
|
1492
|
-
return /* @__PURE__ */
|
|
1539
|
+
return /* @__PURE__ */ React19.createElement(SettingsField, { bind: control.bind }, control.meta?.topDivider && /* @__PURE__ */ React19.createElement(Divider3, null), /* @__PURE__ */ React19.createElement(ControlTypeContainer, { layout }, control.label ? /* @__PURE__ */ React19.createElement(ControlFormLabel, null, control.label) : null, /* @__PURE__ */ React19.createElement(Control, { type: control.type, props: control.props })));
|
|
1493
1540
|
};
|
|
1494
1541
|
|
|
1495
1542
|
// src/components/style-tab.tsx
|
|
1496
|
-
import * as
|
|
1543
|
+
import * as React82 from "react";
|
|
1497
1544
|
import { useState as useState12 } from "react";
|
|
1498
1545
|
import { CLASSES_PROP_KEY } from "@elementor/editor-props";
|
|
1499
1546
|
import { useActiveBreakpoint } from "@elementor/editor-responsive";
|
|
1500
|
-
import { isExperimentActive as isExperimentActive10 } from "@elementor/editor-v1-adapters";
|
|
1501
1547
|
import { SessionStorageProvider as SessionStorageProvider2 } from "@elementor/session";
|
|
1502
1548
|
import { Divider as Divider5, Stack as Stack17 } from "@elementor/ui";
|
|
1503
|
-
import { __ as
|
|
1549
|
+
import { __ as __53 } from "@wordpress/i18n";
|
|
1504
1550
|
|
|
1505
1551
|
// src/contexts/styles-inheritance-context.tsx
|
|
1506
|
-
import * as
|
|
1552
|
+
import * as React20 from "react";
|
|
1507
1553
|
import { createContext as createContext7, useContext as useContext7 } from "react";
|
|
1508
1554
|
import { getWidgetsCache, useElementSetting as useElementSetting3 } from "@elementor/editor-elements";
|
|
1509
1555
|
import { classesPropTypeUtil as classesPropTypeUtil2 } from "@elementor/editor-props";
|
|
@@ -1742,7 +1788,7 @@ function StyleInheritanceProvider({ children }) {
|
|
|
1742
1788
|
const styleDefs = useAppliedStyles();
|
|
1743
1789
|
const breakpointsTree = getBreakpointsTree();
|
|
1744
1790
|
const { getSnapshot, getInheritanceChain } = createStylesInheritance(styleDefs, breakpointsTree);
|
|
1745
|
-
return /* @__PURE__ */
|
|
1791
|
+
return /* @__PURE__ */ React20.createElement(Context4.Provider, { value: { getSnapshot, getInheritanceChain } }, children);
|
|
1746
1792
|
}
|
|
1747
1793
|
function useStylesInheritanceSnapshot() {
|
|
1748
1794
|
const context = useContext7(Context4);
|
|
@@ -1811,11 +1857,11 @@ function useActiveAndAppliedClassId(id, appliedClassesIds) {
|
|
|
1811
1857
|
}
|
|
1812
1858
|
|
|
1813
1859
|
// src/components/style-sections/background-section/background-section.tsx
|
|
1814
|
-
import * as
|
|
1860
|
+
import * as React29 from "react";
|
|
1815
1861
|
import { BackgroundControl } from "@elementor/editor-controls";
|
|
1816
1862
|
|
|
1817
1863
|
// src/controls-registry/styles-field.tsx
|
|
1818
|
-
import * as
|
|
1864
|
+
import * as React28 from "react";
|
|
1819
1865
|
import { ControlAdornmentsProvider, PropKeyProvider as PropKeyProvider2, PropProvider as PropProvider2 } from "@elementor/editor-controls";
|
|
1820
1866
|
import { getStylesSchema as getStylesSchema2 } from "@elementor/editor-styles";
|
|
1821
1867
|
|
|
@@ -1829,7 +1875,7 @@ import {
|
|
|
1829
1875
|
import { getVariantByMeta } from "@elementor/editor-styles";
|
|
1830
1876
|
import { ELEMENTS_STYLES_RESERVED_LABEL } from "@elementor/editor-styles-repository";
|
|
1831
1877
|
import { undoable as undoable2 } from "@elementor/editor-v1-adapters";
|
|
1832
|
-
import { __ as
|
|
1878
|
+
import { __ as __6 } from "@wordpress/i18n";
|
|
1833
1879
|
function useStylesFields(propNames) {
|
|
1834
1880
|
const { element } = useElement();
|
|
1835
1881
|
const { id, meta, provider } = useStyle();
|
|
@@ -1900,7 +1946,7 @@ function useUndoableCreateElementStyle() {
|
|
|
1900
1946
|
},
|
|
1901
1947
|
{
|
|
1902
1948
|
title: ({ elementId }) => getElementLabel2(elementId),
|
|
1903
|
-
subtitle:
|
|
1949
|
+
subtitle: __6("Style edited", "elementor")
|
|
1904
1950
|
}
|
|
1905
1951
|
);
|
|
1906
1952
|
}, []);
|
|
@@ -1933,7 +1979,7 @@ function useUndoableUpdateStyle() {
|
|
|
1933
1979
|
},
|
|
1934
1980
|
{
|
|
1935
1981
|
title: ({ elementId }) => getElementLabel2(elementId),
|
|
1936
|
-
subtitle:
|
|
1982
|
+
subtitle: __6("Style edited", "elementor")
|
|
1937
1983
|
}
|
|
1938
1984
|
);
|
|
1939
1985
|
}, []);
|
|
@@ -1959,17 +2005,17 @@ function useStylesField(propName) {
|
|
|
1959
2005
|
return [value, setValue];
|
|
1960
2006
|
}
|
|
1961
2007
|
|
|
1962
|
-
// src/styles-inheritance/styles-inheritance-indicator.tsx
|
|
1963
|
-
import * as
|
|
2008
|
+
// src/styles-inheritance/components/styles-inheritance-indicator.tsx
|
|
2009
|
+
import * as React27 from "react";
|
|
1964
2010
|
import { useBoundProp } from "@elementor/editor-controls";
|
|
1965
2011
|
import { isEmpty as isEmpty2 } from "@elementor/editor-props";
|
|
1966
2012
|
import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as ELEMENTS_BASE_STYLES_PROVIDER_KEY3, isElementsStylesProvider as isElementsStylesProvider3 } from "@elementor/editor-styles-repository";
|
|
1967
|
-
import { isExperimentActive as
|
|
2013
|
+
import { isExperimentActive as isExperimentActive6 } from "@elementor/editor-v1-adapters";
|
|
1968
2014
|
import { Tooltip as Tooltip6 } from "@elementor/ui";
|
|
1969
|
-
import { __ as
|
|
2015
|
+
import { __ as __10 } from "@wordpress/i18n";
|
|
1970
2016
|
|
|
1971
2017
|
// src/styles-inheritance/consts.ts
|
|
1972
|
-
import { isExperimentActive as
|
|
2018
|
+
import { isExperimentActive as isExperimentActive5 } from "@elementor/editor-v1-adapters";
|
|
1973
2019
|
var excludePropTypeTransformers = /* @__PURE__ */ new Set([
|
|
1974
2020
|
"background-color-overlay",
|
|
1975
2021
|
"background-image-overlay",
|
|
@@ -1982,11 +2028,11 @@ var excludePropTypeTransformers = /* @__PURE__ */ new Set([
|
|
|
1982
2028
|
"image",
|
|
1983
2029
|
"background-overlay"
|
|
1984
2030
|
]);
|
|
1985
|
-
var isUsingIndicatorPopover = () =>
|
|
2031
|
+
var isUsingIndicatorPopover = () => isExperimentActive5("e_v_3_30");
|
|
1986
2032
|
|
|
1987
|
-
// src/styles-inheritance/styles-inheritance-infotip.tsx
|
|
1988
|
-
import * as
|
|
1989
|
-
import { useMemo as useMemo4, useState as
|
|
2033
|
+
// src/styles-inheritance/components/styles-inheritance-infotip.tsx
|
|
2034
|
+
import * as React26 from "react";
|
|
2035
|
+
import { useMemo as useMemo4, useState as useState9 } from "react";
|
|
1990
2036
|
import { createPropsResolver } from "@elementor/editor-canvas";
|
|
1991
2037
|
import {
|
|
1992
2038
|
Backdrop,
|
|
@@ -1999,19 +2045,19 @@ import {
|
|
|
1999
2045
|
Infotip,
|
|
2000
2046
|
Stack as Stack7,
|
|
2001
2047
|
Tooltip as Tooltip5,
|
|
2002
|
-
Typography as
|
|
2048
|
+
Typography as Typography5
|
|
2003
2049
|
} from "@elementor/ui";
|
|
2004
|
-
import { __ as
|
|
2050
|
+
import { __ as __9 } from "@wordpress/i18n";
|
|
2005
2051
|
|
|
2006
2052
|
// src/components/section-content.tsx
|
|
2007
2053
|
import { createContext as createContext8, useContext as useContext8, useRef as useRef3 } from "react";
|
|
2008
|
-
import * as
|
|
2054
|
+
import * as React21 from "react";
|
|
2009
2055
|
import { Stack as Stack6 } from "@elementor/ui";
|
|
2010
2056
|
var SectionContentRefContext = createContext8(null);
|
|
2011
2057
|
var useSectionContentRef = () => useContext8(SectionContentRefContext);
|
|
2012
2058
|
var SectionContent = ({ gap = 2, sx, children }) => {
|
|
2013
2059
|
const ref = useRef3(null);
|
|
2014
|
-
return /* @__PURE__ */
|
|
2060
|
+
return /* @__PURE__ */ React21.createElement(SectionContentRefContext.Provider, { value: ref }, /* @__PURE__ */ React21.createElement(Stack6, { gap, sx: { ...sx }, ref }, children));
|
|
2015
2061
|
};
|
|
2016
2062
|
|
|
2017
2063
|
// src/hooks/use-direction.ts
|
|
@@ -2034,8 +2080,81 @@ function useDirection() {
|
|
|
2034
2080
|
return { isSiteRtl, isUiRtl };
|
|
2035
2081
|
}
|
|
2036
2082
|
|
|
2037
|
-
// src/styles-inheritance/
|
|
2038
|
-
import
|
|
2083
|
+
// src/styles-inheritance/hooks/use-normalized-inheritance-chain-items.tsx
|
|
2084
|
+
import { isValidElement, useEffect as useEffect3, useState as useState8 } from "react";
|
|
2085
|
+
import { ELEMENTS_BASE_STYLES_PROVIDER_KEY } from "@elementor/editor-styles-repository";
|
|
2086
|
+
import { __ as __7 } from "@wordpress/i18n";
|
|
2087
|
+
var MAXIMUM_ITEMS = 2;
|
|
2088
|
+
var useNormalizedInheritanceChainItems = (inheritanceChain, bind, resolve) => {
|
|
2089
|
+
const [items3, setItems] = useState8([]);
|
|
2090
|
+
useEffect3(() => {
|
|
2091
|
+
(async () => {
|
|
2092
|
+
const normalizedItems = await Promise.all(
|
|
2093
|
+
inheritanceChain.filter(({ style }) => style).map((item, index) => normalizeInheritanceItem(item, index, bind, resolve))
|
|
2094
|
+
);
|
|
2095
|
+
const validItems = normalizedItems.map((item) => ({
|
|
2096
|
+
...item,
|
|
2097
|
+
displayLabel: ELEMENTS_BASE_STYLES_PROVIDER_KEY !== item.provider ? item.displayLabel : __7("Base", "elementor")
|
|
2098
|
+
})).filter((item) => !item.value || item.displayLabel !== "").slice(0, MAXIMUM_ITEMS);
|
|
2099
|
+
setItems(validItems);
|
|
2100
|
+
})();
|
|
2101
|
+
}, [inheritanceChain, bind, resolve]);
|
|
2102
|
+
return items3;
|
|
2103
|
+
};
|
|
2104
|
+
var DEFAULT_BREAKPOINT2 = "desktop";
|
|
2105
|
+
var normalizeInheritanceItem = async (item, index, bind, resolve) => {
|
|
2106
|
+
const {
|
|
2107
|
+
variant: {
|
|
2108
|
+
meta: { state, breakpoint }
|
|
2109
|
+
},
|
|
2110
|
+
style: { label, id }
|
|
2111
|
+
} = item;
|
|
2112
|
+
const displayLabel = `${label}${state ? ":" + state : ""}`;
|
|
2113
|
+
return {
|
|
2114
|
+
id: id ? id + (state ?? "") : index,
|
|
2115
|
+
provider: item.provider || "",
|
|
2116
|
+
breakpoint: breakpoint ?? DEFAULT_BREAKPOINT2,
|
|
2117
|
+
displayLabel,
|
|
2118
|
+
value: await getTransformedValue(item, bind, resolve),
|
|
2119
|
+
chipColor: getChipColor(item)
|
|
2120
|
+
};
|
|
2121
|
+
};
|
|
2122
|
+
var getTransformedValue = async (item, bind, resolve) => {
|
|
2123
|
+
try {
|
|
2124
|
+
const result = await resolve({
|
|
2125
|
+
props: {
|
|
2126
|
+
[bind]: item.value
|
|
2127
|
+
}
|
|
2128
|
+
});
|
|
2129
|
+
const value = result?.[bind] ?? result;
|
|
2130
|
+
if (isValidElement(value)) {
|
|
2131
|
+
return value;
|
|
2132
|
+
}
|
|
2133
|
+
if (typeof value === "object") {
|
|
2134
|
+
return JSON.stringify(value);
|
|
2135
|
+
}
|
|
2136
|
+
return String(value);
|
|
2137
|
+
} catch {
|
|
2138
|
+
return "";
|
|
2139
|
+
}
|
|
2140
|
+
};
|
|
2141
|
+
var getChipColor = (item) => {
|
|
2142
|
+
const { provider = "", style } = item;
|
|
2143
|
+
if (provider === ELEMENTS_BASE_STYLES_PROVIDER_KEY) {
|
|
2144
|
+
return "default";
|
|
2145
|
+
}
|
|
2146
|
+
if (style?.label === "local") {
|
|
2147
|
+
return "accent";
|
|
2148
|
+
}
|
|
2149
|
+
return "global";
|
|
2150
|
+
};
|
|
2151
|
+
|
|
2152
|
+
// src/styles-inheritance/styles-inheritance-transformers-registry.tsx
|
|
2153
|
+
import { createTransformersRegistry } from "@elementor/editor-canvas";
|
|
2154
|
+
var stylesInheritanceTransformersRegistry = createTransformersRegistry();
|
|
2155
|
+
|
|
2156
|
+
// src/styles-inheritance/components/infotip/breakpoint-icon.tsx
|
|
2157
|
+
import * as React22 from "react";
|
|
2039
2158
|
import { useBreakpoints } from "@elementor/editor-responsive";
|
|
2040
2159
|
import {
|
|
2041
2160
|
DesktopIcon,
|
|
@@ -2048,7 +2167,7 @@ import {
|
|
|
2048
2167
|
} from "@elementor/icons";
|
|
2049
2168
|
import { Tooltip as Tooltip3 } from "@elementor/ui";
|
|
2050
2169
|
var SIZE3 = "tiny";
|
|
2051
|
-
var
|
|
2170
|
+
var DEFAULT_BREAKPOINT3 = "desktop";
|
|
2052
2171
|
var breakpointIconMap = {
|
|
2053
2172
|
widescreen: WidescreenIcon,
|
|
2054
2173
|
desktop: DesktopIcon,
|
|
@@ -2060,26 +2179,26 @@ var breakpointIconMap = {
|
|
|
2060
2179
|
};
|
|
2061
2180
|
var BreakpointIcon = ({ breakpoint }) => {
|
|
2062
2181
|
const breakpoints = useBreakpoints();
|
|
2063
|
-
const currentBreakpoint = breakpoint ||
|
|
2182
|
+
const currentBreakpoint = breakpoint || DEFAULT_BREAKPOINT3;
|
|
2064
2183
|
const IconComponent = breakpointIconMap[currentBreakpoint];
|
|
2065
2184
|
if (!IconComponent) {
|
|
2066
2185
|
return null;
|
|
2067
2186
|
}
|
|
2068
2187
|
const breakpointLabel = breakpoints.find((breakpointItem) => breakpointItem.id === currentBreakpoint)?.label;
|
|
2069
|
-
return /* @__PURE__ */
|
|
2188
|
+
return /* @__PURE__ */ React22.createElement(Tooltip3, { title: breakpointLabel, placement: "top" }, /* @__PURE__ */ React22.createElement(IconComponent, { fontSize: SIZE3, sx: { mt: "2px" } }));
|
|
2070
2189
|
};
|
|
2071
2190
|
|
|
2072
|
-
// src/styles-inheritance/components/label-chip.tsx
|
|
2073
|
-
import * as
|
|
2074
|
-
import { ELEMENTS_BASE_STYLES_PROVIDER_KEY } from "@elementor/editor-styles-repository";
|
|
2191
|
+
// src/styles-inheritance/components/infotip/label-chip.tsx
|
|
2192
|
+
import * as React23 from "react";
|
|
2193
|
+
import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as ELEMENTS_BASE_STYLES_PROVIDER_KEY2 } from "@elementor/editor-styles-repository";
|
|
2075
2194
|
import { InfoCircleIcon } from "@elementor/icons";
|
|
2076
2195
|
import { Chip as Chip4, Tooltip as Tooltip4 } from "@elementor/ui";
|
|
2077
|
-
import { __ as
|
|
2196
|
+
import { __ as __8 } from "@wordpress/i18n";
|
|
2078
2197
|
var SIZE4 = "tiny";
|
|
2079
2198
|
var LabelChip = ({ displayLabel, provider, chipColor }) => {
|
|
2080
|
-
const isBaseStyle = provider ===
|
|
2081
|
-
const chipIcon = isBaseStyle ? /* @__PURE__ */
|
|
2082
|
-
return /* @__PURE__ */
|
|
2199
|
+
const isBaseStyle = provider === ELEMENTS_BASE_STYLES_PROVIDER_KEY2;
|
|
2200
|
+
const chipIcon = isBaseStyle ? /* @__PURE__ */ React23.createElement(Tooltip4, { title: __8("Inherited from base styles", "elementor"), placement: "top" }, /* @__PURE__ */ React23.createElement(InfoCircleIcon, { fontSize: SIZE4 })) : void 0;
|
|
2201
|
+
return /* @__PURE__ */ React23.createElement(
|
|
2083
2202
|
Chip4,
|
|
2084
2203
|
{
|
|
2085
2204
|
label: displayLabel,
|
|
@@ -2104,12 +2223,12 @@ var LabelChip = ({ displayLabel, provider, chipColor }) => {
|
|
|
2104
2223
|
);
|
|
2105
2224
|
};
|
|
2106
2225
|
|
|
2107
|
-
// src/styles-inheritance/components/value-component.tsx
|
|
2108
|
-
import * as
|
|
2109
|
-
import { Typography as
|
|
2226
|
+
// src/styles-inheritance/components/infotip/value-component.tsx
|
|
2227
|
+
import * as React24 from "react";
|
|
2228
|
+
import { Typography as Typography4 } from "@elementor/ui";
|
|
2110
2229
|
var ValueComponent = ({ index, value }) => {
|
|
2111
|
-
return /* @__PURE__ */
|
|
2112
|
-
|
|
2230
|
+
return /* @__PURE__ */ React24.createElement(
|
|
2231
|
+
Typography4,
|
|
2113
2232
|
{
|
|
2114
2233
|
variant: "caption",
|
|
2115
2234
|
color: "text.tertiary",
|
|
@@ -2125,88 +2244,15 @@ var ValueComponent = ({ index, value }) => {
|
|
|
2125
2244
|
);
|
|
2126
2245
|
};
|
|
2127
2246
|
|
|
2128
|
-
// src/styles-inheritance/components/action-icons.tsx
|
|
2129
|
-
import * as
|
|
2247
|
+
// src/styles-inheritance/components/infotip/action-icons.tsx
|
|
2248
|
+
import * as React25 from "react";
|
|
2130
2249
|
import { Box as Box5 } from "@elementor/ui";
|
|
2131
|
-
var ActionIcons = () => /* @__PURE__ */
|
|
2132
|
-
|
|
2133
|
-
// src/styles-inheritance/hooks/use-normalized-inheritance-chain-items.tsx
|
|
2134
|
-
import { isValidElement, useEffect as useEffect3, useState as useState7 } from "react";
|
|
2135
|
-
import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as ELEMENTS_BASE_STYLES_PROVIDER_KEY2 } from "@elementor/editor-styles-repository";
|
|
2136
|
-
import { __ as __7 } from "@wordpress/i18n";
|
|
2137
|
-
var MAXIMUM_ITEMS = 2;
|
|
2138
|
-
var useNormalizedInheritanceChainItems = (inheritanceChain, bind, resolve) => {
|
|
2139
|
-
const [items3, setItems] = useState7([]);
|
|
2140
|
-
useEffect3(() => {
|
|
2141
|
-
(async () => {
|
|
2142
|
-
const normalizedItems = await Promise.all(
|
|
2143
|
-
inheritanceChain.filter(({ style }) => style).map((item, index) => normalizeInheritanceItem(item, index, bind, resolve))
|
|
2144
|
-
);
|
|
2145
|
-
const validItems = normalizedItems.map((item) => ({
|
|
2146
|
-
...item,
|
|
2147
|
-
displayLabel: ELEMENTS_BASE_STYLES_PROVIDER_KEY2 !== item.provider ? item.displayLabel : __7("Base", "elementor")
|
|
2148
|
-
})).filter((item) => !item.value || item.displayLabel !== "").slice(0, MAXIMUM_ITEMS);
|
|
2149
|
-
setItems(validItems);
|
|
2150
|
-
})();
|
|
2151
|
-
}, [inheritanceChain, bind, resolve]);
|
|
2152
|
-
return items3;
|
|
2153
|
-
};
|
|
2154
|
-
var DEFAULT_BREAKPOINT3 = "desktop";
|
|
2155
|
-
var normalizeInheritanceItem = async (item, index, bind, resolve) => {
|
|
2156
|
-
const {
|
|
2157
|
-
variant: {
|
|
2158
|
-
meta: { state, breakpoint }
|
|
2159
|
-
},
|
|
2160
|
-
style: { label, id }
|
|
2161
|
-
} = item;
|
|
2162
|
-
const displayLabel = `${label}${state ? ":" + state : ""}`;
|
|
2163
|
-
return {
|
|
2164
|
-
id: id ? id + (state ?? "") : index,
|
|
2165
|
-
provider: item.provider || "",
|
|
2166
|
-
breakpoint: breakpoint ?? DEFAULT_BREAKPOINT3,
|
|
2167
|
-
displayLabel,
|
|
2168
|
-
value: await getTransformedValue(item, bind, resolve),
|
|
2169
|
-
chipColor: getChipColor(item)
|
|
2170
|
-
};
|
|
2171
|
-
};
|
|
2172
|
-
var getTransformedValue = async (item, bind, resolve) => {
|
|
2173
|
-
try {
|
|
2174
|
-
const result = await resolve({
|
|
2175
|
-
props: {
|
|
2176
|
-
[bind]: item.value
|
|
2177
|
-
}
|
|
2178
|
-
});
|
|
2179
|
-
const value = result?.[bind] ?? result;
|
|
2180
|
-
if (isValidElement(value)) {
|
|
2181
|
-
return value;
|
|
2182
|
-
}
|
|
2183
|
-
if (typeof value === "object") {
|
|
2184
|
-
return JSON.stringify(value);
|
|
2185
|
-
}
|
|
2186
|
-
return String(value);
|
|
2187
|
-
} catch {
|
|
2188
|
-
return "";
|
|
2189
|
-
}
|
|
2190
|
-
};
|
|
2191
|
-
var getChipColor = (item) => {
|
|
2192
|
-
const { provider = "", style } = item;
|
|
2193
|
-
if (provider === ELEMENTS_BASE_STYLES_PROVIDER_KEY2) {
|
|
2194
|
-
return "default";
|
|
2195
|
-
}
|
|
2196
|
-
if (style?.label === "local") {
|
|
2197
|
-
return "accent";
|
|
2198
|
-
}
|
|
2199
|
-
return "global";
|
|
2200
|
-
};
|
|
2201
|
-
|
|
2202
|
-
// src/styles-inheritance/styles-inheritance-transformers-registry.tsx
|
|
2203
|
-
import { createTransformersRegistry } from "@elementor/editor-canvas";
|
|
2204
|
-
var stylesInheritanceTransformersRegistry = createTransformersRegistry();
|
|
2250
|
+
var ActionIcons = () => /* @__PURE__ */ React25.createElement(Box5, { display: "flex", gap: 0.5, alignItems: "center" });
|
|
2205
2251
|
|
|
2206
|
-
// src/styles-inheritance/styles-inheritance-infotip.tsx
|
|
2252
|
+
// src/styles-inheritance/components/styles-inheritance-infotip.tsx
|
|
2207
2253
|
var SIZE5 = "tiny";
|
|
2208
|
-
var
|
|
2209
|
-
const [showInfotip, setShowInfotip] =
|
|
2254
|
+
var StylesInheritanceInfotip = ({ inheritanceChain, propType, path, label, children }) => {
|
|
2255
|
+
const [showInfotip, setShowInfotip] = useState9(false);
|
|
2210
2256
|
const toggleInfotip = () => setShowInfotip((prev) => !prev);
|
|
2211
2257
|
const closeInfotip = () => setShowInfotip(false);
|
|
2212
2258
|
const key = path.join(".");
|
|
@@ -2219,7 +2265,7 @@ var StyleIndicatorInfotip = ({ inheritanceChain, propType, path, label, children
|
|
|
2219
2265
|
});
|
|
2220
2266
|
}, [key, propType]);
|
|
2221
2267
|
const items3 = useNormalizedInheritanceChainItems(inheritanceChain, key, resolve);
|
|
2222
|
-
const infotipContent = /* @__PURE__ */
|
|
2268
|
+
const infotipContent = /* @__PURE__ */ React26.createElement(ClickAwayListener, { onClickAway: closeInfotip }, /* @__PURE__ */ React26.createElement(
|
|
2223
2269
|
Card,
|
|
2224
2270
|
{
|
|
2225
2271
|
elevation: 0,
|
|
@@ -2229,7 +2275,7 @@ var StyleIndicatorInfotip = ({ inheritanceChain, propType, path, label, children
|
|
|
2229
2275
|
overflowX: "hidden"
|
|
2230
2276
|
}
|
|
2231
2277
|
},
|
|
2232
|
-
/* @__PURE__ */
|
|
2278
|
+
/* @__PURE__ */ React26.createElement(
|
|
2233
2279
|
CardContent,
|
|
2234
2280
|
{
|
|
2235
2281
|
sx: {
|
|
@@ -2242,7 +2288,7 @@ var StyleIndicatorInfotip = ({ inheritanceChain, propType, path, label, children
|
|
|
2242
2288
|
}
|
|
2243
2289
|
}
|
|
2244
2290
|
},
|
|
2245
|
-
/* @__PURE__ */
|
|
2291
|
+
/* @__PURE__ */ React26.createElement(Stack7, { direction: "row", alignItems: "center", sx: { pl: 1.5, pr: 0.5, minHeight: 36, py: 0.5 } }, /* @__PURE__ */ React26.createElement(Typography5, { variant: "subtitle2", color: "secondary", sx: { fontSize: 12, fontWeight: "500" } }, __9("Style origin", "elementor")), /* @__PURE__ */ React26.createElement(
|
|
2246
2292
|
CloseButton,
|
|
2247
2293
|
{
|
|
2248
2294
|
slotProps: { icon: { fontSize: SIZE5 } },
|
|
@@ -2250,7 +2296,7 @@ var StyleIndicatorInfotip = ({ inheritanceChain, propType, path, label, children
|
|
|
2250
2296
|
onClick: closeInfotip
|
|
2251
2297
|
}
|
|
2252
2298
|
)),
|
|
2253
|
-
/* @__PURE__ */
|
|
2299
|
+
/* @__PURE__ */ React26.createElement(
|
|
2254
2300
|
Stack7,
|
|
2255
2301
|
{
|
|
2256
2302
|
gap: 1.5,
|
|
@@ -2258,33 +2304,33 @@ var StyleIndicatorInfotip = ({ inheritanceChain, propType, path, label, children
|
|
|
2258
2304
|
role: "list"
|
|
2259
2305
|
},
|
|
2260
2306
|
items3.map((item, index) => {
|
|
2261
|
-
return /* @__PURE__ */
|
|
2307
|
+
return /* @__PURE__ */ React26.createElement(
|
|
2262
2308
|
Box6,
|
|
2263
2309
|
{
|
|
2264
2310
|
key: item.id,
|
|
2265
2311
|
display: "flex",
|
|
2266
2312
|
gap: 0.5,
|
|
2267
2313
|
role: "listitem",
|
|
2268
|
-
"aria-label":
|
|
2314
|
+
"aria-label": __9("Inheritance item: %s", "elementor").replace(
|
|
2269
2315
|
"%s",
|
|
2270
2316
|
item.displayLabel
|
|
2271
2317
|
)
|
|
2272
2318
|
},
|
|
2273
|
-
/* @__PURE__ */
|
|
2319
|
+
/* @__PURE__ */ React26.createElement(Box6, { display: "flex", gap: 0.5, sx: { flexWrap: "wrap", width: "100%" } }, /* @__PURE__ */ React26.createElement(BreakpointIcon, { breakpoint: item.breakpoint }), /* @__PURE__ */ React26.createElement(
|
|
2274
2320
|
LabelChip,
|
|
2275
2321
|
{
|
|
2276
2322
|
displayLabel: item.displayLabel,
|
|
2277
2323
|
provider: item.provider,
|
|
2278
2324
|
chipColor: item.chipColor
|
|
2279
2325
|
}
|
|
2280
|
-
), /* @__PURE__ */
|
|
2281
|
-
/* @__PURE__ */
|
|
2326
|
+
), /* @__PURE__ */ React26.createElement(ValueComponent, { index, value: item.value })),
|
|
2327
|
+
/* @__PURE__ */ React26.createElement(ActionIcons, null)
|
|
2282
2328
|
);
|
|
2283
2329
|
})
|
|
2284
2330
|
)
|
|
2285
2331
|
)
|
|
2286
2332
|
));
|
|
2287
|
-
return /* @__PURE__ */
|
|
2333
|
+
return /* @__PURE__ */ React26.createElement(TooltipOrInfotip, { showInfotip, onClose: closeInfotip, infotipContent }, /* @__PURE__ */ React26.createElement(IconButton3, { onClick: toggleInfotip, "aria-label": label, sx: { my: "-1px" } }, children));
|
|
2288
2334
|
};
|
|
2289
2335
|
function TooltipOrInfotip({
|
|
2290
2336
|
children,
|
|
@@ -2295,7 +2341,7 @@ function TooltipOrInfotip({
|
|
|
2295
2341
|
const { isSiteRtl } = useDirection();
|
|
2296
2342
|
const forceInfotipAlignLeft = isSiteRtl ? 9999999 : -9999999;
|
|
2297
2343
|
if (showInfotip) {
|
|
2298
|
-
return /* @__PURE__ */
|
|
2344
|
+
return /* @__PURE__ */ React26.createElement(React26.Fragment, null, /* @__PURE__ */ React26.createElement(
|
|
2299
2345
|
Backdrop,
|
|
2300
2346
|
{
|
|
2301
2347
|
open: showInfotip,
|
|
@@ -2305,7 +2351,7 @@ function TooltipOrInfotip({
|
|
|
2305
2351
|
zIndex: (theme) => theme.zIndex.modal - 1
|
|
2306
2352
|
}
|
|
2307
2353
|
}
|
|
2308
|
-
), /* @__PURE__ */
|
|
2354
|
+
), /* @__PURE__ */ React26.createElement(
|
|
2309
2355
|
Infotip,
|
|
2310
2356
|
{
|
|
2311
2357
|
placement: "top",
|
|
@@ -2332,14 +2378,14 @@ function TooltipOrInfotip({
|
|
|
2332
2378
|
children
|
|
2333
2379
|
));
|
|
2334
2380
|
}
|
|
2335
|
-
return /* @__PURE__ */
|
|
2381
|
+
return /* @__PURE__ */ React26.createElement(Tooltip5, { title: __9("Style origin", "elementor"), placement: "top" }, children);
|
|
2336
2382
|
}
|
|
2337
2383
|
|
|
2338
|
-
// src/styles-inheritance/styles-inheritance-indicator.tsx
|
|
2384
|
+
// src/styles-inheritance/components/styles-inheritance-indicator.tsx
|
|
2339
2385
|
var StylesInheritanceIndicator = () => {
|
|
2340
2386
|
const { path, propType } = useBoundProp();
|
|
2341
2387
|
const { id: currentStyleId, provider: currentStyleProvider, meta: currentStyleMeta } = useStyle();
|
|
2342
|
-
const isUsingNestedProps =
|
|
2388
|
+
const isUsingNestedProps = isExperimentActive6(EXPERIMENTAL_FEATURES.V_3_30);
|
|
2343
2389
|
const finalPath = isUsingNestedProps ? path : path.slice(0, 1);
|
|
2344
2390
|
const inheritanceChain = useStylesInheritanceChain(finalPath);
|
|
2345
2391
|
if (!inheritanceChain.length) {
|
|
@@ -2362,27 +2408,27 @@ var StylesInheritanceIndicator = () => {
|
|
|
2362
2408
|
const label = getLabel({ isFinalValue, hasValue });
|
|
2363
2409
|
const variantType = getVariant({ isFinalValue, hasValue, currentStyleProvider });
|
|
2364
2410
|
if (!isUsingIndicatorPopover()) {
|
|
2365
|
-
return /* @__PURE__ */
|
|
2411
|
+
return /* @__PURE__ */ React27.createElement(Tooltip6, { title: __10("Style origin", "elementor"), placement: "top" }, /* @__PURE__ */ React27.createElement(StyleIndicator, { variant: variantType, "aria-label": label }));
|
|
2366
2412
|
}
|
|
2367
|
-
return /* @__PURE__ */
|
|
2368
|
-
|
|
2413
|
+
return /* @__PURE__ */ React27.createElement(
|
|
2414
|
+
StylesInheritanceInfotip,
|
|
2369
2415
|
{
|
|
2370
2416
|
inheritanceChain,
|
|
2371
2417
|
path: finalPath,
|
|
2372
2418
|
propType,
|
|
2373
2419
|
label
|
|
2374
2420
|
},
|
|
2375
|
-
/* @__PURE__ */
|
|
2421
|
+
/* @__PURE__ */ React27.createElement(StyleIndicator, { variant: variantType })
|
|
2376
2422
|
);
|
|
2377
2423
|
};
|
|
2378
2424
|
var getLabel = ({ isFinalValue, hasValue }) => {
|
|
2379
2425
|
if (isFinalValue) {
|
|
2380
|
-
return
|
|
2426
|
+
return __10("This is the final value", "elementor");
|
|
2381
2427
|
}
|
|
2382
2428
|
if (hasValue) {
|
|
2383
|
-
return
|
|
2429
|
+
return __10("This value is overridden by another style", "elementor");
|
|
2384
2430
|
}
|
|
2385
|
-
return
|
|
2431
|
+
return __10("This has value from another style", "elementor");
|
|
2386
2432
|
};
|
|
2387
2433
|
var getVariant = ({
|
|
2388
2434
|
isFinalValue,
|
|
@@ -2409,7 +2455,7 @@ var StylesField = ({ bind, placeholder, children }) => {
|
|
|
2409
2455
|
const setValues = (newValue) => {
|
|
2410
2456
|
setValue(newValue[bind]);
|
|
2411
2457
|
};
|
|
2412
|
-
return /* @__PURE__ */
|
|
2458
|
+
return /* @__PURE__ */ React28.createElement(
|
|
2413
2459
|
ControlAdornmentsProvider,
|
|
2414
2460
|
{
|
|
2415
2461
|
items: [
|
|
@@ -2419,7 +2465,7 @@ var StylesField = ({ bind, placeholder, children }) => {
|
|
|
2419
2465
|
}
|
|
2420
2466
|
]
|
|
2421
2467
|
},
|
|
2422
|
-
/* @__PURE__ */
|
|
2468
|
+
/* @__PURE__ */ React28.createElement(
|
|
2423
2469
|
PropProvider2,
|
|
2424
2470
|
{
|
|
2425
2471
|
propType,
|
|
@@ -2428,53 +2474,44 @@ var StylesField = ({ bind, placeholder, children }) => {
|
|
|
2428
2474
|
placeholder: placeholderValues,
|
|
2429
2475
|
disabled: !canEdit
|
|
2430
2476
|
},
|
|
2431
|
-
/* @__PURE__ */
|
|
2477
|
+
/* @__PURE__ */ React28.createElement(PropKeyProvider2, { bind }, children)
|
|
2432
2478
|
)
|
|
2433
2479
|
);
|
|
2434
2480
|
};
|
|
2435
2481
|
|
|
2436
2482
|
// src/components/style-sections/background-section/background-section.tsx
|
|
2437
2483
|
var BackgroundSection = () => {
|
|
2438
|
-
return /* @__PURE__ */
|
|
2484
|
+
return /* @__PURE__ */ React29.createElement(SectionContent, null, /* @__PURE__ */ React29.createElement(StylesField, { bind: "background" }, /* @__PURE__ */ React29.createElement(BackgroundControl, null)));
|
|
2439
2485
|
};
|
|
2440
2486
|
|
|
2441
2487
|
// src/components/style-sections/border-section/border-section.tsx
|
|
2442
|
-
import * as
|
|
2488
|
+
import * as React39 from "react";
|
|
2443
2489
|
|
|
2444
2490
|
// src/components/panel-divider.tsx
|
|
2445
|
-
import * as
|
|
2491
|
+
import * as React30 from "react";
|
|
2446
2492
|
import { Divider as Divider4 } from "@elementor/ui";
|
|
2447
|
-
var PanelDivider = () => /* @__PURE__ */
|
|
2493
|
+
var PanelDivider = () => /* @__PURE__ */ React30.createElement(Divider4, { sx: { my: 0.5 } });
|
|
2448
2494
|
|
|
2449
2495
|
// src/components/style-sections/border-section/border-field.tsx
|
|
2450
|
-
import * as
|
|
2451
|
-
import {
|
|
2496
|
+
import * as React36 from "react";
|
|
2497
|
+
import { ControlFormLabel as ControlFormLabel3 } from "@elementor/editor-controls";
|
|
2498
|
+
import { __ as __14 } from "@wordpress/i18n";
|
|
2452
2499
|
|
|
2453
2500
|
// src/components/add-or-remove-content.tsx
|
|
2454
2501
|
import * as React31 from "react";
|
|
2455
2502
|
import { MinusIcon, PlusIcon } from "@elementor/icons";
|
|
2456
|
-
import { Collapse as
|
|
2457
|
-
|
|
2458
|
-
// src/components/control-label.tsx
|
|
2459
|
-
import * as React30 from "react";
|
|
2460
|
-
import { ControlAdornments, ControlFormLabel as ControlFormLabel2 } from "@elementor/editor-controls";
|
|
2461
|
-
import { Stack as Stack8 } from "@elementor/ui";
|
|
2462
|
-
var ControlLabel = ({ children }) => {
|
|
2463
|
-
return /* @__PURE__ */ React30.createElement(Stack8, { direction: "row", alignItems: "center", justifyItems: "start", gap: 1 }, /* @__PURE__ */ React30.createElement(ControlFormLabel2, null, children), /* @__PURE__ */ React30.createElement(ControlAdornments, null));
|
|
2464
|
-
};
|
|
2465
|
-
|
|
2466
|
-
// src/components/add-or-remove-content.tsx
|
|
2503
|
+
import { Collapse as Collapse3, IconButton as IconButton4, Stack as Stack8 } from "@elementor/ui";
|
|
2467
2504
|
var SIZE6 = "tiny";
|
|
2468
2505
|
var AddOrRemoveContent = ({
|
|
2469
2506
|
isAdded,
|
|
2470
|
-
label,
|
|
2471
2507
|
onAdd,
|
|
2472
2508
|
onRemove,
|
|
2473
2509
|
children,
|
|
2474
|
-
disabled
|
|
2510
|
+
disabled,
|
|
2511
|
+
renderLabel
|
|
2475
2512
|
}) => {
|
|
2476
2513
|
return /* @__PURE__ */ React31.createElement(SectionContent, null, /* @__PURE__ */ React31.createElement(
|
|
2477
|
-
|
|
2514
|
+
Stack8,
|
|
2478
2515
|
{
|
|
2479
2516
|
direction: "row",
|
|
2480
2517
|
sx: {
|
|
@@ -2483,80 +2520,90 @@ var AddOrRemoveContent = ({
|
|
|
2483
2520
|
marginInlineEnd: -0.75
|
|
2484
2521
|
}
|
|
2485
2522
|
},
|
|
2486
|
-
|
|
2523
|
+
renderLabel(),
|
|
2487
2524
|
isAdded ? /* @__PURE__ */ React31.createElement(IconButton4, { size: SIZE6, onClick: onRemove, "aria-label": "Remove", disabled }, /* @__PURE__ */ React31.createElement(MinusIcon, { fontSize: SIZE6 })) : /* @__PURE__ */ React31.createElement(IconButton4, { size: SIZE6, onClick: onAdd, "aria-label": "Add", disabled }, /* @__PURE__ */ React31.createElement(PlusIcon, { fontSize: SIZE6 }))
|
|
2488
|
-
), /* @__PURE__ */ React31.createElement(
|
|
2525
|
+
), /* @__PURE__ */ React31.createElement(Collapse3, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React31.createElement(SectionContent, null, children)));
|
|
2489
2526
|
};
|
|
2490
2527
|
|
|
2491
2528
|
// src/components/style-sections/border-section/border-color-field.tsx
|
|
2492
|
-
import * as
|
|
2529
|
+
import * as React33 from "react";
|
|
2493
2530
|
import { ColorControl } from "@elementor/editor-controls";
|
|
2494
2531
|
import { Grid } from "@elementor/ui";
|
|
2495
|
-
import { __ as
|
|
2532
|
+
import { __ as __11 } from "@wordpress/i18n";
|
|
2533
|
+
|
|
2534
|
+
// src/components/control-label.tsx
|
|
2535
|
+
import * as React32 from "react";
|
|
2536
|
+
import { ControlAdornments, ControlFormLabel as ControlFormLabel2 } from "@elementor/editor-controls";
|
|
2537
|
+
import { Stack as Stack9 } from "@elementor/ui";
|
|
2538
|
+
var ControlLabel = ({ children }) => {
|
|
2539
|
+
return /* @__PURE__ */ React32.createElement(Stack9, { direction: "row", alignItems: "center", justifyItems: "start", gap: 0.25 }, /* @__PURE__ */ React32.createElement(ControlFormLabel2, null, children), /* @__PURE__ */ React32.createElement(ControlAdornments, null));
|
|
2540
|
+
};
|
|
2541
|
+
|
|
2542
|
+
// src/components/style-sections/border-section/border-color-field.tsx
|
|
2496
2543
|
var BorderColorField = () => {
|
|
2497
|
-
return /* @__PURE__ */
|
|
2544
|
+
return /* @__PURE__ */ React33.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React33.createElement(Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(ControlLabel, null, __11("Border color", "elementor"))), /* @__PURE__ */ React33.createElement(Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(ColorControl, null))));
|
|
2498
2545
|
};
|
|
2499
2546
|
|
|
2500
2547
|
// src/components/style-sections/border-section/border-style-field.tsx
|
|
2501
|
-
import * as
|
|
2548
|
+
import * as React34 from "react";
|
|
2502
2549
|
import { SelectControl as SelectControl2 } from "@elementor/editor-controls";
|
|
2503
2550
|
import { Grid as Grid2 } from "@elementor/ui";
|
|
2504
|
-
import { __ as
|
|
2551
|
+
import { __ as __12 } from "@wordpress/i18n";
|
|
2505
2552
|
var borderStyles = [
|
|
2506
|
-
{ value: "none", label:
|
|
2507
|
-
{ value: "solid", label:
|
|
2508
|
-
{ value: "dashed", label:
|
|
2509
|
-
{ value: "dotted", label:
|
|
2510
|
-
{ value: "double", label:
|
|
2511
|
-
{ value: "groove", label:
|
|
2512
|
-
{ value: "ridge", label:
|
|
2513
|
-
{ value: "inset", label:
|
|
2514
|
-
{ value: "outset", label:
|
|
2553
|
+
{ value: "none", label: __12("None", "elementor") },
|
|
2554
|
+
{ value: "solid", label: __12("Solid", "elementor") },
|
|
2555
|
+
{ value: "dashed", label: __12("Dashed", "elementor") },
|
|
2556
|
+
{ value: "dotted", label: __12("Dotted", "elementor") },
|
|
2557
|
+
{ value: "double", label: __12("Double", "elementor") },
|
|
2558
|
+
{ value: "groove", label: __12("Groove", "elementor") },
|
|
2559
|
+
{ value: "ridge", label: __12("Ridge", "elementor") },
|
|
2560
|
+
{ value: "inset", label: __12("Inset", "elementor") },
|
|
2561
|
+
{ value: "outset", label: __12("Outset", "elementor") }
|
|
2515
2562
|
];
|
|
2516
2563
|
var BorderStyleField = () => {
|
|
2517
|
-
return /* @__PURE__ */
|
|
2564
|
+
return /* @__PURE__ */ React34.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React34.createElement(Grid2, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(Grid2, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(ControlLabel, null, __12("Border type", "elementor"))), /* @__PURE__ */ React34.createElement(Grid2, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React34.createElement(SelectControl2, { options: borderStyles }))));
|
|
2518
2565
|
};
|
|
2519
2566
|
|
|
2520
2567
|
// src/components/style-sections/border-section/border-width-field.tsx
|
|
2521
|
-
import * as
|
|
2568
|
+
import * as React35 from "react";
|
|
2522
2569
|
import { EqualUnequalSizesControl } from "@elementor/editor-controls";
|
|
2523
2570
|
import { borderWidthPropTypeUtil } from "@elementor/editor-props";
|
|
2524
2571
|
import { SideAllIcon, SideBottomIcon, SideLeftIcon, SideRightIcon, SideTopIcon } from "@elementor/icons";
|
|
2525
2572
|
import { withDirection } from "@elementor/ui";
|
|
2526
|
-
import { __ as
|
|
2573
|
+
import { __ as __13 } from "@wordpress/i18n";
|
|
2527
2574
|
var InlineStartIcon = withDirection(SideRightIcon);
|
|
2528
2575
|
var InlineEndIcon = withDirection(SideLeftIcon);
|
|
2529
2576
|
var getEdges = (isSiteRtl) => [
|
|
2530
2577
|
{
|
|
2531
|
-
label:
|
|
2532
|
-
icon: /* @__PURE__ */
|
|
2578
|
+
label: __13("Top", "elementor"),
|
|
2579
|
+
icon: /* @__PURE__ */ React35.createElement(SideTopIcon, { fontSize: "tiny" }),
|
|
2533
2580
|
bind: "block-start"
|
|
2534
2581
|
},
|
|
2535
2582
|
{
|
|
2536
|
-
label: isSiteRtl ?
|
|
2537
|
-
icon: /* @__PURE__ */
|
|
2583
|
+
label: isSiteRtl ? __13("Left", "elementor") : __13("Right", "elementor"),
|
|
2584
|
+
icon: /* @__PURE__ */ React35.createElement(InlineStartIcon, { fontSize: "tiny" }),
|
|
2538
2585
|
bind: "inline-end"
|
|
2539
2586
|
},
|
|
2540
2587
|
{
|
|
2541
|
-
label:
|
|
2542
|
-
icon: /* @__PURE__ */
|
|
2588
|
+
label: __13("Bottom", "elementor"),
|
|
2589
|
+
icon: /* @__PURE__ */ React35.createElement(SideBottomIcon, { fontSize: "tiny" }),
|
|
2543
2590
|
bind: "block-end"
|
|
2544
2591
|
},
|
|
2545
2592
|
{
|
|
2546
|
-
label: isSiteRtl ?
|
|
2547
|
-
icon: /* @__PURE__ */
|
|
2593
|
+
label: isSiteRtl ? __13("Right", "elementor") : __13("Left", "elementor"),
|
|
2594
|
+
icon: /* @__PURE__ */ React35.createElement(InlineEndIcon, { fontSize: "tiny" }),
|
|
2548
2595
|
bind: "inline-start"
|
|
2549
2596
|
}
|
|
2550
2597
|
];
|
|
2551
2598
|
var BorderWidthField = () => {
|
|
2552
2599
|
const { isSiteRtl } = useDirection();
|
|
2553
|
-
return /* @__PURE__ */
|
|
2600
|
+
return /* @__PURE__ */ React35.createElement(StylesField, { bind: "border-width" }, /* @__PURE__ */ React35.createElement(
|
|
2554
2601
|
EqualUnequalSizesControl,
|
|
2555
2602
|
{
|
|
2556
2603
|
items: getEdges(isSiteRtl),
|
|
2557
|
-
label:
|
|
2558
|
-
icon: /* @__PURE__ */
|
|
2559
|
-
tooltipLabel:
|
|
2604
|
+
label: __13("Border width", "elementor"),
|
|
2605
|
+
icon: /* @__PURE__ */ React35.createElement(SideAllIcon, { fontSize: "tiny" }),
|
|
2606
|
+
tooltipLabel: __13("Adjust borders", "elementor"),
|
|
2560
2607
|
multiSizePropTypeUtil: borderWidthPropTypeUtil
|
|
2561
2608
|
}
|
|
2562
2609
|
));
|
|
@@ -2582,23 +2629,23 @@ var BorderField = () => {
|
|
|
2582
2629
|
});
|
|
2583
2630
|
};
|
|
2584
2631
|
const hasBorder = Object.values(border ?? {}).some(Boolean);
|
|
2585
|
-
return /* @__PURE__ */
|
|
2632
|
+
return /* @__PURE__ */ React36.createElement(
|
|
2586
2633
|
AddOrRemoveContent,
|
|
2587
2634
|
{
|
|
2588
|
-
label: __13("Border", "elementor"),
|
|
2589
2635
|
isAdded: hasBorder,
|
|
2590
2636
|
onAdd: addBorder,
|
|
2591
2637
|
onRemove: removeBorder,
|
|
2592
|
-
disabled: !canEdit
|
|
2638
|
+
disabled: !canEdit,
|
|
2639
|
+
renderLabel: () => /* @__PURE__ */ React36.createElement(ControlFormLabel3, null, __14("Border", "elementor"))
|
|
2593
2640
|
},
|
|
2594
|
-
/* @__PURE__ */
|
|
2595
|
-
/* @__PURE__ */
|
|
2596
|
-
/* @__PURE__ */
|
|
2641
|
+
/* @__PURE__ */ React36.createElement(BorderWidthField, null),
|
|
2642
|
+
/* @__PURE__ */ React36.createElement(BorderColorField, null),
|
|
2643
|
+
/* @__PURE__ */ React36.createElement(BorderStyleField, null)
|
|
2597
2644
|
);
|
|
2598
2645
|
};
|
|
2599
2646
|
|
|
2600
2647
|
// src/components/style-sections/border-section/border-radius-field.tsx
|
|
2601
|
-
import * as
|
|
2648
|
+
import * as React38 from "react";
|
|
2602
2649
|
import { EqualUnequalSizesControl as EqualUnequalSizesControl2 } from "@elementor/editor-controls";
|
|
2603
2650
|
import { borderRadiusPropTypeUtil } from "@elementor/editor-props";
|
|
2604
2651
|
import {
|
|
@@ -2609,66 +2656,76 @@ import {
|
|
|
2609
2656
|
RadiusTopRightIcon
|
|
2610
2657
|
} from "@elementor/icons";
|
|
2611
2658
|
import { withDirection as withDirection2 } from "@elementor/ui";
|
|
2612
|
-
import { __ as
|
|
2659
|
+
import { __ as __15 } from "@wordpress/i18n";
|
|
2660
|
+
|
|
2661
|
+
// src/styles-inheritance/components/ui-providers.tsx
|
|
2662
|
+
import * as React37 from "react";
|
|
2663
|
+
import { DirectionProvider, ThemeProvider } from "@elementor/ui";
|
|
2664
|
+
var UiProviders = ({ children }) => {
|
|
2665
|
+
const { isSiteRtl } = useDirection();
|
|
2666
|
+
return /* @__PURE__ */ React37.createElement(DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React37.createElement(ThemeProvider, null, children));
|
|
2667
|
+
};
|
|
2668
|
+
|
|
2669
|
+
// src/components/style-sections/border-section/border-radius-field.tsx
|
|
2613
2670
|
var StartStartIcon = withDirection2(RadiusTopLeftIcon);
|
|
2614
2671
|
var StartEndIcon = withDirection2(RadiusTopRightIcon);
|
|
2615
2672
|
var EndStartIcon = withDirection2(RadiusBottomLeftIcon);
|
|
2616
2673
|
var EndEndIcon = withDirection2(RadiusBottomRightIcon);
|
|
2617
|
-
var getStartStartLabel = (isSiteRtl) => isSiteRtl ?
|
|
2618
|
-
var getStartEndLabel = (isSiteRtl) => isSiteRtl ?
|
|
2619
|
-
var getEndStartLabel = (isSiteRtl) => isSiteRtl ?
|
|
2620
|
-
var getEndEndLabel = (isSiteRtl) => isSiteRtl ?
|
|
2674
|
+
var getStartStartLabel = (isSiteRtl) => isSiteRtl ? __15("Top right", "elementor") : __15("Top left", "elementor");
|
|
2675
|
+
var getStartEndLabel = (isSiteRtl) => isSiteRtl ? __15("Top left", "elementor") : __15("Top right", "elementor");
|
|
2676
|
+
var getEndStartLabel = (isSiteRtl) => isSiteRtl ? __15("Bottom right", "elementor") : __15("Bottom left", "elementor");
|
|
2677
|
+
var getEndEndLabel = (isSiteRtl) => isSiteRtl ? __15("Bottom left", "elementor") : __15("Bottom right", "elementor");
|
|
2621
2678
|
var getCorners = (isSiteRtl) => [
|
|
2622
2679
|
{
|
|
2623
2680
|
label: getStartStartLabel(isSiteRtl),
|
|
2624
|
-
icon: /* @__PURE__ */
|
|
2681
|
+
icon: /* @__PURE__ */ React38.createElement(StartStartIcon, { fontSize: "tiny" }),
|
|
2625
2682
|
bind: "start-start"
|
|
2626
2683
|
},
|
|
2627
2684
|
{
|
|
2628
2685
|
label: getStartEndLabel(isSiteRtl),
|
|
2629
|
-
icon: /* @__PURE__ */
|
|
2686
|
+
icon: /* @__PURE__ */ React38.createElement(StartEndIcon, { fontSize: "tiny" }),
|
|
2630
2687
|
bind: "start-end"
|
|
2631
2688
|
},
|
|
2632
2689
|
{
|
|
2633
2690
|
label: getEndStartLabel(isSiteRtl),
|
|
2634
|
-
icon: /* @__PURE__ */
|
|
2691
|
+
icon: /* @__PURE__ */ React38.createElement(EndStartIcon, { fontSize: "tiny" }),
|
|
2635
2692
|
bind: "end-start"
|
|
2636
2693
|
},
|
|
2637
2694
|
{
|
|
2638
2695
|
label: getEndEndLabel(isSiteRtl),
|
|
2639
|
-
icon: /* @__PURE__ */
|
|
2696
|
+
icon: /* @__PURE__ */ React38.createElement(EndEndIcon, { fontSize: "tiny" }),
|
|
2640
2697
|
bind: "end-end"
|
|
2641
2698
|
}
|
|
2642
2699
|
];
|
|
2643
2700
|
var BorderRadiusField = () => {
|
|
2644
2701
|
const { isSiteRtl } = useDirection();
|
|
2645
|
-
return /* @__PURE__ */
|
|
2702
|
+
return /* @__PURE__ */ React38.createElement(UiProviders, null, /* @__PURE__ */ React38.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React38.createElement(
|
|
2646
2703
|
EqualUnequalSizesControl2,
|
|
2647
2704
|
{
|
|
2648
2705
|
items: getCorners(isSiteRtl),
|
|
2649
|
-
label:
|
|
2650
|
-
icon: /* @__PURE__ */
|
|
2651
|
-
tooltipLabel:
|
|
2706
|
+
label: __15("Border radius", "elementor"),
|
|
2707
|
+
icon: /* @__PURE__ */ React38.createElement(BorderCornersIcon, { fontSize: "tiny" }),
|
|
2708
|
+
tooltipLabel: __15("Adjust corners", "elementor"),
|
|
2652
2709
|
multiSizePropTypeUtil: borderRadiusPropTypeUtil
|
|
2653
2710
|
}
|
|
2654
|
-
));
|
|
2711
|
+
)));
|
|
2655
2712
|
};
|
|
2656
2713
|
|
|
2657
2714
|
// src/components/style-sections/border-section/border-section.tsx
|
|
2658
|
-
var BorderSection = () => /* @__PURE__ */
|
|
2715
|
+
var BorderSection = () => /* @__PURE__ */ React39.createElement(SectionContent, null, /* @__PURE__ */ React39.createElement(BorderRadiusField, null), /* @__PURE__ */ React39.createElement(PanelDivider, null), /* @__PURE__ */ React39.createElement(BorderField, null));
|
|
2659
2716
|
|
|
2660
2717
|
// src/components/style-sections/effects-section/effects-section.tsx
|
|
2661
|
-
import * as
|
|
2718
|
+
import * as React40 from "react";
|
|
2662
2719
|
import { BoxShadowRepeaterControl } from "@elementor/editor-controls";
|
|
2663
2720
|
var EffectsSection = () => {
|
|
2664
|
-
return /* @__PURE__ */
|
|
2721
|
+
return /* @__PURE__ */ React40.createElement(SectionContent, null, /* @__PURE__ */ React40.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React40.createElement(BoxShadowRepeaterControl, null)));
|
|
2665
2722
|
};
|
|
2666
2723
|
|
|
2667
2724
|
// src/components/style-sections/layout-section/layout-section.tsx
|
|
2668
|
-
import * as
|
|
2669
|
-
import { ControlFormLabel as
|
|
2725
|
+
import * as React52 from "react";
|
|
2726
|
+
import { ControlFormLabel as ControlFormLabel4 } from "@elementor/editor-controls";
|
|
2670
2727
|
import { useParentElement } from "@elementor/editor-elements";
|
|
2671
|
-
import { __ as
|
|
2728
|
+
import { __ as __26 } from "@wordpress/i18n";
|
|
2672
2729
|
|
|
2673
2730
|
// src/hooks/use-computed-style.ts
|
|
2674
2731
|
import { __privateUseListenTo as useListenTo, commandEndEvent, windowEvent } from "@elementor/editor-v1-adapters";
|
|
@@ -2696,7 +2753,7 @@ function useComputedStyle(elementId) {
|
|
|
2696
2753
|
}
|
|
2697
2754
|
|
|
2698
2755
|
// src/components/style-sections/layout-section/align-content-field.tsx
|
|
2699
|
-
import * as
|
|
2756
|
+
import * as React42 from "react";
|
|
2700
2757
|
import { ToggleControl } from "@elementor/editor-controls";
|
|
2701
2758
|
import {
|
|
2702
2759
|
JustifyBottomIcon,
|
|
@@ -2706,11 +2763,11 @@ import {
|
|
|
2706
2763
|
JustifySpaceBetweenVerticalIcon as BetweenIcon,
|
|
2707
2764
|
JustifyTopIcon
|
|
2708
2765
|
} from "@elementor/icons";
|
|
2709
|
-
import {
|
|
2710
|
-
import { __ as
|
|
2766
|
+
import { Stack as Stack10, withDirection as withDirection3 } from "@elementor/ui";
|
|
2767
|
+
import { __ as __16 } from "@wordpress/i18n";
|
|
2711
2768
|
|
|
2712
2769
|
// src/components/style-sections/layout-section/utils/rotated-icon.tsx
|
|
2713
|
-
import * as
|
|
2770
|
+
import * as React41 from "react";
|
|
2714
2771
|
import { useRef as useRef4 } from "react";
|
|
2715
2772
|
import { useTheme as useTheme2 } from "@elementor/ui";
|
|
2716
2773
|
var CLOCKWISE_ANGLES = {
|
|
@@ -2734,7 +2791,7 @@ var RotatedIcon = ({
|
|
|
2734
2791
|
}) => {
|
|
2735
2792
|
const rotate = useRef4(useGetTargetAngle(isClockwise, offset, disableRotationForReversed));
|
|
2736
2793
|
rotate.current = useGetTargetAngle(isClockwise, offset, disableRotationForReversed, rotate);
|
|
2737
|
-
return /* @__PURE__ */
|
|
2794
|
+
return /* @__PURE__ */ React41.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
|
|
2738
2795
|
};
|
|
2739
2796
|
var useGetTargetAngle = (isClockwise, offset, disableRotationForReversed, existingRef) => {
|
|
2740
2797
|
const [direction] = useStylesField("flex-direction");
|
|
@@ -2763,48 +2820,47 @@ var iconProps = {
|
|
|
2763
2820
|
var options = [
|
|
2764
2821
|
{
|
|
2765
2822
|
value: "start",
|
|
2766
|
-
label:
|
|
2767
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2823
|
+
label: __16("Start", "elementor"),
|
|
2824
|
+
renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
|
|
2768
2825
|
showTooltip: true
|
|
2769
2826
|
},
|
|
2770
2827
|
{
|
|
2771
2828
|
value: "center",
|
|
2772
|
-
label:
|
|
2773
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2829
|
+
label: __16("Center", "elementor"),
|
|
2830
|
+
renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: CenterIcon, size, ...iconProps }),
|
|
2774
2831
|
showTooltip: true
|
|
2775
2832
|
},
|
|
2776
2833
|
{
|
|
2777
2834
|
value: "end",
|
|
2778
|
-
label:
|
|
2779
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2835
|
+
label: __16("End", "elementor"),
|
|
2836
|
+
renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
|
|
2780
2837
|
showTooltip: true
|
|
2781
2838
|
},
|
|
2782
2839
|
{
|
|
2783
2840
|
value: "space-between",
|
|
2784
|
-
label:
|
|
2785
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2841
|
+
label: __16("Space between", "elementor"),
|
|
2842
|
+
renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: BetweenIcon, size, ...iconProps }),
|
|
2786
2843
|
showTooltip: true
|
|
2787
2844
|
},
|
|
2788
2845
|
{
|
|
2789
2846
|
value: "space-around",
|
|
2790
|
-
label:
|
|
2791
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2847
|
+
label: __16("Space around", "elementor"),
|
|
2848
|
+
renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: AroundIcon, size, ...iconProps }),
|
|
2792
2849
|
showTooltip: true
|
|
2793
2850
|
},
|
|
2794
2851
|
{
|
|
2795
2852
|
value: "space-evenly",
|
|
2796
|
-
label:
|
|
2797
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2853
|
+
label: __16("Space evenly", "elementor"),
|
|
2854
|
+
renderContent: ({ size }) => /* @__PURE__ */ React42.createElement(RotatedIcon, { icon: EvenlyIcon, size, ...iconProps }),
|
|
2798
2855
|
showTooltip: true
|
|
2799
2856
|
}
|
|
2800
2857
|
];
|
|
2801
2858
|
var AlignContentField = () => {
|
|
2802
|
-
|
|
2803
|
-
return /* @__PURE__ */ React40.createElement(DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React40.createElement(ThemeProvider, null, /* @__PURE__ */ React40.createElement(StylesField, { bind: "align-content" }, /* @__PURE__ */ React40.createElement(Stack10, { gap: 1 }, /* @__PURE__ */ React40.createElement(ControlLabel, null, __15("Align content", "elementor")), /* @__PURE__ */ React40.createElement(ToggleControl, { options, fullWidth: true })))));
|
|
2859
|
+
return /* @__PURE__ */ React42.createElement(UiProviders, null, /* @__PURE__ */ React42.createElement(StylesField, { bind: "align-content" }, /* @__PURE__ */ React42.createElement(Stack10, { gap: 1 }, /* @__PURE__ */ React42.createElement(ControlLabel, null, __16("Align content", "elementor")), /* @__PURE__ */ React42.createElement(ToggleControl, { options, fullWidth: true }))));
|
|
2804
2860
|
};
|
|
2805
2861
|
|
|
2806
2862
|
// src/components/style-sections/layout-section/align-items-field.tsx
|
|
2807
|
-
import * as
|
|
2863
|
+
import * as React43 from "react";
|
|
2808
2864
|
import { ToggleControl as ToggleControl2 } from "@elementor/editor-controls";
|
|
2809
2865
|
import {
|
|
2810
2866
|
LayoutAlignCenterIcon as CenterIcon2,
|
|
@@ -2812,8 +2868,8 @@ import {
|
|
|
2812
2868
|
LayoutAlignRightIcon,
|
|
2813
2869
|
LayoutDistributeVerticalIcon as JustifyIcon
|
|
2814
2870
|
} from "@elementor/icons";
|
|
2815
|
-
import {
|
|
2816
|
-
import { __ as
|
|
2871
|
+
import { Grid as Grid3, withDirection as withDirection4 } from "@elementor/ui";
|
|
2872
|
+
import { __ as __17 } from "@wordpress/i18n";
|
|
2817
2873
|
var StartIcon2 = withDirection4(LayoutAlignLeftIcon);
|
|
2818
2874
|
var EndIcon2 = withDirection4(LayoutAlignRightIcon);
|
|
2819
2875
|
var iconProps2 = {
|
|
@@ -2823,36 +2879,35 @@ var iconProps2 = {
|
|
|
2823
2879
|
var options2 = [
|
|
2824
2880
|
{
|
|
2825
2881
|
value: "start",
|
|
2826
|
-
label:
|
|
2827
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2882
|
+
label: __17("Start", "elementor"),
|
|
2883
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
|
|
2828
2884
|
showTooltip: true
|
|
2829
2885
|
},
|
|
2830
2886
|
{
|
|
2831
2887
|
value: "center",
|
|
2832
|
-
label:
|
|
2833
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2888
|
+
label: __17("Center", "elementor"),
|
|
2889
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: CenterIcon2, size, ...iconProps2 }),
|
|
2834
2890
|
showTooltip: true
|
|
2835
2891
|
},
|
|
2836
2892
|
{
|
|
2837
2893
|
value: "end",
|
|
2838
|
-
label:
|
|
2839
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2894
|
+
label: __17("End", "elementor"),
|
|
2895
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
|
|
2840
2896
|
showTooltip: true
|
|
2841
2897
|
},
|
|
2842
2898
|
{
|
|
2843
2899
|
value: "stretch",
|
|
2844
|
-
label:
|
|
2845
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2900
|
+
label: __17("Stretch", "elementor"),
|
|
2901
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: JustifyIcon, size, ...iconProps2 }),
|
|
2846
2902
|
showTooltip: true
|
|
2847
2903
|
}
|
|
2848
2904
|
];
|
|
2849
2905
|
var AlignItemsField = () => {
|
|
2850
|
-
|
|
2851
|
-
return /* @__PURE__ */ React41.createElement(DirectionProvider2, { rtl: isSiteRtl }, /* @__PURE__ */ React41.createElement(ThemeProvider2, null, /* @__PURE__ */ React41.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React41.createElement(Grid3, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(Grid3, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(ControlLabel, null, __16("Align items", "elementor"))), /* @__PURE__ */ React41.createElement(Grid3, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React41.createElement(ToggleControl2, { options: options2 }))))));
|
|
2906
|
+
return /* @__PURE__ */ React43.createElement(UiProviders, null, /* @__PURE__ */ React43.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React43.createElement(Grid3, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(Grid3, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(ControlLabel, null, __17("Align items", "elementor"))), /* @__PURE__ */ React43.createElement(Grid3, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React43.createElement(ToggleControl2, { options: options2 })))));
|
|
2852
2907
|
};
|
|
2853
2908
|
|
|
2854
2909
|
// src/components/style-sections/layout-section/align-self-child-field.tsx
|
|
2855
|
-
import * as
|
|
2910
|
+
import * as React44 from "react";
|
|
2856
2911
|
import { ToggleControl as ToggleControl3 } from "@elementor/editor-controls";
|
|
2857
2912
|
import {
|
|
2858
2913
|
LayoutAlignCenterIcon as CenterIcon3,
|
|
@@ -2860,8 +2915,8 @@ import {
|
|
|
2860
2915
|
LayoutAlignRightIcon as LayoutAlignRightIcon2,
|
|
2861
2916
|
LayoutDistributeVerticalIcon as JustifyIcon2
|
|
2862
2917
|
} from "@elementor/icons";
|
|
2863
|
-
import {
|
|
2864
|
-
import { __ as
|
|
2918
|
+
import { Grid as Grid4, withDirection as withDirection5 } from "@elementor/ui";
|
|
2919
|
+
import { __ as __18 } from "@wordpress/i18n";
|
|
2865
2920
|
var ALIGN_SELF_CHILD_OFFSET_MAP = {
|
|
2866
2921
|
row: 90,
|
|
2867
2922
|
"row-reverse": 90,
|
|
@@ -2876,8 +2931,8 @@ var iconProps3 = {
|
|
|
2876
2931
|
var getOptions = (parentStyleDirection) => [
|
|
2877
2932
|
{
|
|
2878
2933
|
value: "start",
|
|
2879
|
-
label:
|
|
2880
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2934
|
+
label: __18("Start", "elementor"),
|
|
2935
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(
|
|
2881
2936
|
RotatedIcon,
|
|
2882
2937
|
{
|
|
2883
2938
|
icon: StartIcon3,
|
|
@@ -2890,8 +2945,8 @@ var getOptions = (parentStyleDirection) => [
|
|
|
2890
2945
|
},
|
|
2891
2946
|
{
|
|
2892
2947
|
value: "center",
|
|
2893
|
-
label:
|
|
2894
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2948
|
+
label: __18("Center", "elementor"),
|
|
2949
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(
|
|
2895
2950
|
RotatedIcon,
|
|
2896
2951
|
{
|
|
2897
2952
|
icon: CenterIcon3,
|
|
@@ -2904,8 +2959,8 @@ var getOptions = (parentStyleDirection) => [
|
|
|
2904
2959
|
},
|
|
2905
2960
|
{
|
|
2906
2961
|
value: "end",
|
|
2907
|
-
label:
|
|
2908
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2962
|
+
label: __18("End", "elementor"),
|
|
2963
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(
|
|
2909
2964
|
RotatedIcon,
|
|
2910
2965
|
{
|
|
2911
2966
|
icon: EndIcon3,
|
|
@@ -2918,8 +2973,8 @@ var getOptions = (parentStyleDirection) => [
|
|
|
2918
2973
|
},
|
|
2919
2974
|
{
|
|
2920
2975
|
value: "stretch",
|
|
2921
|
-
label:
|
|
2922
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2976
|
+
label: __18("Stretch", "elementor"),
|
|
2977
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(
|
|
2923
2978
|
RotatedIcon,
|
|
2924
2979
|
{
|
|
2925
2980
|
icon: JustifyIcon2,
|
|
@@ -2932,108 +2987,106 @@ var getOptions = (parentStyleDirection) => [
|
|
|
2932
2987
|
}
|
|
2933
2988
|
];
|
|
2934
2989
|
var AlignSelfChild = ({ parentStyleDirection }) => {
|
|
2935
|
-
|
|
2936
|
-
return /* @__PURE__ */ React42.createElement(DirectionProvider3, { rtl: isSiteRtl }, /* @__PURE__ */ React42.createElement(ThemeProvider3, null, /* @__PURE__ */ React42.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React42.createElement(Grid4, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React42.createElement(Grid4, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(ControlLabel, null, __17("Align self", "elementor"))), /* @__PURE__ */ React42.createElement(Grid4, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React42.createElement(ToggleControl3, { options: getOptions(parentStyleDirection) }))))));
|
|
2990
|
+
return /* @__PURE__ */ React44.createElement(UiProviders, null, /* @__PURE__ */ React44.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React44.createElement(Grid4, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(Grid4, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(ControlLabel, null, __18("Align self", "elementor"))), /* @__PURE__ */ React44.createElement(Grid4, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React44.createElement(ToggleControl3, { options: getOptions(parentStyleDirection) })))));
|
|
2937
2991
|
};
|
|
2938
2992
|
|
|
2939
2993
|
// src/components/style-sections/layout-section/display-field.tsx
|
|
2940
|
-
import * as
|
|
2994
|
+
import * as React45 from "react";
|
|
2941
2995
|
import { ToggleControl as ToggleControl4 } from "@elementor/editor-controls";
|
|
2942
|
-
import { isExperimentActive as
|
|
2996
|
+
import { isExperimentActive as isExperimentActive7 } from "@elementor/editor-v1-adapters";
|
|
2943
2997
|
import { Stack as Stack11 } from "@elementor/ui";
|
|
2944
|
-
import { __ as
|
|
2998
|
+
import { __ as __19 } from "@wordpress/i18n";
|
|
2945
2999
|
var displayFieldItems = [
|
|
2946
3000
|
{
|
|
2947
3001
|
value: "block",
|
|
2948
|
-
renderContent: () =>
|
|
2949
|
-
label:
|
|
3002
|
+
renderContent: () => __19("Block", "elementor"),
|
|
3003
|
+
label: __19("Block", "elementor"),
|
|
2950
3004
|
showTooltip: true
|
|
2951
3005
|
},
|
|
2952
3006
|
{
|
|
2953
3007
|
value: "flex",
|
|
2954
|
-
renderContent: () =>
|
|
2955
|
-
label:
|
|
3008
|
+
renderContent: () => __19("Flex", "elementor"),
|
|
3009
|
+
label: __19("Flex", "elementor"),
|
|
2956
3010
|
showTooltip: true
|
|
2957
3011
|
},
|
|
2958
3012
|
{
|
|
2959
3013
|
value: "inline-block",
|
|
2960
|
-
renderContent: () =>
|
|
2961
|
-
label:
|
|
3014
|
+
renderContent: () => __19("In-blk", "elementor"),
|
|
3015
|
+
label: __19("Inline-block", "elementor"),
|
|
2962
3016
|
showTooltip: true
|
|
2963
3017
|
}
|
|
2964
3018
|
];
|
|
2965
3019
|
var DisplayField = () => {
|
|
2966
|
-
const isDisplayNoneFeatureActive =
|
|
3020
|
+
const isDisplayNoneFeatureActive = isExperimentActive7(EXPERIMENTAL_FEATURES.V_3_30);
|
|
2967
3021
|
const items3 = [...displayFieldItems];
|
|
2968
3022
|
if (isDisplayNoneFeatureActive) {
|
|
2969
3023
|
items3.push({
|
|
2970
3024
|
value: "none",
|
|
2971
|
-
renderContent: () =>
|
|
2972
|
-
label:
|
|
3025
|
+
renderContent: () => __19("None", "elementor"),
|
|
3026
|
+
label: __19("None", "elementor"),
|
|
2973
3027
|
showTooltip: true
|
|
2974
3028
|
});
|
|
2975
3029
|
}
|
|
2976
3030
|
items3.push({
|
|
2977
3031
|
value: "inline-flex",
|
|
2978
|
-
renderContent: () =>
|
|
2979
|
-
label:
|
|
3032
|
+
renderContent: () => __19("In-flx", "elementor"),
|
|
3033
|
+
label: __19("Inline-flex", "elementor"),
|
|
2980
3034
|
showTooltip: true
|
|
2981
3035
|
});
|
|
2982
3036
|
const placeholder = useDisplayPlaceholderValue();
|
|
2983
|
-
return /* @__PURE__ */
|
|
3037
|
+
return /* @__PURE__ */ React45.createElement(StylesField, { bind: "display", placeholder }, /* @__PURE__ */ React45.createElement(Stack11, { gap: 0.75 }, /* @__PURE__ */ React45.createElement(ControlLabel, null, __19("Display", "elementor")), /* @__PURE__ */ React45.createElement(ToggleControl4, { options: items3, maxItems: 4, fullWidth: true })));
|
|
2984
3038
|
};
|
|
2985
3039
|
var useDisplayPlaceholderValue = () => useStylesInheritanceChain(["display"])[0]?.value ?? void 0;
|
|
2986
3040
|
|
|
2987
3041
|
// src/components/style-sections/layout-section/flex-direction-field.tsx
|
|
2988
|
-
import * as
|
|
3042
|
+
import * as React46 from "react";
|
|
2989
3043
|
import { ToggleControl as ToggleControl5 } from "@elementor/editor-controls";
|
|
2990
3044
|
import { ArrowDownSmallIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpSmallIcon } from "@elementor/icons";
|
|
2991
|
-
import {
|
|
2992
|
-
import { __ as
|
|
3045
|
+
import { Grid as Grid5, withDirection as withDirection6 } from "@elementor/ui";
|
|
3046
|
+
import { __ as __20 } from "@wordpress/i18n";
|
|
2993
3047
|
var options3 = [
|
|
2994
3048
|
{
|
|
2995
3049
|
value: "row",
|
|
2996
|
-
label:
|
|
3050
|
+
label: __20("Row", "elementor"),
|
|
2997
3051
|
renderContent: ({ size }) => {
|
|
2998
3052
|
const StartIcon5 = withDirection6(ArrowRightIcon);
|
|
2999
|
-
return /* @__PURE__ */
|
|
3053
|
+
return /* @__PURE__ */ React46.createElement(StartIcon5, { fontSize: size });
|
|
3000
3054
|
},
|
|
3001
3055
|
showTooltip: true
|
|
3002
3056
|
},
|
|
3003
3057
|
{
|
|
3004
3058
|
value: "column",
|
|
3005
|
-
label:
|
|
3006
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3059
|
+
label: __20("Column", "elementor"),
|
|
3060
|
+
renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(ArrowDownSmallIcon, { fontSize: size }),
|
|
3007
3061
|
showTooltip: true
|
|
3008
3062
|
},
|
|
3009
3063
|
{
|
|
3010
3064
|
value: "row-reverse",
|
|
3011
|
-
label:
|
|
3065
|
+
label: __20("Reversed row", "elementor"),
|
|
3012
3066
|
renderContent: ({ size }) => {
|
|
3013
3067
|
const EndIcon5 = withDirection6(ArrowLeftIcon);
|
|
3014
|
-
return /* @__PURE__ */
|
|
3068
|
+
return /* @__PURE__ */ React46.createElement(EndIcon5, { fontSize: size });
|
|
3015
3069
|
},
|
|
3016
3070
|
showTooltip: true
|
|
3017
3071
|
},
|
|
3018
3072
|
{
|
|
3019
3073
|
value: "column-reverse",
|
|
3020
|
-
label:
|
|
3021
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3074
|
+
label: __20("Reversed column", "elementor"),
|
|
3075
|
+
renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(ArrowUpSmallIcon, { fontSize: size }),
|
|
3022
3076
|
showTooltip: true
|
|
3023
3077
|
}
|
|
3024
3078
|
];
|
|
3025
3079
|
var FlexDirectionField = () => {
|
|
3026
|
-
|
|
3027
|
-
return /* @__PURE__ */ React44.createElement(DirectionProvider4, { rtl: isSiteRtl }, /* @__PURE__ */ React44.createElement(ThemeProvider4, null, /* @__PURE__ */ React44.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React44.createElement(Grid5, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(Grid5, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(ControlLabel, null, __19("Direction", "elementor"))), /* @__PURE__ */ React44.createElement(Grid5, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React44.createElement(ToggleControl5, { options: options3 }))))));
|
|
3080
|
+
return /* @__PURE__ */ React46.createElement(UiProviders, null, /* @__PURE__ */ React46.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React46.createElement(Grid5, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(Grid5, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(ControlLabel, null, __20("Direction", "elementor"))), /* @__PURE__ */ React46.createElement(Grid5, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React46.createElement(ToggleControl5, { options: options3 })))));
|
|
3028
3081
|
};
|
|
3029
3082
|
|
|
3030
3083
|
// src/components/style-sections/layout-section/flex-order-field.tsx
|
|
3031
|
-
import * as
|
|
3032
|
-
import { useState as
|
|
3084
|
+
import * as React47 from "react";
|
|
3085
|
+
import { useState as useState10 } from "react";
|
|
3033
3086
|
import { ControlToggleButtonGroup, NumberControl } from "@elementor/editor-controls";
|
|
3034
3087
|
import { ArrowDownSmallIcon as ArrowDownSmallIcon2, ArrowUpSmallIcon as ArrowUpSmallIcon2, PencilIcon } from "@elementor/icons";
|
|
3035
|
-
import {
|
|
3036
|
-
import { __ as
|
|
3088
|
+
import { Grid as Grid6 } from "@elementor/ui";
|
|
3089
|
+
import { __ as __21 } from "@wordpress/i18n";
|
|
3037
3090
|
var FIRST_DEFAULT_VALUE = -99999;
|
|
3038
3091
|
var LAST_DEFAULT_VALUE = 99999;
|
|
3039
3092
|
var FIRST = "first";
|
|
@@ -3046,28 +3099,27 @@ var orderValueMap = {
|
|
|
3046
3099
|
var items = [
|
|
3047
3100
|
{
|
|
3048
3101
|
value: FIRST,
|
|
3049
|
-
label:
|
|
3050
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3102
|
+
label: __21("First", "elementor"),
|
|
3103
|
+
renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(ArrowUpSmallIcon2, { fontSize: size }),
|
|
3051
3104
|
showTooltip: true
|
|
3052
3105
|
},
|
|
3053
3106
|
{
|
|
3054
3107
|
value: LAST,
|
|
3055
|
-
label:
|
|
3056
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3108
|
+
label: __21("Last", "elementor"),
|
|
3109
|
+
renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(ArrowDownSmallIcon2, { fontSize: size }),
|
|
3057
3110
|
showTooltip: true
|
|
3058
3111
|
},
|
|
3059
3112
|
{
|
|
3060
3113
|
value: CUSTOM,
|
|
3061
|
-
label:
|
|
3062
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3114
|
+
label: __21("Custom", "elementor"),
|
|
3115
|
+
renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(PencilIcon, { fontSize: size }),
|
|
3063
3116
|
showTooltip: true
|
|
3064
3117
|
}
|
|
3065
3118
|
];
|
|
3066
3119
|
var FlexOrderField = () => {
|
|
3067
|
-
const { isSiteRtl } = useDirection();
|
|
3068
3120
|
const [order, setOrder] = useStylesField("order");
|
|
3069
3121
|
const { canEdit } = useStyle();
|
|
3070
|
-
const [groupControlValue, setGroupControlValue] =
|
|
3122
|
+
const [groupControlValue, setGroupControlValue] = useState10(getGroupControlValue(order?.value || null));
|
|
3071
3123
|
const handleToggleButtonChange = (group) => {
|
|
3072
3124
|
setGroupControlValue(group);
|
|
3073
3125
|
if (!group || group === CUSTOM) {
|
|
@@ -3076,7 +3128,7 @@ var FlexOrderField = () => {
|
|
|
3076
3128
|
}
|
|
3077
3129
|
setOrder({ $$type: "number", value: orderValueMap[group] });
|
|
3078
3130
|
};
|
|
3079
|
-
return /* @__PURE__ */
|
|
3131
|
+
return /* @__PURE__ */ React47.createElement(UiProviders, null, /* @__PURE__ */ React47.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React47.createElement(SectionContent, null, /* @__PURE__ */ React47.createElement(Grid6, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(Grid6, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel, null, __21("Order", "elementor"))), /* @__PURE__ */ React47.createElement(Grid6, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React47.createElement(
|
|
3080
3132
|
ControlToggleButtonGroup,
|
|
3081
3133
|
{
|
|
3082
3134
|
items,
|
|
@@ -3085,14 +3137,14 @@ var FlexOrderField = () => {
|
|
|
3085
3137
|
exclusive: true,
|
|
3086
3138
|
disabled: !canEdit
|
|
3087
3139
|
}
|
|
3088
|
-
))), CUSTOM === groupControlValue && /* @__PURE__ */
|
|
3140
|
+
))), CUSTOM === groupControlValue && /* @__PURE__ */ React47.createElement(Grid6, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(Grid6, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel, null, __21("Custom order", "elementor"))), /* @__PURE__ */ React47.createElement(Grid6, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React47.createElement(
|
|
3089
3141
|
NumberControl,
|
|
3090
3142
|
{
|
|
3091
3143
|
min: FIRST_DEFAULT_VALUE + 1,
|
|
3092
3144
|
max: LAST_DEFAULT_VALUE - 1,
|
|
3093
3145
|
shouldForceInt: true
|
|
3094
3146
|
}
|
|
3095
|
-
))))))
|
|
3147
|
+
))))));
|
|
3096
3148
|
};
|
|
3097
3149
|
var getGroupControlValue = (order) => {
|
|
3098
3150
|
if (LAST_DEFAULT_VALUE === order) {
|
|
@@ -3105,8 +3157,8 @@ var getGroupControlValue = (order) => {
|
|
|
3105
3157
|
};
|
|
3106
3158
|
|
|
3107
3159
|
// src/components/style-sections/layout-section/flex-size-field.tsx
|
|
3108
|
-
import * as
|
|
3109
|
-
import { useMemo as useMemo5, useState as
|
|
3160
|
+
import * as React48 from "react";
|
|
3161
|
+
import { useMemo as useMemo5, useRef as useRef5, useState as useState11 } from "react";
|
|
3110
3162
|
import {
|
|
3111
3163
|
ControlToggleButtonGroup as ControlToggleButtonGroup2,
|
|
3112
3164
|
NumberControl as NumberControl2,
|
|
@@ -3114,37 +3166,36 @@ import {
|
|
|
3114
3166
|
} from "@elementor/editor-controls";
|
|
3115
3167
|
import { numberPropTypeUtil } from "@elementor/editor-props";
|
|
3116
3168
|
import { ExpandIcon, PencilIcon as PencilIcon2, ShrinkIcon } from "@elementor/icons";
|
|
3117
|
-
import {
|
|
3118
|
-
import { __ as
|
|
3169
|
+
import { Grid as Grid7 } from "@elementor/ui";
|
|
3170
|
+
import { __ as __22 } from "@wordpress/i18n";
|
|
3119
3171
|
var DEFAULT = 1;
|
|
3120
3172
|
var items2 = [
|
|
3121
3173
|
{
|
|
3122
3174
|
value: "flex-grow",
|
|
3123
|
-
label:
|
|
3124
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3175
|
+
label: __22("Grow", "elementor"),
|
|
3176
|
+
renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(ExpandIcon, { fontSize: size }),
|
|
3125
3177
|
showTooltip: true
|
|
3126
3178
|
},
|
|
3127
3179
|
{
|
|
3128
3180
|
value: "flex-shrink",
|
|
3129
|
-
label:
|
|
3130
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3181
|
+
label: __22("Shrink", "elementor"),
|
|
3182
|
+
renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(ShrinkIcon, { fontSize: size }),
|
|
3131
3183
|
showTooltip: true
|
|
3132
3184
|
},
|
|
3133
3185
|
{
|
|
3134
3186
|
value: "custom",
|
|
3135
|
-
label:
|
|
3136
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3187
|
+
label: __22("Custom", "elementor"),
|
|
3188
|
+
renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(PencilIcon2, { fontSize: size }),
|
|
3137
3189
|
showTooltip: true
|
|
3138
3190
|
}
|
|
3139
3191
|
];
|
|
3140
3192
|
var FlexSizeField = () => {
|
|
3141
|
-
const { isSiteRtl } = useDirection();
|
|
3142
3193
|
const { canEdit } = useStyle();
|
|
3143
3194
|
const [fields, setFields] = useStylesFields(["flex-grow", "flex-shrink", "flex-basis"]);
|
|
3144
3195
|
const grow = fields?.["flex-grow"]?.value || null;
|
|
3145
3196
|
const shrink = fields?.["flex-shrink"]?.value || null;
|
|
3146
3197
|
const basis = fields?.["flex-basis"]?.value || null;
|
|
3147
|
-
const currentGroup = useMemo5(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] =
|
|
3198
|
+
const currentGroup = useMemo5(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = useState11(currentGroup);
|
|
3148
3199
|
const onChangeGroup = (group = null) => {
|
|
3149
3200
|
setActiveGroup(group);
|
|
3150
3201
|
if (!group || group === "custom") {
|
|
@@ -3169,7 +3220,7 @@ var FlexSizeField = () => {
|
|
|
3169
3220
|
"flex-shrink": numberPropTypeUtil.create(DEFAULT)
|
|
3170
3221
|
});
|
|
3171
3222
|
};
|
|
3172
|
-
return /* @__PURE__ */
|
|
3223
|
+
return /* @__PURE__ */ React48.createElement(UiProviders, null, /* @__PURE__ */ React48.createElement(SectionContent, null, /* @__PURE__ */ React48.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(StylesField, { bind: activeGroup ?? "" }, /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(ControlLabel, null, __22("Size", "elementor"))), /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React48.createElement(
|
|
3173
3224
|
ControlToggleButtonGroup2,
|
|
3174
3225
|
{
|
|
3175
3226
|
value: activeGroup,
|
|
@@ -3178,9 +3229,12 @@ var FlexSizeField = () => {
|
|
|
3178
3229
|
items: items2,
|
|
3179
3230
|
exclusive: true
|
|
3180
3231
|
}
|
|
3181
|
-
)))), "custom" === activeGroup && /* @__PURE__ */
|
|
3232
|
+
)))), "custom" === activeGroup && /* @__PURE__ */ React48.createElement(FlexCustomField, null)));
|
|
3233
|
+
};
|
|
3234
|
+
var FlexCustomField = () => {
|
|
3235
|
+
const flexBasisRowRef = useRef5();
|
|
3236
|
+
return /* @__PURE__ */ React48.createElement(React48.Fragment, null, /* @__PURE__ */ React48.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React48.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(ControlLabel, null, __22("Grow", "elementor"))), /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React48.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React48.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React48.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(ControlLabel, null, __22("Shrink", "elementor"))), /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React48.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React48.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React48.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: flexBasisRowRef }, /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(ControlLabel, null, __22("Basis", "elementor"))), /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React48.createElement(SizeControl2, { extendedOptions: ["auto"], anchorRef: flexBasisRowRef })))));
|
|
3182
3237
|
};
|
|
3183
|
-
var FlexCustomField = () => /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React46.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(ControlLabel, null, __21("Grow", "elementor"))), /* @__PURE__ */ React46.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React46.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React46.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React46.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(ControlLabel, null, __21("Shrink", "elementor"))), /* @__PURE__ */ React46.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React46.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React46.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React46.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React46.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React46.createElement(ControlLabel, null, __21("Basis", "elementor"))), /* @__PURE__ */ React46.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React46.createElement(SizeControl2, { extendedValues: ["auto"] })))));
|
|
3184
3238
|
var getActiveGroup = ({
|
|
3185
3239
|
grow,
|
|
3186
3240
|
shrink,
|
|
@@ -3202,16 +3256,16 @@ var getActiveGroup = ({
|
|
|
3202
3256
|
};
|
|
3203
3257
|
|
|
3204
3258
|
// src/components/style-sections/layout-section/gap-control-field.tsx
|
|
3205
|
-
import * as
|
|
3259
|
+
import * as React49 from "react";
|
|
3206
3260
|
import { GapControl } from "@elementor/editor-controls";
|
|
3207
3261
|
import { Stack as Stack12 } from "@elementor/ui";
|
|
3208
|
-
import { __ as
|
|
3262
|
+
import { __ as __23 } from "@wordpress/i18n";
|
|
3209
3263
|
var GapControlField = () => {
|
|
3210
|
-
return /* @__PURE__ */
|
|
3264
|
+
return /* @__PURE__ */ React49.createElement(Stack12, { gap: 1 }, /* @__PURE__ */ React49.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React49.createElement(GapControl, { label: __23("Gaps", "elementor") })));
|
|
3211
3265
|
};
|
|
3212
3266
|
|
|
3213
3267
|
// src/components/style-sections/layout-section/justify-content-field.tsx
|
|
3214
|
-
import * as
|
|
3268
|
+
import * as React50 from "react";
|
|
3215
3269
|
import { ToggleControl as ToggleControl6 } from "@elementor/editor-controls";
|
|
3216
3270
|
import {
|
|
3217
3271
|
JustifyBottomIcon as JustifyBottomIcon2,
|
|
@@ -3221,8 +3275,8 @@ import {
|
|
|
3221
3275
|
JustifySpaceBetweenVerticalIcon as BetweenIcon2,
|
|
3222
3276
|
JustifyTopIcon as JustifyTopIcon2
|
|
3223
3277
|
} from "@elementor/icons";
|
|
3224
|
-
import {
|
|
3225
|
-
import { __ as
|
|
3278
|
+
import { Stack as Stack13, withDirection as withDirection7 } from "@elementor/ui";
|
|
3279
|
+
import { __ as __24 } from "@wordpress/i18n";
|
|
3226
3280
|
var StartIcon4 = withDirection7(JustifyTopIcon2);
|
|
3227
3281
|
var EndIcon4 = withDirection7(JustifyBottomIcon2);
|
|
3228
3282
|
var iconProps4 = {
|
|
@@ -3232,75 +3286,73 @@ var iconProps4 = {
|
|
|
3232
3286
|
var options4 = [
|
|
3233
3287
|
{
|
|
3234
3288
|
value: "flex-start",
|
|
3235
|
-
label:
|
|
3236
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3289
|
+
label: __24("Start", "elementor"),
|
|
3290
|
+
renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(RotatedIcon, { icon: StartIcon4, size, ...iconProps4 }),
|
|
3237
3291
|
showTooltip: true
|
|
3238
3292
|
},
|
|
3239
3293
|
{
|
|
3240
3294
|
value: "center",
|
|
3241
|
-
label:
|
|
3242
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3295
|
+
label: __24("Center", "elementor"),
|
|
3296
|
+
renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(RotatedIcon, { icon: CenterIcon4, size, ...iconProps4 }),
|
|
3243
3297
|
showTooltip: true
|
|
3244
3298
|
},
|
|
3245
3299
|
{
|
|
3246
3300
|
value: "flex-end",
|
|
3247
|
-
label:
|
|
3248
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3301
|
+
label: __24("End", "elementor"),
|
|
3302
|
+
renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(RotatedIcon, { icon: EndIcon4, size, ...iconProps4 }),
|
|
3249
3303
|
showTooltip: true
|
|
3250
3304
|
},
|
|
3251
3305
|
{
|
|
3252
3306
|
value: "space-between",
|
|
3253
|
-
label:
|
|
3254
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3307
|
+
label: __24("Space between", "elementor"),
|
|
3308
|
+
renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(RotatedIcon, { icon: BetweenIcon2, size, ...iconProps4 }),
|
|
3255
3309
|
showTooltip: true
|
|
3256
3310
|
},
|
|
3257
3311
|
{
|
|
3258
3312
|
value: "space-around",
|
|
3259
|
-
label:
|
|
3260
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3313
|
+
label: __24("Space around", "elementor"),
|
|
3314
|
+
renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(RotatedIcon, { icon: AroundIcon2, size, ...iconProps4 }),
|
|
3261
3315
|
showTooltip: true
|
|
3262
3316
|
},
|
|
3263
3317
|
{
|
|
3264
3318
|
value: "space-evenly",
|
|
3265
|
-
label:
|
|
3266
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3319
|
+
label: __24("Space evenly", "elementor"),
|
|
3320
|
+
renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(RotatedIcon, { icon: EvenlyIcon2, size, ...iconProps4 }),
|
|
3267
3321
|
showTooltip: true
|
|
3268
3322
|
}
|
|
3269
3323
|
];
|
|
3270
3324
|
var JustifyContentField = () => {
|
|
3271
|
-
|
|
3272
|
-
return /* @__PURE__ */ React48.createElement(DirectionProvider7, { rtl: isSiteRtl }, /* @__PURE__ */ React48.createElement(ThemeProvider7, null, /* @__PURE__ */ React48.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React48.createElement(Stack13, { gap: 0.75 }, /* @__PURE__ */ React48.createElement(ControlLabel, null, __23("Justify content", "elementor")), /* @__PURE__ */ React48.createElement(ToggleControl6, { options: options4, fullWidth: true })))));
|
|
3325
|
+
return /* @__PURE__ */ React50.createElement(UiProviders, null, /* @__PURE__ */ React50.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React50.createElement(Stack13, { gap: 0.75 }, /* @__PURE__ */ React50.createElement(ControlLabel, null, __24("Justify content", "elementor")), /* @__PURE__ */ React50.createElement(ToggleControl6, { options: options4, fullWidth: true }))));
|
|
3273
3326
|
};
|
|
3274
3327
|
|
|
3275
3328
|
// src/components/style-sections/layout-section/wrap-field.tsx
|
|
3276
|
-
import * as
|
|
3329
|
+
import * as React51 from "react";
|
|
3277
3330
|
import { ToggleControl as ToggleControl7 } from "@elementor/editor-controls";
|
|
3278
3331
|
import { ArrowBackIcon, ArrowForwardIcon, ArrowRightIcon as ArrowRightIcon2 } from "@elementor/icons";
|
|
3279
|
-
import {
|
|
3280
|
-
import { __ as
|
|
3332
|
+
import { Grid as Grid8 } from "@elementor/ui";
|
|
3333
|
+
import { __ as __25 } from "@wordpress/i18n";
|
|
3281
3334
|
var options5 = [
|
|
3282
3335
|
{
|
|
3283
3336
|
value: "nowrap",
|
|
3284
|
-
label:
|
|
3285
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3337
|
+
label: __25("No wrap", "elementor"),
|
|
3338
|
+
renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(ArrowRightIcon2, { fontSize: size }),
|
|
3286
3339
|
showTooltip: true
|
|
3287
3340
|
},
|
|
3288
3341
|
{
|
|
3289
3342
|
value: "wrap",
|
|
3290
|
-
label:
|
|
3291
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3343
|
+
label: __25("Wrap", "elementor"),
|
|
3344
|
+
renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(ArrowBackIcon, { fontSize: size }),
|
|
3292
3345
|
showTooltip: true
|
|
3293
3346
|
},
|
|
3294
3347
|
{
|
|
3295
3348
|
value: "wrap-reverse",
|
|
3296
|
-
label:
|
|
3297
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3349
|
+
label: __25("Reversed wrap", "elementor"),
|
|
3350
|
+
renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(ArrowForwardIcon, { fontSize: size }),
|
|
3298
3351
|
showTooltip: true
|
|
3299
3352
|
}
|
|
3300
3353
|
];
|
|
3301
3354
|
var WrapField = () => {
|
|
3302
|
-
|
|
3303
|
-
return /* @__PURE__ */ React49.createElement(DirectionProvider8, { rtl: isSiteRtl }, /* @__PURE__ */ React49.createElement(ThemeProvider8, null, /* @__PURE__ */ React49.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React49.createElement(Grid8, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(Grid8, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(ControlLabel, null, __24("Wrap", "elementor"))), /* @__PURE__ */ React49.createElement(Grid8, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React49.createElement(ToggleControl7, { options: options5 }))))));
|
|
3355
|
+
return /* @__PURE__ */ React51.createElement(UiProviders, null, /* @__PURE__ */ React51.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React51.createElement(Grid8, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React51.createElement(Grid8, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(ControlLabel, null, __25("Wrap", "elementor"))), /* @__PURE__ */ React51.createElement(Grid8, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React51.createElement(ToggleControl7, { options: options5 })))));
|
|
3304
3356
|
};
|
|
3305
3357
|
|
|
3306
3358
|
// src/components/style-sections/layout-section/layout-section.tsx
|
|
@@ -3312,13 +3364,13 @@ var LayoutSection = () => {
|
|
|
3312
3364
|
const parent = useParentElement(element.id);
|
|
3313
3365
|
const parentStyle = useComputedStyle(parent?.id || null);
|
|
3314
3366
|
const parentStyleDirection = parentStyle?.flexDirection ?? "row";
|
|
3315
|
-
return /* @__PURE__ */
|
|
3367
|
+
return /* @__PURE__ */ React52.createElement(SectionContent, null, /* @__PURE__ */ React52.createElement(DisplayField, null), isDisplayFlex && /* @__PURE__ */ React52.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React52.createElement(FlexChildFields, { parentStyleDirection }));
|
|
3316
3368
|
};
|
|
3317
3369
|
var FlexFields = () => {
|
|
3318
3370
|
const [flexWrap] = useStylesField("flex-wrap");
|
|
3319
|
-
return /* @__PURE__ */
|
|
3371
|
+
return /* @__PURE__ */ React52.createElement(React52.Fragment, null, /* @__PURE__ */ React52.createElement(FlexDirectionField, null), /* @__PURE__ */ React52.createElement(JustifyContentField, null), /* @__PURE__ */ React52.createElement(AlignItemsField, null), /* @__PURE__ */ React52.createElement(PanelDivider, null), /* @__PURE__ */ React52.createElement(GapControlField, null), /* @__PURE__ */ React52.createElement(WrapField, null), ["wrap", "wrap-reverse"].includes(flexWrap?.value) && /* @__PURE__ */ React52.createElement(AlignContentField, null));
|
|
3320
3372
|
};
|
|
3321
|
-
var FlexChildFields = ({ parentStyleDirection }) => /* @__PURE__ */
|
|
3373
|
+
var FlexChildFields = ({ parentStyleDirection }) => /* @__PURE__ */ React52.createElement(React52.Fragment, null, /* @__PURE__ */ React52.createElement(PanelDivider, null), /* @__PURE__ */ React52.createElement(ControlFormLabel4, null, __26("Flex child", "elementor")), /* @__PURE__ */ React52.createElement(AlignSelfChild, { parentStyleDirection }), /* @__PURE__ */ React52.createElement(FlexOrderField, null), /* @__PURE__ */ React52.createElement(FlexSizeField, null));
|
|
3322
3374
|
var shouldDisplayFlexFields = (display, local) => {
|
|
3323
3375
|
const value = display?.value ?? local?.value;
|
|
3324
3376
|
if (!value) {
|
|
@@ -3328,66 +3380,86 @@ var shouldDisplayFlexFields = (display, local) => {
|
|
|
3328
3380
|
};
|
|
3329
3381
|
|
|
3330
3382
|
// src/components/style-sections/position-section/position-section.tsx
|
|
3331
|
-
import * as
|
|
3332
|
-
import { isExperimentActive as
|
|
3383
|
+
import * as React57 from "react";
|
|
3384
|
+
import { isExperimentActive as isExperimentActive8 } from "@elementor/editor-v1-adapters";
|
|
3333
3385
|
import { useSessionStorage } from "@elementor/session";
|
|
3334
3386
|
|
|
3335
3387
|
// src/components/style-sections/position-section/dimensions-field.tsx
|
|
3336
|
-
import * as
|
|
3388
|
+
import * as React53 from "react";
|
|
3389
|
+
import { useRef as useRef6 } from "react";
|
|
3337
3390
|
import { SizeControl as SizeControl3 } from "@elementor/editor-controls";
|
|
3338
3391
|
import { SideBottomIcon as SideBottomIcon2, SideLeftIcon as SideLeftIcon2, SideRightIcon as SideRightIcon2, SideTopIcon as SideTopIcon2 } from "@elementor/icons";
|
|
3339
3392
|
import { Grid as Grid9, Stack as Stack14, withDirection as withDirection8 } from "@elementor/ui";
|
|
3340
|
-
import { __ as
|
|
3393
|
+
import { __ as __27 } from "@wordpress/i18n";
|
|
3341
3394
|
var InlineStartIcon2 = withDirection8(SideLeftIcon2);
|
|
3342
3395
|
var InlineEndIcon2 = withDirection8(SideRightIcon2);
|
|
3343
3396
|
var sideIcons = {
|
|
3344
|
-
"inset-block-start": /* @__PURE__ */
|
|
3345
|
-
"inset-block-end": /* @__PURE__ */
|
|
3346
|
-
"inset-inline-start": /* @__PURE__ */
|
|
3347
|
-
"inset-inline-end": /* @__PURE__ */
|
|
3397
|
+
"inset-block-start": /* @__PURE__ */ React53.createElement(SideTopIcon2, { fontSize: "tiny" }),
|
|
3398
|
+
"inset-block-end": /* @__PURE__ */ React53.createElement(SideBottomIcon2, { fontSize: "tiny" }),
|
|
3399
|
+
"inset-inline-start": /* @__PURE__ */ React53.createElement(RotatedIcon, { icon: InlineStartIcon2, size: "tiny" }),
|
|
3400
|
+
"inset-inline-end": /* @__PURE__ */ React53.createElement(RotatedIcon, { icon: InlineEndIcon2, size: "tiny" })
|
|
3348
3401
|
};
|
|
3349
|
-
var getInlineStartLabel = (isSiteRtl) => isSiteRtl ?
|
|
3350
|
-
var getInlineEndLabel = (isSiteRtl) => isSiteRtl ?
|
|
3402
|
+
var getInlineStartLabel = (isSiteRtl) => isSiteRtl ? __27("Right", "elementor") : __27("Left", "elementor");
|
|
3403
|
+
var getInlineEndLabel = (isSiteRtl) => isSiteRtl ? __27("Left", "elementor") : __27("Right", "elementor");
|
|
3351
3404
|
var DimensionsField = () => {
|
|
3352
3405
|
const { isSiteRtl } = useDirection();
|
|
3353
|
-
|
|
3354
|
-
}
|
|
3355
|
-
|
|
3356
|
-
|
|
3406
|
+
const rowRefs = [useRef6(), useRef6()];
|
|
3407
|
+
return /* @__PURE__ */ React53.createElement(UiProviders, null, /* @__PURE__ */ React53.createElement(Stack14, { direction: "row", gap: 2, flexWrap: "nowrap", ref: rowRefs[0] }, /* @__PURE__ */ React53.createElement(DimensionField, { side: "inset-block-start", label: __27("Top", "elementor"), rowRef: rowRefs[0] }), /* @__PURE__ */ React53.createElement(
|
|
3408
|
+
DimensionField,
|
|
3409
|
+
{
|
|
3410
|
+
side: "inset-inline-end",
|
|
3411
|
+
label: getInlineEndLabel(isSiteRtl),
|
|
3412
|
+
rowRef: rowRefs[0]
|
|
3413
|
+
}
|
|
3414
|
+
)), /* @__PURE__ */ React53.createElement(Stack14, { direction: "row", gap: 2, flexWrap: "nowrap", ref: rowRefs[1] }, /* @__PURE__ */ React53.createElement(DimensionField, { side: "inset-block-end", label: __27("Bottom", "elementor"), rowRef: rowRefs[1] }), /* @__PURE__ */ React53.createElement(
|
|
3415
|
+
DimensionField,
|
|
3416
|
+
{
|
|
3417
|
+
side: "inset-inline-start",
|
|
3418
|
+
label: getInlineStartLabel(isSiteRtl),
|
|
3419
|
+
rowRef: rowRefs[1]
|
|
3420
|
+
}
|
|
3421
|
+
)));
|
|
3357
3422
|
};
|
|
3423
|
+
var DimensionField = ({
|
|
3424
|
+
side,
|
|
3425
|
+
label,
|
|
3426
|
+
rowRef
|
|
3427
|
+
}) => /* @__PURE__ */ React53.createElement(StylesField, { bind: side }, /* @__PURE__ */ React53.createElement(Grid9, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React53.createElement(Grid9, { item: true, xs: 12 }, /* @__PURE__ */ React53.createElement(ControlLabel, null, label)), /* @__PURE__ */ React53.createElement(Grid9, { item: true, xs: 12 }, /* @__PURE__ */ React53.createElement(SizeControl3, { startIcon: sideIcons[side], extendedOptions: ["auto"], anchorRef: rowRef }))));
|
|
3358
3428
|
|
|
3359
3429
|
// src/components/style-sections/position-section/offset-field.tsx
|
|
3360
|
-
import * as
|
|
3430
|
+
import * as React54 from "react";
|
|
3431
|
+
import { useRef as useRef7 } from "react";
|
|
3361
3432
|
import { SizeControl as SizeControl4 } from "@elementor/editor-controls";
|
|
3362
3433
|
import { Grid as Grid10 } from "@elementor/ui";
|
|
3363
|
-
import { __ as
|
|
3434
|
+
import { __ as __28 } from "@wordpress/i18n";
|
|
3364
3435
|
var OffsetField = () => {
|
|
3365
|
-
|
|
3436
|
+
const rowRef = useRef7();
|
|
3437
|
+
return /* @__PURE__ */ React54.createElement(StylesField, { bind: "scroll-margin-top" }, /* @__PURE__ */ React54.createElement(Grid10, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React54.createElement(Grid10, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(ControlLabel, null, __28("Anchor offset", "elementor"))), /* @__PURE__ */ React54.createElement(Grid10, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(SizeControl4, { units: ["px", "em", "rem", "vw", "vh"], anchorRef: rowRef }))));
|
|
3366
3438
|
};
|
|
3367
3439
|
|
|
3368
3440
|
// src/components/style-sections/position-section/position-field.tsx
|
|
3369
|
-
import * as
|
|
3441
|
+
import * as React55 from "react";
|
|
3370
3442
|
import { SelectControl as SelectControl3 } from "@elementor/editor-controls";
|
|
3371
3443
|
import { Grid as Grid11 } from "@elementor/ui";
|
|
3372
|
-
import { __ as
|
|
3444
|
+
import { __ as __29 } from "@wordpress/i18n";
|
|
3373
3445
|
var positionOptions = [
|
|
3374
|
-
{ label:
|
|
3375
|
-
{ label:
|
|
3376
|
-
{ label:
|
|
3377
|
-
{ label:
|
|
3378
|
-
{ label:
|
|
3446
|
+
{ label: __29("Static", "elementor"), value: "static" },
|
|
3447
|
+
{ label: __29("Relative", "elementor"), value: "relative" },
|
|
3448
|
+
{ label: __29("Absolute", "elementor"), value: "absolute" },
|
|
3449
|
+
{ label: __29("Fixed", "elementor"), value: "fixed" },
|
|
3450
|
+
{ label: __29("Sticky", "elementor"), value: "sticky" }
|
|
3379
3451
|
];
|
|
3380
3452
|
var PositionField = ({ onChange }) => {
|
|
3381
|
-
return /* @__PURE__ */
|
|
3453
|
+
return /* @__PURE__ */ React55.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React55.createElement(Grid11, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(ControlLabel, null, __29("Position", "elementor"))), /* @__PURE__ */ React55.createElement(Grid11, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React55.createElement(SelectControl3, { options: positionOptions, onChange }))));
|
|
3382
3454
|
};
|
|
3383
3455
|
|
|
3384
3456
|
// src/components/style-sections/position-section/z-index-field.tsx
|
|
3385
|
-
import * as
|
|
3457
|
+
import * as React56 from "react";
|
|
3386
3458
|
import { NumberControl as NumberControl3 } from "@elementor/editor-controls";
|
|
3387
3459
|
import { Grid as Grid12 } from "@elementor/ui";
|
|
3388
|
-
import { __ as
|
|
3460
|
+
import { __ as __30 } from "@wordpress/i18n";
|
|
3389
3461
|
var ZIndexField = () => {
|
|
3390
|
-
return /* @__PURE__ */
|
|
3462
|
+
return /* @__PURE__ */ React56.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React56.createElement(Grid12, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React56.createElement(Grid12, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(ControlLabel, null, __30("Z-index", "elementor"))), /* @__PURE__ */ React56.createElement(Grid12, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(NumberControl3, null))));
|
|
3391
3463
|
};
|
|
3392
3464
|
|
|
3393
3465
|
// src/components/style-sections/position-section/position-section.tsx
|
|
@@ -3400,7 +3472,7 @@ var PositionSection = () => {
|
|
|
3400
3472
|
"inset-inline-end"
|
|
3401
3473
|
]);
|
|
3402
3474
|
const [dimensionsValuesFromHistory, updateDimensionsHistory, clearDimensionsHistory] = usePersistDimensions();
|
|
3403
|
-
const isCssIdFeatureActive =
|
|
3475
|
+
const isCssIdFeatureActive = isExperimentActive8("e_v_3_30");
|
|
3404
3476
|
const onPositionChange = (newPosition, previousPosition) => {
|
|
3405
3477
|
if (newPosition === "static") {
|
|
3406
3478
|
if (dimensionsValues) {
|
|
@@ -3420,7 +3492,7 @@ var PositionSection = () => {
|
|
|
3420
3492
|
}
|
|
3421
3493
|
};
|
|
3422
3494
|
const isNotStatic = positionValue && positionValue?.value !== "static";
|
|
3423
|
-
return /* @__PURE__ */
|
|
3495
|
+
return /* @__PURE__ */ React57.createElement(SectionContent, null, /* @__PURE__ */ React57.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React57.createElement(React57.Fragment, null, /* @__PURE__ */ React57.createElement(DimensionsField, null), /* @__PURE__ */ React57.createElement(ZIndexField, null)) : null, isCssIdFeatureActive && /* @__PURE__ */ React57.createElement(React57.Fragment, null, /* @__PURE__ */ React57.createElement(PanelDivider, null), /* @__PURE__ */ React57.createElement(OffsetField, null)));
|
|
3424
3496
|
};
|
|
3425
3497
|
var usePersistDimensions = () => {
|
|
3426
3498
|
const { id: styleDefID, meta } = useStyle();
|
|
@@ -3430,179 +3502,258 @@ var usePersistDimensions = () => {
|
|
|
3430
3502
|
};
|
|
3431
3503
|
|
|
3432
3504
|
// src/components/style-sections/size-section/size-section.tsx
|
|
3433
|
-
import * as
|
|
3505
|
+
import * as React63 from "react";
|
|
3506
|
+
import { useRef as useRef8 } from "react";
|
|
3434
3507
|
import { AspectRatioControl, SizeControl as SizeControl5 } from "@elementor/editor-controls";
|
|
3435
|
-
import { isExperimentActive as
|
|
3508
|
+
import { isExperimentActive as isExperimentActive10 } from "@elementor/editor-v1-adapters";
|
|
3436
3509
|
import { Grid as Grid16, Stack as Stack16 } from "@elementor/ui";
|
|
3437
|
-
import { __ as
|
|
3510
|
+
import { __ as __35 } from "@wordpress/i18n";
|
|
3438
3511
|
|
|
3439
|
-
// src/components/collapsible-content.tsx
|
|
3440
|
-
import * as
|
|
3441
|
-
import {
|
|
3442
|
-
|
|
3443
|
-
|
|
3444
|
-
|
|
3445
|
-
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3459
|
-
|
|
3460
|
-
|
|
3461
|
-
), /* @__PURE__ */
|
|
3512
|
+
// src/components/style-tab-collapsible-content.tsx
|
|
3513
|
+
import * as React59 from "react";
|
|
3514
|
+
import { isExperimentActive as isExperimentActive9 } from "@elementor/editor-v1-adapters";
|
|
3515
|
+
|
|
3516
|
+
// src/styles-inheritance/components/styles-inheritance-section-indicators.tsx
|
|
3517
|
+
import * as React58 from "react";
|
|
3518
|
+
import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as ELEMENTS_BASE_STYLES_PROVIDER_KEY4, isElementsStylesProvider as isElementsStylesProvider4 } from "@elementor/editor-styles-repository";
|
|
3519
|
+
import { Stack as Stack15, Tooltip as Tooltip7 } from "@elementor/ui";
|
|
3520
|
+
import { __ as __31 } from "@wordpress/i18n";
|
|
3521
|
+
var orderedVariants = ["global", "local", "overridden"];
|
|
3522
|
+
var StylesInheritanceSectionIndicators = ({ fields }) => {
|
|
3523
|
+
const { id, meta } = useStyle();
|
|
3524
|
+
const snapshot = useStylesInheritanceSnapshot();
|
|
3525
|
+
const snapshotFields = Object.fromEntries(
|
|
3526
|
+
Object.entries(snapshot ?? {}).filter(([key]) => fields.includes(key))
|
|
3527
|
+
);
|
|
3528
|
+
const indicators = getIndicators(snapshotFields, id ?? "", meta);
|
|
3529
|
+
if (Object.values(indicators).filter(Boolean).length === 0) {
|
|
3530
|
+
return null;
|
|
3531
|
+
}
|
|
3532
|
+
const hasActualValues = __31("Has effective styles", "elementor");
|
|
3533
|
+
const hasOverriddenValues = __31("Has overridden styles", "elementor");
|
|
3534
|
+
return /* @__PURE__ */ React58.createElement(Tooltip7, { title: __31("Has styles", "elementor"), placement: "top" }, /* @__PURE__ */ React58.createElement(Stack15, { direction: "row", sx: { "& > *": { marginInlineStart: -0.25 } }, role: "list" }, orderedVariants.map(
|
|
3535
|
+
(variant) => indicators[variant] && /* @__PURE__ */ React58.createElement(
|
|
3536
|
+
StyleIndicator,
|
|
3537
|
+
{
|
|
3538
|
+
key: variant,
|
|
3539
|
+
variant,
|
|
3540
|
+
"data-variant": variant,
|
|
3541
|
+
role: "listitem",
|
|
3542
|
+
"aria-label": variant === "overridden" ? hasOverriddenValues : hasActualValues
|
|
3543
|
+
}
|
|
3544
|
+
)
|
|
3545
|
+
)));
|
|
3462
3546
|
};
|
|
3547
|
+
function getIndicators(snapshotFields, styleId, meta) {
|
|
3548
|
+
const indicators = {};
|
|
3549
|
+
Object.values(snapshotFields).forEach((inheritanceChain) => {
|
|
3550
|
+
const currentStyle = getCurrentStyleFromChain(inheritanceChain, styleId, meta);
|
|
3551
|
+
if (!currentStyle) {
|
|
3552
|
+
return;
|
|
3553
|
+
}
|
|
3554
|
+
const [actualStyle] = inheritanceChain;
|
|
3555
|
+
if (currentStyle === actualStyle) {
|
|
3556
|
+
const providerKey = actualStyle.provider ?? "";
|
|
3557
|
+
if (isElementsStylesProvider4(providerKey)) {
|
|
3558
|
+
indicators.local = true;
|
|
3559
|
+
return;
|
|
3560
|
+
}
|
|
3561
|
+
if (providerKey !== ELEMENTS_BASE_STYLES_PROVIDER_KEY4) {
|
|
3562
|
+
indicators.global = true;
|
|
3563
|
+
}
|
|
3564
|
+
return;
|
|
3565
|
+
}
|
|
3566
|
+
indicators.overridden = true;
|
|
3567
|
+
});
|
|
3568
|
+
return indicators;
|
|
3569
|
+
}
|
|
3570
|
+
function getCurrentStyleFromChain(chain, styleId, meta) {
|
|
3571
|
+
return chain.find(
|
|
3572
|
+
({
|
|
3573
|
+
style: { id },
|
|
3574
|
+
variant: {
|
|
3575
|
+
meta: { breakpoint, state }
|
|
3576
|
+
}
|
|
3577
|
+
}) => id === styleId && breakpoint === meta.breakpoint && state === meta.state
|
|
3578
|
+
);
|
|
3579
|
+
}
|
|
3580
|
+
|
|
3581
|
+
// src/components/style-tab-collapsible-content.tsx
|
|
3582
|
+
var StyleTabCollapsibleContent = ({ fields = [], children }) => {
|
|
3583
|
+
return /* @__PURE__ */ React59.createElement(CollapsibleContent, { titleEnd: getStylesInheritanceIndicators(fields) }, children);
|
|
3584
|
+
};
|
|
3585
|
+
function getStylesInheritanceIndicators(fields) {
|
|
3586
|
+
const isUsingFieldsIndicators = isExperimentActive9(EXPERIMENTAL_FEATURES.V_3_30);
|
|
3587
|
+
if (fields.length === 0 || !isUsingFieldsIndicators) {
|
|
3588
|
+
return null;
|
|
3589
|
+
}
|
|
3590
|
+
return (isOpen) => !isOpen ? /* @__PURE__ */ React59.createElement(StylesInheritanceSectionIndicators, { fields }) : null;
|
|
3591
|
+
}
|
|
3463
3592
|
|
|
3464
3593
|
// src/components/style-sections/size-section/object-fit-field.tsx
|
|
3465
|
-
import * as
|
|
3594
|
+
import * as React60 from "react";
|
|
3466
3595
|
import { SelectControl as SelectControl4 } from "@elementor/editor-controls";
|
|
3467
3596
|
import { Grid as Grid13 } from "@elementor/ui";
|
|
3468
|
-
import { __ as
|
|
3597
|
+
import { __ as __32 } from "@wordpress/i18n";
|
|
3469
3598
|
var positionOptions2 = [
|
|
3470
|
-
{ label:
|
|
3471
|
-
{ label:
|
|
3472
|
-
{ label:
|
|
3473
|
-
{ label:
|
|
3474
|
-
{ label:
|
|
3599
|
+
{ label: __32("Fill", "elementor"), value: "fill" },
|
|
3600
|
+
{ label: __32("Cover", "elementor"), value: "cover" },
|
|
3601
|
+
{ label: __32("Contain", "elementor"), value: "contain" },
|
|
3602
|
+
{ label: __32("None", "elementor"), value: "none" },
|
|
3603
|
+
{ label: __32("Scale down", "elementor"), value: "scale-down" }
|
|
3475
3604
|
];
|
|
3476
3605
|
var ObjectFitField = () => {
|
|
3477
|
-
return /* @__PURE__ */
|
|
3606
|
+
return /* @__PURE__ */ React60.createElement(StylesField, { bind: "object-fit" }, /* @__PURE__ */ React60.createElement(Grid13, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React60.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(ControlLabel, null, __32("Object fit", "elementor"))), /* @__PURE__ */ React60.createElement(Grid13, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React60.createElement(SelectControl4, { options: positionOptions2 }))));
|
|
3478
3607
|
};
|
|
3479
3608
|
|
|
3480
3609
|
// src/components/style-sections/size-section/object-position-field.tsx
|
|
3481
|
-
import * as
|
|
3610
|
+
import * as React61 from "react";
|
|
3482
3611
|
import { SelectControl as SelectControl5 } from "@elementor/editor-controls";
|
|
3483
3612
|
import { Grid as Grid14 } from "@elementor/ui";
|
|
3484
|
-
import { __ as
|
|
3613
|
+
import { __ as __33 } from "@wordpress/i18n";
|
|
3485
3614
|
var positionOptions3 = [
|
|
3486
|
-
{ label:
|
|
3487
|
-
{ label:
|
|
3488
|
-
{ label:
|
|
3489
|
-
{ label:
|
|
3490
|
-
{ label:
|
|
3491
|
-
{ label:
|
|
3492
|
-
{ label:
|
|
3493
|
-
{ label:
|
|
3494
|
-
{ label:
|
|
3615
|
+
{ label: __33("Center center", "elementor"), value: "center center" },
|
|
3616
|
+
{ label: __33("Center left", "elementor"), value: "center left" },
|
|
3617
|
+
{ label: __33("Center right", "elementor"), value: "center right" },
|
|
3618
|
+
{ label: __33("Top center", "elementor"), value: "top center" },
|
|
3619
|
+
{ label: __33("Top left", "elementor"), value: "top left" },
|
|
3620
|
+
{ label: __33("Top right", "elementor"), value: "top right" },
|
|
3621
|
+
{ label: __33("Bottom center", "elementor"), value: "bottom center" },
|
|
3622
|
+
{ label: __33("Bottom left", "elementor"), value: "bottom left" },
|
|
3623
|
+
{ label: __33("Bottom right", "elementor"), value: "bottom right" }
|
|
3495
3624
|
];
|
|
3496
3625
|
var ObjectPositionField = () => {
|
|
3497
|
-
return /* @__PURE__ */
|
|
3626
|
+
return /* @__PURE__ */ React61.createElement(StylesField, { bind: "object-position" }, /* @__PURE__ */ React61.createElement(Grid14, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React61.createElement(Grid14, { item: true, xs: 6 }, /* @__PURE__ */ React61.createElement(ControlLabel, null, __33("Object position", "elementor"))), /* @__PURE__ */ React61.createElement(Grid14, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React61.createElement(SelectControl5, { options: positionOptions3 }))));
|
|
3498
3627
|
};
|
|
3499
3628
|
|
|
3500
3629
|
// src/components/style-sections/size-section/overflow-field.tsx
|
|
3501
|
-
import * as
|
|
3630
|
+
import * as React62 from "react";
|
|
3502
3631
|
import { ToggleControl as ToggleControl8 } from "@elementor/editor-controls";
|
|
3503
3632
|
import { EyeIcon, EyeOffIcon, LetterAIcon } from "@elementor/icons";
|
|
3504
3633
|
import { Grid as Grid15 } from "@elementor/ui";
|
|
3505
|
-
import { __ as
|
|
3634
|
+
import { __ as __34 } from "@wordpress/i18n";
|
|
3506
3635
|
var options6 = [
|
|
3507
3636
|
{
|
|
3508
3637
|
value: "visible",
|
|
3509
|
-
label:
|
|
3510
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3638
|
+
label: __34("Visible", "elementor"),
|
|
3639
|
+
renderContent: ({ size }) => /* @__PURE__ */ React62.createElement(EyeIcon, { fontSize: size }),
|
|
3511
3640
|
showTooltip: true
|
|
3512
3641
|
},
|
|
3513
3642
|
{
|
|
3514
3643
|
value: "hidden",
|
|
3515
|
-
label:
|
|
3516
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3644
|
+
label: __34("Hidden", "elementor"),
|
|
3645
|
+
renderContent: ({ size }) => /* @__PURE__ */ React62.createElement(EyeOffIcon, { fontSize: size }),
|
|
3517
3646
|
showTooltip: true
|
|
3518
3647
|
},
|
|
3519
3648
|
{
|
|
3520
3649
|
value: "auto",
|
|
3521
|
-
label:
|
|
3522
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3650
|
+
label: __34("Auto", "elementor"),
|
|
3651
|
+
renderContent: ({ size }) => /* @__PURE__ */ React62.createElement(LetterAIcon, { fontSize: size }),
|
|
3523
3652
|
showTooltip: true
|
|
3524
3653
|
}
|
|
3525
3654
|
];
|
|
3526
3655
|
var OverflowField = () => {
|
|
3527
|
-
return /* @__PURE__ */
|
|
3656
|
+
return /* @__PURE__ */ React62.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React62.createElement(Grid15, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React62.createElement(Grid15, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(ControlLabel, null, __34("Overflow", "elementor"))), /* @__PURE__ */ React62.createElement(Grid15, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React62.createElement(ToggleControl8, { options: options6 }))));
|
|
3528
3657
|
};
|
|
3529
3658
|
|
|
3530
3659
|
// src/components/style-sections/size-section/size-section.tsx
|
|
3531
|
-
var
|
|
3532
|
-
|
|
3533
|
-
|
|
3534
|
-
const isVersion330Active = isExperimentActive8("e_v_3_30");
|
|
3535
|
-
return /* @__PURE__ */ React60.createElement(SectionContent, null, /* @__PURE__ */ React60.createElement(Grid16, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React60.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(SizeField, { bind: "width", label: __34("Width", "elementor"), extendedValues: ["auto"] })), /* @__PURE__ */ React60.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(SizeField, { bind: "height", label: __34("Height", "elementor"), extendedValues: ["auto"] }))), /* @__PURE__ */ React60.createElement(Grid16, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React60.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(
|
|
3536
|
-
SizeField,
|
|
3660
|
+
var EXPERIMENT_ID = "e_v_3_30";
|
|
3661
|
+
var CssSizeProps = [
|
|
3662
|
+
[
|
|
3537
3663
|
{
|
|
3538
|
-
bind: "
|
|
3539
|
-
label:
|
|
3540
|
-
|
|
3664
|
+
bind: "width",
|
|
3665
|
+
label: __35("Width", "elementor")
|
|
3666
|
+
},
|
|
3667
|
+
{
|
|
3668
|
+
bind: "height",
|
|
3669
|
+
label: __35("Height", "elementor")
|
|
3541
3670
|
}
|
|
3542
|
-
|
|
3543
|
-
|
|
3671
|
+
],
|
|
3672
|
+
[
|
|
3673
|
+
{
|
|
3674
|
+
bind: "min-width",
|
|
3675
|
+
label: __35("Min width", "elementor")
|
|
3676
|
+
},
|
|
3544
3677
|
{
|
|
3545
3678
|
bind: "min-height",
|
|
3546
|
-
label:
|
|
3547
|
-
|
|
3679
|
+
label: __35("Min height", "elementor")
|
|
3680
|
+
}
|
|
3681
|
+
],
|
|
3682
|
+
[
|
|
3683
|
+
{
|
|
3684
|
+
bind: "max-width",
|
|
3685
|
+
label: __35("Max width", "elementor")
|
|
3686
|
+
},
|
|
3687
|
+
{
|
|
3688
|
+
bind: "max-height",
|
|
3689
|
+
label: __35("Max height", "elementor")
|
|
3548
3690
|
}
|
|
3549
|
-
|
|
3691
|
+
]
|
|
3692
|
+
];
|
|
3693
|
+
var SizeSection = () => {
|
|
3694
|
+
const [fitValue] = useStylesField("object-fit");
|
|
3695
|
+
const isNotFill = fitValue && fitValue?.value !== "fill";
|
|
3696
|
+
const gridRowRefs = [useRef8(), useRef8(), useRef8()];
|
|
3697
|
+
const isVersion330Active = isExperimentActive10(EXPERIMENT_ID);
|
|
3698
|
+
return /* @__PURE__ */ React63.createElement(SectionContent, null, CssSizeProps.map((row, rowIndex) => /* @__PURE__ */ React63.createElement(Grid16, { key: rowIndex, container: true, gap: 2, flexWrap: "nowrap", ref: gridRowRefs[rowIndex] }, row.map((props) => /* @__PURE__ */ React63.createElement(Grid16, { item: true, xs: 6, key: props.bind }, /* @__PURE__ */ React63.createElement(SizeField, { ...props, rowRef: gridRowRefs[rowIndex], extendedOptions: ["auto"] }))))), /* @__PURE__ */ React63.createElement(PanelDivider, null), /* @__PURE__ */ React63.createElement(Stack16, null, /* @__PURE__ */ React63.createElement(OverflowField, null)), isVersion330Active && /* @__PURE__ */ React63.createElement(StyleTabCollapsibleContent, { fields: ["aspect-ratio", "object-fit"] }, /* @__PURE__ */ React63.createElement(Stack16, { gap: 2 }, /* @__PURE__ */ React63.createElement(StylesField, { bind: "aspect-ratio" }, /* @__PURE__ */ React63.createElement(AspectRatioControl, { label: __35("Aspect Ratio", "elementor") })), /* @__PURE__ */ React63.createElement(PanelDivider, null), /* @__PURE__ */ React63.createElement(ObjectFitField, null), isNotFill && /* @__PURE__ */ React63.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React63.createElement(ObjectPositionField, null)))));
|
|
3550
3699
|
};
|
|
3551
|
-
var SizeField = ({ label, bind,
|
|
3552
|
-
return /* @__PURE__ */
|
|
3700
|
+
var SizeField = ({ label, bind, rowRef, extendedOptions }) => {
|
|
3701
|
+
return /* @__PURE__ */ React63.createElement(StylesField, { bind }, /* @__PURE__ */ React63.createElement(Grid16, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React63.createElement(Grid16, { item: true, xs: 12 }, /* @__PURE__ */ React63.createElement(ControlLabel, null, label)), /* @__PURE__ */ React63.createElement(Grid16, { item: true, xs: 12 }, /* @__PURE__ */ React63.createElement(SizeControl5, { extendedOptions, anchorRef: rowRef }))));
|
|
3553
3702
|
};
|
|
3554
3703
|
|
|
3555
3704
|
// src/components/style-sections/spacing-section/spacing-section.tsx
|
|
3556
|
-
import * as
|
|
3705
|
+
import * as React64 from "react";
|
|
3557
3706
|
import { LinkedDimensionsControl } from "@elementor/editor-controls";
|
|
3558
|
-
import { __ as
|
|
3707
|
+
import { __ as __36 } from "@wordpress/i18n";
|
|
3559
3708
|
var SpacingSection = () => {
|
|
3560
3709
|
const { isSiteRtl } = useDirection();
|
|
3561
|
-
return /* @__PURE__ */
|
|
3710
|
+
return /* @__PURE__ */ React64.createElement(SectionContent, null, /* @__PURE__ */ React64.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React64.createElement(
|
|
3562
3711
|
LinkedDimensionsControl,
|
|
3563
3712
|
{
|
|
3564
|
-
label:
|
|
3713
|
+
label: __36("Margin", "elementor"),
|
|
3565
3714
|
isSiteRtl,
|
|
3566
|
-
|
|
3715
|
+
extendedOptions: ["auto"]
|
|
3567
3716
|
}
|
|
3568
|
-
)), /* @__PURE__ */
|
|
3717
|
+
)), /* @__PURE__ */ React64.createElement(PanelDivider, null), /* @__PURE__ */ React64.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React64.createElement(LinkedDimensionsControl, { label: __36("Padding", "elementor"), isSiteRtl })));
|
|
3569
3718
|
};
|
|
3570
3719
|
|
|
3571
3720
|
// src/components/style-sections/typography-section/typography-section.tsx
|
|
3572
|
-
import * as
|
|
3573
|
-
import { isExperimentActive as
|
|
3721
|
+
import * as React80 from "react";
|
|
3722
|
+
import { isExperimentActive as isExperimentActive11 } from "@elementor/editor-v1-adapters";
|
|
3574
3723
|
|
|
3575
3724
|
// src/components/style-sections/typography-section/column-count-field.tsx
|
|
3576
|
-
import * as
|
|
3725
|
+
import * as React65 from "react";
|
|
3577
3726
|
import { NumberControl as NumberControl4 } from "@elementor/editor-controls";
|
|
3578
3727
|
import { Grid as Grid17 } from "@elementor/ui";
|
|
3579
|
-
import { __ as
|
|
3728
|
+
import { __ as __37 } from "@wordpress/i18n";
|
|
3580
3729
|
var ColumnCountField = () => {
|
|
3581
|
-
return /* @__PURE__ */
|
|
3730
|
+
return /* @__PURE__ */ React65.createElement(StylesField, { bind: "column-count" }, /* @__PURE__ */ React65.createElement(Grid17, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React65.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React65.createElement(ControlLabel, null, __37("Columns", "elementor"))), /* @__PURE__ */ React65.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React65.createElement(NumberControl4, { shouldForceInt: true, min: 0, step: 1 }))));
|
|
3582
3731
|
};
|
|
3583
3732
|
|
|
3584
3733
|
// src/components/style-sections/typography-section/column-gap-field.tsx
|
|
3585
|
-
import * as
|
|
3734
|
+
import * as React66 from "react";
|
|
3735
|
+
import { useRef as useRef9 } from "react";
|
|
3586
3736
|
import { SizeControl as SizeControl6 } from "@elementor/editor-controls";
|
|
3587
3737
|
import { Grid as Grid18 } from "@elementor/ui";
|
|
3588
|
-
import { __ as
|
|
3738
|
+
import { __ as __38 } from "@wordpress/i18n";
|
|
3589
3739
|
var ColumnGapField = () => {
|
|
3590
|
-
|
|
3740
|
+
const rowRef = useRef9();
|
|
3741
|
+
return /* @__PURE__ */ React66.createElement(StylesField, { bind: "column-gap" }, /* @__PURE__ */ React66.createElement(Grid18, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React66.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React66.createElement(ControlLabel, null, __38("Column gap", "elementor"))), /* @__PURE__ */ React66.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React66.createElement(SizeControl6, { anchorRef: rowRef }))));
|
|
3591
3742
|
};
|
|
3592
3743
|
|
|
3593
3744
|
// src/components/style-sections/typography-section/font-family-field.tsx
|
|
3594
|
-
import * as
|
|
3745
|
+
import * as React67 from "react";
|
|
3595
3746
|
import { FontFamilyControl } from "@elementor/editor-controls";
|
|
3596
3747
|
import { Grid as Grid19 } from "@elementor/ui";
|
|
3597
|
-
import { __ as
|
|
3748
|
+
import { __ as __40 } from "@wordpress/i18n";
|
|
3598
3749
|
|
|
3599
3750
|
// src/components/style-sections/typography-section/hooks/use-font-families.ts
|
|
3600
3751
|
import { useMemo as useMemo6 } from "react";
|
|
3601
|
-
import { __ as
|
|
3752
|
+
import { __ as __39 } from "@wordpress/i18n";
|
|
3602
3753
|
var supportedCategories = {
|
|
3603
|
-
system:
|
|
3604
|
-
custom:
|
|
3605
|
-
googlefonts:
|
|
3754
|
+
system: __39("System", "elementor"),
|
|
3755
|
+
custom: __39("Custom Fonts", "elementor"),
|
|
3756
|
+
googlefonts: __39("Google Fonts", "elementor")
|
|
3606
3757
|
};
|
|
3607
3758
|
var getFontFamilies = () => {
|
|
3608
3759
|
const { controls } = getElementorConfig();
|
|
@@ -3639,188 +3790,194 @@ var FontFamilyField = () => {
|
|
|
3639
3790
|
if (fontFamilies.length === 0) {
|
|
3640
3791
|
return null;
|
|
3641
3792
|
}
|
|
3642
|
-
return /* @__PURE__ */
|
|
3793
|
+
return /* @__PURE__ */ React67.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React67.createElement(Grid19, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React67.createElement(Grid19, { item: true, xs: 6 }, /* @__PURE__ */ React67.createElement(ControlLabel, null, __40("Font family", "elementor"))), /* @__PURE__ */ React67.createElement(Grid19, { item: true, xs: 6, sx: { minWidth: 0 } }, /* @__PURE__ */ React67.createElement(FontFamilyControl, { fontFamilies }))));
|
|
3643
3794
|
};
|
|
3644
3795
|
|
|
3645
3796
|
// src/components/style-sections/typography-section/font-size-field.tsx
|
|
3646
|
-
import * as
|
|
3797
|
+
import * as React68 from "react";
|
|
3798
|
+
import { useRef as useRef10 } from "react";
|
|
3647
3799
|
import { SizeControl as SizeControl7 } from "@elementor/editor-controls";
|
|
3648
3800
|
import { Grid as Grid20 } from "@elementor/ui";
|
|
3649
|
-
import { __ as
|
|
3801
|
+
import { __ as __41 } from "@wordpress/i18n";
|
|
3650
3802
|
var FontSizeField = () => {
|
|
3651
|
-
|
|
3803
|
+
const rowRef = useRef10();
|
|
3804
|
+
return /* @__PURE__ */ React68.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React68.createElement(Grid20, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React68.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React68.createElement(ControlLabel, null, __41("Font size", "elementor"))), /* @__PURE__ */ React68.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React68.createElement(SizeControl7, { anchorRef: rowRef }))));
|
|
3652
3805
|
};
|
|
3653
3806
|
|
|
3654
3807
|
// src/components/style-sections/typography-section/font-style-field.tsx
|
|
3655
|
-
import * as
|
|
3656
|
-
import { ControlFormLabel as
|
|
3808
|
+
import * as React69 from "react";
|
|
3809
|
+
import { ControlFormLabel as ControlFormLabel5, ToggleControl as ToggleControl9 } from "@elementor/editor-controls";
|
|
3657
3810
|
import { ItalicIcon, MinusIcon as MinusIcon2 } from "@elementor/icons";
|
|
3658
3811
|
import { Grid as Grid21 } from "@elementor/ui";
|
|
3659
|
-
import { __ as
|
|
3812
|
+
import { __ as __42 } from "@wordpress/i18n";
|
|
3660
3813
|
var options7 = [
|
|
3661
3814
|
{
|
|
3662
3815
|
value: "normal",
|
|
3663
|
-
label:
|
|
3664
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3816
|
+
label: __42("Normal", "elementor"),
|
|
3817
|
+
renderContent: ({ size }) => /* @__PURE__ */ React69.createElement(MinusIcon2, { fontSize: size }),
|
|
3665
3818
|
showTooltip: true
|
|
3666
3819
|
},
|
|
3667
3820
|
{
|
|
3668
3821
|
value: "italic",
|
|
3669
|
-
label:
|
|
3670
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3822
|
+
label: __42("Italic", "elementor"),
|
|
3823
|
+
renderContent: ({ size }) => /* @__PURE__ */ React69.createElement(ItalicIcon, { fontSize: size }),
|
|
3671
3824
|
showTooltip: true
|
|
3672
3825
|
}
|
|
3673
3826
|
];
|
|
3674
|
-
var FontStyleField = () => /* @__PURE__ */
|
|
3827
|
+
var FontStyleField = () => /* @__PURE__ */ React69.createElement(StylesField, { bind: "font-style" }, /* @__PURE__ */ React69.createElement(Grid21, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React69.createElement(Grid21, { item: true, xs: 6 }, /* @__PURE__ */ React69.createElement(ControlFormLabel5, null, __42("Font style", "elementor"))), /* @__PURE__ */ React69.createElement(Grid21, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React69.createElement(ToggleControl9, { options: options7 }))));
|
|
3675
3828
|
|
|
3676
3829
|
// src/components/style-sections/typography-section/font-weight-field.tsx
|
|
3677
|
-
import * as
|
|
3830
|
+
import * as React70 from "react";
|
|
3678
3831
|
import { SelectControl as SelectControl6 } from "@elementor/editor-controls";
|
|
3679
3832
|
import { Grid as Grid22 } from "@elementor/ui";
|
|
3680
|
-
import { __ as
|
|
3833
|
+
import { __ as __43 } from "@wordpress/i18n";
|
|
3681
3834
|
var fontWeightOptions = [
|
|
3682
|
-
{ value: "100", label:
|
|
3683
|
-
{ value: "200", label:
|
|
3684
|
-
{ value: "300", label:
|
|
3685
|
-
{ value: "400", label:
|
|
3686
|
-
{ value: "500", label:
|
|
3687
|
-
{ value: "600", label:
|
|
3688
|
-
{ value: "700", label:
|
|
3689
|
-
{ value: "800", label:
|
|
3690
|
-
{ value: "900", label:
|
|
3835
|
+
{ value: "100", label: __43("100 - Thin", "elementor") },
|
|
3836
|
+
{ value: "200", label: __43("200 - Extra light", "elementor") },
|
|
3837
|
+
{ value: "300", label: __43("300 - Light", "elementor") },
|
|
3838
|
+
{ value: "400", label: __43("400 - Normal", "elementor") },
|
|
3839
|
+
{ value: "500", label: __43("500 - Medium", "elementor") },
|
|
3840
|
+
{ value: "600", label: __43("600 - Semi bold", "elementor") },
|
|
3841
|
+
{ value: "700", label: __43("700 - Bold", "elementor") },
|
|
3842
|
+
{ value: "800", label: __43("800 - Extra bold", "elementor") },
|
|
3843
|
+
{ value: "900", label: __43("900 - Black", "elementor") }
|
|
3691
3844
|
];
|
|
3692
3845
|
var FontWeightField = () => {
|
|
3693
|
-
return /* @__PURE__ */
|
|
3846
|
+
return /* @__PURE__ */ React70.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React70.createElement(Grid22, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React70.createElement(Grid22, { item: true, xs: 6 }, /* @__PURE__ */ React70.createElement(ControlLabel, null, __43("Font weight", "elementor"))), /* @__PURE__ */ React70.createElement(Grid22, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React70.createElement(SelectControl6, { options: fontWeightOptions }))));
|
|
3694
3847
|
};
|
|
3695
3848
|
|
|
3696
3849
|
// src/components/style-sections/typography-section/letter-spacing-field.tsx
|
|
3697
|
-
import * as
|
|
3850
|
+
import * as React71 from "react";
|
|
3851
|
+
import { useRef as useRef11 } from "react";
|
|
3698
3852
|
import { SizeControl as SizeControl8 } from "@elementor/editor-controls";
|
|
3699
3853
|
import { Grid as Grid23 } from "@elementor/ui";
|
|
3700
|
-
import { __ as
|
|
3854
|
+
import { __ as __44 } from "@wordpress/i18n";
|
|
3701
3855
|
var LetterSpacingField = () => {
|
|
3702
|
-
|
|
3856
|
+
const rowRef = useRef11();
|
|
3857
|
+
return /* @__PURE__ */ React71.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React71.createElement(Grid23, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React71.createElement(Grid23, { item: true, xs: 6 }, /* @__PURE__ */ React71.createElement(ControlLabel, null, __44("Letter spacing", "elementor"))), /* @__PURE__ */ React71.createElement(Grid23, { item: true, xs: 6 }, /* @__PURE__ */ React71.createElement(SizeControl8, { anchorRef: rowRef }))));
|
|
3703
3858
|
};
|
|
3704
3859
|
|
|
3705
3860
|
// src/components/style-sections/typography-section/line-height-field.tsx
|
|
3706
|
-
import * as
|
|
3861
|
+
import * as React72 from "react";
|
|
3862
|
+
import { useRef as useRef12 } from "react";
|
|
3707
3863
|
import { SizeControl as SizeControl9 } from "@elementor/editor-controls";
|
|
3708
3864
|
import { Grid as Grid24 } from "@elementor/ui";
|
|
3709
|
-
import { __ as
|
|
3865
|
+
import { __ as __45 } from "@wordpress/i18n";
|
|
3710
3866
|
var LineHeightField = () => {
|
|
3711
|
-
|
|
3867
|
+
const rowRef = useRef12();
|
|
3868
|
+
return /* @__PURE__ */ React72.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React72.createElement(Grid24, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React72.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React72.createElement(ControlLabel, null, __45("Line height", "elementor"))), /* @__PURE__ */ React72.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React72.createElement(SizeControl9, { anchorRef: rowRef }))));
|
|
3712
3869
|
};
|
|
3713
3870
|
|
|
3714
3871
|
// src/components/style-sections/typography-section/text-alignment-field.tsx
|
|
3715
|
-
import * as
|
|
3872
|
+
import * as React73 from "react";
|
|
3716
3873
|
import { ToggleControl as ToggleControl10 } from "@elementor/editor-controls";
|
|
3717
3874
|
import { AlignCenterIcon, AlignJustifiedIcon, AlignLeftIcon, AlignRightIcon } from "@elementor/icons";
|
|
3718
3875
|
import { Grid as Grid25, withDirection as withDirection9 } from "@elementor/ui";
|
|
3719
|
-
import { __ as
|
|
3876
|
+
import { __ as __46 } from "@wordpress/i18n";
|
|
3720
3877
|
var AlignStartIcon = withDirection9(AlignLeftIcon);
|
|
3721
3878
|
var AlignEndIcon = withDirection9(AlignRightIcon);
|
|
3722
3879
|
var options8 = [
|
|
3723
3880
|
{
|
|
3724
3881
|
value: "start",
|
|
3725
|
-
label:
|
|
3726
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3882
|
+
label: __46("Start", "elementor"),
|
|
3883
|
+
renderContent: ({ size }) => /* @__PURE__ */ React73.createElement(AlignStartIcon, { fontSize: size }),
|
|
3727
3884
|
showTooltip: true
|
|
3728
3885
|
},
|
|
3729
3886
|
{
|
|
3730
3887
|
value: "center",
|
|
3731
|
-
label:
|
|
3732
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3888
|
+
label: __46("Center", "elementor"),
|
|
3889
|
+
renderContent: ({ size }) => /* @__PURE__ */ React73.createElement(AlignCenterIcon, { fontSize: size }),
|
|
3733
3890
|
showTooltip: true
|
|
3734
3891
|
},
|
|
3735
3892
|
{
|
|
3736
3893
|
value: "end",
|
|
3737
|
-
label:
|
|
3738
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3894
|
+
label: __46("End", "elementor"),
|
|
3895
|
+
renderContent: ({ size }) => /* @__PURE__ */ React73.createElement(AlignEndIcon, { fontSize: size }),
|
|
3739
3896
|
showTooltip: true
|
|
3740
3897
|
},
|
|
3741
3898
|
{
|
|
3742
3899
|
value: "justify",
|
|
3743
|
-
label:
|
|
3744
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3900
|
+
label: __46("Justify", "elementor"),
|
|
3901
|
+
renderContent: ({ size }) => /* @__PURE__ */ React73.createElement(AlignJustifiedIcon, { fontSize: size }),
|
|
3745
3902
|
showTooltip: true
|
|
3746
3903
|
}
|
|
3747
3904
|
];
|
|
3748
3905
|
var TextAlignmentField = () => {
|
|
3749
|
-
return /* @__PURE__ */
|
|
3906
|
+
return /* @__PURE__ */ React73.createElement(UiProviders, null, /* @__PURE__ */ React73.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React73.createElement(Grid25, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React73.createElement(Grid25, { item: true, xs: 6 }, /* @__PURE__ */ React73.createElement(ControlLabel, null, __46("Text align", "elementor"))), /* @__PURE__ */ React73.createElement(Grid25, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React73.createElement(ToggleControl10, { options: options8 })))));
|
|
3750
3907
|
};
|
|
3751
3908
|
|
|
3752
3909
|
// src/components/style-sections/typography-section/text-color-field.tsx
|
|
3753
|
-
import * as
|
|
3910
|
+
import * as React74 from "react";
|
|
3754
3911
|
import { ColorControl as ColorControl2 } from "@elementor/editor-controls";
|
|
3755
3912
|
import { Grid as Grid26 } from "@elementor/ui";
|
|
3756
|
-
import { __ as
|
|
3913
|
+
import { __ as __47 } from "@wordpress/i18n";
|
|
3757
3914
|
var TextColorField = () => {
|
|
3758
|
-
return /* @__PURE__ */
|
|
3915
|
+
return /* @__PURE__ */ React74.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React74.createElement(Grid26, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React74.createElement(Grid26, { item: true, xs: 6 }, /* @__PURE__ */ React74.createElement(ControlLabel, null, __47("Text color", "elementor"))), /* @__PURE__ */ React74.createElement(Grid26, { item: true, xs: 6 }, /* @__PURE__ */ React74.createElement(ColorControl2, null))));
|
|
3759
3916
|
};
|
|
3760
3917
|
|
|
3761
3918
|
// src/components/style-sections/typography-section/text-decoration-field.tsx
|
|
3762
|
-
import * as
|
|
3919
|
+
import * as React75 from "react";
|
|
3763
3920
|
import { ToggleControl as ToggleControl11 } from "@elementor/editor-controls";
|
|
3764
3921
|
import { MinusIcon as MinusIcon3, OverlineIcon, StrikethroughIcon, UnderlineIcon } from "@elementor/icons";
|
|
3765
3922
|
import { Grid as Grid27 } from "@elementor/ui";
|
|
3766
|
-
import { __ as
|
|
3923
|
+
import { __ as __48 } from "@wordpress/i18n";
|
|
3767
3924
|
var options9 = [
|
|
3768
3925
|
{
|
|
3769
3926
|
value: "none",
|
|
3770
|
-
label:
|
|
3771
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3927
|
+
label: __48("None", "elementor"),
|
|
3928
|
+
renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(MinusIcon3, { fontSize: size }),
|
|
3772
3929
|
showTooltip: true,
|
|
3773
3930
|
exclusive: true
|
|
3774
3931
|
},
|
|
3775
3932
|
{
|
|
3776
3933
|
value: "underline",
|
|
3777
|
-
label:
|
|
3778
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3934
|
+
label: __48("Underline", "elementor"),
|
|
3935
|
+
renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(UnderlineIcon, { fontSize: size }),
|
|
3779
3936
|
showTooltip: true
|
|
3780
3937
|
},
|
|
3781
3938
|
{
|
|
3782
3939
|
value: "line-through",
|
|
3783
|
-
label:
|
|
3784
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3940
|
+
label: __48("Line-through", "elementor"),
|
|
3941
|
+
renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(StrikethroughIcon, { fontSize: size }),
|
|
3785
3942
|
showTooltip: true
|
|
3786
3943
|
},
|
|
3787
3944
|
{
|
|
3788
3945
|
value: "overline",
|
|
3789
|
-
label:
|
|
3790
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3946
|
+
label: __48("Overline", "elementor"),
|
|
3947
|
+
renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(OverlineIcon, { fontSize: size }),
|
|
3791
3948
|
showTooltip: true
|
|
3792
3949
|
}
|
|
3793
3950
|
];
|
|
3794
|
-
var TextDecorationField = () => /* @__PURE__ */
|
|
3951
|
+
var TextDecorationField = () => /* @__PURE__ */ React75.createElement(StylesField, { bind: "text-decoration" }, /* @__PURE__ */ React75.createElement(Grid27, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React75.createElement(Grid27, { item: true, xs: 6 }, /* @__PURE__ */ React75.createElement(ControlLabel, null, __48("Line decoration", "elementor"))), /* @__PURE__ */ React75.createElement(Grid27, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React75.createElement(ToggleControl11, { options: options9, exclusive: false }))));
|
|
3795
3952
|
|
|
3796
3953
|
// src/components/style-sections/typography-section/text-direction-field.tsx
|
|
3797
|
-
import * as
|
|
3954
|
+
import * as React76 from "react";
|
|
3798
3955
|
import { ToggleControl as ToggleControl12 } from "@elementor/editor-controls";
|
|
3799
3956
|
import { TextDirectionLtrIcon, TextDirectionRtlIcon } from "@elementor/icons";
|
|
3800
3957
|
import { Grid as Grid28 } from "@elementor/ui";
|
|
3801
|
-
import { __ as
|
|
3958
|
+
import { __ as __49 } from "@wordpress/i18n";
|
|
3802
3959
|
var options10 = [
|
|
3803
3960
|
{
|
|
3804
3961
|
value: "ltr",
|
|
3805
|
-
label:
|
|
3806
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3962
|
+
label: __49("Left to right", "elementor"),
|
|
3963
|
+
renderContent: ({ size }) => /* @__PURE__ */ React76.createElement(TextDirectionLtrIcon, { fontSize: size }),
|
|
3807
3964
|
showTooltip: true
|
|
3808
3965
|
},
|
|
3809
3966
|
{
|
|
3810
3967
|
value: "rtl",
|
|
3811
|
-
label:
|
|
3812
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3968
|
+
label: __49("Right to left", "elementor"),
|
|
3969
|
+
renderContent: ({ size }) => /* @__PURE__ */ React76.createElement(TextDirectionRtlIcon, { fontSize: size }),
|
|
3813
3970
|
showTooltip: true
|
|
3814
3971
|
}
|
|
3815
3972
|
];
|
|
3816
3973
|
var TextDirectionField = () => {
|
|
3817
|
-
return /* @__PURE__ */
|
|
3974
|
+
return /* @__PURE__ */ React76.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React76.createElement(Grid28, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React76.createElement(Grid28, { item: true, xs: 6 }, /* @__PURE__ */ React76.createElement(ControlLabel, null, __49("Direction", "elementor"))), /* @__PURE__ */ React76.createElement(Grid28, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React76.createElement(ToggleControl12, { options: options10 }))));
|
|
3818
3975
|
};
|
|
3819
3976
|
|
|
3820
3977
|
// src/components/style-sections/typography-section/text-stroke-field.tsx
|
|
3821
|
-
import * as
|
|
3978
|
+
import * as React77 from "react";
|
|
3822
3979
|
import { StrokeControl } from "@elementor/editor-controls";
|
|
3823
|
-
import { __ as
|
|
3980
|
+
import { __ as __50 } from "@wordpress/i18n";
|
|
3824
3981
|
var initTextStroke = {
|
|
3825
3982
|
$$type: "stroke",
|
|
3826
3983
|
value: {
|
|
@@ -3847,68 +4004,97 @@ var TextStrokeField = () => {
|
|
|
3847
4004
|
setTextStroke(null);
|
|
3848
4005
|
};
|
|
3849
4006
|
const hasTextStroke = Boolean(textStroke);
|
|
3850
|
-
return /* @__PURE__ */
|
|
4007
|
+
return /* @__PURE__ */ React77.createElement(StylesField, { bind: "stroke" }, /* @__PURE__ */ React77.createElement(
|
|
3851
4008
|
AddOrRemoveContent,
|
|
3852
4009
|
{
|
|
3853
|
-
label: __49("Text stroke", "elementor"),
|
|
3854
4010
|
isAdded: hasTextStroke,
|
|
3855
4011
|
onAdd: addTextStroke,
|
|
3856
4012
|
onRemove: removeTextStroke,
|
|
3857
|
-
disabled: !canEdit
|
|
4013
|
+
disabled: !canEdit,
|
|
4014
|
+
renderLabel: () => /* @__PURE__ */ React77.createElement(ControlLabel, null, __50("Text stroke", "elementor"))
|
|
3858
4015
|
},
|
|
3859
|
-
/* @__PURE__ */
|
|
4016
|
+
/* @__PURE__ */ React77.createElement(StrokeControl, null)
|
|
3860
4017
|
));
|
|
3861
4018
|
};
|
|
3862
4019
|
|
|
3863
4020
|
// src/components/style-sections/typography-section/transform-field.tsx
|
|
3864
|
-
import * as
|
|
4021
|
+
import * as React78 from "react";
|
|
3865
4022
|
import { ToggleControl as ToggleControl13 } from "@elementor/editor-controls";
|
|
3866
4023
|
import { LetterCaseIcon, LetterCaseLowerIcon, LetterCaseUpperIcon, MinusIcon as MinusIcon4 } from "@elementor/icons";
|
|
3867
4024
|
import { Grid as Grid29 } from "@elementor/ui";
|
|
3868
|
-
import { __ as
|
|
4025
|
+
import { __ as __51 } from "@wordpress/i18n";
|
|
3869
4026
|
var options11 = [
|
|
3870
4027
|
{
|
|
3871
4028
|
value: "none",
|
|
3872
|
-
label:
|
|
3873
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4029
|
+
label: __51("None", "elementor"),
|
|
4030
|
+
renderContent: ({ size }) => /* @__PURE__ */ React78.createElement(MinusIcon4, { fontSize: size }),
|
|
3874
4031
|
showTooltip: true
|
|
3875
4032
|
},
|
|
3876
4033
|
{
|
|
3877
4034
|
value: "capitalize",
|
|
3878
|
-
label:
|
|
3879
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4035
|
+
label: __51("Capitalize", "elementor"),
|
|
4036
|
+
renderContent: ({ size }) => /* @__PURE__ */ React78.createElement(LetterCaseIcon, { fontSize: size }),
|
|
3880
4037
|
showTooltip: true
|
|
3881
4038
|
},
|
|
3882
4039
|
{
|
|
3883
4040
|
value: "uppercase",
|
|
3884
|
-
label:
|
|
3885
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4041
|
+
label: __51("Uppercase", "elementor"),
|
|
4042
|
+
renderContent: ({ size }) => /* @__PURE__ */ React78.createElement(LetterCaseUpperIcon, { fontSize: size }),
|
|
3886
4043
|
showTooltip: true
|
|
3887
4044
|
},
|
|
3888
4045
|
{
|
|
3889
4046
|
value: "lowercase",
|
|
3890
|
-
label:
|
|
3891
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4047
|
+
label: __51("Lowercase", "elementor"),
|
|
4048
|
+
renderContent: ({ size }) => /* @__PURE__ */ React78.createElement(LetterCaseLowerIcon, { fontSize: size }),
|
|
3892
4049
|
showTooltip: true
|
|
3893
4050
|
}
|
|
3894
4051
|
];
|
|
3895
|
-
var TransformField = () => /* @__PURE__ */
|
|
4052
|
+
var TransformField = () => /* @__PURE__ */ React78.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React78.createElement(Grid29, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React78.createElement(Grid29, { item: true, xs: 6 }, /* @__PURE__ */ React78.createElement(ControlLabel, null, __51("Text transform", "elementor"))), /* @__PURE__ */ React78.createElement(Grid29, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React78.createElement(ToggleControl13, { options: options11 }))));
|
|
3896
4053
|
|
|
3897
4054
|
// src/components/style-sections/typography-section/word-spacing-field.tsx
|
|
3898
|
-
import * as
|
|
4055
|
+
import * as React79 from "react";
|
|
4056
|
+
import { useRef as useRef13 } from "react";
|
|
3899
4057
|
import { SizeControl as SizeControl10 } from "@elementor/editor-controls";
|
|
3900
4058
|
import { Grid as Grid30 } from "@elementor/ui";
|
|
3901
|
-
import { __ as
|
|
4059
|
+
import { __ as __52 } from "@wordpress/i18n";
|
|
3902
4060
|
var WordSpacingField = () => {
|
|
3903
|
-
|
|
4061
|
+
const rowRef = useRef13();
|
|
4062
|
+
return /* @__PURE__ */ React79.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React79.createElement(Grid30, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React79.createElement(Grid30, { item: true, xs: 6 }, /* @__PURE__ */ React79.createElement(ControlLabel, null, __52("Word spacing", "elementor"))), /* @__PURE__ */ React79.createElement(Grid30, { item: true, xs: 6 }, /* @__PURE__ */ React79.createElement(SizeControl10, { anchorRef: rowRef }))));
|
|
3904
4063
|
};
|
|
3905
4064
|
|
|
3906
4065
|
// src/components/style-sections/typography-section/typography-section.tsx
|
|
3907
4066
|
var TypographySection = () => {
|
|
3908
4067
|
const [columnCount] = useStylesField("column-count");
|
|
3909
|
-
const isVersion330Active =
|
|
4068
|
+
const isVersion330Active = isExperimentActive11("e_v_3_30");
|
|
3910
4069
|
const hasMultiColumns = !!(columnCount?.value && columnCount?.value > 1);
|
|
3911
|
-
return /* @__PURE__ */
|
|
4070
|
+
return /* @__PURE__ */ React80.createElement(SectionContent, null, /* @__PURE__ */ React80.createElement(FontFamilyField, null), /* @__PURE__ */ React80.createElement(FontWeightField, null), /* @__PURE__ */ React80.createElement(FontSizeField, null), /* @__PURE__ */ React80.createElement(PanelDivider, null), /* @__PURE__ */ React80.createElement(TextAlignmentField, null), /* @__PURE__ */ React80.createElement(TextColorField, null), /* @__PURE__ */ React80.createElement(
|
|
4071
|
+
StyleTabCollapsibleContent,
|
|
4072
|
+
{
|
|
4073
|
+
fields: [
|
|
4074
|
+
"line-height",
|
|
4075
|
+
"letter-spacing",
|
|
4076
|
+
"word-spacing",
|
|
4077
|
+
"column-count",
|
|
4078
|
+
"text-decoration",
|
|
4079
|
+
"text-transform",
|
|
4080
|
+
"direction",
|
|
4081
|
+
"font-style",
|
|
4082
|
+
"stroke"
|
|
4083
|
+
]
|
|
4084
|
+
},
|
|
4085
|
+
/* @__PURE__ */ React80.createElement(SectionContent, { sx: { pt: 2 } }, /* @__PURE__ */ React80.createElement(LineHeightField, null), /* @__PURE__ */ React80.createElement(LetterSpacingField, null), /* @__PURE__ */ React80.createElement(WordSpacingField, null), isVersion330Active && /* @__PURE__ */ React80.createElement(React80.Fragment, null, /* @__PURE__ */ React80.createElement(ColumnCountField, null), hasMultiColumns && /* @__PURE__ */ React80.createElement(ColumnGapField, null)), /* @__PURE__ */ React80.createElement(PanelDivider, null), /* @__PURE__ */ React80.createElement(TextDecorationField, null), /* @__PURE__ */ React80.createElement(TransformField, null), /* @__PURE__ */ React80.createElement(TextDirectionField, null), /* @__PURE__ */ React80.createElement(FontStyleField, null), /* @__PURE__ */ React80.createElement(TextStrokeField, null))
|
|
4086
|
+
));
|
|
4087
|
+
};
|
|
4088
|
+
|
|
4089
|
+
// src/components/style-tab-section.tsx
|
|
4090
|
+
import * as React81 from "react";
|
|
4091
|
+
import { isExperimentActive as isExperimentActive12 } from "@elementor/editor-v1-adapters";
|
|
4092
|
+
var StyleTabSection = ({ section, fields = [] }) => {
|
|
4093
|
+
const { component, name, title } = section;
|
|
4094
|
+
const tabDefaults = useDefaultPanelSettings();
|
|
4095
|
+
const SectionComponent = component;
|
|
4096
|
+
const isExpanded = isExperimentActive12(EXPERIMENTAL_FEATURES.V_3_30) ? tabDefaults.defaultSectionsExpanded.style?.includes(name) : false;
|
|
4097
|
+
return /* @__PURE__ */ React81.createElement(Section, { title, defaultExpanded: isExpanded, titleEnd: getStylesInheritanceIndicators(fields) }, /* @__PURE__ */ React81.createElement(SectionComponent, null));
|
|
3912
4098
|
};
|
|
3913
4099
|
|
|
3914
4100
|
// src/components/style-tab.tsx
|
|
@@ -3920,19 +4106,12 @@ var stickyHeaderStyles = {
|
|
|
3920
4106
|
backgroundColor: "background.default",
|
|
3921
4107
|
transition: "top 300ms ease"
|
|
3922
4108
|
};
|
|
3923
|
-
var PanelSection = ({ section }) => {
|
|
3924
|
-
const { component, name, title } = section;
|
|
3925
|
-
const tabDefaults = useDefaultPanelSettings();
|
|
3926
|
-
const SectionComponent = component;
|
|
3927
|
-
const isExpanded = isExperimentActive10(EXPERIMENTAL_FEATURES.V_3_30) ? tabDefaults.defaultSectionsExpanded.style?.includes(name) : false;
|
|
3928
|
-
return /* @__PURE__ */ React78.createElement(Section, { title, defaultExpanded: isExpanded }, /* @__PURE__ */ React78.createElement(SectionComponent, null));
|
|
3929
|
-
};
|
|
3930
4109
|
var StyleTab = () => {
|
|
3931
4110
|
const currentClassesProp = useCurrentClassesProp();
|
|
3932
4111
|
const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
|
|
3933
4112
|
const [activeStyleState, setActiveStyleState] = useState12(null);
|
|
3934
4113
|
const breakpoint = useActiveBreakpoint();
|
|
3935
|
-
return /* @__PURE__ */
|
|
4114
|
+
return /* @__PURE__ */ React82.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React82.createElement(
|
|
3936
4115
|
StyleProvider,
|
|
3937
4116
|
{
|
|
3938
4117
|
meta: { breakpoint, state: activeStyleState },
|
|
@@ -3943,84 +4122,126 @@ var StyleTab = () => {
|
|
|
3943
4122
|
},
|
|
3944
4123
|
setMetaState: setActiveStyleState
|
|
3945
4124
|
},
|
|
3946
|
-
/* @__PURE__ */
|
|
3947
|
-
|
|
4125
|
+
/* @__PURE__ */ React82.createElement(SessionStorageProvider2, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React82.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React82.createElement(ClassesHeader, null, /* @__PURE__ */ React82.createElement(CssClassSelector, null), /* @__PURE__ */ React82.createElement(Divider5, null)), /* @__PURE__ */ React82.createElement(SectionsList, null, /* @__PURE__ */ React82.createElement(
|
|
4126
|
+
StyleTabSection,
|
|
3948
4127
|
{
|
|
3949
4128
|
section: {
|
|
3950
4129
|
component: LayoutSection,
|
|
3951
4130
|
name: "Layout",
|
|
3952
|
-
title:
|
|
3953
|
-
}
|
|
4131
|
+
title: __53("Layout", "elementor")
|
|
4132
|
+
},
|
|
4133
|
+
fields: [
|
|
4134
|
+
"display",
|
|
4135
|
+
"flex-direction",
|
|
4136
|
+
"flex-wrap",
|
|
4137
|
+
"justify-content",
|
|
4138
|
+
"align-items",
|
|
4139
|
+
"align-content",
|
|
4140
|
+
"align-self",
|
|
4141
|
+
"gap"
|
|
4142
|
+
]
|
|
3954
4143
|
}
|
|
3955
|
-
), /* @__PURE__ */
|
|
3956
|
-
|
|
4144
|
+
), /* @__PURE__ */ React82.createElement(
|
|
4145
|
+
StyleTabSection,
|
|
3957
4146
|
{
|
|
3958
4147
|
section: {
|
|
3959
4148
|
component: SpacingSection,
|
|
3960
4149
|
name: "Spacing",
|
|
3961
|
-
title:
|
|
3962
|
-
}
|
|
4150
|
+
title: __53("Spacing", "elementor")
|
|
4151
|
+
},
|
|
4152
|
+
fields: ["margin", "padding"]
|
|
3963
4153
|
}
|
|
3964
|
-
), /* @__PURE__ */
|
|
3965
|
-
|
|
4154
|
+
), /* @__PURE__ */ React82.createElement(
|
|
4155
|
+
StyleTabSection,
|
|
3966
4156
|
{
|
|
3967
4157
|
section: {
|
|
3968
4158
|
component: SizeSection,
|
|
3969
4159
|
name: "Size",
|
|
3970
|
-
title:
|
|
3971
|
-
}
|
|
4160
|
+
title: __53("Size", "elementor")
|
|
4161
|
+
},
|
|
4162
|
+
fields: [
|
|
4163
|
+
"width",
|
|
4164
|
+
"min-width",
|
|
4165
|
+
"max-width",
|
|
4166
|
+
"height",
|
|
4167
|
+
"min-height",
|
|
4168
|
+
"max-height",
|
|
4169
|
+
"overflow",
|
|
4170
|
+
"aspect-ratio",
|
|
4171
|
+
"object-fit"
|
|
4172
|
+
]
|
|
3972
4173
|
}
|
|
3973
|
-
), /* @__PURE__ */
|
|
3974
|
-
|
|
4174
|
+
), /* @__PURE__ */ React82.createElement(
|
|
4175
|
+
StyleTabSection,
|
|
3975
4176
|
{
|
|
3976
4177
|
section: {
|
|
3977
4178
|
component: PositionSection,
|
|
3978
4179
|
name: "Position",
|
|
3979
|
-
title:
|
|
3980
|
-
}
|
|
4180
|
+
title: __53("Position", "elementor")
|
|
4181
|
+
},
|
|
4182
|
+
fields: ["position", "z-index", "scroll-margin-top"]
|
|
3981
4183
|
}
|
|
3982
|
-
), /* @__PURE__ */
|
|
3983
|
-
|
|
4184
|
+
), /* @__PURE__ */ React82.createElement(
|
|
4185
|
+
StyleTabSection,
|
|
3984
4186
|
{
|
|
3985
4187
|
section: {
|
|
3986
4188
|
component: TypographySection,
|
|
3987
4189
|
name: "Typography",
|
|
3988
|
-
title:
|
|
3989
|
-
}
|
|
4190
|
+
title: __53("Typography", "elementor")
|
|
4191
|
+
},
|
|
4192
|
+
fields: [
|
|
4193
|
+
"font-family",
|
|
4194
|
+
"font-weight",
|
|
4195
|
+
"font-size",
|
|
4196
|
+
"text-align",
|
|
4197
|
+
"color",
|
|
4198
|
+
"line-height",
|
|
4199
|
+
"letter-spacing",
|
|
4200
|
+
"word-spacing",
|
|
4201
|
+
"column-count",
|
|
4202
|
+
"text-decoration",
|
|
4203
|
+
"text-transform",
|
|
4204
|
+
"direction",
|
|
4205
|
+
"font-style",
|
|
4206
|
+
"stroke"
|
|
4207
|
+
]
|
|
3990
4208
|
}
|
|
3991
|
-
), /* @__PURE__ */
|
|
3992
|
-
|
|
4209
|
+
), /* @__PURE__ */ React82.createElement(
|
|
4210
|
+
StyleTabSection,
|
|
3993
4211
|
{
|
|
3994
4212
|
section: {
|
|
3995
4213
|
component: BackgroundSection,
|
|
3996
4214
|
name: "Background",
|
|
3997
|
-
title:
|
|
3998
|
-
}
|
|
4215
|
+
title: __53("Background", "elementor")
|
|
4216
|
+
},
|
|
4217
|
+
fields: ["background"]
|
|
3999
4218
|
}
|
|
4000
|
-
), /* @__PURE__ */
|
|
4001
|
-
|
|
4219
|
+
), /* @__PURE__ */ React82.createElement(
|
|
4220
|
+
StyleTabSection,
|
|
4002
4221
|
{
|
|
4003
4222
|
section: {
|
|
4004
4223
|
component: BorderSection,
|
|
4005
4224
|
name: "Border",
|
|
4006
|
-
title:
|
|
4007
|
-
}
|
|
4225
|
+
title: __53("Border", "elementor")
|
|
4226
|
+
},
|
|
4227
|
+
fields: ["border-radius", "border-width", "border-color", "border-style"]
|
|
4008
4228
|
}
|
|
4009
|
-
), /* @__PURE__ */
|
|
4010
|
-
|
|
4229
|
+
), /* @__PURE__ */ React82.createElement(
|
|
4230
|
+
StyleTabSection,
|
|
4011
4231
|
{
|
|
4012
4232
|
section: {
|
|
4013
4233
|
component: EffectsSection,
|
|
4014
4234
|
name: "Effects",
|
|
4015
|
-
title:
|
|
4016
|
-
}
|
|
4235
|
+
title: __53("Effects", "elementor")
|
|
4236
|
+
},
|
|
4237
|
+
fields: ["box-shadow"]
|
|
4017
4238
|
}
|
|
4018
4239
|
))))
|
|
4019
4240
|
));
|
|
4020
4241
|
};
|
|
4021
4242
|
function ClassesHeader({ children }) {
|
|
4022
4243
|
const scrollDirection = useScrollDirection();
|
|
4023
|
-
return /* @__PURE__ */
|
|
4244
|
+
return /* @__PURE__ */ React82.createElement(Stack17, { sx: { ...stickyHeaderStyles, top: scrollDirection === "up" ? TABS_HEADER_HEIGHT : 0 } }, children);
|
|
4024
4245
|
}
|
|
4025
4246
|
function useCurrentClassesProp() {
|
|
4026
4247
|
const { elementType } = useElement();
|
|
@@ -4039,15 +4260,15 @@ var EditingPanelTabs = () => {
|
|
|
4039
4260
|
return (
|
|
4040
4261
|
// When switching between elements, the local states should be reset. We are using key to rerender the tabs.
|
|
4041
4262
|
// Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
|
|
4042
|
-
/* @__PURE__ */
|
|
4263
|
+
/* @__PURE__ */ React83.createElement(Fragment9, { key: element.id }, /* @__PURE__ */ React83.createElement(PanelTabContent, null))
|
|
4043
4264
|
);
|
|
4044
4265
|
};
|
|
4045
4266
|
var PanelTabContent = () => {
|
|
4046
4267
|
const editorDefaults = useDefaultPanelSettings();
|
|
4047
|
-
const defaultComponentTab =
|
|
4268
|
+
const defaultComponentTab = isExperimentActive13(EXPERIMENTAL_FEATURES.V_3_30) ? editorDefaults.defaultTab : "settings";
|
|
4048
4269
|
const [currentTab, setCurrentTab] = useStateByElement("tab", defaultComponentTab);
|
|
4049
4270
|
const { getTabProps, getTabPanelProps, getTabsProps } = useTabs(currentTab);
|
|
4050
|
-
return /* @__PURE__ */
|
|
4271
|
+
return /* @__PURE__ */ React83.createElement(ScrollProvider, null, /* @__PURE__ */ React83.createElement(Stack18, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React83.createElement(Stack18, { sx: { ...stickyHeaderStyles, top: 0 } }, /* @__PURE__ */ React83.createElement(
|
|
4051
4272
|
Tabs,
|
|
4052
4273
|
{
|
|
4053
4274
|
variant: "fullWidth",
|
|
@@ -4059,9 +4280,9 @@ var PanelTabContent = () => {
|
|
|
4059
4280
|
setCurrentTab(newValue);
|
|
4060
4281
|
}
|
|
4061
4282
|
},
|
|
4062
|
-
/* @__PURE__ */
|
|
4063
|
-
/* @__PURE__ */
|
|
4064
|
-
), /* @__PURE__ */
|
|
4283
|
+
/* @__PURE__ */ React83.createElement(Tab, { label: __54("General", "elementor"), ...getTabProps("settings") }),
|
|
4284
|
+
/* @__PURE__ */ React83.createElement(Tab, { label: __54("Style", "elementor"), ...getTabProps("style") })
|
|
4285
|
+
), /* @__PURE__ */ React83.createElement(Divider6, null)), /* @__PURE__ */ React83.createElement(TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React83.createElement(SettingsTab, null)), /* @__PURE__ */ React83.createElement(TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React83.createElement(StyleTab, null))));
|
|
4065
4286
|
};
|
|
4066
4287
|
|
|
4067
4288
|
// src/components/editing-panel.tsx
|
|
@@ -4073,8 +4294,8 @@ var EditingPanel = () => {
|
|
|
4073
4294
|
if (!element || !elementType) {
|
|
4074
4295
|
return null;
|
|
4075
4296
|
}
|
|
4076
|
-
const panelTitle =
|
|
4077
|
-
return /* @__PURE__ */
|
|
4297
|
+
const panelTitle = __55("Edit %s", "elementor").replace("%s", elementType.title);
|
|
4298
|
+
return /* @__PURE__ */ React84.createElement(ErrorBoundary, { fallback: /* @__PURE__ */ React84.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React84.createElement(SessionStorageProvider3, { prefix: "elementor" }, /* @__PURE__ */ React84.createElement(ThemeProvider2, null, /* @__PURE__ */ React84.createElement(Panel, null, /* @__PURE__ */ React84.createElement(PanelHeader, null, /* @__PURE__ */ React84.createElement(PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React84.createElement(AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React84.createElement(PanelBody, null, /* @__PURE__ */ React84.createElement(ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React84.createElement(ControlReplacementsProvider, { replacements: controlReplacements }, /* @__PURE__ */ React84.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React84.createElement(EditingPanelTabs, null)))))))));
|
|
4078
4299
|
};
|
|
4079
4300
|
|
|
4080
4301
|
// src/panel.ts
|
|
@@ -4087,7 +4308,7 @@ var { panel, usePanelActions, usePanelStatus } = createPanel({
|
|
|
4087
4308
|
import { injectIntoLogic } from "@elementor/editor";
|
|
4088
4309
|
import { PrefetchUserData } from "@elementor/editor-current-user";
|
|
4089
4310
|
import { __registerPanel as registerPanel } from "@elementor/editor-panels";
|
|
4090
|
-
import { blockCommand, isExperimentActive as
|
|
4311
|
+
import { blockCommand, isExperimentActive as isExperimentActive14 } from "@elementor/editor-v1-adapters";
|
|
4091
4312
|
|
|
4092
4313
|
// src/hooks/use-open-editor-panel.ts
|
|
4093
4314
|
import { useEffect as useEffect4 } from "react";
|
|
@@ -4124,47 +4345,15 @@ var EditingPanelHooks = () => {
|
|
|
4124
4345
|
|
|
4125
4346
|
// src/dynamics/init.ts
|
|
4126
4347
|
import { settingsTransformersRegistry, styleTransformersRegistry } from "@elementor/editor-canvas";
|
|
4348
|
+
import { injectIntoRepeaterItemIcon, injectIntoRepeaterItemLabel } from "@elementor/editor-controls";
|
|
4127
4349
|
|
|
4128
|
-
// src/dynamics/components/dynamic-
|
|
4129
|
-
import * as
|
|
4130
|
-
import { ControlFormLabel as ControlFormLabel5, useBoundProp as useBoundProp5 } from "@elementor/editor-controls";
|
|
4131
|
-
import { DatabaseIcon as DatabaseIcon2, SettingsIcon, XIcon as XIcon2 } from "@elementor/icons";
|
|
4132
|
-
import {
|
|
4133
|
-
bindPopover as bindPopover2,
|
|
4134
|
-
bindTrigger as bindTrigger2,
|
|
4135
|
-
Box as Box8,
|
|
4136
|
-
Divider as Divider8,
|
|
4137
|
-
Grid as Grid31,
|
|
4138
|
-
IconButton as IconButton5,
|
|
4139
|
-
Paper,
|
|
4140
|
-
Popover as Popover2,
|
|
4141
|
-
Stack as Stack21,
|
|
4142
|
-
Tab as Tab2,
|
|
4143
|
-
TabPanel as TabPanel2,
|
|
4144
|
-
Tabs as Tabs2,
|
|
4145
|
-
Typography as Typography8,
|
|
4146
|
-
UnstableTag as Tag,
|
|
4147
|
-
usePopupState as usePopupState3,
|
|
4148
|
-
useTabs as useTabs2
|
|
4149
|
-
} from "@elementor/ui";
|
|
4150
|
-
import { __ as __56 } from "@wordpress/i18n";
|
|
4151
|
-
|
|
4152
|
-
// src/components/popover-content.tsx
|
|
4153
|
-
import * as React81 from "react";
|
|
4154
|
-
import { Stack as Stack19 } from "@elementor/ui";
|
|
4155
|
-
var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React81.createElement(Stack19, { alignItems, gap, p }, children);
|
|
4156
|
-
|
|
4157
|
-
// src/hooks/use-persist-dynamic-value.ts
|
|
4158
|
-
import { useSessionStorage as useSessionStorage2 } from "@elementor/session";
|
|
4159
|
-
var usePersistDynamicValue = (propKey) => {
|
|
4160
|
-
const { element } = useElement();
|
|
4161
|
-
const prefixedKey = `dynamic/non-dynamic-values-history/${element.id}/${propKey}`;
|
|
4162
|
-
return useSessionStorage2(prefixedKey);
|
|
4163
|
-
};
|
|
4164
|
-
|
|
4165
|
-
// src/dynamics/dynamic-control.tsx
|
|
4166
|
-
import * as React82 from "react";
|
|
4350
|
+
// src/dynamics/components/background-control-dynamic-tag.tsx
|
|
4351
|
+
import * as React85 from "react";
|
|
4167
4352
|
import { PropKeyProvider as PropKeyProvider3, PropProvider as PropProvider3, useBoundProp as useBoundProp3 } from "@elementor/editor-controls";
|
|
4353
|
+
import {
|
|
4354
|
+
backgroundImageOverlayPropTypeUtil
|
|
4355
|
+
} from "@elementor/editor-props";
|
|
4356
|
+
import { DatabaseIcon } from "@elementor/icons";
|
|
4168
4357
|
|
|
4169
4358
|
// src/dynamics/hooks/use-dynamic-tag.ts
|
|
4170
4359
|
import { useMemo as useMemo8 } from "react";
|
|
@@ -4244,9 +4433,65 @@ var useDynamicTag = (tagName) => {
|
|
|
4244
4433
|
return useMemo8(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
|
|
4245
4434
|
};
|
|
4246
4435
|
|
|
4436
|
+
// src/dynamics/components/background-control-dynamic-tag.tsx
|
|
4437
|
+
var BackgroundControlDynamicTagIcon = () => /* @__PURE__ */ React85.createElement(DatabaseIcon, { fontSize: "tiny" });
|
|
4438
|
+
var BackgroundControlDynamicTagLabel = ({ value }) => {
|
|
4439
|
+
const context = useBoundProp3(backgroundImageOverlayPropTypeUtil);
|
|
4440
|
+
return /* @__PURE__ */ React85.createElement(PropProvider3, { ...context, value: value.value }, /* @__PURE__ */ React85.createElement(PropKeyProvider3, { bind: "image" }, /* @__PURE__ */ React85.createElement(Wrapper, { rawValue: value.value })));
|
|
4441
|
+
};
|
|
4442
|
+
var Wrapper = ({ rawValue }) => {
|
|
4443
|
+
const { propType } = useBoundProp3();
|
|
4444
|
+
const imageOverlayPropType = propType.prop_types["background-image-overlay"];
|
|
4445
|
+
return /* @__PURE__ */ React85.createElement(PropProvider3, { propType: imageOverlayPropType.shape.image, value: rawValue, setValue: () => void 0 }, /* @__PURE__ */ React85.createElement(PropKeyProvider3, { bind: "src" }, /* @__PURE__ */ React85.createElement(Content, { rawValue: rawValue.image })));
|
|
4446
|
+
};
|
|
4447
|
+
var Content = ({ rawValue }) => {
|
|
4448
|
+
const src = rawValue.value.src;
|
|
4449
|
+
const dynamicTag = useDynamicTag(src.value.name || "");
|
|
4450
|
+
return /* @__PURE__ */ React85.createElement(React85.Fragment, null, dynamicTag?.label);
|
|
4451
|
+
};
|
|
4452
|
+
|
|
4453
|
+
// src/dynamics/components/dynamic-selection-control.tsx
|
|
4454
|
+
import * as React89 from "react";
|
|
4455
|
+
import { ControlFormLabel as ControlFormLabel6, useBoundProp as useBoundProp6 } from "@elementor/editor-controls";
|
|
4456
|
+
import { PopoverHeader as PopoverHeader2 } from "@elementor/editor-ui";
|
|
4457
|
+
import { DatabaseIcon as DatabaseIcon3, SettingsIcon, XIcon } from "@elementor/icons";
|
|
4458
|
+
import {
|
|
4459
|
+
bindPopover as bindPopover2,
|
|
4460
|
+
bindTrigger as bindTrigger2,
|
|
4461
|
+
Box as Box8,
|
|
4462
|
+
Divider as Divider8,
|
|
4463
|
+
Grid as Grid31,
|
|
4464
|
+
IconButton as IconButton5,
|
|
4465
|
+
Paper,
|
|
4466
|
+
Popover as Popover2,
|
|
4467
|
+
Stack as Stack21,
|
|
4468
|
+
Tab as Tab2,
|
|
4469
|
+
TabPanel as TabPanel2,
|
|
4470
|
+
Tabs as Tabs2,
|
|
4471
|
+
UnstableTag as Tag,
|
|
4472
|
+
usePopupState as usePopupState3,
|
|
4473
|
+
useTabs as useTabs2
|
|
4474
|
+
} from "@elementor/ui";
|
|
4475
|
+
import { __ as __57 } from "@wordpress/i18n";
|
|
4476
|
+
|
|
4477
|
+
// src/components/popover-content.tsx
|
|
4478
|
+
import * as React86 from "react";
|
|
4479
|
+
import { Stack as Stack19 } from "@elementor/ui";
|
|
4480
|
+
var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React86.createElement(Stack19, { alignItems, gap, p }, children);
|
|
4481
|
+
|
|
4482
|
+
// src/hooks/use-persist-dynamic-value.ts
|
|
4483
|
+
import { useSessionStorage as useSessionStorage2 } from "@elementor/session";
|
|
4484
|
+
var usePersistDynamicValue = (propKey) => {
|
|
4485
|
+
const { element } = useElement();
|
|
4486
|
+
const prefixedKey = `dynamic/non-dynamic-values-history/${element.id}/${propKey}`;
|
|
4487
|
+
return useSessionStorage2(prefixedKey);
|
|
4488
|
+
};
|
|
4489
|
+
|
|
4247
4490
|
// src/dynamics/dynamic-control.tsx
|
|
4491
|
+
import * as React87 from "react";
|
|
4492
|
+
import { PropKeyProvider as PropKeyProvider4, PropProvider as PropProvider4, useBoundProp as useBoundProp4 } from "@elementor/editor-controls";
|
|
4248
4493
|
var DynamicControl = ({ bind, children }) => {
|
|
4249
|
-
const { value, setValue } =
|
|
4494
|
+
const { value, setValue } = useBoundProp4(dynamicPropTypeUtil);
|
|
4250
4495
|
const { name = "", settings } = value ?? {};
|
|
4251
4496
|
const dynamicTag = useDynamicTag(name);
|
|
4252
4497
|
if (!dynamicTag) {
|
|
@@ -4265,14 +4510,14 @@ var DynamicControl = ({ bind, children }) => {
|
|
|
4265
4510
|
});
|
|
4266
4511
|
};
|
|
4267
4512
|
const propType = createTopLevelOjectType({ schema: dynamicTag.props_schema });
|
|
4268
|
-
return /* @__PURE__ */
|
|
4513
|
+
return /* @__PURE__ */ React87.createElement(PropProvider4, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React87.createElement(PropKeyProvider4, { bind }, children));
|
|
4269
4514
|
};
|
|
4270
4515
|
|
|
4271
4516
|
// src/dynamics/components/dynamic-selection.tsx
|
|
4272
|
-
import * as
|
|
4517
|
+
import * as React88 from "react";
|
|
4273
4518
|
import { Fragment as Fragment11, useState as useState13 } from "react";
|
|
4274
|
-
import { useBoundProp as
|
|
4275
|
-
import { DatabaseIcon, SearchIcon } from "@elementor/icons";
|
|
4519
|
+
import { useBoundProp as useBoundProp5 } from "@elementor/editor-controls";
|
|
4520
|
+
import { DatabaseIcon as DatabaseIcon2, SearchIcon } from "@elementor/icons";
|
|
4276
4521
|
import {
|
|
4277
4522
|
Box as Box7,
|
|
4278
4523
|
Divider as Divider7,
|
|
@@ -4283,15 +4528,15 @@ import {
|
|
|
4283
4528
|
MenuSubheader as MenuSubheader2,
|
|
4284
4529
|
Stack as Stack20,
|
|
4285
4530
|
TextField as TextField2,
|
|
4286
|
-
Typography as
|
|
4531
|
+
Typography as Typography6
|
|
4287
4532
|
} from "@elementor/ui";
|
|
4288
|
-
import { __ as
|
|
4533
|
+
import { __ as __56 } from "@wordpress/i18n";
|
|
4289
4534
|
var SIZE7 = "tiny";
|
|
4290
4535
|
var DynamicSelection = ({ onSelect }) => {
|
|
4291
4536
|
const [searchValue, setSearchValue] = useState13("");
|
|
4292
4537
|
const { groups: dynamicGroups } = getAtomicDynamicTags() || {};
|
|
4293
|
-
const { value: anyValue } =
|
|
4294
|
-
const { bind, value: dynamicValue, setValue } =
|
|
4538
|
+
const { value: anyValue } = useBoundProp5();
|
|
4539
|
+
const { bind, value: dynamicValue, setValue } = useBoundProp5(dynamicPropTypeUtil);
|
|
4295
4540
|
const [, updatePropValueHistory] = usePersistDynamicValue(bind);
|
|
4296
4541
|
const isCurrentValueDynamic = !!dynamicValue;
|
|
4297
4542
|
const options12 = useFilteredOptions(searchValue);
|
|
@@ -4306,19 +4551,19 @@ var DynamicSelection = ({ onSelect }) => {
|
|
|
4306
4551
|
setValue({ name: value, settings: { label } });
|
|
4307
4552
|
onSelect?.();
|
|
4308
4553
|
};
|
|
4309
|
-
return /* @__PURE__ */
|
|
4554
|
+
return /* @__PURE__ */ React88.createElement(Stack20, null, hasNoDynamicTags ? /* @__PURE__ */ React88.createElement(NoDynamicTags, null) : /* @__PURE__ */ React88.createElement(Fragment11, null, /* @__PURE__ */ React88.createElement(Box7, { px: 1.5, pb: 1 }, /* @__PURE__ */ React88.createElement(
|
|
4310
4555
|
TextField2,
|
|
4311
4556
|
{
|
|
4312
4557
|
fullWidth: true,
|
|
4313
4558
|
size: SIZE7,
|
|
4314
4559
|
value: searchValue,
|
|
4315
4560
|
onChange: handleSearch,
|
|
4316
|
-
placeholder:
|
|
4561
|
+
placeholder: __56("Search dynamic tags\u2026", "elementor"),
|
|
4317
4562
|
InputProps: {
|
|
4318
|
-
startAdornment: /* @__PURE__ */
|
|
4563
|
+
startAdornment: /* @__PURE__ */ React88.createElement(InputAdornment, { position: "start" }, /* @__PURE__ */ React88.createElement(SearchIcon, { fontSize: SIZE7 }))
|
|
4319
4564
|
}
|
|
4320
4565
|
}
|
|
4321
|
-
)), /* @__PURE__ */
|
|
4566
|
+
)), /* @__PURE__ */ React88.createElement(Divider7, null), /* @__PURE__ */ React88.createElement(Box7, { sx: { overflowY: "auto", height: 260, width: 220 } }, options12.length > 0 ? /* @__PURE__ */ React88.createElement(MenuList, { role: "listbox", tabIndex: 0 }, options12.map(([category, items3], index) => /* @__PURE__ */ React88.createElement(Fragment11, { key: index }, /* @__PURE__ */ React88.createElement(
|
|
4322
4567
|
MenuSubheader2,
|
|
4323
4568
|
{
|
|
4324
4569
|
sx: { px: 1.5, typography: "caption", color: "text.tertiary" }
|
|
@@ -4326,7 +4571,7 @@ var DynamicSelection = ({ onSelect }) => {
|
|
|
4326
4571
|
dynamicGroups?.[category]?.title || category
|
|
4327
4572
|
), items3.map(({ value, label: tagLabel }) => {
|
|
4328
4573
|
const isSelected = isCurrentValueDynamic && value === dynamicValue?.name;
|
|
4329
|
-
return /* @__PURE__ */
|
|
4574
|
+
return /* @__PURE__ */ React88.createElement(
|
|
4330
4575
|
MenuItem,
|
|
4331
4576
|
{
|
|
4332
4577
|
key: value,
|
|
@@ -4337,9 +4582,9 @@ var DynamicSelection = ({ onSelect }) => {
|
|
|
4337
4582
|
},
|
|
4338
4583
|
tagLabel
|
|
4339
4584
|
);
|
|
4340
|
-
})))) : /* @__PURE__ */
|
|
4585
|
+
})))) : /* @__PURE__ */ React88.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") }))));
|
|
4341
4586
|
};
|
|
4342
|
-
var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */
|
|
4587
|
+
var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React88.createElement(
|
|
4343
4588
|
Stack20,
|
|
4344
4589
|
{
|
|
4345
4590
|
gap: 1,
|
|
@@ -4350,11 +4595,11 @@ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React83.createElem
|
|
|
4350
4595
|
color: "text.secondary",
|
|
4351
4596
|
sx: { pb: 3.5 }
|
|
4352
4597
|
},
|
|
4353
|
-
/* @__PURE__ */
|
|
4354
|
-
/* @__PURE__ */
|
|
4355
|
-
/* @__PURE__ */
|
|
4598
|
+
/* @__PURE__ */ React88.createElement(DatabaseIcon2, { fontSize: "large" }),
|
|
4599
|
+
/* @__PURE__ */ React88.createElement(Typography6, { align: "center", variant: "subtitle2" }, __56("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React88.createElement("br", null), "\u201C", searchValue, "\u201D."),
|
|
4600
|
+
/* @__PURE__ */ React88.createElement(Typography6, { align: "center", variant: "caption" }, __56("Try something else.", "elementor"), "\xA0", /* @__PURE__ */ React88.createElement(Link2, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, __56("Clear & try again", "elementor")))
|
|
4356
4601
|
);
|
|
4357
|
-
var NoDynamicTags = () => /* @__PURE__ */
|
|
4602
|
+
var NoDynamicTags = () => /* @__PURE__ */ React88.createElement(Box7, { sx: { overflowY: "hidden", height: 297, width: 220 } }, /* @__PURE__ */ React88.createElement(Divider7, null), /* @__PURE__ */ React88.createElement(
|
|
4358
4603
|
Stack20,
|
|
4359
4604
|
{
|
|
4360
4605
|
gap: 1,
|
|
@@ -4365,9 +4610,9 @@ var NoDynamicTags = () => /* @__PURE__ */ React83.createElement(Box7, { sx: { ov
|
|
|
4365
4610
|
color: "text.secondary",
|
|
4366
4611
|
sx: { pb: 3.5 }
|
|
4367
4612
|
},
|
|
4368
|
-
/* @__PURE__ */
|
|
4369
|
-
/* @__PURE__ */
|
|
4370
|
-
/* @__PURE__ */
|
|
4613
|
+
/* @__PURE__ */ React88.createElement(DatabaseIcon2, { fontSize: "large" }),
|
|
4614
|
+
/* @__PURE__ */ React88.createElement(Typography6, { align: "center", variant: "subtitle2" }, __56("Streamline your workflow with dynamic tags", "elementor")),
|
|
4615
|
+
/* @__PURE__ */ React88.createElement(Typography6, { align: "center", variant: "caption" }, __56("You\u2019ll need Elementor Pro to use this feature.", "elementor"))
|
|
4371
4616
|
));
|
|
4372
4617
|
var useFilteredOptions = (searchValue) => {
|
|
4373
4618
|
const dynamicTags = usePropDynamicTags();
|
|
@@ -4388,8 +4633,8 @@ var useFilteredOptions = (searchValue) => {
|
|
|
4388
4633
|
// src/dynamics/components/dynamic-selection-control.tsx
|
|
4389
4634
|
var SIZE8 = "tiny";
|
|
4390
4635
|
var DynamicSelectionControl = () => {
|
|
4391
|
-
const { setValue: setAnyValue } =
|
|
4392
|
-
const { bind, value } =
|
|
4636
|
+
const { setValue: setAnyValue } = useBoundProp6();
|
|
4637
|
+
const { bind, value } = useBoundProp6(dynamicPropTypeUtil);
|
|
4393
4638
|
const [propValueFromHistory] = usePersistDynamicValue(bind);
|
|
4394
4639
|
const selectionPopoverState = usePopupState3({ variant: "popover" });
|
|
4395
4640
|
const { name: tagName = "" } = value;
|
|
@@ -4400,25 +4645,25 @@ var DynamicSelectionControl = () => {
|
|
|
4400
4645
|
if (!dynamicTag) {
|
|
4401
4646
|
throw new Error(`Dynamic tag ${tagName} not found`);
|
|
4402
4647
|
}
|
|
4403
|
-
return /* @__PURE__ */
|
|
4648
|
+
return /* @__PURE__ */ React89.createElement(Box8, null, /* @__PURE__ */ React89.createElement(
|
|
4404
4649
|
Tag,
|
|
4405
4650
|
{
|
|
4406
4651
|
fullWidth: true,
|
|
4407
4652
|
showActionsOnHover: true,
|
|
4408
4653
|
label: dynamicTag.label,
|
|
4409
|
-
startIcon: /* @__PURE__ */
|
|
4654
|
+
startIcon: /* @__PURE__ */ React89.createElement(DatabaseIcon3, { fontSize: SIZE8 }),
|
|
4410
4655
|
...bindTrigger2(selectionPopoverState),
|
|
4411
|
-
actions: /* @__PURE__ */
|
|
4656
|
+
actions: /* @__PURE__ */ React89.createElement(React89.Fragment, null, /* @__PURE__ */ React89.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React89.createElement(
|
|
4412
4657
|
IconButton5,
|
|
4413
4658
|
{
|
|
4414
4659
|
size: SIZE8,
|
|
4415
4660
|
onClick: removeDynamicTag,
|
|
4416
|
-
"aria-label":
|
|
4661
|
+
"aria-label": __57("Remove dynamic value", "elementor")
|
|
4417
4662
|
},
|
|
4418
|
-
/* @__PURE__ */
|
|
4663
|
+
/* @__PURE__ */ React89.createElement(XIcon, { fontSize: SIZE8 })
|
|
4419
4664
|
))
|
|
4420
4665
|
}
|
|
4421
|
-
), /* @__PURE__ */
|
|
4666
|
+
), /* @__PURE__ */ React89.createElement(
|
|
4422
4667
|
Popover2,
|
|
4423
4668
|
{
|
|
4424
4669
|
disablePortal: true,
|
|
@@ -4426,7 +4671,14 @@ var DynamicSelectionControl = () => {
|
|
|
4426
4671
|
anchorOrigin: { vertical: "bottom", horizontal: "left" },
|
|
4427
4672
|
...bindPopover2(selectionPopoverState)
|
|
4428
4673
|
},
|
|
4429
|
-
/* @__PURE__ */
|
|
4674
|
+
/* @__PURE__ */ React89.createElement(Stack21, null, /* @__PURE__ */ React89.createElement(
|
|
4675
|
+
PopoverHeader2,
|
|
4676
|
+
{
|
|
4677
|
+
title: __57("Dynamic tags", "elementor"),
|
|
4678
|
+
onClose: selectionPopoverState.close,
|
|
4679
|
+
icon: /* @__PURE__ */ React89.createElement(DatabaseIcon3, { fontSize: SIZE8 })
|
|
4680
|
+
}
|
|
4681
|
+
), /* @__PURE__ */ React89.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
|
|
4430
4682
|
));
|
|
4431
4683
|
};
|
|
4432
4684
|
var DynamicSettingsPopover = ({ dynamicTag }) => {
|
|
@@ -4435,7 +4687,7 @@ var DynamicSettingsPopover = ({ dynamicTag }) => {
|
|
|
4435
4687
|
if (!hasDynamicSettings) {
|
|
4436
4688
|
return null;
|
|
4437
4689
|
}
|
|
4438
|
-
return /* @__PURE__ */
|
|
4690
|
+
return /* @__PURE__ */ React89.createElement(React89.Fragment, null, /* @__PURE__ */ React89.createElement(IconButton5, { size: SIZE8, ...bindTrigger2(popupState), "aria-label": __57("Settings", "elementor") }, /* @__PURE__ */ React89.createElement(SettingsIcon, { fontSize: SIZE8 })), /* @__PURE__ */ React89.createElement(
|
|
4439
4691
|
Popover2,
|
|
4440
4692
|
{
|
|
4441
4693
|
disablePortal: true,
|
|
@@ -4443,7 +4695,14 @@ var DynamicSettingsPopover = ({ dynamicTag }) => {
|
|
|
4443
4695
|
anchorOrigin: { vertical: "bottom", horizontal: "center" },
|
|
4444
4696
|
...bindPopover2(popupState)
|
|
4445
4697
|
},
|
|
4446
|
-
/* @__PURE__ */
|
|
4698
|
+
/* @__PURE__ */ React89.createElement(Paper, { component: Stack21, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React89.createElement(
|
|
4699
|
+
PopoverHeader2,
|
|
4700
|
+
{
|
|
4701
|
+
title: dynamicTag.label,
|
|
4702
|
+
onClose: popupState.close,
|
|
4703
|
+
icon: /* @__PURE__ */ React89.createElement(DatabaseIcon3, { fontSize: SIZE8 })
|
|
4704
|
+
}
|
|
4705
|
+
), /* @__PURE__ */ React89.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
|
|
4447
4706
|
));
|
|
4448
4707
|
};
|
|
4449
4708
|
var DynamicSettings = ({ controls }) => {
|
|
@@ -4452,10 +4711,10 @@ var DynamicSettings = ({ controls }) => {
|
|
|
4452
4711
|
if (!tabs.length) {
|
|
4453
4712
|
return null;
|
|
4454
4713
|
}
|
|
4455
|
-
return /* @__PURE__ */
|
|
4456
|
-
return /* @__PURE__ */
|
|
4714
|
+
return /* @__PURE__ */ React89.createElement(React89.Fragment, null, /* @__PURE__ */ React89.createElement(Tabs2, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React89.createElement(Tab2, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React89.createElement(Divider8, null), tabs.map(({ value }, index) => {
|
|
4715
|
+
return /* @__PURE__ */ React89.createElement(TabPanel2, { key: index, sx: { flexGrow: 1, py: 0 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React89.createElement(PopoverContent, { p: 2, gap: 2 }, value.items.map((item) => {
|
|
4457
4716
|
if (item.type === "control") {
|
|
4458
|
-
return /* @__PURE__ */
|
|
4717
|
+
return /* @__PURE__ */ React89.createElement(Control3, { key: item.value.bind, control: item.value });
|
|
4459
4718
|
}
|
|
4460
4719
|
return null;
|
|
4461
4720
|
})));
|
|
@@ -4465,7 +4724,7 @@ var Control3 = ({ control }) => {
|
|
|
4465
4724
|
if (!getControl(control.type)) {
|
|
4466
4725
|
return null;
|
|
4467
4726
|
}
|
|
4468
|
-
return /* @__PURE__ */
|
|
4727
|
+
return /* @__PURE__ */ React89.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React89.createElement(Grid31, { container: true, gap: 0.75 }, control.label ? /* @__PURE__ */ React89.createElement(Grid31, { item: true, xs: 12 }, /* @__PURE__ */ React89.createElement(ControlFormLabel6, null, control.label)) : null, /* @__PURE__ */ React89.createElement(Grid31, { item: true, xs: 12 }, /* @__PURE__ */ React89.createElement(Control, { type: control.type, props: control.props }))));
|
|
4469
4728
|
};
|
|
4470
4729
|
|
|
4471
4730
|
// src/dynamics/dynamic-transformer.ts
|
|
@@ -4518,18 +4777,18 @@ function getDynamicValue(name, settings) {
|
|
|
4518
4777
|
}
|
|
4519
4778
|
|
|
4520
4779
|
// src/dynamics/hooks/use-prop-dynamic-action.tsx
|
|
4521
|
-
import * as
|
|
4522
|
-
import { useBoundProp as
|
|
4523
|
-
import { DatabaseIcon as
|
|
4524
|
-
import { __ as
|
|
4780
|
+
import * as React90 from "react";
|
|
4781
|
+
import { useBoundProp as useBoundProp7 } from "@elementor/editor-controls";
|
|
4782
|
+
import { DatabaseIcon as DatabaseIcon4 } from "@elementor/icons";
|
|
4783
|
+
import { __ as __58 } from "@wordpress/i18n";
|
|
4525
4784
|
var usePropDynamicAction = () => {
|
|
4526
|
-
const { propType } =
|
|
4785
|
+
const { propType } = useBoundProp7();
|
|
4527
4786
|
const visible = !!propType && supportsDynamic(propType);
|
|
4528
4787
|
return {
|
|
4529
4788
|
visible,
|
|
4530
|
-
icon:
|
|
4531
|
-
title:
|
|
4532
|
-
popoverContent: ({ closePopover }) => /* @__PURE__ */
|
|
4789
|
+
icon: DatabaseIcon4,
|
|
4790
|
+
title: __58("Dynamic tags", "elementor"),
|
|
4791
|
+
popoverContent: ({ closePopover }) => /* @__PURE__ */ React90.createElement(DynamicSelection, { onSelect: closePopover })
|
|
4533
4792
|
};
|
|
4534
4793
|
};
|
|
4535
4794
|
|
|
@@ -4540,6 +4799,16 @@ var init = () => {
|
|
|
4540
4799
|
component: DynamicSelectionControl,
|
|
4541
4800
|
condition: ({ value }) => isDynamicPropValue(value)
|
|
4542
4801
|
});
|
|
4802
|
+
injectIntoRepeaterItemLabel({
|
|
4803
|
+
id: "dynamic-background-image",
|
|
4804
|
+
condition: ({ value }) => isDynamicPropValue(value.value?.image?.value?.src),
|
|
4805
|
+
component: BackgroundControlDynamicTagLabel
|
|
4806
|
+
});
|
|
4807
|
+
injectIntoRepeaterItemIcon({
|
|
4808
|
+
id: "dynamic-background-image",
|
|
4809
|
+
condition: ({ value }) => isDynamicPropValue(value.value?.image?.value?.src),
|
|
4810
|
+
component: BackgroundControlDynamicTagIcon
|
|
4811
|
+
});
|
|
4543
4812
|
registerPopoverAction({
|
|
4544
4813
|
id: "dynamic-tags",
|
|
4545
4814
|
useProps: usePropDynamicAction
|
|
@@ -4549,9 +4818,9 @@ var init = () => {
|
|
|
4549
4818
|
};
|
|
4550
4819
|
|
|
4551
4820
|
// src/reset-style-props.tsx
|
|
4552
|
-
import { useBoundProp as
|
|
4821
|
+
import { useBoundProp as useBoundProp8 } from "@elementor/editor-controls";
|
|
4553
4822
|
import { BrushBigIcon } from "@elementor/icons";
|
|
4554
|
-
import { __ as
|
|
4823
|
+
import { __ as __59 } from "@wordpress/i18n";
|
|
4555
4824
|
var { registerAction } = controlActionsMenu;
|
|
4556
4825
|
function initResetStyleProps() {
|
|
4557
4826
|
registerAction({
|
|
@@ -4562,10 +4831,10 @@ function initResetStyleProps() {
|
|
|
4562
4831
|
var EXCLUDED_BINDS = ["order", "flex-grow", "flex-shrink", "flex-basis"];
|
|
4563
4832
|
function useResetStyleValueProps() {
|
|
4564
4833
|
const isStyle = useIsStyle();
|
|
4565
|
-
const { value, setValue, path, bind } =
|
|
4834
|
+
const { value, setValue, path, bind } = useBoundProp8();
|
|
4566
4835
|
return {
|
|
4567
4836
|
visible: isStyle && value !== null && value !== void 0 && path.length <= 2 && !EXCLUDED_BINDS.includes(bind),
|
|
4568
|
-
title:
|
|
4837
|
+
title: __59("Clear", "elementor"),
|
|
4569
4838
|
icon: BrushBigIcon,
|
|
4570
4839
|
onClick: () => setValue(null)
|
|
4571
4840
|
};
|
|
@@ -4575,36 +4844,36 @@ function useResetStyleValueProps() {
|
|
|
4575
4844
|
import { createTransformer as createTransformer6, styleTransformersRegistry as styleTransformersRegistry2 } from "@elementor/editor-canvas";
|
|
4576
4845
|
|
|
4577
4846
|
// src/styles-inheritance/transformers/background-color-overlay-transformer.tsx
|
|
4578
|
-
import * as
|
|
4847
|
+
import * as React91 from "react";
|
|
4579
4848
|
import { createTransformer as createTransformer2 } from "@elementor/editor-canvas";
|
|
4580
|
-
import { Stack as Stack22, styled as
|
|
4581
|
-
var backgroundColorOverlayTransformer = createTransformer2((value) => /* @__PURE__ */
|
|
4849
|
+
import { Stack as Stack22, styled as styled7, UnstableColorIndicator } from "@elementor/ui";
|
|
4850
|
+
var backgroundColorOverlayTransformer = createTransformer2((value) => /* @__PURE__ */ React91.createElement(Stack22, { direction: "row", gap: 10 }, /* @__PURE__ */ React91.createElement(ItemIconColor, { value }), /* @__PURE__ */ React91.createElement(ItemLabelColor, { value })));
|
|
4582
4851
|
var ItemIconColor = ({ value }) => {
|
|
4583
4852
|
const { color } = value;
|
|
4584
|
-
return /* @__PURE__ */
|
|
4853
|
+
return /* @__PURE__ */ React91.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: color });
|
|
4585
4854
|
};
|
|
4586
4855
|
var ItemLabelColor = ({ value: { color } }) => {
|
|
4587
|
-
return /* @__PURE__ */
|
|
4856
|
+
return /* @__PURE__ */ React91.createElement("span", null, color);
|
|
4588
4857
|
};
|
|
4589
|
-
var StyledUnstableColorIndicator =
|
|
4858
|
+
var StyledUnstableColorIndicator = styled7(UnstableColorIndicator)(({ theme }) => ({
|
|
4590
4859
|
borderRadius: `${theme.shape.borderRadius / 2}px`
|
|
4591
4860
|
}));
|
|
4592
4861
|
|
|
4593
4862
|
// src/styles-inheritance/transformers/background-gradient-overlay-transformer.tsx
|
|
4594
|
-
import * as
|
|
4863
|
+
import * as React92 from "react";
|
|
4595
4864
|
import { createTransformer as createTransformer3 } from "@elementor/editor-canvas";
|
|
4596
4865
|
import { Stack as Stack23 } from "@elementor/ui";
|
|
4597
|
-
import { __ as
|
|
4598
|
-
var backgroundGradientOverlayTransformer = createTransformer3((value) => /* @__PURE__ */
|
|
4866
|
+
import { __ as __60 } from "@wordpress/i18n";
|
|
4867
|
+
var backgroundGradientOverlayTransformer = createTransformer3((value) => /* @__PURE__ */ React92.createElement(Stack23, { direction: "row", gap: 10 }, /* @__PURE__ */ React92.createElement(ItemIconGradient, { value }), /* @__PURE__ */ React92.createElement(ItemLabelGradient, { value })));
|
|
4599
4868
|
var ItemIconGradient = ({ value }) => {
|
|
4600
4869
|
const gradient = getGradientValue(value);
|
|
4601
|
-
return /* @__PURE__ */
|
|
4870
|
+
return /* @__PURE__ */ React92.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: gradient });
|
|
4602
4871
|
};
|
|
4603
4872
|
var ItemLabelGradient = ({ value }) => {
|
|
4604
4873
|
if (value.type === "linear") {
|
|
4605
|
-
return /* @__PURE__ */
|
|
4874
|
+
return /* @__PURE__ */ React92.createElement("span", null, __60("Linear Gradient", "elementor"));
|
|
4606
4875
|
}
|
|
4607
|
-
return /* @__PURE__ */
|
|
4876
|
+
return /* @__PURE__ */ React92.createElement("span", null, __60("Radial Gradient", "elementor"));
|
|
4608
4877
|
};
|
|
4609
4878
|
var getGradientValue = (gradient) => {
|
|
4610
4879
|
const stops = gradient.stops?.map(({ color, offset }) => `${color} ${offset ?? 0}%`)?.join(",");
|
|
@@ -4615,15 +4884,15 @@ var getGradientValue = (gradient) => {
|
|
|
4615
4884
|
};
|
|
4616
4885
|
|
|
4617
4886
|
// src/styles-inheritance/transformers/background-image-overlay-transformer.tsx
|
|
4618
|
-
import * as
|
|
4887
|
+
import * as React93 from "react";
|
|
4619
4888
|
import { createTransformer as createTransformer4 } from "@elementor/editor-canvas";
|
|
4620
4889
|
import { EllipsisWithTooltip as EllipsisWithTooltip2 } from "@elementor/editor-ui";
|
|
4621
4890
|
import { CardMedia, Stack as Stack24 } from "@elementor/ui";
|
|
4622
4891
|
import { useWpMediaAttachment } from "@elementor/wp-media";
|
|
4623
|
-
var backgroundImageOverlayTransformer = createTransformer4((value) => /* @__PURE__ */
|
|
4892
|
+
var backgroundImageOverlayTransformer = createTransformer4((value) => /* @__PURE__ */ React93.createElement(Stack24, { direction: "row", gap: 10 }, /* @__PURE__ */ React93.createElement(ItemIconImage, { value }), /* @__PURE__ */ React93.createElement(ItemLabelImage, { value })));
|
|
4624
4893
|
var ItemIconImage = ({ value }) => {
|
|
4625
4894
|
const { imageUrl } = useImage(value);
|
|
4626
|
-
return /* @__PURE__ */
|
|
4895
|
+
return /* @__PURE__ */ React93.createElement(
|
|
4627
4896
|
CardMedia,
|
|
4628
4897
|
{
|
|
4629
4898
|
image: imageUrl,
|
|
@@ -4638,7 +4907,7 @@ var ItemIconImage = ({ value }) => {
|
|
|
4638
4907
|
};
|
|
4639
4908
|
var ItemLabelImage = ({ value }) => {
|
|
4640
4909
|
const { imageTitle } = useImage(value);
|
|
4641
|
-
return /* @__PURE__ */
|
|
4910
|
+
return /* @__PURE__ */ React93.createElement(EllipsisWithTooltip2, { title: imageTitle }, /* @__PURE__ */ React93.createElement("span", null, imageTitle));
|
|
4642
4911
|
};
|
|
4643
4912
|
var useImage = (image) => {
|
|
4644
4913
|
let imageTitle, imageUrl = null;
|
|
@@ -4663,14 +4932,14 @@ var getFileExtensionFromFilename = (filename) => {
|
|
|
4663
4932
|
};
|
|
4664
4933
|
|
|
4665
4934
|
// src/styles-inheritance/transformers/background-overlay-transformer.tsx
|
|
4666
|
-
import * as
|
|
4935
|
+
import * as React94 from "react";
|
|
4667
4936
|
import { createTransformer as createTransformer5 } from "@elementor/editor-canvas";
|
|
4668
4937
|
import { Stack as Stack25 } from "@elementor/ui";
|
|
4669
4938
|
var backgroundOverlayTransformer = createTransformer5((values) => {
|
|
4670
4939
|
if (!values || values.length === 0) {
|
|
4671
4940
|
return null;
|
|
4672
4941
|
}
|
|
4673
|
-
return /* @__PURE__ */
|
|
4942
|
+
return /* @__PURE__ */ React94.createElement(Stack25, { direction: "column" }, values.map((item, index) => /* @__PURE__ */ React94.createElement(Stack25, { key: index }, item)));
|
|
4674
4943
|
});
|
|
4675
4944
|
|
|
4676
4945
|
// src/styles-inheritance/init-styles-inheritance-transformers.ts
|
|
@@ -4720,7 +4989,7 @@ function init3() {
|
|
|
4720
4989
|
});
|
|
4721
4990
|
init();
|
|
4722
4991
|
init2();
|
|
4723
|
-
if (
|
|
4992
|
+
if (isExperimentActive14(EXPERIMENTAL_FEATURES.V_3_30)) {
|
|
4724
4993
|
initResetStyleProps();
|
|
4725
4994
|
}
|
|
4726
4995
|
}
|
|
@@ -4735,7 +5004,8 @@ export {
|
|
|
4735
5004
|
init3 as init,
|
|
4736
5005
|
injectIntoClassSelectorActions,
|
|
4737
5006
|
registerControlReplacement,
|
|
4738
|
-
|
|
5007
|
+
useBoundProp9 as useBoundProp,
|
|
5008
|
+
useFontFamilies,
|
|
4739
5009
|
usePanelActions,
|
|
4740
5010
|
usePanelStatus
|
|
4741
5011
|
};
|