@elementor/editor-global-classes 3.33.0-116 → 3.33.0-118
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/dist/index.d.mts +1 -10
- package/dist/index.d.ts +1 -10
- package/dist/index.js +436 -294
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +401 -247
- package/dist/index.mjs.map +1 -1
- package/package.json +15 -15
- package/src/api.ts +4 -0
- package/src/components/class-manager/duplicate-label-dialog.tsx +159 -0
- package/src/components/search-and-filter/context.tsx +11 -1
- package/src/hooks/use-css-class-by-id.ts +8 -0
- package/src/index.ts +0 -1
- package/src/init.ts +6 -6
- package/src/save-global-classes.tsx +50 -0
- package/src/store.ts +15 -0
- package/src/sync-with-document-save.ts +5 -4
- package/src/sync-with-document.tsx +20 -0
- package/src/save-global-classes.ts +0 -42
package/dist/index.mjs
CHANGED
|
@@ -7,18 +7,17 @@ import {
|
|
|
7
7
|
} from "@elementor/editor-editing-panel";
|
|
8
8
|
import { __registerPanel as registerPanel } from "@elementor/editor-panels";
|
|
9
9
|
import { stylesRepository } from "@elementor/editor-styles-repository";
|
|
10
|
-
import { __privateListenTo as listenTo, v1ReadyEvent } from "@elementor/editor-v1-adapters";
|
|
11
10
|
import { __registerSlice as registerSlice } from "@elementor/store";
|
|
12
11
|
|
|
13
12
|
// src/components/class-manager/class-manager-button.tsx
|
|
14
|
-
import * as
|
|
13
|
+
import * as React20 from "react";
|
|
15
14
|
import {
|
|
16
15
|
__useActiveDocument as useActiveDocument2,
|
|
17
16
|
__useActiveDocumentActions as useActiveDocumentActions
|
|
18
17
|
} from "@elementor/editor-documents";
|
|
19
18
|
import { useUserStylesCapability } from "@elementor/editor-styles-repository";
|
|
20
19
|
import { IconButton as IconButton5, Tooltip as Tooltip6 } from "@elementor/ui";
|
|
21
|
-
import { __ as
|
|
20
|
+
import { __ as __15 } from "@wordpress/i18n";
|
|
22
21
|
|
|
23
22
|
// src/global-classes-styles-provider.ts
|
|
24
23
|
import { generateId } from "@elementor/editor-styles";
|
|
@@ -179,6 +178,13 @@ var slice = createSlice({
|
|
|
179
178
|
state.data.items[payload.style.id] = mergedData;
|
|
180
179
|
state.isDirty = true;
|
|
181
180
|
},
|
|
181
|
+
updateMultiple(state, { payload }) {
|
|
182
|
+
localHistory.next(state.data);
|
|
183
|
+
Object.entries(payload).forEach(([id2, { modified }]) => {
|
|
184
|
+
state.data.items[id2].label = modified;
|
|
185
|
+
});
|
|
186
|
+
state.isDirty = false;
|
|
187
|
+
},
|
|
182
188
|
updateProps(state, {
|
|
183
189
|
payload
|
|
184
190
|
}) {
|
|
@@ -361,6 +367,9 @@ var apiClient = {
|
|
|
361
367
|
}
|
|
362
368
|
})
|
|
363
369
|
};
|
|
370
|
+
var API_ERROR_CODES = {
|
|
371
|
+
DUPLICATED_LABEL: "DUPLICATED_LABEL"
|
|
372
|
+
};
|
|
364
373
|
|
|
365
374
|
// src/components/css-class-usage/utils.ts
|
|
366
375
|
var transformData = (data) => Object.entries(data).reduce((acc, [key, value]) => {
|
|
@@ -391,7 +400,7 @@ function usePrefetchCssClassUsage() {
|
|
|
391
400
|
}
|
|
392
401
|
|
|
393
402
|
// src/components/class-manager/class-manager-panel.tsx
|
|
394
|
-
import * as
|
|
403
|
+
import * as React19 from "react";
|
|
395
404
|
import { useEffect as useEffect2 } from "react";
|
|
396
405
|
import { setDocumentModifiedStatus } from "@elementor/editor-documents";
|
|
397
406
|
import {
|
|
@@ -408,17 +417,17 @@ import { XIcon } from "@elementor/icons";
|
|
|
408
417
|
import { useMutation } from "@elementor/query";
|
|
409
418
|
import { __dispatch as dispatch4 } from "@elementor/store";
|
|
410
419
|
import {
|
|
411
|
-
Alert,
|
|
412
|
-
Box as
|
|
413
|
-
Button as
|
|
420
|
+
Alert as Alert2,
|
|
421
|
+
Box as Box10,
|
|
422
|
+
Button as Button4,
|
|
414
423
|
Chip as Chip4,
|
|
415
|
-
DialogHeader,
|
|
416
|
-
Divider as
|
|
424
|
+
DialogHeader as DialogHeader2,
|
|
425
|
+
Divider as Divider4,
|
|
417
426
|
ErrorBoundary,
|
|
418
427
|
IconButton as IconButton4,
|
|
419
|
-
Stack as
|
|
428
|
+
Stack as Stack9
|
|
420
429
|
} from "@elementor/ui";
|
|
421
|
-
import { __ as
|
|
430
|
+
import { __ as __14 } from "@wordpress/i18n";
|
|
422
431
|
|
|
423
432
|
// src/hooks/use-classes-order.ts
|
|
424
433
|
import { __useSelector as useSelector } from "@elementor/store";
|
|
@@ -447,9 +456,17 @@ var INIT_CHECKED_FILTERS = {
|
|
|
447
456
|
};
|
|
448
457
|
var SearchAndFilterProvider = ({ children }) => {
|
|
449
458
|
const [filters, setFilters] = React.useState(INIT_CHECKED_FILTERS);
|
|
459
|
+
const getInitialSearchValue = () => {
|
|
460
|
+
const storedValue = localStorage.getItem("elementor-global-classes-search");
|
|
461
|
+
if (storedValue) {
|
|
462
|
+
localStorage.removeItem("elementor-global-classes-search");
|
|
463
|
+
return storedValue;
|
|
464
|
+
}
|
|
465
|
+
return "";
|
|
466
|
+
};
|
|
450
467
|
const { debouncedValue, inputValue, handleChange } = useDebounceState({
|
|
451
468
|
delay: 300,
|
|
452
|
-
initialValue:
|
|
469
|
+
initialValue: getInitialSearchValue()
|
|
453
470
|
});
|
|
454
471
|
const onClearSearch = () => {
|
|
455
472
|
handleChange("");
|
|
@@ -580,25 +597,146 @@ var useFilters = () => {
|
|
|
580
597
|
}, [filters, allFilters]);
|
|
581
598
|
};
|
|
582
599
|
|
|
583
|
-
// src/save-global-classes.
|
|
600
|
+
// src/save-global-classes.tsx
|
|
601
|
+
import * as React3 from "react";
|
|
602
|
+
import { openDialog } from "@elementor/editor-ui";
|
|
584
603
|
import { __dispatch as dispatch2, __getState as getState2 } from "@elementor/store";
|
|
585
604
|
import { hash } from "@elementor/utils";
|
|
586
|
-
|
|
605
|
+
|
|
606
|
+
// src/components/class-manager/duplicate-label-dialog.tsx
|
|
607
|
+
import * as React2 from "react";
|
|
608
|
+
import { closeDialog, EllipsisWithTooltip } from "@elementor/editor-ui";
|
|
609
|
+
import { InfoCircleFilledIcon } from "@elementor/icons";
|
|
610
|
+
import {
|
|
611
|
+
Alert,
|
|
612
|
+
Box,
|
|
613
|
+
Button,
|
|
614
|
+
DialogActions,
|
|
615
|
+
DialogContent,
|
|
616
|
+
DialogHeader,
|
|
617
|
+
Divider,
|
|
618
|
+
Icon,
|
|
619
|
+
Stack,
|
|
620
|
+
Typography
|
|
621
|
+
} from "@elementor/ui";
|
|
622
|
+
import { __ as __2 } from "@wordpress/i18n";
|
|
623
|
+
var DUP_PREFIX = "DUP_";
|
|
624
|
+
var DuplicateLabelDialog = ({
|
|
625
|
+
modifiedLabels,
|
|
626
|
+
onApprove
|
|
627
|
+
}) => {
|
|
628
|
+
const handleButtonClick = () => {
|
|
629
|
+
localStorage.setItem("elementor-global-classes-search", DUP_PREFIX);
|
|
630
|
+
onApprove?.();
|
|
631
|
+
closeDialog();
|
|
632
|
+
};
|
|
633
|
+
return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(DialogHeader, { logo: false }, /* @__PURE__ */ React2.createElement(Box, { display: "flex", alignItems: "center", gap: 1 }, /* @__PURE__ */ React2.createElement(Icon, { color: "secondary" }, /* @__PURE__ */ React2.createElement(InfoCircleFilledIcon, { fontSize: "medium" })), /* @__PURE__ */ React2.createElement(Typography, { variant: "subtitle1" }, __2("We've published your page and updated class names.", "elementor")))), /* @__PURE__ */ React2.createElement(DialogContent, null, /* @__PURE__ */ React2.createElement(Stack, { spacing: 2, direction: "column" }, /* @__PURE__ */ React2.createElement(Typography, { variant: "body2" }, __2(
|
|
634
|
+
"Some new classes used the same names as existing ones. To prevent conflicts, we added the prefix",
|
|
635
|
+
"elementor"
|
|
636
|
+
), /* @__PURE__ */ React2.createElement("strong", null, " ", DUP_PREFIX)), /* @__PURE__ */ React2.createElement(Box, null, /* @__PURE__ */ React2.createElement(
|
|
637
|
+
Box,
|
|
638
|
+
{
|
|
639
|
+
sx: {
|
|
640
|
+
width: "100%",
|
|
641
|
+
display: "flex",
|
|
642
|
+
gap: 2,
|
|
643
|
+
alignItems: "flex-start"
|
|
644
|
+
}
|
|
645
|
+
},
|
|
646
|
+
/* @__PURE__ */ React2.createElement(
|
|
647
|
+
Typography,
|
|
648
|
+
{
|
|
649
|
+
variant: "subtitle2",
|
|
650
|
+
sx: {
|
|
651
|
+
fontWeight: "bold",
|
|
652
|
+
flex: 1,
|
|
653
|
+
flexShrink: 1,
|
|
654
|
+
flexGrow: 1,
|
|
655
|
+
minWidth: 0
|
|
656
|
+
}
|
|
657
|
+
},
|
|
658
|
+
__2("Before", "elementor")
|
|
659
|
+
),
|
|
660
|
+
/* @__PURE__ */ React2.createElement(
|
|
661
|
+
Typography,
|
|
662
|
+
{
|
|
663
|
+
variant: "subtitle2",
|
|
664
|
+
sx: {
|
|
665
|
+
minWidth: "200px",
|
|
666
|
+
fontWeight: "bold",
|
|
667
|
+
flexShrink: 0,
|
|
668
|
+
flexGrow: 0,
|
|
669
|
+
width: "200px",
|
|
670
|
+
maxWidth: "200px"
|
|
671
|
+
}
|
|
672
|
+
},
|
|
673
|
+
__2("After", "elementor")
|
|
674
|
+
)
|
|
675
|
+
), /* @__PURE__ */ React2.createElement(Divider, { sx: { mt: 0.5, mb: 0.5 } }), /* @__PURE__ */ React2.createElement(Stack, { direction: "column", gap: 0.5, sx: { pb: 2 } }, Object.values(modifiedLabels).map(({ original, modified }, index) => /* @__PURE__ */ React2.createElement(
|
|
676
|
+
Box,
|
|
677
|
+
{
|
|
678
|
+
key: index,
|
|
679
|
+
sx: {
|
|
680
|
+
width: "100%",
|
|
681
|
+
display: "flex",
|
|
682
|
+
gap: 2,
|
|
683
|
+
alignItems: "flex-start"
|
|
684
|
+
}
|
|
685
|
+
},
|
|
686
|
+
/* @__PURE__ */ React2.createElement(
|
|
687
|
+
Box,
|
|
688
|
+
{
|
|
689
|
+
sx: {
|
|
690
|
+
flex: 1,
|
|
691
|
+
flexShrink: 1,
|
|
692
|
+
flexGrow: 1,
|
|
693
|
+
minWidth: 0
|
|
694
|
+
}
|
|
695
|
+
},
|
|
696
|
+
/* @__PURE__ */ React2.createElement(EllipsisWithTooltip, { title: original }, /* @__PURE__ */ React2.createElement(Typography, { variant: "body2", sx: { color: "text.secondary" } }, original))
|
|
697
|
+
),
|
|
698
|
+
/* @__PURE__ */ React2.createElement(
|
|
699
|
+
Box,
|
|
700
|
+
{
|
|
701
|
+
sx: {
|
|
702
|
+
minWidth: "200px",
|
|
703
|
+
flexShrink: 0,
|
|
704
|
+
flexGrow: 0,
|
|
705
|
+
width: "200px",
|
|
706
|
+
maxWidth: "200px"
|
|
707
|
+
}
|
|
708
|
+
},
|
|
709
|
+
/* @__PURE__ */ React2.createElement(EllipsisWithTooltip, { title: modified }, /* @__PURE__ */ React2.createElement(Typography, { variant: "body2", sx: { color: "text.primary" } }, modified))
|
|
710
|
+
)
|
|
711
|
+
))), /* @__PURE__ */ React2.createElement(Box, null, /* @__PURE__ */ React2.createElement(Alert, { severity: "info", size: "small", color: "secondary" }, /* @__PURE__ */ React2.createElement("strong", null, __2("Your designs and classes are safe.", "elementor")), __2(
|
|
712
|
+
"Only the prefixes were added.Find them in Class Manager by searching",
|
|
713
|
+
"elementor"
|
|
714
|
+
), /* @__PURE__ */ React2.createElement("strong", null, DUP_PREFIX)))))), /* @__PURE__ */ React2.createElement(DialogActions, null, /* @__PURE__ */ React2.createElement(Button, { color: "secondary", variant: "text", onClick: handleButtonClick }, __2("Go to Class Manager", "elementor")), /* @__PURE__ */ React2.createElement(Button, { color: "secondary", variant: "contained", onClick: closeDialog }, __2("Done", "elementor"))));
|
|
715
|
+
};
|
|
716
|
+
|
|
717
|
+
// src/save-global-classes.tsx
|
|
718
|
+
async function saveGlobalClasses({ context: context2, onApprove }) {
|
|
587
719
|
const state = selectData(getState2());
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
}
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
720
|
+
const apiAction = context2 === "preview" ? apiClient.saveDraft : apiClient.publish;
|
|
721
|
+
const currentContext = context2 === "preview" ? selectPreviewInitialData : selectFrontendInitialData;
|
|
722
|
+
const response = await apiAction({
|
|
723
|
+
items: state.items,
|
|
724
|
+
order: state.order,
|
|
725
|
+
changes: calculateChanges(state, currentContext(getState2()))
|
|
726
|
+
});
|
|
727
|
+
dispatch2(slice.actions.reset({ context: context2 }));
|
|
728
|
+
if (response?.data?.data?.code === API_ERROR_CODES.DUPLICATED_LABEL) {
|
|
729
|
+
dispatch2(slice.actions.updateMultiple(response.data.data.modifiedLabels));
|
|
730
|
+
openDialog({
|
|
731
|
+
component: /* @__PURE__ */ React3.createElement(
|
|
732
|
+
DuplicateLabelDialog,
|
|
733
|
+
{
|
|
734
|
+
modifiedLabels: response.data.data.modifiedLabels || [],
|
|
735
|
+
onApprove
|
|
736
|
+
}
|
|
737
|
+
)
|
|
599
738
|
});
|
|
600
739
|
}
|
|
601
|
-
dispatch2(slice.actions.reset({ context: context2 }));
|
|
602
740
|
}
|
|
603
741
|
function calculateChanges(state, initialData) {
|
|
604
742
|
const stateIds = Object.keys(state.items);
|
|
@@ -613,19 +751,19 @@ function calculateChanges(state, initialData) {
|
|
|
613
751
|
}
|
|
614
752
|
|
|
615
753
|
// src/components/search-and-filter/components/filter/active-filters.tsx
|
|
616
|
-
import * as
|
|
617
|
-
import { Chip as Chip2, Stack as
|
|
618
|
-
import { __ as
|
|
754
|
+
import * as React6 from "react";
|
|
755
|
+
import { Chip as Chip2, Stack as Stack3 } from "@elementor/ui";
|
|
756
|
+
import { __ as __4 } from "@wordpress/i18n";
|
|
619
757
|
|
|
620
758
|
// src/components/search-and-filter/components/filter/clear-icon-button.tsx
|
|
621
|
-
import * as
|
|
759
|
+
import * as React4 from "react";
|
|
622
760
|
import { BrushBigIcon } from "@elementor/icons";
|
|
623
|
-
import { Box, IconButton, styled, Tooltip } from "@elementor/ui";
|
|
761
|
+
import { Box as Box2, IconButton, styled, Tooltip } from "@elementor/ui";
|
|
624
762
|
var ClearIconButton = ({ tooltipText, sx }) => {
|
|
625
763
|
const {
|
|
626
764
|
filters: { onClearFilter }
|
|
627
765
|
} = useSearchAndFilters();
|
|
628
|
-
return /* @__PURE__ */
|
|
766
|
+
return /* @__PURE__ */ React4.createElement(Tooltip, { title: tooltipText, placement: "top", disableInteractive: true }, /* @__PURE__ */ React4.createElement(Box2, null, /* @__PURE__ */ React4.createElement(CustomIconButton, { "aria-label": tooltipText, size: "tiny", onClick: onClearFilter, sx }, /* @__PURE__ */ React4.createElement(BrushBigIcon, { fontSize: "tiny" }))));
|
|
629
767
|
};
|
|
630
768
|
var CustomIconButton = styled(IconButton)(({ theme }) => ({
|
|
631
769
|
"&.Mui-disabled": {
|
|
@@ -637,13 +775,13 @@ var CustomIconButton = styled(IconButton)(({ theme }) => ({
|
|
|
637
775
|
}));
|
|
638
776
|
|
|
639
777
|
// src/components/search-and-filter/components/filter/filter-list.tsx
|
|
640
|
-
import * as
|
|
641
|
-
import { Checkbox, Chip, MenuItem, MenuList, Stack, Typography } from "@elementor/ui";
|
|
642
|
-
import { __ as
|
|
778
|
+
import * as React5 from "react";
|
|
779
|
+
import { Checkbox, Chip, MenuItem, MenuList, Stack as Stack2, Typography as Typography2 } from "@elementor/ui";
|
|
780
|
+
import { __ as __3 } from "@wordpress/i18n";
|
|
643
781
|
var filterConfig = {
|
|
644
|
-
unused:
|
|
645
|
-
empty:
|
|
646
|
-
onThisPage:
|
|
782
|
+
unused: __3("Unused", "elementor"),
|
|
783
|
+
empty: __3("Empty", "elementor"),
|
|
784
|
+
onThisPage: __3("On this page", "elementor")
|
|
647
785
|
};
|
|
648
786
|
var FilterList = () => {
|
|
649
787
|
const {
|
|
@@ -653,30 +791,30 @@ var FilterList = () => {
|
|
|
653
791
|
const handleOnClick = (value) => {
|
|
654
792
|
setFilters((prev) => ({ ...prev, [value]: !prev[value] }));
|
|
655
793
|
};
|
|
656
|
-
return /* @__PURE__ */
|
|
794
|
+
return /* @__PURE__ */ React5.createElement(MenuList, null, /* @__PURE__ */ React5.createElement(MenuItem, { onClick: () => handleOnClick("unused") }, /* @__PURE__ */ React5.createElement(
|
|
657
795
|
LabeledCheckbox,
|
|
658
796
|
{
|
|
659
797
|
label: filterConfig.unused,
|
|
660
798
|
checked: filters.unused,
|
|
661
|
-
suffix: /* @__PURE__ */
|
|
799
|
+
suffix: /* @__PURE__ */ React5.createElement(Chip, { size: "tiny", sx: { ml: "auto" }, label: filteredCssClass.unused.length })
|
|
662
800
|
}
|
|
663
|
-
)), /* @__PURE__ */
|
|
801
|
+
)), /* @__PURE__ */ React5.createElement(MenuItem, { onClick: () => handleOnClick("empty") }, /* @__PURE__ */ React5.createElement(
|
|
664
802
|
LabeledCheckbox,
|
|
665
803
|
{
|
|
666
804
|
label: filterConfig.empty,
|
|
667
805
|
checked: filters.empty,
|
|
668
|
-
suffix: /* @__PURE__ */
|
|
806
|
+
suffix: /* @__PURE__ */ React5.createElement(Chip, { size: "tiny", sx: { ml: "auto" }, label: filteredCssClass.empty.length })
|
|
669
807
|
}
|
|
670
|
-
)), /* @__PURE__ */
|
|
808
|
+
)), /* @__PURE__ */ React5.createElement(MenuItem, { onClick: () => handleOnClick("onThisPage") }, /* @__PURE__ */ React5.createElement(
|
|
671
809
|
LabeledCheckbox,
|
|
672
810
|
{
|
|
673
811
|
label: filterConfig.onThisPage,
|
|
674
812
|
checked: filters.onThisPage,
|
|
675
|
-
suffix: /* @__PURE__ */
|
|
813
|
+
suffix: /* @__PURE__ */ React5.createElement(Chip, { size: "tiny", sx: { ml: "auto" }, label: filteredCssClass.onThisPage.length })
|
|
676
814
|
}
|
|
677
815
|
)));
|
|
678
816
|
};
|
|
679
|
-
var LabeledCheckbox = ({ label, suffix, checked }) => /* @__PURE__ */
|
|
817
|
+
var LabeledCheckbox = ({ label, suffix, checked }) => /* @__PURE__ */ React5.createElement(Stack2, { direction: "row", alignItems: "center", gap: 0.5, flex: 1 }, /* @__PURE__ */ React5.createElement(
|
|
680
818
|
Checkbox,
|
|
681
819
|
{
|
|
682
820
|
size: "small",
|
|
@@ -689,7 +827,7 @@ var LabeledCheckbox = ({ label, suffix, checked }) => /* @__PURE__ */ React3.cre
|
|
|
689
827
|
}
|
|
690
828
|
}
|
|
691
829
|
}
|
|
692
|
-
), /* @__PURE__ */
|
|
830
|
+
), /* @__PURE__ */ React5.createElement(Typography2, { variant: "caption", sx: { color: "text.secondary" } }, label), suffix);
|
|
693
831
|
|
|
694
832
|
// src/components/search-and-filter/components/filter/active-filters.tsx
|
|
695
833
|
var ActiveFilters = () => {
|
|
@@ -701,7 +839,7 @@ var ActiveFilters = () => {
|
|
|
701
839
|
};
|
|
702
840
|
const activeKeys = Object.keys(filters).filter((key) => filters[key]);
|
|
703
841
|
const showClearIcon = activeKeys.length > 0;
|
|
704
|
-
return /* @__PURE__ */
|
|
842
|
+
return /* @__PURE__ */ React6.createElement(Stack3, { direction: "row", alignItems: "center", justifyContent: "space-between" }, /* @__PURE__ */ React6.createElement(Stack3, { direction: "row", gap: 0.5, alignItems: "center", flexWrap: "wrap" }, activeKeys.map((key) => /* @__PURE__ */ React6.createElement(
|
|
705
843
|
Chip2,
|
|
706
844
|
{
|
|
707
845
|
key,
|
|
@@ -710,10 +848,10 @@ var ActiveFilters = () => {
|
|
|
710
848
|
sx: chipSx,
|
|
711
849
|
size: "tiny"
|
|
712
850
|
}
|
|
713
|
-
))), showClearIcon && /* @__PURE__ */
|
|
851
|
+
))), showClearIcon && /* @__PURE__ */ React6.createElement(
|
|
714
852
|
ClearIconButton,
|
|
715
853
|
{
|
|
716
|
-
tooltipText:
|
|
854
|
+
tooltipText: __4("Clear Filters", "elementor"),
|
|
717
855
|
sx: { margin: "0 0 auto auto" }
|
|
718
856
|
}
|
|
719
857
|
));
|
|
@@ -729,11 +867,11 @@ var chipSx = {
|
|
|
729
867
|
};
|
|
730
868
|
|
|
731
869
|
// src/components/search-and-filter/components/filter/css-class-filter.tsx
|
|
732
|
-
import * as
|
|
870
|
+
import * as React7 from "react";
|
|
733
871
|
import { PopoverBody, PopoverHeader } from "@elementor/editor-ui";
|
|
734
872
|
import { FilterIcon } from "@elementor/icons";
|
|
735
|
-
import { bindPopover, bindToggle, Divider, Popover, ToggleButton, Tooltip as Tooltip2, usePopupState } from "@elementor/ui";
|
|
736
|
-
import { __ as
|
|
873
|
+
import { bindPopover, bindToggle, Divider as Divider2, Popover, ToggleButton, Tooltip as Tooltip2, usePopupState } from "@elementor/ui";
|
|
874
|
+
import { __ as __5 } from "@wordpress/i18n";
|
|
737
875
|
var CssClassFilter = () => {
|
|
738
876
|
const {
|
|
739
877
|
filters: { filters }
|
|
@@ -743,7 +881,7 @@ var CssClassFilter = () => {
|
|
|
743
881
|
disableAutoFocus: true
|
|
744
882
|
});
|
|
745
883
|
const showCleanIcon = Object.values(filters).some((value) => value);
|
|
746
|
-
return /* @__PURE__ */
|
|
884
|
+
return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement(Tooltip2, { title: __5("Filters", "elementor"), placement: "top" }, /* @__PURE__ */ React7.createElement(
|
|
747
885
|
ToggleButton,
|
|
748
886
|
{
|
|
749
887
|
value: "filter",
|
|
@@ -751,8 +889,8 @@ var CssClassFilter = () => {
|
|
|
751
889
|
selected: popupState.isOpen,
|
|
752
890
|
...bindToggle(popupState)
|
|
753
891
|
},
|
|
754
|
-
/* @__PURE__ */
|
|
755
|
-
)), /* @__PURE__ */
|
|
892
|
+
/* @__PURE__ */ React7.createElement(FilterIcon, { fontSize: "tiny" })
|
|
893
|
+
)), /* @__PURE__ */ React7.createElement(
|
|
756
894
|
Popover,
|
|
757
895
|
{
|
|
758
896
|
sx: {
|
|
@@ -768,76 +906,76 @@ var CssClassFilter = () => {
|
|
|
768
906
|
},
|
|
769
907
|
...bindPopover(popupState)
|
|
770
908
|
},
|
|
771
|
-
/* @__PURE__ */
|
|
909
|
+
/* @__PURE__ */ React7.createElement(
|
|
772
910
|
PopoverHeader,
|
|
773
911
|
{
|
|
774
912
|
actions: showCleanIcon ? [
|
|
775
|
-
/* @__PURE__ */
|
|
913
|
+
/* @__PURE__ */ React7.createElement(
|
|
776
914
|
ClearIconButton,
|
|
777
915
|
{
|
|
778
916
|
key: "clear-all-button",
|
|
779
|
-
tooltipText:
|
|
917
|
+
tooltipText: __5("Clear all", "elementor")
|
|
780
918
|
}
|
|
781
919
|
)
|
|
782
920
|
] : [],
|
|
783
921
|
onClose: popupState.close,
|
|
784
|
-
title:
|
|
785
|
-
icon: /* @__PURE__ */
|
|
922
|
+
title: __5("Filters", "elementor"),
|
|
923
|
+
icon: /* @__PURE__ */ React7.createElement(FilterIcon, { fontSize: "tiny" })
|
|
786
924
|
}
|
|
787
925
|
),
|
|
788
|
-
/* @__PURE__ */
|
|
789
|
-
|
|
926
|
+
/* @__PURE__ */ React7.createElement(
|
|
927
|
+
Divider2,
|
|
790
928
|
{
|
|
791
929
|
sx: {
|
|
792
930
|
borderWidth: "1px 0 0 0"
|
|
793
931
|
}
|
|
794
932
|
}
|
|
795
933
|
),
|
|
796
|
-
/* @__PURE__ */
|
|
934
|
+
/* @__PURE__ */ React7.createElement(PopoverBody, { width: 344, height: 125 }, /* @__PURE__ */ React7.createElement(FilterList, null))
|
|
797
935
|
));
|
|
798
936
|
};
|
|
799
937
|
|
|
800
938
|
// src/components/search-and-filter/components/search/class-manager-search.tsx
|
|
801
|
-
import * as
|
|
939
|
+
import * as React8 from "react";
|
|
802
940
|
import { SearchIcon } from "@elementor/icons";
|
|
803
|
-
import { Box as
|
|
804
|
-
import { __ as
|
|
941
|
+
import { Box as Box3, InputAdornment, Stack as Stack4, TextField } from "@elementor/ui";
|
|
942
|
+
import { __ as __6 } from "@wordpress/i18n";
|
|
805
943
|
var ClassManagerSearch = () => {
|
|
806
944
|
const {
|
|
807
945
|
search: { inputValue, handleChange }
|
|
808
946
|
} = useSearchAndFilters();
|
|
809
|
-
return /* @__PURE__ */
|
|
947
|
+
return /* @__PURE__ */ React8.createElement(Stack4, { direction: "row", gap: 0.5, sx: { width: "100%" } }, /* @__PURE__ */ React8.createElement(Box3, { sx: { flexGrow: 1 } }, /* @__PURE__ */ React8.createElement(
|
|
810
948
|
TextField,
|
|
811
949
|
{
|
|
812
950
|
role: "search",
|
|
813
951
|
fullWidth: true,
|
|
814
952
|
size: "tiny",
|
|
815
953
|
value: inputValue,
|
|
816
|
-
placeholder:
|
|
954
|
+
placeholder: __6("Search", "elementor"),
|
|
817
955
|
onChange: (e) => handleChange(e.target.value),
|
|
818
956
|
InputProps: {
|
|
819
|
-
startAdornment: /* @__PURE__ */
|
|
957
|
+
startAdornment: /* @__PURE__ */ React8.createElement(InputAdornment, { position: "start" }, /* @__PURE__ */ React8.createElement(SearchIcon, { fontSize: "tiny" }))
|
|
820
958
|
}
|
|
821
959
|
}
|
|
822
960
|
)));
|
|
823
961
|
};
|
|
824
962
|
|
|
825
963
|
// src/components/class-manager/class-manager-introduction.tsx
|
|
826
|
-
import * as
|
|
964
|
+
import * as React9 from "react";
|
|
827
965
|
import { useState as useState2 } from "react";
|
|
828
966
|
import { useSuppressedMessage } from "@elementor/editor-current-user";
|
|
829
967
|
import { IntroductionModal } from "@elementor/editor-ui";
|
|
830
|
-
import { Box as
|
|
831
|
-
import { __ as
|
|
968
|
+
import { Box as Box4, Image, Typography as Typography3 } from "@elementor/ui";
|
|
969
|
+
import { __ as __7 } from "@wordpress/i18n";
|
|
832
970
|
var MESSAGE_KEY = "global-class-manager";
|
|
833
971
|
var ClassManagerIntroduction = () => {
|
|
834
972
|
const [isMessageSuppressed, suppressMessage] = useSuppressedMessage(MESSAGE_KEY);
|
|
835
973
|
const [shouldShowIntroduction, setShouldShowIntroduction] = useState2(!isMessageSuppressed);
|
|
836
|
-
return /* @__PURE__ */
|
|
974
|
+
return /* @__PURE__ */ React9.createElement(
|
|
837
975
|
IntroductionModal,
|
|
838
976
|
{
|
|
839
977
|
open: shouldShowIntroduction,
|
|
840
|
-
title:
|
|
978
|
+
title: __7("Class Manager", "elementor"),
|
|
841
979
|
handleClose: (shouldShowAgain) => {
|
|
842
980
|
if (!shouldShowAgain) {
|
|
843
981
|
suppressMessage();
|
|
@@ -845,7 +983,7 @@ var ClassManagerIntroduction = () => {
|
|
|
845
983
|
setShouldShowIntroduction(false);
|
|
846
984
|
}
|
|
847
985
|
},
|
|
848
|
-
/* @__PURE__ */
|
|
986
|
+
/* @__PURE__ */ React9.createElement(
|
|
849
987
|
Image,
|
|
850
988
|
{
|
|
851
989
|
sx: { width: "100%", aspectRatio: "16 / 9" },
|
|
@@ -853,14 +991,14 @@ var ClassManagerIntroduction = () => {
|
|
|
853
991
|
alt: ""
|
|
854
992
|
}
|
|
855
993
|
),
|
|
856
|
-
/* @__PURE__ */
|
|
994
|
+
/* @__PURE__ */ React9.createElement(IntroductionContent, null)
|
|
857
995
|
);
|
|
858
996
|
};
|
|
859
997
|
var IntroductionContent = () => {
|
|
860
|
-
return /* @__PURE__ */
|
|
998
|
+
return /* @__PURE__ */ React9.createElement(Box4, { p: 3 }, /* @__PURE__ */ React9.createElement(Typography3, { variant: "body2" }, __7(
|
|
861
999
|
"The Class Manager lets you see all the classes you've created, plus adjust their priority, rename them, and delete unused classes to keep your CSS structured.",
|
|
862
1000
|
"elementor"
|
|
863
|
-
)), /* @__PURE__ */
|
|
1001
|
+
)), /* @__PURE__ */ React9.createElement("br", null), /* @__PURE__ */ React9.createElement(Typography3, { variant: "body2" }, __7(
|
|
864
1002
|
"Remember, when editing an item within a specific class, any changes you make will apply across all elements in that class.",
|
|
865
1003
|
"elementor"
|
|
866
1004
|
)));
|
|
@@ -892,16 +1030,16 @@ var reloadDocument = () => {
|
|
|
892
1030
|
};
|
|
893
1031
|
|
|
894
1032
|
// src/components/class-manager/flipped-color-swatch-icon.tsx
|
|
895
|
-
import * as
|
|
1033
|
+
import * as React10 from "react";
|
|
896
1034
|
import { ColorSwatchIcon } from "@elementor/icons";
|
|
897
|
-
var FlippedColorSwatchIcon = ({ sx, ...props }) => /* @__PURE__ */
|
|
1035
|
+
var FlippedColorSwatchIcon = ({ sx, ...props }) => /* @__PURE__ */ React10.createElement(ColorSwatchIcon, { sx: { transform: "rotate(90deg)", ...sx }, ...props });
|
|
898
1036
|
|
|
899
1037
|
// src/components/class-manager/global-classes-list.tsx
|
|
900
|
-
import * as
|
|
1038
|
+
import * as React17 from "react";
|
|
901
1039
|
import { useEffect, useMemo as useMemo3 } from "react";
|
|
902
1040
|
import { __useDispatch as useDispatch } from "@elementor/store";
|
|
903
|
-
import { List, Stack as
|
|
904
|
-
import { __ as
|
|
1041
|
+
import { List, Stack as Stack8, styled as styled6, Typography as Typography8 } from "@elementor/ui";
|
|
1042
|
+
import { __ as __13 } from "@wordpress/i18n";
|
|
905
1043
|
|
|
906
1044
|
// src/hooks/use-ordered-classes.ts
|
|
907
1045
|
import { __useSelector as useSelector3 } from "@elementor/store";
|
|
@@ -910,31 +1048,31 @@ var useOrderedClasses = () => {
|
|
|
910
1048
|
};
|
|
911
1049
|
|
|
912
1050
|
// src/components/class-manager/class-item.tsx
|
|
913
|
-
import * as
|
|
1051
|
+
import * as React15 from "react";
|
|
914
1052
|
import { useRef, useState as useState4 } from "react";
|
|
915
1053
|
import { validateStyleLabel } from "@elementor/editor-styles-repository";
|
|
916
|
-
import { EditableField, EllipsisWithTooltip as
|
|
1054
|
+
import { EditableField, EllipsisWithTooltip as EllipsisWithTooltip3, MenuListItem, useEditable, WarningInfotip } from "@elementor/editor-ui";
|
|
917
1055
|
import { DotsVerticalIcon } from "@elementor/icons";
|
|
918
1056
|
import {
|
|
919
1057
|
bindMenu,
|
|
920
1058
|
bindTrigger as bindTrigger2,
|
|
921
|
-
Box as
|
|
1059
|
+
Box as Box8,
|
|
922
1060
|
IconButton as IconButton3,
|
|
923
1061
|
ListItemButton,
|
|
924
1062
|
Menu,
|
|
925
|
-
Stack as
|
|
1063
|
+
Stack as Stack6,
|
|
926
1064
|
styled as styled5,
|
|
927
1065
|
Tooltip as Tooltip5,
|
|
928
|
-
Typography as
|
|
1066
|
+
Typography as Typography6,
|
|
929
1067
|
usePopupState as usePopupState3
|
|
930
1068
|
} from "@elementor/ui";
|
|
931
|
-
import { __ as
|
|
1069
|
+
import { __ as __11 } from "@wordpress/i18n";
|
|
932
1070
|
|
|
933
1071
|
// src/components/css-class-usage/components/css-class-usage-popover.tsx
|
|
934
|
-
import * as
|
|
1072
|
+
import * as React11 from "react";
|
|
935
1073
|
import { __useOpenDocumentInNewTab as useOpenDocumentInNewTab } from "@elementor/editor-documents";
|
|
936
1074
|
import {
|
|
937
|
-
EllipsisWithTooltip,
|
|
1075
|
+
EllipsisWithTooltip as EllipsisWithTooltip2,
|
|
938
1076
|
PopoverBody as PopoverBody2,
|
|
939
1077
|
PopoverHeader as PopoverHeader2,
|
|
940
1078
|
PopoverMenuList
|
|
@@ -948,8 +1086,8 @@ import {
|
|
|
948
1086
|
PopupTemplateIcon,
|
|
949
1087
|
PostTypeIcon
|
|
950
1088
|
} from "@elementor/icons";
|
|
951
|
-
import { Box as
|
|
952
|
-
import { __ as
|
|
1089
|
+
import { Box as Box5, Chip as Chip3, Divider as Divider3, Icon as Icon2, MenuList as MenuList2, Stack as Stack5, styled as styled2, Tooltip as Tooltip3, Typography as Typography4 } from "@elementor/ui";
|
|
1090
|
+
import { __ as __8 } from "@wordpress/i18n";
|
|
953
1091
|
|
|
954
1092
|
// src/hooks/use-css-class-usage-by-id.ts
|
|
955
1093
|
var EMPTY_CLASS_USAGE = {
|
|
@@ -965,24 +1103,24 @@ var useCssClassUsageByID = (id2) => {
|
|
|
965
1103
|
// src/components/css-class-usage/components/css-class-usage-popover.tsx
|
|
966
1104
|
var iconMapper = {
|
|
967
1105
|
"wp-post": {
|
|
968
|
-
label:
|
|
969
|
-
icon: /* @__PURE__ */
|
|
1106
|
+
label: __8("Post", "elementor"),
|
|
1107
|
+
icon: /* @__PURE__ */ React11.createElement(PostTypeIcon, { fontSize: "inherit" })
|
|
970
1108
|
},
|
|
971
1109
|
"wp-page": {
|
|
972
|
-
label:
|
|
973
|
-
icon: /* @__PURE__ */
|
|
1110
|
+
label: __8("Page", "elementor"),
|
|
1111
|
+
icon: /* @__PURE__ */ React11.createElement(PagesIcon, { fontSize: "inherit" })
|
|
974
1112
|
},
|
|
975
1113
|
popup: {
|
|
976
|
-
label:
|
|
977
|
-
icon: /* @__PURE__ */
|
|
1114
|
+
label: __8("Popup", "elementor"),
|
|
1115
|
+
icon: /* @__PURE__ */ React11.createElement(PopupTemplateIcon, { fontSize: "inherit" })
|
|
978
1116
|
},
|
|
979
1117
|
header: {
|
|
980
|
-
label:
|
|
981
|
-
icon: /* @__PURE__ */
|
|
1118
|
+
label: __8("Header", "elementor"),
|
|
1119
|
+
icon: /* @__PURE__ */ React11.createElement(HeaderTemplateIcon, { fontSize: "inherit" })
|
|
982
1120
|
},
|
|
983
1121
|
footer: {
|
|
984
|
-
label:
|
|
985
|
-
icon: /* @__PURE__ */
|
|
1122
|
+
label: __8("Footer", "elementor"),
|
|
1123
|
+
icon: /* @__PURE__ */ React11.createElement(FooterTemplateIcon, { fontSize: "inherit" })
|
|
986
1124
|
}
|
|
987
1125
|
};
|
|
988
1126
|
var CssClassUsagePopover = ({
|
|
@@ -1000,14 +1138,14 @@ var CssClassUsagePopover = ({
|
|
|
1000
1138
|
docType: type
|
|
1001
1139
|
})
|
|
1002
1140
|
) ?? [];
|
|
1003
|
-
return /* @__PURE__ */
|
|
1141
|
+
return /* @__PURE__ */ React11.createElement(React11.Fragment, null, /* @__PURE__ */ React11.createElement(
|
|
1004
1142
|
PopoverHeader2,
|
|
1005
1143
|
{
|
|
1006
|
-
icon: /* @__PURE__ */
|
|
1007
|
-
title: /* @__PURE__ */
|
|
1144
|
+
icon: /* @__PURE__ */ React11.createElement(CurrentLocationIcon, { fontSize: "tiny" }),
|
|
1145
|
+
title: /* @__PURE__ */ React11.createElement(Stack5, { flexDirection: "row", gap: 1, alignItems: "center" }, /* @__PURE__ */ React11.createElement(Box5, { "aria-label": "header-title" }, __8("Locator", "elementor")), /* @__PURE__ */ React11.createElement(Box5, null, /* @__PURE__ */ React11.createElement(Chip3, { sx: { lineHeight: 1 }, size: "tiny", label: classUsage.total }))),
|
|
1008
1146
|
onClose
|
|
1009
1147
|
}
|
|
1010
|
-
), /* @__PURE__ */
|
|
1148
|
+
), /* @__PURE__ */ React11.createElement(Divider3, null), /* @__PURE__ */ React11.createElement(PopoverBody2, { width: 300 }, /* @__PURE__ */ React11.createElement(
|
|
1011
1149
|
PopoverMenuList,
|
|
1012
1150
|
{
|
|
1013
1151
|
onSelect: (value) => onNavigate(+value),
|
|
@@ -1015,26 +1153,26 @@ var CssClassUsagePopover = ({
|
|
|
1015
1153
|
onClose: () => {
|
|
1016
1154
|
},
|
|
1017
1155
|
menuListTemplate: StyledCssClassUsageItem,
|
|
1018
|
-
menuItemContentTemplate: (cssClassUsageRecord) => /* @__PURE__ */
|
|
1156
|
+
menuItemContentTemplate: (cssClassUsageRecord) => /* @__PURE__ */ React11.createElement(Stack5, { flexDirection: "row", flex: 1, alignItems: "center" }, /* @__PURE__ */ React11.createElement(Box5, { display: "flex", sx: { pr: 1 } }, /* @__PURE__ */ React11.createElement(
|
|
1019
1157
|
Tooltip3,
|
|
1020
1158
|
{
|
|
1021
1159
|
disableInteractive: true,
|
|
1022
1160
|
title: iconMapper?.[cssClassUsageRecord.docType]?.label ?? cssClassUsageRecord.docType,
|
|
1023
1161
|
placement: "top"
|
|
1024
1162
|
},
|
|
1025
|
-
/* @__PURE__ */
|
|
1026
|
-
)), /* @__PURE__ */
|
|
1027
|
-
|
|
1163
|
+
/* @__PURE__ */ React11.createElement(Icon2, { fontSize: "small" }, iconMapper?.[cssClassUsageRecord.docType]?.icon || /* @__PURE__ */ React11.createElement(PagesIcon, { fontSize: "inherit" }))
|
|
1164
|
+
)), /* @__PURE__ */ React11.createElement(Box5, { sx: { pr: 0.5, maxWidth: "173px" }, display: "flex" }, /* @__PURE__ */ React11.createElement(
|
|
1165
|
+
EllipsisWithTooltip2,
|
|
1028
1166
|
{
|
|
1029
1167
|
title: cssClassUsageRecord.label,
|
|
1030
|
-
as:
|
|
1168
|
+
as: Typography4,
|
|
1031
1169
|
variant: "caption",
|
|
1032
1170
|
maxWidth: "173px",
|
|
1033
1171
|
sx: {
|
|
1034
1172
|
lineHeight: 1
|
|
1035
1173
|
}
|
|
1036
1174
|
}
|
|
1037
|
-
)), /* @__PURE__ */
|
|
1175
|
+
)), /* @__PURE__ */ React11.createElement(ExternalLinkIcon, { className: "hover-only-icon", fontSize: "tiny" }), /* @__PURE__ */ React11.createElement(
|
|
1038
1176
|
Chip3,
|
|
1039
1177
|
{
|
|
1040
1178
|
sx: {
|
|
@@ -1081,13 +1219,13 @@ var StyledCssClassUsageItem = styled2(MenuList2)(({ theme }) => ({
|
|
|
1081
1219
|
}));
|
|
1082
1220
|
|
|
1083
1221
|
// src/components/css-class-usage/components/css-class-usage-trigger.tsx
|
|
1084
|
-
import * as
|
|
1222
|
+
import * as React12 from "react";
|
|
1085
1223
|
import { InfoAlert } from "@elementor/editor-ui";
|
|
1086
1224
|
import { CurrentLocationIcon as CurrentLocationIcon2 } from "@elementor/icons";
|
|
1087
1225
|
import {
|
|
1088
1226
|
bindPopover as bindPopover2,
|
|
1089
1227
|
bindTrigger,
|
|
1090
|
-
Box as
|
|
1228
|
+
Box as Box6,
|
|
1091
1229
|
IconButton as IconButton2,
|
|
1092
1230
|
Infotip,
|
|
1093
1231
|
Popover as Popover2,
|
|
@@ -1095,7 +1233,7 @@ import {
|
|
|
1095
1233
|
Tooltip as Tooltip4,
|
|
1096
1234
|
usePopupState as usePopupState2
|
|
1097
1235
|
} from "@elementor/ui";
|
|
1098
|
-
import { __ as
|
|
1236
|
+
import { __ as __9 } from "@wordpress/i18n";
|
|
1099
1237
|
var CssClassUsageTrigger = ({ id: id2, onClick }) => {
|
|
1100
1238
|
const {
|
|
1101
1239
|
data: { total },
|
|
@@ -1106,7 +1244,7 @@ var CssClassUsageTrigger = ({ id: id2, onClick }) => {
|
|
|
1106
1244
|
return null;
|
|
1107
1245
|
}
|
|
1108
1246
|
const WrapperComponent = total !== 0 ? TooltipWrapper : InfoAlertMessage;
|
|
1109
|
-
return /* @__PURE__ */
|
|
1247
|
+
return /* @__PURE__ */ React12.createElement(React12.Fragment, null, /* @__PURE__ */ React12.createElement(Box6, { position: "relative" }, /* @__PURE__ */ React12.createElement(WrapperComponent, { total }, /* @__PURE__ */ React12.createElement(
|
|
1110
1248
|
CustomIconButton2,
|
|
1111
1249
|
{
|
|
1112
1250
|
disabled: total === 0,
|
|
@@ -1119,8 +1257,8 @@ var CssClassUsageTrigger = ({ id: id2, onClick }) => {
|
|
|
1119
1257
|
}
|
|
1120
1258
|
}
|
|
1121
1259
|
},
|
|
1122
|
-
/* @__PURE__ */
|
|
1123
|
-
))), /* @__PURE__ */
|
|
1260
|
+
/* @__PURE__ */ React12.createElement(CurrentLocationIcon2, { fontSize: "tiny" })
|
|
1261
|
+
))), /* @__PURE__ */ React12.createElement(Box6, null, /* @__PURE__ */ React12.createElement(
|
|
1124
1262
|
Popover2,
|
|
1125
1263
|
{
|
|
1126
1264
|
anchorOrigin: {
|
|
@@ -1137,7 +1275,7 @@ var CssClassUsageTrigger = ({ id: id2, onClick }) => {
|
|
|
1137
1275
|
onClick("");
|
|
1138
1276
|
}
|
|
1139
1277
|
},
|
|
1140
|
-
/* @__PURE__ */
|
|
1278
|
+
/* @__PURE__ */ React12.createElement(
|
|
1141
1279
|
CssClassUsagePopover,
|
|
1142
1280
|
{
|
|
1143
1281
|
onClose: cssClassUsagePopover.close,
|
|
@@ -1159,80 +1297,80 @@ var CustomIconButton2 = styled3(IconButton2)(({ theme }) => ({
|
|
|
1159
1297
|
height: "22px",
|
|
1160
1298
|
width: "22px"
|
|
1161
1299
|
}));
|
|
1162
|
-
var TooltipWrapper = ({ children, total }) => /* @__PURE__ */
|
|
1300
|
+
var TooltipWrapper = ({ children, total }) => /* @__PURE__ */ React12.createElement(
|
|
1163
1301
|
Tooltip4,
|
|
1164
1302
|
{
|
|
1165
1303
|
disableInteractive: true,
|
|
1166
1304
|
placement: "top",
|
|
1167
|
-
title: `${
|
|
1305
|
+
title: `${__9("Show {{number}} {{locations}}", "elementor").replace("{{number}}", total.toString()).replace(
|
|
1168
1306
|
"{{locations}}",
|
|
1169
|
-
total === 1 ?
|
|
1307
|
+
total === 1 ? __9("location", "elementor") : __9("locations", "elementor")
|
|
1170
1308
|
)}`
|
|
1171
1309
|
},
|
|
1172
|
-
/* @__PURE__ */
|
|
1310
|
+
/* @__PURE__ */ React12.createElement("span", null, children)
|
|
1173
1311
|
);
|
|
1174
|
-
var InfoAlertMessage = ({ children }) => /* @__PURE__ */
|
|
1312
|
+
var InfoAlertMessage = ({ children }) => /* @__PURE__ */ React12.createElement(
|
|
1175
1313
|
Infotip,
|
|
1176
1314
|
{
|
|
1177
1315
|
disableInteractive: true,
|
|
1178
1316
|
placement: "top",
|
|
1179
1317
|
color: "secondary",
|
|
1180
|
-
content: /* @__PURE__ */
|
|
1318
|
+
content: /* @__PURE__ */ React12.createElement(InfoAlert, { sx: { mt: 1 } }, __9("This class isn\u2019t being used yet.", "elementor"))
|
|
1181
1319
|
},
|
|
1182
|
-
/* @__PURE__ */
|
|
1320
|
+
/* @__PURE__ */ React12.createElement("span", null, children)
|
|
1183
1321
|
);
|
|
1184
1322
|
|
|
1185
1323
|
// src/components/class-manager/delete-confirmation-dialog.tsx
|
|
1186
|
-
import * as
|
|
1324
|
+
import * as React13 from "react";
|
|
1187
1325
|
import { createContext as createContext2, useContext as useContext2, useState as useState3 } from "react";
|
|
1188
1326
|
import { AlertOctagonFilledIcon } from "@elementor/icons";
|
|
1189
1327
|
import {
|
|
1190
|
-
Button,
|
|
1328
|
+
Button as Button2,
|
|
1191
1329
|
Dialog,
|
|
1192
|
-
DialogActions,
|
|
1193
|
-
DialogContent,
|
|
1330
|
+
DialogActions as DialogActions2,
|
|
1331
|
+
DialogContent as DialogContent2,
|
|
1194
1332
|
DialogContentText,
|
|
1195
1333
|
DialogTitle,
|
|
1196
|
-
Typography as
|
|
1334
|
+
Typography as Typography5
|
|
1197
1335
|
} from "@elementor/ui";
|
|
1198
|
-
import { __ as
|
|
1336
|
+
import { __ as __10 } from "@wordpress/i18n";
|
|
1199
1337
|
var context = createContext2(null);
|
|
1200
1338
|
var DeleteConfirmationProvider = ({ children }) => {
|
|
1201
1339
|
const [dialogProps, setDialogProps] = useState3(null);
|
|
1202
|
-
const
|
|
1340
|
+
const openDialog2 = (props) => {
|
|
1203
1341
|
setDialogProps(props);
|
|
1204
1342
|
};
|
|
1205
|
-
const
|
|
1343
|
+
const closeDialog2 = () => {
|
|
1206
1344
|
setDialogProps(null);
|
|
1207
1345
|
};
|
|
1208
|
-
return /* @__PURE__ */
|
|
1346
|
+
return /* @__PURE__ */ React13.createElement(context.Provider, { value: { openDialog: openDialog2, closeDialog: closeDialog2, dialogProps } }, children, !!dialogProps && /* @__PURE__ */ React13.createElement(DeleteConfirmationDialog, { ...dialogProps }));
|
|
1209
1347
|
};
|
|
1210
1348
|
var TITLE_ID = "delete-class-dialog";
|
|
1211
1349
|
var DeleteConfirmationDialog = ({ label, id: id2 }) => {
|
|
1212
|
-
const { closeDialog } = useDeleteConfirmation();
|
|
1350
|
+
const { closeDialog: closeDialog2 } = useDeleteConfirmation();
|
|
1213
1351
|
const {
|
|
1214
1352
|
data: { total, content }
|
|
1215
1353
|
} = useCssClassUsageByID(id2);
|
|
1216
1354
|
const onConfirm = () => {
|
|
1217
1355
|
deleteClass(id2);
|
|
1218
|
-
|
|
1356
|
+
closeDialog2();
|
|
1219
1357
|
};
|
|
1220
|
-
const text = total && content.length ?
|
|
1358
|
+
const text = total && content.length ? __10(
|
|
1221
1359
|
"Will permanently remove it from your project and may affect the design across all elements using it. Used %1 times across %2 pages. This action cannot be undone.",
|
|
1222
1360
|
"elementor"
|
|
1223
|
-
).replace("%1", total.toString()).replace("%2", content.length.toString()) :
|
|
1361
|
+
).replace("%1", total.toString()).replace("%2", content.length.toString()) : __10(
|
|
1224
1362
|
"Will permanently remove it from your project and may affect the design across all elements using it. This action cannot be undone.",
|
|
1225
1363
|
"elementor"
|
|
1226
1364
|
);
|
|
1227
|
-
return /* @__PURE__ */
|
|
1228
|
-
|
|
1365
|
+
return /* @__PURE__ */ React13.createElement(Dialog, { open: true, onClose: closeDialog2, "aria-labelledby": TITLE_ID, maxWidth: "xs" }, /* @__PURE__ */ React13.createElement(DialogTitle, { id: TITLE_ID, display: "flex", alignItems: "center", gap: 1, sx: { lineHeight: 1 } }, /* @__PURE__ */ React13.createElement(AlertOctagonFilledIcon, { color: "error" }), __10("Delete this class?", "elementor")), /* @__PURE__ */ React13.createElement(DialogContent2, null, /* @__PURE__ */ React13.createElement(DialogContentText, { variant: "body2", color: "textPrimary" }, __10("Deleting", "elementor"), /* @__PURE__ */ React13.createElement(Typography5, { variant: "subtitle2", component: "span" }, "\xA0", label, "\xA0"), text)), /* @__PURE__ */ React13.createElement(DialogActions2, null, /* @__PURE__ */ React13.createElement(Button2, { color: "secondary", onClick: closeDialog2 }, __10("Not now", "elementor")), /* @__PURE__ */ React13.createElement(
|
|
1366
|
+
Button2,
|
|
1229
1367
|
{
|
|
1230
1368
|
autoFocus: true,
|
|
1231
1369
|
variant: "contained",
|
|
1232
1370
|
color: "error",
|
|
1233
1371
|
onClick: onConfirm
|
|
1234
1372
|
},
|
|
1235
|
-
|
|
1373
|
+
__10("Delete", "elementor")
|
|
1236
1374
|
)));
|
|
1237
1375
|
};
|
|
1238
1376
|
var useDeleteConfirmation = () => {
|
|
@@ -1244,18 +1382,18 @@ var useDeleteConfirmation = () => {
|
|
|
1244
1382
|
};
|
|
1245
1383
|
|
|
1246
1384
|
// src/components/class-manager/sortable.tsx
|
|
1247
|
-
import * as
|
|
1385
|
+
import * as React14 from "react";
|
|
1248
1386
|
import { GripVerticalIcon } from "@elementor/icons";
|
|
1249
1387
|
import {
|
|
1250
|
-
Box as
|
|
1388
|
+
Box as Box7,
|
|
1251
1389
|
styled as styled4,
|
|
1252
1390
|
UnstableSortableItem,
|
|
1253
1391
|
UnstableSortableProvider
|
|
1254
1392
|
} from "@elementor/ui";
|
|
1255
|
-
var SortableProvider = (props) => /* @__PURE__ */
|
|
1256
|
-
var SortableTrigger = (props) => /* @__PURE__ */
|
|
1393
|
+
var SortableProvider = (props) => /* @__PURE__ */ React14.createElement(UnstableSortableProvider, { restrictAxis: true, variant: "static", dragPlaceholderStyle: { opacity: "1" }, ...props });
|
|
1394
|
+
var SortableTrigger = (props) => /* @__PURE__ */ React14.createElement(StyledSortableTrigger, { ...props, role: "button", className: "class-item-sortable-trigger", "aria-label": "sort" }, /* @__PURE__ */ React14.createElement(GripVerticalIcon, { fontSize: "tiny" }));
|
|
1257
1395
|
var SortableItem = ({ children, id: id2, ...props }) => {
|
|
1258
|
-
return /* @__PURE__ */
|
|
1396
|
+
return /* @__PURE__ */ React14.createElement(
|
|
1259
1397
|
UnstableSortableItem,
|
|
1260
1398
|
{
|
|
1261
1399
|
...props,
|
|
@@ -1271,8 +1409,8 @@ var SortableItem = ({ children, id: id2, ...props }) => {
|
|
|
1271
1409
|
isDragOverlay,
|
|
1272
1410
|
isDragPlaceholder
|
|
1273
1411
|
}) => {
|
|
1274
|
-
return /* @__PURE__ */
|
|
1275
|
-
|
|
1412
|
+
return /* @__PURE__ */ React14.createElement(
|
|
1413
|
+
Box7,
|
|
1276
1414
|
{
|
|
1277
1415
|
...itemProps,
|
|
1278
1416
|
style: itemStyle,
|
|
@@ -1290,7 +1428,7 @@ var SortableItem = ({ children, id: id2, ...props }) => {
|
|
|
1290
1428
|
triggerStyle,
|
|
1291
1429
|
isDragPlaceholder
|
|
1292
1430
|
}),
|
|
1293
|
-
showDropIndication && /* @__PURE__ */
|
|
1431
|
+
showDropIndication && /* @__PURE__ */ React14.createElement(SortableItemIndicator, { style: dropIndicationStyle })
|
|
1294
1432
|
);
|
|
1295
1433
|
}
|
|
1296
1434
|
}
|
|
@@ -1303,7 +1441,7 @@ var StyledSortableTrigger = styled4("div")(({ theme }) => ({
|
|
|
1303
1441
|
transform: `translate( -${theme.spacing(1.5)}, -50% )`,
|
|
1304
1442
|
color: theme.palette.action.active
|
|
1305
1443
|
}));
|
|
1306
|
-
var SortableItemIndicator = styled4(
|
|
1444
|
+
var SortableItemIndicator = styled4(Box7)`
|
|
1307
1445
|
width: 100%;
|
|
1308
1446
|
height: 1px;
|
|
1309
1447
|
background-color: ${({ theme }) => theme.palette.text.primary};
|
|
@@ -1332,13 +1470,13 @@ var ClassItem = ({
|
|
|
1332
1470
|
validation: validateLabel
|
|
1333
1471
|
});
|
|
1334
1472
|
const [selectedCssUsage, setSelectedCssUsage] = useState4("");
|
|
1335
|
-
const { openDialog } = useDeleteConfirmation();
|
|
1473
|
+
const { openDialog: openDialog2 } = useDeleteConfirmation();
|
|
1336
1474
|
const popupState = usePopupState3({
|
|
1337
1475
|
variant: "popover",
|
|
1338
1476
|
disableAutoFocus: true
|
|
1339
1477
|
});
|
|
1340
1478
|
const isSelected = (selectedCssUsage === id2 || selected || popupState.isOpen) && !disabled;
|
|
1341
|
-
return /* @__PURE__ */
|
|
1479
|
+
return /* @__PURE__ */ React15.createElement(React15.Fragment, null, /* @__PURE__ */ React15.createElement(Stack6, { p: 0 }, /* @__PURE__ */ React15.createElement(
|
|
1342
1480
|
WarningInfotip,
|
|
1343
1481
|
{
|
|
1344
1482
|
open: Boolean(error),
|
|
@@ -1347,7 +1485,7 @@ var ClassItem = ({
|
|
|
1347
1485
|
width: itemRef.current?.getBoundingClientRect().width,
|
|
1348
1486
|
offset: [0, -15]
|
|
1349
1487
|
},
|
|
1350
|
-
/* @__PURE__ */
|
|
1488
|
+
/* @__PURE__ */ React15.createElement(
|
|
1351
1489
|
StyledListItemButton,
|
|
1352
1490
|
{
|
|
1353
1491
|
ref: itemRef,
|
|
@@ -1361,28 +1499,28 @@ var ClassItem = ({
|
|
|
1361
1499
|
disabled,
|
|
1362
1500
|
focusVisibleClassName: "visible-class-item"
|
|
1363
1501
|
},
|
|
1364
|
-
/* @__PURE__ */
|
|
1365
|
-
/* @__PURE__ */
|
|
1502
|
+
/* @__PURE__ */ React15.createElement(SortableTrigger, { ...sortableTriggerProps }),
|
|
1503
|
+
/* @__PURE__ */ React15.createElement(Indicator, { isActive: isEditing, isError: !!error }, isEditing ? /* @__PURE__ */ React15.createElement(
|
|
1366
1504
|
EditableField,
|
|
1367
1505
|
{
|
|
1368
1506
|
ref: editableRef,
|
|
1369
|
-
as:
|
|
1507
|
+
as: Typography6,
|
|
1370
1508
|
variant: "caption",
|
|
1371
1509
|
...getEditableProps()
|
|
1372
1510
|
}
|
|
1373
|
-
) : /* @__PURE__ */
|
|
1374
|
-
/* @__PURE__ */
|
|
1375
|
-
/* @__PURE__ */
|
|
1511
|
+
) : /* @__PURE__ */ React15.createElement(EllipsisWithTooltip3, { title: label, as: Typography6, variant: "caption" })),
|
|
1512
|
+
/* @__PURE__ */ React15.createElement(Box8, { className: "class-item-locator" }, /* @__PURE__ */ React15.createElement(CssClassUsageTrigger, { id: id2, onClick: setSelectedCssUsage })),
|
|
1513
|
+
/* @__PURE__ */ React15.createElement(
|
|
1376
1514
|
Tooltip5,
|
|
1377
1515
|
{
|
|
1378
1516
|
placement: "top",
|
|
1379
1517
|
className: "class-item-more-actions",
|
|
1380
|
-
title:
|
|
1518
|
+
title: __11("More actions", "elementor")
|
|
1381
1519
|
},
|
|
1382
|
-
/* @__PURE__ */
|
|
1520
|
+
/* @__PURE__ */ React15.createElement(IconButton3, { size: "tiny", ...bindTrigger2(popupState), "aria-label": "More actions" }, /* @__PURE__ */ React15.createElement(DotsVerticalIcon, { fontSize: "tiny" }))
|
|
1383
1521
|
)
|
|
1384
1522
|
)
|
|
1385
|
-
)), /* @__PURE__ */
|
|
1523
|
+
)), /* @__PURE__ */ React15.createElement(
|
|
1386
1524
|
Menu,
|
|
1387
1525
|
{
|
|
1388
1526
|
...bindMenu(popupState),
|
|
@@ -1395,7 +1533,7 @@ var ClassItem = ({
|
|
|
1395
1533
|
horizontal: "right"
|
|
1396
1534
|
}
|
|
1397
1535
|
},
|
|
1398
|
-
/* @__PURE__ */
|
|
1536
|
+
/* @__PURE__ */ React15.createElement(
|
|
1399
1537
|
MenuListItem,
|
|
1400
1538
|
{
|
|
1401
1539
|
sx: { minWidth: "160px" },
|
|
@@ -1404,17 +1542,17 @@ var ClassItem = ({
|
|
|
1404
1542
|
openEditMode();
|
|
1405
1543
|
}
|
|
1406
1544
|
},
|
|
1407
|
-
/* @__PURE__ */
|
|
1545
|
+
/* @__PURE__ */ React15.createElement(Typography6, { variant: "caption", sx: { color: "text.primary" } }, __11("Rename", "elementor"))
|
|
1408
1546
|
),
|
|
1409
|
-
/* @__PURE__ */
|
|
1547
|
+
/* @__PURE__ */ React15.createElement(
|
|
1410
1548
|
MenuListItem,
|
|
1411
1549
|
{
|
|
1412
1550
|
onClick: () => {
|
|
1413
1551
|
popupState.close();
|
|
1414
|
-
|
|
1552
|
+
openDialog2({ id: id2, label });
|
|
1415
1553
|
}
|
|
1416
1554
|
},
|
|
1417
|
-
/* @__PURE__ */
|
|
1555
|
+
/* @__PURE__ */ React15.createElement(Typography6, { variant: "caption", sx: { color: "error.light" } }, __11("Delete", "elementor"))
|
|
1418
1556
|
)
|
|
1419
1557
|
));
|
|
1420
1558
|
};
|
|
@@ -1447,7 +1585,7 @@ var StyledListItemButton = styled5(ListItemButton, {
|
|
|
1447
1585
|
}
|
|
1448
1586
|
`
|
|
1449
1587
|
);
|
|
1450
|
-
var Indicator = styled5(
|
|
1588
|
+
var Indicator = styled5(Box8, {
|
|
1451
1589
|
shouldForwardProp: (prop) => !["isActive", "isError"].includes(prop)
|
|
1452
1590
|
})(({ theme, isActive, isError }) => ({
|
|
1453
1591
|
display: "flex",
|
|
@@ -1477,10 +1615,10 @@ var validateLabel = (newLabel) => {
|
|
|
1477
1615
|
};
|
|
1478
1616
|
|
|
1479
1617
|
// src/components/class-manager/not-found.tsx
|
|
1480
|
-
import * as
|
|
1618
|
+
import * as React16 from "react";
|
|
1481
1619
|
import { ColorSwatchIcon as ColorSwatchIcon2, PhotoIcon } from "@elementor/icons";
|
|
1482
|
-
import { Box as
|
|
1483
|
-
import { __ as
|
|
1620
|
+
import { Box as Box9, Link, Stack as Stack7, Typography as Typography7 } from "@elementor/ui";
|
|
1621
|
+
import { __ as __12 } from "@wordpress/i18n";
|
|
1484
1622
|
var getNotFoundType = (searchValue, filters, filteredClasses) => {
|
|
1485
1623
|
const searchNotFound = filteredClasses.length <= 0 && searchValue.length > 1;
|
|
1486
1624
|
const filterNotFound = filters && filters.length === 0;
|
|
@@ -1498,19 +1636,19 @@ var getNotFoundType = (searchValue, filters, filteredClasses) => {
|
|
|
1498
1636
|
};
|
|
1499
1637
|
var notFound = {
|
|
1500
1638
|
filterAndSearch: {
|
|
1501
|
-
mainText:
|
|
1502
|
-
sceneryText:
|
|
1503
|
-
icon: /* @__PURE__ */
|
|
1639
|
+
mainText: __12("Sorry, nothing matched.", "elementor"),
|
|
1640
|
+
sceneryText: __12("Try something else.", "elementor"),
|
|
1641
|
+
icon: /* @__PURE__ */ React16.createElement(PhotoIcon, { color: "inherit", fontSize: "large" })
|
|
1504
1642
|
},
|
|
1505
1643
|
search: {
|
|
1506
|
-
mainText:
|
|
1507
|
-
sceneryText:
|
|
1508
|
-
icon: /* @__PURE__ */
|
|
1644
|
+
mainText: __12("Sorry, nothing matched", "elementor"),
|
|
1645
|
+
sceneryText: __12("Clear your input and try something else.", "elementor"),
|
|
1646
|
+
icon: /* @__PURE__ */ React16.createElement(PhotoIcon, { color: "inherit", fontSize: "large" })
|
|
1509
1647
|
},
|
|
1510
1648
|
filter: {
|
|
1511
|
-
mainText:
|
|
1512
|
-
sceneryText:
|
|
1513
|
-
icon: /* @__PURE__ */
|
|
1649
|
+
mainText: __12("Sorry, nothing matched that search.", "elementor"),
|
|
1650
|
+
sceneryText: __12("Clear the filters and try something else.", "elementor"),
|
|
1651
|
+
icon: /* @__PURE__ */ React16.createElement(ColorSwatchIcon2, { color: "inherit", fontSize: "large" })
|
|
1514
1652
|
}
|
|
1515
1653
|
};
|
|
1516
1654
|
var NotFound = ({ notFoundType }) => {
|
|
@@ -1520,11 +1658,11 @@ var NotFound = ({ notFoundType }) => {
|
|
|
1520
1658
|
} = useSearchAndFilters();
|
|
1521
1659
|
switch (notFoundType) {
|
|
1522
1660
|
case "filter":
|
|
1523
|
-
return /* @__PURE__ */
|
|
1661
|
+
return /* @__PURE__ */ React16.createElement(NotFoundLayout, { ...notFound.filter, onClear: onClearFilter });
|
|
1524
1662
|
case "search":
|
|
1525
|
-
return /* @__PURE__ */
|
|
1663
|
+
return /* @__PURE__ */ React16.createElement(NotFoundLayout, { ...notFound.search, searchValue: inputValue, onClear: onClearSearch });
|
|
1526
1664
|
case "filterAndSearch":
|
|
1527
|
-
return /* @__PURE__ */
|
|
1665
|
+
return /* @__PURE__ */ React16.createElement(
|
|
1528
1666
|
NotFoundLayout,
|
|
1529
1667
|
{
|
|
1530
1668
|
...notFound.filterAndSearch,
|
|
@@ -1536,8 +1674,8 @@ var NotFound = ({ notFoundType }) => {
|
|
|
1536
1674
|
);
|
|
1537
1675
|
}
|
|
1538
1676
|
};
|
|
1539
|
-
var NotFoundLayout = ({ onClear, searchValue, mainText, sceneryText, icon }) => /* @__PURE__ */
|
|
1540
|
-
|
|
1677
|
+
var NotFoundLayout = ({ onClear, searchValue, mainText, sceneryText, icon }) => /* @__PURE__ */ React16.createElement(
|
|
1678
|
+
Stack7,
|
|
1541
1679
|
{
|
|
1542
1680
|
color: "text.secondary",
|
|
1543
1681
|
pt: 5,
|
|
@@ -1547,16 +1685,16 @@ var NotFoundLayout = ({ onClear, searchValue, mainText, sceneryText, icon }) =>
|
|
|
1547
1685
|
justifySelf: "center"
|
|
1548
1686
|
},
|
|
1549
1687
|
icon,
|
|
1550
|
-
/* @__PURE__ */
|
|
1551
|
-
|
|
1688
|
+
/* @__PURE__ */ React16.createElement(
|
|
1689
|
+
Box9,
|
|
1552
1690
|
{
|
|
1553
1691
|
sx: {
|
|
1554
1692
|
width: "100%"
|
|
1555
1693
|
}
|
|
1556
1694
|
},
|
|
1557
|
-
/* @__PURE__ */
|
|
1558
|
-
searchValue && /* @__PURE__ */
|
|
1559
|
-
|
|
1695
|
+
/* @__PURE__ */ React16.createElement(Typography7, { align: "center", variant: "subtitle2", color: "inherit" }, mainText),
|
|
1696
|
+
searchValue && /* @__PURE__ */ React16.createElement(
|
|
1697
|
+
Typography7,
|
|
1560
1698
|
{
|
|
1561
1699
|
variant: "subtitle2",
|
|
1562
1700
|
color: "inherit",
|
|
@@ -1566,8 +1704,8 @@ var NotFoundLayout = ({ onClear, searchValue, mainText, sceneryText, icon }) =>
|
|
|
1566
1704
|
justifyContent: "center"
|
|
1567
1705
|
}
|
|
1568
1706
|
},
|
|
1569
|
-
/* @__PURE__ */
|
|
1570
|
-
/* @__PURE__ */
|
|
1707
|
+
/* @__PURE__ */ React16.createElement("span", null, "\u201C"),
|
|
1708
|
+
/* @__PURE__ */ React16.createElement(
|
|
1571
1709
|
"span",
|
|
1572
1710
|
{
|
|
1573
1711
|
style: {
|
|
@@ -1578,11 +1716,11 @@ var NotFoundLayout = ({ onClear, searchValue, mainText, sceneryText, icon }) =>
|
|
|
1578
1716
|
},
|
|
1579
1717
|
searchValue
|
|
1580
1718
|
),
|
|
1581
|
-
/* @__PURE__ */
|
|
1719
|
+
/* @__PURE__ */ React16.createElement("span", null, "\u201D.")
|
|
1582
1720
|
)
|
|
1583
1721
|
),
|
|
1584
|
-
/* @__PURE__ */
|
|
1585
|
-
/* @__PURE__ */
|
|
1722
|
+
/* @__PURE__ */ React16.createElement(Typography7, { align: "center", variant: "caption", color: "inherit" }, sceneryText),
|
|
1723
|
+
/* @__PURE__ */ React16.createElement(Typography7, { align: "center", variant: "caption", color: "inherit" }, /* @__PURE__ */ React16.createElement(Link, { color: "secondary", variant: "caption", component: "button", onClick: onClear }, __12("Clear & try again", "elementor")))
|
|
1586
1724
|
);
|
|
1587
1725
|
|
|
1588
1726
|
// src/components/class-manager/global-classes-list.tsx
|
|
@@ -1613,22 +1751,22 @@ var GlobalClassesList = ({ disabled }) => {
|
|
|
1613
1751
|
return () => window.removeEventListener("keydown", handler);
|
|
1614
1752
|
}, [dispatch5]);
|
|
1615
1753
|
if (!cssClasses?.length) {
|
|
1616
|
-
return /* @__PURE__ */
|
|
1754
|
+
return /* @__PURE__ */ React17.createElement(EmptyState, null);
|
|
1617
1755
|
}
|
|
1618
1756
|
const notFoundType = getNotFoundType(searchValue, filters, filteredCssClasses);
|
|
1619
1757
|
if (notFoundType) {
|
|
1620
|
-
return /* @__PURE__ */
|
|
1758
|
+
return /* @__PURE__ */ React17.createElement(NotFound, { notFoundType });
|
|
1621
1759
|
}
|
|
1622
1760
|
const isFiltersApplied = filters?.length || searchValue;
|
|
1623
1761
|
const allowSorting = filteredCssClasses.length > 1 && !isFiltersApplied;
|
|
1624
|
-
return /* @__PURE__ */
|
|
1762
|
+
return /* @__PURE__ */ React17.createElement(DeleteConfirmationProvider, null, /* @__PURE__ */ React17.createElement(List, { sx: { display: "flex", flexDirection: "column", gap: 0.5 } }, /* @__PURE__ */ React17.createElement(
|
|
1625
1763
|
SortableProvider,
|
|
1626
1764
|
{
|
|
1627
1765
|
value: classesOrder,
|
|
1628
1766
|
onChange: reorderClasses,
|
|
1629
1767
|
disableDragOverlay: !allowSorting
|
|
1630
1768
|
},
|
|
1631
|
-
filteredCssClasses?.map(({ id: id2, label }) => /* @__PURE__ */
|
|
1769
|
+
filteredCssClasses?.map(({ id: id2, label }) => /* @__PURE__ */ React17.createElement(SortableItem, { key: id2, id: id2 }, ({ isDragged, isDragPlaceholder, triggerProps, triggerStyle }) => /* @__PURE__ */ React17.createElement(
|
|
1632
1770
|
ClassItem,
|
|
1633
1771
|
{
|
|
1634
1772
|
id: id2,
|
|
@@ -1651,11 +1789,11 @@ var GlobalClassesList = ({ disabled }) => {
|
|
|
1651
1789
|
)))
|
|
1652
1790
|
)));
|
|
1653
1791
|
};
|
|
1654
|
-
var EmptyState = () => /* @__PURE__ */
|
|
1792
|
+
var EmptyState = () => /* @__PURE__ */ React17.createElement(Stack8, { alignItems: "center", gap: 1.5, pt: 10, px: 0.5, maxWidth: "260px", margin: "auto" }, /* @__PURE__ */ React17.createElement(FlippedColorSwatchIcon, { fontSize: "large" }), /* @__PURE__ */ React17.createElement(StyledHeader, { variant: "subtitle2", component: "h2", color: "text.secondary" }, __13("There are no global classes yet.", "elementor")), /* @__PURE__ */ React17.createElement(Typography8, { align: "center", variant: "caption", color: "text.secondary" }, __13(
|
|
1655
1793
|
"CSS classes created in the editor panel will appear here. Once they are available, you can arrange their hierarchy, rename them, or delete them as needed.",
|
|
1656
1794
|
"elementor"
|
|
1657
1795
|
)));
|
|
1658
|
-
var StyledHeader = styled6(
|
|
1796
|
+
var StyledHeader = styled6(Typography8)(({ theme, variant }) => ({
|
|
1659
1797
|
"&.MuiTypography-root": {
|
|
1660
1798
|
...theme.typography[variant]
|
|
1661
1799
|
}
|
|
@@ -1706,22 +1844,22 @@ function unblockPanelInteractions() {
|
|
|
1706
1844
|
}
|
|
1707
1845
|
|
|
1708
1846
|
// src/components/class-manager/save-changes-dialog.tsx
|
|
1709
|
-
import * as
|
|
1847
|
+
import * as React18 from "react";
|
|
1710
1848
|
import { useState as useState5 } from "react";
|
|
1711
1849
|
import { AlertTriangleFilledIcon } from "@elementor/icons";
|
|
1712
1850
|
import {
|
|
1713
|
-
Button as
|
|
1851
|
+
Button as Button3,
|
|
1714
1852
|
Dialog as Dialog2,
|
|
1715
|
-
DialogActions as
|
|
1716
|
-
DialogContent as
|
|
1853
|
+
DialogActions as DialogActions3,
|
|
1854
|
+
DialogContent as DialogContent3,
|
|
1717
1855
|
DialogContentText as DialogContentText2,
|
|
1718
1856
|
DialogTitle as DialogTitle2
|
|
1719
1857
|
} from "@elementor/ui";
|
|
1720
1858
|
var TITLE_ID2 = "save-changes-dialog";
|
|
1721
|
-
var SaveChangesDialog = ({ children, onClose }) => /* @__PURE__ */
|
|
1722
|
-
var SaveChangesDialogTitle = ({ children }) => /* @__PURE__ */
|
|
1723
|
-
var SaveChangesDialogContent = ({ children }) => /* @__PURE__ */
|
|
1724
|
-
var SaveChangesDialogContentText = (props) => /* @__PURE__ */
|
|
1859
|
+
var SaveChangesDialog = ({ children, onClose }) => /* @__PURE__ */ React18.createElement(Dialog2, { open: true, onClose, "aria-labelledby": TITLE_ID2, maxWidth: "xs" }, children);
|
|
1860
|
+
var SaveChangesDialogTitle = ({ children }) => /* @__PURE__ */ React18.createElement(DialogTitle2, { id: TITLE_ID2, display: "flex", alignItems: "center", gap: 1, sx: { lineHeight: 1 } }, /* @__PURE__ */ React18.createElement(AlertTriangleFilledIcon, { color: "secondary" }), children);
|
|
1861
|
+
var SaveChangesDialogContent = ({ children }) => /* @__PURE__ */ React18.createElement(DialogContent3, null, children);
|
|
1862
|
+
var SaveChangesDialogContentText = (props) => /* @__PURE__ */ React18.createElement(DialogContentText2, { variant: "body2", color: "textPrimary", display: "flex", flexDirection: "column", ...props });
|
|
1725
1863
|
var SaveChangesDialogActions = ({ actions }) => {
|
|
1726
1864
|
const [isConfirming, setIsConfirming] = useState5(false);
|
|
1727
1865
|
const { cancel, confirm, discard } = actions;
|
|
@@ -1730,7 +1868,7 @@ var SaveChangesDialogActions = ({ actions }) => {
|
|
|
1730
1868
|
await confirm.action();
|
|
1731
1869
|
setIsConfirming(false);
|
|
1732
1870
|
};
|
|
1733
|
-
return /* @__PURE__ */
|
|
1871
|
+
return /* @__PURE__ */ React18.createElement(DialogActions3, null, cancel && /* @__PURE__ */ React18.createElement(Button3, { variant: "text", color: "secondary", onClick: cancel.action }, cancel.label), discard && /* @__PURE__ */ React18.createElement(Button3, { variant: "text", color: "secondary", onClick: discard.action }, discard.label), /* @__PURE__ */ React18.createElement(Button3, { variant: "contained", color: "secondary", onClick: onConfirm, loading: isConfirming }, confirm.label));
|
|
1734
1872
|
};
|
|
1735
1873
|
SaveChangesDialog.Title = SaveChangesDialogTitle;
|
|
1736
1874
|
SaveChangesDialog.Content = SaveChangesDialogContent;
|
|
@@ -1768,7 +1906,7 @@ function ClassManagerPanel() {
|
|
|
1768
1906
|
closeSaveChangesDialog();
|
|
1769
1907
|
};
|
|
1770
1908
|
usePreventUnload();
|
|
1771
|
-
return /* @__PURE__ */
|
|
1909
|
+
return /* @__PURE__ */ React19.createElement(ThemeProvider, null, /* @__PURE__ */ React19.createElement(ErrorBoundary, { fallback: /* @__PURE__ */ React19.createElement(ErrorBoundaryFallback, null) }, /* @__PURE__ */ React19.createElement(Panel, null, /* @__PURE__ */ React19.createElement(SearchAndFilterProvider, null, /* @__PURE__ */ React19.createElement(PanelHeader, null, /* @__PURE__ */ React19.createElement(Stack9, { p: 1, pl: 2, width: "100%", direction: "row", alignItems: "center" }, /* @__PURE__ */ React19.createElement(Stack9, { width: "100%", direction: "row", gap: 1 }, /* @__PURE__ */ React19.createElement(PanelHeaderTitle, { sx: { display: "flex", alignItems: "center", gap: 0.5 } }, /* @__PURE__ */ React19.createElement(FlippedColorSwatchIcon, { fontSize: "inherit" }), __14("Class Manager", "elementor")), /* @__PURE__ */ React19.createElement(TotalCssClassCounter, null)), /* @__PURE__ */ React19.createElement(
|
|
1772
1910
|
CloseButton,
|
|
1773
1911
|
{
|
|
1774
1912
|
sx: { marginLeft: "auto" },
|
|
@@ -1781,7 +1919,7 @@ function ClassManagerPanel() {
|
|
|
1781
1919
|
closePanel();
|
|
1782
1920
|
}
|
|
1783
1921
|
}
|
|
1784
|
-
))), /* @__PURE__ */
|
|
1922
|
+
))), /* @__PURE__ */ React19.createElement(
|
|
1785
1923
|
PanelBody,
|
|
1786
1924
|
{
|
|
1787
1925
|
sx: {
|
|
@@ -1790,10 +1928,10 @@ function ClassManagerPanel() {
|
|
|
1790
1928
|
height: "100%"
|
|
1791
1929
|
}
|
|
1792
1930
|
},
|
|
1793
|
-
/* @__PURE__ */
|
|
1794
|
-
/* @__PURE__ */
|
|
1795
|
-
/* @__PURE__ */
|
|
1796
|
-
|
|
1931
|
+
/* @__PURE__ */ React19.createElement(Box10, { px: 2, pb: 1 }, /* @__PURE__ */ React19.createElement(Stack9, { direction: "row", justifyContent: "spaceBetween", gap: 0.5, sx: { pb: 0.5 } }, /* @__PURE__ */ React19.createElement(Box10, { sx: { flexGrow: 1 } }, /* @__PURE__ */ React19.createElement(ClassManagerSearch, null)), /* @__PURE__ */ React19.createElement(CssClassFilter, null)), /* @__PURE__ */ React19.createElement(ActiveFilters, null)),
|
|
1932
|
+
/* @__PURE__ */ React19.createElement(Divider4, null),
|
|
1933
|
+
/* @__PURE__ */ React19.createElement(
|
|
1934
|
+
Box10,
|
|
1797
1935
|
{
|
|
1798
1936
|
px: 2,
|
|
1799
1937
|
sx: {
|
|
@@ -1801,10 +1939,10 @@ function ClassManagerPanel() {
|
|
|
1801
1939
|
overflowY: "auto"
|
|
1802
1940
|
}
|
|
1803
1941
|
},
|
|
1804
|
-
/* @__PURE__ */
|
|
1942
|
+
/* @__PURE__ */ React19.createElement(GlobalClassesList, { disabled: isPublishing })
|
|
1805
1943
|
)
|
|
1806
|
-
), /* @__PURE__ */
|
|
1807
|
-
|
|
1944
|
+
), /* @__PURE__ */ React19.createElement(PanelFooter, null, /* @__PURE__ */ React19.createElement(
|
|
1945
|
+
Button4,
|
|
1808
1946
|
{
|
|
1809
1947
|
fullWidth: true,
|
|
1810
1948
|
size: "small",
|
|
@@ -1814,19 +1952,19 @@ function ClassManagerPanel() {
|
|
|
1814
1952
|
disabled: !isDirty2,
|
|
1815
1953
|
loading: isPublishing
|
|
1816
1954
|
},
|
|
1817
|
-
|
|
1818
|
-
))))), /* @__PURE__ */
|
|
1955
|
+
__14("Save changes", "elementor")
|
|
1956
|
+
))))), /* @__PURE__ */ React19.createElement(ClassManagerIntroduction, null), isSaveChangesDialogOpen && /* @__PURE__ */ React19.createElement(SaveChangesDialog, null, /* @__PURE__ */ React19.createElement(DialogHeader2, { onClose: closeSaveChangesDialog, logo: false }, /* @__PURE__ */ React19.createElement(SaveChangesDialog.Title, null, __14("You have unsaved changes", "elementor"))), /* @__PURE__ */ React19.createElement(SaveChangesDialog.Content, null, /* @__PURE__ */ React19.createElement(SaveChangesDialog.ContentText, null, __14("You have unsaved changes in the Class Manager.", "elementor")), /* @__PURE__ */ React19.createElement(SaveChangesDialog.ContentText, null, __14("To avoid losing your updates, save your changes before leaving.", "elementor"))), /* @__PURE__ */ React19.createElement(
|
|
1819
1957
|
SaveChangesDialog.Actions,
|
|
1820
1958
|
{
|
|
1821
1959
|
actions: {
|
|
1822
1960
|
discard: {
|
|
1823
|
-
label:
|
|
1961
|
+
label: __14("Discard", "elementor"),
|
|
1824
1962
|
action: () => {
|
|
1825
1963
|
resetAndClosePanel();
|
|
1826
1964
|
}
|
|
1827
1965
|
},
|
|
1828
1966
|
confirm: {
|
|
1829
|
-
label:
|
|
1967
|
+
label: __14("Save & Continue", "elementor"),
|
|
1830
1968
|
action: async () => {
|
|
1831
1969
|
await publish();
|
|
1832
1970
|
closeSaveChangesDialog();
|
|
@@ -1837,8 +1975,8 @@ function ClassManagerPanel() {
|
|
|
1837
1975
|
}
|
|
1838
1976
|
)));
|
|
1839
1977
|
}
|
|
1840
|
-
var CloseButton = ({ onClose, ...props }) => /* @__PURE__ */
|
|
1841
|
-
var ErrorBoundaryFallback = () => /* @__PURE__ */
|
|
1978
|
+
var CloseButton = ({ onClose, ...props }) => /* @__PURE__ */ React19.createElement(IconButton4, { size: "small", color: "secondary", onClick: onClose, "aria-label": "Close", ...props }, /* @__PURE__ */ React19.createElement(XIcon, { fontSize: "small" }));
|
|
1979
|
+
var ErrorBoundaryFallback = () => /* @__PURE__ */ React19.createElement(Box10, { role: "alert", sx: { minHeight: "100%", p: 2 } }, /* @__PURE__ */ React19.createElement(Alert2, { severity: "error", sx: { mb: 2, maxWidth: 400, textAlign: "center" } }, /* @__PURE__ */ React19.createElement("strong", null, __14("Something went wrong", "elementor"))));
|
|
1842
1980
|
var usePreventUnload = () => {
|
|
1843
1981
|
const isDirty2 = useDirtyState();
|
|
1844
1982
|
useEffect2(() => {
|
|
@@ -1867,7 +2005,7 @@ var usePublish = () => {
|
|
|
1867
2005
|
var TotalCssClassCounter = () => {
|
|
1868
2006
|
const filters = useFilters();
|
|
1869
2007
|
const cssClasses = useClassesOrder();
|
|
1870
|
-
return /* @__PURE__ */
|
|
2008
|
+
return /* @__PURE__ */ React19.createElement(
|
|
1871
2009
|
Chip4,
|
|
1872
2010
|
{
|
|
1873
2011
|
size: "small",
|
|
@@ -1896,19 +2034,19 @@ var ClassManagerButton = () => {
|
|
|
1896
2034
|
openPanel();
|
|
1897
2035
|
prefetchClassesUsage();
|
|
1898
2036
|
};
|
|
1899
|
-
return /* @__PURE__ */
|
|
2037
|
+
return /* @__PURE__ */ React20.createElement(React20.Fragment, null, /* @__PURE__ */ React20.createElement(Tooltip6, { title: __15("Class Manager", "elementor"), placement: "top" }, /* @__PURE__ */ React20.createElement(IconButton5, { size: "tiny", onClick: handleOpenPanel, sx: { marginInlineEnd: -0.75 } }, /* @__PURE__ */ React20.createElement(FlippedColorSwatchIcon, { fontSize: "tiny" }))), isSaveChangesDialogOpen && /* @__PURE__ */ React20.createElement(SaveChangesDialog, null, /* @__PURE__ */ React20.createElement(SaveChangesDialog.Title, null, __15("You have unsaved changes", "elementor")), /* @__PURE__ */ React20.createElement(SaveChangesDialog.Content, null, /* @__PURE__ */ React20.createElement(SaveChangesDialog.ContentText, { sx: { mb: 2 } }, __15(
|
|
1900
2038
|
"To open the Class Manager, save your page first. You can't continue without saving.",
|
|
1901
2039
|
"elementor"
|
|
1902
|
-
))), /* @__PURE__ */
|
|
2040
|
+
))), /* @__PURE__ */ React20.createElement(
|
|
1903
2041
|
SaveChangesDialog.Actions,
|
|
1904
2042
|
{
|
|
1905
2043
|
actions: {
|
|
1906
2044
|
cancel: {
|
|
1907
|
-
label:
|
|
2045
|
+
label: __15("Stay here", "elementor"),
|
|
1908
2046
|
action: closeSaveChangesDialog
|
|
1909
2047
|
},
|
|
1910
2048
|
confirm: {
|
|
1911
|
-
label:
|
|
2049
|
+
label: __15("Save & Continue", "elementor"),
|
|
1912
2050
|
action: async () => {
|
|
1913
2051
|
await saveDocument();
|
|
1914
2052
|
closeSaveChangesDialog();
|
|
@@ -1922,11 +2060,11 @@ var ClassManagerButton = () => {
|
|
|
1922
2060
|
};
|
|
1923
2061
|
|
|
1924
2062
|
// src/components/convert-local-class-to-global-class.tsx
|
|
1925
|
-
import * as
|
|
2063
|
+
import * as React21 from "react";
|
|
1926
2064
|
import { validateStyleLabel as validateStyleLabel2 } from "@elementor/editor-styles-repository";
|
|
1927
2065
|
import { MenuListItem as MenuListItem2 } from "@elementor/editor-ui";
|
|
1928
|
-
import { Divider as
|
|
1929
|
-
import { __ as
|
|
2066
|
+
import { Divider as Divider5 } from "@elementor/ui";
|
|
2067
|
+
import { __ as __16 } from "@wordpress/i18n";
|
|
1930
2068
|
var ConvertLocalClassToGlobalClass = (props) => {
|
|
1931
2069
|
const localStyleData = props.styleDef;
|
|
1932
2070
|
const handleConversion = () => {
|
|
@@ -1939,7 +2077,7 @@ var ConvertLocalClassToGlobalClass = (props) => {
|
|
|
1939
2077
|
props.successCallback(newId);
|
|
1940
2078
|
}
|
|
1941
2079
|
};
|
|
1942
|
-
return /* @__PURE__ */
|
|
2080
|
+
return /* @__PURE__ */ React21.createElement(React21.Fragment, null, /* @__PURE__ */ React21.createElement(
|
|
1943
2081
|
MenuListItem2,
|
|
1944
2082
|
{
|
|
1945
2083
|
disabled: !props.canConvert,
|
|
@@ -1953,8 +2091,8 @@ var ConvertLocalClassToGlobalClass = (props) => {
|
|
|
1953
2091
|
}
|
|
1954
2092
|
}
|
|
1955
2093
|
},
|
|
1956
|
-
|
|
1957
|
-
), /* @__PURE__ */
|
|
2094
|
+
__16("Convert to global class", "elementor")
|
|
2095
|
+
), /* @__PURE__ */ React21.createElement(Divider5, null));
|
|
1958
2096
|
};
|
|
1959
2097
|
function createClassName(prefix) {
|
|
1960
2098
|
let i = 1;
|
|
@@ -1993,14 +2131,18 @@ function PopulateStore() {
|
|
|
1993
2131
|
return null;
|
|
1994
2132
|
}
|
|
1995
2133
|
|
|
2134
|
+
// src/sync-with-document.tsx
|
|
2135
|
+
import { useEffect as useEffect4 } from "react";
|
|
2136
|
+
import { __privateListenTo as listenTo, v1ReadyEvent } from "@elementor/editor-v1-adapters";
|
|
2137
|
+
|
|
1996
2138
|
// src/sync-with-document-save.ts
|
|
1997
2139
|
import { getCurrentUser } from "@elementor/editor-current-user";
|
|
1998
2140
|
import { setDocumentModifiedStatus as setDocumentModifiedStatus2 } from "@elementor/editor-documents";
|
|
1999
2141
|
import { registerDataHook } from "@elementor/editor-v1-adapters";
|
|
2000
2142
|
import { __getState as getState3, __subscribeWithSelector as subscribeWithSelector2 } from "@elementor/store";
|
|
2001
|
-
function syncWithDocumentSave() {
|
|
2143
|
+
function syncWithDocumentSave(panelActions) {
|
|
2002
2144
|
const unsubscribe = syncDirtyState();
|
|
2003
|
-
bindSaveAction();
|
|
2145
|
+
bindSaveAction(panelActions);
|
|
2004
2146
|
return unsubscribe;
|
|
2005
2147
|
}
|
|
2006
2148
|
function syncDirtyState() {
|
|
@@ -2011,15 +2153,16 @@ function syncDirtyState() {
|
|
|
2011
2153
|
setDocumentModifiedStatus2(true);
|
|
2012
2154
|
});
|
|
2013
2155
|
}
|
|
2014
|
-
function bindSaveAction() {
|
|
2156
|
+
function bindSaveAction(panelActions) {
|
|
2015
2157
|
registerDataHook("after", "document/save/save", (args) => {
|
|
2016
2158
|
const user = getCurrentUser();
|
|
2017
2159
|
const canEdit = user?.capabilities.includes(UPDATE_CLASS_CAPABILITY_KEY);
|
|
2018
2160
|
if (!canEdit) {
|
|
2019
2161
|
return;
|
|
2020
2162
|
}
|
|
2021
|
-
|
|
2022
|
-
context: args.status === "publish" ? "frontend" : "preview"
|
|
2163
|
+
saveGlobalClasses({
|
|
2164
|
+
context: args.status === "publish" ? "frontend" : "preview",
|
|
2165
|
+
onApprove: panelActions?.open
|
|
2023
2166
|
});
|
|
2024
2167
|
});
|
|
2025
2168
|
}
|
|
@@ -2027,6 +2170,17 @@ function isDirty() {
|
|
|
2027
2170
|
return selectIsDirty(getState3());
|
|
2028
2171
|
}
|
|
2029
2172
|
|
|
2173
|
+
// src/sync-with-document.tsx
|
|
2174
|
+
function SyncWithDocumentSave() {
|
|
2175
|
+
const panelActions = usePanelActions();
|
|
2176
|
+
useEffect4(() => {
|
|
2177
|
+
listenTo(v1ReadyEvent(), () => {
|
|
2178
|
+
syncWithDocumentSave(panelActions);
|
|
2179
|
+
});
|
|
2180
|
+
}, []);
|
|
2181
|
+
return null;
|
|
2182
|
+
}
|
|
2183
|
+
|
|
2030
2184
|
// src/init.ts
|
|
2031
2185
|
function init() {
|
|
2032
2186
|
registerSlice(slice);
|
|
@@ -2036,6 +2190,10 @@ function init() {
|
|
|
2036
2190
|
id: "global-classes-populate-store",
|
|
2037
2191
|
component: PopulateStore
|
|
2038
2192
|
});
|
|
2193
|
+
injectIntoLogic({
|
|
2194
|
+
id: "global-classes-sync-with-document",
|
|
2195
|
+
component: SyncWithDocumentSave
|
|
2196
|
+
});
|
|
2039
2197
|
injectIntoCssClassConvert({
|
|
2040
2198
|
id: "global-classes-convert-from-local-class",
|
|
2041
2199
|
component: ConvertLocalClassToGlobalClass
|
|
@@ -2048,12 +2206,8 @@ function init() {
|
|
|
2048
2206
|
name: "global",
|
|
2049
2207
|
getThemeColor: (theme) => theme.palette.global.dark
|
|
2050
2208
|
});
|
|
2051
|
-
listenTo(v1ReadyEvent(), () => {
|
|
2052
|
-
syncWithDocumentSave();
|
|
2053
|
-
});
|
|
2054
2209
|
}
|
|
2055
2210
|
export {
|
|
2056
|
-
ClearIconButton,
|
|
2057
2211
|
init
|
|
2058
2212
|
};
|
|
2059
2213
|
//# sourceMappingURL=index.mjs.map
|