@elementor/editor-editing-panel 1.7.0 → 1.8.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 +26 -0
- package/dist/index.js +562 -351
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +475 -263
- package/dist/index.mjs.map +1 -1
- package/package.json +7 -6
- package/src/components/add-or-remove-content.tsx +2 -2
- package/src/components/css-class-selector.tsx +113 -27
- package/src/components/editable-field.tsx +158 -0
- package/src/components/editing-panel.tsx +17 -14
- package/src/components/settings-tab.tsx +28 -25
- package/src/components/style-sections/border-section/border-field.tsx +15 -14
- package/src/components/style-tab.tsx +31 -28
- package/src/css-classes.ts +15 -7
- package/src/hooks/use-unapply-class.ts +25 -0
package/dist/index.js
CHANGED
|
@@ -157,7 +157,7 @@ var import_editor_panels3 = require("@elementor/editor-panels");
|
|
|
157
157
|
var import_editor_v1_adapters4 = require("@elementor/editor-v1-adapters");
|
|
158
158
|
|
|
159
159
|
// src/hooks/use-close-editor-panel.ts
|
|
160
|
-
var
|
|
160
|
+
var import_react17 = require("react");
|
|
161
161
|
var import_editor_elements8 = require("@elementor/editor-elements");
|
|
162
162
|
var import_editor_v1_adapters2 = require("@elementor/editor-v1-adapters");
|
|
163
163
|
|
|
@@ -165,11 +165,12 @@ var import_editor_v1_adapters2 = require("@elementor/editor-v1-adapters");
|
|
|
165
165
|
var import_editor_panels2 = require("@elementor/editor-panels");
|
|
166
166
|
|
|
167
167
|
// src/components/editing-panel.tsx
|
|
168
|
-
var
|
|
168
|
+
var React62 = __toESM(require("react"));
|
|
169
169
|
var import_editor_controls41 = require("@elementor/editor-controls");
|
|
170
170
|
var import_editor_elements6 = require("@elementor/editor-elements");
|
|
171
171
|
var import_editor_panels = require("@elementor/editor-panels");
|
|
172
|
-
var
|
|
172
|
+
var import_session3 = require("@elementor/session");
|
|
173
|
+
var import_ui51 = require("@elementor/ui");
|
|
173
174
|
var import_i18n40 = require("@wordpress/i18n");
|
|
174
175
|
|
|
175
176
|
// src/contexts/element-context.tsx
|
|
@@ -241,14 +242,15 @@ function EditorPanelErrorFallback() {
|
|
|
241
242
|
}
|
|
242
243
|
|
|
243
244
|
// src/components/editing-panel-tabs.tsx
|
|
244
|
-
var
|
|
245
|
-
var
|
|
246
|
-
var
|
|
245
|
+
var React61 = __toESM(require("react"));
|
|
246
|
+
var import_react16 = require("react");
|
|
247
|
+
var import_ui50 = require("@elementor/ui");
|
|
247
248
|
var import_i18n39 = require("@wordpress/i18n");
|
|
248
249
|
|
|
249
250
|
// src/components/settings-tab.tsx
|
|
250
251
|
var React12 = __toESM(require("react"));
|
|
251
252
|
var import_editor_controls4 = require("@elementor/editor-controls");
|
|
253
|
+
var import_session = require("@elementor/session");
|
|
252
254
|
|
|
253
255
|
// src/controls-registry/control.tsx
|
|
254
256
|
var React7 = __toESM(require("react"));
|
|
@@ -385,8 +387,8 @@ function SectionsList(props) {
|
|
|
385
387
|
|
|
386
388
|
// src/components/settings-tab.tsx
|
|
387
389
|
var SettingsTab = () => {
|
|
388
|
-
const { elementType } = useElement();
|
|
389
|
-
return /* @__PURE__ */ React12.createElement(SectionsList, null, elementType.controls.map(({ type, value }, index) => {
|
|
390
|
+
const { elementType, element } = useElement();
|
|
391
|
+
return /* @__PURE__ */ React12.createElement(import_session.SessionStorageProvider, { prefix: element.id }, /* @__PURE__ */ React12.createElement(SectionsList, null, elementType.controls.map(({ type, value }, index) => {
|
|
390
392
|
if (type === "control") {
|
|
391
393
|
return /* @__PURE__ */ React12.createElement(Control2, { key: value.bind, control: value });
|
|
392
394
|
}
|
|
@@ -399,7 +401,7 @@ var SettingsTab = () => {
|
|
|
399
401
|
}));
|
|
400
402
|
}
|
|
401
403
|
return null;
|
|
402
|
-
}));
|
|
404
|
+
})));
|
|
403
405
|
};
|
|
404
406
|
var Control2 = ({ control }) => {
|
|
405
407
|
if (!getControlByType(control.type)) {
|
|
@@ -409,11 +411,12 @@ var Control2 = ({ control }) => {
|
|
|
409
411
|
};
|
|
410
412
|
|
|
411
413
|
// src/components/style-tab.tsx
|
|
412
|
-
var
|
|
413
|
-
var
|
|
414
|
+
var React60 = __toESM(require("react"));
|
|
415
|
+
var import_react15 = require("react");
|
|
414
416
|
var import_editor_elements5 = require("@elementor/editor-elements");
|
|
415
417
|
var import_editor_responsive = require("@elementor/editor-responsive");
|
|
416
|
-
var
|
|
418
|
+
var import_session2 = require("@elementor/session");
|
|
419
|
+
var import_ui49 = require("@elementor/ui");
|
|
417
420
|
var import_i18n38 = require("@wordpress/i18n");
|
|
418
421
|
|
|
419
422
|
// src/contexts/classes-prop-context.tsx
|
|
@@ -432,13 +435,13 @@ function useClassesProp() {
|
|
|
432
435
|
}
|
|
433
436
|
|
|
434
437
|
// src/components/css-class-selector.tsx
|
|
435
|
-
var
|
|
436
|
-
var
|
|
438
|
+
var React17 = __toESM(require("react"));
|
|
439
|
+
var import_react10 = require("react");
|
|
437
440
|
var import_editor_elements2 = require("@elementor/editor-elements");
|
|
438
441
|
var import_editor_props = require("@elementor/editor-props");
|
|
439
442
|
var import_editor_styles_repository = require("@elementor/editor-styles-repository");
|
|
440
443
|
var import_icons4 = require("@elementor/icons");
|
|
441
|
-
var
|
|
444
|
+
var import_ui11 = require("@elementor/ui");
|
|
442
445
|
var import_i18n2 = require("@wordpress/i18n");
|
|
443
446
|
|
|
444
447
|
// src/components/conditional-tooltip-wrapper.tsx
|
|
@@ -476,10 +479,120 @@ var Content = React14.forwardRef(({ maxWidth, ...tooltipProps }, ref) => /* @__P
|
|
|
476
479
|
}
|
|
477
480
|
));
|
|
478
481
|
|
|
479
|
-
// src/components/
|
|
482
|
+
// src/components/editable-field.tsx
|
|
480
483
|
var React15 = __toESM(require("react"));
|
|
481
484
|
var import_react8 = require("react");
|
|
482
485
|
var import_ui9 = require("@elementor/ui");
|
|
486
|
+
var Context4 = (0, import_react8.createContext)(null);
|
|
487
|
+
var EditableFieldProvider = ({
|
|
488
|
+
children,
|
|
489
|
+
value,
|
|
490
|
+
onSubmit,
|
|
491
|
+
validation,
|
|
492
|
+
editable
|
|
493
|
+
}) => {
|
|
494
|
+
const [isEditing, setIsEditing] = (0, import_react8.useState)(false);
|
|
495
|
+
const [submitting, setSubmitting] = (0, import_react8.useState)(false);
|
|
496
|
+
const [error, setError] = (0, import_react8.useState)(null);
|
|
497
|
+
const openEditMode = () => {
|
|
498
|
+
setIsEditing(true);
|
|
499
|
+
};
|
|
500
|
+
const closeEditMode = () => {
|
|
501
|
+
setError(null);
|
|
502
|
+
setIsEditing(false);
|
|
503
|
+
};
|
|
504
|
+
const submit = async (newValue) => {
|
|
505
|
+
if (!error) {
|
|
506
|
+
setSubmitting(true);
|
|
507
|
+
try {
|
|
508
|
+
await onSubmit(newValue);
|
|
509
|
+
} finally {
|
|
510
|
+
setSubmitting(false);
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
closeEditMode();
|
|
514
|
+
};
|
|
515
|
+
const onChange = (event) => {
|
|
516
|
+
const { innerText: newValue } = event.target;
|
|
517
|
+
if (validation) {
|
|
518
|
+
setError(validation(newValue));
|
|
519
|
+
}
|
|
520
|
+
};
|
|
521
|
+
return /* @__PURE__ */ React15.createElement(
|
|
522
|
+
Context4.Provider,
|
|
523
|
+
{
|
|
524
|
+
value: {
|
|
525
|
+
isEditing,
|
|
526
|
+
openEditMode,
|
|
527
|
+
closeEditMode,
|
|
528
|
+
onChange,
|
|
529
|
+
value,
|
|
530
|
+
error,
|
|
531
|
+
submit,
|
|
532
|
+
editable,
|
|
533
|
+
submitting
|
|
534
|
+
}
|
|
535
|
+
},
|
|
536
|
+
children
|
|
537
|
+
);
|
|
538
|
+
};
|
|
539
|
+
var EditableField = ({ children, ...props }) => {
|
|
540
|
+
const ref = (0, import_react8.useRef)(null);
|
|
541
|
+
const { isEditing, closeEditMode, value, onChange, error, submit, editable } = useEditableField();
|
|
542
|
+
(0, import_react8.useEffect)(() => {
|
|
543
|
+
if (isEditing) {
|
|
544
|
+
ref.current?.focus();
|
|
545
|
+
selectAll();
|
|
546
|
+
}
|
|
547
|
+
}, [isEditing]);
|
|
548
|
+
const handleKeyDown = (event) => {
|
|
549
|
+
event.stopPropagation();
|
|
550
|
+
if (["Escape"].includes(event.key)) {
|
|
551
|
+
return closeEditMode();
|
|
552
|
+
}
|
|
553
|
+
if (["Enter"].includes(event.key)) {
|
|
554
|
+
event.preventDefault();
|
|
555
|
+
return submit(event.target.innerText);
|
|
556
|
+
}
|
|
557
|
+
};
|
|
558
|
+
const selectAll = () => {
|
|
559
|
+
const selection = getSelection();
|
|
560
|
+
if (!selection || !ref.current) {
|
|
561
|
+
return;
|
|
562
|
+
}
|
|
563
|
+
const range = document.createRange();
|
|
564
|
+
range.selectNodeContents(ref.current);
|
|
565
|
+
selection.removeAllRanges();
|
|
566
|
+
selection.addRange(range);
|
|
567
|
+
};
|
|
568
|
+
if (!editable) {
|
|
569
|
+
return children;
|
|
570
|
+
}
|
|
571
|
+
return /* @__PURE__ */ React15.createElement(import_ui9.Tooltip, { open: !!error, title: error, placement: "top" }, /* @__PURE__ */ React15.createElement("div", { onKeyDown: handleKeyDown, ...props }, /* @__PURE__ */ React15.createElement(
|
|
572
|
+
"span",
|
|
573
|
+
{
|
|
574
|
+
ref,
|
|
575
|
+
role: "textbox",
|
|
576
|
+
onInput: onChange,
|
|
577
|
+
contentEditable: isEditing,
|
|
578
|
+
suppressContentEditableWarning: true,
|
|
579
|
+
onBlur: closeEditMode
|
|
580
|
+
},
|
|
581
|
+
isEditing ? value : children
|
|
582
|
+
)));
|
|
583
|
+
};
|
|
584
|
+
var useEditableField = () => {
|
|
585
|
+
const contextValue = (0, import_react8.useContext)(Context4);
|
|
586
|
+
if (!contextValue) {
|
|
587
|
+
throw new Error("useEditableField must be used within a EditableFieldProvider");
|
|
588
|
+
}
|
|
589
|
+
return contextValue;
|
|
590
|
+
};
|
|
591
|
+
|
|
592
|
+
// src/components/multi-combobox.tsx
|
|
593
|
+
var React16 = __toESM(require("react"));
|
|
594
|
+
var import_react9 = require("react");
|
|
595
|
+
var import_ui10 = require("@elementor/ui");
|
|
483
596
|
function MultiCombobox({
|
|
484
597
|
actions = [],
|
|
485
598
|
selected,
|
|
@@ -489,8 +602,8 @@ function MultiCombobox({
|
|
|
489
602
|
}) {
|
|
490
603
|
const filter = useFilterOptions();
|
|
491
604
|
const { run, loading } = useActionRunner();
|
|
492
|
-
return /* @__PURE__ */
|
|
493
|
-
|
|
605
|
+
return /* @__PURE__ */ React16.createElement(
|
|
606
|
+
import_ui10.Autocomplete,
|
|
494
607
|
{
|
|
495
608
|
...props,
|
|
496
609
|
freeSolo: true,
|
|
@@ -502,8 +615,8 @@ function MultiCombobox({
|
|
|
502
615
|
disabled: loading,
|
|
503
616
|
value: selected,
|
|
504
617
|
options: options10,
|
|
505
|
-
renderGroup: (params) => /* @__PURE__ */
|
|
506
|
-
renderInput: (params) => /* @__PURE__ */
|
|
618
|
+
renderGroup: (params) => /* @__PURE__ */ React16.createElement(Group, { ...params }),
|
|
619
|
+
renderInput: (params) => /* @__PURE__ */ React16.createElement(import_ui10.TextField, { ...params }),
|
|
507
620
|
onChange: (_, selectedOrInputValue, reason) => {
|
|
508
621
|
const inputValue = selectedOrInputValue.find((option) => typeof option === "string");
|
|
509
622
|
const optionsAndActions = selectedOrInputValue.filter((option) => typeof option !== "string");
|
|
@@ -542,28 +655,28 @@ function MultiCombobox({
|
|
|
542
655
|
);
|
|
543
656
|
}
|
|
544
657
|
var Group = (params) => {
|
|
545
|
-
const id = `combobox-group-${(0,
|
|
546
|
-
return /* @__PURE__ */
|
|
658
|
+
const id = `combobox-group-${(0, import_react9.useId)().replace(/:/g, "_")}`;
|
|
659
|
+
return /* @__PURE__ */ React16.createElement(StyledGroup, { role: "group", "aria-labelledby": id }, /* @__PURE__ */ React16.createElement(StyledGroupHeader, { id }, " ", params.group), /* @__PURE__ */ React16.createElement(StyledGroupItems, { role: "listbox" }, params.children));
|
|
547
660
|
};
|
|
548
|
-
var StyledGroup = (0,
|
|
661
|
+
var StyledGroup = (0, import_ui10.styled)("li")`
|
|
549
662
|
&:not( :last-of-type ) {
|
|
550
663
|
border-bottom: 1px solid ${({ theme }) => theme.palette.divider};
|
|
551
664
|
}
|
|
552
665
|
`;
|
|
553
|
-
var StyledGroupHeader = (0,
|
|
666
|
+
var StyledGroupHeader = (0, import_ui10.styled)(import_ui10.Box)(({ theme }) => ({
|
|
554
667
|
position: "sticky",
|
|
555
668
|
top: "-8px",
|
|
556
669
|
padding: theme.spacing(1, 2),
|
|
557
670
|
color: theme.palette.text.tertiary
|
|
558
671
|
}));
|
|
559
|
-
var StyledGroupItems = (0,
|
|
672
|
+
var StyledGroupItems = (0, import_ui10.styled)("ul")`
|
|
560
673
|
padding: 0;
|
|
561
674
|
`;
|
|
562
675
|
function useFilterOptions() {
|
|
563
|
-
return (0,
|
|
676
|
+
return (0, import_react9.useState)(() => (0, import_ui10.createFilterOptions)())[0];
|
|
564
677
|
}
|
|
565
678
|
function useActionRunner() {
|
|
566
|
-
const [loading, setLoading] = (0,
|
|
679
|
+
const [loading, setLoading] = (0, import_react9.useState)(false);
|
|
567
680
|
const run = async (apply, value) => {
|
|
568
681
|
setLoading(true);
|
|
569
682
|
try {
|
|
@@ -607,7 +720,7 @@ function CssClassSelector() {
|
|
|
607
720
|
const handleActivate = ({ value }) => setActiveId(value);
|
|
608
721
|
const applied = useAppliedOptions(options10, appliedIds);
|
|
609
722
|
const active = applied.find((option) => option.value === activeId) ?? EMPTY_OPTION;
|
|
610
|
-
return /* @__PURE__ */
|
|
723
|
+
return /* @__PURE__ */ React17.createElement(import_ui11.Stack, { gap: 1, p: 2 }, /* @__PURE__ */ React17.createElement(import_ui11.Typography, { component: "label", variant: "caption", htmlFor: ID }, (0, import_i18n2.__)("CSS Classes", "elementor")), /* @__PURE__ */ React17.createElement(
|
|
611
724
|
MultiCombobox,
|
|
612
725
|
{
|
|
613
726
|
id: ID,
|
|
@@ -617,57 +730,126 @@ function CssClassSelector() {
|
|
|
617
730
|
onSelect: handleApply,
|
|
618
731
|
limitTags: TAGS_LIMIT,
|
|
619
732
|
actions,
|
|
620
|
-
getLimitTagsText: (more) => /* @__PURE__ */
|
|
733
|
+
getLimitTagsText: (more) => /* @__PURE__ */ React17.createElement(import_ui11.Chip, { size: "tiny", variant: "standard", label: `+${more}`, clickable: true }),
|
|
621
734
|
renderTags: (values, getTagProps) => values.map((value, index) => {
|
|
622
735
|
const chipProps = getTagProps({ index });
|
|
623
736
|
const isActive = value.value === active?.value;
|
|
624
|
-
|
|
625
|
-
|
|
737
|
+
const renameLabel = (newLabel) => {
|
|
738
|
+
return updateClassByProvider(value.provider, { label: newLabel, id: value.value });
|
|
739
|
+
};
|
|
740
|
+
return /* @__PURE__ */ React17.createElement(
|
|
741
|
+
EditableFieldProvider,
|
|
626
742
|
{
|
|
627
743
|
key: chipProps.key,
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
}
|
|
744
|
+
value: value.label,
|
|
745
|
+
onSubmit: renameLabel,
|
|
746
|
+
editable: value.provider !== import_editor_styles_repository.ELEMENTS_STYLES_PROVIDER_KEY,
|
|
747
|
+
validation: (newLabel) => renameValidation(
|
|
748
|
+
newLabel,
|
|
749
|
+
options10.filter((option) => option.value !== value.value)
|
|
750
|
+
)
|
|
751
|
+
},
|
|
752
|
+
/* @__PURE__ */ React17.createElement(
|
|
753
|
+
CssClassItem,
|
|
754
|
+
{
|
|
755
|
+
label: value.label,
|
|
756
|
+
id: value.value,
|
|
757
|
+
isActive,
|
|
758
|
+
isGlobal: value.color === "global",
|
|
759
|
+
color: isActive && value.color ? value.color : "default",
|
|
760
|
+
chipProps,
|
|
761
|
+
onClickActive: () => handleActivate(value)
|
|
762
|
+
}
|
|
763
|
+
)
|
|
636
764
|
);
|
|
637
765
|
})
|
|
638
766
|
}
|
|
639
767
|
));
|
|
640
768
|
}
|
|
641
|
-
|
|
769
|
+
var CHIP_SIZE = "tiny";
|
|
770
|
+
function CssClassItem({
|
|
771
|
+
id,
|
|
772
|
+
label,
|
|
773
|
+
isActive,
|
|
774
|
+
isGlobal,
|
|
775
|
+
color: colorProp,
|
|
776
|
+
chipProps,
|
|
777
|
+
onClickActive
|
|
778
|
+
}) {
|
|
642
779
|
const { meta } = useStyle();
|
|
643
|
-
const popupId = (0,
|
|
644
|
-
const popupState = (0,
|
|
645
|
-
const chipRef = (0,
|
|
780
|
+
const popupId = (0, import_react10.useId)().replace(/:/g, "_");
|
|
781
|
+
const popupState = (0, import_ui11.usePopupState)({ variant: "popover", popupId });
|
|
782
|
+
const chipRef = (0, import_react10.useRef)(null);
|
|
646
783
|
const { onDelete, ...chipGroupProps } = chipProps;
|
|
647
|
-
|
|
648
|
-
|
|
784
|
+
const { isEditing, openEditMode, error, submitting } = useEditableField();
|
|
785
|
+
const color = error ? "error" : colorProp;
|
|
786
|
+
return /* @__PURE__ */ React17.createElement(CssClassItemProvider, { styleId: id, isActive, isGlobal }, /* @__PURE__ */ React17.createElement(import_ui11.UnstableChipGroup, { ref: chipRef, ...chipGroupProps, "aria-label": `Edit ${label}`, role: "group" }, /* @__PURE__ */ React17.createElement(
|
|
787
|
+
import_ui11.Chip,
|
|
649
788
|
{
|
|
650
|
-
|
|
651
|
-
size:
|
|
652
|
-
label: /* @__PURE__ */
|
|
789
|
+
disabled: submitting,
|
|
790
|
+
size: CHIP_SIZE,
|
|
791
|
+
label: /* @__PURE__ */ React17.createElement(
|
|
792
|
+
EditableField,
|
|
793
|
+
{
|
|
794
|
+
onDoubleClick: () => {
|
|
795
|
+
if (!isActive) {
|
|
796
|
+
openEditMode();
|
|
797
|
+
}
|
|
798
|
+
},
|
|
799
|
+
onClick: () => {
|
|
800
|
+
if (isActive) {
|
|
801
|
+
openEditMode();
|
|
802
|
+
}
|
|
803
|
+
}
|
|
804
|
+
},
|
|
805
|
+
/* @__PURE__ */ React17.createElement(ConditionalTooltipWrapper, { maxWidth: "10ch", title: label })
|
|
806
|
+
),
|
|
653
807
|
variant: isActive && !meta.state ? "filled" : "standard",
|
|
654
808
|
color,
|
|
655
809
|
onClick: () => onClickActive(id),
|
|
656
|
-
"aria-pressed": isActive
|
|
810
|
+
"aria-pressed": isActive,
|
|
811
|
+
sx: {
|
|
812
|
+
"&.Mui-focusVisible": {
|
|
813
|
+
boxShadow: "none !important"
|
|
814
|
+
}
|
|
815
|
+
}
|
|
657
816
|
}
|
|
658
|
-
), /* @__PURE__ */
|
|
659
|
-
|
|
817
|
+
), !isEditing && /* @__PURE__ */ React17.createElement(
|
|
818
|
+
import_ui11.Chip,
|
|
660
819
|
{
|
|
661
|
-
|
|
662
|
-
size:
|
|
663
|
-
label: /* @__PURE__ */
|
|
820
|
+
disabled: submitting,
|
|
821
|
+
size: CHIP_SIZE,
|
|
822
|
+
label: /* @__PURE__ */ React17.createElement(import_ui11.Stack, { direction: "row", gap: 0.5, alignItems: "center" }, isActive && meta.state && /* @__PURE__ */ React17.createElement(import_ui11.Typography, { variant: "inherit" }, meta.state), /* @__PURE__ */ React17.createElement(import_icons4.DotsVerticalIcon, { fontSize: "inherit" })),
|
|
664
823
|
variant: "filled",
|
|
665
824
|
color,
|
|
666
|
-
...(0,
|
|
825
|
+
...(0, import_ui11.bindTrigger)(popupState),
|
|
667
826
|
"aria-label": (0, import_i18n2.__)("Open CSS Class Menu", "elementor")
|
|
668
827
|
}
|
|
669
|
-
)), /* @__PURE__ */
|
|
828
|
+
)), /* @__PURE__ */ React17.createElement(CssClassMenu, { popupState, containerRef: chipRef }));
|
|
670
829
|
}
|
|
830
|
+
var updateClassByProvider = (provider, data) => {
|
|
831
|
+
const providerInstance = import_editor_styles_repository.stylesRepository.getProviderByKey(provider);
|
|
832
|
+
if (!providerInstance) {
|
|
833
|
+
return;
|
|
834
|
+
}
|
|
835
|
+
return providerInstance.actions.update?.(data);
|
|
836
|
+
};
|
|
837
|
+
var VALID_SELECTOR_REGEX = /^[a-zA-Z0-9_-]+$/;
|
|
838
|
+
var renameValidation = (newLabel, options10) => {
|
|
839
|
+
if (isNameExist(newLabel, options10)) {
|
|
840
|
+
return (0, import_i18n2.__)("Existing name", "elementor");
|
|
841
|
+
}
|
|
842
|
+
if (isCharactersNotSupported(newLabel)) {
|
|
843
|
+
return (0, import_i18n2.__)("Format is not valid", "elementor");
|
|
844
|
+
}
|
|
845
|
+
};
|
|
846
|
+
var isNameExist = (newLabel, options10) => {
|
|
847
|
+
if (!options10?.length) {
|
|
848
|
+
return false;
|
|
849
|
+
}
|
|
850
|
+
return options10.some((option) => option.label.toLowerCase() === newLabel.toLowerCase());
|
|
851
|
+
};
|
|
852
|
+
var isCharactersNotSupported = (newLabel) => !VALID_SELECTOR_REGEX.test(newLabel);
|
|
671
853
|
function useOptions() {
|
|
672
854
|
const { element } = useElement();
|
|
673
855
|
return (0, import_editor_styles_repository.useAllStylesByProvider)({ elementId: element.id }).flatMap(
|
|
@@ -770,11 +952,11 @@ function useHandleApply(appliedIds, setAppliedIds) {
|
|
|
770
952
|
}
|
|
771
953
|
|
|
772
954
|
// src/components/style-sections/background-section/background-section.tsx
|
|
773
|
-
var
|
|
955
|
+
var React19 = __toESM(require("react"));
|
|
774
956
|
var import_editor_controls6 = require("@elementor/editor-controls");
|
|
775
957
|
|
|
776
958
|
// src/controls-registry/styles-field.tsx
|
|
777
|
-
var
|
|
959
|
+
var React18 = __toESM(require("react"));
|
|
778
960
|
var import_editor_controls5 = require("@elementor/editor-controls");
|
|
779
961
|
var import_editor_styles = require("@elementor/editor-styles");
|
|
780
962
|
|
|
@@ -825,31 +1007,31 @@ var StylesField = ({ bind, children }) => {
|
|
|
825
1007
|
const setValues = (newValue) => {
|
|
826
1008
|
setValue(newValue[bind]);
|
|
827
1009
|
};
|
|
828
|
-
return /* @__PURE__ */
|
|
1010
|
+
return /* @__PURE__ */ React18.createElement(import_editor_controls5.PropProvider, { propType, value: values, setValue: setValues }, /* @__PURE__ */ React18.createElement(import_editor_controls5.PropKeyProvider, { bind }, children));
|
|
829
1011
|
};
|
|
830
1012
|
|
|
831
1013
|
// src/components/style-sections/background-section/background-section.tsx
|
|
832
1014
|
var BackgroundSection = () => {
|
|
833
|
-
return /* @__PURE__ */
|
|
1015
|
+
return /* @__PURE__ */ React19.createElement(StylesField, { bind: "background" }, /* @__PURE__ */ React19.createElement(import_editor_controls6.BackgroundControl, null));
|
|
834
1016
|
};
|
|
835
1017
|
|
|
836
1018
|
// src/components/style-sections/border-section/border-section.tsx
|
|
837
|
-
var
|
|
838
|
-
var
|
|
1019
|
+
var React26 = __toESM(require("react"));
|
|
1020
|
+
var import_ui15 = require("@elementor/ui");
|
|
839
1021
|
|
|
840
1022
|
// src/components/style-sections/border-section/border-field.tsx
|
|
841
|
-
var
|
|
1023
|
+
var React24 = __toESM(require("react"));
|
|
842
1024
|
var import_i18n7 = require("@wordpress/i18n");
|
|
843
1025
|
|
|
844
1026
|
// src/components/add-or-remove-content.tsx
|
|
845
|
-
var
|
|
1027
|
+
var React20 = __toESM(require("react"));
|
|
846
1028
|
var import_editor_controls7 = require("@elementor/editor-controls");
|
|
847
1029
|
var import_icons5 = require("@elementor/icons");
|
|
848
|
-
var
|
|
1030
|
+
var import_ui12 = require("@elementor/ui");
|
|
849
1031
|
var SIZE2 = "tiny";
|
|
850
1032
|
var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
|
|
851
|
-
return /* @__PURE__ */
|
|
852
|
-
|
|
1033
|
+
return /* @__PURE__ */ React20.createElement(import_ui12.Stack, { gap: 1.5 }, /* @__PURE__ */ React20.createElement(
|
|
1034
|
+
import_ui12.Stack,
|
|
853
1035
|
{
|
|
854
1036
|
direction: "row",
|
|
855
1037
|
sx: {
|
|
@@ -857,24 +1039,24 @@ var AddOrRemoveContent = ({ isAdded, label, onAdd, onRemove, children }) => {
|
|
|
857
1039
|
alignItems: "center"
|
|
858
1040
|
}
|
|
859
1041
|
},
|
|
860
|
-
/* @__PURE__ */
|
|
861
|
-
isAdded ? /* @__PURE__ */
|
|
862
|
-
), /* @__PURE__ */
|
|
1042
|
+
/* @__PURE__ */ React20.createElement(import_editor_controls7.ControlLabel, null, label),
|
|
1043
|
+
isAdded ? /* @__PURE__ */ React20.createElement(import_ui12.IconButton, { size: SIZE2, onClick: onRemove, "aria-label": "Remove" }, /* @__PURE__ */ React20.createElement(import_icons5.MinusIcon, { fontSize: SIZE2 })) : /* @__PURE__ */ React20.createElement(import_ui12.IconButton, { size: SIZE2, onClick: onAdd, "aria-label": "Add" }, /* @__PURE__ */ React20.createElement(import_icons5.PlusIcon, { fontSize: SIZE2 }))
|
|
1044
|
+
), /* @__PURE__ */ React20.createElement(import_ui12.Collapse, { in: isAdded, unmountOnExit: true }, /* @__PURE__ */ React20.createElement(import_ui12.Stack, { gap: 1.5 }, children)));
|
|
863
1045
|
};
|
|
864
1046
|
|
|
865
1047
|
// src/components/style-sections/border-section/border-color-field.tsx
|
|
866
|
-
var
|
|
1048
|
+
var React21 = __toESM(require("react"));
|
|
867
1049
|
var import_editor_controls8 = require("@elementor/editor-controls");
|
|
868
|
-
var
|
|
1050
|
+
var import_ui13 = require("@elementor/ui");
|
|
869
1051
|
var import_i18n4 = require("@wordpress/i18n");
|
|
870
1052
|
var BorderColorField = () => {
|
|
871
|
-
return /* @__PURE__ */
|
|
1053
|
+
return /* @__PURE__ */ React21.createElement(StylesField, { bind: "border-color" }, /* @__PURE__ */ React21.createElement(import_ui13.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React21.createElement(import_ui13.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React21.createElement(import_editor_controls8.ControlLabel, null, (0, import_i18n4.__)("Border Color", "elementor"))), /* @__PURE__ */ React21.createElement(import_ui13.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React21.createElement(import_editor_controls8.ColorControl, null))));
|
|
872
1054
|
};
|
|
873
1055
|
|
|
874
1056
|
// src/components/style-sections/border-section/border-style-field.tsx
|
|
875
|
-
var
|
|
1057
|
+
var React22 = __toESM(require("react"));
|
|
876
1058
|
var import_editor_controls9 = require("@elementor/editor-controls");
|
|
877
|
-
var
|
|
1059
|
+
var import_ui14 = require("@elementor/ui");
|
|
878
1060
|
var import_i18n5 = require("@wordpress/i18n");
|
|
879
1061
|
var borderStyles = [
|
|
880
1062
|
{ value: "none", label: (0, import_i18n5.__)("None", "elementor") },
|
|
@@ -888,11 +1070,11 @@ var borderStyles = [
|
|
|
888
1070
|
{ value: "outset", label: (0, import_i18n5.__)("Outset", "elementor") }
|
|
889
1071
|
];
|
|
890
1072
|
var BorderStyleField = () => {
|
|
891
|
-
return /* @__PURE__ */
|
|
1073
|
+
return /* @__PURE__ */ React22.createElement(StylesField, { bind: "border-style" }, /* @__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_controls9.ControlLabel, null, (0, import_i18n5.__)("Border Type", "elementor"))), /* @__PURE__ */ React22.createElement(import_ui14.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React22.createElement(import_editor_controls9.SelectControl, { options: borderStyles }))));
|
|
892
1074
|
};
|
|
893
1075
|
|
|
894
1076
|
// src/components/style-sections/border-section/border-width-field.tsx
|
|
895
|
-
var
|
|
1077
|
+
var React23 = __toESM(require("react"));
|
|
896
1078
|
var import_editor_controls10 = require("@elementor/editor-controls");
|
|
897
1079
|
var import_editor_props2 = require("@elementor/editor-props");
|
|
898
1080
|
var import_icons6 = require("@elementor/icons");
|
|
@@ -900,57 +1082,57 @@ var import_i18n6 = require("@wordpress/i18n");
|
|
|
900
1082
|
var edges = [
|
|
901
1083
|
{
|
|
902
1084
|
label: (0, import_i18n6.__)("Top", "elementor"),
|
|
903
|
-
icon: /* @__PURE__ */
|
|
1085
|
+
icon: /* @__PURE__ */ React23.createElement(import_icons6.SideTopIcon, { fontSize: "tiny" }),
|
|
904
1086
|
bind: "top"
|
|
905
1087
|
},
|
|
906
1088
|
{
|
|
907
1089
|
label: (0, import_i18n6.__)("Right", "elementor"),
|
|
908
|
-
icon: /* @__PURE__ */
|
|
1090
|
+
icon: /* @__PURE__ */ React23.createElement(import_icons6.SideRightIcon, { fontSize: "tiny" }),
|
|
909
1091
|
bind: "right"
|
|
910
1092
|
},
|
|
911
1093
|
{
|
|
912
1094
|
label: (0, import_i18n6.__)("Bottom", "elementor"),
|
|
913
|
-
icon: /* @__PURE__ */
|
|
1095
|
+
icon: /* @__PURE__ */ React23.createElement(import_icons6.SideBottomIcon, { fontSize: "tiny" }),
|
|
914
1096
|
bind: "bottom"
|
|
915
1097
|
},
|
|
916
1098
|
{
|
|
917
1099
|
label: (0, import_i18n6.__)("Left", "elementor"),
|
|
918
|
-
icon: /* @__PURE__ */
|
|
1100
|
+
icon: /* @__PURE__ */ React23.createElement(import_icons6.SideLeftIcon, { fontSize: "tiny" }),
|
|
919
1101
|
bind: "left"
|
|
920
1102
|
}
|
|
921
1103
|
];
|
|
922
1104
|
var BorderWidthField = () => {
|
|
923
|
-
return /* @__PURE__ */
|
|
1105
|
+
return /* @__PURE__ */ React23.createElement(StylesField, { bind: "border-width" }, /* @__PURE__ */ React23.createElement(
|
|
924
1106
|
import_editor_controls10.EqualUnequalSizesControl,
|
|
925
1107
|
{
|
|
926
1108
|
items: edges,
|
|
927
1109
|
label: (0, import_i18n6.__)("Border Width", "elementor"),
|
|
928
|
-
icon: /* @__PURE__ */
|
|
1110
|
+
icon: /* @__PURE__ */ React23.createElement(import_icons6.SideAllIcon, { fontSize: "tiny" }),
|
|
929
1111
|
multiSizePropTypeUtil: import_editor_props2.borderWidthPropTypeUtil
|
|
930
1112
|
}
|
|
931
1113
|
));
|
|
932
1114
|
};
|
|
933
1115
|
|
|
934
1116
|
// src/components/style-sections/border-section/border-field.tsx
|
|
935
|
-
var
|
|
936
|
-
|
|
937
|
-
|
|
1117
|
+
var initialBorder = {
|
|
1118
|
+
"border-width": { $$type: "size", value: { size: 1, unit: "px" } },
|
|
1119
|
+
"border-color": { $$type: "color", value: "#000000" },
|
|
1120
|
+
"border-style": { $$type: "string", value: "solid" }
|
|
1121
|
+
};
|
|
938
1122
|
var BorderField = () => {
|
|
939
|
-
const [
|
|
940
|
-
const [borderColor, setBorderColor] = useStylesField("border-color");
|
|
941
|
-
const [borderStyle, setBorderStyle] = useStylesField("border-style");
|
|
1123
|
+
const [border, setBorder] = useStylesFields(Object.keys(initialBorder));
|
|
942
1124
|
const addBorder = () => {
|
|
943
|
-
|
|
944
|
-
setBorderColor(initialBorderColor);
|
|
945
|
-
setBorderStyle(initialBorderStyle);
|
|
1125
|
+
setBorder(initialBorder);
|
|
946
1126
|
};
|
|
947
1127
|
const removeBorder = () => {
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
1128
|
+
setBorder({
|
|
1129
|
+
"border-width": null,
|
|
1130
|
+
"border-color": null,
|
|
1131
|
+
"border-style": null
|
|
1132
|
+
});
|
|
951
1133
|
};
|
|
952
|
-
const hasBorder =
|
|
953
|
-
return /* @__PURE__ */
|
|
1134
|
+
const hasBorder = Object.values(border ?? {}).some(Boolean);
|
|
1135
|
+
return /* @__PURE__ */ React24.createElement(
|
|
954
1136
|
AddOrRemoveContent,
|
|
955
1137
|
{
|
|
956
1138
|
label: (0, import_i18n7.__)("Border", "elementor"),
|
|
@@ -958,14 +1140,14 @@ var BorderField = () => {
|
|
|
958
1140
|
onAdd: addBorder,
|
|
959
1141
|
onRemove: removeBorder
|
|
960
1142
|
},
|
|
961
|
-
/* @__PURE__ */
|
|
962
|
-
/* @__PURE__ */
|
|
963
|
-
/* @__PURE__ */
|
|
1143
|
+
/* @__PURE__ */ React24.createElement(BorderWidthField, null),
|
|
1144
|
+
/* @__PURE__ */ React24.createElement(BorderColorField, null),
|
|
1145
|
+
/* @__PURE__ */ React24.createElement(BorderStyleField, null)
|
|
964
1146
|
);
|
|
965
1147
|
};
|
|
966
1148
|
|
|
967
1149
|
// src/components/style-sections/border-section/border-radius-field.tsx
|
|
968
|
-
var
|
|
1150
|
+
var React25 = __toESM(require("react"));
|
|
969
1151
|
var import_editor_controls11 = require("@elementor/editor-controls");
|
|
970
1152
|
var import_editor_props3 = require("@elementor/editor-props");
|
|
971
1153
|
var import_icons7 = require("@elementor/icons");
|
|
@@ -973,53 +1155,53 @@ var import_i18n8 = require("@wordpress/i18n");
|
|
|
973
1155
|
var corners = [
|
|
974
1156
|
{
|
|
975
1157
|
label: (0, import_i18n8.__)("Top Left", "elementor"),
|
|
976
|
-
icon: /* @__PURE__ */
|
|
1158
|
+
icon: /* @__PURE__ */ React25.createElement(import_icons7.RadiusTopLeftIcon, { fontSize: "tiny" }),
|
|
977
1159
|
bind: "top-left"
|
|
978
1160
|
},
|
|
979
1161
|
{
|
|
980
1162
|
label: (0, import_i18n8.__)("Top Right", "elementor"),
|
|
981
|
-
icon: /* @__PURE__ */
|
|
1163
|
+
icon: /* @__PURE__ */ React25.createElement(import_icons7.RadiusTopRightIcon, { fontSize: "tiny" }),
|
|
982
1164
|
bind: "top-right"
|
|
983
1165
|
},
|
|
984
1166
|
{
|
|
985
1167
|
label: (0, import_i18n8.__)("Bottom Right", "elementor"),
|
|
986
|
-
icon: /* @__PURE__ */
|
|
1168
|
+
icon: /* @__PURE__ */ React25.createElement(import_icons7.RadiusBottomRightIcon, { fontSize: "tiny" }),
|
|
987
1169
|
bind: "bottom-right"
|
|
988
1170
|
},
|
|
989
1171
|
{
|
|
990
1172
|
label: (0, import_i18n8.__)("Bottom Left", "elementor"),
|
|
991
|
-
icon: /* @__PURE__ */
|
|
1173
|
+
icon: /* @__PURE__ */ React25.createElement(import_icons7.RadiusBottomLeftIcon, { fontSize: "tiny" }),
|
|
992
1174
|
bind: "bottom-left"
|
|
993
1175
|
}
|
|
994
1176
|
];
|
|
995
1177
|
var BorderRadiusField = () => {
|
|
996
|
-
return /* @__PURE__ */
|
|
1178
|
+
return /* @__PURE__ */ React25.createElement(StylesField, { bind: "border-radius" }, /* @__PURE__ */ React25.createElement(
|
|
997
1179
|
import_editor_controls11.EqualUnequalSizesControl,
|
|
998
1180
|
{
|
|
999
1181
|
items: corners,
|
|
1000
1182
|
label: (0, import_i18n8.__)("Border Radius", "elementor"),
|
|
1001
|
-
icon: /* @__PURE__ */
|
|
1183
|
+
icon: /* @__PURE__ */ React25.createElement(import_icons7.BorderCornersIcon, { fontSize: "tiny" }),
|
|
1002
1184
|
multiSizePropTypeUtil: import_editor_props3.borderRadiusPropTypeUtil
|
|
1003
1185
|
}
|
|
1004
1186
|
));
|
|
1005
1187
|
};
|
|
1006
1188
|
|
|
1007
1189
|
// src/components/style-sections/border-section/border-section.tsx
|
|
1008
|
-
var BorderSection = () => /* @__PURE__ */
|
|
1190
|
+
var BorderSection = () => /* @__PURE__ */ React26.createElement(import_ui15.Stack, { gap: 1.5 }, /* @__PURE__ */ React26.createElement(BorderRadiusField, null), /* @__PURE__ */ React26.createElement(import_ui15.Divider, null), /* @__PURE__ */ React26.createElement(BorderField, null));
|
|
1009
1191
|
|
|
1010
1192
|
// src/components/style-sections/effects-section/effects-section.tsx
|
|
1011
|
-
var
|
|
1193
|
+
var React27 = __toESM(require("react"));
|
|
1012
1194
|
var import_editor_controls12 = require("@elementor/editor-controls");
|
|
1013
|
-
var
|
|
1195
|
+
var import_ui16 = require("@elementor/ui");
|
|
1014
1196
|
var EffectsSection = () => {
|
|
1015
|
-
return /* @__PURE__ */
|
|
1197
|
+
return /* @__PURE__ */ React27.createElement(import_ui16.Stack, { gap: 1.5 }, /* @__PURE__ */ React27.createElement(StylesField, { bind: "box-shadow" }, /* @__PURE__ */ React27.createElement(import_editor_controls12.BoxShadowRepeaterControl, null)));
|
|
1016
1198
|
};
|
|
1017
1199
|
|
|
1018
1200
|
// src/components/style-sections/layout-section/layout-section.tsx
|
|
1019
|
-
var
|
|
1201
|
+
var React38 = __toESM(require("react"));
|
|
1020
1202
|
var import_editor_controls22 = require("@elementor/editor-controls");
|
|
1021
1203
|
var import_editor_elements4 = require("@elementor/editor-elements");
|
|
1022
|
-
var
|
|
1204
|
+
var import_ui28 = require("@elementor/ui");
|
|
1023
1205
|
var import_i18n18 = require("@wordpress/i18n");
|
|
1024
1206
|
|
|
1025
1207
|
// src/hooks/use-computed-style.ts
|
|
@@ -1048,24 +1230,24 @@ function useComputedStyle(elementId) {
|
|
|
1048
1230
|
}
|
|
1049
1231
|
|
|
1050
1232
|
// src/components/style-sections/layout-section/align-items-field.tsx
|
|
1051
|
-
var
|
|
1233
|
+
var React29 = __toESM(require("react"));
|
|
1052
1234
|
var import_editor_controls13 = require("@elementor/editor-controls");
|
|
1053
1235
|
var import_icons8 = require("@elementor/icons");
|
|
1054
|
-
var
|
|
1236
|
+
var import_ui19 = require("@elementor/ui");
|
|
1055
1237
|
var import_i18n9 = require("@wordpress/i18n");
|
|
1056
1238
|
|
|
1057
1239
|
// src/hooks/use-direction.ts
|
|
1058
|
-
var
|
|
1240
|
+
var import_ui17 = require("@elementor/ui");
|
|
1059
1241
|
function useDirection() {
|
|
1060
|
-
const theme = (0,
|
|
1242
|
+
const theme = (0, import_ui17.useTheme)(), extendedWindow = window;
|
|
1061
1243
|
const isUiRtl = "rtl" === theme.direction, isSiteRtl = !!extendedWindow.elementorFrontend?.config?.is_rtl;
|
|
1062
1244
|
return { isSiteRtl, isUiRtl };
|
|
1063
1245
|
}
|
|
1064
1246
|
|
|
1065
1247
|
// src/components/style-sections/layout-section/utils/rotated-icon.tsx
|
|
1066
|
-
var
|
|
1067
|
-
var
|
|
1068
|
-
var
|
|
1248
|
+
var React28 = __toESM(require("react"));
|
|
1249
|
+
var import_react11 = require("react");
|
|
1250
|
+
var import_ui18 = require("@elementor/ui");
|
|
1069
1251
|
var CLOCKWISE_ANGLES = {
|
|
1070
1252
|
row: 0,
|
|
1071
1253
|
column: 90,
|
|
@@ -1079,13 +1261,13 @@ var COUNTER_CLOCKWISE_ANGLES = {
|
|
|
1079
1261
|
"column-reverse": -270
|
|
1080
1262
|
};
|
|
1081
1263
|
var RotatedIcon = ({ icon: Icon, size, isClockwise = true, offset = 0 }) => {
|
|
1082
|
-
const rotate = (0,
|
|
1264
|
+
const rotate = (0, import_react11.useRef)(useGetTargetAngle(isClockwise, offset));
|
|
1083
1265
|
rotate.current = useGetTargetAngle(isClockwise, offset, rotate);
|
|
1084
|
-
return /* @__PURE__ */
|
|
1266
|
+
return /* @__PURE__ */ React28.createElement(Icon, { fontSize: size, sx: { transition: ".3s", rotate: `${rotate.current}deg` } });
|
|
1085
1267
|
};
|
|
1086
1268
|
var useGetTargetAngle = (isClockwise, offset, existingRef) => {
|
|
1087
1269
|
const [direction] = useStylesField("flex-direction");
|
|
1088
|
-
const isRtl = "rtl" === (0,
|
|
1270
|
+
const isRtl = "rtl" === (0, import_ui18.useTheme)().direction;
|
|
1089
1271
|
const rotationMultiplier = isRtl ? -1 : 1;
|
|
1090
1272
|
const angleMap = isClockwise ? CLOCKWISE_ANGLES : COUNTER_CLOCKWISE_ANGLES;
|
|
1091
1273
|
const currentAngle = existingRef ? existingRef.current * rotationMultiplier : angleMap[direction?.value || "row"] + offset;
|
|
@@ -1096,8 +1278,8 @@ var useGetTargetAngle = (isClockwise, offset, existingRef) => {
|
|
|
1096
1278
|
};
|
|
1097
1279
|
|
|
1098
1280
|
// src/components/style-sections/layout-section/align-items-field.tsx
|
|
1099
|
-
var StartIcon = (0,
|
|
1100
|
-
var EndIcon = (0,
|
|
1281
|
+
var StartIcon = (0, import_ui19.withDirection)(import_icons8.LayoutAlignLeftIcon);
|
|
1282
|
+
var EndIcon = (0, import_ui19.withDirection)(import_icons8.LayoutAlignRightIcon);
|
|
1101
1283
|
var iconProps = {
|
|
1102
1284
|
isClockwise: false,
|
|
1103
1285
|
offset: 90
|
|
@@ -1106,41 +1288,41 @@ var options = [
|
|
|
1106
1288
|
{
|
|
1107
1289
|
value: "start",
|
|
1108
1290
|
label: (0, import_i18n9.__)("Start", "elementor"),
|
|
1109
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1291
|
+
renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: StartIcon, size, ...iconProps }),
|
|
1110
1292
|
showTooltip: true
|
|
1111
1293
|
},
|
|
1112
1294
|
{
|
|
1113
1295
|
value: "center",
|
|
1114
1296
|
label: (0, import_i18n9.__)("Center", "elementor"),
|
|
1115
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1297
|
+
renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: import_icons8.LayoutAlignCenterIcon, size, ...iconProps }),
|
|
1116
1298
|
showTooltip: true
|
|
1117
1299
|
},
|
|
1118
1300
|
{
|
|
1119
1301
|
value: "end",
|
|
1120
1302
|
label: (0, import_i18n9.__)("End", "elementor"),
|
|
1121
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1303
|
+
renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: EndIcon, size, ...iconProps }),
|
|
1122
1304
|
showTooltip: true
|
|
1123
1305
|
},
|
|
1124
1306
|
{
|
|
1125
1307
|
value: "stretch",
|
|
1126
1308
|
label: (0, import_i18n9.__)("Stretch", "elementor"),
|
|
1127
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1309
|
+
renderContent: ({ size }) => /* @__PURE__ */ React29.createElement(RotatedIcon, { icon: import_icons8.LayoutDistributeVerticalIcon, size, ...iconProps }),
|
|
1128
1310
|
showTooltip: true
|
|
1129
1311
|
}
|
|
1130
1312
|
];
|
|
1131
1313
|
var AlignItemsField = () => {
|
|
1132
1314
|
const { isSiteRtl } = useDirection();
|
|
1133
|
-
return /* @__PURE__ */
|
|
1315
|
+
return /* @__PURE__ */ React29.createElement(import_ui19.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React29.createElement(import_ui19.ThemeProvider, null, /* @__PURE__ */ React29.createElement(StylesField, { bind: "align-items" }, /* @__PURE__ */ React29.createElement(import_ui19.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React29.createElement(import_ui19.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React29.createElement(import_editor_controls13.ControlLabel, null, (0, import_i18n9.__)("Align items", "elementor"))), /* @__PURE__ */ React29.createElement(import_ui19.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React29.createElement(import_editor_controls13.ToggleControl, { options }))))));
|
|
1134
1316
|
};
|
|
1135
1317
|
|
|
1136
1318
|
// src/components/style-sections/layout-section/align-self-child-field.tsx
|
|
1137
|
-
var
|
|
1319
|
+
var React30 = __toESM(require("react"));
|
|
1138
1320
|
var import_editor_controls14 = require("@elementor/editor-controls");
|
|
1139
1321
|
var import_icons9 = require("@elementor/icons");
|
|
1140
|
-
var
|
|
1322
|
+
var import_ui20 = require("@elementor/ui");
|
|
1141
1323
|
var import_i18n10 = require("@wordpress/i18n");
|
|
1142
|
-
var StartIcon2 = (0,
|
|
1143
|
-
var EndIcon2 = (0,
|
|
1324
|
+
var StartIcon2 = (0, import_ui20.withDirection)(import_icons9.LayoutAlignLeftIcon);
|
|
1325
|
+
var EndIcon2 = (0, import_ui20.withDirection)(import_icons9.LayoutAlignRightIcon);
|
|
1144
1326
|
var iconProps2 = {
|
|
1145
1327
|
isClockwise: false,
|
|
1146
1328
|
offset: 90
|
|
@@ -1149,37 +1331,37 @@ var options2 = [
|
|
|
1149
1331
|
{
|
|
1150
1332
|
value: "start",
|
|
1151
1333
|
label: (0, import_i18n10.__)("Start", "elementor"),
|
|
1152
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1334
|
+
renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: StartIcon2, size, ...iconProps2 }),
|
|
1153
1335
|
showTooltip: true
|
|
1154
1336
|
},
|
|
1155
1337
|
{
|
|
1156
1338
|
value: "center",
|
|
1157
1339
|
label: (0, import_i18n10.__)("Center", "elementor"),
|
|
1158
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1340
|
+
renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: import_icons9.LayoutAlignCenterIcon, size, ...iconProps2 }),
|
|
1159
1341
|
showTooltip: true
|
|
1160
1342
|
},
|
|
1161
1343
|
{
|
|
1162
1344
|
value: "end",
|
|
1163
1345
|
label: (0, import_i18n10.__)("End", "elementor"),
|
|
1164
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1346
|
+
renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: EndIcon2, size, ...iconProps2 }),
|
|
1165
1347
|
showTooltip: true
|
|
1166
1348
|
},
|
|
1167
1349
|
{
|
|
1168
1350
|
value: "stretch",
|
|
1169
1351
|
label: (0, import_i18n10.__)("Stretch", "elementor"),
|
|
1170
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1352
|
+
renderContent: ({ size }) => /* @__PURE__ */ React30.createElement(RotatedIcon, { icon: import_icons9.LayoutDistributeVerticalIcon, size, ...iconProps2 }),
|
|
1171
1353
|
showTooltip: true
|
|
1172
1354
|
}
|
|
1173
1355
|
];
|
|
1174
1356
|
var AlignSelfChild = () => {
|
|
1175
1357
|
const { isSiteRtl } = useDirection();
|
|
1176
|
-
return /* @__PURE__ */
|
|
1358
|
+
return /* @__PURE__ */ React30.createElement(import_ui20.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React30.createElement(import_ui20.ThemeProvider, null, /* @__PURE__ */ React30.createElement(StylesField, { bind: "align-self" }, /* @__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_controls14.ControlLabel, null, (0, import_i18n10.__)("Align self", "elementor"))), /* @__PURE__ */ React30.createElement(import_ui20.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React30.createElement(import_editor_controls14.ToggleControl, { options: options2 }))))));
|
|
1177
1359
|
};
|
|
1178
1360
|
|
|
1179
1361
|
// src/components/style-sections/layout-section/display-field.tsx
|
|
1180
|
-
var
|
|
1362
|
+
var React31 = __toESM(require("react"));
|
|
1181
1363
|
var import_editor_controls15 = require("@elementor/editor-controls");
|
|
1182
|
-
var
|
|
1364
|
+
var import_ui21 = require("@elementor/ui");
|
|
1183
1365
|
var import_i18n11 = require("@wordpress/i18n");
|
|
1184
1366
|
var DisplayField = () => {
|
|
1185
1367
|
const options10 = [
|
|
@@ -1194,58 +1376,58 @@ var DisplayField = () => {
|
|
|
1194
1376
|
label: (0, import_i18n11.__)("Flex", "elementor")
|
|
1195
1377
|
}
|
|
1196
1378
|
];
|
|
1197
|
-
return /* @__PURE__ */
|
|
1379
|
+
return /* @__PURE__ */ React31.createElement(StylesField, { bind: "display" }, /* @__PURE__ */ React31.createElement(import_ui21.Stack, { gap: 1 }, /* @__PURE__ */ React31.createElement(import_editor_controls15.ControlLabel, null, (0, import_i18n11.__)("Display", "elementor")), /* @__PURE__ */ React31.createElement(import_editor_controls15.ToggleControl, { options: options10, fullWidth: true })));
|
|
1198
1380
|
};
|
|
1199
1381
|
|
|
1200
1382
|
// src/components/style-sections/layout-section/flex-direction-field.tsx
|
|
1201
|
-
var
|
|
1383
|
+
var React32 = __toESM(require("react"));
|
|
1202
1384
|
var import_editor_controls16 = require("@elementor/editor-controls");
|
|
1203
1385
|
var import_icons10 = require("@elementor/icons");
|
|
1204
|
-
var
|
|
1386
|
+
var import_ui22 = require("@elementor/ui");
|
|
1205
1387
|
var import_i18n12 = require("@wordpress/i18n");
|
|
1206
1388
|
var options3 = [
|
|
1207
1389
|
{
|
|
1208
1390
|
value: "row",
|
|
1209
1391
|
label: (0, import_i18n12.__)("Row", "elementor"),
|
|
1210
1392
|
renderContent: ({ size }) => {
|
|
1211
|
-
const StartIcon4 = (0,
|
|
1212
|
-
return /* @__PURE__ */
|
|
1393
|
+
const StartIcon4 = (0, import_ui22.withDirection)(import_icons10.ArrowRightIcon);
|
|
1394
|
+
return /* @__PURE__ */ React32.createElement(StartIcon4, { fontSize: size });
|
|
1213
1395
|
},
|
|
1214
1396
|
showTooltip: true
|
|
1215
1397
|
},
|
|
1216
1398
|
{
|
|
1217
1399
|
value: "column",
|
|
1218
1400
|
label: (0, import_i18n12.__)("Column", "elementor"),
|
|
1219
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1401
|
+
renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(import_icons10.ArrowDownSmallIcon, { fontSize: size }),
|
|
1220
1402
|
showTooltip: true
|
|
1221
1403
|
},
|
|
1222
1404
|
{
|
|
1223
1405
|
value: "row-reverse",
|
|
1224
1406
|
label: (0, import_i18n12.__)("Reversed row", "elementor"),
|
|
1225
1407
|
renderContent: ({ size }) => {
|
|
1226
|
-
const EndIcon4 = (0,
|
|
1227
|
-
return /* @__PURE__ */
|
|
1408
|
+
const EndIcon4 = (0, import_ui22.withDirection)(import_icons10.ArrowLeftIcon);
|
|
1409
|
+
return /* @__PURE__ */ React32.createElement(EndIcon4, { fontSize: size });
|
|
1228
1410
|
},
|
|
1229
1411
|
showTooltip: true
|
|
1230
1412
|
},
|
|
1231
1413
|
{
|
|
1232
1414
|
value: "column-reverse",
|
|
1233
1415
|
label: (0, import_i18n12.__)("Reversed column", "elementor"),
|
|
1234
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1416
|
+
renderContent: ({ size }) => /* @__PURE__ */ React32.createElement(import_icons10.ArrowUpSmallIcon, { fontSize: size }),
|
|
1235
1417
|
showTooltip: true
|
|
1236
1418
|
}
|
|
1237
1419
|
];
|
|
1238
1420
|
var FlexDirectionField = () => {
|
|
1239
1421
|
const { isSiteRtl } = useDirection();
|
|
1240
|
-
return /* @__PURE__ */
|
|
1422
|
+
return /* @__PURE__ */ React32.createElement(import_ui22.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React32.createElement(import_ui22.ThemeProvider, null, /* @__PURE__ */ React32.createElement(StylesField, { bind: "flex-direction" }, /* @__PURE__ */ React32.createElement(import_ui22.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React32.createElement(import_ui22.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React32.createElement(import_editor_controls16.ControlLabel, null, (0, import_i18n12.__)("Direction", "elementor"))), /* @__PURE__ */ React32.createElement(import_ui22.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React32.createElement(import_editor_controls16.ToggleControl, { options: options3 }))))));
|
|
1241
1423
|
};
|
|
1242
1424
|
|
|
1243
1425
|
// src/components/style-sections/layout-section/flex-order-field.tsx
|
|
1244
|
-
var
|
|
1245
|
-
var
|
|
1426
|
+
var React33 = __toESM(require("react"));
|
|
1427
|
+
var import_react12 = require("react");
|
|
1246
1428
|
var import_editor_controls17 = require("@elementor/editor-controls");
|
|
1247
1429
|
var import_icons11 = require("@elementor/icons");
|
|
1248
|
-
var
|
|
1430
|
+
var import_ui23 = require("@elementor/ui");
|
|
1249
1431
|
var import_i18n13 = require("@wordpress/i18n");
|
|
1250
1432
|
var FIRST_DEFAULT_VALUE = -99999;
|
|
1251
1433
|
var LAST_DEFAULT_VALUE = 99999;
|
|
@@ -1260,25 +1442,25 @@ var items = [
|
|
|
1260
1442
|
{
|
|
1261
1443
|
value: FIRST,
|
|
1262
1444
|
label: (0, import_i18n13.__)("First", "elementor"),
|
|
1263
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1445
|
+
renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(import_icons11.ArrowUpSmallIcon, { fontSize: size }),
|
|
1264
1446
|
showTooltip: true
|
|
1265
1447
|
},
|
|
1266
1448
|
{
|
|
1267
1449
|
value: LAST,
|
|
1268
1450
|
label: (0, import_i18n13.__)("Last", "elementor"),
|
|
1269
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1451
|
+
renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(import_icons11.ArrowDownSmallIcon, { fontSize: size }),
|
|
1270
1452
|
showTooltip: true
|
|
1271
1453
|
},
|
|
1272
1454
|
{
|
|
1273
1455
|
value: CUSTOM,
|
|
1274
1456
|
label: (0, import_i18n13.__)("Custom", "elementor"),
|
|
1275
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1457
|
+
renderContent: ({ size }) => /* @__PURE__ */ React33.createElement(import_icons11.PencilIcon, { fontSize: size }),
|
|
1276
1458
|
showTooltip: true
|
|
1277
1459
|
}
|
|
1278
1460
|
];
|
|
1279
1461
|
var FlexOrderField = () => {
|
|
1280
1462
|
const { isSiteRtl } = useDirection(), [order, setOrder] = useStylesField("order");
|
|
1281
|
-
const [groupControlValue, setGroupControlValue] = (0,
|
|
1463
|
+
const [groupControlValue, setGroupControlValue] = (0, import_react12.useState)(getGroupControlValue(order?.value || null));
|
|
1282
1464
|
const handleToggleButtonChange = (group) => {
|
|
1283
1465
|
setGroupControlValue(group);
|
|
1284
1466
|
if (!group || group === CUSTOM) {
|
|
@@ -1287,7 +1469,7 @@ var FlexOrderField = () => {
|
|
|
1287
1469
|
}
|
|
1288
1470
|
setOrder({ $$type: "number", value: orderValueMap[group] });
|
|
1289
1471
|
};
|
|
1290
|
-
return /* @__PURE__ */
|
|
1472
|
+
return /* @__PURE__ */ React33.createElement(import_ui23.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React33.createElement(import_ui23.ThemeProvider, null, /* @__PURE__ */ React33.createElement(import_ui23.Stack, { gap: 2 }, /* @__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_controls17.ControlLabel, null, (0, import_i18n13.__)("Order", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(
|
|
1291
1473
|
import_editor_controls17.ControlToggleButtonGroup,
|
|
1292
1474
|
{
|
|
1293
1475
|
items,
|
|
@@ -1295,7 +1477,7 @@ var FlexOrderField = () => {
|
|
|
1295
1477
|
onChange: handleToggleButtonChange,
|
|
1296
1478
|
exclusive: true
|
|
1297
1479
|
}
|
|
1298
|
-
))), CUSTOM === groupControlValue && /* @__PURE__ */
|
|
1480
|
+
))), CUSTOM === groupControlValue && /* @__PURE__ */ React33.createElement(StylesField, { bind: "order" }, /* @__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_controls17.ControlLabel, null, (0, import_i18n13.__)("Custom order", "elementor"))), /* @__PURE__ */ React33.createElement(import_ui23.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React33.createElement(
|
|
1299
1481
|
import_editor_controls17.NumberControl,
|
|
1300
1482
|
{
|
|
1301
1483
|
min: FIRST_DEFAULT_VALUE + 1,
|
|
@@ -1315,36 +1497,36 @@ var getGroupControlValue = (order) => {
|
|
|
1315
1497
|
};
|
|
1316
1498
|
|
|
1317
1499
|
// src/components/style-sections/layout-section/flex-size-field.tsx
|
|
1318
|
-
var
|
|
1500
|
+
var React34 = __toESM(require("react"));
|
|
1319
1501
|
var import_editor_controls18 = require("@elementor/editor-controls");
|
|
1320
1502
|
var import_icons12 = require("@elementor/icons");
|
|
1321
|
-
var
|
|
1503
|
+
var import_ui24 = require("@elementor/ui");
|
|
1322
1504
|
var import_i18n14 = require("@wordpress/i18n");
|
|
1323
1505
|
var DEFAULT = 1;
|
|
1324
1506
|
var items2 = [
|
|
1325
1507
|
{
|
|
1326
1508
|
value: "flex-grow",
|
|
1327
1509
|
label: (0, import_i18n14.__)("Grow", "elementor"),
|
|
1328
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1510
|
+
renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(import_icons12.ExpandIcon, { fontSize: size }),
|
|
1329
1511
|
showTooltip: true
|
|
1330
1512
|
},
|
|
1331
1513
|
{
|
|
1332
1514
|
value: "flex-shrink",
|
|
1333
1515
|
label: (0, import_i18n14.__)("Shrink", "elementor"),
|
|
1334
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1516
|
+
renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(import_icons12.ShrinkIcon, { fontSize: size }),
|
|
1335
1517
|
showTooltip: true
|
|
1336
1518
|
},
|
|
1337
1519
|
{
|
|
1338
1520
|
value: "custom",
|
|
1339
1521
|
label: (0, import_i18n14.__)("Custom", "elementor"),
|
|
1340
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1522
|
+
renderContent: ({ size }) => /* @__PURE__ */ React34.createElement(import_icons12.PencilIcon, { fontSize: size }),
|
|
1341
1523
|
showTooltip: true
|
|
1342
1524
|
}
|
|
1343
1525
|
];
|
|
1344
1526
|
var FlexSizeField = () => {
|
|
1345
1527
|
const { isSiteRtl } = useDirection(), [growField, setGrowField] = useStylesField("flex-grow"), [shrinkField, setShrinkField] = useStylesField("flex-shrink"), [basisField, setBasisField] = useStylesField("flex-basis");
|
|
1346
1528
|
const grow = growField?.value || null, shrink = shrinkField?.value || null, basis = basisField?.value || null;
|
|
1347
|
-
const currentGroup =
|
|
1529
|
+
const currentGroup = React34.useMemo(() => getActiveGroup({ grow, shrink, basis }), [grow, shrink, basis]), [activeGroup, setActiveGroup] = React34.useState(currentGroup);
|
|
1348
1530
|
const onChangeGroup = (group = null) => {
|
|
1349
1531
|
setActiveGroup(group);
|
|
1350
1532
|
setBasisField(null);
|
|
@@ -1361,7 +1543,7 @@ var FlexSizeField = () => {
|
|
|
1361
1543
|
setGrowField(null);
|
|
1362
1544
|
setShrinkField({ $$type: "number", value: DEFAULT });
|
|
1363
1545
|
};
|
|
1364
|
-
return /* @__PURE__ */
|
|
1546
|
+
return /* @__PURE__ */ React34.createElement(import_ui24.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React34.createElement(import_ui24.ThemeProvider, null, /* @__PURE__ */ React34.createElement(import_ui24.Stack, { gap: 2 }, /* @__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_controls18.ControlLabel, null, (0, import_i18n14.__)("Size", "elementor"))), /* @__PURE__ */ React34.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React34.createElement(
|
|
1365
1547
|
import_editor_controls18.ControlToggleButtonGroup,
|
|
1366
1548
|
{
|
|
1367
1549
|
value: activeGroup,
|
|
@@ -1369,9 +1551,9 @@ var FlexSizeField = () => {
|
|
|
1369
1551
|
items: items2,
|
|
1370
1552
|
exclusive: true
|
|
1371
1553
|
}
|
|
1372
|
-
))), "custom" === activeGroup && /* @__PURE__ */
|
|
1554
|
+
))), "custom" === activeGroup && /* @__PURE__ */ React34.createElement(FlexCustomField, null))));
|
|
1373
1555
|
};
|
|
1374
|
-
var FlexCustomField = () => /* @__PURE__ */
|
|
1556
|
+
var FlexCustomField = () => /* @__PURE__ */ React34.createElement(React34.Fragment, null, /* @__PURE__ */ React34.createElement(StylesField, { bind: "flex-grow" }, /* @__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_controls18.ControlLabel, null, (0, import_i18n14.__)("Grow", "elementor"))), /* @__PURE__ */ React34.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React34.createElement(import_editor_controls18.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React34.createElement(StylesField, { bind: "flex-shrink" }, /* @__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_controls18.ControlLabel, null, (0, import_i18n14.__)("Shrink", "elementor"))), /* @__PURE__ */ React34.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React34.createElement(import_editor_controls18.NumberControl, { min: 0, shouldForceInt: true })))), /* @__PURE__ */ React34.createElement(StylesField, { bind: "flex-basis" }, /* @__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_controls18.ControlLabel, null, (0, import_i18n14.__)("Basis", "elementor"))), /* @__PURE__ */ React34.createElement(import_ui24.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "end" } }, /* @__PURE__ */ React34.createElement(import_editor_controls18.SizeControl, null)))));
|
|
1375
1557
|
var getActiveGroup = ({
|
|
1376
1558
|
grow,
|
|
1377
1559
|
shrink,
|
|
@@ -1393,22 +1575,22 @@ var getActiveGroup = ({
|
|
|
1393
1575
|
};
|
|
1394
1576
|
|
|
1395
1577
|
// src/components/style-sections/layout-section/gap-control-field.tsx
|
|
1396
|
-
var
|
|
1578
|
+
var React35 = __toESM(require("react"));
|
|
1397
1579
|
var import_editor_controls19 = require("@elementor/editor-controls");
|
|
1398
|
-
var
|
|
1580
|
+
var import_ui25 = require("@elementor/ui");
|
|
1399
1581
|
var import_i18n15 = require("@wordpress/i18n");
|
|
1400
1582
|
var GapControlField = () => {
|
|
1401
|
-
return /* @__PURE__ */
|
|
1583
|
+
return /* @__PURE__ */ React35.createElement(import_ui25.Stack, { gap: 1 }, /* @__PURE__ */ React35.createElement(StylesField, { bind: "gap" }, /* @__PURE__ */ React35.createElement(import_editor_controls19.GapControl, { label: (0, import_i18n15.__)("Gaps", "elementor") })));
|
|
1402
1584
|
};
|
|
1403
1585
|
|
|
1404
1586
|
// src/components/style-sections/layout-section/justify-content-field.tsx
|
|
1405
|
-
var
|
|
1587
|
+
var React36 = __toESM(require("react"));
|
|
1406
1588
|
var import_editor_controls20 = require("@elementor/editor-controls");
|
|
1407
1589
|
var import_icons13 = require("@elementor/icons");
|
|
1408
|
-
var
|
|
1590
|
+
var import_ui26 = require("@elementor/ui");
|
|
1409
1591
|
var import_i18n16 = require("@wordpress/i18n");
|
|
1410
|
-
var StartIcon3 = (0,
|
|
1411
|
-
var EndIcon3 = (0,
|
|
1592
|
+
var StartIcon3 = (0, import_ui26.withDirection)(import_icons13.JustifyTopIcon);
|
|
1593
|
+
var EndIcon3 = (0, import_ui26.withDirection)(import_icons13.JustifyBottomIcon);
|
|
1412
1594
|
var iconProps3 = {
|
|
1413
1595
|
isClockwise: true,
|
|
1414
1596
|
offset: -90
|
|
@@ -1417,74 +1599,74 @@ var options4 = [
|
|
|
1417
1599
|
{
|
|
1418
1600
|
value: "start",
|
|
1419
1601
|
label: (0, import_i18n16.__)("Start", "elementor"),
|
|
1420
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1602
|
+
renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: StartIcon3, size, ...iconProps3 }),
|
|
1421
1603
|
showTooltip: true
|
|
1422
1604
|
},
|
|
1423
1605
|
{
|
|
1424
1606
|
value: "center",
|
|
1425
1607
|
label: (0, import_i18n16.__)("Center", "elementor"),
|
|
1426
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1608
|
+
renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: import_icons13.JustifyCenterIcon, size, ...iconProps3 }),
|
|
1427
1609
|
showTooltip: true
|
|
1428
1610
|
},
|
|
1429
1611
|
{
|
|
1430
1612
|
value: "end",
|
|
1431
1613
|
label: (0, import_i18n16.__)("End", "elementor"),
|
|
1432
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1614
|
+
renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: EndIcon3, size, ...iconProps3 }),
|
|
1433
1615
|
showTooltip: true
|
|
1434
1616
|
},
|
|
1435
1617
|
{
|
|
1436
1618
|
value: "space-between",
|
|
1437
1619
|
label: (0, import_i18n16.__)("Space between", "elementor"),
|
|
1438
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1620
|
+
renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: import_icons13.JustifySpaceBetweenVerticalIcon, size, ...iconProps3 }),
|
|
1439
1621
|
showTooltip: true
|
|
1440
1622
|
},
|
|
1441
1623
|
{
|
|
1442
1624
|
value: "space-around",
|
|
1443
1625
|
label: (0, import_i18n16.__)("Space around", "elementor"),
|
|
1444
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1626
|
+
renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: import_icons13.JustifySpaceAroundVerticalIcon, size, ...iconProps3 }),
|
|
1445
1627
|
showTooltip: true
|
|
1446
1628
|
},
|
|
1447
1629
|
{
|
|
1448
1630
|
value: "space-evenly",
|
|
1449
1631
|
label: (0, import_i18n16.__)("Space evenly", "elementor"),
|
|
1450
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1632
|
+
renderContent: ({ size }) => /* @__PURE__ */ React36.createElement(RotatedIcon, { icon: import_icons13.JustifyDistributeVerticalIcon, size, ...iconProps3 }),
|
|
1451
1633
|
showTooltip: true
|
|
1452
1634
|
}
|
|
1453
1635
|
];
|
|
1454
1636
|
var JustifyContentField = () => {
|
|
1455
1637
|
const { isSiteRtl } = useDirection();
|
|
1456
|
-
return /* @__PURE__ */
|
|
1638
|
+
return /* @__PURE__ */ React36.createElement(import_ui26.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React36.createElement(import_ui26.ThemeProvider, null, /* @__PURE__ */ React36.createElement(StylesField, { bind: "justify-content" }, /* @__PURE__ */ React36.createElement(import_ui26.Stack, { gap: 1 }, /* @__PURE__ */ React36.createElement(import_editor_controls20.ControlLabel, null, (0, import_i18n16.__)("Justify content", "elementor")), /* @__PURE__ */ React36.createElement(import_editor_controls20.ToggleControl, { options: options4, fullWidth: true })))));
|
|
1457
1639
|
};
|
|
1458
1640
|
|
|
1459
1641
|
// src/components/style-sections/layout-section/wrap-field.tsx
|
|
1460
|
-
var
|
|
1642
|
+
var React37 = __toESM(require("react"));
|
|
1461
1643
|
var import_editor_controls21 = require("@elementor/editor-controls");
|
|
1462
1644
|
var import_icons14 = require("@elementor/icons");
|
|
1463
|
-
var
|
|
1645
|
+
var import_ui27 = require("@elementor/ui");
|
|
1464
1646
|
var import_i18n17 = require("@wordpress/i18n");
|
|
1465
1647
|
var options5 = [
|
|
1466
1648
|
{
|
|
1467
1649
|
value: "nowrap",
|
|
1468
1650
|
label: (0, import_i18n17.__)("No wrap", "elementor"),
|
|
1469
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1651
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(import_icons14.ArrowRightIcon, { fontSize: size }),
|
|
1470
1652
|
showTooltip: true
|
|
1471
1653
|
},
|
|
1472
1654
|
{
|
|
1473
1655
|
value: "wrap",
|
|
1474
1656
|
label: (0, import_i18n17.__)("Wrap", "elementor"),
|
|
1475
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1657
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(import_icons14.ArrowBackIcon, { fontSize: size }),
|
|
1476
1658
|
showTooltip: true
|
|
1477
1659
|
},
|
|
1478
1660
|
{
|
|
1479
1661
|
value: "wrap-reverse",
|
|
1480
1662
|
label: (0, import_i18n17.__)("Reversed wrap", "elementor"),
|
|
1481
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1663
|
+
renderContent: ({ size }) => /* @__PURE__ */ React37.createElement(import_icons14.ArrowForwardIcon, { fontSize: size }),
|
|
1482
1664
|
showTooltip: true
|
|
1483
1665
|
}
|
|
1484
1666
|
];
|
|
1485
1667
|
var WrapField = () => {
|
|
1486
1668
|
const { isSiteRtl } = useDirection();
|
|
1487
|
-
return /* @__PURE__ */
|
|
1669
|
+
return /* @__PURE__ */ React37.createElement(import_ui27.DirectionProvider, { rtl: isSiteRtl }, /* @__PURE__ */ React37.createElement(import_ui27.ThemeProvider, null, /* @__PURE__ */ React37.createElement(StylesField, { bind: "flex-wrap" }, /* @__PURE__ */ React37.createElement(import_ui27.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React37.createElement(import_ui27.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React37.createElement(import_editor_controls21.ControlLabel, null, (0, import_i18n17.__)("Wrap", "elementor"))), /* @__PURE__ */ React37.createElement(import_ui27.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React37.createElement(import_editor_controls21.ToggleControl, { options: options5 }))))));
|
|
1488
1670
|
};
|
|
1489
1671
|
|
|
1490
1672
|
// src/components/style-sections/layout-section/layout-section.tsx
|
|
@@ -1493,22 +1675,22 @@ var LayoutSection = () => {
|
|
|
1493
1675
|
const { element } = useElement();
|
|
1494
1676
|
const parent = (0, import_editor_elements4.useParentElement)(element.id);
|
|
1495
1677
|
const parentStyle = useComputedStyle(parent?.id || null);
|
|
1496
|
-
return /* @__PURE__ */
|
|
1678
|
+
return /* @__PURE__ */ React38.createElement(import_ui28.Stack, { gap: 2 }, /* @__PURE__ */ React38.createElement(DisplayField, null), "flex" === display?.value && /* @__PURE__ */ React38.createElement(FlexFields, null), "flex" === parentStyle?.display && /* @__PURE__ */ React38.createElement(FlexChildFields, null));
|
|
1497
1679
|
};
|
|
1498
|
-
var FlexFields = () => /* @__PURE__ */
|
|
1499
|
-
var FlexChildFields = () => /* @__PURE__ */
|
|
1680
|
+
var FlexFields = () => /* @__PURE__ */ React38.createElement(React38.Fragment, null, /* @__PURE__ */ React38.createElement(FlexDirectionField, null), /* @__PURE__ */ React38.createElement(JustifyContentField, null), /* @__PURE__ */ React38.createElement(AlignItemsField, null), /* @__PURE__ */ React38.createElement(import_ui28.Divider, null), /* @__PURE__ */ React38.createElement(GapControlField, null), /* @__PURE__ */ React38.createElement(WrapField, null));
|
|
1681
|
+
var FlexChildFields = () => /* @__PURE__ */ React38.createElement(React38.Fragment, null, /* @__PURE__ */ React38.createElement(import_ui28.Divider, null), /* @__PURE__ */ React38.createElement(import_editor_controls22.ControlLabel, null, (0, import_i18n18.__)("Flex child", "elementor")), /* @__PURE__ */ React38.createElement(AlignSelfChild, null), /* @__PURE__ */ React38.createElement(FlexOrderField, null), /* @__PURE__ */ React38.createElement(FlexSizeField, null));
|
|
1500
1682
|
|
|
1501
1683
|
// src/components/style-sections/position-section/position-section.tsx
|
|
1502
|
-
var
|
|
1503
|
-
var
|
|
1684
|
+
var React42 = __toESM(require("react"));
|
|
1685
|
+
var import_ui32 = require("@elementor/ui");
|
|
1504
1686
|
|
|
1505
1687
|
// src/hooks/use-session-storage.ts
|
|
1506
|
-
var
|
|
1688
|
+
var import_react13 = require("react");
|
|
1507
1689
|
var import_utils2 = require("@elementor/utils");
|
|
1508
1690
|
var useSessionStorage = (key) => {
|
|
1509
1691
|
const prefixedKey = `elementor/${key}`;
|
|
1510
|
-
const [value, setValue] = (0,
|
|
1511
|
-
(0,
|
|
1692
|
+
const [value, setValue] = (0, import_react13.useState)();
|
|
1693
|
+
(0, import_react13.useEffect)(() => {
|
|
1512
1694
|
return subscribeToSessionStorage(prefixedKey, (newValue) => {
|
|
1513
1695
|
setValue(newValue ?? null);
|
|
1514
1696
|
});
|
|
@@ -1540,28 +1722,28 @@ var subscribeToSessionStorage = (key, subscriber) => {
|
|
|
1540
1722
|
};
|
|
1541
1723
|
|
|
1542
1724
|
// src/components/style-sections/position-section/dimensions-field.tsx
|
|
1543
|
-
var
|
|
1725
|
+
var React39 = __toESM(require("react"));
|
|
1544
1726
|
var import_editor_controls23 = require("@elementor/editor-controls");
|
|
1545
1727
|
var import_icons15 = require("@elementor/icons");
|
|
1546
|
-
var
|
|
1728
|
+
var import_ui29 = require("@elementor/ui");
|
|
1547
1729
|
var import_i18n19 = require("@wordpress/i18n");
|
|
1548
1730
|
var sideIcons = {
|
|
1549
|
-
left: /* @__PURE__ */
|
|
1550
|
-
right: /* @__PURE__ */
|
|
1551
|
-
top: /* @__PURE__ */
|
|
1552
|
-
bottom: /* @__PURE__ */
|
|
1731
|
+
left: /* @__PURE__ */ React39.createElement(import_icons15.SideLeftIcon, { fontSize: "tiny" }),
|
|
1732
|
+
right: /* @__PURE__ */ React39.createElement(import_icons15.SideRightIcon, { fontSize: "tiny" }),
|
|
1733
|
+
top: /* @__PURE__ */ React39.createElement(import_icons15.SideTopIcon, { fontSize: "tiny" }),
|
|
1734
|
+
bottom: /* @__PURE__ */ React39.createElement(import_icons15.SideBottomIcon, { fontSize: "tiny" })
|
|
1553
1735
|
};
|
|
1554
1736
|
var DimensionsField = () => {
|
|
1555
|
-
return /* @__PURE__ */
|
|
1737
|
+
return /* @__PURE__ */ React39.createElement(React39.Fragment, null, /* @__PURE__ */ React39.createElement(import_ui29.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React39.createElement(DimensionField, { side: "top", label: (0, import_i18n19.__)("Top", "elementor") }), /* @__PURE__ */ React39.createElement(DimensionField, { side: "right", label: (0, import_i18n19.__)("Right", "elementor") })), /* @__PURE__ */ React39.createElement(import_ui29.Stack, { direction: "row", gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React39.createElement(DimensionField, { side: "bottom", label: (0, import_i18n19.__)("Bottom", "elementor") }), /* @__PURE__ */ React39.createElement(DimensionField, { side: "left", label: (0, import_i18n19.__)("Left", "elementor") })));
|
|
1556
1738
|
};
|
|
1557
1739
|
var DimensionField = ({ side, label }) => {
|
|
1558
|
-
return /* @__PURE__ */
|
|
1740
|
+
return /* @__PURE__ */ React39.createElement(import_ui29.Grid, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React39.createElement(import_ui29.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React39.createElement(import_editor_controls23.ControlLabel, null, label)), /* @__PURE__ */ React39.createElement(import_ui29.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React39.createElement(StylesField, { bind: side }, /* @__PURE__ */ React39.createElement(import_editor_controls23.SizeControl, { startIcon: sideIcons[side] }))));
|
|
1559
1741
|
};
|
|
1560
1742
|
|
|
1561
1743
|
// src/components/style-sections/position-section/position-field.tsx
|
|
1562
|
-
var
|
|
1744
|
+
var React40 = __toESM(require("react"));
|
|
1563
1745
|
var import_editor_controls24 = require("@elementor/editor-controls");
|
|
1564
|
-
var
|
|
1746
|
+
var import_ui30 = require("@elementor/ui");
|
|
1565
1747
|
var import_i18n20 = require("@wordpress/i18n");
|
|
1566
1748
|
var positionOptions = [
|
|
1567
1749
|
{ label: (0, import_i18n20.__)("Static", "elementor"), value: "static" },
|
|
@@ -1571,16 +1753,16 @@ var positionOptions = [
|
|
|
1571
1753
|
{ label: (0, import_i18n20.__)("Sticky", "elementor"), value: "sticky" }
|
|
1572
1754
|
];
|
|
1573
1755
|
var PositionField = ({ onChange }) => {
|
|
1574
|
-
return /* @__PURE__ */
|
|
1756
|
+
return /* @__PURE__ */ React40.createElement(StylesField, { bind: "position" }, /* @__PURE__ */ React40.createElement(import_ui30.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React40.createElement(import_ui30.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(import_editor_controls24.ControlLabel, null, (0, import_i18n20.__)("Position", "elementor"))), /* @__PURE__ */ React40.createElement(import_ui30.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React40.createElement(import_editor_controls24.SelectControl, { options: positionOptions, onChange }))));
|
|
1575
1757
|
};
|
|
1576
1758
|
|
|
1577
1759
|
// src/components/style-sections/position-section/z-index-field.tsx
|
|
1578
|
-
var
|
|
1760
|
+
var React41 = __toESM(require("react"));
|
|
1579
1761
|
var import_editor_controls25 = require("@elementor/editor-controls");
|
|
1580
|
-
var
|
|
1762
|
+
var import_ui31 = require("@elementor/ui");
|
|
1581
1763
|
var import_i18n21 = require("@wordpress/i18n");
|
|
1582
1764
|
var ZIndexField = () => {
|
|
1583
|
-
return /* @__PURE__ */
|
|
1765
|
+
return /* @__PURE__ */ React41.createElement(StylesField, { bind: "z-index" }, /* @__PURE__ */ React41.createElement(import_ui31.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React41.createElement(import_ui31.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(import_editor_controls25.ControlLabel, null, (0, import_i18n21.__)("Z-Index", "elementor"))), /* @__PURE__ */ React41.createElement(import_ui31.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React41.createElement(import_editor_controls25.NumberControl, null))));
|
|
1584
1766
|
};
|
|
1585
1767
|
|
|
1586
1768
|
// src/components/style-sections/position-section/position-section.tsx
|
|
@@ -1612,7 +1794,7 @@ var PositionSection = () => {
|
|
|
1612
1794
|
}
|
|
1613
1795
|
};
|
|
1614
1796
|
const isNotStatic = positionValue && positionValue?.value !== "static";
|
|
1615
|
-
return /* @__PURE__ */
|
|
1797
|
+
return /* @__PURE__ */ React42.createElement(import_ui32.Stack, { gap: 1.5 }, /* @__PURE__ */ React42.createElement(PositionField, { onChange: onPositionChange }), isNotStatic ? /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement(DimensionsField, null), /* @__PURE__ */ React42.createElement(ZIndexField, null)) : null);
|
|
1616
1798
|
};
|
|
1617
1799
|
var usePersistDimensions = () => {
|
|
1618
1800
|
const { id: styleDefID, meta } = useStyle();
|
|
@@ -1622,90 +1804,90 @@ var usePersistDimensions = () => {
|
|
|
1622
1804
|
};
|
|
1623
1805
|
|
|
1624
1806
|
// src/components/style-sections/size-section/size-section.tsx
|
|
1625
|
-
var
|
|
1807
|
+
var React44 = __toESM(require("react"));
|
|
1626
1808
|
var import_editor_controls27 = require("@elementor/editor-controls");
|
|
1627
|
-
var
|
|
1809
|
+
var import_ui34 = require("@elementor/ui");
|
|
1628
1810
|
var import_i18n23 = require("@wordpress/i18n");
|
|
1629
1811
|
|
|
1630
1812
|
// src/components/style-sections/size-section/overflow-field.tsx
|
|
1631
|
-
var
|
|
1813
|
+
var React43 = __toESM(require("react"));
|
|
1632
1814
|
var import_editor_controls26 = require("@elementor/editor-controls");
|
|
1633
1815
|
var import_icons16 = require("@elementor/icons");
|
|
1634
|
-
var
|
|
1816
|
+
var import_ui33 = require("@elementor/ui");
|
|
1635
1817
|
var import_i18n22 = require("@wordpress/i18n");
|
|
1636
1818
|
var options6 = [
|
|
1637
1819
|
{
|
|
1638
1820
|
value: "visible",
|
|
1639
1821
|
label: (0, import_i18n22.__)("Visible", "elementor"),
|
|
1640
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1822
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(import_icons16.EyeIcon, { fontSize: size }),
|
|
1641
1823
|
showTooltip: true
|
|
1642
1824
|
},
|
|
1643
1825
|
{
|
|
1644
1826
|
value: "hidden",
|
|
1645
1827
|
label: (0, import_i18n22.__)("Hidden", "elementor"),
|
|
1646
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1828
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(import_icons16.EyeOffIcon, { fontSize: size }),
|
|
1647
1829
|
showTooltip: true
|
|
1648
1830
|
},
|
|
1649
1831
|
{
|
|
1650
1832
|
value: "auto",
|
|
1651
1833
|
label: (0, import_i18n22.__)("Auto", "elementor"),
|
|
1652
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1834
|
+
renderContent: ({ size }) => /* @__PURE__ */ React43.createElement(import_icons16.ExpandBottomIcon, { fontSize: size }),
|
|
1653
1835
|
showTooltip: true
|
|
1654
1836
|
}
|
|
1655
1837
|
];
|
|
1656
1838
|
var OverflowField = () => {
|
|
1657
|
-
return /* @__PURE__ */
|
|
1839
|
+
return /* @__PURE__ */ React43.createElement(StylesField, { bind: "overflow" }, /* @__PURE__ */ React43.createElement(import_ui33.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React43.createElement(import_ui33.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React43.createElement(import_editor_controls26.ControlLabel, null, (0, import_i18n22.__)("Overflow", "elementor"))), /* @__PURE__ */ React43.createElement(import_ui33.Grid, { item: true, xs: 6, sx: { display: "flex", justifyContent: "flex-end" } }, /* @__PURE__ */ React43.createElement(import_editor_controls26.ToggleControl, { options: options6 }))));
|
|
1658
1840
|
};
|
|
1659
1841
|
|
|
1660
1842
|
// src/components/style-sections/size-section/size-section.tsx
|
|
1661
1843
|
var SizeSection = () => {
|
|
1662
|
-
return /* @__PURE__ */
|
|
1844
|
+
return /* @__PURE__ */ React44.createElement(import_ui34.Stack, { gap: 1.5 }, /* @__PURE__ */ React44.createElement(import_ui34.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "width", label: (0, import_i18n23.__)("Width", "elementor") })), /* @__PURE__ */ React44.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "height", label: (0, import_i18n23.__)("Height", "elementor") }))), /* @__PURE__ */ React44.createElement(import_ui34.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "min-width", label: (0, import_i18n23.__)("Min. Width", "elementor") })), /* @__PURE__ */ React44.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "min-height", label: (0, import_i18n23.__)("Min. Height", "elementor") }))), /* @__PURE__ */ React44.createElement(import_ui34.Grid, { container: true, gap: 2, flexWrap: "nowrap" }, /* @__PURE__ */ React44.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "max-width", label: (0, import_i18n23.__)("Max. Width", "elementor") })), /* @__PURE__ */ React44.createElement(import_ui34.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React44.createElement(SizeField, { bind: "max-height", label: (0, import_i18n23.__)("Max. Height", "elementor") }))), /* @__PURE__ */ React44.createElement(import_ui34.Divider, null), /* @__PURE__ */ React44.createElement(import_ui34.Stack, null, /* @__PURE__ */ React44.createElement(OverflowField, null)));
|
|
1663
1845
|
};
|
|
1664
1846
|
var SizeField = ({ label, bind }) => {
|
|
1665
|
-
return /* @__PURE__ */
|
|
1847
|
+
return /* @__PURE__ */ React44.createElement(StylesField, { bind }, /* @__PURE__ */ React44.createElement(import_ui34.Grid, { container: true, gap: 1, alignItems: "center" }, /* @__PURE__ */ React44.createElement(import_ui34.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React44.createElement(import_editor_controls27.ControlLabel, null, label)), /* @__PURE__ */ React44.createElement(import_ui34.Grid, { item: true, xs: 12 }, /* @__PURE__ */ React44.createElement(import_editor_controls27.SizeControl, null))));
|
|
1666
1848
|
};
|
|
1667
1849
|
|
|
1668
1850
|
// src/components/style-sections/spacing-section/spacing-section.tsx
|
|
1669
|
-
var
|
|
1851
|
+
var React45 = __toESM(require("react"));
|
|
1670
1852
|
var import_editor_controls28 = require("@elementor/editor-controls");
|
|
1671
|
-
var
|
|
1853
|
+
var import_ui35 = require("@elementor/ui");
|
|
1672
1854
|
var import_i18n24 = require("@wordpress/i18n");
|
|
1673
1855
|
var SpacingSection = () => {
|
|
1674
|
-
return /* @__PURE__ */
|
|
1856
|
+
return /* @__PURE__ */ React45.createElement(import_ui35.Stack, { gap: 1.5 }, /* @__PURE__ */ React45.createElement(StylesField, { bind: "padding" }, /* @__PURE__ */ React45.createElement(import_editor_controls28.LinkedDimensionsControl, { label: (0, import_i18n24.__)("Padding", "elementor") })), /* @__PURE__ */ React45.createElement(import_ui35.Divider, null), /* @__PURE__ */ React45.createElement(StylesField, { bind: "margin" }, /* @__PURE__ */ React45.createElement(import_editor_controls28.LinkedDimensionsControl, { label: (0, import_i18n24.__)("Margin", "elementor") })));
|
|
1675
1857
|
};
|
|
1676
1858
|
|
|
1677
1859
|
// src/components/style-sections/typography-section/typography-section.tsx
|
|
1678
|
-
var
|
|
1679
|
-
var
|
|
1860
|
+
var React59 = __toESM(require("react"));
|
|
1861
|
+
var import_ui48 = require("@elementor/ui");
|
|
1680
1862
|
|
|
1681
1863
|
// src/components/collapsible-content.tsx
|
|
1682
|
-
var
|
|
1683
|
-
var
|
|
1684
|
-
var
|
|
1864
|
+
var React46 = __toESM(require("react"));
|
|
1865
|
+
var import_react14 = require("react");
|
|
1866
|
+
var import_ui36 = require("@elementor/ui");
|
|
1685
1867
|
var import_i18n25 = require("@wordpress/i18n");
|
|
1686
1868
|
var CollapsibleContent = ({ children, defaultOpen = false }) => {
|
|
1687
|
-
const [open, setOpen] = (0,
|
|
1869
|
+
const [open, setOpen] = (0, import_react14.useState)(defaultOpen);
|
|
1688
1870
|
const handleToggle = () => {
|
|
1689
1871
|
setOpen((prevOpen) => !prevOpen);
|
|
1690
1872
|
};
|
|
1691
|
-
return /* @__PURE__ */
|
|
1692
|
-
|
|
1873
|
+
return /* @__PURE__ */ React46.createElement(import_ui36.Stack, { sx: { py: 0.5 } }, /* @__PURE__ */ React46.createElement(
|
|
1874
|
+
import_ui36.Button,
|
|
1693
1875
|
{
|
|
1694
1876
|
fullWidth: true,
|
|
1695
1877
|
size: "small",
|
|
1696
1878
|
color: "secondary",
|
|
1697
1879
|
variant: "outlined",
|
|
1698
1880
|
onClick: handleToggle,
|
|
1699
|
-
endIcon: /* @__PURE__ */
|
|
1881
|
+
endIcon: /* @__PURE__ */ React46.createElement(CollapseIcon, { open })
|
|
1700
1882
|
},
|
|
1701
1883
|
open ? (0, import_i18n25.__)("Show less", "elementor") : (0, import_i18n25.__)("Show more", "elementor")
|
|
1702
|
-
), /* @__PURE__ */
|
|
1884
|
+
), /* @__PURE__ */ React46.createElement(import_ui36.Collapse, { in: open, timeout: "auto", unmountOnExit: true }, children));
|
|
1703
1885
|
};
|
|
1704
1886
|
|
|
1705
1887
|
// src/components/style-sections/typography-section/font-family-field.tsx
|
|
1706
|
-
var
|
|
1888
|
+
var React47 = __toESM(require("react"));
|
|
1707
1889
|
var import_editor_controls29 = require("@elementor/editor-controls");
|
|
1708
|
-
var
|
|
1890
|
+
var import_ui37 = require("@elementor/ui");
|
|
1709
1891
|
var import_i18n26 = require("@wordpress/i18n");
|
|
1710
1892
|
|
|
1711
1893
|
// src/sync/get-elementor-config.ts
|
|
@@ -1720,7 +1902,7 @@ var FontFamilyField = () => {
|
|
|
1720
1902
|
if (!fontFamilies) {
|
|
1721
1903
|
return null;
|
|
1722
1904
|
}
|
|
1723
|
-
return /* @__PURE__ */
|
|
1905
|
+
return /* @__PURE__ */ React47.createElement(StylesField, { bind: "font-family" }, /* @__PURE__ */ React47.createElement(import_ui37.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React47.createElement(import_ui37.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(import_editor_controls29.ControlLabel, null, (0, import_i18n26.__)("Font Family", "elementor"))), /* @__PURE__ */ React47.createElement(import_ui37.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React47.createElement(import_editor_controls29.FontFamilyControl, { fontFamilies }))));
|
|
1724
1906
|
};
|
|
1725
1907
|
var getFontFamilies = () => {
|
|
1726
1908
|
const { controls } = getElementorConfig();
|
|
@@ -1732,18 +1914,18 @@ var getFontFamilies = () => {
|
|
|
1732
1914
|
};
|
|
1733
1915
|
|
|
1734
1916
|
// src/components/style-sections/typography-section/font-size-field.tsx
|
|
1735
|
-
var
|
|
1917
|
+
var React48 = __toESM(require("react"));
|
|
1736
1918
|
var import_editor_controls30 = require("@elementor/editor-controls");
|
|
1737
|
-
var
|
|
1919
|
+
var import_ui38 = require("@elementor/ui");
|
|
1738
1920
|
var import_i18n27 = require("@wordpress/i18n");
|
|
1739
1921
|
var FontSizeField = () => {
|
|
1740
|
-
return /* @__PURE__ */
|
|
1922
|
+
return /* @__PURE__ */ React48.createElement(StylesField, { bind: "font-size" }, /* @__PURE__ */ React48.createElement(import_ui38.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React48.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(import_editor_controls30.ControlLabel, null, (0, import_i18n27.__)("Font Size", "elementor"))), /* @__PURE__ */ React48.createElement(import_ui38.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React48.createElement(import_editor_controls30.SizeControl, null))));
|
|
1741
1923
|
};
|
|
1742
1924
|
|
|
1743
1925
|
// src/components/style-sections/typography-section/font-weight-field.tsx
|
|
1744
|
-
var
|
|
1926
|
+
var React49 = __toESM(require("react"));
|
|
1745
1927
|
var import_editor_controls31 = require("@elementor/editor-controls");
|
|
1746
|
-
var
|
|
1928
|
+
var import_ui39 = require("@elementor/ui");
|
|
1747
1929
|
var import_i18n28 = require("@wordpress/i18n");
|
|
1748
1930
|
var fontWeightOptions = [
|
|
1749
1931
|
{ label: (0, import_i18n28.__)("Light - 400", "elementor"), value: "400" },
|
|
@@ -1753,92 +1935,92 @@ var fontWeightOptions = [
|
|
|
1753
1935
|
{ label: (0, import_i18n28.__)("Black - 900", "elementor"), value: "900" }
|
|
1754
1936
|
];
|
|
1755
1937
|
var FontWeightField = () => {
|
|
1756
|
-
return /* @__PURE__ */
|
|
1938
|
+
return /* @__PURE__ */ React49.createElement(StylesField, { bind: "font-weight" }, /* @__PURE__ */ React49.createElement(import_ui39.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React49.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(import_editor_controls31.ControlLabel, null, (0, import_i18n28.__)("Font Weight", "elementor"))), /* @__PURE__ */ React49.createElement(import_ui39.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React49.createElement(import_editor_controls31.SelectControl, { options: fontWeightOptions }))));
|
|
1757
1939
|
};
|
|
1758
1940
|
|
|
1759
1941
|
// src/components/style-sections/typography-section/letter-spacing-field.tsx
|
|
1760
|
-
var
|
|
1942
|
+
var React50 = __toESM(require("react"));
|
|
1761
1943
|
var import_editor_controls32 = require("@elementor/editor-controls");
|
|
1762
|
-
var
|
|
1944
|
+
var import_ui40 = require("@elementor/ui");
|
|
1763
1945
|
var import_i18n29 = require("@wordpress/i18n");
|
|
1764
1946
|
var LetterSpacingField = () => {
|
|
1765
|
-
return /* @__PURE__ */
|
|
1947
|
+
return /* @__PURE__ */ React50.createElement(StylesField, { bind: "letter-spacing" }, /* @__PURE__ */ React50.createElement(import_ui40.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React50.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(import_editor_controls32.ControlLabel, null, (0, import_i18n29.__)("Letter Spacing", "elementor"))), /* @__PURE__ */ React50.createElement(import_ui40.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React50.createElement(import_editor_controls32.SizeControl, null))));
|
|
1766
1948
|
};
|
|
1767
1949
|
|
|
1768
1950
|
// src/components/style-sections/typography-section/line-height-field.tsx
|
|
1769
|
-
var
|
|
1951
|
+
var React51 = __toESM(require("react"));
|
|
1770
1952
|
var import_editor_controls33 = require("@elementor/editor-controls");
|
|
1771
|
-
var
|
|
1953
|
+
var import_ui41 = require("@elementor/ui");
|
|
1772
1954
|
var import_i18n30 = require("@wordpress/i18n");
|
|
1773
1955
|
var LineHeightField = () => {
|
|
1774
|
-
return /* @__PURE__ */
|
|
1956
|
+
return /* @__PURE__ */ React51.createElement(StylesField, { bind: "line-height" }, /* @__PURE__ */ React51.createElement(import_ui41.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React51.createElement(import_ui41.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(import_editor_controls33.ControlLabel, null, (0, import_i18n30.__)("Line Height", "elementor"))), /* @__PURE__ */ React51.createElement(import_ui41.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React51.createElement(import_editor_controls33.SizeControl, null))));
|
|
1775
1957
|
};
|
|
1776
1958
|
|
|
1777
1959
|
// src/components/style-sections/typography-section/text-alignment-field.tsx
|
|
1778
|
-
var
|
|
1960
|
+
var React52 = __toESM(require("react"));
|
|
1779
1961
|
var import_editor_controls34 = require("@elementor/editor-controls");
|
|
1780
1962
|
var import_icons17 = require("@elementor/icons");
|
|
1781
|
-
var
|
|
1963
|
+
var import_ui42 = require("@elementor/ui");
|
|
1782
1964
|
var import_i18n31 = require("@wordpress/i18n");
|
|
1783
1965
|
var options7 = [
|
|
1784
1966
|
{
|
|
1785
1967
|
value: "left",
|
|
1786
1968
|
label: (0, import_i18n31.__)("Left", "elementor"),
|
|
1787
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1969
|
+
renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(import_icons17.AlignLeftIcon, { fontSize: size })
|
|
1788
1970
|
},
|
|
1789
1971
|
{
|
|
1790
1972
|
value: "center",
|
|
1791
1973
|
label: (0, import_i18n31.__)("Center", "elementor"),
|
|
1792
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1974
|
+
renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(import_icons17.AlignCenterIcon, { fontSize: size })
|
|
1793
1975
|
},
|
|
1794
1976
|
{
|
|
1795
1977
|
value: "right",
|
|
1796
1978
|
label: (0, import_i18n31.__)("Right", "elementor"),
|
|
1797
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1979
|
+
renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(import_icons17.AlignRightIcon, { fontSize: size })
|
|
1798
1980
|
},
|
|
1799
1981
|
{
|
|
1800
1982
|
value: "justify",
|
|
1801
1983
|
label: (0, import_i18n31.__)("Justify", "elementor"),
|
|
1802
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
1984
|
+
renderContent: ({ size }) => /* @__PURE__ */ React52.createElement(import_icons17.AlignJustifiedIcon, { fontSize: size })
|
|
1803
1985
|
}
|
|
1804
1986
|
];
|
|
1805
1987
|
var TextAlignmentField = () => {
|
|
1806
|
-
return /* @__PURE__ */
|
|
1988
|
+
return /* @__PURE__ */ React52.createElement(StylesField, { bind: "text-align" }, /* @__PURE__ */ React52.createElement(import_ui42.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React52.createElement(import_ui42.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React52.createElement(import_editor_controls34.ControlLabel, null, (0, import_i18n31.__)("Alignment", "elementor"))), /* @__PURE__ */ React52.createElement(import_ui42.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React52.createElement(import_editor_controls34.ToggleControl, { options: options7 }))));
|
|
1807
1989
|
};
|
|
1808
1990
|
|
|
1809
1991
|
// src/components/style-sections/typography-section/text-color-field.tsx
|
|
1810
|
-
var
|
|
1992
|
+
var React53 = __toESM(require("react"));
|
|
1811
1993
|
var import_editor_controls35 = require("@elementor/editor-controls");
|
|
1812
|
-
var
|
|
1994
|
+
var import_ui43 = require("@elementor/ui");
|
|
1813
1995
|
var import_i18n32 = require("@wordpress/i18n");
|
|
1814
1996
|
var TextColorField = () => {
|
|
1815
|
-
return /* @__PURE__ */
|
|
1997
|
+
return /* @__PURE__ */ React53.createElement(StylesField, { bind: "color" }, /* @__PURE__ */ React53.createElement(import_ui43.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React53.createElement(import_ui43.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(import_editor_controls35.ControlLabel, null, (0, import_i18n32.__)("Text Color", "elementor"))), /* @__PURE__ */ React53.createElement(import_ui43.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React53.createElement(import_editor_controls35.ColorControl, null))));
|
|
1816
1998
|
};
|
|
1817
1999
|
|
|
1818
2000
|
// src/components/style-sections/typography-section/text-direction-field.tsx
|
|
1819
|
-
var
|
|
2001
|
+
var React54 = __toESM(require("react"));
|
|
1820
2002
|
var import_editor_controls36 = require("@elementor/editor-controls");
|
|
1821
2003
|
var import_icons18 = require("@elementor/icons");
|
|
1822
|
-
var
|
|
2004
|
+
var import_ui44 = require("@elementor/ui");
|
|
1823
2005
|
var import_i18n33 = require("@wordpress/i18n");
|
|
1824
2006
|
var options8 = [
|
|
1825
2007
|
{
|
|
1826
2008
|
value: "ltr",
|
|
1827
2009
|
label: (0, import_i18n33.__)("Left to Right", "elementor"),
|
|
1828
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2010
|
+
renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(import_icons18.TextDirectionLtrIcon, { fontSize: size })
|
|
1829
2011
|
},
|
|
1830
2012
|
{
|
|
1831
2013
|
value: "rtl",
|
|
1832
2014
|
label: (0, import_i18n33.__)("Right to Left", "elementor"),
|
|
1833
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2015
|
+
renderContent: ({ size }) => /* @__PURE__ */ React54.createElement(import_icons18.TextDirectionRtlIcon, { fontSize: size })
|
|
1834
2016
|
}
|
|
1835
2017
|
];
|
|
1836
2018
|
var TextDirectionField = () => {
|
|
1837
|
-
return /* @__PURE__ */
|
|
2019
|
+
return /* @__PURE__ */ React54.createElement(StylesField, { bind: "direction" }, /* @__PURE__ */ React54.createElement(import_ui44.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React54.createElement(import_ui44.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React54.createElement(import_editor_controls36.ControlLabel, null, (0, import_i18n33.__)("Direction", "elementor"))), /* @__PURE__ */ React54.createElement(import_ui44.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React54.createElement(import_editor_controls36.ToggleControl, { options: options8 }))));
|
|
1838
2020
|
};
|
|
1839
2021
|
|
|
1840
2022
|
// src/components/style-sections/typography-section/text-stroke-field.tsx
|
|
1841
|
-
var
|
|
2023
|
+
var React55 = __toESM(require("react"));
|
|
1842
2024
|
var import_editor_controls37 = require("@elementor/editor-controls");
|
|
1843
2025
|
var import_i18n34 = require("@wordpress/i18n");
|
|
1844
2026
|
var initTextStroke = {
|
|
@@ -1866,7 +2048,7 @@ var TextStrokeField = () => {
|
|
|
1866
2048
|
setTextStroke(null);
|
|
1867
2049
|
};
|
|
1868
2050
|
const hasTextStroke = Boolean(textStroke);
|
|
1869
|
-
return /* @__PURE__ */
|
|
2051
|
+
return /* @__PURE__ */ React55.createElement(
|
|
1870
2052
|
AddOrRemoveContent,
|
|
1871
2053
|
{
|
|
1872
2054
|
label: (0, import_i18n34.__)("Text Stroke", "elementor"),
|
|
@@ -1874,15 +2056,15 @@ var TextStrokeField = () => {
|
|
|
1874
2056
|
onAdd: addTextStroke,
|
|
1875
2057
|
onRemove: removeTextStroke
|
|
1876
2058
|
},
|
|
1877
|
-
/* @__PURE__ */
|
|
2059
|
+
/* @__PURE__ */ React55.createElement(StylesField, { bind: "-webkit-text-stroke" }, /* @__PURE__ */ React55.createElement(import_editor_controls37.StrokeControl, null))
|
|
1878
2060
|
);
|
|
1879
2061
|
};
|
|
1880
2062
|
|
|
1881
2063
|
// src/components/style-sections/typography-section/text-style-field.tsx
|
|
1882
|
-
var
|
|
2064
|
+
var React56 = __toESM(require("react"));
|
|
1883
2065
|
var import_editor_controls38 = require("@elementor/editor-controls");
|
|
1884
2066
|
var import_icons19 = require("@elementor/icons");
|
|
1885
|
-
var
|
|
2067
|
+
var import_ui45 = require("@elementor/ui");
|
|
1886
2068
|
var import_i18n35 = require("@wordpress/i18n");
|
|
1887
2069
|
var buttonSize = "tiny";
|
|
1888
2070
|
var TextStyleField = () => {
|
|
@@ -1907,7 +2089,7 @@ var TextStyleField = () => {
|
|
|
1907
2089
|
value: newValue
|
|
1908
2090
|
});
|
|
1909
2091
|
};
|
|
1910
|
-
return /* @__PURE__ */
|
|
2092
|
+
return /* @__PURE__ */ React56.createElement(import_ui45.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React56.createElement(import_ui45.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React56.createElement(import_editor_controls38.ControlLabel, null, (0, import_i18n35.__)("Style", "elementor"))), /* @__PURE__ */ React56.createElement(import_ui45.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React56.createElement(import_ui45.ToggleButtonGroup, { value: formats }, /* @__PURE__ */ React56.createElement(
|
|
1911
2093
|
ToggleButton,
|
|
1912
2094
|
{
|
|
1913
2095
|
value: "italic",
|
|
@@ -1915,8 +2097,8 @@ var TextStyleField = () => {
|
|
|
1915
2097
|
"aria-label": "italic",
|
|
1916
2098
|
sx: { marginLeft: "auto" }
|
|
1917
2099
|
},
|
|
1918
|
-
/* @__PURE__ */
|
|
1919
|
-
), /* @__PURE__ */
|
|
2100
|
+
/* @__PURE__ */ React56.createElement(import_icons19.ItalicIcon, { fontSize: buttonSize })
|
|
2101
|
+
), /* @__PURE__ */ React56.createElement(
|
|
1920
2102
|
ShorthandControl,
|
|
1921
2103
|
{
|
|
1922
2104
|
value: "line-through",
|
|
@@ -1924,8 +2106,8 @@ var TextStyleField = () => {
|
|
|
1924
2106
|
updateValues: handleSetTextDecoration,
|
|
1925
2107
|
"aria-label": "line-through"
|
|
1926
2108
|
},
|
|
1927
|
-
/* @__PURE__ */
|
|
1928
|
-
), /* @__PURE__ */
|
|
2109
|
+
/* @__PURE__ */ React56.createElement(import_icons19.StrikethroughIcon, { fontSize: buttonSize })
|
|
2110
|
+
), /* @__PURE__ */ React56.createElement(
|
|
1929
2111
|
ShorthandControl,
|
|
1930
2112
|
{
|
|
1931
2113
|
value: "underline",
|
|
@@ -1933,7 +2115,7 @@ var TextStyleField = () => {
|
|
|
1933
2115
|
updateValues: handleSetTextDecoration,
|
|
1934
2116
|
"aria-label": "underline"
|
|
1935
2117
|
},
|
|
1936
|
-
/* @__PURE__ */
|
|
2118
|
+
/* @__PURE__ */ React56.createElement(import_icons19.UnderlineIcon, { fontSize: buttonSize })
|
|
1937
2119
|
))));
|
|
1938
2120
|
};
|
|
1939
2121
|
var ShorthandControl = ({
|
|
@@ -1952,52 +2134,52 @@ var ShorthandControl = ({
|
|
|
1952
2134
|
updateValues([...valuesArr, newValue].join(" "));
|
|
1953
2135
|
}
|
|
1954
2136
|
};
|
|
1955
|
-
return /* @__PURE__ */
|
|
2137
|
+
return /* @__PURE__ */ React56.createElement(ToggleButton, { value, onChange: toggleValue, selected, "aria-label": ariaLabel }, children);
|
|
1956
2138
|
};
|
|
1957
2139
|
var ToggleButton = ({ onChange, ...props }) => {
|
|
1958
2140
|
const handleChange = (_e, newValue) => {
|
|
1959
2141
|
onChange(newValue);
|
|
1960
2142
|
};
|
|
1961
|
-
return /* @__PURE__ */
|
|
2143
|
+
return /* @__PURE__ */ React56.createElement(import_ui45.ToggleButton, { ...props, onChange: handleChange, size: buttonSize });
|
|
1962
2144
|
};
|
|
1963
2145
|
|
|
1964
2146
|
// src/components/style-sections/typography-section/transform-field.tsx
|
|
1965
|
-
var
|
|
2147
|
+
var React57 = __toESM(require("react"));
|
|
1966
2148
|
var import_editor_controls39 = require("@elementor/editor-controls");
|
|
1967
2149
|
var import_icons20 = require("@elementor/icons");
|
|
1968
|
-
var
|
|
2150
|
+
var import_ui46 = require("@elementor/ui");
|
|
1969
2151
|
var import_i18n36 = require("@wordpress/i18n");
|
|
1970
2152
|
var options9 = [
|
|
1971
2153
|
{
|
|
1972
2154
|
value: "capitalize",
|
|
1973
2155
|
label: (0, import_i18n36.__)("Capitalize", "elementor"),
|
|
1974
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2156
|
+
renderContent: ({ size }) => /* @__PURE__ */ React57.createElement(import_icons20.LetterCaseIcon, { fontSize: size })
|
|
1975
2157
|
},
|
|
1976
2158
|
{
|
|
1977
2159
|
value: "uppercase",
|
|
1978
2160
|
label: (0, import_i18n36.__)("Uppercase", "elementor"),
|
|
1979
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2161
|
+
renderContent: ({ size }) => /* @__PURE__ */ React57.createElement(import_icons20.LetterCaseUpperIcon, { fontSize: size })
|
|
1980
2162
|
},
|
|
1981
2163
|
{
|
|
1982
2164
|
value: "lowercase",
|
|
1983
2165
|
label: (0, import_i18n36.__)("Lowercase", "elementor"),
|
|
1984
|
-
renderContent: ({ size }) => /* @__PURE__ */
|
|
2166
|
+
renderContent: ({ size }) => /* @__PURE__ */ React57.createElement(import_icons20.LetterCaseLowerIcon, { fontSize: size })
|
|
1985
2167
|
}
|
|
1986
2168
|
];
|
|
1987
|
-
var TransformField = () => /* @__PURE__ */
|
|
2169
|
+
var TransformField = () => /* @__PURE__ */ React57.createElement(StylesField, { bind: "text-transform" }, /* @__PURE__ */ React57.createElement(import_ui46.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React57.createElement(import_ui46.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React57.createElement(import_editor_controls39.ControlLabel, null, (0, import_i18n36.__)("Transform", "elementor"))), /* @__PURE__ */ React57.createElement(import_ui46.Grid, { item: true, xs: 6, display: "flex", justifyContent: "end" }, /* @__PURE__ */ React57.createElement(import_editor_controls39.ToggleControl, { options: options9 }))));
|
|
1988
2170
|
|
|
1989
2171
|
// src/components/style-sections/typography-section/word-spacing-field.tsx
|
|
1990
|
-
var
|
|
2172
|
+
var React58 = __toESM(require("react"));
|
|
1991
2173
|
var import_editor_controls40 = require("@elementor/editor-controls");
|
|
1992
|
-
var
|
|
2174
|
+
var import_ui47 = require("@elementor/ui");
|
|
1993
2175
|
var import_i18n37 = require("@wordpress/i18n");
|
|
1994
2176
|
var WordSpacingField = () => {
|
|
1995
|
-
return /* @__PURE__ */
|
|
2177
|
+
return /* @__PURE__ */ React58.createElement(StylesField, { bind: "word-spacing" }, /* @__PURE__ */ React58.createElement(import_ui47.Grid, { container: true, gap: 2, alignItems: "center", flexWrap: "nowrap" }, /* @__PURE__ */ React58.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React58.createElement(import_editor_controls40.ControlLabel, null, (0, import_i18n37.__)("Word Spacing", "elementor"))), /* @__PURE__ */ React58.createElement(import_ui47.Grid, { item: true, xs: 6 }, /* @__PURE__ */ React58.createElement(import_editor_controls40.SizeControl, null))));
|
|
1996
2178
|
};
|
|
1997
2179
|
|
|
1998
2180
|
// src/components/style-sections/typography-section/typography-section.tsx
|
|
1999
2181
|
var TypographySection = () => {
|
|
2000
|
-
return /* @__PURE__ */
|
|
2182
|
+
return /* @__PURE__ */ React59.createElement(import_ui48.Stack, { gap: 1.5 }, /* @__PURE__ */ React59.createElement(FontFamilyField, null), /* @__PURE__ */ React59.createElement(FontWeightField, null), /* @__PURE__ */ React59.createElement(FontSizeField, null), /* @__PURE__ */ React59.createElement(import_ui48.Divider, null), /* @__PURE__ */ React59.createElement(TextAlignmentField, null), /* @__PURE__ */ React59.createElement(TextColorField, null), /* @__PURE__ */ React59.createElement(CollapsibleContent, null, /* @__PURE__ */ React59.createElement(import_ui48.Stack, { gap: 1.5, sx: { pt: 1.5 } }, /* @__PURE__ */ React59.createElement(LineHeightField, null), /* @__PURE__ */ React59.createElement(LetterSpacingField, null), /* @__PURE__ */ React59.createElement(WordSpacingField, null), /* @__PURE__ */ React59.createElement(import_ui48.Divider, null), /* @__PURE__ */ React59.createElement(TextStyleField, null), /* @__PURE__ */ React59.createElement(TransformField, null), /* @__PURE__ */ React59.createElement(TextDirectionField, null), /* @__PURE__ */ React59.createElement(TextStrokeField, null))));
|
|
2001
2183
|
};
|
|
2002
2184
|
|
|
2003
2185
|
// src/components/style-tab.tsx
|
|
@@ -2005,9 +2187,9 @@ var CLASSES_PROP_KEY = "classes";
|
|
|
2005
2187
|
var StyleTab = () => {
|
|
2006
2188
|
const currentClassesProp = useCurrentClassesProp();
|
|
2007
2189
|
const [activeStyleDefId, setActiveStyleDefId] = useActiveStyleDefId(currentClassesProp);
|
|
2008
|
-
const [activeStyleState, setActiveStyleState] = (0,
|
|
2190
|
+
const [activeStyleState, setActiveStyleState] = (0, import_react15.useState)(null);
|
|
2009
2191
|
const breakpoint = (0, import_editor_responsive.useActiveBreakpoint)();
|
|
2010
|
-
return /* @__PURE__ */
|
|
2192
|
+
return /* @__PURE__ */ React60.createElement(ClassesPropProvider, { prop: currentClassesProp }, /* @__PURE__ */ React60.createElement(
|
|
2011
2193
|
StyleProvider,
|
|
2012
2194
|
{
|
|
2013
2195
|
meta: { breakpoint, state: activeStyleState },
|
|
@@ -2018,13 +2200,11 @@ var StyleTab = () => {
|
|
|
2018
2200
|
},
|
|
2019
2201
|
setMetaState: setActiveStyleState
|
|
2020
2202
|
},
|
|
2021
|
-
/* @__PURE__ */
|
|
2022
|
-
/* @__PURE__ */ React59.createElement(import_ui48.Divider, null),
|
|
2023
|
-
/* @__PURE__ */ React59.createElement(SectionsList, null, /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Layout", "elementor") }, /* @__PURE__ */ React59.createElement(LayoutSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Spacing", "elementor") }, /* @__PURE__ */ React59.createElement(SpacingSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Size", "elementor") }, /* @__PURE__ */ React59.createElement(SizeSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Position", "elementor") }, /* @__PURE__ */ React59.createElement(PositionSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Typography", "elementor") }, /* @__PURE__ */ React59.createElement(TypographySection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Background", "elementor") }, /* @__PURE__ */ React59.createElement(BackgroundSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Border", "elementor") }, /* @__PURE__ */ React59.createElement(BorderSection, null)), /* @__PURE__ */ React59.createElement(Section, { title: (0, import_i18n38.__)("Effects", "elementor") }, /* @__PURE__ */ React59.createElement(EffectsSection, null)))
|
|
2203
|
+
/* @__PURE__ */ React60.createElement(import_session2.SessionStorageProvider, { prefix: activeStyleDefId ?? "" }, /* @__PURE__ */ React60.createElement(CssClassSelector, null), /* @__PURE__ */ React60.createElement(import_ui49.Divider, null), /* @__PURE__ */ React60.createElement(SectionsList, null, /* @__PURE__ */ React60.createElement(Section, { title: (0, import_i18n38.__)("Layout", "elementor") }, /* @__PURE__ */ React60.createElement(LayoutSection, null)), /* @__PURE__ */ React60.createElement(Section, { title: (0, import_i18n38.__)("Spacing", "elementor") }, /* @__PURE__ */ React60.createElement(SpacingSection, null)), /* @__PURE__ */ React60.createElement(Section, { title: (0, import_i18n38.__)("Size", "elementor") }, /* @__PURE__ */ React60.createElement(SizeSection, null)), /* @__PURE__ */ React60.createElement(Section, { title: (0, import_i18n38.__)("Position", "elementor") }, /* @__PURE__ */ React60.createElement(PositionSection, null)), /* @__PURE__ */ React60.createElement(Section, { title: (0, import_i18n38.__)("Typography", "elementor") }, /* @__PURE__ */ React60.createElement(TypographySection, null)), /* @__PURE__ */ React60.createElement(Section, { title: (0, import_i18n38.__)("Background", "elementor") }, /* @__PURE__ */ React60.createElement(BackgroundSection, null)), /* @__PURE__ */ React60.createElement(Section, { title: (0, import_i18n38.__)("Border", "elementor") }, /* @__PURE__ */ React60.createElement(BorderSection, null)), /* @__PURE__ */ React60.createElement(Section, { title: (0, import_i18n38.__)("Effects", "elementor") }, /* @__PURE__ */ React60.createElement(EffectsSection, null))))
|
|
2024
2204
|
));
|
|
2025
2205
|
};
|
|
2026
2206
|
function useActiveStyleDefId(currentClassesProp) {
|
|
2027
|
-
const [activeStyledDefId, setActiveStyledDefId] = (0,
|
|
2207
|
+
const [activeStyledDefId, setActiveStyledDefId] = (0, import_react15.useState)(null);
|
|
2028
2208
|
const fallback = useFirstElementStyleDef(currentClassesProp);
|
|
2029
2209
|
return [activeStyledDefId || fallback?.id || null, setActiveStyledDefId];
|
|
2030
2210
|
}
|
|
@@ -2048,11 +2228,11 @@ function useCurrentClassesProp() {
|
|
|
2048
2228
|
// src/components/editing-panel-tabs.tsx
|
|
2049
2229
|
var EditingPanelTabs = () => {
|
|
2050
2230
|
const { element } = useElement();
|
|
2051
|
-
const { getTabProps, getTabPanelProps, getTabsProps } = (0,
|
|
2231
|
+
const { getTabProps, getTabPanelProps, getTabsProps } = (0, import_ui50.useTabs)("settings");
|
|
2052
2232
|
return (
|
|
2053
2233
|
// When switching between elements, the local states should be reset. We are using key to rerender the tabs.
|
|
2054
2234
|
// Reference: https://react.dev/learn/preserving-and-resetting-state#resetting-a-form-with-a-key
|
|
2055
|
-
/* @__PURE__ */
|
|
2235
|
+
/* @__PURE__ */ React61.createElement(import_react16.Fragment, { key: element.id }, /* @__PURE__ */ React61.createElement(import_ui50.Stack, { direction: "column", sx: { width: "100%" } }, /* @__PURE__ */ React61.createElement(import_ui50.Tabs, { variant: "fullWidth", indicatorColor: "secondary", textColor: "inherit", ...getTabsProps() }, /* @__PURE__ */ React61.createElement(import_ui50.Tab, { label: (0, import_i18n39.__)("General", "elementor"), ...getTabProps("settings") }), /* @__PURE__ */ React61.createElement(import_ui50.Tab, { label: (0, import_i18n39.__)("Style", "elementor"), ...getTabProps("style") })), /* @__PURE__ */ React61.createElement(import_ui50.Divider, null), /* @__PURE__ */ React61.createElement(import_ui50.TabPanel, { ...getTabPanelProps("settings"), disablePadding: true }, /* @__PURE__ */ React61.createElement(SettingsTab, null)), /* @__PURE__ */ React61.createElement(import_ui50.TabPanel, { ...getTabPanelProps("style"), disablePadding: true }, /* @__PURE__ */ React61.createElement(StyleTab, null))))
|
|
2056
2236
|
);
|
|
2057
2237
|
};
|
|
2058
2238
|
|
|
@@ -2066,7 +2246,7 @@ var EditingPanel = () => {
|
|
|
2066
2246
|
return null;
|
|
2067
2247
|
}
|
|
2068
2248
|
const panelTitle = (0, import_i18n40.__)("Edit %s", "elementor").replace("%s", elementType.title);
|
|
2069
|
-
return /* @__PURE__ */
|
|
2249
|
+
return /* @__PURE__ */ React62.createElement(import_ui51.ErrorBoundary, { fallback: /* @__PURE__ */ React62.createElement(EditorPanelErrorFallback, null) }, /* @__PURE__ */ React62.createElement(import_session3.SessionStorageProvider, { prefix: "elementor" }, /* @__PURE__ */ React62.createElement(import_editor_panels.Panel, null, /* @__PURE__ */ React62.createElement(import_editor_panels.PanelHeader, null, /* @__PURE__ */ React62.createElement(import_editor_panels.PanelHeaderTitle, null, panelTitle)), /* @__PURE__ */ React62.createElement(import_editor_panels.PanelBody, null, /* @__PURE__ */ React62.createElement(import_editor_controls41.ControlActionsProvider, { items: menuItems }, /* @__PURE__ */ React62.createElement(import_editor_controls41.ControlReplacementProvider, { ...controlReplacement }, /* @__PURE__ */ React62.createElement(ElementProvider, { element, elementType }, /* @__PURE__ */ React62.createElement(EditingPanelTabs, null))))))));
|
|
2070
2250
|
};
|
|
2071
2251
|
|
|
2072
2252
|
// src/panel.ts
|
|
@@ -2089,7 +2269,7 @@ var isAtomicWidgetSelected = () => {
|
|
|
2089
2269
|
// src/hooks/use-close-editor-panel.ts
|
|
2090
2270
|
var useCloseEditorPanel = () => {
|
|
2091
2271
|
const { close } = usePanelActions();
|
|
2092
|
-
return (0,
|
|
2272
|
+
return (0, import_react17.useEffect)(() => {
|
|
2093
2273
|
return (0, import_editor_v1_adapters2.__privateListenTo)((0, import_editor_v1_adapters2.commandStartEvent)("document/elements/delete"), (e) => {
|
|
2094
2274
|
const selectedElement = (0, import_editor_elements8.getSelectedElements)()[0];
|
|
2095
2275
|
const { container: deletedContainer } = e?.args;
|
|
@@ -2102,11 +2282,11 @@ var useCloseEditorPanel = () => {
|
|
|
2102
2282
|
};
|
|
2103
2283
|
|
|
2104
2284
|
// src/hooks/use-open-editor-panel.ts
|
|
2105
|
-
var
|
|
2285
|
+
var import_react18 = require("react");
|
|
2106
2286
|
var import_editor_v1_adapters3 = require("@elementor/editor-v1-adapters");
|
|
2107
2287
|
var useOpenEditorPanel = () => {
|
|
2108
2288
|
const { open } = usePanelActions();
|
|
2109
|
-
(0,
|
|
2289
|
+
(0, import_react18.useEffect)(() => {
|
|
2110
2290
|
return (0, import_editor_v1_adapters3.__privateListenTo)((0, import_editor_v1_adapters3.commandStartEvent)("panel/editor/open"), () => {
|
|
2111
2291
|
if (isAtomicWidgetSelected()) {
|
|
2112
2292
|
open();
|
|
@@ -2122,6 +2302,26 @@ var EditingPanelHooks = () => {
|
|
|
2122
2302
|
return null;
|
|
2123
2303
|
};
|
|
2124
2304
|
|
|
2305
|
+
// src/hooks/use-unapply-class.ts
|
|
2306
|
+
var import_editor_elements9 = require("@elementor/editor-elements");
|
|
2307
|
+
var useUnapplyClass = (classId) => {
|
|
2308
|
+
const { element } = useElement();
|
|
2309
|
+
const classesProp = useClassesProp();
|
|
2310
|
+
const classes = (0, import_editor_elements9.useElementSetting)(element.id, classesProp);
|
|
2311
|
+
const filteredClasses = classes?.value.filter((className) => className !== classId);
|
|
2312
|
+
return () => {
|
|
2313
|
+
(0, import_editor_elements9.updateSettings)({
|
|
2314
|
+
id: element.id,
|
|
2315
|
+
props: {
|
|
2316
|
+
[classesProp]: {
|
|
2317
|
+
$$type: "classes",
|
|
2318
|
+
value: filteredClasses
|
|
2319
|
+
}
|
|
2320
|
+
}
|
|
2321
|
+
});
|
|
2322
|
+
};
|
|
2323
|
+
};
|
|
2324
|
+
|
|
2125
2325
|
// src/css-classes.ts
|
|
2126
2326
|
var STATES = ["hover", "focus", "active"];
|
|
2127
2327
|
function initCssClasses() {
|
|
@@ -2145,14 +2345,25 @@ function registerStateItems() {
|
|
|
2145
2345
|
});
|
|
2146
2346
|
}
|
|
2147
2347
|
function registerGlobalClassItems() {
|
|
2348
|
+
registerGlobalClassMenuItem({
|
|
2349
|
+
id: "unapply-class",
|
|
2350
|
+
useProps: () => {
|
|
2351
|
+
const { styleId: currentClass } = useCssClassItem();
|
|
2352
|
+
const unapplyClass = useUnapplyClass(currentClass);
|
|
2353
|
+
return {
|
|
2354
|
+
text: "Remove",
|
|
2355
|
+
onClick: unapplyClass
|
|
2356
|
+
};
|
|
2357
|
+
}
|
|
2358
|
+
});
|
|
2148
2359
|
}
|
|
2149
2360
|
|
|
2150
2361
|
// src/dynamics/components/dynamic-selection-control.tsx
|
|
2151
|
-
var
|
|
2152
|
-
var
|
|
2362
|
+
var React65 = __toESM(require("react"));
|
|
2363
|
+
var import_react22 = require("react");
|
|
2153
2364
|
var import_editor_controls45 = require("@elementor/editor-controls");
|
|
2154
2365
|
var import_icons22 = require("@elementor/icons");
|
|
2155
|
-
var
|
|
2366
|
+
var import_ui53 = require("@elementor/ui");
|
|
2156
2367
|
var import_i18n42 = require("@wordpress/i18n");
|
|
2157
2368
|
|
|
2158
2369
|
// src/hooks/use-persist-dynamic-value.ts
|
|
@@ -2163,14 +2374,14 @@ var usePersistDynamicValue = (propKey) => {
|
|
|
2163
2374
|
};
|
|
2164
2375
|
|
|
2165
2376
|
// src/dynamics/dynamic-control.tsx
|
|
2166
|
-
var
|
|
2377
|
+
var React63 = __toESM(require("react"));
|
|
2167
2378
|
var import_editor_controls43 = require("@elementor/editor-controls");
|
|
2168
2379
|
|
|
2169
2380
|
// src/dynamics/hooks/use-dynamic-tag.ts
|
|
2170
|
-
var
|
|
2381
|
+
var import_react20 = require("react");
|
|
2171
2382
|
|
|
2172
2383
|
// src/dynamics/hooks/use-prop-dynamic-tags.ts
|
|
2173
|
-
var
|
|
2384
|
+
var import_react19 = require("react");
|
|
2174
2385
|
var import_editor_controls42 = require("@elementor/editor-controls");
|
|
2175
2386
|
|
|
2176
2387
|
// src/dynamics/sync/get-elementor-config.ts
|
|
@@ -2222,7 +2433,7 @@ var usePropDynamicTags = () => {
|
|
|
2222
2433
|
const propDynamicType = getDynamicPropType(propType);
|
|
2223
2434
|
categories = propDynamicType?.settings.categories || [];
|
|
2224
2435
|
}
|
|
2225
|
-
return (0,
|
|
2436
|
+
return (0, import_react19.useMemo)(() => getDynamicTagsByCategories(categories), [categories.join()]);
|
|
2226
2437
|
};
|
|
2227
2438
|
var getDynamicTagsByCategories = (categories) => {
|
|
2228
2439
|
const dynamicTags = getAtomicDynamicTags();
|
|
@@ -2238,7 +2449,7 @@ var getDynamicTagsByCategories = (categories) => {
|
|
|
2238
2449
|
// src/dynamics/hooks/use-dynamic-tag.ts
|
|
2239
2450
|
var useDynamicTag = (tagName) => {
|
|
2240
2451
|
const dynamicTags = usePropDynamicTags();
|
|
2241
|
-
return (0,
|
|
2452
|
+
return (0, import_react20.useMemo)(() => dynamicTags.find((tag) => tag.name === tagName) ?? null, [dynamicTags, tagName]);
|
|
2242
2453
|
};
|
|
2243
2454
|
|
|
2244
2455
|
// src/dynamics/dynamic-control.tsx
|
|
@@ -2262,19 +2473,19 @@ var DynamicControl = ({ bind, children }) => {
|
|
|
2262
2473
|
});
|
|
2263
2474
|
};
|
|
2264
2475
|
const propType = createTopLevelOjectType({ schema: dynamicTag.props_schema });
|
|
2265
|
-
return /* @__PURE__ */
|
|
2476
|
+
return /* @__PURE__ */ React63.createElement(import_editor_controls43.PropProvider, { propType, setValue: setDynamicValue, value: { [bind]: dynamicValue } }, /* @__PURE__ */ React63.createElement(import_editor_controls43.PropKeyProvider, { bind }, children));
|
|
2266
2477
|
};
|
|
2267
2478
|
|
|
2268
2479
|
// src/dynamics/components/dynamic-selection.tsx
|
|
2269
|
-
var
|
|
2270
|
-
var
|
|
2480
|
+
var React64 = __toESM(require("react"));
|
|
2481
|
+
var import_react21 = require("react");
|
|
2271
2482
|
var import_editor_controls44 = require("@elementor/editor-controls");
|
|
2272
2483
|
var import_icons21 = require("@elementor/icons");
|
|
2273
|
-
var
|
|
2484
|
+
var import_ui52 = require("@elementor/ui");
|
|
2274
2485
|
var import_i18n41 = require("@wordpress/i18n");
|
|
2275
2486
|
var SIZE3 = "tiny";
|
|
2276
2487
|
var DynamicSelection = ({ onSelect }) => {
|
|
2277
|
-
const [searchValue, setSearchValue] = (0,
|
|
2488
|
+
const [searchValue, setSearchValue] = (0, import_react21.useState)("");
|
|
2278
2489
|
const { groups: dynamicGroups } = getAtomicDynamicTags() || {};
|
|
2279
2490
|
const { value: anyValue } = (0, import_editor_controls44.useBoundProp)();
|
|
2280
2491
|
const { bind, value: dynamicValue, setValue } = (0, import_editor_controls44.useBoundProp)(dynamicPropTypeUtil);
|
|
@@ -2291,8 +2502,8 @@ var DynamicSelection = ({ onSelect }) => {
|
|
|
2291
2502
|
setValue({ name: value, settings: {} });
|
|
2292
2503
|
onSelect?.();
|
|
2293
2504
|
};
|
|
2294
|
-
return /* @__PURE__ */
|
|
2295
|
-
|
|
2505
|
+
return /* @__PURE__ */ React64.createElement(import_ui52.Stack, null, /* @__PURE__ */ React64.createElement(import_ui52.Box, { px: 1.5, pb: 1 }, /* @__PURE__ */ React64.createElement(
|
|
2506
|
+
import_ui52.TextField,
|
|
2296
2507
|
{
|
|
2297
2508
|
fullWidth: true,
|
|
2298
2509
|
size: SIZE3,
|
|
@@ -2300,13 +2511,13 @@ var DynamicSelection = ({ onSelect }) => {
|
|
|
2300
2511
|
onChange: handleSearch,
|
|
2301
2512
|
placeholder: (0, import_i18n41.__)("Search dynamic tag", "elementor"),
|
|
2302
2513
|
InputProps: {
|
|
2303
|
-
startAdornment: /* @__PURE__ */
|
|
2514
|
+
startAdornment: /* @__PURE__ */ React64.createElement(import_ui52.InputAdornment, { position: "start" }, /* @__PURE__ */ React64.createElement(import_icons21.SearchIcon, { fontSize: SIZE3 }))
|
|
2304
2515
|
}
|
|
2305
2516
|
}
|
|
2306
|
-
)), /* @__PURE__ */
|
|
2517
|
+
)), /* @__PURE__ */ React64.createElement(import_ui52.Divider, null), /* @__PURE__ */ React64.createElement(import_ui52.Box, { sx: { overflowY: "auto", height: 260, width: 220 } }, options10.length > 0 ? /* @__PURE__ */ React64.createElement(import_ui52.MenuList, { role: "listbox", tabIndex: 0 }, options10.map(([category, items3], index) => /* @__PURE__ */ React64.createElement(import_react21.Fragment, { key: index }, /* @__PURE__ */ React64.createElement(import_ui52.ListSubheader, { sx: { typography: "caption", color: "text.tertiary" } }, dynamicGroups?.[category]?.title || category), items3.map(({ value, label: tagLabel }) => {
|
|
2307
2518
|
const isSelected = isCurrentValueDynamic && value === dynamicValue?.name;
|
|
2308
|
-
return /* @__PURE__ */
|
|
2309
|
-
|
|
2519
|
+
return /* @__PURE__ */ React64.createElement(
|
|
2520
|
+
import_ui52.MenuItem,
|
|
2310
2521
|
{
|
|
2311
2522
|
key: value,
|
|
2312
2523
|
selected: isSelected,
|
|
@@ -2316,8 +2527,8 @@ var DynamicSelection = ({ onSelect }) => {
|
|
|
2316
2527
|
},
|
|
2317
2528
|
tagLabel
|
|
2318
2529
|
);
|
|
2319
|
-
})))) : /* @__PURE__ */
|
|
2320
|
-
|
|
2530
|
+
})))) : /* @__PURE__ */ React64.createElement(import_ui52.Stack, { alignItems: "center", p: 2.5, gap: 1.5 }, /* @__PURE__ */ React64.createElement(import_icons21.PhotoIcon, { fontSize: "large" }), /* @__PURE__ */ React64.createElement(import_ui52.Typography, { align: "center", variant: "caption", color: "text.secondary" }, (0, import_i18n41.__)("Sorry, nothing matched", "elementor"), /* @__PURE__ */ React64.createElement("br", null), "\u201C", searchValue, "\u201D."), /* @__PURE__ */ React64.createElement(import_ui52.Typography, { align: "center", variant: "caption", color: "text.secondary" }, /* @__PURE__ */ React64.createElement(
|
|
2531
|
+
import_ui52.Link,
|
|
2321
2532
|
{
|
|
2322
2533
|
color: "secondary",
|
|
2323
2534
|
variant: "caption",
|
|
@@ -2350,8 +2561,8 @@ var DynamicSelectionControl = () => {
|
|
|
2350
2561
|
const { bind, value } = (0, import_editor_controls45.useBoundProp)(dynamicPropTypeUtil);
|
|
2351
2562
|
const [propValueFromHistory] = usePersistDynamicValue(bind);
|
|
2352
2563
|
const { name: tagName = "" } = value;
|
|
2353
|
-
const selectionPopoverId = (0,
|
|
2354
|
-
const selectionPopoverState = (0,
|
|
2564
|
+
const selectionPopoverId = (0, import_react22.useId)();
|
|
2565
|
+
const selectionPopoverState = (0, import_ui53.usePopupState)({ variant: "popover", popupId: selectionPopoverId });
|
|
2355
2566
|
const dynamicTag = useDynamicTag(tagName);
|
|
2356
2567
|
const removeDynamicTag = () => {
|
|
2357
2568
|
setAnyValue(propValueFromHistory ?? null);
|
|
@@ -2359,70 +2570,70 @@ var DynamicSelectionControl = () => {
|
|
|
2359
2570
|
if (!dynamicTag) {
|
|
2360
2571
|
throw new Error(`Dynamic tag ${tagName} not found`);
|
|
2361
2572
|
}
|
|
2362
|
-
return /* @__PURE__ */
|
|
2363
|
-
|
|
2573
|
+
return /* @__PURE__ */ React65.createElement(import_ui53.Box, null, /* @__PURE__ */ React65.createElement(
|
|
2574
|
+
import_ui53.UnstableTag,
|
|
2364
2575
|
{
|
|
2365
2576
|
fullWidth: true,
|
|
2366
2577
|
showActionsOnHover: true,
|
|
2367
2578
|
label: dynamicTag.label,
|
|
2368
|
-
startIcon: /* @__PURE__ */
|
|
2369
|
-
...(0,
|
|
2370
|
-
actions: /* @__PURE__ */
|
|
2371
|
-
|
|
2579
|
+
startIcon: /* @__PURE__ */ React65.createElement(import_icons22.DatabaseIcon, { fontSize: SIZE4 }),
|
|
2580
|
+
...(0, import_ui53.bindTrigger)(selectionPopoverState),
|
|
2581
|
+
actions: /* @__PURE__ */ React65.createElement(React65.Fragment, null, /* @__PURE__ */ React65.createElement(DynamicSettingsPopover, { dynamicTag }), /* @__PURE__ */ React65.createElement(
|
|
2582
|
+
import_ui53.IconButton,
|
|
2372
2583
|
{
|
|
2373
2584
|
size: SIZE4,
|
|
2374
2585
|
onClick: removeDynamicTag,
|
|
2375
2586
|
"aria-label": (0, import_i18n42.__)("Remove dynamic value", "elementor")
|
|
2376
2587
|
},
|
|
2377
|
-
/* @__PURE__ */
|
|
2588
|
+
/* @__PURE__ */ React65.createElement(import_icons22.XIcon, { fontSize: SIZE4 })
|
|
2378
2589
|
))
|
|
2379
2590
|
}
|
|
2380
|
-
), /* @__PURE__ */
|
|
2381
|
-
|
|
2591
|
+
), /* @__PURE__ */ React65.createElement(
|
|
2592
|
+
import_ui53.Popover,
|
|
2382
2593
|
{
|
|
2383
2594
|
disablePortal: true,
|
|
2384
2595
|
disableScrollLock: true,
|
|
2385
2596
|
anchorOrigin: { vertical: "bottom", horizontal: "left" },
|
|
2386
|
-
...(0,
|
|
2597
|
+
...(0, import_ui53.bindPopover)(selectionPopoverState)
|
|
2387
2598
|
},
|
|
2388
|
-
/* @__PURE__ */
|
|
2599
|
+
/* @__PURE__ */ React65.createElement(import_ui53.Stack, null, /* @__PURE__ */ React65.createElement(import_ui53.Stack, { direction: "row", alignItems: "center", pl: 1.5, pr: 0.5, py: 1.5 }, /* @__PURE__ */ React65.createElement(import_icons22.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React65.createElement(import_ui53.Typography, { variant: "subtitle2" }, (0, import_i18n42.__)("Dynamic Tags", "elementor")), /* @__PURE__ */ React65.createElement(import_ui53.IconButton, { size: SIZE4, sx: { ml: "auto" }, onClick: selectionPopoverState.close }, /* @__PURE__ */ React65.createElement(import_icons22.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React65.createElement(DynamicSelection, { onSelect: selectionPopoverState.close }))
|
|
2389
2600
|
));
|
|
2390
2601
|
};
|
|
2391
2602
|
var DynamicSettingsPopover = ({ dynamicTag }) => {
|
|
2392
|
-
const popupId = (0,
|
|
2393
|
-
const settingsPopupState = (0,
|
|
2603
|
+
const popupId = (0, import_react22.useId)();
|
|
2604
|
+
const settingsPopupState = (0, import_ui53.usePopupState)({ variant: "popover", popupId });
|
|
2394
2605
|
const hasDynamicSettings = !!dynamicTag.atomic_controls.length;
|
|
2395
2606
|
if (!hasDynamicSettings) {
|
|
2396
2607
|
return null;
|
|
2397
2608
|
}
|
|
2398
|
-
return /* @__PURE__ */
|
|
2399
|
-
|
|
2609
|
+
return /* @__PURE__ */ React65.createElement(React65.Fragment, null, /* @__PURE__ */ React65.createElement(
|
|
2610
|
+
import_ui53.IconButton,
|
|
2400
2611
|
{
|
|
2401
2612
|
size: SIZE4,
|
|
2402
|
-
...(0,
|
|
2613
|
+
...(0, import_ui53.bindTrigger)(settingsPopupState),
|
|
2403
2614
|
"aria-label": (0, import_i18n42.__)("Settings", "elementor")
|
|
2404
2615
|
},
|
|
2405
|
-
/* @__PURE__ */
|
|
2406
|
-
), /* @__PURE__ */
|
|
2407
|
-
|
|
2616
|
+
/* @__PURE__ */ React65.createElement(import_icons22.SettingsIcon, { fontSize: SIZE4 })
|
|
2617
|
+
), /* @__PURE__ */ React65.createElement(
|
|
2618
|
+
import_ui53.Popover,
|
|
2408
2619
|
{
|
|
2409
2620
|
disableScrollLock: true,
|
|
2410
2621
|
anchorOrigin: { vertical: "bottom", horizontal: "center" },
|
|
2411
|
-
...(0,
|
|
2622
|
+
...(0, import_ui53.bindPopover)(settingsPopupState)
|
|
2412
2623
|
},
|
|
2413
|
-
/* @__PURE__ */
|
|
2624
|
+
/* @__PURE__ */ React65.createElement(import_ui53.Paper, { component: import_ui53.Stack, sx: { minHeight: "300px", width: "220px" } }, /* @__PURE__ */ React65.createElement(import_ui53.Stack, { direction: "row", alignItems: "center", px: 1.5, pt: 2, pb: 1 }, /* @__PURE__ */ React65.createElement(import_icons22.DatabaseIcon, { fontSize: SIZE4, sx: { mr: 0.5 } }), /* @__PURE__ */ React65.createElement(import_ui53.Typography, { variant: "subtitle2" }, dynamicTag.label), /* @__PURE__ */ React65.createElement(import_ui53.IconButton, { sx: { ml: "auto" }, size: SIZE4, onClick: settingsPopupState.close }, /* @__PURE__ */ React65.createElement(import_icons22.XIcon, { fontSize: SIZE4 }))), /* @__PURE__ */ React65.createElement(DynamicSettings, { controls: dynamicTag.atomic_controls }))
|
|
2414
2625
|
));
|
|
2415
2626
|
};
|
|
2416
2627
|
var DynamicSettings = ({ controls }) => {
|
|
2417
2628
|
const tabs = controls.filter(({ type }) => type === "section");
|
|
2418
|
-
const { getTabsProps, getTabProps, getTabPanelProps } = (0,
|
|
2629
|
+
const { getTabsProps, getTabProps, getTabPanelProps } = (0, import_ui53.useTabs)(0);
|
|
2419
2630
|
if (!tabs.length) {
|
|
2420
2631
|
return null;
|
|
2421
2632
|
}
|
|
2422
|
-
return /* @__PURE__ */
|
|
2423
|
-
return /* @__PURE__ */
|
|
2633
|
+
return /* @__PURE__ */ React65.createElement(React65.Fragment, null, /* @__PURE__ */ React65.createElement(import_ui53.Tabs, { indicatorColor: "secondary", textColor: "secondary", ...getTabsProps() }, tabs.map(({ value }, index) => /* @__PURE__ */ React65.createElement(import_ui53.Tab, { key: index, label: value.label, sx: { px: 1, py: 0.5 }, ...getTabProps(index) }))), /* @__PURE__ */ React65.createElement(import_ui53.Divider, null), tabs.map(({ value }, index) => {
|
|
2634
|
+
return /* @__PURE__ */ React65.createElement(import_ui53.TabPanel, { key: index, sx: { flexGrow: 1 }, ...getTabPanelProps(index) }, /* @__PURE__ */ React65.createElement(import_ui53.Stack, { gap: 1, px: 2 }, value.items.map((item) => {
|
|
2424
2635
|
if (item.type === "control") {
|
|
2425
|
-
return /* @__PURE__ */
|
|
2636
|
+
return /* @__PURE__ */ React65.createElement(Control3, { key: item.value.bind, control: item.value });
|
|
2426
2637
|
}
|
|
2427
2638
|
return null;
|
|
2428
2639
|
})));
|
|
@@ -2432,11 +2643,11 @@ var Control3 = ({ control }) => {
|
|
|
2432
2643
|
if (!getControlByType(control.type)) {
|
|
2433
2644
|
return null;
|
|
2434
2645
|
}
|
|
2435
|
-
return /* @__PURE__ */
|
|
2646
|
+
return /* @__PURE__ */ React65.createElement(DynamicControl, { bind: control.bind }, control.label ? /* @__PURE__ */ React65.createElement(import_editor_controls45.ControlLabel, null, control.label) : null, /* @__PURE__ */ React65.createElement(Control, { type: control.type, props: control.props }));
|
|
2436
2647
|
};
|
|
2437
2648
|
|
|
2438
2649
|
// src/dynamics/hooks/use-prop-dynamic-action.tsx
|
|
2439
|
-
var
|
|
2650
|
+
var React66 = __toESM(require("react"));
|
|
2440
2651
|
var import_editor_controls46 = require("@elementor/editor-controls");
|
|
2441
2652
|
var import_icons23 = require("@elementor/icons");
|
|
2442
2653
|
var import_i18n43 = require("@wordpress/i18n");
|
|
@@ -2447,7 +2658,7 @@ var usePropDynamicAction = () => {
|
|
|
2447
2658
|
visible,
|
|
2448
2659
|
icon: import_icons23.DatabaseIcon,
|
|
2449
2660
|
title: (0, import_i18n43.__)("Dynamic Tags", "elementor"),
|
|
2450
|
-
popoverContent: ({ closePopover }) => /* @__PURE__ */
|
|
2661
|
+
popoverContent: ({ closePopover }) => /* @__PURE__ */ React66.createElement(DynamicSelection, { onSelect: closePopover })
|
|
2451
2662
|
};
|
|
2452
2663
|
};
|
|
2453
2664
|
|