@elementor/editor-editing-panel 1.17.0 → 1.18.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 +70 -0
- package/dist/index.js +692 -501
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +610 -419
- package/dist/index.mjs.map +1 -1
- package/package.json +13 -12
- package/src/components/css-classes/css-class-item.tsx +32 -10
- package/src/components/css-classes/css-class-menu.tsx +25 -9
- package/src/components/css-classes/css-class-selector.tsx +13 -7
- package/src/components/editing-panel-hooks.tsx +0 -2
- package/src/components/editing-panel.tsx +2 -2
- package/src/components/multi-combobox.tsx +9 -4
- package/src/components/style-sections/border-section/border-radius-field.tsx +6 -5
- package/src/components/style-sections/position-section/dimensions-field.tsx +2 -2
- package/src/components/style-sections/spacing-section/spacing-section.tsx +4 -4
- package/src/components/style-sections/typography-section/font-family-field.tsx +2 -46
- package/src/components/style-sections/typography-section/font-style-field.tsx +1 -1
- package/src/components/style-sections/typography-section/hooks/use-font-families.ts +52 -0
- package/src/components/style-sections/typography-section/text-decoration-field.tsx +40 -89
- package/src/components/style-tab.tsx +34 -33
- package/src/contexts/styles-inheritance-context.tsx +65 -0
- package/src/controls-registry/control.tsx +3 -1
- package/src/dynamics/components/dynamic-selection.tsx +111 -74
- package/src/init.ts +6 -0
- package/src/sync/types.ts +1 -1
- package/src/hooks/use-close-editor-panel.ts +0 -23
package/dist/index.mjs
CHANGED
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
useCreateActionsByProvider,
|
|
16
16
|
useProviders
|
|
17
17
|
} from "@elementor/editor-styles-repository";
|
|
18
|
+
import { MapPinIcon } from "@elementor/icons";
|
|
18
19
|
import { createLocation } from "@elementor/locations";
|
|
19
20
|
import { Chip as Chip2, Stack as Stack2, Typography as Typography2 } from "@elementor/ui";
|
|
20
21
|
import { __ as __3 } from "@wordpress/i18n";
|
|
@@ -109,7 +110,7 @@ import {
|
|
|
109
110
|
function MultiCombobox({
|
|
110
111
|
actions = [],
|
|
111
112
|
selected,
|
|
112
|
-
options:
|
|
113
|
+
options: options12,
|
|
113
114
|
onSelect,
|
|
114
115
|
...props
|
|
115
116
|
}) {
|
|
@@ -127,23 +128,23 @@ function MultiCombobox({
|
|
|
127
128
|
handleHomeEndKeys: true,
|
|
128
129
|
disabled: loading,
|
|
129
130
|
value: selected,
|
|
130
|
-
options:
|
|
131
|
+
options: options12,
|
|
131
132
|
renderGroup: (params) => /* @__PURE__ */ React4.createElement(Group, { ...params }),
|
|
132
133
|
renderInput: (params) => /* @__PURE__ */ React4.createElement(TextField, { ...params }),
|
|
133
134
|
onChange: (_, selectedOrInputValue, reason) => {
|
|
134
135
|
const inputValue = selectedOrInputValue.find((option) => typeof option === "string");
|
|
135
136
|
const optionsAndActions = selectedOrInputValue.filter((option) => typeof option !== "string");
|
|
136
137
|
if (reason === "createOption") {
|
|
137
|
-
const [firstAction] = filterActions(actions, { options:
|
|
138
|
-
if (firstAction) {
|
|
138
|
+
const [firstAction] = filterActions(actions, { options: options12, inputValue: inputValue ?? "" });
|
|
139
|
+
if (firstAction.value) {
|
|
139
140
|
return run(firstAction.apply, firstAction.value);
|
|
140
141
|
}
|
|
141
142
|
}
|
|
142
143
|
const action = optionsAndActions.find((value) => isAction(value));
|
|
143
|
-
if (reason === "selectOption" && action) {
|
|
144
|
+
if (reason === "selectOption" && action?.value) {
|
|
144
145
|
return run(action.apply, action.value);
|
|
145
146
|
}
|
|
146
|
-
const fixedValues =
|
|
147
|
+
const fixedValues = options12.filter((option) => !!option.fixed);
|
|
147
148
|
onSelect?.([.../* @__PURE__ */ new Set([...optionsAndActions, ...fixedValues])]);
|
|
148
149
|
},
|
|
149
150
|
getOptionLabel: (option) => typeof option === "string" ? option : option.label,
|
|
@@ -151,7 +152,7 @@ function MultiCombobox({
|
|
|
151
152
|
if (typeof option === "string") {
|
|
152
153
|
return option;
|
|
153
154
|
}
|
|
154
|
-
return option.key ?? option.value;
|
|
155
|
+
return option.key ?? option.value ?? option.label;
|
|
155
156
|
},
|
|
156
157
|
filterOptions: (optionList, params) => {
|
|
157
158
|
const selectedValues = selected.map((option) => option.value);
|
|
@@ -163,7 +164,8 @@ function MultiCombobox({
|
|
|
163
164
|
)
|
|
164
165
|
];
|
|
165
166
|
},
|
|
166
|
-
groupBy: (option) => option.group ?? ""
|
|
167
|
+
groupBy: (option) => option.group ?? "",
|
|
168
|
+
renderOption: (optionProps, { label }) => /* @__PURE__ */ React4.createElement("li", { ...optionProps, style: { display: "block", textOverflow: "ellipsis" } }, label)
|
|
167
169
|
}
|
|
168
170
|
);
|
|
169
171
|
}
|
|
@@ -200,8 +202,8 @@ function useActionRunner() {
|
|
|
200
202
|
};
|
|
201
203
|
return { run, loading };
|
|
202
204
|
}
|
|
203
|
-
function filterActions(actions, { options:
|
|
204
|
-
return actions.filter((action) => action.condition(
|
|
205
|
+
function filterActions(actions, { options: options12, inputValue }) {
|
|
206
|
+
return actions.filter((action) => action.condition(options12, inputValue)).map((action, index) => ({
|
|
205
207
|
label: action.label(inputValue),
|
|
206
208
|
value: inputValue,
|
|
207
209
|
group: action.group,
|
|
@@ -282,8 +284,9 @@ function CssClassMenu({ styleId, provider, popupState, handleRename, anchorEl })
|
|
|
282
284
|
},
|
|
283
285
|
getMenuItemsByProvider({ provider, styleId, handleRename, closeMenu: popupState.close }),
|
|
284
286
|
/* @__PURE__ */ React5.createElement(ListSubheader, { sx: { typography: "caption", color: "text.secondary", pb: 0.5, pt: 1 } }, __("Pseudo classes", "elementor")),
|
|
287
|
+
/* @__PURE__ */ React5.createElement(StateMenuItem, { key: "normal", state: null, styleId, closeMenu: popupState.close }),
|
|
285
288
|
STATES.map((state) => {
|
|
286
|
-
return /* @__PURE__ */ React5.createElement(StateMenuItem, { key: state, state, styleId });
|
|
289
|
+
return /* @__PURE__ */ React5.createElement(StateMenuItem, { key: state, state, styleId, closeMenu: popupState.close });
|
|
287
290
|
})
|
|
288
291
|
);
|
|
289
292
|
}
|
|
@@ -293,12 +296,15 @@ function getMenuItemsByProvider({
|
|
|
293
296
|
handleRename,
|
|
294
297
|
closeMenu
|
|
295
298
|
}) {
|
|
299
|
+
if (!styleId) {
|
|
300
|
+
return [];
|
|
301
|
+
}
|
|
296
302
|
const providerInstance = stylesRepository2.getProviderByKey(provider);
|
|
297
303
|
const providerActions = providerInstance?.actions;
|
|
298
304
|
const [canUpdate, canDelete] = [providerActions?.update, providerActions?.delete];
|
|
299
305
|
const actions = [
|
|
300
306
|
canUpdate && /* @__PURE__ */ React5.createElement(RenameClassMenuItem, { key: "rename-class", handleRename, closeMenu }),
|
|
301
|
-
canDelete && /* @__PURE__ */ React5.createElement(UnapplyClassMenuItem, { key: "unapply-class", styleId })
|
|
307
|
+
canDelete && /* @__PURE__ */ React5.createElement(UnapplyClassMenuItem, { key: "unapply-class", styleId, closeMenu })
|
|
302
308
|
].filter(Boolean);
|
|
303
309
|
if (actions.length) {
|
|
304
310
|
actions.unshift(
|
|
@@ -315,7 +321,7 @@ function getMenuItemsByProvider({
|
|
|
315
321
|
}
|
|
316
322
|
return actions;
|
|
317
323
|
}
|
|
318
|
-
function StateMenuItem({ state, styleId, ...props }) {
|
|
324
|
+
function StateMenuItem({ state, styleId, closeMenu, ...props }) {
|
|
319
325
|
const { id: activeId, setId: setActiveId, setMetaState: setActiveMetaState, meta } = useStyle();
|
|
320
326
|
const { state: activeState } = meta;
|
|
321
327
|
const isActive = styleId === activeId;
|
|
@@ -331,14 +337,25 @@ function StateMenuItem({ state, styleId, ...props }) {
|
|
|
331
337
|
setActiveId(styleId);
|
|
332
338
|
}
|
|
333
339
|
setActiveMetaState(state);
|
|
340
|
+
closeMenu();
|
|
334
341
|
}
|
|
335
342
|
},
|
|
336
|
-
state
|
|
343
|
+
state ? state : "Normal"
|
|
337
344
|
);
|
|
338
345
|
}
|
|
339
|
-
function UnapplyClassMenuItem({ styleId, ...props }) {
|
|
346
|
+
function UnapplyClassMenuItem({ styleId, closeMenu, ...props }) {
|
|
340
347
|
const unapplyClass = useUnapplyClass(styleId);
|
|
341
|
-
return /* @__PURE__ */ React5.createElement(
|
|
348
|
+
return /* @__PURE__ */ React5.createElement(
|
|
349
|
+
StyledMenuItem,
|
|
350
|
+
{
|
|
351
|
+
...props,
|
|
352
|
+
onClick: () => {
|
|
353
|
+
unapplyClass();
|
|
354
|
+
closeMenu();
|
|
355
|
+
}
|
|
356
|
+
},
|
|
357
|
+
__("Remove", "elementor")
|
|
358
|
+
);
|
|
342
359
|
}
|
|
343
360
|
function RenameClassMenuItem({
|
|
344
361
|
handleRename,
|
|
@@ -367,11 +384,12 @@ function CssClassItem({
|
|
|
367
384
|
provider,
|
|
368
385
|
isActive,
|
|
369
386
|
color: colorProp,
|
|
387
|
+
icon,
|
|
370
388
|
chipProps,
|
|
371
389
|
onClickActive,
|
|
372
390
|
renameLabel
|
|
373
391
|
}) {
|
|
374
|
-
const { meta } = useStyle();
|
|
392
|
+
const { meta, setMetaState } = useStyle();
|
|
375
393
|
const popupState = usePopupState({ variant: "popover" });
|
|
376
394
|
const [chipRef, setChipRef] = useState2(null);
|
|
377
395
|
const { onDelete, ...chipGroupProps } = chipProps;
|
|
@@ -389,21 +407,30 @@ function CssClassItem({
|
|
|
389
407
|
const color = error ? "error" : colorProp;
|
|
390
408
|
const providerActions = stylesRepository3.getProviderByKey(provider)?.actions;
|
|
391
409
|
const allowRename = Boolean(providerActions?.update);
|
|
410
|
+
const isShowingState = isActive && meta.state;
|
|
392
411
|
return /* @__PURE__ */ React6.createElement(React6.Fragment, null, /* @__PURE__ */ React6.createElement(UnstableChipGroup, { ref: setChipRef, ...chipGroupProps, "aria-label": `Edit ${label}`, role: "group" }, /* @__PURE__ */ React6.createElement(
|
|
393
412
|
Chip,
|
|
394
413
|
{
|
|
395
414
|
size: CHIP_SIZE,
|
|
396
415
|
label: isEditing ? /* @__PURE__ */ React6.createElement(EditableField, { ref, error, ...getEditableProps() }) : /* @__PURE__ */ React6.createElement(EllipsisWithTooltip, { maxWidth: "10ch", title: label, as: "div" }),
|
|
397
|
-
variant: isActive && !meta.state ? "filled" : "standard",
|
|
416
|
+
variant: isActive && !meta.state && !isEditing ? "filled" : "standard",
|
|
417
|
+
shape: "rounded",
|
|
418
|
+
icon,
|
|
398
419
|
color,
|
|
399
420
|
onClick: () => {
|
|
400
|
-
if (
|
|
421
|
+
if (isShowingState) {
|
|
422
|
+
setMetaState(null);
|
|
423
|
+
return;
|
|
424
|
+
}
|
|
425
|
+
if (allowRename && isActive) {
|
|
401
426
|
openEditMode();
|
|
427
|
+
return;
|
|
402
428
|
}
|
|
403
429
|
onClickActive(id);
|
|
404
430
|
},
|
|
405
431
|
"aria-pressed": isActive,
|
|
406
432
|
sx: {
|
|
433
|
+
cursor: isActive && allowRename && !isShowingState ? "text" : "pointer",
|
|
407
434
|
"&.Mui-focusVisible": {
|
|
408
435
|
boxShadow: "none !important"
|
|
409
436
|
}
|
|
@@ -412,12 +439,19 @@ function CssClassItem({
|
|
|
412
439
|
), !isEditing && /* @__PURE__ */ React6.createElement(
|
|
413
440
|
Chip,
|
|
414
441
|
{
|
|
442
|
+
icon: isShowingState ? void 0 : /* @__PURE__ */ React6.createElement(DotsVerticalIcon, { fontSize: "tiny" }),
|
|
415
443
|
size: CHIP_SIZE,
|
|
416
|
-
label: /* @__PURE__ */ React6.createElement(Stack, { direction: "row", gap: 0.5, alignItems: "center" },
|
|
444
|
+
label: isShowingState ? /* @__PURE__ */ React6.createElement(Stack, { direction: "row", gap: 0.5, alignItems: "center" }, /* @__PURE__ */ React6.createElement(Typography, { variant: "inherit" }, meta.state), /* @__PURE__ */ React6.createElement(DotsVerticalIcon, { fontSize: "tiny" })) : void 0,
|
|
417
445
|
variant: "filled",
|
|
446
|
+
shape: "rounded",
|
|
418
447
|
color,
|
|
419
448
|
...bindTrigger(popupState),
|
|
420
|
-
"aria-label": __2("Open CSS Class Menu", "elementor")
|
|
449
|
+
"aria-label": __2("Open CSS Class Menu", "elementor"),
|
|
450
|
+
sx: {
|
|
451
|
+
paddingRight: 0,
|
|
452
|
+
...!isShowingState ? { paddingLeft: 0 } : {},
|
|
453
|
+
".MuiChip-label": isShowingState ? { paddingRight: 0 } : { padding: 0 }
|
|
454
|
+
}
|
|
421
455
|
}
|
|
422
456
|
)), /* @__PURE__ */ React6.createElement(
|
|
423
457
|
CssClassMenu,
|
|
@@ -442,29 +476,30 @@ var validateLabel = (newLabel) => {
|
|
|
442
476
|
|
|
443
477
|
// src/components/css-classes/css-class-selector.tsx
|
|
444
478
|
var ID = "elementor-css-class-selector";
|
|
445
|
-
var TAGS_LIMIT =
|
|
479
|
+
var TAGS_LIMIT = 50;
|
|
446
480
|
var EMPTY_OPTION = {
|
|
447
481
|
label: __3("local", "elementor"),
|
|
448
|
-
value:
|
|
482
|
+
value: null,
|
|
449
483
|
fixed: true,
|
|
450
484
|
color: "primary",
|
|
485
|
+
icon: /* @__PURE__ */ React7.createElement(MapPinIcon, null),
|
|
451
486
|
provider: ELEMENTS_STYLES_PROVIDER_KEY
|
|
452
487
|
};
|
|
453
488
|
var { Slot: ClassSelectorActionsSlot, inject: injectIntoClassSelectorActions } = createLocation();
|
|
454
489
|
function CssClassSelector() {
|
|
455
|
-
const
|
|
490
|
+
const options12 = useOptions();
|
|
456
491
|
const { value: appliedIds, setValue: setAppliedIds, pushValue: pushAppliedId } = useAppliedClassesIds();
|
|
457
492
|
const { id: activeId, setId: setActiveId } = useStyle();
|
|
458
493
|
const actions = useCreateActions({ pushAppliedId, setActiveId });
|
|
459
494
|
const handleApply = useHandleApply(appliedIds, setAppliedIds);
|
|
460
|
-
const applied = useAppliedOptions(
|
|
495
|
+
const applied = useAppliedOptions(options12, appliedIds);
|
|
461
496
|
const active = applied.find((option) => option.value === activeId) ?? EMPTY_OPTION;
|
|
462
497
|
return /* @__PURE__ */ React7.createElement(Stack2, { gap: 1, p: 2 }, /* @__PURE__ */ React7.createElement(Stack2, { direction: "row", gap: 1, alignItems: "center", justifyContent: "space-between" }, /* @__PURE__ */ React7.createElement(Typography2, { component: "label", variant: "caption", htmlFor: ID }, __3("CSS classes", "elementor")), /* @__PURE__ */ React7.createElement(Stack2, { direction: "row", gap: 1 }, /* @__PURE__ */ React7.createElement(ClassSelectorActionsSlot, null))), /* @__PURE__ */ React7.createElement(
|
|
463
498
|
MultiCombobox,
|
|
464
499
|
{
|
|
465
500
|
id: ID,
|
|
466
501
|
size: "tiny",
|
|
467
|
-
options:
|
|
502
|
+
options: options12,
|
|
468
503
|
selected: applied,
|
|
469
504
|
onSelect: handleApply,
|
|
470
505
|
limitTags: TAGS_LIMIT,
|
|
@@ -473,8 +508,10 @@ function CssClassSelector() {
|
|
|
473
508
|
renderTags: (values, getTagProps) => values.map((value, index) => {
|
|
474
509
|
const chipProps = getTagProps({ index });
|
|
475
510
|
const isActive = value.value === active?.value;
|
|
476
|
-
const isElementsProvider = value.provider === ELEMENTS_STYLES_PROVIDER_KEY;
|
|
477
511
|
const renameLabel = (newLabel) => {
|
|
512
|
+
if (!value.value) {
|
|
513
|
+
throw new Error(`Cannot rename a class without style id`);
|
|
514
|
+
}
|
|
478
515
|
return updateClassByProvider(value.provider, { label: newLabel, id: value.value });
|
|
479
516
|
};
|
|
480
517
|
return /* @__PURE__ */ React7.createElement(
|
|
@@ -486,8 +523,9 @@ function CssClassSelector() {
|
|
|
486
523
|
id: value.value,
|
|
487
524
|
isActive,
|
|
488
525
|
color: isActive && value.color ? value.color : "default",
|
|
526
|
+
icon: value.icon,
|
|
489
527
|
chipProps,
|
|
490
|
-
onClickActive: () => setActiveId(
|
|
528
|
+
onClickActive: () => setActiveId(value.value),
|
|
491
529
|
renameLabel
|
|
492
530
|
}
|
|
493
531
|
);
|
|
@@ -517,6 +555,7 @@ function useOptions() {
|
|
|
517
555
|
value: styleDef.id,
|
|
518
556
|
fixed: isElements,
|
|
519
557
|
color: isElements ? "primary" : "global",
|
|
558
|
+
icon: isElements ? /* @__PURE__ */ React7.createElement(MapPinIcon, null) : null,
|
|
520
559
|
provider: provider.key,
|
|
521
560
|
group: provider.labels?.plural
|
|
522
561
|
};
|
|
@@ -545,8 +584,8 @@ function useCreateActions({
|
|
|
545
584
|
};
|
|
546
585
|
});
|
|
547
586
|
}
|
|
548
|
-
function useAppliedOptions(
|
|
549
|
-
const applied =
|
|
587
|
+
function useAppliedOptions(options12, appliedIds) {
|
|
588
|
+
const applied = options12.filter((option) => option.value && appliedIds.includes(option.value));
|
|
550
589
|
const hasElementsProviderStyleApplied = applied.some(
|
|
551
590
|
(option) => option.provider === ELEMENTS_STYLES_PROVIDER_KEY
|
|
552
591
|
);
|
|
@@ -602,14 +641,14 @@ function useHandleApply(appliedIds, setAppliedIds) {
|
|
|
602
641
|
import { __createPanel as createPanel } from "@elementor/editor-panels";
|
|
603
642
|
|
|
604
643
|
// src/components/editing-panel.tsx
|
|
605
|
-
import * as
|
|
644
|
+
import * as React64 from "react";
|
|
606
645
|
import { ControlActionsProvider, ControlReplacementProvider } from "@elementor/editor-controls";
|
|
607
646
|
import { useSelectedElement } from "@elementor/editor-elements";
|
|
608
647
|
import { Panel, PanelBody, PanelHeader, PanelHeaderTitle } from "@elementor/editor-panels";
|
|
609
|
-
import {
|
|
648
|
+
import { AtomIcon } from "@elementor/icons";
|
|
610
649
|
import { SessionStorageProvider as SessionStorageProvider3 } from "@elementor/session";
|
|
611
650
|
import { ErrorBoundary } from "@elementor/ui";
|
|
612
|
-
import { __ as
|
|
651
|
+
import { __ as __43 } from "@wordpress/i18n";
|
|
613
652
|
|
|
614
653
|
// src/controls-actions.ts
|
|
615
654
|
import { createMenu } from "@elementor/menus";
|
|
@@ -665,10 +704,10 @@ function EditorPanelErrorFallback() {
|
|
|
665
704
|
}
|
|
666
705
|
|
|
667
706
|
// src/components/editing-panel-tabs.tsx
|
|
668
|
-
import * as
|
|
707
|
+
import * as React63 from "react";
|
|
669
708
|
import { Fragment as Fragment8 } from "react";
|
|
670
709
|
import { Divider as Divider5, Stack as Stack13, Tab, TabPanel, Tabs, useTabs } from "@elementor/ui";
|
|
671
|
-
import { __ as
|
|
710
|
+
import { __ as __42 } from "@wordpress/i18n";
|
|
672
711
|
|
|
673
712
|
// src/components/settings-tab.tsx
|
|
674
713
|
import * as React15 from "react";
|
|
@@ -705,12 +744,13 @@ var getLayoutByType = (type) => controlTypes[type].layout;
|
|
|
705
744
|
// src/controls-registry/control.tsx
|
|
706
745
|
var Control = ({ props, type }) => {
|
|
707
746
|
const ControlByType = getControlByType(type);
|
|
747
|
+
const { element } = useElement();
|
|
708
748
|
if (!ControlByType) {
|
|
709
749
|
throw new ControlTypeNotFoundError({
|
|
710
750
|
context: { controlType: type }
|
|
711
751
|
});
|
|
712
752
|
}
|
|
713
|
-
return /* @__PURE__ */ React10.createElement(ControlByType, { ...props });
|
|
753
|
+
return /* @__PURE__ */ React10.createElement(ControlByType, { ...props, context: { elementId: element.id } });
|
|
714
754
|
};
|
|
715
755
|
|
|
716
756
|
// src/controls-registry/control-type-container.tsx
|
|
@@ -839,20 +879,194 @@ var Control2 = ({ control }) => {
|
|
|
839
879
|
};
|
|
840
880
|
|
|
841
881
|
// src/components/style-tab.tsx
|
|
842
|
-
import * as
|
|
882
|
+
import * as React62 from "react";
|
|
843
883
|
import { useState as useState7 } from "react";
|
|
844
|
-
import { useElementSetting as
|
|
884
|
+
import { getElementStyles, useElementSetting as useElementSetting5 } from "@elementor/editor-elements";
|
|
885
|
+
import { CLASSES_PROP_KEY } from "@elementor/editor-props";
|
|
845
886
|
import { useActiveBreakpoint } from "@elementor/editor-responsive";
|
|
846
887
|
import { SessionStorageProvider as SessionStorageProvider2 } from "@elementor/session";
|
|
847
888
|
import { Divider as Divider4 } from "@elementor/ui";
|
|
848
|
-
import { __ as
|
|
889
|
+
import { __ as __41 } from "@wordpress/i18n";
|
|
890
|
+
|
|
891
|
+
// src/contexts/styles-inheritance-context.tsx
|
|
892
|
+
import * as React16 from "react";
|
|
893
|
+
import { createContext as createContext4, useContext as useContext4 } from "react";
|
|
894
|
+
import { useElementSetting as useElementSetting4 } from "@elementor/editor-elements";
|
|
895
|
+
import { classesPropTypeUtil as classesPropTypeUtil2 } from "@elementor/editor-props";
|
|
896
|
+
import { getBreakpointsTree } from "@elementor/editor-responsive";
|
|
897
|
+
import { stylesRepository as stylesRepository5 } from "@elementor/editor-styles-repository";
|
|
898
|
+
|
|
899
|
+
// src/styles-inheritance/utils.ts
|
|
900
|
+
var DEFAULT_STATE = "normal";
|
|
901
|
+
var DEFAULT_BREAKPOINT = "desktop";
|
|
902
|
+
var getStateKey = (state) => state ?? DEFAULT_STATE;
|
|
903
|
+
var getBreakpointKey = (breakpoint) => breakpoint ?? DEFAULT_BREAKPOINT;
|
|
904
|
+
|
|
905
|
+
// src/styles-inheritance/create-snapshots-manager.ts
|
|
906
|
+
function createSnapshotsManager(getStylesByMeta, breakpointsRoot) {
|
|
907
|
+
const breakpointsInheritancePaths = makeBreakpointsInheritancePaths(breakpointsRoot);
|
|
908
|
+
const allBreakpointStatesSnapshots = {};
|
|
909
|
+
const buildMissingSnapshotsForBreakpoint = (currentBreakpointId, parentBreakpoint, state) => {
|
|
910
|
+
const currentBreakpointKey = getBreakpointKey(currentBreakpointId);
|
|
911
|
+
const stateKey = getStateKey(state);
|
|
912
|
+
if (!allBreakpointStatesSnapshots[currentBreakpointKey]) {
|
|
913
|
+
allBreakpointStatesSnapshots[currentBreakpointKey] = {
|
|
914
|
+
[DEFAULT_STATE]: buildStateSnapshotSlot(
|
|
915
|
+
getStylesByMeta({ breakpoint: currentBreakpointId, state: null }),
|
|
916
|
+
parentBreakpoint,
|
|
917
|
+
{},
|
|
918
|
+
null
|
|
919
|
+
)
|
|
920
|
+
};
|
|
921
|
+
}
|
|
922
|
+
if (state && !allBreakpointStatesSnapshots[currentBreakpointKey][stateKey]) {
|
|
923
|
+
allBreakpointStatesSnapshots[currentBreakpointKey][stateKey] = buildStateSnapshotSlot(
|
|
924
|
+
getStylesByMeta({ breakpoint: currentBreakpointId, state }),
|
|
925
|
+
parentBreakpoint,
|
|
926
|
+
allBreakpointStatesSnapshots[currentBreakpointKey],
|
|
927
|
+
state
|
|
928
|
+
);
|
|
929
|
+
}
|
|
930
|
+
};
|
|
931
|
+
return (meta) => {
|
|
932
|
+
const { breakpoint, state } = meta;
|
|
933
|
+
const stateKey = getStateKey(state);
|
|
934
|
+
const breakpointKey = getBreakpointKey(breakpoint);
|
|
935
|
+
if (allBreakpointStatesSnapshots[breakpointKey]?.[stateKey]) {
|
|
936
|
+
return allBreakpointStatesSnapshots[breakpointKey][stateKey].snapshot;
|
|
937
|
+
}
|
|
938
|
+
const breakpointsChain = [...breakpointsInheritancePaths[breakpointKey], breakpoint];
|
|
939
|
+
breakpointsChain.forEach((breakpointId, index) => {
|
|
940
|
+
const parentBreakpointId = index > 0 ? breakpointsChain[index - 1] : null;
|
|
941
|
+
buildMissingSnapshotsForBreakpoint(
|
|
942
|
+
breakpointId,
|
|
943
|
+
parentBreakpointId ? allBreakpointStatesSnapshots[parentBreakpointId] : void 0,
|
|
944
|
+
state
|
|
945
|
+
);
|
|
946
|
+
});
|
|
947
|
+
return allBreakpointStatesSnapshots[breakpointKey]?.[stateKey]?.snapshot;
|
|
948
|
+
};
|
|
949
|
+
}
|
|
950
|
+
function makeBreakpointsInheritancePaths(root) {
|
|
951
|
+
const breakpoints = {};
|
|
952
|
+
const traverse = (node, parent) => {
|
|
953
|
+
const { id, children } = node;
|
|
954
|
+
breakpoints[id] = parent ? [...parent] : [];
|
|
955
|
+
children?.forEach((child) => {
|
|
956
|
+
traverse(child, [...breakpoints[id] ?? [], id]);
|
|
957
|
+
});
|
|
958
|
+
};
|
|
959
|
+
traverse(root);
|
|
960
|
+
return breakpoints;
|
|
961
|
+
}
|
|
962
|
+
function buildStateSnapshotSlot(styles, parentBreakpoint, currentBreakpoint, state) {
|
|
963
|
+
const initialSlot = buildInitialSnapshotFromStyles(styles);
|
|
964
|
+
if (!state) {
|
|
965
|
+
return {
|
|
966
|
+
snapshot: mergeSnapshots([initialSlot.snapshot, parentBreakpoint?.[DEFAULT_STATE]?.snapshot]),
|
|
967
|
+
stateSpecificSnapshot: void 0
|
|
968
|
+
};
|
|
969
|
+
}
|
|
970
|
+
return {
|
|
971
|
+
snapshot: mergeSnapshots([
|
|
972
|
+
initialSlot.snapshot,
|
|
973
|
+
parentBreakpoint?.[state]?.stateSpecificSnapshot,
|
|
974
|
+
currentBreakpoint[DEFAULT_STATE]?.snapshot
|
|
975
|
+
]),
|
|
976
|
+
stateSpecificSnapshot: mergeSnapshots([
|
|
977
|
+
initialSlot.stateSpecificSnapshot,
|
|
978
|
+
parentBreakpoint?.[state]?.stateSpecificSnapshot
|
|
979
|
+
])
|
|
980
|
+
};
|
|
981
|
+
}
|
|
982
|
+
function buildInitialSnapshotFromStyles(styles) {
|
|
983
|
+
const snapshot = {};
|
|
984
|
+
styles.forEach((styleVariantWithId) => {
|
|
985
|
+
const {
|
|
986
|
+
styleVariant: { props }
|
|
987
|
+
} = styleVariantWithId;
|
|
988
|
+
Object.entries(props).forEach(([key, value]) => {
|
|
989
|
+
if (!snapshot[key]) {
|
|
990
|
+
snapshot[key] = [];
|
|
991
|
+
}
|
|
992
|
+
const snapshotPropValue = {
|
|
993
|
+
...styleVariantWithId,
|
|
994
|
+
value
|
|
995
|
+
};
|
|
996
|
+
snapshot[key].push(snapshotPropValue);
|
|
997
|
+
});
|
|
998
|
+
});
|
|
999
|
+
return {
|
|
1000
|
+
snapshot,
|
|
1001
|
+
stateSpecificSnapshot: snapshot
|
|
1002
|
+
};
|
|
1003
|
+
}
|
|
1004
|
+
function mergeSnapshots(snapshots) {
|
|
1005
|
+
const snapshot = {};
|
|
1006
|
+
snapshots.filter(Boolean).forEach(
|
|
1007
|
+
(currentSnapshot) => Object.entries(currentSnapshot).forEach(([key, values]) => {
|
|
1008
|
+
if (!snapshot[key]) {
|
|
1009
|
+
snapshot[key] = [];
|
|
1010
|
+
}
|
|
1011
|
+
snapshot[key] = snapshot[key].concat(values);
|
|
1012
|
+
})
|
|
1013
|
+
);
|
|
1014
|
+
return snapshot;
|
|
1015
|
+
}
|
|
1016
|
+
|
|
1017
|
+
// src/styles-inheritance/create-styles-inheritance.ts
|
|
1018
|
+
function createStylesInheritance(styleDefs, breakpointsRoot) {
|
|
1019
|
+
const styleVariantsByMeta = buildStyleVariantsByMetaMapping(styleDefs);
|
|
1020
|
+
const getStyles = ({ breakpoint, state }) => styleVariantsByMeta?.[getBreakpointKey(breakpoint)]?.[getStateKey(state)] ?? [];
|
|
1021
|
+
return createSnapshotsManager(getStyles, breakpointsRoot);
|
|
1022
|
+
}
|
|
1023
|
+
function buildStyleVariantsByMetaMapping(styleDefs) {
|
|
1024
|
+
const breakpointStateSlots = {};
|
|
1025
|
+
styleDefs.forEach((styleDef) => {
|
|
1026
|
+
styleDef.variants.forEach((styleVariant) => {
|
|
1027
|
+
const { meta } = styleVariant;
|
|
1028
|
+
const { state, breakpoint } = meta;
|
|
1029
|
+
const breakpointKey = getBreakpointKey(breakpoint);
|
|
1030
|
+
const stateKey = getStateKey(state);
|
|
1031
|
+
if (!breakpointStateSlots[breakpointKey]) {
|
|
1032
|
+
breakpointStateSlots[breakpointKey] = {};
|
|
1033
|
+
}
|
|
1034
|
+
const breakpointNode = breakpointStateSlots[breakpointKey];
|
|
1035
|
+
if (!breakpointNode[stateKey]) {
|
|
1036
|
+
breakpointNode[stateKey] = [];
|
|
1037
|
+
}
|
|
1038
|
+
breakpointNode[stateKey].push({
|
|
1039
|
+
styleId: styleDef.id,
|
|
1040
|
+
styleVariant
|
|
1041
|
+
});
|
|
1042
|
+
});
|
|
1043
|
+
});
|
|
1044
|
+
return breakpointStateSlots;
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
// src/contexts/styles-inheritance-context.tsx
|
|
1048
|
+
var Context4 = createContext4(null);
|
|
1049
|
+
function StyleInheritanceProvider({ children }) {
|
|
1050
|
+
const styleDefs = useAppliedStyles();
|
|
1051
|
+
const breakpointsTree = getBreakpointsTree();
|
|
1052
|
+
const getSnapshot = createStylesInheritance(styleDefs, breakpointsTree);
|
|
1053
|
+
return /* @__PURE__ */ React16.createElement(Context4.Provider, { value: { getSnapshot } }, children);
|
|
1054
|
+
}
|
|
1055
|
+
var useAppliedStyles = () => {
|
|
1056
|
+
const { element } = useElement();
|
|
1057
|
+
const currentClassesProp = useClassesProp();
|
|
1058
|
+
const classesProp = useElementSetting4(element.id, currentClassesProp);
|
|
1059
|
+
const appliedStyles = classesPropTypeUtil2.extract(classesProp);
|
|
1060
|
+
const allStyles = stylesRepository5.all();
|
|
1061
|
+
return allStyles.filter((style) => appliedStyles?.includes(style.id));
|
|
1062
|
+
};
|
|
849
1063
|
|
|
850
1064
|
// src/components/style-sections/background-section/background-section.tsx
|
|
851
|
-
import * as
|
|
1065
|
+
import * as React18 from "react";
|
|
852
1066
|
import { BackgroundControl } from "@elementor/editor-controls";
|
|
853
1067
|
|
|
854
1068
|
// src/controls-registry/styles-field.tsx
|
|
855
|
-
import * as
|
|
1069
|
+
import * as React17 from "react";
|
|
856
1070
|
import { PropKeyProvider as PropKeyProvider2, PropProvider as PropProvider2 } from "@elementor/editor-controls";
|
|
857
1071
|
import { getStylesSchema } from "@elementor/editor-styles";
|
|
858
1072
|
|
|
@@ -1006,39 +1220,39 @@ var StylesField = ({ bind, children }) => {
|
|
|
1006
1220
|
const setValues = (newValue) => {
|
|
1007
1221
|
setValue(newValue[bind]);
|
|
1008
1222
|
};
|
|
1009
|
-
return /* @__PURE__ */
|
|
1223
|
+
return /* @__PURE__ */ React17.createElement(PropProvider2, { propType, value: values, setValue: setValues }, /* @__PURE__ */ React17.createElement(PropKeyProvider2, { bind }, children));
|
|
1010
1224
|
};
|
|
1011
1225
|
|
|
1012
1226
|
// src/components/style-sections/background-section/background-section.tsx
|
|
1013
1227
|
var BackgroundSection = () => {
|
|
1014
|
-
return /* @__PURE__ */
|
|
1228
|
+
return /* @__PURE__ */ React18.createElement(StylesField, { bind: "background" }, /* @__PURE__ */ React18.createElement(BackgroundControl, null));
|
|
1015
1229
|
};
|
|
1016
1230
|
|
|
1017
1231
|
// src/components/style-sections/border-section/border-section.tsx
|
|
1018
|
-
import * as
|
|
1232
|
+
import * as React28 from "react";
|
|
1019
1233
|
|
|
1020
1234
|
// src/components/panel-divider.tsx
|
|
1021
|
-
import * as
|
|
1235
|
+
import * as React19 from "react";
|
|
1022
1236
|
import { Divider as Divider3 } from "@elementor/ui";
|
|
1023
|
-
var PanelDivider = () => /* @__PURE__ */
|
|
1237
|
+
var PanelDivider = () => /* @__PURE__ */ React19.createElement(Divider3, { sx: { my: 0.5 } });
|
|
1024
1238
|
|
|
1025
1239
|
// src/components/section-content.tsx
|
|
1026
|
-
import * as
|
|
1240
|
+
import * as React20 from "react";
|
|
1027
1241
|
import { Stack as Stack5 } from "@elementor/ui";
|
|
1028
|
-
var SectionContent = ({ gap = 2, sx, children }) => /* @__PURE__ */
|
|
1242
|
+
var SectionContent = ({ gap = 2, sx, children }) => /* @__PURE__ */ React20.createElement(Stack5, { gap, sx: { ...sx } }, children);
|
|
1029
1243
|
|
|
1030
1244
|
// src/components/style-sections/border-section/border-field.tsx
|
|
1031
|
-
import * as
|
|
1245
|
+
import * as React26 from "react";
|
|
1032
1246
|
import { __ as __8 } from "@wordpress/i18n";
|
|
1033
1247
|
|
|
1034
1248
|
// src/components/add-or-remove-content.tsx
|
|
1035
|
-
import * as
|
|
1249
|
+
import * as React21 from "react";
|
|
1036
1250
|
import { ControlLabel as ControlLabel2 } from "@elementor/editor-controls";
|
|
1037
1251
|
import { MinusIcon, PlusIcon } from "@elementor/icons";
|
|
1038
1252
|
import { Collapse as Collapse2, IconButton as IconButton2, Stack as Stack6 } from "@elementor/ui";
|
|
1039
1253
|
var SIZE2 = "tiny";
|
|
1040
1254
|
var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
|
|
1041
|
-
return /* @__PURE__ */
|
|
1255
|
+
return /* @__PURE__ */ React21.createElement(SectionContent, null, /* @__PURE__ */ React21.createElement(
|
|
1042
1256
|
Stack6,
|
|
1043
1257
|
{
|
|
1044
1258
|
direction: "row",
|
|
@@ -1047,22 +1261,22 @@ var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
|
|
|
1047
1261
|
alignItems: "center"
|
|
1048
1262
|
}
|
|
1049
1263
|
},
|
|
1050
|
-
/* @__PURE__ */
|
|
1051
|
-
isAdded ? /* @__PURE__ */
|
|
1052
|
-
), /* @__PURE__ */
|
|
1264
|
+
/* @__PURE__ */ React21.createElement(ControlLabel2, null, label),
|
|
1265
|
+
isAdded ? /* @__PURE__ */ React21.createElement(IconButton2, { size: SIZE2, onClick: onRemove, "aria-label": "Remove" }, /* @__PURE__ */ React21.createElement(MinusIcon, { fontSize: SIZE2 })) : /* @__PURE__ */ React21.createElement(IconButton2, { size: SIZE2, onClick: onAdd, "aria-label": "Add" }, /* @__PURE__ */ React21.createElement(PlusIcon, { fontSize: SIZE2 }))
|
|
1266
|
+
), /* @__PURE__ */ React21.createElement(Collapse2, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React21.createElement(SectionContent, null, children)));
|
|
1053
1267
|
};
|
|
1054
1268
|
|
|
1055
1269
|
// src/components/style-sections/border-section/border-color-field.tsx
|
|
1056
|
-
import * as
|
|
1270
|
+
import * as React22 from "react";
|
|
1057
1271
|
import { ColorControl, ControlLabel as ControlLabel3 } from "@elementor/editor-controls";
|
|
1058
1272
|
import { Grid } from "@elementor/ui";
|
|
1059
1273
|
import { __ as __5 } from "@wordpress/i18n";
|
|
1060
1274
|
var BorderColorField = () => {
|
|
1061
|
-
return /* @__PURE__ */
|
|
1275
|
+
return /* @__PURE__ */ React22.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React22.createElement(Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React22.createElement(Grid, { item: true, xs: 6 }, /* @__PURE__ */ React22.createElement(ControlLabel3, null, __5("Border color", "elementor"))), /* @__PURE__ */ React22.createElement(Grid, { item: true, xs: 6 }, /* @__PURE__ */ React22.createElement(ColorControl, null))));
|
|
1062
1276
|
};
|
|
1063
1277
|
|
|
1064
1278
|
// src/components/style-sections/border-section/border-style-field.tsx
|
|
1065
|
-
import * as
|
|
1279
|
+
import * as React23 from "react";
|
|
1066
1280
|
import { ControlLabel as ControlLabel4, SelectControl as SelectControl2 } from "@elementor/editor-controls";
|
|
1067
1281
|
import { Grid as Grid2 } from "@elementor/ui";
|
|
1068
1282
|
import { __ as __6 } from "@wordpress/i18n";
|
|
@@ -1078,11 +1292,11 @@ var borderStyles = [
|
|
|
1078
1292
|
{ value: "outset", label: __6("Outset", "elementor") }
|
|
1079
1293
|
];
|
|
1080
1294
|
var BorderStyleField = () => {
|
|
1081
|
-
return /* @__PURE__ */
|
|
1295
|
+
return /* @__PURE__ */ React23.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React23.createElement(Grid2, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React23.createElement(Grid2, { item: true, xs: 6 }, /* @__PURE__ */ React23.createElement(ControlLabel4, null, __6("Border type", "elementor"))), /* @__PURE__ */ React23.createElement(Grid2, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React23.createElement(SelectControl2, { options: borderStyles }))));
|
|
1082
1296
|
};
|
|
1083
1297
|
|
|
1084
1298
|
// src/components/style-sections/border-section/border-width-field.tsx
|
|
1085
|
-
import * as
|
|
1299
|
+
import * as React25 from "react";
|
|
1086
1300
|
import { EqualUnequalSizesControl } from "@elementor/editor-controls";
|
|
1087
1301
|
import { borderWidthPropTypeUtil } from "@elementor/editor-props";
|
|
1088
1302
|
import { SideAllIcon, SideBottomIcon, SideLeftIcon, SideRightIcon, SideTopIcon } from "@elementor/icons";
|
|
@@ -1098,7 +1312,7 @@ function useDirection() {
|
|
|
1098
1312
|
}
|
|
1099
1313
|
|
|
1100
1314
|
// src/components/style-sections/layout-section/utils/rotated-icon.tsx
|
|
1101
|
-
import * as
|
|
1315
|
+
import * as React24 from "react";
|
|
1102
1316
|
import { useRef } from "react";
|
|
1103
1317
|
import { useTheme as useTheme2 } from "@elementor/ui";
|
|
1104
1318
|
var CLOCKWISE_ANGLES = {
|
|
@@ -1116,7 +1330,7 @@ var COUNTER_CLOCKWISE_ANGLES = {
|
|
|
1116
1330
|
var RotatedIcon = ({ icon: Icon, size, isClockwise = true, offset = 0 }) => {
|
|
1117
1331
|
const rotate = useRef(useGetTargetAngle(isClockwise, offset));
|
|
1118
1332
|
rotate.current = useGetTargetAngle(isClockwise, offset, rotate);
|
|
1119
|
-
return /* @__PURE__ */
|
|
1333
|
+
return /* @__PURE__ */ React24.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
|
|
1120
1334
|
};
|
|
1121
1335
|
var useGetTargetAngle = (isClockwise, offset, existingRef) => {
|
|
1122
1336
|
const [direction] = useStylesField("flex-direction");
|
|
@@ -1136,33 +1350,33 @@ var InlineEndIcon = withDirection(SideLeftIcon);
|
|
|
1136
1350
|
var getEdges = (isSiteRtl) => [
|
|
1137
1351
|
{
|
|
1138
1352
|
label: __7("Top", "elementor"),
|
|
1139
|
-
icon: /* @__PURE__ */
|
|
1353
|
+
icon: /* @__PURE__ */ React25.createElement(SideTopIcon, { fontSize: "tiny" }),
|
|
1140
1354
|
bind: "block-start"
|
|
1141
1355
|
},
|
|
1142
1356
|
{
|
|
1143
1357
|
label: isSiteRtl ? __7("Left", "elementor") : __7("Right", "elementor"),
|
|
1144
|
-
icon: /* @__PURE__ */
|
|
1358
|
+
icon: /* @__PURE__ */ React25.createElement(RotatedIcon, { icon: InlineStartIcon, size: "tiny" }),
|
|
1145
1359
|
bind: "inline-end"
|
|
1146
1360
|
},
|
|
1147
1361
|
{
|
|
1148
1362
|
label: __7("Bottom", "elementor"),
|
|
1149
|
-
icon: /* @__PURE__ */
|
|
1363
|
+
icon: /* @__PURE__ */ React25.createElement(SideBottomIcon, { fontSize: "tiny" }),
|
|
1150
1364
|
bind: "block-end"
|
|
1151
1365
|
},
|
|
1152
1366
|
{
|
|
1153
1367
|
label: isSiteRtl ? __7("Right", "elementor") : __7("Left", "elementor"),
|
|
1154
|
-
icon: /* @__PURE__ */
|
|
1368
|
+
icon: /* @__PURE__ */ React25.createElement(RotatedIcon, { icon: InlineEndIcon, size: "tiny" }),
|
|
1155
1369
|
bind: "inline-start"
|
|
1156
1370
|
}
|
|
1157
1371
|
];
|
|
1158
1372
|
var BorderWidthField = () => {
|
|
1159
1373
|
const { isSiteRtl } = useDirection();
|
|
1160
|
-
return /* @__PURE__ */
|
|
1374
|
+
return /* @__PURE__ */ React25.createElement(StylesField, { bind: "border-width" }, /* @__PURE__ */ React25.createElement(
|
|
1161
1375
|
EqualUnequalSizesControl,
|
|
1162
1376
|
{
|
|
1163
1377
|
items: getEdges(isSiteRtl),
|
|
1164
1378
|
label: __7("Border width", "elementor"),
|
|
1165
|
-
icon: /* @__PURE__ */
|
|
1379
|
+
icon: /* @__PURE__ */ React25.createElement(SideAllIcon, { fontSize: "tiny" }),
|
|
1166
1380
|
tooltipLabel: __7("Adjust borders", "elementor"),
|
|
1167
1381
|
multiSizePropTypeUtil: borderWidthPropTypeUtil
|
|
1168
1382
|
}
|
|
@@ -1188,7 +1402,7 @@ var BorderField = () => {
|
|
|
1188
1402
|
});
|
|
1189
1403
|
};
|
|
1190
1404
|
const hasBorder = Object.values(border ?? {}).some(Boolean);
|
|
1191
|
-
return /* @__PURE__ */
|
|
1405
|
+
return /* @__PURE__ */ React26.createElement(
|
|
1192
1406
|
AddOrRemoveContent,
|
|
1193
1407
|
{
|
|
1194
1408
|
label: __8("Border", "elementor"),
|
|
@@ -1196,14 +1410,14 @@ var BorderField = () => {
|
|
|
1196
1410
|
onAdd: addBorder,
|
|
1197
1411
|
onRemove: removeBorder
|
|
1198
1412
|
},
|
|
1199
|
-
/* @__PURE__ */
|
|
1200
|
-
/* @__PURE__ */
|
|
1201
|
-
/* @__PURE__ */
|
|
1413
|
+
/* @__PURE__ */ React26.createElement(BorderWidthField, null),
|
|
1414
|
+
/* @__PURE__ */ React26.createElement(BorderColorField, null),
|
|
1415
|
+
/* @__PURE__ */ React26.createElement(BorderStyleField, null)
|
|
1202
1416
|
);
|
|
1203
1417
|
};
|
|
1204
1418
|
|
|
1205
1419
|
// src/components/style-sections/border-section/border-radius-field.tsx
|
|
1206
|
-
import * as
|
|
1420
|
+
import * as React27 from "react";
|
|
1207
1421
|
import { EqualUnequalSizesControl as EqualUnequalSizesControl2 } from "@elementor/editor-controls";
|
|
1208
1422
|
import { borderRadiusPropTypeUtil } from "@elementor/editor-props";
|
|
1209
1423
|
import {
|
|
@@ -1226,33 +1440,33 @@ var getEndEndLabel = (isSiteRtl) => isSiteRtl ? __9("Bottom left", "elementor")
|
|
|
1226
1440
|
var getCorners = (isSiteRtl) => [
|
|
1227
1441
|
{
|
|
1228
1442
|
label: getStartStartLabel(isSiteRtl),
|
|
1229
|
-
icon: /* @__PURE__ */
|
|
1443
|
+
icon: /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: StartStartIcon, size: "tiny" }),
|
|
1230
1444
|
bind: "start-start"
|
|
1231
1445
|
},
|
|
1232
1446
|
{
|
|
1233
1447
|
label: getStartEndLabel(isSiteRtl),
|
|
1234
|
-
icon: /* @__PURE__ */
|
|
1448
|
+
icon: /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: StartEndIcon, size: "tiny" }),
|
|
1235
1449
|
bind: "start-end"
|
|
1236
1450
|
},
|
|
1237
|
-
{
|
|
1238
|
-
label: getEndEndLabel(isSiteRtl),
|
|
1239
|
-
icon: /* @__PURE__ */ React26.createElement(RotatedIcon, { icon: EndEndIcon, size: "tiny" }),
|
|
1240
|
-
bind: "end-end"
|
|
1241
|
-
},
|
|
1242
1451
|
{
|
|
1243
1452
|
label: getEndStartLabel(isSiteRtl),
|
|
1244
|
-
icon: /* @__PURE__ */
|
|
1453
|
+
icon: /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: EndStartIcon, size: "tiny" }),
|
|
1245
1454
|
bind: "end-start"
|
|
1455
|
+
},
|
|
1456
|
+
{
|
|
1457
|
+
label: getEndEndLabel(isSiteRtl),
|
|
1458
|
+
icon: /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: EndEndIcon, size: "tiny" }),
|
|
1459
|
+
bind: "end-end"
|
|
1246
1460
|
}
|
|
1247
1461
|
];
|
|
1248
1462
|
var BorderRadiusField = () => {
|
|
1249
1463
|
const { isSiteRtl } = useDirection();
|
|
1250
|
-
return /* @__PURE__ */
|
|
1464
|
+
return /* @__PURE__ */ React27.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React27.createElement(
|
|
1251
1465
|
EqualUnequalSizesControl2,
|
|
1252
1466
|
{
|
|
1253
1467
|
items: getCorners(isSiteRtl),
|
|
1254
1468
|
label: __9("Border radius", "elementor"),
|
|
1255
|
-
icon: /* @__PURE__ */
|
|
1469
|
+
icon: /* @__PURE__ */ React27.createElement(BorderCornersIcon, { fontSize: "tiny" }),
|
|
1256
1470
|
tooltipLabel: __9("Adjust corners", "elementor"),
|
|
1257
1471
|
multiSizePropTypeUtil: borderRadiusPropTypeUtil
|
|
1258
1472
|
}
|
|
@@ -1260,17 +1474,17 @@ var BorderRadiusField = () => {
|
|
|
1260
1474
|
};
|
|
1261
1475
|
|
|
1262
1476
|
// src/components/style-sections/border-section/border-section.tsx
|
|
1263
|
-
var BorderSection = () => /* @__PURE__ */
|
|
1477
|
+
var BorderSection = () => /* @__PURE__ */ React28.createElement(SectionContent, null, /* @__PURE__ */ React28.createElement(BorderRadiusField, null), /* @__PURE__ */ React28.createElement(PanelDivider, null), /* @__PURE__ */ React28.createElement(BorderField, null));
|
|
1264
1478
|
|
|
1265
1479
|
// src/components/style-sections/effects-section/effects-section.tsx
|
|
1266
|
-
import * as
|
|
1480
|
+
import * as React29 from "react";
|
|
1267
1481
|
import { BoxShadowRepeaterControl } from "@elementor/editor-controls";
|
|
1268
1482
|
var EffectsSection = () => {
|
|
1269
|
-
return /* @__PURE__ */
|
|
1483
|
+
return /* @__PURE__ */ React29.createElement(SectionContent, null, /* @__PURE__ */ React29.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React29.createElement(BoxShadowRepeaterControl, null)));
|
|
1270
1484
|
};
|
|
1271
1485
|
|
|
1272
1486
|
// src/components/style-sections/layout-section/layout-section.tsx
|
|
1273
|
-
import * as
|
|
1487
|
+
import * as React39 from "react";
|
|
1274
1488
|
import { ControlLabel as ControlLabel13 } from "@elementor/editor-controls";
|
|
1275
1489
|
import { useParentElement } from "@elementor/editor-elements";
|
|
1276
1490
|
import { __ as __19 } from "@wordpress/i18n";
|
|
@@ -1301,7 +1515,7 @@ function useComputedStyle(elementId) {
|
|
|
1301
1515
|
}
|
|
1302
1516
|
|
|
1303
1517
|
// src/components/style-sections/layout-section/align-items-field.tsx
|
|
1304
|
-
import * as
|
|
1518
|
+
import * as React30 from "react";
|
|
1305
1519
|
import { ControlLabel as ControlLabel5, ToggleControl } from "@elementor/editor-controls";
|
|
1306
1520
|
import {
|
|
1307
1521
|
LayoutAlignCenterIcon as CenterIcon,
|
|
@@ -1321,35 +1535,35 @@ var options = [
|
|
|
1321
1535
|
{
|
|
1322
1536
|
value: "start",
|
|
1323
1537
|
label: __10("Start", "elementor"),
|
|
1324
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1538
|
+
renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
|
|
1325
1539
|
showTooltip: true
|
|
1326
1540
|
},
|
|
1327
1541
|
{
|
|
1328
1542
|
value: "center",
|
|
1329
1543
|
label: __10("Center", "elementor"),
|
|
1330
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1544
|
+
renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: CenterIcon, size, ...iconProps }),
|
|
1331
1545
|
showTooltip: true
|
|
1332
1546
|
},
|
|
1333
1547
|
{
|
|
1334
1548
|
value: "end",
|
|
1335
1549
|
label: __10("End", "elementor"),
|
|
1336
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1550
|
+
renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
|
|
1337
1551
|
showTooltip: true
|
|
1338
1552
|
},
|
|
1339
1553
|
{
|
|
1340
1554
|
value: "stretch",
|
|
1341
1555
|
label: __10("Stretch", "elementor"),
|
|
1342
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1556
|
+
renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: JustifyIcon, size, ...iconProps }),
|
|
1343
1557
|
showTooltip: true
|
|
1344
1558
|
}
|
|
1345
1559
|
];
|
|
1346
1560
|
var AlignItemsField = () => {
|
|
1347
1561
|
const { isSiteRtl } = useDirection();
|
|
1348
|
-
return /* @__PURE__ */
|
|
1562
|
+
return /* @__PURE__ */ React30.createElement(DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React30.createElement(ThemeProvider, null, /* @__PURE__ */ React30.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React30.createElement(Grid3, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React30.createElement(Grid3, { item: true, xs: 6 }, /* @__PURE__ */ React30.createElement(ControlLabel5, null, __10("Align items", "elementor"))), /* @__PURE__ */ React30.createElement(Grid3, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React30.createElement(ToggleControl, { options }))))));
|
|
1349
1563
|
};
|
|
1350
1564
|
|
|
1351
1565
|
// src/components/style-sections/layout-section/align-self-child-field.tsx
|
|
1352
|
-
import * as
|
|
1566
|
+
import * as React31 from "react";
|
|
1353
1567
|
import { ControlLabel as ControlLabel6, ToggleControl as ToggleControl2 } from "@elementor/editor-controls";
|
|
1354
1568
|
import {
|
|
1355
1569
|
LayoutAlignCenterIcon as CenterIcon2,
|
|
@@ -1369,40 +1583,40 @@ var options2 = [
|
|
|
1369
1583
|
{
|
|
1370
1584
|
value: "start",
|
|
1371
1585
|
label: __11("Start", "elementor"),
|
|
1372
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1586
|
+
renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
|
|
1373
1587
|
showTooltip: true
|
|
1374
1588
|
},
|
|
1375
1589
|
{
|
|
1376
1590
|
value: "center",
|
|
1377
1591
|
label: __11("Center", "elementor"),
|
|
1378
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1592
|
+
renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(RotatedIcon, { icon: CenterIcon2, size, ...iconProps2 }),
|
|
1379
1593
|
showTooltip: true
|
|
1380
1594
|
},
|
|
1381
1595
|
{
|
|
1382
1596
|
value: "end",
|
|
1383
1597
|
label: __11("End", "elementor"),
|
|
1384
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1598
|
+
renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
|
|
1385
1599
|
showTooltip: true
|
|
1386
1600
|
},
|
|
1387
1601
|
{
|
|
1388
1602
|
value: "stretch",
|
|
1389
1603
|
label: __11("Stretch", "elementor"),
|
|
1390
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1604
|
+
renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(RotatedIcon, { icon: JustifyIcon2, size, ...iconProps2 }),
|
|
1391
1605
|
showTooltip: true
|
|
1392
1606
|
}
|
|
1393
1607
|
];
|
|
1394
1608
|
var AlignSelfChild = () => {
|
|
1395
1609
|
const { isSiteRtl } = useDirection();
|
|
1396
|
-
return /* @__PURE__ */
|
|
1610
|
+
return /* @__PURE__ */ React31.createElement(DirectionProvider2, { rtl: isSiteRtl }, /* @__PURE__ */ React31.createElement(ThemeProvider2, null, /* @__PURE__ */ React31.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React31.createElement(Grid4, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React31.createElement(Grid4, { item: true, xs: 6 }, /* @__PURE__ */ React31.createElement(ControlLabel6, null, __11("Align self", "elementor"))), /* @__PURE__ */ React31.createElement(Grid4, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React31.createElement(ToggleControl2, { options: options2 }))))));
|
|
1397
1611
|
};
|
|
1398
1612
|
|
|
1399
1613
|
// src/components/style-sections/layout-section/display-field.tsx
|
|
1400
|
-
import * as
|
|
1614
|
+
import * as React32 from "react";
|
|
1401
1615
|
import { ControlLabel as ControlLabel7, ToggleControl as ToggleControl3 } from "@elementor/editor-controls";
|
|
1402
1616
|
import { Stack as Stack7 } from "@elementor/ui";
|
|
1403
1617
|
import { __ as __12 } from "@wordpress/i18n";
|
|
1404
1618
|
var DisplayField = () => {
|
|
1405
|
-
const
|
|
1619
|
+
const options12 = [
|
|
1406
1620
|
{
|
|
1407
1621
|
value: "block",
|
|
1408
1622
|
renderContent: () => __12("Block", "elementor"),
|
|
@@ -1428,11 +1642,11 @@ var DisplayField = () => {
|
|
|
1428
1642
|
showTooltip: true
|
|
1429
1643
|
}
|
|
1430
1644
|
];
|
|
1431
|
-
return /* @__PURE__ */
|
|
1645
|
+
return /* @__PURE__ */ React32.createElement(StylesField, { bind: "display" }, /* @__PURE__ */ React32.createElement(Stack7, { gap: 1 }, /* @__PURE__ */ React32.createElement(ControlLabel7, null, __12("Display", "elementor")), /* @__PURE__ */ React32.createElement(ToggleControl3, { options: options12, fullWidth: true })));
|
|
1432
1646
|
};
|
|
1433
1647
|
|
|
1434
1648
|
// src/components/style-sections/layout-section/flex-direction-field.tsx
|
|
1435
|
-
import * as
|
|
1649
|
+
import * as React33 from "react";
|
|
1436
1650
|
import { ControlLabel as ControlLabel8, ToggleControl as ToggleControl4 } from "@elementor/editor-controls";
|
|
1437
1651
|
import { ArrowDownSmallIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpSmallIcon } from "@elementor/icons";
|
|
1438
1652
|
import { DirectionProvider as DirectionProvider3, Grid as Grid5, ThemeProvider as ThemeProvider3, withDirection as withDirection5 } from "@elementor/ui";
|
|
@@ -1443,14 +1657,14 @@ var options3 = [
|
|
|
1443
1657
|
label: __13("Row", "elementor"),
|
|
1444
1658
|
renderContent: ({ size }) => {
|
|
1445
1659
|
const StartIcon5 = withDirection5(ArrowRightIcon);
|
|
1446
|
-
return /* @__PURE__ */
|
|
1660
|
+
return /* @__PURE__ */ React33.createElement(StartIcon5, { fontSize: size });
|
|
1447
1661
|
},
|
|
1448
1662
|
showTooltip: true
|
|
1449
1663
|
},
|
|
1450
1664
|
{
|
|
1451
1665
|
value: "column",
|
|
1452
1666
|
label: __13("Column", "elementor"),
|
|
1453
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1667
|
+
renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(ArrowDownSmallIcon, { fontSize: size }),
|
|
1454
1668
|
showTooltip: true
|
|
1455
1669
|
},
|
|
1456
1670
|
{
|
|
@@ -1458,24 +1672,24 @@ var options3 = [
|
|
|
1458
1672
|
label: __13("Reversed row", "elementor"),
|
|
1459
1673
|
renderContent: ({ size }) => {
|
|
1460
1674
|
const EndIcon5 = withDirection5(ArrowLeftIcon);
|
|
1461
|
-
return /* @__PURE__ */
|
|
1675
|
+
return /* @__PURE__ */ React33.createElement(EndIcon5, { fontSize: size });
|
|
1462
1676
|
},
|
|
1463
1677
|
showTooltip: true
|
|
1464
1678
|
},
|
|
1465
1679
|
{
|
|
1466
1680
|
value: "column-reverse",
|
|
1467
1681
|
label: __13("Reversed column", "elementor"),
|
|
1468
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1682
|
+
renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(ArrowUpSmallIcon, { fontSize: size }),
|
|
1469
1683
|
showTooltip: true
|
|
1470
1684
|
}
|
|
1471
1685
|
];
|
|
1472
1686
|
var FlexDirectionField = () => {
|
|
1473
1687
|
const { isSiteRtl } = useDirection();
|
|
1474
|
-
return /* @__PURE__ */
|
|
1688
|
+
return /* @__PURE__ */ React33.createElement(DirectionProvider3, { rtl: isSiteRtl }, /* @__PURE__ */ React33.createElement(ThemeProvider3, null, /* @__PURE__ */ React33.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React33.createElement(Grid5, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(Grid5, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(ControlLabel8, null, __13("Direction", "elementor"))), /* @__PURE__ */ React33.createElement(Grid5, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(ToggleControl4, { options: options3 }))))));
|
|
1475
1689
|
};
|
|
1476
1690
|
|
|
1477
1691
|
// src/components/style-sections/layout-section/flex-order-field.tsx
|
|
1478
|
-
import * as
|
|
1692
|
+
import * as React34 from "react";
|
|
1479
1693
|
import { useState as useState4 } from "react";
|
|
1480
1694
|
import {
|
|
1481
1695
|
ControlLabel as ControlLabel9,
|
|
@@ -1498,19 +1712,19 @@ var items = [
|
|
|
1498
1712
|
{
|
|
1499
1713
|
value: FIRST,
|
|
1500
1714
|
label: __14("First", "elementor"),
|
|
1501
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1715
|
+
renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(ArrowUpSmallIcon2, { fontSize: size }),
|
|
1502
1716
|
showTooltip: true
|
|
1503
1717
|
},
|
|
1504
1718
|
{
|
|
1505
1719
|
value: LAST,
|
|
1506
1720
|
label: __14("Last", "elementor"),
|
|
1507
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1721
|
+
renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(ArrowDownSmallIcon2, { fontSize: size }),
|
|
1508
1722
|
showTooltip: true
|
|
1509
1723
|
},
|
|
1510
1724
|
{
|
|
1511
1725
|
value: CUSTOM,
|
|
1512
1726
|
label: __14("Custom", "elementor"),
|
|
1513
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1727
|
+
renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(PencilIcon, { fontSize: size }),
|
|
1514
1728
|
showTooltip: true
|
|
1515
1729
|
}
|
|
1516
1730
|
];
|
|
@@ -1525,7 +1739,7 @@ var FlexOrderField = () => {
|
|
|
1525
1739
|
}
|
|
1526
1740
|
setOrder({ $$type: "number", value: orderValueMap[group] });
|
|
1527
1741
|
};
|
|
1528
|
-
return /* @__PURE__ */
|
|
1742
|
+
return /* @__PURE__ */ React34.createElement(DirectionProvider4, { rtl: isSiteRtl }, /* @__PURE__ */ React34.createElement(ThemeProvider4, null, /* @__PURE__ */ React34.createElement(SectionContent, null, /* @__PURE__ */ React34.createElement(Grid6, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(Grid6, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(ControlLabel9, null, __14("Order", "elementor"))), /* @__PURE__ */ React34.createElement(Grid6, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React34.createElement(
|
|
1529
1743
|
ControlToggleButtonGroup,
|
|
1530
1744
|
{
|
|
1531
1745
|
items,
|
|
@@ -1533,7 +1747,7 @@ var FlexOrderField = () => {
|
|
|
1533
1747
|
onChange: handleToggleButtonChange,
|
|
1534
1748
|
exclusive: true
|
|
1535
1749
|
}
|
|
1536
|
-
))), CUSTOM === groupControlValue && /* @__PURE__ */
|
|
1750
|
+
))), CUSTOM === groupControlValue && /* @__PURE__ */ React34.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React34.createElement(Grid6, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(Grid6, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(ControlLabel9, null, __14("Custom order", "elementor"))), /* @__PURE__ */ React34.createElement(Grid6, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React34.createElement(
|
|
1537
1751
|
NumberControl,
|
|
1538
1752
|
{
|
|
1539
1753
|
min: FIRST_DEFAULT_VALUE + 1,
|
|
@@ -1553,7 +1767,7 @@ var getGroupControlValue = (order) => {
|
|
|
1553
1767
|
};
|
|
1554
1768
|
|
|
1555
1769
|
// src/components/style-sections/layout-section/flex-size-field.tsx
|
|
1556
|
-
import * as
|
|
1770
|
+
import * as React35 from "react";
|
|
1557
1771
|
import { useMemo as useMemo2, useState as useState5 } from "react";
|
|
1558
1772
|
import {
|
|
1559
1773
|
ControlLabel as ControlLabel10,
|
|
@@ -1569,19 +1783,19 @@ var items2 = [
|
|
|
1569
1783
|
{
|
|
1570
1784
|
value: "flex-grow",
|
|
1571
1785
|
label: __15("Grow", "elementor"),
|
|
1572
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1786
|
+
renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(ExpandIcon, { fontSize: size }),
|
|
1573
1787
|
showTooltip: true
|
|
1574
1788
|
},
|
|
1575
1789
|
{
|
|
1576
1790
|
value: "flex-shrink",
|
|
1577
1791
|
label: __15("Shrink", "elementor"),
|
|
1578
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1792
|
+
renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(ShrinkIcon, { fontSize: size }),
|
|
1579
1793
|
showTooltip: true
|
|
1580
1794
|
},
|
|
1581
1795
|
{
|
|
1582
1796
|
value: "custom",
|
|
1583
1797
|
label: __15("Custom", "elementor"),
|
|
1584
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1798
|
+
renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(PencilIcon2, { fontSize: size }),
|
|
1585
1799
|
showTooltip: true
|
|
1586
1800
|
}
|
|
1587
1801
|
];
|
|
@@ -1605,7 +1819,7 @@ var FlexSizeField = () => {
|
|
|
1605
1819
|
setGrowField(null);
|
|
1606
1820
|
setShrinkField({ $$type: "number", value: DEFAULT });
|
|
1607
1821
|
};
|
|
1608
|
-
return /* @__PURE__ */
|
|
1822
|
+
return /* @__PURE__ */ React35.createElement(DirectionProvider5, { rtl: isSiteRtl }, /* @__PURE__ */ React35.createElement(ThemeProvider5, null, /* @__PURE__ */ React35.createElement(SectionContent, null, /* @__PURE__ */ React35.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React35.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React35.createElement(ControlLabel10, null, __15("Size", "elementor"))), /* @__PURE__ */ React35.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React35.createElement(
|
|
1609
1823
|
ControlToggleButtonGroup2,
|
|
1610
1824
|
{
|
|
1611
1825
|
value: activeGroup,
|
|
@@ -1613,9 +1827,9 @@ var FlexSizeField = () => {
|
|
|
1613
1827
|
items: items2,
|
|
1614
1828
|
exclusive: true
|
|
1615
1829
|
}
|
|
1616
|
-
))), "custom" === activeGroup && /* @__PURE__ */
|
|
1830
|
+
))), "custom" === activeGroup && /* @__PURE__ */ React35.createElement(FlexCustomField, null))));
|
|
1617
1831
|
};
|
|
1618
|
-
var FlexCustomField = () => /* @__PURE__ */
|
|
1832
|
+
var FlexCustomField = () => /* @__PURE__ */ React35.createElement(React35.Fragment, null, /* @__PURE__ */ React35.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React35.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React35.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React35.createElement(ControlLabel10, null, __15("Grow", "elementor"))), /* @__PURE__ */ React35.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React35.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React35.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React35.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React35.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React35.createElement(ControlLabel10, null, __15("Shrink", "elementor"))), /* @__PURE__ */ React35.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React35.createElement(NumberControl2, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React35.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React35.createElement(Grid7, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React35.createElement(Grid7, { item: true, xs: 6 }, /* @__PURE__ */ React35.createElement(ControlLabel10, null, __15("Basis", "elementor"))), /* @__PURE__ */ React35.createElement(Grid7, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React35.createElement(SizeControl2, { extendedValues: ["auto"] })))));
|
|
1619
1833
|
var getActiveGroup = ({
|
|
1620
1834
|
grow,
|
|
1621
1835
|
shrink,
|
|
@@ -1637,16 +1851,16 @@ var getActiveGroup = ({
|
|
|
1637
1851
|
};
|
|
1638
1852
|
|
|
1639
1853
|
// src/components/style-sections/layout-section/gap-control-field.tsx
|
|
1640
|
-
import * as
|
|
1854
|
+
import * as React36 from "react";
|
|
1641
1855
|
import { GapControl } from "@elementor/editor-controls";
|
|
1642
1856
|
import { Stack as Stack8 } from "@elementor/ui";
|
|
1643
1857
|
import { __ as __16 } from "@wordpress/i18n";
|
|
1644
1858
|
var GapControlField = () => {
|
|
1645
|
-
return /* @__PURE__ */
|
|
1859
|
+
return /* @__PURE__ */ React36.createElement(Stack8, { gap: 1 }, /* @__PURE__ */ React36.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React36.createElement(GapControl, { label: __16("Gaps", "elementor") })));
|
|
1646
1860
|
};
|
|
1647
1861
|
|
|
1648
1862
|
// src/components/style-sections/layout-section/justify-content-field.tsx
|
|
1649
|
-
import * as
|
|
1863
|
+
import * as React37 from "react";
|
|
1650
1864
|
import { ControlLabel as ControlLabel11, ToggleControl as ToggleControl5 } from "@elementor/editor-controls";
|
|
1651
1865
|
import {
|
|
1652
1866
|
JustifyBottomIcon,
|
|
@@ -1668,47 +1882,47 @@ var options4 = [
|
|
|
1668
1882
|
{
|
|
1669
1883
|
value: "start",
|
|
1670
1884
|
label: __17("Start", "elementor"),
|
|
1671
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1885
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(RotatedIcon, { icon: StartIcon3, size, ...iconProps3 }),
|
|
1672
1886
|
showTooltip: true
|
|
1673
1887
|
},
|
|
1674
1888
|
{
|
|
1675
1889
|
value: "center",
|
|
1676
1890
|
label: __17("Center", "elementor"),
|
|
1677
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1891
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(RotatedIcon, { icon: CenterIcon3, size, ...iconProps3 }),
|
|
1678
1892
|
showTooltip: true
|
|
1679
1893
|
},
|
|
1680
1894
|
{
|
|
1681
1895
|
value: "end",
|
|
1682
1896
|
label: __17("End", "elementor"),
|
|
1683
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1897
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(RotatedIcon, { icon: EndIcon3, size, ...iconProps3 }),
|
|
1684
1898
|
showTooltip: true
|
|
1685
1899
|
},
|
|
1686
1900
|
{
|
|
1687
1901
|
value: "space-between",
|
|
1688
1902
|
label: __17("Space between", "elementor"),
|
|
1689
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1903
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(RotatedIcon, { icon: BetweenIcon, size, ...iconProps3 }),
|
|
1690
1904
|
showTooltip: true
|
|
1691
1905
|
},
|
|
1692
1906
|
{
|
|
1693
1907
|
value: "space-around",
|
|
1694
1908
|
label: __17("Space around", "elementor"),
|
|
1695
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1909
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(RotatedIcon, { icon: AroundIcon, size, ...iconProps3 }),
|
|
1696
1910
|
showTooltip: true
|
|
1697
1911
|
},
|
|
1698
1912
|
{
|
|
1699
1913
|
value: "space-evenly",
|
|
1700
1914
|
label: __17("Space evenly", "elementor"),
|
|
1701
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1915
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(RotatedIcon, { icon: EvenlyIcon, size, ...iconProps3 }),
|
|
1702
1916
|
showTooltip: true
|
|
1703
1917
|
}
|
|
1704
1918
|
];
|
|
1705
1919
|
var JustifyContentField = () => {
|
|
1706
1920
|
const { isSiteRtl } = useDirection();
|
|
1707
|
-
return /* @__PURE__ */
|
|
1921
|
+
return /* @__PURE__ */ React37.createElement(DirectionProvider6, { rtl: isSiteRtl }, /* @__PURE__ */ React37.createElement(ThemeProvider6, null, /* @__PURE__ */ React37.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React37.createElement(Stack9, { gap: 1 }, /* @__PURE__ */ React37.createElement(ControlLabel11, null, __17("Justify content", "elementor")), /* @__PURE__ */ React37.createElement(ToggleControl5, { options: options4, fullWidth: true })))));
|
|
1708
1922
|
};
|
|
1709
1923
|
|
|
1710
1924
|
// src/components/style-sections/layout-section/wrap-field.tsx
|
|
1711
|
-
import * as
|
|
1925
|
+
import * as React38 from "react";
|
|
1712
1926
|
import { ControlLabel as ControlLabel12, ToggleControl as ToggleControl6 } from "@elementor/editor-controls";
|
|
1713
1927
|
import { ArrowBackIcon, ArrowForwardIcon, ArrowRightIcon as ArrowRightIcon2 } from "@elementor/icons";
|
|
1714
1928
|
import { DirectionProvider as DirectionProvider7, Grid as Grid8, ThemeProvider as ThemeProvider7 } from "@elementor/ui";
|
|
@@ -1717,25 +1931,25 @@ var options5 = [
|
|
|
1717
1931
|
{
|
|
1718
1932
|
value: "nowrap",
|
|
1719
1933
|
label: __18("No wrap", "elementor"),
|
|
1720
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1934
|
+
renderContent: ({ size }) => /* @__PURE__ */ React38.createElement(ArrowRightIcon2, { fontSize: size }),
|
|
1721
1935
|
showTooltip: true
|
|
1722
1936
|
},
|
|
1723
1937
|
{
|
|
1724
1938
|
value: "wrap",
|
|
1725
1939
|
label: __18("Wrap", "elementor"),
|
|
1726
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1940
|
+
renderContent: ({ size }) => /* @__PURE__ */ React38.createElement(ArrowBackIcon, { fontSize: size }),
|
|
1727
1941
|
showTooltip: true
|
|
1728
1942
|
},
|
|
1729
1943
|
{
|
|
1730
1944
|
value: "wrap-reverse",
|
|
1731
1945
|
label: __18("Reversed wrap", "elementor"),
|
|
1732
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1946
|
+
renderContent: ({ size }) => /* @__PURE__ */ React38.createElement(ArrowForwardIcon, { fontSize: size }),
|
|
1733
1947
|
showTooltip: true
|
|
1734
1948
|
}
|
|
1735
1949
|
];
|
|
1736
1950
|
var WrapField = () => {
|
|
1737
1951
|
const { isSiteRtl } = useDirection();
|
|
1738
|
-
return /* @__PURE__ */
|
|
1952
|
+
return /* @__PURE__ */ React38.createElement(DirectionProvider7, { rtl: isSiteRtl }, /* @__PURE__ */ React38.createElement(ThemeProvider7, null, /* @__PURE__ */ React38.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React38.createElement(Grid8, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React38.createElement(Grid8, { item: true, xs: 6 }, /* @__PURE__ */ React38.createElement(ControlLabel12, null, __18("Wrap", "elementor"))), /* @__PURE__ */ React38.createElement(Grid8, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React38.createElement(ToggleControl6, { options: options5 }))))));
|
|
1739
1953
|
};
|
|
1740
1954
|
|
|
1741
1955
|
// src/components/style-sections/layout-section/layout-section.tsx
|
|
@@ -1744,17 +1958,17 @@ var LayoutSection = () => {
|
|
|
1744
1958
|
const { element } = useElement();
|
|
1745
1959
|
const parent = useParentElement(element.id);
|
|
1746
1960
|
const parentStyle = useComputedStyle(parent?.id || null);
|
|
1747
|
-
return /* @__PURE__ */
|
|
1961
|
+
return /* @__PURE__ */ React39.createElement(SectionContent, null, /* @__PURE__ */ React39.createElement(DisplayField, null), ("flex" === display?.value || "inline-flex" === display?.value) && /* @__PURE__ */ React39.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React39.createElement(FlexChildFields, null));
|
|
1748
1962
|
};
|
|
1749
|
-
var FlexFields = () => /* @__PURE__ */
|
|
1750
|
-
var FlexChildFields = () => /* @__PURE__ */
|
|
1963
|
+
var FlexFields = () => /* @__PURE__ */ React39.createElement(React39.Fragment, null, /* @__PURE__ */ React39.createElement(FlexDirectionField, null), /* @__PURE__ */ React39.createElement(JustifyContentField, null), /* @__PURE__ */ React39.createElement(AlignItemsField, null), /* @__PURE__ */ React39.createElement(PanelDivider, null), /* @__PURE__ */ React39.createElement(GapControlField, null), /* @__PURE__ */ React39.createElement(WrapField, null));
|
|
1964
|
+
var FlexChildFields = () => /* @__PURE__ */ React39.createElement(React39.Fragment, null, /* @__PURE__ */ React39.createElement(PanelDivider, null), /* @__PURE__ */ React39.createElement(ControlLabel13, null, __19("Flex child", "elementor")), /* @__PURE__ */ React39.createElement(AlignSelfChild, null), /* @__PURE__ */ React39.createElement(FlexOrderField, null), /* @__PURE__ */ React39.createElement(FlexSizeField, null));
|
|
1751
1965
|
|
|
1752
1966
|
// src/components/style-sections/position-section/position-section.tsx
|
|
1753
|
-
import * as
|
|
1967
|
+
import * as React43 from "react";
|
|
1754
1968
|
import { useSessionStorage } from "@elementor/session";
|
|
1755
1969
|
|
|
1756
1970
|
// src/components/style-sections/position-section/dimensions-field.tsx
|
|
1757
|
-
import * as
|
|
1971
|
+
import * as React40 from "react";
|
|
1758
1972
|
import { ControlLabel as ControlLabel14, SizeControl as SizeControl3 } from "@elementor/editor-controls";
|
|
1759
1973
|
import { SideBottomIcon as SideBottomIcon2, SideLeftIcon as SideLeftIcon2, SideRightIcon as SideRightIcon2, SideTopIcon as SideTopIcon2 } from "@elementor/icons";
|
|
1760
1974
|
import { Grid as Grid9, Stack as Stack10, withDirection as withDirection7 } from "@elementor/ui";
|
|
@@ -1762,23 +1976,23 @@ import { __ as __20 } from "@wordpress/i18n";
|
|
|
1762
1976
|
var InlineStartIcon2 = withDirection7(SideLeftIcon2);
|
|
1763
1977
|
var InlineEndIcon2 = withDirection7(SideRightIcon2);
|
|
1764
1978
|
var sideIcons = {
|
|
1765
|
-
"inset-block-start": /* @__PURE__ */
|
|
1766
|
-
"inset-block-end": /* @__PURE__ */
|
|
1767
|
-
"inset-inline-start": /* @__PURE__ */
|
|
1768
|
-
"inset-inline-end": /* @__PURE__ */
|
|
1979
|
+
"inset-block-start": /* @__PURE__ */ React40.createElement(SideTopIcon2, { fontSize: "tiny" }),
|
|
1980
|
+
"inset-block-end": /* @__PURE__ */ React40.createElement(SideBottomIcon2, { fontSize: "tiny" }),
|
|
1981
|
+
"inset-inline-start": /* @__PURE__ */ React40.createElement(RotatedIcon, { icon: InlineStartIcon2, size: "tiny" }),
|
|
1982
|
+
"inset-inline-end": /* @__PURE__ */ React40.createElement(RotatedIcon, { icon: InlineEndIcon2, size: "tiny" })
|
|
1769
1983
|
};
|
|
1770
1984
|
var getInlineStartLabel = (isSiteRtl) => isSiteRtl ? __20("Right", "elementor") : __20("Left", "elementor");
|
|
1771
1985
|
var getInlineEndLabel = (isSiteRtl) => isSiteRtl ? __20("Left", "elementor") : __20("Right", "elementor");
|
|
1772
1986
|
var DimensionsField = () => {
|
|
1773
1987
|
const { isSiteRtl } = useDirection();
|
|
1774
|
-
return /* @__PURE__ */
|
|
1988
|
+
return /* @__PURE__ */ React40.createElement(React40.Fragment, null, /* @__PURE__ */ React40.createElement(Stack10, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(DimensionField, { side: "inset-block-start", label: __20("Top", "elementor") }), /* @__PURE__ */ React40.createElement(DimensionField, { side: "inset-inline-end", label: getInlineEndLabel(isSiteRtl) })), /* @__PURE__ */ React40.createElement(Stack10, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(DimensionField, { side: "inset-block-end", label: __20("Bottom", "elementor") }), /* @__PURE__ */ React40.createElement(DimensionField, { side: "inset-inline-start", label: getInlineStartLabel(isSiteRtl) })));
|
|
1775
1989
|
};
|
|
1776
1990
|
var DimensionField = ({ side, label }) => {
|
|
1777
|
-
return /* @__PURE__ */
|
|
1991
|
+
return /* @__PURE__ */ React40.createElement(Grid9, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React40.createElement(Grid9, { item: true, xs: 12 }, /* @__PURE__ */ React40.createElement(ControlLabel14, null, label)), /* @__PURE__ */ React40.createElement(Grid9, { item: true, xs: 12 }, /* @__PURE__ */ React40.createElement(StylesField, { bind: side }, /* @__PURE__ */ React40.createElement(SizeControl3, { startIcon: sideIcons[side], extendedValues: ["auto"] }))));
|
|
1778
1992
|
};
|
|
1779
1993
|
|
|
1780
1994
|
// src/components/style-sections/position-section/position-field.tsx
|
|
1781
|
-
import * as
|
|
1995
|
+
import * as React41 from "react";
|
|
1782
1996
|
import { ControlLabel as ControlLabel15, SelectControl as SelectControl3 } from "@elementor/editor-controls";
|
|
1783
1997
|
import { Grid as Grid10 } from "@elementor/ui";
|
|
1784
1998
|
import { __ as __21 } from "@wordpress/i18n";
|
|
@@ -1790,16 +2004,16 @@ var positionOptions = [
|
|
|
1790
2004
|
{ label: __21("Sticky", "elementor"), value: "sticky" }
|
|
1791
2005
|
];
|
|
1792
2006
|
var PositionField = ({ onChange }) => {
|
|
1793
|
-
return /* @__PURE__ */
|
|
2007
|
+
return /* @__PURE__ */ React41.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React41.createElement(Grid10, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(Grid10, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(ControlLabel15, null, __21("Position", "elementor"))), /* @__PURE__ */ React41.createElement(Grid10, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React41.createElement(SelectControl3, { options: positionOptions, onChange }))));
|
|
1794
2008
|
};
|
|
1795
2009
|
|
|
1796
2010
|
// src/components/style-sections/position-section/z-index-field.tsx
|
|
1797
|
-
import * as
|
|
2011
|
+
import * as React42 from "react";
|
|
1798
2012
|
import { ControlLabel as ControlLabel16, NumberControl as NumberControl3 } from "@elementor/editor-controls";
|
|
1799
2013
|
import { Grid as Grid11 } from "@elementor/ui";
|
|
1800
2014
|
import { __ as __22 } from "@wordpress/i18n";
|
|
1801
2015
|
var ZIndexField = () => {
|
|
1802
|
-
return /* @__PURE__ */
|
|
2016
|
+
return /* @__PURE__ */ React42.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React42.createElement(Grid11, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React42.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(ControlLabel16, null, __22("Z-index", "elementor"))), /* @__PURE__ */ React42.createElement(Grid11, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(NumberControl3, null))));
|
|
1803
2017
|
};
|
|
1804
2018
|
|
|
1805
2019
|
// src/components/style-sections/position-section/position-section.tsx
|
|
@@ -1831,7 +2045,7 @@ var PositionSection = () => {
|
|
|
1831
2045
|
}
|
|
1832
2046
|
};
|
|
1833
2047
|
const isNotStatic = positionValue && positionValue?.value !== "static";
|
|
1834
|
-
return /* @__PURE__ */
|
|
2048
|
+
return /* @__PURE__ */ React43.createElement(SectionContent, null, /* @__PURE__ */ React43.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React43.createElement(React43.Fragment, null, /* @__PURE__ */ React43.createElement(DimensionsField, null), /* @__PURE__ */ React43.createElement(ZIndexField, null)) : null);
|
|
1835
2049
|
};
|
|
1836
2050
|
var usePersistDimensions = () => {
|
|
1837
2051
|
const { id: styleDefID, meta } = useStyle();
|
|
@@ -1841,13 +2055,13 @@ var usePersistDimensions = () => {
|
|
|
1841
2055
|
};
|
|
1842
2056
|
|
|
1843
2057
|
// src/components/style-sections/size-section/size-section.tsx
|
|
1844
|
-
import * as
|
|
2058
|
+
import * as React45 from "react";
|
|
1845
2059
|
import { ControlLabel as ControlLabel18, SizeControl as SizeControl4 } from "@elementor/editor-controls";
|
|
1846
2060
|
import { Grid as Grid13, Stack as Stack11 } from "@elementor/ui";
|
|
1847
2061
|
import { __ as __24 } from "@wordpress/i18n";
|
|
1848
2062
|
|
|
1849
2063
|
// src/components/style-sections/size-section/overflow-field.tsx
|
|
1850
|
-
import * as
|
|
2064
|
+
import * as React44 from "react";
|
|
1851
2065
|
import { ControlLabel as ControlLabel17, ToggleControl as ToggleControl7 } from "@elementor/editor-controls";
|
|
1852
2066
|
import { EyeIcon, EyeOffIcon, LetterAIcon } from "@elementor/icons";
|
|
1853
2067
|
import { Grid as Grid12 } from "@elementor/ui";
|
|
@@ -1856,69 +2070,69 @@ var options6 = [
|
|
|
1856
2070
|
{
|
|
1857
2071
|
value: "visible",
|
|
1858
2072
|
label: __23("Visible", "elementor"),
|
|
1859
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2073
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(EyeIcon, { fontSize: size }),
|
|
1860
2074
|
showTooltip: true
|
|
1861
2075
|
},
|
|
1862
2076
|
{
|
|
1863
2077
|
value: "hidden",
|
|
1864
2078
|
label: __23("Hidden", "elementor"),
|
|
1865
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2079
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(EyeOffIcon, { fontSize: size }),
|
|
1866
2080
|
showTooltip: true
|
|
1867
2081
|
},
|
|
1868
2082
|
{
|
|
1869
2083
|
value: "auto",
|
|
1870
2084
|
label: __23("Auto", "elementor"),
|
|
1871
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2085
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(LetterAIcon, { fontSize: size }),
|
|
1872
2086
|
showTooltip: true
|
|
1873
2087
|
}
|
|
1874
2088
|
];
|
|
1875
2089
|
var OverflowField = () => {
|
|
1876
|
-
return /* @__PURE__ */
|
|
2090
|
+
return /* @__PURE__ */ React44.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React44.createElement(Grid12, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(Grid12, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(ControlLabel17, null, __23("Overflow", "elementor"))), /* @__PURE__ */ React44.createElement(Grid12, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React44.createElement(ToggleControl7, { options: options6 }))));
|
|
1877
2091
|
};
|
|
1878
2092
|
|
|
1879
2093
|
// src/components/style-sections/size-section/size-section.tsx
|
|
1880
2094
|
var SizeSection = () => {
|
|
1881
|
-
return /* @__PURE__ */
|
|
2095
|
+
return /* @__PURE__ */ React45.createElement(SectionContent, null, /* @__PURE__ */ React45.createElement(Grid13, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React45.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(SizeField, { bind: "width", label: __24("Width", "elementor"), extendedValues: ["auto"] })), /* @__PURE__ */ React45.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(SizeField, { bind: "height", label: __24("Height", "elementor"), extendedValues: ["auto"] }))), /* @__PURE__ */ React45.createElement(Grid13, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React45.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(
|
|
1882
2096
|
SizeField,
|
|
1883
2097
|
{
|
|
1884
2098
|
bind: "min-width",
|
|
1885
2099
|
label: __24("Min width", "elementor"),
|
|
1886
2100
|
extendedValues: ["auto"]
|
|
1887
2101
|
}
|
|
1888
|
-
)), /* @__PURE__ */
|
|
2102
|
+
)), /* @__PURE__ */ React45.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(
|
|
1889
2103
|
SizeField,
|
|
1890
2104
|
{
|
|
1891
2105
|
bind: "min-height",
|
|
1892
2106
|
label: __24("Min height", "elementor"),
|
|
1893
2107
|
extendedValues: ["auto"]
|
|
1894
2108
|
}
|
|
1895
|
-
))), /* @__PURE__ */
|
|
2109
|
+
))), /* @__PURE__ */ React45.createElement(Grid13, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React45.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(SizeField, { bind: "max-width", label: __24("Max width", "elementor") })), /* @__PURE__ */ React45.createElement(Grid13, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(SizeField, { bind: "max-height", label: __24("Max height", "elementor") }))), /* @__PURE__ */ React45.createElement(PanelDivider, null), /* @__PURE__ */ React45.createElement(Stack11, null, /* @__PURE__ */ React45.createElement(OverflowField, null)));
|
|
1896
2110
|
};
|
|
1897
2111
|
var SizeField = ({ label, bind, extendedValues }) => {
|
|
1898
|
-
return /* @__PURE__ */
|
|
2112
|
+
return /* @__PURE__ */ React45.createElement(StylesField, { bind }, /* @__PURE__ */ React45.createElement(Grid13, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React45.createElement(Grid13, { item: true, xs: 12 }, /* @__PURE__ */ React45.createElement(ControlLabel18, null, label)), /* @__PURE__ */ React45.createElement(Grid13, { item: true, xs: 12 }, /* @__PURE__ */ React45.createElement(SizeControl4, { extendedValues }))));
|
|
1899
2113
|
};
|
|
1900
2114
|
|
|
1901
2115
|
// src/components/style-sections/spacing-section/spacing-section.tsx
|
|
1902
|
-
import * as
|
|
2116
|
+
import * as React46 from "react";
|
|
1903
2117
|
import { LinkedDimensionsControl } from "@elementor/editor-controls";
|
|
1904
2118
|
import { __ as __25 } from "@wordpress/i18n";
|
|
1905
2119
|
var SpacingSection = () => {
|
|
1906
2120
|
const { isSiteRtl } = useDirection();
|
|
1907
|
-
return /* @__PURE__ */
|
|
2121
|
+
return /* @__PURE__ */ React46.createElement(SectionContent, null, /* @__PURE__ */ React46.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React46.createElement(
|
|
1908
2122
|
LinkedDimensionsControl,
|
|
1909
2123
|
{
|
|
1910
2124
|
label: __25("Margin", "elementor"),
|
|
1911
2125
|
isSiteRtl,
|
|
1912
2126
|
extendedValues: ["auto"]
|
|
1913
2127
|
}
|
|
1914
|
-
)));
|
|
2128
|
+
)), /* @__PURE__ */ React46.createElement(PanelDivider, null), /* @__PURE__ */ React46.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React46.createElement(LinkedDimensionsControl, { label: __25("Padding", "elementor"), isSiteRtl })));
|
|
1915
2129
|
};
|
|
1916
2130
|
|
|
1917
2131
|
// src/components/style-sections/typography-section/typography-section.tsx
|
|
1918
|
-
import * as
|
|
2132
|
+
import * as React61 from "react";
|
|
1919
2133
|
|
|
1920
2134
|
// src/components/collapsible-content.tsx
|
|
1921
|
-
import * as
|
|
2135
|
+
import * as React47 from "react";
|
|
1922
2136
|
import { useState as useState6 } from "react";
|
|
1923
2137
|
import { Button, Collapse as Collapse3, Stack as Stack12 } from "@elementor/ui";
|
|
1924
2138
|
import { __ as __26 } from "@wordpress/i18n";
|
|
@@ -1927,7 +2141,7 @@ var CollapsibleContent = ({ children, defaultOpen = false }) => {
|
|
|
1927
2141
|
const handleToggle = () => {
|
|
1928
2142
|
setOpen((prevOpen) => !prevOpen);
|
|
1929
2143
|
};
|
|
1930
|
-
return /* @__PURE__ */
|
|
2144
|
+
return /* @__PURE__ */ React47.createElement(Stack12, null, /* @__PURE__ */ React47.createElement(
|
|
1931
2145
|
Button,
|
|
1932
2146
|
{
|
|
1933
2147
|
fullWidth: true,
|
|
@@ -1935,18 +2149,21 @@ var CollapsibleContent = ({ children, defaultOpen = false }) => {
|
|
|
1935
2149
|
color: "secondary",
|
|
1936
2150
|
variant: "outlined",
|
|
1937
2151
|
onClick: handleToggle,
|
|
1938
|
-
endIcon: /* @__PURE__ */
|
|
2152
|
+
endIcon: /* @__PURE__ */ React47.createElement(CollapseIcon, { open }),
|
|
1939
2153
|
sx: { my: 0.5 }
|
|
1940
2154
|
},
|
|
1941
2155
|
open ? __26("Show less", "elementor") : __26("Show more", "elementor")
|
|
1942
|
-
), /* @__PURE__ */
|
|
2156
|
+
), /* @__PURE__ */ React47.createElement(Collapse3, { in: open, timeout: "auto", unmountOnExit: true }, children));
|
|
1943
2157
|
};
|
|
1944
2158
|
|
|
1945
2159
|
// src/components/style-sections/typography-section/font-family-field.tsx
|
|
1946
|
-
import * as
|
|
1947
|
-
import { useMemo as useMemo3 } from "react";
|
|
2160
|
+
import * as React48 from "react";
|
|
1948
2161
|
import { ControlLabel as ControlLabel19, FontFamilyControl } from "@elementor/editor-controls";
|
|
1949
2162
|
import { Grid as Grid14 } from "@elementor/ui";
|
|
2163
|
+
import { __ as __28 } from "@wordpress/i18n";
|
|
2164
|
+
|
|
2165
|
+
// src/components/style-sections/typography-section/hooks/use-font-families.ts
|
|
2166
|
+
import { useMemo as useMemo3 } from "react";
|
|
1950
2167
|
import { __ as __27 } from "@wordpress/i18n";
|
|
1951
2168
|
|
|
1952
2169
|
// src/sync/get-elementor-config.ts
|
|
@@ -1955,254 +2172,229 @@ var getElementorConfig = () => {
|
|
|
1955
2172
|
return extendedWindow.elementor?.config ?? {};
|
|
1956
2173
|
};
|
|
1957
2174
|
|
|
1958
|
-
// src/components/style-sections/typography-section/font-
|
|
2175
|
+
// src/components/style-sections/typography-section/hooks/use-font-families.ts
|
|
1959
2176
|
var supportedCategories = {
|
|
1960
2177
|
system: __27("System", "elementor"),
|
|
1961
2178
|
custom: __27("Custom Fonts", "elementor"),
|
|
1962
2179
|
googlefonts: __27("Google Fonts", "elementor")
|
|
1963
2180
|
};
|
|
1964
|
-
var FontFamilyField = () => {
|
|
1965
|
-
const fontFamilies = useFontFamilies();
|
|
1966
|
-
if (Object.keys(fontFamilies).length === 0) {
|
|
1967
|
-
return null;
|
|
1968
|
-
}
|
|
1969
|
-
return /* @__PURE__ */ React47.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React47.createElement(Grid14, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(Grid14, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(ControlLabel19, null, __27("Font family", "elementor"))), /* @__PURE__ */ React47.createElement(Grid14, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React47.createElement(FontFamilyControl, { fontFamilies }))));
|
|
1970
|
-
};
|
|
1971
2181
|
var getFontFamilies = () => {
|
|
1972
2182
|
const { controls } = getElementorConfig();
|
|
1973
|
-
const
|
|
1974
|
-
if (!
|
|
2183
|
+
const options12 = controls?.font?.options;
|
|
2184
|
+
if (!options12) {
|
|
1975
2185
|
return null;
|
|
1976
2186
|
}
|
|
1977
|
-
return
|
|
2187
|
+
return options12;
|
|
1978
2188
|
};
|
|
1979
2189
|
var useFontFamilies = () => {
|
|
1980
2190
|
const fontFamilies = getFontFamilies();
|
|
1981
|
-
return useMemo3(
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
if (!categoryLabel) {
|
|
2191
|
+
return useMemo3(() => {
|
|
2192
|
+
const categoriesOrder = ["system", "custom", "googlefonts"];
|
|
2193
|
+
return Object.entries(fontFamilies || {}).reduce((acc, [font, category]) => {
|
|
2194
|
+
if (!supportedCategories[category]) {
|
|
1986
2195
|
return acc;
|
|
1987
2196
|
}
|
|
1988
|
-
|
|
1989
|
-
|
|
2197
|
+
const categoryIndex = categoriesOrder.indexOf(category);
|
|
2198
|
+
if (!acc[categoryIndex]) {
|
|
2199
|
+
acc[categoryIndex] = {
|
|
2200
|
+
label: supportedCategories[category],
|
|
2201
|
+
fonts: []
|
|
2202
|
+
};
|
|
1990
2203
|
}
|
|
1991
|
-
acc[
|
|
2204
|
+
acc[categoryIndex].fonts.push(font);
|
|
1992
2205
|
return acc;
|
|
1993
|
-
},
|
|
1994
|
-
|
|
1995
|
-
|
|
2206
|
+
}, []).filter(Boolean);
|
|
2207
|
+
}, [fontFamilies]);
|
|
2208
|
+
};
|
|
2209
|
+
|
|
2210
|
+
// src/components/style-sections/typography-section/font-family-field.tsx
|
|
2211
|
+
var FontFamilyField = () => {
|
|
2212
|
+
const fontFamilies = useFontFamilies();
|
|
2213
|
+
if (fontFamilies.length === 0) {
|
|
2214
|
+
return null;
|
|
2215
|
+
}
|
|
2216
|
+
return /* @__PURE__ */ React48.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React48.createElement(Grid14, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(Grid14, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(ControlLabel19, null, __28("Font family", "elementor"))), /* @__PURE__ */ React48.createElement(Grid14, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React48.createElement(FontFamilyControl, { fontFamilies }))));
|
|
1996
2217
|
};
|
|
1997
2218
|
|
|
1998
2219
|
// src/components/style-sections/typography-section/font-size-field.tsx
|
|
1999
|
-
import * as
|
|
2220
|
+
import * as React49 from "react";
|
|
2000
2221
|
import { ControlLabel as ControlLabel20, SizeControl as SizeControl5 } from "@elementor/editor-controls";
|
|
2001
2222
|
import { Grid as Grid15 } from "@elementor/ui";
|
|
2002
|
-
import { __ as
|
|
2223
|
+
import { __ as __29 } from "@wordpress/i18n";
|
|
2003
2224
|
var FontSizeField = () => {
|
|
2004
|
-
return /* @__PURE__ */
|
|
2225
|
+
return /* @__PURE__ */ React49.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React49.createElement(Grid15, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(Grid15, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(ControlLabel20, null, __29("Font size", "elementor"))), /* @__PURE__ */ React49.createElement(Grid15, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(SizeControl5, null))));
|
|
2005
2226
|
};
|
|
2006
2227
|
|
|
2007
2228
|
// src/components/style-sections/typography-section/font-style-field.tsx
|
|
2008
|
-
import * as
|
|
2229
|
+
import * as React50 from "react";
|
|
2009
2230
|
import { ControlLabel as ControlLabel21, ToggleControl as ToggleControl8 } from "@elementor/editor-controls";
|
|
2010
2231
|
import { ItalicIcon, MinusIcon as MinusIcon2 } from "@elementor/icons";
|
|
2011
2232
|
import { Grid as Grid16 } from "@elementor/ui";
|
|
2012
|
-
import { __ as
|
|
2233
|
+
import { __ as __30 } from "@wordpress/i18n";
|
|
2013
2234
|
var options7 = [
|
|
2014
2235
|
{
|
|
2015
2236
|
value: "normal",
|
|
2016
|
-
label:
|
|
2017
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2237
|
+
label: __30("Normal", "elementor"),
|
|
2238
|
+
renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(MinusIcon2, { fontSize: size }),
|
|
2018
2239
|
showTooltip: true
|
|
2019
2240
|
},
|
|
2020
2241
|
{
|
|
2021
2242
|
value: "italic",
|
|
2022
|
-
label:
|
|
2023
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2243
|
+
label: __30("Italic", "elementor"),
|
|
2244
|
+
renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(ItalicIcon, { fontSize: size }),
|
|
2024
2245
|
showTooltip: true
|
|
2025
2246
|
}
|
|
2026
2247
|
];
|
|
2027
|
-
var FontStyleField = () => /* @__PURE__ */
|
|
2248
|
+
var FontStyleField = () => /* @__PURE__ */ React50.createElement(StylesField, { bind: "font-style" }, /* @__PURE__ */ React50.createElement(Grid16, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React50.createElement(Grid16, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(ControlLabel21, null, __30("Font style", "elementor"))), /* @__PURE__ */ React50.createElement(Grid16, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React50.createElement(ToggleControl8, { options: options7 }))));
|
|
2028
2249
|
|
|
2029
2250
|
// src/components/style-sections/typography-section/font-weight-field.tsx
|
|
2030
|
-
import * as
|
|
2251
|
+
import * as React51 from "react";
|
|
2031
2252
|
import { ControlLabel as ControlLabel22, SelectControl as SelectControl4 } from "@elementor/editor-controls";
|
|
2032
2253
|
import { Grid as Grid17 } from "@elementor/ui";
|
|
2033
|
-
import { __ as
|
|
2254
|
+
import { __ as __31 } from "@wordpress/i18n";
|
|
2034
2255
|
var fontWeightOptions = [
|
|
2035
|
-
{ value: "100", label:
|
|
2036
|
-
{ value: "200", label:
|
|
2037
|
-
{ value: "300", label:
|
|
2038
|
-
{ value: "400", label:
|
|
2039
|
-
{ value: "500", label:
|
|
2040
|
-
{ value: "600", label:
|
|
2041
|
-
{ value: "700", label:
|
|
2042
|
-
{ value: "800", label:
|
|
2043
|
-
{ value: "900", label:
|
|
2256
|
+
{ value: "100", label: __31("100 - Thin", "elementor") },
|
|
2257
|
+
{ value: "200", label: __31("200 - Extra light", "elementor") },
|
|
2258
|
+
{ value: "300", label: __31("300 - Light", "elementor") },
|
|
2259
|
+
{ value: "400", label: __31("400 - Normal", "elementor") },
|
|
2260
|
+
{ value: "500", label: __31("500 - Medium", "elementor") },
|
|
2261
|
+
{ value: "600", label: __31("600 - Semi bold", "elementor") },
|
|
2262
|
+
{ value: "700", label: __31("700 - Bold", "elementor") },
|
|
2263
|
+
{ value: "800", label: __31("800 - Extra bold", "elementor") },
|
|
2264
|
+
{ value: "900", label: __31("900 - Black", "elementor") }
|
|
2044
2265
|
];
|
|
2045
2266
|
var FontWeightField = () => {
|
|
2046
|
-
return /* @__PURE__ */
|
|
2267
|
+
return /* @__PURE__ */ React51.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React51.createElement(Grid17, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React51.createElement(Grid17, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(ControlLabel22, null, __31("Font weight", "elementor"))), /* @__PURE__ */ React51.createElement(Grid17, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React51.createElement(SelectControl4, { options: fontWeightOptions }))));
|
|
2047
2268
|
};
|
|
2048
2269
|
|
|
2049
2270
|
// src/components/style-sections/typography-section/letter-spacing-field.tsx
|
|
2050
|
-
import * as
|
|
2271
|
+
import * as React52 from "react";
|
|
2051
2272
|
import { ControlLabel as ControlLabel23, SizeControl as SizeControl6 } from "@elementor/editor-controls";
|
|
2052
2273
|
import { Grid as Grid18 } from "@elementor/ui";
|
|
2053
|
-
import { __ as
|
|
2274
|
+
import { __ as __32 } from "@wordpress/i18n";
|
|
2054
2275
|
var LetterSpacingField = () => {
|
|
2055
|
-
return /* @__PURE__ */
|
|
2276
|
+
return /* @__PURE__ */ React52.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React52.createElement(Grid18, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(ControlLabel23, null, __32("Letter spacing", "elementor"))), /* @__PURE__ */ React52.createElement(Grid18, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(SizeControl6, null))));
|
|
2056
2277
|
};
|
|
2057
2278
|
|
|
2058
2279
|
// src/components/style-sections/typography-section/line-height-field.tsx
|
|
2059
|
-
import * as
|
|
2280
|
+
import * as React53 from "react";
|
|
2060
2281
|
import { ControlLabel as ControlLabel24, SizeControl as SizeControl7 } from "@elementor/editor-controls";
|
|
2061
2282
|
import { Grid as Grid19 } from "@elementor/ui";
|
|
2062
|
-
import { __ as
|
|
2283
|
+
import { __ as __33 } from "@wordpress/i18n";
|
|
2063
2284
|
var LineHeightField = () => {
|
|
2064
|
-
return /* @__PURE__ */
|
|
2285
|
+
return /* @__PURE__ */ React53.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React53.createElement(Grid19, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React53.createElement(Grid19, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(ControlLabel24, null, __33("Line height", "elementor"))), /* @__PURE__ */ React53.createElement(Grid19, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(SizeControl7, null))));
|
|
2065
2286
|
};
|
|
2066
2287
|
|
|
2067
2288
|
// src/components/style-sections/typography-section/text-alignment-field.tsx
|
|
2068
|
-
import * as
|
|
2289
|
+
import * as React54 from "react";
|
|
2069
2290
|
import { ControlLabel as ControlLabel25, ToggleControl as ToggleControl9 } from "@elementor/editor-controls";
|
|
2070
2291
|
import { AlignCenterIcon, AlignJustifiedIcon, AlignLeftIcon, AlignRightIcon } from "@elementor/icons";
|
|
2071
2292
|
import { Grid as Grid20, withDirection as withDirection8 } from "@elementor/ui";
|
|
2072
|
-
import { __ as
|
|
2293
|
+
import { __ as __34 } from "@wordpress/i18n";
|
|
2073
2294
|
var StartIcon4 = withDirection8(AlignLeftIcon);
|
|
2074
2295
|
var EndIcon4 = withDirection8(AlignRightIcon);
|
|
2075
2296
|
var options8 = [
|
|
2076
2297
|
{
|
|
2077
2298
|
value: "start",
|
|
2078
|
-
label:
|
|
2079
|
-
renderContent: () => /* @__PURE__ */
|
|
2299
|
+
label: __34("Start", "elementor"),
|
|
2300
|
+
renderContent: () => /* @__PURE__ */ React54.createElement(RotatedIcon, { icon: StartIcon4, size: "tiny" }),
|
|
2080
2301
|
showTooltip: true
|
|
2081
2302
|
},
|
|
2082
2303
|
{
|
|
2083
2304
|
value: "center",
|
|
2084
|
-
label:
|
|
2085
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2305
|
+
label: __34("Center", "elementor"),
|
|
2306
|
+
renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(AlignCenterIcon, { fontSize: size }),
|
|
2086
2307
|
showTooltip: true
|
|
2087
2308
|
},
|
|
2088
2309
|
{
|
|
2089
2310
|
value: "end",
|
|
2090
|
-
label:
|
|
2091
|
-
renderContent: () => /* @__PURE__ */
|
|
2311
|
+
label: __34("End", "elementor"),
|
|
2312
|
+
renderContent: () => /* @__PURE__ */ React54.createElement(RotatedIcon, { icon: EndIcon4, size: "tiny" }),
|
|
2092
2313
|
showTooltip: true
|
|
2093
2314
|
},
|
|
2094
2315
|
{
|
|
2095
2316
|
value: "justify",
|
|
2096
|
-
label:
|
|
2097
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2317
|
+
label: __34("Justify", "elementor"),
|
|
2318
|
+
renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(AlignJustifiedIcon, { fontSize: size }),
|
|
2098
2319
|
showTooltip: true
|
|
2099
2320
|
}
|
|
2100
2321
|
];
|
|
2101
2322
|
var TextAlignmentField = () => {
|
|
2102
|
-
return /* @__PURE__ */
|
|
2323
|
+
return /* @__PURE__ */ React54.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React54.createElement(Grid20, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React54.createElement(Grid20, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(ControlLabel25, null, __34("Alignment", "elementor"))), /* @__PURE__ */ React54.createElement(Grid20, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React54.createElement(ToggleControl9, { options: options8 }))));
|
|
2103
2324
|
};
|
|
2104
2325
|
|
|
2105
2326
|
// src/components/style-sections/typography-section/text-color-field.tsx
|
|
2106
|
-
import * as
|
|
2327
|
+
import * as React55 from "react";
|
|
2107
2328
|
import { ColorControl as ColorControl2, ControlLabel as ControlLabel26 } from "@elementor/editor-controls";
|
|
2108
2329
|
import { Grid as Grid21 } from "@elementor/ui";
|
|
2109
|
-
import { __ as
|
|
2330
|
+
import { __ as __35 } from "@wordpress/i18n";
|
|
2110
2331
|
var TextColorField = () => {
|
|
2111
|
-
return /* @__PURE__ */
|
|
2332
|
+
return /* @__PURE__ */ React55.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React55.createElement(Grid21, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(Grid21, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(ControlLabel26, null, __35("Text color", "elementor"))), /* @__PURE__ */ React55.createElement(Grid21, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(ColorControl2, null))));
|
|
2112
2333
|
};
|
|
2113
2334
|
|
|
2114
2335
|
// src/components/style-sections/typography-section/text-decoration-field.tsx
|
|
2115
|
-
import * as
|
|
2116
|
-
import { ControlLabel as ControlLabel27 } from "@elementor/editor-controls";
|
|
2117
|
-
import { StrikethroughIcon, UnderlineIcon } from "@elementor/icons";
|
|
2118
|
-
import { Grid as Grid22
|
|
2119
|
-
import { __ as
|
|
2120
|
-
var
|
|
2121
|
-
|
|
2122
|
-
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2131
|
-
})
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
"aria-label": "underline"
|
|
2149
|
-
},
|
|
2150
|
-
/* @__PURE__ */ React55.createElement(UnderlineIcon, { fontSize: buttonSize })
|
|
2151
|
-
))));
|
|
2152
|
-
};
|
|
2153
|
-
var ShorthandControl = ({
|
|
2154
|
-
children,
|
|
2155
|
-
value,
|
|
2156
|
-
currentValues,
|
|
2157
|
-
updateValues,
|
|
2158
|
-
"aria-label": ariaLabel
|
|
2159
|
-
}) => {
|
|
2160
|
-
const valuesArr = currentValues.split(" ").filter(Boolean);
|
|
2161
|
-
const selected = valuesArr.includes(value);
|
|
2162
|
-
const toggleValue = (newValue) => {
|
|
2163
|
-
if (selected) {
|
|
2164
|
-
updateValues(valuesArr.filter((v) => v !== newValue).join(" ") || null);
|
|
2165
|
-
} else {
|
|
2166
|
-
updateValues([...valuesArr, newValue].join(" "));
|
|
2167
|
-
}
|
|
2168
|
-
};
|
|
2169
|
-
return /* @__PURE__ */ React55.createElement(ToggleButton, { value, onChange: toggleValue, selected, "aria-label": ariaLabel }, children);
|
|
2170
|
-
};
|
|
2171
|
-
var ToggleButton = ({ onChange, ...props }) => {
|
|
2172
|
-
const handleChange = (_e, newValue) => {
|
|
2173
|
-
onChange(newValue);
|
|
2174
|
-
};
|
|
2175
|
-
return /* @__PURE__ */ React55.createElement(ToggleButtonBase, { ...props, onChange: handleChange, size: buttonSize });
|
|
2176
|
-
};
|
|
2336
|
+
import * as React56 from "react";
|
|
2337
|
+
import { ControlLabel as ControlLabel27, ToggleControl as ToggleControl10 } from "@elementor/editor-controls";
|
|
2338
|
+
import { MinusIcon as MinusIcon3, OverlineIcon, StrikethroughIcon, UnderlineIcon } from "@elementor/icons";
|
|
2339
|
+
import { Grid as Grid22 } from "@elementor/ui";
|
|
2340
|
+
import { __ as __36 } from "@wordpress/i18n";
|
|
2341
|
+
var options9 = [
|
|
2342
|
+
{
|
|
2343
|
+
value: "none",
|
|
2344
|
+
label: __36("None", "elementor"),
|
|
2345
|
+
renderContent: ({ size }) => /* @__PURE__ */ React56.createElement(MinusIcon3, { fontSize: size }),
|
|
2346
|
+
showTooltip: true,
|
|
2347
|
+
exclusive: true
|
|
2348
|
+
},
|
|
2349
|
+
{
|
|
2350
|
+
value: "underline",
|
|
2351
|
+
label: __36("Underline", "elementor"),
|
|
2352
|
+
renderContent: ({ size }) => /* @__PURE__ */ React56.createElement(UnderlineIcon, { fontSize: size }),
|
|
2353
|
+
showTooltip: true
|
|
2354
|
+
},
|
|
2355
|
+
{
|
|
2356
|
+
value: "line-through",
|
|
2357
|
+
label: __36("Line-through", "elementor"),
|
|
2358
|
+
renderContent: ({ size }) => /* @__PURE__ */ React56.createElement(StrikethroughIcon, { fontSize: size }),
|
|
2359
|
+
showTooltip: true
|
|
2360
|
+
},
|
|
2361
|
+
{
|
|
2362
|
+
value: "overline",
|
|
2363
|
+
label: __36("Overline", "elementor"),
|
|
2364
|
+
renderContent: ({ size }) => /* @__PURE__ */ React56.createElement(OverlineIcon, { fontSize: size }),
|
|
2365
|
+
showTooltip: true
|
|
2366
|
+
}
|
|
2367
|
+
];
|
|
2368
|
+
var TextDecorationField = () => /* @__PURE__ */ React56.createElement(StylesField, { bind: "text-decoration" }, /* @__PURE__ */ React56.createElement(Grid22, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React56.createElement(Grid22, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(ControlLabel27, null, __36("Line decoration", "elementor"))), /* @__PURE__ */ React56.createElement(Grid22, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React56.createElement(ToggleControl10, { options: options9, exclusive: false }))));
|
|
2177
2369
|
|
|
2178
2370
|
// src/components/style-sections/typography-section/text-direction-field.tsx
|
|
2179
|
-
import * as
|
|
2180
|
-
import { ControlLabel as ControlLabel28, ToggleControl as
|
|
2371
|
+
import * as React57 from "react";
|
|
2372
|
+
import { ControlLabel as ControlLabel28, ToggleControl as ToggleControl11 } from "@elementor/editor-controls";
|
|
2181
2373
|
import { TextDirectionLtrIcon, TextDirectionRtlIcon } from "@elementor/icons";
|
|
2182
2374
|
import { Grid as Grid23 } from "@elementor/ui";
|
|
2183
|
-
import { __ as
|
|
2184
|
-
var
|
|
2375
|
+
import { __ as __37 } from "@wordpress/i18n";
|
|
2376
|
+
var options10 = [
|
|
2185
2377
|
{
|
|
2186
2378
|
value: "ltr",
|
|
2187
|
-
label:
|
|
2188
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2379
|
+
label: __37("Left to right", "elementor"),
|
|
2380
|
+
renderContent: ({ size }) => /* @__PURE__ */ React57.createElement(TextDirectionLtrIcon, { fontSize: size }),
|
|
2189
2381
|
showTooltip: true
|
|
2190
2382
|
},
|
|
2191
2383
|
{
|
|
2192
2384
|
value: "rtl",
|
|
2193
|
-
label:
|
|
2194
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2385
|
+
label: __37("Right to left", "elementor"),
|
|
2386
|
+
renderContent: ({ size }) => /* @__PURE__ */ React57.createElement(TextDirectionRtlIcon, { fontSize: size }),
|
|
2195
2387
|
showTooltip: true
|
|
2196
2388
|
}
|
|
2197
2389
|
];
|
|
2198
2390
|
var TextDirectionField = () => {
|
|
2199
|
-
return /* @__PURE__ */
|
|
2391
|
+
return /* @__PURE__ */ React57.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React57.createElement(Grid23, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React57.createElement(Grid23, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(ControlLabel28, null, __37("Direction", "elementor"))), /* @__PURE__ */ React57.createElement(Grid23, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React57.createElement(ToggleControl11, { options: options10 }))));
|
|
2200
2392
|
};
|
|
2201
2393
|
|
|
2202
2394
|
// src/components/style-sections/typography-section/text-stroke-field.tsx
|
|
2203
|
-
import * as
|
|
2395
|
+
import * as React58 from "react";
|
|
2204
2396
|
import { StrokeControl } from "@elementor/editor-controls";
|
|
2205
|
-
import { __ as
|
|
2397
|
+
import { __ as __38 } from "@wordpress/i18n";
|
|
2206
2398
|
var initTextStroke = {
|
|
2207
2399
|
$$type: "stroke",
|
|
2208
2400
|
value: {
|
|
@@ -2228,74 +2420,73 @@ var TextStrokeField = () => {
|
|
|
2228
2420
|
setTextStroke(null);
|
|
2229
2421
|
};
|
|
2230
2422
|
const hasTextStroke = Boolean(textStroke);
|
|
2231
|
-
return /* @__PURE__ */
|
|
2423
|
+
return /* @__PURE__ */ React58.createElement(
|
|
2232
2424
|
AddOrRemoveContent,
|
|
2233
2425
|
{
|
|
2234
|
-
label:
|
|
2426
|
+
label: __38("Text stroke", "elementor"),
|
|
2235
2427
|
isAdded: hasTextStroke,
|
|
2236
2428
|
onAdd: addTextStroke,
|
|
2237
2429
|
onRemove: removeTextStroke
|
|
2238
2430
|
},
|
|
2239
|
-
/* @__PURE__ */
|
|
2431
|
+
/* @__PURE__ */ React58.createElement(StylesField, { bind: "stroke" }, /* @__PURE__ */ React58.createElement(StrokeControl, null))
|
|
2240
2432
|
);
|
|
2241
2433
|
};
|
|
2242
2434
|
|
|
2243
2435
|
// src/components/style-sections/typography-section/transform-field.tsx
|
|
2244
|
-
import * as
|
|
2245
|
-
import { ControlLabel as ControlLabel29, ToggleControl as
|
|
2246
|
-
import { LetterCaseIcon, LetterCaseLowerIcon, LetterCaseUpperIcon, MinusIcon as
|
|
2436
|
+
import * as React59 from "react";
|
|
2437
|
+
import { ControlLabel as ControlLabel29, ToggleControl as ToggleControl12 } from "@elementor/editor-controls";
|
|
2438
|
+
import { LetterCaseIcon, LetterCaseLowerIcon, LetterCaseUpperIcon, MinusIcon as MinusIcon4 } from "@elementor/icons";
|
|
2247
2439
|
import { Grid as Grid24 } from "@elementor/ui";
|
|
2248
|
-
import { __ as
|
|
2249
|
-
var
|
|
2440
|
+
import { __ as __39 } from "@wordpress/i18n";
|
|
2441
|
+
var options11 = [
|
|
2250
2442
|
{
|
|
2251
2443
|
value: "none",
|
|
2252
|
-
label:
|
|
2253
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2444
|
+
label: __39("None", "elementor"),
|
|
2445
|
+
renderContent: ({ size }) => /* @__PURE__ */ React59.createElement(MinusIcon4, { fontSize: size }),
|
|
2254
2446
|
showTooltip: true
|
|
2255
2447
|
},
|
|
2256
2448
|
{
|
|
2257
2449
|
value: "capitalize",
|
|
2258
|
-
label:
|
|
2259
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2450
|
+
label: __39("Capitalize", "elementor"),
|
|
2451
|
+
renderContent: ({ size }) => /* @__PURE__ */ React59.createElement(LetterCaseIcon, { fontSize: size }),
|
|
2260
2452
|
showTooltip: true
|
|
2261
2453
|
},
|
|
2262
2454
|
{
|
|
2263
2455
|
value: "uppercase",
|
|
2264
|
-
label:
|
|
2265
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2456
|
+
label: __39("Uppercase", "elementor"),
|
|
2457
|
+
renderContent: ({ size }) => /* @__PURE__ */ React59.createElement(LetterCaseUpperIcon, { fontSize: size }),
|
|
2266
2458
|
showTooltip: true
|
|
2267
2459
|
},
|
|
2268
2460
|
{
|
|
2269
2461
|
value: "lowercase",
|
|
2270
|
-
label:
|
|
2271
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2462
|
+
label: __39("Lowercase", "elementor"),
|
|
2463
|
+
renderContent: ({ size }) => /* @__PURE__ */ React59.createElement(LetterCaseLowerIcon, { fontSize: size }),
|
|
2272
2464
|
showTooltip: true
|
|
2273
2465
|
}
|
|
2274
2466
|
];
|
|
2275
|
-
var TransformField = () => /* @__PURE__ */
|
|
2467
|
+
var TransformField = () => /* @__PURE__ */ React59.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React59.createElement(Grid24, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React59.createElement(Grid24, { item: true, xs: 6 }, /* @__PURE__ */ React59.createElement(ControlLabel29, null, __39("Text transform", "elementor"))), /* @__PURE__ */ React59.createElement(Grid24, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React59.createElement(ToggleControl12, { options: options11 }))));
|
|
2276
2468
|
|
|
2277
2469
|
// src/components/style-sections/typography-section/word-spacing-field.tsx
|
|
2278
|
-
import * as
|
|
2470
|
+
import * as React60 from "react";
|
|
2279
2471
|
import { ControlLabel as ControlLabel30, SizeControl as SizeControl8 } from "@elementor/editor-controls";
|
|
2280
2472
|
import { Grid as Grid25 } from "@elementor/ui";
|
|
2281
|
-
import { __ as
|
|
2473
|
+
import { __ as __40 } from "@wordpress/i18n";
|
|
2282
2474
|
var WordSpacingField = () => {
|
|
2283
|
-
return /* @__PURE__ */
|
|
2475
|
+
return /* @__PURE__ */ React60.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React60.createElement(Grid25, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React60.createElement(Grid25, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(ControlLabel30, null, __40("Word spacing", "elementor"))), /* @__PURE__ */ React60.createElement(Grid25, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(SizeControl8, null))));
|
|
2284
2476
|
};
|
|
2285
2477
|
|
|
2286
2478
|
// src/components/style-sections/typography-section/typography-section.tsx
|
|
2287
2479
|
var TypographySection = () => {
|
|
2288
|
-
return /* @__PURE__ */
|
|
2480
|
+
return /* @__PURE__ */ React61.createElement(SectionContent, null, /* @__PURE__ */ React61.createElement(FontFamilyField, null), /* @__PURE__ */ React61.createElement(FontWeightField, null), /* @__PURE__ */ React61.createElement(FontSizeField, null), /* @__PURE__ */ React61.createElement(PanelDivider, null), /* @__PURE__ */ React61.createElement(TextAlignmentField, null), /* @__PURE__ */ React61.createElement(TextColorField, null), /* @__PURE__ */ React61.createElement(CollapsibleContent, null, /* @__PURE__ */ React61.createElement(SectionContent, { sx: { pt: 2 } }, /* @__PURE__ */ React61.createElement(LineHeightField, null), /* @__PURE__ */ React61.createElement(LetterSpacingField, null), /* @__PURE__ */ React61.createElement(WordSpacingField, null), /* @__PURE__ */ React61.createElement(PanelDivider, null), /* @__PURE__ */ React61.createElement(TextDecorationField, null), /* @__PURE__ */ React61.createElement(TransformField, null), /* @__PURE__ */ React61.createElement(TextDirectionField, null), /* @__PURE__ */ React61.createElement(FontStyleField, null), /* @__PURE__ */ React61.createElement(TextStrokeField, null))));
|
|
2289
2481
|
};
|
|
2290
2482
|
|
|
2291
2483
|
// src/components/style-tab.tsx
|
|
2292
|
-
var CLASSES_PROP_KEY = "classes";
|
|
2293
2484
|
var StyleTab = () => {
|
|
2294
2485
|
const currentClassesProp = useCurrentClassesProp();
|
|
2295
2486
|
const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
|
|
2296
2487
|
const [activeStyleState, setActiveStyleState] = useState7(null);
|
|
2297
2488
|
const breakpoint = useActiveBreakpoint();
|
|
2298
|
-
return /* @__PURE__ */
|
|
2489
|
+
return /* @__PURE__ */ React62.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React62.createElement(
|
|
2299
2490
|
StyleProvider,
|
|
2300
2491
|
{
|
|
2301
2492
|
meta: { breakpoint, state: activeStyleState },
|
|
@@ -2306,7 +2497,7 @@ var StyleTab = () => {
|
|
|
2306
2497
|
},
|
|
2307
2498
|
setMetaState: setActiveStyleState
|
|
2308
2499
|
},
|
|
2309
|
-
/* @__PURE__ */
|
|
2500
|
+
/* @__PURE__ */ React62.createElement(SessionStorageProvider2, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React62.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React62.createElement(CssClassSelector, null), /* @__PURE__ */ React62.createElement(Divider4, null), /* @__PURE__ */ React62.createElement(SectionsList, null, /* @__PURE__ */ React62.createElement(Section, { title: __41("Layout", "elementor") }, /* @__PURE__ */ React62.createElement(LayoutSection, null)), /* @__PURE__ */ React62.createElement(Section, { title: __41("Spacing", "elementor") }, /* @__PURE__ */ React62.createElement(SpacingSection, null)), /* @__PURE__ */ React62.createElement(Section, { title: __41("Size", "elementor") }, /* @__PURE__ */ React62.createElement(SizeSection, null)), /* @__PURE__ */ React62.createElement(Section, { title: __41("Position", "elementor") }, /* @__PURE__ */ React62.createElement(PositionSection, null)), /* @__PURE__ */ React62.createElement(Section, { title: __41("Typography", "elementor") }, /* @__PURE__ */ React62.createElement(TypographySection, null)), /* @__PURE__ */ React62.createElement(Section, { title: __41("Background", "elementor") }, /* @__PURE__ */ React62.createElement(BackgroundSection, null)), /* @__PURE__ */ React62.createElement(Section, { title: __41("Border", "elementor") }, /* @__PURE__ */ React62.createElement(BorderSection, null)), /* @__PURE__ */ React62.createElement(Section, { title: __41("Effects", "elementor") }, /* @__PURE__ */ React62.createElement(EffectsSection, null)))))
|
|
2310
2501
|
));
|
|
2311
2502
|
};
|
|
2312
2503
|
function useActiveStyleDefId(currentClassesProp) {
|
|
@@ -2316,8 +2507,8 @@ function useActiveStyleDefId(currentClassesProp) {
|
|
|
2316
2507
|
}
|
|
2317
2508
|
function useFirstElementStyleDef(currentClassesProp) {
|
|
2318
2509
|
const { element } = useElement();
|
|
2319
|
-
const classesIds =
|
|
2320
|
-
const stylesDefs =
|
|
2510
|
+
const classesIds = useElementSetting5(element.id, currentClassesProp)?.value || [];
|
|
2511
|
+
const stylesDefs = getElementStyles(element.id) ?? {};
|
|
2321
2512
|
return Object.values(stylesDefs).find((styleDef) => classesIds.includes(styleDef.id));
|
|
2322
2513
|
}
|
|
2323
2514
|
function useCurrentClassesProp() {
|
|
@@ -2338,7 +2529,7 @@ var EditingPanelTabs = () => {
|
|
|
2338
2529
|
return (
|
|
2339
2530
|
// When switching between elements, the local states should be reset. We are using key to rerender the tabs.
|
|
2340
2531
|
// Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
|
|
2341
|
-
/* @__PURE__ */
|
|
2532
|
+
/* @__PURE__ */ React63.createElement(Fragment8, { key: element.id }, /* @__PURE__ */ React63.createElement(Stack13, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React63.createElement(Tabs, { variant: "fullWidth", indicatorColor: "secondary", textColor: "inherit", ...getTabsProps() }, /* @__PURE__ */ React63.createElement(Tab, { label: __42("General", "elementor"), ...getTabProps("settings") }), /* @__PURE__ */ React63.createElement(Tab, { label: __42("Style", "elementor"), ...getTabProps("style") })), /* @__PURE__ */ React63.createElement(Divider5, null), /* @__PURE__ */ React63.createElement(TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React63.createElement(SettingsTab, null)), /* @__PURE__ */ React63.createElement(TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React63.createElement(StyleTab, null))))
|
|
2342
2533
|
);
|
|
2343
2534
|
};
|
|
2344
2535
|
|
|
@@ -2351,8 +2542,8 @@ var EditingPanel = () => {
|
|
|
2351
2542
|
if (!element || !elementType) {
|
|
2352
2543
|
return null;
|
|
2353
2544
|
}
|
|
2354
|
-
const panelTitle =
|
|
2355
|
-
return /* @__PURE__ */
|
|
2545
|
+
const panelTitle = __43("Edit %s", "elementor").replace("%s", elementType.title);
|
|
2546
|
+
return /* @__PURE__ */ React64.createElement(ErrorBoundary, { fallback: /* @__PURE__ */ React64.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React64.createElement(SessionStorageProvider3, { prefix: "elementor" }, /* @__PURE__ */ React64.createElement(Panel, null, /* @__PURE__ */ React64.createElement(PanelHeader, null, /* @__PURE__ */ React64.createElement(PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React64.createElement(AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React64.createElement(PanelBody, null, /* @__PURE__ */ React64.createElement(ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React64.createElement(ControlReplacementProvider, { ...controlReplacement }, /* @__PURE__ */ React64.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React64.createElement(EditingPanelTabs, null))))))));
|
|
2356
2547
|
};
|
|
2357
2548
|
|
|
2358
2549
|
// src/panel.ts
|
|
@@ -2363,12 +2554,12 @@ var { panel, usePanelActions, usePanelStatus } = createPanel({
|
|
|
2363
2554
|
|
|
2364
2555
|
// src/init.ts
|
|
2365
2556
|
import { injectIntoLogic } from "@elementor/editor";
|
|
2557
|
+
import { PrefetchUserData } from "@elementor/editor-current-user";
|
|
2366
2558
|
import { __registerPanel as registerPanel } from "@elementor/editor-panels";
|
|
2367
2559
|
import { blockCommand } from "@elementor/editor-v1-adapters";
|
|
2368
2560
|
|
|
2369
|
-
// src/hooks/use-
|
|
2561
|
+
// src/hooks/use-open-editor-panel.ts
|
|
2370
2562
|
import { useEffect as useEffect2 } from "react";
|
|
2371
|
-
import { getSelectedElements as getSelectedElements2, isElementInContainer } from "@elementor/editor-elements";
|
|
2372
2563
|
import { __privateListenTo as listenTo, commandStartEvent } from "@elementor/editor-v1-adapters";
|
|
2373
2564
|
|
|
2374
2565
|
// src/sync/is-atomic-widget-selected.ts
|
|
@@ -2382,28 +2573,11 @@ var isAtomicWidgetSelected = () => {
|
|
|
2382
2573
|
return !!widgetCache?.[selectedElements[0].type]?.atomic_controls;
|
|
2383
2574
|
};
|
|
2384
2575
|
|
|
2385
|
-
// src/hooks/use-close-editor-panel.ts
|
|
2386
|
-
var useCloseEditorPanel = () => {
|
|
2387
|
-
const { close } = usePanelActions();
|
|
2388
|
-
return useEffect2(() => {
|
|
2389
|
-
return listenTo(commandStartEvent("document/elements/delete"), (e) => {
|
|
2390
|
-
const selectedElement = getSelectedElements2()[0];
|
|
2391
|
-
const { container: deletedContainer } = e?.args;
|
|
2392
|
-
const isSelectedElementInDeletedContainer = deletedContainer && selectedElement && isElementInContainer(selectedElement, deletedContainer);
|
|
2393
|
-
if (isSelectedElementInDeletedContainer && isAtomicWidgetSelected()) {
|
|
2394
|
-
close();
|
|
2395
|
-
}
|
|
2396
|
-
});
|
|
2397
|
-
}, []);
|
|
2398
|
-
};
|
|
2399
|
-
|
|
2400
2576
|
// src/hooks/use-open-editor-panel.ts
|
|
2401
|
-
import { useEffect as useEffect3 } from "react";
|
|
2402
|
-
import { __privateListenTo as listenTo2, commandStartEvent as commandStartEvent2 } from "@elementor/editor-v1-adapters";
|
|
2403
2577
|
var useOpenEditorPanel = () => {
|
|
2404
2578
|
const { open } = usePanelActions();
|
|
2405
|
-
|
|
2406
|
-
return
|
|
2579
|
+
useEffect2(() => {
|
|
2580
|
+
return listenTo(commandStartEvent("panel/editor/open"), () => {
|
|
2407
2581
|
if (isAtomicWidgetSelected()) {
|
|
2408
2582
|
open();
|
|
2409
2583
|
}
|
|
@@ -2414,12 +2588,11 @@ var useOpenEditorPanel = () => {
|
|
|
2414
2588
|
// src/components/editing-panel-hooks.tsx
|
|
2415
2589
|
var EditingPanelHooks = () => {
|
|
2416
2590
|
useOpenEditorPanel();
|
|
2417
|
-
useCloseEditorPanel();
|
|
2418
2591
|
return null;
|
|
2419
2592
|
};
|
|
2420
2593
|
|
|
2421
2594
|
// src/dynamics/components/dynamic-selection-control.tsx
|
|
2422
|
-
import * as
|
|
2595
|
+
import * as React68 from "react";
|
|
2423
2596
|
import { useId as useId4 } from "react";
|
|
2424
2597
|
import { ControlLabel as ControlLabel31, useBoundProp as useBoundProp4 } from "@elementor/editor-controls";
|
|
2425
2598
|
import { DatabaseIcon as DatabaseIcon2, SettingsIcon, XIcon as XIcon2 } from "@elementor/icons";
|
|
@@ -2441,12 +2614,12 @@ import {
|
|
|
2441
2614
|
usePopupState as usePopupState3,
|
|
2442
2615
|
useTabs as useTabs2
|
|
2443
2616
|
} from "@elementor/ui";
|
|
2444
|
-
import { __ as
|
|
2617
|
+
import { __ as __45 } from "@wordpress/i18n";
|
|
2445
2618
|
|
|
2446
2619
|
// src/components/popover-content.tsx
|
|
2447
|
-
import * as
|
|
2620
|
+
import * as React65 from "react";
|
|
2448
2621
|
import { Stack as Stack14 } from "@elementor/ui";
|
|
2449
|
-
var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */
|
|
2622
|
+
var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React65.createElement(Stack14, { alignItems, gap, p }, children);
|
|
2450
2623
|
|
|
2451
2624
|
// src/hooks/use-persist-dynamic-value.ts
|
|
2452
2625
|
import { useSessionStorage as useSessionStorage2 } from "@elementor/session";
|
|
@@ -2457,7 +2630,7 @@ var usePersistDynamicValue = (propKey) => {
|
|
|
2457
2630
|
};
|
|
2458
2631
|
|
|
2459
2632
|
// src/dynamics/dynamic-control.tsx
|
|
2460
|
-
import * as
|
|
2633
|
+
import * as React66 from "react";
|
|
2461
2634
|
import { PropKeyProvider as PropKeyProvider3, PropProvider as PropProvider3, useBoundProp as useBoundProp2 } from "@elementor/editor-controls";
|
|
2462
2635
|
|
|
2463
2636
|
// src/dynamics/hooks/use-dynamic-tag.ts
|
|
@@ -2559,11 +2732,11 @@ var DynamicControl = ({ bind, children }) => {
|
|
|
2559
2732
|
});
|
|
2560
2733
|
};
|
|
2561
2734
|
const propType = createTopLevelOjectType({ schema: dynamicTag.props_schema });
|
|
2562
|
-
return /* @__PURE__ */
|
|
2735
|
+
return /* @__PURE__ */ React66.createElement(PropProvider3, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React66.createElement(PropKeyProvider3, { bind }, children));
|
|
2563
2736
|
};
|
|
2564
2737
|
|
|
2565
2738
|
// src/dynamics/components/dynamic-selection.tsx
|
|
2566
|
-
import * as
|
|
2739
|
+
import * as React67 from "react";
|
|
2567
2740
|
import { Fragment as Fragment9, useState as useState8 } from "react";
|
|
2568
2741
|
import { useBoundProp as useBoundProp3 } from "@elementor/editor-controls";
|
|
2569
2742
|
import { DatabaseIcon, SearchIcon } from "@elementor/icons";
|
|
@@ -2579,7 +2752,7 @@ import {
|
|
|
2579
2752
|
TextField as TextField2,
|
|
2580
2753
|
Typography as Typography4
|
|
2581
2754
|
} from "@elementor/ui";
|
|
2582
|
-
import { __ as
|
|
2755
|
+
import { __ as __44 } from "@wordpress/i18n";
|
|
2583
2756
|
var SIZE3 = "tiny";
|
|
2584
2757
|
var DynamicSelection = ({ onSelect }) => {
|
|
2585
2758
|
const [searchValue, setSearchValue] = useState8("");
|
|
@@ -2588,7 +2761,8 @@ var DynamicSelection = ({ onSelect }) => {
|
|
|
2588
2761
|
const { bind, value: dynamicValue, setValue } = useBoundProp3(dynamicPropTypeUtil);
|
|
2589
2762
|
const [, updatePropValueHistory] = usePersistDynamicValue(bind);
|
|
2590
2763
|
const isCurrentValueDynamic = !!dynamicValue;
|
|
2591
|
-
const
|
|
2764
|
+
const options12 = useFilteredOptions(searchValue);
|
|
2765
|
+
const hasNoDynamicTags = !options12.length && !searchValue.trim();
|
|
2592
2766
|
const handleSearch = (event) => {
|
|
2593
2767
|
setSearchValue(event.target.value);
|
|
2594
2768
|
};
|
|
@@ -2599,21 +2773,27 @@ var DynamicSelection = ({ onSelect }) => {
|
|
|
2599
2773
|
setValue({ name: value, settings: {} });
|
|
2600
2774
|
onSelect?.();
|
|
2601
2775
|
};
|
|
2602
|
-
return /* @__PURE__ */
|
|
2776
|
+
return /* @__PURE__ */ React67.createElement(Stack15, null, hasNoDynamicTags ? /* @__PURE__ */ React67.createElement(NoDynamicTags, null) : /* @__PURE__ */ React67.createElement(Fragment9, null, /* @__PURE__ */ React67.createElement(Box4, { px: 1.5, pb: 1 }, /* @__PURE__ */ React67.createElement(
|
|
2603
2777
|
TextField2,
|
|
2604
2778
|
{
|
|
2605
2779
|
fullWidth: true,
|
|
2606
2780
|
size: SIZE3,
|
|
2607
2781
|
value: searchValue,
|
|
2608
2782
|
onChange: handleSearch,
|
|
2609
|
-
placeholder:
|
|
2783
|
+
placeholder: __44("Search dynamic tags\u2026", "elementor"),
|
|
2610
2784
|
InputProps: {
|
|
2611
|
-
startAdornment: /* @__PURE__ */
|
|
2785
|
+
startAdornment: /* @__PURE__ */ React67.createElement(InputAdornment, { position: "start" }, /* @__PURE__ */ React67.createElement(SearchIcon, { fontSize: SIZE3 }))
|
|
2612
2786
|
}
|
|
2613
2787
|
}
|
|
2614
|
-
)), /* @__PURE__ */
|
|
2788
|
+
)), /* @__PURE__ */ React67.createElement(Divider6, null), /* @__PURE__ */ React67.createElement(Box4, { sx: { overflowY: "auto", height: 260, width: 220 } }, options12.length > 0 ? /* @__PURE__ */ React67.createElement(MenuList, { role: "listbox", tabIndex: 0 }, options12.map(([category, items3], index) => /* @__PURE__ */ React67.createElement(Fragment9, { key: index }, /* @__PURE__ */ React67.createElement(
|
|
2789
|
+
ListSubheader2,
|
|
2790
|
+
{
|
|
2791
|
+
sx: { px: 1.5, typography: "caption", color: "text.tertiary" }
|
|
2792
|
+
},
|
|
2793
|
+
dynamicGroups?.[category]?.title || category
|
|
2794
|
+
), items3.map(({ value, label: tagLabel }) => {
|
|
2615
2795
|
const isSelected = isCurrentValueDynamic && value === dynamicValue?.name;
|
|
2616
|
-
return /* @__PURE__ */
|
|
2796
|
+
return /* @__PURE__ */ React67.createElement(
|
|
2617
2797
|
MenuItem2,
|
|
2618
2798
|
{
|
|
2619
2799
|
key: value,
|
|
@@ -2624,34 +2804,41 @@ var DynamicSelection = ({ onSelect }) => {
|
|
|
2624
2804
|
},
|
|
2625
2805
|
tagLabel
|
|
2626
2806
|
);
|
|
2627
|
-
})))) : /* @__PURE__ */
|
|
2628
|
-
Stack15,
|
|
2629
|
-
{
|
|
2630
|
-
gap: 1,
|
|
2631
|
-
alignItems: "center",
|
|
2632
|
-
justifyContent: "center",
|
|
2633
|
-
height: "100%",
|
|
2634
|
-
p: 2.5,
|
|
2635
|
-
color: "text.secondary",
|
|
2636
|
-
sx: { pb: 3.5 }
|
|
2637
|
-
},
|
|
2638
|
-
/* @__PURE__ */ React66.createElement(DatabaseIcon, { fontSize: "large" }),
|
|
2639
|
-
/* @__PURE__ */ React66.createElement(Typography4, { align: "center", variant: "subtitle2" }, __43("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React66.createElement("br", null), "\u201C", searchValue, "\u201D."),
|
|
2640
|
-
/* @__PURE__ */ React66.createElement(Typography4, { align: "center", variant: "caption" }, __43("Try something else.", "elementor"), "\xA0", /* @__PURE__ */ React66.createElement(
|
|
2641
|
-
Link,
|
|
2642
|
-
{
|
|
2643
|
-
color: "text.secondary",
|
|
2644
|
-
variant: "caption",
|
|
2645
|
-
component: "button",
|
|
2646
|
-
onClick: () => setSearchValue("")
|
|
2647
|
-
},
|
|
2648
|
-
__43("Clear & try again", "elementor")
|
|
2649
|
-
))
|
|
2650
|
-
)));
|
|
2807
|
+
})))) : /* @__PURE__ */ React67.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") }))));
|
|
2651
2808
|
};
|
|
2809
|
+
var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React67.createElement(
|
|
2810
|
+
Stack15,
|
|
2811
|
+
{
|
|
2812
|
+
gap: 1,
|
|
2813
|
+
alignItems: "center",
|
|
2814
|
+
justifyContent: "center",
|
|
2815
|
+
height: "100%",
|
|
2816
|
+
p: 2.5,
|
|
2817
|
+
color: "text.secondary",
|
|
2818
|
+
sx: { pb: 3.5 }
|
|
2819
|
+
},
|
|
2820
|
+
/* @__PURE__ */ React67.createElement(DatabaseIcon, { fontSize: "large" }),
|
|
2821
|
+
/* @__PURE__ */ React67.createElement(Typography4, { align: "center", variant: "subtitle2" }, __44("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React67.createElement("br", null), "\u201C", searchValue, "\u201D."),
|
|
2822
|
+
/* @__PURE__ */ React67.createElement(Typography4, { align: "center", variant: "caption" }, __44("Try something else.", "elementor"), "\xA0", /* @__PURE__ */ React67.createElement(Link, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, __44("Clear & try again", "elementor")))
|
|
2823
|
+
);
|
|
2824
|
+
var NoDynamicTags = () => /* @__PURE__ */ React67.createElement(Box4, { sx: { overflowY: "hidden", height: 297, width: 220 } }, /* @__PURE__ */ React67.createElement(Divider6, null), /* @__PURE__ */ React67.createElement(
|
|
2825
|
+
Stack15,
|
|
2826
|
+
{
|
|
2827
|
+
gap: 1,
|
|
2828
|
+
alignItems: "center",
|
|
2829
|
+
justifyContent: "center",
|
|
2830
|
+
height: "100%",
|
|
2831
|
+
p: 2.5,
|
|
2832
|
+
color: "text.secondary",
|
|
2833
|
+
sx: { pb: 3.5 }
|
|
2834
|
+
},
|
|
2835
|
+
/* @__PURE__ */ React67.createElement(DatabaseIcon, { fontSize: "large" }),
|
|
2836
|
+
/* @__PURE__ */ React67.createElement(Typography4, { align: "center", variant: "subtitle2" }, __44("Streamline your workflow with dynamic tags", "elementor")),
|
|
2837
|
+
/* @__PURE__ */ React67.createElement(Typography4, { align: "center", variant: "caption" }, __44("You\u2019ll need Elementor Pro to use this feature.", "elementor"))
|
|
2838
|
+
));
|
|
2652
2839
|
var useFilteredOptions = (searchValue) => {
|
|
2653
2840
|
const dynamicTags = usePropDynamicTags();
|
|
2654
|
-
const
|
|
2841
|
+
const options12 = dynamicTags.reduce((categories, { name, label, group }) => {
|
|
2655
2842
|
const isVisible = label.toLowerCase().includes(searchValue.trim().toLowerCase());
|
|
2656
2843
|
if (!isVisible) {
|
|
2657
2844
|
return categories;
|
|
@@ -2662,7 +2849,7 @@ var useFilteredOptions = (searchValue) => {
|
|
|
2662
2849
|
categories.get(group)?.push({ label, value: name });
|
|
2663
2850
|
return categories;
|
|
2664
2851
|
}, /* @__PURE__ */ new Map());
|
|
2665
|
-
return [...
|
|
2852
|
+
return [...options12];
|
|
2666
2853
|
};
|
|
2667
2854
|
|
|
2668
2855
|
// src/dynamics/components/dynamic-selection-control.tsx
|
|
@@ -2681,25 +2868,25 @@ var DynamicSelectionControl = () => {
|
|
|
2681
2868
|
if (!dynamicTag) {
|
|
2682
2869
|
throw new Error(`Dynamic tag ${tagName} not found`);
|
|
2683
2870
|
}
|
|
2684
|
-
return /* @__PURE__ */
|
|
2871
|
+
return /* @__PURE__ */ React68.createElement(Box5, null, /* @__PURE__ */ React68.createElement(
|
|
2685
2872
|
Tag,
|
|
2686
2873
|
{
|
|
2687
2874
|
fullWidth: true,
|
|
2688
2875
|
showActionsOnHover: true,
|
|
2689
2876
|
label: dynamicTag.label,
|
|
2690
|
-
startIcon: /* @__PURE__ */
|
|
2877
|
+
startIcon: /* @__PURE__ */ React68.createElement(DatabaseIcon2, { fontSize: SIZE4 }),
|
|
2691
2878
|
...bindTrigger2(selectionPopoverState),
|
|
2692
|
-
actions: /* @__PURE__ */
|
|
2879
|
+
actions: /* @__PURE__ */ React68.createElement(React68.Fragment, null, /* @__PURE__ */ React68.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React68.createElement(
|
|
2693
2880
|
IconButton3,
|
|
2694
2881
|
{
|
|
2695
2882
|
size: SIZE4,
|
|
2696
2883
|
onClick: removeDynamicTag,
|
|
2697
|
-
"aria-label":
|
|
2884
|
+
"aria-label": __45("Remove dynamic value", "elementor")
|
|
2698
2885
|
},
|
|
2699
|
-
/* @__PURE__ */
|
|
2886
|
+
/* @__PURE__ */ React68.createElement(XIcon2, { fontSize: SIZE4 })
|
|
2700
2887
|
))
|
|
2701
2888
|
}
|
|
2702
|
-
), /* @__PURE__ */
|
|
2889
|
+
), /* @__PURE__ */ React68.createElement(
|
|
2703
2890
|
Popover2,
|
|
2704
2891
|
{
|
|
2705
2892
|
disablePortal: true,
|
|
@@ -2707,7 +2894,7 @@ var DynamicSelectionControl = () => {
|
|
|
2707
2894
|
anchorOrigin: { vertical: "bottom", horizontal: "left" },
|
|
2708
2895
|
...bindPopover2(selectionPopoverState)
|
|
2709
2896
|
},
|
|
2710
|
-
/* @__PURE__ */
|
|
2897
|
+
/* @__PURE__ */ React68.createElement(Stack16, null, /* @__PURE__ */ React68.createElement(Stack16, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React68.createElement(DatabaseIcon2, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React68.createElement(Typography5, { variant: "subtitle2" }, __45("Dynamic tags", "elementor")), /* @__PURE__ */ React68.createElement(IconButton3, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React68.createElement(XIcon2, { fontSize: SIZE4 }))), /* @__PURE__ */ React68.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
|
|
2711
2898
|
));
|
|
2712
2899
|
};
|
|
2713
2900
|
var DynamicSettingsPopover = ({ dynamicTag }) => {
|
|
@@ -2717,22 +2904,22 @@ var DynamicSettingsPopover = ({ dynamicTag }) => {
|
|
|
2717
2904
|
if (!hasDynamicSettings) {
|
|
2718
2905
|
return null;
|
|
2719
2906
|
}
|
|
2720
|
-
return /* @__PURE__ */
|
|
2907
|
+
return /* @__PURE__ */ React68.createElement(React68.Fragment, null, /* @__PURE__ */ React68.createElement(
|
|
2721
2908
|
IconButton3,
|
|
2722
2909
|
{
|
|
2723
2910
|
size: SIZE4,
|
|
2724
2911
|
...bindTrigger2(settingsPopupState),
|
|
2725
|
-
"aria-label":
|
|
2912
|
+
"aria-label": __45("Settings", "elementor")
|
|
2726
2913
|
},
|
|
2727
|
-
/* @__PURE__ */
|
|
2728
|
-
), /* @__PURE__ */
|
|
2914
|
+
/* @__PURE__ */ React68.createElement(SettingsIcon, { fontSize: SIZE4 })
|
|
2915
|
+
), /* @__PURE__ */ React68.createElement(
|
|
2729
2916
|
Popover2,
|
|
2730
2917
|
{
|
|
2731
2918
|
disableScrollLock: true,
|
|
2732
2919
|
anchorOrigin: { vertical: "bottom", horizontal: "center" },
|
|
2733
2920
|
...bindPopover2(settingsPopupState)
|
|
2734
2921
|
},
|
|
2735
|
-
/* @__PURE__ */
|
|
2922
|
+
/* @__PURE__ */ React68.createElement(Paper, { component: Stack16, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React68.createElement(Stack16, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React68.createElement(DatabaseIcon2, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React68.createElement(Typography5, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React68.createElement(IconButton3, { sx: { ml: "auto" }, size: SIZE4, onClick: settingsPopupState.close }, /* @__PURE__ */ React68.createElement(XIcon2, { fontSize: SIZE4 }))), /* @__PURE__ */ React68.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
|
|
2736
2923
|
));
|
|
2737
2924
|
};
|
|
2738
2925
|
var DynamicSettings = ({ controls }) => {
|
|
@@ -2741,10 +2928,10 @@ var DynamicSettings = ({ controls }) => {
|
|
|
2741
2928
|
if (!tabs.length) {
|
|
2742
2929
|
return null;
|
|
2743
2930
|
}
|
|
2744
|
-
return /* @__PURE__ */
|
|
2745
|
-
return /* @__PURE__ */
|
|
2931
|
+
return /* @__PURE__ */ React68.createElement(React68.Fragment, null, /* @__PURE__ */ React68.createElement(Tabs2, { indicatorColor: "secondary", textColor: "secondary", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React68.createElement(Tab2, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React68.createElement(Divider7, null), tabs.map(({ value }, index) => {
|
|
2932
|
+
return /* @__PURE__ */ React68.createElement(TabPanel2, { key: index, sx: { flexGrow: 1, py: 0 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React68.createElement(PopoverContent, { p: 1.5 }, value.items.map((item) => {
|
|
2746
2933
|
if (item.type === "control") {
|
|
2747
|
-
return /* @__PURE__ */
|
|
2934
|
+
return /* @__PURE__ */ React68.createElement(Control3, { key: item.value.bind, control: item.value });
|
|
2748
2935
|
}
|
|
2749
2936
|
return null;
|
|
2750
2937
|
})));
|
|
@@ -2754,22 +2941,22 @@ var Control3 = ({ control }) => {
|
|
|
2754
2941
|
if (!getControlByType(control.type)) {
|
|
2755
2942
|
return null;
|
|
2756
2943
|
}
|
|
2757
|
-
return /* @__PURE__ */
|
|
2944
|
+
return /* @__PURE__ */ React68.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React68.createElement(Grid26, { container: true, gap: 1 }, control.label ? /* @__PURE__ */ React68.createElement(Grid26, { item: true, xs: 12 }, /* @__PURE__ */ React68.createElement(ControlLabel31, null, control.label)) : null, /* @__PURE__ */ React68.createElement(Grid26, { item: true, xs: 12 }, /* @__PURE__ */ React68.createElement(Control, { type: control.type, props: control.props }))));
|
|
2758
2945
|
};
|
|
2759
2946
|
|
|
2760
2947
|
// src/dynamics/hooks/use-prop-dynamic-action.tsx
|
|
2761
|
-
import * as
|
|
2948
|
+
import * as React69 from "react";
|
|
2762
2949
|
import { useBoundProp as useBoundProp5 } from "@elementor/editor-controls";
|
|
2763
2950
|
import { DatabaseIcon as DatabaseIcon3 } from "@elementor/icons";
|
|
2764
|
-
import { __ as
|
|
2951
|
+
import { __ as __46 } from "@wordpress/i18n";
|
|
2765
2952
|
var usePropDynamicAction = () => {
|
|
2766
2953
|
const { propType } = useBoundProp5();
|
|
2767
2954
|
const visible = !!propType && supportsDynamic(propType);
|
|
2768
2955
|
return {
|
|
2769
2956
|
visible,
|
|
2770
2957
|
icon: DatabaseIcon3,
|
|
2771
|
-
title:
|
|
2772
|
-
popoverContent: ({ closePopover }) => /* @__PURE__ */
|
|
2958
|
+
title: __46("Dynamic tags", "elementor"),
|
|
2959
|
+
popoverContent: ({ closePopover }) => /* @__PURE__ */ React69.createElement(DynamicSelection, { onSelect: closePopover })
|
|
2773
2960
|
};
|
|
2774
2961
|
};
|
|
2775
2962
|
|
|
@@ -2794,6 +2981,10 @@ function init2() {
|
|
|
2794
2981
|
id: "editing-panel-hooks",
|
|
2795
2982
|
component: EditingPanelHooks
|
|
2796
2983
|
});
|
|
2984
|
+
injectIntoLogic({
|
|
2985
|
+
id: "current-user-data",
|
|
2986
|
+
component: PrefetchUserData
|
|
2987
|
+
});
|
|
2797
2988
|
init();
|
|
2798
2989
|
}
|
|
2799
2990
|
var blockV1Panel = () => {
|