@payloadcms/ui 3.86.0-internal.ac46214 → 3.87.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/ControlledDocumentDrawer.d.ts +13 -0
- package/dist/elements/DocumentDrawer/ControlledDocumentDrawer.d.ts.map +1 -0
- package/dist/elements/DocumentDrawer/ControlledDocumentDrawer.js +114 -0
- package/dist/elements/DocumentDrawer/ControlledDocumentDrawer.js.map +1 -0
- package/dist/elements/DocumentDrawer/index.d.ts +6 -0
- package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +1 -1
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
- package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +1 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +43 -35
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.d.ts +1 -1
- package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts +2 -7
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +28 -116
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +1 -0
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-TL3K3PHG.js → CodeEditor-5OM6KTW4.js} +2 -2
- package/dist/exports/client/{chunk-MRRDX6D7.js → chunk-2GZJJKQF.js} +1 -1
- package/dist/exports/client/{chunk-MRRDX6D7.js.map → chunk-2GZJJKQF.js.map} +1 -1
- package/dist/exports/client/index.js +24 -24
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Row/index.d.ts +1 -1
- package/dist/fields/Slug/index.d.ts.map +1 -1
- package/dist/fields/Slug/index.js +29 -20
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Slug/index.scss +17 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +11 -10
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +2 -1
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +48 -30
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.spec.js +40 -0
- package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +1 -0
- package/dist/scss/app.scss +1 -1
- package/dist/scss/styles.scss +6 -6
- package/dist/scss/toastify.scss +2 -2
- package/dist/styles.css +1 -1
- package/dist/utilities/handleLivePreview.d.ts +1 -0
- package/dist/utilities/handleLivePreview.d.ts.map +1 -1
- package/dist/utilities/isURLAllowed.d.ts.map +1 -1
- package/dist/utilities/isURLAllowed.js +9 -3
- package/dist/utilities/isURLAllowed.js.map +1 -1
- package/dist/views/BrowseByFolder/index.d.ts.map +1 -1
- package/dist/views/BrowseByFolder/index.js +92 -37
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
- package/dist/views/CollectionFolder/index.d.ts.map +1 -1
- package/dist/views/CollectionFolder/index.js +73 -21
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/package.json +4 -4
- /package/dist/exports/client/{CodeEditor-TL3K3PHG.js.map → CodeEditor-5OM6KTW4.js.map} +0 -0
|
@@ -11,6 +11,7 @@ export declare const getLivePreviewConfig: ({ collectionConfig, config, globalCo
|
|
|
11
11
|
name: string;
|
|
12
12
|
width: number | string;
|
|
13
13
|
}[];
|
|
14
|
+
openByDefault?: boolean;
|
|
14
15
|
url?: ((args: {
|
|
15
16
|
collectionConfig?: import("payload").SanitizedCollectionConfig;
|
|
16
17
|
data: Record<string, any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleLivePreview.d.ts","sourceRoot":"","sources":["../../src/utilities/handleLivePreview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,eAAe,EAChB,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,oBAAoB,sEAK9B;IACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,oBAAoB,EAAE,OAAO,CAAA;CAC9B
|
|
1
|
+
{"version":3,"file":"handleLivePreview.d.ts","sourceRoot":"","sources":["../../src/utilities/handleLivePreview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,eAAe,EAChB,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,oBAAoB,sEAK9B;IACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,oBAAoB,EAAE,OAAO,CAAA;CAC9B;;;;;;;;;wBAsHsrG,CAAC;;oBAAoF,CAAC;;;;;;;CAlH3wG,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,gDAI9B;IACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,KAAG,OAcH,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,kEAO3B;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC;IACV,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,cAAc,CAAC,EAAE,kBAAkB,CAAA;CACpC,CAqDA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isURLAllowed.d.ts","sourceRoot":"","sources":["../../src/utilities/isURLAllowed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC,eAAO,MAAM,YAAY,QAAS,MAAM,aAAa,SAAS,KAAG,
|
|
1
|
+
{"version":3,"file":"isURLAllowed.d.ts","sourceRoot":"","sources":["../../src/utilities/isURLAllowed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC,eAAO,MAAM,YAAY,QAAS,MAAM,aAAa,SAAS,KAAG,OAqChE,CAAA"}
|
|
@@ -12,9 +12,15 @@ export const isURLAllowed = (url, allowList) => {
|
|
|
12
12
|
return typeof value === 'string' && parsedUrl.protocol === `${value}:`;
|
|
13
13
|
}
|
|
14
14
|
if (key === 'pathname') {
|
|
15
|
-
//
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
// Translate a small glob syntax to a regex. The pattern is escaped
|
|
16
|
+
// first so that metacharacters in the configured value (e.g. `.`)
|
|
17
|
+
// match literally and cannot broaden what the allow-list accepts.
|
|
18
|
+
// Wildcards become `\*` once escaped, so they are restored afterwards
|
|
19
|
+
// — translating `**` before `*` is safe because the resulting `.*`
|
|
20
|
+
// no longer contains an escaped `\*` for the next replace to match.
|
|
21
|
+
const regexPattern = value.replace(/[\\^$*+?.()|[\]{}]/g, '\\$&') // Escape regex metacharacters
|
|
22
|
+
.replace(/\\\*\\\*/g, '.*') // `**` → match any path
|
|
23
|
+
.replace(/\\\*/g, '[^/]*') // `*` → match any part of a path segment
|
|
18
24
|
;
|
|
19
25
|
const regex = new RegExp(`^${regexPattern}$`);
|
|
20
26
|
return regex.test(parsedUrl.pathname);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isURLAllowed.js","names":["isURLAllowed","url","allowList","parsedUrl","URL","some","allowItem","Object","entries","every","key","value","protocol","regexPattern","replace","regex","RegExp","test","pathname"],"sources":["../../src/utilities/isURLAllowed.ts"],"sourcesContent":["import type { AllowList } from 'payload'\n\nexport const isURLAllowed = (url: string, allowList: AllowList): boolean => {\n try {\n const parsedUrl = new URL(url)\n\n return allowList.some((allowItem) => {\n return Object.entries(allowItem).every(([key, value]) => {\n // Skip undefined or null values\n if (!value) {\n return true\n }\n // Compare protocol with colon\n if (key === 'protocol') {\n return typeof value === 'string' && parsedUrl.protocol === `${value}:`\n }\n\n if (key === 'pathname') {\n //
|
|
1
|
+
{"version":3,"file":"isURLAllowed.js","names":["isURLAllowed","url","allowList","parsedUrl","URL","some","allowItem","Object","entries","every","key","value","protocol","regexPattern","replace","regex","RegExp","test","pathname"],"sources":["../../src/utilities/isURLAllowed.ts"],"sourcesContent":["import type { AllowList } from 'payload'\n\nexport const isURLAllowed = (url: string, allowList: AllowList): boolean => {\n try {\n const parsedUrl = new URL(url)\n\n return allowList.some((allowItem) => {\n return Object.entries(allowItem).every(([key, value]) => {\n // Skip undefined or null values\n if (!value) {\n return true\n }\n // Compare protocol with colon\n if (key === 'protocol') {\n return typeof value === 'string' && parsedUrl.protocol === `${value}:`\n }\n\n if (key === 'pathname') {\n // Translate a small glob syntax to a regex. The pattern is escaped\n // first so that metacharacters in the configured value (e.g. `.`)\n // match literally and cannot broaden what the allow-list accepts.\n // Wildcards become `\\*` once escaped, so they are restored afterwards\n // — translating `**` before `*` is safe because the resulting `.*`\n // no longer contains an escaped `\\*` for the next replace to match.\n const regexPattern = value\n .replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&') // Escape regex metacharacters\n .replace(/\\\\\\*\\\\\\*/g, '.*') // `**` → match any path\n .replace(/\\\\\\*/g, '[^/]*') // `*` → match any part of a path segment\n const regex = new RegExp(`^${regexPattern}$`)\n return regex.test(parsedUrl.pathname)\n }\n\n // Default comparison for all other properties (hostname, port, search)\n return parsedUrl[key as keyof URL] === value\n })\n })\n } catch {\n return false // If the URL is invalid, deny by default\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,YAAA,GAAeA,CAACC,GAAA,EAAaC,SAAA;EACxC,IAAI;IACF,MAAMC,SAAA,GAAY,IAAIC,GAAA,CAAIH,GAAA;IAE1B,OAAOC,SAAA,CAAUG,IAAI,CAAEC,SAAA;MACrB,OAAOC,MAAA,CAAOC,OAAO,CAACF,SAAA,EAAWG,KAAK,CAAC,CAAC,CAACC,GAAA,EAAKC,KAAA,CAAM;QAClD;QACA,IAAI,CAACA,KAAA,EAAO;UACV,OAAO;QACT;QACA;QACA,IAAID,GAAA,KAAQ,YAAY;UACtB,OAAO,OAAOC,KAAA,KAAU,YAAYR,SAAA,CAAUS,QAAQ,KAAK,GAAGD,KAAA,GAAQ;QACxE;QAEA,IAAID,GAAA,KAAQ,YAAY;UACtB;UACA;UACA;UACA;UACA;UACA;UACA,MAAMG,YAAA,GAAeF,KAAA,CAClBG,OAAO,CAAC,uBAAuB,QAAQ;UAAA,CACvCA,OAAO,CAAC,aAAa,MAAM;UAAA,CAC3BA,OAAO,CAAC,SAAS,SAAS;AAAA;UAC7B,MAAMC,KAAA,GAAQ,IAAIC,MAAA,CAAO,IAAIH,YAAA,GAAe;UAC5C,OAAOE,KAAA,CAAME,IAAI,CAACd,SAAA,CAAUe,QAAQ;QACtC;QAEA;QACA,OAAOf,SAAS,CAACO,GAAA,CAAiB,KAAKC,KAAA;MACzC;IACF;EACF,EAAE,MAAM;IACN,OAAO,MAAM;AAAA;EACf;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/BrowseByFolder/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/BrowseByFolder/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAkB,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMxE,OAAO,KAAmB,MAAM,OAAO,CAAA;AA2BvC,OAAO,cAAc,CAAA;AAIrB,wBAAgB,yBAAyB,CAAC,EACxC,2BAA2B,EAC3B,wBAAwB,EACxB,0BAA0B,EAC1B,cAAc,EACd,WAAW,EACX,SAAS,EACT,eAAe,EACf,QAAQ,EACR,sBAAsB,EACtB,MAAM,EACN,UAAU,EACV,GAAG,WAAW,EACf,EAAE,yBAAyB,qBAkB3B"}
|
|
@@ -5,8 +5,9 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
5
5
|
import { useDndMonitor } from '@dnd-kit/core';
|
|
6
6
|
import { getTranslation } from '@payloadcms/translations';
|
|
7
7
|
import { useRouter } from 'next/navigation.js';
|
|
8
|
-
import { PREFERENCE_KEYS } from 'payload/shared';
|
|
8
|
+
import { hasAutosaveEnabled, PREFERENCE_KEYS } from 'payload/shared';
|
|
9
9
|
import React, { Fragment } from 'react';
|
|
10
|
+
import { ControlledDocumentDrawer } from '../../elements/DocumentDrawer/ControlledDocumentDrawer.js';
|
|
10
11
|
import { DroppableBreadcrumb } from '../../elements/FolderView/Breadcrumbs/index.js';
|
|
11
12
|
import { ColoredFolderIcon } from '../../elements/FolderView/ColoredFolderIcon/index.js';
|
|
12
13
|
import { CurrentFolderActions } from '../../elements/FolderView/CurrentFolderActions/index.js';
|
|
@@ -22,6 +23,7 @@ import { ListCreateNewDocInFolderButton } from '../../elements/ListHeader/TitleA
|
|
|
22
23
|
import { NoListResults } from '../../elements/NoListResults/index.js';
|
|
23
24
|
import { SearchBar } from '../../elements/SearchBar/index.js';
|
|
24
25
|
import { useStepNav } from '../../elements/StepNav/index.js';
|
|
26
|
+
import { useConfig } from '../../providers/Config/index.js';
|
|
25
27
|
import { useEditDepth } from '../../providers/EditDepth/index.js';
|
|
26
28
|
import { FolderProvider, useFolder } from '../../providers/Folders/index.js';
|
|
27
29
|
import { usePreferences } from '../../providers/Preferences/index.js';
|
|
@@ -64,7 +66,7 @@ export function DefaultBrowseByFolderView({
|
|
|
64
66
|
});
|
|
65
67
|
}
|
|
66
68
|
function BrowseByFolderViewInContext(props) {
|
|
67
|
-
const $ = _c(
|
|
69
|
+
const $ = _c(23);
|
|
68
70
|
const {
|
|
69
71
|
AfterFolderList,
|
|
70
72
|
AfterFolderListTable,
|
|
@@ -77,6 +79,9 @@ function BrowseByFolderViewInContext(props) {
|
|
|
77
79
|
viewPreference
|
|
78
80
|
} = props;
|
|
79
81
|
const router = useRouter();
|
|
82
|
+
const {
|
|
83
|
+
config
|
|
84
|
+
} = useConfig();
|
|
80
85
|
const {
|
|
81
86
|
i18n,
|
|
82
87
|
t
|
|
@@ -106,6 +111,7 @@ function BrowseByFolderViewInContext(props) {
|
|
|
106
111
|
documents,
|
|
107
112
|
dragOverlayItem,
|
|
108
113
|
folderCollectionConfig,
|
|
114
|
+
folderFieldName,
|
|
109
115
|
folderID,
|
|
110
116
|
folderType,
|
|
111
117
|
getFolderRoute,
|
|
@@ -117,9 +123,10 @@ function BrowseByFolderViewInContext(props) {
|
|
|
117
123
|
setIsDragging,
|
|
118
124
|
subfolders
|
|
119
125
|
} = useFolder();
|
|
126
|
+
const [createDrawerCollectionSlug, setCreateDrawerCollectionSlug] = React.useState();
|
|
120
127
|
const [activeView, setActiveView] = React.useState(viewPreference || "grid");
|
|
121
128
|
let t1;
|
|
122
|
-
if ($[0] !== breadcrumbs || $[1] !== folderCollectionConfig || $[2] !== i18n || $[3] !== t) {
|
|
129
|
+
if ($[0] !== breadcrumbs || $[1] !== folderCollectionConfig.labels?.plural || $[2] !== i18n || $[3] !== t) {
|
|
123
130
|
t1 = () => {
|
|
124
131
|
const locationLabel = breadcrumbs.length === 0 ? getTranslation(folderCollectionConfig.labels?.plural, i18n) : breadcrumbs[breadcrumbs.length - 1].name;
|
|
125
132
|
return t("folder:searchByNameInFolder", {
|
|
@@ -127,7 +134,7 @@ function BrowseByFolderViewInContext(props) {
|
|
|
127
134
|
});
|
|
128
135
|
};
|
|
129
136
|
$[0] = breadcrumbs;
|
|
130
|
-
$[1] = folderCollectionConfig;
|
|
137
|
+
$[1] = folderCollectionConfig.labels?.plural;
|
|
131
138
|
$[2] = i18n;
|
|
132
139
|
$[3] = t;
|
|
133
140
|
$[4] = t1;
|
|
@@ -159,16 +166,32 @@ function BrowseByFolderViewInContext(props) {
|
|
|
159
166
|
const onDragEnd = t2;
|
|
160
167
|
const totalDocsAndSubfolders = documents.length + subfolders.length;
|
|
161
168
|
const listHeaderTitle = !breadcrumbs.length ? t("folder:browseByFolder") : breadcrumbs[breadcrumbs.length - 1].name;
|
|
169
|
+
const activeCreateDrawerCollectionSlug = createDrawerCollectionSlug || folderCollectionConfig.slug;
|
|
170
|
+
let t3;
|
|
171
|
+
if ($[9] !== activeCreateDrawerCollectionSlug) {
|
|
172
|
+
t3 = t4 => {
|
|
173
|
+
const {
|
|
174
|
+
slug
|
|
175
|
+
} = t4;
|
|
176
|
+
return slug === activeCreateDrawerCollectionSlug;
|
|
177
|
+
};
|
|
178
|
+
$[9] = activeCreateDrawerCollectionSlug;
|
|
179
|
+
$[10] = t3;
|
|
180
|
+
} else {
|
|
181
|
+
t3 = $[10];
|
|
182
|
+
}
|
|
183
|
+
const activeCreateDrawerCollectionConfig = config.collections.find(t3);
|
|
184
|
+
const isCreatingFolder = activeCreateDrawerCollectionSlug === folderCollectionConfig.slug;
|
|
162
185
|
const handleSetViewType = view => {
|
|
163
186
|
setPreference(PREFERENCE_KEYS.BROWSE_BY_FOLDER, {
|
|
164
187
|
viewPreference: view
|
|
165
188
|
});
|
|
166
189
|
setActiveView(view);
|
|
167
190
|
};
|
|
168
|
-
let t3;
|
|
169
191
|
let t4;
|
|
170
|
-
|
|
171
|
-
|
|
192
|
+
let t5;
|
|
193
|
+
if ($[11] !== breadcrumbs || $[12] !== drawerDepth || $[13] !== getFolderRoute || $[14] !== router || $[15] !== setStepNav || $[16] !== startRouteTransition || $[17] !== t) {
|
|
194
|
+
t4 = () => {
|
|
172
195
|
if (!drawerDepth) {
|
|
173
196
|
setStepNav([!breadcrumbs.length ? {
|
|
174
197
|
label: _jsxs("div", {
|
|
@@ -200,34 +223,49 @@ function BrowseByFolderViewInContext(props) {
|
|
|
200
223
|
}))]);
|
|
201
224
|
}
|
|
202
225
|
};
|
|
203
|
-
|
|
204
|
-
$[
|
|
205
|
-
$[
|
|
206
|
-
$[
|
|
207
|
-
$[
|
|
208
|
-
$[
|
|
209
|
-
$[
|
|
210
|
-
$[
|
|
211
|
-
$[
|
|
212
|
-
$[
|
|
226
|
+
t5 = [breadcrumbs, drawerDepth, getFolderRoute, router, setStepNav, startRouteTransition, t];
|
|
227
|
+
$[11] = breadcrumbs;
|
|
228
|
+
$[12] = drawerDepth;
|
|
229
|
+
$[13] = getFolderRoute;
|
|
230
|
+
$[14] = router;
|
|
231
|
+
$[15] = setStepNav;
|
|
232
|
+
$[16] = startRouteTransition;
|
|
233
|
+
$[17] = t;
|
|
234
|
+
$[18] = t4;
|
|
235
|
+
$[19] = t5;
|
|
213
236
|
} else {
|
|
214
|
-
|
|
215
|
-
|
|
237
|
+
t4 = $[18];
|
|
238
|
+
t5 = $[19];
|
|
216
239
|
}
|
|
217
|
-
React.useEffect(
|
|
218
|
-
const nonFolderCollectionSlugs = allowCreateCollectionSlugs.filter(
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
240
|
+
React.useEffect(t4, t5);
|
|
241
|
+
const nonFolderCollectionSlugs = allowCreateCollectionSlugs.filter(slug_0 => slug_0 !== folderCollectionConfig.slug);
|
|
242
|
+
const folderAssignedCollectionSlugs = Array.isArray(folderType) ? folderType : [];
|
|
243
|
+
const handleRequestCreate = collectionSlug => {
|
|
244
|
+
setCreateDrawerCollectionSlug(collectionSlug);
|
|
245
|
+
};
|
|
246
|
+
let t6;
|
|
247
|
+
if ($[20] !== refineFolderData) {
|
|
248
|
+
t6 = search_0 => refineFolderData({
|
|
222
249
|
query: {
|
|
223
250
|
search: search_0
|
|
224
251
|
},
|
|
225
252
|
updateURL: true
|
|
226
253
|
});
|
|
227
|
-
$[
|
|
228
|
-
$[
|
|
254
|
+
$[20] = refineFolderData;
|
|
255
|
+
$[21] = t6;
|
|
229
256
|
} else {
|
|
230
|
-
|
|
257
|
+
t6 = $[21];
|
|
258
|
+
}
|
|
259
|
+
let t7;
|
|
260
|
+
if ($[22] === Symbol.for("react.memo_cache_sentinel")) {
|
|
261
|
+
t7 = isOpen => {
|
|
262
|
+
if (!isOpen) {
|
|
263
|
+
setCreateDrawerCollectionSlug(undefined);
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
$[22] = t7;
|
|
267
|
+
} else {
|
|
268
|
+
t7 = $[22];
|
|
231
269
|
}
|
|
232
270
|
return _jsxs(Fragment, {
|
|
233
271
|
children: [_jsx(DndEventListener, {
|
|
@@ -248,9 +286,7 @@ function BrowseByFolderViewInContext(props) {
|
|
|
248
286
|
TitleActions: [allowCreateCollectionSlugs.length && _jsx(ListCreateNewDocInFolderButton, {
|
|
249
287
|
buttonLabel: allowCreateCollectionSlugs.length > 1 ? t("general:createNew") : `${t("general:create")} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`,
|
|
250
288
|
collectionSlugs: allowCreateCollectionSlugs,
|
|
251
|
-
|
|
252
|
-
onCreateSuccess: clearRouteCache,
|
|
253
|
-
slugPrefix: "create-document--header-pill"
|
|
289
|
+
onRequestCreate: handleRequestCreate
|
|
254
290
|
}, "create-new-button")].filter(Boolean)
|
|
255
291
|
}), _jsx(SearchBar, {
|
|
256
292
|
Actions: [_jsx(SortByPill, {}, "sort-by-pill"), folderID && _jsx(FilterFolderTypePill, {}, "collection-type"), _jsx(ToggleViewButtons, {
|
|
@@ -258,7 +294,7 @@ function BrowseByFolderViewInContext(props) {
|
|
|
258
294
|
setActiveView: handleSetViewType
|
|
259
295
|
}, "toggle-view-buttons"), _jsx(CurrentFolderActions, {}, "current-folder-actions")].filter(Boolean),
|
|
260
296
|
label: searchPlaceholder,
|
|
261
|
-
onSearchChange:
|
|
297
|
+
onSearchChange: t6,
|
|
262
298
|
searchQueryParam: search
|
|
263
299
|
}), BeforeFolderListTable, totalDocsAndSubfolders > 0 && _jsx(_Fragment, {
|
|
264
300
|
children: activeView === "grid" ? _jsxs("div", {
|
|
@@ -283,17 +319,13 @@ function BrowseByFolderViewInContext(props) {
|
|
|
283
319
|
buttonSize: "medium",
|
|
284
320
|
buttonStyle: "primary",
|
|
285
321
|
collectionSlugs: [folderCollectionConfig.slug],
|
|
286
|
-
|
|
287
|
-
onCreateSuccess: clearRouteCache,
|
|
288
|
-
slugPrefix: "create-folder--no-results"
|
|
322
|
+
onRequestCreate: handleRequestCreate
|
|
289
323
|
}, "create-folder"), folderID && nonFolderCollectionSlugs.length > 0 && _jsx(ListCreateNewDocInFolderButton, {
|
|
290
324
|
buttonLabel: `${t("general:create")} ${t("general:document").toLowerCase()}`,
|
|
291
325
|
buttonSize: "medium",
|
|
292
326
|
buttonStyle: "primary",
|
|
293
327
|
collectionSlugs: nonFolderCollectionSlugs,
|
|
294
|
-
|
|
295
|
-
onCreateSuccess: clearRouteCache,
|
|
296
|
-
slugPrefix: "create-document--no-results"
|
|
328
|
+
onRequestCreate: handleRequestCreate
|
|
297
329
|
}, "create-document")].filter(Boolean),
|
|
298
330
|
Message: _jsxs(_Fragment, {
|
|
299
331
|
children: [_jsx("h3", {
|
|
@@ -307,6 +339,29 @@ function BrowseByFolderViewInContext(props) {
|
|
|
307
339
|
}), selectedItemKeys.size > 0 && dragOverlayItem && _jsx(DragOverlaySelection, {
|
|
308
340
|
item: dragOverlayItem,
|
|
309
341
|
selectedCount: selectedItemKeys.size
|
|
342
|
+
}), _jsx(ControlledDocumentDrawer, {
|
|
343
|
+
collectionSlug: activeCreateDrawerCollectionSlug,
|
|
344
|
+
initialData: {
|
|
345
|
+
[folderFieldName]: folderID,
|
|
346
|
+
...(isCreatingFolder ? {
|
|
347
|
+
folderType: folderAssignedCollectionSlugs
|
|
348
|
+
} : {})
|
|
349
|
+
},
|
|
350
|
+
isOpen: Boolean(createDrawerCollectionSlug),
|
|
351
|
+
onOpenChange: t7,
|
|
352
|
+
onSave: t8 => {
|
|
353
|
+
const {
|
|
354
|
+
operation
|
|
355
|
+
} = t8;
|
|
356
|
+
const isAutosaveCollection = hasAutosaveEnabled(activeCreateDrawerCollectionConfig);
|
|
357
|
+
if (isAutosaveCollection || operation === "create") {
|
|
358
|
+
clearRouteCache();
|
|
359
|
+
}
|
|
360
|
+
if (operation === "create" && !isAutosaveCollection) {
|
|
361
|
+
setCreateDrawerCollectionSlug(undefined);
|
|
362
|
+
}
|
|
363
|
+
},
|
|
364
|
+
redirectAfterCreate: false
|
|
310
365
|
})]
|
|
311
366
|
});
|
|
312
367
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useDndMonitor","getTranslation","useRouter","PREFERENCE_KEYS","React","Fragment","DroppableBreadcrumb","ColoredFolderIcon","CurrentFolderActions","DragOverlaySelection","FilterFolderTypePill","FolderFileTable","ItemCardGrid","SortByPill","ToggleViewButtons","Gutter","ListHeader","ListCreateNewDocInFolderButton","NoListResults","SearchBar","useStepNav","useEditDepth","FolderProvider","useFolder","usePreferences","useRouteCache","useRouteTransition","useTranslation","useWindowInfo","ListSelection","baseClass","DefaultBrowseByFolderView","activeCollectionFolderSlugs","allCollectionFolderSlugs","allowCreateCollectionSlugs","baseFolderPath","breadcrumbs","documents","folderFieldName","folderID","FolderResultsComponent","search","subfolders","restOfProps","_jsx","BrowseByFolderViewInContext","props","$","AfterFolderList","AfterFolderListTable","BeforeFolderList","BeforeFolderListTable","Description","disableBulkDelete","disableBulkEdit","folderAssignedCollections","viewPreference","router","i18n","t","drawerDepth","setStepNav","startRouteTransition","clearRouteCache","breakpoints","t0","s","smallBreak","setPreference","dragOverlayItem","folderCollectionConfig","folderType","getFolderRoute","getSelectedItems","moveToFolder","refineFolderData","selectedItemKeys","setIsDragging","activeView","setActiveView","useState","t1","locationLabel","length","labels","plural","name","folderName","searchPlaceholder","t2","event","over","data","current","type","itemsToMove","toFolderID","id","onDragEnd","totalDocsAndSubfolders","listHeaderTitle","handleSetViewType","view","BROWSE_BY_FOLDER","t3","t4","label","_jsxs","className","children","filter","Boolean","join","onClick","push","map","crumb","crumbIndex","useEffect","nonFolderCollectionSlugs","slug","t5","search_0","query","updateURL","DndEventListener","Actions","AfterListHeaderContent","title","TitleActions","buttonLabel","singular","toLowerCase","collectionSlugs","Array","isArray","onCreateSuccess","slugPrefix","onSearchChange","searchQueryParam","_Fragment","items","subfolderCount","includes","buttonSize","buttonStyle","Message","size","item","selectedCount","onDragCancel","onDragStart"],"sources":["../../../src/views/BrowseByFolder/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DragEndEvent } from '@dnd-kit/core'\nimport type { FolderListViewClientProps } from 'payload'\n\nimport { useDndMonitor } from '@dnd-kit/core'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport { PREFERENCE_KEYS } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { DroppableBreadcrumb } from '../../elements/FolderView/Breadcrumbs/index.js'\nimport { ColoredFolderIcon } from '../../elements/FolderView/ColoredFolderIcon/index.js'\nimport { CurrentFolderActions } from '../../elements/FolderView/CurrentFolderActions/index.js'\nimport { DragOverlaySelection } from '../../elements/FolderView/DragOverlaySelection/index.js'\nimport { FilterFolderTypePill } from '../../elements/FolderView/FilterFolderTypePill/index.js'\nimport { FolderFileTable } from '../../elements/FolderView/FolderFileTable/index.js'\nimport { ItemCardGrid } from '../../elements/FolderView/ItemCardGrid/index.js'\nimport { SortByPill } from '../../elements/FolderView/SortByPill/index.js'\nimport { ToggleViewButtons } from '../../elements/FolderView/ToggleViewButtons/index.js'\nimport { Gutter } from '../../elements/Gutter/index.js'\nimport { ListHeader } from '../../elements/ListHeader/index.js'\nimport { ListCreateNewDocInFolderButton } from '../../elements/ListHeader/TitleActions/index.js'\nimport { NoListResults } from '../../elements/NoListResults/index.js'\nimport { SearchBar } from '../../elements/SearchBar/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { FolderProvider, useFolder } from '../../providers/Folders/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListSelection } from '../CollectionFolder/ListSelection/index.js'\nimport './index.scss'\n\nconst baseClass = 'folder-list'\n\nexport function DefaultBrowseByFolderView({\n activeCollectionFolderSlugs,\n allCollectionFolderSlugs,\n allowCreateCollectionSlugs,\n baseFolderPath,\n breadcrumbs,\n documents,\n folderFieldName,\n folderID,\n FolderResultsComponent,\n search,\n subfolders,\n ...restOfProps\n}: FolderListViewClientProps) {\n return (\n <FolderProvider\n activeCollectionFolderSlugs={activeCollectionFolderSlugs}\n allCollectionFolderSlugs={allCollectionFolderSlugs}\n allowCreateCollectionSlugs={allowCreateCollectionSlugs}\n baseFolderPath={baseFolderPath}\n breadcrumbs={breadcrumbs}\n documents={documents}\n folderFieldName={folderFieldName}\n folderID={folderID}\n FolderResultsComponent={FolderResultsComponent}\n search={search}\n subfolders={subfolders}\n >\n <BrowseByFolderViewInContext {...restOfProps} />\n </FolderProvider>\n )\n}\n\ntype BrowseByFolderViewInContextProps = Omit<\n FolderListViewClientProps,\n | 'activeCollectionFolderSlugs'\n | 'allCollectionFolderSlugs'\n | 'allowCreateCollectionSlugs'\n | 'baseFolderPath'\n | 'breadcrumbs'\n | 'documents'\n | 'folderFieldName'\n | 'folderID'\n | 'FolderResultsComponent'\n | 'subfolders'\n>\n\nfunction BrowseByFolderViewInContext(props: BrowseByFolderViewInContextProps) {\n const {\n AfterFolderList,\n AfterFolderListTable,\n BeforeFolderList,\n BeforeFolderListTable,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n folderAssignedCollections,\n viewPreference,\n } = props\n\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const drawerDepth = useEditDepth()\n const { setStepNav } = useStepNav()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n const { setPreference } = usePreferences()\n const {\n allowCreateCollectionSlugs,\n breadcrumbs,\n documents,\n dragOverlayItem,\n folderCollectionConfig,\n folderID,\n folderType,\n getFolderRoute,\n getSelectedItems,\n moveToFolder,\n refineFolderData,\n search,\n selectedItemKeys,\n setIsDragging,\n subfolders,\n } = useFolder()\n\n const [activeView, setActiveView] = React.useState<'grid' | 'list'>(viewPreference || 'grid')\n const [searchPlaceholder] = React.useState(() => {\n const locationLabel =\n breadcrumbs.length === 0\n ? getTranslation(folderCollectionConfig.labels?.plural, i18n)\n : breadcrumbs[breadcrumbs.length - 1].name\n return t('folder:searchByNameInFolder', {\n folderName: locationLabel,\n })\n })\n\n const onDragEnd = React.useCallback(\n async (event: DragEndEvent) => {\n if (!event.over) {\n return\n }\n\n if (event.over.data.current.type === 'folder' && 'id' in event.over.data.current) {\n await moveToFolder({\n itemsToMove: getSelectedItems(),\n toFolderID: event.over.data.current.id || null,\n })\n clearRouteCache()\n }\n },\n [moveToFolder, getSelectedItems, clearRouteCache],\n )\n\n const totalDocsAndSubfolders = documents.length + subfolders.length\n const listHeaderTitle = !breadcrumbs.length\n ? t('folder:browseByFolder')\n : breadcrumbs[breadcrumbs.length - 1].name\n\n const handleSetViewType = React.useCallback(\n (view: 'grid' | 'list') => {\n void setPreference(PREFERENCE_KEYS.BROWSE_BY_FOLDER, {\n viewPreference: view,\n })\n setActiveView(view)\n },\n [setPreference],\n )\n\n React.useEffect(() => {\n if (!drawerDepth) {\n setStepNav([\n !breadcrumbs.length\n ? {\n label: (\n <div className={`${baseClass}__step-nav-icon-label`} key=\"root\">\n <ColoredFolderIcon />\n {t('folder:browseByFolder')}\n </div>\n ),\n }\n : {\n label: (\n <DroppableBreadcrumb\n className={[\n `${baseClass}__step-nav-droppable`,\n `${baseClass}__step-nav-icon-label`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={null}\n key=\"root\"\n onClick={() => {\n startRouteTransition(() => {\n router.push(getFolderRoute(null))\n })\n }}\n >\n <ColoredFolderIcon />\n {t('folder:browseByFolder')}\n </DroppableBreadcrumb>\n ),\n },\n ...breadcrumbs.map((crumb, crumbIndex) => {\n return {\n label:\n crumbIndex === breadcrumbs.length - 1 ? (\n crumb.name\n ) : (\n <DroppableBreadcrumb\n className={`${baseClass}__step-nav-droppable`}\n id={crumb.id}\n key={crumb.id}\n onClick={() => {\n startRouteTransition(() => {\n router.push(getFolderRoute(crumb.id))\n })\n }}\n >\n {crumb.name}\n </DroppableBreadcrumb>\n ),\n }\n }),\n ])\n }\n }, [breadcrumbs, drawerDepth, getFolderRoute, router, setStepNav, startRouteTransition, t])\n\n const nonFolderCollectionSlugs = allowCreateCollectionSlugs.filter(\n (slug) => slug !== folderCollectionConfig.slug,\n )\n\n return (\n <Fragment>\n <DndEventListener onDragEnd={onDragEnd} setIsDragging={setIsDragging} />\n <div className={`${baseClass} ${baseClass}--folders`}>\n {BeforeFolderList}\n <Gutter className={`${baseClass}__wrap`}>\n <ListHeader\n Actions={[\n !smallBreak && (\n <ListSelection\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n folderAssignedCollections={folderAssignedCollections}\n key=\"list-selection\"\n />\n ),\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n title={listHeaderTitle}\n TitleActions={[\n allowCreateCollectionSlugs.length && (\n <ListCreateNewDocInFolderButton\n buttonLabel={\n allowCreateCollectionSlugs.length > 1\n ? t('general:createNew')\n : `${t('general:create')} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`\n }\n collectionSlugs={allowCreateCollectionSlugs}\n folderAssignedCollections={Array.isArray(folderType) ? folderType : []}\n key=\"create-new-button\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-document--header-pill\"\n />\n ),\n ].filter(Boolean)}\n />\n <SearchBar\n Actions={[\n <SortByPill key=\"sort-by-pill\" />,\n folderID && <FilterFolderTypePill key=\"collection-type\" />,\n <ToggleViewButtons\n activeView={activeView}\n key=\"toggle-view-buttons\"\n setActiveView={handleSetViewType}\n />,\n <CurrentFolderActions key=\"current-folder-actions\" />,\n ].filter(Boolean)}\n label={searchPlaceholder}\n onSearchChange={(search) => refineFolderData({ query: { search }, updateURL: true })}\n searchQueryParam={search}\n />\n {BeforeFolderListTable}\n {totalDocsAndSubfolders > 0 && (\n <>\n {activeView === 'grid' ? (\n <div>\n {subfolders.length ? (\n <>\n <ItemCardGrid items={subfolders} title={'Folders'} type=\"folder\" />\n </>\n ) : null}\n\n {documents.length ? (\n <>\n <ItemCardGrid\n items={documents}\n subfolderCount={subfolders.length}\n title={'Documents'}\n type=\"file\"\n />\n </>\n ) : null}\n </div>\n ) : (\n <FolderFileTable />\n )}\n </>\n )}\n {totalDocsAndSubfolders === 0 && (\n <NoListResults\n Actions={[\n allowCreateCollectionSlugs.includes(folderCollectionConfig.slug) && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`}\n buttonSize=\"medium\"\n buttonStyle=\"primary\"\n collectionSlugs={[folderCollectionConfig.slug]}\n folderAssignedCollections={Array.isArray(folderType) ? folderType : []}\n key=\"create-folder\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-folder--no-results\"\n />\n ),\n folderID && nonFolderCollectionSlugs.length > 0 && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${t('general:document').toLowerCase()}`}\n buttonSize=\"medium\"\n buttonStyle=\"primary\"\n collectionSlugs={nonFolderCollectionSlugs}\n folderAssignedCollections={Array.isArray(folderType) ? folderType : []}\n key=\"create-document\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-document--no-results\"\n />\n ),\n ].filter(Boolean)}\n Message={\n <>\n <h3>{i18n.t('general:noResultsFound')}</h3>\n <p>{i18n.t('general:noResultsDescription')}</p>\n </>\n }\n />\n )}\n {AfterFolderListTable}\n </Gutter>\n {AfterFolderList}\n </div>\n {selectedItemKeys.size > 0 && dragOverlayItem && (\n <DragOverlaySelection item={dragOverlayItem} selectedCount={selectedItemKeys.size} />\n )}\n </Fragment>\n )\n}\nfunction DndEventListener({ onDragEnd, setIsDragging }) {\n useDndMonitor({\n onDragCancel() {\n setIsDragging(false)\n },\n onDragEnd(event) {\n setIsDragging(false)\n onDragEnd(event)\n },\n onDragStart() {\n setIsDragging(true)\n },\n })\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAKA,SAASC,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,eAAe,QAAQ;AAChC,SAASC,YAAY,QAAQ;AAC7B,SAASC,UAAU,QAAQ;AAC3B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,MAAM,QAAQ;AACvB,SAASC,UAAU,QAAQ;AAC3B,SAASC,8BAA8B,QAAQ;AAC/C,SAASC,aAAa,QAAQ;AAC9B,SAASC,SAAS,QAAQ;AAC1B,SAASC,UAAU,QAAQ;AAC3B,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,EAAEC,SAAS,QAAQ;AAC1C,SAASC,cAAc,QAAQ;AAC/B,SAASC,aAAa,QAAQ;AAC9B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,aAAa,QAAQ;AAC9B,SAASC,aAAa,QAAQ;AAC9B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,SAASC,0BAA0B;EACxCC,2BAA2B;EAC3BC,wBAAwB;EACxBC,0BAA0B;EAC1BC,cAAc;EACdC,WAAW;EACXC,SAAS;EACTC,eAAe;EACfC,QAAQ;EACRC,sBAAsB;EACtBC,MAAM;EACNC,UAAU;EACV,GAAGC;AAAA,CACuB;EAC1B,oBACEC,IAAA,CAACtB,cAAA;IACCU,2BAAA,EAA6BA,2BAAA;IAC7BC,wBAAA,EAA0BA,wBAAA;IAC1BC,0BAAA,EAA4BA,0BAAA;IAC5BC,cAAA,EAAgBA,cAAA;IAChBC,WAAA,EAAaA,WAAA;IACbC,SAAA,EAAWA,SAAA;IACXC,eAAA,EAAiBA,eAAA;IACjBC,QAAA,EAAUA,QAAA;IACVC,sBAAA,EAAwBA,sBAAA;IACxBC,MAAA,EAAQA,MAAA;IACRC,UAAA,EAAYA,UAAA;cAEZ,aAAAE,IAAA,CAACC,2BAAA;MAA6B,GAAGF;;;AAGvC;AAgBA,SAAAE,4BAAAC,KAAA;EAAA,MAAAC,CAAA,GAAAhD,EAAA;EACE;IAAAiD,eAAA;IAAAC,oBAAA;IAAAC,gBAAA;IAAAC,qBAAA;IAAAC,WAAA;IAAAC,iBAAA;IAAAC,eAAA;IAAAC,yBAAA;IAAAC;EAAA,IAUIV,KAAA;EAEJ,MAAAW,MAAA,GAAevD,SAAA;EACf;IAAAwD,IAAA;IAAAC;EAAA,IAAoBhC,cAAA;EACpB,MAAAiC,WAAA,GAAoBvC,YAAA;EACpB;IAAAwC;EAAA,IAAuBzC,UAAA;EACvB;IAAA0C;EAAA,IAAiCpC,kBAAA;EACjC;IAAAqC;EAAA,IAA4BtC,aAAA;EAC5B;IAAAuC,WAAA,EAAAC;EAAA,IAEIrC,aAAA;EADW;IAAAsC,CAAA,EAAAC;EAAA,IAAAF,EAAiB;EAEhC;IAAAG;EAAA,IAA0B5C,cAAA;EAC1B;IAAAU,0BAAA;IAAAE,WAAA;IAAAC,SAAA;IAAAgC,eAAA;IAAAC,sBAAA;IAAA/B,QAAA;IAAAgC,UAAA;IAAAC,cAAA;IAAAC,gBAAA;IAAAC,YAAA;IAAAC,gBAAA;IAAAlC,MAAA;IAAAmC,gBAAA;IAAAC,aAAA;IAAAnC;EAAA,IAgBInB,SAAA;EAEJ,OAAAuD,UAAA,EAAAC,aAAA,IAAoC3E,KAAA,CAAA4E,QAAA,CAAgCxB,cAAA,IAAkB;EAAA,IAAAyB,EAAA;EAAA,IAAAlC,CAAA,QAAAX,WAAA,IAAAW,CAAA,QAAAuB,sBAAA,IAAAvB,CAAA,QAAAW,IAAA,IAAAX,CAAA,QAAAY,CAAA;IAC3CsB,EAAA,GAAAA,CAAA;MACzC,MAAAC,aAAA,GACE9C,WAAA,CAAA+C,MAAA,MAAuB,GACnBlF,cAAA,CAAeqE,sBAAA,CAAAc,MAAA,EAAAC,MAAA,EAAuC3B,IAAA,IACtDtB,WAAW,CAACA,WAAA,CAAA+C,MAAA,IAAqB,EAAAG,IAAO;MAAA,OACvC3B,CAAA,CAAE;QAAA4B,UAAA,EACKL;MAAA,CACd;IAAA;IACFnC,CAAA,MAAAX,WAAA;IAAAW,CAAA,MAAAuB,sBAAA;IAAAvB,CAAA,MAAAW,IAAA;IAAAX,CAAA,MAAAY,CAAA;IAAAZ,CAAA,MAAAkC,EAAA;EAAA;IAAAA,EAAA,GAAAlC,CAAA;EAAA;EARA,OAAAyC,iBAAA,IAA4BpF,KAAA,CAAA4E,QAAA,CAAeC,EAQ3C;EAAA,IAAAQ,EAAA;EAAA,IAAA1C,CAAA,QAAAgB,eAAA,IAAAhB,CAAA,QAAA0B,gBAAA,IAAA1B,CAAA,QAAA2B,YAAA;IAGEe,EAAA,SAAAC,KAAA;MAAA,KACOA,KAAA,CAAAC,IAAA;QAAA;MAAA;MAAA,IAIDD,KAAA,CAAAC,IAAA,CAAAC,IAAA,CAAAC,OAAA,CAAAC,IAAA,KAAiC,YAAY,QAAQJ,KAAA,CAAAC,IAAA,CAAAC,IAAA,CAAAC,OAAuB;QAAA,MACxEnB,YAAA;UAAAqB,WAAA,EACStB,gBAAA;UAAAuB,UAAA,EACDN,KAAA,CAAAC,IAAA,CAAAC,IAAA,CAAAC,OAAA,CAAAI,EAAA;QAA8B,CAC5C;QACAlC,eAAA;MAAA;IAAA;IAEJhB,CAAA,MAAAgB,eAAA;IAAAhB,CAAA,MAAA0B,gBAAA;IAAA1B,CAAA,MAAA2B,YAAA;IAAA3B,CAAA,MAAA0C,EAAA;EAAA;IAAAA,EAAA,GAAA1C,CAAA;EAAA;EAbF,MAAAmD,SAAA,GAAkBT,EAciC;EAGnD,MAAAU,sBAAA,GAA+B9D,SAAA,CAAA8C,MAAA,GAAmBzC,UAAA,CAAAyC,MAAiB;EACnE,MAAAiB,eAAA,GAAwB,CAAChE,WAAA,CAAA+C,MAAA,GACrBxB,CAAA,CAAE,2BACFvB,WAAW,CAACA,WAAA,CAAA+C,MAAA,IAAqB,EAAAG,IAAO;EAE5C,MAAAe,iBAAA,GAAAC,IAAA;IAESlC,aAAA,CAAAjE,eAAA,CAAAoG,gBAAA;MAAA/C,cAAA,EACa8C;IAAA,CAClB;IACAvB,aAAA,CAAcuB,IAAA;EAAA;EAED,IAAAE,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAA1D,CAAA,QAAAX,WAAA,IAAAW,CAAA,SAAAa,WAAA,IAAAb,CAAA,SAAAyB,cAAA,IAAAzB,CAAA,SAAAU,MAAA,IAAAV,CAAA,SAAAc,UAAA,IAAAd,CAAA,SAAAe,oBAAA,IAAAf,CAAA,SAAAY,CAAA;IAGD6C,EAAA,GAAAA,CAAA;MAAA,KACT5C,WAAA;QACHC,UAAA,EACE,CAACzB,WAAA,CAAA+C,MAAA;UAAAuB,KAAA,EAGOC,KAAA,CAAC;YAAAC,SAAA,EAAe,GAAA9E,SAAA,uBAAmC;YAAA+E,QAAA,GACjDjE,IAAA,CAAArC,iBAAA,IAAC,GACAoD,CAAA,CAAE;UAAA,GAFoD;QAAA;UAAA+C,KAAA,EAQzDC,KAAA,CAAArG,mBAAA;YAAAsG,SAAA,EACa,CACT,GAAA9E,SAAA,sBAAkC,EAClC,GAAAA,SAAA,uBAAmC,EAAAgF,MAAA,CAAAC,OAE3B,EAAAC,IAAA,CACF;YAAAf,EAAA;YAAAgB,OAAA,EAAAA,CAAA;cAINnD,oBAAA;gBACEL,MAAA,CAAAyD,IAAA,CAAY1C,cAAA,KAAe;cAAA,CAC7B;YAAA;YAAAqC,QAAA,GAGFjE,IAAA,CAAArC,iBAAA,IAAC,GACAoD,CAAA,CAAE;UAAA,GARC;QAAA,CAWV,KACDvB,WAAA,CAAA+E,GAAA,EAAAC,KAAA,EAAAC,UAAA;UAAAX,KAAA,EAGGW,UAAA,KAAejF,WAAA,CAAA+C,MAAA,IAAqB,GAClCiC,KAAA,CAAA9B,IAAA,GAEA1C,IAAA,CAAAtC,mBAAA;YAAAsG,SAAA,EACa,GAAA9E,SAAA,sBAAkC;YAAAmE,EAAA,EACzCmB,KAAA,CAAAnB,EAAA;YAAAgB,OAAA,EAAAA,CAAA;cAGFnD,oBAAA;gBACEL,MAAA,CAAAyD,IAAA,CAAY1C,cAAA,CAAe4C,KAAA,CAAAnB,EAAQ;cAAA,CACrC;YAAA;YAAAY,QAAA,EAGDO,KAAA,CAAA9B;UAAA,GAPI8B,KAAA,CAAAnB,EAAQ;QAAA,EAWvB,EACD;MAAA;IAAA;IAEFQ,EAAA,IAACrE,WAAA,EAAawB,WAAA,EAAaY,cAAA,EAAgBf,MAAA,EAAQI,UAAA,EAAYC,oBAAA,EAAsBH,CAAA;IAAEZ,CAAA,MAAAX,WAAA;IAAAW,CAAA,OAAAa,WAAA;IAAAb,CAAA,OAAAyB,cAAA;IAAAzB,CAAA,OAAAU,MAAA;IAAAV,CAAA,OAAAc,UAAA;IAAAd,CAAA,OAAAe,oBAAA;IAAAf,CAAA,OAAAY,CAAA;IAAAZ,CAAA,OAAAyD,EAAA;IAAAzD,CAAA,OAAA0D,EAAA;EAAA;IAAAD,EAAA,GAAAzD,CAAA;IAAA0D,EAAA,GAAA1D,CAAA;EAAA;EAzD1F3C,KAAA,CAAAkH,SAAA,CAAgBd,EAyDhB,EAAGC,EAAuF;EAE1F,MAAAc,wBAAA,GAAiCrF,0BAAA,CAAA4E,MAAA,CAAAU,IAAA,IACrBA,IAAA,KAASlD,sBAAA,CAAAkD,IAA2B;EAAA,IAAAC,EAAA;EAAA,IAAA1E,CAAA,SAAA4B,gBAAA;IAmDtB8C,EAAA,GAAAC,QAAA,IAAY/C,gBAAA;MAAAgD,KAAA;QAAAlF,MAAA,EAA4BA;MAAA;MAAAmF,SAAA;IAAA,CAA0B;IAAA7E,CAAA,OAAA4B,gBAAA;IAAA5B,CAAA,OAAA0E,EAAA;EAAA;IAAAA,EAAA,GAAA1E,CAAA;EAAA;EAAA,OA/C1F4D,KAAA,CAAAtG,QAAA;IAAAwG,QAAA,GACEjE,IAAA,CAAAiF,gBAAA;MAAA3B,SAAA;MAAArB;IAAA,C,GACA8B,KAAA,CAAC;MAAAC,SAAA,EAAe,GAAA9E,SAAA,IAAAA,SAAA,WAAoC;MAAA+E,QAAA,GACjD3D,gBAAA,EACDyD,KAAA,CAAA5F,MAAA;QAAA6F,SAAA,EAAmB,GAAA9E,SAAA,QAAoB;QAAA+E,QAAA,GACrCjE,IAAA,CAAA5B,UAAA;UAAA8G,OAAA,EACW,CACP,CAAC3D,UAAA,IACCvB,IAAA,CAAAf,aAAA;YAAAwB,iBAAA;YAAAC,eAAA;YAAAC;UAAA,GAIM,mBAAAuD,MAAA,CAAAC,OAGD;UAAAgB,sBAAA,EACe3E,WAAA;UAAA4E,KAAA,EACjB5B,eAAA;UAAA6B,YAAA,EACO,CACZ/F,0BAAA,CAAAiD,MAAA,IACEvC,IAAA,CAAA3B,8BAAA;YAAAiH,WAAA,EAEIhG,0BAAA,CAAAiD,MAAA,IAAoC,GAChCxB,CAAA,CAAE,uBACF,GAAGA,CAAA,CAAE,qBAAqB1D,cAAA,CAAeqE,sBAAA,CAAAc,MAAA,EAAA+C,QAAA,EAAyCzE,IAAA,EAAA0E,WAAA,CAAiB,GAAI;YAAAC,eAAA,EAE5FnG,0BAAA;YAAAqB,yBAAA,EACU+E,KAAA,CAAAC,OAAA,CAAchE,UAAA,IAAcA,UAAA,KAAe;YAAAiE,eAAA,EAErDzE,eAAA;YAAA0E,UAAA,EACN;UAAA,GAFP,sBAAA3B,MAAA,CAAAC,OAKD;QAAA,C,GAEXnE,IAAA,CAAAzB,SAAA;UAAA2G,OAAA,EACW,CACPlF,IAAA,CAAA/B,UAAA,MAAgB,iBAChB0B,QAAA,IAAYK,IAAA,CAAAlC,oBAAA,MAA0B,oBACtCkC,IAAA,CAAA9B,iBAAA;YAAAgE,UAAA;YAAAC,aAAA,EAGiBsB;UAAA,GADX,wBAGNzD,IAAA,CAAApC,oBAAA,MAA0B,2BAAAsG,MAAA,CAAAC,OACnB;UAAAL,KAAA,EACFlB,iBAAA;UAAAkD,cAAA,EACSjB,EAAkE;UAAAkB,gBAAA,EAChElG;QAAA,C,GAEnBU,qBAAA,EACAgD,sBAAA,IAAyB,IACxBvD,IAAA,CAAAgG,SAAA;UAAA/B,QAAA,EACG/B,UAAA,KAAe,SACd6B,KAAA,CAAC;YAAAE,QAAA,GACEnE,UAAA,CAAAyC,MAAA,GACCvC,IAAA,CAAAgG,SAAA;cAAA/B,QAAA,EACEjE,IAAA,CAAAhC,YAAA;gBAAAiI,KAAA,EAAqBnG,UAAA;gBAAAsF,KAAA,EAAmB;gBAAAlC,IAAA,EAAgB;cAAA,C;qBAExD,EAEHzD,SAAA,CAAA8C,MAAA,GACCvC,IAAA,CAAAgG,SAAA;cAAA/B,QAAA,EACEjE,IAAA,CAAAhC,YAAA;gBAAAiI,KAAA,EACSxG,SAAA;gBAAAyG,cAAA,EACSpG,UAAA,CAAAyC,MAAA;gBAAA6C,KAAA,EACT;gBAAAlC,IAAA,EACF;cAAA,C;qBAGP;UAAA,C,IAGNlD,IAAA,CAAAjC,eAAA,IAAC;QAAA,C,GAINwF,sBAAA,MAA2B,IAC1BvD,IAAA,CAAA1B,aAAA;UAAA4G,OAAA,EACW,CACP5F,0BAAA,CAAA6G,QAAA,CAAoCzE,sBAAA,CAAAkD,IAA2B,KAC7D5E,IAAA,CAAA3B,8BAAA;YAAAiH,WAAA,EACe,GAAGvE,CAAA,CAAE,qBAAqB1D,cAAA,CAAeqE,sBAAA,CAAAc,MAAA,EAAA+C,QAAA,EAAyCzE,IAAA,EAAA0E,WAAA,CAAiB,GAAI;YAAAY,UAAA,EACzG;YAAAC,WAAA,EACC;YAAAZ,eAAA,GACM/D,sBAAA,CAAAkD,IAAA;YAAAjE,yBAAA,EACS+E,KAAA,CAAAC,OAAA,CAAchE,UAAA,IAAcA,UAAA,KAAe;YAAAiE,eAAA,EAErDzE,eAAA;YAAA0E,UAAA,EACN;UAAA,GAFP,kBAKRlG,QAAA,IAAYgF,wBAAA,CAAApC,MAAA,IAAkC,IAC5CvC,IAAA,CAAA3B,8BAAA;YAAAiH,WAAA,EACe,GAAGvE,CAAA,CAAE,qBAAqBA,CAAA,CAAE,oBAAAyE,WAAA,CAA+B,GAAI;YAAAY,UAAA,EACjE;YAAAC,WAAA,EACC;YAAAZ,eAAA,EACKd,wBAAA;YAAAhE,yBAAA,EACU+E,KAAA,CAAAC,OAAA,CAAchE,UAAA,IAAcA,UAAA,KAAe;YAAAiE,eAAA,EAErDzE,eAAA;YAAA0E,UAAA,EACN;UAAA,GAFP,oBAAA3B,MAAA,CAAAC,OAKD;UAAAmC,OAAA,EAEPvC,KAAA,CAAAiC,SAAA;YAAA/B,QAAA,GACEjE,IAAA,CAAC;cAAAiE,QAAA,EAAInD,IAAA,CAAAC,CAAA,CAAO;YAAA,C,GACZf,IAAA,CAAC;cAAAiE,QAAA,EAAGnD,IAAA,CAAAC,CAAA,CAAO;YAAA,C;;YAKlBV,oBAAA;MAAA,C,GAEFD,eAAA;IAAA,C,GAEF4B,gBAAA,CAAAuE,IAAA,IAAwB,IAAK9E,eAAA,IAC5BzB,IAAA,CAAAnC,oBAAA;MAAA2I,IAAA,EAA4B/E,eAAA;MAAAgF,aAAA,EAAgCzE,gBAAA,CAAAuE;IAAA,C;;;AAKpE,SAAAtB,iBAAA5D,EAAA;EAAA,MAAAlB,CAAA,GAAAhD,EAAA;EAA0B;IAAAmG,SAAA;IAAArB;EAAA,IAAAZ,EAA4B;EAAA,IAAAgB,EAAA;EAAA,IAAAlC,CAAA,QAAAmD,SAAA,IAAAnD,CAAA,QAAA8B,aAAA;IACtCI,EAAA;MAAAqE,aAAA;QAEVzE,aAAA,MAAc;MAAA;MAAAqB,UAAAR,KAAA;QAGdb,aAAA,MAAc;QACdqB,SAAA,CAAUR,KAAA;MAAA;MAAA6D,YAAA;QAGV1E,aAAA,KAAc;MAAA;IAAA;IAElB9B,CAAA,MAAAmD,SAAA;IAAAnD,CAAA,MAAA8B,aAAA;IAAA9B,CAAA,MAAAkC,EAAA;EAAA;IAAAA,EAAA,GAAAlC,CAAA;EAAA;EAXA/C,aAAA,CAAciF,EAWd;EAAA;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useDndMonitor","getTranslation","useRouter","hasAutosaveEnabled","PREFERENCE_KEYS","React","Fragment","ControlledDocumentDrawer","DroppableBreadcrumb","ColoredFolderIcon","CurrentFolderActions","DragOverlaySelection","FilterFolderTypePill","FolderFileTable","ItemCardGrid","SortByPill","ToggleViewButtons","Gutter","ListHeader","ListCreateNewDocInFolderButton","NoListResults","SearchBar","useStepNav","useConfig","useEditDepth","FolderProvider","useFolder","usePreferences","useRouteCache","useRouteTransition","useTranslation","useWindowInfo","ListSelection","baseClass","DefaultBrowseByFolderView","activeCollectionFolderSlugs","allCollectionFolderSlugs","allowCreateCollectionSlugs","baseFolderPath","breadcrumbs","documents","folderFieldName","folderID","FolderResultsComponent","search","subfolders","restOfProps","_jsx","BrowseByFolderViewInContext","props","$","AfterFolderList","AfterFolderListTable","BeforeFolderList","BeforeFolderListTable","Description","disableBulkDelete","disableBulkEdit","folderAssignedCollections","viewPreference","router","config","i18n","t","drawerDepth","setStepNav","startRouteTransition","clearRouteCache","breakpoints","t0","s","smallBreak","setPreference","dragOverlayItem","folderCollectionConfig","folderType","getFolderRoute","getSelectedItems","moveToFolder","refineFolderData","selectedItemKeys","setIsDragging","createDrawerCollectionSlug","setCreateDrawerCollectionSlug","useState","activeView","setActiveView","t1","labels","plural","locationLabel","length","name","folderName","searchPlaceholder","t2","event","over","data","current","type","itemsToMove","toFolderID","id","onDragEnd","totalDocsAndSubfolders","listHeaderTitle","activeCreateDrawerCollectionSlug","slug","t3","t4","activeCreateDrawerCollectionConfig","collections","find","isCreatingFolder","handleSetViewType","view","BROWSE_BY_FOLDER","t5","label","_jsxs","className","children","filter","Boolean","join","onClick","push","map","crumb","crumbIndex","useEffect","nonFolderCollectionSlugs","slug_0","folderAssignedCollectionSlugs","Array","isArray","handleRequestCreate","collectionSlug","t6","search_0","query","updateURL","t7","Symbol","for","isOpen","undefined","DndEventListener","Actions","AfterListHeaderContent","title","TitleActions","buttonLabel","singular","toLowerCase","collectionSlugs","onRequestCreate","onSearchChange","searchQueryParam","_Fragment","items","subfolderCount","includes","buttonSize","buttonStyle","Message","size","item","selectedCount","initialData","onOpenChange","onSave","t8","operation","isAutosaveCollection","redirectAfterCreate","onDragCancel","onDragStart"],"sources":["../../../src/views/BrowseByFolder/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DragEndEvent } from '@dnd-kit/core'\nimport type { CollectionSlug, FolderListViewClientProps } from 'payload'\n\nimport { useDndMonitor } from '@dnd-kit/core'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport { hasAutosaveEnabled, PREFERENCE_KEYS } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { ControlledDocumentDrawer } from '../../elements/DocumentDrawer/ControlledDocumentDrawer.js'\nimport { DroppableBreadcrumb } from '../../elements/FolderView/Breadcrumbs/index.js'\nimport { ColoredFolderIcon } from '../../elements/FolderView/ColoredFolderIcon/index.js'\nimport { CurrentFolderActions } from '../../elements/FolderView/CurrentFolderActions/index.js'\nimport { DragOverlaySelection } from '../../elements/FolderView/DragOverlaySelection/index.js'\nimport { FilterFolderTypePill } from '../../elements/FolderView/FilterFolderTypePill/index.js'\nimport { FolderFileTable } from '../../elements/FolderView/FolderFileTable/index.js'\nimport { ItemCardGrid } from '../../elements/FolderView/ItemCardGrid/index.js'\nimport { SortByPill } from '../../elements/FolderView/SortByPill/index.js'\nimport { ToggleViewButtons } from '../../elements/FolderView/ToggleViewButtons/index.js'\nimport { Gutter } from '../../elements/Gutter/index.js'\nimport { ListHeader } from '../../elements/ListHeader/index.js'\nimport { ListCreateNewDocInFolderButton } from '../../elements/ListHeader/TitleActions/index.js'\nimport { NoListResults } from '../../elements/NoListResults/index.js'\nimport { SearchBar } from '../../elements/SearchBar/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { FolderProvider, useFolder } from '../../providers/Folders/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListSelection } from '../CollectionFolder/ListSelection/index.js'\nimport './index.scss'\n\nconst baseClass = 'folder-list'\n\nexport function DefaultBrowseByFolderView({\n activeCollectionFolderSlugs,\n allCollectionFolderSlugs,\n allowCreateCollectionSlugs,\n baseFolderPath,\n breadcrumbs,\n documents,\n folderFieldName,\n folderID,\n FolderResultsComponent,\n search,\n subfolders,\n ...restOfProps\n}: FolderListViewClientProps) {\n return (\n <FolderProvider\n activeCollectionFolderSlugs={activeCollectionFolderSlugs}\n allCollectionFolderSlugs={allCollectionFolderSlugs}\n allowCreateCollectionSlugs={allowCreateCollectionSlugs}\n baseFolderPath={baseFolderPath}\n breadcrumbs={breadcrumbs}\n documents={documents}\n folderFieldName={folderFieldName}\n folderID={folderID}\n FolderResultsComponent={FolderResultsComponent}\n search={search}\n subfolders={subfolders}\n >\n <BrowseByFolderViewInContext {...restOfProps} />\n </FolderProvider>\n )\n}\n\ntype BrowseByFolderViewInContextProps = Omit<\n FolderListViewClientProps,\n | 'activeCollectionFolderSlugs'\n | 'allCollectionFolderSlugs'\n | 'allowCreateCollectionSlugs'\n | 'baseFolderPath'\n | 'breadcrumbs'\n | 'documents'\n | 'folderFieldName'\n | 'folderID'\n | 'FolderResultsComponent'\n | 'subfolders'\n>\n\nfunction BrowseByFolderViewInContext(props: BrowseByFolderViewInContextProps) {\n const {\n AfterFolderList,\n AfterFolderListTable,\n BeforeFolderList,\n BeforeFolderListTable,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n folderAssignedCollections,\n viewPreference,\n } = props\n\n const router = useRouter()\n const { config } = useConfig()\n const { i18n, t } = useTranslation()\n const drawerDepth = useEditDepth()\n const { setStepNav } = useStepNav()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n const { setPreference } = usePreferences()\n const {\n allowCreateCollectionSlugs,\n breadcrumbs,\n documents,\n dragOverlayItem,\n folderCollectionConfig,\n folderFieldName,\n folderID,\n folderType,\n getFolderRoute,\n getSelectedItems,\n moveToFolder,\n refineFolderData,\n search,\n selectedItemKeys,\n setIsDragging,\n subfolders,\n } = useFolder()\n const [createDrawerCollectionSlug, setCreateDrawerCollectionSlug] =\n React.useState<CollectionSlug>()\n\n const [activeView, setActiveView] = React.useState<'grid' | 'list'>(viewPreference || 'grid')\n const [searchPlaceholder] = React.useState(() => {\n const locationLabel =\n breadcrumbs.length === 0\n ? getTranslation(folderCollectionConfig.labels?.plural, i18n)\n : breadcrumbs[breadcrumbs.length - 1].name\n return t('folder:searchByNameInFolder', {\n folderName: locationLabel,\n })\n })\n\n const onDragEnd = React.useCallback(\n async (event: DragEndEvent) => {\n if (!event.over) {\n return\n }\n\n if (event.over.data.current.type === 'folder' && 'id' in event.over.data.current) {\n await moveToFolder({\n itemsToMove: getSelectedItems(),\n toFolderID: event.over.data.current.id || null,\n })\n clearRouteCache()\n }\n },\n [moveToFolder, getSelectedItems, clearRouteCache],\n )\n\n const totalDocsAndSubfolders = documents.length + subfolders.length\n const listHeaderTitle = !breadcrumbs.length\n ? t('folder:browseByFolder')\n : breadcrumbs[breadcrumbs.length - 1].name\n const activeCreateDrawerCollectionSlug = createDrawerCollectionSlug || folderCollectionConfig.slug\n const activeCreateDrawerCollectionConfig = config.collections.find(\n ({ slug }) => slug === activeCreateDrawerCollectionSlug,\n )\n const isCreatingFolder = activeCreateDrawerCollectionSlug === folderCollectionConfig.slug\n\n const handleSetViewType = React.useCallback(\n (view: 'grid' | 'list') => {\n void setPreference(PREFERENCE_KEYS.BROWSE_BY_FOLDER, {\n viewPreference: view,\n })\n setActiveView(view)\n },\n [setPreference],\n )\n\n React.useEffect(() => {\n if (!drawerDepth) {\n setStepNav([\n !breadcrumbs.length\n ? {\n label: (\n <div className={`${baseClass}__step-nav-icon-label`} key=\"root\">\n <ColoredFolderIcon />\n {t('folder:browseByFolder')}\n </div>\n ),\n }\n : {\n label: (\n <DroppableBreadcrumb\n className={[\n `${baseClass}__step-nav-droppable`,\n `${baseClass}__step-nav-icon-label`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={null}\n key=\"root\"\n onClick={() => {\n startRouteTransition(() => {\n router.push(getFolderRoute(null))\n })\n }}\n >\n <ColoredFolderIcon />\n {t('folder:browseByFolder')}\n </DroppableBreadcrumb>\n ),\n },\n ...breadcrumbs.map((crumb, crumbIndex) => {\n return {\n label:\n crumbIndex === breadcrumbs.length - 1 ? (\n crumb.name\n ) : (\n <DroppableBreadcrumb\n className={`${baseClass}__step-nav-droppable`}\n id={crumb.id}\n key={crumb.id}\n onClick={() => {\n startRouteTransition(() => {\n router.push(getFolderRoute(crumb.id))\n })\n }}\n >\n {crumb.name}\n </DroppableBreadcrumb>\n ),\n }\n }),\n ])\n }\n }, [breadcrumbs, drawerDepth, getFolderRoute, router, setStepNav, startRouteTransition, t])\n\n const nonFolderCollectionSlugs = allowCreateCollectionSlugs.filter(\n (slug) => slug !== folderCollectionConfig.slug,\n )\n const folderAssignedCollectionSlugs = Array.isArray(folderType) ? folderType : []\n\n const handleRequestCreate = React.useCallback((collectionSlug: CollectionSlug) => {\n setCreateDrawerCollectionSlug(collectionSlug)\n }, [])\n\n return (\n <Fragment>\n <DndEventListener onDragEnd={onDragEnd} setIsDragging={setIsDragging} />\n <div className={`${baseClass} ${baseClass}--folders`}>\n {BeforeFolderList}\n <Gutter className={`${baseClass}__wrap`}>\n <ListHeader\n Actions={[\n !smallBreak && (\n <ListSelection\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n folderAssignedCollections={folderAssignedCollections}\n key=\"list-selection\"\n />\n ),\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n title={listHeaderTitle}\n TitleActions={[\n allowCreateCollectionSlugs.length && (\n <ListCreateNewDocInFolderButton\n buttonLabel={\n allowCreateCollectionSlugs.length > 1\n ? t('general:createNew')\n : `${t('general:create')} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`\n }\n collectionSlugs={allowCreateCollectionSlugs}\n key=\"create-new-button\"\n onRequestCreate={handleRequestCreate}\n />\n ),\n ].filter(Boolean)}\n />\n <SearchBar\n Actions={[\n <SortByPill key=\"sort-by-pill\" />,\n folderID && <FilterFolderTypePill key=\"collection-type\" />,\n <ToggleViewButtons\n activeView={activeView}\n key=\"toggle-view-buttons\"\n setActiveView={handleSetViewType}\n />,\n <CurrentFolderActions key=\"current-folder-actions\" />,\n ].filter(Boolean)}\n label={searchPlaceholder}\n onSearchChange={(search) => refineFolderData({ query: { search }, updateURL: true })}\n searchQueryParam={search}\n />\n {BeforeFolderListTable}\n {totalDocsAndSubfolders > 0 && (\n <>\n {activeView === 'grid' ? (\n <div>\n {subfolders.length ? (\n <>\n <ItemCardGrid items={subfolders} title={'Folders'} type=\"folder\" />\n </>\n ) : null}\n\n {documents.length ? (\n <>\n <ItemCardGrid\n items={documents}\n subfolderCount={subfolders.length}\n title={'Documents'}\n type=\"file\"\n />\n </>\n ) : null}\n </div>\n ) : (\n <FolderFileTable />\n )}\n </>\n )}\n {totalDocsAndSubfolders === 0 && (\n <NoListResults\n Actions={[\n allowCreateCollectionSlugs.includes(folderCollectionConfig.slug) && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`}\n buttonSize=\"medium\"\n buttonStyle=\"primary\"\n collectionSlugs={[folderCollectionConfig.slug]}\n key=\"create-folder\"\n onRequestCreate={handleRequestCreate}\n />\n ),\n folderID && nonFolderCollectionSlugs.length > 0 && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${t('general:document').toLowerCase()}`}\n buttonSize=\"medium\"\n buttonStyle=\"primary\"\n collectionSlugs={nonFolderCollectionSlugs}\n key=\"create-document\"\n onRequestCreate={handleRequestCreate}\n />\n ),\n ].filter(Boolean)}\n Message={\n <>\n <h3>{i18n.t('general:noResultsFound')}</h3>\n <p>{i18n.t('general:noResultsDescription')}</p>\n </>\n }\n />\n )}\n {AfterFolderListTable}\n </Gutter>\n {AfterFolderList}\n </div>\n {selectedItemKeys.size > 0 && dragOverlayItem && (\n <DragOverlaySelection item={dragOverlayItem} selectedCount={selectedItemKeys.size} />\n )}\n <ControlledDocumentDrawer\n collectionSlug={activeCreateDrawerCollectionSlug}\n initialData={{\n [folderFieldName]: folderID,\n ...(isCreatingFolder ? { folderType: folderAssignedCollectionSlugs } : {}),\n }}\n isOpen={Boolean(createDrawerCollectionSlug)}\n onOpenChange={(isOpen) => {\n if (!isOpen) {\n setCreateDrawerCollectionSlug(undefined)\n }\n }}\n onSave={({ operation }) => {\n const isAutosaveCollection = hasAutosaveEnabled(activeCreateDrawerCollectionConfig)\n\n if (isAutosaveCollection || operation === 'create') {\n clearRouteCache()\n }\n\n if (operation === 'create' && !isAutosaveCollection) {\n setCreateDrawerCollectionSlug(undefined)\n }\n }}\n redirectAfterCreate={false}\n />\n </Fragment>\n )\n}\nfunction DndEventListener({ onDragEnd, setIsDragging }) {\n useDndMonitor({\n onDragCancel() {\n setIsDragging(false)\n },\n onDragEnd(event) {\n setIsDragging(false)\n onDragEnd(event)\n },\n onDragStart() {\n setIsDragging(true)\n },\n })\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAKA,SAASC,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAC1B,SAASC,kBAAkB,EAAEC,eAAe,QAAQ;AACpD,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,wBAAwB,QAAQ;AACzC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,eAAe,QAAQ;AAChC,SAASC,YAAY,QAAQ;AAC7B,SAASC,UAAU,QAAQ;AAC3B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,MAAM,QAAQ;AACvB,SAASC,UAAU,QAAQ;AAC3B,SAASC,8BAA8B,QAAQ;AAC/C,SAASC,aAAa,QAAQ;AAC9B,SAASC,SAAS,QAAQ;AAC1B,SAASC,UAAU,QAAQ;AAC3B,SAASC,SAAS,QAAQ;AAC1B,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,EAAEC,SAAS,QAAQ;AAC1C,SAASC,cAAc,QAAQ;AAC/B,SAASC,aAAa,QAAQ;AAC9B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,aAAa,QAAQ;AAC9B,SAASC,aAAa,QAAQ;AAC9B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,SAASC,0BAA0B;EACxCC,2BAA2B;EAC3BC,wBAAwB;EACxBC,0BAA0B;EAC1BC,cAAc;EACdC,WAAW;EACXC,SAAS;EACTC,eAAe;EACfC,QAAQ;EACRC,sBAAsB;EACtBC,MAAM;EACNC,UAAU;EACV,GAAGC;AAAA,CACuB;EAC1B,oBACEC,IAAA,CAACtB,cAAA;IACCU,2BAAA,EAA6BA,2BAAA;IAC7BC,wBAAA,EAA0BA,wBAAA;IAC1BC,0BAAA,EAA4BA,0BAAA;IAC5BC,cAAA,EAAgBA,cAAA;IAChBC,WAAA,EAAaA,WAAA;IACbC,SAAA,EAAWA,SAAA;IACXC,eAAA,EAAiBA,eAAA;IACjBC,QAAA,EAAUA,QAAA;IACVC,sBAAA,EAAwBA,sBAAA;IACxBC,MAAA,EAAQA,MAAA;IACRC,UAAA,EAAYA,UAAA;cAEZ,aAAAE,IAAA,CAACC,2BAAA;MAA6B,GAAGF;;;AAGvC;AAgBA,SAAAE,4BAAAC,KAAA;EAAA,MAAAC,CAAA,GAAAnD,EAAA;EACE;IAAAoD,eAAA;IAAAC,oBAAA;IAAAC,gBAAA;IAAAC,qBAAA;IAAAC,WAAA;IAAAC,iBAAA;IAAAC,eAAA;IAAAC,yBAAA;IAAAC;EAAA,IAUIV,KAAA;EAEJ,MAAAW,MAAA,GAAe1D,SAAA;EACf;IAAA2D;EAAA,IAAmBtC,SAAA;EACnB;IAAAuC,IAAA;IAAAC;EAAA,IAAoBjC,cAAA;EACpB,MAAAkC,WAAA,GAAoBxC,YAAA;EACpB;IAAAyC;EAAA,IAAuB3C,UAAA;EACvB;IAAA4C;EAAA,IAAiCrC,kBAAA;EACjC;IAAAsC;EAAA,IAA4BvC,aAAA;EAC5B;IAAAwC,WAAA,EAAAC;EAAA,IAEItC,aAAA;EADW;IAAAuC,CAAA,EAAAC;EAAA,IAAAF,EAAiB;EAEhC;IAAAG;EAAA,IAA0B7C,cAAA;EAC1B;IAAAU,0BAAA;IAAAE,WAAA;IAAAC,SAAA;IAAAiC,eAAA;IAAAC,sBAAA;IAAAjC,eAAA;IAAAC,QAAA;IAAAiC,UAAA;IAAAC,cAAA;IAAAC,gBAAA;IAAAC,YAAA;IAAAC,gBAAA;IAAAnC,MAAA;IAAAoC,gBAAA;IAAAC,aAAA;IAAApC;EAAA,IAiBInB,SAAA;EACJ,OAAAwD,0BAAA,EAAAC,6BAAA,IACE9E,KAAA,CAAA+E,QAAA,CAAc;EAEhB,OAAAC,UAAA,EAAAC,aAAA,IAAoCjF,KAAA,CAAA+E,QAAA,CAAgCzB,cAAA,IAAkB;EAAA,IAAA4B,EAAA;EAAA,IAAArC,CAAA,QAAAX,WAAA,IAAAW,CAAA,QAAAwB,sBAAA,CAAAc,MAAA,EAAAC,MAAA,IAAAvC,CAAA,QAAAY,IAAA,IAAAZ,CAAA,QAAAa,CAAA;IAC3CwB,EAAA,GAAAA,CAAA;MACzC,MAAAG,aAAA,GACEnD,WAAA,CAAAoD,MAAA,MAAuB,GACnB1F,cAAA,CAAeyE,sBAAA,CAAAc,MAAA,EAAAC,MAAA,EAAuC3B,IAAA,IACtDvB,WAAW,CAACA,WAAA,CAAAoD,MAAA,IAAqB,EAAAC,IAAO;MAAA,OACvC7B,CAAA,CAAE;QAAA8B,UAAA,EACKH;MAAA,CACd;IAAA;IACFxC,CAAA,MAAAX,WAAA;IAAAW,CAAA,MAAAwB,sBAAA,CAAAc,MAAA,EAAAC,MAAA;IAAAvC,CAAA,MAAAY,IAAA;IAAAZ,CAAA,MAAAa,CAAA;IAAAb,CAAA,MAAAqC,EAAA;EAAA;IAAAA,EAAA,GAAArC,CAAA;EAAA;EARA,OAAA4C,iBAAA,IAA4BzF,KAAA,CAAA+E,QAAA,CAAeG,EAQ3C;EAAA,IAAAQ,EAAA;EAAA,IAAA7C,CAAA,QAAAiB,eAAA,IAAAjB,CAAA,QAAA2B,gBAAA,IAAA3B,CAAA,QAAA4B,YAAA;IAGEiB,EAAA,SAAAC,KAAA;MAAA,KACOA,KAAA,CAAAC,IAAA;QAAA;MAAA;MAAA,IAIDD,KAAA,CAAAC,IAAA,CAAAC,IAAA,CAAAC,OAAA,CAAAC,IAAA,KAAiC,YAAY,QAAQJ,KAAA,CAAAC,IAAA,CAAAC,IAAA,CAAAC,OAAuB;QAAA,MACxErB,YAAA;UAAAuB,WAAA,EACSxB,gBAAA;UAAAyB,UAAA,EACDN,KAAA,CAAAC,IAAA,CAAAC,IAAA,CAAAC,OAAA,CAAAI,EAAA;QAA8B,CAC5C;QACApC,eAAA;MAAA;IAAA;IAEJjB,CAAA,MAAAiB,eAAA;IAAAjB,CAAA,MAAA2B,gBAAA;IAAA3B,CAAA,MAAA4B,YAAA;IAAA5B,CAAA,MAAA6C,EAAA;EAAA;IAAAA,EAAA,GAAA7C,CAAA;EAAA;EAbF,MAAAsD,SAAA,GAAkBT,EAciC;EAGnD,MAAAU,sBAAA,GAA+BjE,SAAA,CAAAmD,MAAA,GAAmB9C,UAAA,CAAA8C,MAAiB;EACnE,MAAAe,eAAA,GAAwB,CAACnE,WAAA,CAAAoD,MAAA,GACrB5B,CAAA,CAAE,2BACFxB,WAAW,CAACA,WAAA,CAAAoD,MAAA,IAAqB,EAAAC,IAAO;EAC5C,MAAAe,gCAAA,GAAyCzB,0BAAA,IAA8BR,sBAAA,CAAAkC,IAA2B;EAAA,IAAAC,EAAA;EAAA,IAAA3D,CAAA,QAAAyD,gCAAA;IAEhGE,EAAA,GAAAC,EAAA;MAAC;QAAAF;MAAA,IAAAE,EAAQ;MAAA,OAAKF,IAAA,KAASD,gCAAA;IAAA;IAAAzD,CAAA,MAAAyD,gCAAA;IAAAzD,CAAA,OAAA2D,EAAA;EAAA;IAAAA,EAAA,GAAA3D,CAAA;EAAA;EADzB,MAAA6D,kCAAA,GAA2ClD,MAAA,CAAAmD,WAAA,CAAAC,IAAA,CACzCJ,EAAuB;EAEzB,MAAAK,gBAAA,GAAyBP,gCAAA,KAAqCjC,sBAAA,CAAAkC,IAA2B;EAEzF,MAAAO,iBAAA,GAAAC,IAAA;IAES5C,aAAA,CAAApE,eAAA,CAAAiH,gBAAA;MAAA1D,cAAA,EACayD;IAAA,CAClB;IACA9B,aAAA,CAAc8B,IAAA;EAAA;EAED,IAAAN,EAAA;EAAA,IAAAQ,EAAA;EAAA,IAAApE,CAAA,SAAAX,WAAA,IAAAW,CAAA,SAAAc,WAAA,IAAAd,CAAA,SAAA0B,cAAA,IAAA1B,CAAA,SAAAU,MAAA,IAAAV,CAAA,SAAAe,UAAA,IAAAf,CAAA,SAAAgB,oBAAA,IAAAhB,CAAA,SAAAa,CAAA;IAGD+C,EAAA,GAAAA,CAAA;MAAA,KACT9C,WAAA;QACHC,UAAA,EACE,CAAC1B,WAAA,CAAAoD,MAAA;UAAA4B,KAAA,EAGOC,KAAA,CAAC;YAAAC,SAAA,EAAe,GAAAxF,SAAA,uBAAmC;YAAAyF,QAAA,GACjD3E,IAAA,CAAAtC,iBAAA,IAAC,GACAsD,CAAA,CAAE;UAAA,GAFoD;QAAA;UAAAwD,KAAA,EAQzDC,KAAA,CAAAhH,mBAAA;YAAAiH,SAAA,EACa,CACT,GAAAxF,SAAA,sBAAkC,EAClC,GAAAA,SAAA,uBAAmC,EAAA0F,MAAA,CAAAC,OAE3B,EAAAC,IAAA,CACF;YAAAtB,EAAA;YAAAuB,OAAA,EAAAA,CAAA;cAIN5D,oBAAA;gBACEN,MAAA,CAAAmE,IAAA,CAAYnD,cAAA,KAAe;cAAA,CAC7B;YAAA;YAAA8C,QAAA,GAGF3E,IAAA,CAAAtC,iBAAA,IAAC,GACAsD,CAAA,CAAE;UAAA,GARC;QAAA,CAWV,KACDxB,WAAA,CAAAyF,GAAA,EAAAC,KAAA,EAAAC,UAAA;UAAAX,KAAA,EAGGW,UAAA,KAAe3F,WAAA,CAAAoD,MAAA,IAAqB,GAClCsC,KAAA,CAAArC,IAAA,GAEA7C,IAAA,CAAAvC,mBAAA;YAAAiH,SAAA,EACa,GAAAxF,SAAA,sBAAkC;YAAAsE,EAAA,EACzC0B,KAAA,CAAA1B,EAAA;YAAAuB,OAAA,EAAAA,CAAA;cAGF5D,oBAAA;gBACEN,MAAA,CAAAmE,IAAA,CAAYnD,cAAA,CAAeqD,KAAA,CAAA1B,EAAQ;cAAA,CACrC;YAAA;YAAAmB,QAAA,EAGDO,KAAA,CAAArC;UAAA,GAPIqC,KAAA,CAAA1B,EAAQ;QAAA,EAWvB,EACD;MAAA;IAAA;IAEFe,EAAA,IAAC/E,WAAA,EAAayB,WAAA,EAAaY,cAAA,EAAgBhB,MAAA,EAAQK,UAAA,EAAYC,oBAAA,EAAsBH,CAAA;IAAEb,CAAA,OAAAX,WAAA;IAAAW,CAAA,OAAAc,WAAA;IAAAd,CAAA,OAAA0B,cAAA;IAAA1B,CAAA,OAAAU,MAAA;IAAAV,CAAA,OAAAe,UAAA;IAAAf,CAAA,OAAAgB,oBAAA;IAAAhB,CAAA,OAAAa,CAAA;IAAAb,CAAA,OAAA4D,EAAA;IAAA5D,CAAA,OAAAoE,EAAA;EAAA;IAAAR,EAAA,GAAA5D,CAAA;IAAAoE,EAAA,GAAApE,CAAA;EAAA;EAzD1F7C,KAAA,CAAA8H,SAAA,CAAgBrB,EAyDhB,EAAGQ,EAAuF;EAE1F,MAAAc,wBAAA,GAAiC/F,0BAAA,CAAAsF,MAAA,CAAAU,MAAA,IACrBzB,MAAA,KAASlC,sBAAA,CAAAkC,IAA2B;EAEhD,MAAA0B,6BAAA,GAAsCC,KAAA,CAAAC,OAAA,CAAc7D,UAAA,IAAcA,UAAA,KAAe;EAEjF,MAAA8D,mBAAA,GAAAC,cAAA;IACEvD,6BAAA,CAA8BuD,cAAA;EAAA;EAC3B,IAAAC,EAAA;EAAA,IAAAzF,CAAA,SAAA6B,gBAAA;IAgDqB4D,EAAA,GAAAC,QAAA,IAAY7D,gBAAA;MAAA8D,KAAA;QAAAjG,MAAA,EAA4BA;MAAA;MAAAkG,SAAA;IAAA,CAA0B;IAAA5F,CAAA,OAAA6B,gBAAA;IAAA7B,CAAA,OAAAyF,EAAA;EAAA;IAAAA,EAAA,GAAAzF,CAAA;EAAA;EAAA,IAAA6F,EAAA;EAAA,IAAA7F,CAAA,SAAA8F,MAAA,CAAAC,GAAA;IA4ExEF,EAAA,GAAAG,MAAA;MAAA,KACPA,MAAA;QACH/D,6BAAA,CAAAgE,SAA8B;MAAA;IAAA;IAElCjG,CAAA,OAAA6F,EAAA;EAAA;IAAAA,EAAA,GAAA7F,CAAA;EAAA;EAAA,OA7HJsE,KAAA,CAAAlH,QAAA;IAAAoH,QAAA,GACE3E,IAAA,CAAAqG,gBAAA;MAAA5C,SAAA;MAAAvB;IAAA,C,GACAuC,KAAA,CAAC;MAAAC,SAAA,EAAe,GAAAxF,SAAA,IAAAA,SAAA,WAAoC;MAAAyF,QAAA,GACjDrE,gBAAA,EACDmE,KAAA,CAAAvG,MAAA;QAAAwG,SAAA,EAAmB,GAAAxF,SAAA,QAAoB;QAAAyF,QAAA,GACrC3E,IAAA,CAAA7B,UAAA;UAAAmI,OAAA,EACW,CACP,CAAC9E,UAAA,IACCxB,IAAA,CAAAf,aAAA;YAAAwB,iBAAA;YAAAC,eAAA;YAAAC;UAAA,GAIM,mBAAAiE,MAAA,CAAAC,OAGD;UAAA0B,sBAAA,EACe/F,WAAA;UAAAgG,KAAA,EACjB7C,eAAA;UAAA8C,YAAA,EACO,CACZnH,0BAAA,CAAAsD,MAAA,IACE5C,IAAA,CAAA5B,8BAAA;YAAAsI,WAAA,EAEIpH,0BAAA,CAAAsD,MAAA,IAAoC,GAChC5B,CAAA,CAAE,uBACF,GAAGA,CAAA,CAAE,qBAAqB9D,cAAA,CAAeyE,sBAAA,CAAAc,MAAA,EAAAkE,QAAA,EAAyC5F,IAAA,EAAA6F,WAAA,CAAiB,GAAI;YAAAC,eAAA,EAE5FvH,0BAAA;YAAAwH,eAAA,EAEApB;UAAA,GADb,sBAAAd,MAAA,CAAAC,OAID;QAAA,C,GAEX7E,IAAA,CAAA1B,SAAA;UAAAgI,OAAA,EACW,CACPtG,IAAA,CAAAhC,UAAA,MAAgB,iBAChB2B,QAAA,IAAYK,IAAA,CAAAnC,oBAAA,MAA0B,oBACtCmC,IAAA,CAAA/B,iBAAA;YAAAqE,UAAA;YAAAC,aAAA,EAGiB6B;UAAA,GADX,wBAGNpE,IAAA,CAAArC,oBAAA,MAA0B,2BAAAiH,MAAA,CAAAC,OACnB;UAAAL,KAAA,EACFzB,iBAAA;UAAAgE,cAAA,EACSnB,EAAkE;UAAAoB,gBAAA,EAChEnH;QAAA,C,GAEnBU,qBAAA,EACAmD,sBAAA,IAAyB,IACxB1D,IAAA,CAAAiH,SAAA;UAAAtC,QAAA,EACGrC,UAAA,KAAe,SACdmC,KAAA,CAAC;YAAAE,QAAA,GACE7E,UAAA,CAAA8C,MAAA,GACC5C,IAAA,CAAAiH,SAAA;cAAAtC,QAAA,EACE3E,IAAA,CAAAjC,YAAA;gBAAAmJ,KAAA,EAAqBpH,UAAA;gBAAA0G,KAAA,EAAmB;gBAAAnD,IAAA,EAAgB;cAAA,C;qBAExD,EAEH5D,SAAA,CAAAmD,MAAA,GACC5C,IAAA,CAAAiH,SAAA;cAAAtC,QAAA,EACE3E,IAAA,CAAAjC,YAAA;gBAAAmJ,KAAA,EACSzH,SAAA;gBAAA0H,cAAA,EACSrH,UAAA,CAAA8C,MAAA;gBAAA4D,KAAA,EACT;gBAAAnD,IAAA,EACF;cAAA,C;qBAGP;UAAA,C,IAGNrD,IAAA,CAAAlC,eAAA,IAAC;QAAA,C,GAIN4F,sBAAA,MAA2B,IAC1B1D,IAAA,CAAA3B,aAAA;UAAAiI,OAAA,EACW,CACPhH,0BAAA,CAAA8H,QAAA,CAAoCzF,sBAAA,CAAAkC,IAA2B,KAC7D7D,IAAA,CAAA5B,8BAAA;YAAAsI,WAAA,EACe,GAAG1F,CAAA,CAAE,qBAAqB9D,cAAA,CAAeyE,sBAAA,CAAAc,MAAA,EAAAkE,QAAA,EAAyC5F,IAAA,EAAA6F,WAAA,CAAiB,GAAI;YAAAS,UAAA,EACzG;YAAAC,WAAA,EACC;YAAAT,eAAA,GACMlF,sBAAA,CAAAkC,IAAA;YAAAiD,eAAA,EAEDpB;UAAA,GADb,kBAIR/F,QAAA,IAAY0F,wBAAA,CAAAzC,MAAA,IAAkC,IAC5C5C,IAAA,CAAA5B,8BAAA;YAAAsI,WAAA,EACe,GAAG1F,CAAA,CAAE,qBAAqBA,CAAA,CAAE,oBAAA4F,WAAA,CAA+B,GAAI;YAAAS,UAAA,EACjE;YAAAC,WAAA,EACC;YAAAT,eAAA,EACKxB,wBAAA;YAAAyB,eAAA,EAEApB;UAAA,GADb,oBAAAd,MAAA,CAAAC,OAID;UAAA0C,OAAA,EAEP9C,KAAA,CAAAwC,SAAA;YAAAtC,QAAA,GACE3E,IAAA,CAAC;cAAA2E,QAAA,EAAI5D,IAAA,CAAAC,CAAA,CAAO;YAAA,C,GACZhB,IAAA,CAAC;cAAA2E,QAAA,EAAG5D,IAAA,CAAAC,CAAA,CAAO;YAAA,C;;YAKlBX,oBAAA;MAAA,C,GAEFD,eAAA;IAAA,C,GAEF6B,gBAAA,CAAAuF,IAAA,IAAwB,IAAK9F,eAAA,IAC5B1B,IAAA,CAAApC,oBAAA;MAAA6J,IAAA,EAA4B/F,eAAA;MAAAgG,aAAA,EAAgCzF,gBAAA,CAAAuF;IAAA,C,GAE9DxH,IAAA,CAAAxC,wBAAA;MAAAmI,cAAA,EACkB/B,gCAAA;MAAA+D,WAAA;QAAA,CAEbjI,eAAA,GAAkBC,QAAA;QAAA,IACfwE,gBAAA;UAAAvC,UAAA,EAAiC2D;QAAA,MAAoC;MAAA;MAAAY,MAAA,EAEnEtB,OAAA,CAAQ1C,0BAAA;MAAAyF,YAAA,EACF5B,EAId;MAAA6B,MAAA,EAAAC,EAAA;QACS;UAAAC;QAAA,IAAAD,EAAa;QACpB,MAAAE,oBAAA,GAA6B5K,kBAAA,CAAmB4G,kCAAA;QAAA,IAE5CgE,oBAAA,IAAwBD,SAAA,KAAc;UACxC3G,eAAA;QAAA;QAAA,IAGE2G,SAAA,KAAc,aAAaC,oBAAA;UAC7B5F,6BAAA,CAAAgE,SAA8B;QAAA;MAAA;MAAA6B,mBAAA;IAAA,C;;;AAQ1C,SAAA5B,iBAAA/E,EAAA;EAAA,MAAAnB,CAAA,GAAAnD,EAAA;EAA0B;IAAAyG,SAAA;IAAAvB;EAAA,IAAAZ,EAA4B;EAAA,IAAAkB,EAAA;EAAA,IAAArC,CAAA,QAAAsD,SAAA,IAAAtD,CAAA,QAAA+B,aAAA;IACtCM,EAAA;MAAA0F,aAAA;QAEVhG,aAAA,MAAc;MAAA;MAAAuB,UAAAR,KAAA;QAGdf,aAAA,MAAc;QACduB,SAAA,CAAUR,KAAA;MAAA;MAAAkF,YAAA;QAGVjG,aAAA,KAAc;MAAA;IAAA;IAElB/B,CAAA,MAAAsD,SAAA;IAAAtD,CAAA,MAAA+B,aAAA;IAAA/B,CAAA,MAAAqC,EAAA;EAAA;IAAAA,EAAA,GAAArC,CAAA;EAAA;EAXAlD,aAAA,CAAcuF,EAWd;EAAA;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useModal","extractID","React","Fragment","toast","DeleteMany_v4","EditMany_v4","EditFolderAction","MoveItemsToFolderDrawer","ListSelection_v4","ListSelectionButton","PublishMany_v4","UnpublishMany_v4","useConfig","useFolder","useRouteCache","useTranslation","moveToFolderDrawerSlug","ListSelection","t0","$","disableBulkDelete","disableBulkEdit","folderAssignedCollections","clearSelections","currentFolder","folderCollectionSlug","folderFieldName","folderID","getSelectedItems","moveToFolder","clearRouteCache","config","t","closeModal","openModal","t1","t2","value","_folderOrDocumentTitle","Symbol","for","bb0","items","groupedSelections","reduce","_temp","count","length","singleNonFolderCollectionSelected","Object","keys","collectionConfig","collections","find","collection","slug","ids","_jsx","ListActions","onClick","children","filter","Boolean","SelectionActions","_jsxs","selectAll","id","type","action","drawerSlug","fromFolderID","fromFolderName","itemsToMove","onConfirm","t3","name","toFolderID","success","folderName","title","afterDelete","hasDeletePermission","selections","acc","item","relationTo","push","totalCount"],"sources":["../../../../src/views/CollectionFolder/ListSelection/index.tsx"],"sourcesContent":["'use client'\n\nimport type { CollectionSlug } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { extractID } from 'payload/shared'\nimport React, { Fragment } from 'react'\nimport { toast } from 'sonner'\n\nimport { DeleteMany_v4 } from '../../../elements/DeleteMany/index.js'\nimport { EditMany_v4 } from '../../../elements/EditMany/index.js'\nimport { EditFolderAction } from '../../../elements/FolderView/Drawers/EditFolderAction/index.js'\nimport { MoveItemsToFolderDrawer } from '../../../elements/FolderView/Drawers/MoveToFolder/index.js'\nimport { ListSelection_v4, ListSelectionButton } from '../../../elements/ListSelection/index.js'\nimport { PublishMany_v4 } from '../../../elements/PublishMany/index.js'\nimport { UnpublishMany_v4 } from '../../../elements/UnpublishMany/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useFolder } from '../../../providers/Folders/index.js'\nimport { useRouteCache } from '../../../providers/RouteCache/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nconst moveToFolderDrawerSlug = 'move-to-folder--list'\n\ntype GroupedSelections = {\n [relationTo: string]: {\n all?: boolean\n ids?: (number | string)[]\n totalCount: number\n }\n}\n\nexport type ListSelectionProps = {\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n folderAssignedCollections: CollectionSlug[]\n}\n\nexport const ListSelection: React.FC<ListSelectionProps> = ({\n disableBulkDelete,\n disableBulkEdit,\n folderAssignedCollections,\n}) => {\n const {\n clearSelections,\n currentFolder,\n folderCollectionSlug,\n folderFieldName,\n folderID,\n getSelectedItems,\n moveToFolder,\n } = useFolder()\n\n const { clearRouteCache } = useRouteCache()\n const { config } = useConfig()\n const { t } = useTranslation()\n const { closeModal, openModal } = useModal()\n const items = getSelectedItems()\n\n const groupedSelections: GroupedSelections = items.reduce((acc, item) => {\n if (item) {\n if (acc[item.relationTo]) {\n acc[item.relationTo].ids.push(extractID(item.value))\n acc[item.relationTo].totalCount += 1\n } else {\n acc[item.relationTo] = {\n ids: [extractID(item.value)],\n totalCount: 1,\n }\n }\n }\n\n return acc\n }, {} as GroupedSelections)\n\n const count = items.length\n const singleNonFolderCollectionSelected =\n Object.keys(groupedSelections).length === 1 &&\n Object.keys(groupedSelections)[0] !== folderCollectionSlug\n const collectionConfig = singleNonFolderCollectionSelected\n ? config.collections.find((collection) => {\n return collection.slug === Object.keys(groupedSelections)[0]\n })\n : null\n\n if (count === 0) {\n return null\n }\n\n const ids = singleNonFolderCollectionSelected\n ? groupedSelections[Object.keys(groupedSelections)[0]]?.ids || []\n : []\n\n return (\n <ListSelection_v4\n count={count}\n ListActions={[\n count > 0 && (\n <ListSelectionButton key=\"clear-all\" onClick={() => clearSelections()}>\n {t('general:clearAll')}\n </ListSelectionButton>\n ),\n ].filter(Boolean)}\n SelectionActions={[\n !disableBulkEdit && ids.length && (\n <Fragment key=\"bulk-actions\">\n <EditMany_v4 collection={collectionConfig} count={count} ids={ids} selectAll={false} />\n <PublishMany_v4\n collection={collectionConfig}\n count={count}\n ids={ids}\n selectAll={false}\n />\n <UnpublishMany_v4\n collection={collectionConfig}\n count={count}\n ids={ids}\n selectAll={false}\n />\n </Fragment>\n ),\n count === 1 && !singleNonFolderCollectionSelected && (\n <EditFolderAction\n folderCollectionSlug={folderCollectionSlug}\n id={groupedSelections[folderCollectionSlug].ids[0]}\n key=\"edit-folder-action\"\n />\n ),\n count > 0 ? (\n <React.Fragment key={moveToFolderDrawerSlug}>\n <ListSelectionButton\n onClick={() => {\n openModal(moveToFolderDrawerSlug)\n }}\n type=\"button\"\n >\n {t('general:move')}\n </ListSelectionButton>\n\n <MoveItemsToFolderDrawer\n action=\"moveItemsToFolder\"\n drawerSlug={moveToFolderDrawerSlug}\n folderAssignedCollections={folderAssignedCollections}\n folderCollectionSlug={folderCollectionSlug}\n folderFieldName={folderFieldName}\n fromFolderID={folderID}\n fromFolderName={currentFolder?.value?._folderOrDocumentTitle}\n itemsToMove={getSelectedItems()}\n onConfirm={async ({ id, name }) => {\n await moveToFolder({\n itemsToMove: getSelectedItems(),\n toFolderID: id,\n })\n\n if (id) {\n // moved to folder\n toast.success(\n t('folder:itemsMovedToFolder', {\n folderName: `\"${name}\"`,\n title: `${count} ${count > 1 ? t('general:items') : t('general:item')}`,\n }),\n )\n } else {\n // moved to root\n toast.success(\n t('folder:itemsMovedToRoot', {\n title: `${count} ${count > 1 ? t('general:items') : t('general:item')}`,\n }),\n )\n }\n\n clearRouteCache()\n closeModal(moveToFolderDrawerSlug)\n }}\n />\n </React.Fragment>\n ) : null,\n !disableBulkDelete && (\n <DeleteMany_v4\n afterDelete={() => {\n clearRouteCache()\n clearSelections()\n }}\n hasDeletePermission={true}\n key=\"bulk-delete\"\n selections={groupedSelections}\n />\n ),\n ].filter(Boolean)}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useModal","extractID","React","Fragment","toast","DeleteMany_v4","EditMany_v4","EditFolderAction","MoveItemsToFolderDrawer","ListSelection_v4","ListSelectionButton","PublishMany_v4","UnpublishMany_v4","useConfig","useFolder","useRouteCache","useTranslation","moveToFolderDrawerSlug","ListSelection","t0","$","disableBulkDelete","disableBulkEdit","folderAssignedCollections","clearSelections","currentFolder","folderCollectionSlug","folderFieldName","folderID","getSelectedItems","moveToFolder","clearRouteCache","config","t","closeModal","openModal","t1","t2","value","_folderOrDocumentTitle","Symbol","for","bb0","items","groupedSelections","reduce","_temp","count","length","singleNonFolderCollectionSelected","Object","keys","collectionConfig","collections","find","collection","slug","ids","_jsx","ListActions","onClick","children","filter","Boolean","SelectionActions","_jsxs","selectAll","id","type","action","drawerSlug","fromFolderID","fromFolderName","itemsToMove","onConfirm","t3","name","toFolderID","success","folderName","title","afterDelete","hasDeletePermission","selections","acc","item","relationTo","push","totalCount"],"sources":["../../../../src/views/CollectionFolder/ListSelection/index.tsx"],"sourcesContent":["'use client'\n\nimport type { CollectionSlug } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { extractID } from 'payload/shared'\nimport React, { Fragment } from 'react'\nimport { toast } from 'sonner'\n\nimport { DeleteMany_v4 } from '../../../elements/DeleteMany/index.js'\nimport { EditMany_v4 } from '../../../elements/EditMany/index.js'\nimport { EditFolderAction } from '../../../elements/FolderView/Drawers/EditFolderAction/index.js'\nimport { MoveItemsToFolderDrawer } from '../../../elements/FolderView/Drawers/MoveToFolder/index.js'\nimport { ListSelection_v4, ListSelectionButton } from '../../../elements/ListSelection/index.js'\nimport { PublishMany_v4 } from '../../../elements/PublishMany/index.js'\nimport { UnpublishMany_v4 } from '../../../elements/UnpublishMany/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useFolder } from '../../../providers/Folders/index.js'\nimport { useRouteCache } from '../../../providers/RouteCache/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nconst moveToFolderDrawerSlug = 'move-to-folder--list'\n\ntype GroupedSelections = {\n [relationTo: string]: {\n all?: boolean\n ids?: (number | string)[]\n totalCount: number\n }\n}\n\nexport type ListSelectionProps = {\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n folderAssignedCollections: CollectionSlug[]\n}\n\nexport const ListSelection: React.FC<ListSelectionProps> = ({\n disableBulkDelete,\n disableBulkEdit,\n folderAssignedCollections,\n}) => {\n const {\n clearSelections,\n currentFolder,\n folderCollectionSlug,\n folderFieldName,\n folderID,\n getSelectedItems,\n moveToFolder,\n } = useFolder()\n\n const { clearRouteCache } = useRouteCache()\n const { config } = useConfig()\n const { t } = useTranslation()\n const { closeModal, openModal } = useModal()\n const items = getSelectedItems()\n\n const groupedSelections: GroupedSelections = items.reduce((acc, item) => {\n if (item) {\n if (acc[item.relationTo]) {\n acc[item.relationTo].ids.push(extractID(item.value))\n acc[item.relationTo].totalCount += 1\n } else {\n acc[item.relationTo] = {\n ids: [extractID(item.value)],\n totalCount: 1,\n }\n }\n }\n\n return acc\n }, {} as GroupedSelections)\n\n const count = items.length\n const singleNonFolderCollectionSelected =\n Object.keys(groupedSelections).length === 1 &&\n Object.keys(groupedSelections)[0] !== folderCollectionSlug\n const collectionConfig = singleNonFolderCollectionSelected\n ? config.collections.find((collection) => {\n return collection.slug === Object.keys(groupedSelections)[0]\n })\n : null\n\n if (count === 0) {\n return null\n }\n\n const ids = singleNonFolderCollectionSelected\n ? groupedSelections[Object.keys(groupedSelections)[0]]?.ids || []\n : []\n\n return (\n <ListSelection_v4\n count={count}\n ListActions={[\n count > 0 && (\n <ListSelectionButton key=\"clear-all\" onClick={() => clearSelections()}>\n {t('general:clearAll')}\n </ListSelectionButton>\n ),\n ].filter(Boolean)}\n SelectionActions={[\n !disableBulkEdit && ids.length && (\n <Fragment key=\"bulk-actions\">\n <EditMany_v4 collection={collectionConfig} count={count} ids={ids} selectAll={false} />\n <PublishMany_v4\n collection={collectionConfig}\n count={count}\n ids={ids}\n selectAll={false}\n />\n <UnpublishMany_v4\n collection={collectionConfig}\n count={count}\n ids={ids}\n selectAll={false}\n />\n </Fragment>\n ),\n count === 1 && !singleNonFolderCollectionSelected && (\n <EditFolderAction\n folderCollectionSlug={folderCollectionSlug}\n id={groupedSelections[folderCollectionSlug].ids[0]}\n key=\"edit-folder-action\"\n />\n ),\n count > 0 ? (\n <React.Fragment key={moveToFolderDrawerSlug}>\n <ListSelectionButton\n onClick={() => {\n openModal(moveToFolderDrawerSlug)\n }}\n type=\"button\"\n >\n {t('general:move')}\n </ListSelectionButton>\n\n <MoveItemsToFolderDrawer\n action=\"moveItemsToFolder\"\n drawerSlug={moveToFolderDrawerSlug}\n folderAssignedCollections={folderAssignedCollections}\n folderCollectionSlug={folderCollectionSlug}\n folderFieldName={folderFieldName}\n fromFolderID={folderID}\n fromFolderName={currentFolder?.value?._folderOrDocumentTitle}\n itemsToMove={getSelectedItems()}\n onConfirm={async ({ id, name }) => {\n await moveToFolder({\n itemsToMove: getSelectedItems(),\n toFolderID: id,\n })\n\n if (id) {\n // moved to folder\n toast.success(\n t('folder:itemsMovedToFolder', {\n folderName: `\"${name}\"`,\n title: `${count} ${count > 1 ? t('general:items') : t('general:item')}`,\n }),\n )\n } else {\n // moved to root\n toast.success(\n t('folder:itemsMovedToRoot', {\n title: `${count} ${count > 1 ? t('general:items') : t('general:item')}`,\n }),\n )\n }\n\n clearRouteCache()\n closeModal(moveToFolderDrawerSlug)\n }}\n />\n </React.Fragment>\n ) : null,\n !disableBulkDelete && (\n <DeleteMany_v4\n afterDelete={() => {\n clearRouteCache()\n clearSelections()\n }}\n hasDeletePermission={true}\n key=\"bulk-delete\"\n selections={groupedSelections}\n />\n ),\n ].filter(Boolean)}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/CollectionFolder/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/CollectionFolder/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAkB,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMxE,OAAO,KAAmB,MAAM,OAAO,CAAA;AAwBvC,OAAO,cAAc,CAAA;AAQrB,wBAAgB,2BAA2B,CAAC,EAC1C,wBAAwB,EAAE,qBAAqB,EAC/C,0BAA0B,EAC1B,cAAc,EACd,WAAW,EACX,SAAS,EACT,eAAe,EACf,QAAQ,EACR,sBAAsB,EACtB,MAAM,EACN,IAAI,EACJ,UAAU,EACV,GAAG,WAAW,EACf,EAAE,yBAAyB,qBAkB3B"}
|