@payloadcms/ui 3.43.0-internal.693bd81 → 3.43.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.
Files changed (189) hide show
  1. package/dist/elements/AddNewRelation/index.js +9 -8
  2. package/dist/elements/AddNewRelation/index.js.map +1 -1
  3. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  4. package/dist/elements/BulkUpload/FileSidebar/index.js +1 -0
  5. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  6. package/dist/elements/Button/index.scss +19 -0
  7. package/dist/elements/Button/types.d.ts +1 -1
  8. package/dist/elements/Button/types.d.ts.map +1 -1
  9. package/dist/elements/Button/types.js.map +1 -1
  10. package/dist/elements/ColumnSelector/index.d.ts +0 -1
  11. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  12. package/dist/elements/ColumnSelector/index.js +34 -38
  13. package/dist/elements/ColumnSelector/index.js.map +1 -1
  14. package/dist/elements/Drawer/index.d.ts.map +1 -1
  15. package/dist/elements/Drawer/index.js +51 -67
  16. package/dist/elements/Drawer/index.js.map +1 -1
  17. package/dist/elements/FieldDiffContainer/index.d.ts +15 -0
  18. package/dist/elements/FieldDiffContainer/index.d.ts.map +1 -0
  19. package/dist/elements/FieldDiffContainer/index.js +40 -0
  20. package/dist/elements/FieldDiffContainer/index.js.map +1 -0
  21. package/dist/elements/FieldDiffContainer/index.scss +45 -0
  22. package/dist/elements/FieldDiffLabel/index.scss +6 -1
  23. package/dist/elements/FolderView/CollectionTypePill/index.d.ts.map +1 -1
  24. package/dist/elements/FolderView/CollectionTypePill/index.js +13 -10
  25. package/dist/elements/FolderView/CollectionTypePill/index.js.map +1 -1
  26. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +1 -1
  27. package/dist/elements/FolderView/CurrentFolderActions/index.js +17 -11
  28. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  29. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts +1 -3
  30. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts.map +1 -1
  31. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +7 -4
  32. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
  33. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +1 -0
  34. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +1 -1
  35. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +230 -201
  36. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  37. package/dist/elements/FolderView/FolderFileCard/index.d.ts +8 -0
  38. package/dist/elements/FolderView/FolderFileCard/index.d.ts.map +1 -1
  39. package/dist/elements/FolderView/FolderFileCard/index.js +82 -0
  40. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  41. package/dist/elements/FolderView/FolderFileTable/index.d.ts +1 -22
  42. package/dist/elements/FolderView/FolderFileTable/index.d.ts.map +1 -1
  43. package/dist/elements/FolderView/FolderFileTable/index.js +245 -163
  44. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
  45. package/dist/elements/FolderView/ItemCardGrid/index.d.ts +2 -8
  46. package/dist/elements/FolderView/ItemCardGrid/index.d.ts.map +1 -1
  47. package/dist/elements/FolderView/ItemCardGrid/index.js +24 -90
  48. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
  49. package/dist/elements/FolderView/SortByPill/index.d.ts.map +1 -1
  50. package/dist/elements/FolderView/SortByPill/index.js +17 -15
  51. package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
  52. package/dist/elements/HTMLDiff/colors.scss +35 -0
  53. package/dist/elements/HTMLDiff/diff/index.d.ts +75 -0
  54. package/dist/elements/HTMLDiff/diff/index.d.ts.map +1 -0
  55. package/dist/elements/HTMLDiff/diff/index.js +536 -0
  56. package/dist/elements/HTMLDiff/diff/index.js.map +1 -0
  57. package/dist/elements/HTMLDiff/index.d.ts +11 -0
  58. package/dist/elements/HTMLDiff/index.d.ts.map +1 -0
  59. package/dist/elements/HTMLDiff/index.js +32 -0
  60. package/dist/elements/HTMLDiff/index.js.map +1 -0
  61. package/dist/elements/HTMLDiff/index.scss +170 -0
  62. package/dist/elements/ListControls/index.scss +2 -2
  63. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +1 -0
  64. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  65. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +1 -1
  66. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +8 -10
  67. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  68. package/dist/elements/ListHeader/index.scss +1 -1
  69. package/dist/elements/Nav/context.d.ts.map +1 -1
  70. package/dist/elements/Nav/context.js +4 -1
  71. package/dist/elements/Nav/context.js.map +1 -1
  72. package/dist/elements/Pill/index.d.ts +5 -1
  73. package/dist/elements/Pill/index.d.ts.map +1 -1
  74. package/dist/elements/Pill/index.js.map +1 -1
  75. package/dist/elements/PillSelector/index.d.ts +26 -0
  76. package/dist/elements/PillSelector/index.d.ts.map +1 -0
  77. package/dist/elements/PillSelector/index.js +72 -0
  78. package/dist/elements/PillSelector/index.js.map +1 -0
  79. package/dist/elements/{ColumnSelector → PillSelector}/index.scss +5 -5
  80. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -1
  81. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  82. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  83. package/dist/elements/Popup/PopupTrigger/index.scss +4 -0
  84. package/dist/elements/Popup/index.d.ts +1 -1
  85. package/dist/elements/Popup/index.d.ts.map +1 -1
  86. package/dist/elements/Popup/index.js.map +1 -1
  87. package/dist/elements/Popup/index.scss +11 -0
  88. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +1 -0
  89. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  90. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +1 -0
  91. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  92. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  93. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +1 -0
  94. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  95. package/dist/elements/QueryPresets/fields/WhereField/index.js +1 -0
  96. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  97. package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
  98. package/dist/elements/ReactSelect/ValueContainer/index.js +7 -4
  99. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  100. package/dist/elements/ReactSelect/ValueContainer/index.scss +8 -0
  101. package/dist/elements/ReactSelect/types.d.ts +1 -0
  102. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  103. package/dist/elements/ReactSelect/types.js.map +1 -1
  104. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  105. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  106. package/dist/elements/RelationshipTable/index.js +3 -1
  107. package/dist/elements/RelationshipTable/index.js.map +1 -1
  108. package/dist/elements/SelectMany/index.d.ts.map +1 -1
  109. package/dist/elements/SelectMany/index.js +1 -0
  110. package/dist/elements/SelectMany/index.js.map +1 -1
  111. package/dist/elements/Table/index.js +2 -2
  112. package/dist/elements/Table/index.js.map +1 -1
  113. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  114. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +7 -7
  115. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  116. package/dist/exports/client/{DatePicker-JDD2RARJ.js → DatePicker-QBWPYX2E.js} +2 -2
  117. package/dist/exports/client/{chunk-L7Q3DZ67.js → chunk-TIQCV7VX.js} +1 -1
  118. package/dist/exports/client/{chunk-L7Q3DZ67.js.map → chunk-TIQCV7VX.js.map} +2 -2
  119. package/dist/exports/client/index.d.ts +6 -1
  120. package/dist/exports/client/index.d.ts.map +1 -1
  121. package/dist/exports/client/index.js +22 -22
  122. package/dist/exports/client/index.js.map +4 -4
  123. package/dist/exports/rsc/index.d.ts +3 -0
  124. package/dist/exports/rsc/index.d.ts.map +1 -1
  125. package/dist/exports/rsc/index.js +3 -0
  126. package/dist/exports/rsc/index.js.map +1 -1
  127. package/dist/exports/shared/index.js.map +1 -1
  128. package/dist/fields/Checkbox/index.scss +1 -1
  129. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  130. package/dist/fields/FieldLabel/index.js +3 -2
  131. package/dist/fields/FieldLabel/index.js.map +1 -1
  132. package/dist/fields/Join/index.d.ts.map +1 -1
  133. package/dist/fields/Join/index.js +1 -0
  134. package/dist/fields/Join/index.js.map +1 -1
  135. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  136. package/dist/fields/Relationship/Input.js +4 -4
  137. package/dist/fields/Relationship/Input.js.map +1 -1
  138. package/dist/providers/Auth/index.d.ts.map +1 -1
  139. package/dist/providers/Auth/index.js +10 -5
  140. package/dist/providers/Auth/index.js.map +1 -1
  141. package/dist/providers/Folders/index.d.ts +59 -46
  142. package/dist/providers/Folders/index.d.ts.map +1 -1
  143. package/dist/providers/Folders/index.js +163 -572
  144. package/dist/providers/Folders/index.js.map +1 -1
  145. package/dist/providers/ServerFunctions/index.d.ts +27 -13
  146. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  147. package/dist/providers/ServerFunctions/index.js +20 -1
  148. package/dist/providers/ServerFunctions/index.js.map +1 -1
  149. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  150. package/dist/providers/TableColumns/buildColumnState/renderCell.js +1 -2
  151. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  152. package/dist/providers/TableColumns/index.js +1 -0
  153. package/dist/providers/TableColumns/index.js.map +1 -1
  154. package/dist/providers/Translation/index.d.ts.map +1 -1
  155. package/dist/providers/Translation/index.js.map +1 -1
  156. package/dist/styles.css +1 -1
  157. package/dist/utilities/buildFormState.d.ts +2 -2
  158. package/dist/utilities/buildFormState.d.ts.map +1 -1
  159. package/dist/utilities/buildFormState.js.map +1 -1
  160. package/dist/utilities/buildTableState.d.ts +2 -2
  161. package/dist/utilities/buildTableState.d.ts.map +1 -1
  162. package/dist/utilities/buildTableState.js.map +1 -1
  163. package/dist/utilities/copyDataFromLocale.d.ts +2 -2
  164. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  165. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  166. package/dist/utilities/formatDocTitle/formatDateTitle.js +1 -1
  167. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  168. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  169. package/dist/utilities/generateFieldID.js +4 -1
  170. package/dist/utilities/generateFieldID.js.map +1 -1
  171. package/dist/utilities/getFolderResultsComponentAndData.d.ts +29 -0
  172. package/dist/utilities/getFolderResultsComponentAndData.d.ts.map +1 -0
  173. package/dist/utilities/getFolderResultsComponentAndData.js +128 -0
  174. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -0
  175. package/dist/utilities/renderTable.js +1 -0
  176. package/dist/utilities/renderTable.js.map +1 -1
  177. package/dist/views/BrowseByFolder/index.d.ts +1 -4
  178. package/dist/views/BrowseByFolder/index.d.ts.map +1 -1
  179. package/dist/views/BrowseByFolder/index.js +219 -158
  180. package/dist/views/BrowseByFolder/index.js.map +1 -1
  181. package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -1
  182. package/dist/views/CollectionFolder/ListSelection/index.js +25 -50
  183. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  184. package/dist/views/CollectionFolder/index.d.ts +1 -1
  185. package/dist/views/CollectionFolder/index.d.ts.map +1 -1
  186. package/dist/views/CollectionFolder/index.js +186 -153
  187. package/dist/views/CollectionFolder/index.js.map +1 -1
  188. package/package.json +4 -4
  189. /package/dist/exports/client/{DatePicker-JDD2RARJ.js.map → DatePicker-QBWPYX2E.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"renderTable.js","names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","flattenTopLevelFields","React","RenderServerComponent","OrderableTable","Pill","SelectAll","SelectRow","SortHeader","SortRow","Table","filterFields","buildColumnState","getInitialColumns","renderFilters","fields","importMap","reduce","acc","field","admin","components","Filter","set","name","Component","Map","renderTable","clientCollectionConfig","clientConfig","collectionConfig","collections","columnPreferences","columns","columnsFromArgs","customCellProps","docs","enableRowSelections","i18n","orderableFieldName","payload","renderRowTypes","tableAppearance","useAsTitle","columnState","clientFields","serverFields","isPolymorphic","collection","find","each","slug","some","push","serverCollectionConfig","config","filter","column","keepPresentationalFields","moveSubFieldsToTop","accessor","undefined","defaultColumns","sharedArgs","collectionSlug","dataType","columnsToUse","unshift","active","disabled","hidden","Heading","t","renderedCells","map","doc","i","_jsx","relationTo","labels","singular","_","rowData","appearance","data"],"sources":["../../src/utilities/renderTable.tsx"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n CollectionConfig,\n Column,\n ColumnPreference,\n Field,\n ImportMap,\n ListPreferences,\n PaginatedDocs,\n Payload,\n SanitizedCollectionConfig,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled, flattenTopLevelFields } from 'payload/shared'\nimport React from 'react'\n\nimport type { BuildColumnStateArgs } from '../providers/TableColumns/buildColumnState/index.js'\n\nimport { RenderServerComponent } from '../elements/RenderServerComponent/index.js'\nimport {\n OrderableTable,\n Pill,\n SelectAll,\n SelectRow,\n SortHeader,\n SortRow,\n Table,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- these MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../exports/client/index.js'\nimport { filterFields } from '../providers/TableColumns/buildColumnState/filterFields.js'\nimport { buildColumnState } from '../providers/TableColumns/buildColumnState/index.js'\nimport { getInitialColumns } from '../providers/TableColumns/getInitialColumns.js'\n\nexport const renderFilters = (\n fields: Field[],\n importMap: ImportMap,\n): Map<string, React.ReactNode> =>\n fields.reduce(\n (acc, field) => {\n if (fieldIsHiddenOrDisabled(field)) {\n return acc\n }\n\n if ('name' in field && field.admin?.components?.Filter) {\n acc.set(\n field.name,\n RenderServerComponent({\n Component: field.admin.components?.Filter,\n importMap,\n }),\n )\n }\n\n return acc\n },\n new Map() as Map<string, React.ReactNode>,\n )\n\nexport const renderTable = ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collections,\n columnPreferences,\n columns: columnsFromArgs,\n customCellProps,\n docs,\n enableRowSelections,\n i18n,\n orderableFieldName,\n payload,\n renderRowTypes,\n tableAppearance,\n useAsTitle,\n}: {\n clientCollectionConfig?: ClientCollectionConfig\n clientConfig?: ClientConfig\n collectionConfig?: SanitizedCollectionConfig\n collections?: string[]\n columnPreferences: ListPreferences['columns']\n columns?: ListPreferences['columns']\n customCellProps?: Record<string, unknown>\n docs: PaginatedDocs['docs']\n drawerSlug?: string\n enableRowSelections: boolean\n i18n: I18nClient\n orderableFieldName: string\n payload: Payload\n renderRowTypes?: boolean\n tableAppearance?: 'condensed' | 'default'\n useAsTitle: CollectionConfig['admin']['useAsTitle']\n}): {\n columnState: Column[]\n Table: React.ReactNode\n} => {\n // Ensure that columns passed as args comply with the field config, i.e. `hidden`, `disableListColumn`, etc.\n\n let columnState: Column[]\n let clientFields: ClientField[] = clientCollectionConfig?.fields || []\n let serverFields: Field[] = collectionConfig?.fields || []\n const isPolymorphic = collections\n\n if (isPolymorphic) {\n clientFields = []\n serverFields = []\n for (const collection of collections) {\n const clientCollectionConfig = clientConfig.collections.find(\n (each) => each.slug === collection,\n )\n for (const field of filterFields(clientCollectionConfig.fields)) {\n if (fieldAffectsData(field)) {\n if (clientFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n clientFields.push(field)\n }\n\n const serverCollectionConfig = payload.collections[collection].config\n for (const field of filterFields(serverCollectionConfig.fields)) {\n if (fieldAffectsData(field)) {\n if (serverFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n serverFields.push(field)\n }\n }\n }\n\n const columns: ColumnPreference[] = columnsFromArgs\n ? columnsFromArgs?.filter((column) =>\n flattenTopLevelFields(clientFields, {\n i18n,\n keepPresentationalFields: true,\n moveSubFieldsToTop: true,\n })?.some((field) => {\n const accessor =\n 'accessor' in field ? field.accessor : 'name' in field ? field.name : undefined\n return accessor === column.accessor\n }),\n )\n : getInitialColumns(\n isPolymorphic ? clientFields : filterFields(clientFields),\n useAsTitle,\n isPolymorphic ? [] : clientCollectionConfig?.admin?.defaultColumns,\n )\n\n const sharedArgs: Pick<\n BuildColumnStateArgs,\n | 'clientFields'\n | 'columnPreferences'\n | 'columns'\n | 'customCellProps'\n | 'enableRowSelections'\n | 'i18n'\n | 'payload'\n | 'serverFields'\n | 'useAsTitle'\n > = {\n clientFields,\n columnPreferences,\n columns,\n enableRowSelections,\n i18n,\n // sortColumnProps,\n customCellProps,\n payload,\n serverFields,\n useAsTitle,\n }\n\n if (isPolymorphic) {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: undefined,\n dataType: 'polymorphic',\n docs,\n })\n } else {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: clientCollectionConfig.slug,\n dataType: 'monomorphic',\n docs,\n })\n }\n\n const columnsToUse = [...columnState]\n\n if (renderRowTypes) {\n columnsToUse.unshift({\n accessor: 'collection',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: i18n.t('version:type'),\n renderedCells: docs.map((doc, i) => (\n <Pill key={i}>\n {getTranslation(\n collections\n ? payload.collections[doc.relationTo].config.labels.singular\n : clientCollectionConfig.labels.singular,\n i18n,\n )}\n </Pill>\n )),\n } as Column)\n }\n\n if (enableRowSelections) {\n columnsToUse.unshift({\n accessor: '_select',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SelectAll />,\n renderedCells: docs.map((_, i) => <SelectRow key={i} rowData={docs[i]} />),\n } as Column)\n }\n\n if (!orderableFieldName) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: <Table appearance={tableAppearance} columns={columnsToUse} data={docs} key=\"table\" />,\n }\n }\n\n columnsToUse.unshift({\n accessor: '_dragHandle',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SortHeader />,\n renderedCells: docs.map((_, i) => <SortRow key={i} />),\n } as Column)\n\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <OrderableTable\n appearance={tableAppearance}\n collection={clientCollectionConfig}\n columns={columnsToUse}\n data={docs}\n key=\"table\"\n />\n ),\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"renderTable.js","names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","flattenTopLevelFields","React","RenderServerComponent","OrderableTable","Pill","SelectAll","SelectRow","SortHeader","SortRow","Table","filterFields","buildColumnState","getInitialColumns","renderFilters","fields","importMap","reduce","acc","field","admin","components","Filter","set","name","Component","Map","renderTable","clientCollectionConfig","clientConfig","collectionConfig","collections","columnPreferences","columns","columnsFromArgs","customCellProps","docs","enableRowSelections","i18n","orderableFieldName","payload","renderRowTypes","tableAppearance","useAsTitle","columnState","clientFields","serverFields","isPolymorphic","collection","find","each","slug","some","push","serverCollectionConfig","config","filter","column","keepPresentationalFields","moveSubFieldsToTop","accessor","undefined","defaultColumns","sharedArgs","collectionSlug","dataType","columnsToUse","unshift","active","disabled","hidden","Heading","t","renderedCells","map","doc","i","_jsx","size","relationTo","labels","singular","_","rowData","appearance","data"],"sources":["../../src/utilities/renderTable.tsx"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n CollectionConfig,\n Column,\n ColumnPreference,\n Field,\n ImportMap,\n ListPreferences,\n PaginatedDocs,\n Payload,\n SanitizedCollectionConfig,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled, flattenTopLevelFields } from 'payload/shared'\nimport React from 'react'\n\nimport type { BuildColumnStateArgs } from '../providers/TableColumns/buildColumnState/index.js'\n\nimport { RenderServerComponent } from '../elements/RenderServerComponent/index.js'\nimport {\n OrderableTable,\n Pill,\n SelectAll,\n SelectRow,\n SortHeader,\n SortRow,\n Table,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- these MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../exports/client/index.js'\nimport { filterFields } from '../providers/TableColumns/buildColumnState/filterFields.js'\nimport { buildColumnState } from '../providers/TableColumns/buildColumnState/index.js'\nimport { getInitialColumns } from '../providers/TableColumns/getInitialColumns.js'\n\nexport const renderFilters = (\n fields: Field[],\n importMap: ImportMap,\n): Map<string, React.ReactNode> =>\n fields.reduce(\n (acc, field) => {\n if (fieldIsHiddenOrDisabled(field)) {\n return acc\n }\n\n if ('name' in field && field.admin?.components?.Filter) {\n acc.set(\n field.name,\n RenderServerComponent({\n Component: field.admin.components?.Filter,\n importMap,\n }),\n )\n }\n\n return acc\n },\n new Map() as Map<string, React.ReactNode>,\n )\n\nexport const renderTable = ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collections,\n columnPreferences,\n columns: columnsFromArgs,\n customCellProps,\n docs,\n enableRowSelections,\n i18n,\n orderableFieldName,\n payload,\n renderRowTypes,\n tableAppearance,\n useAsTitle,\n}: {\n clientCollectionConfig?: ClientCollectionConfig\n clientConfig?: ClientConfig\n collectionConfig?: SanitizedCollectionConfig\n collections?: string[]\n columnPreferences: ListPreferences['columns']\n columns?: ListPreferences['columns']\n customCellProps?: Record<string, unknown>\n docs: PaginatedDocs['docs']\n drawerSlug?: string\n enableRowSelections: boolean\n i18n: I18nClient\n orderableFieldName: string\n payload: Payload\n renderRowTypes?: boolean\n tableAppearance?: 'condensed' | 'default'\n useAsTitle: CollectionConfig['admin']['useAsTitle']\n}): {\n columnState: Column[]\n Table: React.ReactNode\n} => {\n // Ensure that columns passed as args comply with the field config, i.e. `hidden`, `disableListColumn`, etc.\n\n let columnState: Column[]\n let clientFields: ClientField[] = clientCollectionConfig?.fields || []\n let serverFields: Field[] = collectionConfig?.fields || []\n const isPolymorphic = collections\n\n if (isPolymorphic) {\n clientFields = []\n serverFields = []\n for (const collection of collections) {\n const clientCollectionConfig = clientConfig.collections.find(\n (each) => each.slug === collection,\n )\n for (const field of filterFields(clientCollectionConfig.fields)) {\n if (fieldAffectsData(field)) {\n if (clientFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n clientFields.push(field)\n }\n\n const serverCollectionConfig = payload.collections[collection].config\n for (const field of filterFields(serverCollectionConfig.fields)) {\n if (fieldAffectsData(field)) {\n if (serverFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n serverFields.push(field)\n }\n }\n }\n\n const columns: ColumnPreference[] = columnsFromArgs\n ? columnsFromArgs?.filter((column) =>\n flattenTopLevelFields(clientFields, {\n i18n,\n keepPresentationalFields: true,\n moveSubFieldsToTop: true,\n })?.some((field) => {\n const accessor =\n 'accessor' in field ? field.accessor : 'name' in field ? field.name : undefined\n return accessor === column.accessor\n }),\n )\n : getInitialColumns(\n isPolymorphic ? clientFields : filterFields(clientFields),\n useAsTitle,\n isPolymorphic ? [] : clientCollectionConfig?.admin?.defaultColumns,\n )\n\n const sharedArgs: Pick<\n BuildColumnStateArgs,\n | 'clientFields'\n | 'columnPreferences'\n | 'columns'\n | 'customCellProps'\n | 'enableRowSelections'\n | 'i18n'\n | 'payload'\n | 'serverFields'\n | 'useAsTitle'\n > = {\n clientFields,\n columnPreferences,\n columns,\n enableRowSelections,\n i18n,\n // sortColumnProps,\n customCellProps,\n payload,\n serverFields,\n useAsTitle,\n }\n\n if (isPolymorphic) {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: undefined,\n dataType: 'polymorphic',\n docs,\n })\n } else {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: clientCollectionConfig.slug,\n dataType: 'monomorphic',\n docs,\n })\n }\n\n const columnsToUse = [...columnState]\n\n if (renderRowTypes) {\n columnsToUse.unshift({\n accessor: 'collection',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: i18n.t('version:type'),\n renderedCells: docs.map((doc, i) => (\n <Pill key={i} size=\"small\">\n {getTranslation(\n collections\n ? payload.collections[doc.relationTo].config.labels.singular\n : clientCollectionConfig.labels.singular,\n i18n,\n )}\n </Pill>\n )),\n } as Column)\n }\n\n if (enableRowSelections) {\n columnsToUse.unshift({\n accessor: '_select',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SelectAll />,\n renderedCells: docs.map((_, i) => <SelectRow key={i} rowData={docs[i]} />),\n } as Column)\n }\n\n if (!orderableFieldName) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: <Table appearance={tableAppearance} columns={columnsToUse} data={docs} key=\"table\" />,\n }\n }\n\n columnsToUse.unshift({\n accessor: '_dragHandle',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SortHeader />,\n renderedCells: docs.map((_, i) => <SortRow key={i} />),\n } as Column)\n\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <OrderableTable\n appearance={tableAppearance}\n collection={clientCollectionConfig}\n columns={columnsToUse}\n data={docs}\n key=\"table\"\n />\n ),\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,5 @@
1
1
  import type { FolderListViewClientProps } from 'payload';
2
2
  import React from 'react';
3
3
  import './index.scss';
4
- export declare function DefaultBrowseByFolderView(props: {
5
- hasCreatePermissionCollectionSlugs?: string[];
6
- selectedCollectionSlugs?: string[];
7
- } & FolderListViewClientProps): React.JSX.Element;
4
+ export declare function DefaultBrowseByFolderView({ activeCollectionFolderSlugs, allCollectionFolderSlugs, allowCreateCollectionSlugs, baseFolderPath, breadcrumbs, documents, folderFieldName, folderID, FolderResultsComponent, search, subfolders, ...restOfProps }: FolderListViewClientProps): React.JSX.Element;
8
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/BrowseByFolder/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAA4B,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMlF,OAAO,KAAmB,MAAM,OAAO,CAAA;AAyBvC,OAAO,cAAc,CAAA;AAIrB,wBAAgB,yBAAyB,CACvC,KAAK,EAAE;IACL,kCAAkC,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7C,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAA;CACnC,GAAG,yBAAyB,qBAuT9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/BrowseByFolder/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAKxD,OAAO,KAAmB,MAAM,OAAO,CAAA;AA0BvC,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"}
@@ -4,7 +4,7 @@ import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
5
5
  import { useDndMonitor } from '@dnd-kit/core';
6
6
  import { getTranslation } from '@payloadcms/translations';
7
- import { formatFolderOrDocumentItem } from 'payload/shared';
7
+ import { useRouter } from 'next/navigation.js';
8
8
  import React, { Fragment } from 'react';
9
9
  import { DroppableBreadcrumb } from '../../elements/FolderView/Breadcrumbs/index.js';
10
10
  import { CollectionTypePill } from '../../elements/FolderView/CollectionTypePill/index.js';
@@ -23,15 +23,48 @@ import { SearchBar } from '../../elements/SearchBar/index.js';
23
23
  import { useStepNav } from '../../elements/StepNav/index.js';
24
24
  import { useConfig } from '../../providers/Config/index.js';
25
25
  import { useEditDepth } from '../../providers/EditDepth/index.js';
26
- import { useFolder } from '../../providers/Folders/index.js';
26
+ import { FolderProvider, useFolder } from '../../providers/Folders/index.js';
27
27
  import { usePreferences } from '../../providers/Preferences/index.js';
28
28
  import { useRouteCache } from '../../providers/RouteCache/index.js';
29
+ import { useRouteTransition } from '../../providers/RouteTransition/index.js';
29
30
  import { useTranslation } from '../../providers/Translation/index.js';
30
31
  import { useWindowInfo } from '../../providers/WindowInfo/index.js';
31
32
  import { ListSelection } from '../CollectionFolder/ListSelection/index.js';
32
33
  import './index.scss';
33
34
  const baseClass = 'folder-list';
34
- export function DefaultBrowseByFolderView(props) {
35
+ export function DefaultBrowseByFolderView({
36
+ activeCollectionFolderSlugs,
37
+ allCollectionFolderSlugs,
38
+ allowCreateCollectionSlugs,
39
+ baseFolderPath,
40
+ breadcrumbs,
41
+ documents,
42
+ folderFieldName,
43
+ folderID,
44
+ FolderResultsComponent,
45
+ search,
46
+ subfolders,
47
+ ...restOfProps
48
+ }) {
49
+ return /*#__PURE__*/_jsx(FolderProvider, {
50
+ activeCollectionFolderSlugs: activeCollectionFolderSlugs,
51
+ allCollectionFolderSlugs: allCollectionFolderSlugs,
52
+ allowCreateCollectionSlugs: allowCreateCollectionSlugs,
53
+ baseFolderPath: baseFolderPath,
54
+ breadcrumbs: breadcrumbs,
55
+ documents: documents,
56
+ folderFieldName: folderFieldName,
57
+ folderID: folderID,
58
+ FolderResultsComponent: FolderResultsComponent,
59
+ search: search,
60
+ subfolders: subfolders,
61
+ children: /*#__PURE__*/_jsx(BrowseByFolderViewInContext, {
62
+ ...restOfProps
63
+ })
64
+ });
65
+ }
66
+ function BrowseByFolderViewInContext(props) {
67
+ const $ = _c(27);
35
68
  const {
36
69
  AfterFolderList,
37
70
  AfterFolderListTable,
@@ -40,11 +73,10 @@ export function DefaultBrowseByFolderView(props) {
40
73
  Description,
41
74
  disableBulkDelete,
42
75
  disableBulkEdit,
43
- hasCreatePermissionCollectionSlugs,
44
76
  viewPreference
45
77
  } = props;
78
+ const router = useRouter();
46
79
  const {
47
- config,
48
80
  getEntityConfig
49
81
  } = useConfig();
50
82
  const {
@@ -55,220 +87,249 @@ export function DefaultBrowseByFolderView(props) {
55
87
  const {
56
88
  setStepNav
57
89
  } = useStepNav();
90
+ const {
91
+ startRouteTransition
92
+ } = useRouteTransition();
58
93
  const {
59
94
  clearRouteCache
60
95
  } = useRouteCache();
61
96
  const {
62
- breakpoints: {
63
- s: smallBreak
64
- }
97
+ breakpoints: t0
65
98
  } = useWindowInfo();
99
+ const {
100
+ s: smallBreak
101
+ } = t0;
66
102
  const {
67
103
  setPreference
68
104
  } = usePreferences();
69
105
  const {
70
- addItems,
106
+ activeCollectionFolderSlugs: visibleCollectionSlugs,
107
+ allowCreateCollectionSlugs,
71
108
  breadcrumbs,
72
109
  documents,
73
- filterItems,
74
- focusedRowIndex,
75
110
  folderCollectionConfig,
76
- folderFieldName,
77
111
  folderID,
112
+ getFolderRoute,
78
113
  getSelectedItems,
79
- isDragging,
80
114
  lastSelectedIndex,
81
115
  moveToFolder,
82
- onItemClick,
83
- onItemKeyPress,
116
+ refineFolderData,
84
117
  search,
85
- selectedIndexes,
86
- setFolderID,
118
+ selectedItemKeys,
87
119
  setIsDragging,
88
- subfolders,
89
- visibleCollectionSlugs
120
+ subfolders
90
121
  } = useFolder();
91
- const [activeView, setActiveView] = React.useState(viewPreference || 'grid');
92
- const [searchPlaceholder] = React.useState(() => {
93
- const locationLabel = breadcrumbs.length === 0 ? getTranslation(folderCollectionConfig.labels?.plural, i18n) : breadcrumbs[breadcrumbs.length - 1].name;
94
- return t('folder:searchByNameInFolder', {
95
- folderName: locationLabel
96
- });
97
- });
98
- const onDragEnd = React.useCallback(async event => {
99
- if (!event.over) {
100
- return;
101
- }
102
- if (event.over.data.current.type === 'folder' && 'id' in event.over.data.current) {
103
- await moveToFolder({
104
- itemsToMove: getSelectedItems(),
105
- toFolderID: event.over.data.current.id || null
122
+ const [activeView, setActiveView] = React.useState(viewPreference || "grid");
123
+ let t1;
124
+ if ($[0] !== breadcrumbs || $[1] !== folderCollectionConfig || $[2] !== i18n || $[3] !== t) {
125
+ t1 = () => {
126
+ const locationLabel = breadcrumbs.length === 0 ? getTranslation(folderCollectionConfig.labels?.plural, i18n) : breadcrumbs[breadcrumbs.length - 1].name;
127
+ return t("folder:searchByNameInFolder", {
128
+ folderName: locationLabel
106
129
  });
107
- clearRouteCache();
108
- }
109
- }, [moveToFolder, getSelectedItems, clearRouteCache]);
130
+ };
131
+ $[0] = breadcrumbs;
132
+ $[1] = folderCollectionConfig;
133
+ $[2] = i18n;
134
+ $[3] = t;
135
+ $[4] = t1;
136
+ } else {
137
+ t1 = $[4];
138
+ }
139
+ const [searchPlaceholder] = React.useState(t1);
140
+ let t2;
141
+ if ($[5] !== clearRouteCache || $[6] !== getSelectedItems || $[7] !== moveToFolder) {
142
+ t2 = async event => {
143
+ if (!event.over) {
144
+ return;
145
+ }
146
+ if (event.over.data.current.type === "folder" && "id" in event.over.data.current) {
147
+ await moveToFolder({
148
+ itemsToMove: getSelectedItems(),
149
+ toFolderID: event.over.data.current.id || null
150
+ });
151
+ clearRouteCache();
152
+ }
153
+ };
154
+ $[5] = clearRouteCache;
155
+ $[6] = getSelectedItems;
156
+ $[7] = moveToFolder;
157
+ $[8] = t2;
158
+ } else {
159
+ t2 = $[8];
160
+ }
161
+ const onDragEnd = t2;
110
162
  const totalDocsAndSubfolders = documents.length + subfolders.length;
111
- const listHeaderTitle = !breadcrumbs.length ? t('folder:browseByFolder') : breadcrumbs[breadcrumbs.length - 1].name;
112
- const noResultsLabel = visibleCollectionSlugs.reduce((acc, slug, index, array) => {
113
- const collectionConfig = getEntityConfig({
114
- collectionSlug: slug
115
- });
116
- if (index === 0) {
117
- return getTranslation(collectionConfig.labels?.plural, i18n);
118
- }
119
- if (index === array.length - 1) {
120
- return `${acc} ${t('general:or').toLowerCase()} ${getTranslation(collectionConfig.labels?.plural, i18n)}`;
121
- }
122
- return `${acc}, ${getTranslation(collectionConfig.labels?.plural, i18n)}`;
123
- }, '');
124
- const onCreateSuccess = React.useCallback(({
125
- collectionSlug,
126
- doc
127
- }) => {
128
- const collectionConfig_0 = getEntityConfig({
129
- collectionSlug
130
- });
131
- void addItems([formatFolderOrDocumentItem({
132
- folderFieldName,
133
- isUpload: Boolean(collectionConfig_0?.upload),
134
- relationTo: collectionSlug,
135
- useAsTitle: collectionConfig_0.admin.useAsTitle,
136
- value: doc
137
- })]);
138
- }, [getEntityConfig, addItems, folderFieldName]);
139
- const selectedItemKeys = React.useMemo(() => {
140
- return new Set(getSelectedItems().reduce((acc_0, item) => {
141
- if (item) {
142
- if (item.relationTo && item.value) {
143
- acc_0.push(`${item.relationTo}-${item.value.id}`);
144
- }
163
+ let t3;
164
+ if ($[9] !== breadcrumbs || $[10] !== t) {
165
+ t3 = !breadcrumbs.length ? t("folder:browseByFolder") : breadcrumbs[breadcrumbs.length - 1].name;
166
+ $[9] = breadcrumbs;
167
+ $[10] = t;
168
+ $[11] = t3;
169
+ } else {
170
+ t3 = $[11];
171
+ }
172
+ const listHeaderTitle = t3;
173
+ let t4;
174
+ if ($[12] !== getEntityConfig || $[13] !== i18n || $[14] !== t) {
175
+ t4 = (acc, slug, index, array) => {
176
+ const collectionConfig = getEntityConfig({
177
+ collectionSlug: slug
178
+ });
179
+ if (index === 0) {
180
+ return getTranslation(collectionConfig.labels?.plural, i18n);
181
+ }
182
+ if (index === array.length - 1) {
183
+ return `${acc} ${t("general:or").toLowerCase()} ${getTranslation(collectionConfig.labels?.plural, i18n)}`;
145
184
  }
146
- return acc_0;
147
- }, []));
148
- }, [getSelectedItems]);
149
- const handleSetViewType = React.useCallback(view => {
150
- void setPreference('browse-by-folder', {
185
+ return `${acc}, ${getTranslation(collectionConfig.labels?.plural, i18n)}`;
186
+ };
187
+ $[12] = getEntityConfig;
188
+ $[13] = i18n;
189
+ $[14] = t;
190
+ $[15] = t4;
191
+ } else {
192
+ t4 = $[15];
193
+ }
194
+ const noResultsLabel = visibleCollectionSlugs.reduce(t4, "");
195
+ const handleSetViewType = view => {
196
+ setPreference("browse-by-folder", {
151
197
  viewPreference: view
152
198
  });
153
199
  setActiveView(view);
154
- }, [setPreference]);
155
- React.useEffect(() => {
156
- if (!drawerDepth) {
157
- setStepNav([!breadcrumbs.length ? {
158
- label: /*#__PURE__*/_jsxs("div", {
159
- className: `${baseClass}__step-nav-icon-label`,
160
- children: [/*#__PURE__*/_jsx(ColoredFolderIcon, {}), t('folder:browseByFolder')]
161
- }, "root")
162
- } : {
163
- label: /*#__PURE__*/_jsxs(DroppableBreadcrumb, {
164
- className: [`${baseClass}__step-nav-droppable`, `${baseClass}__step-nav-icon-label`].filter(Boolean).join(' '),
165
- id: null,
166
- onClick: () => {
167
- void setFolderID({
168
- folderID: null
169
- });
170
- },
171
- children: [/*#__PURE__*/_jsx(ColoredFolderIcon, {}), t('folder:browseByFolder')]
172
- }, "root")
173
- }, ...breadcrumbs.map((crumb, crumbIndex) => {
174
- return {
175
- label: crumbIndex === breadcrumbs.length - 1 ? crumb.name : /*#__PURE__*/_jsx(DroppableBreadcrumb, {
200
+ };
201
+ let t5;
202
+ let t6;
203
+ if ($[16] !== breadcrumbs || $[17] !== drawerDepth || $[18] !== getFolderRoute || $[19] !== router || $[20] !== setStepNav || $[21] !== startRouteTransition || $[22] !== t) {
204
+ t5 = () => {
205
+ if (!drawerDepth) {
206
+ setStepNav([!breadcrumbs.length ? {
207
+ label: _jsxs("div", {
208
+ className: `${baseClass}__step-nav-icon-label`,
209
+ children: [_jsx(ColoredFolderIcon, {}), t("folder:browseByFolder")]
210
+ }, "root")
211
+ } : {
212
+ label: _jsxs(DroppableBreadcrumb, {
213
+ className: [`${baseClass}__step-nav-droppable`, `${baseClass}__step-nav-icon-label`].filter(Boolean).join(" "),
214
+ id: null,
215
+ onClick: () => {
216
+ startRouteTransition(() => {
217
+ router.push(getFolderRoute(null));
218
+ });
219
+ },
220
+ children: [_jsx(ColoredFolderIcon, {}), t("folder:browseByFolder")]
221
+ }, "root")
222
+ }, ...breadcrumbs.map((crumb, crumbIndex) => ({
223
+ label: crumbIndex === breadcrumbs.length - 1 ? crumb.name : _jsx(DroppableBreadcrumb, {
176
224
  className: `${baseClass}__step-nav-droppable`,
177
225
  id: crumb.id,
178
226
  onClick: () => {
179
- void setFolderID({
180
- folderID: crumb.id
227
+ startRouteTransition(() => {
228
+ router.push(getFolderRoute(crumb.id));
181
229
  });
182
230
  },
183
231
  children: crumb.name
184
232
  }, crumb.id)
185
- };
186
- })]);
187
- }
188
- }, [setStepNav, drawerDepth, i18n, breadcrumbs, setFolderID, t]);
189
- return /*#__PURE__*/_jsxs(Fragment, {
190
- children: [/*#__PURE__*/_jsx(DndEventListener, {
191
- onDragEnd: onDragEnd,
192
- setIsDragging: setIsDragging
193
- }), /*#__PURE__*/_jsxs("div", {
233
+ }))]);
234
+ }
235
+ };
236
+ t6 = [breadcrumbs, drawerDepth, getFolderRoute, router, setStepNav, startRouteTransition, t];
237
+ $[16] = breadcrumbs;
238
+ $[17] = drawerDepth;
239
+ $[18] = getFolderRoute;
240
+ $[19] = router;
241
+ $[20] = setStepNav;
242
+ $[21] = startRouteTransition;
243
+ $[22] = t;
244
+ $[23] = t5;
245
+ $[24] = t6;
246
+ } else {
247
+ t5 = $[23];
248
+ t6 = $[24];
249
+ }
250
+ React.useEffect(t5, t6);
251
+ let t7;
252
+ if ($[25] !== refineFolderData) {
253
+ t7 = search_0 => refineFolderData({
254
+ query: {
255
+ search: search_0
256
+ },
257
+ updateURL: true
258
+ });
259
+ $[25] = refineFolderData;
260
+ $[26] = t7;
261
+ } else {
262
+ t7 = $[26];
263
+ }
264
+ return _jsxs(Fragment, {
265
+ children: [_jsx(DndEventListener, {
266
+ onDragEnd,
267
+ setIsDragging
268
+ }), _jsxs("div", {
194
269
  className: `${baseClass} ${baseClass}--folders`,
195
- children: [BeforeFolderList, /*#__PURE__*/_jsxs(Gutter, {
270
+ children: [BeforeFolderList, _jsxs(Gutter, {
196
271
  className: `${baseClass}__wrap`,
197
- children: [/*#__PURE__*/_jsx(ListHeader, {
198
- Actions: [!smallBreak && /*#__PURE__*/_jsx(ListSelection, {
199
- disableBulkDelete: disableBulkDelete,
200
- disableBulkEdit: disableBulkEdit
272
+ children: [_jsx(ListHeader, {
273
+ Actions: [!smallBreak && _jsx(ListSelection, {
274
+ disableBulkDelete,
275
+ disableBulkEdit
201
276
  }, "list-selection")].filter(Boolean),
202
277
  AfterListHeaderContent: Description,
203
278
  title: listHeaderTitle,
204
- TitleActions: [/*#__PURE__*/_jsx(ListCreateNewDocInFolderButton, {
205
- buttonLabel: t('general:createNew'),
206
- collectionSlugs: hasCreatePermissionCollectionSlugs,
207
- onCreateSuccess: onCreateSuccess,
279
+ TitleActions: [allowCreateCollectionSlugs.length && _jsx(ListCreateNewDocInFolderButton, {
280
+ buttonLabel: t("general:createNew"),
281
+ collectionSlugs: allowCreateCollectionSlugs,
282
+ onCreateSuccess: clearRouteCache,
208
283
  slugPrefix: "create-document--header-pill"
209
284
  }, "create-new-button")].filter(Boolean)
210
- }), /*#__PURE__*/_jsx(SearchBar, {
211
- Actions: [/*#__PURE__*/_jsx(SortByPill, {}, "sort-by-pill"), folderID && /*#__PURE__*/_jsx(CollectionTypePill, {}, "collection-type"), /*#__PURE__*/_jsx(ToggleViewButtons, {
212
- activeView: activeView,
285
+ }), _jsx(SearchBar, {
286
+ Actions: [_jsx(SortByPill, {}, "sort-by-pill"), folderID && _jsx(CollectionTypePill, {}, "collection-type"), _jsx(ToggleViewButtons, {
287
+ activeView,
213
288
  setActiveView: handleSetViewType
214
- }, "toggle-view-buttons"), /*#__PURE__*/_jsx(CurrentFolderActions, {}, "current-folder-actions")].filter(Boolean),
289
+ }, "toggle-view-buttons"), _jsx(CurrentFolderActions, {}, "current-folder-actions")].filter(Boolean),
215
290
  label: searchPlaceholder,
216
- onSearchChange: search_0 => filterItems({
217
- search: search_0
218
- }),
291
+ onSearchChange: t7,
219
292
  searchQueryParam: search
220
- }), BeforeFolderListTable, totalDocsAndSubfolders > 0 && /*#__PURE__*/_jsx(_Fragment, {
221
- children: activeView === 'grid' ? /*#__PURE__*/_jsxs("div", {
222
- children: [subfolders.length ? /*#__PURE__*/_jsx(_Fragment, {
223
- children: /*#__PURE__*/_jsx(ItemCardGrid, {
293
+ }), BeforeFolderListTable, totalDocsAndSubfolders > 0 && _jsx(_Fragment, {
294
+ children: activeView === "grid" ? _jsxs("div", {
295
+ children: [subfolders.length ? _jsx(_Fragment, {
296
+ children: _jsx(ItemCardGrid, {
224
297
  items: subfolders,
225
- selectedItemKeys: selectedItemKeys,
226
- title: 'Folders',
298
+ title: "Folders",
227
299
  type: "folder"
228
300
  })
229
- }) : null, documents.length ? /*#__PURE__*/_jsx(_Fragment, {
230
- children: /*#__PURE__*/_jsx(ItemCardGrid, {
301
+ }) : null, documents.length ? _jsx(_Fragment, {
302
+ children: _jsx(ItemCardGrid, {
231
303
  items: documents,
232
- selectedItemKeys: selectedItemKeys,
233
304
  subfolderCount: subfolders.length,
234
- title: 'Documents',
305
+ title: "Documents",
235
306
  type: "file"
236
307
  })
237
308
  }) : null]
238
- }) : /*#__PURE__*/_jsx(FolderFileTable, {
239
- dateFormat: config.admin.dateFormat,
240
- documents: documents,
241
- focusedRowIndex: focusedRowIndex,
242
- i18n: i18n,
243
- isMovingItems: isDragging,
244
- onRowClick: onItemClick,
245
- onRowPress: onItemKeyPress,
246
- selectedItems: selectedItemKeys,
247
- subfolders: subfolders
248
- })
249
- }), totalDocsAndSubfolders === 0 && /*#__PURE__*/_jsx(NoListResults, {
250
- Actions: [/*#__PURE__*/_jsx(ListCreateNewDocInFolderButton, {
251
- buttonLabel: `${t('general:create')} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`,
309
+ }) : _jsx(FolderFileTable, {})
310
+ }), totalDocsAndSubfolders === 0 && _jsx(NoListResults, {
311
+ Actions: [allowCreateCollectionSlugs.includes(folderCollectionConfig.slug) && _jsx(ListCreateNewDocInFolderButton, {
312
+ buttonLabel: `${t("general:create")} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`,
252
313
  collectionSlugs: [folderCollectionConfig.slug],
253
- onCreateSuccess: onCreateSuccess,
314
+ onCreateSuccess: clearRouteCache,
254
315
  slugPrefix: "create-folder--no-results"
255
- }, "create-folder"), folderID && /*#__PURE__*/_jsx(ListCreateNewDocInFolderButton, {
256
- buttonLabel: `${t('general:create')} ${t('general:document').toLowerCase()}`,
257
- collectionSlugs: hasCreatePermissionCollectionSlugs.filter(slug_0 => slug_0 !== folderCollectionConfig.slug),
258
- onCreateSuccess: onCreateSuccess,
316
+ }, "create-folder"), folderID && allowCreateCollectionSlugs.filter(slug_1 => slug_1 !== folderCollectionConfig.slug).length > 0 && _jsx(ListCreateNewDocInFolderButton, {
317
+ buttonLabel: `${t("general:create")} ${t("general:document").toLowerCase()}`,
318
+ collectionSlugs: allowCreateCollectionSlugs.filter(slug_0 => slug_0 !== folderCollectionConfig.slug),
319
+ onCreateSuccess: clearRouteCache,
259
320
  slugPrefix: "create-document--no-results"
260
321
  }, "create-document")].filter(Boolean),
261
- Message: /*#__PURE__*/_jsx("p", {
262
- children: i18n.t('general:noResults', {
322
+ Message: _jsx("p", {
323
+ children: i18n.t("general:noResults", {
263
324
  label: noResultsLabel
264
325
  })
265
326
  })
266
327
  }), AfterFolderListTable]
267
328
  }), AfterFolderList]
268
- }), /*#__PURE__*/_jsx(DragOverlaySelection, {
329
+ }), _jsx(DragOverlaySelection, {
269
330
  allItems: [...subfolders, ...documents],
270
331
  lastSelected: lastSelectedIndex,
271
- selectedCount: selectedIndexes.size
332
+ selectedCount: selectedItemKeys.size
272
333
  })]
273
334
  });
274
335
  }