@payloadcms/ui 3.56.0 → 3.57.0-canary.1

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.
Files changed (183) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.js +18 -4
  2. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  3. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  4. package/dist/elements/BulkUpload/FormsManager/index.js +2 -1
  5. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  6. package/dist/elements/Button/index.d.ts.map +1 -1
  7. package/dist/elements/Button/index.js +1 -2
  8. package/dist/elements/Button/index.js.map +1 -1
  9. package/dist/elements/ClipboardAction/index.js +74 -173
  10. package/dist/elements/ClipboardAction/index.js.map +1 -1
  11. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  12. package/dist/elements/CodeEditor/CodeEditor.js +82 -152
  13. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  14. package/dist/elements/CodeEditor/constants.d.ts +4 -0
  15. package/dist/elements/CodeEditor/constants.d.ts.map +1 -0
  16. package/dist/elements/CodeEditor/constants.js +19 -0
  17. package/dist/elements/CodeEditor/constants.js.map +1 -0
  18. package/dist/elements/CodeEditor/types.d.ts +1 -0
  19. package/dist/elements/CodeEditor/types.d.ts.map +1 -1
  20. package/dist/elements/CodeEditor/types.js.map +1 -1
  21. package/dist/elements/Collapsible/index.js +7 -15
  22. package/dist/elements/Collapsible/index.js.map +1 -1
  23. package/dist/elements/ConfirmationModal/index.js +8 -44
  24. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  25. package/dist/elements/CopyLocaleData/index.js +89 -97
  26. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  27. package/dist/elements/CopyToClipboard/index.js +2 -22
  28. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  29. package/dist/elements/DefaultListViewTabs/index.js +32 -47
  30. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  31. package/dist/elements/DeleteMany/index.js +47 -83
  32. package/dist/elements/DeleteMany/index.js.map +1 -1
  33. package/dist/elements/DocumentControls/index.js +27 -55
  34. package/dist/elements/DocumentControls/index.js.map +1 -1
  35. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +2 -10
  36. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  37. package/dist/elements/DocumentDrawer/index.js +47 -99
  38. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  39. package/dist/elements/Drawer/index.js +23 -57
  40. package/dist/elements/Drawer/index.js.map +1 -1
  41. package/dist/elements/DrawerActionHeader/index.js +3 -21
  42. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  43. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +149 -225
  44. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  45. package/dist/elements/FolderView/FolderFileCard/index.js +19 -27
  46. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  47. package/dist/elements/FolderView/MoveDocToFolder/index.js +12 -23
  48. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  49. package/dist/elements/FullscreenModal/index.js +10 -20
  50. package/dist/elements/FullscreenModal/index.js.map +1 -1
  51. package/dist/elements/ListDrawer/index.js +18 -24
  52. package/dist/elements/ListDrawer/index.js.map +1 -1
  53. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +19 -32
  54. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  55. package/dist/elements/ListSelection/index.js +11 -27
  56. package/dist/elements/ListSelection/index.js.map +1 -1
  57. package/dist/elements/LivePreview/Window/index.js +65 -146
  58. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  59. package/dist/elements/Loading/index.js +2 -11
  60. package/dist/elements/Loading/index.js.map +1 -1
  61. package/dist/elements/LoadingOverlay/index.js +46 -102
  62. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  63. package/dist/elements/Localizer/LocalizerLabel/index.js +23 -36
  64. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  65. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +41 -139
  66. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  67. package/dist/elements/RenderIfInViewport/index.d.ts +2 -2
  68. package/dist/elements/RenderIfInViewport/index.d.ts.map +1 -1
  69. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  70. package/dist/elements/SelectRow/index.js +39 -40
  71. package/dist/elements/SelectRow/index.js.map +1 -1
  72. package/dist/elements/ShimmerEffect/index.js +20 -12
  73. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  74. package/dist/elements/SortColumn/index.js +21 -30
  75. package/dist/elements/SortColumn/index.js.map +1 -1
  76. package/dist/elements/Table/DefaultCell/fields/Date/index.js +9 -37
  77. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  78. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +35 -37
  79. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  80. package/dist/elements/Table/DefaultCell/fields/Select/index.js +12 -27
  81. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  82. package/dist/elements/Thumbnail/index.js +35 -75
  83. package/dist/elements/Thumbnail/index.js.map +1 -1
  84. package/dist/elements/ThumbnailCard/index.js +17 -26
  85. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  86. package/dist/elements/Tooltip/index.js +51 -127
  87. package/dist/elements/Tooltip/index.js.map +1 -1
  88. package/dist/elements/Upload/index.js +2 -10
  89. package/dist/elements/Upload/index.js.map +1 -1
  90. package/dist/elements/WhereBuilder/Condition/Select/index.js +31 -44
  91. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  92. package/dist/exports/client/{CodeEditor-4J4OH4TD.js → CodeEditor-B56LZ4XC.js} +2 -2
  93. package/dist/exports/client/{DatePicker-NMDEHPWL.js → DatePicker-F432AIH3.js} +2 -2
  94. package/dist/exports/client/{chunk-7RGKTZG2.js → chunk-AZDI6MW4.js} +1 -1
  95. package/dist/exports/client/{chunk-7RGKTZG2.js.map → chunk-AZDI6MW4.js.map} +1 -1
  96. package/dist/exports/client/chunk-IOKOROQ2.js +27 -0
  97. package/dist/exports/client/chunk-IOKOROQ2.js.map +7 -0
  98. package/dist/exports/client/index.d.ts +3 -2
  99. package/dist/exports/client/index.d.ts.map +1 -1
  100. package/dist/exports/client/index.js +24 -24
  101. package/dist/exports/client/index.js.map +4 -4
  102. package/dist/exports/rsc/index.d.ts +1 -0
  103. package/dist/exports/rsc/index.d.ts.map +1 -1
  104. package/dist/exports/rsc/index.js +1 -0
  105. package/dist/exports/rsc/index.js.map +1 -1
  106. package/dist/fields/Array/ArrayRow.d.ts +2 -3
  107. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  108. package/dist/fields/Array/ArrayRow.js +13 -23
  109. package/dist/fields/Array/ArrayRow.js.map +1 -1
  110. package/dist/fields/Array/index.js +273 -477
  111. package/dist/fields/Array/index.js.map +1 -1
  112. package/dist/fields/Checkbox/Input.js +2 -19
  113. package/dist/fields/Checkbox/Input.js.map +1 -1
  114. package/dist/fields/Code/index.d.ts.map +1 -1
  115. package/dist/fields/Code/index.js +15 -12
  116. package/dist/fields/Code/index.js.map +1 -1
  117. package/dist/fields/FieldError/index.js +30 -29
  118. package/dist/fields/FieldError/index.js.map +1 -1
  119. package/dist/fields/FieldLabel/index.js +12 -64
  120. package/dist/fields/FieldLabel/index.js.map +1 -1
  121. package/dist/fields/JSON/index.d.ts.map +1 -1
  122. package/dist/fields/JSON/index.js +34 -17
  123. package/dist/fields/JSON/index.js.map +1 -1
  124. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +45 -103
  125. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  126. package/dist/fields/Relationship/select-components/SingleValue/index.js +29 -44
  127. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  128. package/dist/fields/Row/index.d.ts +1 -3
  129. package/dist/fields/Row/index.d.ts.map +1 -1
  130. package/dist/fields/Select/Input.js +18 -31
  131. package/dist/fields/Select/Input.js.map +1 -1
  132. package/dist/fields/Tabs/Tab/index.js +2 -11
  133. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  134. package/dist/fields/Tabs/index.d.ts +2 -1
  135. package/dist/fields/Tabs/index.d.ts.map +1 -1
  136. package/dist/fields/Tabs/index.js +185 -225
  137. package/dist/fields/Tabs/index.js.map +1 -1
  138. package/dist/fields/Upload/RelationshipContent/index.js +79 -127
  139. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  140. package/dist/forms/RenderFields/RenderField.js +245 -237
  141. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  142. package/dist/forms/RenderFields/types.d.ts +2 -10
  143. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  144. package/dist/forms/RenderFields/types.js.map +1 -1
  145. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts +35 -0
  146. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +1 -0
  147. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +83 -0
  148. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -0
  149. package/dist/forms/useField/index.d.ts +7 -0
  150. package/dist/forms/useField/index.d.ts.map +1 -1
  151. package/dist/forms/useField/index.js +76 -45
  152. package/dist/forms/useField/index.js.map +1 -1
  153. package/dist/hooks/useIntersect.js +35 -53
  154. package/dist/hooks/useIntersect.js.map +1 -1
  155. package/dist/hooks/usePayloadAPI.js +36 -44
  156. package/dist/hooks/usePayloadAPI.js.map +1 -1
  157. package/dist/providers/ServerFunctions/index.d.ts +4 -1
  158. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  159. package/dist/providers/ServerFunctions/index.js +13 -0
  160. package/dist/providers/ServerFunctions/index.js.map +1 -1
  161. package/dist/utilities/buildFormState.d.ts.map +1 -1
  162. package/dist/utilities/buildFormState.js +4 -30
  163. package/dist/utilities/buildFormState.js.map +1 -1
  164. package/dist/utilities/buildTableState.js +4 -30
  165. package/dist/utilities/buildTableState.js.map +1 -1
  166. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  167. package/dist/utilities/copyDataFromLocale.js +4 -19
  168. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  169. package/dist/utilities/schedulePublishHandler.d.ts +1 -1
  170. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  171. package/dist/utilities/schedulePublishHandler.js +4 -18
  172. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  173. package/dist/views/BrowseByFolder/index.js +37 -55
  174. package/dist/views/BrowseByFolder/index.js.map +1 -1
  175. package/dist/views/CollectionFolder/index.js +13 -40
  176. package/dist/views/CollectionFolder/index.js.map +1 -1
  177. package/dist/views/Edit/Auth/index.js +93 -105
  178. package/dist/views/Edit/Auth/index.js.map +1 -1
  179. package/package.json +9 -9
  180. package/dist/exports/client/chunk-HBCG32CP.js +0 -26
  181. package/dist/exports/client/chunk-HBCG32CP.js.map +0 -7
  182. /package/dist/exports/client/{CodeEditor-4J4OH4TD.js.map → CodeEditor-B56LZ4XC.js.map} +0 -0
  183. /package/dist/exports/client/{DatePicker-NMDEHPWL.js.map → DatePicker-F432AIH3.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"copyDataFromLocale.js","names":["ObjectIdImport","formatErrors","traverseFields","fieldAffectsData","fieldShouldBeLocalized","tabHasName","ObjectId","default","iterateFields","fields","fromLocaleData","toLocaleData","req","parentIsLocalized","map","field","type","name","undefined","includes","item","index","id","toHexString","localized","Array","isArray","length","blockData","block","payload","blocks","blockType","blockReferences","find","slug","tabs","tab","mergeData","removeIdIfParentIsLocalized","data","callback","ref","fillEmpty","copyDataFromLocaleHandler","args","copyDataFromLocale","err","logger","error","msg","fromLocale","toLocale","message","collectionSlug","docID","globalSlug","overrideData","collections","globals","user","incomingUserSlug","collection","adminUserSlug","config","admin","adminAccessFunction","access","canAccessAdmin","Error","Promise","allSettled","findGlobal","depth","locale","overrideAccess","findByID","joins","status","fromLocaleDataWithoutID","value","toLocaleDataWithoutID","dataWithID","updateGlobal","update"],"sources":["../../src/utilities/copyDataFromLocale.ts"],"sourcesContent":["import ObjectIdImport from 'bson-objectid'\nimport {\n type CollectionSlug,\n type Data,\n type Field,\n type FlattenedBlock,\n formatErrors,\n type PayloadRequest,\n type ServerFunction,\n traverseFields,\n} from 'payload'\nimport { fieldAffectsData, fieldShouldBeLocalized, tabHasName } from 'payload/shared'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\nexport type CopyDataFromLocaleArgs = {\n collectionSlug?: CollectionSlug\n docID?: number | string\n fromLocale: string\n globalSlug?: string\n overrideData?: boolean\n req: PayloadRequest\n toLocale: string\n}\n\nfunction iterateFields(\n fields: Field[],\n fromLocaleData: Data,\n toLocaleData: Data,\n req: PayloadRequest,\n parentIsLocalized: boolean,\n): void {\n fields.map((field) => {\n if (fieldAffectsData(field)) {\n switch (field.type) {\n case 'array':\n // if the field has no value, take the source value\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null or undefined\n [null, undefined].includes(toLocaleData[field.name]) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n break\n }\n\n // if the field has a value - loop over the data from target\n if (field.name in toLocaleData) {\n toLocaleData[field.name].map((item: Data, index: number) => {\n if (fromLocaleData[field.name]?.[index]) {\n // Generate new IDs if the field is localized to prevent errors with relational DBs.\n if (fieldShouldBeLocalized({ field, parentIsLocalized })) {\n toLocaleData[field.name][index].id = new ObjectId().toHexString()\n }\n\n iterateFields(\n field.fields,\n fromLocaleData[field.name][index],\n item,\n req,\n parentIsLocalized || field.localized,\n )\n }\n })\n }\n break\n\n case 'blocks':\n // if the field has no value, take the source value\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null, undefined, or empty array\n ([null, undefined].includes(toLocaleData[field.name]) ||\n (Array.isArray(toLocaleData[field.name]) && toLocaleData[field.name].length === 0)) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n break\n }\n\n // if the field has a value - loop over the data from target\n if (field.name in toLocaleData) {\n toLocaleData[field.name].map((blockData: Data, index: number) => {\n const block =\n req.payload.blocks[blockData.blockType] ??\n ((field.blockReferences ?? field.blocks).find(\n (block) => typeof block !== 'string' && block.slug === blockData.blockType,\n ) as FlattenedBlock | undefined)\n\n // Generate new IDs if the field is localized to prevent errors with relational DBs.\n if (fieldShouldBeLocalized({ field, parentIsLocalized })) {\n toLocaleData[field.name][index].id = new ObjectId().toHexString()\n }\n\n if (block?.fields?.length) {\n iterateFields(\n block?.fields,\n fromLocaleData[field.name][index],\n blockData,\n req,\n parentIsLocalized || field.localized,\n )\n }\n })\n }\n\n break\n\n case 'checkbox':\n case 'code':\n case 'date':\n case 'email':\n case 'json':\n case 'number':\n case 'point':\n case 'radio':\n case 'relationship':\n case 'richText':\n case 'select':\n case 'text':\n case 'textarea':\n case 'upload':\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null or undefined\n [null, undefined].includes(toLocaleData[field.name]) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n }\n break\n\n case 'group': {\n if (\n fieldAffectsData(field) &&\n field.name in toLocaleData &&\n fromLocaleData?.[field.name] !== undefined\n ) {\n iterateFields(\n field.fields,\n fromLocaleData[field.name],\n toLocaleData[field.name],\n req,\n parentIsLocalized || field.localized,\n )\n } else {\n iterateFields(field.fields, fromLocaleData, toLocaleData, req, parentIsLocalized)\n }\n break\n }\n }\n } else {\n switch (field.type) {\n case 'collapsible':\n case 'row':\n iterateFields(field.fields, fromLocaleData, toLocaleData, req, parentIsLocalized)\n break\n\n case 'tabs':\n field.tabs.map((tab) => {\n if (tabHasName(tab)) {\n if (tab.name in toLocaleData && fromLocaleData?.[tab.name] !== undefined) {\n iterateFields(\n tab.fields,\n fromLocaleData[tab.name],\n toLocaleData[tab.name],\n req,\n parentIsLocalized,\n )\n }\n } else {\n iterateFields(tab.fields, fromLocaleData, toLocaleData, req, parentIsLocalized)\n }\n })\n break\n }\n }\n })\n}\n\nfunction mergeData(\n fromLocaleData: Data,\n toLocaleData: Data,\n fields: Field[],\n req: PayloadRequest,\n parentIsLocalized: boolean,\n): Data {\n iterateFields(fields, fromLocaleData, toLocaleData, req, parentIsLocalized)\n\n return toLocaleData\n}\n\n/**\n * We don't have to recursively remove all ids,\n * just the ones from the fields inside a localized array or block.\n */\nfunction removeIdIfParentIsLocalized(data: Data, fields: Field[]): Data {\n traverseFields({\n callback: ({ parentIsLocalized, ref }) => {\n if (parentIsLocalized) {\n delete (ref as { id: unknown }).id\n }\n },\n fields,\n fillEmpty: false,\n ref: data,\n })\n\n return data\n}\n\nexport const copyDataFromLocaleHandler: ServerFunction<CopyDataFromLocaleArgs> = async (args) => {\n const { req } = args\n\n try {\n return await copyDataFromLocale(args)\n } catch (err) {\n req.payload.logger.error({\n err,\n msg: `There was an error copying data from \"${args.fromLocale}\" to \"${args.toLocale}\"`,\n })\n\n if (err.message === 'Unauthorized') {\n return null\n }\n\n return formatErrors(err)\n }\n}\n\nexport const copyDataFromLocale = async (args: CopyDataFromLocaleArgs) => {\n const {\n collectionSlug,\n docID,\n fromLocale,\n globalSlug,\n overrideData = false,\n req: {\n payload,\n payload: { collections, globals },\n user,\n },\n req,\n toLocale,\n } = args\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = payload.config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req: args.req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n }\n\n const [fromLocaleData, toLocaleData] = await Promise.allSettled([\n globalSlug\n ? payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n locale: fromLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n })\n : payload.findByID({\n id: docID,\n collection: collectionSlug,\n depth: 0,\n joins: false,\n locale: fromLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n }),\n globalSlug\n ? payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n locale: toLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n })\n : payload.findByID({\n id: docID,\n collection: collectionSlug,\n depth: 0,\n joins: false,\n locale: toLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n }),\n ])\n\n if (fromLocaleData.status === 'rejected') {\n throw new Error(`Error fetching data from locale \"${fromLocale}\"`)\n }\n\n if (toLocaleData.status === 'rejected') {\n throw new Error(`Error fetching data from locale \"${toLocale}\"`)\n }\n\n const fields = globalSlug\n ? globals[globalSlug].config.fields\n : collections[collectionSlug].config.fields\n\n const fromLocaleDataWithoutID = fromLocaleData.value\n const toLocaleDataWithoutID = toLocaleData.value\n\n const dataWithID = overrideData\n ? fromLocaleDataWithoutID\n : mergeData(fromLocaleDataWithoutID, toLocaleDataWithoutID, fields, req, false)\n\n const data = removeIdIfParentIsLocalized(dataWithID, fields)\n\n return globalSlug\n ? await payload.updateGlobal({\n slug: globalSlug,\n data,\n locale: toLocale,\n overrideAccess: false,\n req,\n user,\n })\n : await payload.update({\n id: docID,\n collection: collectionSlug,\n data,\n locale: toLocale,\n overrideAccess: false,\n req,\n user,\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"copyDataFromLocale.js","names":["ObjectIdImport","canAccessAdmin","formatErrors","traverseFields","fieldAffectsData","fieldShouldBeLocalized","tabHasName","ObjectId","default","iterateFields","fields","fromLocaleData","toLocaleData","req","parentIsLocalized","map","field","type","name","undefined","includes","item","index","id","toHexString","localized","Array","isArray","length","blockData","block","payload","blocks","blockType","blockReferences","find","slug","tabs","tab","mergeData","removeIdIfParentIsLocalized","data","callback","ref","fillEmpty","copyDataFromLocaleHandler","args","copyDataFromLocale","err","logger","error","msg","fromLocale","toLocale","message","collectionSlug","docID","globalSlug","overrideData","collections","globals","user","Promise","allSettled","findGlobal","depth","locale","overrideAccess","findByID","collection","joins","status","Error","config","fromLocaleDataWithoutID","value","toLocaleDataWithoutID","dataWithID","updateGlobal","update"],"sources":["../../src/utilities/copyDataFromLocale.ts"],"sourcesContent":["import ObjectIdImport from 'bson-objectid'\nimport {\n canAccessAdmin,\n type CollectionSlug,\n type Data,\n type Field,\n type FlattenedBlock,\n formatErrors,\n type PayloadRequest,\n type ServerFunction,\n traverseFields,\n} from 'payload'\nimport { fieldAffectsData, fieldShouldBeLocalized, tabHasName } from 'payload/shared'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\nexport type CopyDataFromLocaleArgs = {\n collectionSlug?: CollectionSlug\n docID?: number | string\n fromLocale: string\n globalSlug?: string\n overrideData?: boolean\n req: PayloadRequest\n toLocale: string\n}\n\nfunction iterateFields(\n fields: Field[],\n fromLocaleData: Data,\n toLocaleData: Data,\n req: PayloadRequest,\n parentIsLocalized: boolean,\n): void {\n fields.map((field) => {\n if (fieldAffectsData(field)) {\n switch (field.type) {\n case 'array':\n // if the field has no value, take the source value\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null or undefined\n [null, undefined].includes(toLocaleData[field.name]) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n break\n }\n\n // if the field has a value - loop over the data from target\n if (field.name in toLocaleData) {\n toLocaleData[field.name].map((item: Data, index: number) => {\n if (fromLocaleData[field.name]?.[index]) {\n // Generate new IDs if the field is localized to prevent errors with relational DBs.\n if (fieldShouldBeLocalized({ field, parentIsLocalized })) {\n toLocaleData[field.name][index].id = new ObjectId().toHexString()\n }\n\n iterateFields(\n field.fields,\n fromLocaleData[field.name][index],\n item,\n req,\n parentIsLocalized || field.localized,\n )\n }\n })\n }\n break\n\n case 'blocks':\n // if the field has no value, take the source value\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null, undefined, or empty array\n ([null, undefined].includes(toLocaleData[field.name]) ||\n (Array.isArray(toLocaleData[field.name]) && toLocaleData[field.name].length === 0)) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n break\n }\n\n // if the field has a value - loop over the data from target\n if (field.name in toLocaleData) {\n toLocaleData[field.name].map((blockData: Data, index: number) => {\n const block =\n req.payload.blocks[blockData.blockType] ??\n ((field.blockReferences ?? field.blocks).find(\n (block) => typeof block !== 'string' && block.slug === blockData.blockType,\n ) as FlattenedBlock | undefined)\n\n // Generate new IDs if the field is localized to prevent errors with relational DBs.\n if (fieldShouldBeLocalized({ field, parentIsLocalized })) {\n toLocaleData[field.name][index].id = new ObjectId().toHexString()\n }\n\n if (block?.fields?.length) {\n iterateFields(\n block?.fields,\n fromLocaleData[field.name][index],\n blockData,\n req,\n parentIsLocalized || field.localized,\n )\n }\n })\n }\n\n break\n\n case 'checkbox':\n case 'code':\n case 'date':\n case 'email':\n case 'json':\n case 'number':\n case 'point':\n case 'radio':\n case 'relationship':\n case 'richText':\n case 'select':\n case 'text':\n case 'textarea':\n case 'upload':\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null or undefined\n [null, undefined].includes(toLocaleData[field.name]) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n }\n break\n\n case 'group': {\n if (\n fieldAffectsData(field) &&\n field.name in toLocaleData &&\n fromLocaleData?.[field.name] !== undefined\n ) {\n iterateFields(\n field.fields,\n fromLocaleData[field.name],\n toLocaleData[field.name],\n req,\n parentIsLocalized || field.localized,\n )\n } else {\n iterateFields(field.fields, fromLocaleData, toLocaleData, req, parentIsLocalized)\n }\n break\n }\n }\n } else {\n switch (field.type) {\n case 'collapsible':\n case 'row':\n iterateFields(field.fields, fromLocaleData, toLocaleData, req, parentIsLocalized)\n break\n\n case 'tabs':\n field.tabs.map((tab) => {\n if (tabHasName(tab)) {\n if (tab.name in toLocaleData && fromLocaleData?.[tab.name] !== undefined) {\n iterateFields(\n tab.fields,\n fromLocaleData[tab.name],\n toLocaleData[tab.name],\n req,\n parentIsLocalized,\n )\n }\n } else {\n iterateFields(tab.fields, fromLocaleData, toLocaleData, req, parentIsLocalized)\n }\n })\n break\n }\n }\n })\n}\n\nfunction mergeData(\n fromLocaleData: Data,\n toLocaleData: Data,\n fields: Field[],\n req: PayloadRequest,\n parentIsLocalized: boolean,\n): Data {\n iterateFields(fields, fromLocaleData, toLocaleData, req, parentIsLocalized)\n\n return toLocaleData\n}\n\n/**\n * We don't have to recursively remove all ids,\n * just the ones from the fields inside a localized array or block.\n */\nfunction removeIdIfParentIsLocalized(data: Data, fields: Field[]): Data {\n traverseFields({\n callback: ({ parentIsLocalized, ref }) => {\n if (parentIsLocalized) {\n delete (ref as { id: unknown }).id\n }\n },\n fields,\n fillEmpty: false,\n ref: data,\n })\n\n return data\n}\n\nexport const copyDataFromLocaleHandler: ServerFunction<CopyDataFromLocaleArgs> = async (args) => {\n const { req } = args\n\n try {\n return await copyDataFromLocale(args)\n } catch (err) {\n req.payload.logger.error({\n err,\n msg: `There was an error copying data from \"${args.fromLocale}\" to \"${args.toLocale}\"`,\n })\n\n if (err.message === 'Unauthorized') {\n return null\n }\n\n return formatErrors(err)\n }\n}\n\nexport const copyDataFromLocale = async (args: CopyDataFromLocaleArgs) => {\n const {\n collectionSlug,\n docID,\n fromLocale,\n globalSlug,\n overrideData = false,\n req: {\n payload,\n payload: { collections, globals },\n user,\n },\n req,\n toLocale,\n } = args\n\n await canAccessAdmin({ req })\n\n const [fromLocaleData, toLocaleData] = await Promise.allSettled([\n globalSlug\n ? payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n locale: fromLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n })\n : payload.findByID({\n id: docID,\n collection: collectionSlug,\n depth: 0,\n joins: false,\n locale: fromLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n }),\n globalSlug\n ? payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n locale: toLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n })\n : payload.findByID({\n id: docID,\n collection: collectionSlug,\n depth: 0,\n joins: false,\n locale: toLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n }),\n ])\n\n if (fromLocaleData.status === 'rejected') {\n throw new Error(`Error fetching data from locale \"${fromLocale}\"`)\n }\n\n if (toLocaleData.status === 'rejected') {\n throw new Error(`Error fetching data from locale \"${toLocale}\"`)\n }\n\n const fields = globalSlug\n ? globals[globalSlug].config.fields\n : collections[collectionSlug].config.fields\n\n const fromLocaleDataWithoutID = fromLocaleData.value\n const toLocaleDataWithoutID = toLocaleData.value\n\n const dataWithID = overrideData\n ? fromLocaleDataWithoutID\n : mergeData(fromLocaleDataWithoutID, toLocaleDataWithoutID, fields, req, false)\n\n const data = removeIdIfParentIsLocalized(dataWithID, fields)\n\n return globalSlug\n ? await payload.updateGlobal({\n slug: globalSlug,\n data,\n locale: toLocale,\n overrideAccess: false,\n req,\n user,\n })\n : await payload.update({\n id: docID,\n collection: collectionSlug,\n data,\n locale: toLocale,\n overrideAccess: false,\n req,\n user,\n })\n}\n"],"mappings":"AAAA,OAAOA,cAAA,MAAoB;AAC3B,SACEC,cAAc,EAKdC,YAAY,EAGZC,cAAc,QACT;AACP,SAASC,gBAAgB,EAAEC,sBAAsB,EAAEC,UAAU,QAAQ;AAErE,MAAMC,QAAA,GAAW,aAAaP,cAAA,GAAiBA,cAAA,CAAeQ,OAAO,GAAGR,cAAA;AAYxE,SAASS,cACPC,MAAe,EACfC,cAAoB,EACpBC,YAAkB,EAClBC,GAAmB,EACnBC,iBAA0B;EAE1BJ,MAAA,CAAOK,GAAG,CAAEC,KAAA;IACV,IAAIZ,gBAAA,CAAiBY,KAAA,GAAQ;MAC3B,QAAQA,KAAA,CAAMC,IAAI;QAChB,KAAK;UACH;UACA,IACED,KAAA,CAAME,IAAI,IAAIN,YAAA;UACd;UACA,CAAC,MAAMO,SAAA,CAAU,CAACC,QAAQ,CAACR,YAAY,CAACI,KAAA,CAAME,IAAI,CAAC,KACnDF,KAAA,CAAME,IAAI,IAAIP,cAAA,EACd;YACAC,YAAY,CAACI,KAAA,CAAME,IAAI,CAAC,GAAGP,cAAc,CAACK,KAAA,CAAME,IAAI,CAAC;YACrD;UACF;UAEA;UACA,IAAIF,KAAA,CAAME,IAAI,IAAIN,YAAA,EAAc;YAC9BA,YAAY,CAACI,KAAA,CAAME,IAAI,CAAC,CAACH,GAAG,CAAC,CAACM,IAAA,EAAYC,KAAA;cACxC,IAAIX,cAAc,CAACK,KAAA,CAAME,IAAI,CAAC,GAAGI,KAAA,CAAM,EAAE;gBACvC;gBACA,IAAIjB,sBAAA,CAAuB;kBAAEW,KAAA;kBAAOF;gBAAkB,IAAI;kBACxDF,YAAY,CAACI,KAAA,CAAME,IAAI,CAAC,CAACI,KAAA,CAAM,CAACC,EAAE,GAAG,IAAIhB,QAAA,GAAWiB,WAAW;gBACjE;gBAEAf,aAAA,CACEO,KAAA,CAAMN,MAAM,EACZC,cAAc,CAACK,KAAA,CAAME,IAAI,CAAC,CAACI,KAAA,CAAM,EACjCD,IAAA,EACAR,GAAA,EACAC,iBAAA,IAAqBE,KAAA,CAAMS,SAAS;cAExC;YACF;UACF;UACA;QAEF,KAAK;UACH;UACA,IACET,KAAA,CAAME,IAAI,IAAIN,YAAA;UACd;UACC,CAAC,MAAMO,SAAA,CAAU,CAACC,QAAQ,CAACR,YAAY,CAACI,KAAA,CAAME,IAAI,CAAC,KACjDQ,KAAA,CAAMC,OAAO,CAACf,YAAY,CAACI,KAAA,CAAME,IAAI,CAAC,KAAKN,YAAY,CAACI,KAAA,CAAME,IAAI,CAAC,CAACU,MAAM,KAAK,CAAC,KACnFZ,KAAA,CAAME,IAAI,IAAIP,cAAA,EACd;YACAC,YAAY,CAACI,KAAA,CAAME,IAAI,CAAC,GAAGP,cAAc,CAACK,KAAA,CAAME,IAAI,CAAC;YACrD;UACF;UAEA;UACA,IAAIF,KAAA,CAAME,IAAI,IAAIN,YAAA,EAAc;YAC9BA,YAAY,CAACI,KAAA,CAAME,IAAI,CAAC,CAACH,GAAG,CAAC,CAACc,SAAA,EAAiBP,KAAA;cAC7C,MAAMQ,KAAA,GACJjB,GAAA,CAAIkB,OAAO,CAACC,MAAM,CAACH,SAAA,CAAUI,SAAS,CAAC,IACtC,CAACjB,KAAA,CAAMkB,eAAe,IAAIlB,KAAA,CAAMgB,MAAM,EAAEG,IAAI,CAC1CL,KAAA,IAAU,OAAOA,KAAA,KAAU,YAAYA,KAAA,CAAMM,IAAI,KAAKP,SAAA,CAAUI,SAAS;cAG9E;cACA,IAAI5B,sBAAA,CAAuB;gBAAEW,KAAA;gBAAOF;cAAkB,IAAI;gBACxDF,YAAY,CAACI,KAAA,CAAME,IAAI,CAAC,CAACI,KAAA,CAAM,CAACC,EAAE,GAAG,IAAIhB,QAAA,GAAWiB,WAAW;cACjE;cAEA,IAAIM,KAAA,EAAOpB,MAAA,EAAQkB,MAAA,EAAQ;gBACzBnB,aAAA,CACEqB,KAAA,EAAOpB,MAAA,EACPC,cAAc,CAACK,KAAA,CAAME,IAAI,CAAC,CAACI,KAAA,CAAM,EACjCO,SAAA,EACAhB,GAAA,EACAC,iBAAA,IAAqBE,KAAA,CAAMS,SAAS;cAExC;YACF;UACF;UAEA;QAEF,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;UACH,IACET,KAAA,CAAME,IAAI,IAAIN,YAAA;UACd;UACA,CAAC,MAAMO,SAAA,CAAU,CAACC,QAAQ,CAACR,YAAY,CAACI,KAAA,CAAME,IAAI,CAAC,KACnDF,KAAA,CAAME,IAAI,IAAIP,cAAA,EACd;YACAC,YAAY,CAACI,KAAA,CAAME,IAAI,CAAC,GAAGP,cAAc,CAACK,KAAA,CAAME,IAAI,CAAC;UACvD;UACA;QAEF,KAAK;UAAS;YACZ,IACEd,gBAAA,CAAiBY,KAAA,KACjBA,KAAA,CAAME,IAAI,IAAIN,YAAA,IACdD,cAAA,GAAiBK,KAAA,CAAME,IAAI,CAAC,KAAKC,SAAA,EACjC;cACAV,aAAA,CACEO,KAAA,CAAMN,MAAM,EACZC,cAAc,CAACK,KAAA,CAAME,IAAI,CAAC,EAC1BN,YAAY,CAACI,KAAA,CAAME,IAAI,CAAC,EACxBL,GAAA,EACAC,iBAAA,IAAqBE,KAAA,CAAMS,SAAS;YAExC,OAAO;cACLhB,aAAA,CAAcO,KAAA,CAAMN,MAAM,EAAEC,cAAA,EAAgBC,YAAA,EAAcC,GAAA,EAAKC,iBAAA;YACjE;YACA;UACF;MACF;IACF,OAAO;MACL,QAAQE,KAAA,CAAMC,IAAI;QAChB,KAAK;QACL,KAAK;UACHR,aAAA,CAAcO,KAAA,CAAMN,MAAM,EAAEC,cAAA,EAAgBC,YAAA,EAAcC,GAAA,EAAKC,iBAAA;UAC/D;QAEF,KAAK;UACHE,KAAA,CAAMqB,IAAI,CAACtB,GAAG,CAAEuB,GAAA;YACd,IAAIhC,UAAA,CAAWgC,GAAA,GAAM;cACnB,IAAIA,GAAA,CAAIpB,IAAI,IAAIN,YAAA,IAAgBD,cAAA,GAAiB2B,GAAA,CAAIpB,IAAI,CAAC,KAAKC,SAAA,EAAW;gBACxEV,aAAA,CACE6B,GAAA,CAAI5B,MAAM,EACVC,cAAc,CAAC2B,GAAA,CAAIpB,IAAI,CAAC,EACxBN,YAAY,CAAC0B,GAAA,CAAIpB,IAAI,CAAC,EACtBL,GAAA,EACAC,iBAAA;cAEJ;YACF,OAAO;cACLL,aAAA,CAAc6B,GAAA,CAAI5B,MAAM,EAAEC,cAAA,EAAgBC,YAAA,EAAcC,GAAA,EAAKC,iBAAA;YAC/D;UACF;UACA;MACJ;IACF;EACF;AACF;AAEA,SAASyB,UACP5B,cAAoB,EACpBC,YAAkB,EAClBF,MAAe,EACfG,GAAmB,EACnBC,iBAA0B;EAE1BL,aAAA,CAAcC,MAAA,EAAQC,cAAA,EAAgBC,YAAA,EAAcC,GAAA,EAAKC,iBAAA;EAEzD,OAAOF,YAAA;AACT;AAEA;;;;AAIA,SAAS4B,4BAA4BC,IAAU,EAAE/B,MAAe;EAC9DP,cAAA,CAAe;IACbuC,QAAA,EAAUA,CAAC;MAAE5B,iBAAiB;MAAE6B;IAAG,CAAE;MACnC,IAAI7B,iBAAA,EAAmB;QACrB,OAAO6B,GAAC,CAAwBpB,EAAE;MACpC;IACF;IACAb,MAAA;IACAkC,SAAA,EAAW;IACXD,GAAA,EAAKF;EACP;EAEA,OAAOA,IAAA;AACT;AAEA,OAAO,MAAMI,yBAAA,GAAoE,MAAOC,IAAA;EACtF,MAAM;IAAEjC;EAAG,CAAE,GAAGiC,IAAA;EAEhB,IAAI;IACF,OAAO,MAAMC,kBAAA,CAAmBD,IAAA;EAClC,EAAE,OAAOE,GAAA,EAAK;IACZnC,GAAA,CAAIkB,OAAO,CAACkB,MAAM,CAACC,KAAK,CAAC;MACvBF,GAAA;MACAG,GAAA,EAAK,yCAAyCL,IAAA,CAAKM,UAAU,SAASN,IAAA,CAAKO,QAAQ;IACrF;IAEA,IAAIL,GAAA,CAAIM,OAAO,KAAK,gBAAgB;MAClC,OAAO;IACT;IAEA,OAAOpD,YAAA,CAAa8C,GAAA;EACtB;AACF;AAEA,OAAO,MAAMD,kBAAA,GAAqB,MAAOD,IAAA;EACvC,MAAM;IACJS,cAAc;IACdC,KAAK;IACLJ,UAAU;IACVK,UAAU;IACVC,YAAA,GAAe,KAAK;IACpB7C,GAAA,EAAK;MACHkB,OAAO;MACPA,OAAA,EAAS;QAAE4B,WAAW;QAAEC;MAAO,CAAE;MACjCC;IAAI,CACL;IACDhD,GAAG;IACHwC;EAAQ,CACT,GAAGP,IAAA;EAEJ,MAAM7C,cAAA,CAAe;IAAEY;EAAI;EAE3B,MAAM,CAACF,cAAA,EAAgBC,YAAA,CAAa,GAAG,MAAMkD,OAAA,CAAQC,UAAU,CAAC,CAC9DN,UAAA,GACI1B,OAAA,CAAQiC,UAAU,CAAC;IACjB5B,IAAA,EAAMqB,UAAA;IACNQ,KAAA,EAAO;IACPC,MAAA,EAAQd,UAAA;IACRe,cAAA,EAAgB;IAChBN;EAEF,KACA9B,OAAA,CAAQqC,QAAQ,CAAC;IACf7C,EAAA,EAAIiC,KAAA;IACJa,UAAA,EAAYd,cAAA;IACZU,KAAA,EAAO;IACPK,KAAA,EAAO;IACPJ,MAAA,EAAQd,UAAA;IACRe,cAAA,EAAgB;IAChBN;EAEF,IACJJ,UAAA,GACI1B,OAAA,CAAQiC,UAAU,CAAC;IACjB5B,IAAA,EAAMqB,UAAA;IACNQ,KAAA,EAAO;IACPC,MAAA,EAAQb,QAAA;IACRc,cAAA,EAAgB;IAChBN;EAEF,KACA9B,OAAA,CAAQqC,QAAQ,CAAC;IACf7C,EAAA,EAAIiC,KAAA;IACJa,UAAA,EAAYd,cAAA;IACZU,KAAA,EAAO;IACPK,KAAA,EAAO;IACPJ,MAAA,EAAQb,QAAA;IACRc,cAAA,EAAgB;IAChBN;EAEF,GACL;EAED,IAAIlD,cAAA,CAAe4D,MAAM,KAAK,YAAY;IACxC,MAAM,IAAIC,KAAA,CAAM,oCAAoCpB,UAAA,GAAa;EACnE;EAEA,IAAIxC,YAAA,CAAa2D,MAAM,KAAK,YAAY;IACtC,MAAM,IAAIC,KAAA,CAAM,oCAAoCnB,QAAA,GAAW;EACjE;EAEA,MAAM3C,MAAA,GAAS+C,UAAA,GACXG,OAAO,CAACH,UAAA,CAAW,CAACgB,MAAM,CAAC/D,MAAM,GACjCiD,WAAW,CAACJ,cAAA,CAAe,CAACkB,MAAM,CAAC/D,MAAM;EAE7C,MAAMgE,uBAAA,GAA0B/D,cAAA,CAAegE,KAAK;EACpD,MAAMC,qBAAA,GAAwBhE,YAAA,CAAa+D,KAAK;EAEhD,MAAME,UAAA,GAAanB,YAAA,GACfgB,uBAAA,GACAnC,SAAA,CAAUmC,uBAAA,EAAyBE,qBAAA,EAAuBlE,MAAA,EAAQG,GAAA,EAAK;EAE3E,MAAM4B,IAAA,GAAOD,2BAAA,CAA4BqC,UAAA,EAAYnE,MAAA;EAErD,OAAO+C,UAAA,GACH,MAAM1B,OAAA,CAAQ+C,YAAY,CAAC;IACzB1C,IAAA,EAAMqB,UAAA;IACNhB,IAAA;IACAyB,MAAA,EAAQb,QAAA;IACRc,cAAA,EAAgB;IAChBtD,GAAA;IACAgD;EACF,KACA,MAAM9B,OAAA,CAAQgD,MAAM,CAAC;IACnBxD,EAAA,EAAIiC,KAAA;IACJa,UAAA,EAAYd,cAAA;IACZd,IAAA;IACAyB,MAAA,EAAQb,QAAA;IACRc,cAAA,EAAgB;IAChBtD,GAAA;IACAgD;EACF;AACN","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { PayloadRequest, SchedulePublishTaskInput } from 'payload';
1
+ import { type PayloadRequest, type SchedulePublishTaskInput } from 'payload';
2
2
  export type SchedulePublishHandlerArgs = {
3
3
  date?: Date;
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"schedulePublishHandler.d.ts","sourceRoot":"","sources":["../../src/utilities/schedulePublishHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAEvE,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,CAAC,EAAE,IAAI,CAAA;IACX;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,wBAAwB,CAAA;AAE5B,eAAO,MAAM,sBAAsB,kEAShC,0BAA0B;;;;;;EAmE5B,CAAA"}
1
+ {"version":3,"file":"schedulePublishHandler.d.ts","sourceRoot":"","sources":["../../src/utilities/schedulePublishHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,cAAc,EAAE,KAAK,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAE5F,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,CAAC,EAAE,IAAI,CAAA;IACX;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,wBAAwB,CAAA;AAE5B,eAAO,MAAM,sBAAsB,kEAShC,0BAA0B;;;;;;EA+C5B,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { canAccessAdmin } from 'payload';
1
2
  export const schedulePublishHandler = async ({
2
3
  type,
3
4
  date,
@@ -13,24 +14,9 @@ export const schedulePublishHandler = async ({
13
14
  payload,
14
15
  user
15
16
  } = req;
16
- const incomingUserSlug = user?.collection;
17
- const adminUserSlug = payload.config.admin.user;
18
- if (!incomingUserSlug) {
19
- throw new Error('Unauthorized');
20
- }
21
- const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin;
22
- // Run the admin access function from the config if it exists
23
- if (adminAccessFunction) {
24
- const canAccessAdmin = await adminAccessFunction({
25
- req
26
- });
27
- if (!canAccessAdmin) {
28
- throw new Error('Unauthorized');
29
- }
30
- // Match the user collection to the global admin config
31
- } else if (adminUserSlug !== incomingUserSlug) {
32
- throw new Error('Unauthorized');
33
- }
17
+ await canAccessAdmin({
18
+ req
19
+ });
34
20
  try {
35
21
  if (deleteID) {
36
22
  await payload.delete({
@@ -1 +1 @@
1
- {"version":3,"file":"schedulePublishHandler.js","names":["schedulePublishHandler","type","date","deleteID","doc","global","locale","req","timezone","i18n","payload","user","incomingUserSlug","collection","adminUserSlug","config","admin","Error","adminAccessFunction","collections","access","canAccessAdmin","delete","where","id","equals","jobs","queue","input","task","waitUntil","err","error","value","relationTo","logger","message","t"],"sources":["../../src/utilities/schedulePublishHandler.ts"],"sourcesContent":["import type { PayloadRequest, SchedulePublishTaskInput } from 'payload'\n\nexport type SchedulePublishHandlerArgs = {\n date?: Date\n /**\n * The job id to delete to remove a scheduled publish event\n */\n deleteID?: number | string\n req: PayloadRequest\n timezone?: string\n} & SchedulePublishTaskInput\n\nexport const schedulePublishHandler = async ({\n type,\n date,\n deleteID,\n doc,\n global,\n locale,\n req,\n timezone,\n}: SchedulePublishHandlerArgs) => {\n const { i18n, payload, user } = req\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = payload.config.admin.user\n\n if (!incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n\n try {\n if (deleteID) {\n await payload.delete({\n collection: 'payload-jobs',\n req,\n where: { id: { equals: deleteID } },\n })\n }\n\n await payload.jobs.queue({\n input: {\n type,\n doc,\n global,\n locale,\n timezone,\n user: user.id,\n },\n task: 'schedulePublish',\n waitUntil: date,\n })\n } catch (err) {\n let error\n\n if (deleteID) {\n error = `Error deleting scheduled publish event with ID ${deleteID}`\n } else {\n error = `Error scheduling ${type} for `\n if (doc) {\n error += `document with ID ${doc.value} in collection ${doc.relationTo}`\n }\n }\n\n payload.logger.error(error)\n payload.logger.error(err)\n\n return {\n error,\n }\n }\n\n return { message: i18n.t('general:success') }\n}\n"],"mappings":"AAYA,OAAO,MAAMA,sBAAA,GAAyB,MAAAA,CAAO;EAC3CC,IAAI;EACJC,IAAI;EACJC,QAAQ;EACRC,GAAG;EACHC,MAAM;EACNC,MAAM;EACNC,GAAG;EACHC;AAAQ,CACmB;EAC3B,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAI,CAAE,GAAGJ,GAAA;EAEhC,MAAMK,gBAAA,GAAmBD,IAAA,EAAME,UAAA;EAE/B,MAAMC,aAAA,GAAgBJ,OAAA,CAAQK,MAAM,CAACC,KAAK,CAACL,IAAI;EAE/C,IAAI,CAACC,gBAAA,EAAkB;IACrB,MAAM,IAAIK,KAAA,CAAM;EAClB;EAEA,MAAMC,mBAAA,GAAsBR,OAAA,CAAQS,WAAW,CAACP,gBAAA,CAAiB,CAACG,MAAM,CAACK,MAAM,EAAEJ,KAAA;EAEjF;EACA,IAAIE,mBAAA,EAAqB;IACvB,MAAMG,cAAA,GAAiB,MAAMH,mBAAA,CAAoB;MAAEX;IAAI;IAEvD,IAAI,CAACc,cAAA,EAAgB;MACnB,MAAM,IAAIJ,KAAA,CAAM;IAClB;IACA;EACF,OAAO,IAAIH,aAAA,KAAkBF,gBAAA,EAAkB;IAC7C,MAAM,IAAIK,KAAA,CAAM;EAClB;EAEA,IAAI;IACF,IAAId,QAAA,EAAU;MACZ,MAAMO,OAAA,CAAQY,MAAM,CAAC;QACnBT,UAAA,EAAY;QACZN,GAAA;QACAgB,KAAA,EAAO;UAAEC,EAAA,EAAI;YAAEC,MAAA,EAAQtB;UAAS;QAAE;MACpC;IACF;IAEA,MAAMO,OAAA,CAAQgB,IAAI,CAACC,KAAK,CAAC;MACvBC,KAAA,EAAO;QACL3B,IAAA;QACAG,GAAA;QACAC,MAAA;QACAC,MAAA;QACAE,QAAA;QACAG,IAAA,EAAMA,IAAA,CAAKa;MACb;MACAK,IAAA,EAAM;MACNC,SAAA,EAAW5B;IACb;EACF,EAAE,OAAO6B,GAAA,EAAK;IACZ,IAAIC,KAAA;IAEJ,IAAI7B,QAAA,EAAU;MACZ6B,KAAA,GAAQ,kDAAkD7B,QAAA,EAAU;IACtE,OAAO;MACL6B,KAAA,GAAQ,oBAAoB/B,IAAA,OAAW;MACvC,IAAIG,GAAA,EAAK;QACP4B,KAAA,IAAS,oBAAoB5B,GAAA,CAAI6B,KAAK,kBAAkB7B,GAAA,CAAI8B,UAAU,EAAE;MAC1E;IACF;IAEAxB,OAAA,CAAQyB,MAAM,CAACH,KAAK,CAACA,KAAA;IACrBtB,OAAA,CAAQyB,MAAM,CAACH,KAAK,CAACD,GAAA;IAErB,OAAO;MACLC;IACF;EACF;EAEA,OAAO;IAAEI,OAAA,EAAS3B,IAAA,CAAK4B,CAAC,CAAC;EAAmB;AAC9C","ignoreList":[]}
1
+ {"version":3,"file":"schedulePublishHandler.js","names":["canAccessAdmin","schedulePublishHandler","type","date","deleteID","doc","global","locale","req","timezone","i18n","payload","user","delete","collection","where","id","equals","jobs","queue","input","task","waitUntil","err","error","value","relationTo","logger","message","t"],"sources":["../../src/utilities/schedulePublishHandler.ts"],"sourcesContent":["import { canAccessAdmin, type PayloadRequest, type SchedulePublishTaskInput } from 'payload'\n\nexport type SchedulePublishHandlerArgs = {\n date?: Date\n /**\n * The job id to delete to remove a scheduled publish event\n */\n deleteID?: number | string\n req: PayloadRequest\n timezone?: string\n} & SchedulePublishTaskInput\n\nexport const schedulePublishHandler = async ({\n type,\n date,\n deleteID,\n doc,\n global,\n locale,\n req,\n timezone,\n}: SchedulePublishHandlerArgs) => {\n const { i18n, payload, user } = req\n\n await canAccessAdmin({ req })\n\n try {\n if (deleteID) {\n await payload.delete({\n collection: 'payload-jobs',\n req,\n where: { id: { equals: deleteID } },\n })\n }\n\n await payload.jobs.queue({\n input: {\n type,\n doc,\n global,\n locale,\n timezone,\n user: user.id,\n },\n task: 'schedulePublish',\n waitUntil: date,\n })\n } catch (err) {\n let error\n\n if (deleteID) {\n error = `Error deleting scheduled publish event with ID ${deleteID}`\n } else {\n error = `Error scheduling ${type} for `\n if (doc) {\n error += `document with ID ${doc.value} in collection ${doc.relationTo}`\n }\n }\n\n payload.logger.error(error)\n payload.logger.error(err)\n\n return {\n error,\n }\n }\n\n return { message: i18n.t('general:success') }\n}\n"],"mappings":"AAAA,SAASA,cAAc,QAA4D;AAYnF,OAAO,MAAMC,sBAAA,GAAyB,MAAAA,CAAO;EAC3CC,IAAI;EACJC,IAAI;EACJC,QAAQ;EACRC,GAAG;EACHC,MAAM;EACNC,MAAM;EACNC,GAAG;EACHC;AAAQ,CACmB;EAC3B,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAI,CAAE,GAAGJ,GAAA;EAEhC,MAAMR,cAAA,CAAe;IAAEQ;EAAI;EAE3B,IAAI;IACF,IAAIJ,QAAA,EAAU;MACZ,MAAMO,OAAA,CAAQE,MAAM,CAAC;QACnBC,UAAA,EAAY;QACZN,GAAA;QACAO,KAAA,EAAO;UAAEC,EAAA,EAAI;YAAEC,MAAA,EAAQb;UAAS;QAAE;MACpC;IACF;IAEA,MAAMO,OAAA,CAAQO,IAAI,CAACC,KAAK,CAAC;MACvBC,KAAA,EAAO;QACLlB,IAAA;QACAG,GAAA;QACAC,MAAA;QACAC,MAAA;QACAE,QAAA;QACAG,IAAA,EAAMA,IAAA,CAAKI;MACb;MACAK,IAAA,EAAM;MACNC,SAAA,EAAWnB;IACb;EACF,EAAE,OAAOoB,GAAA,EAAK;IACZ,IAAIC,KAAA;IAEJ,IAAIpB,QAAA,EAAU;MACZoB,KAAA,GAAQ,kDAAkDpB,QAAA,EAAU;IACtE,OAAO;MACLoB,KAAA,GAAQ,oBAAoBtB,IAAA,OAAW;MACvC,IAAIG,GAAA,EAAK;QACPmB,KAAA,IAAS,oBAAoBnB,GAAA,CAAIoB,KAAK,kBAAkBpB,GAAA,CAAIqB,UAAU,EAAE;MAC1E;IACF;IAEAf,OAAA,CAAQgB,MAAM,CAACH,KAAK,CAACA,KAAA;IACrBb,OAAA,CAAQgB,MAAM,CAACH,KAAK,CAACD,GAAA;IAErB,OAAO;MACLC;IACF;EACF;EAEA,OAAO;IAAEI,OAAA,EAASlB,IAAA,CAAKmB,CAAC,CAAC;EAAmB;AAC9C","ignoreList":[]}
@@ -64,7 +64,7 @@ export function DefaultBrowseByFolderView({
64
64
  });
65
65
  }
66
66
  function BrowseByFolderViewInContext(props) {
67
- const $ = _c(30);
67
+ const $ = _c(24);
68
68
  const {
69
69
  AfterFolderList,
70
70
  AfterFolderListTable,
@@ -162,19 +162,10 @@ function BrowseByFolderViewInContext(props) {
162
162
  }
163
163
  const onDragEnd = t2;
164
164
  const totalDocsAndSubfolders = documents.length + subfolders.length;
165
+ const listHeaderTitle = !breadcrumbs.length ? t("folder:browseByFolder") : breadcrumbs[breadcrumbs.length - 1].name;
165
166
  let t3;
166
- if ($[9] !== breadcrumbs || $[10] !== t) {
167
- t3 = !breadcrumbs.length ? t("folder:browseByFolder") : breadcrumbs[breadcrumbs.length - 1].name;
168
- $[9] = breadcrumbs;
169
- $[10] = t;
170
- $[11] = t3;
171
- } else {
172
- t3 = $[11];
173
- }
174
- const listHeaderTitle = t3;
175
- let t4;
176
- if ($[12] !== getEntityConfig || $[13] !== i18n || $[14] !== t) {
177
- t4 = (acc, slug, index, array) => {
167
+ if ($[9] !== getEntityConfig || $[10] !== i18n || $[11] !== t) {
168
+ t3 = (acc, slug, index, array) => {
178
169
  const collectionConfig = getEntityConfig({
179
170
  collectionSlug: slug
180
171
  });
@@ -186,24 +177,24 @@ function BrowseByFolderViewInContext(props) {
186
177
  }
187
178
  return `${acc}, ${getTranslation(collectionConfig.labels?.plural, i18n)}`;
188
179
  };
189
- $[12] = getEntityConfig;
190
- $[13] = i18n;
191
- $[14] = t;
192
- $[15] = t4;
180
+ $[9] = getEntityConfig;
181
+ $[10] = i18n;
182
+ $[11] = t;
183
+ $[12] = t3;
193
184
  } else {
194
- t4 = $[15];
185
+ t3 = $[12];
195
186
  }
196
- const noResultsLabel = visibleCollectionSlugs.reduce(t4, "");
187
+ const noResultsLabel = visibleCollectionSlugs.reduce(t3, "");
197
188
  const handleSetViewType = view => {
198
189
  setPreference("browse-by-folder", {
199
190
  viewPreference: view
200
191
  });
201
192
  setActiveView(view);
202
193
  };
194
+ let t4;
203
195
  let t5;
204
- let t6;
205
- if ($[16] !== breadcrumbs || $[17] !== drawerDepth || $[18] !== getFolderRoute || $[19] !== router || $[20] !== setStepNav || $[21] !== startRouteTransition || $[22] !== t) {
206
- t5 = () => {
196
+ if ($[13] !== breadcrumbs || $[14] !== drawerDepth || $[15] !== getFolderRoute || $[16] !== router || $[17] !== setStepNav || $[18] !== startRouteTransition || $[19] !== t) {
197
+ t4 = () => {
207
198
  if (!drawerDepth) {
208
199
  setStepNav([!breadcrumbs.length ? {
209
200
  label: _jsxs("div", {
@@ -235,46 +226,34 @@ function BrowseByFolderViewInContext(props) {
235
226
  }))]);
236
227
  }
237
228
  };
238
- t6 = [breadcrumbs, drawerDepth, getFolderRoute, router, setStepNav, startRouteTransition, t];
239
- $[16] = breadcrumbs;
240
- $[17] = drawerDepth;
241
- $[18] = getFolderRoute;
242
- $[19] = router;
243
- $[20] = setStepNav;
244
- $[21] = startRouteTransition;
245
- $[22] = t;
246
- $[23] = t5;
247
- $[24] = t6;
229
+ t5 = [breadcrumbs, drawerDepth, getFolderRoute, router, setStepNav, startRouteTransition, t];
230
+ $[13] = breadcrumbs;
231
+ $[14] = drawerDepth;
232
+ $[15] = getFolderRoute;
233
+ $[16] = router;
234
+ $[17] = setStepNav;
235
+ $[18] = startRouteTransition;
236
+ $[19] = t;
237
+ $[20] = t4;
238
+ $[21] = t5;
248
239
  } else {
249
- t5 = $[23];
250
- t6 = $[24];
240
+ t4 = $[20];
241
+ t5 = $[21];
251
242
  }
252
- React.useEffect(t5, t6);
243
+ React.useEffect(t4, t5);
253
244
  const nonFolderCollectionSlugs = allowCreateCollectionSlugs.filter(slug_0 => slug_0 !== folderCollectionConfig.slug);
254
- let t7;
255
- if ($[25] !== refineFolderData) {
256
- t7 = search_0 => refineFolderData({
245
+ let t6;
246
+ if ($[22] !== refineFolderData) {
247
+ t6 = search_0 => refineFolderData({
257
248
  query: {
258
249
  search: search_0
259
250
  },
260
251
  updateURL: true
261
252
  });
262
- $[25] = refineFolderData;
263
- $[26] = t7;
253
+ $[22] = refineFolderData;
254
+ $[23] = t6;
264
255
  } else {
265
- t7 = $[26];
266
- }
267
- let t8;
268
- if ($[27] !== dragOverlayItem || $[28] !== selectedItemKeys.size) {
269
- t8 = selectedItemKeys.size > 0 && dragOverlayItem && _jsx(DragOverlaySelection, {
270
- item: dragOverlayItem,
271
- selectedCount: selectedItemKeys.size
272
- });
273
- $[27] = dragOverlayItem;
274
- $[28] = selectedItemKeys.size;
275
- $[29] = t8;
276
- } else {
277
- t8 = $[29];
256
+ t6 = $[23];
278
257
  }
279
258
  return _jsxs(Fragment, {
280
259
  children: [_jsx(DndEventListener, {
@@ -305,7 +284,7 @@ function BrowseByFolderViewInContext(props) {
305
284
  setActiveView: handleSetViewType
306
285
  }, "toggle-view-buttons"), _jsx(CurrentFolderActions, {}, "current-folder-actions")].filter(Boolean),
307
286
  label: searchPlaceholder,
308
- onSearchChange: t7,
287
+ onSearchChange: t6,
309
288
  searchQueryParam: search
310
289
  }), BeforeFolderListTable, totalDocsAndSubfolders > 0 && _jsx(_Fragment, {
311
290
  children: activeView === "grid" ? _jsxs("div", {
@@ -345,7 +324,10 @@ function BrowseByFolderViewInContext(props) {
345
324
  })
346
325
  }), AfterFolderListTable]
347
326
  }), AfterFolderList]
348
- }), t8]
327
+ }), selectedItemKeys.size > 0 && dragOverlayItem && _jsx(DragOverlaySelection, {
328
+ item: dragOverlayItem,
329
+ selectedCount: selectedItemKeys.size
330
+ })]
349
331
  });
350
332
  }
351
333
  function DndEventListener(t0) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useDndMonitor","getTranslation","useRouter","React","Fragment","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","getEntityConfig","i18n","t","drawerDepth","setStepNav","startRouteTransition","clearRouteCache","breakpoints","t0","s","smallBreak","setPreference","visibleCollectionSlugs","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","t3","listHeaderTitle","t4","acc","slug","index","array","collectionConfig","collectionSlug","toLowerCase","noResultsLabel","reduce","handleSetViewType","view","t5","t6","label","_jsxs","className","children","filter","Boolean","join","onClick","push","map","crumb","crumbIndex","useEffect","nonFolderCollectionSlugs","slug_0","t7","search_0","query","updateURL","t8","size","item","selectedCount","DndEventListener","Actions","AfterListHeaderContent","title","TitleActions","buttonLabel","singular","collectionSlugs","Array","isArray","onCreateSuccess","slugPrefix","onSearchChange","searchQueryParam","_Fragment","items","subfolderCount","includes","Message","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 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 { 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 { getEntityConfig } = 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 activeCollectionFolderSlugs: visibleCollectionSlugs,\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 const noResultsLabel = visibleCollectionSlugs.reduce((acc, slug, index, array) => {\n const collectionConfig = getEntityConfig({ collectionSlug: slug })\n if (index === 0) {\n return getTranslation(collectionConfig.labels?.plural, i18n)\n }\n if (index === array.length - 1) {\n return `${acc} ${t('general:or').toLowerCase()} ${getTranslation(collectionConfig.labels?.plural, i18n)}`\n }\n return `${acc}, ${getTranslation(collectionConfig.labels?.plural, i18n)}`\n }, '')\n\n const handleSetViewType = React.useCallback(\n (view: 'grid' | 'list') => {\n void setPreference('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 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 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 <p>\n {i18n.t('general:noResults', {\n label: noResultsLabel,\n })}\n </p>\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,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,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,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;EAAA,IAA4BtC,SAAA;EAC5B;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;IAAAQ,2BAAA,EAAAsC,sBAAA;IAAApC,0BAAA;IAAAE,WAAA;IAAAC,SAAA;IAAAkC,eAAA;IAAAC,sBAAA;IAAAjC,QAAA;IAAAkC,UAAA;IAAAC,cAAA;IAAAC,gBAAA;IAAAC,YAAA;IAAAC,gBAAA;IAAApC,MAAA;IAAAqC,gBAAA;IAAAC,aAAA;IAAArC;EAAA,IAiBInB,SAAA;EAEJ,OAAAyD,UAAA,EAAAC,aAAA,IAAoC9E,KAAA,CAAA+E,QAAA,CAAgC1B,cAAA,IAAkB;EAAA,IAAA2B,EAAA;EAAA,IAAApC,CAAA,QAAAX,WAAA,IAAAW,CAAA,QAAAyB,sBAAA,IAAAzB,CAAA,QAAAY,IAAA,IAAAZ,CAAA,QAAAa,CAAA;IAC3CuB,EAAA,GAAAA,CAAA;MACzC,MAAAC,aAAA,GACEhD,WAAA,CAAAiD,MAAA,MAAuB,GACnBpF,cAAA,CAAeuE,sBAAA,CAAAc,MAAA,EAAAC,MAAA,EAAuC5B,IAAA,IACtDvB,WAAW,CAACA,WAAA,CAAAiD,MAAA,IAAqB,EAAAG,IAAO;MAAA,OACvC5B,CAAA,CAAE;QAAA6B,UAAA,EACKL;MAAA,CACd;IAAA;IACFrC,CAAA,MAAAX,WAAA;IAAAW,CAAA,MAAAyB,sBAAA;IAAAzB,CAAA,MAAAY,IAAA;IAAAZ,CAAA,MAAAa,CAAA;IAAAb,CAAA,MAAAoC,EAAA;EAAA;IAAAA,EAAA,GAAApC,CAAA;EAAA;EARA,OAAA2C,iBAAA,IAA4BvF,KAAA,CAAA+E,QAAA,CAAeC,EAQ3C;EAAA,IAAAQ,EAAA;EAAA,IAAA5C,CAAA,QAAAiB,eAAA,IAAAjB,CAAA,QAAA4B,gBAAA,IAAA5B,CAAA,QAAA6B,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;QACAnC,eAAA;MAAA;IAAA;IAEJjB,CAAA,MAAAiB,eAAA;IAAAjB,CAAA,MAAA4B,gBAAA;IAAA5B,CAAA,MAAA6B,YAAA;IAAA7B,CAAA,MAAA4C,EAAA;EAAA;IAAAA,EAAA,GAAA5C,CAAA;EAAA;EAbF,MAAAqD,SAAA,GAAkBT,EAciC;EAGnD,MAAAU,sBAAA,GAA+BhE,SAAA,CAAAgD,MAAA,GAAmB3C,UAAA,CAAA2C,MAAiB;EAAA,IAAAiB,EAAA;EAAA,IAAAvD,CAAA,QAAAX,WAAA,IAAAW,CAAA,SAAAa,CAAA;IAC3C0C,EAAA,IAAClE,WAAA,CAAAiD,MAAA,GACrBzB,CAAA,CAAE,2BACFxB,WAAW,CAACA,WAAA,CAAAiD,MAAA,IAAqB,EAAAG,IAAO;IAAAzC,CAAA,MAAAX,WAAA;IAAAW,CAAA,OAAAa,CAAA;IAAAb,CAAA,OAAAuD,EAAA;EAAA;IAAAA,EAAA,GAAAvD,CAAA;EAAA;EAF5C,MAAAwD,eAAA,GAAwBD,EAEoB;EAAA,IAAAE,EAAA;EAAA,IAAAzD,CAAA,SAAAW,eAAA,IAAAX,CAAA,SAAAY,IAAA,IAAAZ,CAAA,SAAAa,CAAA;IACS4C,EAAA,GAAAA,CAAAC,GAAA,EAAAC,IAAA,EAAAC,KAAA,EAAAC,KAAA;MACnD,MAAAC,gBAAA,GAAyBnD,eAAA;QAAAoD,cAAA,EAAkCJ;MAAA,CAAK;MAAA,IAC5DC,KAAA,MAAU;QAAA,OACL1G,cAAA,CAAe4G,gBAAA,CAAAvB,MAAA,EAAAC,MAAA,EAAiC5B,IAAA;MAAA;MAAA,IAErDgD,KAAA,KAAUC,KAAA,CAAAvB,MAAA,IAAe;QAAA,OACpB,GAAGoB,GAAA,IAAO7C,CAAA,CAAE,cAAAmD,WAAA,CAAyB,KAAM9G,cAAA,CAAe4G,gBAAA,CAAAvB,MAAA,EAAAC,MAAA,EAAiC5B,IAAA,GAAO;MAAA;MAAA,OAEpG,GAAG8C,GAAA,KAAQxG,cAAA,CAAe4G,gBAAA,CAAAvB,MAAA,EAAAC,MAAA,EAAiC5B,IAAA,GAAO;IAAA;IAC3EZ,CAAA,OAAAW,eAAA;IAAAX,CAAA,OAAAY,IAAA;IAAAZ,CAAA,OAAAa,CAAA;IAAAb,CAAA,OAAAyD,EAAA;EAAA;IAAAA,EAAA,GAAAzD,CAAA;EAAA;EATA,MAAAiE,cAAA,GAAuB1C,sBAAA,CAAA2C,MAAA,CAA8BT,EASrD,EAAG;EAEH,MAAAU,iBAAA,GAAAC,IAAA;IAES9C,aAAA,CAAc;MAAAb,cAAA,EACD2D;IAAA,CAClB;IACAlC,aAAA,CAAckC,IAAA;EAAA;EAED,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAtE,CAAA,SAAAX,WAAA,IAAAW,CAAA,SAAAc,WAAA,IAAAd,CAAA,SAAA2B,cAAA,IAAA3B,CAAA,SAAAU,MAAA,IAAAV,CAAA,SAAAe,UAAA,IAAAf,CAAA,SAAAgB,oBAAA,IAAAhB,CAAA,SAAAa,CAAA;IAGDwD,EAAA,GAAAA,CAAA;MAAA,KACTvD,WAAA;QACHC,UAAA,EACE,CAAC1B,WAAA,CAAAiD,MAAA;UAAAiC,KAAA,EAGOC,KAAA,CAAC;YAAAC,SAAA,EAAe,GAAA1F,SAAA,uBAAmC;YAAA2F,QAAA,GACjD7E,IAAA,CAAAtC,iBAAA,IAAC,GACAsD,CAAA,CAAE;UAAA,GAFoD;QAAA;UAAA0D,KAAA,EAQzDC,KAAA,CAAAlH,mBAAA;YAAAmH,SAAA,EACa,CACT,GAAA1F,SAAA,sBAAkC,EAClC,GAAAA,SAAA,uBAAmC,EAAA4F,MAAA,CAAAC,OAE3B,EAAAC,IAAA,CACF;YAAAzB,EAAA;YAAA0B,OAAA,EAAAA,CAAA;cAIN9D,oBAAA;gBACEN,MAAA,CAAAqE,IAAA,CAAYpD,cAAA,KAAe;cAAA,CAC7B;YAAA;YAAA+C,QAAA,GAGF7E,IAAA,CAAAtC,iBAAA,IAAC,GACAsD,CAAA,CAAE;UAAA,GARC;QAAA,CAWV,KACDxB,WAAA,CAAA2F,GAAA,EAAAC,KAAA,EAAAC,UAAA;UAAAX,KAAA,EAGGW,UAAA,KAAe7F,WAAA,CAAAiD,MAAA,IAAqB,GAClC2C,KAAA,CAAAxC,IAAA,GAEA5C,IAAA,CAAAvC,mBAAA;YAAAmH,SAAA,EACa,GAAA1F,SAAA,sBAAkC;YAAAqE,EAAA,EACzC6B,KAAA,CAAA7B,EAAA;YAAA0B,OAAA,EAAAA,CAAA;cAGF9D,oBAAA;gBACEN,MAAA,CAAAqE,IAAA,CAAYpD,cAAA,CAAesD,KAAA,CAAA7B,EAAQ;cAAA,CACrC;YAAA;YAAAsB,QAAA,EAGDO,KAAA,CAAAxC;UAAA,GAPIwC,KAAA,CAAA7B,EAAQ;QAAA,EAWvB,EACD;MAAA;IAAA;IAEFkB,EAAA,IAACjF,WAAA,EAAayB,WAAA,EAAaa,cAAA,EAAgBjB,MAAA,EAAQK,UAAA,EAAYC,oBAAA,EAAsBH,CAAA;IAAEb,CAAA,OAAAX,WAAA;IAAAW,CAAA,OAAAc,WAAA;IAAAd,CAAA,OAAA2B,cAAA;IAAA3B,CAAA,OAAAU,MAAA;IAAAV,CAAA,OAAAe,UAAA;IAAAf,CAAA,OAAAgB,oBAAA;IAAAhB,CAAA,OAAAa,CAAA;IAAAb,CAAA,OAAAqE,EAAA;IAAArE,CAAA,OAAAsE,EAAA;EAAA;IAAAD,EAAA,GAAArE,CAAA;IAAAsE,EAAA,GAAAtE,CAAA;EAAA;EAzD1F5C,KAAA,CAAA+H,SAAA,CAAgBd,EAyDhB,EAAGC,EAAuF;EAE1F,MAAAc,wBAAA,GAAiCjG,0BAAA,CAAAwF,MAAA,CAAAU,MAAA,IACrB1B,MAAA,KAASlC,sBAAA,CAAAkC,IAA2B;EAAA,IAAA2B,EAAA;EAAA,IAAAtF,CAAA,SAAA8B,gBAAA;IAmDtBwD,EAAA,GAAAC,QAAA,IAAYzD,gBAAA;MAAA0D,KAAA;QAAA9F,MAAA,EAA4BA;MAAA;MAAA+F,SAAA;IAAA,CAA0B;IAAAzF,CAAA,OAAA8B,gBAAA;IAAA9B,CAAA,OAAAsF,EAAA;EAAA;IAAAA,EAAA,GAAAtF,CAAA;EAAA;EAAA,IAAA0F,EAAA;EAAA,IAAA1F,CAAA,SAAAwB,eAAA,IAAAxB,CAAA,SAAA+B,gBAAA,CAAA4D,IAAA;IAmEvFD,EAAA,GAAA3D,gBAAA,CAAA4D,IAAA,IAAwB,IAAKnE,eAAA,IAC5B3B,IAAA,CAAApC,oBAAA;MAAAmI,IAAA,EAA4BpE,eAAA;MAAAqE,aAAA,EAAgC9D,gBAAA,CAAA4D;IAAA,C;;;;;;;SAnHhEnB,KAAA,CAAAnH,QAAA;IAAAqH,QAAA,GACE7E,IAAA,CAAAiG,gBAAA;MAAAzC,SAAA;MAAArB;IAAA,C,GACAwC,KAAA,CAAC;MAAAC,SAAA,EAAe,GAAA1F,SAAA,IAAAA,SAAA,WAAoC;MAAA2F,QAAA,GACjDvE,gBAAA,EACDqE,KAAA,CAAAzG,MAAA;QAAA0G,SAAA,EAAmB,GAAA1F,SAAA,QAAoB;QAAA2F,QAAA,GACrC7E,IAAA,CAAA7B,UAAA;UAAA+H,OAAA,EACW,CACP,CAAC1E,UAAA,IACCxB,IAAA,CAAAf,aAAA;YAAAwB,iBAAA;YAAAC,eAAA;YAAAC;UAAA,GAIM,mBAAAmE,MAAA,CAAAC,OAGD;UAAAoB,sBAAA,EACe3F,WAAA;UAAA4F,KAAA,EACjBzC,eAAA;UAAA0C,YAAA,EACO,CACZ/G,0BAAA,CAAAmD,MAAA,IACEzC,IAAA,CAAA5B,8BAAA;YAAAkI,WAAA,EAEIhH,0BAAA,CAAAmD,MAAA,IAAoC,GAChCzB,CAAA,CAAE,uBACF,GAAGA,CAAA,CAAE,qBAAqB3D,cAAA,CAAeuE,sBAAA,CAAAc,MAAA,EAAA6D,QAAA,EAAyCxF,IAAA,EAAAoD,WAAA,CAAiB,GAAI;YAAAqC,eAAA,EAE5FlH,0BAAA;YAAAqB,yBAAA,EACU8F,KAAA,CAAAC,OAAA,CAAc7E,UAAA,IAAcA,UAAA,KAAe;YAAA8E,eAAA,EAErDvF,eAAA;YAAAwF,UAAA,EACN;UAAA,GAFP,sBAAA9B,MAAA,CAAAC,OAKD;QAAA,C,GAEX/E,IAAA,CAAA1B,SAAA;UAAA4H,OAAA,EACW,CACPlG,IAAA,CAAAhC,UAAA,MAAgB,iBAChB2B,QAAA,IAAYK,IAAA,CAAAnC,oBAAA,MAA0B,oBACtCmC,IAAA,CAAA/B,iBAAA;YAAAmE,UAAA;YAAAC,aAAA,EAGiBiC;UAAA,GADX,wBAGNtE,IAAA,CAAArC,oBAAA,MAA0B,2BAAAmH,MAAA,CAAAC,OACnB;UAAAL,KAAA,EACF5B,iBAAA;UAAA+D,cAAA,EACSpB,EAAkE;UAAAqB,gBAAA,EAChEjH;QAAA,C,GAEnBU,qBAAA,EACAkD,sBAAA,IAAyB,IACxBzD,IAAA,CAAA+G,SAAA;UAAAlC,QAAA,EACGzC,UAAA,KAAe,SACduC,KAAA,CAAC;YAAAE,QAAA,GACE/E,UAAA,CAAA2C,MAAA,GACCzC,IAAA,CAAA+G,SAAA;cAAAlC,QAAA,EACE7E,IAAA,CAAAjC,YAAA;gBAAAiJ,KAAA,EAAqBlH,UAAA;gBAAAsG,KAAA,EAAmB;gBAAAhD,IAAA,EAAgB;cAAA,C;qBAExD,EAEH3D,SAAA,CAAAgD,MAAA,GACCzC,IAAA,CAAA+G,SAAA;cAAAlC,QAAA,EACE7E,IAAA,CAAAjC,YAAA;gBAAAiJ,KAAA,EACSvH,SAAA;gBAAAwH,cAAA,EACSnH,UAAA,CAAA2C,MAAA;gBAAA2D,KAAA,EACT;gBAAAhD,IAAA,EACF;cAAA,C;qBAGP;UAAA,C,IAGNpD,IAAA,CAAAlC,eAAA,IAAC;QAAA,C,GAIN2F,sBAAA,MAA2B,IAC1BzD,IAAA,CAAA3B,aAAA;UAAA6H,OAAA,EACW,CACP5G,0BAAA,CAAA4H,QAAA,CAAoCtF,sBAAA,CAAAkC,IAA2B,KAC7D9D,IAAA,CAAA5B,8BAAA;YAAAkI,WAAA,EACe,GAAGtF,CAAA,CAAE,qBAAqB3D,cAAA,CAAeuE,sBAAA,CAAAc,MAAA,EAAA6D,QAAA,EAAyCxF,IAAA,EAAAoD,WAAA,CAAiB,GAAI;YAAAqC,eAAA,GAClG5E,sBAAA,CAAAkC,IAAA;YAAAnD,yBAAA,EACS8F,KAAA,CAAAC,OAAA,CAAc7E,UAAA,IAAcA,UAAA,KAAe;YAAA8E,eAAA,EAErDvF,eAAA;YAAAwF,UAAA,EACN;UAAA,GAFP,kBAKRjH,QAAA,IAAY4F,wBAAA,CAAA9C,MAAA,IAAkC,IAC5CzC,IAAA,CAAA5B,8BAAA;YAAAkI,WAAA,EACe,GAAGtF,CAAA,CAAE,qBAAqBA,CAAA,CAAE,oBAAAmD,WAAA,CAA+B,GAAI;YAAAqC,eAAA,EAC3DjB,wBAAA;YAAA5E,yBAAA,EACU8F,KAAA,CAAAC,OAAA,CAAc7E,UAAA,IAAcA,UAAA,KAAe;YAAA8E,eAAA,EAErDvF,eAAA;YAAAwF,UAAA,EACN;UAAA,GAFP,oBAAA9B,MAAA,CAAAC,OAKD;UAAAoC,OAAA,EAEPnH,IAAA,CAAC;YAAA6E,QAAA,EACE9D,IAAA,CAAAC,CAAA,CAAO;cAAA0D,KAAA,EACCN;YAAA,CACT;UAAA,C;YAKP/D,oBAAA;MAAA,C,GAEFD,eAAA;IAAA,C,GAEFyF,E;;;AAMP,SAAAI,iBAAA3E,EAAA;EAAA,MAAAnB,CAAA,GAAAhD,EAAA;EAA0B;IAAAqG,SAAA;IAAArB;EAAA,IAAAb,EAA4B;EAAA,IAAAiB,EAAA;EAAA,IAAApC,CAAA,QAAAqD,SAAA,IAAArD,CAAA,QAAAgC,aAAA;IACtCI,EAAA;MAAA6E,aAAA;QAEVjF,aAAA,MAAc;MAAA;MAAAqB,UAAAR,KAAA;QAGdb,aAAA,MAAc;QACdqB,SAAA,CAAUR,KAAA;MAAA;MAAAqE,YAAA;QAGVlF,aAAA,KAAc;MAAA;IAAA;IAElBhC,CAAA,MAAAqD,SAAA;IAAArD,CAAA,MAAAgC,aAAA;IAAAhC,CAAA,MAAAoC,EAAA;EAAA;IAAAA,EAAA,GAAApC,CAAA;EAAA;EAXA/C,aAAA,CAAcmF,EAWd;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useDndMonitor","getTranslation","useRouter","React","Fragment","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","getEntityConfig","i18n","t","drawerDepth","setStepNav","startRouteTransition","clearRouteCache","breakpoints","t0","s","smallBreak","setPreference","visibleCollectionSlugs","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","t3","acc","slug","index","array","collectionConfig","collectionSlug","toLowerCase","noResultsLabel","reduce","handleSetViewType","view","t4","t5","label","_jsxs","className","children","filter","Boolean","join","onClick","push","map","crumb","crumbIndex","useEffect","nonFolderCollectionSlugs","slug_0","t6","search_0","query","updateURL","DndEventListener","Actions","AfterListHeaderContent","title","TitleActions","buttonLabel","singular","collectionSlugs","Array","isArray","onCreateSuccess","slugPrefix","onSearchChange","searchQueryParam","_Fragment","items","subfolderCount","includes","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 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 { 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 { getEntityConfig } = 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 activeCollectionFolderSlugs: visibleCollectionSlugs,\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 const noResultsLabel = visibleCollectionSlugs.reduce((acc, slug, index, array) => {\n const collectionConfig = getEntityConfig({ collectionSlug: slug })\n if (index === 0) {\n return getTranslation(collectionConfig.labels?.plural, i18n)\n }\n if (index === array.length - 1) {\n return `${acc} ${t('general:or').toLowerCase()} ${getTranslation(collectionConfig.labels?.plural, i18n)}`\n }\n return `${acc}, ${getTranslation(collectionConfig.labels?.plural, i18n)}`\n }, '')\n\n const handleSetViewType = React.useCallback(\n (view: 'grid' | 'list') => {\n void setPreference('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 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 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 <p>\n {i18n.t('general:noResults', {\n label: noResultsLabel,\n })}\n </p>\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":"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","ignoreList":[]}
@@ -63,7 +63,7 @@ export function DefaultCollectionFolderView({
63
63
  });
64
64
  }
65
65
  function CollectionFolderViewInContext(props) {
66
- const $ = _c(20);
66
+ const $ = _c(6);
67
67
  const {
68
68
  AfterFolderList,
69
69
  AfterFolderListTable,
@@ -163,24 +163,6 @@ function CollectionFolderViewInContext(props) {
163
163
  });
164
164
  clearRouteCache();
165
165
  };
166
- const t2 = labels?.plural;
167
- let t3;
168
- if ($[4] !== breadcrumbs || $[5] !== collectionSlug || $[6] !== config.folders || $[7] !== config.routes.admin || $[8] !== drawerDepth || $[9] !== i18n || $[10] !== router || $[11] !== setStepNav || $[12] !== startRouteTransition || $[13] !== t2) {
169
- t3 = [breadcrumbs, collectionSlug, config.folders, config.routes.admin, drawerDepth, i18n, t2, router, setStepNav, startRouteTransition];
170
- $[4] = breadcrumbs;
171
- $[5] = collectionSlug;
172
- $[6] = config.folders;
173
- $[7] = config.routes.admin;
174
- $[8] = drawerDepth;
175
- $[9] = i18n;
176
- $[10] = router;
177
- $[11] = setStepNav;
178
- $[12] = startRouteTransition;
179
- $[13] = t2;
180
- $[14] = t3;
181
- } else {
182
- t3 = $[14];
183
- }
184
166
  React.useEffect(() => {
185
167
  if (!drawerDepth) {
186
168
  setStepNav([!breadcrumbs.length ? {
@@ -222,32 +204,20 @@ function CollectionFolderViewInContext(props) {
222
204
  }, crumb.id)
223
205
  }))]);
224
206
  }
225
- }, t3);
207
+ }, [breadcrumbs, collectionSlug, config.folders, config.routes.admin, drawerDepth, i18n, labels?.plural, router, setStepNav, startRouteTransition]);
226
208
  const totalDocsAndSubfolders = documents.length + subfolders.length;
227
- let t4;
228
- if ($[15] !== refineFolderData) {
229
- t4 = search_0 => refineFolderData({
209
+ let t2;
210
+ if ($[4] !== refineFolderData) {
211
+ t2 = search_0 => refineFolderData({
230
212
  query: {
231
213
  search: search_0
232
214
  },
233
215
  updateURL: true
234
216
  });
235
- $[15] = refineFolderData;
236
- $[16] = t4;
217
+ $[4] = refineFolderData;
218
+ $[5] = t2;
237
219
  } else {
238
- t4 = $[16];
239
- }
240
- let t5;
241
- if ($[17] !== dragOverlayItem || $[18] !== selectedItemKeys.size) {
242
- t5 = selectedItemKeys.size > 0 && dragOverlayItem && _jsx(DragOverlaySelection, {
243
- item: dragOverlayItem,
244
- selectedCount: selectedItemKeys.size
245
- });
246
- $[17] = dragOverlayItem;
247
- $[18] = selectedItemKeys.size;
248
- $[19] = t5;
249
- } else {
250
- t5 = $[19];
220
+ t2 = $[5];
251
221
  }
252
222
  return _jsxs(Fragment, {
253
223
  children: [_jsx(DndEventListener, {
@@ -288,7 +258,7 @@ function CollectionFolderViewInContext(props) {
288
258
  label: t("general:searchBy", {
289
259
  label: t("general:name")
290
260
  }),
291
- onSearchChange: t4,
261
+ onSearchChange: t2,
292
262
  searchQueryParam: search
293
263
  }), BeforeFolderListTable, totalDocsAndSubfolders > 0 && FolderResultsComponent, totalDocsAndSubfolders === 0 && _jsx(NoListResults, {
294
264
  Actions: [allowCreateCollectionSlugs.includes(folderCollectionSlug) && _jsx(ListCreateNewDocInFolderButton, {
@@ -311,7 +281,10 @@ function CollectionFolderViewInContext(props) {
311
281
  })
312
282
  }), AfterFolderListTable]
313
283
  }), AfterFolderList]
314
- }), t5]
284
+ }), selectedItemKeys.size > 0 && dragOverlayItem && _jsx(DragOverlaySelection, {
285
+ item: dragOverlayItem,
286
+ selectedCount: selectedItemKeys.size
287
+ })]
315
288
  });
316
289
  }
317
290
  function DndEventListener(t0) {