@elementor/editor-editing-panel 1.45.0 → 1.47.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 +90 -0
- package/dist/index.d.mts +22 -4
- package/dist/index.d.ts +22 -4
- package/dist/index.js +1187 -1051
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1027 -893
- package/dist/index.mjs.map +1 -1
- package/package.json +18 -17
- 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/popover-scrollable-content.tsx +12 -0
- package/src/components/section-content.tsx +6 -16
- package/src/components/section.tsx +8 -4
- package/src/components/settings-tab.tsx +30 -4
- package/src/components/style-indicator.tsx +19 -15
- package/src/components/style-sections/background-section/background-section.tsx +4 -1
- package/src/components/style-sections/border-section/border-color-field.tsx +10 -16
- package/src/components/style-sections/border-section/border-field.tsx +4 -6
- package/src/components/style-sections/border-section/border-radius-field.tsx +4 -2
- package/src/components/style-sections/border-section/border-style-field.tsx +11 -16
- package/src/components/style-sections/border-section/border-width-field.tsx +4 -2
- package/src/components/style-sections/effects-section/effects-section.tsx +22 -2
- package/src/components/style-sections/layout-section/align-content-field.tsx +11 -12
- package/src/components/style-sections/layout-section/align-items-field.tsx +8 -11
- package/src/components/style-sections/layout-section/align-self-child-field.tsx +11 -16
- package/src/components/style-sections/layout-section/display-field.tsx +6 -6
- package/src/components/style-sections/layout-section/flex-direction-field.tsx +11 -14
- package/src/components/style-sections/layout-section/flex-order-field.tsx +32 -37
- package/src/components/style-sections/layout-section/flex-size-field.tsx +35 -58
- package/src/components/style-sections/layout-section/gap-control-field.tsx +5 -6
- package/src/components/style-sections/layout-section/justify-content-field.tsx +11 -12
- package/src/components/style-sections/layout-section/layout-section.tsx +2 -2
- package/src/components/style-sections/layout-section/opacity-control-field.tsx +21 -0
- package/src/components/style-sections/layout-section/utils/rotated-icon.tsx +1 -1
- package/src/components/style-sections/layout-section/wrap-field.tsx +10 -14
- package/src/components/style-sections/position-section/dimensions-field.tsx +4 -4
- package/src/components/style-sections/position-section/offset-field.tsx +12 -14
- package/src/components/style-sections/position-section/position-field.tsx +7 -11
- package/src/components/style-sections/position-section/position-section.tsx +6 -6
- package/src/components/style-sections/position-section/z-index-field.tsx +7 -11
- package/src/components/style-sections/size-section/object-fit-field.tsx +7 -11
- package/src/components/style-sections/size-section/object-position-field.tsx +4 -23
- package/src/components/style-sections/size-section/overflow-field.tsx +7 -11
- package/src/components/style-sections/size-section/size-section.tsx +10 -8
- package/src/components/style-sections/spacing-section/spacing-section.tsx +7 -4
- package/src/components/style-sections/typography-section/column-count-field.tsx +7 -11
- package/src/components/style-sections/typography-section/column-gap-field.tsx +9 -13
- package/src/components/style-sections/typography-section/font-family-field.tsx +9 -11
- package/src/components/style-sections/typography-section/font-size-field.tsx +9 -13
- package/src/components/style-sections/typography-section/font-style-field.tsx +13 -13
- package/src/components/style-sections/typography-section/font-weight-field.tsx +7 -11
- package/src/components/style-sections/typography-section/letter-spacing-field.tsx +9 -13
- package/src/components/style-sections/typography-section/line-height-field.tsx +9 -13
- package/src/components/style-sections/typography-section/text-alignment-field.tsx +11 -14
- package/src/components/style-sections/typography-section/text-color-field.tsx +7 -11
- package/src/components/style-sections/typography-section/text-decoration-field.tsx +7 -11
- package/src/components/style-sections/typography-section/text-direction-field.tsx +7 -11
- package/src/components/style-sections/typography-section/text-stroke-field.tsx +8 -8
- package/src/components/style-sections/typography-section/transform-field.tsx +7 -11
- package/src/components/style-sections/typography-section/typography-section.tsx +4 -2
- package/src/components/style-sections/typography-section/word-spacing-field.tsx +9 -13
- package/src/components/styles-field-layout.tsx +50 -0
- package/src/contexts/section-context.tsx +14 -0
- package/src/controls-registry/control-type-container.tsx +6 -2
- package/src/controls-registry/controls-registry.tsx +30 -10
- package/src/controls-registry/settings-field.tsx +65 -6
- package/src/controls-registry/styles-field.tsx +11 -5
- package/src/dynamics/components/dynamic-selection-control.tsx +20 -22
- package/src/dynamics/components/dynamic-selection.tsx +64 -79
- package/src/dynamics/hooks/use-prop-dynamic-action.tsx +1 -1
- package/src/hooks/use-default-panel-settings.ts +4 -0
- package/src/hooks/use-styles-field.ts +9 -3
- package/src/hooks/use-styles-fields.ts +4 -4
- package/src/index.ts +5 -0
- package/src/popover-action.tsx +11 -6
- 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 +36 -41
- package/src/styles-inheritance/components/styles-inheritance-infotip.tsx +10 -24
- package/src/styles-inheritance/components/styles-inheritance-section-indicators.tsx +29 -44
- 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/sync/experiments-flags.ts +1 -0
- package/src/utils/get-styles-provider-color.ts +28 -0
- package/src/components/popover-content.tsx +0 -15
package/dist/index.js
CHANGED
|
@@ -30,27 +30,50 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
30
30
|
// src/index.ts
|
|
31
31
|
var index_exports = {};
|
|
32
32
|
__export(index_exports, {
|
|
33
|
+
EXPERIMENTAL_FEATURES: () => EXPERIMENTAL_FEATURES,
|
|
34
|
+
PopoverScrollableContent: () => PopoverScrollableContent,
|
|
33
35
|
controlActionsMenu: () => controlActionsMenu,
|
|
34
36
|
init: () => init3,
|
|
35
37
|
injectIntoClassSelectorActions: () => injectIntoClassSelectorActions,
|
|
36
38
|
registerControlReplacement: () => registerControlReplacement,
|
|
37
|
-
|
|
39
|
+
registerStyleProviderToColors: () => registerStyleProviderToColors,
|
|
40
|
+
useBoundProp: () => import_editor_controls60.useBoundProp,
|
|
38
41
|
useFontFamilies: () => useFontFamilies,
|
|
39
42
|
usePanelActions: () => usePanelActions,
|
|
40
|
-
usePanelStatus: () => usePanelStatus
|
|
43
|
+
usePanelStatus: () => usePanelStatus,
|
|
44
|
+
useSectionWidth: () => useSectionWidth
|
|
41
45
|
});
|
|
42
46
|
module.exports = __toCommonJS(index_exports);
|
|
43
|
-
|
|
47
|
+
|
|
48
|
+
// src/sync/experiments-flags.ts
|
|
49
|
+
var EXPERIMENTAL_FEATURES = {
|
|
50
|
+
V_3_30: "e_v_3_30",
|
|
51
|
+
V_3_31: "e_v_3_31"
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
// src/index.ts
|
|
55
|
+
var import_editor_controls60 = require("@elementor/editor-controls");
|
|
44
56
|
|
|
45
57
|
// src/control-replacement.tsx
|
|
46
58
|
var import_editor_controls = require("@elementor/editor-controls");
|
|
47
59
|
var { registerControlReplacement, getControlReplacements } = (0, import_editor_controls.createControlReplacementsRegistry)();
|
|
48
60
|
|
|
61
|
+
// src/provider-colors-registry.ts
|
|
62
|
+
var DEFAULT_COLORS = {
|
|
63
|
+
name: "default",
|
|
64
|
+
getThemeColor: null
|
|
65
|
+
};
|
|
66
|
+
var providerColorsRegistry = /* @__PURE__ */ new Map();
|
|
67
|
+
var registerStyleProviderToColors = (provider, colors) => {
|
|
68
|
+
providerColorsRegistry.set(provider, colors);
|
|
69
|
+
};
|
|
70
|
+
var getStyleProviderColors = (provider) => providerColorsRegistry.get(provider) ?? DEFAULT_COLORS;
|
|
71
|
+
|
|
49
72
|
// src/components/css-classes/css-class-selector.tsx
|
|
50
73
|
var React8 = __toESM(require("react"));
|
|
51
74
|
var import_react10 = require("react");
|
|
52
75
|
var import_editor_elements2 = require("@elementor/editor-elements");
|
|
53
|
-
var
|
|
76
|
+
var import_editor_styles_repository6 = require("@elementor/editor-styles-repository");
|
|
54
77
|
var import_editor_ui3 = require("@elementor/editor-ui");
|
|
55
78
|
var import_icons2 = require("@elementor/icons");
|
|
56
79
|
var import_locations = require("@elementor/locations");
|
|
@@ -139,6 +162,27 @@ function useIsStyle() {
|
|
|
139
162
|
return !!(0, import_react3.useContext)(Context3);
|
|
140
163
|
}
|
|
141
164
|
|
|
165
|
+
// src/utils/get-styles-provider-color.ts
|
|
166
|
+
var import_editor_styles_repository2 = require("@elementor/editor-styles-repository");
|
|
167
|
+
var getStylesProviderColorName = (provider) => {
|
|
168
|
+
if (!provider || provider === import_editor_styles_repository2.ELEMENTS_BASE_STYLES_PROVIDER_KEY) {
|
|
169
|
+
return "default";
|
|
170
|
+
}
|
|
171
|
+
if ((0, import_editor_styles_repository2.isElementsStylesProvider)(provider)) {
|
|
172
|
+
return "accent";
|
|
173
|
+
}
|
|
174
|
+
return getStyleProviderColors(provider).name;
|
|
175
|
+
};
|
|
176
|
+
var getStylesProviderThemeColor = (provider) => {
|
|
177
|
+
if (!provider || provider === import_editor_styles_repository2.ELEMENTS_BASE_STYLES_PROVIDER_KEY) {
|
|
178
|
+
return null;
|
|
179
|
+
}
|
|
180
|
+
if ((0, import_editor_styles_repository2.isElementsStylesProvider)(provider)) {
|
|
181
|
+
return (theme) => theme.palette.accent.main;
|
|
182
|
+
}
|
|
183
|
+
return getStyleProviderColors(provider).getThemeColor;
|
|
184
|
+
};
|
|
185
|
+
|
|
142
186
|
// src/components/creatable-autocomplete/creatable-autocomplete.tsx
|
|
143
187
|
var React4 = __toESM(require("react"));
|
|
144
188
|
var import_react6 = require("react");
|
|
@@ -468,7 +512,7 @@ var StyledGroupItems = (0, import_ui2.styled)("ul")`
|
|
|
468
512
|
// src/components/css-classes/css-class-item.tsx
|
|
469
513
|
var React7 = __toESM(require("react"));
|
|
470
514
|
var import_react9 = require("react");
|
|
471
|
-
var
|
|
515
|
+
var import_editor_styles_repository5 = require("@elementor/editor-styles-repository");
|
|
472
516
|
var import_editor_ui2 = require("@elementor/editor-ui");
|
|
473
517
|
var import_icons = require("@elementor/icons");
|
|
474
518
|
var import_ui5 = require("@elementor/ui");
|
|
@@ -491,7 +535,7 @@ function CssClassProvider({ children, ...contextValue }) {
|
|
|
491
535
|
|
|
492
536
|
// src/components/css-classes/css-class-menu.tsx
|
|
493
537
|
var React6 = __toESM(require("react"));
|
|
494
|
-
var
|
|
538
|
+
var import_editor_styles_repository4 = require("@elementor/editor-styles-repository");
|
|
495
539
|
var import_editor_ui = require("@elementor/editor-ui");
|
|
496
540
|
var import_ui4 = require("@elementor/ui");
|
|
497
541
|
var import_i18n2 = require("@wordpress/i18n");
|
|
@@ -499,22 +543,17 @@ var import_i18n2 = require("@wordpress/i18n");
|
|
|
499
543
|
// src/components/style-indicator.tsx
|
|
500
544
|
var import_ui3 = require("@elementor/ui");
|
|
501
545
|
var StyleIndicator = (0, import_ui3.styled)("div", {
|
|
502
|
-
shouldForwardProp: (prop) =>
|
|
546
|
+
shouldForwardProp: (prop) => !["isOverridden", "getColor"].includes(prop)
|
|
503
547
|
})`
|
|
504
548
|
width: 5px;
|
|
505
549
|
height: 5px;
|
|
506
550
|
border-radius: 50%;
|
|
507
|
-
background-color: ${({ theme,
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
return theme.palette.warning.light;
|
|
511
|
-
case "global":
|
|
512
|
-
return theme.palette.global.dark;
|
|
513
|
-
case "local":
|
|
514
|
-
return theme.palette.accent.main;
|
|
515
|
-
default:
|
|
516
|
-
return theme.palette.text.disabled;
|
|
551
|
+
background-color: ${({ theme, isOverridden, getColor }) => {
|
|
552
|
+
if (isOverridden) {
|
|
553
|
+
return theme.palette.warning.light;
|
|
517
554
|
}
|
|
555
|
+
const providerColor = getColor?.(theme);
|
|
556
|
+
return providerColor ?? theme.palette.text.disabled;
|
|
518
557
|
}};
|
|
519
558
|
`;
|
|
520
559
|
|
|
@@ -523,16 +562,9 @@ var import_react8 = require("react");
|
|
|
523
562
|
var import_editor_documents = require("@elementor/editor-documents");
|
|
524
563
|
var import_editor_elements = require("@elementor/editor-elements");
|
|
525
564
|
var import_editor_props = require("@elementor/editor-props");
|
|
526
|
-
var
|
|
565
|
+
var import_editor_styles_repository3 = require("@elementor/editor-styles-repository");
|
|
527
566
|
var import_editor_v1_adapters = require("@elementor/editor-v1-adapters");
|
|
528
567
|
var import_i18n = require("@wordpress/i18n");
|
|
529
|
-
|
|
530
|
-
// src/sync/experiments-flags.ts
|
|
531
|
-
var EXPERIMENTAL_FEATURES = {
|
|
532
|
-
V_3_30: "e_v_3_30"
|
|
533
|
-
};
|
|
534
|
-
|
|
535
|
-
// src/components/css-classes/use-apply-and-unapply-class.ts
|
|
536
568
|
function useApplyClass() {
|
|
537
569
|
const { id: activeId, setId: setActiveId } = useStyle();
|
|
538
570
|
const { element } = useElement();
|
|
@@ -606,7 +638,7 @@ function useUnapplyClass() {
|
|
|
606
638
|
function useCreateAndApplyClass() {
|
|
607
639
|
const { id: activeId, setId: setActiveId } = useStyle();
|
|
608
640
|
const isVersion330Active = (0, import_editor_v1_adapters.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_30);
|
|
609
|
-
const [provider, createAction] = (0,
|
|
641
|
+
const [provider, createAction] = (0, import_editor_styles_repository3.useGetStylesRepositoryCreateAction)() ?? [null, null];
|
|
610
642
|
const deleteAction = provider?.actions.delete;
|
|
611
643
|
const applyClass = useApply();
|
|
612
644
|
const unapplyClass = useUnapply();
|
|
@@ -749,7 +781,7 @@ function CssClassMenu({ popupState, anchorEl, fixed }) {
|
|
|
749
781
|
}
|
|
750
782
|
function useModifiedStates(styleId) {
|
|
751
783
|
const { meta } = useStyle();
|
|
752
|
-
const styleDef =
|
|
784
|
+
const styleDef = import_editor_styles_repository4.stylesRepository.all().find((style) => style.id === styleId);
|
|
753
785
|
return Object.fromEntries(
|
|
754
786
|
styleDef?.variants.filter((variant) => meta.breakpoint === variant.meta.breakpoint).map((variant) => [variant.meta.state ?? "normal", true]) ?? []
|
|
755
787
|
);
|
|
@@ -762,7 +794,7 @@ function getMenuItemsByProvider({
|
|
|
762
794
|
if (!provider) {
|
|
763
795
|
return [];
|
|
764
796
|
}
|
|
765
|
-
const providerInstance =
|
|
797
|
+
const providerInstance = import_editor_styles_repository4.stylesRepository.getProviderByKey(provider);
|
|
766
798
|
const providerActions = providerInstance?.actions;
|
|
767
799
|
const canUpdate = providerActions?.update;
|
|
768
800
|
const canUnapply = !fixed;
|
|
@@ -789,10 +821,9 @@ function StateMenuItem({ state, closeMenu, ...props }) {
|
|
|
789
821
|
const { id: styleId, provider } = useCssClass();
|
|
790
822
|
const { id: activeId, setId: setActiveId, setMetaState: setActiveMetaState, meta } = useStyle();
|
|
791
823
|
const { state: activeState } = meta;
|
|
792
|
-
const { userCan } = (0,
|
|
824
|
+
const { userCan } = (0, import_editor_styles_repository4.useUserStylesCapability)();
|
|
793
825
|
const modifiedStates = useModifiedStates(styleId);
|
|
794
826
|
const isUpdateAllowed = !state || userCan(provider ?? "").updateProps;
|
|
795
|
-
const indicatorVariant = !provider || (0, import_editor_styles_repository3.isElementsStylesProvider)(provider) ? "local" : "global";
|
|
796
827
|
const isStyled = modifiedStates[state ?? "normal"] ?? false;
|
|
797
828
|
const disabled = !isUpdateAllowed && !isStyled;
|
|
798
829
|
const isActive = styleId === activeId;
|
|
@@ -818,7 +849,13 @@ function StateMenuItem({ state, closeMenu, ...props }) {
|
|
|
818
849
|
showInfoTip: disabled,
|
|
819
850
|
content: (0, import_i18n2.__)("With your current role, you can only use existing states.", "elementor")
|
|
820
851
|
},
|
|
821
|
-
/* @__PURE__ */ React6.createElement(import_ui4.Stack, { gap: 0.75, direction: "row", alignItems: "center" }, isStyled && /* @__PURE__ */ React6.createElement(
|
|
852
|
+
/* @__PURE__ */ React6.createElement(import_ui4.Stack, { gap: 0.75, direction: "row", alignItems: "center" }, isStyled && /* @__PURE__ */ React6.createElement(
|
|
853
|
+
StyleIndicator,
|
|
854
|
+
{
|
|
855
|
+
"aria-label": (0, import_i18n2.__)("Has style", "elementor"),
|
|
856
|
+
getColor: getStylesProviderThemeColor(provider ?? "")
|
|
857
|
+
}
|
|
858
|
+
), state ?? "normal")
|
|
822
859
|
)
|
|
823
860
|
);
|
|
824
861
|
}
|
|
@@ -839,7 +876,7 @@ function UnapplyClassMenuItem({ closeMenu, ...props }) {
|
|
|
839
876
|
}
|
|
840
877
|
function RenameClassMenuItem({ closeMenu }) {
|
|
841
878
|
const { handleRename, provider } = useCssClass();
|
|
842
|
-
const { userCan } = (0,
|
|
879
|
+
const { userCan } = (0, import_editor_styles_repository4.useUserStylesCapability)();
|
|
843
880
|
if (!provider) {
|
|
844
881
|
return null;
|
|
845
882
|
}
|
|
@@ -876,7 +913,7 @@ function CssClassItem(props) {
|
|
|
876
913
|
const popupState = (0, import_ui5.usePopupState)({ variant: "popover" });
|
|
877
914
|
const [chipRef, setChipRef] = (0, import_react9.useState)(null);
|
|
878
915
|
const { onDelete, ...chipGroupProps } = chipProps;
|
|
879
|
-
const { userCan } = (0,
|
|
916
|
+
const { userCan } = (0, import_editor_styles_repository5.useUserStylesCapability)();
|
|
880
917
|
const {
|
|
881
918
|
ref,
|
|
882
919
|
isEditing,
|
|
@@ -890,7 +927,7 @@ function CssClassItem(props) {
|
|
|
890
927
|
onError: setError
|
|
891
928
|
});
|
|
892
929
|
const color = error ? "error" : colorProp;
|
|
893
|
-
const providerActions = provider ?
|
|
930
|
+
const providerActions = provider ? import_editor_styles_repository5.stylesRepository.getProviderByKey(provider)?.actions : null;
|
|
894
931
|
const allowRename = Boolean(providerActions?.update) && userCan(provider ?? "")?.update;
|
|
895
932
|
const isShowingState = isActive && meta.state;
|
|
896
933
|
return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement(
|
|
@@ -957,7 +994,7 @@ function CssClassItem(props) {
|
|
|
957
994
|
), /* @__PURE__ */ React7.createElement(CssClassProvider, { ...classProps, handleRename: openEditMode }, /* @__PURE__ */ React7.createElement(CssClassMenu, { popupState, anchorEl: chipRef, fixed })));
|
|
958
995
|
}
|
|
959
996
|
var validateLabel = (newLabel) => {
|
|
960
|
-
const result = (0,
|
|
997
|
+
const result = (0, import_editor_styles_repository5.validateStyleLabel)(newLabel, "rename");
|
|
961
998
|
if (result.isValid) {
|
|
962
999
|
return null;
|
|
963
1000
|
}
|
|
@@ -986,7 +1023,7 @@ function CssClassSelector() {
|
|
|
986
1023
|
const appliedOptions = useAppliedOptions(options12);
|
|
987
1024
|
const active = appliedOptions.find((option) => option.value === activeId) ?? EMPTY_OPTION;
|
|
988
1025
|
const showPlaceholder = appliedOptions.every(({ fixed }) => fixed);
|
|
989
|
-
const { userCan } = (0,
|
|
1026
|
+
const { userCan } = (0, import_editor_styles_repository6.useUserStylesCapability)();
|
|
990
1027
|
const canEdit = active.provider ? userCan(active.provider).updateProps : true;
|
|
991
1028
|
return /* @__PURE__ */ React8.createElement(import_ui6.Stack, { p: 2 }, /* @__PURE__ */ React8.createElement(import_ui6.Stack, { direction: "row", gap: 1, alignItems: "center", justifyContent: "space-between" }, /* @__PURE__ */ React8.createElement(import_ui6.FormLabel, { htmlFor: ID, size: "small" }, (0, import_i18n4.__)("Classes", "elementor")), /* @__PURE__ */ React8.createElement(import_ui6.Stack, { direction: "row", gap: 1 }, /* @__PURE__ */ React8.createElement(ClassSelectorActionsSlot, null))), /* @__PURE__ */ React8.createElement(
|
|
992
1029
|
import_editor_ui3.WarningInfotip,
|
|
@@ -1042,16 +1079,7 @@ function CssClassSelector() {
|
|
|
1042
1079
|
})
|
|
1043
1080
|
}
|
|
1044
1081
|
)
|
|
1045
|
-
), !canEdit && /* @__PURE__ */ React8.createElement(
|
|
1046
|
-
import_editor_ui3.InfoAlert,
|
|
1047
|
-
{
|
|
1048
|
-
content: (0, import_i18n4.__)(
|
|
1049
|
-
"With your current role, you can use existing classes but can\u2019t modify them.",
|
|
1050
|
-
"elementor"
|
|
1051
|
-
),
|
|
1052
|
-
sx: { mt: 1 }
|
|
1053
|
-
}
|
|
1054
|
-
));
|
|
1082
|
+
), !canEdit && /* @__PURE__ */ React8.createElement(import_editor_ui3.InfoAlert, { sx: { mt: 1 } }, (0, import_i18n4.__)("With your current role, you can use existing classes but can\u2019t modify them.", "elementor")));
|
|
1055
1083
|
}
|
|
1056
1084
|
var EmptyState = ({ searchValue, onClear }) => /* @__PURE__ */ React8.createElement(import_ui6.Box, { sx: { py: 4 } }, /* @__PURE__ */ React8.createElement(
|
|
1057
1085
|
import_ui6.Stack,
|
|
@@ -1071,7 +1099,7 @@ var updateClassByProvider = (provider, data) => {
|
|
|
1071
1099
|
if (!provider) {
|
|
1072
1100
|
return;
|
|
1073
1101
|
}
|
|
1074
|
-
const providerInstance =
|
|
1102
|
+
const providerInstance = import_editor_styles_repository6.stylesRepository.getProviderByKey(provider);
|
|
1075
1103
|
if (!providerInstance) {
|
|
1076
1104
|
return;
|
|
1077
1105
|
}
|
|
@@ -1080,8 +1108,8 @@ var updateClassByProvider = (provider, data) => {
|
|
|
1080
1108
|
function useOptions() {
|
|
1081
1109
|
const { element } = useElement();
|
|
1082
1110
|
const isProviderEditable = (provider) => !!provider.actions.updateProps;
|
|
1083
|
-
return (0,
|
|
1084
|
-
const isElements = (0,
|
|
1111
|
+
return (0, import_editor_styles_repository6.useProviders)().filter(isProviderEditable).flatMap((provider) => {
|
|
1112
|
+
const isElements = (0, import_editor_styles_repository6.isElementsStylesProvider)(provider.getKey());
|
|
1085
1113
|
const styleDefs = provider.actions.all({ elementId: element.id });
|
|
1086
1114
|
if (isElements && styleDefs.length === 0) {
|
|
1087
1115
|
return [EMPTY_OPTION];
|
|
@@ -1091,7 +1119,7 @@ function useOptions() {
|
|
|
1091
1119
|
label: styleDef.label,
|
|
1092
1120
|
value: styleDef.id,
|
|
1093
1121
|
fixed: isElements,
|
|
1094
|
-
color:
|
|
1122
|
+
color: getStylesProviderColorName(provider.getKey()),
|
|
1095
1123
|
icon: isElements ? /* @__PURE__ */ React8.createElement(import_icons2.MapPinIcon, null) : null,
|
|
1096
1124
|
provider: provider.getKey()
|
|
1097
1125
|
};
|
|
@@ -1116,7 +1144,7 @@ function useCreateAction() {
|
|
|
1116
1144
|
)
|
|
1117
1145
|
};
|
|
1118
1146
|
}
|
|
1119
|
-
return (0,
|
|
1147
|
+
return (0, import_editor_styles_repository6.validateStyleLabel)(newClassLabel, event);
|
|
1120
1148
|
};
|
|
1121
1149
|
const entityName = provider.labels.singular && provider.labels.plural ? provider.labels : void 0;
|
|
1122
1150
|
return { create, validate, entityName };
|
|
@@ -1130,7 +1158,7 @@ function useAppliedOptions(options12) {
|
|
|
1130
1158
|
const appliedIds = (0, import_editor_elements2.useElementSetting)(element.id, currentClassesProp)?.value || [];
|
|
1131
1159
|
const appliedOptions = options12.filter((option) => option.value && appliedIds.includes(option.value));
|
|
1132
1160
|
const hasElementsProviderStyleApplied = appliedOptions.some(
|
|
1133
|
-
(option) => option.provider && (0,
|
|
1161
|
+
(option) => option.provider && (0, import_editor_styles_repository6.isElementsStylesProvider)(option.provider)
|
|
1134
1162
|
);
|
|
1135
1163
|
if (!hasElementsProviderStyleApplied) {
|
|
1136
1164
|
appliedOptions.unshift(EMPTY_OPTION);
|
|
@@ -1159,15 +1187,15 @@ function useHandleSelect() {
|
|
|
1159
1187
|
var import_editor_panels2 = require("@elementor/editor-panels");
|
|
1160
1188
|
|
|
1161
1189
|
// src/components/editing-panel.tsx
|
|
1162
|
-
var
|
|
1163
|
-
var
|
|
1190
|
+
var React86 = __toESM(require("react"));
|
|
1191
|
+
var import_editor_controls51 = require("@elementor/editor-controls");
|
|
1164
1192
|
var import_editor_elements8 = require("@elementor/editor-elements");
|
|
1165
1193
|
var import_editor_panels = require("@elementor/editor-panels");
|
|
1166
1194
|
var import_editor_ui5 = require("@elementor/editor-ui");
|
|
1167
1195
|
var import_icons24 = require("@elementor/icons");
|
|
1168
1196
|
var import_session5 = require("@elementor/session");
|
|
1169
|
-
var
|
|
1170
|
-
var
|
|
1197
|
+
var import_ui45 = require("@elementor/ui");
|
|
1198
|
+
var import_i18n59 = require("@wordpress/i18n");
|
|
1171
1199
|
|
|
1172
1200
|
// src/controls-actions.ts
|
|
1173
1201
|
var import_menus = require("@elementor/menus");
|
|
@@ -1186,14 +1214,13 @@ function Action({ title, visible = true, icon: Icon, onClick }) {
|
|
|
1186
1214
|
// src/popover-action.tsx
|
|
1187
1215
|
var React10 = __toESM(require("react"));
|
|
1188
1216
|
var import_react11 = require("react");
|
|
1189
|
-
var import_editor_ui4 = require("@elementor/editor-ui");
|
|
1190
1217
|
var import_ui8 = require("@elementor/ui");
|
|
1191
1218
|
var SIZE2 = "tiny";
|
|
1192
1219
|
function PopoverAction({
|
|
1193
1220
|
title,
|
|
1194
1221
|
visible = true,
|
|
1195
1222
|
icon: Icon,
|
|
1196
|
-
|
|
1223
|
+
content: PopoverContent
|
|
1197
1224
|
}) {
|
|
1198
1225
|
const id = (0, import_react11.useId)();
|
|
1199
1226
|
const popupState = (0, import_ui8.usePopupState)({
|
|
@@ -1210,12 +1237,18 @@ function PopoverAction({
|
|
|
1210
1237
|
disableScrollLock: true,
|
|
1211
1238
|
anchorOrigin: {
|
|
1212
1239
|
vertical: "bottom",
|
|
1213
|
-
horizontal: "
|
|
1240
|
+
horizontal: "right"
|
|
1241
|
+
},
|
|
1242
|
+
transformOrigin: {
|
|
1243
|
+
vertical: "top",
|
|
1244
|
+
horizontal: "right"
|
|
1245
|
+
},
|
|
1246
|
+
PaperProps: {
|
|
1247
|
+
sx: { my: 2.5 }
|
|
1214
1248
|
},
|
|
1215
1249
|
...(0, import_ui8.bindPopover)(popupState)
|
|
1216
1250
|
},
|
|
1217
|
-
/* @__PURE__ */ React10.createElement(
|
|
1218
|
-
/* @__PURE__ */ React10.createElement(PopoverContent2, { closePopover: popupState.close })
|
|
1251
|
+
/* @__PURE__ */ React10.createElement(PopoverContent, { close: popupState.close })
|
|
1219
1252
|
));
|
|
1220
1253
|
}
|
|
1221
1254
|
|
|
@@ -1235,11 +1268,11 @@ function EditorPanelErrorFallback() {
|
|
|
1235
1268
|
}
|
|
1236
1269
|
|
|
1237
1270
|
// src/components/editing-panel-tabs.tsx
|
|
1238
|
-
var
|
|
1239
|
-
var
|
|
1240
|
-
var
|
|
1241
|
-
var
|
|
1242
|
-
var
|
|
1271
|
+
var React85 = __toESM(require("react"));
|
|
1272
|
+
var import_react38 = require("react");
|
|
1273
|
+
var import_editor_v1_adapters18 = require("@elementor/editor-v1-adapters");
|
|
1274
|
+
var import_ui44 = require("@elementor/ui");
|
|
1275
|
+
var import_i18n58 = require("@wordpress/i18n");
|
|
1243
1276
|
|
|
1244
1277
|
// src/contexts/scroll-context.tsx
|
|
1245
1278
|
var React12 = __toESM(require("react"));
|
|
@@ -1297,6 +1330,10 @@ var defaultPanelSettingsContext = (0, import_react13.createContext)({
|
|
|
1297
1330
|
"e-flexbox": {
|
|
1298
1331
|
defaultSectionsExpanded: fallbackEditorSettings.defaultSectionsExpanded,
|
|
1299
1332
|
defaultTab: "style"
|
|
1333
|
+
},
|
|
1334
|
+
"e-divider": {
|
|
1335
|
+
defaultSectionsExpanded: fallbackEditorSettings.defaultSectionsExpanded,
|
|
1336
|
+
defaultTab: "style"
|
|
1300
1337
|
}
|
|
1301
1338
|
});
|
|
1302
1339
|
var useDefaultPanelSettings = () => {
|
|
@@ -1325,7 +1362,7 @@ var useStateByElement = (key, initialValue) => {
|
|
|
1325
1362
|
// src/components/settings-tab.tsx
|
|
1326
1363
|
var React19 = __toESM(require("react"));
|
|
1327
1364
|
var import_editor_controls4 = require("@elementor/editor-controls");
|
|
1328
|
-
var
|
|
1365
|
+
var import_editor_v1_adapters5 = require("@elementor/editor-v1-adapters");
|
|
1329
1366
|
var import_session2 = require("@elementor/session");
|
|
1330
1367
|
var import_ui16 = require("@elementor/ui");
|
|
1331
1368
|
|
|
@@ -1334,19 +1371,23 @@ var React13 = __toESM(require("react"));
|
|
|
1334
1371
|
|
|
1335
1372
|
// src/controls-registry/controls-registry.tsx
|
|
1336
1373
|
var import_editor_controls2 = require("@elementor/editor-controls");
|
|
1374
|
+
var import_editor_props2 = require("@elementor/editor-props");
|
|
1337
1375
|
var controlTypes = {
|
|
1338
|
-
image: { component: import_editor_controls2.ImageControl, layout: "full" },
|
|
1339
|
-
"svg-media": { component: import_editor_controls2.SvgMediaControl, layout: "full" },
|
|
1340
|
-
text: { component: import_editor_controls2.TextControl, layout: "full" },
|
|
1341
|
-
textarea: { component: import_editor_controls2.TextAreaControl, layout: "full" },
|
|
1342
|
-
size: { component: import_editor_controls2.SizeControl, layout: "two-columns" },
|
|
1343
|
-
select: { component: import_editor_controls2.SelectControl, layout: "two-columns" },
|
|
1344
|
-
link: { component: import_editor_controls2.LinkControl, layout: "
|
|
1345
|
-
url: { component: import_editor_controls2.UrlControl, layout: "full" },
|
|
1346
|
-
switch: { component: import_editor_controls2.SwitchControl, layout: "two-columns" }
|
|
1376
|
+
image: { component: import_editor_controls2.ImageControl, layout: "full", propTypeUtil: import_editor_props2.imagePropTypeUtil },
|
|
1377
|
+
"svg-media": { component: import_editor_controls2.SvgMediaControl, layout: "full", propTypeUtil: import_editor_props2.imageSrcPropTypeUtil },
|
|
1378
|
+
text: { component: import_editor_controls2.TextControl, layout: "full", propTypeUtil: import_editor_props2.stringPropTypeUtil },
|
|
1379
|
+
textarea: { component: import_editor_controls2.TextAreaControl, layout: "full", propTypeUtil: import_editor_props2.stringPropTypeUtil },
|
|
1380
|
+
size: { component: import_editor_controls2.SizeControl, layout: "two-columns", propTypeUtil: import_editor_props2.sizePropTypeUtil },
|
|
1381
|
+
select: { component: import_editor_controls2.SelectControl, layout: "two-columns", propTypeUtil: import_editor_props2.stringPropTypeUtil },
|
|
1382
|
+
link: { component: import_editor_controls2.LinkControl, layout: "custom", propTypeUtil: import_editor_props2.linkPropTypeUtil },
|
|
1383
|
+
url: { component: import_editor_controls2.UrlControl, layout: "full", propTypeUtil: import_editor_props2.stringPropTypeUtil },
|
|
1384
|
+
switch: { component: import_editor_controls2.SwitchControl, layout: "two-columns", propTypeUtil: import_editor_props2.booleanPropTypeUtil },
|
|
1385
|
+
repeatable: { component: import_editor_controls2.RepeatableControl, layout: "full", propTypeUtil: void 0 },
|
|
1386
|
+
"key-value": { component: import_editor_controls2.KeyValueControl, layout: "full", propTypeUtil: import_editor_props2.keyValuePropTypeUtil }
|
|
1347
1387
|
};
|
|
1348
1388
|
var getControl = (type) => controlTypes[type]?.component;
|
|
1349
1389
|
var getDefaultLayout = (type) => controlTypes[type].layout;
|
|
1390
|
+
var getPropTypeUtil = (type) => controlTypes[type]?.propTypeUtil;
|
|
1350
1391
|
|
|
1351
1392
|
// src/controls-registry/control.tsx
|
|
1352
1393
|
var Control = ({ props, type }) => {
|
|
@@ -1364,6 +1405,9 @@ var Control = ({ props, type }) => {
|
|
|
1364
1405
|
var React14 = __toESM(require("react"));
|
|
1365
1406
|
var import_ui11 = require("@elementor/ui");
|
|
1366
1407
|
var ControlTypeContainer = ({ children, layout }) => {
|
|
1408
|
+
if (layout === "custom") {
|
|
1409
|
+
return children;
|
|
1410
|
+
}
|
|
1367
1411
|
return /* @__PURE__ */ React14.createElement(StyledContainer, { layout }, children);
|
|
1368
1412
|
};
|
|
1369
1413
|
var StyledContainer = (0, import_ui11.styled)(import_ui11.Box, {
|
|
@@ -1383,8 +1427,12 @@ var getGridLayout = (layout) => ({
|
|
|
1383
1427
|
|
|
1384
1428
|
// src/controls-registry/settings-field.tsx
|
|
1385
1429
|
var React15 = __toESM(require("react"));
|
|
1430
|
+
var import_react15 = require("react");
|
|
1386
1431
|
var import_editor_controls3 = require("@elementor/editor-controls");
|
|
1432
|
+
var import_editor_documents2 = require("@elementor/editor-documents");
|
|
1387
1433
|
var import_editor_elements3 = require("@elementor/editor-elements");
|
|
1434
|
+
var import_editor_v1_adapters3 = require("@elementor/editor-v1-adapters");
|
|
1435
|
+
var import_i18n5 = require("@wordpress/i18n");
|
|
1388
1436
|
|
|
1389
1437
|
// src/controls-registry/create-top-level-object-type.ts
|
|
1390
1438
|
var createTopLevelOjectType = ({ schema }) => {
|
|
@@ -1400,26 +1448,69 @@ var createTopLevelOjectType = ({ schema }) => {
|
|
|
1400
1448
|
};
|
|
1401
1449
|
|
|
1402
1450
|
// src/controls-registry/settings-field.tsx
|
|
1403
|
-
var SettingsField = ({ bind, children }) => {
|
|
1451
|
+
var SettingsField = ({ bind, children, propDisplayName }) => {
|
|
1404
1452
|
const { element, elementType } = useElement();
|
|
1405
1453
|
const settingsValue = (0, import_editor_elements3.useElementSetting)(element.id, bind);
|
|
1406
1454
|
const value = { [bind]: settingsValue };
|
|
1407
1455
|
const propType = createTopLevelOjectType({ schema: elementType.propsSchema });
|
|
1456
|
+
const undoableUpdateElementProp = useUndoableUpdateElementProp({
|
|
1457
|
+
propKey: bind,
|
|
1458
|
+
elementId: element.id,
|
|
1459
|
+
propDisplayName
|
|
1460
|
+
});
|
|
1408
1461
|
const setValue = (newValue) => {
|
|
1409
|
-
(0,
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
}
|
|
1462
|
+
const isVersion331Active = (0, import_editor_v1_adapters3.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_31);
|
|
1463
|
+
if (isVersion331Active) {
|
|
1464
|
+
undoableUpdateElementProp({ newValue });
|
|
1465
|
+
} else {
|
|
1466
|
+
(0, import_editor_elements3.updateElementSettings)({ id: element.id, props: newValue });
|
|
1467
|
+
}
|
|
1413
1468
|
};
|
|
1414
1469
|
return /* @__PURE__ */ React15.createElement(import_editor_controls3.PropProvider, { propType, value, setValue }, /* @__PURE__ */ React15.createElement(import_editor_controls3.PropKeyProvider, { bind }, children));
|
|
1415
1470
|
};
|
|
1471
|
+
function useUndoableUpdateElementProp({
|
|
1472
|
+
propKey,
|
|
1473
|
+
elementId,
|
|
1474
|
+
propDisplayName
|
|
1475
|
+
}) {
|
|
1476
|
+
return (0, import_react15.useMemo)(() => {
|
|
1477
|
+
return (0, import_editor_v1_adapters3.undoable)(
|
|
1478
|
+
{
|
|
1479
|
+
do: ({ newValue }) => {
|
|
1480
|
+
const prevPropValue = (0, import_editor_elements3.getElementSetting)(elementId, propKey);
|
|
1481
|
+
(0, import_editor_elements3.updateElementSettings)({ id: elementId, props: { ...newValue }, withHistory: false });
|
|
1482
|
+
(0, import_editor_documents2.setDocumentModifiedStatus)(true);
|
|
1483
|
+
return { [propKey]: prevPropValue };
|
|
1484
|
+
},
|
|
1485
|
+
undo: ({}, prevProps) => {
|
|
1486
|
+
(0, import_editor_elements3.updateElementSettings)({ id: elementId, props: prevProps, withHistory: false });
|
|
1487
|
+
}
|
|
1488
|
+
},
|
|
1489
|
+
{
|
|
1490
|
+
title: (0, import_editor_elements3.getElementLabel)(elementId),
|
|
1491
|
+
// translators: %s is the name of the property that was edited.
|
|
1492
|
+
subtitle: (0, import_i18n5.__)("%s edited", "elementor").replace("%s", propDisplayName)
|
|
1493
|
+
}
|
|
1494
|
+
);
|
|
1495
|
+
}, [propKey, elementId, propDisplayName]);
|
|
1496
|
+
}
|
|
1416
1497
|
|
|
1417
1498
|
// src/components/section.tsx
|
|
1418
1499
|
var React17 = __toESM(require("react"));
|
|
1419
|
-
var
|
|
1420
|
-
var
|
|
1500
|
+
var import_react18 = require("react");
|
|
1501
|
+
var import_editor_v1_adapters4 = require("@elementor/editor-v1-adapters");
|
|
1421
1502
|
var import_ui14 = require("@elementor/ui");
|
|
1422
1503
|
|
|
1504
|
+
// src/contexts/section-context.tsx
|
|
1505
|
+
var import_react16 = require("react");
|
|
1506
|
+
var FALLBACK_SECTION_WIDTH = 320;
|
|
1507
|
+
var SectionRefContext = (0, import_react16.createContext)(null);
|
|
1508
|
+
var useSectionRef = () => (0, import_react16.useContext)(SectionRefContext);
|
|
1509
|
+
var useSectionWidth = () => {
|
|
1510
|
+
const sectionRef = useSectionRef();
|
|
1511
|
+
return sectionRef?.current?.offsetWidth ?? FALLBACK_SECTION_WIDTH;
|
|
1512
|
+
};
|
|
1513
|
+
|
|
1423
1514
|
// src/components/collapse-icon.tsx
|
|
1424
1515
|
var import_icons3 = require("@elementor/icons");
|
|
1425
1516
|
var import_ui12 = require("@elementor/ui");
|
|
@@ -1434,9 +1525,9 @@ var CollapseIcon = (0, import_ui12.styled)(import_icons3.ChevronDownIcon, {
|
|
|
1434
1525
|
|
|
1435
1526
|
// src/components/collapsible-content.tsx
|
|
1436
1527
|
var React16 = __toESM(require("react"));
|
|
1437
|
-
var
|
|
1528
|
+
var import_react17 = require("react");
|
|
1438
1529
|
var import_ui13 = require("@elementor/ui");
|
|
1439
|
-
var
|
|
1530
|
+
var import_i18n6 = require("@wordpress/i18n");
|
|
1440
1531
|
var IndicatorsWrapper = (0, import_ui13.styled)("div")`
|
|
1441
1532
|
position: absolute;
|
|
1442
1533
|
top: 0;
|
|
@@ -1448,7 +1539,7 @@ var IndicatorsWrapper = (0, import_ui13.styled)("div")`
|
|
|
1448
1539
|
justify-content: center;
|
|
1449
1540
|
`;
|
|
1450
1541
|
var CollapsibleContent = ({ children, defaultOpen = false, titleEnd = null }) => {
|
|
1451
|
-
const [open, setOpen] = (0,
|
|
1542
|
+
const [open, setOpen] = (0, import_react17.useState)(defaultOpen);
|
|
1452
1543
|
const handleToggle = () => {
|
|
1453
1544
|
setOpen((prevOpen) => !prevOpen);
|
|
1454
1545
|
};
|
|
@@ -1463,7 +1554,7 @@ var CollapsibleContent = ({ children, defaultOpen = false, titleEnd = null }) =>
|
|
|
1463
1554
|
endIcon: /* @__PURE__ */ React16.createElement(CollapseIcon, { open }),
|
|
1464
1555
|
sx: { my: 0.5 }
|
|
1465
1556
|
},
|
|
1466
|
-
open ? (0,
|
|
1557
|
+
open ? (0, import_i18n6.__)("Show less", "elementor") : (0, import_i18n6.__)("Show more", "elementor")
|
|
1467
1558
|
), titleEnd && /* @__PURE__ */ React16.createElement(IndicatorsWrapper, null, getCollapsibleValue(titleEnd, open))), /* @__PURE__ */ React16.createElement(import_ui13.Collapse, { in: open, timeout: "auto", unmountOnExit: true }, children));
|
|
1468
1559
|
};
|
|
1469
1560
|
function getCollapsibleValue(value, isOpen) {
|
|
@@ -1476,13 +1567,14 @@ function getCollapsibleValue(value, isOpen) {
|
|
|
1476
1567
|
// src/components/section.tsx
|
|
1477
1568
|
function Section({ title, children, defaultExpanded = false, titleEnd }) {
|
|
1478
1569
|
const [isOpen, setIsOpen] = useStateByElement(title, !!defaultExpanded);
|
|
1570
|
+
const ref = (0, import_react18.useRef)(null);
|
|
1479
1571
|
const handleClick = () => {
|
|
1480
1572
|
setIsOpen(!isOpen);
|
|
1481
1573
|
};
|
|
1482
|
-
const id = (0,
|
|
1574
|
+
const id = (0, import_react18.useId)();
|
|
1483
1575
|
const labelId = `label-${id}`;
|
|
1484
1576
|
const contentId = `content-${id}`;
|
|
1485
|
-
const isUsingTitleEnd = (0,
|
|
1577
|
+
const isUsingTitleEnd = (0, import_editor_v1_adapters4.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_30);
|
|
1486
1578
|
return /* @__PURE__ */ React17.createElement(React17.Fragment, null, /* @__PURE__ */ React17.createElement(
|
|
1487
1579
|
import_ui14.ListItemButton,
|
|
1488
1580
|
{
|
|
@@ -1500,7 +1592,7 @@ function Section({ title, children, defaultExpanded = false, titleEnd }) {
|
|
|
1500
1592
|
}
|
|
1501
1593
|
), isUsingTitleEnd ? getCollapsibleValue(titleEnd, isOpen) : null),
|
|
1502
1594
|
/* @__PURE__ */ React17.createElement(CollapseIcon, { open: isOpen, color: "secondary", fontSize: "tiny" })
|
|
1503
|
-
), /* @__PURE__ */ React17.createElement(import_ui14.Collapse, { id: contentId, "aria-labelledby": labelId, in: isOpen, timeout: "auto", unmountOnExit: true }, /* @__PURE__ */ React17.createElement(import_ui14.Stack, { gap: 2.5, p: 2 }, children)), /* @__PURE__ */ React17.createElement(import_ui14.Divider, null));
|
|
1595
|
+
), /* @__PURE__ */ React17.createElement(import_ui14.Collapse, { id: contentId, "aria-labelledby": labelId, in: isOpen, timeout: "auto", unmountOnExit: true }, /* @__PURE__ */ React17.createElement(SectionRefContext.Provider, { value: ref }, /* @__PURE__ */ React17.createElement(import_ui14.Stack, { ref, gap: 2.5, p: 2 }, children))), /* @__PURE__ */ React17.createElement(import_ui14.Divider, null));
|
|
1504
1596
|
}
|
|
1505
1597
|
|
|
1506
1598
|
// src/components/sections-list.tsx
|
|
@@ -1514,7 +1606,7 @@ function SectionsList(props) {
|
|
|
1514
1606
|
var SettingsTab = () => {
|
|
1515
1607
|
const { elementType, element } = useElement();
|
|
1516
1608
|
const settingsDefault = useDefaultPanelSettings();
|
|
1517
|
-
const isDefaultExpanded = (sectionId) => (0,
|
|
1609
|
+
const isDefaultExpanded = (sectionId) => (0, import_editor_v1_adapters5.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_30) ? settingsDefault.defaultSectionsExpanded.settings?.includes(sectionId) : true;
|
|
1518
1610
|
return /* @__PURE__ */ React19.createElement(import_session2.SessionStorageProvider, { prefix: element.id }, /* @__PURE__ */ React19.createElement(SectionsList, null, elementType.controls.map(({ type, value }, index) => {
|
|
1519
1611
|
if (type === "control") {
|
|
1520
1612
|
return /* @__PURE__ */ React19.createElement(Control2, { key: value.bind, control: value });
|
|
@@ -1543,46 +1635,73 @@ var Control2 = ({ control }) => {
|
|
|
1543
1635
|
return null;
|
|
1544
1636
|
}
|
|
1545
1637
|
const layout = control.meta?.layout || getDefaultLayout(control.type);
|
|
1546
|
-
|
|
1638
|
+
const controlProps = populateChildControlProps(control.props);
|
|
1639
|
+
if (layout === "custom") {
|
|
1640
|
+
controlProps.label = control.label;
|
|
1641
|
+
}
|
|
1642
|
+
return /* @__PURE__ */ React19.createElement(SettingsField, { bind: control.bind, propDisplayName: control.label || control.bind }, control.meta?.topDivider && /* @__PURE__ */ React19.createElement(import_ui16.Divider, null), /* @__PURE__ */ React19.createElement(ControlTypeContainer, { layout }, control.label && layout !== "custom" ? /* @__PURE__ */ React19.createElement(import_editor_controls4.ControlFormLabel, null, control.label) : null, /* @__PURE__ */ React19.createElement(Control, { type: control.type, props: controlProps })));
|
|
1547
1643
|
};
|
|
1644
|
+
function populateChildControlProps(props) {
|
|
1645
|
+
if (props.childControlType) {
|
|
1646
|
+
const childComponent = getControl(props.childControlType);
|
|
1647
|
+
const childPropType = getPropTypeUtil(props.childControlType);
|
|
1648
|
+
props = {
|
|
1649
|
+
...props,
|
|
1650
|
+
childControlConfig: {
|
|
1651
|
+
component: childComponent,
|
|
1652
|
+
props: props.childControlProps || {},
|
|
1653
|
+
propTypeUtil: childPropType
|
|
1654
|
+
}
|
|
1655
|
+
};
|
|
1656
|
+
}
|
|
1657
|
+
return props;
|
|
1658
|
+
}
|
|
1548
1659
|
|
|
1549
1660
|
// src/components/style-tab.tsx
|
|
1550
|
-
var
|
|
1551
|
-
var
|
|
1552
|
-
var
|
|
1661
|
+
var React84 = __toESM(require("react"));
|
|
1662
|
+
var import_react37 = require("react");
|
|
1663
|
+
var import_editor_props10 = require("@elementor/editor-props");
|
|
1553
1664
|
var import_editor_responsive3 = require("@elementor/editor-responsive");
|
|
1554
1665
|
var import_session4 = require("@elementor/session");
|
|
1555
|
-
var
|
|
1556
|
-
var
|
|
1666
|
+
var import_ui43 = require("@elementor/ui");
|
|
1667
|
+
var import_i18n57 = require("@wordpress/i18n");
|
|
1557
1668
|
|
|
1558
1669
|
// src/contexts/styles-inheritance-context.tsx
|
|
1559
1670
|
var React20 = __toESM(require("react"));
|
|
1560
|
-
var
|
|
1671
|
+
var import_react20 = require("react");
|
|
1561
1672
|
var import_editor_elements4 = require("@elementor/editor-elements");
|
|
1562
|
-
var
|
|
1673
|
+
var import_editor_props5 = require("@elementor/editor-props");
|
|
1563
1674
|
var import_editor_responsive = require("@elementor/editor-responsive");
|
|
1564
1675
|
var import_editor_styles = require("@elementor/editor-styles");
|
|
1565
|
-
var
|
|
1676
|
+
var import_editor_styles_repository7 = require("@elementor/editor-styles-repository");
|
|
1566
1677
|
|
|
1567
1678
|
// src/hooks/use-styles-rerender.ts
|
|
1568
|
-
var
|
|
1679
|
+
var import_react19 = require("react");
|
|
1569
1680
|
var useStylesRerender = () => {
|
|
1570
1681
|
const { provider } = useStyle();
|
|
1571
|
-
const [, reRender] = (0,
|
|
1572
|
-
(0,
|
|
1682
|
+
const [, reRender] = (0, import_react19.useReducer)((p) => !p, false);
|
|
1683
|
+
(0, import_react19.useEffect)(() => provider?.subscribe(reRender), [provider]);
|
|
1573
1684
|
};
|
|
1574
1685
|
|
|
1575
1686
|
// src/styles-inheritance/create-styles-inheritance.ts
|
|
1576
|
-
var
|
|
1687
|
+
var import_editor_props4 = require("@elementor/editor-props");
|
|
1577
1688
|
|
|
1578
1689
|
// src/styles-inheritance/create-snapshots-manager.ts
|
|
1579
|
-
var
|
|
1690
|
+
var import_editor_props3 = require("@elementor/editor-props");
|
|
1580
1691
|
|
|
1581
1692
|
// src/styles-inheritance/utils.ts
|
|
1582
1693
|
var DEFAULT_STATE = "normal";
|
|
1583
1694
|
var DEFAULT_BREAKPOINT = "desktop";
|
|
1584
1695
|
var getStateKey = (state) => state ?? DEFAULT_STATE;
|
|
1585
1696
|
var getBreakpointKey = (breakpoint) => breakpoint ?? DEFAULT_BREAKPOINT;
|
|
1697
|
+
var getValueFromInheritanceChain = (inheritanceChain, styleId, meta) => inheritanceChain.find(
|
|
1698
|
+
({
|
|
1699
|
+
style,
|
|
1700
|
+
variant: {
|
|
1701
|
+
meta: { breakpoint, state }
|
|
1702
|
+
}
|
|
1703
|
+
}) => style.id === styleId && breakpoint === meta.breakpoint && state === meta.state
|
|
1704
|
+
);
|
|
1586
1705
|
|
|
1587
1706
|
// src/styles-inheritance/create-snapshots-manager.ts
|
|
1588
1707
|
function createSnapshotsManager(getStylesByMeta, breakpointsRoot) {
|
|
@@ -1668,7 +1787,7 @@ function buildInitialSnapshotFromStyles(styles) {
|
|
|
1668
1787
|
variant: { props }
|
|
1669
1788
|
} = styleData;
|
|
1670
1789
|
Object.entries(props).forEach(([key, value]) => {
|
|
1671
|
-
const filteredValue = (0,
|
|
1790
|
+
const filteredValue = (0, import_editor_props3.filterEmptyValues)(value);
|
|
1672
1791
|
if (filteredValue === null) {
|
|
1673
1792
|
return;
|
|
1674
1793
|
}
|
|
@@ -1714,7 +1833,7 @@ function createStylesInheritance(styleDefs, breakpointsRoot) {
|
|
|
1714
1833
|
inheritanceChain = inheritanceChain.map(({ value: styleValue, ...rest }) => ({
|
|
1715
1834
|
...rest,
|
|
1716
1835
|
value: getValueByPath(styleValue, nextFields, filterPropType)
|
|
1717
|
-
})).filter(({ value: styleValue }) => !(0,
|
|
1836
|
+
})).filter(({ value: styleValue }) => !(0, import_editor_props4.isEmpty)(styleValue));
|
|
1718
1837
|
}
|
|
1719
1838
|
return inheritanceChain;
|
|
1720
1839
|
}
|
|
@@ -1756,7 +1875,7 @@ function getValueByPath(value, path, filterPropType) {
|
|
|
1756
1875
|
if (!currentScope) {
|
|
1757
1876
|
return null;
|
|
1758
1877
|
}
|
|
1759
|
-
if ((0,
|
|
1878
|
+
if ((0, import_editor_props4.isTransformable)(currentScope)) {
|
|
1760
1879
|
return currentScope.value?.[key] ?? null;
|
|
1761
1880
|
}
|
|
1762
1881
|
if (typeof currentScope === "object") {
|
|
@@ -1766,7 +1885,7 @@ function getValueByPath(value, path, filterPropType) {
|
|
|
1766
1885
|
}, value);
|
|
1767
1886
|
}
|
|
1768
1887
|
function shouldUseOriginalValue(filterPropType, value) {
|
|
1769
|
-
return !!filterPropType && (0,
|
|
1888
|
+
return !!filterPropType && (0, import_editor_props4.isTransformable)(value) && filterPropType.key !== value.$$type;
|
|
1770
1889
|
}
|
|
1771
1890
|
var getFilterPropType = (propType, path) => {
|
|
1772
1891
|
if (!propType || propType.kind !== "union") {
|
|
@@ -1787,7 +1906,7 @@ var getFilterPropType = (propType, path) => {
|
|
|
1787
1906
|
};
|
|
1788
1907
|
|
|
1789
1908
|
// src/contexts/styles-inheritance-context.tsx
|
|
1790
|
-
var Context4 = (0,
|
|
1909
|
+
var Context4 = (0, import_react20.createContext)(null);
|
|
1791
1910
|
function StyleInheritanceProvider({ children }) {
|
|
1792
1911
|
const styleDefs = useAppliedStyles();
|
|
1793
1912
|
const breakpointsTree = (0, import_editor_responsive.getBreakpointsTree)();
|
|
@@ -1795,7 +1914,7 @@ function StyleInheritanceProvider({ children }) {
|
|
|
1795
1914
|
return /* @__PURE__ */ React20.createElement(Context4.Provider, { value: { getSnapshot, getInheritanceChain } }, children);
|
|
1796
1915
|
}
|
|
1797
1916
|
function useStylesInheritanceSnapshot() {
|
|
1798
|
-
const context = (0,
|
|
1917
|
+
const context = (0, import_react20.useContext)(Context4);
|
|
1799
1918
|
const { meta } = useStyle();
|
|
1800
1919
|
if (!context) {
|
|
1801
1920
|
throw new Error("useStylesInheritanceSnapshot must be used within a StyleInheritanceProvider");
|
|
@@ -1806,7 +1925,7 @@ function useStylesInheritanceSnapshot() {
|
|
|
1806
1925
|
return context.getSnapshot(meta) ?? null;
|
|
1807
1926
|
}
|
|
1808
1927
|
function useStylesInheritanceChain(path) {
|
|
1809
|
-
const context = (0,
|
|
1928
|
+
const context = (0, import_react20.useContext)(Context4);
|
|
1810
1929
|
if (!context) {
|
|
1811
1930
|
throw new Error("useStylesInheritanceChain must be used within a StyleInheritanceProvider");
|
|
1812
1931
|
}
|
|
@@ -1824,8 +1943,8 @@ var useAppliedStyles = () => {
|
|
|
1824
1943
|
const baseStyles = useBaseStyles();
|
|
1825
1944
|
useStylesRerender();
|
|
1826
1945
|
const classesProp = (0, import_editor_elements4.useElementSetting)(element.id, currentClassesProp);
|
|
1827
|
-
const appliedStyles =
|
|
1828
|
-
return
|
|
1946
|
+
const appliedStyles = import_editor_props5.classesPropTypeUtil.extract(classesProp) ?? [];
|
|
1947
|
+
return import_editor_styles_repository7.stylesRepository.all().filter((style) => [...baseStyles, ...appliedStyles].includes(style.id));
|
|
1829
1948
|
};
|
|
1830
1949
|
var useBaseStyles = () => {
|
|
1831
1950
|
const { elementType } = useElement();
|
|
@@ -1863,34 +1982,36 @@ function useActiveAndAppliedClassId(id, appliedClassesIds) {
|
|
|
1863
1982
|
// src/components/style-sections/background-section/background-section.tsx
|
|
1864
1983
|
var React29 = __toESM(require("react"));
|
|
1865
1984
|
var import_editor_controls7 = require("@elementor/editor-controls");
|
|
1985
|
+
var import_i18n12 = require("@wordpress/i18n");
|
|
1866
1986
|
|
|
1867
1987
|
// src/controls-registry/styles-field.tsx
|
|
1868
|
-
var
|
|
1988
|
+
var React27 = __toESM(require("react"));
|
|
1869
1989
|
var import_editor_controls6 = require("@elementor/editor-controls");
|
|
1870
1990
|
var import_editor_styles3 = require("@elementor/editor-styles");
|
|
1991
|
+
var import_editor_v1_adapters9 = require("@elementor/editor-v1-adapters");
|
|
1871
1992
|
|
|
1872
1993
|
// src/hooks/use-styles-fields.ts
|
|
1873
|
-
var
|
|
1994
|
+
var import_react21 = require("react");
|
|
1874
1995
|
var import_editor_elements6 = require("@elementor/editor-elements");
|
|
1875
1996
|
var import_editor_styles2 = require("@elementor/editor-styles");
|
|
1876
|
-
var
|
|
1877
|
-
var
|
|
1878
|
-
var
|
|
1997
|
+
var import_editor_styles_repository8 = require("@elementor/editor-styles-repository");
|
|
1998
|
+
var import_editor_v1_adapters6 = require("@elementor/editor-v1-adapters");
|
|
1999
|
+
var import_i18n7 = require("@wordpress/i18n");
|
|
1879
2000
|
function useStylesFields(propNames) {
|
|
1880
2001
|
const { element } = useElement();
|
|
1881
|
-
const { id, meta, provider } = useStyle();
|
|
2002
|
+
const { id, meta, provider, canEdit } = useStyle();
|
|
1882
2003
|
const classesProp = useClassesProp();
|
|
1883
2004
|
const undoableUpdateStyle = useUndoableUpdateStyle();
|
|
1884
2005
|
const undoableCreateElementStyle = useUndoableCreateElementStyle();
|
|
1885
2006
|
useStylesRerender();
|
|
1886
|
-
const
|
|
2007
|
+
const values = getProps({
|
|
1887
2008
|
elementId: element.id,
|
|
1888
2009
|
styleId: id,
|
|
1889
2010
|
provider,
|
|
1890
2011
|
meta,
|
|
1891
2012
|
propNames
|
|
1892
2013
|
});
|
|
1893
|
-
const
|
|
2014
|
+
const setValues = (props) => {
|
|
1894
2015
|
if (id === null) {
|
|
1895
2016
|
undoableCreateElementStyle({
|
|
1896
2017
|
elementId: element.id,
|
|
@@ -1908,7 +2029,7 @@ function useStylesFields(propNames) {
|
|
|
1908
2029
|
props
|
|
1909
2030
|
});
|
|
1910
2031
|
};
|
|
1911
|
-
return
|
|
2032
|
+
return { values, setValues, canEdit };
|
|
1912
2033
|
}
|
|
1913
2034
|
function getProps({ styleId, elementId, provider, meta, propNames }) {
|
|
1914
2035
|
if (!provider || !styleId) {
|
|
@@ -1924,13 +2045,13 @@ function getProps({ styleId, elementId, provider, meta, propNames }) {
|
|
|
1924
2045
|
);
|
|
1925
2046
|
}
|
|
1926
2047
|
function useUndoableCreateElementStyle() {
|
|
1927
|
-
return (0,
|
|
1928
|
-
return (0,
|
|
2048
|
+
return (0, import_react21.useMemo)(() => {
|
|
2049
|
+
return (0, import_editor_v1_adapters6.undoable)(
|
|
1929
2050
|
{
|
|
1930
2051
|
do: (payload) => {
|
|
1931
2052
|
return (0, import_editor_elements6.createElementStyle)({
|
|
1932
2053
|
...payload,
|
|
1933
|
-
label:
|
|
2054
|
+
label: import_editor_styles_repository8.ELEMENTS_STYLES_RESERVED_LABEL
|
|
1934
2055
|
});
|
|
1935
2056
|
},
|
|
1936
2057
|
undo: ({ elementId }, styleId) => {
|
|
@@ -1940,20 +2061,20 @@ function useUndoableCreateElementStyle() {
|
|
|
1940
2061
|
return (0, import_editor_elements6.createElementStyle)({
|
|
1941
2062
|
...payload,
|
|
1942
2063
|
styleId,
|
|
1943
|
-
label:
|
|
2064
|
+
label: import_editor_styles_repository8.ELEMENTS_STYLES_RESERVED_LABEL
|
|
1944
2065
|
});
|
|
1945
2066
|
}
|
|
1946
2067
|
},
|
|
1947
2068
|
{
|
|
1948
2069
|
title: ({ elementId }) => (0, import_editor_elements6.getElementLabel)(elementId),
|
|
1949
|
-
subtitle: (0,
|
|
2070
|
+
subtitle: (0, import_i18n7.__)("Style edited", "elementor")
|
|
1950
2071
|
}
|
|
1951
2072
|
);
|
|
1952
2073
|
}, []);
|
|
1953
2074
|
}
|
|
1954
2075
|
function useUndoableUpdateStyle() {
|
|
1955
|
-
return (0,
|
|
1956
|
-
return (0,
|
|
2076
|
+
return (0, import_react21.useMemo)(() => {
|
|
2077
|
+
return (0, import_editor_v1_adapters6.undoable)(
|
|
1957
2078
|
{
|
|
1958
2079
|
do: ({ elementId, styleId, provider, meta, props }) => {
|
|
1959
2080
|
if (!provider.actions.updateProps) {
|
|
@@ -1979,7 +2100,7 @@ function useUndoableUpdateStyle() {
|
|
|
1979
2100
|
},
|
|
1980
2101
|
{
|
|
1981
2102
|
title: ({ elementId }) => (0, import_editor_elements6.getElementLabel)(elementId),
|
|
1982
|
-
subtitle: (0,
|
|
2103
|
+
subtitle: (0, import_i18n7.__)("Style edited", "elementor")
|
|
1983
2104
|
}
|
|
1984
2105
|
);
|
|
1985
2106
|
}, []);
|
|
@@ -1995,27 +2116,27 @@ function getCurrentProps(style, meta) {
|
|
|
1995
2116
|
|
|
1996
2117
|
// src/hooks/use-styles-field.ts
|
|
1997
2118
|
function useStylesField(propName) {
|
|
1998
|
-
const
|
|
2119
|
+
const { values, setValues, canEdit } = useStylesFields([propName]);
|
|
1999
2120
|
const value = values?.[propName] ?? null;
|
|
2000
2121
|
const setValue = (newValue) => {
|
|
2001
2122
|
setValues({
|
|
2002
2123
|
[propName]: newValue
|
|
2003
2124
|
});
|
|
2004
2125
|
};
|
|
2005
|
-
return
|
|
2126
|
+
return { value, setValue, canEdit };
|
|
2006
2127
|
}
|
|
2007
2128
|
|
|
2008
2129
|
// src/styles-inheritance/components/styles-inheritance-indicator.tsx
|
|
2009
|
-
var
|
|
2130
|
+
var React26 = __toESM(require("react"));
|
|
2010
2131
|
var import_editor_controls5 = require("@elementor/editor-controls");
|
|
2011
|
-
var
|
|
2012
|
-
var
|
|
2013
|
-
var
|
|
2014
|
-
var
|
|
2015
|
-
var
|
|
2132
|
+
var import_editor_props6 = require("@elementor/editor-props");
|
|
2133
|
+
var import_editor_styles_repository11 = require("@elementor/editor-styles-repository");
|
|
2134
|
+
var import_editor_v1_adapters8 = require("@elementor/editor-v1-adapters");
|
|
2135
|
+
var import_ui23 = require("@elementor/ui");
|
|
2136
|
+
var import_i18n11 = require("@wordpress/i18n");
|
|
2016
2137
|
|
|
2017
2138
|
// src/styles-inheritance/consts.ts
|
|
2018
|
-
var
|
|
2139
|
+
var import_editor_v1_adapters7 = require("@elementor/editor-v1-adapters");
|
|
2019
2140
|
var excludePropTypeTransformers = /* @__PURE__ */ new Set([
|
|
2020
2141
|
"background-color-overlay",
|
|
2021
2142
|
"background-image-overlay",
|
|
@@ -2028,28 +2149,18 @@ var excludePropTypeTransformers = /* @__PURE__ */ new Set([
|
|
|
2028
2149
|
"image",
|
|
2029
2150
|
"background-overlay"
|
|
2030
2151
|
]);
|
|
2031
|
-
var isUsingIndicatorPopover = () => (0,
|
|
2152
|
+
var isUsingIndicatorPopover = () => (0, import_editor_v1_adapters7.isExperimentActive)("e_v_3_30");
|
|
2032
2153
|
|
|
2033
2154
|
// src/styles-inheritance/components/styles-inheritance-infotip.tsx
|
|
2034
|
-
var
|
|
2035
|
-
var
|
|
2155
|
+
var React25 = __toESM(require("react"));
|
|
2156
|
+
var import_react23 = require("react");
|
|
2036
2157
|
var import_editor_canvas2 = require("@elementor/editor-canvas");
|
|
2037
|
-
var
|
|
2038
|
-
var
|
|
2039
|
-
|
|
2040
|
-
// src/components/section-content.tsx
|
|
2041
|
-
var import_react20 = require("react");
|
|
2042
|
-
var React21 = __toESM(require("react"));
|
|
2043
|
-
var import_ui17 = require("@elementor/ui");
|
|
2044
|
-
var SectionContentRefContext = (0, import_react20.createContext)(null);
|
|
2045
|
-
var useSectionContentRef = () => (0, import_react20.useContext)(SectionContentRefContext);
|
|
2046
|
-
var SectionContent = ({ gap = 2, sx, children }) => {
|
|
2047
|
-
const ref = (0, import_react20.useRef)(null);
|
|
2048
|
-
return /* @__PURE__ */ React21.createElement(SectionContentRefContext.Provider, { value: ref }, /* @__PURE__ */ React21.createElement(import_ui17.Stack, { gap, sx: { ...sx }, ref }, children));
|
|
2049
|
-
};
|
|
2158
|
+
var import_editor_ui4 = require("@elementor/editor-ui");
|
|
2159
|
+
var import_ui22 = require("@elementor/ui");
|
|
2160
|
+
var import_i18n10 = require("@wordpress/i18n");
|
|
2050
2161
|
|
|
2051
2162
|
// src/hooks/use-direction.ts
|
|
2052
|
-
var
|
|
2163
|
+
var import_ui17 = require("@elementor/ui");
|
|
2053
2164
|
|
|
2054
2165
|
// src/sync/get-elementor-globals.ts
|
|
2055
2166
|
var getElementorConfig = () => {
|
|
@@ -2063,26 +2174,26 @@ var getElementorFrontendConfig = () => {
|
|
|
2063
2174
|
|
|
2064
2175
|
// src/hooks/use-direction.ts
|
|
2065
2176
|
function useDirection() {
|
|
2066
|
-
const theme = (0,
|
|
2177
|
+
const theme = (0, import_ui17.useTheme)();
|
|
2067
2178
|
const isUiRtl = "rtl" === theme.direction, isSiteRtl = !!getElementorFrontendConfig()?.is_rtl;
|
|
2068
2179
|
return { isSiteRtl, isUiRtl };
|
|
2069
2180
|
}
|
|
2070
2181
|
|
|
2071
2182
|
// src/styles-inheritance/hooks/use-normalized-inheritance-chain-items.tsx
|
|
2072
|
-
var
|
|
2073
|
-
var
|
|
2074
|
-
var
|
|
2183
|
+
var import_react22 = require("react");
|
|
2184
|
+
var import_editor_styles_repository9 = require("@elementor/editor-styles-repository");
|
|
2185
|
+
var import_i18n8 = require("@wordpress/i18n");
|
|
2075
2186
|
var MAXIMUM_ITEMS = 2;
|
|
2076
2187
|
var useNormalizedInheritanceChainItems = (inheritanceChain, bind, resolve) => {
|
|
2077
|
-
const [items3, setItems] = (0,
|
|
2078
|
-
(0,
|
|
2188
|
+
const [items3, setItems] = (0, import_react22.useState)([]);
|
|
2189
|
+
(0, import_react22.useEffect)(() => {
|
|
2079
2190
|
(async () => {
|
|
2080
2191
|
const normalizedItems = await Promise.all(
|
|
2081
2192
|
inheritanceChain.filter(({ style }) => style).map((item, index) => normalizeInheritanceItem(item, index, bind, resolve))
|
|
2082
2193
|
);
|
|
2083
2194
|
const validItems = normalizedItems.map((item) => ({
|
|
2084
2195
|
...item,
|
|
2085
|
-
displayLabel:
|
|
2196
|
+
displayLabel: import_editor_styles_repository9.ELEMENTS_BASE_STYLES_PROVIDER_KEY !== item.provider ? item.displayLabel : (0, import_i18n8.__)("Base", "elementor")
|
|
2086
2197
|
})).filter((item) => !item.value || item.displayLabel !== "").slice(0, MAXIMUM_ITEMS);
|
|
2087
2198
|
setItems(validItems);
|
|
2088
2199
|
})();
|
|
@@ -2103,8 +2214,7 @@ var normalizeInheritanceItem = async (item, index, bind, resolve) => {
|
|
|
2103
2214
|
provider: item.provider || "",
|
|
2104
2215
|
breakpoint: breakpoint ?? DEFAULT_BREAKPOINT2,
|
|
2105
2216
|
displayLabel,
|
|
2106
|
-
value: await getTransformedValue(item, bind, resolve)
|
|
2107
|
-
chipColor: getChipColor(item)
|
|
2217
|
+
value: await getTransformedValue(item, bind, resolve)
|
|
2108
2218
|
};
|
|
2109
2219
|
};
|
|
2110
2220
|
var getTransformedValue = async (item, bind, resolve) => {
|
|
@@ -2115,7 +2225,7 @@ var getTransformedValue = async (item, bind, resolve) => {
|
|
|
2115
2225
|
}
|
|
2116
2226
|
});
|
|
2117
2227
|
const value = result?.[bind] ?? result;
|
|
2118
|
-
if ((0,
|
|
2228
|
+
if ((0, import_react22.isValidElement)(value)) {
|
|
2119
2229
|
return value;
|
|
2120
2230
|
}
|
|
2121
2231
|
if (typeof value === "object") {
|
|
@@ -2126,26 +2236,16 @@ var getTransformedValue = async (item, bind, resolve) => {
|
|
|
2126
2236
|
return "";
|
|
2127
2237
|
}
|
|
2128
2238
|
};
|
|
2129
|
-
var getChipColor = (item) => {
|
|
2130
|
-
const { provider = "", style } = item;
|
|
2131
|
-
if (provider === import_editor_styles_repository8.ELEMENTS_BASE_STYLES_PROVIDER_KEY) {
|
|
2132
|
-
return "default";
|
|
2133
|
-
}
|
|
2134
|
-
if (style?.label === "local") {
|
|
2135
|
-
return "accent";
|
|
2136
|
-
}
|
|
2137
|
-
return "global";
|
|
2138
|
-
};
|
|
2139
2239
|
|
|
2140
2240
|
// src/styles-inheritance/styles-inheritance-transformers-registry.tsx
|
|
2141
2241
|
var import_editor_canvas = require("@elementor/editor-canvas");
|
|
2142
2242
|
var stylesInheritanceTransformersRegistry = (0, import_editor_canvas.createTransformersRegistry)();
|
|
2143
2243
|
|
|
2144
2244
|
// src/styles-inheritance/components/infotip/breakpoint-icon.tsx
|
|
2145
|
-
var
|
|
2245
|
+
var React21 = __toESM(require("react"));
|
|
2146
2246
|
var import_editor_responsive2 = require("@elementor/editor-responsive");
|
|
2147
2247
|
var import_icons4 = require("@elementor/icons");
|
|
2148
|
-
var
|
|
2248
|
+
var import_ui18 = require("@elementor/ui");
|
|
2149
2249
|
var SIZE3 = "tiny";
|
|
2150
2250
|
var DEFAULT_BREAKPOINT3 = "desktop";
|
|
2151
2251
|
var breakpointIconMap = {
|
|
@@ -2165,25 +2265,25 @@ var BreakpointIcon = ({ breakpoint }) => {
|
|
|
2165
2265
|
return null;
|
|
2166
2266
|
}
|
|
2167
2267
|
const breakpointLabel = breakpoints.find((breakpointItem) => breakpointItem.id === currentBreakpoint)?.label;
|
|
2168
|
-
return /* @__PURE__ */
|
|
2268
|
+
return /* @__PURE__ */ React21.createElement(import_ui18.Tooltip, { title: breakpointLabel, placement: "top" }, /* @__PURE__ */ React21.createElement(IconComponent, { fontSize: SIZE3, sx: { mt: "2px" } }));
|
|
2169
2269
|
};
|
|
2170
2270
|
|
|
2171
2271
|
// src/styles-inheritance/components/infotip/label-chip.tsx
|
|
2172
|
-
var
|
|
2173
|
-
var
|
|
2272
|
+
var React22 = __toESM(require("react"));
|
|
2273
|
+
var import_editor_styles_repository10 = require("@elementor/editor-styles-repository");
|
|
2174
2274
|
var import_icons5 = require("@elementor/icons");
|
|
2175
|
-
var
|
|
2176
|
-
var
|
|
2275
|
+
var import_ui19 = require("@elementor/ui");
|
|
2276
|
+
var import_i18n9 = require("@wordpress/i18n");
|
|
2177
2277
|
var SIZE4 = "tiny";
|
|
2178
|
-
var LabelChip = ({ displayLabel, provider
|
|
2179
|
-
const isBaseStyle = provider ===
|
|
2180
|
-
const chipIcon = isBaseStyle ? /* @__PURE__ */
|
|
2181
|
-
return /* @__PURE__ */
|
|
2182
|
-
|
|
2278
|
+
var LabelChip = ({ displayLabel, provider }) => {
|
|
2279
|
+
const isBaseStyle = provider === import_editor_styles_repository10.ELEMENTS_BASE_STYLES_PROVIDER_KEY;
|
|
2280
|
+
const chipIcon = isBaseStyle ? /* @__PURE__ */ React22.createElement(import_ui19.Tooltip, { title: (0, import_i18n9.__)("Inherited from base styles", "elementor"), placement: "top" }, /* @__PURE__ */ React22.createElement(import_icons5.InfoCircleIcon, { fontSize: SIZE4 })) : void 0;
|
|
2281
|
+
return /* @__PURE__ */ React22.createElement(
|
|
2282
|
+
import_ui19.Chip,
|
|
2183
2283
|
{
|
|
2184
2284
|
label: displayLabel,
|
|
2185
2285
|
size: SIZE4,
|
|
2186
|
-
color:
|
|
2286
|
+
color: getStylesProviderColorName(provider),
|
|
2187
2287
|
variant: "standard",
|
|
2188
2288
|
state: "enabled",
|
|
2189
2289
|
icon: chipIcon,
|
|
@@ -2204,11 +2304,11 @@ var LabelChip = ({ displayLabel, provider, chipColor }) => {
|
|
|
2204
2304
|
};
|
|
2205
2305
|
|
|
2206
2306
|
// src/styles-inheritance/components/infotip/value-component.tsx
|
|
2207
|
-
var
|
|
2208
|
-
var
|
|
2307
|
+
var React23 = __toESM(require("react"));
|
|
2308
|
+
var import_ui20 = require("@elementor/ui");
|
|
2209
2309
|
var ValueComponent = ({ index, value }) => {
|
|
2210
|
-
return /* @__PURE__ */
|
|
2211
|
-
|
|
2310
|
+
return /* @__PURE__ */ React23.createElement(
|
|
2311
|
+
import_ui20.Typography,
|
|
2212
2312
|
{
|
|
2213
2313
|
variant: "caption",
|
|
2214
2314
|
color: "text.tertiary",
|
|
@@ -2225,38 +2325,37 @@ var ValueComponent = ({ index, value }) => {
|
|
|
2225
2325
|
};
|
|
2226
2326
|
|
|
2227
2327
|
// src/styles-inheritance/components/infotip/action-icons.tsx
|
|
2228
|
-
var
|
|
2229
|
-
var
|
|
2230
|
-
var ActionIcons = () => /* @__PURE__ */
|
|
2328
|
+
var React24 = __toESM(require("react"));
|
|
2329
|
+
var import_ui21 = require("@elementor/ui");
|
|
2330
|
+
var ActionIcons = () => /* @__PURE__ */ React24.createElement(import_ui21.Box, { display: "flex", gap: 0.5, alignItems: "center" });
|
|
2231
2331
|
|
|
2232
2332
|
// src/styles-inheritance/components/styles-inheritance-infotip.tsx
|
|
2233
|
-
var
|
|
2333
|
+
var SECTION_PADDING_INLINE = 32;
|
|
2234
2334
|
var StylesInheritanceInfotip = ({ inheritanceChain, propType, path, label, children }) => {
|
|
2235
|
-
const [showInfotip, setShowInfotip] = (0,
|
|
2335
|
+
const [showInfotip, setShowInfotip] = (0, import_react23.useState)(false);
|
|
2236
2336
|
const toggleInfotip = () => setShowInfotip((prev) => !prev);
|
|
2237
2337
|
const closeInfotip = () => setShowInfotip(false);
|
|
2238
2338
|
const key = path.join(".");
|
|
2239
|
-
const
|
|
2240
|
-
const
|
|
2241
|
-
const resolve = (0, import_react22.useMemo)(() => {
|
|
2339
|
+
const sectionWidth = useSectionWidth() + SECTION_PADDING_INLINE;
|
|
2340
|
+
const resolve = (0, import_react23.useMemo)(() => {
|
|
2242
2341
|
return (0, import_editor_canvas2.createPropsResolver)({
|
|
2243
2342
|
transformers: stylesInheritanceTransformersRegistry,
|
|
2244
2343
|
schema: { [key]: propType }
|
|
2245
2344
|
});
|
|
2246
2345
|
}, [key, propType]);
|
|
2247
2346
|
const items3 = useNormalizedInheritanceChainItems(inheritanceChain, key, resolve);
|
|
2248
|
-
const infotipContent = /* @__PURE__ */
|
|
2249
|
-
|
|
2347
|
+
const infotipContent = /* @__PURE__ */ React25.createElement(import_ui22.ClickAwayListener, { onClickAway: closeInfotip }, /* @__PURE__ */ React25.createElement(
|
|
2348
|
+
import_ui22.Card,
|
|
2250
2349
|
{
|
|
2251
2350
|
elevation: 0,
|
|
2252
2351
|
sx: {
|
|
2253
|
-
width: `${
|
|
2254
|
-
maxWidth:
|
|
2352
|
+
width: `${sectionWidth - SECTION_PADDING_INLINE}px`,
|
|
2353
|
+
maxWidth: 496,
|
|
2255
2354
|
overflowX: "hidden"
|
|
2256
2355
|
}
|
|
2257
2356
|
},
|
|
2258
|
-
/* @__PURE__ */
|
|
2259
|
-
|
|
2357
|
+
/* @__PURE__ */ React25.createElement(
|
|
2358
|
+
import_ui22.CardContent,
|
|
2260
2359
|
{
|
|
2261
2360
|
sx: {
|
|
2262
2361
|
display: "flex",
|
|
@@ -2268,49 +2367,35 @@ var StylesInheritanceInfotip = ({ inheritanceChain, propType, path, label, child
|
|
|
2268
2367
|
}
|
|
2269
2368
|
}
|
|
2270
2369
|
},
|
|
2271
|
-
/* @__PURE__ */
|
|
2272
|
-
|
|
2273
|
-
|
|
2274
|
-
slotProps: { icon: { fontSize: SIZE5 } },
|
|
2275
|
-
sx: { ml: "auto" },
|
|
2276
|
-
onClick: closeInfotip
|
|
2277
|
-
}
|
|
2278
|
-
)),
|
|
2279
|
-
/* @__PURE__ */ React26.createElement(
|
|
2280
|
-
import_ui23.Stack,
|
|
2370
|
+
/* @__PURE__ */ React25.createElement(import_editor_ui4.PopoverHeader, { title: (0, import_i18n10.__)("Style origin", "elementor"), onClose: closeInfotip }),
|
|
2371
|
+
/* @__PURE__ */ React25.createElement(
|
|
2372
|
+
import_ui22.Stack,
|
|
2281
2373
|
{
|
|
2282
2374
|
gap: 1.5,
|
|
2283
2375
|
sx: { pl: 2, pr: 1, pb: 2, overflowX: "hidden", overflowY: "auto" },
|
|
2284
2376
|
role: "list"
|
|
2285
2377
|
},
|
|
2286
2378
|
items3.map((item, index) => {
|
|
2287
|
-
return /* @__PURE__ */
|
|
2288
|
-
|
|
2379
|
+
return /* @__PURE__ */ React25.createElement(
|
|
2380
|
+
import_ui22.Box,
|
|
2289
2381
|
{
|
|
2290
2382
|
key: item.id,
|
|
2291
2383
|
display: "flex",
|
|
2292
2384
|
gap: 0.5,
|
|
2293
2385
|
role: "listitem",
|
|
2294
|
-
"aria-label": (0,
|
|
2386
|
+
"aria-label": (0, import_i18n10.__)("Inheritance item: %s", "elementor").replace(
|
|
2295
2387
|
"%s",
|
|
2296
2388
|
item.displayLabel
|
|
2297
2389
|
)
|
|
2298
2390
|
},
|
|
2299
|
-
/* @__PURE__ */
|
|
2300
|
-
|
|
2301
|
-
{
|
|
2302
|
-
displayLabel: item.displayLabel,
|
|
2303
|
-
provider: item.provider,
|
|
2304
|
-
chipColor: item.chipColor
|
|
2305
|
-
}
|
|
2306
|
-
), /* @__PURE__ */ React26.createElement(ValueComponent, { index, value: item.value })),
|
|
2307
|
-
/* @__PURE__ */ React26.createElement(ActionIcons, null)
|
|
2391
|
+
/* @__PURE__ */ React25.createElement(import_ui22.Box, { display: "flex", gap: 0.5, sx: { flexWrap: "wrap", width: "100%" } }, /* @__PURE__ */ React25.createElement(BreakpointIcon, { breakpoint: item.breakpoint }), /* @__PURE__ */ React25.createElement(LabelChip, { displayLabel: item.displayLabel, provider: item.provider }), /* @__PURE__ */ React25.createElement(ValueComponent, { index, value: item.value })),
|
|
2392
|
+
/* @__PURE__ */ React25.createElement(ActionIcons, null)
|
|
2308
2393
|
);
|
|
2309
2394
|
})
|
|
2310
2395
|
)
|
|
2311
2396
|
)
|
|
2312
2397
|
));
|
|
2313
|
-
return /* @__PURE__ */
|
|
2398
|
+
return /* @__PURE__ */ React25.createElement(TooltipOrInfotip, { showInfotip, onClose: closeInfotip, infotipContent }, /* @__PURE__ */ React25.createElement(import_ui22.IconButton, { onClick: toggleInfotip, "aria-label": label, sx: { my: "-1px" } }, children));
|
|
2314
2399
|
};
|
|
2315
2400
|
function TooltipOrInfotip({
|
|
2316
2401
|
children,
|
|
@@ -2321,8 +2406,8 @@ function TooltipOrInfotip({
|
|
|
2321
2406
|
const { isSiteRtl } = useDirection();
|
|
2322
2407
|
const forceInfotipAlignLeft = isSiteRtl ? 9999999 : -9999999;
|
|
2323
2408
|
if (showInfotip) {
|
|
2324
|
-
return /* @__PURE__ */
|
|
2325
|
-
|
|
2409
|
+
return /* @__PURE__ */ React25.createElement(React25.Fragment, null, /* @__PURE__ */ React25.createElement(
|
|
2410
|
+
import_ui22.Backdrop,
|
|
2326
2411
|
{
|
|
2327
2412
|
open: showInfotip,
|
|
2328
2413
|
onClick: onClose,
|
|
@@ -2331,8 +2416,8 @@ function TooltipOrInfotip({
|
|
|
2331
2416
|
zIndex: (theme) => theme.zIndex.modal - 1
|
|
2332
2417
|
}
|
|
2333
2418
|
}
|
|
2334
|
-
), /* @__PURE__ */
|
|
2335
|
-
|
|
2419
|
+
), /* @__PURE__ */ React25.createElement(
|
|
2420
|
+
import_ui22.Infotip,
|
|
2336
2421
|
{
|
|
2337
2422
|
placement: "top",
|
|
2338
2423
|
content: infotipContent,
|
|
@@ -2358,84 +2443,74 @@ function TooltipOrInfotip({
|
|
|
2358
2443
|
children
|
|
2359
2444
|
));
|
|
2360
2445
|
}
|
|
2361
|
-
return /* @__PURE__ */
|
|
2446
|
+
return /* @__PURE__ */ React25.createElement(import_ui22.Tooltip, { title: (0, import_i18n10.__)("Style origin", "elementor"), placement: "top" }, children);
|
|
2362
2447
|
}
|
|
2363
2448
|
|
|
2364
2449
|
// src/styles-inheritance/components/styles-inheritance-indicator.tsx
|
|
2365
2450
|
var StylesInheritanceIndicator = () => {
|
|
2366
2451
|
const { path, propType } = (0, import_editor_controls5.useBoundProp)();
|
|
2367
|
-
const
|
|
2368
|
-
const isUsingNestedProps = (0, import_editor_v1_adapters7.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_30);
|
|
2452
|
+
const isUsingNestedProps = (0, import_editor_v1_adapters8.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_30);
|
|
2369
2453
|
const finalPath = isUsingNestedProps ? path : path.slice(0, 1);
|
|
2370
2454
|
const inheritanceChain = useStylesInheritanceChain(finalPath);
|
|
2371
2455
|
if (!inheritanceChain.length) {
|
|
2372
2456
|
return null;
|
|
2373
2457
|
}
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
}) => style.id === currentStyleId && breakpoint === currentStyleMeta.breakpoint && state === currentStyleMeta.state
|
|
2381
|
-
);
|
|
2382
|
-
const hasValue = !(0, import_editor_props5.isEmpty)(currentItem?.value);
|
|
2458
|
+
return /* @__PURE__ */ React26.createElement(Indicator, { inheritanceChain, path: finalPath, propType });
|
|
2459
|
+
};
|
|
2460
|
+
var Indicator = ({ inheritanceChain, path, propType }) => {
|
|
2461
|
+
const { id: currentStyleId, provider: currentStyleProvider, meta: currentStyleMeta } = useStyle();
|
|
2462
|
+
const currentItem = currentStyleId ? getValueFromInheritanceChain(inheritanceChain, currentStyleId, currentStyleMeta) : null;
|
|
2463
|
+
const hasValue = !(0, import_editor_props6.isEmpty)(currentItem?.value);
|
|
2383
2464
|
const [actualStyle] = inheritanceChain;
|
|
2384
|
-
if (actualStyle.provider ===
|
|
2465
|
+
if (!(0, import_editor_v1_adapters8.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_31) && actualStyle.provider === import_editor_styles_repository11.ELEMENTS_BASE_STYLES_PROVIDER_KEY) {
|
|
2385
2466
|
return null;
|
|
2386
2467
|
}
|
|
2387
2468
|
const isFinalValue = currentItem === actualStyle;
|
|
2388
2469
|
const label = getLabel({ isFinalValue, hasValue });
|
|
2389
|
-
const
|
|
2470
|
+
const styleIndicatorProps = {
|
|
2471
|
+
getColor: isFinalValue && currentStyleProvider ? getStylesProviderThemeColor(currentStyleProvider.getKey()) : void 0,
|
|
2472
|
+
isOverridden: hasValue && !isFinalValue ? true : void 0
|
|
2473
|
+
};
|
|
2390
2474
|
if (!isUsingIndicatorPopover()) {
|
|
2391
|
-
return /* @__PURE__ */
|
|
2475
|
+
return /* @__PURE__ */ React26.createElement(import_ui23.Tooltip, { title: (0, import_i18n11.__)("Style origin", "elementor"), placement: "top" }, /* @__PURE__ */ React26.createElement(StyleIndicator, { ...styleIndicatorProps, "aria-label": label }));
|
|
2392
2476
|
}
|
|
2393
|
-
return /* @__PURE__ */
|
|
2477
|
+
return /* @__PURE__ */ React26.createElement(
|
|
2394
2478
|
StylesInheritanceInfotip,
|
|
2395
2479
|
{
|
|
2396
2480
|
inheritanceChain,
|
|
2397
|
-
path
|
|
2481
|
+
path,
|
|
2398
2482
|
propType,
|
|
2399
2483
|
label
|
|
2400
2484
|
},
|
|
2401
|
-
/* @__PURE__ */
|
|
2485
|
+
/* @__PURE__ */ React26.createElement(StyleIndicator, { ...styleIndicatorProps })
|
|
2402
2486
|
);
|
|
2403
2487
|
};
|
|
2404
2488
|
var getLabel = ({ isFinalValue, hasValue }) => {
|
|
2405
2489
|
if (isFinalValue) {
|
|
2406
|
-
return (0,
|
|
2407
|
-
}
|
|
2408
|
-
if (hasValue) {
|
|
2409
|
-
return (0, import_i18n10.__)("This value is overridden by another style", "elementor");
|
|
2410
|
-
}
|
|
2411
|
-
return (0, import_i18n10.__)("This has value from another style", "elementor");
|
|
2412
|
-
};
|
|
2413
|
-
var getVariant = ({
|
|
2414
|
-
isFinalValue,
|
|
2415
|
-
hasValue,
|
|
2416
|
-
currentStyleProvider
|
|
2417
|
-
}) => {
|
|
2418
|
-
if (isFinalValue) {
|
|
2419
|
-
return (0, import_editor_styles_repository10.isElementsStylesProvider)(currentStyleProvider?.getKey?.()) ? "local" : "global";
|
|
2490
|
+
return (0, import_i18n11.__)("This is the final value", "elementor");
|
|
2420
2491
|
}
|
|
2421
2492
|
if (hasValue) {
|
|
2422
|
-
return "overridden";
|
|
2493
|
+
return (0, import_i18n11.__)("This value is overridden by another style", "elementor");
|
|
2423
2494
|
}
|
|
2424
|
-
return
|
|
2495
|
+
return (0, import_i18n11.__)("This has value from another style", "elementor");
|
|
2425
2496
|
};
|
|
2426
2497
|
|
|
2427
2498
|
// src/controls-registry/styles-field.tsx
|
|
2428
2499
|
var StylesField = ({ bind, placeholder, children }) => {
|
|
2429
|
-
const
|
|
2430
|
-
const
|
|
2500
|
+
const { value, setValue, canEdit } = useStylesField(bind);
|
|
2501
|
+
const isVersion331Active = (0, import_editor_v1_adapters9.isExperimentActive)("e_v_3_31");
|
|
2502
|
+
const stylesInheritanceChain = useStylesInheritanceChain([bind]);
|
|
2431
2503
|
const stylesSchema = (0, import_editor_styles3.getStylesSchema)();
|
|
2432
2504
|
const propType = createTopLevelOjectType({ schema: stylesSchema });
|
|
2433
2505
|
const values = { [bind]: value };
|
|
2434
|
-
const
|
|
2506
|
+
const [actualValue] = stylesInheritanceChain;
|
|
2507
|
+
const placeholderValues = {
|
|
2508
|
+
[bind]: isVersion331Active ? actualValue?.value : placeholder
|
|
2509
|
+
};
|
|
2435
2510
|
const setValues = (newValue) => {
|
|
2436
2511
|
setValue(newValue[bind]);
|
|
2437
2512
|
};
|
|
2438
|
-
return /* @__PURE__ */
|
|
2513
|
+
return /* @__PURE__ */ React27.createElement(
|
|
2439
2514
|
import_editor_controls6.ControlAdornmentsProvider,
|
|
2440
2515
|
{
|
|
2441
2516
|
items: [
|
|
@@ -2445,7 +2520,7 @@ var StylesField = ({ bind, placeholder, children }) => {
|
|
|
2445
2520
|
}
|
|
2446
2521
|
]
|
|
2447
2522
|
},
|
|
2448
|
-
/* @__PURE__ */
|
|
2523
|
+
/* @__PURE__ */ React27.createElement(
|
|
2449
2524
|
import_editor_controls6.PropProvider,
|
|
2450
2525
|
{
|
|
2451
2526
|
propType,
|
|
@@ -2454,18 +2529,24 @@ var StylesField = ({ bind, placeholder, children }) => {
|
|
|
2454
2529
|
placeholder: placeholderValues,
|
|
2455
2530
|
disabled: !canEdit
|
|
2456
2531
|
},
|
|
2457
|
-
/* @__PURE__ */
|
|
2532
|
+
/* @__PURE__ */ React27.createElement(import_editor_controls6.PropKeyProvider, { bind }, children)
|
|
2458
2533
|
)
|
|
2459
2534
|
);
|
|
2460
2535
|
};
|
|
2461
2536
|
|
|
2537
|
+
// src/components/section-content.tsx
|
|
2538
|
+
var React28 = __toESM(require("react"));
|
|
2539
|
+
var import_ui24 = require("@elementor/ui");
|
|
2540
|
+
var SectionContent = ({ gap = 2, sx, children }) => /* @__PURE__ */ React28.createElement(import_ui24.Stack, { gap, sx: { ...sx } }, children);
|
|
2541
|
+
|
|
2462
2542
|
// src/components/style-sections/background-section/background-section.tsx
|
|
2543
|
+
var BACKGROUND_LABEL = (0, import_i18n12.__)("Background", "elementor");
|
|
2463
2544
|
var BackgroundSection = () => {
|
|
2464
|
-
return /* @__PURE__ */ React29.createElement(SectionContent, null, /* @__PURE__ */ React29.createElement(StylesField, { bind: "background" }, /* @__PURE__ */ React29.createElement(import_editor_controls7.BackgroundControl, null)));
|
|
2545
|
+
return /* @__PURE__ */ React29.createElement(SectionContent, null, /* @__PURE__ */ React29.createElement(StylesField, { bind: "background", propDisplayName: BACKGROUND_LABEL }, /* @__PURE__ */ React29.createElement(import_editor_controls7.BackgroundControl, null)));
|
|
2465
2546
|
};
|
|
2466
2547
|
|
|
2467
2548
|
// src/components/style-sections/border-section/border-section.tsx
|
|
2468
|
-
var
|
|
2549
|
+
var React40 = __toESM(require("react"));
|
|
2469
2550
|
|
|
2470
2551
|
// src/components/panel-divider.tsx
|
|
2471
2552
|
var React30 = __toESM(require("react"));
|
|
@@ -2473,15 +2554,15 @@ var import_ui25 = require("@elementor/ui");
|
|
|
2473
2554
|
var PanelDivider = () => /* @__PURE__ */ React30.createElement(import_ui25.Divider, { sx: { my: 0.5 } });
|
|
2474
2555
|
|
|
2475
2556
|
// src/components/style-sections/border-section/border-field.tsx
|
|
2476
|
-
var
|
|
2557
|
+
var React37 = __toESM(require("react"));
|
|
2477
2558
|
var import_editor_controls12 = require("@elementor/editor-controls");
|
|
2478
|
-
var
|
|
2559
|
+
var import_i18n16 = require("@wordpress/i18n");
|
|
2479
2560
|
|
|
2480
2561
|
// src/components/add-or-remove-content.tsx
|
|
2481
2562
|
var React31 = __toESM(require("react"));
|
|
2482
2563
|
var import_icons6 = require("@elementor/icons");
|
|
2483
2564
|
var import_ui26 = require("@elementor/ui");
|
|
2484
|
-
var
|
|
2565
|
+
var SIZE5 = "tiny";
|
|
2485
2566
|
var AddOrRemoveContent = ({
|
|
2486
2567
|
isAdded,
|
|
2487
2568
|
onAdd,
|
|
@@ -2501,15 +2582,18 @@ var AddOrRemoveContent = ({
|
|
|
2501
2582
|
}
|
|
2502
2583
|
},
|
|
2503
2584
|
renderLabel(),
|
|
2504
|
-
isAdded ? /* @__PURE__ */ React31.createElement(import_ui26.IconButton, { size:
|
|
2585
|
+
isAdded ? /* @__PURE__ */ React31.createElement(import_ui26.IconButton, { size: SIZE5, onClick: onRemove, "aria-label": "Remove", disabled }, /* @__PURE__ */ React31.createElement(import_icons6.MinusIcon, { fontSize: SIZE5 })) : /* @__PURE__ */ React31.createElement(import_ui26.IconButton, { size: SIZE5, onClick: onAdd, "aria-label": "Add", disabled }, /* @__PURE__ */ React31.createElement(import_icons6.PlusIcon, { fontSize: SIZE5 }))
|
|
2505
2586
|
), /* @__PURE__ */ React31.createElement(import_ui26.Collapse, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React31.createElement(SectionContent, null, children)));
|
|
2506
2587
|
};
|
|
2507
2588
|
|
|
2508
2589
|
// src/components/style-sections/border-section/border-color-field.tsx
|
|
2509
|
-
var
|
|
2590
|
+
var React34 = __toESM(require("react"));
|
|
2510
2591
|
var import_editor_controls9 = require("@elementor/editor-controls");
|
|
2592
|
+
var import_i18n13 = require("@wordpress/i18n");
|
|
2593
|
+
|
|
2594
|
+
// src/components/styles-field-layout.tsx
|
|
2595
|
+
var React33 = __toESM(require("react"));
|
|
2511
2596
|
var import_ui28 = require("@elementor/ui");
|
|
2512
|
-
var import_i18n11 = require("@wordpress/i18n");
|
|
2513
2597
|
|
|
2514
2598
|
// src/components/control-label.tsx
|
|
2515
2599
|
var React32 = __toESM(require("react"));
|
|
@@ -2519,72 +2603,97 @@ var ControlLabel = ({ children }) => {
|
|
|
2519
2603
|
return /* @__PURE__ */ React32.createElement(import_ui27.Stack, { direction: "row", alignItems: "center", justifyItems: "start", gap: 0.25 }, /* @__PURE__ */ React32.createElement(import_editor_controls8.ControlFormLabel, null, children), /* @__PURE__ */ React32.createElement(import_editor_controls8.ControlAdornments, null));
|
|
2520
2604
|
};
|
|
2521
2605
|
|
|
2522
|
-
// src/components/
|
|
2523
|
-
var
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
var
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
2606
|
+
// src/components/styles-field-layout.tsx
|
|
2607
|
+
var StylesFieldLayout = React33.forwardRef((props, ref) => {
|
|
2608
|
+
const { direction = "row", children, label } = props;
|
|
2609
|
+
const LayoutComponent = direction === "row" ? Row : Column;
|
|
2610
|
+
return /* @__PURE__ */ React33.createElement(LayoutComponent, { label, ref, children });
|
|
2611
|
+
});
|
|
2612
|
+
var Row = React33.forwardRef(
|
|
2613
|
+
({ label, children }, ref) => {
|
|
2614
|
+
return /* @__PURE__ */ React33.createElement(import_ui28.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap", ref }, /* @__PURE__ */ React33.createElement(import_ui28.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(ControlLabel, null, label)), /* @__PURE__ */ React33.createElement(
|
|
2615
|
+
import_ui28.Grid,
|
|
2616
|
+
{
|
|
2617
|
+
item: true,
|
|
2618
|
+
xs: 6,
|
|
2619
|
+
sx: (theme) => ({
|
|
2620
|
+
width: `calc(50% - ${theme.spacing(2)})`
|
|
2621
|
+
})
|
|
2622
|
+
},
|
|
2623
|
+
children
|
|
2624
|
+
));
|
|
2625
|
+
}
|
|
2626
|
+
);
|
|
2627
|
+
var Column = React33.forwardRef(
|
|
2628
|
+
({ label, children }, ref) => {
|
|
2629
|
+
return /* @__PURE__ */ React33.createElement(import_ui28.Stack, { gap: 0.75, ref }, /* @__PURE__ */ React33.createElement(ControlLabel, null, label), children);
|
|
2630
|
+
}
|
|
2631
|
+
);
|
|
2632
|
+
|
|
2633
|
+
// src/components/style-sections/border-section/border-color-field.tsx
|
|
2634
|
+
var BORDER_COLOR_LABEL = (0, import_i18n13.__)("Border color", "elementor");
|
|
2635
|
+
var BorderColorField = () => /* @__PURE__ */ React34.createElement(StylesField, { bind: "border-color", propDisplayName: BORDER_COLOR_LABEL }, /* @__PURE__ */ React34.createElement(StylesFieldLayout, { label: BORDER_COLOR_LABEL }, /* @__PURE__ */ React34.createElement(import_editor_controls9.ColorControl, null)));
|
|
2636
|
+
|
|
2637
|
+
// src/components/style-sections/border-section/border-style-field.tsx
|
|
2638
|
+
var React35 = __toESM(require("react"));
|
|
2639
|
+
var import_editor_controls10 = require("@elementor/editor-controls");
|
|
2640
|
+
var import_i18n14 = require("@wordpress/i18n");
|
|
2641
|
+
var BORDER_TYPE_LABEL = (0, import_i18n14.__)("Border type", "elementor");
|
|
2642
|
+
var borderStyles = [
|
|
2643
|
+
{ value: "none", label: (0, import_i18n14.__)("None", "elementor") },
|
|
2644
|
+
{ value: "solid", label: (0, import_i18n14.__)("Solid", "elementor") },
|
|
2645
|
+
{ value: "dashed", label: (0, import_i18n14.__)("Dashed", "elementor") },
|
|
2646
|
+
{ value: "dotted", label: (0, import_i18n14.__)("Dotted", "elementor") },
|
|
2647
|
+
{ value: "double", label: (0, import_i18n14.__)("Double", "elementor") },
|
|
2648
|
+
{ value: "groove", label: (0, import_i18n14.__)("Groove", "elementor") },
|
|
2649
|
+
{ value: "ridge", label: (0, import_i18n14.__)("Ridge", "elementor") },
|
|
2650
|
+
{ value: "inset", label: (0, import_i18n14.__)("Inset", "elementor") },
|
|
2651
|
+
{ value: "outset", label: (0, import_i18n14.__)("Outset", "elementor") }
|
|
2542
2652
|
];
|
|
2543
|
-
var BorderStyleField = () => {
|
|
2544
|
-
return /* @__PURE__ */ React34.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React34.createElement(import_ui29.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(import_ui29.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(ControlLabel, null, (0, import_i18n12.__)("Border type", "elementor"))), /* @__PURE__ */ React34.createElement(import_ui29.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React34.createElement(import_editor_controls10.SelectControl, { options: borderStyles }))));
|
|
2545
|
-
};
|
|
2653
|
+
var BorderStyleField = () => /* @__PURE__ */ React35.createElement(StylesField, { bind: "border-style", propDisplayName: BORDER_TYPE_LABEL }, /* @__PURE__ */ React35.createElement(StylesFieldLayout, { label: BORDER_TYPE_LABEL }, /* @__PURE__ */ React35.createElement(import_editor_controls10.SelectControl, { options: borderStyles })));
|
|
2546
2654
|
|
|
2547
2655
|
// src/components/style-sections/border-section/border-width-field.tsx
|
|
2548
|
-
var
|
|
2656
|
+
var React36 = __toESM(require("react"));
|
|
2549
2657
|
var import_editor_controls11 = require("@elementor/editor-controls");
|
|
2550
|
-
var
|
|
2658
|
+
var import_editor_props7 = require("@elementor/editor-props");
|
|
2551
2659
|
var import_icons7 = require("@elementor/icons");
|
|
2552
|
-
var
|
|
2553
|
-
var
|
|
2554
|
-
var
|
|
2555
|
-
var
|
|
2660
|
+
var import_ui29 = require("@elementor/ui");
|
|
2661
|
+
var import_i18n15 = require("@wordpress/i18n");
|
|
2662
|
+
var BORDER_WIDTH_LABEL = (0, import_i18n15.__)("Border width", "elementor");
|
|
2663
|
+
var InlineStartIcon = (0, import_ui29.withDirection)(import_icons7.SideRightIcon);
|
|
2664
|
+
var InlineEndIcon = (0, import_ui29.withDirection)(import_icons7.SideLeftIcon);
|
|
2556
2665
|
var getEdges = (isSiteRtl) => [
|
|
2557
2666
|
{
|
|
2558
|
-
label: (0,
|
|
2559
|
-
icon: /* @__PURE__ */
|
|
2667
|
+
label: (0, import_i18n15.__)("Top", "elementor"),
|
|
2668
|
+
icon: /* @__PURE__ */ React36.createElement(import_icons7.SideTopIcon, { fontSize: "tiny" }),
|
|
2560
2669
|
bind: "block-start"
|
|
2561
2670
|
},
|
|
2562
2671
|
{
|
|
2563
|
-
label: isSiteRtl ? (0,
|
|
2564
|
-
icon: /* @__PURE__ */
|
|
2672
|
+
label: isSiteRtl ? (0, import_i18n15.__)("Left", "elementor") : (0, import_i18n15.__)("Right", "elementor"),
|
|
2673
|
+
icon: /* @__PURE__ */ React36.createElement(InlineStartIcon, { fontSize: "tiny" }),
|
|
2565
2674
|
bind: "inline-end"
|
|
2566
2675
|
},
|
|
2567
2676
|
{
|
|
2568
|
-
label: (0,
|
|
2569
|
-
icon: /* @__PURE__ */
|
|
2677
|
+
label: (0, import_i18n15.__)("Bottom", "elementor"),
|
|
2678
|
+
icon: /* @__PURE__ */ React36.createElement(import_icons7.SideBottomIcon, { fontSize: "tiny" }),
|
|
2570
2679
|
bind: "block-end"
|
|
2571
2680
|
},
|
|
2572
2681
|
{
|
|
2573
|
-
label: isSiteRtl ? (0,
|
|
2574
|
-
icon: /* @__PURE__ */
|
|
2682
|
+
label: isSiteRtl ? (0, import_i18n15.__)("Right", "elementor") : (0, import_i18n15.__)("Left", "elementor"),
|
|
2683
|
+
icon: /* @__PURE__ */ React36.createElement(InlineEndIcon, { fontSize: "tiny" }),
|
|
2575
2684
|
bind: "inline-start"
|
|
2576
2685
|
}
|
|
2577
2686
|
];
|
|
2578
2687
|
var BorderWidthField = () => {
|
|
2579
2688
|
const { isSiteRtl } = useDirection();
|
|
2580
|
-
return /* @__PURE__ */
|
|
2689
|
+
return /* @__PURE__ */ React36.createElement(StylesField, { bind: "border-width", propDisplayName: BORDER_WIDTH_LABEL }, /* @__PURE__ */ React36.createElement(
|
|
2581
2690
|
import_editor_controls11.EqualUnequalSizesControl,
|
|
2582
2691
|
{
|
|
2583
2692
|
items: getEdges(isSiteRtl),
|
|
2584
|
-
label:
|
|
2585
|
-
icon: /* @__PURE__ */
|
|
2586
|
-
tooltipLabel: (0,
|
|
2587
|
-
multiSizePropTypeUtil:
|
|
2693
|
+
label: BORDER_WIDTH_LABEL,
|
|
2694
|
+
icon: /* @__PURE__ */ React36.createElement(import_icons7.SideAllIcon, { fontSize: "tiny" }),
|
|
2695
|
+
tooltipLabel: (0, import_i18n15.__)("Adjust borders", "elementor"),
|
|
2696
|
+
multiSizePropTypeUtil: import_editor_props7.borderWidthPropTypeUtil
|
|
2588
2697
|
}
|
|
2589
2698
|
));
|
|
2590
2699
|
};
|
|
@@ -2596,120 +2705,138 @@ var initialBorder = {
|
|
|
2596
2705
|
"border-style": { $$type: "string", value: "solid" }
|
|
2597
2706
|
};
|
|
2598
2707
|
var BorderField = () => {
|
|
2599
|
-
const { canEdit } =
|
|
2600
|
-
const [border, setBorder] = useStylesFields(Object.keys(initialBorder));
|
|
2708
|
+
const { values, setValues, canEdit } = useStylesFields(Object.keys(initialBorder));
|
|
2601
2709
|
const addBorder = () => {
|
|
2602
|
-
|
|
2710
|
+
setValues(initialBorder);
|
|
2603
2711
|
};
|
|
2604
2712
|
const removeBorder = () => {
|
|
2605
|
-
|
|
2713
|
+
setValues({
|
|
2606
2714
|
"border-width": null,
|
|
2607
2715
|
"border-color": null,
|
|
2608
2716
|
"border-style": null
|
|
2609
2717
|
});
|
|
2610
2718
|
};
|
|
2611
|
-
const hasBorder = Object.values(
|
|
2612
|
-
return /* @__PURE__ */
|
|
2719
|
+
const hasBorder = Object.values(values ?? {}).some(Boolean);
|
|
2720
|
+
return /* @__PURE__ */ React37.createElement(
|
|
2613
2721
|
AddOrRemoveContent,
|
|
2614
2722
|
{
|
|
2615
2723
|
isAdded: hasBorder,
|
|
2616
2724
|
onAdd: addBorder,
|
|
2617
2725
|
onRemove: removeBorder,
|
|
2618
2726
|
disabled: !canEdit,
|
|
2619
|
-
renderLabel: () => /* @__PURE__ */
|
|
2727
|
+
renderLabel: () => /* @__PURE__ */ React37.createElement(import_editor_controls12.ControlFormLabel, null, (0, import_i18n16.__)("Border", "elementor"))
|
|
2620
2728
|
},
|
|
2621
|
-
/* @__PURE__ */
|
|
2622
|
-
/* @__PURE__ */
|
|
2623
|
-
/* @__PURE__ */
|
|
2729
|
+
/* @__PURE__ */ React37.createElement(BorderWidthField, null),
|
|
2730
|
+
/* @__PURE__ */ React37.createElement(BorderColorField, null),
|
|
2731
|
+
/* @__PURE__ */ React37.createElement(BorderStyleField, null)
|
|
2624
2732
|
);
|
|
2625
2733
|
};
|
|
2626
2734
|
|
|
2627
2735
|
// src/components/style-sections/border-section/border-radius-field.tsx
|
|
2628
|
-
var
|
|
2736
|
+
var React39 = __toESM(require("react"));
|
|
2629
2737
|
var import_editor_controls13 = require("@elementor/editor-controls");
|
|
2630
|
-
var
|
|
2738
|
+
var import_editor_props8 = require("@elementor/editor-props");
|
|
2631
2739
|
var import_icons8 = require("@elementor/icons");
|
|
2632
|
-
var
|
|
2633
|
-
var
|
|
2740
|
+
var import_ui31 = require("@elementor/ui");
|
|
2741
|
+
var import_i18n17 = require("@wordpress/i18n");
|
|
2634
2742
|
|
|
2635
2743
|
// src/styles-inheritance/components/ui-providers.tsx
|
|
2636
|
-
var
|
|
2637
|
-
var
|
|
2744
|
+
var React38 = __toESM(require("react"));
|
|
2745
|
+
var import_ui30 = require("@elementor/ui");
|
|
2638
2746
|
var UiProviders = ({ children }) => {
|
|
2639
2747
|
const { isSiteRtl } = useDirection();
|
|
2640
|
-
return /* @__PURE__ */
|
|
2748
|
+
return /* @__PURE__ */ React38.createElement(import_ui30.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React38.createElement(import_ui30.ThemeProvider, null, children));
|
|
2641
2749
|
};
|
|
2642
2750
|
|
|
2643
2751
|
// src/components/style-sections/border-section/border-radius-field.tsx
|
|
2644
|
-
var
|
|
2645
|
-
var
|
|
2646
|
-
var
|
|
2647
|
-
var
|
|
2648
|
-
var
|
|
2649
|
-
var
|
|
2650
|
-
var
|
|
2651
|
-
var
|
|
2752
|
+
var BORDER_RADIUS_LABEL = (0, import_i18n17.__)("Border radius", "elementor");
|
|
2753
|
+
var StartStartIcon = (0, import_ui31.withDirection)(import_icons8.RadiusTopLeftIcon);
|
|
2754
|
+
var StartEndIcon = (0, import_ui31.withDirection)(import_icons8.RadiusTopRightIcon);
|
|
2755
|
+
var EndStartIcon = (0, import_ui31.withDirection)(import_icons8.RadiusBottomLeftIcon);
|
|
2756
|
+
var EndEndIcon = (0, import_ui31.withDirection)(import_icons8.RadiusBottomRightIcon);
|
|
2757
|
+
var getStartStartLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n17.__)("Top right", "elementor") : (0, import_i18n17.__)("Top left", "elementor");
|
|
2758
|
+
var getStartEndLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n17.__)("Top left", "elementor") : (0, import_i18n17.__)("Top right", "elementor");
|
|
2759
|
+
var getEndStartLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n17.__)("Bottom right", "elementor") : (0, import_i18n17.__)("Bottom left", "elementor");
|
|
2760
|
+
var getEndEndLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n17.__)("Bottom left", "elementor") : (0, import_i18n17.__)("Bottom right", "elementor");
|
|
2652
2761
|
var getCorners = (isSiteRtl) => [
|
|
2653
2762
|
{
|
|
2654
2763
|
label: getStartStartLabel(isSiteRtl),
|
|
2655
|
-
icon: /* @__PURE__ */
|
|
2764
|
+
icon: /* @__PURE__ */ React39.createElement(StartStartIcon, { fontSize: "tiny" }),
|
|
2656
2765
|
bind: "start-start"
|
|
2657
2766
|
},
|
|
2658
2767
|
{
|
|
2659
2768
|
label: getStartEndLabel(isSiteRtl),
|
|
2660
|
-
icon: /* @__PURE__ */
|
|
2769
|
+
icon: /* @__PURE__ */ React39.createElement(StartEndIcon, { fontSize: "tiny" }),
|
|
2661
2770
|
bind: "start-end"
|
|
2662
2771
|
},
|
|
2663
2772
|
{
|
|
2664
2773
|
label: getEndStartLabel(isSiteRtl),
|
|
2665
|
-
icon: /* @__PURE__ */
|
|
2774
|
+
icon: /* @__PURE__ */ React39.createElement(EndStartIcon, { fontSize: "tiny" }),
|
|
2666
2775
|
bind: "end-start"
|
|
2667
2776
|
},
|
|
2668
2777
|
{
|
|
2669
2778
|
label: getEndEndLabel(isSiteRtl),
|
|
2670
|
-
icon: /* @__PURE__ */
|
|
2779
|
+
icon: /* @__PURE__ */ React39.createElement(EndEndIcon, { fontSize: "tiny" }),
|
|
2671
2780
|
bind: "end-end"
|
|
2672
2781
|
}
|
|
2673
2782
|
];
|
|
2674
2783
|
var BorderRadiusField = () => {
|
|
2675
2784
|
const { isSiteRtl } = useDirection();
|
|
2676
|
-
return /* @__PURE__ */
|
|
2785
|
+
return /* @__PURE__ */ React39.createElement(UiProviders, null, /* @__PURE__ */ React39.createElement(StylesField, { bind: "border-radius", propDisplayName: BORDER_RADIUS_LABEL }, /* @__PURE__ */ React39.createElement(
|
|
2677
2786
|
import_editor_controls13.EqualUnequalSizesControl,
|
|
2678
2787
|
{
|
|
2679
2788
|
items: getCorners(isSiteRtl),
|
|
2680
|
-
label:
|
|
2681
|
-
icon: /* @__PURE__ */
|
|
2682
|
-
tooltipLabel: (0,
|
|
2683
|
-
multiSizePropTypeUtil:
|
|
2789
|
+
label: BORDER_RADIUS_LABEL,
|
|
2790
|
+
icon: /* @__PURE__ */ React39.createElement(import_icons8.BorderCornersIcon, { fontSize: "tiny" }),
|
|
2791
|
+
tooltipLabel: (0, import_i18n17.__)("Adjust corners", "elementor"),
|
|
2792
|
+
multiSizePropTypeUtil: import_editor_props8.borderRadiusPropTypeUtil
|
|
2684
2793
|
}
|
|
2685
2794
|
)));
|
|
2686
2795
|
};
|
|
2687
2796
|
|
|
2688
2797
|
// src/components/style-sections/border-section/border-section.tsx
|
|
2689
|
-
var BorderSection = () => /* @__PURE__ */
|
|
2798
|
+
var BorderSection = () => /* @__PURE__ */ React40.createElement(SectionContent, null, /* @__PURE__ */ React40.createElement(BorderRadiusField, null), /* @__PURE__ */ React40.createElement(PanelDivider, null), /* @__PURE__ */ React40.createElement(BorderField, null));
|
|
2690
2799
|
|
|
2691
2800
|
// src/components/style-sections/effects-section/effects-section.tsx
|
|
2692
|
-
var
|
|
2801
|
+
var React42 = __toESM(require("react"));
|
|
2802
|
+
var import_editor_controls15 = require("@elementor/editor-controls");
|
|
2803
|
+
var import_editor_v1_adapters10 = require("@elementor/editor-v1-adapters");
|
|
2804
|
+
var import_i18n19 = require("@wordpress/i18n");
|
|
2805
|
+
|
|
2806
|
+
// src/components/style-sections/layout-section/opacity-control-field.tsx
|
|
2807
|
+
var React41 = __toESM(require("react"));
|
|
2808
|
+
var import_react24 = require("react");
|
|
2693
2809
|
var import_editor_controls14 = require("@elementor/editor-controls");
|
|
2810
|
+
var import_i18n18 = require("@wordpress/i18n");
|
|
2811
|
+
var OPACITY_LABEL = (0, import_i18n18.__)("Opacity", "elementor");
|
|
2812
|
+
var OpacityControlField = () => {
|
|
2813
|
+
const rowRef = (0, import_react24.useRef)(null);
|
|
2814
|
+
return /* @__PURE__ */ React41.createElement(StylesField, { bind: "opacity", propDisplayName: OPACITY_LABEL }, /* @__PURE__ */ React41.createElement(StylesFieldLayout, { ref: rowRef, label: OPACITY_LABEL }, /* @__PURE__ */ React41.createElement(import_editor_controls14.SizeControl, { units: ["%"], anchorRef: rowRef, defaultUnit: "%" })));
|
|
2815
|
+
};
|
|
2816
|
+
|
|
2817
|
+
// src/components/style-sections/effects-section/effects-section.tsx
|
|
2818
|
+
var BOX_SHADOW_LABEL = (0, import_i18n19.__)("Box shadow", "elementor");
|
|
2819
|
+
var FILTER_LABEL = (0, import_i18n19.__)("Filter", "elementor");
|
|
2694
2820
|
var EffectsSection = () => {
|
|
2695
|
-
|
|
2821
|
+
const isVersion331Active = (0, import_editor_v1_adapters10.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_31);
|
|
2822
|
+
return /* @__PURE__ */ React42.createElement(SectionContent, null, /* @__PURE__ */ React42.createElement(OpacityControlField, null), /* @__PURE__ */ React42.createElement(PanelDivider, null), /* @__PURE__ */ React42.createElement(StylesField, { bind: "box-shadow", propDisplayName: BOX_SHADOW_LABEL }, /* @__PURE__ */ React42.createElement(import_editor_controls15.BoxShadowRepeaterControl, null)), isVersion331Active && /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement(PanelDivider, null), /* @__PURE__ */ React42.createElement(StylesField, { bind: "filter", propDisplayName: FILTER_LABEL }, /* @__PURE__ */ React42.createElement(import_editor_controls15.FilterRepeaterControl, null))));
|
|
2696
2823
|
};
|
|
2697
2824
|
|
|
2698
2825
|
// src/components/style-sections/layout-section/layout-section.tsx
|
|
2699
|
-
var
|
|
2700
|
-
var
|
|
2826
|
+
var React54 = __toESM(require("react"));
|
|
2827
|
+
var import_editor_controls26 = require("@elementor/editor-controls");
|
|
2701
2828
|
var import_editor_elements7 = require("@elementor/editor-elements");
|
|
2702
|
-
var
|
|
2829
|
+
var import_i18n30 = require("@wordpress/i18n");
|
|
2703
2830
|
|
|
2704
2831
|
// src/hooks/use-computed-style.ts
|
|
2705
|
-
var
|
|
2832
|
+
var import_editor_v1_adapters11 = require("@elementor/editor-v1-adapters");
|
|
2706
2833
|
function useComputedStyle(elementId) {
|
|
2707
|
-
return (0,
|
|
2834
|
+
return (0, import_editor_v1_adapters11.__privateUseListenTo)(
|
|
2708
2835
|
[
|
|
2709
|
-
(0,
|
|
2710
|
-
(0,
|
|
2711
|
-
(0,
|
|
2712
|
-
(0,
|
|
2836
|
+
(0, import_editor_v1_adapters11.windowEvent)("elementor/device-mode/change"),
|
|
2837
|
+
(0, import_editor_v1_adapters11.commandEndEvent)("document/elements/reset-style"),
|
|
2838
|
+
(0, import_editor_v1_adapters11.commandEndEvent)("document/elements/settings"),
|
|
2839
|
+
(0, import_editor_v1_adapters11.commandEndEvent)("document/elements/paste-style")
|
|
2713
2840
|
],
|
|
2714
2841
|
() => {
|
|
2715
2842
|
if (!elementId) {
|
|
@@ -2727,16 +2854,16 @@ function useComputedStyle(elementId) {
|
|
|
2727
2854
|
}
|
|
2728
2855
|
|
|
2729
2856
|
// src/components/style-sections/layout-section/align-content-field.tsx
|
|
2730
|
-
var
|
|
2731
|
-
var
|
|
2857
|
+
var React44 = __toESM(require("react"));
|
|
2858
|
+
var import_editor_controls16 = require("@elementor/editor-controls");
|
|
2732
2859
|
var import_icons9 = require("@elementor/icons");
|
|
2733
|
-
var
|
|
2734
|
-
var
|
|
2860
|
+
var import_ui33 = require("@elementor/ui");
|
|
2861
|
+
var import_i18n20 = require("@wordpress/i18n");
|
|
2735
2862
|
|
|
2736
2863
|
// src/components/style-sections/layout-section/utils/rotated-icon.tsx
|
|
2737
|
-
var
|
|
2738
|
-
var
|
|
2739
|
-
var
|
|
2864
|
+
var React43 = __toESM(require("react"));
|
|
2865
|
+
var import_react25 = require("react");
|
|
2866
|
+
var import_ui32 = require("@elementor/ui");
|
|
2740
2867
|
var CLOCKWISE_ANGLES = {
|
|
2741
2868
|
row: 0,
|
|
2742
2869
|
column: 90,
|
|
@@ -2756,13 +2883,13 @@ var RotatedIcon = ({
|
|
|
2756
2883
|
offset = 0,
|
|
2757
2884
|
disableRotationForReversed = false
|
|
2758
2885
|
}) => {
|
|
2759
|
-
const rotate = (0,
|
|
2886
|
+
const rotate = (0, import_react25.useRef)(useGetTargetAngle(isClockwise, offset, disableRotationForReversed));
|
|
2760
2887
|
rotate.current = useGetTargetAngle(isClockwise, offset, disableRotationForReversed, rotate);
|
|
2761
|
-
return /* @__PURE__ */
|
|
2888
|
+
return /* @__PURE__ */ React43.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
|
|
2762
2889
|
};
|
|
2763
2890
|
var useGetTargetAngle = (isClockwise, offset, disableRotationForReversed, existingRef) => {
|
|
2764
|
-
const
|
|
2765
|
-
const isRtl = "rtl" === (0,
|
|
2891
|
+
const { value: direction } = useStylesField("flex-direction");
|
|
2892
|
+
const isRtl = "rtl" === (0, import_ui32.useTheme)().direction;
|
|
2766
2893
|
const rotationMultiplier = isRtl ? -1 : 1;
|
|
2767
2894
|
const angleMap = isClockwise ? CLOCKWISE_ANGLES : COUNTER_CLOCKWISE_ANGLES;
|
|
2768
2895
|
const currentDirection = direction?.value || "row";
|
|
@@ -2777,8 +2904,9 @@ var useGetTargetAngle = (isClockwise, offset, disableRotationForReversed, existi
|
|
|
2777
2904
|
};
|
|
2778
2905
|
|
|
2779
2906
|
// src/components/style-sections/layout-section/align-content-field.tsx
|
|
2780
|
-
var
|
|
2781
|
-
var
|
|
2907
|
+
var ALIGN_CONTENT_LABEL = (0, import_i18n20.__)("Align content", "elementor");
|
|
2908
|
+
var StartIcon = (0, import_ui33.withDirection)(import_icons9.JustifyTopIcon);
|
|
2909
|
+
var EndIcon = (0, import_ui33.withDirection)(import_icons9.JustifyBottomIcon);
|
|
2782
2910
|
var iconProps = {
|
|
2783
2911
|
isClockwise: false,
|
|
2784
2912
|
offset: 0,
|
|
@@ -2787,53 +2915,52 @@ var iconProps = {
|
|
|
2787
2915
|
var options = [
|
|
2788
2916
|
{
|
|
2789
2917
|
value: "start",
|
|
2790
|
-
label: (0,
|
|
2791
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2918
|
+
label: (0, import_i18n20.__)("Start", "elementor"),
|
|
2919
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
|
|
2792
2920
|
showTooltip: true
|
|
2793
2921
|
},
|
|
2794
2922
|
{
|
|
2795
2923
|
value: "center",
|
|
2796
|
-
label: (0,
|
|
2797
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2924
|
+
label: (0, import_i18n20.__)("Center", "elementor"),
|
|
2925
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: import_icons9.JustifyCenterIcon, size, ...iconProps }),
|
|
2798
2926
|
showTooltip: true
|
|
2799
2927
|
},
|
|
2800
2928
|
{
|
|
2801
2929
|
value: "end",
|
|
2802
|
-
label: (0,
|
|
2803
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2930
|
+
label: (0, import_i18n20.__)("End", "elementor"),
|
|
2931
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
|
|
2804
2932
|
showTooltip: true
|
|
2805
2933
|
},
|
|
2806
2934
|
{
|
|
2807
2935
|
value: "space-between",
|
|
2808
|
-
label: (0,
|
|
2809
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2936
|
+
label: (0, import_i18n20.__)("Space between", "elementor"),
|
|
2937
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: import_icons9.JustifySpaceBetweenVerticalIcon, size, ...iconProps }),
|
|
2810
2938
|
showTooltip: true
|
|
2811
2939
|
},
|
|
2812
2940
|
{
|
|
2813
2941
|
value: "space-around",
|
|
2814
|
-
label: (0,
|
|
2815
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2942
|
+
label: (0, import_i18n20.__)("Space around", "elementor"),
|
|
2943
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: import_icons9.JustifySpaceAroundVerticalIcon, size, ...iconProps }),
|
|
2816
2944
|
showTooltip: true
|
|
2817
2945
|
},
|
|
2818
2946
|
{
|
|
2819
2947
|
value: "space-evenly",
|
|
2820
|
-
label: (0,
|
|
2821
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2948
|
+
label: (0, import_i18n20.__)("Space evenly", "elementor"),
|
|
2949
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(RotatedIcon, { icon: import_icons9.JustifyDistributeVerticalIcon, size, ...iconProps }),
|
|
2822
2950
|
showTooltip: true
|
|
2823
2951
|
}
|
|
2824
2952
|
];
|
|
2825
|
-
var AlignContentField = () => {
|
|
2826
|
-
return /* @__PURE__ */ React42.createElement(UiProviders, null, /* @__PURE__ */ React42.createElement(StylesField, { bind: "align-content" }, /* @__PURE__ */ React42.createElement(import_ui34.Stack, { gap: 1 }, /* @__PURE__ */ React42.createElement(ControlLabel, null, (0, import_i18n16.__)("Align content", "elementor")), /* @__PURE__ */ React42.createElement(import_editor_controls15.ToggleControl, { options, fullWidth: true }))));
|
|
2827
|
-
};
|
|
2953
|
+
var AlignContentField = () => /* @__PURE__ */ React44.createElement(StylesField, { bind: "align-content", propDisplayName: ALIGN_CONTENT_LABEL }, /* @__PURE__ */ React44.createElement(UiProviders, null, /* @__PURE__ */ React44.createElement(StylesFieldLayout, { label: ALIGN_CONTENT_LABEL, direction: "column" }, /* @__PURE__ */ React44.createElement(import_editor_controls16.ToggleControl, { options, fullWidth: true }))));
|
|
2828
2954
|
|
|
2829
2955
|
// src/components/style-sections/layout-section/align-items-field.tsx
|
|
2830
|
-
var
|
|
2831
|
-
var
|
|
2956
|
+
var React45 = __toESM(require("react"));
|
|
2957
|
+
var import_editor_controls17 = require("@elementor/editor-controls");
|
|
2832
2958
|
var import_icons10 = require("@elementor/icons");
|
|
2833
|
-
var
|
|
2834
|
-
var
|
|
2835
|
-
var
|
|
2836
|
-
var
|
|
2959
|
+
var import_ui34 = require("@elementor/ui");
|
|
2960
|
+
var import_i18n21 = require("@wordpress/i18n");
|
|
2961
|
+
var ALIGN_ITEMS_LABEL = (0, import_i18n21.__)("Align items", "elementor");
|
|
2962
|
+
var StartIcon2 = (0, import_ui34.withDirection)(import_icons10.LayoutAlignLeftIcon);
|
|
2963
|
+
var EndIcon2 = (0, import_ui34.withDirection)(import_icons10.LayoutAlignRightIcon);
|
|
2837
2964
|
var iconProps2 = {
|
|
2838
2965
|
isClockwise: false,
|
|
2839
2966
|
offset: 90
|
|
@@ -2841,55 +2968,56 @@ var iconProps2 = {
|
|
|
2841
2968
|
var options2 = [
|
|
2842
2969
|
{
|
|
2843
2970
|
value: "start",
|
|
2844
|
-
label: (0,
|
|
2845
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2971
|
+
label: (0, import_i18n21.__)("Start", "elementor"),
|
|
2972
|
+
renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
|
|
2846
2973
|
showTooltip: true
|
|
2847
2974
|
},
|
|
2848
2975
|
{
|
|
2849
2976
|
value: "center",
|
|
2850
|
-
label: (0,
|
|
2851
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2977
|
+
label: (0, import_i18n21.__)("Center", "elementor"),
|
|
2978
|
+
renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(RotatedIcon, { icon: import_icons10.LayoutAlignCenterIcon, size, ...iconProps2 }),
|
|
2852
2979
|
showTooltip: true
|
|
2853
2980
|
},
|
|
2854
2981
|
{
|
|
2855
2982
|
value: "end",
|
|
2856
|
-
label: (0,
|
|
2857
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2983
|
+
label: (0, import_i18n21.__)("End", "elementor"),
|
|
2984
|
+
renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
|
|
2858
2985
|
showTooltip: true
|
|
2859
2986
|
},
|
|
2860
2987
|
{
|
|
2861
2988
|
value: "stretch",
|
|
2862
|
-
label: (0,
|
|
2863
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2989
|
+
label: (0, import_i18n21.__)("Stretch", "elementor"),
|
|
2990
|
+
renderContent: ({ size }) => /* @__PURE__ */ React45.createElement(RotatedIcon, { icon: import_icons10.LayoutDistributeVerticalIcon, size, ...iconProps2 }),
|
|
2864
2991
|
showTooltip: true
|
|
2865
2992
|
}
|
|
2866
2993
|
];
|
|
2867
2994
|
var AlignItemsField = () => {
|
|
2868
|
-
return /* @__PURE__ */
|
|
2995
|
+
return /* @__PURE__ */ React45.createElement(UiProviders, null, /* @__PURE__ */ React45.createElement(StylesField, { bind: "align-items", propDisplayName: ALIGN_ITEMS_LABEL }, /* @__PURE__ */ React45.createElement(StylesFieldLayout, { label: ALIGN_ITEMS_LABEL }, /* @__PURE__ */ React45.createElement(import_editor_controls17.ToggleControl, { options: options2 }))));
|
|
2869
2996
|
};
|
|
2870
2997
|
|
|
2871
2998
|
// src/components/style-sections/layout-section/align-self-child-field.tsx
|
|
2872
|
-
var
|
|
2873
|
-
var
|
|
2999
|
+
var React46 = __toESM(require("react"));
|
|
3000
|
+
var import_editor_controls18 = require("@elementor/editor-controls");
|
|
2874
3001
|
var import_icons11 = require("@elementor/icons");
|
|
2875
|
-
var
|
|
2876
|
-
var
|
|
3002
|
+
var import_ui35 = require("@elementor/ui");
|
|
3003
|
+
var import_i18n22 = require("@wordpress/i18n");
|
|
3004
|
+
var ALIGN_SELF_LABEL = (0, import_i18n22.__)("Align self", "elementor");
|
|
2877
3005
|
var ALIGN_SELF_CHILD_OFFSET_MAP = {
|
|
2878
3006
|
row: 90,
|
|
2879
3007
|
"row-reverse": 90,
|
|
2880
3008
|
column: 0,
|
|
2881
3009
|
"column-reverse": 0
|
|
2882
3010
|
};
|
|
2883
|
-
var StartIcon3 = (0,
|
|
2884
|
-
var EndIcon3 = (0,
|
|
3011
|
+
var StartIcon3 = (0, import_ui35.withDirection)(import_icons11.LayoutAlignLeftIcon);
|
|
3012
|
+
var EndIcon3 = (0, import_ui35.withDirection)(import_icons11.LayoutAlignRightIcon);
|
|
2885
3013
|
var iconProps3 = {
|
|
2886
3014
|
isClockwise: false
|
|
2887
3015
|
};
|
|
2888
3016
|
var getOptions = (parentStyleDirection) => [
|
|
2889
3017
|
{
|
|
2890
3018
|
value: "start",
|
|
2891
|
-
label: (0,
|
|
2892
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3019
|
+
label: (0, import_i18n22.__)("Start", "elementor"),
|
|
3020
|
+
renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(
|
|
2893
3021
|
RotatedIcon,
|
|
2894
3022
|
{
|
|
2895
3023
|
icon: StartIcon3,
|
|
@@ -2902,8 +3030,8 @@ var getOptions = (parentStyleDirection) => [
|
|
|
2902
3030
|
},
|
|
2903
3031
|
{
|
|
2904
3032
|
value: "center",
|
|
2905
|
-
label: (0,
|
|
2906
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3033
|
+
label: (0, import_i18n22.__)("Center", "elementor"),
|
|
3034
|
+
renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(
|
|
2907
3035
|
RotatedIcon,
|
|
2908
3036
|
{
|
|
2909
3037
|
icon: import_icons11.LayoutAlignCenterIcon,
|
|
@@ -2916,8 +3044,8 @@ var getOptions = (parentStyleDirection) => [
|
|
|
2916
3044
|
},
|
|
2917
3045
|
{
|
|
2918
3046
|
value: "end",
|
|
2919
|
-
label: (0,
|
|
2920
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3047
|
+
label: (0, import_i18n22.__)("End", "elementor"),
|
|
3048
|
+
renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(
|
|
2921
3049
|
RotatedIcon,
|
|
2922
3050
|
{
|
|
2923
3051
|
icon: EndIcon3,
|
|
@@ -2930,8 +3058,8 @@ var getOptions = (parentStyleDirection) => [
|
|
|
2930
3058
|
},
|
|
2931
3059
|
{
|
|
2932
3060
|
value: "stretch",
|
|
2933
|
-
label: (0,
|
|
2934
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3061
|
+
label: (0, import_i18n22.__)("Stretch", "elementor"),
|
|
3062
|
+
renderContent: ({ size }) => /* @__PURE__ */ React46.createElement(
|
|
2935
3063
|
RotatedIcon,
|
|
2936
3064
|
{
|
|
2937
3065
|
icon: import_icons11.LayoutDistributeVerticalIcon,
|
|
@@ -2943,107 +3071,107 @@ var getOptions = (parentStyleDirection) => [
|
|
|
2943
3071
|
showTooltip: true
|
|
2944
3072
|
}
|
|
2945
3073
|
];
|
|
2946
|
-
var AlignSelfChild = ({ parentStyleDirection }) => {
|
|
2947
|
-
return /* @__PURE__ */ React44.createElement(UiProviders, null, /* @__PURE__ */ React44.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React44.createElement(import_ui36.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(import_ui36.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(ControlLabel, null, (0, import_i18n18.__)("Align self", "elementor"))), /* @__PURE__ */ React44.createElement(import_ui36.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React44.createElement(import_editor_controls17.ToggleControl, { options: getOptions(parentStyleDirection) })))));
|
|
2948
|
-
};
|
|
3074
|
+
var AlignSelfChild = ({ parentStyleDirection }) => /* @__PURE__ */ React46.createElement(StylesField, { bind: "align-self", propDisplayName: ALIGN_SELF_LABEL }, /* @__PURE__ */ React46.createElement(UiProviders, null, /* @__PURE__ */ React46.createElement(StylesFieldLayout, { label: ALIGN_SELF_LABEL }, /* @__PURE__ */ React46.createElement(import_editor_controls18.ToggleControl, { options: getOptions(parentStyleDirection) }))));
|
|
2949
3075
|
|
|
2950
3076
|
// src/components/style-sections/layout-section/display-field.tsx
|
|
2951
|
-
var
|
|
2952
|
-
var
|
|
2953
|
-
var
|
|
2954
|
-
var
|
|
2955
|
-
var
|
|
3077
|
+
var React47 = __toESM(require("react"));
|
|
3078
|
+
var import_editor_controls19 = require("@elementor/editor-controls");
|
|
3079
|
+
var import_editor_v1_adapters12 = require("@elementor/editor-v1-adapters");
|
|
3080
|
+
var import_i18n23 = require("@wordpress/i18n");
|
|
3081
|
+
var DISPLAY_LABEL = (0, import_i18n23.__)("Display", "elementor");
|
|
2956
3082
|
var displayFieldItems = [
|
|
2957
3083
|
{
|
|
2958
3084
|
value: "block",
|
|
2959
|
-
renderContent: () => (0,
|
|
2960
|
-
label: (0,
|
|
3085
|
+
renderContent: () => (0, import_i18n23.__)("Block", "elementor"),
|
|
3086
|
+
label: (0, import_i18n23.__)("Block", "elementor"),
|
|
2961
3087
|
showTooltip: true
|
|
2962
3088
|
},
|
|
2963
3089
|
{
|
|
2964
3090
|
value: "flex",
|
|
2965
|
-
renderContent: () => (0,
|
|
2966
|
-
label: (0,
|
|
3091
|
+
renderContent: () => (0, import_i18n23.__)("Flex", "elementor"),
|
|
3092
|
+
label: (0, import_i18n23.__)("Flex", "elementor"),
|
|
2967
3093
|
showTooltip: true
|
|
2968
3094
|
},
|
|
2969
3095
|
{
|
|
2970
3096
|
value: "inline-block",
|
|
2971
|
-
renderContent: () => (0,
|
|
2972
|
-
label: (0,
|
|
3097
|
+
renderContent: () => (0, import_i18n23.__)("In-blk", "elementor"),
|
|
3098
|
+
label: (0, import_i18n23.__)("Inline-block", "elementor"),
|
|
2973
3099
|
showTooltip: true
|
|
2974
3100
|
}
|
|
2975
3101
|
];
|
|
2976
3102
|
var DisplayField = () => {
|
|
2977
|
-
const isDisplayNoneFeatureActive = (0,
|
|
3103
|
+
const isDisplayNoneFeatureActive = (0, import_editor_v1_adapters12.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_30);
|
|
2978
3104
|
const items3 = [...displayFieldItems];
|
|
2979
3105
|
if (isDisplayNoneFeatureActive) {
|
|
2980
3106
|
items3.push({
|
|
2981
3107
|
value: "none",
|
|
2982
|
-
renderContent: () => (0,
|
|
2983
|
-
label: (0,
|
|
3108
|
+
renderContent: () => (0, import_i18n23.__)("None", "elementor"),
|
|
3109
|
+
label: (0, import_i18n23.__)("None", "elementor"),
|
|
2984
3110
|
showTooltip: true
|
|
2985
3111
|
});
|
|
2986
3112
|
}
|
|
2987
3113
|
items3.push({
|
|
2988
3114
|
value: "inline-flex",
|
|
2989
|
-
renderContent: () => (0,
|
|
2990
|
-
label: (0,
|
|
3115
|
+
renderContent: () => (0, import_i18n23.__)("In-flx", "elementor"),
|
|
3116
|
+
label: (0, import_i18n23.__)("Inline-flex", "elementor"),
|
|
2991
3117
|
showTooltip: true
|
|
2992
3118
|
});
|
|
2993
3119
|
const placeholder = useDisplayPlaceholderValue();
|
|
2994
|
-
return /* @__PURE__ */
|
|
3120
|
+
return /* @__PURE__ */ React47.createElement(StylesField, { bind: "display", propDisplayName: DISPLAY_LABEL, placeholder }, /* @__PURE__ */ React47.createElement(StylesFieldLayout, { label: DISPLAY_LABEL, direction: "column" }, /* @__PURE__ */ React47.createElement(import_editor_controls19.ToggleControl, { options: items3, maxItems: 4, fullWidth: true })));
|
|
2995
3121
|
};
|
|
2996
3122
|
var useDisplayPlaceholderValue = () => useStylesInheritanceChain(["display"])[0]?.value ?? void 0;
|
|
2997
3123
|
|
|
2998
3124
|
// src/components/style-sections/layout-section/flex-direction-field.tsx
|
|
2999
|
-
var
|
|
3000
|
-
var
|
|
3125
|
+
var React48 = __toESM(require("react"));
|
|
3126
|
+
var import_editor_controls20 = require("@elementor/editor-controls");
|
|
3001
3127
|
var import_icons12 = require("@elementor/icons");
|
|
3002
|
-
var
|
|
3003
|
-
var
|
|
3128
|
+
var import_ui36 = require("@elementor/ui");
|
|
3129
|
+
var import_i18n24 = require("@wordpress/i18n");
|
|
3130
|
+
var FLEX_DIRECTION_LABEL = (0, import_i18n24.__)("Direction", "elementor");
|
|
3004
3131
|
var options3 = [
|
|
3005
3132
|
{
|
|
3006
3133
|
value: "row",
|
|
3007
|
-
label: (0,
|
|
3134
|
+
label: (0, import_i18n24.__)("Row", "elementor"),
|
|
3008
3135
|
renderContent: ({ size }) => {
|
|
3009
|
-
const StartIcon5 = (0,
|
|
3010
|
-
return /* @__PURE__ */
|
|
3136
|
+
const StartIcon5 = (0, import_ui36.withDirection)(import_icons12.ArrowRightIcon);
|
|
3137
|
+
return /* @__PURE__ */ React48.createElement(StartIcon5, { fontSize: size });
|
|
3011
3138
|
},
|
|
3012
3139
|
showTooltip: true
|
|
3013
3140
|
},
|
|
3014
3141
|
{
|
|
3015
3142
|
value: "column",
|
|
3016
|
-
label: (0,
|
|
3017
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3143
|
+
label: (0, import_i18n24.__)("Column", "elementor"),
|
|
3144
|
+
renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(import_icons12.ArrowDownSmallIcon, { fontSize: size }),
|
|
3018
3145
|
showTooltip: true
|
|
3019
3146
|
},
|
|
3020
3147
|
{
|
|
3021
3148
|
value: "row-reverse",
|
|
3022
|
-
label: (0,
|
|
3149
|
+
label: (0, import_i18n24.__)("Reversed row", "elementor"),
|
|
3023
3150
|
renderContent: ({ size }) => {
|
|
3024
|
-
const EndIcon5 = (0,
|
|
3025
|
-
return /* @__PURE__ */
|
|
3151
|
+
const EndIcon5 = (0, import_ui36.withDirection)(import_icons12.ArrowLeftIcon);
|
|
3152
|
+
return /* @__PURE__ */ React48.createElement(EndIcon5, { fontSize: size });
|
|
3026
3153
|
},
|
|
3027
3154
|
showTooltip: true
|
|
3028
3155
|
},
|
|
3029
3156
|
{
|
|
3030
3157
|
value: "column-reverse",
|
|
3031
|
-
label: (0,
|
|
3032
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3158
|
+
label: (0, import_i18n24.__)("Reversed column", "elementor"),
|
|
3159
|
+
renderContent: ({ size }) => /* @__PURE__ */ React48.createElement(import_icons12.ArrowUpSmallIcon, { fontSize: size }),
|
|
3033
3160
|
showTooltip: true
|
|
3034
3161
|
}
|
|
3035
3162
|
];
|
|
3036
3163
|
var FlexDirectionField = () => {
|
|
3037
|
-
return /* @__PURE__ */
|
|
3164
|
+
return /* @__PURE__ */ React48.createElement(StylesField, { bind: "flex-direction", propDisplayName: FLEX_DIRECTION_LABEL }, /* @__PURE__ */ React48.createElement(UiProviders, null, /* @__PURE__ */ React48.createElement(StylesFieldLayout, { label: FLEX_DIRECTION_LABEL }, /* @__PURE__ */ React48.createElement(import_editor_controls20.ToggleControl, { options: options3 }))));
|
|
3038
3165
|
};
|
|
3039
3166
|
|
|
3040
3167
|
// src/components/style-sections/layout-section/flex-order-field.tsx
|
|
3041
|
-
var
|
|
3042
|
-
var
|
|
3043
|
-
var
|
|
3168
|
+
var React49 = __toESM(require("react"));
|
|
3169
|
+
var import_react26 = require("react");
|
|
3170
|
+
var import_editor_controls21 = require("@elementor/editor-controls");
|
|
3044
3171
|
var import_icons13 = require("@elementor/icons");
|
|
3045
|
-
var
|
|
3046
|
-
var
|
|
3172
|
+
var import_ui37 = require("@elementor/ui");
|
|
3173
|
+
var import_i18n25 = require("@wordpress/i18n");
|
|
3174
|
+
var ORDER_LABEL = (0, import_i18n25.__)("Order", "elementor");
|
|
3047
3175
|
var FIRST_DEFAULT_VALUE = -99999;
|
|
3048
3176
|
var LAST_DEFAULT_VALUE = 99999;
|
|
3049
3177
|
var FIRST = "first";
|
|
@@ -3056,27 +3184,26 @@ var orderValueMap = {
|
|
|
3056
3184
|
var items = [
|
|
3057
3185
|
{
|
|
3058
3186
|
value: FIRST,
|
|
3059
|
-
label: (0,
|
|
3060
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3187
|
+
label: (0, import_i18n25.__)("First", "elementor"),
|
|
3188
|
+
renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(import_icons13.ArrowUpSmallIcon, { fontSize: size }),
|
|
3061
3189
|
showTooltip: true
|
|
3062
3190
|
},
|
|
3063
3191
|
{
|
|
3064
3192
|
value: LAST,
|
|
3065
|
-
label: (0,
|
|
3066
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3193
|
+
label: (0, import_i18n25.__)("Last", "elementor"),
|
|
3194
|
+
renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(import_icons13.ArrowDownSmallIcon, { fontSize: size }),
|
|
3067
3195
|
showTooltip: true
|
|
3068
3196
|
},
|
|
3069
3197
|
{
|
|
3070
3198
|
value: CUSTOM,
|
|
3071
|
-
label: (0,
|
|
3072
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3199
|
+
label: (0, import_i18n25.__)("Custom", "elementor"),
|
|
3200
|
+
renderContent: ({ size }) => /* @__PURE__ */ React49.createElement(import_icons13.PencilIcon, { fontSize: size }),
|
|
3073
3201
|
showTooltip: true
|
|
3074
3202
|
}
|
|
3075
3203
|
];
|
|
3076
3204
|
var FlexOrderField = () => {
|
|
3077
|
-
const
|
|
3078
|
-
const
|
|
3079
|
-
const [groupControlValue, setGroupControlValue] = (0, import_react24.useState)(getGroupControlValue(order?.value || null));
|
|
3205
|
+
const { value: order, setValue: setOrder, canEdit } = useStylesField("order");
|
|
3206
|
+
const [groupControlValue, setGroupControlValue] = (0, import_react26.useState)(getGroupControlValue(order?.value || null));
|
|
3080
3207
|
const handleToggleButtonChange = (group) => {
|
|
3081
3208
|
setGroupControlValue(group);
|
|
3082
3209
|
if (!group || group === CUSTOM) {
|
|
@@ -3085,8 +3212,8 @@ var FlexOrderField = () => {
|
|
|
3085
3212
|
}
|
|
3086
3213
|
setOrder({ $$type: "number", value: orderValueMap[group] });
|
|
3087
3214
|
};
|
|
3088
|
-
return /* @__PURE__ */
|
|
3089
|
-
|
|
3215
|
+
return /* @__PURE__ */ React49.createElement(StylesField, { bind: "order", propDisplayName: ORDER_LABEL }, /* @__PURE__ */ React49.createElement(UiProviders, null, /* @__PURE__ */ React49.createElement(StylesFieldLayout, { label: ORDER_LABEL }, /* @__PURE__ */ React49.createElement(SectionContent, null, /* @__PURE__ */ React49.createElement(
|
|
3216
|
+
import_editor_controls21.ControlToggleButtonGroup,
|
|
3090
3217
|
{
|
|
3091
3218
|
items,
|
|
3092
3219
|
value: groupControlValue,
|
|
@@ -3094,14 +3221,14 @@ var FlexOrderField = () => {
|
|
|
3094
3221
|
exclusive: true,
|
|
3095
3222
|
disabled: !canEdit
|
|
3096
3223
|
}
|
|
3097
|
-
)
|
|
3098
|
-
|
|
3224
|
+
), CUSTOM === groupControlValue && /* @__PURE__ */ React49.createElement(import_ui37.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(import_ui37.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(ControlLabel, null, (0, import_i18n25.__)("Custom order", "elementor"))), /* @__PURE__ */ React49.createElement(import_ui37.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React49.createElement(
|
|
3225
|
+
import_editor_controls21.NumberControl,
|
|
3099
3226
|
{
|
|
3100
3227
|
min: FIRST_DEFAULT_VALUE + 1,
|
|
3101
3228
|
max: LAST_DEFAULT_VALUE - 1,
|
|
3102
3229
|
shouldForceInt: true
|
|
3103
3230
|
}
|
|
3104
|
-
))))));
|
|
3231
|
+
)))))));
|
|
3105
3232
|
};
|
|
3106
3233
|
var getGroupControlValue = (order) => {
|
|
3107
3234
|
if (LAST_DEFAULT_VALUE === order) {
|
|
@@ -3114,45 +3241,44 @@ var getGroupControlValue = (order) => {
|
|
|
3114
3241
|
};
|
|
3115
3242
|
|
|
3116
3243
|
// src/components/style-sections/layout-section/flex-size-field.tsx
|
|
3117
|
-
var
|
|
3118
|
-
var
|
|
3119
|
-
var
|
|
3120
|
-
var
|
|
3244
|
+
var React50 = __toESM(require("react"));
|
|
3245
|
+
var import_react27 = require("react");
|
|
3246
|
+
var import_editor_controls22 = require("@elementor/editor-controls");
|
|
3247
|
+
var import_editor_props9 = require("@elementor/editor-props");
|
|
3121
3248
|
var import_icons14 = require("@elementor/icons");
|
|
3122
|
-
var
|
|
3123
|
-
var
|
|
3249
|
+
var import_i18n26 = require("@wordpress/i18n");
|
|
3250
|
+
var FLEX_SIZE_LABEL = (0, import_i18n26.__)("Flex Size", "elementor");
|
|
3124
3251
|
var DEFAULT = 1;
|
|
3125
3252
|
var items2 = [
|
|
3126
3253
|
{
|
|
3127
3254
|
value: "flex-grow",
|
|
3128
|
-
label: (0,
|
|
3129
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3255
|
+
label: (0, import_i18n26.__)("Grow", "elementor"),
|
|
3256
|
+
renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(import_icons14.ExpandIcon, { fontSize: size }),
|
|
3130
3257
|
showTooltip: true
|
|
3131
3258
|
},
|
|
3132
3259
|
{
|
|
3133
3260
|
value: "flex-shrink",
|
|
3134
|
-
label: (0,
|
|
3135
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3261
|
+
label: (0, import_i18n26.__)("Shrink", "elementor"),
|
|
3262
|
+
renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(import_icons14.ShrinkIcon, { fontSize: size }),
|
|
3136
3263
|
showTooltip: true
|
|
3137
3264
|
},
|
|
3138
3265
|
{
|
|
3139
3266
|
value: "custom",
|
|
3140
|
-
label: (0,
|
|
3141
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3267
|
+
label: (0, import_i18n26.__)("Custom", "elementor"),
|
|
3268
|
+
renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(import_icons14.PencilIcon, { fontSize: size }),
|
|
3142
3269
|
showTooltip: true
|
|
3143
3270
|
}
|
|
3144
3271
|
];
|
|
3145
3272
|
var FlexSizeField = () => {
|
|
3146
|
-
const { canEdit } =
|
|
3147
|
-
const
|
|
3148
|
-
const
|
|
3149
|
-
const
|
|
3150
|
-
const
|
|
3151
|
-
const currentGroup = (0, import_react25.useMemo)(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = (0, import_react25.useState)(currentGroup);
|
|
3273
|
+
const { values, setValues, canEdit } = useStylesFields(["flex-grow", "flex-shrink", "flex-basis"]);
|
|
3274
|
+
const grow = values?.["flex-grow"]?.value || null;
|
|
3275
|
+
const shrink = values?.["flex-shrink"]?.value || null;
|
|
3276
|
+
const basis = values?.["flex-basis"]?.value || null;
|
|
3277
|
+
const currentGroup = (0, import_react27.useMemo)(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = (0, import_react27.useState)(currentGroup);
|
|
3152
3278
|
const onChangeGroup = (group = null) => {
|
|
3153
3279
|
setActiveGroup(group);
|
|
3154
3280
|
if (!group || group === "custom") {
|
|
3155
|
-
|
|
3281
|
+
setValues({
|
|
3156
3282
|
"flex-basis": null,
|
|
3157
3283
|
"flex-grow": null,
|
|
3158
3284
|
"flex-shrink": null
|
|
@@ -3160,21 +3286,21 @@ var FlexSizeField = () => {
|
|
|
3160
3286
|
return;
|
|
3161
3287
|
}
|
|
3162
3288
|
if (group === "flex-grow") {
|
|
3163
|
-
|
|
3289
|
+
setValues({
|
|
3164
3290
|
"flex-basis": null,
|
|
3165
|
-
"flex-grow":
|
|
3291
|
+
"flex-grow": import_editor_props9.numberPropTypeUtil.create(DEFAULT),
|
|
3166
3292
|
"flex-shrink": null
|
|
3167
3293
|
});
|
|
3168
3294
|
return;
|
|
3169
3295
|
}
|
|
3170
|
-
|
|
3296
|
+
setValues({
|
|
3171
3297
|
"flex-basis": null,
|
|
3172
3298
|
"flex-grow": null,
|
|
3173
|
-
"flex-shrink":
|
|
3299
|
+
"flex-shrink": import_editor_props9.numberPropTypeUtil.create(DEFAULT)
|
|
3174
3300
|
});
|
|
3175
3301
|
};
|
|
3176
|
-
return /* @__PURE__ */
|
|
3177
|
-
|
|
3302
|
+
return /* @__PURE__ */ React50.createElement(UiProviders, null, /* @__PURE__ */ React50.createElement(SectionContent, null, /* @__PURE__ */ React50.createElement(StylesField, { bind: activeGroup ?? "", propDisplayName: FLEX_SIZE_LABEL }, /* @__PURE__ */ React50.createElement(StylesFieldLayout, { label: FLEX_SIZE_LABEL }, /* @__PURE__ */ React50.createElement(
|
|
3303
|
+
import_editor_controls22.ControlToggleButtonGroup,
|
|
3178
3304
|
{
|
|
3179
3305
|
value: activeGroup,
|
|
3180
3306
|
onChange: onChangeGroup,
|
|
@@ -3182,11 +3308,11 @@ var FlexSizeField = () => {
|
|
|
3182
3308
|
items: items2,
|
|
3183
3309
|
exclusive: true
|
|
3184
3310
|
}
|
|
3185
|
-
)))
|
|
3311
|
+
))), "custom" === activeGroup && /* @__PURE__ */ React50.createElement(FlexCustomField, null)));
|
|
3186
3312
|
};
|
|
3187
3313
|
var FlexCustomField = () => {
|
|
3188
|
-
const flexBasisRowRef = (0,
|
|
3189
|
-
return /* @__PURE__ */
|
|
3314
|
+
const flexBasisRowRef = (0, import_react27.useRef)(null);
|
|
3315
|
+
return /* @__PURE__ */ React50.createElement(React50.Fragment, null, /* @__PURE__ */ React50.createElement(StylesField, { bind: "flex-grow", propDisplayName: FLEX_SIZE_LABEL }, /* @__PURE__ */ React50.createElement(StylesFieldLayout, { label: (0, import_i18n26.__)("Grow", "elementor") }, /* @__PURE__ */ React50.createElement(import_editor_controls22.NumberControl, { min: 0, shouldForceInt: true }))), /* @__PURE__ */ React50.createElement(StylesField, { bind: "flex-shrink", propDisplayName: FLEX_SIZE_LABEL }, /* @__PURE__ */ React50.createElement(StylesFieldLayout, { label: (0, import_i18n26.__)("Shrink", "elementor") }, /* @__PURE__ */ React50.createElement(import_editor_controls22.NumberControl, { min: 0, shouldForceInt: true }))), /* @__PURE__ */ React50.createElement(StylesField, { bind: "flex-basis", propDisplayName: FLEX_SIZE_LABEL }, /* @__PURE__ */ React50.createElement(StylesFieldLayout, { label: (0, import_i18n26.__)("Basis", "elementor"), ref: flexBasisRowRef }, /* @__PURE__ */ React50.createElement(import_editor_controls22.SizeControl, { extendedOptions: ["auto"], anchorRef: flexBasisRowRef }))));
|
|
3190
3316
|
};
|
|
3191
3317
|
var getActiveGroup = ({
|
|
3192
3318
|
grow,
|
|
@@ -3209,22 +3335,23 @@ var getActiveGroup = ({
|
|
|
3209
3335
|
};
|
|
3210
3336
|
|
|
3211
3337
|
// src/components/style-sections/layout-section/gap-control-field.tsx
|
|
3212
|
-
var
|
|
3213
|
-
var
|
|
3214
|
-
var
|
|
3215
|
-
var
|
|
3338
|
+
var React51 = __toESM(require("react"));
|
|
3339
|
+
var import_editor_controls23 = require("@elementor/editor-controls");
|
|
3340
|
+
var import_i18n27 = require("@wordpress/i18n");
|
|
3341
|
+
var GAPS_LABEL = (0, import_i18n27.__)("Gaps", "elementor");
|
|
3216
3342
|
var GapControlField = () => {
|
|
3217
|
-
return /* @__PURE__ */
|
|
3343
|
+
return /* @__PURE__ */ React51.createElement(StylesField, { bind: "gap", propDisplayName: GAPS_LABEL }, /* @__PURE__ */ React51.createElement(import_editor_controls23.GapControl, { label: GAPS_LABEL }));
|
|
3218
3344
|
};
|
|
3219
3345
|
|
|
3220
3346
|
// src/components/style-sections/layout-section/justify-content-field.tsx
|
|
3221
|
-
var
|
|
3222
|
-
var
|
|
3347
|
+
var React52 = __toESM(require("react"));
|
|
3348
|
+
var import_editor_controls24 = require("@elementor/editor-controls");
|
|
3223
3349
|
var import_icons15 = require("@elementor/icons");
|
|
3224
|
-
var
|
|
3225
|
-
var
|
|
3226
|
-
var
|
|
3227
|
-
var
|
|
3350
|
+
var import_ui38 = require("@elementor/ui");
|
|
3351
|
+
var import_i18n28 = require("@wordpress/i18n");
|
|
3352
|
+
var JUSTIFY_CONTENT_LABEL = (0, import_i18n28.__)("Justify content", "elementor");
|
|
3353
|
+
var StartIcon4 = (0, import_ui38.withDirection)(import_icons15.JustifyTopIcon);
|
|
3354
|
+
var EndIcon4 = (0, import_ui38.withDirection)(import_icons15.JustifyBottomIcon);
|
|
3228
3355
|
var iconProps4 = {
|
|
3229
3356
|
isClockwise: true,
|
|
3230
3357
|
offset: -90
|
|
@@ -3232,91 +3359,89 @@ var iconProps4 = {
|
|
|
3232
3359
|
var options4 = [
|
|
3233
3360
|
{
|
|
3234
3361
|
value: "flex-start",
|
|
3235
|
-
label: (0,
|
|
3236
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3362
|
+
label: (0, import_i18n28.__)("Start", "elementor"),
|
|
3363
|
+
renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(RotatedIcon, { icon: StartIcon4, size, ...iconProps4 }),
|
|
3237
3364
|
showTooltip: true
|
|
3238
3365
|
},
|
|
3239
3366
|
{
|
|
3240
3367
|
value: "center",
|
|
3241
|
-
label: (0,
|
|
3242
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3368
|
+
label: (0, import_i18n28.__)("Center", "elementor"),
|
|
3369
|
+
renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(RotatedIcon, { icon: import_icons15.JustifyCenterIcon, size, ...iconProps4 }),
|
|
3243
3370
|
showTooltip: true
|
|
3244
3371
|
},
|
|
3245
3372
|
{
|
|
3246
3373
|
value: "flex-end",
|
|
3247
|
-
label: (0,
|
|
3248
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3374
|
+
label: (0, import_i18n28.__)("End", "elementor"),
|
|
3375
|
+
renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(RotatedIcon, { icon: EndIcon4, size, ...iconProps4 }),
|
|
3249
3376
|
showTooltip: true
|
|
3250
3377
|
},
|
|
3251
3378
|
{
|
|
3252
3379
|
value: "space-between",
|
|
3253
|
-
label: (0,
|
|
3254
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3380
|
+
label: (0, import_i18n28.__)("Space between", "elementor"),
|
|
3381
|
+
renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(RotatedIcon, { icon: import_icons15.JustifySpaceBetweenVerticalIcon, size, ...iconProps4 }),
|
|
3255
3382
|
showTooltip: true
|
|
3256
3383
|
},
|
|
3257
3384
|
{
|
|
3258
3385
|
value: "space-around",
|
|
3259
|
-
label: (0,
|
|
3260
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3386
|
+
label: (0, import_i18n28.__)("Space around", "elementor"),
|
|
3387
|
+
renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(RotatedIcon, { icon: import_icons15.JustifySpaceAroundVerticalIcon, size, ...iconProps4 }),
|
|
3261
3388
|
showTooltip: true
|
|
3262
3389
|
},
|
|
3263
3390
|
{
|
|
3264
3391
|
value: "space-evenly",
|
|
3265
|
-
label: (0,
|
|
3266
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3392
|
+
label: (0, import_i18n28.__)("Space evenly", "elementor"),
|
|
3393
|
+
renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(RotatedIcon, { icon: import_icons15.JustifyDistributeVerticalIcon, size, ...iconProps4 }),
|
|
3267
3394
|
showTooltip: true
|
|
3268
3395
|
}
|
|
3269
3396
|
];
|
|
3270
|
-
var JustifyContentField = () => {
|
|
3271
|
-
return /* @__PURE__ */ React50.createElement(UiProviders, null, /* @__PURE__ */ React50.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React50.createElement(import_ui42.Stack, { gap: 0.75 }, /* @__PURE__ */ React50.createElement(ControlLabel, null, (0, import_i18n24.__)("Justify content", "elementor")), /* @__PURE__ */ React50.createElement(import_editor_controls23.ToggleControl, { options: options4, fullWidth: true }))));
|
|
3272
|
-
};
|
|
3397
|
+
var JustifyContentField = () => /* @__PURE__ */ React52.createElement(StylesField, { bind: "justify-content", propDisplayName: JUSTIFY_CONTENT_LABEL }, /* @__PURE__ */ React52.createElement(UiProviders, null, /* @__PURE__ */ React52.createElement(StylesFieldLayout, { label: JUSTIFY_CONTENT_LABEL, direction: "column" }, /* @__PURE__ */ React52.createElement(import_editor_controls24.ToggleControl, { options: options4, fullWidth: true }))));
|
|
3273
3398
|
|
|
3274
3399
|
// src/components/style-sections/layout-section/wrap-field.tsx
|
|
3275
|
-
var
|
|
3276
|
-
var
|
|
3400
|
+
var React53 = __toESM(require("react"));
|
|
3401
|
+
var import_editor_controls25 = require("@elementor/editor-controls");
|
|
3277
3402
|
var import_icons16 = require("@elementor/icons");
|
|
3278
|
-
var
|
|
3279
|
-
var
|
|
3403
|
+
var import_i18n29 = require("@wordpress/i18n");
|
|
3404
|
+
var FLEX_WRAP_LABEL = (0, import_i18n29.__)("Wrap", "elementor");
|
|
3280
3405
|
var options5 = [
|
|
3281
3406
|
{
|
|
3282
3407
|
value: "nowrap",
|
|
3283
|
-
label: (0,
|
|
3284
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3408
|
+
label: (0, import_i18n29.__)("No wrap", "elementor"),
|
|
3409
|
+
renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(import_icons16.ArrowRightIcon, { fontSize: size }),
|
|
3285
3410
|
showTooltip: true
|
|
3286
3411
|
},
|
|
3287
3412
|
{
|
|
3288
3413
|
value: "wrap",
|
|
3289
|
-
label: (0,
|
|
3290
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3414
|
+
label: (0, import_i18n29.__)("Wrap", "elementor"),
|
|
3415
|
+
renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(import_icons16.ArrowBackIcon, { fontSize: size }),
|
|
3291
3416
|
showTooltip: true
|
|
3292
3417
|
},
|
|
3293
3418
|
{
|
|
3294
3419
|
value: "wrap-reverse",
|
|
3295
|
-
label: (0,
|
|
3296
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3420
|
+
label: (0, import_i18n29.__)("Reversed wrap", "elementor"),
|
|
3421
|
+
renderContent: ({ size }) => /* @__PURE__ */ React53.createElement(import_icons16.ArrowForwardIcon, { fontSize: size }),
|
|
3297
3422
|
showTooltip: true
|
|
3298
3423
|
}
|
|
3299
3424
|
];
|
|
3300
3425
|
var WrapField = () => {
|
|
3301
|
-
return /* @__PURE__ */
|
|
3426
|
+
return /* @__PURE__ */ React53.createElement(StylesField, { bind: "flex-wrap", propDisplayName: FLEX_WRAP_LABEL }, /* @__PURE__ */ React53.createElement(UiProviders, null, /* @__PURE__ */ React53.createElement(StylesFieldLayout, { label: FLEX_WRAP_LABEL }, /* @__PURE__ */ React53.createElement(import_editor_controls25.ToggleControl, { options: options5 }))));
|
|
3302
3427
|
};
|
|
3303
3428
|
|
|
3304
3429
|
// src/components/style-sections/layout-section/layout-section.tsx
|
|
3305
3430
|
var LayoutSection = () => {
|
|
3306
|
-
const
|
|
3431
|
+
const { value: display } = useStylesField("display");
|
|
3307
3432
|
const displayPlaceholder = useDisplayPlaceholderValue();
|
|
3308
3433
|
const isDisplayFlex = shouldDisplayFlexFields(display, displayPlaceholder);
|
|
3309
3434
|
const { element } = useElement();
|
|
3310
3435
|
const parent = (0, import_editor_elements7.useParentElement)(element.id);
|
|
3311
3436
|
const parentStyle = useComputedStyle(parent?.id || null);
|
|
3312
3437
|
const parentStyleDirection = parentStyle?.flexDirection ?? "row";
|
|
3313
|
-
return /* @__PURE__ */
|
|
3438
|
+
return /* @__PURE__ */ React54.createElement(SectionContent, null, /* @__PURE__ */ React54.createElement(DisplayField, null), isDisplayFlex && /* @__PURE__ */ React54.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React54.createElement(FlexChildFields, { parentStyleDirection }));
|
|
3314
3439
|
};
|
|
3315
3440
|
var FlexFields = () => {
|
|
3316
|
-
const
|
|
3317
|
-
return /* @__PURE__ */
|
|
3441
|
+
const { value: flexWrap } = useStylesField("flex-wrap");
|
|
3442
|
+
return /* @__PURE__ */ React54.createElement(React54.Fragment, null, /* @__PURE__ */ React54.createElement(FlexDirectionField, null), /* @__PURE__ */ React54.createElement(JustifyContentField, null), /* @__PURE__ */ React54.createElement(AlignItemsField, null), /* @__PURE__ */ React54.createElement(PanelDivider, null), /* @__PURE__ */ React54.createElement(GapControlField, null), /* @__PURE__ */ React54.createElement(WrapField, null), ["wrap", "wrap-reverse"].includes(flexWrap?.value) && /* @__PURE__ */ React54.createElement(AlignContentField, null));
|
|
3318
3443
|
};
|
|
3319
|
-
var FlexChildFields = ({ parentStyleDirection }) => /* @__PURE__ */
|
|
3444
|
+
var FlexChildFields = ({ parentStyleDirection }) => /* @__PURE__ */ React54.createElement(React54.Fragment, null, /* @__PURE__ */ React54.createElement(PanelDivider, null), /* @__PURE__ */ React54.createElement(import_editor_controls26.ControlFormLabel, null, (0, import_i18n30.__)("Flex child", "elementor")), /* @__PURE__ */ React54.createElement(AlignSelfChild, { parentStyleDirection }), /* @__PURE__ */ React54.createElement(FlexOrderField, null), /* @__PURE__ */ React54.createElement(FlexSizeField, null));
|
|
3320
3445
|
var shouldDisplayFlexFields = (display, local) => {
|
|
3321
3446
|
const value = display?.value ?? local?.value;
|
|
3322
3447
|
if (!value) {
|
|
@@ -3326,38 +3451,38 @@ var shouldDisplayFlexFields = (display, local) => {
|
|
|
3326
3451
|
};
|
|
3327
3452
|
|
|
3328
3453
|
// src/components/style-sections/position-section/position-section.tsx
|
|
3329
|
-
var
|
|
3330
|
-
var
|
|
3454
|
+
var React59 = __toESM(require("react"));
|
|
3455
|
+
var import_editor_v1_adapters13 = require("@elementor/editor-v1-adapters");
|
|
3331
3456
|
var import_session3 = require("@elementor/session");
|
|
3332
3457
|
|
|
3333
3458
|
// src/components/style-sections/position-section/dimensions-field.tsx
|
|
3334
|
-
var
|
|
3335
|
-
var
|
|
3336
|
-
var
|
|
3459
|
+
var React55 = __toESM(require("react"));
|
|
3460
|
+
var import_react28 = require("react");
|
|
3461
|
+
var import_editor_controls27 = require("@elementor/editor-controls");
|
|
3337
3462
|
var import_icons17 = require("@elementor/icons");
|
|
3338
|
-
var
|
|
3339
|
-
var
|
|
3340
|
-
var InlineStartIcon2 = (0,
|
|
3341
|
-
var InlineEndIcon2 = (0,
|
|
3463
|
+
var import_ui39 = require("@elementor/ui");
|
|
3464
|
+
var import_i18n31 = require("@wordpress/i18n");
|
|
3465
|
+
var InlineStartIcon2 = (0, import_ui39.withDirection)(import_icons17.SideLeftIcon);
|
|
3466
|
+
var InlineEndIcon2 = (0, import_ui39.withDirection)(import_icons17.SideRightIcon);
|
|
3342
3467
|
var sideIcons = {
|
|
3343
|
-
"inset-block-start": /* @__PURE__ */
|
|
3344
|
-
"inset-block-end": /* @__PURE__ */
|
|
3345
|
-
"inset-inline-start": /* @__PURE__ */
|
|
3346
|
-
"inset-inline-end": /* @__PURE__ */
|
|
3468
|
+
"inset-block-start": /* @__PURE__ */ React55.createElement(import_icons17.SideTopIcon, { fontSize: "tiny" }),
|
|
3469
|
+
"inset-block-end": /* @__PURE__ */ React55.createElement(import_icons17.SideBottomIcon, { fontSize: "tiny" }),
|
|
3470
|
+
"inset-inline-start": /* @__PURE__ */ React55.createElement(RotatedIcon, { icon: InlineStartIcon2, size: "tiny" }),
|
|
3471
|
+
"inset-inline-end": /* @__PURE__ */ React55.createElement(RotatedIcon, { icon: InlineEndIcon2, size: "tiny" })
|
|
3347
3472
|
};
|
|
3348
|
-
var getInlineStartLabel = (isSiteRtl) => isSiteRtl ? (0,
|
|
3349
|
-
var getInlineEndLabel = (isSiteRtl) => isSiteRtl ? (0,
|
|
3473
|
+
var getInlineStartLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n31.__)("Right", "elementor") : (0, import_i18n31.__)("Left", "elementor");
|
|
3474
|
+
var getInlineEndLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n31.__)("Left", "elementor") : (0, import_i18n31.__)("Right", "elementor");
|
|
3350
3475
|
var DimensionsField = () => {
|
|
3351
3476
|
const { isSiteRtl } = useDirection();
|
|
3352
|
-
const rowRefs = [(0,
|
|
3353
|
-
return /* @__PURE__ */
|
|
3477
|
+
const rowRefs = [(0, import_react28.useRef)(null), (0, import_react28.useRef)(null)];
|
|
3478
|
+
return /* @__PURE__ */ React55.createElement(UiProviders, null, /* @__PURE__ */ React55.createElement(import_ui39.Stack, { direction: "row", gap: 2, flexWrap: "nowrap", ref: rowRefs[0] }, /* @__PURE__ */ React55.createElement(DimensionField, { side: "inset-block-start", label: (0, import_i18n31.__)("Top", "elementor"), rowRef: rowRefs[0] }), /* @__PURE__ */ React55.createElement(
|
|
3354
3479
|
DimensionField,
|
|
3355
3480
|
{
|
|
3356
3481
|
side: "inset-inline-end",
|
|
3357
3482
|
label: getInlineEndLabel(isSiteRtl),
|
|
3358
3483
|
rowRef: rowRefs[0]
|
|
3359
3484
|
}
|
|
3360
|
-
)), /* @__PURE__ */
|
|
3485
|
+
)), /* @__PURE__ */ React55.createElement(import_ui39.Stack, { direction: "row", gap: 2, flexWrap: "nowrap", ref: rowRefs[1] }, /* @__PURE__ */ React55.createElement(DimensionField, { side: "inset-block-end", label: (0, import_i18n31.__)("Bottom", "elementor"), rowRef: rowRefs[1] }), /* @__PURE__ */ React55.createElement(
|
|
3361
3486
|
DimensionField,
|
|
3362
3487
|
{
|
|
3363
3488
|
side: "inset-inline-start",
|
|
@@ -3370,60 +3495,61 @@ var DimensionField = ({
|
|
|
3370
3495
|
side,
|
|
3371
3496
|
label,
|
|
3372
3497
|
rowRef
|
|
3373
|
-
}) => /* @__PURE__ */
|
|
3498
|
+
}) => /* @__PURE__ */ React55.createElement(StylesField, { bind: side, propDisplayName: label }, /* @__PURE__ */ React55.createElement(import_ui39.Grid, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React55.createElement(import_ui39.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React55.createElement(ControlLabel, null, label)), /* @__PURE__ */ React55.createElement(import_ui39.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React55.createElement(import_editor_controls27.SizeControl, { startIcon: sideIcons[side], extendedOptions: ["auto"], anchorRef: rowRef }))));
|
|
3374
3499
|
|
|
3375
3500
|
// src/components/style-sections/position-section/offset-field.tsx
|
|
3376
|
-
var
|
|
3377
|
-
var
|
|
3378
|
-
var
|
|
3379
|
-
var
|
|
3380
|
-
var
|
|
3501
|
+
var React56 = __toESM(require("react"));
|
|
3502
|
+
var import_react29 = require("react");
|
|
3503
|
+
var import_editor_controls28 = require("@elementor/editor-controls");
|
|
3504
|
+
var import_i18n32 = require("@wordpress/i18n");
|
|
3505
|
+
var OFFSET_LABEL = (0, import_i18n32.__)("Anchor offset", "elementor");
|
|
3506
|
+
var UNITS = ["px", "em", "rem", "vw", "vh"];
|
|
3381
3507
|
var OffsetField = () => {
|
|
3382
|
-
const rowRef = (0,
|
|
3383
|
-
return /* @__PURE__ */
|
|
3508
|
+
const rowRef = (0, import_react29.useRef)(null);
|
|
3509
|
+
return /* @__PURE__ */ React56.createElement(StylesField, { bind: "scroll-margin-top", propDisplayName: OFFSET_LABEL }, /* @__PURE__ */ React56.createElement(StylesFieldLayout, { label: OFFSET_LABEL, ref: rowRef }, /* @__PURE__ */ React56.createElement(import_editor_controls28.SizeControl, { units: UNITS, anchorRef: rowRef })));
|
|
3384
3510
|
};
|
|
3385
3511
|
|
|
3386
3512
|
// src/components/style-sections/position-section/position-field.tsx
|
|
3387
|
-
var
|
|
3388
|
-
var
|
|
3389
|
-
var
|
|
3390
|
-
var
|
|
3513
|
+
var React57 = __toESM(require("react"));
|
|
3514
|
+
var import_editor_controls29 = require("@elementor/editor-controls");
|
|
3515
|
+
var import_i18n33 = require("@wordpress/i18n");
|
|
3516
|
+
var POSITION_LABEL = (0, import_i18n33.__)("Position", "elementor");
|
|
3391
3517
|
var positionOptions = [
|
|
3392
|
-
{ label: (0,
|
|
3393
|
-
{ label: (0,
|
|
3394
|
-
{ label: (0,
|
|
3395
|
-
{ label: (0,
|
|
3396
|
-
{ label: (0,
|
|
3518
|
+
{ label: (0, import_i18n33.__)("Static", "elementor"), value: "static" },
|
|
3519
|
+
{ label: (0, import_i18n33.__)("Relative", "elementor"), value: "relative" },
|
|
3520
|
+
{ label: (0, import_i18n33.__)("Absolute", "elementor"), value: "absolute" },
|
|
3521
|
+
{ label: (0, import_i18n33.__)("Fixed", "elementor"), value: "fixed" },
|
|
3522
|
+
{ label: (0, import_i18n33.__)("Sticky", "elementor"), value: "sticky" }
|
|
3397
3523
|
];
|
|
3398
3524
|
var PositionField = ({ onChange }) => {
|
|
3399
|
-
return /* @__PURE__ */
|
|
3525
|
+
return /* @__PURE__ */ React57.createElement(StylesField, { bind: "position", propDisplayName: POSITION_LABEL }, /* @__PURE__ */ React57.createElement(StylesFieldLayout, { label: POSITION_LABEL }, /* @__PURE__ */ React57.createElement(import_editor_controls29.SelectControl, { options: positionOptions, onChange })));
|
|
3400
3526
|
};
|
|
3401
3527
|
|
|
3402
3528
|
// src/components/style-sections/position-section/z-index-field.tsx
|
|
3403
|
-
var
|
|
3404
|
-
var
|
|
3405
|
-
var
|
|
3406
|
-
var
|
|
3529
|
+
var React58 = __toESM(require("react"));
|
|
3530
|
+
var import_editor_controls30 = require("@elementor/editor-controls");
|
|
3531
|
+
var import_i18n34 = require("@wordpress/i18n");
|
|
3532
|
+
var Z_INDEX_LABEL = (0, import_i18n34.__)("Z-index", "elementor");
|
|
3407
3533
|
var ZIndexField = () => {
|
|
3408
|
-
return /* @__PURE__ */
|
|
3534
|
+
return /* @__PURE__ */ React58.createElement(StylesField, { bind: "z-index", propDisplayName: Z_INDEX_LABEL }, /* @__PURE__ */ React58.createElement(StylesFieldLayout, { label: Z_INDEX_LABEL }, /* @__PURE__ */ React58.createElement(import_editor_controls30.NumberControl, null)));
|
|
3409
3535
|
};
|
|
3410
3536
|
|
|
3411
3537
|
// src/components/style-sections/position-section/position-section.tsx
|
|
3412
3538
|
var PositionSection = () => {
|
|
3413
|
-
const
|
|
3414
|
-
const
|
|
3539
|
+
const { value: positionValue } = useStylesField("position");
|
|
3540
|
+
const { values: dimensions, setValues: setDimensions } = useStylesFields([
|
|
3415
3541
|
"inset-block-start",
|
|
3416
3542
|
"inset-block-end",
|
|
3417
3543
|
"inset-inline-start",
|
|
3418
3544
|
"inset-inline-end"
|
|
3419
3545
|
]);
|
|
3420
3546
|
const [dimensionsValuesFromHistory, updateDimensionsHistory, clearDimensionsHistory] = usePersistDimensions();
|
|
3421
|
-
const isCssIdFeatureActive = (0,
|
|
3547
|
+
const isCssIdFeatureActive = (0, import_editor_v1_adapters13.isExperimentActive)("e_v_3_30");
|
|
3422
3548
|
const onPositionChange = (newPosition, previousPosition) => {
|
|
3423
3549
|
if (newPosition === "static") {
|
|
3424
|
-
if (
|
|
3425
|
-
updateDimensionsHistory(
|
|
3426
|
-
|
|
3550
|
+
if (dimensions) {
|
|
3551
|
+
updateDimensionsHistory(dimensions);
|
|
3552
|
+
setDimensions({
|
|
3427
3553
|
"inset-block-start": void 0,
|
|
3428
3554
|
"inset-block-end": void 0,
|
|
3429
3555
|
"inset-inline-start": void 0,
|
|
@@ -3432,13 +3558,13 @@ var PositionSection = () => {
|
|
|
3432
3558
|
}
|
|
3433
3559
|
} else if (previousPosition === "static") {
|
|
3434
3560
|
if (dimensionsValuesFromHistory) {
|
|
3435
|
-
|
|
3561
|
+
setDimensions(dimensionsValuesFromHistory);
|
|
3436
3562
|
clearDimensionsHistory();
|
|
3437
3563
|
}
|
|
3438
3564
|
}
|
|
3439
3565
|
};
|
|
3440
3566
|
const isNotStatic = positionValue && positionValue?.value !== "static";
|
|
3441
|
-
return /* @__PURE__ */
|
|
3567
|
+
return /* @__PURE__ */ React59.createElement(SectionContent, null, /* @__PURE__ */ React59.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React59.createElement(React59.Fragment, null, /* @__PURE__ */ React59.createElement(DimensionsField, null), /* @__PURE__ */ React59.createElement(ZIndexField, null)) : null, isCssIdFeatureActive && /* @__PURE__ */ React59.createElement(React59.Fragment, null, /* @__PURE__ */ React59.createElement(PanelDivider, null), /* @__PURE__ */ React59.createElement(OffsetField, null)));
|
|
3442
3568
|
};
|
|
3443
3569
|
var usePersistDimensions = () => {
|
|
3444
3570
|
const { id: styleDefID, meta } = useStyle();
|
|
@@ -3448,50 +3574,55 @@ var usePersistDimensions = () => {
|
|
|
3448
3574
|
};
|
|
3449
3575
|
|
|
3450
3576
|
// src/components/style-sections/size-section/size-section.tsx
|
|
3451
|
-
var
|
|
3452
|
-
var
|
|
3453
|
-
var
|
|
3454
|
-
var
|
|
3455
|
-
var
|
|
3456
|
-
var
|
|
3577
|
+
var React65 = __toESM(require("react"));
|
|
3578
|
+
var import_react30 = require("react");
|
|
3579
|
+
var import_editor_controls34 = require("@elementor/editor-controls");
|
|
3580
|
+
var import_editor_v1_adapters15 = require("@elementor/editor-v1-adapters");
|
|
3581
|
+
var import_ui41 = require("@elementor/ui");
|
|
3582
|
+
var import_i18n39 = require("@wordpress/i18n");
|
|
3457
3583
|
|
|
3458
3584
|
// src/components/style-tab-collapsible-content.tsx
|
|
3459
|
-
var
|
|
3460
|
-
var
|
|
3585
|
+
var React61 = __toESM(require("react"));
|
|
3586
|
+
var import_editor_v1_adapters14 = require("@elementor/editor-v1-adapters");
|
|
3461
3587
|
|
|
3462
3588
|
// src/styles-inheritance/components/styles-inheritance-section-indicators.tsx
|
|
3463
|
-
var
|
|
3464
|
-
var
|
|
3465
|
-
var
|
|
3466
|
-
var
|
|
3467
|
-
var orderedVariants = ["global", "local", "overridden"];
|
|
3589
|
+
var React60 = __toESM(require("react"));
|
|
3590
|
+
var import_editor_styles_repository12 = require("@elementor/editor-styles-repository");
|
|
3591
|
+
var import_ui40 = require("@elementor/ui");
|
|
3592
|
+
var import_i18n35 = require("@wordpress/i18n");
|
|
3468
3593
|
var StylesInheritanceSectionIndicators = ({ fields }) => {
|
|
3469
|
-
const { id, meta } = useStyle();
|
|
3594
|
+
const { id, meta, provider } = useStyle();
|
|
3470
3595
|
const snapshot = useStylesInheritanceSnapshot();
|
|
3471
3596
|
const snapshotFields = Object.fromEntries(
|
|
3472
3597
|
Object.entries(snapshot ?? {}).filter(([key]) => fields.includes(key))
|
|
3473
3598
|
);
|
|
3474
|
-
const
|
|
3475
|
-
if (
|
|
3599
|
+
const { hasValues, hasOverrides } = getIndicators(snapshotFields, id ?? "", meta);
|
|
3600
|
+
if (!hasValues && !hasOverrides) {
|
|
3476
3601
|
return null;
|
|
3477
3602
|
}
|
|
3478
|
-
const
|
|
3479
|
-
const
|
|
3480
|
-
return /* @__PURE__ */
|
|
3481
|
-
|
|
3482
|
-
|
|
3483
|
-
|
|
3484
|
-
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
|
|
3488
|
-
|
|
3489
|
-
|
|
3490
|
-
|
|
3603
|
+
const hasValueLabel = (0, import_i18n35.__)("Has effective styles", "elementor");
|
|
3604
|
+
const hasOverridesLabel = (0, import_i18n35.__)("Has overridden styles", "elementor");
|
|
3605
|
+
return /* @__PURE__ */ React60.createElement(import_ui40.Tooltip, { title: (0, import_i18n35.__)("Has styles", "elementor"), placement: "top" }, /* @__PURE__ */ React60.createElement(import_ui40.Stack, { direction: "row", sx: { "& > *": { marginInlineStart: -0.25 } }, role: "list" }, hasValues && provider && /* @__PURE__ */ React60.createElement(
|
|
3606
|
+
StyleIndicator,
|
|
3607
|
+
{
|
|
3608
|
+
getColor: getStylesProviderThemeColor(provider.getKey()),
|
|
3609
|
+
"data-variant": (0, import_editor_styles_repository12.isElementsStylesProvider)(provider.getKey()) ? "local" : "global",
|
|
3610
|
+
role: "listitem",
|
|
3611
|
+
"aria-label": hasValueLabel
|
|
3612
|
+
}
|
|
3613
|
+
), hasOverrides && /* @__PURE__ */ React60.createElement(
|
|
3614
|
+
StyleIndicator,
|
|
3615
|
+
{
|
|
3616
|
+
isOverridden: true,
|
|
3617
|
+
"data-variant": "overridden",
|
|
3618
|
+
role: "listitem",
|
|
3619
|
+
"aria-label": hasOverridesLabel
|
|
3620
|
+
}
|
|
3491
3621
|
)));
|
|
3492
3622
|
};
|
|
3493
3623
|
function getIndicators(snapshotFields, styleId, meta) {
|
|
3494
|
-
|
|
3624
|
+
let hasValues = false;
|
|
3625
|
+
let hasOverrides = false;
|
|
3495
3626
|
Object.values(snapshotFields).forEach((inheritanceChain) => {
|
|
3496
3627
|
const currentStyle = getCurrentStyleFromChain(inheritanceChain, styleId, meta);
|
|
3497
3628
|
if (!currentStyle) {
|
|
@@ -3499,19 +3630,12 @@ function getIndicators(snapshotFields, styleId, meta) {
|
|
|
3499
3630
|
}
|
|
3500
3631
|
const [actualStyle] = inheritanceChain;
|
|
3501
3632
|
if (currentStyle === actualStyle) {
|
|
3502
|
-
|
|
3503
|
-
|
|
3504
|
-
|
|
3505
|
-
return;
|
|
3506
|
-
}
|
|
3507
|
-
if (providerKey !== import_editor_styles_repository11.ELEMENTS_BASE_STYLES_PROVIDER_KEY) {
|
|
3508
|
-
indicators.global = true;
|
|
3509
|
-
}
|
|
3510
|
-
return;
|
|
3633
|
+
hasValues = true;
|
|
3634
|
+
} else {
|
|
3635
|
+
hasOverrides = true;
|
|
3511
3636
|
}
|
|
3512
|
-
indicators.overridden = true;
|
|
3513
3637
|
});
|
|
3514
|
-
return
|
|
3638
|
+
return { hasValues, hasOverrides };
|
|
3515
3639
|
}
|
|
3516
3640
|
function getCurrentStyleFromChain(chain, styleId, meta) {
|
|
3517
3641
|
return chain.find(
|
|
@@ -3526,80 +3650,69 @@ function getCurrentStyleFromChain(chain, styleId, meta) {
|
|
|
3526
3650
|
|
|
3527
3651
|
// src/components/style-tab-collapsible-content.tsx
|
|
3528
3652
|
var StyleTabCollapsibleContent = ({ fields = [], children }) => {
|
|
3529
|
-
return /* @__PURE__ */
|
|
3653
|
+
return /* @__PURE__ */ React61.createElement(CollapsibleContent, { titleEnd: getStylesInheritanceIndicators(fields) }, children);
|
|
3530
3654
|
};
|
|
3531
3655
|
function getStylesInheritanceIndicators(fields) {
|
|
3532
|
-
const isUsingFieldsIndicators = (0,
|
|
3656
|
+
const isUsingFieldsIndicators = (0, import_editor_v1_adapters14.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_30);
|
|
3533
3657
|
if (fields.length === 0 || !isUsingFieldsIndicators) {
|
|
3534
3658
|
return null;
|
|
3535
3659
|
}
|
|
3536
|
-
return (isOpen) => !isOpen ? /* @__PURE__ */
|
|
3660
|
+
return (isOpen) => !isOpen ? /* @__PURE__ */ React61.createElement(StylesInheritanceSectionIndicators, { fields }) : null;
|
|
3537
3661
|
}
|
|
3538
3662
|
|
|
3539
3663
|
// src/components/style-sections/size-section/object-fit-field.tsx
|
|
3540
|
-
var
|
|
3541
|
-
var
|
|
3542
|
-
var
|
|
3543
|
-
var
|
|
3664
|
+
var React62 = __toESM(require("react"));
|
|
3665
|
+
var import_editor_controls31 = require("@elementor/editor-controls");
|
|
3666
|
+
var import_i18n36 = require("@wordpress/i18n");
|
|
3667
|
+
var OBJECT_FIT_LABEL = (0, import_i18n36.__)("Object fit", "elementor");
|
|
3544
3668
|
var positionOptions2 = [
|
|
3545
|
-
{ label: (0,
|
|
3546
|
-
{ label: (0,
|
|
3547
|
-
{ label: (0,
|
|
3548
|
-
{ label: (0,
|
|
3549
|
-
{ label: (0,
|
|
3669
|
+
{ label: (0, import_i18n36.__)("Fill", "elementor"), value: "fill" },
|
|
3670
|
+
{ label: (0, import_i18n36.__)("Cover", "elementor"), value: "cover" },
|
|
3671
|
+
{ label: (0, import_i18n36.__)("Contain", "elementor"), value: "contain" },
|
|
3672
|
+
{ label: (0, import_i18n36.__)("None", "elementor"), value: "none" },
|
|
3673
|
+
{ label: (0, import_i18n36.__)("Scale down", "elementor"), value: "scale-down" }
|
|
3550
3674
|
];
|
|
3551
3675
|
var ObjectFitField = () => {
|
|
3552
|
-
return /* @__PURE__ */
|
|
3676
|
+
return /* @__PURE__ */ React62.createElement(StylesField, { bind: "object-fit", propDisplayName: OBJECT_FIT_LABEL }, /* @__PURE__ */ React62.createElement(StylesFieldLayout, { label: OBJECT_FIT_LABEL }, /* @__PURE__ */ React62.createElement(import_editor_controls31.SelectControl, { options: positionOptions2 })));
|
|
3553
3677
|
};
|
|
3554
3678
|
|
|
3555
3679
|
// src/components/style-sections/size-section/object-position-field.tsx
|
|
3556
|
-
var
|
|
3557
|
-
var
|
|
3558
|
-
var
|
|
3559
|
-
var
|
|
3560
|
-
var positionOptions3 = [
|
|
3561
|
-
{ label: (0, import_i18n33.__)("Center center", "elementor"), value: "center center" },
|
|
3562
|
-
{ label: (0, import_i18n33.__)("Center left", "elementor"), value: "center left" },
|
|
3563
|
-
{ label: (0, import_i18n33.__)("Center right", "elementor"), value: "center right" },
|
|
3564
|
-
{ label: (0, import_i18n33.__)("Top center", "elementor"), value: "top center" },
|
|
3565
|
-
{ label: (0, import_i18n33.__)("Top left", "elementor"), value: "top left" },
|
|
3566
|
-
{ label: (0, import_i18n33.__)("Top right", "elementor"), value: "top right" },
|
|
3567
|
-
{ label: (0, import_i18n33.__)("Bottom center", "elementor"), value: "bottom center" },
|
|
3568
|
-
{ label: (0, import_i18n33.__)("Bottom left", "elementor"), value: "bottom left" },
|
|
3569
|
-
{ label: (0, import_i18n33.__)("Bottom right", "elementor"), value: "bottom right" }
|
|
3570
|
-
];
|
|
3680
|
+
var React63 = __toESM(require("react"));
|
|
3681
|
+
var import_editor_controls32 = require("@elementor/editor-controls");
|
|
3682
|
+
var import_i18n37 = require("@wordpress/i18n");
|
|
3683
|
+
var OBJECT_POSITION_LABEL = (0, import_i18n37.__)("Object position", "elementor");
|
|
3571
3684
|
var ObjectPositionField = () => {
|
|
3572
|
-
return /* @__PURE__ */
|
|
3685
|
+
return /* @__PURE__ */ React63.createElement(StylesField, { bind: "object-position", propDisplayName: OBJECT_POSITION_LABEL }, /* @__PURE__ */ React63.createElement(import_editor_controls32.PositionControl, null));
|
|
3573
3686
|
};
|
|
3574
3687
|
|
|
3575
3688
|
// src/components/style-sections/size-section/overflow-field.tsx
|
|
3576
|
-
var
|
|
3577
|
-
var
|
|
3689
|
+
var React64 = __toESM(require("react"));
|
|
3690
|
+
var import_editor_controls33 = require("@elementor/editor-controls");
|
|
3578
3691
|
var import_icons18 = require("@elementor/icons");
|
|
3579
|
-
var
|
|
3580
|
-
var
|
|
3692
|
+
var import_i18n38 = require("@wordpress/i18n");
|
|
3693
|
+
var OVERFLOW_LABEL = (0, import_i18n38.__)("Overflow", "elementor");
|
|
3581
3694
|
var options6 = [
|
|
3582
3695
|
{
|
|
3583
3696
|
value: "visible",
|
|
3584
|
-
label: (0,
|
|
3585
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3697
|
+
label: (0, import_i18n38.__)("Visible", "elementor"),
|
|
3698
|
+
renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(import_icons18.EyeIcon, { fontSize: size }),
|
|
3586
3699
|
showTooltip: true
|
|
3587
3700
|
},
|
|
3588
3701
|
{
|
|
3589
3702
|
value: "hidden",
|
|
3590
|
-
label: (0,
|
|
3591
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3703
|
+
label: (0, import_i18n38.__)("Hidden", "elementor"),
|
|
3704
|
+
renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(import_icons18.EyeOffIcon, { fontSize: size }),
|
|
3592
3705
|
showTooltip: true
|
|
3593
3706
|
},
|
|
3594
3707
|
{
|
|
3595
3708
|
value: "auto",
|
|
3596
|
-
label: (0,
|
|
3597
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3709
|
+
label: (0, import_i18n38.__)("Auto", "elementor"),
|
|
3710
|
+
renderContent: ({ size }) => /* @__PURE__ */ React64.createElement(import_icons18.LetterAIcon, { fontSize: size }),
|
|
3598
3711
|
showTooltip: true
|
|
3599
3712
|
}
|
|
3600
3713
|
];
|
|
3601
3714
|
var OverflowField = () => {
|
|
3602
|
-
return /* @__PURE__ */
|
|
3715
|
+
return /* @__PURE__ */ React64.createElement(StylesField, { bind: "overflow", propDisplayName: OVERFLOW_LABEL }, /* @__PURE__ */ React64.createElement(StylesFieldLayout, { label: OVERFLOW_LABEL }, /* @__PURE__ */ React64.createElement(import_editor_controls33.ToggleControl, { options: options6 })));
|
|
3603
3716
|
};
|
|
3604
3717
|
|
|
3605
3718
|
// src/components/style-sections/size-section/size-section.tsx
|
|
@@ -3608,98 +3721,100 @@ var CssSizeProps = [
|
|
|
3608
3721
|
[
|
|
3609
3722
|
{
|
|
3610
3723
|
bind: "width",
|
|
3611
|
-
label: (0,
|
|
3724
|
+
label: (0, import_i18n39.__)("Width", "elementor")
|
|
3612
3725
|
},
|
|
3613
3726
|
{
|
|
3614
3727
|
bind: "height",
|
|
3615
|
-
label: (0,
|
|
3728
|
+
label: (0, import_i18n39.__)("Height", "elementor")
|
|
3616
3729
|
}
|
|
3617
3730
|
],
|
|
3618
3731
|
[
|
|
3619
3732
|
{
|
|
3620
3733
|
bind: "min-width",
|
|
3621
|
-
label: (0,
|
|
3734
|
+
label: (0, import_i18n39.__)("Min width", "elementor")
|
|
3622
3735
|
},
|
|
3623
3736
|
{
|
|
3624
3737
|
bind: "min-height",
|
|
3625
|
-
label: (0,
|
|
3738
|
+
label: (0, import_i18n39.__)("Min height", "elementor")
|
|
3626
3739
|
}
|
|
3627
3740
|
],
|
|
3628
3741
|
[
|
|
3629
3742
|
{
|
|
3630
3743
|
bind: "max-width",
|
|
3631
|
-
label: (0,
|
|
3744
|
+
label: (0, import_i18n39.__)("Max width", "elementor")
|
|
3632
3745
|
},
|
|
3633
3746
|
{
|
|
3634
3747
|
bind: "max-height",
|
|
3635
|
-
label: (0,
|
|
3748
|
+
label: (0, import_i18n39.__)("Max height", "elementor")
|
|
3636
3749
|
}
|
|
3637
3750
|
]
|
|
3638
3751
|
];
|
|
3752
|
+
var ASPECT_RATIO_LABEL = (0, import_i18n39.__)("Aspect Ratio", "elementor");
|
|
3639
3753
|
var SizeSection = () => {
|
|
3640
|
-
const
|
|
3754
|
+
const { value: fitValue } = useStylesField("object-fit");
|
|
3641
3755
|
const isNotFill = fitValue && fitValue?.value !== "fill";
|
|
3642
|
-
const gridRowRefs = [(0,
|
|
3643
|
-
const isVersion330Active = (0,
|
|
3644
|
-
return /* @__PURE__ */
|
|
3756
|
+
const gridRowRefs = [(0, import_react30.useRef)(null), (0, import_react30.useRef)(null), (0, import_react30.useRef)(null)];
|
|
3757
|
+
const isVersion330Active = (0, import_editor_v1_adapters15.isExperimentActive)(EXPERIMENT_ID);
|
|
3758
|
+
return /* @__PURE__ */ React65.createElement(SectionContent, null, CssSizeProps.map((row, rowIndex) => /* @__PURE__ */ React65.createElement(import_ui41.Grid, { key: rowIndex, container: true, gap: 2, flexWrap: "nowrap", ref: gridRowRefs[rowIndex] }, row.map((props) => /* @__PURE__ */ React65.createElement(import_ui41.Grid, { item: true, xs: 6, key: props.bind }, /* @__PURE__ */ React65.createElement(SizeField, { ...props, rowRef: gridRowRefs[rowIndex], extendedOptions: ["auto"] }))))), /* @__PURE__ */ React65.createElement(PanelDivider, null), /* @__PURE__ */ React65.createElement(import_ui41.Stack, null, /* @__PURE__ */ React65.createElement(OverflowField, null)), isVersion330Active && /* @__PURE__ */ React65.createElement(StyleTabCollapsibleContent, { fields: ["aspect-ratio", "object-fit"] }, /* @__PURE__ */ React65.createElement(import_ui41.Stack, { gap: 2, pt: 2 }, /* @__PURE__ */ React65.createElement(StylesField, { bind: "aspect-ratio", propDisplayName: ASPECT_RATIO_LABEL }, /* @__PURE__ */ React65.createElement(import_editor_controls34.AspectRatioControl, { label: ASPECT_RATIO_LABEL })), /* @__PURE__ */ React65.createElement(PanelDivider, null), /* @__PURE__ */ React65.createElement(ObjectFitField, null), isNotFill && /* @__PURE__ */ React65.createElement(import_ui41.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React65.createElement(ObjectPositionField, null)))));
|
|
3645
3759
|
};
|
|
3646
3760
|
var SizeField = ({ label, bind, rowRef, extendedOptions }) => {
|
|
3647
|
-
return /* @__PURE__ */
|
|
3761
|
+
return /* @__PURE__ */ React65.createElement(StylesField, { bind, propDisplayName: label }, /* @__PURE__ */ React65.createElement(import_ui41.Grid, { container: true, gap: 0.75, alignItems: "center" }, /* @__PURE__ */ React65.createElement(import_ui41.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React65.createElement(ControlLabel, null, label)), /* @__PURE__ */ React65.createElement(import_ui41.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React65.createElement(import_editor_controls34.SizeControl, { extendedOptions, anchorRef: rowRef }))));
|
|
3648
3762
|
};
|
|
3649
3763
|
|
|
3650
3764
|
// src/components/style-sections/spacing-section/spacing-section.tsx
|
|
3651
|
-
var
|
|
3652
|
-
var
|
|
3653
|
-
var
|
|
3765
|
+
var React66 = __toESM(require("react"));
|
|
3766
|
+
var import_editor_controls35 = require("@elementor/editor-controls");
|
|
3767
|
+
var import_i18n40 = require("@wordpress/i18n");
|
|
3768
|
+
var MARGIN_LABEL = (0, import_i18n40.__)("Margin", "elementor");
|
|
3769
|
+
var PADDING_LABEL = (0, import_i18n40.__)("Padding", "elementor");
|
|
3654
3770
|
var SpacingSection = () => {
|
|
3655
3771
|
const { isSiteRtl } = useDirection();
|
|
3656
|
-
return /* @__PURE__ */
|
|
3657
|
-
|
|
3772
|
+
return /* @__PURE__ */ React66.createElement(SectionContent, null, /* @__PURE__ */ React66.createElement(StylesField, { bind: "margin", propDisplayName: MARGIN_LABEL }, /* @__PURE__ */ React66.createElement(
|
|
3773
|
+
import_editor_controls35.LinkedDimensionsControl,
|
|
3658
3774
|
{
|
|
3659
|
-
label:
|
|
3775
|
+
label: MARGIN_LABEL,
|
|
3660
3776
|
isSiteRtl,
|
|
3661
3777
|
extendedOptions: ["auto"]
|
|
3662
3778
|
}
|
|
3663
|
-
)), /* @__PURE__ */
|
|
3779
|
+
)), /* @__PURE__ */ React66.createElement(PanelDivider, null), /* @__PURE__ */ React66.createElement(StylesField, { bind: "padding", propDisplayName: PADDING_LABEL }, /* @__PURE__ */ React66.createElement(import_editor_controls35.LinkedDimensionsControl, { label: PADDING_LABEL, isSiteRtl })));
|
|
3664
3780
|
};
|
|
3665
3781
|
|
|
3666
3782
|
// src/components/style-sections/typography-section/typography-section.tsx
|
|
3667
|
-
var
|
|
3668
|
-
var
|
|
3783
|
+
var React82 = __toESM(require("react"));
|
|
3784
|
+
var import_editor_v1_adapters16 = require("@elementor/editor-v1-adapters");
|
|
3669
3785
|
|
|
3670
3786
|
// src/components/style-sections/typography-section/column-count-field.tsx
|
|
3671
|
-
var
|
|
3672
|
-
var
|
|
3673
|
-
var
|
|
3674
|
-
var
|
|
3787
|
+
var React67 = __toESM(require("react"));
|
|
3788
|
+
var import_editor_controls36 = require("@elementor/editor-controls");
|
|
3789
|
+
var import_i18n41 = require("@wordpress/i18n");
|
|
3790
|
+
var COLUMN_COUNT_LABEL = (0, import_i18n41.__)("Columns", "elementor");
|
|
3675
3791
|
var ColumnCountField = () => {
|
|
3676
|
-
return /* @__PURE__ */
|
|
3792
|
+
return /* @__PURE__ */ React67.createElement(StylesField, { bind: "column-count", propDisplayName: COLUMN_COUNT_LABEL }, /* @__PURE__ */ React67.createElement(StylesFieldLayout, { label: COLUMN_COUNT_LABEL }, /* @__PURE__ */ React67.createElement(import_editor_controls36.NumberControl, { shouldForceInt: true, min: 0, step: 1 })));
|
|
3677
3793
|
};
|
|
3678
3794
|
|
|
3679
3795
|
// src/components/style-sections/typography-section/column-gap-field.tsx
|
|
3680
|
-
var
|
|
3681
|
-
var
|
|
3682
|
-
var
|
|
3683
|
-
var
|
|
3684
|
-
var
|
|
3796
|
+
var React68 = __toESM(require("react"));
|
|
3797
|
+
var import_react31 = require("react");
|
|
3798
|
+
var import_editor_controls37 = require("@elementor/editor-controls");
|
|
3799
|
+
var import_i18n42 = require("@wordpress/i18n");
|
|
3800
|
+
var COLUMN_GAP_LABEL = (0, import_i18n42.__)("Column gap", "elementor");
|
|
3685
3801
|
var ColumnGapField = () => {
|
|
3686
|
-
const rowRef = (0,
|
|
3687
|
-
return /* @__PURE__ */
|
|
3802
|
+
const rowRef = (0, import_react31.useRef)(null);
|
|
3803
|
+
return /* @__PURE__ */ React68.createElement(StylesField, { bind: "column-gap", propDisplayName: COLUMN_GAP_LABEL }, /* @__PURE__ */ React68.createElement(StylesFieldLayout, { label: COLUMN_GAP_LABEL, ref: rowRef }, /* @__PURE__ */ React68.createElement(import_editor_controls37.SizeControl, { anchorRef: rowRef })));
|
|
3688
3804
|
};
|
|
3689
3805
|
|
|
3690
3806
|
// src/components/style-sections/typography-section/font-family-field.tsx
|
|
3691
|
-
var
|
|
3692
|
-
var
|
|
3693
|
-
var
|
|
3694
|
-
var import_i18n40 = require("@wordpress/i18n");
|
|
3807
|
+
var React69 = __toESM(require("react"));
|
|
3808
|
+
var import_editor_controls38 = require("@elementor/editor-controls");
|
|
3809
|
+
var import_i18n44 = require("@wordpress/i18n");
|
|
3695
3810
|
|
|
3696
3811
|
// src/components/style-sections/typography-section/hooks/use-font-families.ts
|
|
3697
|
-
var
|
|
3698
|
-
var
|
|
3812
|
+
var import_react32 = require("react");
|
|
3813
|
+
var import_i18n43 = require("@wordpress/i18n");
|
|
3699
3814
|
var supportedCategories = {
|
|
3700
|
-
system: (0,
|
|
3701
|
-
custom: (0,
|
|
3702
|
-
googlefonts: (0,
|
|
3815
|
+
system: (0, import_i18n43.__)("System", "elementor"),
|
|
3816
|
+
custom: (0, import_i18n43.__)("Custom Fonts", "elementor"),
|
|
3817
|
+
googlefonts: (0, import_i18n43.__)("Google Fonts", "elementor")
|
|
3703
3818
|
};
|
|
3704
3819
|
var getFontFamilies = () => {
|
|
3705
3820
|
const { controls } = getElementorConfig();
|
|
@@ -3711,7 +3826,7 @@ var getFontFamilies = () => {
|
|
|
3711
3826
|
};
|
|
3712
3827
|
var useFontFamilies = () => {
|
|
3713
3828
|
const fontFamilies = getFontFamilies();
|
|
3714
|
-
return (0,
|
|
3829
|
+
return (0, import_react32.useMemo)(() => {
|
|
3715
3830
|
const categoriesOrder = ["system", "custom", "googlefonts"];
|
|
3716
3831
|
return Object.entries(fontFamilies || {}).reduce((acc, [font, category]) => {
|
|
3717
3832
|
if (!supportedCategories[category]) {
|
|
@@ -3731,199 +3846,204 @@ var useFontFamilies = () => {
|
|
|
3731
3846
|
};
|
|
3732
3847
|
|
|
3733
3848
|
// src/components/style-sections/typography-section/font-family-field.tsx
|
|
3849
|
+
var FONT_FAMILY_LABEL = (0, import_i18n44.__)("Font family", "elementor");
|
|
3734
3850
|
var FontFamilyField = () => {
|
|
3735
3851
|
const fontFamilies = useFontFamilies();
|
|
3852
|
+
const sectionWidth = useSectionWidth();
|
|
3736
3853
|
if (fontFamilies.length === 0) {
|
|
3737
3854
|
return null;
|
|
3738
3855
|
}
|
|
3739
|
-
return /* @__PURE__ */
|
|
3856
|
+
return /* @__PURE__ */ React69.createElement(StylesField, { bind: "font-family", propDisplayName: FONT_FAMILY_LABEL }, /* @__PURE__ */ React69.createElement(StylesFieldLayout, { label: FONT_FAMILY_LABEL }, /* @__PURE__ */ React69.createElement(import_editor_controls38.FontFamilyControl, { fontFamilies, sectionWidth })));
|
|
3740
3857
|
};
|
|
3741
3858
|
|
|
3742
3859
|
// src/components/style-sections/typography-section/font-size-field.tsx
|
|
3743
|
-
var
|
|
3744
|
-
var
|
|
3745
|
-
var
|
|
3746
|
-
var
|
|
3747
|
-
var
|
|
3860
|
+
var React70 = __toESM(require("react"));
|
|
3861
|
+
var import_react33 = require("react");
|
|
3862
|
+
var import_editor_controls39 = require("@elementor/editor-controls");
|
|
3863
|
+
var import_i18n45 = require("@wordpress/i18n");
|
|
3864
|
+
var FONT_SIZE_LABEL = (0, import_i18n45.__)("Font size", "elementor");
|
|
3748
3865
|
var FontSizeField = () => {
|
|
3749
|
-
const rowRef = (0,
|
|
3750
|
-
return /* @__PURE__ */
|
|
3866
|
+
const rowRef = (0, import_react33.useRef)(null);
|
|
3867
|
+
return /* @__PURE__ */ React70.createElement(StylesField, { bind: "font-size", propDisplayName: FONT_SIZE_LABEL }, /* @__PURE__ */ React70.createElement(StylesFieldLayout, { label: FONT_SIZE_LABEL, ref: rowRef }, /* @__PURE__ */ React70.createElement(import_editor_controls39.SizeControl, { anchorRef: rowRef })));
|
|
3751
3868
|
};
|
|
3752
3869
|
|
|
3753
3870
|
// src/components/style-sections/typography-section/font-style-field.tsx
|
|
3754
|
-
var
|
|
3755
|
-
var
|
|
3871
|
+
var React71 = __toESM(require("react"));
|
|
3872
|
+
var import_editor_controls40 = require("@elementor/editor-controls");
|
|
3756
3873
|
var import_icons19 = require("@elementor/icons");
|
|
3757
|
-
var
|
|
3758
|
-
var
|
|
3874
|
+
var import_i18n46 = require("@wordpress/i18n");
|
|
3875
|
+
var FONT_STYLE_LABEL = (0, import_i18n46.__)("Font style", "elementor");
|
|
3759
3876
|
var options7 = [
|
|
3760
3877
|
{
|
|
3761
3878
|
value: "normal",
|
|
3762
|
-
label: (0,
|
|
3763
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3879
|
+
label: (0, import_i18n46.__)("Normal", "elementor"),
|
|
3880
|
+
renderContent: ({ size }) => /* @__PURE__ */ React71.createElement(import_icons19.MinusIcon, { fontSize: size }),
|
|
3764
3881
|
showTooltip: true
|
|
3765
3882
|
},
|
|
3766
3883
|
{
|
|
3767
3884
|
value: "italic",
|
|
3768
|
-
label: (0,
|
|
3769
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3885
|
+
label: (0, import_i18n46.__)("Italic", "elementor"),
|
|
3886
|
+
renderContent: ({ size }) => /* @__PURE__ */ React71.createElement(import_icons19.ItalicIcon, { fontSize: size }),
|
|
3770
3887
|
showTooltip: true
|
|
3771
3888
|
}
|
|
3772
3889
|
];
|
|
3773
|
-
var FontStyleField = () =>
|
|
3890
|
+
var FontStyleField = () => {
|
|
3891
|
+
return /* @__PURE__ */ React71.createElement(StylesField, { bind: "font-style", propDisplayName: FONT_STYLE_LABEL }, /* @__PURE__ */ React71.createElement(StylesFieldLayout, { label: FONT_STYLE_LABEL }, /* @__PURE__ */ React71.createElement(import_editor_controls40.ToggleControl, { options: options7 })));
|
|
3892
|
+
};
|
|
3774
3893
|
|
|
3775
3894
|
// src/components/style-sections/typography-section/font-weight-field.tsx
|
|
3776
|
-
var
|
|
3777
|
-
var
|
|
3778
|
-
var
|
|
3779
|
-
var
|
|
3895
|
+
var React72 = __toESM(require("react"));
|
|
3896
|
+
var import_editor_controls41 = require("@elementor/editor-controls");
|
|
3897
|
+
var import_i18n47 = require("@wordpress/i18n");
|
|
3898
|
+
var FONT_WEIGHT_LABEL = (0, import_i18n47.__)("Font weight", "elementor");
|
|
3780
3899
|
var fontWeightOptions = [
|
|
3781
|
-
{ value: "100", label: (0,
|
|
3782
|
-
{ value: "200", label: (0,
|
|
3783
|
-
{ value: "300", label: (0,
|
|
3784
|
-
{ value: "400", label: (0,
|
|
3785
|
-
{ value: "500", label: (0,
|
|
3786
|
-
{ value: "600", label: (0,
|
|
3787
|
-
{ value: "700", label: (0,
|
|
3788
|
-
{ value: "800", label: (0,
|
|
3789
|
-
{ value: "900", label: (0,
|
|
3900
|
+
{ value: "100", label: (0, import_i18n47.__)("100 - Thin", "elementor") },
|
|
3901
|
+
{ value: "200", label: (0, import_i18n47.__)("200 - Extra light", "elementor") },
|
|
3902
|
+
{ value: "300", label: (0, import_i18n47.__)("300 - Light", "elementor") },
|
|
3903
|
+
{ value: "400", label: (0, import_i18n47.__)("400 - Normal", "elementor") },
|
|
3904
|
+
{ value: "500", label: (0, import_i18n47.__)("500 - Medium", "elementor") },
|
|
3905
|
+
{ value: "600", label: (0, import_i18n47.__)("600 - Semi bold", "elementor") },
|
|
3906
|
+
{ value: "700", label: (0, import_i18n47.__)("700 - Bold", "elementor") },
|
|
3907
|
+
{ value: "800", label: (0, import_i18n47.__)("800 - Extra bold", "elementor") },
|
|
3908
|
+
{ value: "900", label: (0, import_i18n47.__)("900 - Black", "elementor") }
|
|
3790
3909
|
];
|
|
3791
3910
|
var FontWeightField = () => {
|
|
3792
|
-
return /* @__PURE__ */
|
|
3911
|
+
return /* @__PURE__ */ React72.createElement(StylesField, { bind: "font-weight", propDisplayName: FONT_WEIGHT_LABEL }, /* @__PURE__ */ React72.createElement(StylesFieldLayout, { label: FONT_WEIGHT_LABEL }, /* @__PURE__ */ React72.createElement(import_editor_controls41.SelectControl, { options: fontWeightOptions })));
|
|
3793
3912
|
};
|
|
3794
3913
|
|
|
3795
3914
|
// src/components/style-sections/typography-section/letter-spacing-field.tsx
|
|
3796
|
-
var
|
|
3797
|
-
var
|
|
3798
|
-
var
|
|
3799
|
-
var
|
|
3800
|
-
var
|
|
3915
|
+
var React73 = __toESM(require("react"));
|
|
3916
|
+
var import_react34 = require("react");
|
|
3917
|
+
var import_editor_controls42 = require("@elementor/editor-controls");
|
|
3918
|
+
var import_i18n48 = require("@wordpress/i18n");
|
|
3919
|
+
var LETTER_SPACING_LABEL = (0, import_i18n48.__)("Letter spacing", "elementor");
|
|
3801
3920
|
var LetterSpacingField = () => {
|
|
3802
|
-
const rowRef = (0,
|
|
3803
|
-
return /* @__PURE__ */
|
|
3921
|
+
const rowRef = (0, import_react34.useRef)(null);
|
|
3922
|
+
return /* @__PURE__ */ React73.createElement(StylesField, { bind: "letter-spacing", propDisplayName: LETTER_SPACING_LABEL }, /* @__PURE__ */ React73.createElement(StylesFieldLayout, { label: LETTER_SPACING_LABEL, ref: rowRef }, /* @__PURE__ */ React73.createElement(import_editor_controls42.SizeControl, { anchorRef: rowRef })));
|
|
3804
3923
|
};
|
|
3805
3924
|
|
|
3806
3925
|
// src/components/style-sections/typography-section/line-height-field.tsx
|
|
3807
|
-
var
|
|
3808
|
-
var
|
|
3809
|
-
var
|
|
3810
|
-
var
|
|
3811
|
-
var
|
|
3926
|
+
var React74 = __toESM(require("react"));
|
|
3927
|
+
var import_react35 = require("react");
|
|
3928
|
+
var import_editor_controls43 = require("@elementor/editor-controls");
|
|
3929
|
+
var import_i18n49 = require("@wordpress/i18n");
|
|
3930
|
+
var LINE_HEIGHT_LABEL = (0, import_i18n49.__)("Line height", "elementor");
|
|
3812
3931
|
var LineHeightField = () => {
|
|
3813
|
-
const rowRef = (0,
|
|
3814
|
-
return /* @__PURE__ */
|
|
3932
|
+
const rowRef = (0, import_react35.useRef)(null);
|
|
3933
|
+
return /* @__PURE__ */ React74.createElement(StylesField, { bind: "line-height", propDisplayName: LINE_HEIGHT_LABEL }, /* @__PURE__ */ React74.createElement(StylesFieldLayout, { label: LINE_HEIGHT_LABEL, ref: rowRef }, /* @__PURE__ */ React74.createElement(import_editor_controls43.SizeControl, { anchorRef: rowRef })));
|
|
3815
3934
|
};
|
|
3816
3935
|
|
|
3817
3936
|
// src/components/style-sections/typography-section/text-alignment-field.tsx
|
|
3818
|
-
var
|
|
3819
|
-
var
|
|
3937
|
+
var React75 = __toESM(require("react"));
|
|
3938
|
+
var import_editor_controls44 = require("@elementor/editor-controls");
|
|
3820
3939
|
var import_icons20 = require("@elementor/icons");
|
|
3821
|
-
var
|
|
3822
|
-
var
|
|
3823
|
-
var
|
|
3824
|
-
var
|
|
3940
|
+
var import_ui42 = require("@elementor/ui");
|
|
3941
|
+
var import_i18n50 = require("@wordpress/i18n");
|
|
3942
|
+
var TEXT_ALIGNMENT_LABEL = (0, import_i18n50.__)("Text align", "elementor");
|
|
3943
|
+
var AlignStartIcon = (0, import_ui42.withDirection)(import_icons20.AlignLeftIcon);
|
|
3944
|
+
var AlignEndIcon = (0, import_ui42.withDirection)(import_icons20.AlignRightIcon);
|
|
3825
3945
|
var options8 = [
|
|
3826
3946
|
{
|
|
3827
3947
|
value: "start",
|
|
3828
|
-
label: (0,
|
|
3829
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3948
|
+
label: (0, import_i18n50.__)("Start", "elementor"),
|
|
3949
|
+
renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(AlignStartIcon, { fontSize: size }),
|
|
3830
3950
|
showTooltip: true
|
|
3831
3951
|
},
|
|
3832
3952
|
{
|
|
3833
3953
|
value: "center",
|
|
3834
|
-
label: (0,
|
|
3835
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3954
|
+
label: (0, import_i18n50.__)("Center", "elementor"),
|
|
3955
|
+
renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(import_icons20.AlignCenterIcon, { fontSize: size }),
|
|
3836
3956
|
showTooltip: true
|
|
3837
3957
|
},
|
|
3838
3958
|
{
|
|
3839
3959
|
value: "end",
|
|
3840
|
-
label: (0,
|
|
3841
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3960
|
+
label: (0, import_i18n50.__)("End", "elementor"),
|
|
3961
|
+
renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(AlignEndIcon, { fontSize: size }),
|
|
3842
3962
|
showTooltip: true
|
|
3843
3963
|
},
|
|
3844
3964
|
{
|
|
3845
3965
|
value: "justify",
|
|
3846
|
-
label: (0,
|
|
3847
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3966
|
+
label: (0, import_i18n50.__)("Justify", "elementor"),
|
|
3967
|
+
renderContent: ({ size }) => /* @__PURE__ */ React75.createElement(import_icons20.AlignJustifiedIcon, { fontSize: size }),
|
|
3848
3968
|
showTooltip: true
|
|
3849
3969
|
}
|
|
3850
3970
|
];
|
|
3851
3971
|
var TextAlignmentField = () => {
|
|
3852
|
-
return /* @__PURE__ */
|
|
3972
|
+
return /* @__PURE__ */ React75.createElement(StylesField, { bind: "text-align", propDisplayName: TEXT_ALIGNMENT_LABEL }, /* @__PURE__ */ React75.createElement(UiProviders, null, /* @__PURE__ */ React75.createElement(StylesFieldLayout, { label: TEXT_ALIGNMENT_LABEL }, /* @__PURE__ */ React75.createElement(import_editor_controls44.ToggleControl, { options: options8 }))));
|
|
3853
3973
|
};
|
|
3854
3974
|
|
|
3855
3975
|
// src/components/style-sections/typography-section/text-color-field.tsx
|
|
3856
|
-
var
|
|
3857
|
-
var
|
|
3858
|
-
var
|
|
3859
|
-
var
|
|
3976
|
+
var React76 = __toESM(require("react"));
|
|
3977
|
+
var import_editor_controls45 = require("@elementor/editor-controls");
|
|
3978
|
+
var import_i18n51 = require("@wordpress/i18n");
|
|
3979
|
+
var TEXT_COLOR_LABEL = (0, import_i18n51.__)("Text color", "elementor");
|
|
3860
3980
|
var TextColorField = () => {
|
|
3861
|
-
return /* @__PURE__ */
|
|
3981
|
+
return /* @__PURE__ */ React76.createElement(StylesField, { bind: "color", propDisplayName: TEXT_COLOR_LABEL }, /* @__PURE__ */ React76.createElement(StylesFieldLayout, { label: TEXT_COLOR_LABEL }, /* @__PURE__ */ React76.createElement(import_editor_controls45.ColorControl, null)));
|
|
3862
3982
|
};
|
|
3863
3983
|
|
|
3864
3984
|
// src/components/style-sections/typography-section/text-decoration-field.tsx
|
|
3865
|
-
var
|
|
3866
|
-
var
|
|
3985
|
+
var React77 = __toESM(require("react"));
|
|
3986
|
+
var import_editor_controls46 = require("@elementor/editor-controls");
|
|
3867
3987
|
var import_icons21 = require("@elementor/icons");
|
|
3868
|
-
var
|
|
3869
|
-
var
|
|
3988
|
+
var import_i18n52 = require("@wordpress/i18n");
|
|
3989
|
+
var TEXT_DECORATION_LABEL = (0, import_i18n52.__)("Line decoration", "elementor");
|
|
3870
3990
|
var options9 = [
|
|
3871
3991
|
{
|
|
3872
3992
|
value: "none",
|
|
3873
|
-
label: (0,
|
|
3874
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
3993
|
+
label: (0, import_i18n52.__)("None", "elementor"),
|
|
3994
|
+
renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(import_icons21.MinusIcon, { fontSize: size }),
|
|
3875
3995
|
showTooltip: true,
|
|
3876
3996
|
exclusive: true
|
|
3877
3997
|
},
|
|
3878
3998
|
{
|
|
3879
3999
|
value: "underline",
|
|
3880
|
-
label: (0,
|
|
3881
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4000
|
+
label: (0, import_i18n52.__)("Underline", "elementor"),
|
|
4001
|
+
renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(import_icons21.UnderlineIcon, { fontSize: size }),
|
|
3882
4002
|
showTooltip: true
|
|
3883
4003
|
},
|
|
3884
4004
|
{
|
|
3885
4005
|
value: "line-through",
|
|
3886
|
-
label: (0,
|
|
3887
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4006
|
+
label: (0, import_i18n52.__)("Line-through", "elementor"),
|
|
4007
|
+
renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(import_icons21.StrikethroughIcon, { fontSize: size }),
|
|
3888
4008
|
showTooltip: true
|
|
3889
4009
|
},
|
|
3890
4010
|
{
|
|
3891
4011
|
value: "overline",
|
|
3892
|
-
label: (0,
|
|
3893
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4012
|
+
label: (0, import_i18n52.__)("Overline", "elementor"),
|
|
4013
|
+
renderContent: ({ size }) => /* @__PURE__ */ React77.createElement(import_icons21.OverlineIcon, { fontSize: size }),
|
|
3894
4014
|
showTooltip: true
|
|
3895
4015
|
}
|
|
3896
4016
|
];
|
|
3897
|
-
var TextDecorationField = () => /* @__PURE__ */
|
|
4017
|
+
var TextDecorationField = () => /* @__PURE__ */ React77.createElement(StylesField, { bind: "text-decoration", propDisplayName: TEXT_DECORATION_LABEL }, /* @__PURE__ */ React77.createElement(StylesFieldLayout, { label: TEXT_DECORATION_LABEL }, /* @__PURE__ */ React77.createElement(import_editor_controls46.ToggleControl, { options: options9, exclusive: false })));
|
|
3898
4018
|
|
|
3899
4019
|
// src/components/style-sections/typography-section/text-direction-field.tsx
|
|
3900
|
-
var
|
|
3901
|
-
var
|
|
4020
|
+
var React78 = __toESM(require("react"));
|
|
4021
|
+
var import_editor_controls47 = require("@elementor/editor-controls");
|
|
3902
4022
|
var import_icons22 = require("@elementor/icons");
|
|
3903
|
-
var
|
|
3904
|
-
var
|
|
4023
|
+
var import_i18n53 = require("@wordpress/i18n");
|
|
4024
|
+
var TEXT_DIRECTION_LABEL = (0, import_i18n53.__)("Direction", "elementor");
|
|
3905
4025
|
var options10 = [
|
|
3906
4026
|
{
|
|
3907
4027
|
value: "ltr",
|
|
3908
|
-
label: (0,
|
|
3909
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4028
|
+
label: (0, import_i18n53.__)("Left to right", "elementor"),
|
|
4029
|
+
renderContent: ({ size }) => /* @__PURE__ */ React78.createElement(import_icons22.TextDirectionLtrIcon, { fontSize: size }),
|
|
3910
4030
|
showTooltip: true
|
|
3911
4031
|
},
|
|
3912
4032
|
{
|
|
3913
4033
|
value: "rtl",
|
|
3914
|
-
label: (0,
|
|
3915
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4034
|
+
label: (0, import_i18n53.__)("Right to left", "elementor"),
|
|
4035
|
+
renderContent: ({ size }) => /* @__PURE__ */ React78.createElement(import_icons22.TextDirectionRtlIcon, { fontSize: size }),
|
|
3916
4036
|
showTooltip: true
|
|
3917
4037
|
}
|
|
3918
4038
|
];
|
|
3919
4039
|
var TextDirectionField = () => {
|
|
3920
|
-
return /* @__PURE__ */
|
|
4040
|
+
return /* @__PURE__ */ React78.createElement(StylesField, { bind: "direction", propDisplayName: TEXT_DIRECTION_LABEL }, /* @__PURE__ */ React78.createElement(StylesFieldLayout, { label: TEXT_DIRECTION_LABEL }, /* @__PURE__ */ React78.createElement(import_editor_controls47.ToggleControl, { options: options10 })));
|
|
3921
4041
|
};
|
|
3922
4042
|
|
|
3923
4043
|
// src/components/style-sections/typography-section/text-stroke-field.tsx
|
|
3924
|
-
var
|
|
3925
|
-
var
|
|
3926
|
-
var
|
|
4044
|
+
var React79 = __toESM(require("react"));
|
|
4045
|
+
var import_editor_controls48 = require("@elementor/editor-controls");
|
|
4046
|
+
var import_i18n54 = require("@wordpress/i18n");
|
|
3927
4047
|
var initTextStroke = {
|
|
3928
4048
|
$$type: "stroke",
|
|
3929
4049
|
value: {
|
|
@@ -3940,80 +4060,80 @@ var initTextStroke = {
|
|
|
3940
4060
|
}
|
|
3941
4061
|
}
|
|
3942
4062
|
};
|
|
4063
|
+
var TEXT_STROKE_LABEL = (0, import_i18n54.__)("Text stroke", "elementor");
|
|
3943
4064
|
var TextStrokeField = () => {
|
|
3944
|
-
const { canEdit } =
|
|
3945
|
-
const [textStroke, setTextStroke] = useStylesField("stroke");
|
|
4065
|
+
const { value, setValue, canEdit } = useStylesField("stroke");
|
|
3946
4066
|
const addTextStroke = () => {
|
|
3947
|
-
|
|
4067
|
+
setValue(initTextStroke);
|
|
3948
4068
|
};
|
|
3949
4069
|
const removeTextStroke = () => {
|
|
3950
|
-
|
|
4070
|
+
setValue(null);
|
|
3951
4071
|
};
|
|
3952
|
-
const hasTextStroke = Boolean(
|
|
3953
|
-
return /* @__PURE__ */
|
|
4072
|
+
const hasTextStroke = Boolean(value);
|
|
4073
|
+
return /* @__PURE__ */ React79.createElement(StylesField, { bind: "stroke", propDisplayName: TEXT_STROKE_LABEL }, /* @__PURE__ */ React79.createElement(
|
|
3954
4074
|
AddOrRemoveContent,
|
|
3955
4075
|
{
|
|
3956
4076
|
isAdded: hasTextStroke,
|
|
3957
4077
|
onAdd: addTextStroke,
|
|
3958
4078
|
onRemove: removeTextStroke,
|
|
3959
4079
|
disabled: !canEdit,
|
|
3960
|
-
renderLabel: () => /* @__PURE__ */
|
|
4080
|
+
renderLabel: () => /* @__PURE__ */ React79.createElement(ControlLabel, null, TEXT_STROKE_LABEL)
|
|
3961
4081
|
},
|
|
3962
|
-
/* @__PURE__ */
|
|
4082
|
+
/* @__PURE__ */ React79.createElement(import_editor_controls48.StrokeControl, null)
|
|
3963
4083
|
));
|
|
3964
4084
|
};
|
|
3965
4085
|
|
|
3966
4086
|
// src/components/style-sections/typography-section/transform-field.tsx
|
|
3967
|
-
var
|
|
3968
|
-
var
|
|
4087
|
+
var React80 = __toESM(require("react"));
|
|
4088
|
+
var import_editor_controls49 = require("@elementor/editor-controls");
|
|
3969
4089
|
var import_icons23 = require("@elementor/icons");
|
|
3970
|
-
var
|
|
3971
|
-
var
|
|
4090
|
+
var import_i18n55 = require("@wordpress/i18n");
|
|
4091
|
+
var TEXT_TRANSFORM_LABEL = (0, import_i18n55.__)("Text transform", "elementor");
|
|
3972
4092
|
var options11 = [
|
|
3973
4093
|
{
|
|
3974
4094
|
value: "none",
|
|
3975
|
-
label: (0,
|
|
3976
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4095
|
+
label: (0, import_i18n55.__)("None", "elementor"),
|
|
4096
|
+
renderContent: ({ size }) => /* @__PURE__ */ React80.createElement(import_icons23.MinusIcon, { fontSize: size }),
|
|
3977
4097
|
showTooltip: true
|
|
3978
4098
|
},
|
|
3979
4099
|
{
|
|
3980
4100
|
value: "capitalize",
|
|
3981
|
-
label: (0,
|
|
3982
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4101
|
+
label: (0, import_i18n55.__)("Capitalize", "elementor"),
|
|
4102
|
+
renderContent: ({ size }) => /* @__PURE__ */ React80.createElement(import_icons23.LetterCaseIcon, { fontSize: size }),
|
|
3983
4103
|
showTooltip: true
|
|
3984
4104
|
},
|
|
3985
4105
|
{
|
|
3986
4106
|
value: "uppercase",
|
|
3987
|
-
label: (0,
|
|
3988
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4107
|
+
label: (0, import_i18n55.__)("Uppercase", "elementor"),
|
|
4108
|
+
renderContent: ({ size }) => /* @__PURE__ */ React80.createElement(import_icons23.LetterCaseUpperIcon, { fontSize: size }),
|
|
3989
4109
|
showTooltip: true
|
|
3990
4110
|
},
|
|
3991
4111
|
{
|
|
3992
4112
|
value: "lowercase",
|
|
3993
|
-
label: (0,
|
|
3994
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
4113
|
+
label: (0, import_i18n55.__)("Lowercase", "elementor"),
|
|
4114
|
+
renderContent: ({ size }) => /* @__PURE__ */ React80.createElement(import_icons23.LetterCaseLowerIcon, { fontSize: size }),
|
|
3995
4115
|
showTooltip: true
|
|
3996
4116
|
}
|
|
3997
4117
|
];
|
|
3998
|
-
var TransformField = () => /* @__PURE__ */
|
|
4118
|
+
var TransformField = () => /* @__PURE__ */ React80.createElement(StylesField, { bind: "text-transform", propDisplayName: TEXT_TRANSFORM_LABEL }, /* @__PURE__ */ React80.createElement(StylesFieldLayout, { label: TEXT_TRANSFORM_LABEL }, /* @__PURE__ */ React80.createElement(import_editor_controls49.ToggleControl, { options: options11 })));
|
|
3999
4119
|
|
|
4000
4120
|
// src/components/style-sections/typography-section/word-spacing-field.tsx
|
|
4001
|
-
var
|
|
4002
|
-
var
|
|
4003
|
-
var
|
|
4004
|
-
var
|
|
4005
|
-
var
|
|
4121
|
+
var React81 = __toESM(require("react"));
|
|
4122
|
+
var import_react36 = require("react");
|
|
4123
|
+
var import_editor_controls50 = require("@elementor/editor-controls");
|
|
4124
|
+
var import_i18n56 = require("@wordpress/i18n");
|
|
4125
|
+
var WORD_SPACING_LABEL = (0, import_i18n56.__)("Word spacing", "elementor");
|
|
4006
4126
|
var WordSpacingField = () => {
|
|
4007
|
-
const rowRef = (0,
|
|
4008
|
-
return /* @__PURE__ */
|
|
4127
|
+
const rowRef = (0, import_react36.useRef)(null);
|
|
4128
|
+
return /* @__PURE__ */ React81.createElement(StylesField, { bind: "word-spacing", propDisplayName: WORD_SPACING_LABEL }, /* @__PURE__ */ React81.createElement(StylesFieldLayout, { label: WORD_SPACING_LABEL, ref: rowRef }, /* @__PURE__ */ React81.createElement(import_editor_controls50.SizeControl, { anchorRef: rowRef })));
|
|
4009
4129
|
};
|
|
4010
4130
|
|
|
4011
4131
|
// src/components/style-sections/typography-section/typography-section.tsx
|
|
4012
4132
|
var TypographySection = () => {
|
|
4013
|
-
const
|
|
4014
|
-
const isVersion330Active = (0, import_editor_v1_adapters13.isExperimentActive)("e_v_3_30");
|
|
4133
|
+
const { value: columnCount } = useStylesField("column-count");
|
|
4015
4134
|
const hasMultiColumns = !!(columnCount?.value && columnCount?.value > 1);
|
|
4016
|
-
|
|
4135
|
+
const isVersion330Active = (0, import_editor_v1_adapters16.isExperimentActive)("e_v_3_30");
|
|
4136
|
+
return /* @__PURE__ */ React82.createElement(SectionContent, null, /* @__PURE__ */ React82.createElement(FontFamilyField, null), /* @__PURE__ */ React82.createElement(FontWeightField, null), /* @__PURE__ */ React82.createElement(FontSizeField, null), /* @__PURE__ */ React82.createElement(PanelDivider, null), /* @__PURE__ */ React82.createElement(TextAlignmentField, null), /* @__PURE__ */ React82.createElement(TextColorField, null), /* @__PURE__ */ React82.createElement(
|
|
4017
4137
|
StyleTabCollapsibleContent,
|
|
4018
4138
|
{
|
|
4019
4139
|
fields: [
|
|
@@ -4028,19 +4148,19 @@ var TypographySection = () => {
|
|
|
4028
4148
|
"stroke"
|
|
4029
4149
|
]
|
|
4030
4150
|
},
|
|
4031
|
-
/* @__PURE__ */
|
|
4151
|
+
/* @__PURE__ */ React82.createElement(SectionContent, { sx: { pt: 2 } }, /* @__PURE__ */ React82.createElement(LineHeightField, null), /* @__PURE__ */ React82.createElement(LetterSpacingField, null), /* @__PURE__ */ React82.createElement(WordSpacingField, null), isVersion330Active && /* @__PURE__ */ React82.createElement(React82.Fragment, null, /* @__PURE__ */ React82.createElement(ColumnCountField, null), hasMultiColumns && /* @__PURE__ */ React82.createElement(ColumnGapField, null)), /* @__PURE__ */ React82.createElement(PanelDivider, null), /* @__PURE__ */ React82.createElement(TextDecorationField, null), /* @__PURE__ */ React82.createElement(TransformField, null), /* @__PURE__ */ React82.createElement(TextDirectionField, null), /* @__PURE__ */ React82.createElement(FontStyleField, null), /* @__PURE__ */ React82.createElement(TextStrokeField, null))
|
|
4032
4152
|
));
|
|
4033
4153
|
};
|
|
4034
4154
|
|
|
4035
4155
|
// src/components/style-tab-section.tsx
|
|
4036
|
-
var
|
|
4037
|
-
var
|
|
4156
|
+
var React83 = __toESM(require("react"));
|
|
4157
|
+
var import_editor_v1_adapters17 = require("@elementor/editor-v1-adapters");
|
|
4038
4158
|
var StyleTabSection = ({ section, fields = [] }) => {
|
|
4039
4159
|
const { component, name, title } = section;
|
|
4040
4160
|
const tabDefaults = useDefaultPanelSettings();
|
|
4041
4161
|
const SectionComponent = component;
|
|
4042
|
-
const isExpanded = (0,
|
|
4043
|
-
return /* @__PURE__ */
|
|
4162
|
+
const isExpanded = (0, import_editor_v1_adapters17.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_30) ? tabDefaults.defaultSectionsExpanded.style?.includes(name) : false;
|
|
4163
|
+
return /* @__PURE__ */ React83.createElement(Section, { title, defaultExpanded: isExpanded, titleEnd: getStylesInheritanceIndicators(fields) }, /* @__PURE__ */ React83.createElement(SectionComponent, null));
|
|
4044
4164
|
};
|
|
4045
4165
|
|
|
4046
4166
|
// src/components/style-tab.tsx
|
|
@@ -4055,9 +4175,9 @@ var stickyHeaderStyles = {
|
|
|
4055
4175
|
var StyleTab = () => {
|
|
4056
4176
|
const currentClassesProp = useCurrentClassesProp();
|
|
4057
4177
|
const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
|
|
4058
|
-
const [activeStyleState, setActiveStyleState] = (0,
|
|
4178
|
+
const [activeStyleState, setActiveStyleState] = (0, import_react37.useState)(null);
|
|
4059
4179
|
const breakpoint = (0, import_editor_responsive3.useActiveBreakpoint)();
|
|
4060
|
-
return /* @__PURE__ */
|
|
4180
|
+
return /* @__PURE__ */ React84.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React84.createElement(
|
|
4061
4181
|
StyleProvider,
|
|
4062
4182
|
{
|
|
4063
4183
|
meta: { breakpoint, state: activeStyleState },
|
|
@@ -4068,13 +4188,13 @@ var StyleTab = () => {
|
|
|
4068
4188
|
},
|
|
4069
4189
|
setMetaState: setActiveStyleState
|
|
4070
4190
|
},
|
|
4071
|
-
/* @__PURE__ */
|
|
4191
|
+
/* @__PURE__ */ React84.createElement(import_session4.SessionStorageProvider, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React84.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React84.createElement(ClassesHeader, null, /* @__PURE__ */ React84.createElement(CssClassSelector, null), /* @__PURE__ */ React84.createElement(import_ui43.Divider, null)), /* @__PURE__ */ React84.createElement(SectionsList, null, /* @__PURE__ */ React84.createElement(
|
|
4072
4192
|
StyleTabSection,
|
|
4073
4193
|
{
|
|
4074
4194
|
section: {
|
|
4075
4195
|
component: LayoutSection,
|
|
4076
4196
|
name: "Layout",
|
|
4077
|
-
title: (0,
|
|
4197
|
+
title: (0, import_i18n57.__)("Layout", "elementor")
|
|
4078
4198
|
},
|
|
4079
4199
|
fields: [
|
|
4080
4200
|
"display",
|
|
@@ -4087,23 +4207,23 @@ var StyleTab = () => {
|
|
|
4087
4207
|
"gap"
|
|
4088
4208
|
]
|
|
4089
4209
|
}
|
|
4090
|
-
), /* @__PURE__ */
|
|
4210
|
+
), /* @__PURE__ */ React84.createElement(
|
|
4091
4211
|
StyleTabSection,
|
|
4092
4212
|
{
|
|
4093
4213
|
section: {
|
|
4094
4214
|
component: SpacingSection,
|
|
4095
4215
|
name: "Spacing",
|
|
4096
|
-
title: (0,
|
|
4216
|
+
title: (0, import_i18n57.__)("Spacing", "elementor")
|
|
4097
4217
|
},
|
|
4098
4218
|
fields: ["margin", "padding"]
|
|
4099
4219
|
}
|
|
4100
|
-
), /* @__PURE__ */
|
|
4220
|
+
), /* @__PURE__ */ React84.createElement(
|
|
4101
4221
|
StyleTabSection,
|
|
4102
4222
|
{
|
|
4103
4223
|
section: {
|
|
4104
4224
|
component: SizeSection,
|
|
4105
4225
|
name: "Size",
|
|
4106
|
-
title: (0,
|
|
4226
|
+
title: (0, import_i18n57.__)("Size", "elementor")
|
|
4107
4227
|
},
|
|
4108
4228
|
fields: [
|
|
4109
4229
|
"width",
|
|
@@ -4117,23 +4237,23 @@ var StyleTab = () => {
|
|
|
4117
4237
|
"object-fit"
|
|
4118
4238
|
]
|
|
4119
4239
|
}
|
|
4120
|
-
), /* @__PURE__ */
|
|
4240
|
+
), /* @__PURE__ */ React84.createElement(
|
|
4121
4241
|
StyleTabSection,
|
|
4122
4242
|
{
|
|
4123
4243
|
section: {
|
|
4124
4244
|
component: PositionSection,
|
|
4125
4245
|
name: "Position",
|
|
4126
|
-
title: (0,
|
|
4246
|
+
title: (0, import_i18n57.__)("Position", "elementor")
|
|
4127
4247
|
},
|
|
4128
4248
|
fields: ["position", "z-index", "scroll-margin-top"]
|
|
4129
4249
|
}
|
|
4130
|
-
), /* @__PURE__ */
|
|
4250
|
+
), /* @__PURE__ */ React84.createElement(
|
|
4131
4251
|
StyleTabSection,
|
|
4132
4252
|
{
|
|
4133
4253
|
section: {
|
|
4134
4254
|
component: TypographySection,
|
|
4135
4255
|
name: "Typography",
|
|
4136
|
-
title: (0,
|
|
4256
|
+
title: (0, import_i18n57.__)("Typography", "elementor")
|
|
4137
4257
|
},
|
|
4138
4258
|
fields: [
|
|
4139
4259
|
"font-family",
|
|
@@ -4152,33 +4272,33 @@ var StyleTab = () => {
|
|
|
4152
4272
|
"stroke"
|
|
4153
4273
|
]
|
|
4154
4274
|
}
|
|
4155
|
-
), /* @__PURE__ */
|
|
4275
|
+
), /* @__PURE__ */ React84.createElement(
|
|
4156
4276
|
StyleTabSection,
|
|
4157
4277
|
{
|
|
4158
4278
|
section: {
|
|
4159
4279
|
component: BackgroundSection,
|
|
4160
4280
|
name: "Background",
|
|
4161
|
-
title: (0,
|
|
4281
|
+
title: (0, import_i18n57.__)("Background", "elementor")
|
|
4162
4282
|
},
|
|
4163
4283
|
fields: ["background"]
|
|
4164
4284
|
}
|
|
4165
|
-
), /* @__PURE__ */
|
|
4285
|
+
), /* @__PURE__ */ React84.createElement(
|
|
4166
4286
|
StyleTabSection,
|
|
4167
4287
|
{
|
|
4168
4288
|
section: {
|
|
4169
4289
|
component: BorderSection,
|
|
4170
4290
|
name: "Border",
|
|
4171
|
-
title: (0,
|
|
4291
|
+
title: (0, import_i18n57.__)("Border", "elementor")
|
|
4172
4292
|
},
|
|
4173
4293
|
fields: ["border-radius", "border-width", "border-color", "border-style"]
|
|
4174
4294
|
}
|
|
4175
|
-
), /* @__PURE__ */
|
|
4295
|
+
), /* @__PURE__ */ React84.createElement(
|
|
4176
4296
|
StyleTabSection,
|
|
4177
4297
|
{
|
|
4178
4298
|
section: {
|
|
4179
4299
|
component: EffectsSection,
|
|
4180
4300
|
name: "Effects",
|
|
4181
|
-
title: (0,
|
|
4301
|
+
title: (0, import_i18n57.__)("Effects", "elementor")
|
|
4182
4302
|
},
|
|
4183
4303
|
fields: ["box-shadow"]
|
|
4184
4304
|
}
|
|
@@ -4187,12 +4307,12 @@ var StyleTab = () => {
|
|
|
4187
4307
|
};
|
|
4188
4308
|
function ClassesHeader({ children }) {
|
|
4189
4309
|
const scrollDirection = useScrollDirection();
|
|
4190
|
-
return /* @__PURE__ */
|
|
4310
|
+
return /* @__PURE__ */ React84.createElement(import_ui43.Stack, { sx: { ...stickyHeaderStyles, top: scrollDirection === "up" ? TABS_HEADER_HEIGHT : 0 } }, children);
|
|
4191
4311
|
}
|
|
4192
4312
|
function useCurrentClassesProp() {
|
|
4193
4313
|
const { elementType } = useElement();
|
|
4194
4314
|
const prop = Object.entries(elementType.propsSchema).find(
|
|
4195
|
-
([, propType]) => propType.kind === "plain" && propType.key ===
|
|
4315
|
+
([, propType]) => propType.kind === "plain" && propType.key === import_editor_props10.CLASSES_PROP_KEY
|
|
4196
4316
|
);
|
|
4197
4317
|
if (!prop) {
|
|
4198
4318
|
throw new Error("Element does not have a classes prop");
|
|
@@ -4206,16 +4326,16 @@ var EditingPanelTabs = () => {
|
|
|
4206
4326
|
return (
|
|
4207
4327
|
// When switching between elements, the local states should be reset. We are using key to rerender the tabs.
|
|
4208
4328
|
// Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
|
|
4209
|
-
/* @__PURE__ */
|
|
4329
|
+
/* @__PURE__ */ React85.createElement(import_react38.Fragment, { key: element.id }, /* @__PURE__ */ React85.createElement(PanelTabContent, null))
|
|
4210
4330
|
);
|
|
4211
4331
|
};
|
|
4212
4332
|
var PanelTabContent = () => {
|
|
4213
4333
|
const editorDefaults = useDefaultPanelSettings();
|
|
4214
|
-
const defaultComponentTab = (0,
|
|
4334
|
+
const defaultComponentTab = (0, import_editor_v1_adapters18.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_30) ? editorDefaults.defaultTab : "settings";
|
|
4215
4335
|
const [currentTab, setCurrentTab] = useStateByElement("tab", defaultComponentTab);
|
|
4216
|
-
const { getTabProps, getTabPanelProps, getTabsProps } = (0,
|
|
4217
|
-
return /* @__PURE__ */
|
|
4218
|
-
|
|
4336
|
+
const { getTabProps, getTabPanelProps, getTabsProps } = (0, import_ui44.useTabs)(currentTab);
|
|
4337
|
+
return /* @__PURE__ */ React85.createElement(ScrollProvider, null, /* @__PURE__ */ React85.createElement(import_ui44.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React85.createElement(import_ui44.Stack, { sx: { ...stickyHeaderStyles, top: 0 } }, /* @__PURE__ */ React85.createElement(
|
|
4338
|
+
import_ui44.Tabs,
|
|
4219
4339
|
{
|
|
4220
4340
|
variant: "fullWidth",
|
|
4221
4341
|
size: "small",
|
|
@@ -4226,9 +4346,9 @@ var PanelTabContent = () => {
|
|
|
4226
4346
|
setCurrentTab(newValue);
|
|
4227
4347
|
}
|
|
4228
4348
|
},
|
|
4229
|
-
/* @__PURE__ */
|
|
4230
|
-
/* @__PURE__ */
|
|
4231
|
-
), /* @__PURE__ */
|
|
4349
|
+
/* @__PURE__ */ React85.createElement(import_ui44.Tab, { label: (0, import_i18n58.__)("General", "elementor"), ...getTabProps("settings") }),
|
|
4350
|
+
/* @__PURE__ */ React85.createElement(import_ui44.Tab, { label: (0, import_i18n58.__)("Style", "elementor"), ...getTabProps("style") })
|
|
4351
|
+
), /* @__PURE__ */ React85.createElement(import_ui44.Divider, null)), /* @__PURE__ */ React85.createElement(import_ui44.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React85.createElement(SettingsTab, null)), /* @__PURE__ */ React85.createElement(import_ui44.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React85.createElement(StyleTab, null))));
|
|
4232
4352
|
};
|
|
4233
4353
|
|
|
4234
4354
|
// src/components/editing-panel.tsx
|
|
@@ -4240,8 +4360,8 @@ var EditingPanel = () => {
|
|
|
4240
4360
|
if (!element || !elementType) {
|
|
4241
4361
|
return null;
|
|
4242
4362
|
}
|
|
4243
|
-
const panelTitle = (0,
|
|
4244
|
-
return /* @__PURE__ */
|
|
4363
|
+
const panelTitle = (0, import_i18n59.__)("Edit %s", "elementor").replace("%s", elementType.title);
|
|
4364
|
+
return /* @__PURE__ */ React86.createElement(import_ui45.ErrorBoundary, { fallback: /* @__PURE__ */ React86.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React86.createElement(import_session5.SessionStorageProvider, { prefix: "elementor" }, /* @__PURE__ */ React86.createElement(import_editor_ui5.ThemeProvider, null, /* @__PURE__ */ React86.createElement(import_editor_panels.Panel, null, /* @__PURE__ */ React86.createElement(import_editor_panels.PanelHeader, null, /* @__PURE__ */ React86.createElement(import_editor_panels.PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React86.createElement(import_icons24.AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React86.createElement(import_editor_panels.PanelBody, null, /* @__PURE__ */ React86.createElement(import_editor_controls51.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React86.createElement(import_editor_controls51.ControlReplacementsProvider, { replacements: controlReplacements }, /* @__PURE__ */ React86.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React86.createElement(EditingPanelTabs, null)))))))));
|
|
4245
4365
|
};
|
|
4246
4366
|
|
|
4247
4367
|
// src/panel.ts
|
|
@@ -4250,15 +4370,23 @@ var { panel, usePanelActions, usePanelStatus } = (0, import_editor_panels2.__cre
|
|
|
4250
4370
|
component: EditingPanel
|
|
4251
4371
|
});
|
|
4252
4372
|
|
|
4373
|
+
// src/components/popover-scrollable-content.tsx
|
|
4374
|
+
var React87 = __toESM(require("react"));
|
|
4375
|
+
var import_editor_ui6 = require("@elementor/editor-ui");
|
|
4376
|
+
var PopoverScrollableContent = (props) => {
|
|
4377
|
+
const sectionWidth = useSectionWidth();
|
|
4378
|
+
return /* @__PURE__ */ React87.createElement(import_editor_ui6.PopoverScrollableContent, { ...props, width: sectionWidth });
|
|
4379
|
+
};
|
|
4380
|
+
|
|
4253
4381
|
// src/init.ts
|
|
4254
4382
|
var import_editor = require("@elementor/editor");
|
|
4255
4383
|
var import_editor_current_user = require("@elementor/editor-current-user");
|
|
4256
4384
|
var import_editor_panels3 = require("@elementor/editor-panels");
|
|
4257
|
-
var
|
|
4385
|
+
var import_editor_v1_adapters20 = require("@elementor/editor-v1-adapters");
|
|
4258
4386
|
|
|
4259
4387
|
// src/hooks/use-open-editor-panel.ts
|
|
4260
|
-
var
|
|
4261
|
-
var
|
|
4388
|
+
var import_react39 = require("react");
|
|
4389
|
+
var import_editor_v1_adapters19 = require("@elementor/editor-v1-adapters");
|
|
4262
4390
|
|
|
4263
4391
|
// src/sync/is-atomic-widget-selected.ts
|
|
4264
4392
|
var import_editor_elements9 = require("@elementor/editor-elements");
|
|
@@ -4274,8 +4402,8 @@ var isAtomicWidgetSelected = () => {
|
|
|
4274
4402
|
// src/hooks/use-open-editor-panel.ts
|
|
4275
4403
|
var useOpenEditorPanel = () => {
|
|
4276
4404
|
const { open } = usePanelActions();
|
|
4277
|
-
(0,
|
|
4278
|
-
return (0,
|
|
4405
|
+
(0, import_react39.useEffect)(() => {
|
|
4406
|
+
return (0, import_editor_v1_adapters19.__privateListenTo)((0, import_editor_v1_adapters19.commandStartEvent)("panel/editor/open"), () => {
|
|
4279
4407
|
if (isAtomicWidgetSelected()) {
|
|
4280
4408
|
open();
|
|
4281
4409
|
}
|
|
@@ -4291,20 +4419,20 @@ var EditingPanelHooks = () => {
|
|
|
4291
4419
|
|
|
4292
4420
|
// src/dynamics/init.ts
|
|
4293
4421
|
var import_editor_canvas4 = require("@elementor/editor-canvas");
|
|
4294
|
-
var
|
|
4422
|
+
var import_editor_controls58 = require("@elementor/editor-controls");
|
|
4295
4423
|
|
|
4296
4424
|
// src/dynamics/components/background-control-dynamic-tag.tsx
|
|
4297
|
-
var
|
|
4298
|
-
var
|
|
4299
|
-
var
|
|
4425
|
+
var React88 = __toESM(require("react"));
|
|
4426
|
+
var import_editor_controls53 = require("@elementor/editor-controls");
|
|
4427
|
+
var import_editor_props12 = require("@elementor/editor-props");
|
|
4300
4428
|
var import_icons25 = require("@elementor/icons");
|
|
4301
4429
|
|
|
4302
4430
|
// src/dynamics/hooks/use-dynamic-tag.ts
|
|
4303
|
-
var
|
|
4431
|
+
var import_react41 = require("react");
|
|
4304
4432
|
|
|
4305
4433
|
// src/dynamics/hooks/use-prop-dynamic-tags.ts
|
|
4306
|
-
var
|
|
4307
|
-
var
|
|
4434
|
+
var import_react40 = require("react");
|
|
4435
|
+
var import_editor_controls52 = require("@elementor/editor-controls");
|
|
4308
4436
|
|
|
4309
4437
|
// src/dynamics/sync/get-elementor-config.ts
|
|
4310
4438
|
var getElementorConfig2 = () => {
|
|
@@ -4325,7 +4453,7 @@ var getAtomicDynamicTags = () => {
|
|
|
4325
4453
|
};
|
|
4326
4454
|
|
|
4327
4455
|
// src/dynamics/utils.ts
|
|
4328
|
-
var
|
|
4456
|
+
var import_editor_props11 = require("@elementor/editor-props");
|
|
4329
4457
|
var import_schema = require("@elementor/schema");
|
|
4330
4458
|
var DYNAMIC_PROP_TYPE_KEY = "dynamic";
|
|
4331
4459
|
var isDynamicPropType = (prop) => prop.key === DYNAMIC_PROP_TYPE_KEY;
|
|
@@ -4334,12 +4462,12 @@ var getDynamicPropType = (propType) => {
|
|
|
4334
4462
|
return dynamicPropType && isDynamicPropType(dynamicPropType) ? dynamicPropType : null;
|
|
4335
4463
|
};
|
|
4336
4464
|
var isDynamicPropValue = (prop) => {
|
|
4337
|
-
return (0,
|
|
4465
|
+
return (0, import_editor_props11.isTransformable)(prop) && prop.$$type === DYNAMIC_PROP_TYPE_KEY;
|
|
4338
4466
|
};
|
|
4339
4467
|
var supportsDynamic = (propType) => {
|
|
4340
4468
|
return !!getDynamicPropType(propType);
|
|
4341
4469
|
};
|
|
4342
|
-
var dynamicPropTypeUtil = (0,
|
|
4470
|
+
var dynamicPropTypeUtil = (0, import_editor_props11.createPropUtils)(
|
|
4343
4471
|
DYNAMIC_PROP_TYPE_KEY,
|
|
4344
4472
|
import_schema.z.strictObject({
|
|
4345
4473
|
name: import_schema.z.string(),
|
|
@@ -4350,12 +4478,12 @@ var dynamicPropTypeUtil = (0, import_editor_props10.createPropUtils)(
|
|
|
4350
4478
|
// src/dynamics/hooks/use-prop-dynamic-tags.ts
|
|
4351
4479
|
var usePropDynamicTags = () => {
|
|
4352
4480
|
let categories = [];
|
|
4353
|
-
const { propType } = (0,
|
|
4481
|
+
const { propType } = (0, import_editor_controls52.useBoundProp)();
|
|
4354
4482
|
if (propType) {
|
|
4355
4483
|
const propDynamicType = getDynamicPropType(propType);
|
|
4356
4484
|
categories = propDynamicType?.settings.categories || [];
|
|
4357
4485
|
}
|
|
4358
|
-
return (0,
|
|
4486
|
+
return (0, import_react40.useMemo)(() => getDynamicTagsByCategories(categories), [categories.join()]);
|
|
4359
4487
|
};
|
|
4360
4488
|
var getDynamicTagsByCategories = (categories) => {
|
|
4361
4489
|
const dynamicTags = getAtomicDynamicTags();
|
|
@@ -4371,38 +4499,33 @@ var getDynamicTagsByCategories = (categories) => {
|
|
|
4371
4499
|
// src/dynamics/hooks/use-dynamic-tag.ts
|
|
4372
4500
|
var useDynamicTag = (tagName) => {
|
|
4373
4501
|
const dynamicTags = usePropDynamicTags();
|
|
4374
|
-
return (0,
|
|
4502
|
+
return (0, import_react41.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
|
|
4375
4503
|
};
|
|
4376
4504
|
|
|
4377
4505
|
// src/dynamics/components/background-control-dynamic-tag.tsx
|
|
4378
|
-
var BackgroundControlDynamicTagIcon = () => /* @__PURE__ */
|
|
4506
|
+
var BackgroundControlDynamicTagIcon = () => /* @__PURE__ */ React88.createElement(import_icons25.DatabaseIcon, { fontSize: "tiny" });
|
|
4379
4507
|
var BackgroundControlDynamicTagLabel = ({ value }) => {
|
|
4380
|
-
const context = (0,
|
|
4381
|
-
return /* @__PURE__ */
|
|
4508
|
+
const context = (0, import_editor_controls53.useBoundProp)(import_editor_props12.backgroundImageOverlayPropTypeUtil);
|
|
4509
|
+
return /* @__PURE__ */ React88.createElement(import_editor_controls53.PropProvider, { ...context, value: value.value }, /* @__PURE__ */ React88.createElement(import_editor_controls53.PropKeyProvider, { bind: "image" }, /* @__PURE__ */ React88.createElement(Wrapper, { rawValue: value.value })));
|
|
4382
4510
|
};
|
|
4383
4511
|
var Wrapper = ({ rawValue }) => {
|
|
4384
|
-
const { propType } = (0,
|
|
4512
|
+
const { propType } = (0, import_editor_controls53.useBoundProp)();
|
|
4385
4513
|
const imageOverlayPropType = propType.prop_types["background-image-overlay"];
|
|
4386
|
-
return /* @__PURE__ */
|
|
4514
|
+
return /* @__PURE__ */ React88.createElement(import_editor_controls53.PropProvider, { propType: imageOverlayPropType.shape.image, value: rawValue, setValue: () => void 0 }, /* @__PURE__ */ React88.createElement(import_editor_controls53.PropKeyProvider, { bind: "src" }, /* @__PURE__ */ React88.createElement(Content, { rawValue: rawValue.image })));
|
|
4387
4515
|
};
|
|
4388
4516
|
var Content = ({ rawValue }) => {
|
|
4389
4517
|
const src = rawValue.value.src;
|
|
4390
4518
|
const dynamicTag = useDynamicTag(src.value.name || "");
|
|
4391
|
-
return /* @__PURE__ */
|
|
4519
|
+
return /* @__PURE__ */ React88.createElement(React88.Fragment, null, dynamicTag?.label);
|
|
4392
4520
|
};
|
|
4393
4521
|
|
|
4394
4522
|
// src/dynamics/components/dynamic-selection-control.tsx
|
|
4395
|
-
var
|
|
4396
|
-
var
|
|
4397
|
-
var
|
|
4523
|
+
var React91 = __toESM(require("react"));
|
|
4524
|
+
var import_editor_controls56 = require("@elementor/editor-controls");
|
|
4525
|
+
var import_editor_ui8 = require("@elementor/editor-ui");
|
|
4398
4526
|
var import_icons27 = require("@elementor/icons");
|
|
4399
|
-
var
|
|
4400
|
-
var
|
|
4401
|
-
|
|
4402
|
-
// src/components/popover-content.tsx
|
|
4403
|
-
var React86 = __toESM(require("react"));
|
|
4404
|
-
var import_ui70 = require("@elementor/ui");
|
|
4405
|
-
var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React86.createElement(import_ui70.Stack, { alignItems, gap, p }, children);
|
|
4527
|
+
var import_ui47 = require("@elementor/ui");
|
|
4528
|
+
var import_i18n61 = require("@wordpress/i18n");
|
|
4406
4529
|
|
|
4407
4530
|
// src/hooks/use-persist-dynamic-value.ts
|
|
4408
4531
|
var import_session6 = require("@elementor/session");
|
|
@@ -4413,10 +4536,10 @@ var usePersistDynamicValue = (propKey) => {
|
|
|
4413
4536
|
};
|
|
4414
4537
|
|
|
4415
4538
|
// src/dynamics/dynamic-control.tsx
|
|
4416
|
-
var
|
|
4417
|
-
var
|
|
4539
|
+
var React89 = __toESM(require("react"));
|
|
4540
|
+
var import_editor_controls54 = require("@elementor/editor-controls");
|
|
4418
4541
|
var DynamicControl = ({ bind, children }) => {
|
|
4419
|
-
const { value, setValue } = (0,
|
|
4542
|
+
const { value, setValue } = (0, import_editor_controls54.useBoundProp)(dynamicPropTypeUtil);
|
|
4420
4543
|
const { name = "", settings } = value ?? {};
|
|
4421
4544
|
const dynamicTag = useDynamicTag(name);
|
|
4422
4545
|
if (!dynamicTag) {
|
|
@@ -4435,71 +4558,79 @@ var DynamicControl = ({ bind, children }) => {
|
|
|
4435
4558
|
});
|
|
4436
4559
|
};
|
|
4437
4560
|
const propType = createTopLevelOjectType({ schema: dynamicTag.props_schema });
|
|
4438
|
-
return /* @__PURE__ */
|
|
4561
|
+
return /* @__PURE__ */ React89.createElement(import_editor_controls54.PropProvider, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React89.createElement(import_editor_controls54.PropKeyProvider, { bind }, children));
|
|
4439
4562
|
};
|
|
4440
4563
|
|
|
4441
4564
|
// src/dynamics/components/dynamic-selection.tsx
|
|
4442
|
-
var
|
|
4443
|
-
var
|
|
4444
|
-
var
|
|
4565
|
+
var import_react42 = require("react");
|
|
4566
|
+
var React90 = __toESM(require("react"));
|
|
4567
|
+
var import_editor_controls55 = require("@elementor/editor-controls");
|
|
4568
|
+
var import_editor_ui7 = require("@elementor/editor-ui");
|
|
4445
4569
|
var import_icons26 = require("@elementor/icons");
|
|
4446
|
-
var
|
|
4447
|
-
var
|
|
4448
|
-
var
|
|
4449
|
-
var DynamicSelection = ({
|
|
4450
|
-
const [searchValue, setSearchValue] = (0,
|
|
4570
|
+
var import_ui46 = require("@elementor/ui");
|
|
4571
|
+
var import_i18n60 = require("@wordpress/i18n");
|
|
4572
|
+
var SIZE6 = "tiny";
|
|
4573
|
+
var DynamicSelection = ({ close: closePopover }) => {
|
|
4574
|
+
const [searchValue, setSearchValue] = (0, import_react42.useState)("");
|
|
4451
4575
|
const { groups: dynamicGroups } = getAtomicDynamicTags() || {};
|
|
4452
|
-
const
|
|
4453
|
-
const {
|
|
4576
|
+
const theme = (0, import_ui46.useTheme)();
|
|
4577
|
+
const { value: anyValue } = (0, import_editor_controls55.useBoundProp)();
|
|
4578
|
+
const { bind, value: dynamicValue, setValue } = (0, import_editor_controls55.useBoundProp)(dynamicPropTypeUtil);
|
|
4454
4579
|
const [, updatePropValueHistory] = usePersistDynamicValue(bind);
|
|
4455
4580
|
const isCurrentValueDynamic = !!dynamicValue;
|
|
4456
4581
|
const options12 = useFilteredOptions(searchValue);
|
|
4457
4582
|
const hasNoDynamicTags = !options12.length && !searchValue.trim();
|
|
4458
|
-
const handleSearch = (
|
|
4459
|
-
setSearchValue(
|
|
4583
|
+
const handleSearch = (value) => {
|
|
4584
|
+
setSearchValue(value);
|
|
4460
4585
|
};
|
|
4461
|
-
const handleSetDynamicTag = (value
|
|
4586
|
+
const handleSetDynamicTag = (value) => {
|
|
4462
4587
|
if (!isCurrentValueDynamic) {
|
|
4463
4588
|
updatePropValueHistory(anyValue);
|
|
4464
4589
|
}
|
|
4465
|
-
|
|
4466
|
-
|
|
4590
|
+
const selectedOption = options12.flatMap(([, items3]) => items3).find((item) => item.value === value);
|
|
4591
|
+
setValue({ name: value, settings: { label: selectedOption?.label } });
|
|
4592
|
+
closePopover();
|
|
4467
4593
|
};
|
|
4468
|
-
|
|
4469
|
-
|
|
4594
|
+
const virtualizedItems = options12.flatMap(([category, items3]) => [
|
|
4595
|
+
{
|
|
4596
|
+
type: "category",
|
|
4597
|
+
value: category,
|
|
4598
|
+
label: dynamicGroups?.[category]?.title || category
|
|
4599
|
+
},
|
|
4600
|
+
...items3.map((item) => ({
|
|
4601
|
+
type: "item",
|
|
4602
|
+
value: item.value,
|
|
4603
|
+
label: item.label
|
|
4604
|
+
}))
|
|
4605
|
+
]);
|
|
4606
|
+
return /* @__PURE__ */ React90.createElement(React90.Fragment, null, /* @__PURE__ */ React90.createElement(
|
|
4607
|
+
import_editor_ui7.PopoverHeader,
|
|
4608
|
+
{
|
|
4609
|
+
title: (0, import_i18n60.__)("Dynamic tags", "elementor"),
|
|
4610
|
+
onClose: closePopover,
|
|
4611
|
+
icon: /* @__PURE__ */ React90.createElement(import_icons26.DatabaseIcon, { fontSize: SIZE6 })
|
|
4612
|
+
}
|
|
4613
|
+
), /* @__PURE__ */ React90.createElement(import_ui46.Stack, null, hasNoDynamicTags ? /* @__PURE__ */ React90.createElement(NoDynamicTags, null) : /* @__PURE__ */ React90.createElement(import_react42.Fragment, null, /* @__PURE__ */ React90.createElement(
|
|
4614
|
+
import_editor_ui7.PopoverSearch,
|
|
4470
4615
|
{
|
|
4471
|
-
fullWidth: true,
|
|
4472
|
-
size: SIZE7,
|
|
4473
4616
|
value: searchValue,
|
|
4474
|
-
|
|
4475
|
-
placeholder: (0,
|
|
4476
|
-
InputProps: {
|
|
4477
|
-
startAdornment: /* @__PURE__ */ React88.createElement(import_ui71.InputAdornment, { position: "start" }, /* @__PURE__ */ React88.createElement(import_icons26.SearchIcon, { fontSize: SIZE7 }))
|
|
4478
|
-
}
|
|
4617
|
+
onSearch: handleSearch,
|
|
4618
|
+
placeholder: (0, import_i18n60.__)("Search dynamic tags\u2026", "elementor")
|
|
4479
4619
|
}
|
|
4480
|
-
)
|
|
4481
|
-
|
|
4620
|
+
), /* @__PURE__ */ React90.createElement(import_ui46.Divider, null), /* @__PURE__ */ React90.createElement(PopoverScrollableContent, null, /* @__PURE__ */ React90.createElement(
|
|
4621
|
+
import_editor_ui7.PopoverMenuList,
|
|
4482
4622
|
{
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
key: value,
|
|
4492
|
-
selected: isSelected,
|
|
4493
|
-
autoFocus: isSelected,
|
|
4494
|
-
sx: { px: 3.5, typography: "caption" },
|
|
4495
|
-
onClick: () => handleSetDynamicTag(value, tagLabel)
|
|
4496
|
-
},
|
|
4497
|
-
tagLabel
|
|
4498
|
-
);
|
|
4499
|
-
})))) : /* @__PURE__ */ React88.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") }))));
|
|
4623
|
+
items: virtualizedItems,
|
|
4624
|
+
onSelect: handleSetDynamicTag,
|
|
4625
|
+
onClose: closePopover,
|
|
4626
|
+
selectedValue: dynamicValue?.name,
|
|
4627
|
+
itemStyle: (item) => item.type === "item" ? { paddingInlineStart: theme.spacing(3.5) } : {},
|
|
4628
|
+
noResultsComponent: /* @__PURE__ */ React90.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") })
|
|
4629
|
+
}
|
|
4630
|
+
)))));
|
|
4500
4631
|
};
|
|
4501
|
-
var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */
|
|
4502
|
-
|
|
4632
|
+
var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React90.createElement(
|
|
4633
|
+
import_ui46.Stack,
|
|
4503
4634
|
{
|
|
4504
4635
|
gap: 1,
|
|
4505
4636
|
alignItems: "center",
|
|
@@ -4509,12 +4640,12 @@ var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React88.createElem
|
|
|
4509
4640
|
color: "text.secondary",
|
|
4510
4641
|
sx: { pb: 3.5 }
|
|
4511
4642
|
},
|
|
4512
|
-
/* @__PURE__ */
|
|
4513
|
-
/* @__PURE__ */
|
|
4514
|
-
/* @__PURE__ */
|
|
4643
|
+
/* @__PURE__ */ React90.createElement(import_icons26.DatabaseIcon, { fontSize: "large" }),
|
|
4644
|
+
/* @__PURE__ */ React90.createElement(import_ui46.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n60.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React90.createElement("br", null), "\u201C", searchValue, "\u201D."),
|
|
4645
|
+
/* @__PURE__ */ React90.createElement(import_ui46.Typography, { align: "center", variant: "caption", sx: { display: "flex", flexDirection: "column" } }, (0, import_i18n60.__)("Try something else.", "elementor"), /* @__PURE__ */ React90.createElement(import_ui46.Link, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, (0, import_i18n60.__)("Clear & try again", "elementor")))
|
|
4515
4646
|
);
|
|
4516
|
-
var NoDynamicTags = () => /* @__PURE__ */
|
|
4517
|
-
|
|
4647
|
+
var NoDynamicTags = () => /* @__PURE__ */ React90.createElement(import_ui46.Box, { sx: { overflowY: "hidden", height: 297, width: 220 } }, /* @__PURE__ */ React90.createElement(import_ui46.Divider, null), /* @__PURE__ */ React90.createElement(
|
|
4648
|
+
import_ui46.Stack,
|
|
4518
4649
|
{
|
|
4519
4650
|
gap: 1,
|
|
4520
4651
|
alignItems: "center",
|
|
@@ -4524,9 +4655,9 @@ var NoDynamicTags = () => /* @__PURE__ */ React88.createElement(import_ui71.Box,
|
|
|
4524
4655
|
color: "text.secondary",
|
|
4525
4656
|
sx: { pb: 3.5 }
|
|
4526
4657
|
},
|
|
4527
|
-
/* @__PURE__ */
|
|
4528
|
-
/* @__PURE__ */
|
|
4529
|
-
/* @__PURE__ */
|
|
4658
|
+
/* @__PURE__ */ React90.createElement(import_icons26.DatabaseIcon, { fontSize: "large" }),
|
|
4659
|
+
/* @__PURE__ */ React90.createElement(import_ui46.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n60.__)("Streamline your workflow with dynamic tags", "elementor")),
|
|
4660
|
+
/* @__PURE__ */ React90.createElement(import_ui46.Typography, { align: "center", variant: "caption" }, (0, import_i18n60.__)("You'll need Elementor Pro to use this feature.", "elementor"))
|
|
4530
4661
|
));
|
|
4531
4662
|
var useFilteredOptions = (searchValue) => {
|
|
4532
4663
|
const dynamicTags = usePropDynamicTags();
|
|
@@ -4545,12 +4676,12 @@ var useFilteredOptions = (searchValue) => {
|
|
|
4545
4676
|
};
|
|
4546
4677
|
|
|
4547
4678
|
// src/dynamics/components/dynamic-selection-control.tsx
|
|
4548
|
-
var
|
|
4679
|
+
var SIZE7 = "tiny";
|
|
4549
4680
|
var DynamicSelectionControl = () => {
|
|
4550
|
-
const { setValue: setAnyValue } = (0,
|
|
4551
|
-
const { bind, value } = (0,
|
|
4681
|
+
const { setValue: setAnyValue } = (0, import_editor_controls56.useBoundProp)();
|
|
4682
|
+
const { bind, value } = (0, import_editor_controls56.useBoundProp)(dynamicPropTypeUtil);
|
|
4552
4683
|
const [propValueFromHistory] = usePersistDynamicValue(bind);
|
|
4553
|
-
const selectionPopoverState = (0,
|
|
4684
|
+
const selectionPopoverState = (0, import_ui47.usePopupState)({ variant: "popover" });
|
|
4554
4685
|
const { name: tagName = "" } = value;
|
|
4555
4686
|
const dynamicTag = useDynamicTag(tagName);
|
|
4556
4687
|
const removeDynamicTag = () => {
|
|
@@ -4559,76 +4690,77 @@ var DynamicSelectionControl = () => {
|
|
|
4559
4690
|
if (!dynamicTag) {
|
|
4560
4691
|
throw new Error(`Dynamic tag ${tagName} not found`);
|
|
4561
4692
|
}
|
|
4562
|
-
return /* @__PURE__ */
|
|
4563
|
-
|
|
4693
|
+
return /* @__PURE__ */ React91.createElement(import_ui47.Box, null, /* @__PURE__ */ React91.createElement(
|
|
4694
|
+
import_ui47.UnstableTag,
|
|
4564
4695
|
{
|
|
4565
4696
|
fullWidth: true,
|
|
4566
4697
|
showActionsOnHover: true,
|
|
4567
4698
|
label: dynamicTag.label,
|
|
4568
|
-
startIcon: /* @__PURE__ */
|
|
4569
|
-
...(0,
|
|
4570
|
-
actions: /* @__PURE__ */
|
|
4571
|
-
|
|
4699
|
+
startIcon: /* @__PURE__ */ React91.createElement(import_icons27.DatabaseIcon, { fontSize: SIZE7 }),
|
|
4700
|
+
...(0, import_ui47.bindTrigger)(selectionPopoverState),
|
|
4701
|
+
actions: /* @__PURE__ */ React91.createElement(React91.Fragment, null, /* @__PURE__ */ React91.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React91.createElement(
|
|
4702
|
+
import_ui47.IconButton,
|
|
4572
4703
|
{
|
|
4573
|
-
size:
|
|
4704
|
+
size: SIZE7,
|
|
4574
4705
|
onClick: removeDynamicTag,
|
|
4575
|
-
"aria-label": (0,
|
|
4706
|
+
"aria-label": (0, import_i18n61.__)("Remove dynamic value", "elementor")
|
|
4576
4707
|
},
|
|
4577
|
-
/* @__PURE__ */
|
|
4708
|
+
/* @__PURE__ */ React91.createElement(import_icons27.XIcon, { fontSize: SIZE7 })
|
|
4578
4709
|
))
|
|
4579
4710
|
}
|
|
4580
|
-
), /* @__PURE__ */
|
|
4581
|
-
|
|
4711
|
+
), /* @__PURE__ */ React91.createElement(
|
|
4712
|
+
import_ui47.Popover,
|
|
4582
4713
|
{
|
|
4583
4714
|
disablePortal: true,
|
|
4584
4715
|
disableScrollLock: true,
|
|
4585
|
-
anchorOrigin: { vertical: "bottom", horizontal: "
|
|
4586
|
-
|
|
4716
|
+
anchorOrigin: { vertical: "bottom", horizontal: "right" },
|
|
4717
|
+
transformOrigin: { vertical: "top", horizontal: "right" },
|
|
4718
|
+
PaperProps: {
|
|
4719
|
+
sx: { my: 1 }
|
|
4720
|
+
},
|
|
4721
|
+
...(0, import_ui47.bindPopover)(selectionPopoverState)
|
|
4587
4722
|
},
|
|
4588
|
-
/* @__PURE__ */
|
|
4589
|
-
import_editor_ui6.PopoverHeader,
|
|
4590
|
-
{
|
|
4591
|
-
title: (0, import_i18n57.__)("Dynamic tags", "elementor"),
|
|
4592
|
-
onClose: selectionPopoverState.close,
|
|
4593
|
-
icon: /* @__PURE__ */ React89.createElement(import_icons27.DatabaseIcon, { fontSize: SIZE8 })
|
|
4594
|
-
}
|
|
4595
|
-
), /* @__PURE__ */ React89.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
|
|
4723
|
+
/* @__PURE__ */ React91.createElement(import_ui47.Stack, null, /* @__PURE__ */ React91.createElement(DynamicSelection, { close: selectionPopoverState.close }))
|
|
4596
4724
|
));
|
|
4597
4725
|
};
|
|
4598
4726
|
var DynamicSettingsPopover = ({ dynamicTag }) => {
|
|
4599
|
-
const popupState = (0,
|
|
4727
|
+
const popupState = (0, import_ui47.usePopupState)({ variant: "popover" });
|
|
4600
4728
|
const hasDynamicSettings = !!dynamicTag.atomic_controls.length;
|
|
4601
4729
|
if (!hasDynamicSettings) {
|
|
4602
4730
|
return null;
|
|
4603
4731
|
}
|
|
4604
|
-
return /* @__PURE__ */
|
|
4605
|
-
|
|
4732
|
+
return /* @__PURE__ */ React91.createElement(React91.Fragment, null, /* @__PURE__ */ React91.createElement(import_ui47.IconButton, { size: SIZE7, ...(0, import_ui47.bindTrigger)(popupState), "aria-label": (0, import_i18n61.__)("Settings", "elementor") }, /* @__PURE__ */ React91.createElement(import_icons27.SettingsIcon, { fontSize: SIZE7 })), /* @__PURE__ */ React91.createElement(
|
|
4733
|
+
import_ui47.Popover,
|
|
4606
4734
|
{
|
|
4607
4735
|
disablePortal: true,
|
|
4608
4736
|
disableScrollLock: true,
|
|
4609
4737
|
anchorOrigin: { vertical: "bottom", horizontal: "center" },
|
|
4610
|
-
|
|
4738
|
+
PaperProps: {
|
|
4739
|
+
sx: { my: 0.5 }
|
|
4740
|
+
},
|
|
4741
|
+
...(0, import_ui47.bindPopover)(popupState)
|
|
4611
4742
|
},
|
|
4612
|
-
/* @__PURE__ */
|
|
4613
|
-
|
|
4743
|
+
/* @__PURE__ */ React91.createElement(
|
|
4744
|
+
import_editor_ui8.PopoverHeader,
|
|
4614
4745
|
{
|
|
4615
4746
|
title: dynamicTag.label,
|
|
4616
4747
|
onClose: popupState.close,
|
|
4617
|
-
icon: /* @__PURE__ */
|
|
4748
|
+
icon: /* @__PURE__ */ React91.createElement(import_icons27.DatabaseIcon, { fontSize: SIZE7 })
|
|
4618
4749
|
}
|
|
4619
|
-
),
|
|
4750
|
+
),
|
|
4751
|
+
/* @__PURE__ */ React91.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls })
|
|
4620
4752
|
));
|
|
4621
4753
|
};
|
|
4622
4754
|
var DynamicSettings = ({ controls }) => {
|
|
4623
4755
|
const tabs = controls.filter(({ type }) => type === "section");
|
|
4624
|
-
const { getTabsProps, getTabProps, getTabPanelProps } = (0,
|
|
4756
|
+
const { getTabsProps, getTabProps, getTabPanelProps } = (0, import_ui47.useTabs)(0);
|
|
4625
4757
|
if (!tabs.length) {
|
|
4626
4758
|
return null;
|
|
4627
4759
|
}
|
|
4628
|
-
return /* @__PURE__ */
|
|
4629
|
-
return /* @__PURE__ */
|
|
4760
|
+
return /* @__PURE__ */ React91.createElement(import_editor_ui8.PopoverScrollableContent, null, /* @__PURE__ */ React91.createElement(import_ui47.Tabs, { size: "small", variant: "fullWidth", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React91.createElement(import_ui47.Tab, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React91.createElement(import_ui47.Divider, null), tabs.map(({ value }, index) => {
|
|
4761
|
+
return /* @__PURE__ */ React91.createElement(import_ui47.TabPanel, { key: index, sx: { flexGrow: 1, py: 0 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React91.createElement(import_ui47.Stack, { p: 2, gap: 2 }, value.items.map((item) => {
|
|
4630
4762
|
if (item.type === "control") {
|
|
4631
|
-
return /* @__PURE__ */
|
|
4763
|
+
return /* @__PURE__ */ React91.createElement(Control3, { key: item.value.bind, control: item.value });
|
|
4632
4764
|
}
|
|
4633
4765
|
return null;
|
|
4634
4766
|
})));
|
|
@@ -4638,16 +4770,16 @@ var Control3 = ({ control }) => {
|
|
|
4638
4770
|
if (!getControl(control.type)) {
|
|
4639
4771
|
return null;
|
|
4640
4772
|
}
|
|
4641
|
-
return /* @__PURE__ */
|
|
4773
|
+
return /* @__PURE__ */ React91.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React91.createElement(import_ui47.Grid, { container: true, gap: 0.75 }, control.label ? /* @__PURE__ */ React91.createElement(import_ui47.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React91.createElement(import_editor_controls56.ControlFormLabel, null, control.label)) : null, /* @__PURE__ */ React91.createElement(import_ui47.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React91.createElement(Control, { type: control.type, props: control.props }))));
|
|
4642
4774
|
};
|
|
4643
4775
|
|
|
4644
4776
|
// src/dynamics/dynamic-transformer.ts
|
|
4645
4777
|
var import_editor_canvas3 = require("@elementor/editor-canvas");
|
|
4646
|
-
var
|
|
4778
|
+
var import_editor_props13 = require("@elementor/editor-props");
|
|
4647
4779
|
|
|
4648
4780
|
// src/dynamics/errors.ts
|
|
4649
|
-
var
|
|
4650
|
-
var DynamicTagsManagerNotFoundError = (0,
|
|
4781
|
+
var import_utils9 = require("@elementor/utils");
|
|
4782
|
+
var DynamicTagsManagerNotFoundError = (0, import_utils9.createError)({
|
|
4651
4783
|
code: "dynamic_tags_manager_not_found",
|
|
4652
4784
|
message: "Dynamic tags manager not found"
|
|
4653
4785
|
});
|
|
@@ -4661,7 +4793,7 @@ var dynamicTransformer = (0, import_editor_canvas3.createTransformer)((value) =>
|
|
|
4661
4793
|
});
|
|
4662
4794
|
function simpleTransform(props) {
|
|
4663
4795
|
const transformed = Object.entries(props).map(([settingKey, settingValue]) => {
|
|
4664
|
-
const value = (0,
|
|
4796
|
+
const value = (0, import_editor_props13.isTransformable)(settingValue) ? settingValue.value : settingValue;
|
|
4665
4797
|
return [settingKey, value];
|
|
4666
4798
|
});
|
|
4667
4799
|
return Object.fromEntries(transformed);
|
|
@@ -4691,18 +4823,18 @@ function getDynamicValue(name, settings) {
|
|
|
4691
4823
|
}
|
|
4692
4824
|
|
|
4693
4825
|
// src/dynamics/hooks/use-prop-dynamic-action.tsx
|
|
4694
|
-
var
|
|
4695
|
-
var
|
|
4826
|
+
var React92 = __toESM(require("react"));
|
|
4827
|
+
var import_editor_controls57 = require("@elementor/editor-controls");
|
|
4696
4828
|
var import_icons28 = require("@elementor/icons");
|
|
4697
|
-
var
|
|
4829
|
+
var import_i18n62 = require("@wordpress/i18n");
|
|
4698
4830
|
var usePropDynamicAction = () => {
|
|
4699
|
-
const { propType } = (0,
|
|
4831
|
+
const { propType } = (0, import_editor_controls57.useBoundProp)();
|
|
4700
4832
|
const visible = !!propType && supportsDynamic(propType);
|
|
4701
4833
|
return {
|
|
4702
4834
|
visible,
|
|
4703
4835
|
icon: import_icons28.DatabaseIcon,
|
|
4704
|
-
title: (0,
|
|
4705
|
-
|
|
4836
|
+
title: (0, import_i18n62.__)("Dynamic tags", "elementor"),
|
|
4837
|
+
content: ({ close }) => /* @__PURE__ */ React92.createElement(DynamicSelection, { close })
|
|
4706
4838
|
};
|
|
4707
4839
|
};
|
|
4708
4840
|
|
|
@@ -4713,12 +4845,12 @@ var init = () => {
|
|
|
4713
4845
|
component: DynamicSelectionControl,
|
|
4714
4846
|
condition: ({ value }) => isDynamicPropValue(value)
|
|
4715
4847
|
});
|
|
4716
|
-
(0,
|
|
4848
|
+
(0, import_editor_controls58.injectIntoRepeaterItemLabel)({
|
|
4717
4849
|
id: "dynamic-background-image",
|
|
4718
4850
|
condition: ({ value }) => isDynamicPropValue(value.value?.image?.value?.src),
|
|
4719
4851
|
component: BackgroundControlDynamicTagLabel
|
|
4720
4852
|
});
|
|
4721
|
-
(0,
|
|
4853
|
+
(0, import_editor_controls58.injectIntoRepeaterItemIcon)({
|
|
4722
4854
|
id: "dynamic-background-image",
|
|
4723
4855
|
condition: ({ value }) => isDynamicPropValue(value.value?.image?.value?.src),
|
|
4724
4856
|
component: BackgroundControlDynamicTagIcon
|
|
@@ -4732,9 +4864,9 @@ var init = () => {
|
|
|
4732
4864
|
};
|
|
4733
4865
|
|
|
4734
4866
|
// src/reset-style-props.tsx
|
|
4735
|
-
var
|
|
4867
|
+
var import_editor_controls59 = require("@elementor/editor-controls");
|
|
4736
4868
|
var import_icons29 = require("@elementor/icons");
|
|
4737
|
-
var
|
|
4869
|
+
var import_i18n63 = require("@wordpress/i18n");
|
|
4738
4870
|
var { registerAction } = controlActionsMenu;
|
|
4739
4871
|
function initResetStyleProps() {
|
|
4740
4872
|
registerAction({
|
|
@@ -4745,10 +4877,10 @@ function initResetStyleProps() {
|
|
|
4745
4877
|
var EXCLUDED_BINDS = ["order", "flex-grow", "flex-shrink", "flex-basis"];
|
|
4746
4878
|
function useResetStyleValueProps() {
|
|
4747
4879
|
const isStyle = useIsStyle();
|
|
4748
|
-
const { value, setValue, path, bind } = (0,
|
|
4880
|
+
const { value, setValue, path, bind } = (0, import_editor_controls59.useBoundProp)();
|
|
4749
4881
|
return {
|
|
4750
4882
|
visible: isStyle && value !== null && value !== void 0 && path.length <= 2 && !EXCLUDED_BINDS.includes(bind),
|
|
4751
|
-
title: (0,
|
|
4883
|
+
title: (0, import_i18n63.__)("Clear", "elementor"),
|
|
4752
4884
|
icon: import_icons29.BrushBigIcon,
|
|
4753
4885
|
onClick: () => setValue(null)
|
|
4754
4886
|
};
|
|
@@ -4758,36 +4890,36 @@ function useResetStyleValueProps() {
|
|
|
4758
4890
|
var import_editor_canvas9 = require("@elementor/editor-canvas");
|
|
4759
4891
|
|
|
4760
4892
|
// src/styles-inheritance/transformers/background-color-overlay-transformer.tsx
|
|
4761
|
-
var
|
|
4893
|
+
var React93 = __toESM(require("react"));
|
|
4762
4894
|
var import_editor_canvas5 = require("@elementor/editor-canvas");
|
|
4763
|
-
var
|
|
4764
|
-
var backgroundColorOverlayTransformer = (0, import_editor_canvas5.createTransformer)((value) => /* @__PURE__ */
|
|
4895
|
+
var import_ui48 = require("@elementor/ui");
|
|
4896
|
+
var backgroundColorOverlayTransformer = (0, import_editor_canvas5.createTransformer)((value) => /* @__PURE__ */ React93.createElement(import_ui48.Stack, { direction: "row", gap: 10 }, /* @__PURE__ */ React93.createElement(ItemIconColor, { value }), /* @__PURE__ */ React93.createElement(ItemLabelColor, { value })));
|
|
4765
4897
|
var ItemIconColor = ({ value }) => {
|
|
4766
4898
|
const { color } = value;
|
|
4767
|
-
return /* @__PURE__ */
|
|
4899
|
+
return /* @__PURE__ */ React93.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: color });
|
|
4768
4900
|
};
|
|
4769
4901
|
var ItemLabelColor = ({ value: { color } }) => {
|
|
4770
|
-
return /* @__PURE__ */
|
|
4902
|
+
return /* @__PURE__ */ React93.createElement("span", null, color);
|
|
4771
4903
|
};
|
|
4772
|
-
var StyledUnstableColorIndicator = (0,
|
|
4904
|
+
var StyledUnstableColorIndicator = (0, import_ui48.styled)(import_ui48.UnstableColorIndicator)(({ theme }) => ({
|
|
4773
4905
|
borderRadius: `${theme.shape.borderRadius / 2}px`
|
|
4774
4906
|
}));
|
|
4775
4907
|
|
|
4776
4908
|
// src/styles-inheritance/transformers/background-gradient-overlay-transformer.tsx
|
|
4777
|
-
var
|
|
4909
|
+
var React94 = __toESM(require("react"));
|
|
4778
4910
|
var import_editor_canvas6 = require("@elementor/editor-canvas");
|
|
4779
|
-
var
|
|
4780
|
-
var
|
|
4781
|
-
var backgroundGradientOverlayTransformer = (0, import_editor_canvas6.createTransformer)((value) => /* @__PURE__ */
|
|
4911
|
+
var import_ui49 = require("@elementor/ui");
|
|
4912
|
+
var import_i18n64 = require("@wordpress/i18n");
|
|
4913
|
+
var backgroundGradientOverlayTransformer = (0, import_editor_canvas6.createTransformer)((value) => /* @__PURE__ */ React94.createElement(import_ui49.Stack, { direction: "row", gap: 10 }, /* @__PURE__ */ React94.createElement(ItemIconGradient, { value }), /* @__PURE__ */ React94.createElement(ItemLabelGradient, { value })));
|
|
4782
4914
|
var ItemIconGradient = ({ value }) => {
|
|
4783
4915
|
const gradient = getGradientValue(value);
|
|
4784
|
-
return /* @__PURE__ */
|
|
4916
|
+
return /* @__PURE__ */ React94.createElement(StyledUnstableColorIndicator, { size: "inherit", component: "span", value: gradient });
|
|
4785
4917
|
};
|
|
4786
4918
|
var ItemLabelGradient = ({ value }) => {
|
|
4787
4919
|
if (value.type === "linear") {
|
|
4788
|
-
return /* @__PURE__ */
|
|
4920
|
+
return /* @__PURE__ */ React94.createElement("span", null, (0, import_i18n64.__)("Linear Gradient", "elementor"));
|
|
4789
4921
|
}
|
|
4790
|
-
return /* @__PURE__ */
|
|
4922
|
+
return /* @__PURE__ */ React94.createElement("span", null, (0, import_i18n64.__)("Radial Gradient", "elementor"));
|
|
4791
4923
|
};
|
|
4792
4924
|
var getGradientValue = (gradient) => {
|
|
4793
4925
|
const stops = gradient.stops?.map(({ color, offset }) => `${color} ${offset ?? 0}%`)?.join(",");
|
|
@@ -4798,16 +4930,16 @@ var getGradientValue = (gradient) => {
|
|
|
4798
4930
|
};
|
|
4799
4931
|
|
|
4800
4932
|
// src/styles-inheritance/transformers/background-image-overlay-transformer.tsx
|
|
4801
|
-
var
|
|
4933
|
+
var React95 = __toESM(require("react"));
|
|
4802
4934
|
var import_editor_canvas7 = require("@elementor/editor-canvas");
|
|
4803
|
-
var
|
|
4804
|
-
var
|
|
4935
|
+
var import_editor_ui9 = require("@elementor/editor-ui");
|
|
4936
|
+
var import_ui50 = require("@elementor/ui");
|
|
4805
4937
|
var import_wp_media = require("@elementor/wp-media");
|
|
4806
|
-
var backgroundImageOverlayTransformer = (0, import_editor_canvas7.createTransformer)((value) => /* @__PURE__ */
|
|
4938
|
+
var backgroundImageOverlayTransformer = (0, import_editor_canvas7.createTransformer)((value) => /* @__PURE__ */ React95.createElement(import_ui50.Stack, { direction: "row", gap: 10 }, /* @__PURE__ */ React95.createElement(ItemIconImage, { value }), /* @__PURE__ */ React95.createElement(ItemLabelImage, { value })));
|
|
4807
4939
|
var ItemIconImage = ({ value }) => {
|
|
4808
4940
|
const { imageUrl } = useImage(value);
|
|
4809
|
-
return /* @__PURE__ */
|
|
4810
|
-
|
|
4941
|
+
return /* @__PURE__ */ React95.createElement(
|
|
4942
|
+
import_ui50.CardMedia,
|
|
4811
4943
|
{
|
|
4812
4944
|
image: imageUrl,
|
|
4813
4945
|
sx: (theme) => ({
|
|
@@ -4821,7 +4953,7 @@ var ItemIconImage = ({ value }) => {
|
|
|
4821
4953
|
};
|
|
4822
4954
|
var ItemLabelImage = ({ value }) => {
|
|
4823
4955
|
const { imageTitle } = useImage(value);
|
|
4824
|
-
return /* @__PURE__ */
|
|
4956
|
+
return /* @__PURE__ */ React95.createElement(import_editor_ui9.EllipsisWithTooltip, { title: imageTitle }, /* @__PURE__ */ React95.createElement("span", null, imageTitle));
|
|
4825
4957
|
};
|
|
4826
4958
|
var useImage = (image) => {
|
|
4827
4959
|
let imageTitle, imageUrl = null;
|
|
@@ -4846,14 +4978,14 @@ var getFileExtensionFromFilename = (filename) => {
|
|
|
4846
4978
|
};
|
|
4847
4979
|
|
|
4848
4980
|
// src/styles-inheritance/transformers/background-overlay-transformer.tsx
|
|
4849
|
-
var
|
|
4981
|
+
var React96 = __toESM(require("react"));
|
|
4850
4982
|
var import_editor_canvas8 = require("@elementor/editor-canvas");
|
|
4851
|
-
var
|
|
4983
|
+
var import_ui51 = require("@elementor/ui");
|
|
4852
4984
|
var backgroundOverlayTransformer = (0, import_editor_canvas8.createTransformer)((values) => {
|
|
4853
4985
|
if (!values || values.length === 0) {
|
|
4854
4986
|
return null;
|
|
4855
4987
|
}
|
|
4856
|
-
return /* @__PURE__ */
|
|
4988
|
+
return /* @__PURE__ */ React96.createElement(import_ui51.Stack, { direction: "column" }, values.map((item, index) => /* @__PURE__ */ React96.createElement(import_ui51.Stack, { key: index }, item)));
|
|
4857
4989
|
});
|
|
4858
4990
|
|
|
4859
4991
|
// src/styles-inheritance/init-styles-inheritance-transformers.ts
|
|
@@ -4903,25 +5035,29 @@ function init3() {
|
|
|
4903
5035
|
});
|
|
4904
5036
|
init();
|
|
4905
5037
|
init2();
|
|
4906
|
-
if ((0,
|
|
5038
|
+
if ((0, import_editor_v1_adapters20.isExperimentActive)(EXPERIMENTAL_FEATURES.V_3_30)) {
|
|
4907
5039
|
initResetStyleProps();
|
|
4908
5040
|
}
|
|
4909
5041
|
}
|
|
4910
5042
|
var blockV1Panel = () => {
|
|
4911
|
-
(0,
|
|
5043
|
+
(0, import_editor_v1_adapters20.blockCommand)({
|
|
4912
5044
|
command: "panel/editor/open",
|
|
4913
5045
|
condition: isAtomicWidgetSelected
|
|
4914
5046
|
});
|
|
4915
5047
|
};
|
|
4916
5048
|
// Annotate the CommonJS export names for ESM import in node:
|
|
4917
5049
|
0 && (module.exports = {
|
|
5050
|
+
EXPERIMENTAL_FEATURES,
|
|
5051
|
+
PopoverScrollableContent,
|
|
4918
5052
|
controlActionsMenu,
|
|
4919
5053
|
init,
|
|
4920
5054
|
injectIntoClassSelectorActions,
|
|
4921
5055
|
registerControlReplacement,
|
|
5056
|
+
registerStyleProviderToColors,
|
|
4922
5057
|
useBoundProp,
|
|
4923
5058
|
useFontFamilies,
|
|
4924
5059
|
usePanelActions,
|
|
4925
|
-
usePanelStatus
|
|
5060
|
+
usePanelStatus,
|
|
5061
|
+
useSectionWidth
|
|
4926
5062
|
});
|
|
4927
5063
|
//# sourceMappingURL=index.js.map
|