@elementor/editor-editing-panel 1.44.0 → 1.46.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 +62 -0
- package/dist/index.d.mts +11 -4
- package/dist/index.d.ts +11 -4
- package/dist/index.js +867 -765
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +740 -636
- package/dist/index.mjs.map +1 -1
- package/package.json +14 -13
- package/src/components/css-classes/css-class-menu.tsx +6 -8
- package/src/components/css-classes/css-class-selector.tsx +17 -11
- package/src/components/settings-tab.tsx +25 -2
- package/src/components/style-indicator.tsx +19 -15
- package/src/components/style-sections/border-section/border-field.tsx +4 -6
- package/src/components/style-sections/border-section/border-radius-field.tsx +12 -9
- package/src/components/style-sections/effects-section/effects-section.tsx +6 -0
- 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 +31 -36
- package/src/components/style-sections/layout-section/flex-size-field.tsx +67 -69
- package/src/components/style-sections/layout-section/justify-content-field.tsx +10 -14
- package/src/components/style-sections/layout-section/layout-section.tsx +2 -2
- package/src/components/style-sections/layout-section/opacity-control-field.tsx +25 -0
- package/src/components/style-sections/layout-section/utils/rotated-icon.tsx +1 -1
- package/src/components/style-sections/layout-section/wrap-field.tsx +13 -17
- package/src/components/style-sections/position-section/dimensions-field.tsx +39 -21
- package/src/components/style-sections/position-section/offset-field.tsx +5 -2
- package/src/components/style-sections/position-section/position-section.tsx +6 -6
- package/src/components/style-sections/size-section/object-position-field.tsx +2 -24
- package/src/components/style-sections/size-section/size-section.tsx +52 -37
- 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 +4 -6
- package/src/components/style-sections/typography-section/typography-section.tsx +4 -2
- package/src/components/style-sections/typography-section/word-spacing-field.tsx +5 -2
- package/src/controls-registry/controls-registry.tsx +30 -10
- package/src/controls-registry/styles-field.tsx +1 -3
- package/src/dynamics/components/background-control-dynamic-tag.tsx +48 -0
- package/src/dynamics/components/dynamic-selection-control.tsx +10 -18
- package/src/dynamics/components/dynamic-selection.tsx +58 -77
- package/src/dynamics/hooks/use-prop-dynamic-action.tsx +1 -1
- package/src/dynamics/init.ts +21 -0
- package/src/hooks/use-styles-field.ts +9 -3
- package/src/hooks/use-styles-fields.ts +4 -4
- package/src/index.ts +1 -0
- package/src/popover-action.tsx +3 -5
- package/src/provider-colors-registry.ts +20 -0
- package/src/styles-inheritance/components/infotip/label-chip.tsx +4 -5
- package/src/styles-inheritance/components/styles-inheritance-indicator.tsx +32 -40
- package/src/styles-inheritance/components/styles-inheritance-infotip.tsx +1 -5
- package/src/styles-inheritance/components/styles-inheritance-section-indicators.tsx +29 -44
- package/src/styles-inheritance/components/ui-providers.tsx +18 -0
- package/src/styles-inheritance/hooks/use-normalized-inheritance-chain-items.tsx +1 -17
- package/src/styles-inheritance/types.ts +0 -2
- package/src/styles-inheritance/utils.ts +17 -1
- package/src/utils/get-styles-provider-color.ts +28 -0
package/dist/index.mjs
CHANGED
|
@@ -1,10 +1,21 @@
|
|
|
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";
|
|
6
6
|
var { registerControlReplacement, getControlReplacements } = createControlReplacementsRegistry();
|
|
7
7
|
|
|
8
|
+
// src/provider-colors-registry.ts
|
|
9
|
+
var DEFAULT_COLORS = {
|
|
10
|
+
name: "default",
|
|
11
|
+
getThemeColor: null
|
|
12
|
+
};
|
|
13
|
+
var providerColorsRegistry = /* @__PURE__ */ new Map();
|
|
14
|
+
var registerStyleProviderToColors = (provider, colors) => {
|
|
15
|
+
providerColorsRegistry.set(provider, colors);
|
|
16
|
+
};
|
|
17
|
+
var getStyleProviderColors = (provider) => providerColorsRegistry.get(provider) ?? DEFAULT_COLORS;
|
|
18
|
+
|
|
8
19
|
// src/components/css-classes/css-class-selector.tsx
|
|
9
20
|
import * as React8 from "react";
|
|
10
21
|
import { useRef, useState as useState4 } from "react";
|
|
@@ -19,7 +30,14 @@ import {
|
|
|
19
30
|
import { InfoAlert, WarningInfotip } from "@elementor/editor-ui";
|
|
20
31
|
import { ColorSwatchIcon, MapPinIcon } from "@elementor/icons";
|
|
21
32
|
import { createLocation } from "@elementor/locations";
|
|
22
|
-
import {
|
|
33
|
+
import {
|
|
34
|
+
Box as Box2,
|
|
35
|
+
Chip as Chip3,
|
|
36
|
+
FormLabel,
|
|
37
|
+
Link,
|
|
38
|
+
Stack as Stack3,
|
|
39
|
+
Typography as Typography3
|
|
40
|
+
} from "@elementor/ui";
|
|
23
41
|
import { __ as __4 } from "@wordpress/i18n";
|
|
24
42
|
|
|
25
43
|
// src/contexts/classes-prop-context.tsx
|
|
@@ -104,6 +122,27 @@ function useIsStyle() {
|
|
|
104
122
|
return !!useContext3(Context3);
|
|
105
123
|
}
|
|
106
124
|
|
|
125
|
+
// src/utils/get-styles-provider-color.ts
|
|
126
|
+
import { ELEMENTS_BASE_STYLES_PROVIDER_KEY, isElementsStylesProvider } from "@elementor/editor-styles-repository";
|
|
127
|
+
var getStylesProviderColorName = (provider) => {
|
|
128
|
+
if (!provider || provider === ELEMENTS_BASE_STYLES_PROVIDER_KEY) {
|
|
129
|
+
return "default";
|
|
130
|
+
}
|
|
131
|
+
if (isElementsStylesProvider(provider)) {
|
|
132
|
+
return "accent";
|
|
133
|
+
}
|
|
134
|
+
return getStyleProviderColors(provider).name;
|
|
135
|
+
};
|
|
136
|
+
var getStylesProviderThemeColor = (provider) => {
|
|
137
|
+
if (!provider || provider === ELEMENTS_BASE_STYLES_PROVIDER_KEY) {
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
if (isElementsStylesProvider(provider)) {
|
|
141
|
+
return (theme) => theme.palette.accent.main;
|
|
142
|
+
}
|
|
143
|
+
return getStyleProviderColors(provider).getThemeColor;
|
|
144
|
+
};
|
|
145
|
+
|
|
107
146
|
// src/components/creatable-autocomplete/creatable-autocomplete.tsx
|
|
108
147
|
import * as React4 from "react";
|
|
109
148
|
import { useId, useMemo } from "react";
|
|
@@ -470,11 +509,7 @@ function CssClassProvider({ children, ...contextValue }) {
|
|
|
470
509
|
|
|
471
510
|
// src/components/css-classes/css-class-menu.tsx
|
|
472
511
|
import * as React6 from "react";
|
|
473
|
-
import {
|
|
474
|
-
isElementsStylesProvider,
|
|
475
|
-
stylesRepository as stylesRepository2,
|
|
476
|
-
useUserStylesCapability as useUserStylesCapability2
|
|
477
|
-
} from "@elementor/editor-styles-repository";
|
|
512
|
+
import { stylesRepository as stylesRepository2, useUserStylesCapability as useUserStylesCapability2 } from "@elementor/editor-styles-repository";
|
|
478
513
|
import { MenuItemInfotip, MenuListItem } from "@elementor/editor-ui";
|
|
479
514
|
import { bindMenu, Divider, Menu, MenuSubheader, Stack } from "@elementor/ui";
|
|
480
515
|
import { __ as __2 } from "@wordpress/i18n";
|
|
@@ -482,22 +517,17 @@ import { __ as __2 } from "@wordpress/i18n";
|
|
|
482
517
|
// src/components/style-indicator.tsx
|
|
483
518
|
import { styled as styled2 } from "@elementor/ui";
|
|
484
519
|
var StyleIndicator = styled2("div", {
|
|
485
|
-
shouldForwardProp: (prop) =>
|
|
520
|
+
shouldForwardProp: (prop) => !["isOverridden", "getColor"].includes(prop)
|
|
486
521
|
})`
|
|
487
522
|
width: 5px;
|
|
488
523
|
height: 5px;
|
|
489
524
|
border-radius: 50%;
|
|
490
|
-
background-color: ${({ theme,
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
return theme.palette.warning.light;
|
|
494
|
-
case "global":
|
|
495
|
-
return theme.palette.global.dark;
|
|
496
|
-
case "local":
|
|
497
|
-
return theme.palette.accent.main;
|
|
498
|
-
default:
|
|
499
|
-
return theme.palette.text.disabled;
|
|
525
|
+
background-color: ${({ theme, isOverridden, getColor }) => {
|
|
526
|
+
if (isOverridden) {
|
|
527
|
+
return theme.palette.warning.light;
|
|
500
528
|
}
|
|
529
|
+
const providerColor = getColor?.(theme);
|
|
530
|
+
return providerColor ?? theme.palette.text.disabled;
|
|
501
531
|
}};
|
|
502
532
|
`;
|
|
503
533
|
|
|
@@ -775,7 +805,6 @@ function StateMenuItem({ state, closeMenu, ...props }) {
|
|
|
775
805
|
const { userCan } = useUserStylesCapability2();
|
|
776
806
|
const modifiedStates = useModifiedStates(styleId);
|
|
777
807
|
const isUpdateAllowed = !state || userCan(provider ?? "").updateProps;
|
|
778
|
-
const indicatorVariant = !provider || isElementsStylesProvider(provider) ? "local" : "global";
|
|
779
808
|
const isStyled = modifiedStates[state ?? "normal"] ?? false;
|
|
780
809
|
const disabled = !isUpdateAllowed && !isStyled;
|
|
781
810
|
const isActive = styleId === activeId;
|
|
@@ -801,7 +830,13 @@ function StateMenuItem({ state, closeMenu, ...props }) {
|
|
|
801
830
|
showInfoTip: disabled,
|
|
802
831
|
content: __2("With your current role, you can only use existing states.", "elementor")
|
|
803
832
|
},
|
|
804
|
-
/* @__PURE__ */ React6.createElement(Stack, { gap: 0.75, direction: "row", alignItems: "center" }, isStyled && /* @__PURE__ */ React6.createElement(
|
|
833
|
+
/* @__PURE__ */ React6.createElement(Stack, { gap: 0.75, direction: "row", alignItems: "center" }, isStyled && /* @__PURE__ */ React6.createElement(
|
|
834
|
+
StyleIndicator,
|
|
835
|
+
{
|
|
836
|
+
"aria-label": __2("Has style", "elementor"),
|
|
837
|
+
getColor: getStylesProviderThemeColor(provider ?? "")
|
|
838
|
+
}
|
|
839
|
+
), state ?? "normal")
|
|
805
840
|
)
|
|
806
841
|
);
|
|
807
842
|
}
|
|
@@ -1025,16 +1060,7 @@ function CssClassSelector() {
|
|
|
1025
1060
|
})
|
|
1026
1061
|
}
|
|
1027
1062
|
)
|
|
1028
|
-
), !canEdit && /* @__PURE__ */ React8.createElement(
|
|
1029
|
-
InfoAlert,
|
|
1030
|
-
{
|
|
1031
|
-
content: __4(
|
|
1032
|
-
"With your current role, you can use existing classes but can\u2019t modify them.",
|
|
1033
|
-
"elementor"
|
|
1034
|
-
),
|
|
1035
|
-
sx: { mt: 1 }
|
|
1036
|
-
}
|
|
1037
|
-
));
|
|
1063
|
+
), !canEdit && /* @__PURE__ */ React8.createElement(InfoAlert, { sx: { mt: 1 } }, __4("With your current role, you can use existing classes but can\u2019t modify them.", "elementor")));
|
|
1038
1064
|
}
|
|
1039
1065
|
var EmptyState = ({ searchValue, onClear }) => /* @__PURE__ */ React8.createElement(Box2, { sx: { py: 4 } }, /* @__PURE__ */ React8.createElement(
|
|
1040
1066
|
Stack3,
|
|
@@ -1074,7 +1100,7 @@ function useOptions() {
|
|
|
1074
1100
|
label: styleDef.label,
|
|
1075
1101
|
value: styleDef.id,
|
|
1076
1102
|
fixed: isElements,
|
|
1077
|
-
color:
|
|
1103
|
+
color: getStylesProviderColorName(provider.getKey()),
|
|
1078
1104
|
icon: isElements ? /* @__PURE__ */ React8.createElement(MapPinIcon, null) : null,
|
|
1079
1105
|
provider: provider.getKey()
|
|
1080
1106
|
};
|
|
@@ -1142,11 +1168,11 @@ function useHandleSelect() {
|
|
|
1142
1168
|
import { __createPanel as createPanel } from "@elementor/editor-panels";
|
|
1143
1169
|
|
|
1144
1170
|
// src/components/editing-panel.tsx
|
|
1145
|
-
import * as
|
|
1171
|
+
import * as React85 from "react";
|
|
1146
1172
|
import { ControlActionsProvider, ControlReplacementsProvider } from "@elementor/editor-controls";
|
|
1147
1173
|
import { useSelectedElement } from "@elementor/editor-elements";
|
|
1148
1174
|
import { Panel, PanelBody, PanelHeader, PanelHeaderTitle } from "@elementor/editor-panels";
|
|
1149
|
-
import { ThemeProvider as
|
|
1175
|
+
import { ThemeProvider as ThemeProvider2 } from "@elementor/editor-ui";
|
|
1150
1176
|
import { AtomIcon } from "@elementor/icons";
|
|
1151
1177
|
import { SessionStorageProvider as SessionStorageProvider3 } from "@elementor/session";
|
|
1152
1178
|
import { ErrorBoundary } from "@elementor/ui";
|
|
@@ -1169,14 +1195,13 @@ function Action({ title, visible = true, icon: Icon, onClick }) {
|
|
|
1169
1195
|
// src/popover-action.tsx
|
|
1170
1196
|
import * as React10 from "react";
|
|
1171
1197
|
import { useId as useId2 } from "react";
|
|
1172
|
-
import { PopoverHeader } from "@elementor/editor-ui";
|
|
1173
1198
|
import { bindPopover, bindToggle, IconButton as IconButton2, Popover, Tooltip as Tooltip2, usePopupState as usePopupState2 } from "@elementor/ui";
|
|
1174
1199
|
var SIZE2 = "tiny";
|
|
1175
1200
|
function PopoverAction({
|
|
1176
1201
|
title,
|
|
1177
1202
|
visible = true,
|
|
1178
1203
|
icon: Icon,
|
|
1179
|
-
|
|
1204
|
+
content: PopoverContent2
|
|
1180
1205
|
}) {
|
|
1181
1206
|
const id = useId2();
|
|
1182
1207
|
const popupState = usePopupState2({
|
|
@@ -1197,8 +1222,7 @@ function PopoverAction({
|
|
|
1197
1222
|
},
|
|
1198
1223
|
...bindPopover(popupState)
|
|
1199
1224
|
},
|
|
1200
|
-
/* @__PURE__ */ React10.createElement(
|
|
1201
|
-
/* @__PURE__ */ React10.createElement(PopoverContent2, { closePopover: popupState.close })
|
|
1225
|
+
/* @__PURE__ */ React10.createElement(PopoverContent2, { close: popupState.close })
|
|
1202
1226
|
));
|
|
1203
1227
|
}
|
|
1204
1228
|
|
|
@@ -1218,8 +1242,8 @@ function EditorPanelErrorFallback() {
|
|
|
1218
1242
|
}
|
|
1219
1243
|
|
|
1220
1244
|
// src/components/editing-panel-tabs.tsx
|
|
1221
|
-
import * as
|
|
1222
|
-
import { Fragment as
|
|
1245
|
+
import * as React84 from "react";
|
|
1246
|
+
import { Fragment as Fragment9 } from "react";
|
|
1223
1247
|
import { isExperimentActive as isExperimentActive13 } from "@elementor/editor-v1-adapters";
|
|
1224
1248
|
import { Divider as Divider6, Stack as Stack18, Tab, TabPanel, Tabs, useTabs } from "@elementor/ui";
|
|
1225
1249
|
import { __ as __54 } from "@wordpress/i18n";
|
|
@@ -1318,7 +1342,9 @@ import * as React13 from "react";
|
|
|
1318
1342
|
// src/controls-registry/controls-registry.tsx
|
|
1319
1343
|
import {
|
|
1320
1344
|
ImageControl,
|
|
1345
|
+
KeyValueControl,
|
|
1321
1346
|
LinkControl,
|
|
1347
|
+
RepeatableControl,
|
|
1322
1348
|
SelectControl,
|
|
1323
1349
|
SizeControl,
|
|
1324
1350
|
SvgMediaControl,
|
|
@@ -1327,19 +1353,31 @@ import {
|
|
|
1327
1353
|
TextControl,
|
|
1328
1354
|
UrlControl
|
|
1329
1355
|
} from "@elementor/editor-controls";
|
|
1356
|
+
import {
|
|
1357
|
+
booleanPropTypeUtil,
|
|
1358
|
+
imagePropTypeUtil,
|
|
1359
|
+
imageSrcPropTypeUtil,
|
|
1360
|
+
keyValuePropTypeUtil,
|
|
1361
|
+
linkPropTypeUtil,
|
|
1362
|
+
sizePropTypeUtil,
|
|
1363
|
+
stringPropTypeUtil
|
|
1364
|
+
} from "@elementor/editor-props";
|
|
1330
1365
|
var controlTypes = {
|
|
1331
|
-
image: { component: ImageControl, layout: "full" },
|
|
1332
|
-
"svg-media": { component: SvgMediaControl, layout: "full" },
|
|
1333
|
-
text: { component: TextControl, layout: "full" },
|
|
1334
|
-
textarea: { component: TextAreaControl, layout: "full" },
|
|
1335
|
-
size: { component: SizeControl, layout: "two-columns" },
|
|
1336
|
-
select: { component: SelectControl, layout: "two-columns" },
|
|
1337
|
-
link: { component: LinkControl, layout: "full" },
|
|
1338
|
-
url: { component: UrlControl, layout: "full" },
|
|
1339
|
-
switch: { component: SwitchControl, layout: "two-columns" }
|
|
1366
|
+
image: { component: ImageControl, layout: "full", propTypeUtil: imagePropTypeUtil },
|
|
1367
|
+
"svg-media": { component: SvgMediaControl, layout: "full", propTypeUtil: imageSrcPropTypeUtil },
|
|
1368
|
+
text: { component: TextControl, layout: "full", propTypeUtil: stringPropTypeUtil },
|
|
1369
|
+
textarea: { component: TextAreaControl, layout: "full", propTypeUtil: stringPropTypeUtil },
|
|
1370
|
+
size: { component: SizeControl, layout: "two-columns", propTypeUtil: sizePropTypeUtil },
|
|
1371
|
+
select: { component: SelectControl, layout: "two-columns", propTypeUtil: stringPropTypeUtil },
|
|
1372
|
+
link: { component: LinkControl, layout: "full", propTypeUtil: linkPropTypeUtil },
|
|
1373
|
+
url: { component: UrlControl, layout: "full", propTypeUtil: stringPropTypeUtil },
|
|
1374
|
+
switch: { component: SwitchControl, layout: "two-columns", propTypeUtil: booleanPropTypeUtil },
|
|
1375
|
+
repeatable: { component: RepeatableControl, layout: "full", propTypeUtil: void 0 },
|
|
1376
|
+
"key-value": { component: KeyValueControl, layout: "full", propTypeUtil: keyValuePropTypeUtil }
|
|
1340
1377
|
};
|
|
1341
1378
|
var getControl = (type) => controlTypes[type]?.component;
|
|
1342
1379
|
var getDefaultLayout = (type) => controlTypes[type].layout;
|
|
1380
|
+
var getPropTypeUtil = (type) => controlTypes[type]?.propTypeUtil;
|
|
1343
1381
|
|
|
1344
1382
|
// src/controls-registry/control.tsx
|
|
1345
1383
|
var Control = ({ props, type }) => {
|
|
@@ -1536,11 +1574,27 @@ var Control2 = ({ control }) => {
|
|
|
1536
1574
|
return null;
|
|
1537
1575
|
}
|
|
1538
1576
|
const layout = control.meta?.layout || getDefaultLayout(control.type);
|
|
1539
|
-
|
|
1540
|
-
};
|
|
1577
|
+
const controlProps = populateChildControlProps(control.props);
|
|
1578
|
+
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: controlProps })));
|
|
1579
|
+
};
|
|
1580
|
+
function populateChildControlProps(props) {
|
|
1581
|
+
if (props.childControlType) {
|
|
1582
|
+
const childComponent = getControl(props.childControlType);
|
|
1583
|
+
const childPropType = getPropTypeUtil(props.childControlType);
|
|
1584
|
+
props = {
|
|
1585
|
+
...props,
|
|
1586
|
+
childControlConfig: {
|
|
1587
|
+
component: childComponent,
|
|
1588
|
+
props: props.childControlProps || {},
|
|
1589
|
+
propTypeUtil: childPropType
|
|
1590
|
+
}
|
|
1591
|
+
};
|
|
1592
|
+
}
|
|
1593
|
+
return props;
|
|
1594
|
+
}
|
|
1541
1595
|
|
|
1542
1596
|
// src/components/style-tab.tsx
|
|
1543
|
-
import * as
|
|
1597
|
+
import * as React83 from "react";
|
|
1544
1598
|
import { useState as useState12 } from "react";
|
|
1545
1599
|
import { CLASSES_PROP_KEY } from "@elementor/editor-props";
|
|
1546
1600
|
import { useActiveBreakpoint } from "@elementor/editor-responsive";
|
|
@@ -1579,6 +1633,14 @@ var DEFAULT_STATE = "normal";
|
|
|
1579
1633
|
var DEFAULT_BREAKPOINT = "desktop";
|
|
1580
1634
|
var getStateKey = (state) => state ?? DEFAULT_STATE;
|
|
1581
1635
|
var getBreakpointKey = (breakpoint) => breakpoint ?? DEFAULT_BREAKPOINT;
|
|
1636
|
+
var getValueFromInheritanceChain = (inheritanceChain, styleId, meta) => inheritanceChain.find(
|
|
1637
|
+
({
|
|
1638
|
+
style,
|
|
1639
|
+
variant: {
|
|
1640
|
+
meta: { breakpoint, state }
|
|
1641
|
+
}
|
|
1642
|
+
}) => style.id === styleId && breakpoint === meta.breakpoint && state === meta.state
|
|
1643
|
+
);
|
|
1582
1644
|
|
|
1583
1645
|
// src/styles-inheritance/create-snapshots-manager.ts
|
|
1584
1646
|
function createSnapshotsManager(getStylesByMeta, breakpointsRoot) {
|
|
@@ -1878,19 +1940,19 @@ import { undoable as undoable2 } from "@elementor/editor-v1-adapters";
|
|
|
1878
1940
|
import { __ as __6 } from "@wordpress/i18n";
|
|
1879
1941
|
function useStylesFields(propNames) {
|
|
1880
1942
|
const { element } = useElement();
|
|
1881
|
-
const { id, meta, provider } = useStyle();
|
|
1943
|
+
const { id, meta, provider, canEdit } = useStyle();
|
|
1882
1944
|
const classesProp = useClassesProp();
|
|
1883
1945
|
const undoableUpdateStyle = useUndoableUpdateStyle();
|
|
1884
1946
|
const undoableCreateElementStyle = useUndoableCreateElementStyle();
|
|
1885
1947
|
useStylesRerender();
|
|
1886
|
-
const
|
|
1948
|
+
const values = getProps({
|
|
1887
1949
|
elementId: element.id,
|
|
1888
1950
|
styleId: id,
|
|
1889
1951
|
provider,
|
|
1890
1952
|
meta,
|
|
1891
1953
|
propNames
|
|
1892
1954
|
});
|
|
1893
|
-
const
|
|
1955
|
+
const setValues = (props) => {
|
|
1894
1956
|
if (id === null) {
|
|
1895
1957
|
undoableCreateElementStyle({
|
|
1896
1958
|
elementId: element.id,
|
|
@@ -1908,7 +1970,7 @@ function useStylesFields(propNames) {
|
|
|
1908
1970
|
props
|
|
1909
1971
|
});
|
|
1910
1972
|
};
|
|
1911
|
-
return
|
|
1973
|
+
return { values, setValues, canEdit };
|
|
1912
1974
|
}
|
|
1913
1975
|
function getProps({ styleId, elementId, provider, meta, propNames }) {
|
|
1914
1976
|
if (!provider || !styleId) {
|
|
@@ -1995,21 +2057,21 @@ function getCurrentProps(style, meta) {
|
|
|
1995
2057
|
|
|
1996
2058
|
// src/hooks/use-styles-field.ts
|
|
1997
2059
|
function useStylesField(propName) {
|
|
1998
|
-
const
|
|
2060
|
+
const { values, setValues, canEdit } = useStylesFields([propName]);
|
|
1999
2061
|
const value = values?.[propName] ?? null;
|
|
2000
2062
|
const setValue = (newValue) => {
|
|
2001
2063
|
setValues({
|
|
2002
2064
|
[propName]: newValue
|
|
2003
2065
|
});
|
|
2004
2066
|
};
|
|
2005
|
-
return
|
|
2067
|
+
return { value, setValue, canEdit };
|
|
2006
2068
|
}
|
|
2007
2069
|
|
|
2008
2070
|
// src/styles-inheritance/components/styles-inheritance-indicator.tsx
|
|
2009
2071
|
import * as React27 from "react";
|
|
2010
2072
|
import { useBoundProp } from "@elementor/editor-controls";
|
|
2011
2073
|
import { isEmpty as isEmpty2 } from "@elementor/editor-props";
|
|
2012
|
-
import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as
|
|
2074
|
+
import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as ELEMENTS_BASE_STYLES_PROVIDER_KEY4 } from "@elementor/editor-styles-repository";
|
|
2013
2075
|
import { isExperimentActive as isExperimentActive6 } from "@elementor/editor-v1-adapters";
|
|
2014
2076
|
import { Tooltip as Tooltip6 } from "@elementor/ui";
|
|
2015
2077
|
import { __ as __10 } from "@wordpress/i18n";
|
|
@@ -2082,7 +2144,7 @@ function useDirection() {
|
|
|
2082
2144
|
|
|
2083
2145
|
// src/styles-inheritance/hooks/use-normalized-inheritance-chain-items.tsx
|
|
2084
2146
|
import { isValidElement, useEffect as useEffect3, useState as useState8 } from "react";
|
|
2085
|
-
import { ELEMENTS_BASE_STYLES_PROVIDER_KEY } from "@elementor/editor-styles-repository";
|
|
2147
|
+
import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as ELEMENTS_BASE_STYLES_PROVIDER_KEY2 } from "@elementor/editor-styles-repository";
|
|
2086
2148
|
import { __ as __7 } from "@wordpress/i18n";
|
|
2087
2149
|
var MAXIMUM_ITEMS = 2;
|
|
2088
2150
|
var useNormalizedInheritanceChainItems = (inheritanceChain, bind, resolve) => {
|
|
@@ -2094,7 +2156,7 @@ var useNormalizedInheritanceChainItems = (inheritanceChain, bind, resolve) => {
|
|
|
2094
2156
|
);
|
|
2095
2157
|
const validItems = normalizedItems.map((item) => ({
|
|
2096
2158
|
...item,
|
|
2097
|
-
displayLabel:
|
|
2159
|
+
displayLabel: ELEMENTS_BASE_STYLES_PROVIDER_KEY2 !== item.provider ? item.displayLabel : __7("Base", "elementor")
|
|
2098
2160
|
})).filter((item) => !item.value || item.displayLabel !== "").slice(0, MAXIMUM_ITEMS);
|
|
2099
2161
|
setItems(validItems);
|
|
2100
2162
|
})();
|
|
@@ -2115,8 +2177,7 @@ var normalizeInheritanceItem = async (item, index, bind, resolve) => {
|
|
|
2115
2177
|
provider: item.provider || "",
|
|
2116
2178
|
breakpoint: breakpoint ?? DEFAULT_BREAKPOINT2,
|
|
2117
2179
|
displayLabel,
|
|
2118
|
-
value: await getTransformedValue(item, bind, resolve)
|
|
2119
|
-
chipColor: getChipColor(item)
|
|
2180
|
+
value: await getTransformedValue(item, bind, resolve)
|
|
2120
2181
|
};
|
|
2121
2182
|
};
|
|
2122
2183
|
var getTransformedValue = async (item, bind, resolve) => {
|
|
@@ -2138,16 +2199,6 @@ var getTransformedValue = async (item, bind, resolve) => {
|
|
|
2138
2199
|
return "";
|
|
2139
2200
|
}
|
|
2140
2201
|
};
|
|
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
2202
|
|
|
2152
2203
|
// src/styles-inheritance/styles-inheritance-transformers-registry.tsx
|
|
2153
2204
|
import { createTransformersRegistry } from "@elementor/editor-canvas";
|
|
@@ -2190,20 +2241,20 @@ var BreakpointIcon = ({ breakpoint }) => {
|
|
|
2190
2241
|
|
|
2191
2242
|
// src/styles-inheritance/components/infotip/label-chip.tsx
|
|
2192
2243
|
import * as React23 from "react";
|
|
2193
|
-
import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as
|
|
2244
|
+
import { ELEMENTS_BASE_STYLES_PROVIDER_KEY as ELEMENTS_BASE_STYLES_PROVIDER_KEY3 } from "@elementor/editor-styles-repository";
|
|
2194
2245
|
import { InfoCircleIcon } from "@elementor/icons";
|
|
2195
2246
|
import { Chip as Chip4, Tooltip as Tooltip4 } from "@elementor/ui";
|
|
2196
2247
|
import { __ as __8 } from "@wordpress/i18n";
|
|
2197
2248
|
var SIZE4 = "tiny";
|
|
2198
|
-
var LabelChip = ({ displayLabel, provider
|
|
2199
|
-
const isBaseStyle = provider ===
|
|
2249
|
+
var LabelChip = ({ displayLabel, provider }) => {
|
|
2250
|
+
const isBaseStyle = provider === ELEMENTS_BASE_STYLES_PROVIDER_KEY3;
|
|
2200
2251
|
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
2252
|
return /* @__PURE__ */ React23.createElement(
|
|
2202
2253
|
Chip4,
|
|
2203
2254
|
{
|
|
2204
2255
|
label: displayLabel,
|
|
2205
2256
|
size: SIZE4,
|
|
2206
|
-
color:
|
|
2257
|
+
color: getStylesProviderColorName(provider),
|
|
2207
2258
|
variant: "standard",
|
|
2208
2259
|
state: "enabled",
|
|
2209
2260
|
icon: chipIcon,
|
|
@@ -2316,14 +2367,7 @@ var StylesInheritanceInfotip = ({ inheritanceChain, propType, path, label, child
|
|
|
2316
2367
|
item.displayLabel
|
|
2317
2368
|
)
|
|
2318
2369
|
},
|
|
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(
|
|
2320
|
-
LabelChip,
|
|
2321
|
-
{
|
|
2322
|
-
displayLabel: item.displayLabel,
|
|
2323
|
-
provider: item.provider,
|
|
2324
|
-
chipColor: item.chipColor
|
|
2325
|
-
}
|
|
2326
|
-
), /* @__PURE__ */ React26.createElement(ValueComponent, { index, value: item.value })),
|
|
2370
|
+
/* @__PURE__ */ React26.createElement(Box6, { display: "flex", gap: 0.5, sx: { flexWrap: "wrap", width: "100%" } }, /* @__PURE__ */ React26.createElement(BreakpointIcon, { breakpoint: item.breakpoint }), /* @__PURE__ */ React26.createElement(LabelChip, { displayLabel: item.displayLabel, provider: item.provider }), /* @__PURE__ */ React26.createElement(ValueComponent, { index, value: item.value })),
|
|
2327
2371
|
/* @__PURE__ */ React26.createElement(ActionIcons, null)
|
|
2328
2372
|
);
|
|
2329
2373
|
})
|
|
@@ -2384,41 +2428,40 @@ function TooltipOrInfotip({
|
|
|
2384
2428
|
// src/styles-inheritance/components/styles-inheritance-indicator.tsx
|
|
2385
2429
|
var StylesInheritanceIndicator = () => {
|
|
2386
2430
|
const { path, propType } = useBoundProp();
|
|
2387
|
-
const { id: currentStyleId, provider: currentStyleProvider, meta: currentStyleMeta } = useStyle();
|
|
2388
2431
|
const isUsingNestedProps = isExperimentActive6(EXPERIMENTAL_FEATURES.V_3_30);
|
|
2389
2432
|
const finalPath = isUsingNestedProps ? path : path.slice(0, 1);
|
|
2390
2433
|
const inheritanceChain = useStylesInheritanceChain(finalPath);
|
|
2391
2434
|
if (!inheritanceChain.length) {
|
|
2392
2435
|
return null;
|
|
2393
2436
|
}
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
}
|
|
2400
|
-
}) => style.id === currentStyleId && breakpoint === currentStyleMeta.breakpoint && state === currentStyleMeta.state
|
|
2401
|
-
);
|
|
2437
|
+
return /* @__PURE__ */ React27.createElement(Indicator, { inheritanceChain, path: finalPath, propType });
|
|
2438
|
+
};
|
|
2439
|
+
var Indicator = ({ inheritanceChain, path, propType }) => {
|
|
2440
|
+
const { id: currentStyleId, provider: currentStyleProvider, meta: currentStyleMeta } = useStyle();
|
|
2441
|
+
const currentItem = currentStyleId ? getValueFromInheritanceChain(inheritanceChain, currentStyleId, currentStyleMeta) : null;
|
|
2402
2442
|
const hasValue = !isEmpty2(currentItem?.value);
|
|
2403
2443
|
const [actualStyle] = inheritanceChain;
|
|
2404
|
-
if (actualStyle.provider ===
|
|
2444
|
+
if (actualStyle.provider === ELEMENTS_BASE_STYLES_PROVIDER_KEY4) {
|
|
2405
2445
|
return null;
|
|
2406
2446
|
}
|
|
2407
2447
|
const isFinalValue = currentItem === actualStyle;
|
|
2408
2448
|
const label = getLabel({ isFinalValue, hasValue });
|
|
2409
|
-
const
|
|
2449
|
+
const styleIndicatorProps = {
|
|
2450
|
+
getColor: isFinalValue && currentStyleProvider ? getStylesProviderThemeColor(currentStyleProvider.getKey()) : void 0,
|
|
2451
|
+
isOverridden: hasValue && !isFinalValue ? true : void 0
|
|
2452
|
+
};
|
|
2410
2453
|
if (!isUsingIndicatorPopover()) {
|
|
2411
|
-
return /* @__PURE__ */ React27.createElement(Tooltip6, { title: __10("Style origin", "elementor"), placement: "top" }, /* @__PURE__ */ React27.createElement(StyleIndicator, {
|
|
2454
|
+
return /* @__PURE__ */ React27.createElement(Tooltip6, { title: __10("Style origin", "elementor"), placement: "top" }, /* @__PURE__ */ React27.createElement(StyleIndicator, { ...styleIndicatorProps, "aria-label": label }));
|
|
2412
2455
|
}
|
|
2413
2456
|
return /* @__PURE__ */ React27.createElement(
|
|
2414
2457
|
StylesInheritanceInfotip,
|
|
2415
2458
|
{
|
|
2416
2459
|
inheritanceChain,
|
|
2417
|
-
path
|
|
2460
|
+
path,
|
|
2418
2461
|
propType,
|
|
2419
2462
|
label
|
|
2420
2463
|
},
|
|
2421
|
-
/* @__PURE__ */ React27.createElement(StyleIndicator, {
|
|
2464
|
+
/* @__PURE__ */ React27.createElement(StyleIndicator, { ...styleIndicatorProps })
|
|
2422
2465
|
);
|
|
2423
2466
|
};
|
|
2424
2467
|
var getLabel = ({ isFinalValue, hasValue }) => {
|
|
@@ -2430,24 +2473,10 @@ var getLabel = ({ isFinalValue, hasValue }) => {
|
|
|
2430
2473
|
}
|
|
2431
2474
|
return __10("This has value from another style", "elementor");
|
|
2432
2475
|
};
|
|
2433
|
-
var getVariant = ({
|
|
2434
|
-
isFinalValue,
|
|
2435
|
-
hasValue,
|
|
2436
|
-
currentStyleProvider
|
|
2437
|
-
}) => {
|
|
2438
|
-
if (isFinalValue) {
|
|
2439
|
-
return isElementsStylesProvider3(currentStyleProvider?.getKey?.()) ? "local" : "global";
|
|
2440
|
-
}
|
|
2441
|
-
if (hasValue) {
|
|
2442
|
-
return "overridden";
|
|
2443
|
-
}
|
|
2444
|
-
return void 0;
|
|
2445
|
-
};
|
|
2446
2476
|
|
|
2447
2477
|
// src/controls-registry/styles-field.tsx
|
|
2448
2478
|
var StylesField = ({ bind, placeholder, children }) => {
|
|
2449
|
-
const
|
|
2450
|
-
const { canEdit } = useStyle();
|
|
2479
|
+
const { value, setValue, canEdit } = useStylesField(bind);
|
|
2451
2480
|
const stylesSchema = getStylesSchema2();
|
|
2452
2481
|
const propType = createTopLevelOjectType({ schema: stylesSchema });
|
|
2453
2482
|
const values = { [bind]: value };
|
|
@@ -2485,7 +2514,7 @@ var BackgroundSection = () => {
|
|
|
2485
2514
|
};
|
|
2486
2515
|
|
|
2487
2516
|
// src/components/style-sections/border-section/border-section.tsx
|
|
2488
|
-
import * as
|
|
2517
|
+
import * as React39 from "react";
|
|
2489
2518
|
|
|
2490
2519
|
// src/components/panel-divider.tsx
|
|
2491
2520
|
import * as React30 from "react";
|
|
@@ -2616,19 +2645,18 @@ var initialBorder = {
|
|
|
2616
2645
|
"border-style": { $$type: "string", value: "solid" }
|
|
2617
2646
|
};
|
|
2618
2647
|
var BorderField = () => {
|
|
2619
|
-
const { canEdit } =
|
|
2620
|
-
const [border, setBorder] = useStylesFields(Object.keys(initialBorder));
|
|
2648
|
+
const { values, setValues, canEdit } = useStylesFields(Object.keys(initialBorder));
|
|
2621
2649
|
const addBorder = () => {
|
|
2622
|
-
|
|
2650
|
+
setValues(initialBorder);
|
|
2623
2651
|
};
|
|
2624
2652
|
const removeBorder = () => {
|
|
2625
|
-
|
|
2653
|
+
setValues({
|
|
2626
2654
|
"border-width": null,
|
|
2627
2655
|
"border-color": null,
|
|
2628
2656
|
"border-style": null
|
|
2629
2657
|
});
|
|
2630
2658
|
};
|
|
2631
|
-
const hasBorder = Object.values(
|
|
2659
|
+
const hasBorder = Object.values(values ?? {}).some(Boolean);
|
|
2632
2660
|
return /* @__PURE__ */ React36.createElement(
|
|
2633
2661
|
AddOrRemoveContent,
|
|
2634
2662
|
{
|
|
@@ -2645,7 +2673,7 @@ var BorderField = () => {
|
|
|
2645
2673
|
};
|
|
2646
2674
|
|
|
2647
2675
|
// src/components/style-sections/border-section/border-radius-field.tsx
|
|
2648
|
-
import * as
|
|
2676
|
+
import * as React38 from "react";
|
|
2649
2677
|
import { EqualUnequalSizesControl as EqualUnequalSizesControl2 } from "@elementor/editor-controls";
|
|
2650
2678
|
import { borderRadiusPropTypeUtil } from "@elementor/editor-props";
|
|
2651
2679
|
import {
|
|
@@ -2657,6 +2685,16 @@ import {
|
|
|
2657
2685
|
} from "@elementor/icons";
|
|
2658
2686
|
import { withDirection as withDirection2 } from "@elementor/ui";
|
|
2659
2687
|
import { __ as __15 } from "@wordpress/i18n";
|
|
2688
|
+
|
|
2689
|
+
// src/styles-inheritance/components/ui-providers.tsx
|
|
2690
|
+
import * as React37 from "react";
|
|
2691
|
+
import { DirectionProvider, ThemeProvider } from "@elementor/ui";
|
|
2692
|
+
var UiProviders = ({ children }) => {
|
|
2693
|
+
const { isSiteRtl } = useDirection();
|
|
2694
|
+
return /* @__PURE__ */ React37.createElement(DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React37.createElement(ThemeProvider, null, children));
|
|
2695
|
+
};
|
|
2696
|
+
|
|
2697
|
+
// src/components/style-sections/border-section/border-radius-field.tsx
|
|
2660
2698
|
var StartStartIcon = withDirection2(RadiusTopLeftIcon);
|
|
2661
2699
|
var StartEndIcon = withDirection2(RadiusTopRightIcon);
|
|
2662
2700
|
var EndStartIcon = withDirection2(RadiusBottomLeftIcon);
|
|
@@ -2668,54 +2706,67 @@ var getEndEndLabel = (isSiteRtl) => isSiteRtl ? __15("Bottom left", "elementor")
|
|
|
2668
2706
|
var getCorners = (isSiteRtl) => [
|
|
2669
2707
|
{
|
|
2670
2708
|
label: getStartStartLabel(isSiteRtl),
|
|
2671
|
-
icon: /* @__PURE__ */
|
|
2709
|
+
icon: /* @__PURE__ */ React38.createElement(StartStartIcon, { fontSize: "tiny" }),
|
|
2672
2710
|
bind: "start-start"
|
|
2673
2711
|
},
|
|
2674
2712
|
{
|
|
2675
2713
|
label: getStartEndLabel(isSiteRtl),
|
|
2676
|
-
icon: /* @__PURE__ */
|
|
2714
|
+
icon: /* @__PURE__ */ React38.createElement(StartEndIcon, { fontSize: "tiny" }),
|
|
2677
2715
|
bind: "start-end"
|
|
2678
2716
|
},
|
|
2679
2717
|
{
|
|
2680
2718
|
label: getEndStartLabel(isSiteRtl),
|
|
2681
|
-
icon: /* @__PURE__ */
|
|
2719
|
+
icon: /* @__PURE__ */ React38.createElement(EndStartIcon, { fontSize: "tiny" }),
|
|
2682
2720
|
bind: "end-start"
|
|
2683
2721
|
},
|
|
2684
2722
|
{
|
|
2685
2723
|
label: getEndEndLabel(isSiteRtl),
|
|
2686
|
-
icon: /* @__PURE__ */
|
|
2724
|
+
icon: /* @__PURE__ */ React38.createElement(EndEndIcon, { fontSize: "tiny" }),
|
|
2687
2725
|
bind: "end-end"
|
|
2688
2726
|
}
|
|
2689
2727
|
];
|
|
2690
2728
|
var BorderRadiusField = () => {
|
|
2691
2729
|
const { isSiteRtl } = useDirection();
|
|
2692
|
-
return /* @__PURE__ */
|
|
2730
|
+
return /* @__PURE__ */ React38.createElement(UiProviders, null, /* @__PURE__ */ React38.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React38.createElement(
|
|
2693
2731
|
EqualUnequalSizesControl2,
|
|
2694
2732
|
{
|
|
2695
2733
|
items: getCorners(isSiteRtl),
|
|
2696
2734
|
label: __15("Border radius", "elementor"),
|
|
2697
|
-
icon: /* @__PURE__ */
|
|
2735
|
+
icon: /* @__PURE__ */ React38.createElement(BorderCornersIcon, { fontSize: "tiny" }),
|
|
2698
2736
|
tooltipLabel: __15("Adjust corners", "elementor"),
|
|
2699
2737
|
multiSizePropTypeUtil: borderRadiusPropTypeUtil
|
|
2700
2738
|
}
|
|
2701
|
-
));
|
|
2739
|
+
)));
|
|
2702
2740
|
};
|
|
2703
2741
|
|
|
2704
2742
|
// src/components/style-sections/border-section/border-section.tsx
|
|
2705
|
-
var BorderSection = () => /* @__PURE__ */
|
|
2743
|
+
var BorderSection = () => /* @__PURE__ */ React39.createElement(SectionContent, null, /* @__PURE__ */ React39.createElement(BorderRadiusField, null), /* @__PURE__ */ React39.createElement(PanelDivider, null), /* @__PURE__ */ React39.createElement(BorderField, null));
|
|
2706
2744
|
|
|
2707
2745
|
// src/components/style-sections/effects-section/effects-section.tsx
|
|
2708
|
-
import * as
|
|
2746
|
+
import * as React41 from "react";
|
|
2709
2747
|
import { BoxShadowRepeaterControl } from "@elementor/editor-controls";
|
|
2748
|
+
|
|
2749
|
+
// src/components/style-sections/layout-section/opacity-control-field.tsx
|
|
2750
|
+
import * as React40 from "react";
|
|
2751
|
+
import { useRef as useRef4 } from "react";
|
|
2752
|
+
import { SizeControl as SizeControl2 } from "@elementor/editor-controls";
|
|
2753
|
+
import { Grid as Grid3 } from "@elementor/ui";
|
|
2754
|
+
import { __ as __16 } from "@wordpress/i18n";
|
|
2755
|
+
var OpacityControlField = () => {
|
|
2756
|
+
const rowRef = useRef4();
|
|
2757
|
+
return /* @__PURE__ */ React40.createElement(StylesField, { bind: "opacity" }, /* @__PURE__ */ React40.createElement(Grid3, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React40.createElement(Grid3, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(ControlLabel, null, __16("Opacity", "elementor"))), /* @__PURE__ */ React40.createElement(Grid3, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(SizeControl2, { units: ["%"], anchorRef: rowRef, defaultUnit: "%" }))));
|
|
2758
|
+
};
|
|
2759
|
+
|
|
2760
|
+
// src/components/style-sections/effects-section/effects-section.tsx
|
|
2710
2761
|
var EffectsSection = () => {
|
|
2711
|
-
return /* @__PURE__ */
|
|
2762
|
+
return /* @__PURE__ */ React41.createElement(SectionContent, null, /* @__PURE__ */ React41.createElement(StylesField, { bind: "opacity" }, /* @__PURE__ */ React41.createElement(OpacityControlField, null)), /* @__PURE__ */ React41.createElement(PanelDivider, null), /* @__PURE__ */ React41.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React41.createElement(BoxShadowRepeaterControl, null)));
|
|
2712
2763
|
};
|
|
2713
2764
|
|
|
2714
2765
|
// src/components/style-sections/layout-section/layout-section.tsx
|
|
2715
|
-
import * as
|
|
2766
|
+
import * as React53 from "react";
|
|
2716
2767
|
import { ControlFormLabel as ControlFormLabel4 } from "@elementor/editor-controls";
|
|
2717
2768
|
import { useParentElement } from "@elementor/editor-elements";
|
|
2718
|
-
import { __ as
|
|
2769
|
+
import { __ as __27 } from "@wordpress/i18n";
|
|
2719
2770
|
|
|
2720
2771
|
// src/hooks/use-computed-style.ts
|
|
2721
2772
|
import { __privateUseListenTo as useListenTo, commandEndEvent, windowEvent } from "@elementor/editor-v1-adapters";
|
|
@@ -2743,7 +2794,7 @@ function useComputedStyle(elementId) {
|
|
|
2743
2794
|
}
|
|
2744
2795
|
|
|
2745
2796
|
// src/components/style-sections/layout-section/align-content-field.tsx
|
|
2746
|
-
import * as
|
|
2797
|
+
import * as React43 from "react";
|
|
2747
2798
|
import { ToggleControl } from "@elementor/editor-controls";
|
|
2748
2799
|
import {
|
|
2749
2800
|
JustifyBottomIcon,
|
|
@@ -2753,12 +2804,12 @@ import {
|
|
|
2753
2804
|
JustifySpaceBetweenVerticalIcon as BetweenIcon,
|
|
2754
2805
|
JustifyTopIcon
|
|
2755
2806
|
} from "@elementor/icons";
|
|
2756
|
-
import {
|
|
2757
|
-
import { __ as
|
|
2807
|
+
import { Stack as Stack10, withDirection as withDirection3 } from "@elementor/ui";
|
|
2808
|
+
import { __ as __17 } from "@wordpress/i18n";
|
|
2758
2809
|
|
|
2759
2810
|
// src/components/style-sections/layout-section/utils/rotated-icon.tsx
|
|
2760
|
-
import * as
|
|
2761
|
-
import { useRef as
|
|
2811
|
+
import * as React42 from "react";
|
|
2812
|
+
import { useRef as useRef5 } from "react";
|
|
2762
2813
|
import { useTheme as useTheme2 } from "@elementor/ui";
|
|
2763
2814
|
var CLOCKWISE_ANGLES = {
|
|
2764
2815
|
row: 0,
|
|
@@ -2779,12 +2830,12 @@ var RotatedIcon = ({
|
|
|
2779
2830
|
offset = 0,
|
|
2780
2831
|
disableRotationForReversed = false
|
|
2781
2832
|
}) => {
|
|
2782
|
-
const rotate =
|
|
2833
|
+
const rotate = useRef5(useGetTargetAngle(isClockwise, offset, disableRotationForReversed));
|
|
2783
2834
|
rotate.current = useGetTargetAngle(isClockwise, offset, disableRotationForReversed, rotate);
|
|
2784
|
-
return /* @__PURE__ */
|
|
2835
|
+
return /* @__PURE__ */ React42.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
|
|
2785
2836
|
};
|
|
2786
2837
|
var useGetTargetAngle = (isClockwise, offset, disableRotationForReversed, existingRef) => {
|
|
2787
|
-
const
|
|
2838
|
+
const { value: direction } = useStylesField("flex-direction");
|
|
2788
2839
|
const isRtl = "rtl" === useTheme2().direction;
|
|
2789
2840
|
const rotationMultiplier = isRtl ? -1 : 1;
|
|
2790
2841
|
const angleMap = isClockwise ? CLOCKWISE_ANGLES : COUNTER_CLOCKWISE_ANGLES;
|
|
@@ -2810,48 +2861,47 @@ var iconProps = {
|
|
|
2810
2861
|
var options = [
|
|
2811
2862
|
{
|
|
2812
2863
|
value: "start",
|
|
2813
|
-
label:
|
|
2814
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2864
|
+
label: __17("Start", "elementor"),
|
|
2865
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
|
|
2815
2866
|
showTooltip: true
|
|
2816
2867
|
},
|
|
2817
2868
|
{
|
|
2818
2869
|
value: "center",
|
|
2819
|
-
label:
|
|
2820
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2870
|
+
label: __17("Center", "elementor"),
|
|
2871
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: CenterIcon, size, ...iconProps }),
|
|
2821
2872
|
showTooltip: true
|
|
2822
2873
|
},
|
|
2823
2874
|
{
|
|
2824
2875
|
value: "end",
|
|
2825
|
-
label:
|
|
2826
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2876
|
+
label: __17("End", "elementor"),
|
|
2877
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
|
|
2827
2878
|
showTooltip: true
|
|
2828
2879
|
},
|
|
2829
2880
|
{
|
|
2830
2881
|
value: "space-between",
|
|
2831
|
-
label:
|
|
2832
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2882
|
+
label: __17("Space between", "elementor"),
|
|
2883
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: BetweenIcon, size, ...iconProps }),
|
|
2833
2884
|
showTooltip: true
|
|
2834
2885
|
},
|
|
2835
2886
|
{
|
|
2836
2887
|
value: "space-around",
|
|
2837
|
-
label:
|
|
2838
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2888
|
+
label: __17("Space around", "elementor"),
|
|
2889
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: AroundIcon, size, ...iconProps }),
|
|
2839
2890
|
showTooltip: true
|
|
2840
2891
|
},
|
|
2841
2892
|
{
|
|
2842
2893
|
value: "space-evenly",
|
|
2843
|
-
label:
|
|
2844
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2894
|
+
label: __17("Space evenly", "elementor"),
|
|
2895
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(RotatedIcon, { icon: EvenlyIcon, size, ...iconProps }),
|
|
2845
2896
|
showTooltip: true
|
|
2846
2897
|
}
|
|
2847
2898
|
];
|
|
2848
2899
|
var AlignContentField = () => {
|
|
2849
|
-
|
|
2850
|
-
return /* @__PURE__ */ React41.createElement(DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React41.createElement(ThemeProvider, null, /* @__PURE__ */ React41.createElement(StylesField, { bind: "align-content" }, /* @__PURE__ */ React41.createElement(Stack10, { gap: 1 }, /* @__PURE__ */ React41.createElement(ControlLabel, null, __16("Align content", "elementor")), /* @__PURE__ */ React41.createElement(ToggleControl, { options, fullWidth: true })))));
|
|
2900
|
+
return /* @__PURE__ */ React43.createElement(UiProviders, null, /* @__PURE__ */ React43.createElement(StylesField, { bind: "align-content" }, /* @__PURE__ */ React43.createElement(Stack10, { gap: 1 }, /* @__PURE__ */ React43.createElement(ControlLabel, null, __17("Align content", "elementor")), /* @__PURE__ */ React43.createElement(ToggleControl, { options, fullWidth: true }))));
|
|
2851
2901
|
};
|
|
2852
2902
|
|
|
2853
2903
|
// src/components/style-sections/layout-section/align-items-field.tsx
|
|
2854
|
-
import * as
|
|
2904
|
+
import * as React44 from "react";
|
|
2855
2905
|
import { ToggleControl as ToggleControl2 } from "@elementor/editor-controls";
|
|
2856
2906
|
import {
|
|
2857
2907
|
LayoutAlignCenterIcon as CenterIcon2,
|
|
@@ -2859,8 +2909,8 @@ import {
|
|
|
2859
2909
|
LayoutAlignRightIcon,
|
|
2860
2910
|
LayoutDistributeVerticalIcon as JustifyIcon
|
|
2861
2911
|
} from "@elementor/icons";
|
|
2862
|
-
import {
|
|
2863
|
-
import { __ as
|
|
2912
|
+
import { Grid as Grid4, withDirection as withDirection4 } from "@elementor/ui";
|
|
2913
|
+
import { __ as __18 } from "@wordpress/i18n";
|
|
2864
2914
|
var StartIcon2 = withDirection4(LayoutAlignLeftIcon);
|
|
2865
2915
|
var EndIcon2 = withDirection4(LayoutAlignRightIcon);
|
|
2866
2916
|
var iconProps2 = {
|
|
@@ -2870,36 +2920,35 @@ var iconProps2 = {
|
|
|
2870
2920
|
var options2 = [
|
|
2871
2921
|
{
|
|
2872
2922
|
value: "start",
|
|
2873
|
-
label:
|
|
2874
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2923
|
+
label: __18("Start", "elementor"),
|
|
2924
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
|
|
2875
2925
|
showTooltip: true
|
|
2876
2926
|
},
|
|
2877
2927
|
{
|
|
2878
2928
|
value: "center",
|
|
2879
|
-
label:
|
|
2880
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2929
|
+
label: __18("Center", "elementor"),
|
|
2930
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: CenterIcon2, size, ...iconProps2 }),
|
|
2881
2931
|
showTooltip: true
|
|
2882
2932
|
},
|
|
2883
2933
|
{
|
|
2884
2934
|
value: "end",
|
|
2885
|
-
label:
|
|
2886
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2935
|
+
label: __18("End", "elementor"),
|
|
2936
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
|
|
2887
2937
|
showTooltip: true
|
|
2888
2938
|
},
|
|
2889
2939
|
{
|
|
2890
2940
|
value: "stretch",
|
|
2891
|
-
label:
|
|
2892
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2941
|
+
label: __18("Stretch", "elementor"),
|
|
2942
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: JustifyIcon, size, ...iconProps2 }),
|
|
2893
2943
|
showTooltip: true
|
|
2894
2944
|
}
|
|
2895
2945
|
];
|
|
2896
2946
|
var AlignItemsField = () => {
|
|
2897
|
-
|
|
2898
|
-
return /* @__PURE__ */ React42.createElement(DirectionProvider2, { rtl: isSiteRtl }, /* @__PURE__ */ React42.createElement(ThemeProvider2, null, /* @__PURE__ */ React42.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React42.createElement(Grid3, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React42.createElement(Grid3, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(ControlLabel, null, __17("Align items", "elementor"))), /* @__PURE__ */ React42.createElement(Grid3, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React42.createElement(ToggleControl2, { options: options2 }))))));
|
|
2947
|
+
return /* @__PURE__ */ React44.createElement(UiProviders, null, /* @__PURE__ */ React44.createElement(StylesField, { bind: "align-items" }, /* @__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 items", "elementor"))), /* @__PURE__ */ React44.createElement(Grid4, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React44.createElement(ToggleControl2, { options: options2 })))));
|
|
2899
2948
|
};
|
|
2900
2949
|
|
|
2901
2950
|
// src/components/style-sections/layout-section/align-self-child-field.tsx
|
|
2902
|
-
import * as
|
|
2951
|
+
import * as React45 from "react";
|
|
2903
2952
|
import { ToggleControl as ToggleControl3 } from "@elementor/editor-controls";
|
|
2904
2953
|
import {
|
|
2905
2954
|
LayoutAlignCenterIcon as CenterIcon3,
|
|
@@ -2907,8 +2956,8 @@ import {
|
|
|
2907
2956
|
LayoutAlignRightIcon as LayoutAlignRightIcon2,
|
|
2908
2957
|
LayoutDistributeVerticalIcon as JustifyIcon2
|
|
2909
2958
|
} from "@elementor/icons";
|
|
2910
|
-
import {
|
|
2911
|
-
import { __ as
|
|
2959
|
+
import { Grid as Grid5, withDirection as withDirection5 } from "@elementor/ui";
|
|
2960
|
+
import { __ as __19 } from "@wordpress/i18n";
|
|
2912
2961
|
var ALIGN_SELF_CHILD_OFFSET_MAP = {
|
|
2913
2962
|
row: 90,
|
|
2914
2963
|
"row-reverse": 90,
|
|
@@ -2923,8 +2972,8 @@ var iconProps3 = {
|
|
|
2923
2972
|
var getOptions = (parentStyleDirection) => [
|
|
2924
2973
|
{
|
|
2925
2974
|
value: "start",
|
|
2926
|
-
label:
|
|
2927
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2975
|
+
label: __19("Start", "elementor"),
|
|
2976
|
+
renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(
|
|
2928
2977
|
RotatedIcon,
|
|
2929
2978
|
{
|
|
2930
2979
|
icon: StartIcon3,
|
|
@@ -2937,8 +2986,8 @@ var getOptions = (parentStyleDirection) => [
|
|
|
2937
2986
|
},
|
|
2938
2987
|
{
|
|
2939
2988
|
value: "center",
|
|
2940
|
-
label:
|
|
2941
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2989
|
+
label: __19("Center", "elementor"),
|
|
2990
|
+
renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(
|
|
2942
2991
|
RotatedIcon,
|
|
2943
2992
|
{
|
|
2944
2993
|
icon: CenterIcon3,
|
|
@@ -2951,8 +3000,8 @@ var getOptions = (parentStyleDirection) => [
|
|
|
2951
3000
|
},
|
|
2952
3001
|
{
|
|
2953
3002
|
value: "end",
|
|
2954
|
-
label:
|
|
2955
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3003
|
+
label: __19("End", "elementor"),
|
|
3004
|
+
renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(
|
|
2956
3005
|
RotatedIcon,
|
|
2957
3006
|
{
|
|
2958
3007
|
icon: EndIcon3,
|
|
@@ -2965,8 +3014,8 @@ var getOptions = (parentStyleDirection) => [
|
|
|
2965
3014
|
},
|
|
2966
3015
|
{
|
|
2967
3016
|
value: "stretch",
|
|
2968
|
-
label:
|
|
2969
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3017
|
+
label: __19("Stretch", "elementor"),
|
|
3018
|
+
renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(
|
|
2970
3019
|
RotatedIcon,
|
|
2971
3020
|
{
|
|
2972
3021
|
icon: JustifyIcon2,
|
|
@@ -2979,33 +3028,32 @@ var getOptions = (parentStyleDirection) => [
|
|
|
2979
3028
|
}
|
|
2980
3029
|
];
|
|
2981
3030
|
var AlignSelfChild = ({ parentStyleDirection }) => {
|
|
2982
|
-
|
|
2983
|
-
return /* @__PURE__ */ React43.createElement(DirectionProvider3, { rtl: isSiteRtl }, /* @__PURE__ */ React43.createElement(ThemeProvider3, null, /* @__PURE__ */ React43.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React43.createElement(Grid4, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(Grid4, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(ControlLabel, null, __18("Align self", "elementor"))), /* @__PURE__ */ React43.createElement(Grid4, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React43.createElement(ToggleControl3, { options: getOptions(parentStyleDirection) }))))));
|
|
3031
|
+
return /* @__PURE__ */ React45.createElement(UiProviders, null, /* @__PURE__ */ React45.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React45.createElement(Grid5, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React45.createElement(Grid5, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(ControlLabel, null, __19("Align self", "elementor"))), /* @__PURE__ */ React45.createElement(Grid5, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React45.createElement(ToggleControl3, { options: getOptions(parentStyleDirection) })))));
|
|
2984
3032
|
};
|
|
2985
3033
|
|
|
2986
3034
|
// src/components/style-sections/layout-section/display-field.tsx
|
|
2987
|
-
import * as
|
|
3035
|
+
import * as React46 from "react";
|
|
2988
3036
|
import { ToggleControl as ToggleControl4 } from "@elementor/editor-controls";
|
|
2989
3037
|
import { isExperimentActive as isExperimentActive7 } from "@elementor/editor-v1-adapters";
|
|
2990
3038
|
import { Stack as Stack11 } from "@elementor/ui";
|
|
2991
|
-
import { __ as
|
|
3039
|
+
import { __ as __20 } from "@wordpress/i18n";
|
|
2992
3040
|
var displayFieldItems = [
|
|
2993
3041
|
{
|
|
2994
3042
|
value: "block",
|
|
2995
|
-
renderContent: () =>
|
|
2996
|
-
label:
|
|
3043
|
+
renderContent: () => __20("Block", "elementor"),
|
|
3044
|
+
label: __20("Block", "elementor"),
|
|
2997
3045
|
showTooltip: true
|
|
2998
3046
|
},
|
|
2999
3047
|
{
|
|
3000
3048
|
value: "flex",
|
|
3001
|
-
renderContent: () =>
|
|
3002
|
-
label:
|
|
3049
|
+
renderContent: () => __20("Flex", "elementor"),
|
|
3050
|
+
label: __20("Flex", "elementor"),
|
|
3003
3051
|
showTooltip: true
|
|
3004
3052
|
},
|
|
3005
3053
|
{
|
|
3006
3054
|
value: "inline-block",
|
|
3007
|
-
renderContent: () =>
|
|
3008
|
-
label:
|
|
3055
|
+
renderContent: () => __20("In-blk", "elementor"),
|
|
3056
|
+
label: __20("Inline-block", "elementor"),
|
|
3009
3057
|
showTooltip: true
|
|
3010
3058
|
}
|
|
3011
3059
|
];
|
|
@@ -3015,72 +3063,71 @@ var DisplayField = () => {
|
|
|
3015
3063
|
if (isDisplayNoneFeatureActive) {
|
|
3016
3064
|
items3.push({
|
|
3017
3065
|
value: "none",
|
|
3018
|
-
renderContent: () =>
|
|
3019
|
-
label:
|
|
3066
|
+
renderContent: () => __20("None", "elementor"),
|
|
3067
|
+
label: __20("None", "elementor"),
|
|
3020
3068
|
showTooltip: true
|
|
3021
3069
|
});
|
|
3022
3070
|
}
|
|
3023
3071
|
items3.push({
|
|
3024
3072
|
value: "inline-flex",
|
|
3025
|
-
renderContent: () =>
|
|
3026
|
-
label:
|
|
3073
|
+
renderContent: () => __20("In-flx", "elementor"),
|
|
3074
|
+
label: __20("Inline-flex", "elementor"),
|
|
3027
3075
|
showTooltip: true
|
|
3028
3076
|
});
|
|
3029
3077
|
const placeholder = useDisplayPlaceholderValue();
|
|
3030
|
-
return /* @__PURE__ */
|
|
3078
|
+
return /* @__PURE__ */ React46.createElement(StylesField, { bind: "display", placeholder }, /* @__PURE__ */ React46.createElement(Stack11, { gap: 0.75 }, /* @__PURE__ */ React46.createElement(ControlLabel, null, __20("Display", "elementor")), /* @__PURE__ */ React46.createElement(ToggleControl4, { options: items3, maxItems: 4, fullWidth: true })));
|
|
3031
3079
|
};
|
|
3032
3080
|
var useDisplayPlaceholderValue = () => useStylesInheritanceChain(["display"])[0]?.value ?? void 0;
|
|
3033
3081
|
|
|
3034
3082
|
// src/components/style-sections/layout-section/flex-direction-field.tsx
|
|
3035
|
-
import * as
|
|
3083
|
+
import * as React47 from "react";
|
|
3036
3084
|
import { ToggleControl as ToggleControl5 } from "@elementor/editor-controls";
|
|
3037
3085
|
import { ArrowDownSmallIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpSmallIcon } from "@elementor/icons";
|
|
3038
|
-
import {
|
|
3039
|
-
import { __ as
|
|
3086
|
+
import { Grid as Grid6, withDirection as withDirection6 } from "@elementor/ui";
|
|
3087
|
+
import { __ as __21 } from "@wordpress/i18n";
|
|
3040
3088
|
var options3 = [
|
|
3041
3089
|
{
|
|
3042
3090
|
value: "row",
|
|
3043
|
-
label:
|
|
3091
|
+
label: __21("Row", "elementor"),
|
|
3044
3092
|
renderContent: ({ size }) => {
|
|
3045
3093
|
const StartIcon5 = withDirection6(ArrowRightIcon);
|
|
3046
|
-
return /* @__PURE__ */
|
|
3094
|
+
return /* @__PURE__ */ React47.createElement(StartIcon5, { fontSize: size });
|
|
3047
3095
|
},
|
|
3048
3096
|
showTooltip: true
|
|
3049
3097
|
},
|
|
3050
3098
|
{
|
|
3051
3099
|
value: "column",
|
|
3052
|
-
label:
|
|
3053
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3100
|
+
label: __21("Column", "elementor"),
|
|
3101
|
+
renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(ArrowDownSmallIcon, { fontSize: size }),
|
|
3054
3102
|
showTooltip: true
|
|
3055
3103
|
},
|
|
3056
3104
|
{
|
|
3057
3105
|
value: "row-reverse",
|
|
3058
|
-
label:
|
|
3106
|
+
label: __21("Reversed row", "elementor"),
|
|
3059
3107
|
renderContent: ({ size }) => {
|
|
3060
3108
|
const EndIcon5 = withDirection6(ArrowLeftIcon);
|
|
3061
|
-
return /* @__PURE__ */
|
|
3109
|
+
return /* @__PURE__ */ React47.createElement(EndIcon5, { fontSize: size });
|
|
3062
3110
|
},
|
|
3063
3111
|
showTooltip: true
|
|
3064
3112
|
},
|
|
3065
3113
|
{
|
|
3066
3114
|
value: "column-reverse",
|
|
3067
|
-
label:
|
|
3068
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3115
|
+
label: __21("Reversed column", "elementor"),
|
|
3116
|
+
renderContent: ({ size }) => /* @__PURE__ */ React47.createElement(ArrowUpSmallIcon, { fontSize: size }),
|
|
3069
3117
|
showTooltip: true
|
|
3070
3118
|
}
|
|
3071
3119
|
];
|
|
3072
3120
|
var FlexDirectionField = () => {
|
|
3073
|
-
|
|
3074
|
-
return /* @__PURE__ */ React45.createElement(DirectionProvider4, { rtl: isSiteRtl }, /* @__PURE__ */ React45.createElement(ThemeProvider4, null, /* @__PURE__ */ React45.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React45.createElement(Grid5, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React45.createElement(Grid5, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(ControlLabel, null, __20("Direction", "elementor"))), /* @__PURE__ */ React45.createElement(Grid5, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React45.createElement(ToggleControl5, { options: options3 }))))));
|
|
3121
|
+
return /* @__PURE__ */ React47.createElement(UiProviders, null, /* @__PURE__ */ React47.createElement(StylesField, { bind: "flex-direction" }, /* @__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("Direction", "elementor"))), /* @__PURE__ */ React47.createElement(Grid6, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React47.createElement(ToggleControl5, { options: options3 })))));
|
|
3075
3122
|
};
|
|
3076
3123
|
|
|
3077
3124
|
// src/components/style-sections/layout-section/flex-order-field.tsx
|
|
3078
|
-
import * as
|
|
3125
|
+
import * as React48 from "react";
|
|
3079
3126
|
import { useState as useState10 } from "react";
|
|
3080
3127
|
import { ControlToggleButtonGroup, NumberControl } from "@elementor/editor-controls";
|
|
3081
3128
|
import { ArrowDownSmallIcon as ArrowDownSmallIcon2, ArrowUpSmallIcon as ArrowUpSmallIcon2, PencilIcon } from "@elementor/icons";
|
|
3082
|
-
import {
|
|
3083
|
-
import { __ as
|
|
3129
|
+
import { Grid as Grid7 } from "@elementor/ui";
|
|
3130
|
+
import { __ as __22 } from "@wordpress/i18n";
|
|
3084
3131
|
var FIRST_DEFAULT_VALUE = -99999;
|
|
3085
3132
|
var LAST_DEFAULT_VALUE = 99999;
|
|
3086
3133
|
var FIRST = "first";
|
|
@@ -3093,27 +3140,25 @@ var orderValueMap = {
|
|
|
3093
3140
|
var items = [
|
|
3094
3141
|
{
|
|
3095
3142
|
value: FIRST,
|
|
3096
|
-
label:
|
|
3097
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3143
|
+
label: __22("First", "elementor"),
|
|
3144
|
+
renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(ArrowUpSmallIcon2, { fontSize: size }),
|
|
3098
3145
|
showTooltip: true
|
|
3099
3146
|
},
|
|
3100
3147
|
{
|
|
3101
3148
|
value: LAST,
|
|
3102
|
-
label:
|
|
3103
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3149
|
+
label: __22("Last", "elementor"),
|
|
3150
|
+
renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(ArrowDownSmallIcon2, { fontSize: size }),
|
|
3104
3151
|
showTooltip: true
|
|
3105
3152
|
},
|
|
3106
3153
|
{
|
|
3107
3154
|
value: CUSTOM,
|
|
3108
|
-
label:
|
|
3109
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3155
|
+
label: __22("Custom", "elementor"),
|
|
3156
|
+
renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(PencilIcon, { fontSize: size }),
|
|
3110
3157
|
showTooltip: true
|
|
3111
3158
|
}
|
|
3112
3159
|
];
|
|
3113
3160
|
var FlexOrderField = () => {
|
|
3114
|
-
const {
|
|
3115
|
-
const [order, setOrder] = useStylesField("order");
|
|
3116
|
-
const { canEdit } = useStyle();
|
|
3161
|
+
const { value: order, setValue: setOrder, canEdit } = useStylesField("order");
|
|
3117
3162
|
const [groupControlValue, setGroupControlValue] = useState10(getGroupControlValue(order?.value || null));
|
|
3118
3163
|
const handleToggleButtonChange = (group) => {
|
|
3119
3164
|
setGroupControlValue(group);
|
|
@@ -3123,7 +3168,7 @@ var FlexOrderField = () => {
|
|
|
3123
3168
|
}
|
|
3124
3169
|
setOrder({ $$type: "number", value: orderValueMap[group] });
|
|
3125
3170
|
};
|
|
3126
|
-
return /* @__PURE__ */
|
|
3171
|
+
return /* @__PURE__ */ React48.createElement(UiProviders, null, /* @__PURE__ */ React48.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React48.createElement(SectionContent, null, /* @__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("Order", "elementor"))), /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React48.createElement(
|
|
3127
3172
|
ControlToggleButtonGroup,
|
|
3128
3173
|
{
|
|
3129
3174
|
items,
|
|
@@ -3132,14 +3177,14 @@ var FlexOrderField = () => {
|
|
|
3132
3177
|
exclusive: true,
|
|
3133
3178
|
disabled: !canEdit
|
|
3134
3179
|
}
|
|
3135
|
-
))), CUSTOM === groupControlValue && /* @__PURE__ */
|
|
3180
|
+
))), CUSTOM === groupControlValue && /* @__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("Custom order", "elementor"))), /* @__PURE__ */ React48.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React48.createElement(
|
|
3136
3181
|
NumberControl,
|
|
3137
3182
|
{
|
|
3138
3183
|
min: FIRST_DEFAULT_VALUE + 1,
|
|
3139
3184
|
max: LAST_DEFAULT_VALUE - 1,
|
|
3140
3185
|
shouldForceInt: true
|
|
3141
3186
|
}
|
|
3142
|
-
))))))
|
|
3187
|
+
))))));
|
|
3143
3188
|
};
|
|
3144
3189
|
var getGroupControlValue = (order) => {
|
|
3145
3190
|
if (LAST_DEFAULT_VALUE === order) {
|
|
@@ -3152,50 +3197,48 @@ var getGroupControlValue = (order) => {
|
|
|
3152
3197
|
};
|
|
3153
3198
|
|
|
3154
3199
|
// src/components/style-sections/layout-section/flex-size-field.tsx
|
|
3155
|
-
import * as
|
|
3156
|
-
import { useMemo as useMemo5, useState as useState11 } from "react";
|
|
3200
|
+
import * as React49 from "react";
|
|
3201
|
+
import { useMemo as useMemo5, useRef as useRef6, useState as useState11 } from "react";
|
|
3157
3202
|
import {
|
|
3158
3203
|
ControlToggleButtonGroup as ControlToggleButtonGroup2,
|
|
3159
3204
|
NumberControl as NumberControl2,
|
|
3160
|
-
SizeControl as
|
|
3205
|
+
SizeControl as SizeControl3
|
|
3161
3206
|
} from "@elementor/editor-controls";
|
|
3162
3207
|
import { numberPropTypeUtil } from "@elementor/editor-props";
|
|
3163
3208
|
import { ExpandIcon, PencilIcon as PencilIcon2, ShrinkIcon } from "@elementor/icons";
|
|
3164
|
-
import {
|
|
3165
|
-
import { __ as
|
|
3209
|
+
import { Grid as Grid8 } from "@elementor/ui";
|
|
3210
|
+
import { __ as __23 } from "@wordpress/i18n";
|
|
3166
3211
|
var DEFAULT = 1;
|
|
3167
3212
|
var items2 = [
|
|
3168
3213
|
{
|
|
3169
3214
|
value: "flex-grow",
|
|
3170
|
-
label:
|
|
3171
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3215
|
+
label: __23("Grow", "elementor"),
|
|
3216
|
+
renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(ExpandIcon, { fontSize: size }),
|
|
3172
3217
|
showTooltip: true
|
|
3173
3218
|
},
|
|
3174
3219
|
{
|
|
3175
3220
|
value: "flex-shrink",
|
|
3176
|
-
label:
|
|
3177
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3221
|
+
label: __23("Shrink", "elementor"),
|
|
3222
|
+
renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(ShrinkIcon, { fontSize: size }),
|
|
3178
3223
|
showTooltip: true
|
|
3179
3224
|
},
|
|
3180
3225
|
{
|
|
3181
3226
|
value: "custom",
|
|
3182
|
-
label:
|
|
3183
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3227
|
+
label: __23("Custom", "elementor"),
|
|
3228
|
+
renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(PencilIcon2, { fontSize: size }),
|
|
3184
3229
|
showTooltip: true
|
|
3185
3230
|
}
|
|
3186
3231
|
];
|
|
3187
3232
|
var FlexSizeField = () => {
|
|
3188
|
-
const {
|
|
3189
|
-
const
|
|
3190
|
-
const
|
|
3191
|
-
const
|
|
3192
|
-
const shrink = fields?.["flex-shrink"]?.value || null;
|
|
3193
|
-
const basis = fields?.["flex-basis"]?.value || null;
|
|
3233
|
+
const { values, setValues, canEdit } = useStylesFields(["flex-grow", "flex-shrink", "flex-basis"]);
|
|
3234
|
+
const grow = values?.["flex-grow"]?.value || null;
|
|
3235
|
+
const shrink = values?.["flex-shrink"]?.value || null;
|
|
3236
|
+
const basis = values?.["flex-basis"]?.value || null;
|
|
3194
3237
|
const currentGroup = useMemo5(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = useState11(currentGroup);
|
|
3195
3238
|
const onChangeGroup = (group = null) => {
|
|
3196
3239
|
setActiveGroup(group);
|
|
3197
3240
|
if (!group || group === "custom") {
|
|
3198
|
-
|
|
3241
|
+
setValues({
|
|
3199
3242
|
"flex-basis": null,
|
|
3200
3243
|
"flex-grow": null,
|
|
3201
3244
|
"flex-shrink": null
|
|
@@ -3203,20 +3246,20 @@ var FlexSizeField = () => {
|
|
|
3203
3246
|
return;
|
|
3204
3247
|
}
|
|
3205
3248
|
if (group === "flex-grow") {
|
|
3206
|
-
|
|
3249
|
+
setValues({
|
|
3207
3250
|
"flex-basis": null,
|
|
3208
3251
|
"flex-grow": numberPropTypeUtil.create(DEFAULT),
|
|
3209
3252
|
"flex-shrink": null
|
|
3210
3253
|
});
|
|
3211
3254
|
return;
|
|
3212
3255
|
}
|
|
3213
|
-
|
|
3256
|
+
setValues({
|
|
3214
3257
|
"flex-basis": null,
|
|
3215
3258
|
"flex-grow": null,
|
|
3216
3259
|
"flex-shrink": numberPropTypeUtil.create(DEFAULT)
|
|
3217
3260
|
});
|
|
3218
3261
|
};
|
|
3219
|
-
return /* @__PURE__ */
|
|
3262
|
+
return /* @__PURE__ */ React49.createElement(UiProviders, null, /* @__PURE__ */ React49.createElement(SectionContent, null, /* @__PURE__ */ React49.createElement(Grid8, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(StylesField, { bind: activeGroup ?? "" }, /* @__PURE__ */ React49.createElement(Grid8, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(ControlLabel, null, __23("Size", "elementor"))), /* @__PURE__ */ React49.createElement(Grid8, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React49.createElement(
|
|
3220
3263
|
ControlToggleButtonGroup2,
|
|
3221
3264
|
{
|
|
3222
3265
|
value: activeGroup,
|
|
@@ -3225,9 +3268,12 @@ var FlexSizeField = () => {
|
|
|
3225
3268
|
items: items2,
|
|
3226
3269
|
exclusive: true
|
|
3227
3270
|
}
|
|
3228
|
-
)))), "custom" === activeGroup && /* @__PURE__ */
|
|
3271
|
+
)))), "custom" === activeGroup && /* @__PURE__ */ React49.createElement(FlexCustomField, null)));
|
|
3272
|
+
};
|
|
3273
|
+
var FlexCustomField = () => {
|
|
3274
|
+
const flexBasisRowRef = useRef6();
|
|
3275
|
+
return /* @__PURE__ */ React49.createElement(React49.Fragment, null, /* @__PURE__ */ React49.createElement(StylesField, { bind: "flex-grow" }, /* @__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, __23("Grow", "elementor"))), /* @__PURE__ */ React49.createElement(Grid8, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React49.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React49.createElement(StylesField, { bind: "flex-shrink" }, /* @__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, __23("Shrink", "elementor"))), /* @__PURE__ */ React49.createElement(Grid8, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React49.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React49.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React49.createElement(Grid8, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: flexBasisRowRef }, /* @__PURE__ */ React49.createElement(Grid8, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(ControlLabel, null, __23("Basis", "elementor"))), /* @__PURE__ */ React49.createElement(Grid8, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React49.createElement(SizeControl3, { extendedOptions: ["auto"], anchorRef: flexBasisRowRef })))));
|
|
3229
3276
|
};
|
|
3230
|
-
var FlexCustomField = () => /* @__PURE__ */ React47.createElement(React47.Fragment, null, /* @__PURE__ */ React47.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React47.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel, null, __22("Grow", "elementor"))), /* @__PURE__ */ React47.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React47.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React47.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React47.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel, null, __22("Shrink", "elementor"))), /* @__PURE__ */ React47.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React47.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React47.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React47.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel, null, __22("Basis", "elementor"))), /* @__PURE__ */ React47.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React47.createElement(SizeControl2, { extendedValues: ["auto"] })))));
|
|
3231
3277
|
var getActiveGroup = ({
|
|
3232
3278
|
grow,
|
|
3233
3279
|
shrink,
|
|
@@ -3249,16 +3295,16 @@ var getActiveGroup = ({
|
|
|
3249
3295
|
};
|
|
3250
3296
|
|
|
3251
3297
|
// src/components/style-sections/layout-section/gap-control-field.tsx
|
|
3252
|
-
import * as
|
|
3298
|
+
import * as React50 from "react";
|
|
3253
3299
|
import { GapControl } from "@elementor/editor-controls";
|
|
3254
3300
|
import { Stack as Stack12 } from "@elementor/ui";
|
|
3255
|
-
import { __ as
|
|
3301
|
+
import { __ as __24 } from "@wordpress/i18n";
|
|
3256
3302
|
var GapControlField = () => {
|
|
3257
|
-
return /* @__PURE__ */
|
|
3303
|
+
return /* @__PURE__ */ React50.createElement(Stack12, { gap: 1 }, /* @__PURE__ */ React50.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React50.createElement(GapControl, { label: __24("Gaps", "elementor") })));
|
|
3258
3304
|
};
|
|
3259
3305
|
|
|
3260
3306
|
// src/components/style-sections/layout-section/justify-content-field.tsx
|
|
3261
|
-
import * as
|
|
3307
|
+
import * as React51 from "react";
|
|
3262
3308
|
import { ToggleControl as ToggleControl6 } from "@elementor/editor-controls";
|
|
3263
3309
|
import {
|
|
3264
3310
|
JustifyBottomIcon as JustifyBottomIcon2,
|
|
@@ -3268,8 +3314,8 @@ import {
|
|
|
3268
3314
|
JustifySpaceBetweenVerticalIcon as BetweenIcon2,
|
|
3269
3315
|
JustifyTopIcon as JustifyTopIcon2
|
|
3270
3316
|
} from "@elementor/icons";
|
|
3271
|
-
import {
|
|
3272
|
-
import { __ as
|
|
3317
|
+
import { Stack as Stack13, withDirection as withDirection7 } from "@elementor/ui";
|
|
3318
|
+
import { __ as __25 } from "@wordpress/i18n";
|
|
3273
3319
|
var StartIcon4 = withDirection7(JustifyTopIcon2);
|
|
3274
3320
|
var EndIcon4 = withDirection7(JustifyBottomIcon2);
|
|
3275
3321
|
var iconProps4 = {
|
|
@@ -3279,93 +3325,91 @@ var iconProps4 = {
|
|
|
3279
3325
|
var options4 = [
|
|
3280
3326
|
{
|
|
3281
3327
|
value: "flex-start",
|
|
3282
|
-
label:
|
|
3283
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3328
|
+
label: __25("Start", "elementor"),
|
|
3329
|
+
renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(RotatedIcon, { icon: StartIcon4, size, ...iconProps4 }),
|
|
3284
3330
|
showTooltip: true
|
|
3285
3331
|
},
|
|
3286
3332
|
{
|
|
3287
3333
|
value: "center",
|
|
3288
|
-
label:
|
|
3289
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3334
|
+
label: __25("Center", "elementor"),
|
|
3335
|
+
renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(RotatedIcon, { icon: CenterIcon4, size, ...iconProps4 }),
|
|
3290
3336
|
showTooltip: true
|
|
3291
3337
|
},
|
|
3292
3338
|
{
|
|
3293
3339
|
value: "flex-end",
|
|
3294
|
-
label:
|
|
3295
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3340
|
+
label: __25("End", "elementor"),
|
|
3341
|
+
renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(RotatedIcon, { icon: EndIcon4, size, ...iconProps4 }),
|
|
3296
3342
|
showTooltip: true
|
|
3297
3343
|
},
|
|
3298
3344
|
{
|
|
3299
3345
|
value: "space-between",
|
|
3300
|
-
label:
|
|
3301
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3346
|
+
label: __25("Space between", "elementor"),
|
|
3347
|
+
renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(RotatedIcon, { icon: BetweenIcon2, size, ...iconProps4 }),
|
|
3302
3348
|
showTooltip: true
|
|
3303
3349
|
},
|
|
3304
3350
|
{
|
|
3305
3351
|
value: "space-around",
|
|
3306
|
-
label:
|
|
3307
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3352
|
+
label: __25("Space around", "elementor"),
|
|
3353
|
+
renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(RotatedIcon, { icon: AroundIcon2, size, ...iconProps4 }),
|
|
3308
3354
|
showTooltip: true
|
|
3309
3355
|
},
|
|
3310
3356
|
{
|
|
3311
3357
|
value: "space-evenly",
|
|
3312
|
-
label:
|
|
3313
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3358
|
+
label: __25("Space evenly", "elementor"),
|
|
3359
|
+
renderContent: ({ size }) => /* @__PURE__ */ React51.createElement(RotatedIcon, { icon: EvenlyIcon2, size, ...iconProps4 }),
|
|
3314
3360
|
showTooltip: true
|
|
3315
3361
|
}
|
|
3316
3362
|
];
|
|
3317
3363
|
var JustifyContentField = () => {
|
|
3318
|
-
|
|
3319
|
-
return /* @__PURE__ */ React49.createElement(DirectionProvider7, { rtl: isSiteRtl }, /* @__PURE__ */ React49.createElement(ThemeProvider7, null, /* @__PURE__ */ React49.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React49.createElement(Stack13, { gap: 0.75 }, /* @__PURE__ */ React49.createElement(ControlLabel, null, __24("Justify content", "elementor")), /* @__PURE__ */ React49.createElement(ToggleControl6, { options: options4, fullWidth: true })))));
|
|
3364
|
+
return /* @__PURE__ */ React51.createElement(UiProviders, null, /* @__PURE__ */ React51.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React51.createElement(Stack13, { gap: 0.75 }, /* @__PURE__ */ React51.createElement(ControlLabel, null, __25("Justify content", "elementor")), /* @__PURE__ */ React51.createElement(ToggleControl6, { options: options4, fullWidth: true }))));
|
|
3320
3365
|
};
|
|
3321
3366
|
|
|
3322
3367
|
// src/components/style-sections/layout-section/wrap-field.tsx
|
|
3323
|
-
import * as
|
|
3368
|
+
import * as React52 from "react";
|
|
3324
3369
|
import { ToggleControl as ToggleControl7 } from "@elementor/editor-controls";
|
|
3325
3370
|
import { ArrowBackIcon, ArrowForwardIcon, ArrowRightIcon as ArrowRightIcon2 } from "@elementor/icons";
|
|
3326
|
-
import {
|
|
3327
|
-
import { __ as
|
|
3371
|
+
import { Grid as Grid9 } from "@elementor/ui";
|
|
3372
|
+
import { __ as __26 } from "@wordpress/i18n";
|
|
3328
3373
|
var options5 = [
|
|
3329
3374
|
{
|
|
3330
3375
|
value: "nowrap",
|
|
3331
|
-
label:
|
|
3332
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3376
|
+
label: __26("No wrap", "elementor"),
|
|
3377
|
+
renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(ArrowRightIcon2, { fontSize: size }),
|
|
3333
3378
|
showTooltip: true
|
|
3334
3379
|
},
|
|
3335
3380
|
{
|
|
3336
3381
|
value: "wrap",
|
|
3337
|
-
label:
|
|
3338
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3382
|
+
label: __26("Wrap", "elementor"),
|
|
3383
|
+
renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(ArrowBackIcon, { fontSize: size }),
|
|
3339
3384
|
showTooltip: true
|
|
3340
3385
|
},
|
|
3341
3386
|
{
|
|
3342
3387
|
value: "wrap-reverse",
|
|
3343
|
-
label:
|
|
3344
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3388
|
+
label: __26("Reversed wrap", "elementor"),
|
|
3389
|
+
renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(ArrowForwardIcon, { fontSize: size }),
|
|
3345
3390
|
showTooltip: true
|
|
3346
3391
|
}
|
|
3347
3392
|
];
|
|
3348
3393
|
var WrapField = () => {
|
|
3349
|
-
|
|
3350
|
-
return /* @__PURE__ */ React50.createElement(DirectionProvider8, { rtl: isSiteRtl }, /* @__PURE__ */ React50.createElement(ThemeProvider8, null, /* @__PURE__ */ React50.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React50.createElement(Grid8, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React50.createElement(Grid8, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(ControlLabel, null, __25("Wrap", "elementor"))), /* @__PURE__ */ React50.createElement(Grid8, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React50.createElement(ToggleControl7, { options: options5 }))))));
|
|
3394
|
+
return /* @__PURE__ */ React52.createElement(UiProviders, null, /* @__PURE__ */ React52.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React52.createElement(Grid9, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(Grid9, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(ControlLabel, null, __26("Wrap", "elementor"))), /* @__PURE__ */ React52.createElement(Grid9, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React52.createElement(ToggleControl7, { options: options5 })))));
|
|
3351
3395
|
};
|
|
3352
3396
|
|
|
3353
3397
|
// src/components/style-sections/layout-section/layout-section.tsx
|
|
3354
3398
|
var LayoutSection = () => {
|
|
3355
|
-
const
|
|
3399
|
+
const { value: display } = useStylesField("display");
|
|
3356
3400
|
const displayPlaceholder = useDisplayPlaceholderValue();
|
|
3357
3401
|
const isDisplayFlex = shouldDisplayFlexFields(display, displayPlaceholder);
|
|
3358
3402
|
const { element } = useElement();
|
|
3359
3403
|
const parent = useParentElement(element.id);
|
|
3360
3404
|
const parentStyle = useComputedStyle(parent?.id || null);
|
|
3361
3405
|
const parentStyleDirection = parentStyle?.flexDirection ?? "row";
|
|
3362
|
-
return /* @__PURE__ */
|
|
3406
|
+
return /* @__PURE__ */ React53.createElement(SectionContent, null, /* @__PURE__ */ React53.createElement(DisplayField, null), isDisplayFlex && /* @__PURE__ */ React53.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React53.createElement(FlexChildFields, { parentStyleDirection }));
|
|
3363
3407
|
};
|
|
3364
3408
|
var FlexFields = () => {
|
|
3365
|
-
const
|
|
3366
|
-
return /* @__PURE__ */
|
|
3409
|
+
const { value: flexWrap } = useStylesField("flex-wrap");
|
|
3410
|
+
return /* @__PURE__ */ React53.createElement(React53.Fragment, null, /* @__PURE__ */ React53.createElement(FlexDirectionField, null), /* @__PURE__ */ React53.createElement(JustifyContentField, null), /* @__PURE__ */ React53.createElement(AlignItemsField, null), /* @__PURE__ */ React53.createElement(PanelDivider, null), /* @__PURE__ */ React53.createElement(GapControlField, null), /* @__PURE__ */ React53.createElement(WrapField, null), ["wrap", "wrap-reverse"].includes(flexWrap?.value) && /* @__PURE__ */ React53.createElement(AlignContentField, null));
|
|
3367
3411
|
};
|
|
3368
|
-
var FlexChildFields = ({ parentStyleDirection }) => /* @__PURE__ */
|
|
3412
|
+
var FlexChildFields = ({ parentStyleDirection }) => /* @__PURE__ */ React53.createElement(React53.Fragment, null, /* @__PURE__ */ React53.createElement(PanelDivider, null), /* @__PURE__ */ React53.createElement(ControlFormLabel4, null, __27("Flex child", "elementor")), /* @__PURE__ */ React53.createElement(AlignSelfChild, { parentStyleDirection }), /* @__PURE__ */ React53.createElement(FlexOrderField, null), /* @__PURE__ */ React53.createElement(FlexSizeField, null));
|
|
3369
3413
|
var shouldDisplayFlexFields = (display, local) => {
|
|
3370
3414
|
const value = display?.value ?? local?.value;
|
|
3371
3415
|
if (!value) {
|
|
@@ -3375,72 +3419,92 @@ var shouldDisplayFlexFields = (display, local) => {
|
|
|
3375
3419
|
};
|
|
3376
3420
|
|
|
3377
3421
|
// src/components/style-sections/position-section/position-section.tsx
|
|
3378
|
-
import * as
|
|
3422
|
+
import * as React58 from "react";
|
|
3379
3423
|
import { isExperimentActive as isExperimentActive8 } from "@elementor/editor-v1-adapters";
|
|
3380
3424
|
import { useSessionStorage } from "@elementor/session";
|
|
3381
3425
|
|
|
3382
3426
|
// src/components/style-sections/position-section/dimensions-field.tsx
|
|
3383
|
-
import * as
|
|
3384
|
-
import {
|
|
3427
|
+
import * as React54 from "react";
|
|
3428
|
+
import { useRef as useRef7 } from "react";
|
|
3429
|
+
import { SizeControl as SizeControl4 } from "@elementor/editor-controls";
|
|
3385
3430
|
import { SideBottomIcon as SideBottomIcon2, SideLeftIcon as SideLeftIcon2, SideRightIcon as SideRightIcon2, SideTopIcon as SideTopIcon2 } from "@elementor/icons";
|
|
3386
|
-
import { Grid as
|
|
3387
|
-
import { __ as
|
|
3431
|
+
import { Grid as Grid10, Stack as Stack14, withDirection as withDirection8 } from "@elementor/ui";
|
|
3432
|
+
import { __ as __28 } from "@wordpress/i18n";
|
|
3388
3433
|
var InlineStartIcon2 = withDirection8(SideLeftIcon2);
|
|
3389
3434
|
var InlineEndIcon2 = withDirection8(SideRightIcon2);
|
|
3390
3435
|
var sideIcons = {
|
|
3391
|
-
"inset-block-start": /* @__PURE__ */
|
|
3392
|
-
"inset-block-end": /* @__PURE__ */
|
|
3393
|
-
"inset-inline-start": /* @__PURE__ */
|
|
3394
|
-
"inset-inline-end": /* @__PURE__ */
|
|
3436
|
+
"inset-block-start": /* @__PURE__ */ React54.createElement(SideTopIcon2, { fontSize: "tiny" }),
|
|
3437
|
+
"inset-block-end": /* @__PURE__ */ React54.createElement(SideBottomIcon2, { fontSize: "tiny" }),
|
|
3438
|
+
"inset-inline-start": /* @__PURE__ */ React54.createElement(RotatedIcon, { icon: InlineStartIcon2, size: "tiny" }),
|
|
3439
|
+
"inset-inline-end": /* @__PURE__ */ React54.createElement(RotatedIcon, { icon: InlineEndIcon2, size: "tiny" })
|
|
3395
3440
|
};
|
|
3396
|
-
var getInlineStartLabel = (isSiteRtl) => isSiteRtl ?
|
|
3397
|
-
var getInlineEndLabel = (isSiteRtl) => isSiteRtl ?
|
|
3441
|
+
var getInlineStartLabel = (isSiteRtl) => isSiteRtl ? __28("Right", "elementor") : __28("Left", "elementor");
|
|
3442
|
+
var getInlineEndLabel = (isSiteRtl) => isSiteRtl ? __28("Left", "elementor") : __28("Right", "elementor");
|
|
3398
3443
|
var DimensionsField = () => {
|
|
3399
3444
|
const { isSiteRtl } = useDirection();
|
|
3400
|
-
|
|
3401
|
-
}
|
|
3402
|
-
|
|
3403
|
-
|
|
3445
|
+
const rowRefs = [useRef7(), useRef7()];
|
|
3446
|
+
return /* @__PURE__ */ React54.createElement(UiProviders, null, /* @__PURE__ */ React54.createElement(Stack14, { direction: "row", gap: 2, flexWrap: "nowrap", ref: rowRefs[0] }, /* @__PURE__ */ React54.createElement(DimensionField, { side: "inset-block-start", label: __28("Top", "elementor"), rowRef: rowRefs[0] }), /* @__PURE__ */ React54.createElement(
|
|
3447
|
+
DimensionField,
|
|
3448
|
+
{
|
|
3449
|
+
side: "inset-inline-end",
|
|
3450
|
+
label: getInlineEndLabel(isSiteRtl),
|
|
3451
|
+
rowRef: rowRefs[0]
|
|
3452
|
+
}
|
|
3453
|
+
)), /* @__PURE__ */ React54.createElement(Stack14, { direction: "row", gap: 2, flexWrap: "nowrap", ref: rowRefs[1] }, /* @__PURE__ */ React54.createElement(DimensionField, { side: "inset-block-end", label: __28("Bottom", "elementor"), rowRef: rowRefs[1] }), /* @__PURE__ */ React54.createElement(
|
|
3454
|
+
DimensionField,
|
|
3455
|
+
{
|
|
3456
|
+
side: "inset-inline-start",
|
|
3457
|
+
label: getInlineStartLabel(isSiteRtl),
|
|
3458
|
+
rowRef: rowRefs[1]
|
|
3459
|
+
}
|
|
3460
|
+
)));
|
|
3404
3461
|
};
|
|
3462
|
+
var DimensionField = ({
|
|
3463
|
+
side,
|
|
3464
|
+
label,
|
|
3465
|
+
rowRef
|
|
3466
|
+
}) => /* @__PURE__ */ React54.createElement(StylesField, { bind: side }, /* @__PURE__ */ React54.createElement(Grid10, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React54.createElement(Grid10, { item: true, xs: 12 }, /* @__PURE__ */ React54.createElement(ControlLabel, null, label)), /* @__PURE__ */ React54.createElement(Grid10, { item: true, xs: 12 }, /* @__PURE__ */ React54.createElement(SizeControl4, { startIcon: sideIcons[side], extendedOptions: ["auto"], anchorRef: rowRef }))));
|
|
3405
3467
|
|
|
3406
3468
|
// src/components/style-sections/position-section/offset-field.tsx
|
|
3407
|
-
import * as
|
|
3408
|
-
import {
|
|
3409
|
-
import {
|
|
3410
|
-
import {
|
|
3469
|
+
import * as React55 from "react";
|
|
3470
|
+
import { useRef as useRef8 } from "react";
|
|
3471
|
+
import { SizeControl as SizeControl5 } from "@elementor/editor-controls";
|
|
3472
|
+
import { Grid as Grid11 } from "@elementor/ui";
|
|
3473
|
+
import { __ as __29 } from "@wordpress/i18n";
|
|
3411
3474
|
var OffsetField = () => {
|
|
3412
|
-
|
|
3475
|
+
const rowRef = useRef8();
|
|
3476
|
+
return /* @__PURE__ */ React55.createElement(StylesField, { bind: "scroll-margin-top" }, /* @__PURE__ */ React55.createElement(Grid11, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React55.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(ControlLabel, null, __29("Anchor offset", "elementor"))), /* @__PURE__ */ React55.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(SizeControl5, { units: ["px", "em", "rem", "vw", "vh"], anchorRef: rowRef }))));
|
|
3413
3477
|
};
|
|
3414
3478
|
|
|
3415
3479
|
// src/components/style-sections/position-section/position-field.tsx
|
|
3416
|
-
import * as
|
|
3480
|
+
import * as React56 from "react";
|
|
3417
3481
|
import { SelectControl as SelectControl3 } from "@elementor/editor-controls";
|
|
3418
|
-
import { Grid as
|
|
3419
|
-
import { __ as
|
|
3482
|
+
import { Grid as Grid12 } from "@elementor/ui";
|
|
3483
|
+
import { __ as __30 } from "@wordpress/i18n";
|
|
3420
3484
|
var positionOptions = [
|
|
3421
|
-
{ label:
|
|
3422
|
-
{ label:
|
|
3423
|
-
{ label:
|
|
3424
|
-
{ label:
|
|
3425
|
-
{ label:
|
|
3485
|
+
{ label: __30("Static", "elementor"), value: "static" },
|
|
3486
|
+
{ label: __30("Relative", "elementor"), value: "relative" },
|
|
3487
|
+
{ label: __30("Absolute", "elementor"), value: "absolute" },
|
|
3488
|
+
{ label: __30("Fixed", "elementor"), value: "fixed" },
|
|
3489
|
+
{ label: __30("Sticky", "elementor"), value: "sticky" }
|
|
3426
3490
|
];
|
|
3427
3491
|
var PositionField = ({ onChange }) => {
|
|
3428
|
-
return /* @__PURE__ */
|
|
3492
|
+
return /* @__PURE__ */ React56.createElement(StylesField, { bind: "position" }, /* @__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("Position", "elementor"))), /* @__PURE__ */ React56.createElement(Grid12, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React56.createElement(SelectControl3, { options: positionOptions, onChange }))));
|
|
3429
3493
|
};
|
|
3430
3494
|
|
|
3431
3495
|
// src/components/style-sections/position-section/z-index-field.tsx
|
|
3432
|
-
import * as
|
|
3496
|
+
import * as React57 from "react";
|
|
3433
3497
|
import { NumberControl as NumberControl3 } from "@elementor/editor-controls";
|
|
3434
|
-
import { Grid as
|
|
3435
|
-
import { __ as
|
|
3498
|
+
import { Grid as Grid13 } from "@elementor/ui";
|
|
3499
|
+
import { __ as __31 } from "@wordpress/i18n";
|
|
3436
3500
|
var ZIndexField = () => {
|
|
3437
|
-
return /* @__PURE__ */
|
|
3501
|
+
return /* @__PURE__ */ React57.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React57.createElement(Grid13, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React57.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(ControlLabel, null, __31("Z-index", "elementor"))), /* @__PURE__ */ React57.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(NumberControl3, null))));
|
|
3438
3502
|
};
|
|
3439
3503
|
|
|
3440
3504
|
// src/components/style-sections/position-section/position-section.tsx
|
|
3441
3505
|
var PositionSection = () => {
|
|
3442
|
-
const
|
|
3443
|
-
const
|
|
3506
|
+
const { value: positionValue } = useStylesField("position");
|
|
3507
|
+
const { values: dimensions, setValues: setDimensions } = useStylesFields([
|
|
3444
3508
|
"inset-block-start",
|
|
3445
3509
|
"inset-block-end",
|
|
3446
3510
|
"inset-inline-start",
|
|
@@ -3450,9 +3514,9 @@ var PositionSection = () => {
|
|
|
3450
3514
|
const isCssIdFeatureActive = isExperimentActive8("e_v_3_30");
|
|
3451
3515
|
const onPositionChange = (newPosition, previousPosition) => {
|
|
3452
3516
|
if (newPosition === "static") {
|
|
3453
|
-
if (
|
|
3454
|
-
updateDimensionsHistory(
|
|
3455
|
-
|
|
3517
|
+
if (dimensions) {
|
|
3518
|
+
updateDimensionsHistory(dimensions);
|
|
3519
|
+
setDimensions({
|
|
3456
3520
|
"inset-block-start": void 0,
|
|
3457
3521
|
"inset-block-end": void 0,
|
|
3458
3522
|
"inset-inline-start": void 0,
|
|
@@ -3461,13 +3525,13 @@ var PositionSection = () => {
|
|
|
3461
3525
|
}
|
|
3462
3526
|
} else if (previousPosition === "static") {
|
|
3463
3527
|
if (dimensionsValuesFromHistory) {
|
|
3464
|
-
|
|
3528
|
+
setDimensions(dimensionsValuesFromHistory);
|
|
3465
3529
|
clearDimensionsHistory();
|
|
3466
3530
|
}
|
|
3467
3531
|
}
|
|
3468
3532
|
};
|
|
3469
3533
|
const isNotStatic = positionValue && positionValue?.value !== "static";
|
|
3470
|
-
return /* @__PURE__ */
|
|
3534
|
+
return /* @__PURE__ */ React58.createElement(SectionContent, null, /* @__PURE__ */ React58.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React58.createElement(React58.Fragment, null, /* @__PURE__ */ React58.createElement(DimensionsField, null), /* @__PURE__ */ React58.createElement(ZIndexField, null)) : null, isCssIdFeatureActive && /* @__PURE__ */ React58.createElement(React58.Fragment, null, /* @__PURE__ */ React58.createElement(PanelDivider, null), /* @__PURE__ */ React58.createElement(OffsetField, null)));
|
|
3471
3535
|
};
|
|
3472
3536
|
var usePersistDimensions = () => {
|
|
3473
3537
|
const { id: styleDefID, meta } = useStyle();
|
|
@@ -3477,49 +3541,55 @@ var usePersistDimensions = () => {
|
|
|
3477
3541
|
};
|
|
3478
3542
|
|
|
3479
3543
|
// src/components/style-sections/size-section/size-section.tsx
|
|
3480
|
-
import * as
|
|
3481
|
-
import {
|
|
3544
|
+
import * as React64 from "react";
|
|
3545
|
+
import { useRef as useRef9 } from "react";
|
|
3546
|
+
import { AspectRatioControl, SizeControl as SizeControl6 } from "@elementor/editor-controls";
|
|
3482
3547
|
import { isExperimentActive as isExperimentActive10 } from "@elementor/editor-v1-adapters";
|
|
3483
3548
|
import { Grid as Grid16, Stack as Stack16 } from "@elementor/ui";
|
|
3484
3549
|
import { __ as __35 } from "@wordpress/i18n";
|
|
3485
3550
|
|
|
3486
3551
|
// src/components/style-tab-collapsible-content.tsx
|
|
3487
|
-
import * as
|
|
3552
|
+
import * as React60 from "react";
|
|
3488
3553
|
import { isExperimentActive as isExperimentActive9 } from "@elementor/editor-v1-adapters";
|
|
3489
3554
|
|
|
3490
3555
|
// src/styles-inheritance/components/styles-inheritance-section-indicators.tsx
|
|
3491
|
-
import * as
|
|
3492
|
-
import {
|
|
3556
|
+
import * as React59 from "react";
|
|
3557
|
+
import { isElementsStylesProvider as isElementsStylesProvider3 } from "@elementor/editor-styles-repository";
|
|
3493
3558
|
import { Stack as Stack15, Tooltip as Tooltip7 } from "@elementor/ui";
|
|
3494
|
-
import { __ as
|
|
3495
|
-
var orderedVariants = ["global", "local", "overridden"];
|
|
3559
|
+
import { __ as __32 } from "@wordpress/i18n";
|
|
3496
3560
|
var StylesInheritanceSectionIndicators = ({ fields }) => {
|
|
3497
|
-
const { id, meta } = useStyle();
|
|
3561
|
+
const { id, meta, provider } = useStyle();
|
|
3498
3562
|
const snapshot = useStylesInheritanceSnapshot();
|
|
3499
3563
|
const snapshotFields = Object.fromEntries(
|
|
3500
3564
|
Object.entries(snapshot ?? {}).filter(([key]) => fields.includes(key))
|
|
3501
3565
|
);
|
|
3502
|
-
const
|
|
3503
|
-
if (
|
|
3566
|
+
const { hasValues, hasOverrides } = getIndicators(snapshotFields, id ?? "", meta);
|
|
3567
|
+
if (!hasValues && !hasOverrides) {
|
|
3504
3568
|
return null;
|
|
3505
3569
|
}
|
|
3506
|
-
const
|
|
3507
|
-
const
|
|
3508
|
-
return /* @__PURE__ */
|
|
3509
|
-
|
|
3510
|
-
|
|
3511
|
-
|
|
3512
|
-
|
|
3513
|
-
|
|
3514
|
-
|
|
3515
|
-
|
|
3516
|
-
|
|
3517
|
-
|
|
3518
|
-
|
|
3570
|
+
const hasValueLabel = __32("Has effective styles", "elementor");
|
|
3571
|
+
const hasOverridesLabel = __32("Has overridden styles", "elementor");
|
|
3572
|
+
return /* @__PURE__ */ React59.createElement(Tooltip7, { title: __32("Has styles", "elementor"), placement: "top" }, /* @__PURE__ */ React59.createElement(Stack15, { direction: "row", sx: { "& > *": { marginInlineStart: -0.25 } }, role: "list" }, hasValues && provider && /* @__PURE__ */ React59.createElement(
|
|
3573
|
+
StyleIndicator,
|
|
3574
|
+
{
|
|
3575
|
+
getColor: getStylesProviderThemeColor(provider.getKey()),
|
|
3576
|
+
"data-variant": isElementsStylesProvider3(provider.getKey()) ? "local" : "global",
|
|
3577
|
+
role: "listitem",
|
|
3578
|
+
"aria-label": hasValueLabel
|
|
3579
|
+
}
|
|
3580
|
+
), hasOverrides && /* @__PURE__ */ React59.createElement(
|
|
3581
|
+
StyleIndicator,
|
|
3582
|
+
{
|
|
3583
|
+
isOverridden: true,
|
|
3584
|
+
"data-variant": "overridden",
|
|
3585
|
+
role: "listitem",
|
|
3586
|
+
"aria-label": hasOverridesLabel
|
|
3587
|
+
}
|
|
3519
3588
|
)));
|
|
3520
3589
|
};
|
|
3521
3590
|
function getIndicators(snapshotFields, styleId, meta) {
|
|
3522
|
-
|
|
3591
|
+
let hasValues = false;
|
|
3592
|
+
let hasOverrides = false;
|
|
3523
3593
|
Object.values(snapshotFields).forEach((inheritanceChain) => {
|
|
3524
3594
|
const currentStyle = getCurrentStyleFromChain(inheritanceChain, styleId, meta);
|
|
3525
3595
|
if (!currentStyle) {
|
|
@@ -3527,19 +3597,12 @@ function getIndicators(snapshotFields, styleId, meta) {
|
|
|
3527
3597
|
}
|
|
3528
3598
|
const [actualStyle] = inheritanceChain;
|
|
3529
3599
|
if (currentStyle === actualStyle) {
|
|
3530
|
-
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
return;
|
|
3534
|
-
}
|
|
3535
|
-
if (providerKey !== ELEMENTS_BASE_STYLES_PROVIDER_KEY4) {
|
|
3536
|
-
indicators.global = true;
|
|
3537
|
-
}
|
|
3538
|
-
return;
|
|
3600
|
+
hasValues = true;
|
|
3601
|
+
} else {
|
|
3602
|
+
hasOverrides = true;
|
|
3539
3603
|
}
|
|
3540
|
-
indicators.overridden = true;
|
|
3541
3604
|
});
|
|
3542
|
-
return
|
|
3605
|
+
return { hasValues, hasOverrides };
|
|
3543
3606
|
}
|
|
3544
3607
|
function getCurrentStyleFromChain(chain, styleId, meta) {
|
|
3545
3608
|
return chain.find(
|
|
@@ -3554,54 +3617,41 @@ function getCurrentStyleFromChain(chain, styleId, meta) {
|
|
|
3554
3617
|
|
|
3555
3618
|
// src/components/style-tab-collapsible-content.tsx
|
|
3556
3619
|
var StyleTabCollapsibleContent = ({ fields = [], children }) => {
|
|
3557
|
-
return /* @__PURE__ */
|
|
3620
|
+
return /* @__PURE__ */ React60.createElement(CollapsibleContent, { titleEnd: getStylesInheritanceIndicators(fields) }, children);
|
|
3558
3621
|
};
|
|
3559
3622
|
function getStylesInheritanceIndicators(fields) {
|
|
3560
3623
|
const isUsingFieldsIndicators = isExperimentActive9(EXPERIMENTAL_FEATURES.V_3_30);
|
|
3561
3624
|
if (fields.length === 0 || !isUsingFieldsIndicators) {
|
|
3562
3625
|
return null;
|
|
3563
3626
|
}
|
|
3564
|
-
return (isOpen) => !isOpen ? /* @__PURE__ */
|
|
3627
|
+
return (isOpen) => !isOpen ? /* @__PURE__ */ React60.createElement(StylesInheritanceSectionIndicators, { fields }) : null;
|
|
3565
3628
|
}
|
|
3566
3629
|
|
|
3567
3630
|
// src/components/style-sections/size-section/object-fit-field.tsx
|
|
3568
|
-
import * as
|
|
3631
|
+
import * as React61 from "react";
|
|
3569
3632
|
import { SelectControl as SelectControl4 } from "@elementor/editor-controls";
|
|
3570
|
-
import { Grid as
|
|
3571
|
-
import { __ as
|
|
3633
|
+
import { Grid as Grid14 } from "@elementor/ui";
|
|
3634
|
+
import { __ as __33 } from "@wordpress/i18n";
|
|
3572
3635
|
var positionOptions2 = [
|
|
3573
|
-
{ label:
|
|
3574
|
-
{ label:
|
|
3575
|
-
{ label:
|
|
3576
|
-
{ label:
|
|
3577
|
-
{ label:
|
|
3636
|
+
{ label: __33("Fill", "elementor"), value: "fill" },
|
|
3637
|
+
{ label: __33("Cover", "elementor"), value: "cover" },
|
|
3638
|
+
{ label: __33("Contain", "elementor"), value: "contain" },
|
|
3639
|
+
{ label: __33("None", "elementor"), value: "none" },
|
|
3640
|
+
{ label: __33("Scale down", "elementor"), value: "scale-down" }
|
|
3578
3641
|
];
|
|
3579
3642
|
var ObjectFitField = () => {
|
|
3580
|
-
return /* @__PURE__ */
|
|
3643
|
+
return /* @__PURE__ */ React61.createElement(StylesField, { bind: "object-fit" }, /* @__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 fit", "elementor"))), /* @__PURE__ */ React61.createElement(Grid14, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React61.createElement(SelectControl4, { options: positionOptions2 }))));
|
|
3581
3644
|
};
|
|
3582
3645
|
|
|
3583
3646
|
// src/components/style-sections/size-section/object-position-field.tsx
|
|
3584
|
-
import * as
|
|
3585
|
-
import {
|
|
3586
|
-
import { Grid as Grid14 } from "@elementor/ui";
|
|
3587
|
-
import { __ as __33 } from "@wordpress/i18n";
|
|
3588
|
-
var positionOptions3 = [
|
|
3589
|
-
{ label: __33("Center center", "elementor"), value: "center center" },
|
|
3590
|
-
{ label: __33("Center left", "elementor"), value: "center left" },
|
|
3591
|
-
{ label: __33("Center right", "elementor"), value: "center right" },
|
|
3592
|
-
{ label: __33("Top center", "elementor"), value: "top center" },
|
|
3593
|
-
{ label: __33("Top left", "elementor"), value: "top left" },
|
|
3594
|
-
{ label: __33("Top right", "elementor"), value: "top right" },
|
|
3595
|
-
{ label: __33("Bottom center", "elementor"), value: "bottom center" },
|
|
3596
|
-
{ label: __33("Bottom left", "elementor"), value: "bottom left" },
|
|
3597
|
-
{ label: __33("Bottom right", "elementor"), value: "bottom right" }
|
|
3598
|
-
];
|
|
3647
|
+
import * as React62 from "react";
|
|
3648
|
+
import { PositionControl } from "@elementor/editor-controls";
|
|
3599
3649
|
var ObjectPositionField = () => {
|
|
3600
|
-
return /* @__PURE__ */
|
|
3650
|
+
return /* @__PURE__ */ React62.createElement(StylesField, { bind: "object-position" }, /* @__PURE__ */ React62.createElement(PositionControl, null));
|
|
3601
3651
|
};
|
|
3602
3652
|
|
|
3603
3653
|
// src/components/style-sections/size-section/overflow-field.tsx
|
|
3604
|
-
import * as
|
|
3654
|
+
import * as React63 from "react";
|
|
3605
3655
|
import { ToggleControl as ToggleControl8 } from "@elementor/editor-controls";
|
|
3606
3656
|
import { EyeIcon, EyeOffIcon, LetterAIcon } from "@elementor/icons";
|
|
3607
3657
|
import { Grid as Grid15 } from "@elementor/ui";
|
|
@@ -3610,91 +3660,113 @@ var options6 = [
|
|
|
3610
3660
|
{
|
|
3611
3661
|
value: "visible",
|
|
3612
3662
|
label: __34("Visible", "elementor"),
|
|
3613
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3663
|
+
renderContent: ({ size }) => /* @__PURE__ */ React63.createElement(EyeIcon, { fontSize: size }),
|
|
3614
3664
|
showTooltip: true
|
|
3615
3665
|
},
|
|
3616
3666
|
{
|
|
3617
3667
|
value: "hidden",
|
|
3618
3668
|
label: __34("Hidden", "elementor"),
|
|
3619
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3669
|
+
renderContent: ({ size }) => /* @__PURE__ */ React63.createElement(EyeOffIcon, { fontSize: size }),
|
|
3620
3670
|
showTooltip: true
|
|
3621
3671
|
},
|
|
3622
3672
|
{
|
|
3623
3673
|
value: "auto",
|
|
3624
3674
|
label: __34("Auto", "elementor"),
|
|
3625
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3675
|
+
renderContent: ({ size }) => /* @__PURE__ */ React63.createElement(LetterAIcon, { fontSize: size }),
|
|
3626
3676
|
showTooltip: true
|
|
3627
3677
|
}
|
|
3628
3678
|
];
|
|
3629
3679
|
var OverflowField = () => {
|
|
3630
|
-
return /* @__PURE__ */
|
|
3680
|
+
return /* @__PURE__ */ React63.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React63.createElement(Grid15, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React63.createElement(Grid15, { item: true, xs: 6 }, /* @__PURE__ */ React63.createElement(ControlLabel, null, __34("Overflow", "elementor"))), /* @__PURE__ */ React63.createElement(Grid15, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React63.createElement(ToggleControl8, { options: options6 }))));
|
|
3631
3681
|
};
|
|
3632
3682
|
|
|
3633
3683
|
// src/components/style-sections/size-section/size-section.tsx
|
|
3634
|
-
var
|
|
3635
|
-
|
|
3636
|
-
|
|
3637
|
-
const isVersion330Active = isExperimentActive10("e_v_3_30");
|
|
3638
|
-
return /* @__PURE__ */ React62.createElement(SectionContent, null, /* @__PURE__ */ React62.createElement(Grid16, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React62.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(SizeField, { bind: "width", label: __35("Width", "elementor"), extendedValues: ["auto"] })), /* @__PURE__ */ React62.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(SizeField, { bind: "height", label: __35("Height", "elementor"), extendedValues: ["auto"] }))), /* @__PURE__ */ React62.createElement(Grid16, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React62.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React62.createElement(
|
|
3639
|
-
SizeField,
|
|
3684
|
+
var EXPERIMENT_ID = "e_v_3_30";
|
|
3685
|
+
var CssSizeProps = [
|
|
3686
|
+
[
|
|
3640
3687
|
{
|
|
3641
|
-
bind: "
|
|
3642
|
-
label: __35("
|
|
3643
|
-
|
|
3688
|
+
bind: "width",
|
|
3689
|
+
label: __35("Width", "elementor")
|
|
3690
|
+
},
|
|
3691
|
+
{
|
|
3692
|
+
bind: "height",
|
|
3693
|
+
label: __35("Height", "elementor")
|
|
3644
3694
|
}
|
|
3645
|
-
|
|
3646
|
-
|
|
3695
|
+
],
|
|
3696
|
+
[
|
|
3697
|
+
{
|
|
3698
|
+
bind: "min-width",
|
|
3699
|
+
label: __35("Min width", "elementor")
|
|
3700
|
+
},
|
|
3647
3701
|
{
|
|
3648
3702
|
bind: "min-height",
|
|
3649
|
-
label: __35("Min height", "elementor")
|
|
3650
|
-
extendedValues: ["auto"]
|
|
3703
|
+
label: __35("Min height", "elementor")
|
|
3651
3704
|
}
|
|
3652
|
-
|
|
3705
|
+
],
|
|
3706
|
+
[
|
|
3707
|
+
{
|
|
3708
|
+
bind: "max-width",
|
|
3709
|
+
label: __35("Max width", "elementor")
|
|
3710
|
+
},
|
|
3711
|
+
{
|
|
3712
|
+
bind: "max-height",
|
|
3713
|
+
label: __35("Max height", "elementor")
|
|
3714
|
+
}
|
|
3715
|
+
]
|
|
3716
|
+
];
|
|
3717
|
+
var SizeSection = () => {
|
|
3718
|
+
const { value: fitValue } = useStylesField("object-fit");
|
|
3719
|
+
const isNotFill = fitValue && fitValue?.value !== "fill";
|
|
3720
|
+
const gridRowRefs = [useRef9(), useRef9(), useRef9()];
|
|
3721
|
+
const isVersion330Active = isExperimentActive10(EXPERIMENT_ID);
|
|
3722
|
+
return /* @__PURE__ */ React64.createElement(SectionContent, null, CssSizeProps.map((row, rowIndex) => /* @__PURE__ */ React64.createElement(Grid16, { key: rowIndex, container: true, gap: 2, flexWrap: "nowrap", ref: gridRowRefs[rowIndex] }, row.map((props) => /* @__PURE__ */ React64.createElement(Grid16, { item: true, xs: 6, key: props.bind }, /* @__PURE__ */ React64.createElement(SizeField, { ...props, rowRef: gridRowRefs[rowIndex], extendedOptions: ["auto"] }))))), /* @__PURE__ */ React64.createElement(PanelDivider, null), /* @__PURE__ */ React64.createElement(Stack16, null, /* @__PURE__ */ React64.createElement(OverflowField, null)), isVersion330Active && /* @__PURE__ */ React64.createElement(StyleTabCollapsibleContent, { fields: ["aspect-ratio", "object-fit"] }, /* @__PURE__ */ React64.createElement(Stack16, { gap: 2 }, /* @__PURE__ */ React64.createElement(StylesField, { bind: "aspect-ratio" }, /* @__PURE__ */ React64.createElement(AspectRatioControl, { label: __35("Aspect Ratio", "elementor") })), /* @__PURE__ */ React64.createElement(PanelDivider, null), /* @__PURE__ */ React64.createElement(ObjectFitField, null), isNotFill && /* @__PURE__ */ React64.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React64.createElement(ObjectPositionField, null)))));
|
|
3653
3723
|
};
|
|
3654
|
-
var SizeField = ({ label, bind,
|
|
3655
|
-
return /* @__PURE__ */
|
|
3724
|
+
var SizeField = ({ label, bind, rowRef, extendedOptions }) => {
|
|
3725
|
+
return /* @__PURE__ */ React64.createElement(StylesField, { bind }, /* @__PURE__ */ React64.createElement(Grid16, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React64.createElement(Grid16, { item: true, xs: 12 }, /* @__PURE__ */ React64.createElement(ControlLabel, null, label)), /* @__PURE__ */ React64.createElement(Grid16, { item: true, xs: 12 }, /* @__PURE__ */ React64.createElement(SizeControl6, { extendedOptions, anchorRef: rowRef }))));
|
|
3656
3726
|
};
|
|
3657
3727
|
|
|
3658
3728
|
// src/components/style-sections/spacing-section/spacing-section.tsx
|
|
3659
|
-
import * as
|
|
3729
|
+
import * as React65 from "react";
|
|
3660
3730
|
import { LinkedDimensionsControl } from "@elementor/editor-controls";
|
|
3661
3731
|
import { __ as __36 } from "@wordpress/i18n";
|
|
3662
3732
|
var SpacingSection = () => {
|
|
3663
3733
|
const { isSiteRtl } = useDirection();
|
|
3664
|
-
return /* @__PURE__ */
|
|
3734
|
+
return /* @__PURE__ */ React65.createElement(SectionContent, null, /* @__PURE__ */ React65.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React65.createElement(
|
|
3665
3735
|
LinkedDimensionsControl,
|
|
3666
3736
|
{
|
|
3667
3737
|
label: __36("Margin", "elementor"),
|
|
3668
3738
|
isSiteRtl,
|
|
3669
|
-
|
|
3739
|
+
extendedOptions: ["auto"]
|
|
3670
3740
|
}
|
|
3671
|
-
)), /* @__PURE__ */
|
|
3741
|
+
)), /* @__PURE__ */ React65.createElement(PanelDivider, null), /* @__PURE__ */ React65.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React65.createElement(LinkedDimensionsControl, { label: __36("Padding", "elementor"), isSiteRtl })));
|
|
3672
3742
|
};
|
|
3673
3743
|
|
|
3674
3744
|
// src/components/style-sections/typography-section/typography-section.tsx
|
|
3675
|
-
import * as
|
|
3745
|
+
import * as React81 from "react";
|
|
3676
3746
|
import { isExperimentActive as isExperimentActive11 } from "@elementor/editor-v1-adapters";
|
|
3677
3747
|
|
|
3678
3748
|
// src/components/style-sections/typography-section/column-count-field.tsx
|
|
3679
|
-
import * as
|
|
3749
|
+
import * as React66 from "react";
|
|
3680
3750
|
import { NumberControl as NumberControl4 } from "@elementor/editor-controls";
|
|
3681
3751
|
import { Grid as Grid17 } from "@elementor/ui";
|
|
3682
3752
|
import { __ as __37 } from "@wordpress/i18n";
|
|
3683
3753
|
var ColumnCountField = () => {
|
|
3684
|
-
return /* @__PURE__ */
|
|
3754
|
+
return /* @__PURE__ */ React66.createElement(StylesField, { bind: "column-count" }, /* @__PURE__ */ React66.createElement(Grid17, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React66.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React66.createElement(ControlLabel, null, __37("Columns", "elementor"))), /* @__PURE__ */ React66.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React66.createElement(NumberControl4, { shouldForceInt: true, min: 0, step: 1 }))));
|
|
3685
3755
|
};
|
|
3686
3756
|
|
|
3687
3757
|
// src/components/style-sections/typography-section/column-gap-field.tsx
|
|
3688
|
-
import * as
|
|
3689
|
-
import {
|
|
3758
|
+
import * as React67 from "react";
|
|
3759
|
+
import { useRef as useRef10 } from "react";
|
|
3760
|
+
import { SizeControl as SizeControl7 } from "@elementor/editor-controls";
|
|
3690
3761
|
import { Grid as Grid18 } from "@elementor/ui";
|
|
3691
3762
|
import { __ as __38 } from "@wordpress/i18n";
|
|
3692
3763
|
var ColumnGapField = () => {
|
|
3693
|
-
|
|
3764
|
+
const rowRef = useRef10();
|
|
3765
|
+
return /* @__PURE__ */ React67.createElement(StylesField, { bind: "column-gap" }, /* @__PURE__ */ React67.createElement(Grid18, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React67.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React67.createElement(ControlLabel, null, __38("Column gap", "elementor"))), /* @__PURE__ */ React67.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React67.createElement(SizeControl7, { anchorRef: rowRef }))));
|
|
3694
3766
|
};
|
|
3695
3767
|
|
|
3696
3768
|
// src/components/style-sections/typography-section/font-family-field.tsx
|
|
3697
|
-
import * as
|
|
3769
|
+
import * as React68 from "react";
|
|
3698
3770
|
import { FontFamilyControl } from "@elementor/editor-controls";
|
|
3699
3771
|
import { Grid as Grid19 } from "@elementor/ui";
|
|
3700
3772
|
import { __ as __40 } from "@wordpress/i18n";
|
|
@@ -3742,20 +3814,22 @@ var FontFamilyField = () => {
|
|
|
3742
3814
|
if (fontFamilies.length === 0) {
|
|
3743
3815
|
return null;
|
|
3744
3816
|
}
|
|
3745
|
-
return /* @__PURE__ */
|
|
3817
|
+
return /* @__PURE__ */ React68.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React68.createElement(Grid19, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React68.createElement(Grid19, { item: true, xs: 6 }, /* @__PURE__ */ React68.createElement(ControlLabel, null, __40("Font family", "elementor"))), /* @__PURE__ */ React68.createElement(Grid19, { item: true, xs: 6, sx: { minWidth: 0 } }, /* @__PURE__ */ React68.createElement(FontFamilyControl, { fontFamilies }))));
|
|
3746
3818
|
};
|
|
3747
3819
|
|
|
3748
3820
|
// src/components/style-sections/typography-section/font-size-field.tsx
|
|
3749
|
-
import * as
|
|
3750
|
-
import {
|
|
3821
|
+
import * as React69 from "react";
|
|
3822
|
+
import { useRef as useRef11 } from "react";
|
|
3823
|
+
import { SizeControl as SizeControl8 } from "@elementor/editor-controls";
|
|
3751
3824
|
import { Grid as Grid20 } from "@elementor/ui";
|
|
3752
3825
|
import { __ as __41 } from "@wordpress/i18n";
|
|
3753
3826
|
var FontSizeField = () => {
|
|
3754
|
-
|
|
3827
|
+
const rowRef = useRef11();
|
|
3828
|
+
return /* @__PURE__ */ React69.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React69.createElement(Grid20, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React69.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React69.createElement(ControlLabel, null, __41("Font size", "elementor"))), /* @__PURE__ */ React69.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React69.createElement(SizeControl8, { anchorRef: rowRef }))));
|
|
3755
3829
|
};
|
|
3756
3830
|
|
|
3757
3831
|
// src/components/style-sections/typography-section/font-style-field.tsx
|
|
3758
|
-
import * as
|
|
3832
|
+
import * as React70 from "react";
|
|
3759
3833
|
import { ControlFormLabel as ControlFormLabel5, ToggleControl as ToggleControl9 } from "@elementor/editor-controls";
|
|
3760
3834
|
import { ItalicIcon, MinusIcon as MinusIcon2 } from "@elementor/icons";
|
|
3761
3835
|
import { Grid as Grid21 } from "@elementor/ui";
|
|
@@ -3764,21 +3838,21 @@ var options7 = [
|
|
|
3764
3838
|
{
|
|
3765
3839
|
value: "normal",
|
|
3766
3840
|
label: __42("Normal", "elementor"),
|
|
3767
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3841
|
+
renderContent: ({ size }) => /* @__PURE__ */ React70.createElement(MinusIcon2, { fontSize: size }),
|
|
3768
3842
|
showTooltip: true
|
|
3769
3843
|
},
|
|
3770
3844
|
{
|
|
3771
3845
|
value: "italic",
|
|
3772
3846
|
label: __42("Italic", "elementor"),
|
|
3773
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3847
|
+
renderContent: ({ size }) => /* @__PURE__ */ React70.createElement(ItalicIcon, { fontSize: size }),
|
|
3774
3848
|
showTooltip: true
|
|
3775
3849
|
}
|
|
3776
3850
|
];
|
|
3777
|
-
var FontStyleField = () => /* @__PURE__ */
|
|
3851
|
+
var FontStyleField = () => /* @__PURE__ */ React70.createElement(StylesField, { bind: "font-style" }, /* @__PURE__ */ React70.createElement(Grid21, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React70.createElement(Grid21, { item: true, xs: 6 }, /* @__PURE__ */ React70.createElement(ControlFormLabel5, null, __42("Font style", "elementor"))), /* @__PURE__ */ React70.createElement(Grid21, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React70.createElement(ToggleControl9, { options: options7 }))));
|
|
3778
3852
|
|
|
3779
3853
|
// src/components/style-sections/typography-section/font-weight-field.tsx
|
|
3780
|
-
import * as
|
|
3781
|
-
import { SelectControl as
|
|
3854
|
+
import * as React71 from "react";
|
|
3855
|
+
import { SelectControl as SelectControl5 } from "@elementor/editor-controls";
|
|
3782
3856
|
import { Grid as Grid22 } from "@elementor/ui";
|
|
3783
3857
|
import { __ as __43 } from "@wordpress/i18n";
|
|
3784
3858
|
var fontWeightOptions = [
|
|
@@ -3793,29 +3867,33 @@ var fontWeightOptions = [
|
|
|
3793
3867
|
{ value: "900", label: __43("900 - Black", "elementor") }
|
|
3794
3868
|
];
|
|
3795
3869
|
var FontWeightField = () => {
|
|
3796
|
-
return /* @__PURE__ */
|
|
3870
|
+
return /* @__PURE__ */ React71.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React71.createElement(Grid22, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React71.createElement(Grid22, { item: true, xs: 6 }, /* @__PURE__ */ React71.createElement(ControlLabel, null, __43("Font weight", "elementor"))), /* @__PURE__ */ React71.createElement(Grid22, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React71.createElement(SelectControl5, { options: fontWeightOptions }))));
|
|
3797
3871
|
};
|
|
3798
3872
|
|
|
3799
3873
|
// src/components/style-sections/typography-section/letter-spacing-field.tsx
|
|
3800
|
-
import * as
|
|
3801
|
-
import {
|
|
3874
|
+
import * as React72 from "react";
|
|
3875
|
+
import { useRef as useRef12 } from "react";
|
|
3876
|
+
import { SizeControl as SizeControl9 } from "@elementor/editor-controls";
|
|
3802
3877
|
import { Grid as Grid23 } from "@elementor/ui";
|
|
3803
3878
|
import { __ as __44 } from "@wordpress/i18n";
|
|
3804
3879
|
var LetterSpacingField = () => {
|
|
3805
|
-
|
|
3880
|
+
const rowRef = useRef12();
|
|
3881
|
+
return /* @__PURE__ */ React72.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React72.createElement(Grid23, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React72.createElement(Grid23, { item: true, xs: 6 }, /* @__PURE__ */ React72.createElement(ControlLabel, null, __44("Letter spacing", "elementor"))), /* @__PURE__ */ React72.createElement(Grid23, { item: true, xs: 6 }, /* @__PURE__ */ React72.createElement(SizeControl9, { anchorRef: rowRef }))));
|
|
3806
3882
|
};
|
|
3807
3883
|
|
|
3808
3884
|
// src/components/style-sections/typography-section/line-height-field.tsx
|
|
3809
|
-
import * as
|
|
3810
|
-
import {
|
|
3885
|
+
import * as React73 from "react";
|
|
3886
|
+
import { useRef as useRef13 } from "react";
|
|
3887
|
+
import { SizeControl as SizeControl10 } from "@elementor/editor-controls";
|
|
3811
3888
|
import { Grid as Grid24 } from "@elementor/ui";
|
|
3812
3889
|
import { __ as __45 } from "@wordpress/i18n";
|
|
3813
3890
|
var LineHeightField = () => {
|
|
3814
|
-
|
|
3891
|
+
const rowRef = useRef13();
|
|
3892
|
+
return /* @__PURE__ */ React73.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React73.createElement(Grid24, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React73.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React73.createElement(ControlLabel, null, __45("Line height", "elementor"))), /* @__PURE__ */ React73.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React73.createElement(SizeControl10, { anchorRef: rowRef }))));
|
|
3815
3893
|
};
|
|
3816
3894
|
|
|
3817
3895
|
// src/components/style-sections/typography-section/text-alignment-field.tsx
|
|
3818
|
-
import * as
|
|
3896
|
+
import * as React74 from "react";
|
|
3819
3897
|
import { ToggleControl as ToggleControl10 } from "@elementor/editor-controls";
|
|
3820
3898
|
import { AlignCenterIcon, AlignJustifiedIcon, AlignLeftIcon, AlignRightIcon } from "@elementor/icons";
|
|
3821
3899
|
import { Grid as Grid25, withDirection as withDirection9 } from "@elementor/ui";
|
|
@@ -3826,43 +3904,43 @@ var options8 = [
|
|
|
3826
3904
|
{
|
|
3827
3905
|
value: "start",
|
|
3828
3906
|
label: __46("Start", "elementor"),
|
|
3829
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3907
|
+
renderContent: ({ size }) => /* @__PURE__ */ React74.createElement(AlignStartIcon, { fontSize: size }),
|
|
3830
3908
|
showTooltip: true
|
|
3831
3909
|
},
|
|
3832
3910
|
{
|
|
3833
3911
|
value: "center",
|
|
3834
3912
|
label: __46("Center", "elementor"),
|
|
3835
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3913
|
+
renderContent: ({ size }) => /* @__PURE__ */ React74.createElement(AlignCenterIcon, { fontSize: size }),
|
|
3836
3914
|
showTooltip: true
|
|
3837
3915
|
},
|
|
3838
3916
|
{
|
|
3839
3917
|
value: "end",
|
|
3840
3918
|
label: __46("End", "elementor"),
|
|
3841
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3919
|
+
renderContent: ({ size }) => /* @__PURE__ */ React74.createElement(AlignEndIcon, { fontSize: size }),
|
|
3842
3920
|
showTooltip: true
|
|
3843
3921
|
},
|
|
3844
3922
|
{
|
|
3845
3923
|
value: "justify",
|
|
3846
3924
|
label: __46("Justify", "elementor"),
|
|
3847
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3925
|
+
renderContent: ({ size }) => /* @__PURE__ */ React74.createElement(AlignJustifiedIcon, { fontSize: size }),
|
|
3848
3926
|
showTooltip: true
|
|
3849
3927
|
}
|
|
3850
3928
|
];
|
|
3851
3929
|
var TextAlignmentField = () => {
|
|
3852
|
-
return /* @__PURE__ */
|
|
3930
|
+
return /* @__PURE__ */ React74.createElement(UiProviders, null, /* @__PURE__ */ React74.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React74.createElement(Grid25, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React74.createElement(Grid25, { item: true, xs: 6 }, /* @__PURE__ */ React74.createElement(ControlLabel, null, __46("Text align", "elementor"))), /* @__PURE__ */ React74.createElement(Grid25, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React74.createElement(ToggleControl10, { options: options8 })))));
|
|
3853
3931
|
};
|
|
3854
3932
|
|
|
3855
3933
|
// src/components/style-sections/typography-section/text-color-field.tsx
|
|
3856
|
-
import * as
|
|
3934
|
+
import * as React75 from "react";
|
|
3857
3935
|
import { ColorControl as ColorControl2 } from "@elementor/editor-controls";
|
|
3858
3936
|
import { Grid as Grid26 } from "@elementor/ui";
|
|
3859
3937
|
import { __ as __47 } from "@wordpress/i18n";
|
|
3860
3938
|
var TextColorField = () => {
|
|
3861
|
-
return /* @__PURE__ */
|
|
3939
|
+
return /* @__PURE__ */ React75.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React75.createElement(Grid26, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React75.createElement(Grid26, { item: true, xs: 6 }, /* @__PURE__ */ React75.createElement(ControlLabel, null, __47("Text color", "elementor"))), /* @__PURE__ */ React75.createElement(Grid26, { item: true, xs: 6 }, /* @__PURE__ */ React75.createElement(ColorControl2, null))));
|
|
3862
3940
|
};
|
|
3863
3941
|
|
|
3864
3942
|
// src/components/style-sections/typography-section/text-decoration-field.tsx
|
|
3865
|
-
import * as
|
|
3943
|
+
import * as React76 from "react";
|
|
3866
3944
|
import { ToggleControl as ToggleControl11 } from "@elementor/editor-controls";
|
|
3867
3945
|
import { MinusIcon as MinusIcon3, OverlineIcon, StrikethroughIcon, UnderlineIcon } from "@elementor/icons";
|
|
3868
3946
|
import { Grid as Grid27 } from "@elementor/ui";
|
|
@@ -3871,33 +3949,33 @@ var options9 = [
|
|
|
3871
3949
|
{
|
|
3872
3950
|
value: "none",
|
|
3873
3951
|
label: __48("None", "elementor"),
|
|
3874
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3952
|
+
renderContent: ({ size }) => /* @__PURE__ */ React76.createElement(MinusIcon3, { fontSize: size }),
|
|
3875
3953
|
showTooltip: true,
|
|
3876
3954
|
exclusive: true
|
|
3877
3955
|
},
|
|
3878
3956
|
{
|
|
3879
3957
|
value: "underline",
|
|
3880
3958
|
label: __48("Underline", "elementor"),
|
|
3881
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3959
|
+
renderContent: ({ size }) => /* @__PURE__ */ React76.createElement(UnderlineIcon, { fontSize: size }),
|
|
3882
3960
|
showTooltip: true
|
|
3883
3961
|
},
|
|
3884
3962
|
{
|
|
3885
3963
|
value: "line-through",
|
|
3886
3964
|
label: __48("Line-through", "elementor"),
|
|
3887
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3965
|
+
renderContent: ({ size }) => /* @__PURE__ */ React76.createElement(StrikethroughIcon, { fontSize: size }),
|
|
3888
3966
|
showTooltip: true
|
|
3889
3967
|
},
|
|
3890
3968
|
{
|
|
3891
3969
|
value: "overline",
|
|
3892
3970
|
label: __48("Overline", "elementor"),
|
|
3893
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3971
|
+
renderContent: ({ size }) => /* @__PURE__ */ React76.createElement(OverlineIcon, { fontSize: size }),
|
|
3894
3972
|
showTooltip: true
|
|
3895
3973
|
}
|
|
3896
3974
|
];
|
|
3897
|
-
var TextDecorationField = () => /* @__PURE__ */
|
|
3975
|
+
var TextDecorationField = () => /* @__PURE__ */ React76.createElement(StylesField, { bind: "text-decoration" }, /* @__PURE__ */ React76.createElement(Grid27, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React76.createElement(Grid27, { item: true, xs: 6 }, /* @__PURE__ */ React76.createElement(ControlLabel, null, __48("Line decoration", "elementor"))), /* @__PURE__ */ React76.createElement(Grid27, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React76.createElement(ToggleControl11, { options: options9, exclusive: false }))));
|
|
3898
3976
|
|
|
3899
3977
|
// src/components/style-sections/typography-section/text-direction-field.tsx
|
|
3900
|
-
import * as
|
|
3978
|
+
import * as React77 from "react";
|
|
3901
3979
|
import { ToggleControl as ToggleControl12 } from "@elementor/editor-controls";
|
|
3902
3980
|
import { TextDirectionLtrIcon, TextDirectionRtlIcon } from "@elementor/icons";
|
|
3903
3981
|
import { Grid as Grid28 } from "@elementor/ui";
|
|
@@ -3906,22 +3984,22 @@ var options10 = [
|
|
|
3906
3984
|
{
|
|
3907
3985
|
value: "ltr",
|
|
3908
3986
|
label: __49("Left to right", "elementor"),
|
|
3909
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3987
|
+
renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(TextDirectionLtrIcon, { fontSize: size }),
|
|
3910
3988
|
showTooltip: true
|
|
3911
3989
|
},
|
|
3912
3990
|
{
|
|
3913
3991
|
value: "rtl",
|
|
3914
3992
|
label: __49("Right to left", "elementor"),
|
|
3915
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3993
|
+
renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(TextDirectionRtlIcon, { fontSize: size }),
|
|
3916
3994
|
showTooltip: true
|
|
3917
3995
|
}
|
|
3918
3996
|
];
|
|
3919
3997
|
var TextDirectionField = () => {
|
|
3920
|
-
return /* @__PURE__ */
|
|
3998
|
+
return /* @__PURE__ */ React77.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React77.createElement(Grid28, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React77.createElement(Grid28, { item: true, xs: 6 }, /* @__PURE__ */ React77.createElement(ControlLabel, null, __49("Direction", "elementor"))), /* @__PURE__ */ React77.createElement(Grid28, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React77.createElement(ToggleControl12, { options: options10 }))));
|
|
3921
3999
|
};
|
|
3922
4000
|
|
|
3923
4001
|
// src/components/style-sections/typography-section/text-stroke-field.tsx
|
|
3924
|
-
import * as
|
|
4002
|
+
import * as React78 from "react";
|
|
3925
4003
|
import { StrokeControl } from "@elementor/editor-controls";
|
|
3926
4004
|
import { __ as __50 } from "@wordpress/i18n";
|
|
3927
4005
|
var initTextStroke = {
|
|
@@ -3941,30 +4019,29 @@ var initTextStroke = {
|
|
|
3941
4019
|
}
|
|
3942
4020
|
};
|
|
3943
4021
|
var TextStrokeField = () => {
|
|
3944
|
-
const { canEdit } =
|
|
3945
|
-
const [textStroke, setTextStroke] = useStylesField("stroke");
|
|
4022
|
+
const { value, setValue, canEdit } = useStylesField("stroke");
|
|
3946
4023
|
const addTextStroke = () => {
|
|
3947
|
-
|
|
4024
|
+
setValue(initTextStroke);
|
|
3948
4025
|
};
|
|
3949
4026
|
const removeTextStroke = () => {
|
|
3950
|
-
|
|
4027
|
+
setValue(null);
|
|
3951
4028
|
};
|
|
3952
|
-
const hasTextStroke = Boolean(
|
|
3953
|
-
return /* @__PURE__ */
|
|
4029
|
+
const hasTextStroke = Boolean(value);
|
|
4030
|
+
return /* @__PURE__ */ React78.createElement(StylesField, { bind: "stroke" }, /* @__PURE__ */ React78.createElement(
|
|
3954
4031
|
AddOrRemoveContent,
|
|
3955
4032
|
{
|
|
3956
4033
|
isAdded: hasTextStroke,
|
|
3957
4034
|
onAdd: addTextStroke,
|
|
3958
4035
|
onRemove: removeTextStroke,
|
|
3959
4036
|
disabled: !canEdit,
|
|
3960
|
-
renderLabel: () => /* @__PURE__ */
|
|
4037
|
+
renderLabel: () => /* @__PURE__ */ React78.createElement(ControlLabel, null, __50("Text stroke", "elementor"))
|
|
3961
4038
|
},
|
|
3962
|
-
/* @__PURE__ */
|
|
4039
|
+
/* @__PURE__ */ React78.createElement(StrokeControl, null)
|
|
3963
4040
|
));
|
|
3964
4041
|
};
|
|
3965
4042
|
|
|
3966
4043
|
// src/components/style-sections/typography-section/transform-field.tsx
|
|
3967
|
-
import * as
|
|
4044
|
+
import * as React79 from "react";
|
|
3968
4045
|
import { ToggleControl as ToggleControl13 } from "@elementor/editor-controls";
|
|
3969
4046
|
import { LetterCaseIcon, LetterCaseLowerIcon, LetterCaseUpperIcon, MinusIcon as MinusIcon4 } from "@elementor/icons";
|
|
3970
4047
|
import { Grid as Grid29 } from "@elementor/ui";
|
|
@@ -3973,45 +4050,47 @@ var options11 = [
|
|
|
3973
4050
|
{
|
|
3974
4051
|
value: "none",
|
|
3975
4052
|
label: __51("None", "elementor"),
|
|
3976
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4053
|
+
renderContent: ({ size }) => /* @__PURE__ */ React79.createElement(MinusIcon4, { fontSize: size }),
|
|
3977
4054
|
showTooltip: true
|
|
3978
4055
|
},
|
|
3979
4056
|
{
|
|
3980
4057
|
value: "capitalize",
|
|
3981
4058
|
label: __51("Capitalize", "elementor"),
|
|
3982
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4059
|
+
renderContent: ({ size }) => /* @__PURE__ */ React79.createElement(LetterCaseIcon, { fontSize: size }),
|
|
3983
4060
|
showTooltip: true
|
|
3984
4061
|
},
|
|
3985
4062
|
{
|
|
3986
4063
|
value: "uppercase",
|
|
3987
4064
|
label: __51("Uppercase", "elementor"),
|
|
3988
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4065
|
+
renderContent: ({ size }) => /* @__PURE__ */ React79.createElement(LetterCaseUpperIcon, { fontSize: size }),
|
|
3989
4066
|
showTooltip: true
|
|
3990
4067
|
},
|
|
3991
4068
|
{
|
|
3992
4069
|
value: "lowercase",
|
|
3993
4070
|
label: __51("Lowercase", "elementor"),
|
|
3994
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4071
|
+
renderContent: ({ size }) => /* @__PURE__ */ React79.createElement(LetterCaseLowerIcon, { fontSize: size }),
|
|
3995
4072
|
showTooltip: true
|
|
3996
4073
|
}
|
|
3997
4074
|
];
|
|
3998
|
-
var TransformField = () => /* @__PURE__ */
|
|
4075
|
+
var TransformField = () => /* @__PURE__ */ React79.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React79.createElement(Grid29, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React79.createElement(Grid29, { item: true, xs: 6 }, /* @__PURE__ */ React79.createElement(ControlLabel, null, __51("Text transform", "elementor"))), /* @__PURE__ */ React79.createElement(Grid29, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React79.createElement(ToggleControl13, { options: options11 }))));
|
|
3999
4076
|
|
|
4000
4077
|
// src/components/style-sections/typography-section/word-spacing-field.tsx
|
|
4001
|
-
import * as
|
|
4002
|
-
import {
|
|
4078
|
+
import * as React80 from "react";
|
|
4079
|
+
import { useRef as useRef14 } from "react";
|
|
4080
|
+
import { SizeControl as SizeControl11 } from "@elementor/editor-controls";
|
|
4003
4081
|
import { Grid as Grid30 } from "@elementor/ui";
|
|
4004
4082
|
import { __ as __52 } from "@wordpress/i18n";
|
|
4005
4083
|
var WordSpacingField = () => {
|
|
4006
|
-
|
|
4084
|
+
const rowRef = useRef14();
|
|
4085
|
+
return /* @__PURE__ */ React80.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React80.createElement(Grid30, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref: rowRef }, /* @__PURE__ */ React80.createElement(Grid30, { item: true, xs: 6 }, /* @__PURE__ */ React80.createElement(ControlLabel, null, __52("Word spacing", "elementor"))), /* @__PURE__ */ React80.createElement(Grid30, { item: true, xs: 6 }, /* @__PURE__ */ React80.createElement(SizeControl11, { anchorRef: rowRef }))));
|
|
4007
4086
|
};
|
|
4008
4087
|
|
|
4009
4088
|
// src/components/style-sections/typography-section/typography-section.tsx
|
|
4010
4089
|
var TypographySection = () => {
|
|
4011
|
-
const
|
|
4012
|
-
const isVersion330Active = isExperimentActive11("e_v_3_30");
|
|
4090
|
+
const { value: columnCount } = useStylesField("column-count");
|
|
4013
4091
|
const hasMultiColumns = !!(columnCount?.value && columnCount?.value > 1);
|
|
4014
|
-
|
|
4092
|
+
const isVersion330Active = isExperimentActive11("e_v_3_30");
|
|
4093
|
+
return /* @__PURE__ */ React81.createElement(SectionContent, null, /* @__PURE__ */ React81.createElement(FontFamilyField, null), /* @__PURE__ */ React81.createElement(FontWeightField, null), /* @__PURE__ */ React81.createElement(FontSizeField, null), /* @__PURE__ */ React81.createElement(PanelDivider, null), /* @__PURE__ */ React81.createElement(TextAlignmentField, null), /* @__PURE__ */ React81.createElement(TextColorField, null), /* @__PURE__ */ React81.createElement(
|
|
4015
4094
|
StyleTabCollapsibleContent,
|
|
4016
4095
|
{
|
|
4017
4096
|
fields: [
|
|
@@ -4026,19 +4105,19 @@ var TypographySection = () => {
|
|
|
4026
4105
|
"stroke"
|
|
4027
4106
|
]
|
|
4028
4107
|
},
|
|
4029
|
-
/* @__PURE__ */
|
|
4108
|
+
/* @__PURE__ */ React81.createElement(SectionContent, { sx: { pt: 2 } }, /* @__PURE__ */ React81.createElement(LineHeightField, null), /* @__PURE__ */ React81.createElement(LetterSpacingField, null), /* @__PURE__ */ React81.createElement(WordSpacingField, null), isVersion330Active && /* @__PURE__ */ React81.createElement(React81.Fragment, null, /* @__PURE__ */ React81.createElement(ColumnCountField, null), hasMultiColumns && /* @__PURE__ */ React81.createElement(ColumnGapField, null)), /* @__PURE__ */ React81.createElement(PanelDivider, null), /* @__PURE__ */ React81.createElement(TextDecorationField, null), /* @__PURE__ */ React81.createElement(TransformField, null), /* @__PURE__ */ React81.createElement(TextDirectionField, null), /* @__PURE__ */ React81.createElement(FontStyleField, null), /* @__PURE__ */ React81.createElement(TextStrokeField, null))
|
|
4030
4109
|
));
|
|
4031
4110
|
};
|
|
4032
4111
|
|
|
4033
4112
|
// src/components/style-tab-section.tsx
|
|
4034
|
-
import * as
|
|
4113
|
+
import * as React82 from "react";
|
|
4035
4114
|
import { isExperimentActive as isExperimentActive12 } from "@elementor/editor-v1-adapters";
|
|
4036
4115
|
var StyleTabSection = ({ section, fields = [] }) => {
|
|
4037
4116
|
const { component, name, title } = section;
|
|
4038
4117
|
const tabDefaults = useDefaultPanelSettings();
|
|
4039
4118
|
const SectionComponent = component;
|
|
4040
4119
|
const isExpanded = isExperimentActive12(EXPERIMENTAL_FEATURES.V_3_30) ? tabDefaults.defaultSectionsExpanded.style?.includes(name) : false;
|
|
4041
|
-
return /* @__PURE__ */
|
|
4120
|
+
return /* @__PURE__ */ React82.createElement(Section, { title, defaultExpanded: isExpanded, titleEnd: getStylesInheritanceIndicators(fields) }, /* @__PURE__ */ React82.createElement(SectionComponent, null));
|
|
4042
4121
|
};
|
|
4043
4122
|
|
|
4044
4123
|
// src/components/style-tab.tsx
|
|
@@ -4055,7 +4134,7 @@ var StyleTab = () => {
|
|
|
4055
4134
|
const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
|
|
4056
4135
|
const [activeStyleState, setActiveStyleState] = useState12(null);
|
|
4057
4136
|
const breakpoint = useActiveBreakpoint();
|
|
4058
|
-
return /* @__PURE__ */
|
|
4137
|
+
return /* @__PURE__ */ React83.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React83.createElement(
|
|
4059
4138
|
StyleProvider,
|
|
4060
4139
|
{
|
|
4061
4140
|
meta: { breakpoint, state: activeStyleState },
|
|
@@ -4066,7 +4145,7 @@ var StyleTab = () => {
|
|
|
4066
4145
|
},
|
|
4067
4146
|
setMetaState: setActiveStyleState
|
|
4068
4147
|
},
|
|
4069
|
-
/* @__PURE__ */
|
|
4148
|
+
/* @__PURE__ */ React83.createElement(SessionStorageProvider2, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React83.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React83.createElement(ClassesHeader, null, /* @__PURE__ */ React83.createElement(CssClassSelector, null), /* @__PURE__ */ React83.createElement(Divider5, null)), /* @__PURE__ */ React83.createElement(SectionsList, null, /* @__PURE__ */ React83.createElement(
|
|
4070
4149
|
StyleTabSection,
|
|
4071
4150
|
{
|
|
4072
4151
|
section: {
|
|
@@ -4085,7 +4164,7 @@ var StyleTab = () => {
|
|
|
4085
4164
|
"gap"
|
|
4086
4165
|
]
|
|
4087
4166
|
}
|
|
4088
|
-
), /* @__PURE__ */
|
|
4167
|
+
), /* @__PURE__ */ React83.createElement(
|
|
4089
4168
|
StyleTabSection,
|
|
4090
4169
|
{
|
|
4091
4170
|
section: {
|
|
@@ -4095,7 +4174,7 @@ var StyleTab = () => {
|
|
|
4095
4174
|
},
|
|
4096
4175
|
fields: ["margin", "padding"]
|
|
4097
4176
|
}
|
|
4098
|
-
), /* @__PURE__ */
|
|
4177
|
+
), /* @__PURE__ */ React83.createElement(
|
|
4099
4178
|
StyleTabSection,
|
|
4100
4179
|
{
|
|
4101
4180
|
section: {
|
|
@@ -4115,7 +4194,7 @@ var StyleTab = () => {
|
|
|
4115
4194
|
"object-fit"
|
|
4116
4195
|
]
|
|
4117
4196
|
}
|
|
4118
|
-
), /* @__PURE__ */
|
|
4197
|
+
), /* @__PURE__ */ React83.createElement(
|
|
4119
4198
|
StyleTabSection,
|
|
4120
4199
|
{
|
|
4121
4200
|
section: {
|
|
@@ -4125,7 +4204,7 @@ var StyleTab = () => {
|
|
|
4125
4204
|
},
|
|
4126
4205
|
fields: ["position", "z-index", "scroll-margin-top"]
|
|
4127
4206
|
}
|
|
4128
|
-
), /* @__PURE__ */
|
|
4207
|
+
), /* @__PURE__ */ React83.createElement(
|
|
4129
4208
|
StyleTabSection,
|
|
4130
4209
|
{
|
|
4131
4210
|
section: {
|
|
@@ -4150,7 +4229,7 @@ var StyleTab = () => {
|
|
|
4150
4229
|
"stroke"
|
|
4151
4230
|
]
|
|
4152
4231
|
}
|
|
4153
|
-
), /* @__PURE__ */
|
|
4232
|
+
), /* @__PURE__ */ React83.createElement(
|
|
4154
4233
|
StyleTabSection,
|
|
4155
4234
|
{
|
|
4156
4235
|
section: {
|
|
@@ -4160,7 +4239,7 @@ var StyleTab = () => {
|
|
|
4160
4239
|
},
|
|
4161
4240
|
fields: ["background"]
|
|
4162
4241
|
}
|
|
4163
|
-
), /* @__PURE__ */
|
|
4242
|
+
), /* @__PURE__ */ React83.createElement(
|
|
4164
4243
|
StyleTabSection,
|
|
4165
4244
|
{
|
|
4166
4245
|
section: {
|
|
@@ -4170,7 +4249,7 @@ var StyleTab = () => {
|
|
|
4170
4249
|
},
|
|
4171
4250
|
fields: ["border-radius", "border-width", "border-color", "border-style"]
|
|
4172
4251
|
}
|
|
4173
|
-
), /* @__PURE__ */
|
|
4252
|
+
), /* @__PURE__ */ React83.createElement(
|
|
4174
4253
|
StyleTabSection,
|
|
4175
4254
|
{
|
|
4176
4255
|
section: {
|
|
@@ -4185,7 +4264,7 @@ var StyleTab = () => {
|
|
|
4185
4264
|
};
|
|
4186
4265
|
function ClassesHeader({ children }) {
|
|
4187
4266
|
const scrollDirection = useScrollDirection();
|
|
4188
|
-
return /* @__PURE__ */
|
|
4267
|
+
return /* @__PURE__ */ React83.createElement(Stack17, { sx: { ...stickyHeaderStyles, top: scrollDirection === "up" ? TABS_HEADER_HEIGHT : 0 } }, children);
|
|
4189
4268
|
}
|
|
4190
4269
|
function useCurrentClassesProp() {
|
|
4191
4270
|
const { elementType } = useElement();
|
|
@@ -4204,7 +4283,7 @@ var EditingPanelTabs = () => {
|
|
|
4204
4283
|
return (
|
|
4205
4284
|
// When switching between elements, the local states should be reset. We are using key to rerender the tabs.
|
|
4206
4285
|
// Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
|
|
4207
|
-
/* @__PURE__ */
|
|
4286
|
+
/* @__PURE__ */ React84.createElement(Fragment9, { key: element.id }, /* @__PURE__ */ React84.createElement(PanelTabContent, null))
|
|
4208
4287
|
);
|
|
4209
4288
|
};
|
|
4210
4289
|
var PanelTabContent = () => {
|
|
@@ -4212,7 +4291,7 @@ var PanelTabContent = () => {
|
|
|
4212
4291
|
const defaultComponentTab = isExperimentActive13(EXPERIMENTAL_FEATURES.V_3_30) ? editorDefaults.defaultTab : "settings";
|
|
4213
4292
|
const [currentTab, setCurrentTab] = useStateByElement("tab", defaultComponentTab);
|
|
4214
4293
|
const { getTabProps, getTabPanelProps, getTabsProps } = useTabs(currentTab);
|
|
4215
|
-
return /* @__PURE__ */
|
|
4294
|
+
return /* @__PURE__ */ React84.createElement(ScrollProvider, null, /* @__PURE__ */ React84.createElement(Stack18, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React84.createElement(Stack18, { sx: { ...stickyHeaderStyles, top: 0 } }, /* @__PURE__ */ React84.createElement(
|
|
4216
4295
|
Tabs,
|
|
4217
4296
|
{
|
|
4218
4297
|
variant: "fullWidth",
|
|
@@ -4224,9 +4303,9 @@ var PanelTabContent = () => {
|
|
|
4224
4303
|
setCurrentTab(newValue);
|
|
4225
4304
|
}
|
|
4226
4305
|
},
|
|
4227
|
-
/* @__PURE__ */
|
|
4228
|
-
/* @__PURE__ */
|
|
4229
|
-
), /* @__PURE__ */
|
|
4306
|
+
/* @__PURE__ */ React84.createElement(Tab, { label: __54("General", "elementor"), ...getTabProps("settings") }),
|
|
4307
|
+
/* @__PURE__ */ React84.createElement(Tab, { label: __54("Style", "elementor"), ...getTabProps("style") })
|
|
4308
|
+
), /* @__PURE__ */ React84.createElement(Divider6, null)), /* @__PURE__ */ React84.createElement(TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React84.createElement(SettingsTab, null)), /* @__PURE__ */ React84.createElement(TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React84.createElement(StyleTab, null))));
|
|
4230
4309
|
};
|
|
4231
4310
|
|
|
4232
4311
|
// src/components/editing-panel.tsx
|
|
@@ -4239,7 +4318,7 @@ var EditingPanel = () => {
|
|
|
4239
4318
|
return null;
|
|
4240
4319
|
}
|
|
4241
4320
|
const panelTitle = __55("Edit %s", "elementor").replace("%s", elementType.title);
|
|
4242
|
-
return /* @__PURE__ */
|
|
4321
|
+
return /* @__PURE__ */ React85.createElement(ErrorBoundary, { fallback: /* @__PURE__ */ React85.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React85.createElement(SessionStorageProvider3, { prefix: "elementor" }, /* @__PURE__ */ React85.createElement(ThemeProvider2, null, /* @__PURE__ */ React85.createElement(Panel, null, /* @__PURE__ */ React85.createElement(PanelHeader, null, /* @__PURE__ */ React85.createElement(PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React85.createElement(AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React85.createElement(PanelBody, null, /* @__PURE__ */ React85.createElement(ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React85.createElement(ControlReplacementsProvider, { replacements: controlReplacements }, /* @__PURE__ */ React85.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React85.createElement(EditingPanelTabs, null)))))))));
|
|
4243
4322
|
};
|
|
4244
4323
|
|
|
4245
4324
|
// src/panel.ts
|
|
@@ -4289,47 +4368,15 @@ var EditingPanelHooks = () => {
|
|
|
4289
4368
|
|
|
4290
4369
|
// src/dynamics/init.ts
|
|
4291
4370
|
import { settingsTransformersRegistry, styleTransformersRegistry } from "@elementor/editor-canvas";
|
|
4371
|
+
import { injectIntoRepeaterItemIcon, injectIntoRepeaterItemLabel } from "@elementor/editor-controls";
|
|
4292
4372
|
|
|
4293
|
-
// src/dynamics/components/dynamic-
|
|
4294
|
-
import * as
|
|
4295
|
-
import { ControlFormLabel as ControlFormLabel6, useBoundProp as useBoundProp5 } from "@elementor/editor-controls";
|
|
4296
|
-
import { PopoverHeader as PopoverHeader2 } from "@elementor/editor-ui";
|
|
4297
|
-
import { DatabaseIcon as DatabaseIcon2, SettingsIcon, XIcon } from "@elementor/icons";
|
|
4298
|
-
import {
|
|
4299
|
-
bindPopover as bindPopover2,
|
|
4300
|
-
bindTrigger as bindTrigger2,
|
|
4301
|
-
Box as Box8,
|
|
4302
|
-
Divider as Divider8,
|
|
4303
|
-
Grid as Grid31,
|
|
4304
|
-
IconButton as IconButton5,
|
|
4305
|
-
Paper,
|
|
4306
|
-
Popover as Popover2,
|
|
4307
|
-
Stack as Stack21,
|
|
4308
|
-
Tab as Tab2,
|
|
4309
|
-
TabPanel as TabPanel2,
|
|
4310
|
-
Tabs as Tabs2,
|
|
4311
|
-
UnstableTag as Tag,
|
|
4312
|
-
usePopupState as usePopupState3,
|
|
4313
|
-
useTabs as useTabs2
|
|
4314
|
-
} from "@elementor/ui";
|
|
4315
|
-
import { __ as __57 } from "@wordpress/i18n";
|
|
4316
|
-
|
|
4317
|
-
// src/components/popover-content.tsx
|
|
4318
|
-
import * as React84 from "react";
|
|
4319
|
-
import { Stack as Stack19 } from "@elementor/ui";
|
|
4320
|
-
var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React84.createElement(Stack19, { alignItems, gap, p }, children);
|
|
4321
|
-
|
|
4322
|
-
// src/hooks/use-persist-dynamic-value.ts
|
|
4323
|
-
import { useSessionStorage as useSessionStorage2 } from "@elementor/session";
|
|
4324
|
-
var usePersistDynamicValue = (propKey) => {
|
|
4325
|
-
const { element } = useElement();
|
|
4326
|
-
const prefixedKey = `dynamic/non-dynamic-values-history/${element.id}/${propKey}`;
|
|
4327
|
-
return useSessionStorage2(prefixedKey);
|
|
4328
|
-
};
|
|
4329
|
-
|
|
4330
|
-
// src/dynamics/dynamic-control.tsx
|
|
4331
|
-
import * as React85 from "react";
|
|
4373
|
+
// src/dynamics/components/background-control-dynamic-tag.tsx
|
|
4374
|
+
import * as React86 from "react";
|
|
4332
4375
|
import { PropKeyProvider as PropKeyProvider3, PropProvider as PropProvider3, useBoundProp as useBoundProp3 } from "@elementor/editor-controls";
|
|
4376
|
+
import {
|
|
4377
|
+
backgroundImageOverlayPropTypeUtil
|
|
4378
|
+
} from "@elementor/editor-props";
|
|
4379
|
+
import { DatabaseIcon } from "@elementor/icons";
|
|
4333
4380
|
|
|
4334
4381
|
// src/dynamics/hooks/use-dynamic-tag.ts
|
|
4335
4382
|
import { useMemo as useMemo8 } from "react";
|
|
@@ -4409,9 +4456,64 @@ var useDynamicTag = (tagName) => {
|
|
|
4409
4456
|
return useMemo8(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
|
|
4410
4457
|
};
|
|
4411
4458
|
|
|
4459
|
+
// src/dynamics/components/background-control-dynamic-tag.tsx
|
|
4460
|
+
var BackgroundControlDynamicTagIcon = () => /* @__PURE__ */ React86.createElement(DatabaseIcon, { fontSize: "tiny" });
|
|
4461
|
+
var BackgroundControlDynamicTagLabel = ({ value }) => {
|
|
4462
|
+
const context = useBoundProp3(backgroundImageOverlayPropTypeUtil);
|
|
4463
|
+
return /* @__PURE__ */ React86.createElement(PropProvider3, { ...context, value: value.value }, /* @__PURE__ */ React86.createElement(PropKeyProvider3, { bind: "image" }, /* @__PURE__ */ React86.createElement(Wrapper, { rawValue: value.value })));
|
|
4464
|
+
};
|
|
4465
|
+
var Wrapper = ({ rawValue }) => {
|
|
4466
|
+
const { propType } = useBoundProp3();
|
|
4467
|
+
const imageOverlayPropType = propType.prop_types["background-image-overlay"];
|
|
4468
|
+
return /* @__PURE__ */ React86.createElement(PropProvider3, { propType: imageOverlayPropType.shape.image, value: rawValue, setValue: () => void 0 }, /* @__PURE__ */ React86.createElement(PropKeyProvider3, { bind: "src" }, /* @__PURE__ */ React86.createElement(Content, { rawValue: rawValue.image })));
|
|
4469
|
+
};
|
|
4470
|
+
var Content = ({ rawValue }) => {
|
|
4471
|
+
const src = rawValue.value.src;
|
|
4472
|
+
const dynamicTag = useDynamicTag(src.value.name || "");
|
|
4473
|
+
return /* @__PURE__ */ React86.createElement(React86.Fragment, null, dynamicTag?.label);
|
|
4474
|
+
};
|
|
4475
|
+
|
|
4476
|
+
// src/dynamics/components/dynamic-selection-control.tsx
|
|
4477
|
+
import * as React90 from "react";
|
|
4478
|
+
import { ControlFormLabel as ControlFormLabel6, useBoundProp as useBoundProp6 } from "@elementor/editor-controls";
|
|
4479
|
+
import { PopoverHeader as PopoverHeader2, PopoverScrollableContent } from "@elementor/editor-ui";
|
|
4480
|
+
import { DatabaseIcon as DatabaseIcon3, SettingsIcon, XIcon } from "@elementor/icons";
|
|
4481
|
+
import {
|
|
4482
|
+
bindPopover as bindPopover2,
|
|
4483
|
+
bindTrigger as bindTrigger2,
|
|
4484
|
+
Box as Box8,
|
|
4485
|
+
Divider as Divider8,
|
|
4486
|
+
Grid as Grid31,
|
|
4487
|
+
IconButton as IconButton5,
|
|
4488
|
+
Popover as Popover2,
|
|
4489
|
+
Stack as Stack21,
|
|
4490
|
+
Tab as Tab2,
|
|
4491
|
+
TabPanel as TabPanel2,
|
|
4492
|
+
Tabs as Tabs2,
|
|
4493
|
+
UnstableTag as Tag,
|
|
4494
|
+
usePopupState as usePopupState3,
|
|
4495
|
+
useTabs as useTabs2
|
|
4496
|
+
} from "@elementor/ui";
|
|
4497
|
+
import { __ as __57 } from "@wordpress/i18n";
|
|
4498
|
+
|
|
4499
|
+
// src/components/popover-content.tsx
|
|
4500
|
+
import * as React87 from "react";
|
|
4501
|
+
import { Stack as Stack19 } from "@elementor/ui";
|
|
4502
|
+
var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React87.createElement(Stack19, { alignItems, gap, p }, children);
|
|
4503
|
+
|
|
4504
|
+
// src/hooks/use-persist-dynamic-value.ts
|
|
4505
|
+
import { useSessionStorage as useSessionStorage2 } from "@elementor/session";
|
|
4506
|
+
var usePersistDynamicValue = (propKey) => {
|
|
4507
|
+
const { element } = useElement();
|
|
4508
|
+
const prefixedKey = `dynamic/non-dynamic-values-history/${element.id}/${propKey}`;
|
|
4509
|
+
return useSessionStorage2(prefixedKey);
|
|
4510
|
+
};
|
|
4511
|
+
|
|
4412
4512
|
// src/dynamics/dynamic-control.tsx
|
|
4513
|
+
import * as React88 from "react";
|
|
4514
|
+
import { PropKeyProvider as PropKeyProvider4, PropProvider as PropProvider4, useBoundProp as useBoundProp4 } from "@elementor/editor-controls";
|
|
4413
4515
|
var DynamicControl = ({ bind, children }) => {
|
|
4414
|
-
const { value, setValue } =
|
|
4516
|
+
const { value, setValue } = useBoundProp4(dynamicPropTypeUtil);
|
|
4415
4517
|
const { name = "", settings } = value ?? {};
|
|
4416
4518
|
const dynamicTag = useDynamicTag(name);
|
|
4417
4519
|
if (!dynamicTag) {
|
|
@@ -4430,81 +4532,78 @@ var DynamicControl = ({ bind, children }) => {
|
|
|
4430
4532
|
});
|
|
4431
4533
|
};
|
|
4432
4534
|
const propType = createTopLevelOjectType({ schema: dynamicTag.props_schema });
|
|
4433
|
-
return /* @__PURE__ */
|
|
4535
|
+
return /* @__PURE__ */ React88.createElement(PropProvider4, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React88.createElement(PropKeyProvider4, { bind }, children));
|
|
4434
4536
|
};
|
|
4435
4537
|
|
|
4436
4538
|
// src/dynamics/components/dynamic-selection.tsx
|
|
4437
|
-
import * as React86 from "react";
|
|
4438
4539
|
import { Fragment as Fragment11, useState as useState13 } from "react";
|
|
4439
|
-
import
|
|
4440
|
-
import {
|
|
4441
|
-
import {
|
|
4442
|
-
|
|
4443
|
-
|
|
4444
|
-
InputAdornment,
|
|
4445
|
-
Link as Link2,
|
|
4446
|
-
MenuItem,
|
|
4447
|
-
MenuList,
|
|
4448
|
-
MenuSubheader as MenuSubheader2,
|
|
4449
|
-
Stack as Stack20,
|
|
4450
|
-
TextField as TextField2,
|
|
4451
|
-
Typography as Typography6
|
|
4452
|
-
} from "@elementor/ui";
|
|
4540
|
+
import * as React89 from "react";
|
|
4541
|
+
import { useBoundProp as useBoundProp5 } from "@elementor/editor-controls";
|
|
4542
|
+
import { PopoverHeader, PopoverMenuList, PopoverSearch } from "@elementor/editor-ui";
|
|
4543
|
+
import { DatabaseIcon as DatabaseIcon2 } from "@elementor/icons";
|
|
4544
|
+
import { Box as Box7, Divider as Divider7, Link as Link2, Stack as Stack20, Typography as Typography6, useTheme as useTheme3 } from "@elementor/ui";
|
|
4453
4545
|
import { __ as __56 } from "@wordpress/i18n";
|
|
4454
4546
|
var SIZE7 = "tiny";
|
|
4455
|
-
var DynamicSelection = ({
|
|
4547
|
+
var DynamicSelection = ({ close: closePopover }) => {
|
|
4456
4548
|
const [searchValue, setSearchValue] = useState13("");
|
|
4457
4549
|
const { groups: dynamicGroups } = getAtomicDynamicTags() || {};
|
|
4458
|
-
const
|
|
4459
|
-
const {
|
|
4550
|
+
const theme = useTheme3();
|
|
4551
|
+
const { value: anyValue } = useBoundProp5();
|
|
4552
|
+
const { bind, value: dynamicValue, setValue } = useBoundProp5(dynamicPropTypeUtil);
|
|
4460
4553
|
const [, updatePropValueHistory] = usePersistDynamicValue(bind);
|
|
4461
4554
|
const isCurrentValueDynamic = !!dynamicValue;
|
|
4462
4555
|
const options12 = useFilteredOptions(searchValue);
|
|
4463
4556
|
const hasNoDynamicTags = !options12.length && !searchValue.trim();
|
|
4464
|
-
const handleSearch = (
|
|
4465
|
-
setSearchValue(
|
|
4557
|
+
const handleSearch = (value) => {
|
|
4558
|
+
setSearchValue(value);
|
|
4466
4559
|
};
|
|
4467
|
-
const handleSetDynamicTag = (value
|
|
4560
|
+
const handleSetDynamicTag = (value) => {
|
|
4468
4561
|
if (!isCurrentValueDynamic) {
|
|
4469
4562
|
updatePropValueHistory(anyValue);
|
|
4470
4563
|
}
|
|
4471
|
-
|
|
4472
|
-
|
|
4564
|
+
const selectedOption = options12.flatMap(([, items3]) => items3).find((item) => item.value === value);
|
|
4565
|
+
setValue({ name: value, settings: { label: selectedOption?.label } });
|
|
4566
|
+
closePopover();
|
|
4473
4567
|
};
|
|
4474
|
-
|
|
4475
|
-
|
|
4568
|
+
const virtualizedItems = options12.flatMap(([category, items3]) => [
|
|
4569
|
+
{
|
|
4570
|
+
type: "category",
|
|
4571
|
+
value: category,
|
|
4572
|
+
label: dynamicGroups?.[category]?.title || category
|
|
4573
|
+
},
|
|
4574
|
+
...items3.map((item) => ({
|
|
4575
|
+
type: "item",
|
|
4576
|
+
value: item.value,
|
|
4577
|
+
label: item.label
|
|
4578
|
+
}))
|
|
4579
|
+
]);
|
|
4580
|
+
return /* @__PURE__ */ React89.createElement(React89.Fragment, null, /* @__PURE__ */ React89.createElement(
|
|
4581
|
+
PopoverHeader,
|
|
4582
|
+
{
|
|
4583
|
+
title: __56("Dynamic tags", "elementor"),
|
|
4584
|
+
onClose: closePopover,
|
|
4585
|
+
icon: /* @__PURE__ */ React89.createElement(DatabaseIcon2, { fontSize: SIZE7 })
|
|
4586
|
+
}
|
|
4587
|
+
), /* @__PURE__ */ React89.createElement(Stack20, null, hasNoDynamicTags ? /* @__PURE__ */ React89.createElement(NoDynamicTags, null) : /* @__PURE__ */ React89.createElement(Fragment11, null, /* @__PURE__ */ React89.createElement(
|
|
4588
|
+
PopoverSearch,
|
|
4476
4589
|
{
|
|
4477
|
-
fullWidth: true,
|
|
4478
|
-
size: SIZE7,
|
|
4479
4590
|
value: searchValue,
|
|
4480
|
-
|
|
4481
|
-
placeholder: __56("Search dynamic tags\u2026", "elementor")
|
|
4482
|
-
InputProps: {
|
|
4483
|
-
startAdornment: /* @__PURE__ */ React86.createElement(InputAdornment, { position: "start" }, /* @__PURE__ */ React86.createElement(SearchIcon, { fontSize: SIZE7 }))
|
|
4484
|
-
}
|
|
4591
|
+
onSearch: handleSearch,
|
|
4592
|
+
placeholder: __56("Search dynamic tags\u2026", "elementor")
|
|
4485
4593
|
}
|
|
4486
|
-
)
|
|
4487
|
-
|
|
4594
|
+
), /* @__PURE__ */ React89.createElement(Divider7, null), /* @__PURE__ */ React89.createElement(
|
|
4595
|
+
PopoverMenuList,
|
|
4488
4596
|
{
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
|
|
4495
|
-
|
|
4496
|
-
|
|
4497
|
-
key: value,
|
|
4498
|
-
selected: isSelected,
|
|
4499
|
-
autoFocus: isSelected,
|
|
4500
|
-
sx: { px: 3.5, typography: "caption" },
|
|
4501
|
-
onClick: () => handleSetDynamicTag(value, tagLabel)
|
|
4502
|
-
},
|
|
4503
|
-
tagLabel
|
|
4504
|
-
);
|
|
4505
|
-
})))) : /* @__PURE__ */ React86.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") }))));
|
|
4597
|
+
items: virtualizedItems,
|
|
4598
|
+
onSelect: handleSetDynamicTag,
|
|
4599
|
+
onClose: closePopover,
|
|
4600
|
+
selectedValue: dynamicValue?.name,
|
|
4601
|
+
itemStyle: (item) => item.type === "item" ? { paddingInlineStart: theme.spacing(3.5) } : {},
|
|
4602
|
+
noResultsComponent: /* @__PURE__ */ React89.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") })
|
|
4603
|
+
}
|
|
4604
|
+
))));
|
|
4506
4605
|
};
|
|
4507
|
-
var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */
|
|
4606
|
+
var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React89.createElement(
|
|
4508
4607
|
Stack20,
|
|
4509
4608
|
{
|
|
4510
4609
|
gap: 1,
|
|
@@ -4515,11 +4614,11 @@ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React86.createElem
|
|
|
4515
4614
|
color: "text.secondary",
|
|
4516
4615
|
sx: { pb: 3.5 }
|
|
4517
4616
|
},
|
|
4518
|
-
/* @__PURE__ */
|
|
4519
|
-
/* @__PURE__ */
|
|
4520
|
-
/* @__PURE__ */
|
|
4617
|
+
/* @__PURE__ */ React89.createElement(DatabaseIcon2, { fontSize: "large" }),
|
|
4618
|
+
/* @__PURE__ */ React89.createElement(Typography6, { align: "center", variant: "subtitle2" }, __56("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React89.createElement("br", null), "\u201C", searchValue, "\u201D."),
|
|
4619
|
+
/* @__PURE__ */ React89.createElement(Typography6, { align: "center", variant: "caption" }, __56("Try something else.", "elementor"), "\xA0", /* @__PURE__ */ React89.createElement(Link2, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, __56("Clear & try again", "elementor")))
|
|
4521
4620
|
);
|
|
4522
|
-
var NoDynamicTags = () => /* @__PURE__ */
|
|
4621
|
+
var NoDynamicTags = () => /* @__PURE__ */ React89.createElement(Box7, { sx: { overflowY: "hidden", height: 297, width: 220 } }, /* @__PURE__ */ React89.createElement(Divider7, null), /* @__PURE__ */ React89.createElement(
|
|
4523
4622
|
Stack20,
|
|
4524
4623
|
{
|
|
4525
4624
|
gap: 1,
|
|
@@ -4530,9 +4629,9 @@ var NoDynamicTags = () => /* @__PURE__ */ React86.createElement(Box7, { sx: { ov
|
|
|
4530
4629
|
color: "text.secondary",
|
|
4531
4630
|
sx: { pb: 3.5 }
|
|
4532
4631
|
},
|
|
4533
|
-
/* @__PURE__ */
|
|
4534
|
-
/* @__PURE__ */
|
|
4535
|
-
/* @__PURE__ */
|
|
4632
|
+
/* @__PURE__ */ React89.createElement(DatabaseIcon2, { fontSize: "large" }),
|
|
4633
|
+
/* @__PURE__ */ React89.createElement(Typography6, { align: "center", variant: "subtitle2" }, __56("Streamline your workflow with dynamic tags", "elementor")),
|
|
4634
|
+
/* @__PURE__ */ React89.createElement(Typography6, { align: "center", variant: "caption" }, __56("You'll need Elementor Pro to use this feature.", "elementor"))
|
|
4536
4635
|
));
|
|
4537
4636
|
var useFilteredOptions = (searchValue) => {
|
|
4538
4637
|
const dynamicTags = usePropDynamicTags();
|
|
@@ -4553,8 +4652,8 @@ var useFilteredOptions = (searchValue) => {
|
|
|
4553
4652
|
// src/dynamics/components/dynamic-selection-control.tsx
|
|
4554
4653
|
var SIZE8 = "tiny";
|
|
4555
4654
|
var DynamicSelectionControl = () => {
|
|
4556
|
-
const { setValue: setAnyValue } =
|
|
4557
|
-
const { bind, value } =
|
|
4655
|
+
const { setValue: setAnyValue } = useBoundProp6();
|
|
4656
|
+
const { bind, value } = useBoundProp6(dynamicPropTypeUtil);
|
|
4558
4657
|
const [propValueFromHistory] = usePersistDynamicValue(bind);
|
|
4559
4658
|
const selectionPopoverState = usePopupState3({ variant: "popover" });
|
|
4560
4659
|
const { name: tagName = "" } = value;
|
|
@@ -4565,25 +4664,25 @@ var DynamicSelectionControl = () => {
|
|
|
4565
4664
|
if (!dynamicTag) {
|
|
4566
4665
|
throw new Error(`Dynamic tag ${tagName} not found`);
|
|
4567
4666
|
}
|
|
4568
|
-
return /* @__PURE__ */
|
|
4667
|
+
return /* @__PURE__ */ React90.createElement(Box8, null, /* @__PURE__ */ React90.createElement(
|
|
4569
4668
|
Tag,
|
|
4570
4669
|
{
|
|
4571
4670
|
fullWidth: true,
|
|
4572
4671
|
showActionsOnHover: true,
|
|
4573
4672
|
label: dynamicTag.label,
|
|
4574
|
-
startIcon: /* @__PURE__ */
|
|
4673
|
+
startIcon: /* @__PURE__ */ React90.createElement(DatabaseIcon3, { fontSize: SIZE8 }),
|
|
4575
4674
|
...bindTrigger2(selectionPopoverState),
|
|
4576
|
-
actions: /* @__PURE__ */
|
|
4675
|
+
actions: /* @__PURE__ */ React90.createElement(React90.Fragment, null, /* @__PURE__ */ React90.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React90.createElement(
|
|
4577
4676
|
IconButton5,
|
|
4578
4677
|
{
|
|
4579
4678
|
size: SIZE8,
|
|
4580
4679
|
onClick: removeDynamicTag,
|
|
4581
4680
|
"aria-label": __57("Remove dynamic value", "elementor")
|
|
4582
4681
|
},
|
|
4583
|
-
/* @__PURE__ */
|
|
4682
|
+
/* @__PURE__ */ React90.createElement(XIcon, { fontSize: SIZE8 })
|
|
4584
4683
|
))
|
|
4585
4684
|
}
|
|
4586
|
-
), /* @__PURE__ */
|
|
4685
|
+
), /* @__PURE__ */ React90.createElement(
|
|
4587
4686
|
Popover2,
|
|
4588
4687
|
{
|
|
4589
4688
|
disablePortal: true,
|
|
@@ -4591,14 +4690,7 @@ var DynamicSelectionControl = () => {
|
|
|
4591
4690
|
anchorOrigin: { vertical: "bottom", horizontal: "left" },
|
|
4592
4691
|
...bindPopover2(selectionPopoverState)
|
|
4593
4692
|
},
|
|
4594
|
-
/* @__PURE__ */
|
|
4595
|
-
PopoverHeader2,
|
|
4596
|
-
{
|
|
4597
|
-
title: __57("Dynamic tags", "elementor"),
|
|
4598
|
-
onClose: selectionPopoverState.close,
|
|
4599
|
-
icon: /* @__PURE__ */ React87.createElement(DatabaseIcon2, { fontSize: SIZE8 })
|
|
4600
|
-
}
|
|
4601
|
-
), /* @__PURE__ */ React87.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
|
|
4693
|
+
/* @__PURE__ */ React90.createElement(Stack21, null, /* @__PURE__ */ React90.createElement(DynamicSelection, { close: selectionPopoverState.close }))
|
|
4602
4694
|
));
|
|
4603
4695
|
};
|
|
4604
4696
|
var DynamicSettingsPopover = ({ dynamicTag }) => {
|
|
@@ -4607,7 +4699,7 @@ var DynamicSettingsPopover = ({ dynamicTag }) => {
|
|
|
4607
4699
|
if (!hasDynamicSettings) {
|
|
4608
4700
|
return null;
|
|
4609
4701
|
}
|
|
4610
|
-
return /* @__PURE__ */
|
|
4702
|
+
return /* @__PURE__ */ React90.createElement(React90.Fragment, null, /* @__PURE__ */ React90.createElement(IconButton5, { size: SIZE8, ...bindTrigger2(popupState), "aria-label": __57("Settings", "elementor") }, /* @__PURE__ */ React90.createElement(SettingsIcon, { fontSize: SIZE8 })), /* @__PURE__ */ React90.createElement(
|
|
4611
4703
|
Popover2,
|
|
4612
4704
|
{
|
|
4613
4705
|
disablePortal: true,
|
|
@@ -4615,14 +4707,15 @@ var DynamicSettingsPopover = ({ dynamicTag }) => {
|
|
|
4615
4707
|
anchorOrigin: { vertical: "bottom", horizontal: "center" },
|
|
4616
4708
|
...bindPopover2(popupState)
|
|
4617
4709
|
},
|
|
4618
|
-
/* @__PURE__ */
|
|
4710
|
+
/* @__PURE__ */ React90.createElement(
|
|
4619
4711
|
PopoverHeader2,
|
|
4620
4712
|
{
|
|
4621
4713
|
title: dynamicTag.label,
|
|
4622
4714
|
onClose: popupState.close,
|
|
4623
|
-
icon: /* @__PURE__ */
|
|
4715
|
+
icon: /* @__PURE__ */ React90.createElement(DatabaseIcon3, { fontSize: SIZE8 })
|
|
4624
4716
|
}
|
|
4625
|
-
),
|
|
4717
|
+
),
|
|
4718
|
+
/* @__PURE__ */ React90.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls })
|
|
4626
4719
|
));
|
|
4627
4720
|
};
|
|
4628
4721
|
var DynamicSettings = ({ controls }) => {
|
|
@@ -4631,10 +4724,10 @@ var DynamicSettings = ({ controls }) => {
|
|
|
4631
4724
|
if (!tabs.length) {
|
|
4632
4725
|
return null;
|
|
4633
4726
|
}
|
|
4634
|
-
return /* @__PURE__ */
|
|
4635
|
-
return /* @__PURE__ */
|
|
4727
|
+
return /* @__PURE__ */ React90.createElement(PopoverScrollableContent, null, /* @__PURE__ */ React90.createElement(Tabs2, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React90.createElement(Tab2, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React90.createElement(Divider8, null), tabs.map(({ value }, index) => {
|
|
4728
|
+
return /* @__PURE__ */ React90.createElement(TabPanel2, { key: index, sx: { flexGrow: 1, py: 0 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React90.createElement(PopoverContent, { p: 2, gap: 2 }, value.items.map((item) => {
|
|
4636
4729
|
if (item.type === "control") {
|
|
4637
|
-
return /* @__PURE__ */
|
|
4730
|
+
return /* @__PURE__ */ React90.createElement(Control3, { key: item.value.bind, control: item.value });
|
|
4638
4731
|
}
|
|
4639
4732
|
return null;
|
|
4640
4733
|
})));
|
|
@@ -4644,7 +4737,7 @@ var Control3 = ({ control }) => {
|
|
|
4644
4737
|
if (!getControl(control.type)) {
|
|
4645
4738
|
return null;
|
|
4646
4739
|
}
|
|
4647
|
-
return /* @__PURE__ */
|
|
4740
|
+
return /* @__PURE__ */ React90.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React90.createElement(Grid31, { container: true, gap: 0.75 }, control.label ? /* @__PURE__ */ React90.createElement(Grid31, { item: true, xs: 12 }, /* @__PURE__ */ React90.createElement(ControlFormLabel6, null, control.label)) : null, /* @__PURE__ */ React90.createElement(Grid31, { item: true, xs: 12 }, /* @__PURE__ */ React90.createElement(Control, { type: control.type, props: control.props }))));
|
|
4648
4741
|
};
|
|
4649
4742
|
|
|
4650
4743
|
// src/dynamics/dynamic-transformer.ts
|
|
@@ -4697,18 +4790,18 @@ function getDynamicValue(name, settings) {
|
|
|
4697
4790
|
}
|
|
4698
4791
|
|
|
4699
4792
|
// src/dynamics/hooks/use-prop-dynamic-action.tsx
|
|
4700
|
-
import * as
|
|
4701
|
-
import { useBoundProp as
|
|
4702
|
-
import { DatabaseIcon as
|
|
4793
|
+
import * as React91 from "react";
|
|
4794
|
+
import { useBoundProp as useBoundProp7 } from "@elementor/editor-controls";
|
|
4795
|
+
import { DatabaseIcon as DatabaseIcon4 } from "@elementor/icons";
|
|
4703
4796
|
import { __ as __58 } from "@wordpress/i18n";
|
|
4704
4797
|
var usePropDynamicAction = () => {
|
|
4705
|
-
const { propType } =
|
|
4798
|
+
const { propType } = useBoundProp7();
|
|
4706
4799
|
const visible = !!propType && supportsDynamic(propType);
|
|
4707
4800
|
return {
|
|
4708
4801
|
visible,
|
|
4709
|
-
icon:
|
|
4802
|
+
icon: DatabaseIcon4,
|
|
4710
4803
|
title: __58("Dynamic tags", "elementor"),
|
|
4711
|
-
|
|
4804
|
+
content: ({ close }) => /* @__PURE__ */ React91.createElement(DynamicSelection, { close })
|
|
4712
4805
|
};
|
|
4713
4806
|
};
|
|
4714
4807
|
|
|
@@ -4719,6 +4812,16 @@ var init = () => {
|
|
|
4719
4812
|
component: DynamicSelectionControl,
|
|
4720
4813
|
condition: ({ value }) => isDynamicPropValue(value)
|
|
4721
4814
|
});
|
|
4815
|
+
injectIntoRepeaterItemLabel({
|
|
4816
|
+
id: "dynamic-background-image",
|
|
4817
|
+
condition: ({ value }) => isDynamicPropValue(value.value?.image?.value?.src),
|
|
4818
|
+
component: BackgroundControlDynamicTagLabel
|
|
4819
|
+
});
|
|
4820
|
+
injectIntoRepeaterItemIcon({
|
|
4821
|
+
id: "dynamic-background-image",
|
|
4822
|
+
condition: ({ value }) => isDynamicPropValue(value.value?.image?.value?.src),
|
|
4823
|
+
component: BackgroundControlDynamicTagIcon
|
|
4824
|
+
});
|
|
4722
4825
|
registerPopoverAction({
|
|
4723
4826
|
id: "dynamic-tags",
|
|
4724
4827
|
useProps: usePropDynamicAction
|
|
@@ -4728,7 +4831,7 @@ var init = () => {
|
|
|
4728
4831
|
};
|
|
4729
4832
|
|
|
4730
4833
|
// src/reset-style-props.tsx
|
|
4731
|
-
import { useBoundProp as
|
|
4834
|
+
import { useBoundProp as useBoundProp8 } from "@elementor/editor-controls";
|
|
4732
4835
|
import { BrushBigIcon } from "@elementor/icons";
|
|
4733
4836
|
import { __ as __59 } from "@wordpress/i18n";
|
|
4734
4837
|
var { registerAction } = controlActionsMenu;
|
|
@@ -4741,7 +4844,7 @@ function initResetStyleProps() {
|
|
|
4741
4844
|
var EXCLUDED_BINDS = ["order", "flex-grow", "flex-shrink", "flex-basis"];
|
|
4742
4845
|
function useResetStyleValueProps() {
|
|
4743
4846
|
const isStyle = useIsStyle();
|
|
4744
|
-
const { value, setValue, path, bind } =
|
|
4847
|
+
const { value, setValue, path, bind } = useBoundProp8();
|
|
4745
4848
|
return {
|
|
4746
4849
|
visible: isStyle && value !== null && value !== void 0 && path.length <= 2 && !EXCLUDED_BINDS.includes(bind),
|
|
4747
4850
|
title: __59("Clear", "elementor"),
|
|
@@ -4754,36 +4857,36 @@ function useResetStyleValueProps() {
|
|
|
4754
4857
|
import { createTransformer as createTransformer6, styleTransformersRegistry as styleTransformersRegistry2 } from "@elementor/editor-canvas";
|
|
4755
4858
|
|
|
4756
4859
|
// src/styles-inheritance/transformers/background-color-overlay-transformer.tsx
|
|
4757
|
-
import * as
|
|
4860
|
+
import * as React92 from "react";
|
|
4758
4861
|
import { createTransformer as createTransformer2 } from "@elementor/editor-canvas";
|
|
4759
4862
|
import { Stack as Stack22, styled as styled7, UnstableColorIndicator } from "@elementor/ui";
|
|
4760
|
-
var backgroundColorOverlayTransformer = createTransformer2((value) => /* @__PURE__ */
|
|
4863
|
+
var backgroundColorOverlayTransformer = createTransformer2((value) => /* @__PURE__ */ React92.createElement(Stack22, { direction: "row", gap: 10 }, /* @__PURE__ */ React92.createElement(ItemIconColor, { value }), /* @__PURE__ */ React92.createElement(ItemLabelColor, { value })));
|
|
4761
4864
|
var ItemIconColor = ({ value }) => {
|
|
4762
4865
|
const { color } = value;
|
|
4763
|
-
return /* @__PURE__ */
|
|
4866
|
+
return /* @__PURE__ */ React92.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: color });
|
|
4764
4867
|
};
|
|
4765
4868
|
var ItemLabelColor = ({ value: { color } }) => {
|
|
4766
|
-
return /* @__PURE__ */
|
|
4869
|
+
return /* @__PURE__ */ React92.createElement("span", null, color);
|
|
4767
4870
|
};
|
|
4768
4871
|
var StyledUnstableColorIndicator = styled7(UnstableColorIndicator)(({ theme }) => ({
|
|
4769
4872
|
borderRadius: `${theme.shape.borderRadius / 2}px`
|
|
4770
4873
|
}));
|
|
4771
4874
|
|
|
4772
4875
|
// src/styles-inheritance/transformers/background-gradient-overlay-transformer.tsx
|
|
4773
|
-
import * as
|
|
4876
|
+
import * as React93 from "react";
|
|
4774
4877
|
import { createTransformer as createTransformer3 } from "@elementor/editor-canvas";
|
|
4775
4878
|
import { Stack as Stack23 } from "@elementor/ui";
|
|
4776
4879
|
import { __ as __60 } from "@wordpress/i18n";
|
|
4777
|
-
var backgroundGradientOverlayTransformer = createTransformer3((value) => /* @__PURE__ */
|
|
4880
|
+
var backgroundGradientOverlayTransformer = createTransformer3((value) => /* @__PURE__ */ React93.createElement(Stack23, { direction: "row", gap: 10 }, /* @__PURE__ */ React93.createElement(ItemIconGradient, { value }), /* @__PURE__ */ React93.createElement(ItemLabelGradient, { value })));
|
|
4778
4881
|
var ItemIconGradient = ({ value }) => {
|
|
4779
4882
|
const gradient = getGradientValue(value);
|
|
4780
|
-
return /* @__PURE__ */
|
|
4883
|
+
return /* @__PURE__ */ React93.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: gradient });
|
|
4781
4884
|
};
|
|
4782
4885
|
var ItemLabelGradient = ({ value }) => {
|
|
4783
4886
|
if (value.type === "linear") {
|
|
4784
|
-
return /* @__PURE__ */
|
|
4887
|
+
return /* @__PURE__ */ React93.createElement("span", null, __60("Linear Gradient", "elementor"));
|
|
4785
4888
|
}
|
|
4786
|
-
return /* @__PURE__ */
|
|
4889
|
+
return /* @__PURE__ */ React93.createElement("span", null, __60("Radial Gradient", "elementor"));
|
|
4787
4890
|
};
|
|
4788
4891
|
var getGradientValue = (gradient) => {
|
|
4789
4892
|
const stops = gradient.stops?.map(({ color, offset }) => `${color} ${offset ?? 0}%`)?.join(",");
|
|
@@ -4794,15 +4897,15 @@ var getGradientValue = (gradient) => {
|
|
|
4794
4897
|
};
|
|
4795
4898
|
|
|
4796
4899
|
// src/styles-inheritance/transformers/background-image-overlay-transformer.tsx
|
|
4797
|
-
import * as
|
|
4900
|
+
import * as React94 from "react";
|
|
4798
4901
|
import { createTransformer as createTransformer4 } from "@elementor/editor-canvas";
|
|
4799
4902
|
import { EllipsisWithTooltip as EllipsisWithTooltip2 } from "@elementor/editor-ui";
|
|
4800
4903
|
import { CardMedia, Stack as Stack24 } from "@elementor/ui";
|
|
4801
4904
|
import { useWpMediaAttachment } from "@elementor/wp-media";
|
|
4802
|
-
var backgroundImageOverlayTransformer = createTransformer4((value) => /* @__PURE__ */
|
|
4905
|
+
var backgroundImageOverlayTransformer = createTransformer4((value) => /* @__PURE__ */ React94.createElement(Stack24, { direction: "row", gap: 10 }, /* @__PURE__ */ React94.createElement(ItemIconImage, { value }), /* @__PURE__ */ React94.createElement(ItemLabelImage, { value })));
|
|
4803
4906
|
var ItemIconImage = ({ value }) => {
|
|
4804
4907
|
const { imageUrl } = useImage(value);
|
|
4805
|
-
return /* @__PURE__ */
|
|
4908
|
+
return /* @__PURE__ */ React94.createElement(
|
|
4806
4909
|
CardMedia,
|
|
4807
4910
|
{
|
|
4808
4911
|
image: imageUrl,
|
|
@@ -4817,7 +4920,7 @@ var ItemIconImage = ({ value }) => {
|
|
|
4817
4920
|
};
|
|
4818
4921
|
var ItemLabelImage = ({ value }) => {
|
|
4819
4922
|
const { imageTitle } = useImage(value);
|
|
4820
|
-
return /* @__PURE__ */
|
|
4923
|
+
return /* @__PURE__ */ React94.createElement(EllipsisWithTooltip2, { title: imageTitle }, /* @__PURE__ */ React94.createElement("span", null, imageTitle));
|
|
4821
4924
|
};
|
|
4822
4925
|
var useImage = (image) => {
|
|
4823
4926
|
let imageTitle, imageUrl = null;
|
|
@@ -4842,14 +4945,14 @@ var getFileExtensionFromFilename = (filename) => {
|
|
|
4842
4945
|
};
|
|
4843
4946
|
|
|
4844
4947
|
// src/styles-inheritance/transformers/background-overlay-transformer.tsx
|
|
4845
|
-
import * as
|
|
4948
|
+
import * as React95 from "react";
|
|
4846
4949
|
import { createTransformer as createTransformer5 } from "@elementor/editor-canvas";
|
|
4847
4950
|
import { Stack as Stack25 } from "@elementor/ui";
|
|
4848
4951
|
var backgroundOverlayTransformer = createTransformer5((values) => {
|
|
4849
4952
|
if (!values || values.length === 0) {
|
|
4850
4953
|
return null;
|
|
4851
4954
|
}
|
|
4852
|
-
return /* @__PURE__ */
|
|
4955
|
+
return /* @__PURE__ */ React95.createElement(Stack25, { direction: "column" }, values.map((item, index) => /* @__PURE__ */ React95.createElement(Stack25, { key: index }, item)));
|
|
4853
4956
|
});
|
|
4854
4957
|
|
|
4855
4958
|
// src/styles-inheritance/init-styles-inheritance-transformers.ts
|
|
@@ -4914,7 +5017,8 @@ export {
|
|
|
4914
5017
|
init3 as init,
|
|
4915
5018
|
injectIntoClassSelectorActions,
|
|
4916
5019
|
registerControlReplacement,
|
|
4917
|
-
|
|
5020
|
+
registerStyleProviderToColors,
|
|
5021
|
+
useBoundProp9 as useBoundProp,
|
|
4918
5022
|
useFontFamilies,
|
|
4919
5023
|
usePanelActions,
|
|
4920
5024
|
usePanelStatus
|