@payloadcms/ui 3.55.0-internal.f8c92b5 → 3.55.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 (254) hide show
  1. package/dist/elements/AppHeader/index.scss +1 -0
  2. package/dist/elements/Autosave/index.js +2 -2
  3. package/dist/elements/Autosave/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/EditForm/index.js +4 -18
  5. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  6. package/dist/elements/ClipboardAction/index.js +173 -74
  7. package/dist/elements/ClipboardAction/index.js.map +1 -1
  8. package/dist/elements/CodeEditor/CodeEditor.js +155 -67
  9. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  10. package/dist/elements/Collapsible/index.js +15 -7
  11. package/dist/elements/Collapsible/index.js.map +1 -1
  12. package/dist/elements/ConfirmationModal/index.js +44 -8
  13. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  14. package/dist/elements/CopyLocaleData/index.js +97 -89
  15. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  16. package/dist/elements/CopyToClipboard/index.js +22 -2
  17. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  18. package/dist/elements/DefaultListViewTabs/index.d.ts +12 -0
  19. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -0
  20. package/dist/elements/DefaultListViewTabs/index.js +161 -0
  21. package/dist/elements/DefaultListViewTabs/index.js.map +1 -0
  22. package/dist/elements/{ListHeaderTabs → DefaultListViewTabs}/index.scss +1 -1
  23. package/dist/elements/DeleteMany/index.js +83 -47
  24. package/dist/elements/DeleteMany/index.js.map +1 -1
  25. package/dist/elements/DocumentControls/index.js +55 -27
  26. package/dist/elements/DocumentControls/index.js.map +1 -1
  27. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +10 -2
  28. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  29. package/dist/elements/DocumentDrawer/Provider.d.ts +2 -1
  30. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
  31. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  32. package/dist/elements/DocumentDrawer/index.js +99 -47
  33. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  34. package/dist/elements/DocumentFields/index.scss +1 -1
  35. package/dist/elements/Drawer/index.js +57 -23
  36. package/dist/elements/Drawer/index.js.map +1 -1
  37. package/dist/elements/DrawerActionHeader/index.js +21 -3
  38. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  39. package/dist/elements/FieldSelect/reduceFieldOptions.js +1 -1
  40. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  41. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +225 -149
  42. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  43. package/dist/elements/FolderView/FolderFileCard/index.js +27 -19
  44. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  45. package/dist/elements/FolderView/MoveDocToFolder/index.js +23 -12
  46. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  47. package/dist/elements/FullscreenModal/index.js +20 -10
  48. package/dist/elements/FullscreenModal/index.js.map +1 -1
  49. package/dist/elements/ListControls/index.d.ts.map +1 -1
  50. package/dist/elements/ListControls/index.js +69 -78
  51. package/dist/elements/ListControls/index.js.map +1 -1
  52. package/dist/elements/ListControls/index.scss +2 -82
  53. package/dist/elements/ListDrawer/index.js +24 -18
  54. package/dist/elements/ListDrawer/index.js.map +1 -1
  55. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +32 -19
  56. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  57. package/dist/elements/ListSelection/index.js +27 -11
  58. package/dist/elements/ListSelection/index.js.map +1 -1
  59. package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
  60. package/dist/elements/LivePreview/Window/index.js +152 -71
  61. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  62. package/dist/elements/Loading/index.js +11 -2
  63. package/dist/elements/Loading/index.js.map +1 -1
  64. package/dist/elements/LoadingOverlay/index.js +102 -46
  65. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  66. package/dist/elements/Localizer/LocalizerLabel/index.js +36 -23
  67. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  68. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  69. package/dist/elements/PublishButton/index.js +22 -11
  70. package/dist/elements/PublishButton/index.js.map +1 -1
  71. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +139 -41
  72. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  73. package/dist/elements/RenderIfInViewport/index.d.ts +2 -2
  74. package/dist/elements/RenderIfInViewport/index.d.ts.map +1 -1
  75. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  76. package/dist/elements/SearchBar/index.d.ts +2 -3
  77. package/dist/elements/SearchBar/index.d.ts.map +1 -1
  78. package/dist/elements/SearchBar/index.js +2 -3
  79. package/dist/elements/SearchBar/index.js.map +1 -1
  80. package/dist/elements/SearchBar/index.scss +56 -7
  81. package/dist/elements/SearchFilter/index.d.ts +2 -33
  82. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  83. package/dist/elements/SearchFilter/index.js +7 -5
  84. package/dist/elements/SearchFilter/index.js.map +1 -1
  85. package/dist/elements/SearchFilter/types.d.ts +33 -0
  86. package/dist/elements/SearchFilter/types.d.ts.map +1 -0
  87. package/dist/elements/SearchFilter/types.js +2 -0
  88. package/dist/elements/SearchFilter/types.js.map +1 -0
  89. package/dist/elements/SelectRow/index.js +40 -39
  90. package/dist/elements/SelectRow/index.js.map +1 -1
  91. package/dist/elements/ShimmerEffect/index.js +12 -20
  92. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  93. package/dist/elements/SortColumn/index.js +30 -21
  94. package/dist/elements/SortColumn/index.js.map +1 -1
  95. package/dist/elements/Status/index.d.ts.map +1 -1
  96. package/dist/elements/Status/index.js +19 -9
  97. package/dist/elements/Status/index.js.map +1 -1
  98. package/dist/elements/Table/DefaultCell/fields/Date/index.js +37 -9
  99. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  100. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +37 -35
  101. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  102. package/dist/elements/Table/DefaultCell/fields/Select/index.js +27 -12
  103. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  104. package/dist/elements/Thumbnail/index.js +75 -35
  105. package/dist/elements/Thumbnail/index.js.map +1 -1
  106. package/dist/elements/ThumbnailCard/index.js +26 -17
  107. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  108. package/dist/elements/Tooltip/index.js +127 -51
  109. package/dist/elements/Tooltip/index.js.map +1 -1
  110. package/dist/elements/Upload/index.js +10 -2
  111. package/dist/elements/Upload/index.js.map +1 -1
  112. package/dist/elements/WhereBuilder/Condition/Select/index.js +44 -31
  113. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  114. package/dist/exports/client/{CodeEditor-O6BWJHD2.js → CodeEditor-URFJPG6I.js} +2 -2
  115. package/dist/exports/client/{DatePicker-F432AIH3.js → DatePicker-NMDEHPWL.js} +2 -2
  116. package/dist/exports/client/{chunk-AZDI6MW4.js → chunk-7RGKTZG2.js} +1 -1
  117. package/dist/exports/client/{chunk-AZDI6MW4.js.map → chunk-7RGKTZG2.js.map} +1 -1
  118. package/dist/exports/client/chunk-KPQQ5IUL.js +26 -0
  119. package/dist/exports/client/{chunk-FXAFULZQ.js.map → chunk-KPQQ5IUL.js.map} +4 -4
  120. package/dist/exports/client/index.d.ts +2 -3
  121. package/dist/exports/client/index.d.ts.map +1 -1
  122. package/dist/exports/client/index.js +24 -24
  123. package/dist/exports/client/index.js.map +4 -4
  124. package/dist/exports/rsc/index.d.ts +1 -0
  125. package/dist/exports/rsc/index.d.ts.map +1 -1
  126. package/dist/exports/rsc/index.js +1 -0
  127. package/dist/exports/rsc/index.js.map +1 -1
  128. package/dist/fields/Array/ArrayRow.d.ts +3 -2
  129. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  130. package/dist/fields/Array/ArrayRow.js +23 -13
  131. package/dist/fields/Array/ArrayRow.js.map +1 -1
  132. package/dist/fields/Array/index.js +477 -273
  133. package/dist/fields/Array/index.js.map +1 -1
  134. package/dist/fields/Blocks/index.d.ts.map +1 -1
  135. package/dist/fields/Blocks/index.js.map +1 -1
  136. package/dist/fields/Checkbox/Input.js +19 -2
  137. package/dist/fields/Checkbox/Input.js.map +1 -1
  138. package/dist/fields/FieldError/index.js +29 -30
  139. package/dist/fields/FieldError/index.js.map +1 -1
  140. package/dist/fields/FieldLabel/index.js +64 -12
  141. package/dist/fields/FieldLabel/index.js.map +1 -1
  142. package/dist/fields/Join/index.js +1 -1
  143. package/dist/fields/Join/index.js.map +1 -1
  144. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +103 -45
  145. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  146. package/dist/fields/Relationship/select-components/SingleValue/index.js +44 -29
  147. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  148. package/dist/fields/Row/index.d.ts +3 -1
  149. package/dist/fields/Row/index.d.ts.map +1 -1
  150. package/dist/fields/Select/Input.js +31 -18
  151. package/dist/fields/Select/Input.js.map +1 -1
  152. package/dist/fields/Tabs/Tab/index.js +11 -2
  153. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  154. package/dist/fields/Tabs/index.d.ts +1 -2
  155. package/dist/fields/Tabs/index.d.ts.map +1 -1
  156. package/dist/fields/Tabs/index.js +225 -185
  157. package/dist/fields/Tabs/index.js.map +1 -1
  158. package/dist/fields/Upload/RelationshipContent/index.js +127 -79
  159. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  160. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  161. package/dist/forms/Form/fieldReducer.js +15 -13
  162. package/dist/forms/Form/fieldReducer.js.map +1 -1
  163. package/dist/forms/Form/types.d.ts +6 -3
  164. package/dist/forms/Form/types.d.ts.map +1 -1
  165. package/dist/forms/Form/types.js.map +1 -1
  166. package/dist/forms/RenderFields/RenderField.js +237 -245
  167. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  168. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  169. package/dist/forms/RenderFields/index.js +1 -1
  170. package/dist/forms/RenderFields/index.js.map +1 -1
  171. package/dist/forms/RenderFields/types.d.ts +10 -2
  172. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  173. package/dist/forms/RenderFields/types.js.map +1 -1
  174. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  175. package/dist/forms/RowLabel/Context/index.js +17 -31
  176. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  177. package/dist/forms/useField/index.d.ts +0 -5
  178. package/dist/forms/useField/index.d.ts.map +1 -1
  179. package/dist/forms/useField/index.js +45 -74
  180. package/dist/forms/useField/index.js.map +1 -1
  181. package/dist/hooks/useIntersect.js +53 -35
  182. package/dist/hooks/useIntersect.js.map +1 -1
  183. package/dist/hooks/usePayloadAPI.js +44 -36
  184. package/dist/hooks/usePayloadAPI.js.map +1 -1
  185. package/dist/providers/Auth/index.d.ts +2 -1
  186. package/dist/providers/Auth/index.d.ts.map +1 -1
  187. package/dist/providers/Auth/index.js +74 -83
  188. package/dist/providers/Auth/index.js.map +1 -1
  189. package/dist/providers/Config/index.d.ts.map +1 -1
  190. package/dist/providers/Config/index.js +6 -3
  191. package/dist/providers/Config/index.js.map +1 -1
  192. package/dist/providers/LivePreview/context.d.ts +0 -2
  193. package/dist/providers/LivePreview/context.d.ts.map +1 -1
  194. package/dist/providers/LivePreview/context.js +0 -1
  195. package/dist/providers/LivePreview/context.js.map +1 -1
  196. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  197. package/dist/providers/LivePreview/index.js +0 -12
  198. package/dist/providers/LivePreview/index.js.map +1 -1
  199. package/dist/providers/ServerFunctions/index.d.ts +1 -1
  200. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  201. package/dist/providers/ServerFunctions/index.js.map +1 -1
  202. package/dist/styles.css +1 -1
  203. package/dist/utilities/buildFormState.d.ts.map +1 -1
  204. package/dist/utilities/buildFormState.js +7 -1
  205. package/dist/utilities/buildFormState.js.map +1 -1
  206. package/dist/utilities/buildTableState.d.ts.map +1 -1
  207. package/dist/utilities/buildTableState.js +12 -4
  208. package/dist/utilities/buildTableState.js.map +1 -1
  209. package/dist/utilities/getClientConfig.d.ts +2 -7
  210. package/dist/utilities/getClientConfig.d.ts.map +1 -1
  211. package/dist/utilities/getClientConfig.js +19 -8
  212. package/dist/utilities/getClientConfig.js.map +1 -1
  213. package/dist/utilities/getColumns.d.ts +10 -0
  214. package/dist/utilities/getColumns.d.ts.map +1 -0
  215. package/dist/utilities/getColumns.js +36 -0
  216. package/dist/utilities/getColumns.js.map +1 -0
  217. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
  218. package/dist/utilities/reduceFieldsToOptions.js +16 -1
  219. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  220. package/dist/utilities/renderTable.d.ts +3 -3
  221. package/dist/utilities/renderTable.d.ts.map +1 -1
  222. package/dist/utilities/renderTable.js +2 -11
  223. package/dist/utilities/renderTable.js.map +1 -1
  224. package/dist/utilities/traverseForLocalizedFields.d.ts +3 -0
  225. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -0
  226. package/dist/utilities/traverseForLocalizedFields.js +40 -0
  227. package/dist/utilities/traverseForLocalizedFields.js.map +1 -0
  228. package/dist/views/BrowseByFolder/index.js +56 -38
  229. package/dist/views/BrowseByFolder/index.js.map +1 -1
  230. package/dist/views/CollectionFolder/index.d.ts.map +1 -1
  231. package/dist/views/CollectionFolder/index.js +45 -28
  232. package/dist/views/CollectionFolder/index.js.map +1 -1
  233. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  234. package/dist/views/Edit/Auth/index.js +106 -94
  235. package/dist/views/Edit/Auth/index.js.map +1 -1
  236. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  237. package/dist/views/List/ListHeader/index.js +5 -13
  238. package/dist/views/List/ListHeader/index.js.map +1 -1
  239. package/package.json +7 -7
  240. package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts +0 -10
  241. package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts.map +0 -1
  242. package/dist/elements/ListHeaderTabs/ByFolderPill.js +0 -70
  243. package/dist/elements/ListHeaderTabs/ByFolderPill.js.map +0 -1
  244. package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts +0 -9
  245. package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts.map +0 -1
  246. package/dist/elements/ListHeaderTabs/DefaultListPill.js +0 -75
  247. package/dist/elements/ListHeaderTabs/DefaultListPill.js.map +0 -1
  248. package/dist/elements/ListHeaderTabs/TrashPill.d.ts +0 -6
  249. package/dist/elements/ListHeaderTabs/TrashPill.d.ts.map +0 -1
  250. package/dist/elements/ListHeaderTabs/TrashPill.js +0 -53
  251. package/dist/elements/ListHeaderTabs/TrashPill.js.map +0 -1
  252. package/dist/exports/client/chunk-FXAFULZQ.js +0 -26
  253. /package/dist/exports/client/{CodeEditor-O6BWJHD2.js.map → CodeEditor-URFJPG6I.js.map} +0 -0
  254. /package/dist/exports/client/{DatePicker-F432AIH3.js.map → DatePicker-NMDEHPWL.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useDndMonitor","getTranslation","useRouter","formatAdminURL","React","Fragment","DroppableBreadcrumb","ColoredFolderIcon","CurrentFolderActions","DragOverlaySelection","SortByPill","ToggleViewButtons","Gutter","ListHeader","ListBulkUploadButton","ListCreateNewDocInFolderButton","ByFolderPill","DefaultListPill","TrashPill","NoListResults","SearchBar","useStepNav","useConfig","useEditDepth","FolderProvider","useFolder","usePreferences","useRouteCache","useRouteTransition","useTranslation","useWindowInfo","ListSelection","baseClass","DefaultCollectionFolderView","allCollectionFolderSlugs","folderCollectionSlugs","allowCreateCollectionSlugs","baseFolderPath","breadcrumbs","documents","folderFieldName","folderID","FolderResultsComponent","search","sort","subfolders","restOfProps","_jsx","CollectionFolderViewInContext","props","$","AfterFolderList","AfterFolderListTable","BeforeFolderList","BeforeFolderListTable","collectionSlug","Description","disableBulkDelete","disableBulkEdit","viewPreference","config","getEntityConfig","i18n","t","drawerDepth","setStepNav","setPreference","dragOverlayItem","folderCollectionConfig","folderCollectionSlug","folderType","getSelectedItems","moveToFolder","refineFolderData","selectedItemKeys","setIsDragging","router","startRouteTransition","clearRouteCache","collectionConfig","labels","upload","isUploadCollection","Boolean","isBulkUploadEnabled","bulkUpload","breakpoints","t0","s","smallBreak","t1","event","over","data","current","type","itemsToMove","toFolderID","id","t2","error","console","onDragEnd","handleSetViewType","view","useEffect","length","label","_jsxs","className","children","plural","filter","join","onClick","folders","push","adminRoute","routes","admin","path","slug","map","crumb","crumbIndex","name","totalDocsAndSubfolders","search_0","query","updateURL","DndEventListener","Actions","folderAssignedCollections","Array","isArray","viewType","trash","AfterListHeaderContent","title","TitleActions","buttonLabel","collectionSlugs","onCreateSuccess","slugPrefix","hasCreatePermission","includes","activeView","setActiveView","onSearchChange","searchQueryParam","singular","toLowerCase","Message","size","item","selectedCount","onDragCancel","onDragStart"],"sources":["../../../src/views/CollectionFolder/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 { formatAdminURL } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { DroppableBreadcrumb } from '../../elements/FolderView/Breadcrumbs/index.js'\nimport { ColoredFolderIcon } from '../../elements/FolderView/ColoredFolderIcon/index.js'\nimport { CurrentFolderActions } from '../../elements/FolderView/CurrentFolderActions/index.js'\nimport { DragOverlaySelection } from '../../elements/FolderView/DragOverlaySelection/index.js'\nimport { 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 {\n ListBulkUploadButton,\n ListCreateNewDocInFolderButton,\n} from '../../elements/ListHeader/TitleActions/index.js'\nimport { ByFolderPill } from '../../elements/ListHeaderTabs/ByFolderPill.js'\nimport { DefaultListPill } from '../../elements/ListHeaderTabs/DefaultListPill.js'\nimport { TrashPill } from '../../elements/ListHeaderTabs/TrashPill.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 './index.scss'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListSelection } from './ListSelection/index.js'\n\nconst baseClass = 'collection-folder-list'\n\nexport function DefaultCollectionFolderView({\n allCollectionFolderSlugs: folderCollectionSlugs,\n allowCreateCollectionSlugs,\n baseFolderPath,\n breadcrumbs,\n documents,\n folderFieldName,\n folderID,\n FolderResultsComponent,\n search,\n sort,\n subfolders,\n ...restOfProps\n}: FolderListViewClientProps) {\n return (\n <FolderProvider\n allCollectionFolderSlugs={folderCollectionSlugs}\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 sort={sort}\n subfolders={subfolders}\n >\n <CollectionFolderViewInContext {...restOfProps} />\n </FolderProvider>\n )\n}\n\ntype CollectionFolderViewInContextProps = Omit<\n FolderListViewClientProps,\n | 'allCollectionFolderSlugs'\n | 'allowCreateCollectionSlugs'\n | 'baseFolderPath'\n | 'breadcrumbs'\n | 'documents'\n | 'folderFieldName'\n | 'folderID'\n | 'FolderResultsComponent'\n | 'subfolders'\n>\n\nfunction CollectionFolderViewInContext(props: CollectionFolderViewInContextProps) {\n const {\n AfterFolderList,\n AfterFolderListTable,\n BeforeFolderList,\n BeforeFolderListTable,\n collectionSlug,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n search,\n viewPreference,\n } = props\n\n const { config, getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n const drawerDepth = useEditDepth()\n const { setStepNav } = useStepNav()\n const { setPreference } = usePreferences()\n const {\n allowCreateCollectionSlugs,\n breadcrumbs,\n documents,\n dragOverlayItem,\n folderCollectionConfig,\n folderCollectionSlug,\n FolderResultsComponent,\n folderType,\n getSelectedItems,\n moveToFolder,\n refineFolderData,\n selectedItemKeys,\n setIsDragging,\n subfolders,\n } = useFolder()\n\n const router = useRouter()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { labels, upload } = collectionConfig\n const isUploadCollection = Boolean(upload)\n const isBulkUploadEnabled = isUploadCollection && collectionConfig.upload.bulkUpload\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\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 try {\n await moveToFolder({\n itemsToMove: getSelectedItems(),\n toFolderID: event.over.data.current.id,\n })\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error moving items:', error)\n }\n\n clearRouteCache()\n }\n },\n [moveToFolder, getSelectedItems, clearRouteCache],\n )\n\n const handleSetViewType = React.useCallback(\n async (view: 'grid' | 'list') => {\n await setPreference(`${collectionSlug}-collection-folder`, {\n viewPreference: view,\n })\n clearRouteCache()\n },\n [collectionSlug, setPreference, clearRouteCache],\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 {getTranslation(labels?.plural, i18n)}\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 if (config.folders) {\n router.push(\n formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionSlug}/${config.folders.slug}`,\n }),\n )\n }\n })\n }}\n >\n <ColoredFolderIcon />\n {getTranslation(labels?.plural, i18n)}\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 if (config.folders) {\n router.push(\n formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionSlug}/${config.folders.slug}/${crumb.id}`,\n }),\n )\n }\n })\n }}\n >\n {crumb.name}\n </DroppableBreadcrumb>\n ),\n }\n }),\n ])\n }\n }, [\n breadcrumbs,\n collectionSlug,\n config.folders,\n config.routes.admin,\n drawerDepth,\n i18n,\n labels?.plural,\n router,\n setStepNav,\n startRouteTransition,\n ])\n\n const totalDocsAndSubfolders = documents.length + subfolders.length\n\n return (\n <Fragment>\n <DndEventListener onDragEnd={onDragEnd} setIsDragging={setIsDragging} />\n\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n {BeforeFolderList}\n <Gutter className={`${baseClass}__wrap`}>\n <ListHeader\n Actions={[\n !smallBreak && (\n <ListSelection\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={collectionConfig.disableBulkEdit ?? disableBulkEdit}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"list-selection\"\n />\n ),\n config.folders && collectionConfig.folders && (\n <Fragment key=\"list-header-folder-view-buttons\">\n <DefaultListPill\n collectionConfig={collectionConfig}\n key=\"list-header-default-button\"\n viewType=\"folders\"\n />\n <ByFolderPill\n collectionConfig={collectionConfig}\n folderCollectionSlug={folderCollectionSlug}\n key=\"list-header-by-folder-button\"\n viewType=\"folders\"\n />\n </Fragment>\n ),\n collectionConfig.trash && (\n <TrashPill\n collectionConfig={collectionConfig}\n key=\"list-header-trash-button\"\n viewType=\"folders\"\n />\n ),\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n title={getTranslation(labels?.plural, i18n)}\n TitleActions={[\n allowCreateCollectionSlugs.length && (\n <ListCreateNewDocInFolderButton\n buttonLabel={t('general:createNew')}\n collectionSlugs={allowCreateCollectionSlugs}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"create-new-button\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-document--header-pill\"\n />\n ),\n <ListBulkUploadButton\n collectionSlug={collectionSlug}\n hasCreatePermission={allowCreateCollectionSlugs.includes(collectionSlug)}\n isBulkUploadEnabled={isBulkUploadEnabled}\n key=\"bulk-upload-button\"\n />,\n ].filter(Boolean)}\n />\n <SearchBar\n Actions={[\n <SortByPill key=\"sort-by-pill\" />,\n <ToggleViewButtons\n activeView={viewPreference}\n key=\"toggle-view-buttons\"\n setActiveView={handleSetViewType}\n />,\n <CurrentFolderActions key=\"current-folder-actions\" />,\n ].filter(Boolean)}\n label={t('general:searchBy', {\n label: t('general:name'),\n })}\n onSearchChange={(search) => refineFolderData({ query: { search }, updateURL: true })}\n searchQueryParam={search}\n />\n {BeforeFolderListTable}\n {totalDocsAndSubfolders > 0 && FolderResultsComponent}\n {totalDocsAndSubfolders === 0 && (\n <NoListResults\n Actions={[\n allowCreateCollectionSlugs.includes(folderCollectionSlug) && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`}\n collectionSlugs={[folderCollectionConfig.slug]}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"create-folder\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-folder--no-results\"\n />\n ),\n allowCreateCollectionSlugs.includes(collectionSlug) && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${t('general:document').toLowerCase()}`}\n collectionSlugs={[collectionSlug]}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\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: `${getTranslation(labels?.plural, i18n)} ${t('general:or').toLowerCase()} ${getTranslation(\n folderCollectionConfig.labels?.plural,\n i18n,\n )}`,\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}\n\nfunction DndEventListener({ onDragEnd, setIsDragging }) {\n useDndMonitor({\n onDragCancel() {\n setIsDragging(false)\n },\n onDragEnd(event) {\n setIsDragging(false)\n onDragEnd(event)\n },\n onDragStart() {\n setIsDragging(true)\n },\n })\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAKA,SAASC,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,UAAU,QAAQ;AAC3B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,MAAM,QAAQ;AACvB,SAASC,UAAU,QAAQ;AAC3B,SACEC,oBAAoB,EACpBC,8BAA8B,QACzB;AACP,SAASC,YAAY,QAAQ;AAC7B,SAASC,eAAe,QAAQ;AAChC,SAASC,SAAS,QAAQ;AAC1B,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,OAAO;AACP,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,aAAa,QAAQ;AAC9B,SAASC,aAAa,QAAQ;AAE9B,MAAMC,SAAA,GAAY;AAElB,OAAO,SAASC,4BAA4B;EAC1CC,wBAAA,EAA0BC,qBAAqB;EAC/CC,0BAA0B;EAC1BC,cAAc;EACdC,WAAW;EACXC,SAAS;EACTC,eAAe;EACfC,QAAQ;EACRC,sBAAsB;EACtBC,MAAM;EACNC,IAAI;EACJC,UAAU;EACV,GAAGC;AAAA,CACuB;EAC1B,oBACEC,IAAA,CAACvB,cAAA;IACCU,wBAAA,EAA0BC,qBAAA;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,IAAA,EAAMA,IAAA;IACNC,UAAA,EAAYA,UAAA;cAEZ,aAAAE,IAAA,CAACC,6BAAA;MAA+B,GAAGF;;;AAGzC;AAeA,SAAAE,8BAAAC,KAAA;EAAA,MAAAC,CAAA,GAAAnD,EAAA;EACE;IAAAoD,eAAA;IAAAC,oBAAA;IAAAC,gBAAA;IAAAC,qBAAA;IAAAC,cAAA;IAAAC,WAAA;IAAAC,iBAAA;IAAAC,eAAA;IAAAf,MAAA;IAAAgB;EAAA,IAWIV,KAAA;EAEJ;IAAAW,MAAA;IAAAC;EAAA,IAAoCvC,SAAA;EACpC;IAAAwC,IAAA;IAAAC;EAAA,IAAoBlC,cAAA;EACpB,MAAAmC,WAAA,GAAoBzC,YAAA;EACpB;IAAA0C;EAAA,IAAuB5C,UAAA;EACvB;IAAA6C;EAAA,IAA0BxC,cAAA;EAC1B;IAAAU,0BAAA;IAAAE,WAAA;IAAAC,SAAA;IAAA4B,eAAA;IAAAC,sBAAA;IAAAC,oBAAA;IAAA3B,sBAAA;IAAA4B,UAAA;IAAAC,gBAAA;IAAAC,YAAA;IAAAC,gBAAA;IAAAC,gBAAA;IAAAC,aAAA;IAAA9B;EAAA,IAeIpB,SAAA;EAEJ,MAAAmD,MAAA,GAAe1E,SAAA;EACf;IAAA2E;EAAA,IAAiCjD,kBAAA;EACjC;IAAAkD;EAAA,IAA4BnD,aAAA;EAE5B,MAAAoD,gBAAA,GAAyBlB,eAAA;IAAAN;EAAA,CAAiC;EAE1D;IAAAyB,MAAA;IAAAC;EAAA,IAA2BF,gBAAA;EAC3B,MAAAG,kBAAA,GAA2BC,OAAA,CAAQF,MAAA;EACnC,MAAAG,mBAAA,GAA4BF,kBAAA,IAAsBH,gBAAA,CAAAE,MAAA,CAAAI,UAAkC;EAEpF;IAAAC,WAAA,EAAAC;EAAA,IAEIzD,aAAA;EADW;IAAA0D,CAAA,EAAAC;EAAA,IAAAF,EAAiB;EAAA,IAAAG,EAAA;EAAA,IAAAxC,CAAA,QAAA4B,eAAA,IAAA5B,CAAA,QAAAqB,gBAAA,IAAArB,CAAA,QAAAsB,YAAA;IAI9BkB,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;QAAA;UAAA,MAEtEtB,YAAA;YAAAwB,WAAA,EACSzB,gBAAA;YAAA0B,UAAA,EACDN,KAAA,CAAAC,IAAA,CAAAC,IAAA,CAAAC,OAAA,CAAAI;UAAA,CACd;QAAA,SAAAC,EAAA;UACOC,KAAA,CAAAA,KAAA,CAAAA,CAAA,CAAAA,EAAA;UAEPC,OAAA,CAAAD,KAAA,CAAc,uBAAuBA,KAAA;QAAA;QAGvCtB,eAAA;MAAA;IAAA;IAEJ5B,CAAA,MAAA4B,eAAA;IAAA5B,CAAA,MAAAqB,gBAAA;IAAArB,CAAA,MAAAsB,YAAA;IAAAtB,CAAA,MAAAwC,EAAA;EAAA;IAAAA,EAAA,GAAAxC,CAAA;EAAA;EAnBF,MAAAoD,SAAA,GAAkBZ,EAoBiC;EAGnD,MAAAa,iBAAA,SAAAC,IAAA;IAAA,MAEUtC,aAAA,CAAc,GAAGX,cAAA,oBAAkC;MAAAI,cAAA,EACvC6C;IAAA,CAClB;IACA1B,eAAA;EAAA;EAKJ1E,KAAA,CAAAqG,SAAA;IAAA,KACOzC,WAAA;MACHC,UAAA,EACE,CAAC3B,WAAA,CAAAoE,MAAA;QAAAC,KAAA,EAGOC,KAAA,CAAC;UAAAC,SAAA,EAAe,GAAA7E,SAAA,uBAAmC;UAAA8E,QAAA,GACjD/D,IAAA,CAAAxC,iBAAA,IAAC,GACAN,cAAA,CAAe+E,MAAA,EAAA+B,MAAA,EAAgBjD,IAAA;QAAA,GAFuB;MAAA;QAAA6C,KAAA,EAQzDC,KAAA,CAAAtG,mBAAA;UAAAuG,SAAA,EACa,CACT,GAAA7E,SAAA,sBAAkC,EAClC,GAAAA,SAAA,uBAAmC,EAAAgF,MAAA,CAAA7B,OAE3B,EAAA8B,IAAA,CACF;UAAAf,EAAA;UAAAgB,OAAA,EAAAA,CAAA;YAINrC,oBAAA;cAAA,IACMjB,MAAA,CAAAuD,OAAA;gBACFvC,MAAA,CAAAwC,IAAA,CACEjH,cAAA;kBAAAkH,UAAA,EACczD,MAAA,CAAA0D,MAAA,CAAAC,KAAA;kBAAAC,IAAA,EACN,gBAAgBjE,cAAA,IAAkBK,MAAA,CAAAuD,OAAA,CAAAM,IAAA;gBAAqB,CAC/D;cAAA;YAAA,CAGN;UAAA;UAAAX,QAAA,GAGF/D,IAAA,CAAAxC,iBAAA,IAAC,GACAN,cAAA,CAAe+E,MAAA,EAAA+B,MAAA,EAAgBjD,IAAA;QAAA,GAf5B;MAAA,CAkBV,KACDxB,WAAA,CAAAoF,GAAA,EAAAC,KAAA,EAAAC,UAAA;QAAAjB,KAAA,EAGGiB,UAAA,KAAetF,WAAA,CAAAoE,MAAA,IAAqB,GAClCiB,KAAA,CAAAE,IAAA,GAEA9E,IAAA,CAAAzC,mBAAA;UAAAuG,SAAA,EACa,GAAA7E,SAAA,sBAAkC;UAAAkE,EAAA,EACzCyB,KAAA,CAAAzB,EAAA;UAAAgB,OAAA,EAAAA,CAAA;YAGFrC,oBAAA;cAAA,IACMjB,MAAA,CAAAuD,OAAA;gBACFvC,MAAA,CAAAwC,IAAA,CACEjH,cAAA;kBAAAkH,UAAA,EACczD,MAAA,CAAA0D,MAAA,CAAAC,KAAA;kBAAAC,IAAA,EACN,gBAAgBjE,cAAA,IAAkBK,MAAA,CAAAuD,OAAA,CAAAM,IAAA,IAAuBE,KAAA,CAAAzB,EAAA;gBAAU,CAC3E;cAAA;YAAA,CAGN;UAAA;UAAAY,QAAA,EAGDa,KAAA,CAAAE;QAAA,GAdIF,KAAA,CAAAzB,EAAQ;MAAA,EAkBvB,EACD;IAAA;EAAA,IAGH5D,WAAA,EACAiB,cAAA,EACAK,MAAA,CAAAuD,OAAA,EACAvD,MAAA,CAAA0D,MAAA,CAAAC,KAAA,EACAvD,WAAA,EACAF,IAAA,EACAkB,MAAA,EAAA+B,MAAA,EACAnC,MAAA,EACAX,UAAA,EACAY,oBAAA,CACD;EAED,MAAAiD,sBAAA,GAA+BvF,SAAA,CAAAmE,MAAA,GAAmB7D,UAAA,CAAA6D,MAAiB;EAAA,IAAAP,EAAA;EAAA,IAAAjD,CAAA,QAAAuB,gBAAA;IAgFzC0B,EAAA,GAAA4B,QAAA,IAAYtD,gBAAA;MAAAuD,KAAA;QAAArF,MAAA,EAA4BA;MAAA;MAAAsF,SAAA;IAAA,CAA0B;IAAA/E,CAAA,MAAAuB,gBAAA;IAAAvB,CAAA,MAAAiD,EAAA;EAAA;IAAAA,EAAA,GAAAjD,CAAA;EAAA;EAAA,OA7E1F0D,KAAA,CAAAvG,QAAA;IAAAyG,QAAA,GACE/D,IAAA,CAAAmF,gBAAA;MAAA5B,SAAA;MAAA3B;IAAA,C,GAEAiC,KAAA,CAAC;MAAAC,SAAA,EAAe,GAAA7E,SAAA,IAAAA,SAAA,KAA8BuB,cAAA,EAAgB;MAAAuD,QAAA,GAC3DzD,gBAAA,EACDuD,KAAA,CAAAhG,MAAA;QAAAiG,SAAA,EAAmB,GAAA7E,SAAA,QAAoB;QAAA8E,QAAA,GACrC/D,IAAA,CAAAlC,UAAA;UAAAsH,OAAA,EACW,CACP,CAAC1C,UAAA,IACC1C,IAAA,CAAAhB,aAAA;YAAA0B,iBAAA;YAAAC,eAAA,EAEmBqB,gBAAA,CAAArB,eAAA,IAAoCA,eAAA;YAAA0E,yBAAA,EAEnDC,KAAA,CAAAC,OAAA,CAAchE,UAAA,IAAcA,UAAA,IAAcf,cAAA;UAAe,GAEvD,mBAGRK,MAAA,CAAAuD,OAAA,IAAkBpC,gBAAA,CAAAoC,OAAwB,IACxCP,KAAA,CAAAvG,QAAA;YAAAyG,QAAA,GACE/D,IAAA,CAAA9B,eAAA;cAAA8D,gBAAA;cAAAwD,QAAA,EAGW;YAAA,GADL,+BAGNxF,IAAA,CAAA/B,YAAA;cAAA+D,gBAAA;cAAAV,oBAAA;cAAAkE,QAAA,EAIW;YAAA,GADL;UAAA,GATM,oCAchBxD,gBAAA,CAAAyD,KAAA,IACEzF,IAAA,CAAA7B,SAAA;YAAA6D,gBAAA;YAAAwD,QAAA,EAGW;UAAA,GADL,6BAAAvB,MAAA,CAAA7B,OAID;UAAAsD,sBAAA,EACejF,WAAA;UAAAkF,KAAA,EACjBzI,cAAA,CAAe+E,MAAA,EAAA+B,MAAA,EAAgBjD,IAAA;UAAA6E,YAAA,EACxB,CACZvG,0BAAA,CAAAsE,MAAA,IACE3D,IAAA,CAAAhC,8BAAA;YAAA6H,WAAA,EACe7E,CAAA,CAAE;YAAA8E,eAAA,EACEzG,0BAAA;YAAAgG,yBAAA,EAEfC,KAAA,CAAAC,OAAA,CAAchE,UAAA,IAAcA,UAAA,IAAcf,cAAA,CAAe;YAAAuF,eAAA,EAG1ChE,eAAA;YAAAiE,UAAA,EACN;UAAA,GAFP,sBAKRhG,IAAA,CAAAjC,oBAAA;YAAAyC,cAAA;YAAAyF,mBAAA,EAEuB5G,0BAAA,CAAA6G,QAAA,CAAoC1F,cAAA;YAAA6B;UAAA,GAErD,uBAAA4B,MAAA,CAAA7B,OAEC;QAAA,C,GAEXpC,IAAA,CAAA3B,SAAA;UAAA+G,OAAA,EACW,CACPpF,IAAA,CAAArC,UAAA,MAAgB,iBAChBqC,IAAA,CAAApC,iBAAA;YAAAuI,UAAA,EACcvF,cAAA;YAAAwF,aAAA,EAEG5C;UAAA,GADX,wBAGNxD,IAAA,CAAAvC,oBAAA,MAA0B,2BAAAwG,MAAA,CAAA7B,OACnB;UAAAwB,KAAA,EACF5C,CAAA,CAAE;YAAA4C,KAAA,EACA5C,CAAA,CAAE;UAAA,CACX;UAAAqF,cAAA,EACgBjD,EAAkE;UAAAkD,gBAAA,EAChE1G;QAAA,C,GAEnBW,qBAAA,EACAwE,sBAAA,IAAyB,IAAKpF,sBAAA,EAC9BoF,sBAAA,MAA2B,IAC1B/E,IAAA,CAAA5B,aAAA;UAAAgH,OAAA,EACW,CACP/F,0BAAA,CAAA6G,QAAA,CAAoC5E,oBAAA,KAClCtB,IAAA,CAAAhC,8BAAA;YAAA6H,WAAA,EACe,GAAG7E,CAAA,CAAE,qBAAqB9D,cAAA,CAAemE,sBAAA,CAAAY,MAAA,EAAAsE,QAAA,EAAyCxF,IAAA,EAAAyF,WAAA,CAAiB,GAAI;YAAAV,eAAA,GAClGzE,sBAAA,CAAAqD,IAAA;YAAAW,yBAAA,EAEhBC,KAAA,CAAAC,OAAA,CAAchE,UAAA,IAAcA,UAAA,IAAcf,cAAA,CAAe;YAAAuF,eAAA,EAG1ChE,eAAA;YAAAiE,UAAA,EACN;UAAA,GAFP,kBAKR3G,0BAAA,CAAA6G,QAAA,CAAoC1F,cAAA,KAClCR,IAAA,CAAAhC,8BAAA;YAAA6H,WAAA,EACe,GAAG7E,CAAA,CAAE,qBAAqBA,CAAA,CAAE,oBAAAwF,WAAA,CAA+B,GAAI;YAAAV,eAAA,GAC1DtF,cAAA;YAAA6E,yBAAA,EAEhBC,KAAA,CAAAC,OAAA,CAAchE,UAAA,IAAcA,UAAA,IAAcf,cAAA,CAAe;YAAAuF,eAAA,EAG1ChE,eAAA;YAAAiE,UAAA,EACN;UAAA,GAFP,oBAAA/B,MAAA,CAAA7B,OAKD;UAAAqE,OAAA,EAEPzG,IAAA,CAAC;YAAA+D,QAAA,EACEhD,IAAA,CAAAC,CAAA,CAAO;cAAA4C,KAAA,EACC,GAAG1G,cAAA,CAAe+E,MAAA,EAAA+B,MAAA,EAAgBjD,IAAA,KAASC,CAAA,CAAE,cAAAwF,WAAA,CAAyB,KAAMtJ,cAAA,CACjFmE,sBAAA,CAAAY,MAAA,EAAA+B,MAAA,EACAjD,IAAA;YACC,CACL;UAAA,C;YAKPV,oBAAA;MAAA,C,GAEFD,eAAA;IAAA,C,GAEFuB,gBAAA,CAAA+E,IAAA,IAAwB,IAAKtF,eAAA,IAC5BpB,IAAA,CAAAtC,oBAAA;MAAAiJ,IAAA,EAA4BvF,eAAA;MAAAwF,aAAA,EAAgCjF,gBAAA,CAAA+E;IAAA,C;;;AAMpE,SAAAvB,iBAAA3C,EAAA;EAAA,MAAArC,CAAA,GAAAnD,EAAA;EAA0B;IAAAuG,SAAA;IAAA3B;EAAA,IAAAY,EAA4B;EAAA,IAAAG,EAAA;EAAA,IAAAxC,CAAA,QAAAoD,SAAA,IAAApD,CAAA,QAAAyB,aAAA;IACtCe,EAAA;MAAAkE,aAAA;QAEVjF,aAAA,MAAc;MAAA;MAAA2B,UAAAX,KAAA;QAGdhB,aAAA,MAAc;QACd2B,SAAA,CAAUX,KAAA;MAAA;MAAAkE,YAAA;QAGVlF,aAAA,KAAc;MAAA;IAAA;IAElBzB,CAAA,MAAAoD,SAAA;IAAApD,CAAA,MAAAyB,aAAA;IAAAzB,CAAA,MAAAwC,EAAA;EAAA;IAAAA,EAAA,GAAAxC,CAAA;EAAA;EAXAlD,aAAA,CAAc0F,EAWd;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useDndMonitor","getTranslation","useRouter","formatAdminURL","React","Fragment","DefaultListViewTabs","DroppableBreadcrumb","ColoredFolderIcon","CurrentFolderActions","DragOverlaySelection","SortByPill","ToggleViewButtons","Gutter","ListHeader","ListBulkUploadButton","ListCreateNewDocInFolderButton","NoListResults","SearchBar","useStepNav","useConfig","useEditDepth","FolderProvider","useFolder","usePreferences","useRouteCache","useRouteTransition","useTranslation","useWindowInfo","ListSelection","baseClass","DefaultCollectionFolderView","allCollectionFolderSlugs","folderCollectionSlugs","allowCreateCollectionSlugs","baseFolderPath","breadcrumbs","documents","folderFieldName","folderID","FolderResultsComponent","search","sort","subfolders","restOfProps","_jsx","CollectionFolderViewInContext","props","$","AfterFolderList","AfterFolderListTable","BeforeFolderList","BeforeFolderListTable","collectionSlug","Description","disableBulkDelete","disableBulkEdit","viewPreference","config","getEntityConfig","i18n","t","drawerDepth","setStepNav","setPreference","dragOverlayItem","folderCollectionConfig","folderCollectionSlug","folderType","getSelectedItems","moveToFolder","refineFolderData","selectedItemKeys","setIsDragging","router","startRouteTransition","clearRouteCache","collectionConfig","labels","upload","isUploadCollection","Boolean","isBulkUploadEnabled","bulkUpload","breakpoints","t0","s","smallBreak","t1","event","over","data","current","type","itemsToMove","toFolderID","id","t2","error","console","onDragEnd","handleSetViewType","view","plural","t3","folders","routes","admin","useEffect","length","label","_jsxs","className","children","filter","join","onClick","push","adminRoute","path","slug","map","crumb","crumbIndex","name","totalDocsAndSubfolders","t4","search_0","query","updateURL","t5","size","item","selectedCount","DndEventListener","Actions","folderAssignedCollections","Array","isArray","viewType","AfterListHeaderContent","title","TitleActions","buttonLabel","singular","toLowerCase","collectionSlugs","onCreateSuccess","slugPrefix","hasCreatePermission","includes","activeView","setActiveView","onSearchChange","searchQueryParam","Message","onDragCancel","onDragStart"],"sources":["../../../src/views/CollectionFolder/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 { formatAdminURL } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { DefaultListViewTabs } from '../../elements/DefaultListViewTabs/index.js'\nimport { DroppableBreadcrumb } from '../../elements/FolderView/Breadcrumbs/index.js'\nimport { ColoredFolderIcon } from '../../elements/FolderView/ColoredFolderIcon/index.js'\nimport { CurrentFolderActions } from '../../elements/FolderView/CurrentFolderActions/index.js'\nimport { DragOverlaySelection } from '../../elements/FolderView/DragOverlaySelection/index.js'\nimport { 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 {\n ListBulkUploadButton,\n ListCreateNewDocInFolderButton,\n} 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 './index.scss'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListSelection } from './ListSelection/index.js'\n\nconst baseClass = 'collection-folder-list'\n\nexport function DefaultCollectionFolderView({\n allCollectionFolderSlugs: folderCollectionSlugs,\n allowCreateCollectionSlugs,\n baseFolderPath,\n breadcrumbs,\n documents,\n folderFieldName,\n folderID,\n FolderResultsComponent,\n search,\n sort,\n subfolders,\n ...restOfProps\n}: FolderListViewClientProps) {\n return (\n <FolderProvider\n allCollectionFolderSlugs={folderCollectionSlugs}\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 sort={sort}\n subfolders={subfolders}\n >\n <CollectionFolderViewInContext {...restOfProps} />\n </FolderProvider>\n )\n}\n\ntype CollectionFolderViewInContextProps = Omit<\n FolderListViewClientProps,\n | 'allCollectionFolderSlugs'\n | 'allowCreateCollectionSlugs'\n | 'baseFolderPath'\n | 'breadcrumbs'\n | 'documents'\n | 'folderFieldName'\n | 'folderID'\n | 'FolderResultsComponent'\n | 'subfolders'\n>\n\nfunction CollectionFolderViewInContext(props: CollectionFolderViewInContextProps) {\n const {\n AfterFolderList,\n AfterFolderListTable,\n BeforeFolderList,\n BeforeFolderListTable,\n collectionSlug,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n search,\n viewPreference,\n } = props\n\n const { config, getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n const drawerDepth = useEditDepth()\n const { setStepNav } = useStepNav()\n const { setPreference } = usePreferences()\n const {\n allowCreateCollectionSlugs,\n breadcrumbs,\n documents,\n dragOverlayItem,\n folderCollectionConfig,\n folderCollectionSlug,\n FolderResultsComponent,\n folderType,\n getSelectedItems,\n moveToFolder,\n refineFolderData,\n selectedItemKeys,\n setIsDragging,\n subfolders,\n } = useFolder()\n\n const router = useRouter()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { labels, upload } = collectionConfig\n const isUploadCollection = Boolean(upload)\n const isBulkUploadEnabled = isUploadCollection && collectionConfig.upload.bulkUpload\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\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 try {\n await moveToFolder({\n itemsToMove: getSelectedItems(),\n toFolderID: event.over.data.current.id,\n })\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error moving items:', error)\n }\n\n clearRouteCache()\n }\n },\n [moveToFolder, getSelectedItems, clearRouteCache],\n )\n\n const handleSetViewType = React.useCallback(\n async (view: 'grid' | 'list') => {\n await setPreference(`${collectionSlug}-collection-folder`, {\n viewPreference: view,\n })\n clearRouteCache()\n },\n [collectionSlug, setPreference, clearRouteCache],\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 {getTranslation(labels?.plural, i18n)}\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 if (config.folders) {\n router.push(\n formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionSlug}/${config.folders.slug}`,\n }),\n )\n }\n })\n }}\n >\n <ColoredFolderIcon />\n {getTranslation(labels?.plural, i18n)}\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 if (config.folders) {\n router.push(\n formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionSlug}/${config.folders.slug}/${crumb.id}`,\n }),\n )\n }\n })\n }}\n >\n {crumb.name}\n </DroppableBreadcrumb>\n ),\n }\n }),\n ])\n }\n }, [\n breadcrumbs,\n collectionSlug,\n config.folders,\n config.routes.admin,\n drawerDepth,\n i18n,\n labels?.plural,\n router,\n setStepNav,\n startRouteTransition,\n ])\n\n const totalDocsAndSubfolders = documents.length + subfolders.length\n\n return (\n <Fragment>\n <DndEventListener onDragEnd={onDragEnd} setIsDragging={setIsDragging} />\n\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n {BeforeFolderList}\n <Gutter className={`${baseClass}__wrap`}>\n <ListHeader\n Actions={[\n !smallBreak && (\n <ListSelection\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={collectionConfig.disableBulkEdit ?? disableBulkEdit}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"list-selection\"\n />\n ),\n <DefaultListViewTabs\n collectionConfig={collectionConfig}\n config={config}\n key=\"default-list-actions\"\n viewType=\"folders\"\n />,\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n title={getTranslation(labels?.plural, i18n)}\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={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"create-new-button\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-document--header-pill\"\n />\n ),\n <ListBulkUploadButton\n collectionSlug={collectionSlug}\n hasCreatePermission={allowCreateCollectionSlugs.includes(collectionSlug)}\n isBulkUploadEnabled={isBulkUploadEnabled}\n key=\"bulk-upload-button\"\n />,\n ].filter(Boolean)}\n />\n <SearchBar\n Actions={[\n <SortByPill key=\"sort-by-pill\" />,\n <ToggleViewButtons\n activeView={viewPreference}\n key=\"toggle-view-buttons\"\n setActiveView={handleSetViewType}\n />,\n <CurrentFolderActions key=\"current-folder-actions\" />,\n ].filter(Boolean)}\n label={t('general:searchBy', {\n label: t('general:name'),\n })}\n onSearchChange={(search) => refineFolderData({ query: { search }, updateURL: true })}\n searchQueryParam={search}\n />\n {BeforeFolderListTable}\n {totalDocsAndSubfolders > 0 && FolderResultsComponent}\n {totalDocsAndSubfolders === 0 && (\n <NoListResults\n Actions={[\n allowCreateCollectionSlugs.includes(folderCollectionSlug) && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`}\n collectionSlugs={[folderCollectionConfig.slug]}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"create-folder\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-folder--no-results\"\n />\n ),\n allowCreateCollectionSlugs.includes(collectionSlug) && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${t('general:document').toLowerCase()}`}\n collectionSlugs={[collectionSlug]}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\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: `${getTranslation(labels?.plural, i18n)} ${t('general:or').toLowerCase()} ${getTranslation(\n folderCollectionConfig.labels?.plural,\n i18n,\n )}`,\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}\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":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA8D,MAAM,OAAO,CAAA;AAGlF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAavC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAoRhC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA8D,MAAM,OAAO,CAAA;AAGlF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAYvC,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAsRhC,CAAA"}
@@ -15,11 +15,11 @@ import { useAuth } from '../../../providers/Auth/index.js';
15
15
  import { useConfig } from '../../../providers/Config/index.js';
16
16
  import { useDocumentInfo } from '../../../providers/DocumentInfo/index.js';
17
17
  import { useTranslation } from '../../../providers/Translation/index.js';
18
- import { APIKey } from './APIKey.js';
19
18
  import './index.scss';
19
+ import { APIKey } from './APIKey.js';
20
20
  const baseClass = 'auth-fields';
21
21
  export const Auth = props => {
22
- const $ = _c(22);
22
+ const $ = _c(34);
23
23
  const {
24
24
  className,
25
25
  collectionSlug,
@@ -85,44 +85,28 @@ export const Auth = props => {
85
85
  }
86
86
  if (hasLoginFieldOverride) {
87
87
  const hasEmailAndUsernameFields = loginWithUsername && (loginWithUsername.requireEmail || loginWithUsername.allowEmailLogin);
88
- let t2;
89
- if ($[0] !== docPermissions.fields) {
90
- t2 = getFieldPermissions({
91
- field: {
92
- name: "email",
93
- type: "text"
94
- },
95
- operation: "read",
96
- parentName: "",
97
- permissions: docPermissions?.fields
98
- });
99
- $[0] = docPermissions.fields;
100
- $[1] = t2;
101
- } else {
102
- t2 = $[1];
103
- }
104
88
  const {
105
89
  operation: emailPermission
106
- } = t2;
107
- let t3;
108
- if ($[2] !== docPermissions.fields) {
109
- t3 = getFieldPermissions({
110
- field: {
111
- name: "username",
112
- type: "text"
113
- },
114
- operation: "read",
115
- parentName: "",
116
- permissions: docPermissions?.fields
117
- });
118
- $[2] = docPermissions.fields;
119
- $[3] = t3;
120
- } else {
121
- t3 = $[3];
122
- }
90
+ } = getFieldPermissions({
91
+ field: {
92
+ name: "email",
93
+ type: "text"
94
+ },
95
+ operation: "read",
96
+ parentName: "",
97
+ permissions: docPermissions?.fields
98
+ });
123
99
  const {
124
100
  operation: usernamePermission
125
- } = t3;
101
+ } = getFieldPermissions({
102
+ field: {
103
+ name: "username",
104
+ type: "text"
105
+ },
106
+ operation: "read",
107
+ parentName: "",
108
+ permissions: docPermissions?.fields
109
+ });
126
110
  if (hasEmailAndUsernameFields) {
127
111
  showUnlock = usernamePermission || emailPermission;
128
112
  } else {
@@ -150,7 +134,7 @@ export const Auth = props => {
150
134
  }
151
135
  const hasPermissionToUnlock = t2;
152
136
  let t3;
153
- if ($[4] !== dispatchFields || $[5] !== setValidateBeforeSubmit || $[6] !== t) {
137
+ if ($[0] !== dispatchFields || $[1] !== setValidateBeforeSubmit || $[2] !== t) {
154
138
  t3 = changingPassword_0 => {
155
139
  if (changingPassword_0) {
156
140
  setValidateBeforeSubmit(true);
@@ -179,16 +163,16 @@ export const Auth = props => {
179
163
  }
180
164
  setChangingPassword(changingPassword_0);
181
165
  };
182
- $[4] = dispatchFields;
183
- $[5] = setValidateBeforeSubmit;
184
- $[6] = t;
185
- $[7] = t3;
166
+ $[0] = dispatchFields;
167
+ $[1] = setValidateBeforeSubmit;
168
+ $[2] = t;
169
+ $[3] = t3;
186
170
  } else {
187
- t3 = $[7];
171
+ t3 = $[3];
188
172
  }
189
173
  const handleChangePassword = t3;
190
174
  let t4;
191
- if ($[8] !== api || $[9] !== collectionSlug || $[10] !== email || $[11] !== i18n || $[12] !== loginWithUsername || $[13] !== serverURL || $[14] !== t || $[15] !== username) {
175
+ if ($[4] !== api || $[5] !== collectionSlug || $[6] !== email || $[7] !== i18n || $[8] !== loginWithUsername || $[9] !== serverURL || $[10] !== t || $[11] !== username) {
192
176
  t4 = async () => {
193
177
  const url = `${serverURL}${api}/${collectionSlug}/unlock`;
194
178
  const response = await fetch(url, {
@@ -210,34 +194,34 @@ export const Auth = props => {
210
194
  toast.error(t("authentication:failedToUnlock"));
211
195
  }
212
196
  };
213
- $[8] = api;
214
- $[9] = collectionSlug;
215
- $[10] = email;
216
- $[11] = i18n;
217
- $[12] = loginWithUsername;
218
- $[13] = serverURL;
219
- $[14] = t;
220
- $[15] = username;
221
- $[16] = t4;
197
+ $[4] = api;
198
+ $[5] = collectionSlug;
199
+ $[6] = email;
200
+ $[7] = i18n;
201
+ $[8] = loginWithUsername;
202
+ $[9] = serverURL;
203
+ $[10] = t;
204
+ $[11] = username;
205
+ $[12] = t4;
222
206
  } else {
223
- t4 = $[16];
207
+ t4 = $[12];
224
208
  }
225
209
  const unlock = t4;
226
210
  let t5;
227
211
  let t6;
228
- if ($[17] !== modified) {
212
+ if ($[13] !== modified) {
229
213
  t5 = () => {
230
214
  if (!modified) {
231
215
  setChangingPassword(false);
232
216
  }
233
217
  };
234
218
  t6 = [modified];
235
- $[17] = modified;
236
- $[18] = t5;
237
- $[19] = t6;
219
+ $[13] = modified;
220
+ $[14] = t5;
221
+ $[15] = t6;
238
222
  } else {
239
- t5 = $[18];
240
- t6 = $[19];
223
+ t5 = $[14];
224
+ t6 = $[15];
241
225
  }
242
226
  useEffect(t5, t6);
243
227
  const showAuthBlock = enableFields;
@@ -247,12 +231,70 @@ export const Auth = props => {
247
231
  return null;
248
232
  }
249
233
  let t7;
250
- if ($[20] !== className) {
234
+ if ($[16] !== className) {
251
235
  t7 = [baseClass, className].filter(Boolean);
252
- $[20] = className;
253
- $[21] = t7;
236
+ $[16] = className;
237
+ $[17] = t7;
238
+ } else {
239
+ t7 = $[17];
240
+ }
241
+ let t8;
242
+ if ($[18] !== apiKeyReadOnly || $[19] !== canReadApiKey || $[20] !== collectionSlug || $[21] !== disabled || $[22] !== enableAPIKey?.value || $[23] !== enableAPIKeyReadOnly || $[24] !== t || $[25] !== useAPIKey) {
243
+ t8 = useAPIKey && _jsx("div", {
244
+ className: `${baseClass}__api-key`,
245
+ children: canReadApiKey && _jsxs(Fragment, {
246
+ children: [_jsx(CheckboxField, {
247
+ field: {
248
+ name: "enableAPIKey",
249
+ admin: {
250
+ disabled,
251
+ readOnly: enableAPIKeyReadOnly
252
+ },
253
+ label: t("authentication:enableAPIKey")
254
+ },
255
+ path: "enableAPIKey",
256
+ schemaPath: `${collectionSlug}.enableAPIKey`
257
+ }), _jsx(APIKey, {
258
+ enabled: !!enableAPIKey?.value,
259
+ readOnly: apiKeyReadOnly
260
+ })]
261
+ })
262
+ });
263
+ $[18] = apiKeyReadOnly;
264
+ $[19] = canReadApiKey;
265
+ $[20] = collectionSlug;
266
+ $[21] = disabled;
267
+ $[22] = enableAPIKey?.value;
268
+ $[23] = enableAPIKeyReadOnly;
269
+ $[24] = t;
270
+ $[25] = useAPIKey;
271
+ $[26] = t8;
272
+ } else {
273
+ t8 = $[26];
274
+ }
275
+ let t9;
276
+ if ($[27] !== collectionSlug || $[28] !== disabled || $[29] !== isEditing || $[30] !== readOnly || $[31] !== t || $[32] !== verify) {
277
+ t9 = verify && isEditing && _jsx(CheckboxField, {
278
+ field: {
279
+ name: "_verified",
280
+ admin: {
281
+ disabled,
282
+ readOnly
283
+ },
284
+ label: t("authentication:verified")
285
+ },
286
+ path: "_verified",
287
+ schemaPath: `${collectionSlug}._verified`
288
+ });
289
+ $[27] = collectionSlug;
290
+ $[28] = disabled;
291
+ $[29] = isEditing;
292
+ $[30] = readOnly;
293
+ $[31] = t;
294
+ $[32] = verify;
295
+ $[33] = t9;
254
296
  } else {
255
- t7 = $[21];
297
+ t9 = $[33];
256
298
  }
257
299
  return _jsxs("div", {
258
300
  className: t7.join(" "),
@@ -303,37 +345,7 @@ export const Auth = props => {
303
345
  children: t("authentication:forceUnlock")
304
346
  })]
305
347
  })]
306
- }), useAPIKey && _jsx("div", {
307
- className: `${baseClass}__api-key`,
308
- children: canReadApiKey && _jsxs(Fragment, {
309
- children: [_jsx(CheckboxField, {
310
- field: {
311
- name: "enableAPIKey",
312
- admin: {
313
- disabled,
314
- readOnly: enableAPIKeyReadOnly
315
- },
316
- label: t("authentication:enableAPIKey")
317
- },
318
- path: "enableAPIKey",
319
- schemaPath: `${collectionSlug}.enableAPIKey`
320
- }), _jsx(APIKey, {
321
- enabled: !!enableAPIKey?.value,
322
- readOnly: apiKeyReadOnly
323
- })]
324
- })
325
- }), verify && isEditing && _jsx(CheckboxField, {
326
- field: {
327
- name: "_verified",
328
- admin: {
329
- disabled,
330
- readOnly
331
- },
332
- label: t("authentication:verified")
333
- },
334
- path: "_verified",
335
- schemaPath: `${collectionSlug}._verified`
336
- })]
348
+ }), t8, t9]
337
349
  });
338
350
  };
339
351
  function _temp(t0) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getFieldPermissions","React","Fragment","useCallback","useEffect","useMemo","useState","toast","Button","EmailAndUsernameFields","CheckboxField","ConfirmPasswordField","PasswordField","useFormFields","useFormModified","useAuth","useConfig","useDocumentInfo","useTranslation","APIKey","baseClass","Auth","props","$","className","collectionSlug","disableLocalStrategy","email","loginWithUsername","operation","readOnly","requirePassword","setValidateBeforeSubmit","useAPIKey","username","verify","permissions","changingPassword","setChangingPassword","enableAPIKey","_temp","dispatchFields","_temp2","modified","i18n","t","docPermissions","isEditing","isInitializing","isTrashed","config","t0","routes","t1","serverURL","api","showPasswordFields","showUnlock","hasPasswordFieldOverride","fields","hasLoginFieldOverride","passwordPermissions","field","name","type","parentName","create","update","hasEmailAndUsernameFields","requireEmail","allowEmailLogin","t2","emailPermission","t3","usernamePermission","enableFields","disabled","apiKeyPermissions","apiKeyReadOnly","enableAPIKeyReadOnly","canReadApiKey","read","bb0","collection","collections","Boolean","unlock","undefined","hasPermissionToUnlock","changingPassword_0","errorMessage","path","valid","handleChangePassword","t4","url","response","fetch","body","JSON","stringify","credentials","headers","language","method","status","success","error","t5","t6","showAuthBlock","showAPIKeyBlock","showVerifyBlock","t7","filter","_jsxs","join","children","_jsx","autoComplete","label","required","indexPath","parentPath","parentSchemaPath","schemaPath","buttonStyle","onClick","size","id","admin","enabled","value","reducer"],"sources":["../../../../src/views/Edit/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport { getFieldPermissions } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { EmailAndUsernameFields } from '../../../elements/EmailAndUsername/index.js'\nimport { CheckboxField } from '../../../fields/Checkbox/index.js'\nimport { ConfirmPasswordField } from '../../../fields/ConfirmPassword/index.js'\nimport { PasswordField } from '../../../fields/Password/index.js'\nimport { useFormFields, useFormModified } from '../../../forms/Form/context.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { APIKey } from './APIKey.js'\nimport './index.scss'\n\nconst baseClass = 'auth-fields'\n\nexport const Auth: React.FC<Props> = (props) => {\n const {\n className,\n collectionSlug,\n disableLocalStrategy,\n email,\n loginWithUsername,\n operation,\n readOnly,\n requirePassword,\n setValidateBeforeSubmit,\n useAPIKey,\n username,\n verify,\n } = props\n\n const { permissions } = useAuth()\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const enableAPIKey = useFormFields(([fields]) => (fields && fields?.enableAPIKey) || null)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n const { docPermissions, isEditing, isInitializing, isTrashed } = useDocumentInfo()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n let showPasswordFields = true\n let showUnlock = true\n const hasPasswordFieldOverride =\n typeof docPermissions.fields === 'object' && 'password' in docPermissions.fields\n const hasLoginFieldOverride =\n typeof docPermissions.fields === 'object' &&\n ('username' in docPermissions.fields || 'email' in docPermissions.fields)\n\n if (hasPasswordFieldOverride) {\n const { permissions: passwordPermissions } = getFieldPermissions({\n field: { name: 'password', type: 'text' },\n operation,\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n if (operation === 'create') {\n showPasswordFields =\n passwordPermissions === true ||\n (typeof passwordPermissions === 'object' && passwordPermissions.create)\n } else {\n showPasswordFields =\n passwordPermissions === true ||\n (typeof passwordPermissions === 'object' && passwordPermissions.update)\n }\n }\n\n if (hasLoginFieldOverride) {\n const hasEmailAndUsernameFields =\n loginWithUsername && (loginWithUsername.requireEmail || loginWithUsername.allowEmailLogin)\n\n const { operation: emailPermission } = getFieldPermissions({\n field: { name: 'email', type: 'text' },\n operation: 'read',\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n const { operation: usernamePermission } = getFieldPermissions({\n field: { name: 'username', type: 'text' },\n operation: 'read',\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n if (hasEmailAndUsernameFields) {\n showUnlock = usernamePermission || emailPermission\n } else if (loginWithUsername && !hasEmailAndUsernameFields) {\n showUnlock = usernamePermission\n } else {\n showUnlock = emailPermission\n }\n }\n\n const enableFields =\n (!disableLocalStrategy ||\n (typeof disableLocalStrategy === 'object' && disableLocalStrategy.enableFields === true)) &&\n (showUnlock || showPasswordFields)\n\n const disabled = readOnly || isInitializing || isTrashed\n\n const apiKeyPermissions =\n docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey\n\n const apiKeyReadOnly =\n readOnly ||\n apiKeyPermissions === true ||\n (apiKeyPermissions && typeof apiKeyPermissions === 'object' && !apiKeyPermissions?.update)\n\n const enableAPIKeyReadOnly =\n readOnly || (apiKeyPermissions !== true && !apiKeyPermissions?.update)\n\n const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read\n\n const hasPermissionToUnlock: boolean = useMemo(() => {\n const collection = permissions?.collections?.[collectionSlug]\n\n if (collection) {\n return Boolean('unlock' in collection ? collection.unlock : undefined)\n }\n\n return false\n }, [permissions, collectionSlug])\n\n const handleChangePassword = useCallback(\n (changingPassword: boolean) => {\n if (changingPassword) {\n setValidateBeforeSubmit(true)\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'password',\n valid: false,\n })\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'confirm-password',\n valid: false,\n })\n } else {\n setValidateBeforeSubmit(false)\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(changingPassword)\n },\n [dispatchFields, t, setValidateBeforeSubmit],\n )\n\n const unlock = useCallback(async () => {\n const url = `${serverURL}${api}/${collectionSlug}/unlock`\n const response = await fetch(url, {\n body:\n loginWithUsername && username ? JSON.stringify({ username }) : JSON.stringify({ email }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n if (response.status === 200) {\n toast.success(t('authentication:successfullyUnlocked'))\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, serverURL, api, collectionSlug, email, username, t, loginWithUsername])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n const showAuthBlock = enableFields\n const showAPIKeyBlock = useAPIKey && canReadApiKey\n const showVerifyBlock = verify && isEditing\n\n if (!(showAuthBlock || showAPIKeyBlock || showVerifyBlock)) {\n return null\n }\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n {enableFields && (\n <React.Fragment>\n <EmailAndUsernameFields\n loginWithUsername={loginWithUsername}\n operation={operation}\n permissions={docPermissions?.fields}\n readOnly={readOnly || isTrashed}\n t={t}\n />\n {(changingPassword || requirePassword) && (!disableLocalStrategy || !enableFields) && (\n <div className={`${baseClass}__changing-password`}>\n <PasswordField\n autoComplete=\"new-password\"\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n indexPath=\"\"\n parentPath=\"\"\n parentSchemaPath=\"\"\n path=\"password\"\n schemaPath=\"password\"\n />\n <ConfirmPasswordField disabled={readOnly || isTrashed} />\n </div>\n )}\n <div className={`${baseClass}__controls`}>\n {changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => handleChangePassword(false)}\n size=\"medium\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!changingPassword &&\n !requirePassword &&\n !disableLocalStrategy &&\n showPasswordFields && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"medium\"\n >\n {t('authentication:changePassword')}\n </Button>\n )}\n {operation === 'update' && hasPermissionToUnlock && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled || !showUnlock}\n onClick={() => void unlock()}\n size=\"medium\"\n >\n {t('authentication:forceUnlock')}\n </Button>\n )}\n </div>\n </React.Fragment>\n )}\n {useAPIKey && (\n <div className={`${baseClass}__api-key`}>\n {canReadApiKey && (\n <Fragment>\n <CheckboxField\n field={{\n name: 'enableAPIKey',\n admin: { disabled, readOnly: enableAPIKeyReadOnly },\n label: t('authentication:enableAPIKey'),\n }}\n path=\"enableAPIKey\"\n schemaPath={`${collectionSlug}.enableAPIKey`}\n />\n <APIKey enabled={!!enableAPIKey?.value} readOnly={apiKeyReadOnly} />\n </Fragment>\n )}\n </div>\n )}\n {verify && isEditing && (\n <CheckboxField\n field={{\n name: '_verified',\n admin: { disabled, readOnly },\n label: t('authentication:verified'),\n }}\n path=\"_verified\"\n schemaPath={`${collectionSlug}._verified`}\n />\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getFieldPermissions","React","Fragment","useCallback","useEffect","useMemo","useState","toast","Button","EmailAndUsernameFields","CheckboxField","ConfirmPasswordField","PasswordField","useFormFields","useFormModified","useAuth","useConfig","useDocumentInfo","useTranslation","APIKey","baseClass","Auth","props","$","className","collectionSlug","disableLocalStrategy","email","loginWithUsername","operation","readOnly","requirePassword","setValidateBeforeSubmit","useAPIKey","username","verify","permissions","changingPassword","setChangingPassword","enableAPIKey","_temp","dispatchFields","_temp2","modified","i18n","t","docPermissions","isEditing","isInitializing","isTrashed","config","t0","routes","t1","serverURL","api","showPasswordFields","showUnlock","hasPasswordFieldOverride","fields","hasLoginFieldOverride","passwordPermissions","field","name","type","parentName","create","update","hasEmailAndUsernameFields","requireEmail","allowEmailLogin","emailPermission","usernamePermission","enableFields","disabled","apiKeyPermissions","apiKeyReadOnly","enableAPIKeyReadOnly","canReadApiKey","read","t2","bb0","collection","collections","Boolean","unlock","undefined","hasPermissionToUnlock","t3","changingPassword_0","errorMessage","path","valid","handleChangePassword","t4","url","response","fetch","body","JSON","stringify","credentials","headers","language","method","status","success","error","t5","t6","showAuthBlock","showAPIKeyBlock","showVerifyBlock","t7","filter","t8","value","_jsx","children","_jsxs","admin","label","schemaPath","enabled","t9","join","autoComplete","required","indexPath","parentPath","parentSchemaPath","buttonStyle","onClick","size","id","reducer"],"sources":["../../../../src/views/Edit/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SanitizedFieldPermissions } from 'payload'\n\nimport { getFieldPermissions } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { EmailAndUsernameFields } from '../../../elements/EmailAndUsername/index.js'\nimport { CheckboxField } from '../../../fields/Checkbox/index.js'\nimport { ConfirmPasswordField } from '../../../fields/ConfirmPassword/index.js'\nimport { PasswordField } from '../../../fields/Password/index.js'\nimport { useFormFields, useFormModified } from '../../../forms/Form/context.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\nimport { APIKey } from './APIKey.js'\n\nconst baseClass = 'auth-fields'\n\nexport const Auth: React.FC<Props> = (props) => {\n const {\n className,\n collectionSlug,\n disableLocalStrategy,\n email,\n loginWithUsername,\n operation,\n readOnly,\n requirePassword,\n setValidateBeforeSubmit,\n useAPIKey,\n username,\n verify,\n } = props\n\n const { permissions } = useAuth()\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const enableAPIKey = useFormFields(([fields]) => (fields && fields?.enableAPIKey) || null)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n const { docPermissions, isEditing, isInitializing, isTrashed } = useDocumentInfo()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n let showPasswordFields: SanitizedFieldPermissions = true\n let showUnlock = true\n const hasPasswordFieldOverride =\n typeof docPermissions.fields === 'object' && 'password' in docPermissions.fields\n const hasLoginFieldOverride =\n typeof docPermissions.fields === 'object' &&\n ('username' in docPermissions.fields || 'email' in docPermissions.fields)\n\n if (hasPasswordFieldOverride) {\n const { permissions: passwordPermissions } = getFieldPermissions({\n field: { name: 'password', type: 'text' },\n operation,\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n if (operation === 'create') {\n showPasswordFields =\n passwordPermissions === true ||\n ((typeof passwordPermissions === 'object' &&\n passwordPermissions.create) as SanitizedFieldPermissions)\n } else {\n showPasswordFields =\n passwordPermissions === true ||\n ((typeof passwordPermissions === 'object' &&\n passwordPermissions.update) as SanitizedFieldPermissions)\n }\n }\n\n if (hasLoginFieldOverride) {\n const hasEmailAndUsernameFields =\n loginWithUsername && (loginWithUsername.requireEmail || loginWithUsername.allowEmailLogin)\n\n const { operation: emailPermission } = getFieldPermissions({\n field: { name: 'email', type: 'text' },\n operation: 'read',\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n const { operation: usernamePermission } = getFieldPermissions({\n field: { name: 'username', type: 'text' },\n operation: 'read',\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n if (hasEmailAndUsernameFields) {\n showUnlock = usernamePermission || emailPermission\n } else if (loginWithUsername && !hasEmailAndUsernameFields) {\n showUnlock = usernamePermission\n } else {\n showUnlock = emailPermission\n }\n }\n\n const enableFields =\n (!disableLocalStrategy ||\n (typeof disableLocalStrategy === 'object' && disableLocalStrategy.enableFields === true)) &&\n (showUnlock || showPasswordFields)\n\n const disabled = readOnly || isInitializing || isTrashed\n\n const apiKeyPermissions =\n docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey\n\n const apiKeyReadOnly =\n readOnly ||\n apiKeyPermissions === true ||\n (apiKeyPermissions && typeof apiKeyPermissions === 'object' && !apiKeyPermissions?.update)\n\n const enableAPIKeyReadOnly =\n readOnly || (apiKeyPermissions !== true && !apiKeyPermissions?.update)\n\n const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read\n\n const hasPermissionToUnlock: boolean = useMemo(() => {\n const collection = permissions?.collections?.[collectionSlug]\n\n if (collection) {\n return Boolean('unlock' in collection ? collection.unlock : undefined)\n }\n\n return false\n }, [permissions, collectionSlug])\n\n const handleChangePassword = useCallback(\n (changingPassword: boolean) => {\n if (changingPassword) {\n setValidateBeforeSubmit(true)\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'password',\n valid: false,\n })\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'confirm-password',\n valid: false,\n })\n } else {\n setValidateBeforeSubmit(false)\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(changingPassword)\n },\n [dispatchFields, t, setValidateBeforeSubmit],\n )\n\n const unlock = useCallback(async () => {\n const url = `${serverURL}${api}/${collectionSlug}/unlock`\n const response = await fetch(url, {\n body:\n loginWithUsername && username ? JSON.stringify({ username }) : JSON.stringify({ email }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n if (response.status === 200) {\n toast.success(t('authentication:successfullyUnlocked'))\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, serverURL, api, collectionSlug, email, username, t, loginWithUsername])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n const showAuthBlock = enableFields\n const showAPIKeyBlock = useAPIKey && canReadApiKey\n const showVerifyBlock = verify && isEditing\n\n if (!(showAuthBlock || showAPIKeyBlock || showVerifyBlock)) {\n return null\n }\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n {enableFields && (\n <React.Fragment>\n <EmailAndUsernameFields\n loginWithUsername={loginWithUsername}\n operation={operation}\n permissions={docPermissions?.fields}\n readOnly={readOnly || isTrashed}\n t={t}\n />\n {(changingPassword || requirePassword) && (!disableLocalStrategy || !enableFields) && (\n <div className={`${baseClass}__changing-password`}>\n <PasswordField\n autoComplete=\"new-password\"\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n indexPath=\"\"\n parentPath=\"\"\n parentSchemaPath=\"\"\n path=\"password\"\n schemaPath=\"password\"\n />\n <ConfirmPasswordField disabled={readOnly || isTrashed} />\n </div>\n )}\n <div className={`${baseClass}__controls`}>\n {changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => handleChangePassword(false)}\n size=\"medium\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!changingPassword &&\n !requirePassword &&\n !disableLocalStrategy &&\n showPasswordFields && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"medium\"\n >\n {t('authentication:changePassword')}\n </Button>\n )}\n {operation === 'update' && hasPermissionToUnlock && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled || !showUnlock}\n onClick={() => void unlock()}\n size=\"medium\"\n >\n {t('authentication:forceUnlock')}\n </Button>\n )}\n </div>\n </React.Fragment>\n )}\n {useAPIKey && (\n <div className={`${baseClass}__api-key`}>\n {canReadApiKey && (\n <Fragment>\n <CheckboxField\n field={{\n name: 'enableAPIKey',\n admin: { disabled, readOnly: enableAPIKeyReadOnly },\n label: t('authentication:enableAPIKey'),\n }}\n path=\"enableAPIKey\"\n schemaPath={`${collectionSlug}.enableAPIKey`}\n />\n <APIKey enabled={!!enableAPIKey?.value} readOnly={apiKeyReadOnly} />\n </Fragment>\n )}\n </div>\n )}\n {verify && isEditing && (\n <CheckboxField\n field={{\n name: '_verified',\n admin: { disabled, readOnly },\n label: t('authentication:verified'),\n }}\n path=\"_verified\"\n schemaPath={`${collectionSlug}._verified`}\n />\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/ListHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGhE,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,OAAO,cAAc,CAAA;AAQrB,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC;;;;;OAKG;IACH,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,UAAU,EAAE,OAAO,CAAA;IACnB,uEAAuE;IACvE,CAAC,CAAC,EAAE,SAAS,CAAA;IACb,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAChC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA0H1D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/ListHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGhE,OAAO,KAAK,MAAM,OAAO,CAAA;AAgBzB,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAA;IAChC;;;;;OAKG;IACH,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,UAAU,EAAE,OAAO,CAAA;IACnB,uEAAuE;IACvE,CAAC,CAAC,EAAE,SAAS,CAAA;IACb,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAChC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA0G1D,CAAA"}
@@ -2,18 +2,16 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import { getTranslation } from '@payloadcms/translations';
3
3
  import React from 'react';
4
4
  import { CloseModalButton } from '../../../elements/CloseModalButton/index.js';
5
+ import { DefaultListViewTabs } from '../../../elements/DefaultListViewTabs/index.js';
5
6
  import { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js';
6
7
  import { DrawerRelationshipSelect } from '../../../elements/ListHeader/DrawerRelationshipSelect/index.js';
7
8
  import { ListDrawerCreateNewDocButton } from '../../../elements/ListHeader/DrawerTitleActions/index.js';
8
9
  import { ListHeader } from '../../../elements/ListHeader/index.js';
9
10
  import { ListBulkUploadButton, ListCreateNewButton, ListEmptyTrashButton } from '../../../elements/ListHeader/TitleActions/index.js';
10
- import { ByFolderPill } from '../../../elements/ListHeaderTabs/ByFolderPill.js';
11
- import { DefaultListPill } from '../../../elements/ListHeaderTabs/DefaultListPill.js';
12
- import './index.scss';
13
- import { TrashPill } from '../../../elements/ListHeaderTabs/TrashPill.js';
14
11
  import { useConfig } from '../../../providers/Config/index.js';
15
12
  import { useListQuery } from '../../../providers/ListQuery/index.js';
16
13
  import { ListSelection } from '../ListSelection/index.js';
14
+ import './index.scss';
17
15
  const drawerBaseClass = 'list-drawer';
18
16
  export const CollectionListHeader = ({
19
17
  className,
@@ -71,17 +69,11 @@ export const CollectionListHeader = ({
71
69
  label: getTranslation(collectionConfig?.labels?.plural, i18n),
72
70
  showSelectAllAcrossPages: !isGroupingBy,
73
71
  viewType: viewType
74
- }, "list-selection"), (collectionConfig.folders && config.folders || isTrashEnabled) && /*#__PURE__*/_jsx(DefaultListPill, {
75
- collectionConfig: collectionConfig,
76
- viewType: viewType
77
- }, "list-header-default-button"), collectionConfig.folders && config.folders && /*#__PURE__*/_jsx(ByFolderPill, {
78
- collectionConfig: collectionConfig,
79
- folderCollectionSlug: config.folders.slug,
80
- viewType: viewType
81
- }, "list-header-by-folder-button"), isTrashEnabled && /*#__PURE__*/_jsx(TrashPill, {
72
+ }, "list-selection"), /*#__PURE__*/_jsx(DefaultListViewTabs, {
82
73
  collectionConfig: collectionConfig,
74
+ config: config,
83
75
  viewType: viewType
84
- }, "list-header-trash-button")].filter(Boolean),
76
+ }, "default-list-actions")].filter(Boolean),
85
77
  AfterListHeaderContent: Description,
86
78
  className: className,
87
79
  title: getTranslation(collectionConfig?.labels?.plural, i18n),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","CloseModalButton","useListDrawerContext","DrawerRelationshipSelect","ListDrawerCreateNewDocButton","ListHeader","ListBulkUploadButton","ListCreateNewButton","ListEmptyTrashButton","ByFolderPill","DefaultListPill","TrashPill","useConfig","useListQuery","ListSelection","drawerBaseClass","CollectionListHeader","className","collectionConfig","Description","disableBulkDelete","disableBulkEdit","hasCreatePermission","hasDeletePermission","i18n","isBulkUploadEnabled","isTrashEnabled","newDocumentURL","onBulkUploadSuccess","openBulkUpload","smallBreak","viewType","config","getEntityConfig","drawerSlug","isInDrawer","selectedOption","isTrashRoute","isGroupingBy","_jsx","Actions","slug","AfterListHeaderContent","_jsxs","_Fragment","title","collectionSlug","value","labels","plural","TitleActions","filter","Boolean","label","showSelectAllAcrossPages","folders","folderCollectionSlug"],"sources":["../../../../src/views/List/ListHeader/index.tsx"],"sourcesContent":["import type { I18nClient, TFunction } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, ViewTypes } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { CloseModalButton } from '../../../elements/CloseModalButton/index.js'\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { DrawerRelationshipSelect } from '../../../elements/ListHeader/DrawerRelationshipSelect/index.js'\nimport { ListDrawerCreateNewDocButton } from '../../../elements/ListHeader/DrawerTitleActions/index.js'\nimport { ListHeader } from '../../../elements/ListHeader/index.js'\nimport {\n ListBulkUploadButton,\n ListCreateNewButton,\n ListEmptyTrashButton,\n} from '../../../elements/ListHeader/TitleActions/index.js'\nimport { ByFolderPill } from '../../../elements/ListHeaderTabs/ByFolderPill.js'\nimport { DefaultListPill } from '../../../elements/ListHeaderTabs/DefaultListPill.js'\nimport './index.scss'\nimport { TrashPill } from '../../../elements/ListHeaderTabs/TrashPill.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useListQuery } from '../../../providers/ListQuery/index.js'\nimport { ListSelection } from '../ListSelection/index.js'\n\nconst drawerBaseClass = 'list-drawer'\n\nexport type ListHeaderProps = {\n Actions?: React.ReactNode[]\n className?: string\n collectionConfig: ClientCollectionConfig\n Description?: React.ReactNode\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n hasCreatePermission: boolean\n hasDeletePermission?: boolean\n i18n: I18nClient\n isBulkUploadEnabled: boolean\n isTrashEnabled?: boolean\n newDocumentURL: string\n onBulkUploadSuccess?: () => void\n /** @deprecated This prop will be removed in the next major version.\n *\n * Opening of the bulk upload modal is handled internally.\n *\n * Prefer `onBulkUploadSuccess` usage to handle the success of the bulk upload.\n */\n openBulkUpload: () => void\n smallBreak: boolean\n /** @deprecated This prop will be removed in the next major version. */\n t?: TFunction\n TitleActions?: React.ReactNode[]\n viewType?: ViewTypes\n}\n\nexport const CollectionListHeader: React.FC<ListHeaderProps> = ({\n className,\n collectionConfig,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n hasCreatePermission,\n hasDeletePermission,\n i18n,\n isBulkUploadEnabled,\n isTrashEnabled,\n newDocumentURL,\n onBulkUploadSuccess,\n openBulkUpload,\n smallBreak,\n viewType,\n}) => {\n const { config, getEntityConfig } = useConfig()\n const { drawerSlug, isInDrawer, selectedOption } = useListDrawerContext()\n const isTrashRoute = viewType === 'trash'\n const { isGroupingBy } = useListQuery()\n\n if (isInDrawer) {\n return (\n <ListHeader\n Actions={[\n <CloseModalButton\n className={`${drawerBaseClass}__header-close`}\n key=\"close-button\"\n slug={drawerSlug}\n />,\n ]}\n AfterListHeaderContent={\n <>\n {Description}\n {<DrawerRelationshipSelect />}\n </>\n }\n className={`${drawerBaseClass}__header`}\n title={getTranslation(\n getEntityConfig({ collectionSlug: selectedOption.value })?.labels?.plural,\n i18n,\n )}\n TitleActions={[\n <ListDrawerCreateNewDocButton\n hasCreatePermission={hasCreatePermission}\n key=\"list-drawer-create-new-doc\"\n />,\n ].filter(Boolean)}\n />\n )\n }\n\n return (\n <ListHeader\n Actions={[\n !smallBreak && !isGroupingBy && (\n <ListSelection\n collectionConfig={collectionConfig}\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n key=\"list-selection\"\n label={getTranslation(collectionConfig?.labels?.plural, i18n)}\n showSelectAllAcrossPages={!isGroupingBy}\n viewType={viewType}\n />\n ),\n ((collectionConfig.folders && config.folders) || isTrashEnabled) && (\n <DefaultListPill\n collectionConfig={collectionConfig}\n key=\"list-header-default-button\"\n viewType={viewType}\n />\n ),\n collectionConfig.folders && config.folders && (\n <ByFolderPill\n collectionConfig={collectionConfig}\n folderCollectionSlug={config.folders.slug}\n key=\"list-header-by-folder-button\"\n viewType={viewType}\n />\n ),\n isTrashEnabled && (\n <TrashPill\n collectionConfig={collectionConfig}\n key=\"list-header-trash-button\"\n viewType={viewType}\n />\n ),\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n className={className}\n title={getTranslation(collectionConfig?.labels?.plural, i18n)}\n TitleActions={[\n hasCreatePermission && !isTrashRoute && (\n <ListCreateNewButton\n collectionConfig={collectionConfig}\n hasCreatePermission={hasCreatePermission}\n key=\"list-header-create-new-doc\"\n newDocumentURL={newDocumentURL}\n />\n ),\n hasCreatePermission && isBulkUploadEnabled && !isTrashRoute && (\n <ListBulkUploadButton\n collectionSlug={collectionConfig.slug}\n hasCreatePermission={hasCreatePermission}\n isBulkUploadEnabled={isBulkUploadEnabled}\n key=\"list-header-bulk-upload\"\n onBulkUploadSuccess={onBulkUploadSuccess}\n openBulkUpload={openBulkUpload}\n />\n ),\n hasDeletePermission && isTrashEnabled && viewType === 'trash' && (\n <ListEmptyTrashButton\n collectionConfig={collectionConfig}\n hasDeletePermission={hasDeletePermission}\n key=\"list-header-empty-trash\"\n />\n ),\n ].filter(Boolean)}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","CloseModalButton","DefaultListViewTabs","useListDrawerContext","DrawerRelationshipSelect","ListDrawerCreateNewDocButton","ListHeader","ListBulkUploadButton","ListCreateNewButton","ListEmptyTrashButton","useConfig","useListQuery","ListSelection","drawerBaseClass","CollectionListHeader","className","collectionConfig","Description","disableBulkDelete","disableBulkEdit","hasCreatePermission","hasDeletePermission","i18n","isBulkUploadEnabled","isTrashEnabled","newDocumentURL","onBulkUploadSuccess","openBulkUpload","smallBreak","viewType","config","getEntityConfig","drawerSlug","isInDrawer","selectedOption","isTrashRoute","isGroupingBy","_jsx","Actions","slug","AfterListHeaderContent","_jsxs","_Fragment","title","collectionSlug","value","labels","plural","TitleActions","filter","Boolean","label","showSelectAllAcrossPages"],"sources":["../../../../src/views/List/ListHeader/index.tsx"],"sourcesContent":["import type { I18nClient, TFunction } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, ViewTypes } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { CloseModalButton } from '../../../elements/CloseModalButton/index.js'\nimport { DefaultListViewTabs } from '../../../elements/DefaultListViewTabs/index.js'\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { DrawerRelationshipSelect } from '../../../elements/ListHeader/DrawerRelationshipSelect/index.js'\nimport { ListDrawerCreateNewDocButton } from '../../../elements/ListHeader/DrawerTitleActions/index.js'\nimport { ListHeader } from '../../../elements/ListHeader/index.js'\nimport {\n ListBulkUploadButton,\n ListCreateNewButton,\n ListEmptyTrashButton,\n} from '../../../elements/ListHeader/TitleActions/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useListQuery } from '../../../providers/ListQuery/index.js'\nimport { ListSelection } from '../ListSelection/index.js'\nimport './index.scss'\n\nconst drawerBaseClass = 'list-drawer'\n\nexport type ListHeaderProps = {\n Actions?: React.ReactNode[]\n className?: string\n collectionConfig: ClientCollectionConfig\n Description?: React.ReactNode\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n hasCreatePermission: boolean\n hasDeletePermission?: boolean\n i18n: I18nClient\n isBulkUploadEnabled: boolean\n isTrashEnabled?: boolean\n newDocumentURL: string\n onBulkUploadSuccess?: () => void\n /** @deprecated This prop will be removed in the next major version.\n *\n * Opening of the bulk upload modal is handled internally.\n *\n * Prefer `onBulkUploadSuccess` usage to handle the success of the bulk upload.\n */\n openBulkUpload: () => void\n smallBreak: boolean\n /** @deprecated This prop will be removed in the next major version. */\n t?: TFunction\n TitleActions?: React.ReactNode[]\n viewType?: ViewTypes\n}\n\nexport const CollectionListHeader: React.FC<ListHeaderProps> = ({\n className,\n collectionConfig,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n hasCreatePermission,\n hasDeletePermission,\n i18n,\n isBulkUploadEnabled,\n isTrashEnabled,\n newDocumentURL,\n onBulkUploadSuccess,\n openBulkUpload,\n smallBreak,\n viewType,\n}) => {\n const { config, getEntityConfig } = useConfig()\n const { drawerSlug, isInDrawer, selectedOption } = useListDrawerContext()\n const isTrashRoute = viewType === 'trash'\n const { isGroupingBy } = useListQuery()\n\n if (isInDrawer) {\n return (\n <ListHeader\n Actions={[\n <CloseModalButton\n className={`${drawerBaseClass}__header-close`}\n key=\"close-button\"\n slug={drawerSlug}\n />,\n ]}\n AfterListHeaderContent={\n <>\n {Description}\n {<DrawerRelationshipSelect />}\n </>\n }\n className={`${drawerBaseClass}__header`}\n title={getTranslation(\n getEntityConfig({ collectionSlug: selectedOption.value })?.labels?.plural,\n i18n,\n )}\n TitleActions={[\n <ListDrawerCreateNewDocButton\n hasCreatePermission={hasCreatePermission}\n key=\"list-drawer-create-new-doc\"\n />,\n ].filter(Boolean)}\n />\n )\n }\n\n return (\n <ListHeader\n Actions={[\n !smallBreak && !isGroupingBy && (\n <ListSelection\n collectionConfig={collectionConfig}\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n key=\"list-selection\"\n label={getTranslation(collectionConfig?.labels?.plural, i18n)}\n showSelectAllAcrossPages={!isGroupingBy}\n viewType={viewType}\n />\n ),\n <DefaultListViewTabs\n collectionConfig={collectionConfig}\n config={config}\n key=\"default-list-actions\"\n viewType={viewType}\n />,\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n className={className}\n title={getTranslation(collectionConfig?.labels?.plural, i18n)}\n TitleActions={[\n hasCreatePermission && !isTrashRoute && (\n <ListCreateNewButton\n collectionConfig={collectionConfig}\n hasCreatePermission={hasCreatePermission}\n key=\"list-header-create-new-doc\"\n newDocumentURL={newDocumentURL}\n />\n ),\n hasCreatePermission && isBulkUploadEnabled && !isTrashRoute && (\n <ListBulkUploadButton\n collectionSlug={collectionConfig.slug}\n hasCreatePermission={hasCreatePermission}\n isBulkUploadEnabled={isBulkUploadEnabled}\n key=\"list-header-bulk-upload\"\n onBulkUploadSuccess={onBulkUploadSuccess}\n openBulkUpload={openBulkUpload}\n />\n ),\n hasDeletePermission && isTrashEnabled && viewType === 'trash' && (\n <ListEmptyTrashButton\n collectionConfig={collectionConfig}\n hasDeletePermission={hasDeletePermission}\n key=\"list-header-empty-trash\"\n />\n ),\n ].filter(Boolean)}\n />\n )\n}\n"],"mappings":";AAGA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,gBAAgB,QAAQ;AACjC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,wBAAwB,QAAQ;AACzC,SAASC,4BAA4B,QAAQ;AAC7C,SAASC,UAAU,QAAQ;AAC3B,SACEC,oBAAoB,EACpBC,mBAAmB,EACnBC,oBAAoB,QACf;AACP,SAASC,SAAS,QAAQ;AAC1B,SAASC,YAAY,QAAQ;AAC7B,SAASC,aAAa,QAAQ;AAC9B,OAAO;AAEP,MAAMC,eAAA,GAAkB;AA8BxB,OAAO,MAAMC,oBAAA,GAAkDA,CAAC;EAC9DC,SAAS;EACTC,gBAAgB;EAChBC,WAAW;EACXC,iBAAiB;EACjBC,eAAe;EACfC,mBAAmB;EACnBC,mBAAmB;EACnBC,IAAI;EACJC,mBAAmB;EACnBC,cAAc;EACdC,cAAc;EACdC,mBAAmB;EACnBC,cAAc;EACdC,UAAU;EACVC;AAAQ,CACT;EACC,MAAM;IAAEC,MAAM;IAAEC;EAAe,CAAE,GAAGrB,SAAA;EACpC,MAAM;IAAEsB,UAAU;IAAEC,UAAU;IAAEC;EAAc,CAAE,GAAG/B,oBAAA;EACnD,MAAMgC,YAAA,GAAeN,QAAA,KAAa;EAClC,MAAM;IAAEO;EAAY,CAAE,GAAGzB,YAAA;EAEzB,IAAIsB,UAAA,EAAY;IACd,oBACEI,IAAA,CAAC/B,UAAA;MACCgC,OAAA,EAAS,C,aACPD,IAAA,CAACpC,gBAAA;QACCc,SAAA,EAAW,GAAGF,eAAA,gBAA+B;QAE7C0B,IAAA,EAAMP;SADF,gBAGP;MACDQ,sBAAA,eACEC,KAAA,CAAAC,SAAA;mBACGzB,WAAA,E,aACAoB,IAAA,CAACjC,wBAAA;;MAGNW,SAAA,EAAW,GAAGF,eAAA,UAAyB;MACvC8B,KAAA,EAAO5C,cAAA,CACLgC,eAAA,CAAgB;QAAEa,cAAA,EAAgBV,cAAA,CAAeW;MAAM,IAAIC,MAAA,EAAQC,MAAA,EACnEzB,IAAA;MAEF0B,YAAA,EAAc,C,aACZX,IAAA,CAAChC,4BAAA;QACCe,mBAAA,EAAqBA;SACjB,8BAEP,CAAC6B,MAAM,CAACC,OAAA;;EAGf;EAEA,oBACEb,IAAA,CAAC/B,UAAA;IACCgC,OAAA,EAAS,CACP,CAACV,UAAA,IAAc,CAACQ,YAAA,iBACdC,IAAA,CAACzB,aAAA;MACCI,gBAAA,EAAkBA,gBAAA;MAClBE,iBAAA,EAAmBA,iBAAA;MACnBC,eAAA,EAAiBA,eAAA;MAEjBgC,KAAA,EAAOpD,cAAA,CAAeiB,gBAAA,EAAkB8B,MAAA,EAAQC,MAAA,EAAQzB,IAAA;MACxD8B,wBAAA,EAA0B,CAAChB,YAAA;MAC3BP,QAAA,EAAUA;OAHN,mB,aAMRQ,IAAA,CAACnC,mBAAA;MACCc,gBAAA,EAAkBA,gBAAA;MAClBc,MAAA,EAAQA,MAAA;MAERD,QAAA,EAAUA;OADN,wBAGP,CAACoB,MAAM,CAACC,OAAA;IACTV,sBAAA,EAAwBvB,WAAA;IACxBF,SAAA,EAAWA,SAAA;IACX4B,KAAA,EAAO5C,cAAA,CAAeiB,gBAAA,EAAkB8B,MAAA,EAAQC,MAAA,EAAQzB,IAAA;IACxD0B,YAAA,EAAc,CACZ5B,mBAAA,IAAuB,CAACe,YAAA,iBACtBE,IAAA,CAAC7B,mBAAA;MACCQ,gBAAA,EAAkBA,gBAAA;MAClBI,mBAAA,EAAqBA,mBAAA;MAErBK,cAAA,EAAgBA;OADZ,+BAIRL,mBAAA,IAAuBG,mBAAA,IAAuB,CAACY,YAAA,iBAC7CE,IAAA,CAAC9B,oBAAA;MACCqC,cAAA,EAAgB5B,gBAAA,CAAiBuB,IAAI;MACrCnB,mBAAA,EAAqBA,mBAAA;MACrBG,mBAAA,EAAqBA,mBAAA;MAErBG,mBAAA,EAAqBA,mBAAA;MACrBC,cAAA,EAAgBA;OAFZ,4BAKRN,mBAAA,IAAuBG,cAAA,IAAkBK,QAAA,KAAa,wBACpDQ,IAAA,CAAC5B,oBAAA;MACCO,gBAAA,EAAkBA,gBAAA;MAClBK,mBAAA,EAAqBA;OACjB,2BAGT,CAAC4B,MAAM,CAACC,OAAA;;AAGf","ignoreList":[]}