@elementor/editor-editing-panel 1.17.1 → 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 +58 -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 +12 -11
- 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.js
CHANGED
|
@@ -48,6 +48,7 @@ var React7 = __toESM(require("react"));
|
|
|
48
48
|
var import_editor_elements2 = require("@elementor/editor-elements");
|
|
49
49
|
var import_editor_props = require("@elementor/editor-props");
|
|
50
50
|
var import_editor_styles_repository4 = require("@elementor/editor-styles-repository");
|
|
51
|
+
var import_icons2 = require("@elementor/icons");
|
|
51
52
|
var import_locations = require("@elementor/locations");
|
|
52
53
|
var import_ui4 = require("@elementor/ui");
|
|
53
54
|
var import_i18n3 = require("@wordpress/i18n");
|
|
@@ -136,7 +137,7 @@ var import_ui = require("@elementor/ui");
|
|
|
136
137
|
function MultiCombobox({
|
|
137
138
|
actions = [],
|
|
138
139
|
selected,
|
|
139
|
-
options:
|
|
140
|
+
options: options12,
|
|
140
141
|
onSelect,
|
|
141
142
|
...props
|
|
142
143
|
}) {
|
|
@@ -154,23 +155,23 @@ function MultiCombobox({
|
|
|
154
155
|
handleHomeEndKeys: true,
|
|
155
156
|
disabled: loading,
|
|
156
157
|
value: selected,
|
|
157
|
-
options:
|
|
158
|
+
options: options12,
|
|
158
159
|
renderGroup: (params) => /* @__PURE__ */ React4.createElement(Group, { ...params }),
|
|
159
160
|
renderInput: (params) => /* @__PURE__ */ React4.createElement(import_ui.TextField, { ...params }),
|
|
160
161
|
onChange: (_, selectedOrInputValue, reason) => {
|
|
161
162
|
const inputValue = selectedOrInputValue.find((option) => typeof option === "string");
|
|
162
163
|
const optionsAndActions = selectedOrInputValue.filter((option) => typeof option !== "string");
|
|
163
164
|
if (reason === "createOption") {
|
|
164
|
-
const [firstAction] = filterActions(actions, { options:
|
|
165
|
-
if (firstAction) {
|
|
165
|
+
const [firstAction] = filterActions(actions, { options: options12, inputValue: inputValue ?? "" });
|
|
166
|
+
if (firstAction.value) {
|
|
166
167
|
return run(firstAction.apply, firstAction.value);
|
|
167
168
|
}
|
|
168
169
|
}
|
|
169
170
|
const action = optionsAndActions.find((value) => isAction(value));
|
|
170
|
-
if (reason === "selectOption" && action) {
|
|
171
|
+
if (reason === "selectOption" && action?.value) {
|
|
171
172
|
return run(action.apply, action.value);
|
|
172
173
|
}
|
|
173
|
-
const fixedValues =
|
|
174
|
+
const fixedValues = options12.filter((option) => !!option.fixed);
|
|
174
175
|
onSelect?.([.../* @__PURE__ */ new Set([...optionsAndActions, ...fixedValues])]);
|
|
175
176
|
},
|
|
176
177
|
getOptionLabel: (option) => typeof option === "string" ? option : option.label,
|
|
@@ -178,7 +179,7 @@ function MultiCombobox({
|
|
|
178
179
|
if (typeof option === "string") {
|
|
179
180
|
return option;
|
|
180
181
|
}
|
|
181
|
-
return option.key ?? option.value;
|
|
182
|
+
return option.key ?? option.value ?? option.label;
|
|
182
183
|
},
|
|
183
184
|
filterOptions: (optionList, params) => {
|
|
184
185
|
const selectedValues = selected.map((option) => option.value);
|
|
@@ -190,7 +191,8 @@ function MultiCombobox({
|
|
|
190
191
|
)
|
|
191
192
|
];
|
|
192
193
|
},
|
|
193
|
-
groupBy: (option) => option.group ?? ""
|
|
194
|
+
groupBy: (option) => option.group ?? "",
|
|
195
|
+
renderOption: (optionProps, { label }) => /* @__PURE__ */ React4.createElement("li", { ...optionProps, style: { display: "block", textOverflow: "ellipsis" } }, label)
|
|
194
196
|
}
|
|
195
197
|
);
|
|
196
198
|
}
|
|
@@ -227,8 +229,8 @@ function useActionRunner() {
|
|
|
227
229
|
};
|
|
228
230
|
return { run, loading };
|
|
229
231
|
}
|
|
230
|
-
function filterActions(actions, { options:
|
|
231
|
-
return actions.filter((action) => action.condition(
|
|
232
|
+
function filterActions(actions, { options: options12, inputValue }) {
|
|
233
|
+
return actions.filter((action) => action.condition(options12, inputValue)).map((action, index) => ({
|
|
232
234
|
label: action.label(inputValue),
|
|
233
235
|
value: inputValue,
|
|
234
236
|
group: action.group,
|
|
@@ -302,8 +304,9 @@ function CssClassMenu({ styleId, provider, popupState, handleRename, anchorEl })
|
|
|
302
304
|
},
|
|
303
305
|
getMenuItemsByProvider({ provider, styleId, handleRename, closeMenu: popupState.close }),
|
|
304
306
|
/* @__PURE__ */ React5.createElement(import_ui2.ListSubheader, { sx: { typography: "caption", color: "text.secondary", pb: 0.5, pt: 1 } }, (0, import_i18n.__)("Pseudo classes", "elementor")),
|
|
307
|
+
/* @__PURE__ */ React5.createElement(StateMenuItem, { key: "normal", state: null, styleId, closeMenu: popupState.close }),
|
|
305
308
|
STATES.map((state) => {
|
|
306
|
-
return /* @__PURE__ */ React5.createElement(StateMenuItem, { key: state, state, styleId });
|
|
309
|
+
return /* @__PURE__ */ React5.createElement(StateMenuItem, { key: state, state, styleId, closeMenu: popupState.close });
|
|
307
310
|
})
|
|
308
311
|
);
|
|
309
312
|
}
|
|
@@ -313,12 +316,15 @@ function getMenuItemsByProvider({
|
|
|
313
316
|
handleRename,
|
|
314
317
|
closeMenu
|
|
315
318
|
}) {
|
|
319
|
+
if (!styleId) {
|
|
320
|
+
return [];
|
|
321
|
+
}
|
|
316
322
|
const providerInstance = import_editor_styles_repository2.stylesRepository.getProviderByKey(provider);
|
|
317
323
|
const providerActions = providerInstance?.actions;
|
|
318
324
|
const [canUpdate, canDelete] = [providerActions?.update, providerActions?.delete];
|
|
319
325
|
const actions = [
|
|
320
326
|
canUpdate && /* @__PURE__ */ React5.createElement(RenameClassMenuItem, { key: "rename-class", handleRename, closeMenu }),
|
|
321
|
-
canDelete && /* @__PURE__ */ React5.createElement(UnapplyClassMenuItem, { key: "unapply-class", styleId })
|
|
327
|
+
canDelete && /* @__PURE__ */ React5.createElement(UnapplyClassMenuItem, { key: "unapply-class", styleId, closeMenu })
|
|
322
328
|
].filter(Boolean);
|
|
323
329
|
if (actions.length) {
|
|
324
330
|
actions.unshift(
|
|
@@ -335,7 +341,7 @@ function getMenuItemsByProvider({
|
|
|
335
341
|
}
|
|
336
342
|
return actions;
|
|
337
343
|
}
|
|
338
|
-
function StateMenuItem({ state, styleId, ...props }) {
|
|
344
|
+
function StateMenuItem({ state, styleId, closeMenu, ...props }) {
|
|
339
345
|
const { id: activeId, setId: setActiveId, setMetaState: setActiveMetaState, meta } = useStyle();
|
|
340
346
|
const { state: activeState } = meta;
|
|
341
347
|
const isActive = styleId === activeId;
|
|
@@ -351,14 +357,25 @@ function StateMenuItem({ state, styleId, ...props }) {
|
|
|
351
357
|
setActiveId(styleId);
|
|
352
358
|
}
|
|
353
359
|
setActiveMetaState(state);
|
|
360
|
+
closeMenu();
|
|
354
361
|
}
|
|
355
362
|
},
|
|
356
|
-
state
|
|
363
|
+
state ? state : "Normal"
|
|
357
364
|
);
|
|
358
365
|
}
|
|
359
|
-
function UnapplyClassMenuItem({ styleId, ...props }) {
|
|
366
|
+
function UnapplyClassMenuItem({ styleId, closeMenu, ...props }) {
|
|
360
367
|
const unapplyClass = useUnapplyClass(styleId);
|
|
361
|
-
return /* @__PURE__ */ React5.createElement(
|
|
368
|
+
return /* @__PURE__ */ React5.createElement(
|
|
369
|
+
StyledMenuItem,
|
|
370
|
+
{
|
|
371
|
+
...props,
|
|
372
|
+
onClick: () => {
|
|
373
|
+
unapplyClass();
|
|
374
|
+
closeMenu();
|
|
375
|
+
}
|
|
376
|
+
},
|
|
377
|
+
(0, import_i18n.__)("Remove", "elementor")
|
|
378
|
+
);
|
|
362
379
|
}
|
|
363
380
|
function RenameClassMenuItem({
|
|
364
381
|
handleRename,
|
|
@@ -387,11 +404,12 @@ function CssClassItem({
|
|
|
387
404
|
provider,
|
|
388
405
|
isActive,
|
|
389
406
|
color: colorProp,
|
|
407
|
+
icon,
|
|
390
408
|
chipProps,
|
|
391
409
|
onClickActive,
|
|
392
410
|
renameLabel
|
|
393
411
|
}) {
|
|
394
|
-
const { meta } = useStyle();
|
|
412
|
+
const { meta, setMetaState } = useStyle();
|
|
395
413
|
const popupState = (0, import_ui3.usePopupState)({ variant: "popover" });
|
|
396
414
|
const [chipRef, setChipRef] = (0, import_react5.useState)(null);
|
|
397
415
|
const { onDelete, ...chipGroupProps } = chipProps;
|
|
@@ -409,21 +427,30 @@ function CssClassItem({
|
|
|
409
427
|
const color = error ? "error" : colorProp;
|
|
410
428
|
const providerActions = import_editor_styles_repository3.stylesRepository.getProviderByKey(provider)?.actions;
|
|
411
429
|
const allowRename = Boolean(providerActions?.update);
|
|
430
|
+
const isShowingState = isActive && meta.state;
|
|
412
431
|
return /* @__PURE__ */ React6.createElement(React6.Fragment, null, /* @__PURE__ */ React6.createElement(import_ui3.UnstableChipGroup, { ref: setChipRef, ...chipGroupProps, "aria-label": `Edit ${label}`, role: "group" }, /* @__PURE__ */ React6.createElement(
|
|
413
432
|
import_ui3.Chip,
|
|
414
433
|
{
|
|
415
434
|
size: CHIP_SIZE,
|
|
416
435
|
label: isEditing ? /* @__PURE__ */ React6.createElement(import_editor_ui.EditableField, { ref, error, ...getEditableProps() }) : /* @__PURE__ */ React6.createElement(import_editor_ui.EllipsisWithTooltip, { maxWidth: "10ch", title: label, as: "div" }),
|
|
417
|
-
variant: isActive && !meta.state ? "filled" : "standard",
|
|
436
|
+
variant: isActive && !meta.state && !isEditing ? "filled" : "standard",
|
|
437
|
+
shape: "rounded",
|
|
438
|
+
icon,
|
|
418
439
|
color,
|
|
419
440
|
onClick: () => {
|
|
420
|
-
if (
|
|
441
|
+
if (isShowingState) {
|
|
442
|
+
setMetaState(null);
|
|
443
|
+
return;
|
|
444
|
+
}
|
|
445
|
+
if (allowRename && isActive) {
|
|
421
446
|
openEditMode();
|
|
447
|
+
return;
|
|
422
448
|
}
|
|
423
449
|
onClickActive(id);
|
|
424
450
|
},
|
|
425
451
|
"aria-pressed": isActive,
|
|
426
452
|
sx: {
|
|
453
|
+
cursor: isActive && allowRename && !isShowingState ? "text" : "pointer",
|
|
427
454
|
"&.Mui-focusVisible": {
|
|
428
455
|
boxShadow: "none !important"
|
|
429
456
|
}
|
|
@@ -432,12 +459,19 @@ function CssClassItem({
|
|
|
432
459
|
), !isEditing && /* @__PURE__ */ React6.createElement(
|
|
433
460
|
import_ui3.Chip,
|
|
434
461
|
{
|
|
462
|
+
icon: isShowingState ? void 0 : /* @__PURE__ */ React6.createElement(import_icons.DotsVerticalIcon, { fontSize: "tiny" }),
|
|
435
463
|
size: CHIP_SIZE,
|
|
436
|
-
label: /* @__PURE__ */ React6.createElement(import_ui3.Stack, { direction: "row", gap: 0.5, alignItems: "center" },
|
|
464
|
+
label: isShowingState ? /* @__PURE__ */ React6.createElement(import_ui3.Stack, { direction: "row", gap: 0.5, alignItems: "center" }, /* @__PURE__ */ React6.createElement(import_ui3.Typography, { variant: "inherit" }, meta.state), /* @__PURE__ */ React6.createElement(import_icons.DotsVerticalIcon, { fontSize: "tiny" })) : void 0,
|
|
437
465
|
variant: "filled",
|
|
466
|
+
shape: "rounded",
|
|
438
467
|
color,
|
|
439
468
|
...(0, import_ui3.bindTrigger)(popupState),
|
|
440
|
-
"aria-label": (0, import_i18n2.__)("Open CSS Class Menu", "elementor")
|
|
469
|
+
"aria-label": (0, import_i18n2.__)("Open CSS Class Menu", "elementor"),
|
|
470
|
+
sx: {
|
|
471
|
+
paddingRight: 0,
|
|
472
|
+
...!isShowingState ? { paddingLeft: 0 } : {},
|
|
473
|
+
".MuiChip-label": isShowingState ? { paddingRight: 0 } : { padding: 0 }
|
|
474
|
+
}
|
|
441
475
|
}
|
|
442
476
|
)), /* @__PURE__ */ React6.createElement(
|
|
443
477
|
CssClassMenu,
|
|
@@ -462,29 +496,30 @@ var validateLabel = (newLabel) => {
|
|
|
462
496
|
|
|
463
497
|
// src/components/css-classes/css-class-selector.tsx
|
|
464
498
|
var ID = "elementor-css-class-selector";
|
|
465
|
-
var TAGS_LIMIT =
|
|
499
|
+
var TAGS_LIMIT = 50;
|
|
466
500
|
var EMPTY_OPTION = {
|
|
467
501
|
label: (0, import_i18n3.__)("local", "elementor"),
|
|
468
|
-
value:
|
|
502
|
+
value: null,
|
|
469
503
|
fixed: true,
|
|
470
504
|
color: "primary",
|
|
505
|
+
icon: /* @__PURE__ */ React7.createElement(import_icons2.MapPinIcon, null),
|
|
471
506
|
provider: import_editor_styles_repository4.ELEMENTS_STYLES_PROVIDER_KEY
|
|
472
507
|
};
|
|
473
508
|
var { Slot: ClassSelectorActionsSlot, inject: injectIntoClassSelectorActions } = (0, import_locations.createLocation)();
|
|
474
509
|
function CssClassSelector() {
|
|
475
|
-
const
|
|
510
|
+
const options12 = useOptions();
|
|
476
511
|
const { value: appliedIds, setValue: setAppliedIds, pushValue: pushAppliedId } = useAppliedClassesIds();
|
|
477
512
|
const { id: activeId, setId: setActiveId } = useStyle();
|
|
478
513
|
const actions = useCreateActions({ pushAppliedId, setActiveId });
|
|
479
514
|
const handleApply = useHandleApply(appliedIds, setAppliedIds);
|
|
480
|
-
const applied = useAppliedOptions(
|
|
515
|
+
const applied = useAppliedOptions(options12, appliedIds);
|
|
481
516
|
const active = applied.find((option) => option.value === activeId) ?? EMPTY_OPTION;
|
|
482
517
|
return /* @__PURE__ */ React7.createElement(import_ui4.Stack, { gap: 1, p: 2 }, /* @__PURE__ */ React7.createElement(import_ui4.Stack, { direction: "row", gap: 1, alignItems: "center", justifyContent: "space-between" }, /* @__PURE__ */ React7.createElement(import_ui4.Typography, { component: "label", variant: "caption", htmlFor: ID }, (0, import_i18n3.__)("CSS classes", "elementor")), /* @__PURE__ */ React7.createElement(import_ui4.Stack, { direction: "row", gap: 1 }, /* @__PURE__ */ React7.createElement(ClassSelectorActionsSlot, null))), /* @__PURE__ */ React7.createElement(
|
|
483
518
|
MultiCombobox,
|
|
484
519
|
{
|
|
485
520
|
id: ID,
|
|
486
521
|
size: "tiny",
|
|
487
|
-
options:
|
|
522
|
+
options: options12,
|
|
488
523
|
selected: applied,
|
|
489
524
|
onSelect: handleApply,
|
|
490
525
|
limitTags: TAGS_LIMIT,
|
|
@@ -493,8 +528,10 @@ function CssClassSelector() {
|
|
|
493
528
|
renderTags: (values, getTagProps) => values.map((value, index) => {
|
|
494
529
|
const chipProps = getTagProps({ index });
|
|
495
530
|
const isActive = value.value === active?.value;
|
|
496
|
-
const isElementsProvider = value.provider === import_editor_styles_repository4.ELEMENTS_STYLES_PROVIDER_KEY;
|
|
497
531
|
const renameLabel = (newLabel) => {
|
|
532
|
+
if (!value.value) {
|
|
533
|
+
throw new Error(`Cannot rename a class without style id`);
|
|
534
|
+
}
|
|
498
535
|
return updateClassByProvider(value.provider, { label: newLabel, id: value.value });
|
|
499
536
|
};
|
|
500
537
|
return /* @__PURE__ */ React7.createElement(
|
|
@@ -506,8 +543,9 @@ function CssClassSelector() {
|
|
|
506
543
|
id: value.value,
|
|
507
544
|
isActive,
|
|
508
545
|
color: isActive && value.color ? value.color : "default",
|
|
546
|
+
icon: value.icon,
|
|
509
547
|
chipProps,
|
|
510
|
-
onClickActive: () => setActiveId(
|
|
548
|
+
onClickActive: () => setActiveId(value.value),
|
|
511
549
|
renameLabel
|
|
512
550
|
}
|
|
513
551
|
);
|
|
@@ -537,6 +575,7 @@ function useOptions() {
|
|
|
537
575
|
value: styleDef.id,
|
|
538
576
|
fixed: isElements,
|
|
539
577
|
color: isElements ? "primary" : "global",
|
|
578
|
+
icon: isElements ? /* @__PURE__ */ React7.createElement(import_icons2.MapPinIcon, null) : null,
|
|
540
579
|
provider: provider.key,
|
|
541
580
|
group: provider.labels?.plural
|
|
542
581
|
};
|
|
@@ -565,8 +604,8 @@ function useCreateActions({
|
|
|
565
604
|
};
|
|
566
605
|
});
|
|
567
606
|
}
|
|
568
|
-
function useAppliedOptions(
|
|
569
|
-
const applied =
|
|
607
|
+
function useAppliedOptions(options12, appliedIds) {
|
|
608
|
+
const applied = options12.filter((option) => option.value && appliedIds.includes(option.value));
|
|
570
609
|
const hasElementsProviderStyleApplied = applied.some(
|
|
571
610
|
(option) => option.provider === import_editor_styles_repository4.ELEMENTS_STYLES_PROVIDER_KEY
|
|
572
611
|
);
|
|
@@ -622,14 +661,14 @@ function useHandleApply(appliedIds, setAppliedIds) {
|
|
|
622
661
|
var import_editor_panels2 = require("@elementor/editor-panels");
|
|
623
662
|
|
|
624
663
|
// src/components/editing-panel.tsx
|
|
625
|
-
var
|
|
664
|
+
var React64 = __toESM(require("react"));
|
|
626
665
|
var import_editor_controls42 = require("@elementor/editor-controls");
|
|
627
|
-
var
|
|
666
|
+
var import_editor_elements8 = require("@elementor/editor-elements");
|
|
628
667
|
var import_editor_panels = require("@elementor/editor-panels");
|
|
629
|
-
var
|
|
668
|
+
var import_icons22 = require("@elementor/icons");
|
|
630
669
|
var import_session4 = require("@elementor/session");
|
|
631
670
|
var import_ui49 = require("@elementor/ui");
|
|
632
|
-
var
|
|
671
|
+
var import_i18n43 = require("@wordpress/i18n");
|
|
633
672
|
|
|
634
673
|
// src/controls-actions.ts
|
|
635
674
|
var import_menus = require("@elementor/menus");
|
|
@@ -637,7 +676,7 @@ var import_menus = require("@elementor/menus");
|
|
|
637
676
|
// src/popover-action.tsx
|
|
638
677
|
var React8 = __toESM(require("react"));
|
|
639
678
|
var import_react6 = require("react");
|
|
640
|
-
var
|
|
679
|
+
var import_icons3 = require("@elementor/icons");
|
|
641
680
|
var import_ui5 = require("@elementor/ui");
|
|
642
681
|
var SIZE = "tiny";
|
|
643
682
|
function PopoverAction({
|
|
@@ -665,7 +704,7 @@ function PopoverAction({
|
|
|
665
704
|
},
|
|
666
705
|
...(0, import_ui5.bindPopover)(popupState)
|
|
667
706
|
},
|
|
668
|
-
/* @__PURE__ */ React8.createElement(import_ui5.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React8.createElement(Icon, { fontSize: SIZE, sx: { mr: 0.5 } }), /* @__PURE__ */ React8.createElement(import_ui5.Typography, { variant: "subtitle2" }, title), /* @__PURE__ */ React8.createElement(import_ui5.IconButton, { sx: { ml: "auto" }, size: SIZE, onClick: popupState.close }, /* @__PURE__ */ React8.createElement(
|
|
707
|
+
/* @__PURE__ */ React8.createElement(import_ui5.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React8.createElement(Icon, { fontSize: SIZE, sx: { mr: 0.5 } }), /* @__PURE__ */ React8.createElement(import_ui5.Typography, { variant: "subtitle2" }, title), /* @__PURE__ */ React8.createElement(import_ui5.IconButton, { sx: { ml: "auto" }, size: SIZE, onClick: popupState.close }, /* @__PURE__ */ React8.createElement(import_icons3.XIcon, { fontSize: SIZE }))),
|
|
669
708
|
/* @__PURE__ */ React8.createElement(PopoverContent2, { closePopover: popupState.close })
|
|
670
709
|
));
|
|
671
710
|
}
|
|
@@ -685,10 +724,10 @@ function EditorPanelErrorFallback() {
|
|
|
685
724
|
}
|
|
686
725
|
|
|
687
726
|
// src/components/editing-panel-tabs.tsx
|
|
688
|
-
var
|
|
689
|
-
var
|
|
727
|
+
var React63 = __toESM(require("react"));
|
|
728
|
+
var import_react16 = require("react");
|
|
690
729
|
var import_ui48 = require("@elementor/ui");
|
|
691
|
-
var
|
|
730
|
+
var import_i18n42 = require("@wordpress/i18n");
|
|
692
731
|
|
|
693
732
|
// src/components/settings-tab.tsx
|
|
694
733
|
var React15 = __toESM(require("react"));
|
|
@@ -716,12 +755,13 @@ var getLayoutByType = (type) => controlTypes[type].layout;
|
|
|
716
755
|
// src/controls-registry/control.tsx
|
|
717
756
|
var Control = ({ props, type }) => {
|
|
718
757
|
const ControlByType = getControlByType(type);
|
|
758
|
+
const { element } = useElement();
|
|
719
759
|
if (!ControlByType) {
|
|
720
760
|
throw new ControlTypeNotFoundError({
|
|
721
761
|
context: { controlType: type }
|
|
722
762
|
});
|
|
723
763
|
}
|
|
724
|
-
return /* @__PURE__ */ React10.createElement(ControlByType, { ...props });
|
|
764
|
+
return /* @__PURE__ */ React10.createElement(ControlByType, { ...props, context: { elementId: element.id } });
|
|
725
765
|
};
|
|
726
766
|
|
|
727
767
|
// src/controls-registry/control-type-container.tsx
|
|
@@ -788,9 +828,9 @@ var import_react7 = require("react");
|
|
|
788
828
|
var import_ui9 = require("@elementor/ui");
|
|
789
829
|
|
|
790
830
|
// src/components/collapse-icon.tsx
|
|
791
|
-
var
|
|
831
|
+
var import_icons4 = require("@elementor/icons");
|
|
792
832
|
var import_ui8 = require("@elementor/ui");
|
|
793
|
-
var CollapseIcon = (0, import_ui8.styled)(
|
|
833
|
+
var CollapseIcon = (0, import_ui8.styled)(import_icons4.ChevronDownIcon, {
|
|
794
834
|
shouldForwardProp: (prop) => prop !== "open"
|
|
795
835
|
})(({ theme, open }) => ({
|
|
796
836
|
transform: open ? "rotate(180deg)" : "rotate(0deg)",
|
|
@@ -850,28 +890,202 @@ var Control2 = ({ control }) => {
|
|
|
850
890
|
};
|
|
851
891
|
|
|
852
892
|
// src/components/style-tab.tsx
|
|
853
|
-
var
|
|
854
|
-
var
|
|
855
|
-
var
|
|
856
|
-
var
|
|
893
|
+
var React62 = __toESM(require("react"));
|
|
894
|
+
var import_react15 = require("react");
|
|
895
|
+
var import_editor_elements7 = require("@elementor/editor-elements");
|
|
896
|
+
var import_editor_props5 = require("@elementor/editor-props");
|
|
897
|
+
var import_editor_responsive2 = require("@elementor/editor-responsive");
|
|
857
898
|
var import_session3 = require("@elementor/session");
|
|
858
899
|
var import_ui47 = require("@elementor/ui");
|
|
859
|
-
var
|
|
900
|
+
var import_i18n41 = require("@wordpress/i18n");
|
|
901
|
+
|
|
902
|
+
// src/contexts/styles-inheritance-context.tsx
|
|
903
|
+
var React16 = __toESM(require("react"));
|
|
904
|
+
var import_react8 = require("react");
|
|
905
|
+
var import_editor_elements4 = require("@elementor/editor-elements");
|
|
906
|
+
var import_editor_props2 = require("@elementor/editor-props");
|
|
907
|
+
var import_editor_responsive = require("@elementor/editor-responsive");
|
|
908
|
+
var import_editor_styles_repository5 = require("@elementor/editor-styles-repository");
|
|
909
|
+
|
|
910
|
+
// src/styles-inheritance/utils.ts
|
|
911
|
+
var DEFAULT_STATE = "normal";
|
|
912
|
+
var DEFAULT_BREAKPOINT = "desktop";
|
|
913
|
+
var getStateKey = (state) => state ?? DEFAULT_STATE;
|
|
914
|
+
var getBreakpointKey = (breakpoint) => breakpoint ?? DEFAULT_BREAKPOINT;
|
|
915
|
+
|
|
916
|
+
// src/styles-inheritance/create-snapshots-manager.ts
|
|
917
|
+
function createSnapshotsManager(getStylesByMeta, breakpointsRoot) {
|
|
918
|
+
const breakpointsInheritancePaths = makeBreakpointsInheritancePaths(breakpointsRoot);
|
|
919
|
+
const allBreakpointStatesSnapshots = {};
|
|
920
|
+
const buildMissingSnapshotsForBreakpoint = (currentBreakpointId, parentBreakpoint, state) => {
|
|
921
|
+
const currentBreakpointKey = getBreakpointKey(currentBreakpointId);
|
|
922
|
+
const stateKey = getStateKey(state);
|
|
923
|
+
if (!allBreakpointStatesSnapshots[currentBreakpointKey]) {
|
|
924
|
+
allBreakpointStatesSnapshots[currentBreakpointKey] = {
|
|
925
|
+
[DEFAULT_STATE]: buildStateSnapshotSlot(
|
|
926
|
+
getStylesByMeta({ breakpoint: currentBreakpointId, state: null }),
|
|
927
|
+
parentBreakpoint,
|
|
928
|
+
{},
|
|
929
|
+
null
|
|
930
|
+
)
|
|
931
|
+
};
|
|
932
|
+
}
|
|
933
|
+
if (state && !allBreakpointStatesSnapshots[currentBreakpointKey][stateKey]) {
|
|
934
|
+
allBreakpointStatesSnapshots[currentBreakpointKey][stateKey] = buildStateSnapshotSlot(
|
|
935
|
+
getStylesByMeta({ breakpoint: currentBreakpointId, state }),
|
|
936
|
+
parentBreakpoint,
|
|
937
|
+
allBreakpointStatesSnapshots[currentBreakpointKey],
|
|
938
|
+
state
|
|
939
|
+
);
|
|
940
|
+
}
|
|
941
|
+
};
|
|
942
|
+
return (meta) => {
|
|
943
|
+
const { breakpoint, state } = meta;
|
|
944
|
+
const stateKey = getStateKey(state);
|
|
945
|
+
const breakpointKey = getBreakpointKey(breakpoint);
|
|
946
|
+
if (allBreakpointStatesSnapshots[breakpointKey]?.[stateKey]) {
|
|
947
|
+
return allBreakpointStatesSnapshots[breakpointKey][stateKey].snapshot;
|
|
948
|
+
}
|
|
949
|
+
const breakpointsChain = [...breakpointsInheritancePaths[breakpointKey], breakpoint];
|
|
950
|
+
breakpointsChain.forEach((breakpointId, index) => {
|
|
951
|
+
const parentBreakpointId = index > 0 ? breakpointsChain[index - 1] : null;
|
|
952
|
+
buildMissingSnapshotsForBreakpoint(
|
|
953
|
+
breakpointId,
|
|
954
|
+
parentBreakpointId ? allBreakpointStatesSnapshots[parentBreakpointId] : void 0,
|
|
955
|
+
state
|
|
956
|
+
);
|
|
957
|
+
});
|
|
958
|
+
return allBreakpointStatesSnapshots[breakpointKey]?.[stateKey]?.snapshot;
|
|
959
|
+
};
|
|
960
|
+
}
|
|
961
|
+
function makeBreakpointsInheritancePaths(root) {
|
|
962
|
+
const breakpoints = {};
|
|
963
|
+
const traverse = (node, parent) => {
|
|
964
|
+
const { id, children } = node;
|
|
965
|
+
breakpoints[id] = parent ? [...parent] : [];
|
|
966
|
+
children?.forEach((child) => {
|
|
967
|
+
traverse(child, [...breakpoints[id] ?? [], id]);
|
|
968
|
+
});
|
|
969
|
+
};
|
|
970
|
+
traverse(root);
|
|
971
|
+
return breakpoints;
|
|
972
|
+
}
|
|
973
|
+
function buildStateSnapshotSlot(styles, parentBreakpoint, currentBreakpoint, state) {
|
|
974
|
+
const initialSlot = buildInitialSnapshotFromStyles(styles);
|
|
975
|
+
if (!state) {
|
|
976
|
+
return {
|
|
977
|
+
snapshot: mergeSnapshots([initialSlot.snapshot, parentBreakpoint?.[DEFAULT_STATE]?.snapshot]),
|
|
978
|
+
stateSpecificSnapshot: void 0
|
|
979
|
+
};
|
|
980
|
+
}
|
|
981
|
+
return {
|
|
982
|
+
snapshot: mergeSnapshots([
|
|
983
|
+
initialSlot.snapshot,
|
|
984
|
+
parentBreakpoint?.[state]?.stateSpecificSnapshot,
|
|
985
|
+
currentBreakpoint[DEFAULT_STATE]?.snapshot
|
|
986
|
+
]),
|
|
987
|
+
stateSpecificSnapshot: mergeSnapshots([
|
|
988
|
+
initialSlot.stateSpecificSnapshot,
|
|
989
|
+
parentBreakpoint?.[state]?.stateSpecificSnapshot
|
|
990
|
+
])
|
|
991
|
+
};
|
|
992
|
+
}
|
|
993
|
+
function buildInitialSnapshotFromStyles(styles) {
|
|
994
|
+
const snapshot = {};
|
|
995
|
+
styles.forEach((styleVariantWithId) => {
|
|
996
|
+
const {
|
|
997
|
+
styleVariant: { props }
|
|
998
|
+
} = styleVariantWithId;
|
|
999
|
+
Object.entries(props).forEach(([key, value]) => {
|
|
1000
|
+
if (!snapshot[key]) {
|
|
1001
|
+
snapshot[key] = [];
|
|
1002
|
+
}
|
|
1003
|
+
const snapshotPropValue = {
|
|
1004
|
+
...styleVariantWithId,
|
|
1005
|
+
value
|
|
1006
|
+
};
|
|
1007
|
+
snapshot[key].push(snapshotPropValue);
|
|
1008
|
+
});
|
|
1009
|
+
});
|
|
1010
|
+
return {
|
|
1011
|
+
snapshot,
|
|
1012
|
+
stateSpecificSnapshot: snapshot
|
|
1013
|
+
};
|
|
1014
|
+
}
|
|
1015
|
+
function mergeSnapshots(snapshots) {
|
|
1016
|
+
const snapshot = {};
|
|
1017
|
+
snapshots.filter(Boolean).forEach(
|
|
1018
|
+
(currentSnapshot) => Object.entries(currentSnapshot).forEach(([key, values]) => {
|
|
1019
|
+
if (!snapshot[key]) {
|
|
1020
|
+
snapshot[key] = [];
|
|
1021
|
+
}
|
|
1022
|
+
snapshot[key] = snapshot[key].concat(values);
|
|
1023
|
+
})
|
|
1024
|
+
);
|
|
1025
|
+
return snapshot;
|
|
1026
|
+
}
|
|
1027
|
+
|
|
1028
|
+
// src/styles-inheritance/create-styles-inheritance.ts
|
|
1029
|
+
function createStylesInheritance(styleDefs, breakpointsRoot) {
|
|
1030
|
+
const styleVariantsByMeta = buildStyleVariantsByMetaMapping(styleDefs);
|
|
1031
|
+
const getStyles = ({ breakpoint, state }) => styleVariantsByMeta?.[getBreakpointKey(breakpoint)]?.[getStateKey(state)] ?? [];
|
|
1032
|
+
return createSnapshotsManager(getStyles, breakpointsRoot);
|
|
1033
|
+
}
|
|
1034
|
+
function buildStyleVariantsByMetaMapping(styleDefs) {
|
|
1035
|
+
const breakpointStateSlots = {};
|
|
1036
|
+
styleDefs.forEach((styleDef) => {
|
|
1037
|
+
styleDef.variants.forEach((styleVariant) => {
|
|
1038
|
+
const { meta } = styleVariant;
|
|
1039
|
+
const { state, breakpoint } = meta;
|
|
1040
|
+
const breakpointKey = getBreakpointKey(breakpoint);
|
|
1041
|
+
const stateKey = getStateKey(state);
|
|
1042
|
+
if (!breakpointStateSlots[breakpointKey]) {
|
|
1043
|
+
breakpointStateSlots[breakpointKey] = {};
|
|
1044
|
+
}
|
|
1045
|
+
const breakpointNode = breakpointStateSlots[breakpointKey];
|
|
1046
|
+
if (!breakpointNode[stateKey]) {
|
|
1047
|
+
breakpointNode[stateKey] = [];
|
|
1048
|
+
}
|
|
1049
|
+
breakpointNode[stateKey].push({
|
|
1050
|
+
styleId: styleDef.id,
|
|
1051
|
+
styleVariant
|
|
1052
|
+
});
|
|
1053
|
+
});
|
|
1054
|
+
});
|
|
1055
|
+
return breakpointStateSlots;
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1058
|
+
// src/contexts/styles-inheritance-context.tsx
|
|
1059
|
+
var Context4 = (0, import_react8.createContext)(null);
|
|
1060
|
+
function StyleInheritanceProvider({ children }) {
|
|
1061
|
+
const styleDefs = useAppliedStyles();
|
|
1062
|
+
const breakpointsTree = (0, import_editor_responsive.getBreakpointsTree)();
|
|
1063
|
+
const getSnapshot = createStylesInheritance(styleDefs, breakpointsTree);
|
|
1064
|
+
return /* @__PURE__ */ React16.createElement(Context4.Provider, { value: { getSnapshot } }, children);
|
|
1065
|
+
}
|
|
1066
|
+
var useAppliedStyles = () => {
|
|
1067
|
+
const { element } = useElement();
|
|
1068
|
+
const currentClassesProp = useClassesProp();
|
|
1069
|
+
const classesProp = (0, import_editor_elements4.useElementSetting)(element.id, currentClassesProp);
|
|
1070
|
+
const appliedStyles = import_editor_props2.classesPropTypeUtil.extract(classesProp);
|
|
1071
|
+
const allStyles = import_editor_styles_repository5.stylesRepository.all();
|
|
1072
|
+
return allStyles.filter((style) => appliedStyles?.includes(style.id));
|
|
1073
|
+
};
|
|
860
1074
|
|
|
861
1075
|
// src/components/style-sections/background-section/background-section.tsx
|
|
862
|
-
var
|
|
1076
|
+
var React18 = __toESM(require("react"));
|
|
863
1077
|
var import_editor_controls6 = require("@elementor/editor-controls");
|
|
864
1078
|
|
|
865
1079
|
// src/controls-registry/styles-field.tsx
|
|
866
|
-
var
|
|
1080
|
+
var React17 = __toESM(require("react"));
|
|
867
1081
|
var import_editor_controls5 = require("@elementor/editor-controls");
|
|
868
1082
|
var import_editor_styles2 = require("@elementor/editor-styles");
|
|
869
1083
|
|
|
870
1084
|
// src/hooks/use-styles-fields.ts
|
|
871
|
-
var
|
|
872
|
-
var
|
|
1085
|
+
var import_react9 = require("react");
|
|
1086
|
+
var import_editor_elements5 = require("@elementor/editor-elements");
|
|
873
1087
|
var import_editor_styles = require("@elementor/editor-styles");
|
|
874
|
-
var
|
|
1088
|
+
var import_editor_styles_repository6 = require("@elementor/editor-styles-repository");
|
|
875
1089
|
var import_editor_v1_adapters = require("@elementor/editor-v1-adapters");
|
|
876
1090
|
var import_i18n4 = require("@wordpress/i18n");
|
|
877
1091
|
function useStylesFields(propNames) {
|
|
@@ -880,8 +1094,8 @@ function useStylesFields(propNames) {
|
|
|
880
1094
|
const classesProp = useClassesProp();
|
|
881
1095
|
const undoableUpdateStyle = useUndoableUpdateStyle();
|
|
882
1096
|
const undoableCreateElementStyle = useUndoableCreateElementStyle();
|
|
883
|
-
const [, reRender] = (0,
|
|
884
|
-
(0,
|
|
1097
|
+
const [, reRender] = (0, import_react9.useReducer)((p) => !p, false);
|
|
1098
|
+
(0, import_react9.useEffect)(() => provider?.subscribe(reRender), [provider]);
|
|
885
1099
|
const value = getProps({
|
|
886
1100
|
elementId: element.id,
|
|
887
1101
|
styleId: id,
|
|
@@ -923,35 +1137,35 @@ function getProps({ styleId, elementId, provider, meta, propNames }) {
|
|
|
923
1137
|
);
|
|
924
1138
|
}
|
|
925
1139
|
function useUndoableCreateElementStyle() {
|
|
926
|
-
return (0,
|
|
1140
|
+
return (0, import_react9.useMemo)(() => {
|
|
927
1141
|
return (0, import_editor_v1_adapters.undoable)(
|
|
928
1142
|
{
|
|
929
1143
|
do: (payload) => {
|
|
930
|
-
return (0,
|
|
1144
|
+
return (0, import_editor_elements5.createElementStyle)({
|
|
931
1145
|
...payload,
|
|
932
|
-
label:
|
|
1146
|
+
label: import_editor_styles_repository6.LOCAL_STYLES_RESERVED_LABEL
|
|
933
1147
|
});
|
|
934
1148
|
},
|
|
935
1149
|
undo: ({ elementId }, styleId) => {
|
|
936
|
-
(0,
|
|
1150
|
+
(0, import_editor_elements5.deleteElementStyle)(elementId, styleId);
|
|
937
1151
|
},
|
|
938
1152
|
redo: (payload, styleId) => {
|
|
939
|
-
return (0,
|
|
1153
|
+
return (0, import_editor_elements5.createElementStyle)({
|
|
940
1154
|
...payload,
|
|
941
1155
|
styleId,
|
|
942
|
-
label:
|
|
1156
|
+
label: import_editor_styles_repository6.LOCAL_STYLES_RESERVED_LABEL
|
|
943
1157
|
});
|
|
944
1158
|
}
|
|
945
1159
|
},
|
|
946
1160
|
{
|
|
947
|
-
title: ({ elementId }) => (0,
|
|
1161
|
+
title: ({ elementId }) => (0, import_editor_elements5.getElementLabel)(elementId),
|
|
948
1162
|
subtitle: (0, import_i18n4.__)("Style edited", "elementor")
|
|
949
1163
|
}
|
|
950
1164
|
);
|
|
951
1165
|
}, []);
|
|
952
1166
|
}
|
|
953
1167
|
function useUndoableUpdateStyle() {
|
|
954
|
-
return (0,
|
|
1168
|
+
return (0, import_react9.useMemo)(() => {
|
|
955
1169
|
return (0, import_editor_v1_adapters.undoable)(
|
|
956
1170
|
{
|
|
957
1171
|
do: ({ elementId, styleId, provider, meta, props }) => {
|
|
@@ -977,7 +1191,7 @@ function useUndoableUpdateStyle() {
|
|
|
977
1191
|
}
|
|
978
1192
|
},
|
|
979
1193
|
{
|
|
980
|
-
title: ({ elementId }) => (0,
|
|
1194
|
+
title: ({ elementId }) => (0, import_editor_elements5.getElementLabel)(elementId),
|
|
981
1195
|
subtitle: (0, import_i18n4.__)("Style edited", "elementor")
|
|
982
1196
|
}
|
|
983
1197
|
);
|
|
@@ -1013,39 +1227,39 @@ var StylesField = ({ bind, children }) => {
|
|
|
1013
1227
|
const setValues = (newValue) => {
|
|
1014
1228
|
setValue(newValue[bind]);
|
|
1015
1229
|
};
|
|
1016
|
-
return /* @__PURE__ */
|
|
1230
|
+
return /* @__PURE__ */ React17.createElement(import_editor_controls5.PropProvider, { propType, value: values, setValue: setValues }, /* @__PURE__ */ React17.createElement(import_editor_controls5.PropKeyProvider, { bind }, children));
|
|
1017
1231
|
};
|
|
1018
1232
|
|
|
1019
1233
|
// src/components/style-sections/background-section/background-section.tsx
|
|
1020
1234
|
var BackgroundSection = () => {
|
|
1021
|
-
return /* @__PURE__ */
|
|
1235
|
+
return /* @__PURE__ */ React18.createElement(StylesField, { bind: "background" }, /* @__PURE__ */ React18.createElement(import_editor_controls6.BackgroundControl, null));
|
|
1022
1236
|
};
|
|
1023
1237
|
|
|
1024
1238
|
// src/components/style-sections/border-section/border-section.tsx
|
|
1025
|
-
var
|
|
1239
|
+
var React28 = __toESM(require("react"));
|
|
1026
1240
|
|
|
1027
1241
|
// src/components/panel-divider.tsx
|
|
1028
|
-
var
|
|
1242
|
+
var React19 = __toESM(require("react"));
|
|
1029
1243
|
var import_ui11 = require("@elementor/ui");
|
|
1030
|
-
var PanelDivider = () => /* @__PURE__ */
|
|
1244
|
+
var PanelDivider = () => /* @__PURE__ */ React19.createElement(import_ui11.Divider, { sx: { my: 0.5 } });
|
|
1031
1245
|
|
|
1032
1246
|
// src/components/section-content.tsx
|
|
1033
|
-
var
|
|
1247
|
+
var React20 = __toESM(require("react"));
|
|
1034
1248
|
var import_ui12 = require("@elementor/ui");
|
|
1035
|
-
var SectionContent = ({ gap = 2, sx, children }) => /* @__PURE__ */
|
|
1249
|
+
var SectionContent = ({ gap = 2, sx, children }) => /* @__PURE__ */ React20.createElement(import_ui12.Stack, { gap, sx: { ...sx } }, children);
|
|
1036
1250
|
|
|
1037
1251
|
// src/components/style-sections/border-section/border-field.tsx
|
|
1038
|
-
var
|
|
1252
|
+
var React26 = __toESM(require("react"));
|
|
1039
1253
|
var import_i18n8 = require("@wordpress/i18n");
|
|
1040
1254
|
|
|
1041
1255
|
// src/components/add-or-remove-content.tsx
|
|
1042
|
-
var
|
|
1256
|
+
var React21 = __toESM(require("react"));
|
|
1043
1257
|
var import_editor_controls7 = require("@elementor/editor-controls");
|
|
1044
|
-
var
|
|
1258
|
+
var import_icons5 = require("@elementor/icons");
|
|
1045
1259
|
var import_ui13 = require("@elementor/ui");
|
|
1046
1260
|
var SIZE2 = "tiny";
|
|
1047
1261
|
var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
|
|
1048
|
-
return /* @__PURE__ */
|
|
1262
|
+
return /* @__PURE__ */ React21.createElement(SectionContent, null, /* @__PURE__ */ React21.createElement(
|
|
1049
1263
|
import_ui13.Stack,
|
|
1050
1264
|
{
|
|
1051
1265
|
direction: "row",
|
|
@@ -1054,22 +1268,22 @@ var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
|
|
|
1054
1268
|
alignItems: "center"
|
|
1055
1269
|
}
|
|
1056
1270
|
},
|
|
1057
|
-
/* @__PURE__ */
|
|
1058
|
-
isAdded ? /* @__PURE__ */
|
|
1059
|
-
), /* @__PURE__ */
|
|
1271
|
+
/* @__PURE__ */ React21.createElement(import_editor_controls7.ControlLabel, null, label),
|
|
1272
|
+
isAdded ? /* @__PURE__ */ React21.createElement(import_ui13.IconButton, { size: SIZE2, onClick: onRemove, "aria-label": "Remove" }, /* @__PURE__ */ React21.createElement(import_icons5.MinusIcon, { fontSize: SIZE2 })) : /* @__PURE__ */ React21.createElement(import_ui13.IconButton, { size: SIZE2, onClick: onAdd, "aria-label": "Add" }, /* @__PURE__ */ React21.createElement(import_icons5.PlusIcon, { fontSize: SIZE2 }))
|
|
1273
|
+
), /* @__PURE__ */ React21.createElement(import_ui13.Collapse, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React21.createElement(SectionContent, null, children)));
|
|
1060
1274
|
};
|
|
1061
1275
|
|
|
1062
1276
|
// src/components/style-sections/border-section/border-color-field.tsx
|
|
1063
|
-
var
|
|
1277
|
+
var React22 = __toESM(require("react"));
|
|
1064
1278
|
var import_editor_controls8 = require("@elementor/editor-controls");
|
|
1065
1279
|
var import_ui14 = require("@elementor/ui");
|
|
1066
1280
|
var import_i18n5 = require("@wordpress/i18n");
|
|
1067
1281
|
var BorderColorField = () => {
|
|
1068
|
-
return /* @__PURE__ */
|
|
1282
|
+
return /* @__PURE__ */ React22.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React22.createElement(import_ui14.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React22.createElement(import_ui14.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React22.createElement(import_editor_controls8.ControlLabel, null, (0, import_i18n5.__)("Border color", "elementor"))), /* @__PURE__ */ React22.createElement(import_ui14.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React22.createElement(import_editor_controls8.ColorControl, null))));
|
|
1069
1283
|
};
|
|
1070
1284
|
|
|
1071
1285
|
// src/components/style-sections/border-section/border-style-field.tsx
|
|
1072
|
-
var
|
|
1286
|
+
var React23 = __toESM(require("react"));
|
|
1073
1287
|
var import_editor_controls9 = require("@elementor/editor-controls");
|
|
1074
1288
|
var import_ui15 = require("@elementor/ui");
|
|
1075
1289
|
var import_i18n6 = require("@wordpress/i18n");
|
|
@@ -1085,14 +1299,14 @@ var borderStyles = [
|
|
|
1085
1299
|
{ value: "outset", label: (0, import_i18n6.__)("Outset", "elementor") }
|
|
1086
1300
|
];
|
|
1087
1301
|
var BorderStyleField = () => {
|
|
1088
|
-
return /* @__PURE__ */
|
|
1302
|
+
return /* @__PURE__ */ React23.createElement(StylesField, { bind: "border-style" }, /* @__PURE__ */ React23.createElement(import_ui15.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React23.createElement(import_ui15.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React23.createElement(import_editor_controls9.ControlLabel, null, (0, import_i18n6.__)("Border type", "elementor"))), /* @__PURE__ */ React23.createElement(import_ui15.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React23.createElement(import_editor_controls9.SelectControl, { options: borderStyles }))));
|
|
1089
1303
|
};
|
|
1090
1304
|
|
|
1091
1305
|
// src/components/style-sections/border-section/border-width-field.tsx
|
|
1092
|
-
var
|
|
1306
|
+
var React25 = __toESM(require("react"));
|
|
1093
1307
|
var import_editor_controls10 = require("@elementor/editor-controls");
|
|
1094
|
-
var
|
|
1095
|
-
var
|
|
1308
|
+
var import_editor_props3 = require("@elementor/editor-props");
|
|
1309
|
+
var import_icons6 = require("@elementor/icons");
|
|
1096
1310
|
var import_ui18 = require("@elementor/ui");
|
|
1097
1311
|
var import_i18n7 = require("@wordpress/i18n");
|
|
1098
1312
|
|
|
@@ -1105,8 +1319,8 @@ function useDirection() {
|
|
|
1105
1319
|
}
|
|
1106
1320
|
|
|
1107
1321
|
// src/components/style-sections/layout-section/utils/rotated-icon.tsx
|
|
1108
|
-
var
|
|
1109
|
-
var
|
|
1322
|
+
var React24 = __toESM(require("react"));
|
|
1323
|
+
var import_react10 = require("react");
|
|
1110
1324
|
var import_ui17 = require("@elementor/ui");
|
|
1111
1325
|
var CLOCKWISE_ANGLES = {
|
|
1112
1326
|
row: 0,
|
|
@@ -1121,9 +1335,9 @@ var COUNTER_CLOCKWISE_ANGLES = {
|
|
|
1121
1335
|
"column-reverse": -270
|
|
1122
1336
|
};
|
|
1123
1337
|
var RotatedIcon = ({ icon: Icon, size, isClockwise = true, offset = 0 }) => {
|
|
1124
|
-
const rotate = (0,
|
|
1338
|
+
const rotate = (0, import_react10.useRef)(useGetTargetAngle(isClockwise, offset));
|
|
1125
1339
|
rotate.current = useGetTargetAngle(isClockwise, offset, rotate);
|
|
1126
|
-
return /* @__PURE__ */
|
|
1340
|
+
return /* @__PURE__ */ React24.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
|
|
1127
1341
|
};
|
|
1128
1342
|
var useGetTargetAngle = (isClockwise, offset, existingRef) => {
|
|
1129
1343
|
const [direction] = useStylesField("flex-direction");
|
|
@@ -1138,40 +1352,40 @@ var useGetTargetAngle = (isClockwise, offset, existingRef) => {
|
|
|
1138
1352
|
};
|
|
1139
1353
|
|
|
1140
1354
|
// src/components/style-sections/border-section/border-width-field.tsx
|
|
1141
|
-
var InlineStartIcon = (0, import_ui18.withDirection)(
|
|
1142
|
-
var InlineEndIcon = (0, import_ui18.withDirection)(
|
|
1355
|
+
var InlineStartIcon = (0, import_ui18.withDirection)(import_icons6.SideRightIcon);
|
|
1356
|
+
var InlineEndIcon = (0, import_ui18.withDirection)(import_icons6.SideLeftIcon);
|
|
1143
1357
|
var getEdges = (isSiteRtl) => [
|
|
1144
1358
|
{
|
|
1145
1359
|
label: (0, import_i18n7.__)("Top", "elementor"),
|
|
1146
|
-
icon: /* @__PURE__ */
|
|
1360
|
+
icon: /* @__PURE__ */ React25.createElement(import_icons6.SideTopIcon, { fontSize: "tiny" }),
|
|
1147
1361
|
bind: "block-start"
|
|
1148
1362
|
},
|
|
1149
1363
|
{
|
|
1150
1364
|
label: isSiteRtl ? (0, import_i18n7.__)("Left", "elementor") : (0, import_i18n7.__)("Right", "elementor"),
|
|
1151
|
-
icon: /* @__PURE__ */
|
|
1365
|
+
icon: /* @__PURE__ */ React25.createElement(RotatedIcon, { icon: InlineStartIcon, size: "tiny" }),
|
|
1152
1366
|
bind: "inline-end"
|
|
1153
1367
|
},
|
|
1154
1368
|
{
|
|
1155
1369
|
label: (0, import_i18n7.__)("Bottom", "elementor"),
|
|
1156
|
-
icon: /* @__PURE__ */
|
|
1370
|
+
icon: /* @__PURE__ */ React25.createElement(import_icons6.SideBottomIcon, { fontSize: "tiny" }),
|
|
1157
1371
|
bind: "block-end"
|
|
1158
1372
|
},
|
|
1159
1373
|
{
|
|
1160
1374
|
label: isSiteRtl ? (0, import_i18n7.__)("Right", "elementor") : (0, import_i18n7.__)("Left", "elementor"),
|
|
1161
|
-
icon: /* @__PURE__ */
|
|
1375
|
+
icon: /* @__PURE__ */ React25.createElement(RotatedIcon, { icon: InlineEndIcon, size: "tiny" }),
|
|
1162
1376
|
bind: "inline-start"
|
|
1163
1377
|
}
|
|
1164
1378
|
];
|
|
1165
1379
|
var BorderWidthField = () => {
|
|
1166
1380
|
const { isSiteRtl } = useDirection();
|
|
1167
|
-
return /* @__PURE__ */
|
|
1381
|
+
return /* @__PURE__ */ React25.createElement(StylesField, { bind: "border-width" }, /* @__PURE__ */ React25.createElement(
|
|
1168
1382
|
import_editor_controls10.EqualUnequalSizesControl,
|
|
1169
1383
|
{
|
|
1170
1384
|
items: getEdges(isSiteRtl),
|
|
1171
1385
|
label: (0, import_i18n7.__)("Border width", "elementor"),
|
|
1172
|
-
icon: /* @__PURE__ */
|
|
1386
|
+
icon: /* @__PURE__ */ React25.createElement(import_icons6.SideAllIcon, { fontSize: "tiny" }),
|
|
1173
1387
|
tooltipLabel: (0, import_i18n7.__)("Adjust borders", "elementor"),
|
|
1174
|
-
multiSizePropTypeUtil:
|
|
1388
|
+
multiSizePropTypeUtil: import_editor_props3.borderWidthPropTypeUtil
|
|
1175
1389
|
}
|
|
1176
1390
|
));
|
|
1177
1391
|
};
|
|
@@ -1195,7 +1409,7 @@ var BorderField = () => {
|
|
|
1195
1409
|
});
|
|
1196
1410
|
};
|
|
1197
1411
|
const hasBorder = Object.values(border ?? {}).some(Boolean);
|
|
1198
|
-
return /* @__PURE__ */
|
|
1412
|
+
return /* @__PURE__ */ React26.createElement(
|
|
1199
1413
|
AddOrRemoveContent,
|
|
1200
1414
|
{
|
|
1201
1415
|
label: (0, import_i18n8.__)("Border", "elementor"),
|
|
@@ -1203,23 +1417,23 @@ var BorderField = () => {
|
|
|
1203
1417
|
onAdd: addBorder,
|
|
1204
1418
|
onRemove: removeBorder
|
|
1205
1419
|
},
|
|
1206
|
-
/* @__PURE__ */
|
|
1207
|
-
/* @__PURE__ */
|
|
1208
|
-
/* @__PURE__ */
|
|
1420
|
+
/* @__PURE__ */ React26.createElement(BorderWidthField, null),
|
|
1421
|
+
/* @__PURE__ */ React26.createElement(BorderColorField, null),
|
|
1422
|
+
/* @__PURE__ */ React26.createElement(BorderStyleField, null)
|
|
1209
1423
|
);
|
|
1210
1424
|
};
|
|
1211
1425
|
|
|
1212
1426
|
// src/components/style-sections/border-section/border-radius-field.tsx
|
|
1213
|
-
var
|
|
1427
|
+
var React27 = __toESM(require("react"));
|
|
1214
1428
|
var import_editor_controls11 = require("@elementor/editor-controls");
|
|
1215
|
-
var
|
|
1216
|
-
var
|
|
1429
|
+
var import_editor_props4 = require("@elementor/editor-props");
|
|
1430
|
+
var import_icons7 = require("@elementor/icons");
|
|
1217
1431
|
var import_ui19 = require("@elementor/ui");
|
|
1218
1432
|
var import_i18n9 = require("@wordpress/i18n");
|
|
1219
|
-
var StartStartIcon = (0, import_ui19.withDirection)(
|
|
1220
|
-
var StartEndIcon = (0, import_ui19.withDirection)(
|
|
1221
|
-
var EndStartIcon = (0, import_ui19.withDirection)(
|
|
1222
|
-
var EndEndIcon = (0, import_ui19.withDirection)(
|
|
1433
|
+
var StartStartIcon = (0, import_ui19.withDirection)(import_icons7.RadiusTopLeftIcon);
|
|
1434
|
+
var StartEndIcon = (0, import_ui19.withDirection)(import_icons7.RadiusTopRightIcon);
|
|
1435
|
+
var EndStartIcon = (0, import_ui19.withDirection)(import_icons7.RadiusBottomLeftIcon);
|
|
1436
|
+
var EndEndIcon = (0, import_ui19.withDirection)(import_icons7.RadiusBottomRightIcon);
|
|
1223
1437
|
var getStartStartLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n9.__)("Top right", "elementor") : (0, import_i18n9.__)("Top left", "elementor");
|
|
1224
1438
|
var getStartEndLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n9.__)("Top left", "elementor") : (0, import_i18n9.__)("Top right", "elementor");
|
|
1225
1439
|
var getEndStartLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n9.__)("Bottom right", "elementor") : (0, import_i18n9.__)("Bottom left", "elementor");
|
|
@@ -1227,53 +1441,53 @@ var getEndEndLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n9.__)("Bottom lef
|
|
|
1227
1441
|
var getCorners = (isSiteRtl) => [
|
|
1228
1442
|
{
|
|
1229
1443
|
label: getStartStartLabel(isSiteRtl),
|
|
1230
|
-
icon: /* @__PURE__ */
|
|
1444
|
+
icon: /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: StartStartIcon, size: "tiny" }),
|
|
1231
1445
|
bind: "start-start"
|
|
1232
1446
|
},
|
|
1233
1447
|
{
|
|
1234
1448
|
label: getStartEndLabel(isSiteRtl),
|
|
1235
|
-
icon: /* @__PURE__ */
|
|
1449
|
+
icon: /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: StartEndIcon, size: "tiny" }),
|
|
1236
1450
|
bind: "start-end"
|
|
1237
1451
|
},
|
|
1238
|
-
{
|
|
1239
|
-
label: getEndEndLabel(isSiteRtl),
|
|
1240
|
-
icon: /* @__PURE__ */ React26.createElement(RotatedIcon, { icon: EndEndIcon, size: "tiny" }),
|
|
1241
|
-
bind: "end-end"
|
|
1242
|
-
},
|
|
1243
1452
|
{
|
|
1244
1453
|
label: getEndStartLabel(isSiteRtl),
|
|
1245
|
-
icon: /* @__PURE__ */
|
|
1454
|
+
icon: /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: EndStartIcon, size: "tiny" }),
|
|
1246
1455
|
bind: "end-start"
|
|
1456
|
+
},
|
|
1457
|
+
{
|
|
1458
|
+
label: getEndEndLabel(isSiteRtl),
|
|
1459
|
+
icon: /* @__PURE__ */ React27.createElement(RotatedIcon, { icon: EndEndIcon, size: "tiny" }),
|
|
1460
|
+
bind: "end-end"
|
|
1247
1461
|
}
|
|
1248
1462
|
];
|
|
1249
1463
|
var BorderRadiusField = () => {
|
|
1250
1464
|
const { isSiteRtl } = useDirection();
|
|
1251
|
-
return /* @__PURE__ */
|
|
1465
|
+
return /* @__PURE__ */ React27.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React27.createElement(
|
|
1252
1466
|
import_editor_controls11.EqualUnequalSizesControl,
|
|
1253
1467
|
{
|
|
1254
1468
|
items: getCorners(isSiteRtl),
|
|
1255
1469
|
label: (0, import_i18n9.__)("Border radius", "elementor"),
|
|
1256
|
-
icon: /* @__PURE__ */
|
|
1470
|
+
icon: /* @__PURE__ */ React27.createElement(import_icons7.BorderCornersIcon, { fontSize: "tiny" }),
|
|
1257
1471
|
tooltipLabel: (0, import_i18n9.__)("Adjust corners", "elementor"),
|
|
1258
|
-
multiSizePropTypeUtil:
|
|
1472
|
+
multiSizePropTypeUtil: import_editor_props4.borderRadiusPropTypeUtil
|
|
1259
1473
|
}
|
|
1260
1474
|
));
|
|
1261
1475
|
};
|
|
1262
1476
|
|
|
1263
1477
|
// src/components/style-sections/border-section/border-section.tsx
|
|
1264
|
-
var BorderSection = () => /* @__PURE__ */
|
|
1478
|
+
var BorderSection = () => /* @__PURE__ */ React28.createElement(SectionContent, null, /* @__PURE__ */ React28.createElement(BorderRadiusField, null), /* @__PURE__ */ React28.createElement(PanelDivider, null), /* @__PURE__ */ React28.createElement(BorderField, null));
|
|
1265
1479
|
|
|
1266
1480
|
// src/components/style-sections/effects-section/effects-section.tsx
|
|
1267
|
-
var
|
|
1481
|
+
var React29 = __toESM(require("react"));
|
|
1268
1482
|
var import_editor_controls12 = require("@elementor/editor-controls");
|
|
1269
1483
|
var EffectsSection = () => {
|
|
1270
|
-
return /* @__PURE__ */
|
|
1484
|
+
return /* @__PURE__ */ React29.createElement(SectionContent, null, /* @__PURE__ */ React29.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React29.createElement(import_editor_controls12.BoxShadowRepeaterControl, null)));
|
|
1271
1485
|
};
|
|
1272
1486
|
|
|
1273
1487
|
// src/components/style-sections/layout-section/layout-section.tsx
|
|
1274
|
-
var
|
|
1488
|
+
var React39 = __toESM(require("react"));
|
|
1275
1489
|
var import_editor_controls22 = require("@elementor/editor-controls");
|
|
1276
|
-
var
|
|
1490
|
+
var import_editor_elements6 = require("@elementor/editor-elements");
|
|
1277
1491
|
var import_i18n19 = require("@wordpress/i18n");
|
|
1278
1492
|
|
|
1279
1493
|
// src/hooks/use-computed-style.ts
|
|
@@ -1302,13 +1516,13 @@ function useComputedStyle(elementId) {
|
|
|
1302
1516
|
}
|
|
1303
1517
|
|
|
1304
1518
|
// src/components/style-sections/layout-section/align-items-field.tsx
|
|
1305
|
-
var
|
|
1519
|
+
var React30 = __toESM(require("react"));
|
|
1306
1520
|
var import_editor_controls13 = require("@elementor/editor-controls");
|
|
1307
|
-
var
|
|
1521
|
+
var import_icons8 = require("@elementor/icons");
|
|
1308
1522
|
var import_ui20 = require("@elementor/ui");
|
|
1309
1523
|
var import_i18n10 = require("@wordpress/i18n");
|
|
1310
|
-
var StartIcon = (0, import_ui20.withDirection)(
|
|
1311
|
-
var EndIcon = (0, import_ui20.withDirection)(
|
|
1524
|
+
var StartIcon = (0, import_ui20.withDirection)(import_icons8.LayoutAlignLeftIcon);
|
|
1525
|
+
var EndIcon = (0, import_ui20.withDirection)(import_icons8.LayoutAlignRightIcon);
|
|
1312
1526
|
var iconProps = {
|
|
1313
1527
|
isClockwise: false,
|
|
1314
1528
|
offset: 90
|
|
@@ -1317,41 +1531,41 @@ var options = [
|
|
|
1317
1531
|
{
|
|
1318
1532
|
value: "start",
|
|
1319
1533
|
label: (0, import_i18n10.__)("Start", "elementor"),
|
|
1320
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1534
|
+
renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
|
|
1321
1535
|
showTooltip: true
|
|
1322
1536
|
},
|
|
1323
1537
|
{
|
|
1324
1538
|
value: "center",
|
|
1325
1539
|
label: (0, import_i18n10.__)("Center", "elementor"),
|
|
1326
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1540
|
+
renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: import_icons8.LayoutAlignCenterIcon, size, ...iconProps }),
|
|
1327
1541
|
showTooltip: true
|
|
1328
1542
|
},
|
|
1329
1543
|
{
|
|
1330
1544
|
value: "end",
|
|
1331
1545
|
label: (0, import_i18n10.__)("End", "elementor"),
|
|
1332
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1546
|
+
renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
|
|
1333
1547
|
showTooltip: true
|
|
1334
1548
|
},
|
|
1335
1549
|
{
|
|
1336
1550
|
value: "stretch",
|
|
1337
1551
|
label: (0, import_i18n10.__)("Stretch", "elementor"),
|
|
1338
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1552
|
+
renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: import_icons8.LayoutDistributeVerticalIcon, size, ...iconProps }),
|
|
1339
1553
|
showTooltip: true
|
|
1340
1554
|
}
|
|
1341
1555
|
];
|
|
1342
1556
|
var AlignItemsField = () => {
|
|
1343
1557
|
const { isSiteRtl } = useDirection();
|
|
1344
|
-
return /* @__PURE__ */
|
|
1558
|
+
return /* @__PURE__ */ React30.createElement(import_ui20.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React30.createElement(import_ui20.ThemeProvider, null, /* @__PURE__ */ React30.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React30.createElement(import_ui20.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React30.createElement(import_ui20.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React30.createElement(import_editor_controls13.ControlLabel, null, (0, import_i18n10.__)("Align items", "elementor"))), /* @__PURE__ */ React30.createElement(import_ui20.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React30.createElement(import_editor_controls13.ToggleControl, { options }))))));
|
|
1345
1559
|
};
|
|
1346
1560
|
|
|
1347
1561
|
// src/components/style-sections/layout-section/align-self-child-field.tsx
|
|
1348
|
-
var
|
|
1562
|
+
var React31 = __toESM(require("react"));
|
|
1349
1563
|
var import_editor_controls14 = require("@elementor/editor-controls");
|
|
1350
|
-
var
|
|
1564
|
+
var import_icons9 = require("@elementor/icons");
|
|
1351
1565
|
var import_ui21 = require("@elementor/ui");
|
|
1352
1566
|
var import_i18n11 = require("@wordpress/i18n");
|
|
1353
|
-
var StartIcon2 = (0, import_ui21.withDirection)(
|
|
1354
|
-
var EndIcon2 = (0, import_ui21.withDirection)(
|
|
1567
|
+
var StartIcon2 = (0, import_ui21.withDirection)(import_icons9.LayoutAlignLeftIcon);
|
|
1568
|
+
var EndIcon2 = (0, import_ui21.withDirection)(import_icons9.LayoutAlignRightIcon);
|
|
1355
1569
|
var iconProps2 = {
|
|
1356
1570
|
isClockwise: false,
|
|
1357
1571
|
offset: 90
|
|
@@ -1360,40 +1574,40 @@ var options2 = [
|
|
|
1360
1574
|
{
|
|
1361
1575
|
value: "start",
|
|
1362
1576
|
label: (0, import_i18n11.__)("Start", "elementor"),
|
|
1363
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1577
|
+
renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
|
|
1364
1578
|
showTooltip: true
|
|
1365
1579
|
},
|
|
1366
1580
|
{
|
|
1367
1581
|
value: "center",
|
|
1368
1582
|
label: (0, import_i18n11.__)("Center", "elementor"),
|
|
1369
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1583
|
+
renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(RotatedIcon, { icon: import_icons9.LayoutAlignCenterIcon, size, ...iconProps2 }),
|
|
1370
1584
|
showTooltip: true
|
|
1371
1585
|
},
|
|
1372
1586
|
{
|
|
1373
1587
|
value: "end",
|
|
1374
1588
|
label: (0, import_i18n11.__)("End", "elementor"),
|
|
1375
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1589
|
+
renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
|
|
1376
1590
|
showTooltip: true
|
|
1377
1591
|
},
|
|
1378
1592
|
{
|
|
1379
1593
|
value: "stretch",
|
|
1380
1594
|
label: (0, import_i18n11.__)("Stretch", "elementor"),
|
|
1381
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1595
|
+
renderContent: ({ size }) => /* @__PURE__ */ React31.createElement(RotatedIcon, { icon: import_icons9.LayoutDistributeVerticalIcon, size, ...iconProps2 }),
|
|
1382
1596
|
showTooltip: true
|
|
1383
1597
|
}
|
|
1384
1598
|
];
|
|
1385
1599
|
var AlignSelfChild = () => {
|
|
1386
1600
|
const { isSiteRtl } = useDirection();
|
|
1387
|
-
return /* @__PURE__ */
|
|
1601
|
+
return /* @__PURE__ */ React31.createElement(import_ui21.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React31.createElement(import_ui21.ThemeProvider, null, /* @__PURE__ */ React31.createElement(StylesField, { bind: "align-self" }, /* @__PURE__ */ React31.createElement(import_ui21.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React31.createElement(import_ui21.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React31.createElement(import_editor_controls14.ControlLabel, null, (0, import_i18n11.__)("Align self", "elementor"))), /* @__PURE__ */ React31.createElement(import_ui21.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React31.createElement(import_editor_controls14.ToggleControl, { options: options2 }))))));
|
|
1388
1602
|
};
|
|
1389
1603
|
|
|
1390
1604
|
// src/components/style-sections/layout-section/display-field.tsx
|
|
1391
|
-
var
|
|
1605
|
+
var React32 = __toESM(require("react"));
|
|
1392
1606
|
var import_editor_controls15 = require("@elementor/editor-controls");
|
|
1393
1607
|
var import_ui22 = require("@elementor/ui");
|
|
1394
1608
|
var import_i18n12 = require("@wordpress/i18n");
|
|
1395
1609
|
var DisplayField = () => {
|
|
1396
|
-
const
|
|
1610
|
+
const options12 = [
|
|
1397
1611
|
{
|
|
1398
1612
|
value: "block",
|
|
1399
1613
|
renderContent: () => (0, import_i18n12.__)("Block", "elementor"),
|
|
@@ -1419,13 +1633,13 @@ var DisplayField = () => {
|
|
|
1419
1633
|
showTooltip: true
|
|
1420
1634
|
}
|
|
1421
1635
|
];
|
|
1422
|
-
return /* @__PURE__ */
|
|
1636
|
+
return /* @__PURE__ */ React32.createElement(StylesField, { bind: "display" }, /* @__PURE__ */ React32.createElement(import_ui22.Stack, { gap: 1 }, /* @__PURE__ */ React32.createElement(import_editor_controls15.ControlLabel, null, (0, import_i18n12.__)("Display", "elementor")), /* @__PURE__ */ React32.createElement(import_editor_controls15.ToggleControl, { options: options12, fullWidth: true })));
|
|
1423
1637
|
};
|
|
1424
1638
|
|
|
1425
1639
|
// src/components/style-sections/layout-section/flex-direction-field.tsx
|
|
1426
|
-
var
|
|
1640
|
+
var React33 = __toESM(require("react"));
|
|
1427
1641
|
var import_editor_controls16 = require("@elementor/editor-controls");
|
|
1428
|
-
var
|
|
1642
|
+
var import_icons10 = require("@elementor/icons");
|
|
1429
1643
|
var import_ui23 = require("@elementor/ui");
|
|
1430
1644
|
var import_i18n13 = require("@wordpress/i18n");
|
|
1431
1645
|
var options3 = [
|
|
@@ -1433,43 +1647,43 @@ var options3 = [
|
|
|
1433
1647
|
value: "row",
|
|
1434
1648
|
label: (0, import_i18n13.__)("Row", "elementor"),
|
|
1435
1649
|
renderContent: ({ size }) => {
|
|
1436
|
-
const StartIcon5 = (0, import_ui23.withDirection)(
|
|
1437
|
-
return /* @__PURE__ */
|
|
1650
|
+
const StartIcon5 = (0, import_ui23.withDirection)(import_icons10.ArrowRightIcon);
|
|
1651
|
+
return /* @__PURE__ */ React33.createElement(StartIcon5, { fontSize: size });
|
|
1438
1652
|
},
|
|
1439
1653
|
showTooltip: true
|
|
1440
1654
|
},
|
|
1441
1655
|
{
|
|
1442
1656
|
value: "column",
|
|
1443
1657
|
label: (0, import_i18n13.__)("Column", "elementor"),
|
|
1444
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1658
|
+
renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(import_icons10.ArrowDownSmallIcon, { fontSize: size }),
|
|
1445
1659
|
showTooltip: true
|
|
1446
1660
|
},
|
|
1447
1661
|
{
|
|
1448
1662
|
value: "row-reverse",
|
|
1449
1663
|
label: (0, import_i18n13.__)("Reversed row", "elementor"),
|
|
1450
1664
|
renderContent: ({ size }) => {
|
|
1451
|
-
const EndIcon5 = (0, import_ui23.withDirection)(
|
|
1452
|
-
return /* @__PURE__ */
|
|
1665
|
+
const EndIcon5 = (0, import_ui23.withDirection)(import_icons10.ArrowLeftIcon);
|
|
1666
|
+
return /* @__PURE__ */ React33.createElement(EndIcon5, { fontSize: size });
|
|
1453
1667
|
},
|
|
1454
1668
|
showTooltip: true
|
|
1455
1669
|
},
|
|
1456
1670
|
{
|
|
1457
1671
|
value: "column-reverse",
|
|
1458
1672
|
label: (0, import_i18n13.__)("Reversed column", "elementor"),
|
|
1459
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1673
|
+
renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(import_icons10.ArrowUpSmallIcon, { fontSize: size }),
|
|
1460
1674
|
showTooltip: true
|
|
1461
1675
|
}
|
|
1462
1676
|
];
|
|
1463
1677
|
var FlexDirectionField = () => {
|
|
1464
1678
|
const { isSiteRtl } = useDirection();
|
|
1465
|
-
return /* @__PURE__ */
|
|
1679
|
+
return /* @__PURE__ */ React33.createElement(import_ui23.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React33.createElement(import_ui23.ThemeProvider, null, /* @__PURE__ */ React33.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React33.createElement(import_ui23.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React33.createElement(import_editor_controls16.ControlLabel, null, (0, import_i18n13.__)("Direction", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(import_editor_controls16.ToggleControl, { options: options3 }))))));
|
|
1466
1680
|
};
|
|
1467
1681
|
|
|
1468
1682
|
// src/components/style-sections/layout-section/flex-order-field.tsx
|
|
1469
|
-
var
|
|
1470
|
-
var
|
|
1683
|
+
var React34 = __toESM(require("react"));
|
|
1684
|
+
var import_react11 = require("react");
|
|
1471
1685
|
var import_editor_controls17 = require("@elementor/editor-controls");
|
|
1472
|
-
var
|
|
1686
|
+
var import_icons11 = require("@elementor/icons");
|
|
1473
1687
|
var import_ui24 = require("@elementor/ui");
|
|
1474
1688
|
var import_i18n14 = require("@wordpress/i18n");
|
|
1475
1689
|
var FIRST_DEFAULT_VALUE = -99999;
|
|
@@ -1485,25 +1699,25 @@ var items = [
|
|
|
1485
1699
|
{
|
|
1486
1700
|
value: FIRST,
|
|
1487
1701
|
label: (0, import_i18n14.__)("First", "elementor"),
|
|
1488
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1702
|
+
renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(import_icons11.ArrowUpSmallIcon, { fontSize: size }),
|
|
1489
1703
|
showTooltip: true
|
|
1490
1704
|
},
|
|
1491
1705
|
{
|
|
1492
1706
|
value: LAST,
|
|
1493
1707
|
label: (0, import_i18n14.__)("Last", "elementor"),
|
|
1494
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1708
|
+
renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(import_icons11.ArrowDownSmallIcon, { fontSize: size }),
|
|
1495
1709
|
showTooltip: true
|
|
1496
1710
|
},
|
|
1497
1711
|
{
|
|
1498
1712
|
value: CUSTOM,
|
|
1499
1713
|
label: (0, import_i18n14.__)("Custom", "elementor"),
|
|
1500
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1714
|
+
renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(import_icons11.PencilIcon, { fontSize: size }),
|
|
1501
1715
|
showTooltip: true
|
|
1502
1716
|
}
|
|
1503
1717
|
];
|
|
1504
1718
|
var FlexOrderField = () => {
|
|
1505
1719
|
const { isSiteRtl } = useDirection(), [order, setOrder] = useStylesField("order");
|
|
1506
|
-
const [groupControlValue, setGroupControlValue] = (0,
|
|
1720
|
+
const [groupControlValue, setGroupControlValue] = (0, import_react11.useState)(getGroupControlValue(order?.value || null));
|
|
1507
1721
|
const handleToggleButtonChange = (group) => {
|
|
1508
1722
|
setGroupControlValue(group);
|
|
1509
1723
|
if (!group || group === CUSTOM) {
|
|
@@ -1512,7 +1726,7 @@ var FlexOrderField = () => {
|
|
|
1512
1726
|
}
|
|
1513
1727
|
setOrder({ $$type: "number", value: orderValueMap[group] });
|
|
1514
1728
|
};
|
|
1515
|
-
return /* @__PURE__ */
|
|
1729
|
+
return /* @__PURE__ */ React34.createElement(import_ui24.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React34.createElement(import_ui24.ThemeProvider, null, /* @__PURE__ */ React34.createElement(SectionContent, null, /* @__PURE__ */ React34.createElement(import_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(import_editor_controls17.ControlLabel, null, (0, import_i18n14.__)("Order", "elementor"))), /* @__PURE__ */ React34.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React34.createElement(
|
|
1516
1730
|
import_editor_controls17.ControlToggleButtonGroup,
|
|
1517
1731
|
{
|
|
1518
1732
|
items,
|
|
@@ -1520,7 +1734,7 @@ var FlexOrderField = () => {
|
|
|
1520
1734
|
onChange: handleToggleButtonChange,
|
|
1521
1735
|
exclusive: true
|
|
1522
1736
|
}
|
|
1523
|
-
))), CUSTOM === groupControlValue && /* @__PURE__ */
|
|
1737
|
+
))), CUSTOM === groupControlValue && /* @__PURE__ */ React34.createElement(StylesField, { bind: "order" }, /* @__PURE__ */ React34.createElement(import_ui24.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React34.createElement(import_ui24.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React34.createElement(import_editor_controls17.ControlLabel, null, (0, import_i18n14.__)("Custom order", "elementor"))), /* @__PURE__ */ React34.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React34.createElement(
|
|
1524
1738
|
import_editor_controls17.NumberControl,
|
|
1525
1739
|
{
|
|
1526
1740
|
min: FIRST_DEFAULT_VALUE + 1,
|
|
@@ -1540,10 +1754,10 @@ var getGroupControlValue = (order) => {
|
|
|
1540
1754
|
};
|
|
1541
1755
|
|
|
1542
1756
|
// src/components/style-sections/layout-section/flex-size-field.tsx
|
|
1543
|
-
var
|
|
1544
|
-
var
|
|
1757
|
+
var React35 = __toESM(require("react"));
|
|
1758
|
+
var import_react12 = require("react");
|
|
1545
1759
|
var import_editor_controls18 = require("@elementor/editor-controls");
|
|
1546
|
-
var
|
|
1760
|
+
var import_icons12 = require("@elementor/icons");
|
|
1547
1761
|
var import_ui25 = require("@elementor/ui");
|
|
1548
1762
|
var import_i18n15 = require("@wordpress/i18n");
|
|
1549
1763
|
var DEFAULT = 1;
|
|
@@ -1551,26 +1765,26 @@ var items2 = [
|
|
|
1551
1765
|
{
|
|
1552
1766
|
value: "flex-grow",
|
|
1553
1767
|
label: (0, import_i18n15.__)("Grow", "elementor"),
|
|
1554
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1768
|
+
renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(import_icons12.ExpandIcon, { fontSize: size }),
|
|
1555
1769
|
showTooltip: true
|
|
1556
1770
|
},
|
|
1557
1771
|
{
|
|
1558
1772
|
value: "flex-shrink",
|
|
1559
1773
|
label: (0, import_i18n15.__)("Shrink", "elementor"),
|
|
1560
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1774
|
+
renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(import_icons12.ShrinkIcon, { fontSize: size }),
|
|
1561
1775
|
showTooltip: true
|
|
1562
1776
|
},
|
|
1563
1777
|
{
|
|
1564
1778
|
value: "custom",
|
|
1565
1779
|
label: (0, import_i18n15.__)("Custom", "elementor"),
|
|
1566
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1780
|
+
renderContent: ({ size }) => /* @__PURE__ */ React35.createElement(import_icons12.PencilIcon, { fontSize: size }),
|
|
1567
1781
|
showTooltip: true
|
|
1568
1782
|
}
|
|
1569
1783
|
];
|
|
1570
1784
|
var FlexSizeField = () => {
|
|
1571
1785
|
const { isSiteRtl } = useDirection(), [growField, setGrowField] = useStylesField("flex-grow"), [shrinkField, setShrinkField] = useStylesField("flex-shrink"), [basisField, setBasisField] = useStylesField("flex-basis");
|
|
1572
1786
|
const grow = growField?.value || null, shrink = shrinkField?.value || null, basis = basisField?.value || null;
|
|
1573
|
-
const currentGroup = (0,
|
|
1787
|
+
const currentGroup = (0, import_react12.useMemo)(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = (0, import_react12.useState)(currentGroup);
|
|
1574
1788
|
const onChangeGroup = (group = null) => {
|
|
1575
1789
|
setActiveGroup(group);
|
|
1576
1790
|
setBasisField(null);
|
|
@@ -1587,7 +1801,7 @@ var FlexSizeField = () => {
|
|
|
1587
1801
|
setGrowField(null);
|
|
1588
1802
|
setShrinkField({ $$type: "number", value: DEFAULT });
|
|
1589
1803
|
};
|
|
1590
|
-
return /* @__PURE__ */
|
|
1804
|
+
return /* @__PURE__ */ React35.createElement(import_ui25.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React35.createElement(import_ui25.ThemeProvider, null, /* @__PURE__ */ React35.createElement(SectionContent, null, /* @__PURE__ */ React35.createElement(import_ui25.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React35.createElement(import_ui25.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React35.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n15.__)("Size", "elementor"))), /* @__PURE__ */ React35.createElement(import_ui25.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React35.createElement(
|
|
1591
1805
|
import_editor_controls18.ControlToggleButtonGroup,
|
|
1592
1806
|
{
|
|
1593
1807
|
value: activeGroup,
|
|
@@ -1595,9 +1809,9 @@ var FlexSizeField = () => {
|
|
|
1595
1809
|
items: items2,
|
|
1596
1810
|
exclusive: true
|
|
1597
1811
|
}
|
|
1598
|
-
))), "custom" === activeGroup && /* @__PURE__ */
|
|
1812
|
+
))), "custom" === activeGroup && /* @__PURE__ */ React35.createElement(FlexCustomField, null))));
|
|
1599
1813
|
};
|
|
1600
|
-
var FlexCustomField = () => /* @__PURE__ */
|
|
1814
|
+
var FlexCustomField = () => /* @__PURE__ */ React35.createElement(React35.Fragment, null, /* @__PURE__ */ React35.createElement(StylesField, { bind: "flex-grow" }, /* @__PURE__ */ React35.createElement(import_ui25.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React35.createElement(import_ui25.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React35.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n15.__)("Grow", "elementor"))), /* @__PURE__ */ React35.createElement(import_ui25.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React35.createElement(import_editor_controls18.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React35.createElement(StylesField, { bind: "flex-shrink" }, /* @__PURE__ */ React35.createElement(import_ui25.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React35.createElement(import_ui25.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React35.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n15.__)("Shrink", "elementor"))), /* @__PURE__ */ React35.createElement(import_ui25.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React35.createElement(import_editor_controls18.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React35.createElement(StylesField, { bind: "flex-basis" }, /* @__PURE__ */ React35.createElement(import_ui25.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React35.createElement(import_ui25.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React35.createElement(import_editor_controls18.ControlLabel, null, (0, import_i18n15.__)("Basis", "elementor"))), /* @__PURE__ */ React35.createElement(import_ui25.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React35.createElement(import_editor_controls18.SizeControl, { extendedValues: ["auto"] })))));
|
|
1601
1815
|
var getActiveGroup = ({
|
|
1602
1816
|
grow,
|
|
1603
1817
|
shrink,
|
|
@@ -1619,22 +1833,22 @@ var getActiveGroup = ({
|
|
|
1619
1833
|
};
|
|
1620
1834
|
|
|
1621
1835
|
// src/components/style-sections/layout-section/gap-control-field.tsx
|
|
1622
|
-
var
|
|
1836
|
+
var React36 = __toESM(require("react"));
|
|
1623
1837
|
var import_editor_controls19 = require("@elementor/editor-controls");
|
|
1624
1838
|
var import_ui26 = require("@elementor/ui");
|
|
1625
1839
|
var import_i18n16 = require("@wordpress/i18n");
|
|
1626
1840
|
var GapControlField = () => {
|
|
1627
|
-
return /* @__PURE__ */
|
|
1841
|
+
return /* @__PURE__ */ React36.createElement(import_ui26.Stack, { gap: 1 }, /* @__PURE__ */ React36.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React36.createElement(import_editor_controls19.GapControl, { label: (0, import_i18n16.__)("Gaps", "elementor") })));
|
|
1628
1842
|
};
|
|
1629
1843
|
|
|
1630
1844
|
// src/components/style-sections/layout-section/justify-content-field.tsx
|
|
1631
|
-
var
|
|
1845
|
+
var React37 = __toESM(require("react"));
|
|
1632
1846
|
var import_editor_controls20 = require("@elementor/editor-controls");
|
|
1633
|
-
var
|
|
1847
|
+
var import_icons13 = require("@elementor/icons");
|
|
1634
1848
|
var import_ui27 = require("@elementor/ui");
|
|
1635
1849
|
var import_i18n17 = require("@wordpress/i18n");
|
|
1636
|
-
var StartIcon3 = (0, import_ui27.withDirection)(
|
|
1637
|
-
var EndIcon3 = (0, import_ui27.withDirection)(
|
|
1850
|
+
var StartIcon3 = (0, import_ui27.withDirection)(import_icons13.JustifyTopIcon);
|
|
1851
|
+
var EndIcon3 = (0, import_ui27.withDirection)(import_icons13.JustifyBottomIcon);
|
|
1638
1852
|
var iconProps3 = {
|
|
1639
1853
|
isClockwise: true,
|
|
1640
1854
|
offset: -90
|
|
@@ -1643,117 +1857,117 @@ var options4 = [
|
|
|
1643
1857
|
{
|
|
1644
1858
|
value: "start",
|
|
1645
1859
|
label: (0, import_i18n17.__)("Start", "elementor"),
|
|
1646
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1860
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(RotatedIcon, { icon: StartIcon3, size, ...iconProps3 }),
|
|
1647
1861
|
showTooltip: true
|
|
1648
1862
|
},
|
|
1649
1863
|
{
|
|
1650
1864
|
value: "center",
|
|
1651
1865
|
label: (0, import_i18n17.__)("Center", "elementor"),
|
|
1652
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1866
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(RotatedIcon, { icon: import_icons13.JustifyCenterIcon, size, ...iconProps3 }),
|
|
1653
1867
|
showTooltip: true
|
|
1654
1868
|
},
|
|
1655
1869
|
{
|
|
1656
1870
|
value: "end",
|
|
1657
1871
|
label: (0, import_i18n17.__)("End", "elementor"),
|
|
1658
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1872
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(RotatedIcon, { icon: EndIcon3, size, ...iconProps3 }),
|
|
1659
1873
|
showTooltip: true
|
|
1660
1874
|
},
|
|
1661
1875
|
{
|
|
1662
1876
|
value: "space-between",
|
|
1663
1877
|
label: (0, import_i18n17.__)("Space between", "elementor"),
|
|
1664
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1878
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(RotatedIcon, { icon: import_icons13.JustifySpaceBetweenVerticalIcon, size, ...iconProps3 }),
|
|
1665
1879
|
showTooltip: true
|
|
1666
1880
|
},
|
|
1667
1881
|
{
|
|
1668
1882
|
value: "space-around",
|
|
1669
1883
|
label: (0, import_i18n17.__)("Space around", "elementor"),
|
|
1670
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1884
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(RotatedIcon, { icon: import_icons13.JustifySpaceAroundVerticalIcon, size, ...iconProps3 }),
|
|
1671
1885
|
showTooltip: true
|
|
1672
1886
|
},
|
|
1673
1887
|
{
|
|
1674
1888
|
value: "space-evenly",
|
|
1675
1889
|
label: (0, import_i18n17.__)("Space evenly", "elementor"),
|
|
1676
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1890
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(RotatedIcon, { icon: import_icons13.JustifyDistributeVerticalIcon, size, ...iconProps3 }),
|
|
1677
1891
|
showTooltip: true
|
|
1678
1892
|
}
|
|
1679
1893
|
];
|
|
1680
1894
|
var JustifyContentField = () => {
|
|
1681
1895
|
const { isSiteRtl } = useDirection();
|
|
1682
|
-
return /* @__PURE__ */
|
|
1896
|
+
return /* @__PURE__ */ React37.createElement(import_ui27.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React37.createElement(import_ui27.ThemeProvider, null, /* @__PURE__ */ React37.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React37.createElement(import_ui27.Stack, { gap: 1 }, /* @__PURE__ */ React37.createElement(import_editor_controls20.ControlLabel, null, (0, import_i18n17.__)("Justify content", "elementor")), /* @__PURE__ */ React37.createElement(import_editor_controls20.ToggleControl, { options: options4, fullWidth: true })))));
|
|
1683
1897
|
};
|
|
1684
1898
|
|
|
1685
1899
|
// src/components/style-sections/layout-section/wrap-field.tsx
|
|
1686
|
-
var
|
|
1900
|
+
var React38 = __toESM(require("react"));
|
|
1687
1901
|
var import_editor_controls21 = require("@elementor/editor-controls");
|
|
1688
|
-
var
|
|
1902
|
+
var import_icons14 = require("@elementor/icons");
|
|
1689
1903
|
var import_ui28 = require("@elementor/ui");
|
|
1690
1904
|
var import_i18n18 = require("@wordpress/i18n");
|
|
1691
1905
|
var options5 = [
|
|
1692
1906
|
{
|
|
1693
1907
|
value: "nowrap",
|
|
1694
1908
|
label: (0, import_i18n18.__)("No wrap", "elementor"),
|
|
1695
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1909
|
+
renderContent: ({ size }) => /* @__PURE__ */ React38.createElement(import_icons14.ArrowRightIcon, { fontSize: size }),
|
|
1696
1910
|
showTooltip: true
|
|
1697
1911
|
},
|
|
1698
1912
|
{
|
|
1699
1913
|
value: "wrap",
|
|
1700
1914
|
label: (0, import_i18n18.__)("Wrap", "elementor"),
|
|
1701
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1915
|
+
renderContent: ({ size }) => /* @__PURE__ */ React38.createElement(import_icons14.ArrowBackIcon, { fontSize: size }),
|
|
1702
1916
|
showTooltip: true
|
|
1703
1917
|
},
|
|
1704
1918
|
{
|
|
1705
1919
|
value: "wrap-reverse",
|
|
1706
1920
|
label: (0, import_i18n18.__)("Reversed wrap", "elementor"),
|
|
1707
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1921
|
+
renderContent: ({ size }) => /* @__PURE__ */ React38.createElement(import_icons14.ArrowForwardIcon, { fontSize: size }),
|
|
1708
1922
|
showTooltip: true
|
|
1709
1923
|
}
|
|
1710
1924
|
];
|
|
1711
1925
|
var WrapField = () => {
|
|
1712
1926
|
const { isSiteRtl } = useDirection();
|
|
1713
|
-
return /* @__PURE__ */
|
|
1927
|
+
return /* @__PURE__ */ React38.createElement(import_ui28.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React38.createElement(import_ui28.ThemeProvider, null, /* @__PURE__ */ React38.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React38.createElement(import_ui28.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React38.createElement(import_ui28.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React38.createElement(import_editor_controls21.ControlLabel, null, (0, import_i18n18.__)("Wrap", "elementor"))), /* @__PURE__ */ React38.createElement(import_ui28.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React38.createElement(import_editor_controls21.ToggleControl, { options: options5 }))))));
|
|
1714
1928
|
};
|
|
1715
1929
|
|
|
1716
1930
|
// src/components/style-sections/layout-section/layout-section.tsx
|
|
1717
1931
|
var LayoutSection = () => {
|
|
1718
1932
|
const [display] = useStylesField("display");
|
|
1719
1933
|
const { element } = useElement();
|
|
1720
|
-
const parent = (0,
|
|
1934
|
+
const parent = (0, import_editor_elements6.useParentElement)(element.id);
|
|
1721
1935
|
const parentStyle = useComputedStyle(parent?.id || null);
|
|
1722
|
-
return /* @__PURE__ */
|
|
1936
|
+
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));
|
|
1723
1937
|
};
|
|
1724
|
-
var FlexFields = () => /* @__PURE__ */
|
|
1725
|
-
var FlexChildFields = () => /* @__PURE__ */
|
|
1938
|
+
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));
|
|
1939
|
+
var FlexChildFields = () => /* @__PURE__ */ React39.createElement(React39.Fragment, null, /* @__PURE__ */ React39.createElement(PanelDivider, null), /* @__PURE__ */ React39.createElement(import_editor_controls22.ControlLabel, null, (0, import_i18n19.__)("Flex child", "elementor")), /* @__PURE__ */ React39.createElement(AlignSelfChild, null), /* @__PURE__ */ React39.createElement(FlexOrderField, null), /* @__PURE__ */ React39.createElement(FlexSizeField, null));
|
|
1726
1940
|
|
|
1727
1941
|
// src/components/style-sections/position-section/position-section.tsx
|
|
1728
|
-
var
|
|
1942
|
+
var React43 = __toESM(require("react"));
|
|
1729
1943
|
var import_session2 = require("@elementor/session");
|
|
1730
1944
|
|
|
1731
1945
|
// src/components/style-sections/position-section/dimensions-field.tsx
|
|
1732
|
-
var
|
|
1946
|
+
var React40 = __toESM(require("react"));
|
|
1733
1947
|
var import_editor_controls23 = require("@elementor/editor-controls");
|
|
1734
|
-
var
|
|
1948
|
+
var import_icons15 = require("@elementor/icons");
|
|
1735
1949
|
var import_ui29 = require("@elementor/ui");
|
|
1736
1950
|
var import_i18n20 = require("@wordpress/i18n");
|
|
1737
|
-
var InlineStartIcon2 = (0, import_ui29.withDirection)(
|
|
1738
|
-
var InlineEndIcon2 = (0, import_ui29.withDirection)(
|
|
1951
|
+
var InlineStartIcon2 = (0, import_ui29.withDirection)(import_icons15.SideLeftIcon);
|
|
1952
|
+
var InlineEndIcon2 = (0, import_ui29.withDirection)(import_icons15.SideRightIcon);
|
|
1739
1953
|
var sideIcons = {
|
|
1740
|
-
"inset-block-start": /* @__PURE__ */
|
|
1741
|
-
"inset-block-end": /* @__PURE__ */
|
|
1742
|
-
"inset-inline-start": /* @__PURE__ */
|
|
1743
|
-
"inset-inline-end": /* @__PURE__ */
|
|
1954
|
+
"inset-block-start": /* @__PURE__ */ React40.createElement(import_icons15.SideTopIcon, { fontSize: "tiny" }),
|
|
1955
|
+
"inset-block-end": /* @__PURE__ */ React40.createElement(import_icons15.SideBottomIcon, { fontSize: "tiny" }),
|
|
1956
|
+
"inset-inline-start": /* @__PURE__ */ React40.createElement(RotatedIcon, { icon: InlineStartIcon2, size: "tiny" }),
|
|
1957
|
+
"inset-inline-end": /* @__PURE__ */ React40.createElement(RotatedIcon, { icon: InlineEndIcon2, size: "tiny" })
|
|
1744
1958
|
};
|
|
1745
1959
|
var getInlineStartLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n20.__)("Right", "elementor") : (0, import_i18n20.__)("Left", "elementor");
|
|
1746
1960
|
var getInlineEndLabel = (isSiteRtl) => isSiteRtl ? (0, import_i18n20.__)("Left", "elementor") : (0, import_i18n20.__)("Right", "elementor");
|
|
1747
1961
|
var DimensionsField = () => {
|
|
1748
1962
|
const { isSiteRtl } = useDirection();
|
|
1749
|
-
return /* @__PURE__ */
|
|
1963
|
+
return /* @__PURE__ */ React40.createElement(React40.Fragment, null, /* @__PURE__ */ React40.createElement(import_ui29.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(DimensionField, { side: "inset-block-start", label: (0, import_i18n20.__)("Top", "elementor") }), /* @__PURE__ */ React40.createElement(DimensionField, { side: "inset-inline-end", label: getInlineEndLabel(isSiteRtl) })), /* @__PURE__ */ React40.createElement(import_ui29.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(DimensionField, { side: "inset-block-end", label: (0, import_i18n20.__)("Bottom", "elementor") }), /* @__PURE__ */ React40.createElement(DimensionField, { side: "inset-inline-start", label: getInlineStartLabel(isSiteRtl) })));
|
|
1750
1964
|
};
|
|
1751
1965
|
var DimensionField = ({ side, label }) => {
|
|
1752
|
-
return /* @__PURE__ */
|
|
1966
|
+
return /* @__PURE__ */ React40.createElement(import_ui29.Grid, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React40.createElement(import_ui29.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React40.createElement(import_editor_controls23.ControlLabel, null, label)), /* @__PURE__ */ React40.createElement(import_ui29.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React40.createElement(StylesField, { bind: side }, /* @__PURE__ */ React40.createElement(import_editor_controls23.SizeControl, { startIcon: sideIcons[side], extendedValues: ["auto"] }))));
|
|
1753
1967
|
};
|
|
1754
1968
|
|
|
1755
1969
|
// src/components/style-sections/position-section/position-field.tsx
|
|
1756
|
-
var
|
|
1970
|
+
var React41 = __toESM(require("react"));
|
|
1757
1971
|
var import_editor_controls24 = require("@elementor/editor-controls");
|
|
1758
1972
|
var import_ui30 = require("@elementor/ui");
|
|
1759
1973
|
var import_i18n21 = require("@wordpress/i18n");
|
|
@@ -1765,16 +1979,16 @@ var positionOptions = [
|
|
|
1765
1979
|
{ label: (0, import_i18n21.__)("Sticky", "elementor"), value: "sticky" }
|
|
1766
1980
|
];
|
|
1767
1981
|
var PositionField = ({ onChange }) => {
|
|
1768
|
-
return /* @__PURE__ */
|
|
1982
|
+
return /* @__PURE__ */ React41.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React41.createElement(import_ui30.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(import_ui30.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(import_editor_controls24.ControlLabel, null, (0, import_i18n21.__)("Position", "elementor"))), /* @__PURE__ */ React41.createElement(import_ui30.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React41.createElement(import_editor_controls24.SelectControl, { options: positionOptions, onChange }))));
|
|
1769
1983
|
};
|
|
1770
1984
|
|
|
1771
1985
|
// src/components/style-sections/position-section/z-index-field.tsx
|
|
1772
|
-
var
|
|
1986
|
+
var React42 = __toESM(require("react"));
|
|
1773
1987
|
var import_editor_controls25 = require("@elementor/editor-controls");
|
|
1774
1988
|
var import_ui31 = require("@elementor/ui");
|
|
1775
1989
|
var import_i18n22 = require("@wordpress/i18n");
|
|
1776
1990
|
var ZIndexField = () => {
|
|
1777
|
-
return /* @__PURE__ */
|
|
1991
|
+
return /* @__PURE__ */ React42.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React42.createElement(import_ui31.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React42.createElement(import_ui31.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(import_editor_controls25.ControlLabel, null, (0, import_i18n22.__)("Z-index", "elementor"))), /* @__PURE__ */ React42.createElement(import_ui31.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React42.createElement(import_editor_controls25.NumberControl, null))));
|
|
1778
1992
|
};
|
|
1779
1993
|
|
|
1780
1994
|
// src/components/style-sections/position-section/position-section.tsx
|
|
@@ -1806,7 +2020,7 @@ var PositionSection = () => {
|
|
|
1806
2020
|
}
|
|
1807
2021
|
};
|
|
1808
2022
|
const isNotStatic = positionValue && positionValue?.value !== "static";
|
|
1809
|
-
return /* @__PURE__ */
|
|
2023
|
+
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);
|
|
1810
2024
|
};
|
|
1811
2025
|
var usePersistDimensions = () => {
|
|
1812
2026
|
const { id: styleDefID, meta } = useStyle();
|
|
@@ -1816,93 +2030,93 @@ var usePersistDimensions = () => {
|
|
|
1816
2030
|
};
|
|
1817
2031
|
|
|
1818
2032
|
// src/components/style-sections/size-section/size-section.tsx
|
|
1819
|
-
var
|
|
2033
|
+
var React45 = __toESM(require("react"));
|
|
1820
2034
|
var import_editor_controls27 = require("@elementor/editor-controls");
|
|
1821
2035
|
var import_ui33 = require("@elementor/ui");
|
|
1822
2036
|
var import_i18n24 = require("@wordpress/i18n");
|
|
1823
2037
|
|
|
1824
2038
|
// src/components/style-sections/size-section/overflow-field.tsx
|
|
1825
|
-
var
|
|
2039
|
+
var React44 = __toESM(require("react"));
|
|
1826
2040
|
var import_editor_controls26 = require("@elementor/editor-controls");
|
|
1827
|
-
var
|
|
2041
|
+
var import_icons16 = require("@elementor/icons");
|
|
1828
2042
|
var import_ui32 = require("@elementor/ui");
|
|
1829
2043
|
var import_i18n23 = require("@wordpress/i18n");
|
|
1830
2044
|
var options6 = [
|
|
1831
2045
|
{
|
|
1832
2046
|
value: "visible",
|
|
1833
2047
|
label: (0, import_i18n23.__)("Visible", "elementor"),
|
|
1834
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2048
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(import_icons16.EyeIcon, { fontSize: size }),
|
|
1835
2049
|
showTooltip: true
|
|
1836
2050
|
},
|
|
1837
2051
|
{
|
|
1838
2052
|
value: "hidden",
|
|
1839
2053
|
label: (0, import_i18n23.__)("Hidden", "elementor"),
|
|
1840
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2054
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(import_icons16.EyeOffIcon, { fontSize: size }),
|
|
1841
2055
|
showTooltip: true
|
|
1842
2056
|
},
|
|
1843
2057
|
{
|
|
1844
2058
|
value: "auto",
|
|
1845
2059
|
label: (0, import_i18n23.__)("Auto", "elementor"),
|
|
1846
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2060
|
+
renderContent: ({ size }) => /* @__PURE__ */ React44.createElement(import_icons16.LetterAIcon, { fontSize: size }),
|
|
1847
2061
|
showTooltip: true
|
|
1848
2062
|
}
|
|
1849
2063
|
];
|
|
1850
2064
|
var OverflowField = () => {
|
|
1851
|
-
return /* @__PURE__ */
|
|
2065
|
+
return /* @__PURE__ */ React44.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React44.createElement(import_ui32.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(import_ui32.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(import_editor_controls26.ControlLabel, null, (0, import_i18n23.__)("Overflow", "elementor"))), /* @__PURE__ */ React44.createElement(import_ui32.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React44.createElement(import_editor_controls26.ToggleControl, { options: options6 }))));
|
|
1852
2066
|
};
|
|
1853
2067
|
|
|
1854
2068
|
// src/components/style-sections/size-section/size-section.tsx
|
|
1855
2069
|
var SizeSection = () => {
|
|
1856
|
-
return /* @__PURE__ */
|
|
2070
|
+
return /* @__PURE__ */ React45.createElement(SectionContent, null, /* @__PURE__ */ React45.createElement(import_ui33.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React45.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(SizeField, { bind: "width", label: (0, import_i18n24.__)("Width", "elementor"), extendedValues: ["auto"] })), /* @__PURE__ */ React45.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(SizeField, { bind: "height", label: (0, import_i18n24.__)("Height", "elementor"), extendedValues: ["auto"] }))), /* @__PURE__ */ React45.createElement(import_ui33.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React45.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(
|
|
1857
2071
|
SizeField,
|
|
1858
2072
|
{
|
|
1859
2073
|
bind: "min-width",
|
|
1860
2074
|
label: (0, import_i18n24.__)("Min width", "elementor"),
|
|
1861
2075
|
extendedValues: ["auto"]
|
|
1862
2076
|
}
|
|
1863
|
-
)), /* @__PURE__ */
|
|
2077
|
+
)), /* @__PURE__ */ React45.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(
|
|
1864
2078
|
SizeField,
|
|
1865
2079
|
{
|
|
1866
2080
|
bind: "min-height",
|
|
1867
2081
|
label: (0, import_i18n24.__)("Min height", "elementor"),
|
|
1868
2082
|
extendedValues: ["auto"]
|
|
1869
2083
|
}
|
|
1870
|
-
))), /* @__PURE__ */
|
|
2084
|
+
))), /* @__PURE__ */ React45.createElement(import_ui33.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React45.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(SizeField, { bind: "max-width", label: (0, import_i18n24.__)("Max width", "elementor") })), /* @__PURE__ */ React45.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React45.createElement(SizeField, { bind: "max-height", label: (0, import_i18n24.__)("Max height", "elementor") }))), /* @__PURE__ */ React45.createElement(PanelDivider, null), /* @__PURE__ */ React45.createElement(import_ui33.Stack, null, /* @__PURE__ */ React45.createElement(OverflowField, null)));
|
|
1871
2085
|
};
|
|
1872
2086
|
var SizeField = ({ label, bind, extendedValues }) => {
|
|
1873
|
-
return /* @__PURE__ */
|
|
2087
|
+
return /* @__PURE__ */ React45.createElement(StylesField, { bind }, /* @__PURE__ */ React45.createElement(import_ui33.Grid, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React45.createElement(import_ui33.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React45.createElement(import_editor_controls27.ControlLabel, null, label)), /* @__PURE__ */ React45.createElement(import_ui33.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React45.createElement(import_editor_controls27.SizeControl, { extendedValues }))));
|
|
1874
2088
|
};
|
|
1875
2089
|
|
|
1876
2090
|
// src/components/style-sections/spacing-section/spacing-section.tsx
|
|
1877
|
-
var
|
|
2091
|
+
var React46 = __toESM(require("react"));
|
|
1878
2092
|
var import_editor_controls28 = require("@elementor/editor-controls");
|
|
1879
2093
|
var import_i18n25 = require("@wordpress/i18n");
|
|
1880
2094
|
var SpacingSection = () => {
|
|
1881
2095
|
const { isSiteRtl } = useDirection();
|
|
1882
|
-
return /* @__PURE__ */
|
|
2096
|
+
return /* @__PURE__ */ React46.createElement(SectionContent, null, /* @__PURE__ */ React46.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React46.createElement(
|
|
1883
2097
|
import_editor_controls28.LinkedDimensionsControl,
|
|
1884
2098
|
{
|
|
1885
2099
|
label: (0, import_i18n25.__)("Margin", "elementor"),
|
|
1886
2100
|
isSiteRtl,
|
|
1887
2101
|
extendedValues: ["auto"]
|
|
1888
2102
|
}
|
|
1889
|
-
)));
|
|
2103
|
+
)), /* @__PURE__ */ React46.createElement(PanelDivider, null), /* @__PURE__ */ React46.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React46.createElement(import_editor_controls28.LinkedDimensionsControl, { label: (0, import_i18n25.__)("Padding", "elementor"), isSiteRtl })));
|
|
1890
2104
|
};
|
|
1891
2105
|
|
|
1892
2106
|
// src/components/style-sections/typography-section/typography-section.tsx
|
|
1893
|
-
var
|
|
2107
|
+
var React61 = __toESM(require("react"));
|
|
1894
2108
|
|
|
1895
2109
|
// src/components/collapsible-content.tsx
|
|
1896
|
-
var
|
|
1897
|
-
var
|
|
2110
|
+
var React47 = __toESM(require("react"));
|
|
2111
|
+
var import_react13 = require("react");
|
|
1898
2112
|
var import_ui34 = require("@elementor/ui");
|
|
1899
2113
|
var import_i18n26 = require("@wordpress/i18n");
|
|
1900
2114
|
var CollapsibleContent = ({ children, defaultOpen = false }) => {
|
|
1901
|
-
const [open, setOpen] = (0,
|
|
2115
|
+
const [open, setOpen] = (0, import_react13.useState)(defaultOpen);
|
|
1902
2116
|
const handleToggle = () => {
|
|
1903
2117
|
setOpen((prevOpen) => !prevOpen);
|
|
1904
2118
|
};
|
|
1905
|
-
return /* @__PURE__ */
|
|
2119
|
+
return /* @__PURE__ */ React47.createElement(import_ui34.Stack, null, /* @__PURE__ */ React47.createElement(
|
|
1906
2120
|
import_ui34.Button,
|
|
1907
2121
|
{
|
|
1908
2122
|
fullWidth: true,
|
|
@@ -1910,18 +2124,21 @@ var CollapsibleContent = ({ children, defaultOpen = false }) => {
|
|
|
1910
2124
|
color: "secondary",
|
|
1911
2125
|
variant: "outlined",
|
|
1912
2126
|
onClick: handleToggle,
|
|
1913
|
-
endIcon: /* @__PURE__ */
|
|
2127
|
+
endIcon: /* @__PURE__ */ React47.createElement(CollapseIcon, { open }),
|
|
1914
2128
|
sx: { my: 0.5 }
|
|
1915
2129
|
},
|
|
1916
2130
|
open ? (0, import_i18n26.__)("Show less", "elementor") : (0, import_i18n26.__)("Show more", "elementor")
|
|
1917
|
-
), /* @__PURE__ */
|
|
2131
|
+
), /* @__PURE__ */ React47.createElement(import_ui34.Collapse, { in: open, timeout: "auto", unmountOnExit: true }, children));
|
|
1918
2132
|
};
|
|
1919
2133
|
|
|
1920
2134
|
// src/components/style-sections/typography-section/font-family-field.tsx
|
|
1921
|
-
var
|
|
1922
|
-
var import_react13 = require("react");
|
|
2135
|
+
var React48 = __toESM(require("react"));
|
|
1923
2136
|
var import_editor_controls29 = require("@elementor/editor-controls");
|
|
1924
2137
|
var import_ui35 = require("@elementor/ui");
|
|
2138
|
+
var import_i18n28 = require("@wordpress/i18n");
|
|
2139
|
+
|
|
2140
|
+
// src/components/style-sections/typography-section/hooks/use-font-families.ts
|
|
2141
|
+
var import_react14 = require("react");
|
|
1925
2142
|
var import_i18n27 = require("@wordpress/i18n");
|
|
1926
2143
|
|
|
1927
2144
|
// src/sync/get-elementor-config.ts
|
|
@@ -1930,254 +2147,229 @@ var getElementorConfig = () => {
|
|
|
1930
2147
|
return extendedWindow.elementor?.config ?? {};
|
|
1931
2148
|
};
|
|
1932
2149
|
|
|
1933
|
-
// src/components/style-sections/typography-section/font-
|
|
2150
|
+
// src/components/style-sections/typography-section/hooks/use-font-families.ts
|
|
1934
2151
|
var supportedCategories = {
|
|
1935
2152
|
system: (0, import_i18n27.__)("System", "elementor"),
|
|
1936
2153
|
custom: (0, import_i18n27.__)("Custom Fonts", "elementor"),
|
|
1937
2154
|
googlefonts: (0, import_i18n27.__)("Google Fonts", "elementor")
|
|
1938
2155
|
};
|
|
1939
|
-
var FontFamilyField = () => {
|
|
1940
|
-
const fontFamilies = useFontFamilies();
|
|
1941
|
-
if (Object.keys(fontFamilies).length === 0) {
|
|
1942
|
-
return null;
|
|
1943
|
-
}
|
|
1944
|
-
return /* @__PURE__ */ React47.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React47.createElement(import_ui35.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(import_ui35.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(import_editor_controls29.ControlLabel, null, (0, import_i18n27.__)("Font family", "elementor"))), /* @__PURE__ */ React47.createElement(import_ui35.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React47.createElement(import_editor_controls29.FontFamilyControl, { fontFamilies }))));
|
|
1945
|
-
};
|
|
1946
2156
|
var getFontFamilies = () => {
|
|
1947
2157
|
const { controls } = getElementorConfig();
|
|
1948
|
-
const
|
|
1949
|
-
if (!
|
|
2158
|
+
const options12 = controls?.font?.options;
|
|
2159
|
+
if (!options12) {
|
|
1950
2160
|
return null;
|
|
1951
2161
|
}
|
|
1952
|
-
return
|
|
2162
|
+
return options12;
|
|
1953
2163
|
};
|
|
1954
2164
|
var useFontFamilies = () => {
|
|
1955
2165
|
const fontFamilies = getFontFamilies();
|
|
1956
|
-
return (0,
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
if (!categoryLabel) {
|
|
2166
|
+
return (0, import_react14.useMemo)(() => {
|
|
2167
|
+
const categoriesOrder = ["system", "custom", "googlefonts"];
|
|
2168
|
+
return Object.entries(fontFamilies || {}).reduce((acc, [font, category]) => {
|
|
2169
|
+
if (!supportedCategories[category]) {
|
|
1961
2170
|
return acc;
|
|
1962
2171
|
}
|
|
1963
|
-
|
|
1964
|
-
|
|
2172
|
+
const categoryIndex = categoriesOrder.indexOf(category);
|
|
2173
|
+
if (!acc[categoryIndex]) {
|
|
2174
|
+
acc[categoryIndex] = {
|
|
2175
|
+
label: supportedCategories[category],
|
|
2176
|
+
fonts: []
|
|
2177
|
+
};
|
|
1965
2178
|
}
|
|
1966
|
-
acc[
|
|
2179
|
+
acc[categoryIndex].fonts.push(font);
|
|
1967
2180
|
return acc;
|
|
1968
|
-
},
|
|
1969
|
-
|
|
1970
|
-
|
|
2181
|
+
}, []).filter(Boolean);
|
|
2182
|
+
}, [fontFamilies]);
|
|
2183
|
+
};
|
|
2184
|
+
|
|
2185
|
+
// src/components/style-sections/typography-section/font-family-field.tsx
|
|
2186
|
+
var FontFamilyField = () => {
|
|
2187
|
+
const fontFamilies = useFontFamilies();
|
|
2188
|
+
if (fontFamilies.length === 0) {
|
|
2189
|
+
return null;
|
|
2190
|
+
}
|
|
2191
|
+
return /* @__PURE__ */ React48.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React48.createElement(import_ui35.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(import_ui35.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(import_editor_controls29.ControlLabel, null, (0, import_i18n28.__)("Font family", "elementor"))), /* @__PURE__ */ React48.createElement(import_ui35.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React48.createElement(import_editor_controls29.FontFamilyControl, { fontFamilies }))));
|
|
1971
2192
|
};
|
|
1972
2193
|
|
|
1973
2194
|
// src/components/style-sections/typography-section/font-size-field.tsx
|
|
1974
|
-
var
|
|
2195
|
+
var React49 = __toESM(require("react"));
|
|
1975
2196
|
var import_editor_controls30 = require("@elementor/editor-controls");
|
|
1976
2197
|
var import_ui36 = require("@elementor/ui");
|
|
1977
|
-
var
|
|
2198
|
+
var import_i18n29 = require("@wordpress/i18n");
|
|
1978
2199
|
var FontSizeField = () => {
|
|
1979
|
-
return /* @__PURE__ */
|
|
2200
|
+
return /* @__PURE__ */ React49.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React49.createElement(import_ui36.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(import_ui36.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(import_editor_controls30.ControlLabel, null, (0, import_i18n29.__)("Font size", "elementor"))), /* @__PURE__ */ React49.createElement(import_ui36.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(import_editor_controls30.SizeControl, null))));
|
|
1980
2201
|
};
|
|
1981
2202
|
|
|
1982
2203
|
// src/components/style-sections/typography-section/font-style-field.tsx
|
|
1983
|
-
var
|
|
2204
|
+
var React50 = __toESM(require("react"));
|
|
1984
2205
|
var import_editor_controls31 = require("@elementor/editor-controls");
|
|
1985
|
-
var
|
|
2206
|
+
var import_icons17 = require("@elementor/icons");
|
|
1986
2207
|
var import_ui37 = require("@elementor/ui");
|
|
1987
|
-
var
|
|
2208
|
+
var import_i18n30 = require("@wordpress/i18n");
|
|
1988
2209
|
var options7 = [
|
|
1989
2210
|
{
|
|
1990
2211
|
value: "normal",
|
|
1991
|
-
label: (0,
|
|
1992
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2212
|
+
label: (0, import_i18n30.__)("Normal", "elementor"),
|
|
2213
|
+
renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(import_icons17.MinusIcon, { fontSize: size }),
|
|
1993
2214
|
showTooltip: true
|
|
1994
2215
|
},
|
|
1995
2216
|
{
|
|
1996
2217
|
value: "italic",
|
|
1997
|
-
label: (0,
|
|
1998
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2218
|
+
label: (0, import_i18n30.__)("Italic", "elementor"),
|
|
2219
|
+
renderContent: ({ size }) => /* @__PURE__ */ React50.createElement(import_icons17.ItalicIcon, { fontSize: size }),
|
|
1999
2220
|
showTooltip: true
|
|
2000
2221
|
}
|
|
2001
2222
|
];
|
|
2002
|
-
var FontStyleField = () => /* @__PURE__ */
|
|
2223
|
+
var FontStyleField = () => /* @__PURE__ */ React50.createElement(StylesField, { bind: "font-style" }, /* @__PURE__ */ React50.createElement(import_ui37.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React50.createElement(import_ui37.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(import_editor_controls31.ControlLabel, null, (0, import_i18n30.__)("Font style", "elementor"))), /* @__PURE__ */ React50.createElement(import_ui37.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React50.createElement(import_editor_controls31.ToggleControl, { options: options7 }))));
|
|
2003
2224
|
|
|
2004
2225
|
// src/components/style-sections/typography-section/font-weight-field.tsx
|
|
2005
|
-
var
|
|
2226
|
+
var React51 = __toESM(require("react"));
|
|
2006
2227
|
var import_editor_controls32 = require("@elementor/editor-controls");
|
|
2007
2228
|
var import_ui38 = require("@elementor/ui");
|
|
2008
|
-
var
|
|
2229
|
+
var import_i18n31 = require("@wordpress/i18n");
|
|
2009
2230
|
var fontWeightOptions = [
|
|
2010
|
-
{ value: "100", label: (0,
|
|
2011
|
-
{ value: "200", label: (0,
|
|
2012
|
-
{ value: "300", label: (0,
|
|
2013
|
-
{ value: "400", label: (0,
|
|
2014
|
-
{ value: "500", label: (0,
|
|
2015
|
-
{ value: "600", label: (0,
|
|
2016
|
-
{ value: "700", label: (0,
|
|
2017
|
-
{ value: "800", label: (0,
|
|
2018
|
-
{ value: "900", label: (0,
|
|
2231
|
+
{ value: "100", label: (0, import_i18n31.__)("100 - Thin", "elementor") },
|
|
2232
|
+
{ value: "200", label: (0, import_i18n31.__)("200 - Extra light", "elementor") },
|
|
2233
|
+
{ value: "300", label: (0, import_i18n31.__)("300 - Light", "elementor") },
|
|
2234
|
+
{ value: "400", label: (0, import_i18n31.__)("400 - Normal", "elementor") },
|
|
2235
|
+
{ value: "500", label: (0, import_i18n31.__)("500 - Medium", "elementor") },
|
|
2236
|
+
{ value: "600", label: (0, import_i18n31.__)("600 - Semi bold", "elementor") },
|
|
2237
|
+
{ value: "700", label: (0, import_i18n31.__)("700 - Bold", "elementor") },
|
|
2238
|
+
{ value: "800", label: (0, import_i18n31.__)("800 - Extra bold", "elementor") },
|
|
2239
|
+
{ value: "900", label: (0, import_i18n31.__)("900 - Black", "elementor") }
|
|
2019
2240
|
];
|
|
2020
2241
|
var FontWeightField = () => {
|
|
2021
|
-
return /* @__PURE__ */
|
|
2242
|
+
return /* @__PURE__ */ React51.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React51.createElement(import_ui38.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React51.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(import_editor_controls32.ControlLabel, null, (0, import_i18n31.__)("Font weight", "elementor"))), /* @__PURE__ */ React51.createElement(import_ui38.Grid, { item: true, xs: 6, sx: { overflow: "hidden" } }, /* @__PURE__ */ React51.createElement(import_editor_controls32.SelectControl, { options: fontWeightOptions }))));
|
|
2022
2243
|
};
|
|
2023
2244
|
|
|
2024
2245
|
// src/components/style-sections/typography-section/letter-spacing-field.tsx
|
|
2025
|
-
var
|
|
2246
|
+
var React52 = __toESM(require("react"));
|
|
2026
2247
|
var import_editor_controls33 = require("@elementor/editor-controls");
|
|
2027
2248
|
var import_ui39 = require("@elementor/ui");
|
|
2028
|
-
var
|
|
2249
|
+
var import_i18n32 = require("@wordpress/i18n");
|
|
2029
2250
|
var LetterSpacingField = () => {
|
|
2030
|
-
return /* @__PURE__ */
|
|
2251
|
+
return /* @__PURE__ */ React52.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React52.createElement(import_ui39.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(import_editor_controls33.ControlLabel, null, (0, import_i18n32.__)("Letter spacing", "elementor"))), /* @__PURE__ */ React52.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(import_editor_controls33.SizeControl, null))));
|
|
2031
2252
|
};
|
|
2032
2253
|
|
|
2033
2254
|
// src/components/style-sections/typography-section/line-height-field.tsx
|
|
2034
|
-
var
|
|
2255
|
+
var React53 = __toESM(require("react"));
|
|
2035
2256
|
var import_editor_controls34 = require("@elementor/editor-controls");
|
|
2036
2257
|
var import_ui40 = require("@elementor/ui");
|
|
2037
|
-
var
|
|
2258
|
+
var import_i18n33 = require("@wordpress/i18n");
|
|
2038
2259
|
var LineHeightField = () => {
|
|
2039
|
-
return /* @__PURE__ */
|
|
2260
|
+
return /* @__PURE__ */ React53.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React53.createElement(import_ui40.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React53.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(import_editor_controls34.ControlLabel, null, (0, import_i18n33.__)("Line height", "elementor"))), /* @__PURE__ */ React53.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(import_editor_controls34.SizeControl, null))));
|
|
2040
2261
|
};
|
|
2041
2262
|
|
|
2042
2263
|
// src/components/style-sections/typography-section/text-alignment-field.tsx
|
|
2043
|
-
var
|
|
2264
|
+
var React54 = __toESM(require("react"));
|
|
2044
2265
|
var import_editor_controls35 = require("@elementor/editor-controls");
|
|
2045
|
-
var
|
|
2266
|
+
var import_icons18 = require("@elementor/icons");
|
|
2046
2267
|
var import_ui41 = require("@elementor/ui");
|
|
2047
|
-
var
|
|
2048
|
-
var StartIcon4 = (0, import_ui41.withDirection)(
|
|
2049
|
-
var EndIcon4 = (0, import_ui41.withDirection)(
|
|
2268
|
+
var import_i18n34 = require("@wordpress/i18n");
|
|
2269
|
+
var StartIcon4 = (0, import_ui41.withDirection)(import_icons18.AlignLeftIcon);
|
|
2270
|
+
var EndIcon4 = (0, import_ui41.withDirection)(import_icons18.AlignRightIcon);
|
|
2050
2271
|
var options8 = [
|
|
2051
2272
|
{
|
|
2052
2273
|
value: "start",
|
|
2053
|
-
label: (0,
|
|
2054
|
-
renderContent: () => /* @__PURE__ */
|
|
2274
|
+
label: (0, import_i18n34.__)("Start", "elementor"),
|
|
2275
|
+
renderContent: () => /* @__PURE__ */ React54.createElement(RotatedIcon, { icon: StartIcon4, size: "tiny" }),
|
|
2055
2276
|
showTooltip: true
|
|
2056
2277
|
},
|
|
2057
2278
|
{
|
|
2058
2279
|
value: "center",
|
|
2059
|
-
label: (0,
|
|
2060
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2280
|
+
label: (0, import_i18n34.__)("Center", "elementor"),
|
|
2281
|
+
renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(import_icons18.AlignCenterIcon, { fontSize: size }),
|
|
2061
2282
|
showTooltip: true
|
|
2062
2283
|
},
|
|
2063
2284
|
{
|
|
2064
2285
|
value: "end",
|
|
2065
|
-
label: (0,
|
|
2066
|
-
renderContent: () => /* @__PURE__ */
|
|
2286
|
+
label: (0, import_i18n34.__)("End", "elementor"),
|
|
2287
|
+
renderContent: () => /* @__PURE__ */ React54.createElement(RotatedIcon, { icon: EndIcon4, size: "tiny" }),
|
|
2067
2288
|
showTooltip: true
|
|
2068
2289
|
},
|
|
2069
2290
|
{
|
|
2070
2291
|
value: "justify",
|
|
2071
|
-
label: (0,
|
|
2072
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2292
|
+
label: (0, import_i18n34.__)("Justify", "elementor"),
|
|
2293
|
+
renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(import_icons18.AlignJustifiedIcon, { fontSize: size }),
|
|
2073
2294
|
showTooltip: true
|
|
2074
2295
|
}
|
|
2075
2296
|
];
|
|
2076
2297
|
var TextAlignmentField = () => {
|
|
2077
|
-
return /* @__PURE__ */
|
|
2298
|
+
return /* @__PURE__ */ React54.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React54.createElement(import_ui41.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React54.createElement(import_ui41.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(import_editor_controls35.ControlLabel, null, (0, import_i18n34.__)("Alignment", "elementor"))), /* @__PURE__ */ React54.createElement(import_ui41.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React54.createElement(import_editor_controls35.ToggleControl, { options: options8 }))));
|
|
2078
2299
|
};
|
|
2079
2300
|
|
|
2080
2301
|
// src/components/style-sections/typography-section/text-color-field.tsx
|
|
2081
|
-
var
|
|
2302
|
+
var React55 = __toESM(require("react"));
|
|
2082
2303
|
var import_editor_controls36 = require("@elementor/editor-controls");
|
|
2083
2304
|
var import_ui42 = require("@elementor/ui");
|
|
2084
|
-
var
|
|
2305
|
+
var import_i18n35 = require("@wordpress/i18n");
|
|
2085
2306
|
var TextColorField = () => {
|
|
2086
|
-
return /* @__PURE__ */
|
|
2307
|
+
return /* @__PURE__ */ React55.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React55.createElement(import_ui42.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React55.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(import_editor_controls36.ControlLabel, null, (0, import_i18n35.__)("Text color", "elementor"))), /* @__PURE__ */ React55.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React55.createElement(import_editor_controls36.ColorControl, null))));
|
|
2087
2308
|
};
|
|
2088
2309
|
|
|
2089
2310
|
// src/components/style-sections/typography-section/text-decoration-field.tsx
|
|
2090
|
-
var
|
|
2311
|
+
var React56 = __toESM(require("react"));
|
|
2091
2312
|
var import_editor_controls37 = require("@elementor/editor-controls");
|
|
2092
|
-
var
|
|
2313
|
+
var import_icons19 = require("@elementor/icons");
|
|
2093
2314
|
var import_ui43 = require("@elementor/ui");
|
|
2094
|
-
var
|
|
2095
|
-
var
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
})
|
|
2107
|
-
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
|
|
2122
|
-
|
|
2123
|
-
"aria-label": "underline"
|
|
2124
|
-
},
|
|
2125
|
-
/* @__PURE__ */ React55.createElement(import_icons18.UnderlineIcon, { fontSize: buttonSize })
|
|
2126
|
-
))));
|
|
2127
|
-
};
|
|
2128
|
-
var ShorthandControl = ({
|
|
2129
|
-
children,
|
|
2130
|
-
value,
|
|
2131
|
-
currentValues,
|
|
2132
|
-
updateValues,
|
|
2133
|
-
"aria-label": ariaLabel
|
|
2134
|
-
}) => {
|
|
2135
|
-
const valuesArr = currentValues.split(" ").filter(Boolean);
|
|
2136
|
-
const selected = valuesArr.includes(value);
|
|
2137
|
-
const toggleValue = (newValue) => {
|
|
2138
|
-
if (selected) {
|
|
2139
|
-
updateValues(valuesArr.filter((v) => v !== newValue).join(" ") || null);
|
|
2140
|
-
} else {
|
|
2141
|
-
updateValues([...valuesArr, newValue].join(" "));
|
|
2142
|
-
}
|
|
2143
|
-
};
|
|
2144
|
-
return /* @__PURE__ */ React55.createElement(ToggleButton, { value, onChange: toggleValue, selected, "aria-label": ariaLabel }, children);
|
|
2145
|
-
};
|
|
2146
|
-
var ToggleButton = ({ onChange, ...props }) => {
|
|
2147
|
-
const handleChange = (_e, newValue) => {
|
|
2148
|
-
onChange(newValue);
|
|
2149
|
-
};
|
|
2150
|
-
return /* @__PURE__ */ React55.createElement(import_ui43.ToggleButton, { ...props, onChange: handleChange, size: buttonSize });
|
|
2151
|
-
};
|
|
2315
|
+
var import_i18n36 = require("@wordpress/i18n");
|
|
2316
|
+
var options9 = [
|
|
2317
|
+
{
|
|
2318
|
+
value: "none",
|
|
2319
|
+
label: (0, import_i18n36.__)("None", "elementor"),
|
|
2320
|
+
renderContent: ({ size }) => /* @__PURE__ */ React56.createElement(import_icons19.MinusIcon, { fontSize: size }),
|
|
2321
|
+
showTooltip: true,
|
|
2322
|
+
exclusive: true
|
|
2323
|
+
},
|
|
2324
|
+
{
|
|
2325
|
+
value: "underline",
|
|
2326
|
+
label: (0, import_i18n36.__)("Underline", "elementor"),
|
|
2327
|
+
renderContent: ({ size }) => /* @__PURE__ */ React56.createElement(import_icons19.UnderlineIcon, { fontSize: size }),
|
|
2328
|
+
showTooltip: true
|
|
2329
|
+
},
|
|
2330
|
+
{
|
|
2331
|
+
value: "line-through",
|
|
2332
|
+
label: (0, import_i18n36.__)("Line-through", "elementor"),
|
|
2333
|
+
renderContent: ({ size }) => /* @__PURE__ */ React56.createElement(import_icons19.StrikethroughIcon, { fontSize: size }),
|
|
2334
|
+
showTooltip: true
|
|
2335
|
+
},
|
|
2336
|
+
{
|
|
2337
|
+
value: "overline",
|
|
2338
|
+
label: (0, import_i18n36.__)("Overline", "elementor"),
|
|
2339
|
+
renderContent: ({ size }) => /* @__PURE__ */ React56.createElement(import_icons19.OverlineIcon, { fontSize: size }),
|
|
2340
|
+
showTooltip: true
|
|
2341
|
+
}
|
|
2342
|
+
];
|
|
2343
|
+
var TextDecorationField = () => /* @__PURE__ */ React56.createElement(StylesField, { bind: "text-decoration" }, /* @__PURE__ */ React56.createElement(import_ui43.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React56.createElement(import_ui43.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(import_editor_controls37.ControlLabel, null, (0, import_i18n36.__)("Line decoration", "elementor"))), /* @__PURE__ */ React56.createElement(import_ui43.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React56.createElement(import_editor_controls37.ToggleControl, { options: options9, exclusive: false }))));
|
|
2152
2344
|
|
|
2153
2345
|
// src/components/style-sections/typography-section/text-direction-field.tsx
|
|
2154
|
-
var
|
|
2346
|
+
var React57 = __toESM(require("react"));
|
|
2155
2347
|
var import_editor_controls38 = require("@elementor/editor-controls");
|
|
2156
|
-
var
|
|
2348
|
+
var import_icons20 = require("@elementor/icons");
|
|
2157
2349
|
var import_ui44 = require("@elementor/ui");
|
|
2158
|
-
var
|
|
2159
|
-
var
|
|
2350
|
+
var import_i18n37 = require("@wordpress/i18n");
|
|
2351
|
+
var options10 = [
|
|
2160
2352
|
{
|
|
2161
2353
|
value: "ltr",
|
|
2162
|
-
label: (0,
|
|
2163
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2354
|
+
label: (0, import_i18n37.__)("Left to right", "elementor"),
|
|
2355
|
+
renderContent: ({ size }) => /* @__PURE__ */ React57.createElement(import_icons20.TextDirectionLtrIcon, { fontSize: size }),
|
|
2164
2356
|
showTooltip: true
|
|
2165
2357
|
},
|
|
2166
2358
|
{
|
|
2167
2359
|
value: "rtl",
|
|
2168
|
-
label: (0,
|
|
2169
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2360
|
+
label: (0, import_i18n37.__)("Right to left", "elementor"),
|
|
2361
|
+
renderContent: ({ size }) => /* @__PURE__ */ React57.createElement(import_icons20.TextDirectionRtlIcon, { fontSize: size }),
|
|
2170
2362
|
showTooltip: true
|
|
2171
2363
|
}
|
|
2172
2364
|
];
|
|
2173
2365
|
var TextDirectionField = () => {
|
|
2174
|
-
return /* @__PURE__ */
|
|
2366
|
+
return /* @__PURE__ */ React57.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React57.createElement(import_ui44.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React57.createElement(import_ui44.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(import_editor_controls38.ControlLabel, null, (0, import_i18n37.__)("Direction", "elementor"))), /* @__PURE__ */ React57.createElement(import_ui44.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React57.createElement(import_editor_controls38.ToggleControl, { options: options10 }))));
|
|
2175
2367
|
};
|
|
2176
2368
|
|
|
2177
2369
|
// src/components/style-sections/typography-section/text-stroke-field.tsx
|
|
2178
|
-
var
|
|
2370
|
+
var React58 = __toESM(require("react"));
|
|
2179
2371
|
var import_editor_controls39 = require("@elementor/editor-controls");
|
|
2180
|
-
var
|
|
2372
|
+
var import_i18n38 = require("@wordpress/i18n");
|
|
2181
2373
|
var initTextStroke = {
|
|
2182
2374
|
$$type: "stroke",
|
|
2183
2375
|
value: {
|
|
@@ -2203,74 +2395,73 @@ var TextStrokeField = () => {
|
|
|
2203
2395
|
setTextStroke(null);
|
|
2204
2396
|
};
|
|
2205
2397
|
const hasTextStroke = Boolean(textStroke);
|
|
2206
|
-
return /* @__PURE__ */
|
|
2398
|
+
return /* @__PURE__ */ React58.createElement(
|
|
2207
2399
|
AddOrRemoveContent,
|
|
2208
2400
|
{
|
|
2209
|
-
label: (0,
|
|
2401
|
+
label: (0, import_i18n38.__)("Text stroke", "elementor"),
|
|
2210
2402
|
isAdded: hasTextStroke,
|
|
2211
2403
|
onAdd: addTextStroke,
|
|
2212
2404
|
onRemove: removeTextStroke
|
|
2213
2405
|
},
|
|
2214
|
-
/* @__PURE__ */
|
|
2406
|
+
/* @__PURE__ */ React58.createElement(StylesField, { bind: "stroke" }, /* @__PURE__ */ React58.createElement(import_editor_controls39.StrokeControl, null))
|
|
2215
2407
|
);
|
|
2216
2408
|
};
|
|
2217
2409
|
|
|
2218
2410
|
// src/components/style-sections/typography-section/transform-field.tsx
|
|
2219
|
-
var
|
|
2411
|
+
var React59 = __toESM(require("react"));
|
|
2220
2412
|
var import_editor_controls40 = require("@elementor/editor-controls");
|
|
2221
|
-
var
|
|
2413
|
+
var import_icons21 = require("@elementor/icons");
|
|
2222
2414
|
var import_ui45 = require("@elementor/ui");
|
|
2223
|
-
var
|
|
2224
|
-
var
|
|
2415
|
+
var import_i18n39 = require("@wordpress/i18n");
|
|
2416
|
+
var options11 = [
|
|
2225
2417
|
{
|
|
2226
2418
|
value: "none",
|
|
2227
|
-
label: (0,
|
|
2228
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2419
|
+
label: (0, import_i18n39.__)("None", "elementor"),
|
|
2420
|
+
renderContent: ({ size }) => /* @__PURE__ */ React59.createElement(import_icons21.MinusIcon, { fontSize: size }),
|
|
2229
2421
|
showTooltip: true
|
|
2230
2422
|
},
|
|
2231
2423
|
{
|
|
2232
2424
|
value: "capitalize",
|
|
2233
|
-
label: (0,
|
|
2234
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2425
|
+
label: (0, import_i18n39.__)("Capitalize", "elementor"),
|
|
2426
|
+
renderContent: ({ size }) => /* @__PURE__ */ React59.createElement(import_icons21.LetterCaseIcon, { fontSize: size }),
|
|
2235
2427
|
showTooltip: true
|
|
2236
2428
|
},
|
|
2237
2429
|
{
|
|
2238
2430
|
value: "uppercase",
|
|
2239
|
-
label: (0,
|
|
2240
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2431
|
+
label: (0, import_i18n39.__)("Uppercase", "elementor"),
|
|
2432
|
+
renderContent: ({ size }) => /* @__PURE__ */ React59.createElement(import_icons21.LetterCaseUpperIcon, { fontSize: size }),
|
|
2241
2433
|
showTooltip: true
|
|
2242
2434
|
},
|
|
2243
2435
|
{
|
|
2244
2436
|
value: "lowercase",
|
|
2245
|
-
label: (0,
|
|
2246
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2437
|
+
label: (0, import_i18n39.__)("Lowercase", "elementor"),
|
|
2438
|
+
renderContent: ({ size }) => /* @__PURE__ */ React59.createElement(import_icons21.LetterCaseLowerIcon, { fontSize: size }),
|
|
2247
2439
|
showTooltip: true
|
|
2248
2440
|
}
|
|
2249
2441
|
];
|
|
2250
|
-
var TransformField = () => /* @__PURE__ */
|
|
2442
|
+
var TransformField = () => /* @__PURE__ */ React59.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React59.createElement(import_ui45.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React59.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React59.createElement(import_editor_controls40.ControlLabel, null, (0, import_i18n39.__)("Text transform", "elementor"))), /* @__PURE__ */ React59.createElement(import_ui45.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React59.createElement(import_editor_controls40.ToggleControl, { options: options11 }))));
|
|
2251
2443
|
|
|
2252
2444
|
// src/components/style-sections/typography-section/word-spacing-field.tsx
|
|
2253
|
-
var
|
|
2445
|
+
var React60 = __toESM(require("react"));
|
|
2254
2446
|
var import_editor_controls41 = require("@elementor/editor-controls");
|
|
2255
2447
|
var import_ui46 = require("@elementor/ui");
|
|
2256
|
-
var
|
|
2448
|
+
var import_i18n40 = require("@wordpress/i18n");
|
|
2257
2449
|
var WordSpacingField = () => {
|
|
2258
|
-
return /* @__PURE__ */
|
|
2450
|
+
return /* @__PURE__ */ React60.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React60.createElement(import_ui46.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React60.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(import_editor_controls41.ControlLabel, null, (0, import_i18n40.__)("Word spacing", "elementor"))), /* @__PURE__ */ React60.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React60.createElement(import_editor_controls41.SizeControl, null))));
|
|
2259
2451
|
};
|
|
2260
2452
|
|
|
2261
2453
|
// src/components/style-sections/typography-section/typography-section.tsx
|
|
2262
2454
|
var TypographySection = () => {
|
|
2263
|
-
return /* @__PURE__ */
|
|
2455
|
+
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))));
|
|
2264
2456
|
};
|
|
2265
2457
|
|
|
2266
2458
|
// src/components/style-tab.tsx
|
|
2267
|
-
var CLASSES_PROP_KEY = "classes";
|
|
2268
2459
|
var StyleTab = () => {
|
|
2269
2460
|
const currentClassesProp = useCurrentClassesProp();
|
|
2270
2461
|
const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
|
|
2271
|
-
const [activeStyleState, setActiveStyleState] = (0,
|
|
2272
|
-
const breakpoint = (0,
|
|
2273
|
-
return /* @__PURE__ */
|
|
2462
|
+
const [activeStyleState, setActiveStyleState] = (0, import_react15.useState)(null);
|
|
2463
|
+
const breakpoint = (0, import_editor_responsive2.useActiveBreakpoint)();
|
|
2464
|
+
return /* @__PURE__ */ React62.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React62.createElement(
|
|
2274
2465
|
StyleProvider,
|
|
2275
2466
|
{
|
|
2276
2467
|
meta: { breakpoint, state: activeStyleState },
|
|
@@ -2281,24 +2472,24 @@ var StyleTab = () => {
|
|
|
2281
2472
|
},
|
|
2282
2473
|
setMetaState: setActiveStyleState
|
|
2283
2474
|
},
|
|
2284
|
-
/* @__PURE__ */
|
|
2475
|
+
/* @__PURE__ */ React62.createElement(import_session3.SessionStorageProvider, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React62.createElement(StyleInheritanceProvider, null, /* @__PURE__ */ React62.createElement(CssClassSelector, null), /* @__PURE__ */ React62.createElement(import_ui47.Divider, null), /* @__PURE__ */ React62.createElement(SectionsList, null, /* @__PURE__ */ React62.createElement(Section, { title: (0, import_i18n41.__)("Layout", "elementor") }, /* @__PURE__ */ React62.createElement(LayoutSection, null)), /* @__PURE__ */ React62.createElement(Section, { title: (0, import_i18n41.__)("Spacing", "elementor") }, /* @__PURE__ */ React62.createElement(SpacingSection, null)), /* @__PURE__ */ React62.createElement(Section, { title: (0, import_i18n41.__)("Size", "elementor") }, /* @__PURE__ */ React62.createElement(SizeSection, null)), /* @__PURE__ */ React62.createElement(Section, { title: (0, import_i18n41.__)("Position", "elementor") }, /* @__PURE__ */ React62.createElement(PositionSection, null)), /* @__PURE__ */ React62.createElement(Section, { title: (0, import_i18n41.__)("Typography", "elementor") }, /* @__PURE__ */ React62.createElement(TypographySection, null)), /* @__PURE__ */ React62.createElement(Section, { title: (0, import_i18n41.__)("Background", "elementor") }, /* @__PURE__ */ React62.createElement(BackgroundSection, null)), /* @__PURE__ */ React62.createElement(Section, { title: (0, import_i18n41.__)("Border", "elementor") }, /* @__PURE__ */ React62.createElement(BorderSection, null)), /* @__PURE__ */ React62.createElement(Section, { title: (0, import_i18n41.__)("Effects", "elementor") }, /* @__PURE__ */ React62.createElement(EffectsSection, null)))))
|
|
2285
2476
|
));
|
|
2286
2477
|
};
|
|
2287
2478
|
function useActiveStyleDefId(currentClassesProp) {
|
|
2288
|
-
const [activeStyledDefId, setActiveStyledDefId] = (0,
|
|
2479
|
+
const [activeStyledDefId, setActiveStyledDefId] = (0, import_react15.useState)(null);
|
|
2289
2480
|
const fallback = useFirstElementStyleDef(currentClassesProp);
|
|
2290
2481
|
return [activeStyledDefId || fallback?.id || null, setActiveStyledDefId];
|
|
2291
2482
|
}
|
|
2292
2483
|
function useFirstElementStyleDef(currentClassesProp) {
|
|
2293
2484
|
const { element } = useElement();
|
|
2294
|
-
const classesIds = (0,
|
|
2295
|
-
const stylesDefs = (0,
|
|
2485
|
+
const classesIds = (0, import_editor_elements7.useElementSetting)(element.id, currentClassesProp)?.value || [];
|
|
2486
|
+
const stylesDefs = (0, import_editor_elements7.getElementStyles)(element.id) ?? {};
|
|
2296
2487
|
return Object.values(stylesDefs).find((styleDef) => classesIds.includes(styleDef.id));
|
|
2297
2488
|
}
|
|
2298
2489
|
function useCurrentClassesProp() {
|
|
2299
2490
|
const { elementType } = useElement();
|
|
2300
2491
|
const prop = Object.entries(elementType.propsSchema).find(
|
|
2301
|
-
([, propType]) => propType.kind === "plain" && propType.key === CLASSES_PROP_KEY
|
|
2492
|
+
([, propType]) => propType.kind === "plain" && propType.key === import_editor_props5.CLASSES_PROP_KEY
|
|
2302
2493
|
);
|
|
2303
2494
|
if (!prop) {
|
|
2304
2495
|
throw new Error("Element does not have a classes prop");
|
|
@@ -2313,21 +2504,21 @@ var EditingPanelTabs = () => {
|
|
|
2313
2504
|
return (
|
|
2314
2505
|
// When switching between elements, the local states should be reset. We are using key to rerender the tabs.
|
|
2315
2506
|
// Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
|
|
2316
|
-
/* @__PURE__ */
|
|
2507
|
+
/* @__PURE__ */ React63.createElement(import_react16.Fragment, { key: element.id }, /* @__PURE__ */ React63.createElement(import_ui48.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React63.createElement(import_ui48.Tabs, { variant: "fullWidth", indicatorColor: "secondary", textColor: "inherit", ...getTabsProps() }, /* @__PURE__ */ React63.createElement(import_ui48.Tab, { label: (0, import_i18n42.__)("General", "elementor"), ...getTabProps("settings") }), /* @__PURE__ */ React63.createElement(import_ui48.Tab, { label: (0, import_i18n42.__)("Style", "elementor"), ...getTabProps("style") })), /* @__PURE__ */ React63.createElement(import_ui48.Divider, null), /* @__PURE__ */ React63.createElement(import_ui48.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React63.createElement(SettingsTab, null)), /* @__PURE__ */ React63.createElement(import_ui48.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React63.createElement(StyleTab, null))))
|
|
2317
2508
|
);
|
|
2318
2509
|
};
|
|
2319
2510
|
|
|
2320
2511
|
// src/components/editing-panel.tsx
|
|
2321
2512
|
var { useMenuItems } = controlActionsMenu;
|
|
2322
2513
|
var EditingPanel = () => {
|
|
2323
|
-
const { element, elementType } = (0,
|
|
2514
|
+
const { element, elementType } = (0, import_editor_elements8.useSelectedElement)();
|
|
2324
2515
|
const controlReplacement = getControlReplacement();
|
|
2325
2516
|
const menuItems = useMenuItems().default;
|
|
2326
2517
|
if (!element || !elementType) {
|
|
2327
2518
|
return null;
|
|
2328
2519
|
}
|
|
2329
|
-
const panelTitle = (0,
|
|
2330
|
-
return /* @__PURE__ */
|
|
2520
|
+
const panelTitle = (0, import_i18n43.__)("Edit %s", "elementor").replace("%s", elementType.title);
|
|
2521
|
+
return /* @__PURE__ */ React64.createElement(import_ui49.ErrorBoundary, { fallback: /* @__PURE__ */ React64.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React64.createElement(import_session4.SessionStorageProvider, { prefix: "elementor" }, /* @__PURE__ */ React64.createElement(import_editor_panels.Panel, null, /* @__PURE__ */ React64.createElement(import_editor_panels.PanelHeader, null, /* @__PURE__ */ React64.createElement(import_editor_panels.PanelHeaderTitle, null, panelTitle), /* @__PURE__ */ React64.createElement(import_icons22.AtomIcon, { fontSize: "small", sx: { color: "text.tertiary" } })), /* @__PURE__ */ React64.createElement(import_editor_panels.PanelBody, null, /* @__PURE__ */ React64.createElement(import_editor_controls42.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React64.createElement(import_editor_controls42.ControlReplacementProvider, { ...controlReplacement }, /* @__PURE__ */ React64.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React64.createElement(EditingPanelTabs, null))))))));
|
|
2331
2522
|
};
|
|
2332
2523
|
|
|
2333
2524
|
// src/panel.ts
|
|
@@ -2338,47 +2529,30 @@ var { panel, usePanelActions, usePanelStatus } = (0, import_editor_panels2.__cre
|
|
|
2338
2529
|
|
|
2339
2530
|
// src/init.ts
|
|
2340
2531
|
var import_editor = require("@elementor/editor");
|
|
2532
|
+
var import_editor_current_user = require("@elementor/editor-current-user");
|
|
2341
2533
|
var import_editor_panels3 = require("@elementor/editor-panels");
|
|
2342
|
-
var
|
|
2534
|
+
var import_editor_v1_adapters4 = require("@elementor/editor-v1-adapters");
|
|
2343
2535
|
|
|
2344
|
-
// src/hooks/use-
|
|
2345
|
-
var
|
|
2346
|
-
var import_editor_elements9 = require("@elementor/editor-elements");
|
|
2536
|
+
// src/hooks/use-open-editor-panel.ts
|
|
2537
|
+
var import_react17 = require("react");
|
|
2347
2538
|
var import_editor_v1_adapters3 = require("@elementor/editor-v1-adapters");
|
|
2348
2539
|
|
|
2349
2540
|
// src/sync/is-atomic-widget-selected.ts
|
|
2350
|
-
var
|
|
2541
|
+
var import_editor_elements9 = require("@elementor/editor-elements");
|
|
2351
2542
|
var isAtomicWidgetSelected = () => {
|
|
2352
|
-
const selectedElements = (0,
|
|
2353
|
-
const widgetCache = (0,
|
|
2543
|
+
const selectedElements = (0, import_editor_elements9.getSelectedElements)();
|
|
2544
|
+
const widgetCache = (0, import_editor_elements9.getWidgetsCache)();
|
|
2354
2545
|
if (selectedElements.length !== 1) {
|
|
2355
2546
|
return false;
|
|
2356
2547
|
}
|
|
2357
2548
|
return !!widgetCache?.[selectedElements[0].type]?.atomic_controls;
|
|
2358
2549
|
};
|
|
2359
2550
|
|
|
2360
|
-
// src/hooks/use-close-editor-panel.ts
|
|
2361
|
-
var useCloseEditorPanel = () => {
|
|
2362
|
-
const { close } = usePanelActions();
|
|
2363
|
-
return (0, import_react16.useEffect)(() => {
|
|
2364
|
-
return (0, import_editor_v1_adapters3.__privateListenTo)((0, import_editor_v1_adapters3.commandStartEvent)("document/elements/delete"), (e) => {
|
|
2365
|
-
const selectedElement = (0, import_editor_elements9.getSelectedElements)()[0];
|
|
2366
|
-
const { container: deletedContainer } = e?.args;
|
|
2367
|
-
const isSelectedElementInDeletedContainer = deletedContainer && selectedElement && (0, import_editor_elements9.isElementInContainer)(selectedElement, deletedContainer);
|
|
2368
|
-
if (isSelectedElementInDeletedContainer && isAtomicWidgetSelected()) {
|
|
2369
|
-
close();
|
|
2370
|
-
}
|
|
2371
|
-
});
|
|
2372
|
-
}, []);
|
|
2373
|
-
};
|
|
2374
|
-
|
|
2375
2551
|
// src/hooks/use-open-editor-panel.ts
|
|
2376
|
-
var import_react17 = require("react");
|
|
2377
|
-
var import_editor_v1_adapters4 = require("@elementor/editor-v1-adapters");
|
|
2378
2552
|
var useOpenEditorPanel = () => {
|
|
2379
2553
|
const { open } = usePanelActions();
|
|
2380
2554
|
(0, import_react17.useEffect)(() => {
|
|
2381
|
-
return (0,
|
|
2555
|
+
return (0, import_editor_v1_adapters3.__privateListenTo)((0, import_editor_v1_adapters3.commandStartEvent)("panel/editor/open"), () => {
|
|
2382
2556
|
if (isAtomicWidgetSelected()) {
|
|
2383
2557
|
open();
|
|
2384
2558
|
}
|
|
@@ -2389,22 +2563,21 @@ var useOpenEditorPanel = () => {
|
|
|
2389
2563
|
// src/components/editing-panel-hooks.tsx
|
|
2390
2564
|
var EditingPanelHooks = () => {
|
|
2391
2565
|
useOpenEditorPanel();
|
|
2392
|
-
useCloseEditorPanel();
|
|
2393
2566
|
return null;
|
|
2394
2567
|
};
|
|
2395
2568
|
|
|
2396
2569
|
// src/dynamics/components/dynamic-selection-control.tsx
|
|
2397
|
-
var
|
|
2570
|
+
var React68 = __toESM(require("react"));
|
|
2398
2571
|
var import_react21 = require("react");
|
|
2399
2572
|
var import_editor_controls46 = require("@elementor/editor-controls");
|
|
2400
|
-
var
|
|
2573
|
+
var import_icons24 = require("@elementor/icons");
|
|
2401
2574
|
var import_ui52 = require("@elementor/ui");
|
|
2402
|
-
var
|
|
2575
|
+
var import_i18n45 = require("@wordpress/i18n");
|
|
2403
2576
|
|
|
2404
2577
|
// src/components/popover-content.tsx
|
|
2405
|
-
var
|
|
2578
|
+
var React65 = __toESM(require("react"));
|
|
2406
2579
|
var import_ui50 = require("@elementor/ui");
|
|
2407
|
-
var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */
|
|
2580
|
+
var PopoverContent = ({ alignItems, gap = 1.5, p, children }) => /* @__PURE__ */ React65.createElement(import_ui50.Stack, { alignItems, gap, p }, children);
|
|
2408
2581
|
|
|
2409
2582
|
// src/hooks/use-persist-dynamic-value.ts
|
|
2410
2583
|
var import_session5 = require("@elementor/session");
|
|
@@ -2415,7 +2588,7 @@ var usePersistDynamicValue = (propKey) => {
|
|
|
2415
2588
|
};
|
|
2416
2589
|
|
|
2417
2590
|
// src/dynamics/dynamic-control.tsx
|
|
2418
|
-
var
|
|
2591
|
+
var React66 = __toESM(require("react"));
|
|
2419
2592
|
var import_editor_controls44 = require("@elementor/editor-controls");
|
|
2420
2593
|
|
|
2421
2594
|
// src/dynamics/hooks/use-dynamic-tag.ts
|
|
@@ -2444,7 +2617,7 @@ var getAtomicDynamicTags = () => {
|
|
|
2444
2617
|
};
|
|
2445
2618
|
|
|
2446
2619
|
// src/dynamics/utils.ts
|
|
2447
|
-
var
|
|
2620
|
+
var import_editor_props6 = require("@elementor/editor-props");
|
|
2448
2621
|
var import_schema = require("@elementor/schema");
|
|
2449
2622
|
var DYNAMIC_PROP_TYPE_KEY = "dynamic";
|
|
2450
2623
|
var isDynamicPropType = (prop) => prop.key === DYNAMIC_PROP_TYPE_KEY;
|
|
@@ -2453,12 +2626,12 @@ var getDynamicPropType = (propType) => {
|
|
|
2453
2626
|
return dynamicPropType && isDynamicPropType(dynamicPropType) ? dynamicPropType : null;
|
|
2454
2627
|
};
|
|
2455
2628
|
var isDynamicPropValue = (prop) => {
|
|
2456
|
-
return (0,
|
|
2629
|
+
return (0, import_editor_props6.isTransformable)(prop) && prop.$$type === DYNAMIC_PROP_TYPE_KEY;
|
|
2457
2630
|
};
|
|
2458
2631
|
var supportsDynamic = (propType) => {
|
|
2459
2632
|
return !!getDynamicPropType(propType);
|
|
2460
2633
|
};
|
|
2461
|
-
var dynamicPropTypeUtil = (0,
|
|
2634
|
+
var dynamicPropTypeUtil = (0, import_editor_props6.createPropUtils)(
|
|
2462
2635
|
DYNAMIC_PROP_TYPE_KEY,
|
|
2463
2636
|
import_schema.z.strictObject({
|
|
2464
2637
|
name: import_schema.z.string(),
|
|
@@ -2514,16 +2687,16 @@ var DynamicControl = ({ bind, children }) => {
|
|
|
2514
2687
|
});
|
|
2515
2688
|
};
|
|
2516
2689
|
const propType = createTopLevelOjectType({ schema: dynamicTag.props_schema });
|
|
2517
|
-
return /* @__PURE__ */
|
|
2690
|
+
return /* @__PURE__ */ React66.createElement(import_editor_controls44.PropProvider, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React66.createElement(import_editor_controls44.PropKeyProvider, { bind }, children));
|
|
2518
2691
|
};
|
|
2519
2692
|
|
|
2520
2693
|
// src/dynamics/components/dynamic-selection.tsx
|
|
2521
|
-
var
|
|
2694
|
+
var React67 = __toESM(require("react"));
|
|
2522
2695
|
var import_react20 = require("react");
|
|
2523
2696
|
var import_editor_controls45 = require("@elementor/editor-controls");
|
|
2524
|
-
var
|
|
2697
|
+
var import_icons23 = require("@elementor/icons");
|
|
2525
2698
|
var import_ui51 = require("@elementor/ui");
|
|
2526
|
-
var
|
|
2699
|
+
var import_i18n44 = require("@wordpress/i18n");
|
|
2527
2700
|
var SIZE3 = "tiny";
|
|
2528
2701
|
var DynamicSelection = ({ onSelect }) => {
|
|
2529
2702
|
const [searchValue, setSearchValue] = (0, import_react20.useState)("");
|
|
@@ -2532,7 +2705,8 @@ var DynamicSelection = ({ onSelect }) => {
|
|
|
2532
2705
|
const { bind, value: dynamicValue, setValue } = (0, import_editor_controls45.useBoundProp)(dynamicPropTypeUtil);
|
|
2533
2706
|
const [, updatePropValueHistory] = usePersistDynamicValue(bind);
|
|
2534
2707
|
const isCurrentValueDynamic = !!dynamicValue;
|
|
2535
|
-
const
|
|
2708
|
+
const options12 = useFilteredOptions(searchValue);
|
|
2709
|
+
const hasNoDynamicTags = !options12.length && !searchValue.trim();
|
|
2536
2710
|
const handleSearch = (event) => {
|
|
2537
2711
|
setSearchValue(event.target.value);
|
|
2538
2712
|
};
|
|
@@ -2543,21 +2717,27 @@ var DynamicSelection = ({ onSelect }) => {
|
|
|
2543
2717
|
setValue({ name: value, settings: {} });
|
|
2544
2718
|
onSelect?.();
|
|
2545
2719
|
};
|
|
2546
|
-
return /* @__PURE__ */
|
|
2720
|
+
return /* @__PURE__ */ React67.createElement(import_ui51.Stack, null, hasNoDynamicTags ? /* @__PURE__ */ React67.createElement(NoDynamicTags, null) : /* @__PURE__ */ React67.createElement(import_react20.Fragment, null, /* @__PURE__ */ React67.createElement(import_ui51.Box, { px: 1.5, pb: 1 }, /* @__PURE__ */ React67.createElement(
|
|
2547
2721
|
import_ui51.TextField,
|
|
2548
2722
|
{
|
|
2549
2723
|
fullWidth: true,
|
|
2550
2724
|
size: SIZE3,
|
|
2551
2725
|
value: searchValue,
|
|
2552
2726
|
onChange: handleSearch,
|
|
2553
|
-
placeholder: (0,
|
|
2727
|
+
placeholder: (0, import_i18n44.__)("Search dynamic tags\u2026", "elementor"),
|
|
2554
2728
|
InputProps: {
|
|
2555
|
-
startAdornment: /* @__PURE__ */
|
|
2729
|
+
startAdornment: /* @__PURE__ */ React67.createElement(import_ui51.InputAdornment, { position: "start" }, /* @__PURE__ */ React67.createElement(import_icons23.SearchIcon, { fontSize: SIZE3 }))
|
|
2556
2730
|
}
|
|
2557
2731
|
}
|
|
2558
|
-
)), /* @__PURE__ */
|
|
2732
|
+
)), /* @__PURE__ */ React67.createElement(import_ui51.Divider, null), /* @__PURE__ */ React67.createElement(import_ui51.Box, { sx: { overflowY: "auto", height: 260, width: 220 } }, options12.length > 0 ? /* @__PURE__ */ React67.createElement(import_ui51.MenuList, { role: "listbox", tabIndex: 0 }, options12.map(([category, items3], index) => /* @__PURE__ */ React67.createElement(import_react20.Fragment, { key: index }, /* @__PURE__ */ React67.createElement(
|
|
2733
|
+
import_ui51.ListSubheader,
|
|
2734
|
+
{
|
|
2735
|
+
sx: { px: 1.5, typography: "caption", color: "text.tertiary" }
|
|
2736
|
+
},
|
|
2737
|
+
dynamicGroups?.[category]?.title || category
|
|
2738
|
+
), items3.map(({ value, label: tagLabel }) => {
|
|
2559
2739
|
const isSelected = isCurrentValueDynamic && value === dynamicValue?.name;
|
|
2560
|
-
return /* @__PURE__ */
|
|
2740
|
+
return /* @__PURE__ */ React67.createElement(
|
|
2561
2741
|
import_ui51.MenuItem,
|
|
2562
2742
|
{
|
|
2563
2743
|
key: value,
|
|
@@ -2568,34 +2748,41 @@ var DynamicSelection = ({ onSelect }) => {
|
|
|
2568
2748
|
},
|
|
2569
2749
|
tagLabel
|
|
2570
2750
|
);
|
|
2571
|
-
})))) : /* @__PURE__ */
|
|
2572
|
-
import_ui51.Stack,
|
|
2573
|
-
{
|
|
2574
|
-
gap: 1,
|
|
2575
|
-
alignItems: "center",
|
|
2576
|
-
justifyContent: "center",
|
|
2577
|
-
height: "100%",
|
|
2578
|
-
p: 2.5,
|
|
2579
|
-
color: "text.secondary",
|
|
2580
|
-
sx: { pb: 3.5 }
|
|
2581
|
-
},
|
|
2582
|
-
/* @__PURE__ */ React66.createElement(import_icons22.DatabaseIcon, { fontSize: "large" }),
|
|
2583
|
-
/* @__PURE__ */ React66.createElement(import_ui51.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n43.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React66.createElement("br", null), "\u201C", searchValue, "\u201D."),
|
|
2584
|
-
/* @__PURE__ */ React66.createElement(import_ui51.Typography, { align: "center", variant: "caption" }, (0, import_i18n43.__)("Try something else.", "elementor"), "\xA0", /* @__PURE__ */ React66.createElement(
|
|
2585
|
-
import_ui51.Link,
|
|
2586
|
-
{
|
|
2587
|
-
color: "text.secondary",
|
|
2588
|
-
variant: "caption",
|
|
2589
|
-
component: "button",
|
|
2590
|
-
onClick: () => setSearchValue("")
|
|
2591
|
-
},
|
|
2592
|
-
(0, import_i18n43.__)("Clear & try again", "elementor")
|
|
2593
|
-
))
|
|
2594
|
-
)));
|
|
2751
|
+
})))) : /* @__PURE__ */ React67.createElement(NoResults, { searchValue, onClear: () => setSearchValue("") }))));
|
|
2595
2752
|
};
|
|
2753
|
+
var NoResults = ({ searchValue, onClear }) => /* @__PURE__ */ React67.createElement(
|
|
2754
|
+
import_ui51.Stack,
|
|
2755
|
+
{
|
|
2756
|
+
gap: 1,
|
|
2757
|
+
alignItems: "center",
|
|
2758
|
+
justifyContent: "center",
|
|
2759
|
+
height: "100%",
|
|
2760
|
+
p: 2.5,
|
|
2761
|
+
color: "text.secondary",
|
|
2762
|
+
sx: { pb: 3.5 }
|
|
2763
|
+
},
|
|
2764
|
+
/* @__PURE__ */ React67.createElement(import_icons23.DatabaseIcon, { fontSize: "large" }),
|
|
2765
|
+
/* @__PURE__ */ React67.createElement(import_ui51.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n44.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React67.createElement("br", null), "\u201C", searchValue, "\u201D."),
|
|
2766
|
+
/* @__PURE__ */ React67.createElement(import_ui51.Typography, { align: "center", variant: "caption" }, (0, import_i18n44.__)("Try something else.", "elementor"), "\xA0", /* @__PURE__ */ React67.createElement(import_ui51.Link, { color: "text.secondary", variant: "caption", component: "button", onClick: onClear }, (0, import_i18n44.__)("Clear & try again", "elementor")))
|
|
2767
|
+
);
|
|
2768
|
+
var NoDynamicTags = () => /* @__PURE__ */ React67.createElement(import_ui51.Box, { sx: { overflowY: "hidden", height: 297, width: 220 } }, /* @__PURE__ */ React67.createElement(import_ui51.Divider, null), /* @__PURE__ */ React67.createElement(
|
|
2769
|
+
import_ui51.Stack,
|
|
2770
|
+
{
|
|
2771
|
+
gap: 1,
|
|
2772
|
+
alignItems: "center",
|
|
2773
|
+
justifyContent: "center",
|
|
2774
|
+
height: "100%",
|
|
2775
|
+
p: 2.5,
|
|
2776
|
+
color: "text.secondary",
|
|
2777
|
+
sx: { pb: 3.5 }
|
|
2778
|
+
},
|
|
2779
|
+
/* @__PURE__ */ React67.createElement(import_icons23.DatabaseIcon, { fontSize: "large" }),
|
|
2780
|
+
/* @__PURE__ */ React67.createElement(import_ui51.Typography, { align: "center", variant: "subtitle2" }, (0, import_i18n44.__)("Streamline your workflow with dynamic tags", "elementor")),
|
|
2781
|
+
/* @__PURE__ */ React67.createElement(import_ui51.Typography, { align: "center", variant: "caption" }, (0, import_i18n44.__)("You\u2019ll need Elementor Pro to use this feature.", "elementor"))
|
|
2782
|
+
));
|
|
2596
2783
|
var useFilteredOptions = (searchValue) => {
|
|
2597
2784
|
const dynamicTags = usePropDynamicTags();
|
|
2598
|
-
const
|
|
2785
|
+
const options12 = dynamicTags.reduce((categories, { name, label, group }) => {
|
|
2599
2786
|
const isVisible = label.toLowerCase().includes(searchValue.trim().toLowerCase());
|
|
2600
2787
|
if (!isVisible) {
|
|
2601
2788
|
return categories;
|
|
@@ -2606,7 +2793,7 @@ var useFilteredOptions = (searchValue) => {
|
|
|
2606
2793
|
categories.get(group)?.push({ label, value: name });
|
|
2607
2794
|
return categories;
|
|
2608
2795
|
}, /* @__PURE__ */ new Map());
|
|
2609
|
-
return [...
|
|
2796
|
+
return [...options12];
|
|
2610
2797
|
};
|
|
2611
2798
|
|
|
2612
2799
|
// src/dynamics/components/dynamic-selection-control.tsx
|
|
@@ -2625,25 +2812,25 @@ var DynamicSelectionControl = () => {
|
|
|
2625
2812
|
if (!dynamicTag) {
|
|
2626
2813
|
throw new Error(`Dynamic tag ${tagName} not found`);
|
|
2627
2814
|
}
|
|
2628
|
-
return /* @__PURE__ */
|
|
2815
|
+
return /* @__PURE__ */ React68.createElement(import_ui52.Box, null, /* @__PURE__ */ React68.createElement(
|
|
2629
2816
|
import_ui52.UnstableTag,
|
|
2630
2817
|
{
|
|
2631
2818
|
fullWidth: true,
|
|
2632
2819
|
showActionsOnHover: true,
|
|
2633
2820
|
label: dynamicTag.label,
|
|
2634
|
-
startIcon: /* @__PURE__ */
|
|
2821
|
+
startIcon: /* @__PURE__ */ React68.createElement(import_icons24.DatabaseIcon, { fontSize: SIZE4 }),
|
|
2635
2822
|
...(0, import_ui52.bindTrigger)(selectionPopoverState),
|
|
2636
|
-
actions: /* @__PURE__ */
|
|
2823
|
+
actions: /* @__PURE__ */ React68.createElement(React68.Fragment, null, /* @__PURE__ */ React68.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React68.createElement(
|
|
2637
2824
|
import_ui52.IconButton,
|
|
2638
2825
|
{
|
|
2639
2826
|
size: SIZE4,
|
|
2640
2827
|
onClick: removeDynamicTag,
|
|
2641
|
-
"aria-label": (0,
|
|
2828
|
+
"aria-label": (0, import_i18n45.__)("Remove dynamic value", "elementor")
|
|
2642
2829
|
},
|
|
2643
|
-
/* @__PURE__ */
|
|
2830
|
+
/* @__PURE__ */ React68.createElement(import_icons24.XIcon, { fontSize: SIZE4 })
|
|
2644
2831
|
))
|
|
2645
2832
|
}
|
|
2646
|
-
), /* @__PURE__ */
|
|
2833
|
+
), /* @__PURE__ */ React68.createElement(
|
|
2647
2834
|
import_ui52.Popover,
|
|
2648
2835
|
{
|
|
2649
2836
|
disablePortal: true,
|
|
@@ -2651,7 +2838,7 @@ var DynamicSelectionControl = () => {
|
|
|
2651
2838
|
anchorOrigin: { vertical: "bottom", horizontal: "left" },
|
|
2652
2839
|
...(0, import_ui52.bindPopover)(selectionPopoverState)
|
|
2653
2840
|
},
|
|
2654
|
-
/* @__PURE__ */
|
|
2841
|
+
/* @__PURE__ */ React68.createElement(import_ui52.Stack, null, /* @__PURE__ */ React68.createElement(import_ui52.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React68.createElement(import_icons24.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React68.createElement(import_ui52.Typography, { variant: "subtitle2" }, (0, import_i18n45.__)("Dynamic tags", "elementor")), /* @__PURE__ */ React68.createElement(import_ui52.IconButton, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React68.createElement(import_icons24.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React68.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
|
|
2655
2842
|
));
|
|
2656
2843
|
};
|
|
2657
2844
|
var DynamicSettingsPopover = ({ dynamicTag }) => {
|
|
@@ -2661,22 +2848,22 @@ var DynamicSettingsPopover = ({ dynamicTag }) => {
|
|
|
2661
2848
|
if (!hasDynamicSettings) {
|
|
2662
2849
|
return null;
|
|
2663
2850
|
}
|
|
2664
|
-
return /* @__PURE__ */
|
|
2851
|
+
return /* @__PURE__ */ React68.createElement(React68.Fragment, null, /* @__PURE__ */ React68.createElement(
|
|
2665
2852
|
import_ui52.IconButton,
|
|
2666
2853
|
{
|
|
2667
2854
|
size: SIZE4,
|
|
2668
2855
|
...(0, import_ui52.bindTrigger)(settingsPopupState),
|
|
2669
|
-
"aria-label": (0,
|
|
2856
|
+
"aria-label": (0, import_i18n45.__)("Settings", "elementor")
|
|
2670
2857
|
},
|
|
2671
|
-
/* @__PURE__ */
|
|
2672
|
-
), /* @__PURE__ */
|
|
2858
|
+
/* @__PURE__ */ React68.createElement(import_icons24.SettingsIcon, { fontSize: SIZE4 })
|
|
2859
|
+
), /* @__PURE__ */ React68.createElement(
|
|
2673
2860
|
import_ui52.Popover,
|
|
2674
2861
|
{
|
|
2675
2862
|
disableScrollLock: true,
|
|
2676
2863
|
anchorOrigin: { vertical: "bottom", horizontal: "center" },
|
|
2677
2864
|
...(0, import_ui52.bindPopover)(settingsPopupState)
|
|
2678
2865
|
},
|
|
2679
|
-
/* @__PURE__ */
|
|
2866
|
+
/* @__PURE__ */ React68.createElement(import_ui52.Paper, { component: import_ui52.Stack, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React68.createElement(import_ui52.Stack, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React68.createElement(import_icons24.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React68.createElement(import_ui52.Typography, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React68.createElement(import_ui52.IconButton, { sx: { ml: "auto" }, size: SIZE4, onClick: settingsPopupState.close }, /* @__PURE__ */ React68.createElement(import_icons24.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React68.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
|
|
2680
2867
|
));
|
|
2681
2868
|
};
|
|
2682
2869
|
var DynamicSettings = ({ controls }) => {
|
|
@@ -2685,10 +2872,10 @@ var DynamicSettings = ({ controls }) => {
|
|
|
2685
2872
|
if (!tabs.length) {
|
|
2686
2873
|
return null;
|
|
2687
2874
|
}
|
|
2688
|
-
return /* @__PURE__ */
|
|
2689
|
-
return /* @__PURE__ */
|
|
2875
|
+
return /* @__PURE__ */ React68.createElement(React68.Fragment, null, /* @__PURE__ */ React68.createElement(import_ui52.Tabs, { indicatorColor: "secondary", textColor: "secondary", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React68.createElement(import_ui52.Tab, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React68.createElement(import_ui52.Divider, null), tabs.map(({ value }, index) => {
|
|
2876
|
+
return /* @__PURE__ */ React68.createElement(import_ui52.TabPanel, { key: index, sx: { flexGrow: 1, py: 0 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React68.createElement(PopoverContent, { p: 1.5 }, value.items.map((item) => {
|
|
2690
2877
|
if (item.type === "control") {
|
|
2691
|
-
return /* @__PURE__ */
|
|
2878
|
+
return /* @__PURE__ */ React68.createElement(Control3, { key: item.value.bind, control: item.value });
|
|
2692
2879
|
}
|
|
2693
2880
|
return null;
|
|
2694
2881
|
})));
|
|
@@ -2698,22 +2885,22 @@ var Control3 = ({ control }) => {
|
|
|
2698
2885
|
if (!getControlByType(control.type)) {
|
|
2699
2886
|
return null;
|
|
2700
2887
|
}
|
|
2701
|
-
return /* @__PURE__ */
|
|
2888
|
+
return /* @__PURE__ */ React68.createElement(DynamicControl, { bind: control.bind }, /* @__PURE__ */ React68.createElement(import_ui52.Grid, { container: true, gap: 1 }, control.label ? /* @__PURE__ */ React68.createElement(import_ui52.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React68.createElement(import_editor_controls46.ControlLabel, null, control.label)) : null, /* @__PURE__ */ React68.createElement(import_ui52.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React68.createElement(Control, { type: control.type, props: control.props }))));
|
|
2702
2889
|
};
|
|
2703
2890
|
|
|
2704
2891
|
// src/dynamics/hooks/use-prop-dynamic-action.tsx
|
|
2705
|
-
var
|
|
2892
|
+
var React69 = __toESM(require("react"));
|
|
2706
2893
|
var import_editor_controls47 = require("@elementor/editor-controls");
|
|
2707
|
-
var
|
|
2708
|
-
var
|
|
2894
|
+
var import_icons25 = require("@elementor/icons");
|
|
2895
|
+
var import_i18n46 = require("@wordpress/i18n");
|
|
2709
2896
|
var usePropDynamicAction = () => {
|
|
2710
2897
|
const { propType } = (0, import_editor_controls47.useBoundProp)();
|
|
2711
2898
|
const visible = !!propType && supportsDynamic(propType);
|
|
2712
2899
|
return {
|
|
2713
2900
|
visible,
|
|
2714
|
-
icon:
|
|
2715
|
-
title: (0,
|
|
2716
|
-
popoverContent: ({ closePopover }) => /* @__PURE__ */
|
|
2901
|
+
icon: import_icons25.DatabaseIcon,
|
|
2902
|
+
title: (0, import_i18n46.__)("Dynamic tags", "elementor"),
|
|
2903
|
+
popoverContent: ({ closePopover }) => /* @__PURE__ */ React69.createElement(DynamicSelection, { onSelect: closePopover })
|
|
2717
2904
|
};
|
|
2718
2905
|
};
|
|
2719
2906
|
|
|
@@ -2738,10 +2925,14 @@ function init2() {
|
|
|
2738
2925
|
id: "editing-panel-hooks",
|
|
2739
2926
|
component: EditingPanelHooks
|
|
2740
2927
|
});
|
|
2928
|
+
(0, import_editor.injectIntoLogic)({
|
|
2929
|
+
id: "current-user-data",
|
|
2930
|
+
component: import_editor_current_user.PrefetchUserData
|
|
2931
|
+
});
|
|
2741
2932
|
init();
|
|
2742
2933
|
}
|
|
2743
2934
|
var blockV1Panel = () => {
|
|
2744
|
-
(0,
|
|
2935
|
+
(0, import_editor_v1_adapters4.blockCommand)({
|
|
2745
2936
|
command: "panel/editor/open",
|
|
2746
2937
|
condition: isAtomicWidgetSelected
|
|
2747
2938
|
});
|