@payloadcms/ui 3.0.0-beta.106 → 3.0.0-beta.108
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/elements/BulkUpload/ActionsBar/index.js +2 -2
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +3 -1
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +3 -1
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/Button/types.d.ts +6 -0
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +51 -25
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/index.d.ts.map +1 -1
- package/dist/elements/CodeEditor/index.js +2 -8
- package/dist/elements/CodeEditor/index.js.map +1 -1
- package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
- package/dist/elements/ColumnSelector/index.js +14 -2
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.d.ts +4 -1
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +42 -6
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.scss +8 -0
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +23 -17
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +4 -1
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +235 -124
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/Hamburger/index.scss +4 -0
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +9 -5
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/index.scss +0 -6
- package/dist/elements/ListDrawer/DrawerContent.d.ts +2 -0
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +3 -3
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/index.d.ts.map +1 -1
- package/dist/elements/ListDrawer/index.js +18 -15
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListDrawer/types.d.ts +2 -0
- package/dist/elements/ListDrawer/types.d.ts.map +1 -1
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +9 -5
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.scss +7 -3
- package/dist/elements/Locked/index.d.ts +8 -0
- package/dist/elements/Locked/index.d.ts.map +1 -0
- package/dist/elements/Locked/index.js +72 -0
- package/dist/elements/Locked/index.js.map +1 -0
- package/dist/elements/Locked/index.scss +14 -0
- package/dist/elements/Pagination/index.d.ts.map +1 -1
- package/dist/elements/Pagination/index.js +1 -1
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.d.ts +5 -5
- package/dist/elements/PerPage/index.d.ts.map +1 -1
- package/dist/elements/PerPage/index.js +2 -1
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/Pill/index.scss +3 -1
- package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -1
- package/dist/elements/PreviewButton/usePreviewURL.js +11 -3
- package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +97 -46
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/index.js +2 -1
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.scss +4 -0
- package/dist/elements/RelationshipTable/TableWrapper.d.ts +8 -0
- package/dist/elements/RelationshipTable/TableWrapper.d.ts.map +1 -0
- package/dist/elements/RelationshipTable/TableWrapper.js +69 -0
- package/dist/elements/RelationshipTable/TableWrapper.js.map +1 -0
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts +8 -0
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts.map +1 -0
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +82 -0
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -0
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.scss +4 -0
- package/dist/elements/RelationshipTable/index.d.ts +15 -0
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -0
- package/dist/elements/RelationshipTable/index.js +445 -0
- package/dist/elements/RelationshipTable/index.js.map +1 -0
- package/dist/elements/RelationshipTable/index.scss +26 -0
- package/dist/elements/SelectRow/index.d.ts.map +1 -1
- package/dist/elements/SelectRow/index.js +60 -29
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/SortColumn/index.d.ts +1 -0
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +29 -17
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortColumn/index.scss +10 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +2 -3
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +43 -40
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.scss +0 -3
- package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -0
- package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.js +1 -0
- package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
- package/dist/elements/Table/RenderCell.d.ts +11 -0
- package/dist/elements/Table/RenderCell.d.ts.map +1 -0
- package/dist/elements/Table/RenderCell.js +30 -0
- package/dist/elements/Table/RenderCell.js.map +1 -0
- package/dist/elements/Table/index.d.ts +3 -6
- package/dist/elements/Table/index.d.ts.map +1 -1
- package/dist/elements/Table/index.js +36 -31
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Table/index.scss +50 -0
- package/dist/elements/TableColumns/buildColumnState.d.ts +5 -2
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js +35 -22
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/TableColumns/index.d.ts +5 -0
- package/dist/elements/TableColumns/index.d.ts.map +1 -1
- package/dist/elements/TableColumns/index.js +107 -74
- package/dist/elements/TableColumns/index.js.map +1 -1
- package/dist/elements/Tooltip/index.d.ts +1 -0
- package/dist/elements/Tooltip/index.d.ts.map +1 -1
- package/dist/elements/Tooltip/index.js +15 -13
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Tooltip/index.scss +2 -2
- package/dist/elements/UnpublishMany/index.js +2 -1
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +32 -30
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-CHKRX3U2.js → CodeEditor-CXCLJBIQ.js} +6 -4
- package/dist/exports/client/CodeEditor-CXCLJBIQ.js.map +8 -0
- package/dist/exports/client/{DatePicker-OLRZVTAD.js → DatePicker-NBYDOP2X.js} +2 -2
- package/dist/exports/client/{chunk-JINNHJP7.js → chunk-6MRITTMD.js} +3 -3
- package/dist/exports/client/{chunk-JINNHJP7.js.map → chunk-6MRITTMD.js.map} +4 -4
- package/dist/exports/client/chunk-W2YIQDPJ.js +14 -0
- package/dist/exports/client/{chunk-BGA6EPOL.js.map → chunk-W2YIQDPJ.js.map} +2 -2
- package/dist/exports/client/index.d.ts +1 -0
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +19 -19
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +2 -2
- package/dist/fields/Array/ArrayRow.js +2 -2
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +2 -2
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts +16 -16
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +2 -2
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Join/index.d.ts +9 -0
- package/dist/fields/Join/index.d.ts.map +1 -0
- package/dist/fields/Join/index.js +75 -0
- package/dist/fields/Join/index.js.map +1 -0
- package/dist/fields/Password/index.js +29 -25
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +11 -13
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Row/index.scss +3 -0
- package/dist/fields/Textarea/index.d.ts.map +1 -1
- package/dist/fields/Textarea/index.js +2 -0
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +28 -29
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/fields/Upload/UploadCard/index.scss +0 -1
- package/dist/fields/index.d.ts.map +1 -1
- package/dist/fields/index.js +2 -0
- package/dist/fields/index.js.map +1 -1
- package/dist/forms/Form/index.js +6 -2
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/NullifyField/index.d.ts.map +1 -1
- package/dist/forms/NullifyField/index.js +1 -0
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +3 -1
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.d.ts.map +1 -1
- package/dist/forms/RenderFields/index.js +18 -15
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +3 -4
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
- package/dist/forms/buildStateFromSchema/index.d.ts +2 -0
- package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/index.js.map +1 -1
- package/dist/forms/useField/index.js +203 -111
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/hooks/useDelay.js +48 -15
- package/dist/hooks/useDelay.js.map +1 -1
- package/dist/hooks/useDelayedRender.js +71 -32
- package/dist/hooks/useDelayedRender.js.map +1 -1
- package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/icons/Chevron/index.d.ts +3 -3
- package/dist/icons/Chevron/index.d.ts.map +1 -1
- package/dist/icons/Chevron/index.js +4 -4
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/Chevron/index.scss +9 -1
- package/dist/icons/Lock/index.d.ts +6 -0
- package/dist/icons/Lock/index.d.ts.map +1 -0
- package/dist/icons/Lock/index.js +27 -0
- package/dist/icons/Lock/index.js.map +1 -0
- package/dist/icons/Lock/index.scss +8 -0
- package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
- package/dist/providers/Config/createClientConfig/collections.js +11 -1
- package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
- package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -1
- package/dist/providers/Config/createClientConfig/fields.js +3 -0
- package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +109 -8
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +32 -27
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts +5 -5
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/Preferences/index.js +3 -1
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +2 -1
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/Selection/index.d.ts +2 -1
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +23 -8
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/Translation/index.d.ts.map +1 -1
- package/dist/providers/Translation/index.js +5 -7
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/buildFormState.d.ts +9 -3
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +82 -4
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/deepMerge.d.ts +12 -0
- package/dist/utilities/deepMerge.d.ts.map +1 -0
- package/dist/utilities/deepMerge.js +25 -0
- package/dist/utilities/deepMerge.js.map +1 -0
- package/dist/utilities/getFormState.d.ts +8 -2
- package/dist/utilities/getFormState.d.ts.map +1 -1
- package/dist/utilities/getFormState.js +3 -1
- package/dist/utilities/getFormState.js.map +1 -1
- package/package.json +15 -15
- package/dist/exports/client/CodeEditor-CHKRX3U2.js.map +0 -8
- package/dist/exports/client/chunk-BGA6EPOL.js +0 -14
- /package/dist/exports/client/{DatePicker-OLRZVTAD.js.map → DatePicker-NBYDOP2X.js.map} +0 -0
|
@@ -13,14 +13,16 @@ export const useTableColumns = () => {
|
|
|
13
13
|
return useContext(TableColumnContext);
|
|
14
14
|
};
|
|
15
15
|
export const TableColumnsProvider = t0 => {
|
|
16
|
-
const $ = _c(
|
|
16
|
+
const $ = _c(63);
|
|
17
17
|
const {
|
|
18
|
+
beforeRows,
|
|
18
19
|
cellProps,
|
|
19
20
|
children,
|
|
20
21
|
collectionSlug,
|
|
21
22
|
enableRowSelections: t1,
|
|
22
23
|
listPreferences,
|
|
23
|
-
preferenceKey
|
|
24
|
+
preferenceKey,
|
|
25
|
+
sortColumnProps
|
|
24
26
|
} = t0;
|
|
25
27
|
const enableRowSelections = t1 === undefined ? false : t1;
|
|
26
28
|
const {
|
|
@@ -33,7 +35,7 @@ export const TableColumnsProvider = t0 => {
|
|
|
33
35
|
if ($[0] !== collectionSlug || $[1] !== collections) {
|
|
34
36
|
let t4;
|
|
35
37
|
if ($[3] !== collectionSlug) {
|
|
36
|
-
t4 =
|
|
38
|
+
t4 = c => c.slug === collectionSlug;
|
|
37
39
|
$[3] = collectionSlug;
|
|
38
40
|
$[4] = t4;
|
|
39
41
|
} else {
|
|
@@ -46,11 +48,11 @@ export const TableColumnsProvider = t0 => {
|
|
|
46
48
|
} else {
|
|
47
49
|
t3 = $[2];
|
|
48
50
|
}
|
|
49
|
-
const
|
|
51
|
+
const collectionConfig = t3;
|
|
50
52
|
const {
|
|
51
53
|
admin: t4,
|
|
52
54
|
fields
|
|
53
|
-
} =
|
|
55
|
+
} = collectionConfig;
|
|
54
56
|
const {
|
|
55
57
|
defaultColumns,
|
|
56
58
|
useAsTitle
|
|
@@ -72,46 +74,48 @@ export const TableColumnsProvider = t0 => {
|
|
|
72
74
|
}
|
|
73
75
|
const [initialColumns] = useState(t5);
|
|
74
76
|
let t6;
|
|
75
|
-
if ($[9] !==
|
|
77
|
+
if ($[9] !== beforeRows || $[10] !== listPreferences || $[11] !== initialColumns || $[12] !== enableRowSelections || $[13] !== fields || $[14] !== sortColumnProps || $[15] !== useAsTitle) {
|
|
76
78
|
t6 = () => buildColumnState({
|
|
77
|
-
|
|
79
|
+
beforeRows,
|
|
78
80
|
columnPreferences: listPreferences?.columns,
|
|
79
81
|
columns: initialColumns,
|
|
80
82
|
enableRowSelections,
|
|
81
83
|
fields,
|
|
84
|
+
sortColumnProps,
|
|
82
85
|
useAsTitle
|
|
83
86
|
});
|
|
84
|
-
$[9] =
|
|
87
|
+
$[9] = beforeRows;
|
|
85
88
|
$[10] = listPreferences;
|
|
86
89
|
$[11] = initialColumns;
|
|
87
90
|
$[12] = enableRowSelections;
|
|
88
91
|
$[13] = fields;
|
|
89
|
-
$[14] =
|
|
90
|
-
$[15] =
|
|
92
|
+
$[14] = sortColumnProps;
|
|
93
|
+
$[15] = useAsTitle;
|
|
94
|
+
$[16] = t6;
|
|
91
95
|
} else {
|
|
92
|
-
t6 = $[
|
|
96
|
+
t6 = $[16];
|
|
93
97
|
}
|
|
94
98
|
const [tableColumns, setTableColumns] = React.useState(t6);
|
|
95
99
|
let t7;
|
|
96
|
-
if ($[
|
|
100
|
+
if ($[17] !== setPreference || $[18] !== preferenceKey) {
|
|
97
101
|
t7 = newColumns => {
|
|
98
|
-
const columns = newColumns.map(
|
|
99
|
-
accessor:
|
|
100
|
-
active:
|
|
102
|
+
const columns = newColumns.map(c_0 => ({
|
|
103
|
+
accessor: c_0?.accessor,
|
|
104
|
+
active: c_0?.active
|
|
101
105
|
}));
|
|
102
106
|
setPreference(preferenceKey, {
|
|
103
107
|
columns
|
|
104
108
|
}, true);
|
|
105
109
|
};
|
|
106
|
-
$[
|
|
107
|
-
$[
|
|
108
|
-
$[
|
|
110
|
+
$[17] = setPreference;
|
|
111
|
+
$[18] = preferenceKey;
|
|
112
|
+
$[19] = t7;
|
|
109
113
|
} else {
|
|
110
|
-
t7 = $[
|
|
114
|
+
t7 = $[19];
|
|
111
115
|
}
|
|
112
116
|
const updateColumnPreferences = t7;
|
|
113
117
|
let t8;
|
|
114
|
-
if ($[
|
|
118
|
+
if ($[20] !== tableColumns || $[21] !== updateColumnPreferences) {
|
|
115
119
|
t8 = args => {
|
|
116
120
|
const {
|
|
117
121
|
fromIndex,
|
|
@@ -123,15 +127,15 @@ export const TableColumnsProvider = t0 => {
|
|
|
123
127
|
setTableColumns(withMovedColumn);
|
|
124
128
|
updateColumnPreferences(withMovedColumn);
|
|
125
129
|
};
|
|
126
|
-
$[
|
|
127
|
-
$[
|
|
128
|
-
$[
|
|
130
|
+
$[20] = tableColumns;
|
|
131
|
+
$[21] = updateColumnPreferences;
|
|
132
|
+
$[22] = t8;
|
|
129
133
|
} else {
|
|
130
|
-
t8 = $[
|
|
134
|
+
t8 = $[22];
|
|
131
135
|
}
|
|
132
136
|
const moveColumn = t8;
|
|
133
137
|
let t9;
|
|
134
|
-
if ($[
|
|
138
|
+
if ($[23] !== tableColumns || $[24] !== updateColumnPreferences) {
|
|
135
139
|
t9 = column => {
|
|
136
140
|
const toggledColumns = tableColumns.map(col => ({
|
|
137
141
|
...col,
|
|
@@ -140,32 +144,52 @@ export const TableColumnsProvider = t0 => {
|
|
|
140
144
|
setTableColumns(toggledColumns);
|
|
141
145
|
updateColumnPreferences(toggledColumns);
|
|
142
146
|
};
|
|
143
|
-
$[
|
|
144
|
-
$[
|
|
145
|
-
$[
|
|
147
|
+
$[23] = tableColumns;
|
|
148
|
+
$[24] = updateColumnPreferences;
|
|
149
|
+
$[25] = t9;
|
|
146
150
|
} else {
|
|
147
|
-
t9 = $[
|
|
151
|
+
t9 = $[25];
|
|
148
152
|
}
|
|
149
153
|
const toggleColumn = t9;
|
|
150
154
|
let t10;
|
|
151
|
-
if ($[
|
|
155
|
+
if ($[26] !== tableColumns || $[27] !== updateColumnPreferences) {
|
|
152
156
|
t10 = activeColumnAccessors => {
|
|
153
157
|
const activeColumns = tableColumns.map(col_0 => ({
|
|
154
158
|
...col_0,
|
|
155
159
|
active: activeColumnAccessors.includes(col_0.accessor)
|
|
156
|
-
}))
|
|
160
|
+
})).toSorted((first, second) => {
|
|
161
|
+
const indexOfFirst = activeColumnAccessors.indexOf(first.accessor);
|
|
162
|
+
const indexOfSecond = activeColumnAccessors.indexOf(second.accessor);
|
|
163
|
+
if (indexOfFirst === -1 || indexOfSecond === -1) {
|
|
164
|
+
return 0;
|
|
165
|
+
}
|
|
166
|
+
return indexOfFirst > indexOfSecond ? 1 : -1;
|
|
167
|
+
});
|
|
168
|
+
setTableColumns(activeColumns);
|
|
157
169
|
updateColumnPreferences(activeColumns);
|
|
158
170
|
};
|
|
159
|
-
$[
|
|
160
|
-
$[
|
|
161
|
-
$[
|
|
171
|
+
$[26] = tableColumns;
|
|
172
|
+
$[27] = updateColumnPreferences;
|
|
173
|
+
$[28] = t10;
|
|
162
174
|
} else {
|
|
163
|
-
t10 = $[
|
|
175
|
+
t10 = $[28];
|
|
164
176
|
}
|
|
165
177
|
const setActiveColumns = t10;
|
|
166
178
|
let t11;
|
|
167
|
-
if ($[
|
|
179
|
+
if ($[29] !== setActiveColumns || $[30] !== defaultColumns) {
|
|
168
180
|
t11 = () => {
|
|
181
|
+
setActiveColumns(defaultColumns);
|
|
182
|
+
};
|
|
183
|
+
$[29] = setActiveColumns;
|
|
184
|
+
$[30] = defaultColumns;
|
|
185
|
+
$[31] = t11;
|
|
186
|
+
} else {
|
|
187
|
+
t11 = $[31];
|
|
188
|
+
}
|
|
189
|
+
const resetColumnsState = t11;
|
|
190
|
+
let t12;
|
|
191
|
+
if ($[32] !== collectionSlug || $[33] !== listPreferences || $[34] !== getPreference || $[35] !== preferenceKey || $[36] !== beforeRows || $[37] !== initialColumns || $[38] !== enableRowSelections || $[39] !== fields || $[40] !== sortColumnProps || $[41] !== useAsTitle) {
|
|
192
|
+
t12 = () => {
|
|
169
193
|
const sync = async () => {
|
|
170
194
|
const collectionHasChanged = prevCollection.current !== collectionSlug;
|
|
171
195
|
if (collectionHasChanged || !listPreferences) {
|
|
@@ -173,11 +197,12 @@ export const TableColumnsProvider = t0 => {
|
|
|
173
197
|
prevCollection.current = collectionSlug;
|
|
174
198
|
if (currentPreferences?.columns) {
|
|
175
199
|
setTableColumns(buildColumnState({
|
|
176
|
-
|
|
200
|
+
beforeRows,
|
|
177
201
|
columnPreferences: currentPreferences?.columns,
|
|
178
202
|
columns: initialColumns,
|
|
179
|
-
enableRowSelections
|
|
203
|
+
enableRowSelections,
|
|
180
204
|
fields,
|
|
205
|
+
sortColumnProps,
|
|
181
206
|
useAsTitle
|
|
182
207
|
}));
|
|
183
208
|
}
|
|
@@ -185,55 +210,63 @@ export const TableColumnsProvider = t0 => {
|
|
|
185
210
|
};
|
|
186
211
|
sync();
|
|
187
212
|
};
|
|
188
|
-
$[
|
|
189
|
-
$[
|
|
190
|
-
$[
|
|
191
|
-
$[
|
|
192
|
-
$[
|
|
193
|
-
$[
|
|
194
|
-
$[
|
|
195
|
-
$[
|
|
196
|
-
$[
|
|
213
|
+
$[32] = collectionSlug;
|
|
214
|
+
$[33] = listPreferences;
|
|
215
|
+
$[34] = getPreference;
|
|
216
|
+
$[35] = preferenceKey;
|
|
217
|
+
$[36] = beforeRows;
|
|
218
|
+
$[37] = initialColumns;
|
|
219
|
+
$[38] = enableRowSelections;
|
|
220
|
+
$[39] = fields;
|
|
221
|
+
$[40] = sortColumnProps;
|
|
222
|
+
$[41] = useAsTitle;
|
|
223
|
+
$[42] = t12;
|
|
197
224
|
} else {
|
|
198
|
-
|
|
225
|
+
t12 = $[42];
|
|
199
226
|
}
|
|
200
|
-
let
|
|
201
|
-
if ($[
|
|
202
|
-
|
|
203
|
-
$[
|
|
204
|
-
$[
|
|
205
|
-
$[
|
|
206
|
-
$[
|
|
207
|
-
$[
|
|
208
|
-
$[
|
|
209
|
-
$[
|
|
210
|
-
$[
|
|
211
|
-
$[
|
|
212
|
-
$[
|
|
227
|
+
let t13;
|
|
228
|
+
if ($[43] !== preferenceKey || $[44] !== getPreference || $[45] !== collectionSlug || $[46] !== fields || $[47] !== defaultColumns || $[48] !== useAsTitle || $[49] !== listPreferences || $[50] !== initialColumns || $[51] !== beforeRows || $[52] !== enableRowSelections || $[53] !== sortColumnProps) {
|
|
229
|
+
t13 = [preferenceKey, getPreference, collectionSlug, fields, defaultColumns, useAsTitle, listPreferences, initialColumns, beforeRows, enableRowSelections, sortColumnProps];
|
|
230
|
+
$[43] = preferenceKey;
|
|
231
|
+
$[44] = getPreference;
|
|
232
|
+
$[45] = collectionSlug;
|
|
233
|
+
$[46] = fields;
|
|
234
|
+
$[47] = defaultColumns;
|
|
235
|
+
$[48] = useAsTitle;
|
|
236
|
+
$[49] = listPreferences;
|
|
237
|
+
$[50] = initialColumns;
|
|
238
|
+
$[51] = beforeRows;
|
|
239
|
+
$[52] = enableRowSelections;
|
|
240
|
+
$[53] = sortColumnProps;
|
|
241
|
+
$[54] = t13;
|
|
213
242
|
} else {
|
|
214
|
-
|
|
243
|
+
t13 = $[54];
|
|
215
244
|
}
|
|
216
|
-
React.useEffect(
|
|
217
|
-
let
|
|
218
|
-
if ($[
|
|
219
|
-
|
|
245
|
+
React.useEffect(t12, t13);
|
|
246
|
+
let t14;
|
|
247
|
+
if ($[55] !== cellProps || $[56] !== tableColumns || $[57] !== moveColumn || $[58] !== resetColumnsState || $[59] !== setActiveColumns || $[60] !== toggleColumn || $[61] !== children) {
|
|
248
|
+
t14 = _jsx(TableColumnContext.Provider, {
|
|
220
249
|
value: {
|
|
250
|
+
cellProps,
|
|
221
251
|
columns: tableColumns,
|
|
222
252
|
moveColumn,
|
|
253
|
+
resetColumnsState,
|
|
223
254
|
setActiveColumns,
|
|
224
255
|
toggleColumn
|
|
225
256
|
},
|
|
226
257
|
children
|
|
227
258
|
});
|
|
228
|
-
$[
|
|
229
|
-
$[
|
|
230
|
-
$[
|
|
231
|
-
$[
|
|
232
|
-
$[
|
|
233
|
-
$[
|
|
259
|
+
$[55] = cellProps;
|
|
260
|
+
$[56] = tableColumns;
|
|
261
|
+
$[57] = moveColumn;
|
|
262
|
+
$[58] = resetColumnsState;
|
|
263
|
+
$[59] = setActiveColumns;
|
|
264
|
+
$[60] = toggleColumn;
|
|
265
|
+
$[61] = children;
|
|
266
|
+
$[62] = t14;
|
|
234
267
|
} else {
|
|
235
|
-
|
|
268
|
+
t14 = $[62];
|
|
236
269
|
}
|
|
237
|
-
return
|
|
270
|
+
return t14;
|
|
238
271
|
};
|
|
239
272
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","createContext","useCallback","useContext","useState","useConfig","usePreferences","buildColumnState","filterFields","getInitialColumns","TableColumnContext","useTableColumns","TableColumnsProvider","t0","$","cellProps","children","collectionSlug","enableRowSelections","t1","listPreferences","preferenceKey","undefined","config","t2","collections","t3","t4","collectionConfig","slug","find","collectionConfig_0","admin","fields","defaultColumns","useAsTitle","prevCollection","useRef","getPreference","setPreference","t5","initialColumns","t6","columnPreferences","columns","tableColumns","setTableColumns","t7","newColumns","map","accessor","active","updateColumnPreferences","t8","args","fromIndex","toIndex","withMovedColumn","columnToMove","splice","moveColumn","t9","column","toggledColumns","col","field","name","toggleColumn","t10","activeColumnAccessors","activeColumns","col_0","includes","setActiveColumns","t11","sync","collectionHasChanged","current","currentPreferences","t12","useEffect","t13","_jsx","Provider","value"],"sources":["../../../src/elements/TableColumns/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, SanitizedCollectionConfig } from 'payload'\n\nimport React, { createContext, useCallback, useContext, useState } from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { buildColumnState } from './buildColumnState.js'\nimport { filterFields } from './filterFields.js'\nimport { getInitialColumns } from './getInitialColumns.js'\n\nexport interface ITableColumns {\n columns: Column[]\n moveColumn: (args: { fromIndex: number; toIndex: number }) => void\n setActiveColumns: (columns: string[]) => void\n toggleColumn: (column: string) => void\n}\n\nexport const TableColumnContext = createContext<ITableColumns>({} as ITableColumns)\n\nexport const useTableColumns = (): ITableColumns => useContext(TableColumnContext)\n\nexport type ListPreferences = {\n columns: ColumnPreferences\n}\n\ntype Props = {\n readonly cellProps?: Partial<CellComponentProps>[]\n readonly children: React.ReactNode\n readonly collectionSlug: string\n readonly enableRowSelections?: boolean\n readonly listPreferences?: ListPreferences\n readonly preferenceKey: string\n}\n\nexport const TableColumnsProvider: React.FC<Props> = ({\n cellProps,\n children,\n collectionSlug,\n enableRowSelections = false,\n listPreferences,\n preferenceKey,\n}) => {\n const {\n config: { collections },\n } = useConfig()\n\n const collectionConfig = collections.find(\n (collectionConfig) => collectionConfig.slug === collectionSlug,\n )\n\n const {\n admin: { defaultColumns, useAsTitle },\n fields,\n } = collectionConfig\n\n const prevCollection = React.useRef<SanitizedCollectionConfig['slug']>(collectionSlug)\n const { getPreference, setPreference } = usePreferences()\n\n const [initialColumns] = useState<ColumnPreferences>(() =>\n getInitialColumns(filterFields(fields), useAsTitle, defaultColumns),\n )\n\n const [tableColumns, setTableColumns] = React.useState(() =>\n buildColumnState({\n cellProps,\n columnPreferences: listPreferences?.columns,\n columns: initialColumns,\n enableRowSelections,\n fields,\n useAsTitle,\n }),\n )\n\n const updateColumnPreferences = React.useCallback(\n (newColumns: Column[]) => {\n const columns = newColumns.map((c) => ({\n accessor: c?.accessor,\n active: c?.active,\n }))\n\n void setPreference(preferenceKey, { columns }, true)\n },\n [preferenceKey, setPreference],\n )\n\n const moveColumn = useCallback(\n (args: { fromIndex: number; toIndex: number }) => {\n const { fromIndex, toIndex } = args\n\n const withMovedColumn = [...tableColumns]\n const [columnToMove] = withMovedColumn.splice(fromIndex, 1)\n withMovedColumn.splice(toIndex, 0, columnToMove)\n\n setTableColumns(withMovedColumn)\n updateColumnPreferences(withMovedColumn)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n const toggleColumn = useCallback(\n (column: string) => {\n const toggledColumns = tableColumns.map((col) => {\n return {\n ...col,\n active:\n col?.cellProps?.field &&\n 'name' in col.cellProps.field &&\n col?.cellProps?.field?.name === column\n ? !col.active\n : col.active,\n }\n })\n\n setTableColumns(toggledColumns)\n updateColumnPreferences(toggledColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n const setActiveColumns = React.useCallback(\n (activeColumnAccessors) => {\n const activeColumns = tableColumns.map((col) => {\n return {\n ...col,\n active: activeColumnAccessors.includes(col.accessor),\n }\n })\n\n updateColumnPreferences(activeColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n // //////////////////////////////////////////////\n // Get preferences on collection change (drawers)\n // //////////////////////////////////////////////\n\n React.useEffect(() => {\n const sync = async () => {\n const collectionHasChanged = prevCollection.current !== collectionSlug\n\n if (collectionHasChanged || !listPreferences) {\n const currentPreferences = await getPreference<{\n columns: ColumnPreferences\n }>(preferenceKey)\n prevCollection.current = collectionSlug\n\n if (currentPreferences?.columns) {\n setTableColumns(\n buildColumnState({\n cellProps,\n columnPreferences: currentPreferences?.columns,\n columns: initialColumns,\n enableRowSelections: true,\n fields,\n useAsTitle,\n }),\n )\n }\n }\n }\n\n void sync()\n }, [\n preferenceKey,\n getPreference,\n collectionSlug,\n fields,\n cellProps,\n defaultColumns,\n useAsTitle,\n listPreferences,\n initialColumns,\n ])\n\n return (\n <TableColumnContext.Provider\n value={{\n columns: tableColumns,\n moveColumn,\n setActiveColumns,\n toggleColumn,\n }}\n >\n {children}\n </TableColumnContext.Provider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","createContext","useCallback","useContext","useState","useConfig","usePreferences","buildColumnState","filterFields","getInitialColumns","TableColumnContext","useTableColumns","TableColumnsProvider","t0","$","beforeRows","cellProps","children","collectionSlug","enableRowSelections","t1","listPreferences","preferenceKey","sortColumnProps","undefined","config","t2","collections","t3","t4","slug","find","collectionConfig","admin","fields","defaultColumns","useAsTitle","prevCollection","useRef","getPreference","setPreference","t5","initialColumns","t6","columnPreferences","columns","tableColumns","setTableColumns","t7","newColumns","map","c_0","accessor","active","updateColumnPreferences","t8","args","fromIndex","toIndex","withMovedColumn","columnToMove","splice","moveColumn","t9","column","toggledColumns","col","field","name","toggleColumn","t10","activeColumnAccessors","activeColumns","col_0","includes","toSorted","first","second","indexOfFirst","indexOf","indexOfSecond","setActiveColumns","t11","resetColumnsState","t12","sync","collectionHasChanged","current","currentPreferences","t13","useEffect","t14","_jsx","Provider","value"],"sources":["../../../src/elements/TableColumns/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, SanitizedCollectionConfig } from 'payload'\n\nimport React, { createContext, useCallback, useContext, useState } from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\nimport type { SortColumnProps } from '../SortColumn/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { buildColumnState } from './buildColumnState.js'\nimport { filterFields } from './filterFields.js'\nimport { getInitialColumns } from './getInitialColumns.js'\n\nexport interface ITableColumns {\n cellProps?: Partial<CellComponentProps>[]\n columns: Column[]\n moveColumn: (args: { fromIndex: number; toIndex: number }) => void\n resetColumnsState: () => void\n setActiveColumns: (columns: string[]) => void\n toggleColumn: (column: string) => void\n}\n\nexport const TableColumnContext = createContext<ITableColumns>({} as ITableColumns)\n\nexport const useTableColumns = (): ITableColumns => useContext(TableColumnContext)\n\nexport type ListPreferences = {\n columns: ColumnPreferences\n}\n\ntype Props = {\n readonly beforeRows?: Column[]\n readonly cellProps?: Partial<CellComponentProps>[]\n readonly children: React.ReactNode\n readonly collectionSlug: string\n readonly enableRowSelections?: boolean\n readonly listPreferences?: ListPreferences\n readonly preferenceKey: string\n readonly sortColumnProps?: Partial<SortColumnProps>\n}\n\nexport const TableColumnsProvider: React.FC<Props> = ({\n beforeRows,\n cellProps,\n children,\n collectionSlug,\n enableRowSelections = false,\n listPreferences,\n preferenceKey,\n sortColumnProps,\n}) => {\n const {\n config: { collections },\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n\n const {\n admin: { defaultColumns, useAsTitle },\n fields,\n } = collectionConfig\n\n const prevCollection = React.useRef<SanitizedCollectionConfig['slug']>(collectionSlug)\n const { getPreference, setPreference } = usePreferences()\n\n const [initialColumns] = useState<ColumnPreferences>(() =>\n getInitialColumns(filterFields(fields), useAsTitle, defaultColumns),\n )\n\n const [tableColumns, setTableColumns] = React.useState(() =>\n buildColumnState({\n beforeRows,\n columnPreferences: listPreferences?.columns,\n columns: initialColumns,\n enableRowSelections,\n fields,\n sortColumnProps,\n useAsTitle,\n }),\n )\n\n const updateColumnPreferences = React.useCallback(\n (newColumns: Column[]) => {\n const columns = newColumns.map((c) => ({\n accessor: c?.accessor,\n active: c?.active,\n }))\n\n void setPreference(preferenceKey, { columns }, true)\n },\n [preferenceKey, setPreference],\n )\n\n const moveColumn = useCallback(\n (args: { fromIndex: number; toIndex: number }) => {\n const { fromIndex, toIndex } = args\n const withMovedColumn = [...tableColumns]\n const [columnToMove] = withMovedColumn.splice(fromIndex, 1)\n withMovedColumn.splice(toIndex, 0, columnToMove)\n setTableColumns(withMovedColumn)\n updateColumnPreferences(withMovedColumn)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n const toggleColumn = useCallback(\n (column: string) => {\n const toggledColumns = tableColumns.map((col) => {\n return {\n ...col,\n active:\n col?.cellProps?.field &&\n 'name' in col.cellProps.field &&\n col?.cellProps?.field?.name === column\n ? !col.active\n : col.active,\n }\n })\n\n setTableColumns(toggledColumns)\n updateColumnPreferences(toggledColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n const setActiveColumns = React.useCallback(\n (activeColumnAccessors: string[]) => {\n const activeColumns = tableColumns\n .map((col) => {\n return {\n ...col,\n active: activeColumnAccessors.includes(col.accessor),\n }\n })\n .toSorted((first, second) => {\n const indexOfFirst = activeColumnAccessors.indexOf(first.accessor)\n const indexOfSecond = activeColumnAccessors.indexOf(second.accessor)\n\n if (indexOfFirst === -1 || indexOfSecond === -1) {\n return 0\n }\n\n return indexOfFirst > indexOfSecond ? 1 : -1\n })\n\n setTableColumns(activeColumns)\n updateColumnPreferences(activeColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n const resetColumnsState = React.useCallback(() => {\n setActiveColumns(defaultColumns)\n }, [defaultColumns, setActiveColumns])\n\n // //////////////////////////////////////////////\n // Get preferences on collection change (drawers)\n // //////////////////////////////////////////////\n\n React.useEffect(() => {\n const sync = async () => {\n const collectionHasChanged = prevCollection.current !== collectionSlug\n\n if (collectionHasChanged || !listPreferences) {\n const currentPreferences = await getPreference<{\n columns: ColumnPreferences\n }>(preferenceKey)\n prevCollection.current = collectionSlug\n\n if (currentPreferences?.columns) {\n setTableColumns(\n buildColumnState({\n beforeRows,\n columnPreferences: currentPreferences?.columns,\n columns: initialColumns,\n enableRowSelections,\n fields,\n sortColumnProps,\n useAsTitle,\n }),\n )\n }\n }\n }\n\n void sync()\n }, [\n preferenceKey,\n getPreference,\n collectionSlug,\n fields,\n defaultColumns,\n useAsTitle,\n listPreferences,\n initialColumns,\n beforeRows,\n enableRowSelections,\n sortColumnProps,\n ])\n\n return (\n <TableColumnContext.Provider\n value={{\n cellProps,\n columns: tableColumns,\n moveColumn,\n resetColumnsState,\n setActiveColumns,\n toggleColumn,\n }}\n >\n {children}\n </TableColumnContext.Provider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Tooltip/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAGxC,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IACxC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACjD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Tooltip/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAGxC,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IACxC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACjD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAmFnC,CAAA"}
|
|
@@ -6,13 +6,14 @@ import React, { useEffect } from 'react';
|
|
|
6
6
|
import { useIntersect } from '../../hooks/useIntersect.js';
|
|
7
7
|
import './index.scss';
|
|
8
8
|
export const Tooltip = props => {
|
|
9
|
-
const $ = _c(
|
|
9
|
+
const $ = _c(24);
|
|
10
10
|
const {
|
|
11
11
|
alignCaret: t0,
|
|
12
12
|
boundingRef,
|
|
13
13
|
children,
|
|
14
14
|
className,
|
|
15
15
|
delay: t1,
|
|
16
|
+
position: positionFromProps,
|
|
16
17
|
show: t2,
|
|
17
18
|
staticPositioning: t3
|
|
18
19
|
} = props;
|
|
@@ -85,20 +86,20 @@ export const Tooltip = props => {
|
|
|
85
86
|
}
|
|
86
87
|
useEffect(t8, t9);
|
|
87
88
|
let t10;
|
|
88
|
-
if ($[10] !== staticPositioning || $[11] !== alignCaret || $[12] !== className || $[13] !== children || $[14] !== ref || $[15] !== show || $[16] !== position) {
|
|
89
|
+
if ($[10] !== staticPositioning || $[11] !== alignCaret || $[12] !== className || $[13] !== children || $[14] !== ref || $[15] !== show || $[16] !== positionFromProps || $[17] !== position) {
|
|
89
90
|
const t11 = show && "tooltip--show";
|
|
90
91
|
const t12 = `tooltip--caret-${alignCaret}`;
|
|
91
|
-
const t13 = `tooltip--position-${position}`;
|
|
92
|
+
const t13 = `tooltip--position-${positionFromProps || position}`;
|
|
92
93
|
let t14;
|
|
93
|
-
if ($[
|
|
94
|
+
if ($[19] !== className || $[20] !== t11 || $[21] !== t12 || $[22] !== t13) {
|
|
94
95
|
t14 = ["tooltip", className, t11, t12, t13].filter(Boolean);
|
|
95
|
-
$[
|
|
96
|
-
$[
|
|
97
|
-
$[
|
|
98
|
-
$[
|
|
99
|
-
$[
|
|
96
|
+
$[19] = className;
|
|
97
|
+
$[20] = t11;
|
|
98
|
+
$[21] = t12;
|
|
99
|
+
$[22] = t13;
|
|
100
|
+
$[23] = t14;
|
|
100
101
|
} else {
|
|
101
|
-
t14 = $[
|
|
102
|
+
t14 = $[23];
|
|
102
103
|
}
|
|
103
104
|
t10 = _jsxs(React.Fragment, {
|
|
104
105
|
children: [!staticPositioning && _jsx("aside", {
|
|
@@ -127,10 +128,11 @@ export const Tooltip = props => {
|
|
|
127
128
|
$[13] = children;
|
|
128
129
|
$[14] = ref;
|
|
129
130
|
$[15] = show;
|
|
130
|
-
$[16] =
|
|
131
|
-
$[17] =
|
|
131
|
+
$[16] = positionFromProps;
|
|
132
|
+
$[17] = position;
|
|
133
|
+
$[18] = t10;
|
|
132
134
|
} else {
|
|
133
|
-
t10 = $[
|
|
135
|
+
t10 = $[18];
|
|
134
136
|
}
|
|
135
137
|
return t10;
|
|
136
138
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","useEffect","useIntersect","Tooltip","props","$","alignCaret","t0","boundingRef","children","className","delay","t1","show","t2","staticPositioning","t3","undefined","showFromProps","setShow","useState","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","useEffect","useIntersect","Tooltip","props","$","alignCaret","t0","boundingRef","children","className","delay","t1","position","positionFromProps","show","t2","staticPositioning","t3","undefined","showFromProps","setShow","useState","setPosition","getTitleAttribute","_temp","t4","current","t5","root","rootMargin","threshold","ref","intersectionEntry","t6","t7","timerId","clearTimeout","t8","t9","isIntersecting","t10","t11","t12","t13","t14","filter","Boolean","_jsxs","Fragment","_jsx","join","style","opacity","title","content"],"sources":["../../../src/elements/Tooltip/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect } from 'react'\n\nimport { useIntersect } from '../../hooks/useIntersect.js'\nimport './index.scss'\n\nexport type Props = {\n alignCaret?: 'center' | 'left' | 'right'\n boundingRef?: React.RefObject<HTMLElement | null>\n children: React.ReactNode\n className?: string\n delay?: number\n position?: 'bottom' | 'top'\n show?: boolean\n /**\n * If the tooltip position should not change depending on if the toolbar is outside the boundingRef. @default false\n */\n staticPositioning?: boolean\n}\n\nexport const Tooltip: React.FC<Props> = (props) => {\n const {\n alignCaret = 'center',\n boundingRef,\n children,\n className,\n delay = 350,\n position: positionFromProps,\n show: showFromProps = true,\n staticPositioning = false,\n } = props\n\n const [show, setShow] = React.useState(showFromProps)\n const [position, setPosition] = React.useState<'bottom' | 'top'>('top')\n\n const getTitleAttribute = (content) => (typeof content === 'string' ? content : '')\n\n const [ref, intersectionEntry] = useIntersect(\n {\n root: boundingRef?.current || null,\n rootMargin: '-145px 0px 0px 100px',\n threshold: 0,\n },\n staticPositioning,\n )\n\n useEffect(() => {\n let timerId: NodeJS.Timeout\n\n // do not use the delay on transition-out\n if (delay && showFromProps) {\n timerId = setTimeout(() => {\n setShow(showFromProps)\n }, delay)\n } else {\n setShow(showFromProps)\n }\n\n return () => {\n if (timerId) {\n clearTimeout(timerId)\n }\n }\n }, [showFromProps, delay])\n\n useEffect(() => {\n if (staticPositioning) {\n return\n }\n setPosition(intersectionEntry?.isIntersecting ? 'top' : 'bottom')\n }, [intersectionEntry, staticPositioning])\n\n // The first aside is always on top. The purpose of that is that it can reliably be used for the interaction observer (as it's not moving around), to calculate the position of the actual tooltip.\n return (\n <React.Fragment>\n {!staticPositioning && (\n <aside\n aria-hidden=\"true\"\n className={['tooltip', className, `tooltip--caret-${alignCaret}`, 'tooltip--position-top']\n .filter(Boolean)\n .join(' ')}\n ref={ref}\n style={{ opacity: '0' }}\n >\n <div className=\"tooltip-content\">{children}</div>\n </aside>\n )}\n <aside\n className={[\n 'tooltip',\n className,\n show && 'tooltip--show',\n `tooltip--caret-${alignCaret}`,\n `tooltip--position-${positionFromProps || position}`,\n ]\n .filter(Boolean)\n .join(' ')}\n title={getTitleAttribute(children)}\n >\n <div className=\"tooltip-content\">{children}</div>\n </aside>\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,SAAS,QAAQ;AAEjC,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAgBP,OAAO,MAAMC,OAAA,GAA2BC,KAAA;EAAA,MAAAC,CAAA,GAAAN,EAAA;EACtC;IAAAO,UAAA,EAAAC,EAAA;IAAAC,WAAA;IAAAC,QAAA;IAAAC,SAAA;IAAAC,KAAA,EAAAC,EAAA;IAAAC,QAAA,EAAAC,iBAAA;IAAAC,IAAA,EAAAC,EAAA;IAAAC,iBAAA,EAAAC;EAAA,IASId,KAAA;EARF,MAAAE,UAAA,GAAAC,EAAqB,KAAAY,SAAA,GAAR,QAAQ,GAArBZ,EAAqB;EAIrB,MAAAI,KAAA,GAAAC,EAAW,KAAAO,SAAA,SAAXP,EAAW;EAEL,MAAAQ,aAAA,GAAAJ,EAAoB,KAAAG,SAAA,UAApBH,EAAoB;EAC1B,MAAAC,iBAAA,GAAAC,EAAyB,KAAAC,SAAA,WAAzBD,EAAyB;EAG3B,OAAAH,IAAA,EAAAM,OAAA,IAAwBrB,KAAA,CAAAsB,QAAA,CAAeF,aAAA;EACvC,OAAAP,QAAA,EAAAU,WAAA,IAAgCvB,KAAA,CAAAsB,QAAA,CAAiC;EAEjE,MAAAE,iBAAA,GAAAC,KAAA;EAIU,MAAAC,EAAA,GAAAlB,WAAA,EAAAmB,OAAA,QAAwB;EAAA,IAAAC,EAAA;EAAA,IAAAvB,CAAA,QAAAqB,EAAA;IADhCE,EAAA;MAAAC,IAAA,EACQH,EAAwB;MAAAI,UAAA,EAClB;MAAAC,SAAA;IAAA;IAEd1B,CAAA,MAAAqB,EAAA;IAAArB,CAAA,MAAAuB,EAAA;EAAA;IAAAA,EAAA,GAAAvB,CAAA;EAAA;EALF,OAAA2B,GAAA,EAAAC,iBAAA,IAAiC/B,YAAA,CAC/B0B,EAIA,EACAX,iBAAA;EAAA,IAAAiB,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAA9B,CAAA,QAAAM,KAAA,IAAAN,CAAA,QAAAe,aAAA;IAGQc,EAAA,GAAAA,CAAA;MACJE,GAAA,CAAAA,OAAA;MAAA,IAGAzB,KAAA,IAASS,aAAA;QACXgB,OAAA,CAAAA,CAAA,CAAUA,aAAA,CAAAA,EAAA,CAAAA;UACRf,OAAA,CAAQD,aAAA;QAAA,GACPT,KAAA;MAFH;QAIAU,OAAA,CAAQD,aAAA;MAAA;MAAA;QAAA,IAIJgB,OAAA;UACFC,YAAA,CAAaD,OAAA;QAAA;MAAA;IAAA;IAGhBD,EAAA,IAACf,aAAA,EAAeT,KAAA;IAAMN,CAAA,MAAAM,KAAA;IAAAN,CAAA,MAAAe,aAAA;IAAAf,CAAA,MAAA6B,EAAA;IAAA7B,CAAA,MAAA8B,EAAA;EAAA;IAAAD,EAAA,GAAA7B,CAAA;IAAA8B,EAAA,GAAA9B,CAAA;EAAA;EAjBzBJ,SAAA,CAAUiC,EAiBV,EAAGC,EAAsB;EAAA,IAAAG,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAlC,CAAA,QAAAY,iBAAA,IAAAZ,CAAA,QAAA4B,iBAAA;IAEfK,EAAA,GAAAA,CAAA;MAAA,IACJrB,iBAAA;QAAA;MAAA;MAGJM,WAAA,CAAYU,iBAAA,EAAAO,cAAA,GAAoC,QAAQ;IAAA;IACvDD,EAAA,IAACN,iBAAA,EAAmBhB,iBAAA;IAAkBZ,CAAA,MAAAY,iBAAA;IAAAZ,CAAA,MAAA4B,iBAAA;IAAA5B,CAAA,MAAAiC,EAAA;IAAAjC,CAAA,MAAAkC,EAAA;EAAA;IAAAD,EAAA,GAAAjC,CAAA;IAAAkC,EAAA,GAAAlC,CAAA;EAAA;EALzCJ,SAAA,CAAUqC,EAKV,EAAGC,EAAsC;EAAA,IAAAE,GAAA;EAAA,IAAApC,CAAA,SAAAY,iBAAA,IAAAZ,CAAA,SAAAC,UAAA,IAAAD,CAAA,SAAAK,SAAA,IAAAL,CAAA,SAAAI,QAAA,IAAAJ,CAAA,SAAA2B,GAAA,IAAA3B,CAAA,SAAAU,IAAA,IAAAV,CAAA,SAAAS,iBAAA,IAAAT,CAAA,SAAAQ,QAAA;IAqBjC,MAAA6B,GAAA,GAAA3B,IAAA,IAAQ;IACR,MAAA4B,GAAA,qBAAkBrC,UAAA,EAAY;IAC9B,MAAAsC,GAAA,wBAAqB9B,iBAAA,IAAqBD,QAAA,EAAU;IAAA,IAAAgC,GAAA;IAAA,IAAAxC,CAAA,SAAAK,SAAA,IAAAL,CAAA,SAAAqC,GAAA,IAAArC,CAAA,SAAAsC,GAAA,IAAAtC,CAAA,SAAAuC,GAAA;MAL3CC,GAAA,IACT,WACAnC,SAAA,EACAgC,GAAQ,EACRC,GAA8B,EAC9BC,GAAoD,EAAAE,MAAA,CAAAC,OAE5C;MAAA1C,CAAA,OAAAK,SAAA;MAAAL,CAAA,OAAAqC,GAAA;MAAArC,CAAA,OAAAsC,GAAA;MAAAtC,CAAA,OAAAuC,GAAA;MAAAvC,CAAA,OAAAwC,GAAA;IAAA;MAAAA,GAAA,GAAAxC,CAAA;IAAA;IArBdoC,GAAA,GAAAO,KAAA,CAAAhD,KAAA,CAAAiD,QAAA;MAAAxC,QAAA,GACG,CAACQ,iBAAA,IACAiC,IAAA,CAAC;QAAA,eACa;QAAAxC,SAAA,EACD,CAAC,WAAWA,SAAA,EAAW,kBAAkBJ,UAAA,EAAY,EAAE,yBAAAwC,MAAA,CAAAC,OACxD,EAAAI,IAAA,CACF;QAAAnB,GAAA;QAAAoB,KAAA;UAAAC,OAAA,EAEU;QAAA;QAAA5C,QAAA,EAElByC,IAAA,CAAC;UAAAxC,SAAA,EAAc;UAAAD;QAAA,C;UAGnByC,IAAA,CAAC;QAAAxC,SAAA,EACYmC,GAOD,CAAAM,IAAA,CACF;QAAAG,KAAA,EACD9B,iBAAA,CAAkBf,QAAA;QAAAA,QAAA,EAEzByC,IAAA,CAAC;UAAAxC,SAAA,EAAc;UAAAD;QAAA,C;;;;;;;;;;;;;;;SAzBnBgC,G;CA6BJ;AAnFwC,SAAAhB,MAAA8B,OAAA;EAAA,OAeE,OAAOA,OAAA,KAAY,WAAWA,OAAA,GAAU;AAAA","ignoreList":[]}
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
&--position-top {
|
|
56
|
-
top: calc(var(--base) * -
|
|
56
|
+
top: calc(var(--base) * -1.25);
|
|
57
57
|
transform: translate3d(-50%, calc(var(--caret-size) * -1), 0);
|
|
58
58
|
|
|
59
59
|
&::after {
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
&--position-bottom {
|
|
66
|
-
bottom: calc(var(--base) * -
|
|
66
|
+
bottom: calc(var(--base) * -1.25);
|
|
67
67
|
transform: translate3d(-50%, var(--caret-size), 0);
|
|
68
68
|
|
|
69
69
|
&::after {
|
|
@@ -88,7 +88,8 @@ export const UnpublishMany = props => {
|
|
|
88
88
|
page: selectAll ? '1' : undefined
|
|
89
89
|
}
|
|
90
90
|
}));
|
|
91
|
-
clearRouteCache()
|
|
91
|
+
clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this
|
|
92
|
+
;
|
|
92
93
|
return null;
|
|
93
94
|
}
|
|
94
95
|
if (json.errors) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Modal","useModal","getTranslation","useRouter","React","useCallback","useState","useAuth","useConfig","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useTranslation","requests","Button","Pill","baseClass","toast","UnpublishMany","props","collection","slug","labels","plural","versions","config","routes","api","serverURL","permissions","toggleModal","i18n","t","getQueryParams","selectAll","submitted","setSubmitted","stringifyParams","router","clearRouteCache","collectionPermissions","collections","hasPermission","update","permission","modalSlug","addDefaultError","error","handleUnpublish","patch","_status","not_equals","body","JSON","stringify","headers","language","then","res","json","status","success","replace","params","page","undefined","errors","forEach","message","e","drafts","None","_jsxs","Fragment","_jsx","className","onClick","label","buttonStyle","id","size","type"],"sources":["../../../src/elements/UnpublishMany/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useState } from 'react'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { Pill } from '../Pill/index.js'\nimport './index.scss'\n\nconst baseClass = 'unpublish-many'\n\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { toast } from 'sonner'\n\nexport type UnpublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nexport const UnpublishMany: React.FC<UnpublishManyProps> = (props) => {\n const { collection: { slug, labels: { plural }, versions } = {} } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { permissions } = useAuth()\n const { toggleModal } = useModal()\n const { i18n, t } = useTranslation()\n const { getQueryParams, selectAll } = useSelection()\n const [submitted, setSubmitted] = useState(false)\n const { stringifyParams } = useSearchParams()\n const router = useRouter()\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update?.permission\n\n const modalSlug = `unpublish-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handleUnpublish = useCallback(async () => {\n setSubmitted(true)\n await requests\n .patch(`${serverURL}${api}/${slug}${getQueryParams({ _status: { not_equals: 'draft' } })}`, {\n body: JSON.stringify({\n _status: 'draft',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n toggleModal(modalSlug)\n if (res.status < 400) {\n toast.success(t('general:updatedSuccessfully'))\n router.replace(\n stringifyParams({\n params: {\n page: selectAll ? '1' : undefined,\n },\n }),\n )\n clearRouteCache()\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (e) {\n return addDefaultError()\n }\n })\n }, [\n addDefaultError,\n api,\n getQueryParams,\n i18n.language,\n modalSlug,\n selectAll,\n serverURL,\n slug,\n t,\n toggleModal,\n router,\n clearRouteCache,\n stringifyParams,\n ])\n\n if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <Pill\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSubmitted(false)\n toggleModal(modalSlug)\n }}\n >\n {t('version:unpublish')}\n </Pill>\n <Modal className={baseClass} slug={modalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmUnpublish')}</h1>\n <p>{t('version:aboutToUnpublishSelection', { label: getTranslation(plural, i18n) })}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n id=\"confirm-cancel\"\n onClick={submitted ? undefined : () => toggleModal(modalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n id=\"confirm-unpublish\"\n onClick={submitted ? undefined : handleUnpublish}\n size=\"large\"\n >\n {submitted ? t('version:unpublishing') : t('general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;;AACA,SAASA,KAAK,EAAEC,QAAQ,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAC1B,OAAOC,KAAA,IAASC,WAAW,EAAEC,QAAQ,QAAQ;AAE7C,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,aAAa,QAAQ;AAC9B,SAASC,eAAe,QAAQ;AAChC,SAASC,eAAe,EAAEC,YAAY,QAAQ;AAC9C,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,MAAM,QAAQ;AACvB,SAASC,IAAI,QAAQ;AACrB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAIlB,SAASC,KAAK,QAAQ;AAMtB,OAAO,MAAMC,aAAA,GAA+CC,KAAA;EAC1D,MAAM;IAAEC,UAAA,EAAY;MAAEC,IAAI;MAAEC,MAAA,EAAQ;QAAEC;MAAM,CAAE;MAAEC;IAAQ,CAAE,GAAG,CAAC;EAAC,CAAE,GAAGL,KAAA;EAEpE,MAAM;IACJM,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC;MAAG,CAAE;MACfC;IAAS;EACV,CACF,GAAGrB,SAAA;EAEJ,MAAM;IAAEsB;EAAW,CAAE,GAAGvB,OAAA;EACxB,MAAM;IAAEwB;EAAW,CAAE,GAAG9B,QAAA;EACxB,MAAM;IAAE+B,IAAI;IAAEC;EAAC,CAAE,GAAGpB,cAAA;EACpB,MAAM;IAAEqB,cAAc;IAAEC;EAAS,CAAE,GAAGvB,YAAA;EACtC,MAAM,CAACwB,SAAA,EAAWC,YAAA,CAAa,GAAG/B,QAAA,CAAS;EAC3C,MAAM;IAAEgC;EAAe,CAAE,GAAG5B,eAAA;EAC5B,MAAM6B,MAAA,GAASpC,SAAA;EACf,MAAM;IAAEqC;EAAe,CAAE,GAAG/B,aAAA;EAE5B,MAAMgC,qBAAA,GAAwBX,WAAA,EAAaY,WAAA,GAAcpB,IAAA,CAAK;EAC9D,MAAMqB,aAAA,GAAgBF,qBAAA,EAAuBG,MAAA,EAAQC,UAAA;EAErD,MAAMC,SAAA,GAAY,aAAaxB,IAAA,EAAM;EAErC,MAAMyB,eAAA,GAAkB1C,WAAA,CAAY;IAClCa,KAAA,CAAM8B,KAAK,CAACf,CAAA,CAAE;EAChB,GAAG,CAACA,CAAA,CAAE;EAEN,MAAMgB,eAAA,GAAkB5C,WAAA,CAAY;IAClCgC,YAAA,CAAa;IACb,MAAMvB,QAAA,CACHoC,KAAK,CAAC,GAAGrB,SAAA,GAAYD,GAAA,IAAON,IAAA,GAAOY,cAAA,CAAe;MAAEiB,OAAA,EAAS;QAAEC,UAAA,EAAY;MAAQ;IAAE,IAAI,EAAE;MAC1FC,IAAA,EAAMC,IAAA,CAAKC,SAAS,CAAC;QACnBJ,OAAA,EAAS;MACX;MACAK,OAAA,EAAS;QACP,mBAAmBxB,IAAA,CAAKyB,QAAQ;QAChC,gBAAgB;MAClB;IACF,GACCC,IAAI,CAAC,MAAOC,GAAA;MACX,IAAI;QACF,MAAMC,IAAA,GAAO,MAAMD,GAAA,CAAIC,IAAI;QAC3B7B,WAAA,CAAYe,SAAA;QACZ,IAAIa,GAAA,CAAIE,MAAM,GAAG,KAAK;UACpB3C,KAAA,CAAM4C,OAAO,CAAC7B,CAAA,CAAE;UAChBM,MAAA,CAAOwB,OAAO,CACZzB,eAAA,CAAgB;YACd0B,MAAA,EAAQ;cACNC,IAAA,EAAM9B,SAAA,GAAY,MAAM+B;YAC1B;UACF;UAEF1B,eAAA;
|
|
1
|
+
{"version":3,"file":"index.js","names":["Modal","useModal","getTranslation","useRouter","React","useCallback","useState","useAuth","useConfig","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useTranslation","requests","Button","Pill","baseClass","toast","UnpublishMany","props","collection","slug","labels","plural","versions","config","routes","api","serverURL","permissions","toggleModal","i18n","t","getQueryParams","selectAll","submitted","setSubmitted","stringifyParams","router","clearRouteCache","collectionPermissions","collections","hasPermission","update","permission","modalSlug","addDefaultError","error","handleUnpublish","patch","_status","not_equals","body","JSON","stringify","headers","language","then","res","json","status","success","replace","params","page","undefined","errors","forEach","message","e","drafts","None","_jsxs","Fragment","_jsx","className","onClick","label","buttonStyle","id","size","type"],"sources":["../../../src/elements/UnpublishMany/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useState } from 'react'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { Pill } from '../Pill/index.js'\nimport './index.scss'\n\nconst baseClass = 'unpublish-many'\n\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { toast } from 'sonner'\n\nexport type UnpublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nexport const UnpublishMany: React.FC<UnpublishManyProps> = (props) => {\n const { collection: { slug, labels: { plural }, versions } = {} } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { permissions } = useAuth()\n const { toggleModal } = useModal()\n const { i18n, t } = useTranslation()\n const { getQueryParams, selectAll } = useSelection()\n const [submitted, setSubmitted] = useState(false)\n const { stringifyParams } = useSearchParams()\n const router = useRouter()\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update?.permission\n\n const modalSlug = `unpublish-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handleUnpublish = useCallback(async () => {\n setSubmitted(true)\n await requests\n .patch(`${serverURL}${api}/${slug}${getQueryParams({ _status: { not_equals: 'draft' } })}`, {\n body: JSON.stringify({\n _status: 'draft',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n toggleModal(modalSlug)\n if (res.status < 400) {\n toast.success(t('general:updatedSuccessfully'))\n router.replace(\n stringifyParams({\n params: {\n page: selectAll ? '1' : undefined,\n },\n }),\n )\n clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (e) {\n return addDefaultError()\n }\n })\n }, [\n addDefaultError,\n api,\n getQueryParams,\n i18n.language,\n modalSlug,\n selectAll,\n serverURL,\n slug,\n t,\n toggleModal,\n router,\n clearRouteCache,\n stringifyParams,\n ])\n\n if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <Pill\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSubmitted(false)\n toggleModal(modalSlug)\n }}\n >\n {t('version:unpublish')}\n </Pill>\n <Modal className={baseClass} slug={modalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmUnpublish')}</h1>\n <p>{t('version:aboutToUnpublishSelection', { label: getTranslation(plural, i18n) })}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n id=\"confirm-cancel\"\n onClick={submitted ? undefined : () => toggleModal(modalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n id=\"confirm-unpublish\"\n onClick={submitted ? undefined : handleUnpublish}\n size=\"large\"\n >\n {submitted ? t('version:unpublishing') : t('general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;;AACA,SAASA,KAAK,EAAEC,QAAQ,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAC1B,OAAOC,KAAA,IAASC,WAAW,EAAEC,QAAQ,QAAQ;AAE7C,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,aAAa,QAAQ;AAC9B,SAASC,eAAe,QAAQ;AAChC,SAASC,eAAe,EAAEC,YAAY,QAAQ;AAC9C,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,MAAM,QAAQ;AACvB,SAASC,IAAI,QAAQ;AACrB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAIlB,SAASC,KAAK,QAAQ;AAMtB,OAAO,MAAMC,aAAA,GAA+CC,KAAA;EAC1D,MAAM;IAAEC,UAAA,EAAY;MAAEC,IAAI;MAAEC,MAAA,EAAQ;QAAEC;MAAM,CAAE;MAAEC;IAAQ,CAAE,GAAG,CAAC;EAAC,CAAE,GAAGL,KAAA;EAEpE,MAAM;IACJM,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC;MAAG,CAAE;MACfC;IAAS;EACV,CACF,GAAGrB,SAAA;EAEJ,MAAM;IAAEsB;EAAW,CAAE,GAAGvB,OAAA;EACxB,MAAM;IAAEwB;EAAW,CAAE,GAAG9B,QAAA;EACxB,MAAM;IAAE+B,IAAI;IAAEC;EAAC,CAAE,GAAGpB,cAAA;EACpB,MAAM;IAAEqB,cAAc;IAAEC;EAAS,CAAE,GAAGvB,YAAA;EACtC,MAAM,CAACwB,SAAA,EAAWC,YAAA,CAAa,GAAG/B,QAAA,CAAS;EAC3C,MAAM;IAAEgC;EAAe,CAAE,GAAG5B,eAAA;EAC5B,MAAM6B,MAAA,GAASpC,SAAA;EACf,MAAM;IAAEqC;EAAe,CAAE,GAAG/B,aAAA;EAE5B,MAAMgC,qBAAA,GAAwBX,WAAA,EAAaY,WAAA,GAAcpB,IAAA,CAAK;EAC9D,MAAMqB,aAAA,GAAgBF,qBAAA,EAAuBG,MAAA,EAAQC,UAAA;EAErD,MAAMC,SAAA,GAAY,aAAaxB,IAAA,EAAM;EAErC,MAAMyB,eAAA,GAAkB1C,WAAA,CAAY;IAClCa,KAAA,CAAM8B,KAAK,CAACf,CAAA,CAAE;EAChB,GAAG,CAACA,CAAA,CAAE;EAEN,MAAMgB,eAAA,GAAkB5C,WAAA,CAAY;IAClCgC,YAAA,CAAa;IACb,MAAMvB,QAAA,CACHoC,KAAK,CAAC,GAAGrB,SAAA,GAAYD,GAAA,IAAON,IAAA,GAAOY,cAAA,CAAe;MAAEiB,OAAA,EAAS;QAAEC,UAAA,EAAY;MAAQ;IAAE,IAAI,EAAE;MAC1FC,IAAA,EAAMC,IAAA,CAAKC,SAAS,CAAC;QACnBJ,OAAA,EAAS;MACX;MACAK,OAAA,EAAS;QACP,mBAAmBxB,IAAA,CAAKyB,QAAQ;QAChC,gBAAgB;MAClB;IACF,GACCC,IAAI,CAAC,MAAOC,GAAA;MACX,IAAI;QACF,MAAMC,IAAA,GAAO,MAAMD,GAAA,CAAIC,IAAI;QAC3B7B,WAAA,CAAYe,SAAA;QACZ,IAAIa,GAAA,CAAIE,MAAM,GAAG,KAAK;UACpB3C,KAAA,CAAM4C,OAAO,CAAC7B,CAAA,CAAE;UAChBM,MAAA,CAAOwB,OAAO,CACZzB,eAAA,CAAgB;YACd0B,MAAA,EAAQ;cACNC,IAAA,EAAM9B,SAAA,GAAY,MAAM+B;YAC1B;UACF;UAEF1B,eAAA,GAAkB;UAAA;UAClB,OAAO;QACT;QAEA,IAAIoB,IAAA,CAAKO,MAAM,EAAE;UACfP,IAAA,CAAKO,MAAM,CAACC,OAAO,CAAEpB,KAAA,IAAU9B,KAAA,CAAM8B,KAAK,CAACA,KAAA,CAAMqB,OAAO;QAC1D,OAAO;UACLtB,eAAA;QACF;QACA,OAAO;MACT,EAAE,OAAOuB,CAAA,EAAG;QACV,OAAOvB,eAAA;MACT;IACF;EACJ,GAAG,CACDA,eAAA,EACAnB,GAAA,EACAM,cAAA,EACAF,IAAA,CAAKyB,QAAQ,EACbX,SAAA,EACAX,SAAA,EACAN,SAAA,EACAP,IAAA,EACAW,CAAA,EACAF,WAAA,EACAQ,MAAA,EACAC,eAAA,EACAF,eAAA,CACD;EAED,IAAI,CAACb,QAAA,EAAU8C,MAAA,IAAUpC,SAAA,KAAcxB,eAAA,CAAgB6D,IAAI,IAAI,CAAC7B,aAAA,EAAe;IAC7E,OAAO;EACT;EAEA,oBACE8B,KAAA,CAACrE,KAAA,CAAMsE,QAAQ;4BACbC,IAAA,CAAC3D,IAAA;MACC4D,SAAA,EAAW,GAAG3D,SAAA,UAAmB;MACjC4D,OAAA,EAASA,CAAA;QACPxC,YAAA,CAAa;QACbN,WAAA,CAAYe,SAAA;MACd;gBAECb,CAAA,CAAE;qBAEL0C,IAAA,CAAC3E,KAAA;MAAM4E,SAAA,EAAW3D,SAAA;MAAWK,IAAA,EAAMwB,SAAA;gBACjC,aAAA2B,KAAA,CAAC;QAAIG,SAAA,EAAW,GAAG3D,SAAA,WAAoB;gCACrCwD,KAAA,CAAC;UAAIG,SAAA,EAAW,GAAG3D,SAAA,WAAoB;kCACrC0D,IAAA,CAAC;sBAAI1C,CAAA,CAAE;2BACP0C,IAAA,CAAC;sBAAG1C,CAAA,CAAE,qCAAqC;cAAE6C,KAAA,EAAO5E,cAAA,CAAesB,MAAA,EAAQQ,IAAA;YAAM;;yBAEnFyC,KAAA,CAAC;UAAIG,SAAA,EAAW,GAAG3D,SAAA,YAAqB;kCACtC0D,IAAA,CAAC5D,MAAA;YACCgE,WAAA,EAAY;YACZC,EAAA,EAAG;YACHH,OAAA,EAASzC,SAAA,GAAY8B,SAAA,GAAY,MAAMnC,WAAA,CAAYe,SAAA;YACnDmC,IAAA,EAAK;YACLC,IAAA,EAAK;sBAEJjD,CAAA,CAAE;2BAEL0C,IAAA,CAAC5D,MAAA;YACCiE,EAAA,EAAG;YACHH,OAAA,EAASzC,SAAA,GAAY8B,SAAA,GAAYjB,eAAA;YACjCgC,IAAA,EAAK;sBAEJ7C,SAAA,GAAYH,CAAA,CAAE,0BAA0BA,CAAA,CAAE;;;;;;AAOzD","ignoreList":[]}
|