@payloadcms/ui 4.0.0-internal.8001944 → 4.0.0-internal.8089ef7

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 (715) hide show
  1. package/dist/css/app.css +1 -1
  2. package/dist/css/forms.css +0 -1
  3. package/dist/css/spacing.css +1 -1
  4. package/dist/css/typography.css +161 -55
  5. package/dist/elements/APIKeyInput/index.css +2 -2
  6. package/dist/elements/AppHeader/index.css +1 -1
  7. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  8. package/dist/elements/AppHeader/index.js +9 -2
  9. package/dist/elements/AppHeader/index.js.map +1 -1
  10. package/dist/elements/Autosave/index.d.ts.map +1 -1
  11. package/dist/elements/Autosave/index.js +10 -3
  12. package/dist/elements/Autosave/index.js.map +1 -1
  13. package/dist/elements/Banner/index.css +3 -4
  14. package/dist/elements/BulkUpload/EditMany/index.css +4 -5
  15. package/dist/elements/BulkUpload/FileSidebar/index.css +0 -1
  16. package/dist/elements/BulkUpload/FileSidebar/index.js +1 -1
  17. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  18. package/dist/elements/Button/index.css +31 -1
  19. package/dist/elements/Button/types.d.ts +1 -1
  20. package/dist/elements/Button/types.d.ts.map +1 -1
  21. package/dist/elements/Button/types.js.map +1 -1
  22. package/dist/elements/Card/index.css +3 -4
  23. package/dist/elements/CardGrid/index.css +20 -0
  24. package/dist/elements/CardGrid/index.d.ts +13 -0
  25. package/dist/elements/CardGrid/index.d.ts.map +1 -0
  26. package/dist/elements/CardGrid/index.js +23 -0
  27. package/dist/elements/CardGrid/index.js.map +1 -0
  28. package/dist/elements/Chip/index.css +0 -1
  29. package/dist/elements/CloseModalOnRouteChange/index.d.ts.map +1 -1
  30. package/dist/elements/CloseModalOnRouteChange/index.js +27 -19
  31. package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
  32. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  33. package/dist/elements/CodeEditor/CodeEditor.js +5 -0
  34. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  35. package/dist/elements/Collapsible/index.css +4 -1
  36. package/dist/elements/ColumnSelection/Popup.css +6 -11
  37. package/dist/elements/CommandPalette/index.css +3 -8
  38. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  39. package/dist/elements/CopyToClipboard/index.js +62 -54
  40. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  41. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  42. package/dist/elements/CreateDocumentButton/index.js +56 -33
  43. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  44. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  45. package/dist/elements/DatePicker/DatePicker.js +88 -15
  46. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  47. package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts +8 -0
  48. package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts.map +1 -0
  49. package/dist/elements/DatePicker/hasAmbiguousYearInput.js +37 -0
  50. package/dist/elements/DatePicker/hasAmbiguousYearInput.js.map +1 -0
  51. package/dist/elements/DatePicker/index.css +27 -17
  52. package/dist/elements/DatePicker/useDatePickerKeyboard.d.ts +18 -0
  53. package/dist/elements/DatePicker/useDatePickerKeyboard.d.ts.map +1 -0
  54. package/dist/elements/DatePicker/useDatePickerKeyboard.js +212 -0
  55. package/dist/elements/DatePicker/useDatePickerKeyboard.js.map +1 -0
  56. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  57. package/dist/elements/DefaultListViewTabs/index.js +9 -7
  58. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  59. package/dist/elements/Dialog/DialogTitle/index.css +1 -1
  60. package/dist/elements/Dialog/index.css +1 -2
  61. package/dist/elements/DocumentCard/index.css +73 -0
  62. package/dist/elements/DocumentCard/index.d.ts +18 -0
  63. package/dist/elements/DocumentCard/index.d.ts.map +1 -0
  64. package/dist/elements/DocumentCard/index.js +182 -0
  65. package/dist/elements/DocumentCard/index.js.map +1 -0
  66. package/dist/elements/DocumentControls/index.css +14 -15
  67. package/dist/elements/DocumentControls/index.d.ts +4 -2
  68. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  69. package/dist/elements/DocumentControls/index.js.map +1 -1
  70. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +4 -7
  71. package/dist/elements/DocumentDrawer/types.d.ts +1 -5
  72. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  73. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  74. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.css +2 -2
  75. package/dist/elements/DocumentFields/index.css +5 -5
  76. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  77. package/dist/elements/DocumentFields/index.js +1 -2
  78. package/dist/elements/DocumentFields/index.js.map +1 -1
  79. package/dist/elements/DocumentHeader/index.css +1 -1
  80. package/dist/elements/Drawer/index.css +4 -5
  81. package/dist/elements/Drawer/types.d.ts +2 -2
  82. package/dist/elements/Drawer/types.d.ts.map +1 -1
  83. package/dist/elements/Drawer/types.js.map +1 -1
  84. package/dist/elements/EditMany/index.css +4 -5
  85. package/dist/elements/EditUpload/index.css +3 -4
  86. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  87. package/dist/elements/EditUpload/index.js +13 -2
  88. package/dist/elements/EditUpload/index.js.map +1 -1
  89. package/dist/elements/EditUpload/library.css +6 -13
  90. package/dist/elements/ErrorPill/index.css +0 -1
  91. package/dist/elements/FieldDiffContainer/index.css +0 -1
  92. package/dist/elements/FieldDiffLabel/index.css +4 -5
  93. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  94. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  95. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  96. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  97. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  98. package/dist/elements/FileDetails/FileMeta/index.js +41 -21
  99. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  100. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +1 -1
  101. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  102. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  103. package/dist/elements/FileDetails/index.d.ts +1 -1
  104. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  105. package/dist/elements/FileDetails/index.js.map +1 -1
  106. package/dist/elements/FileManager/FilePreview/index.css +2 -3
  107. package/dist/elements/FileManager/FilePreview/index.js +4 -4
  108. package/dist/elements/FileManager/FilePreview/index.js.map +1 -1
  109. package/dist/elements/FileManager/FileToolbar/index.css +2 -3
  110. package/dist/elements/FileManager/index.css +0 -1
  111. package/dist/elements/FileManager/index.d.ts.map +1 -1
  112. package/dist/elements/FileManager/index.js +13 -6
  113. package/dist/elements/FileManager/index.js.map +1 -1
  114. package/dist/elements/FormHeader/index.css +0 -2
  115. package/dist/elements/GroupBy/Popup.css +3 -6
  116. package/dist/elements/HTMLDiff/index.css +0 -1
  117. package/dist/elements/Hierarchy/ActionsMenu/index.css +18 -0
  118. package/dist/elements/Hierarchy/ActionsMenu/index.d.ts +35 -0
  119. package/dist/elements/Hierarchy/ActionsMenu/index.d.ts.map +1 -0
  120. package/dist/elements/Hierarchy/ActionsMenu/index.js +99 -0
  121. package/dist/elements/Hierarchy/ActionsMenu/index.js.map +1 -0
  122. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +18 -16
  123. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  124. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  125. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +40 -36
  126. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  127. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  128. package/dist/elements/Hierarchy/ColumnBrowser/index.js +15 -58
  129. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  130. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +2 -0
  131. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  132. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  133. package/dist/elements/Hierarchy/DocHeaderButton/index.css +12 -0
  134. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  135. package/dist/elements/Hierarchy/DocHeaderButton/index.js +88 -13
  136. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  137. package/dist/elements/Hierarchy/EditButton/index.d.ts +8 -0
  138. package/dist/elements/Hierarchy/EditButton/index.d.ts.map +1 -0
  139. package/dist/elements/Hierarchy/EditButton/index.js +93 -0
  140. package/dist/elements/Hierarchy/EditButton/index.js.map +1 -0
  141. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts +9 -0
  142. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts.map +1 -0
  143. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js +41 -0
  144. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js.map +1 -0
  145. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  146. package/dist/elements/Hierarchy/Field/index.client.js +120 -105
  147. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  148. package/dist/elements/Hierarchy/Field/index.css +0 -1
  149. package/dist/elements/Hierarchy/Modal/Footer/index.css +33 -0
  150. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +21 -0
  151. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
  152. package/dist/elements/Hierarchy/Modal/Footer/index.js +122 -0
  153. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
  154. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +8 -3
  155. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  156. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +38 -12
  157. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  158. package/dist/elements/Hierarchy/Modal/index.css +0 -56
  159. package/dist/elements/Hierarchy/Modal/index.d.ts +5 -3
  160. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  161. package/dist/elements/Hierarchy/Modal/index.js +90 -102
  162. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  163. package/dist/elements/Hierarchy/Modal/selection.d.ts +12 -0
  164. package/dist/elements/Hierarchy/Modal/selection.d.ts.map +1 -0
  165. package/dist/elements/Hierarchy/Modal/selection.js +40 -0
  166. package/dist/elements/Hierarchy/Modal/selection.js.map +1 -0
  167. package/dist/elements/Hierarchy/Modal/types.d.ts +4 -0
  168. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
  169. package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
  170. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -1
  171. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js +1 -1
  172. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -1
  173. package/dist/elements/Hierarchy/MoveMany/index.d.ts +3 -3
  174. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  175. package/dist/elements/Hierarchy/MoveMany/index.js +79 -92
  176. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  177. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  178. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +7 -1
  179. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  180. package/dist/elements/Hierarchy/Tree/index.css +1 -1
  181. package/dist/elements/HydratePreferences/index.d.ts +8 -0
  182. package/dist/elements/HydratePreferences/index.d.ts.map +1 -0
  183. package/dist/elements/HydratePreferences/index.js +34 -0
  184. package/dist/elements/HydratePreferences/index.js.map +1 -0
  185. package/dist/elements/IDLabel/index.css +5 -7
  186. package/dist/elements/ItemsDrawer/ItemSearch/index.css +0 -1
  187. package/dist/elements/LLMInstructionsCell/index.css +11 -0
  188. package/dist/elements/LLMInstructionsCell/index.d.ts +5 -0
  189. package/dist/elements/LLMInstructionsCell/index.d.ts.map +1 -0
  190. package/dist/elements/LLMInstructionsCell/index.js +24 -0
  191. package/dist/elements/LLMInstructionsCell/index.js.map +1 -0
  192. package/dist/elements/LLMInstructionsDescription/index.css +79 -0
  193. package/dist/elements/LLMInstructionsDescription/index.d.ts +6 -0
  194. package/dist/elements/LLMInstructionsDescription/index.d.ts.map +1 -0
  195. package/dist/elements/LLMInstructionsDescription/index.js +40 -0
  196. package/dist/elements/LLMInstructionsDescription/index.js.map +1 -0
  197. package/dist/elements/LLMInstructionsMenuItem/index.d.ts +5 -0
  198. package/dist/elements/LLMInstructionsMenuItem/index.d.ts.map +1 -0
  199. package/dist/elements/LLMInstructionsMenuItem/index.js +46 -0
  200. package/dist/elements/LLMInstructionsMenuItem/index.js.map +1 -0
  201. package/dist/elements/LayoutToggle/index.d.ts +8 -0
  202. package/dist/elements/LayoutToggle/index.d.ts.map +1 -0
  203. package/dist/elements/LayoutToggle/index.js +56 -0
  204. package/dist/elements/LayoutToggle/index.js.map +1 -0
  205. package/dist/elements/Link/index.d.ts.map +1 -1
  206. package/dist/elements/Link/index.js +3 -0
  207. package/dist/elements/Link/index.js.map +1 -1
  208. package/dist/elements/ListControls/index.d.ts.map +1 -1
  209. package/dist/elements/ListControls/index.js +2 -1
  210. package/dist/elements/ListControls/index.js.map +1 -1
  211. package/dist/elements/ListControls/types.d.ts +1 -10
  212. package/dist/elements/ListControls/types.d.ts.map +1 -1
  213. package/dist/elements/ListControls/types.js.map +1 -1
  214. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  215. package/dist/elements/ListDrawer/DrawerContent.js +2 -3
  216. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  217. package/dist/elements/ListDrawer/Provider.d.ts +0 -6
  218. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  219. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  220. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  221. package/dist/elements/ListDrawer/index.js +1 -1
  222. package/dist/elements/ListDrawer/index.js.map +1 -1
  223. package/dist/elements/ListDrawer/types.d.ts +1 -0
  224. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  225. package/dist/elements/ListDrawer/types.js.map +1 -1
  226. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  227. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +24 -20
  228. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  229. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts +6 -0
  230. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts.map +1 -0
  231. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js +61 -0
  232. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -0
  233. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts +1 -0
  234. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts.map +1 -1
  235. package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
  236. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
  237. package/dist/elements/ListHeader/index.css +4 -5
  238. package/dist/elements/MiniCarousel/index.d.ts +1 -1
  239. package/dist/elements/MiniCarousel/index.d.ts.map +1 -1
  240. package/dist/elements/MiniCarousel/index.js +6 -6
  241. package/dist/elements/MiniCarousel/index.js.map +1 -1
  242. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  243. package/dist/elements/Nav/NavWrapper/index.js +19 -14
  244. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  245. package/dist/elements/Nav/SidebarTabs/index.client.js +1 -1
  246. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  247. package/dist/elements/Nav/SidebarTabs/index.css +2 -1
  248. package/dist/elements/Nav/index.js +1 -2
  249. package/dist/elements/Nav/index.js.map +1 -1
  250. package/dist/elements/NavGroup/index.css +3 -4
  251. package/dist/elements/NoListResults/index.css +2 -3
  252. package/dist/elements/PageControls/index.css +4 -1
  253. package/dist/elements/PageControls/index.d.ts.map +1 -1
  254. package/dist/elements/PageControls/index.js +22 -8
  255. package/dist/elements/PageControls/index.js.map +1 -1
  256. package/dist/elements/Pagination/SimplePagination/index.css +0 -1
  257. package/dist/elements/Pagination/index.css +0 -2
  258. package/dist/elements/PerPage/index.css +0 -1
  259. package/dist/elements/Pill/index.css +0 -1
  260. package/dist/elements/Popup/PopupButtonList/index.css +4 -2
  261. package/dist/elements/Popup/PopupButtonList/index.d.ts +1 -0
  262. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  263. package/dist/elements/Popup/PopupButtonList/index.js +4 -0
  264. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  265. package/dist/elements/Popup/PopupGroupLabel/index.css +0 -1
  266. package/dist/elements/PreviewSizes/index.d.ts +1 -1
  267. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  268. package/dist/elements/PreviewSizes/index.js +9 -9
  269. package/dist/elements/PreviewSizes/index.js.map +1 -1
  270. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  271. package/dist/elements/PublishButton/index.js +71 -8
  272. package/dist/elements/PublishButton/index.js.map +1 -1
  273. package/dist/elements/PublishButton/validateAllLocales.d.ts +11 -0
  274. package/dist/elements/PublishButton/validateAllLocales.d.ts.map +1 -0
  275. package/dist/elements/PublishButton/validateAllLocales.js +263 -0
  276. package/dist/elements/PublishButton/validateAllLocales.js.map +1 -0
  277. package/dist/elements/QueryPresets/fields/Heading/index.css +0 -1
  278. package/dist/elements/ReactSelect/MultiValueLabel/index.css +0 -1
  279. package/dist/elements/ReactSelect/index.css +0 -3
  280. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  281. package/dist/elements/RelationshipTable/AddNewButton.js +3 -0
  282. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  283. package/dist/elements/RenderTitle/index.css +9 -7
  284. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  285. package/dist/elements/SaveDraftButton/index.js +15 -2
  286. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  287. package/dist/elements/Search/SearchInput/index.css +0 -1
  288. package/dist/elements/Search/SearchInput/index.js +1 -1
  289. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  290. package/dist/elements/SegmentedControl/index.css +9 -0
  291. package/dist/elements/SegmentedControl/index.d.ts +20 -0
  292. package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
  293. package/dist/elements/SegmentedControl/index.js +162 -0
  294. package/dist/elements/SegmentedControl/index.js.map +1 -0
  295. package/dist/elements/SidebarRow/index.css +1 -2
  296. package/dist/elements/SortColumn/index.css +1 -2
  297. package/dist/elements/Spinner/index.css +0 -2
  298. package/dist/elements/Status/index.css +3 -4
  299. package/dist/elements/StepNav/index.css +15 -9
  300. package/dist/elements/StepNav/index.d.ts.map +1 -1
  301. package/dist/elements/StepNav/index.js +7 -0
  302. package/dist/elements/StepNav/index.js.map +1 -1
  303. package/dist/elements/StepNav/types.d.ts +2 -0
  304. package/dist/elements/StepNav/types.d.ts.map +1 -1
  305. package/dist/elements/StepNav/types.js.map +1 -1
  306. package/dist/elements/Switch/index.css +0 -1
  307. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.css +0 -1
  308. package/dist/elements/Table/DefaultCell/fields/Code/index.css +0 -1
  309. package/dist/elements/Table/DefaultCell/fields/File/index.js +1 -1
  310. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  311. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +0 -9
  312. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  313. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +100 -43
  314. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  315. package/dist/elements/Table/DefaultCell/fields/JSON/index.css +0 -1
  316. package/dist/elements/Table/DefaultCell/fields/Status/index.css +0 -1
  317. package/dist/elements/Table/index.css +1 -1
  318. package/dist/elements/TableSection/index.css +4 -5
  319. package/dist/elements/Tabs/index.css +5 -5
  320. package/dist/elements/Tabs/index.d.ts +4 -0
  321. package/dist/elements/Tabs/index.d.ts.map +1 -1
  322. package/dist/elements/Tabs/index.js +30 -1
  323. package/dist/elements/Tabs/index.js.map +1 -1
  324. package/dist/elements/ThumbnailCard/index.css +0 -1
  325. package/dist/elements/TimezonePicker/index.css +0 -3
  326. package/dist/elements/Tooltip/index.css +0 -1
  327. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  328. package/dist/elements/Tooltip/index.js +1 -0
  329. package/dist/elements/Tooltip/index.js.map +1 -1
  330. package/dist/elements/Upload/getEditorFileSrc.d.ts +11 -0
  331. package/dist/elements/Upload/getEditorFileSrc.d.ts.map +1 -0
  332. package/dist/elements/Upload/getEditorFileSrc.js +6 -0
  333. package/dist/elements/Upload/getEditorFileSrc.js.map +1 -0
  334. package/dist/elements/Upload/index.css +2 -3
  335. package/dist/elements/Upload/index.d.ts +1 -1
  336. package/dist/elements/Upload/index.d.ts.map +1 -1
  337. package/dist/elements/Upload/index.js +12 -7
  338. package/dist/elements/Upload/index.js.map +1 -1
  339. package/dist/elements/UserMenu/index.css +7 -10
  340. package/dist/exports/client/CodeEditor-S7MOGZSR.js +14 -0
  341. package/dist/exports/client/CodeEditor-S7MOGZSR.js.map +7 -0
  342. package/dist/exports/client/DatePicker-POZJVQP4.js +14 -0
  343. package/dist/exports/client/DatePicker-POZJVQP4.js.map +7 -0
  344. package/dist/exports/client/chunk-2AY67NFV.js +29 -0
  345. package/dist/exports/client/chunk-2AY67NFV.js.map +7 -0
  346. package/dist/exports/client/chunk-AVJIZPR3.js +14 -0
  347. package/dist/exports/client/chunk-AVJIZPR3.js.map +7 -0
  348. package/dist/exports/client/chunk-Z42OBP5U.js +27 -0
  349. package/dist/exports/client/chunk-Z42OBP5U.js.map +7 -0
  350. package/dist/exports/client/index.d.ts +19 -1
  351. package/dist/exports/client/index.d.ts.map +1 -1
  352. package/dist/exports/client/index.js +100 -1
  353. package/dist/exports/client/index.js.map +4 -4
  354. package/dist/exports/rsc/index.d.ts +1 -0
  355. package/dist/exports/rsc/index.d.ts.map +1 -1
  356. package/dist/exports/rsc/index.js +1 -0
  357. package/dist/exports/rsc/index.js.map +1 -1
  358. package/dist/exports/shared/index.js +2 -2
  359. package/dist/exports/shared/index.js.map +3 -3
  360. package/dist/fields/Array/index.css +4 -0
  361. package/dist/fields/Blocks/SectionTitle/index.css +3 -5
  362. package/dist/fields/Blocks/index.css +2 -2
  363. package/dist/fields/Checkbox/Input.js +1 -1
  364. package/dist/fields/Checkbox/Input.js.map +1 -1
  365. package/dist/fields/Checkbox/index.css +4 -0
  366. package/dist/fields/DateTime/index.d.ts.map +1 -1
  367. package/dist/fields/DateTime/index.js +9 -2
  368. package/dist/fields/DateTime/index.js.map +1 -1
  369. package/dist/fields/FieldLabel/index.css +1 -2
  370. package/dist/fields/Group/index.css +5 -8
  371. package/dist/fields/Join/index.css +3 -4
  372. package/dist/fields/RadioGroup/Radio/index.css +0 -1
  373. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  374. package/dist/fields/Relationship/Input.js +25 -17
  375. package/dist/fields/Relationship/Input.js.map +1 -1
  376. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  377. package/dist/fields/Relationship/optionsReducer.js +2 -0
  378. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  379. package/dist/fields/Relationship/types.d.ts +8 -0
  380. package/dist/fields/Relationship/types.d.ts.map +1 -1
  381. package/dist/fields/Relationship/types.js.map +1 -1
  382. package/dist/fields/Select/Input.d.ts.map +1 -1
  383. package/dist/fields/Select/Input.js +17 -15
  384. package/dist/fields/Select/Input.js.map +1 -1
  385. package/dist/fields/Select/index.css +7 -0
  386. package/dist/fields/Tabs/Tab/index.d.ts +2 -0
  387. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  388. package/dist/fields/Tabs/Tab/index.js +15 -9
  389. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  390. package/dist/fields/Tabs/index.css +14 -14
  391. package/dist/fields/Tabs/index.d.ts.map +1 -1
  392. package/dist/fields/Tabs/index.js +179 -116
  393. package/dist/fields/Tabs/index.js.map +1 -1
  394. package/dist/fields/Upload/HasMany/index.js +1 -1
  395. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  396. package/dist/fields/Upload/HasOne/index.js +1 -1
  397. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  398. package/dist/fields/Upload/Input.d.ts.map +1 -1
  399. package/dist/fields/Upload/Input.js +13 -4
  400. package/dist/fields/Upload/Input.js.map +1 -1
  401. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  402. package/dist/forms/Form/fieldReducer.js +6 -9
  403. package/dist/forms/Form/fieldReducer.js.map +1 -1
  404. package/dist/forms/Form/index.d.ts.map +1 -1
  405. package/dist/forms/Form/index.js +0 -1
  406. package/dist/forms/Form/index.js.map +1 -1
  407. package/dist/forms/Form/types.d.ts +0 -5
  408. package/dist/forms/Form/types.d.ts.map +1 -1
  409. package/dist/forms/Form/types.js.map +1 -1
  410. package/dist/forms/RenderFields/index.css +2 -5
  411. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +2 -2
  412. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  413. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  414. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -2
  415. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  416. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  417. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -2
  418. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  419. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  420. package/dist/forms/fieldSchemasToFormState/types.d.ts +2 -2
  421. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  422. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  423. package/dist/forms/useField/types.d.ts +0 -4
  424. package/dist/forms/useField/types.d.ts.map +1 -1
  425. package/dist/forms/useField/types.js.map +1 -1
  426. package/dist/icons/Arrow/index.d.ts +1 -1
  427. package/dist/icons/Arrow/index.d.ts.map +1 -1
  428. package/dist/icons/Arrow/index.js +7 -1
  429. package/dist/icons/Arrow/index.js.map +1 -1
  430. package/dist/icons/Clock/index.d.ts +6 -0
  431. package/dist/icons/Clock/index.d.ts.map +1 -0
  432. package/dist/icons/Clock/index.js +18 -0
  433. package/dist/icons/Clock/index.js.map +1 -0
  434. package/dist/icons/Pin/index.d.ts +7 -0
  435. package/dist/icons/Pin/index.d.ts.map +1 -0
  436. package/dist/icons/Pin/index.js +23 -0
  437. package/dist/icons/Pin/index.js.map +1 -0
  438. package/dist/icons/Sidebar/index.d.ts.map +1 -1
  439. package/dist/icons/Sidebar/index.js +2 -0
  440. package/dist/icons/Sidebar/index.js.map +1 -1
  441. package/dist/icons/Table/index.css +1 -0
  442. package/dist/icons/Table/index.d.ts +7 -0
  443. package/dist/icons/Table/index.d.ts.map +1 -0
  444. package/dist/icons/Table/index.js +25 -0
  445. package/dist/icons/Table/index.js.map +1 -0
  446. package/dist/layouts/Root/getRootLayoutData.d.ts +3 -6
  447. package/dist/layouts/Root/getRootLayoutData.d.ts.map +1 -1
  448. package/dist/layouts/Root/getRootLayoutData.js +14 -13
  449. package/dist/layouts/Root/getRootLayoutData.js.map +1 -1
  450. package/dist/layouts/Root/index.d.ts +1 -1
  451. package/dist/layouts/Root/index.d.ts.map +1 -1
  452. package/dist/layouts/Root/index.js +11 -18
  453. package/dist/layouts/Root/index.js.map +1 -1
  454. package/dist/providers/ListQuery/getSearchWithListQuery.d.ts +7 -0
  455. package/dist/providers/ListQuery/getSearchWithListQuery.d.ts.map +1 -0
  456. package/dist/providers/ListQuery/getSearchWithListQuery.js +22 -0
  457. package/dist/providers/ListQuery/getSearchWithListQuery.js.map +1 -0
  458. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  459. package/dist/providers/ListQuery/index.js +11 -12
  460. package/dist/providers/ListQuery/index.js.map +1 -1
  461. package/dist/providers/ListQuery/types.d.ts +0 -4
  462. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  463. package/dist/providers/ListQuery/types.js.map +1 -1
  464. package/dist/providers/Preferences/index.d.ts +7 -1
  465. package/dist/providers/Preferences/index.d.ts.map +1 -1
  466. package/dist/providers/Preferences/index.js +62 -20
  467. package/dist/providers/Preferences/index.js.map +1 -1
  468. package/dist/providers/RouteCache/index.d.ts.map +1 -1
  469. package/dist/providers/RouteCache/index.js +38 -37
  470. package/dist/providers/RouteCache/index.js.map +1 -1
  471. package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
  472. package/dist/providers/TableColumns/RenderDefaultCell/index.js +1 -2
  473. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  474. package/dist/providers/TableColumns/buildColumnState/index.d.ts +1 -0
  475. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  476. package/dist/providers/TableColumns/buildColumnState/index.js +2 -0
  477. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  478. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +2 -1
  479. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  480. package/dist/providers/TableColumns/buildColumnState/renderCell.js +12 -28
  481. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  482. package/dist/providers/TableColumns/types.d.ts +1 -34
  483. package/dist/providers/TableColumns/types.d.ts.map +1 -1
  484. package/dist/providers/TableColumns/types.js.map +1 -1
  485. package/dist/providers/ToastContainer/index.css +6 -7
  486. package/dist/providers/Translation/index.d.ts.map +1 -1
  487. package/dist/providers/Translation/index.js +11 -1
  488. package/dist/providers/Translation/index.js.map +1 -1
  489. package/dist/styles.css +163 -58
  490. package/dist/utilities/appendCacheTag.d.ts +1 -0
  491. package/dist/utilities/appendCacheTag.d.ts.map +1 -1
  492. package/dist/utilities/appendCacheTag.js +2 -1
  493. package/dist/utilities/appendCacheTag.js.map +1 -1
  494. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
  495. package/dist/utilities/buildClientFieldSchemaMap/index.js +9 -4
  496. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  497. package/dist/utilities/filterLLMInstructionsMenuItems.d.ts +9 -0
  498. package/dist/utilities/filterLLMInstructionsMenuItems.d.ts.map +1 -0
  499. package/dist/utilities/filterLLMInstructionsMenuItems.js +37 -0
  500. package/dist/utilities/filterLLMInstructionsMenuItems.js.map +1 -0
  501. package/dist/utilities/filterOutUploadFields.js +1 -1
  502. package/dist/utilities/filterOutUploadFields.js.map +1 -1
  503. package/dist/utilities/getClientConfig.d.ts +5 -1
  504. package/dist/utilities/getClientConfig.d.ts.map +1 -1
  505. package/dist/utilities/getClientConfig.js +2 -1
  506. package/dist/utilities/getClientConfig.js.map +1 -1
  507. package/dist/utilities/getClientSchemaMap.d.ts.map +1 -1
  508. package/dist/utilities/getClientSchemaMap.js +2 -1
  509. package/dist/utilities/getClientSchemaMap.js.map +1 -1
  510. package/dist/utilities/getDocumentThumbnail.d.ts +6 -0
  511. package/dist/utilities/getDocumentThumbnail.d.ts.map +1 -0
  512. package/dist/utilities/getDocumentThumbnail.js +27 -0
  513. package/dist/utilities/getDocumentThumbnail.js.map +1 -0
  514. package/dist/utilities/getDocumentThumbnailPopulate.d.ts +7 -0
  515. package/dist/utilities/getDocumentThumbnailPopulate.d.ts.map +1 -0
  516. package/dist/utilities/getDocumentThumbnailPopulate.js +23 -0
  517. package/dist/utilities/getDocumentThumbnailPopulate.js.map +1 -0
  518. package/dist/utilities/getDocumentThumbnailSelect.d.ts +7 -0
  519. package/dist/utilities/getDocumentThumbnailSelect.d.ts.map +1 -0
  520. package/dist/utilities/getDocumentThumbnailSelect.js +24 -0
  521. package/dist/utilities/getDocumentThumbnailSelect.js.map +1 -0
  522. package/dist/utilities/hierarchyCollectionRestrictions.d.ts +15 -0
  523. package/dist/utilities/hierarchyCollectionRestrictions.d.ts.map +1 -0
  524. package/dist/utilities/hierarchyCollectionRestrictions.js +17 -0
  525. package/dist/utilities/hierarchyCollectionRestrictions.js.map +1 -0
  526. package/dist/utilities/renderTable.d.ts +2 -1
  527. package/dist/utilities/renderTable.d.ts.map +1 -1
  528. package/dist/utilities/renderTable.js +2 -0
  529. package/dist/utilities/renderTable.js.map +1 -1
  530. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  531. package/dist/utilities/schedulePublishHandler.js +3 -0
  532. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  533. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  534. package/dist/utilities/serverFunctionRegistry.js +2 -0
  535. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  536. package/dist/utilities/traverseForLocalizedFields.d.ts +7 -2
  537. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  538. package/dist/utilities/traverseForLocalizedFields.js +22 -8
  539. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  540. package/dist/views/API/index.css +1 -2
  541. package/dist/views/CreateFirstUser/index.css +0 -2
  542. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  543. package/dist/views/CreateFirstUser/index.js +4 -2
  544. package/dist/views/CreateFirstUser/index.js.map +1 -1
  545. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  546. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +31 -21
  547. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  548. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +1 -2
  549. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  550. package/dist/views/Dashboard/Default/ModularDashboard/index.css +4 -3
  551. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts +1 -1
  552. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
  553. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +16 -4
  554. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  555. package/dist/views/Document/index.js +1 -1
  556. package/dist/views/Document/index.js.map +1 -1
  557. package/dist/views/Document/renderDocumentSlots.d.ts +1 -1
  558. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  559. package/dist/views/Document/renderDocumentSlots.js +10 -3
  560. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  561. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  562. package/dist/views/Edit/Auth/APIKey.js +1 -0
  563. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  564. package/dist/views/Edit/Auth/index.css +4 -5
  565. package/dist/views/Edit/index.css +26 -0
  566. package/dist/views/Edit/index.d.ts.map +1 -1
  567. package/dist/views/Edit/index.js +1 -1
  568. package/dist/views/Edit/index.js.map +1 -1
  569. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  570. package/dist/views/ForgotPassword/index.js +1 -3
  571. package/dist/views/ForgotPassword/index.js.map +1 -1
  572. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  573. package/dist/views/HierarchyList/DocumentListSelection/index.js +103 -105
  574. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  575. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +4 -1
  576. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
  577. package/dist/views/HierarchyList/HierarchyListHeader/index.js +26 -14
  578. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
  579. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
  580. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +44 -86
  581. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  582. package/dist/views/HierarchyList/HierarchyTable/index.css +8 -31
  583. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +3 -1
  584. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  585. package/dist/views/HierarchyList/HierarchyTable/index.js +78 -5
  586. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  587. package/dist/views/HierarchyList/getHierarchyListURL.d.ts +7 -0
  588. package/dist/views/HierarchyList/getHierarchyListURL.d.ts.map +1 -0
  589. package/dist/views/HierarchyList/getHierarchyListURL.js +22 -0
  590. package/dist/views/HierarchyList/getHierarchyListURL.js.map +1 -0
  591. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  592. package/dist/views/HierarchyList/index.js +35 -11
  593. package/dist/views/HierarchyList/index.js.map +1 -1
  594. package/dist/views/List/DocumentGrid/index.d.ts +17 -0
  595. package/dist/views/List/DocumentGrid/index.d.ts.map +1 -0
  596. package/dist/views/List/DocumentGrid/index.js +117 -0
  597. package/dist/views/List/DocumentGrid/index.js.map +1 -0
  598. package/dist/views/List/GroupedDocumentGrid/index.css +17 -0
  599. package/dist/views/List/GroupedDocumentGrid/index.d.ts +14 -0
  600. package/dist/views/List/GroupedDocumentGrid/index.d.ts.map +1 -0
  601. package/dist/views/List/GroupedDocumentGrid/index.js +99 -0
  602. package/dist/views/List/GroupedDocumentGrid/index.js.map +1 -0
  603. package/dist/views/List/ListHeader/index.css +4 -5
  604. package/dist/views/List/ListHeader/index.d.ts +3 -1
  605. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  606. package/dist/views/List/ListHeader/index.js +15 -4
  607. package/dist/views/List/ListHeader/index.js.map +1 -1
  608. package/dist/views/List/enrichDocsWithVersionStatus.d.ts.map +1 -1
  609. package/dist/views/List/enrichDocsWithVersionStatus.js +3 -1
  610. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  611. package/dist/views/List/getDocumentListItemURL.d.ts +9 -0
  612. package/dist/views/List/getDocumentListItemURL.d.ts.map +1 -0
  613. package/dist/views/List/getDocumentListItemURL.js +23 -0
  614. package/dist/views/List/getDocumentListItemURL.js.map +1 -0
  615. package/dist/views/List/handleGroupBy.d.ts +6 -2
  616. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  617. package/dist/views/List/handleGroupBy.js +13 -3
  618. package/dist/views/List/handleGroupBy.js.map +1 -1
  619. package/dist/views/List/index.client.d.ts.map +1 -1
  620. package/dist/views/List/index.client.js +63 -18
  621. package/dist/views/List/index.client.js.map +1 -1
  622. package/dist/views/List/index.css +1 -1
  623. package/dist/views/List/index.d.ts.map +1 -1
  624. package/dist/views/List/index.js +91 -11
  625. package/dist/views/List/index.js.map +1 -1
  626. package/dist/views/List/renderListViewSlots.d.ts +3 -2
  627. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  628. package/dist/views/List/renderListViewSlots.js +12 -4
  629. package/dist/views/List/renderListViewSlots.js.map +1 -1
  630. package/dist/views/List/resolveDocumentListItemURL.d.ts +11 -0
  631. package/dist/views/List/resolveDocumentListItemURL.d.ts.map +1 -0
  632. package/dist/views/List/resolveDocumentListItemURL.js +30 -0
  633. package/dist/views/List/resolveDocumentListItemURL.js.map +1 -0
  634. package/dist/views/NotFound/index.css +0 -2
  635. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  636. package/dist/views/ResetPassword/index.js +1 -3
  637. package/dist/views/ResetPassword/index.js.map +1 -1
  638. package/dist/views/Root/getRouteData.d.ts +1 -8
  639. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  640. package/dist/views/Root/getRouteData.js +3 -12
  641. package/dist/views/Root/getRouteData.js.map +1 -1
  642. package/dist/views/Unauthorized/index.css +0 -2
  643. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  644. package/dist/views/Unauthorized/index.js +2 -1
  645. package/dist/views/Unauthorized/index.js.map +1 -1
  646. package/dist/views/Version/Default/index.css +7 -11
  647. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.css +0 -1
  648. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +2 -12
  649. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  650. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.css +0 -1
  651. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +2 -2
  652. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  653. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +2 -2
  654. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  655. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +2 -2
  656. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  657. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +2 -2
  658. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  659. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.css +3 -4
  660. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +2 -2
  661. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  662. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +0 -1
  663. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +2 -2
  664. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  665. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  666. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +2 -2
  667. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  668. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +8 -8
  669. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  670. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +2 -2
  671. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  672. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.css +0 -1
  673. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -1
  674. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +2 -2
  675. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  676. package/dist/views/Versions/VersionPillLabel/index.css +1 -2
  677. package/dist/views/Versions/index.css +1 -1
  678. package/dist/widgets/CollectionCards/index.css +0 -1
  679. package/dist/widgets/CollectionQuery/index.css +4 -6
  680. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -1
  681. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +31 -5
  682. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -1
  683. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.css +41 -0
  684. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts +19 -0
  685. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts.map +1 -0
  686. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js +121 -0
  687. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js.map +1 -0
  688. package/dist/widgets/RecentlyViewed/getDocuments.d.ts +20 -0
  689. package/dist/widgets/RecentlyViewed/getDocuments.d.ts.map +1 -0
  690. package/dist/widgets/RecentlyViewed/getDocuments.js +251 -0
  691. package/dist/widgets/RecentlyViewed/getDocuments.js.map +1 -0
  692. package/dist/widgets/RecentlyViewed/index.client.d.ts +41 -0
  693. package/dist/widgets/RecentlyViewed/index.client.d.ts.map +1 -0
  694. package/dist/widgets/RecentlyViewed/index.client.js +404 -0
  695. package/dist/widgets/RecentlyViewed/index.client.js.map +1 -0
  696. package/dist/widgets/RecentlyViewed/index.css +352 -0
  697. package/dist/widgets/RecentlyViewed/index.d.ts +1 -1
  698. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -1
  699. package/dist/widgets/RecentlyViewed/index.js +33 -134
  700. package/dist/widgets/RecentlyViewed/index.js.map +1 -1
  701. package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts +18 -0
  702. package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts.map +1 -0
  703. package/dist/widgets/RecentlyViewed/pinnedPreferences.js +81 -0
  704. package/dist/widgets/RecentlyViewed/pinnedPreferences.js.map +1 -0
  705. package/dist/widgets/RecentlyViewed/recents.d.ts +8 -0
  706. package/dist/widgets/RecentlyViewed/recents.d.ts.map +1 -0
  707. package/dist/widgets/RecentlyViewed/recents.js +19 -0
  708. package/dist/widgets/RecentlyViewed/recents.js.map +1 -0
  709. package/dist/widgets/Welcome/index.css +16 -9
  710. package/dist/widgets/WidgetCard/index.css +4 -8
  711. package/package.json +8 -8
  712. package/dist/utilities/dateLocales.d.ts +0 -30
  713. package/dist/utilities/dateLocales.d.ts.map +0 -1
  714. package/dist/utilities/dateLocales.js +0 -57
  715. package/dist/utilities/dateLocales.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Appends a cache-busting tag to a URL as a query parameter.
3
3
  * If the URL already has a query string, the tag is appended with `&`, otherwise with `?`.
4
+ * Blob URLs identify local objects exactly, so they cannot be cache-busted.
4
5
  */
5
6
  export declare function appendCacheTag(url: string, cacheTag: false | string | undefined): string;
6
7
  //# sourceMappingURL=appendCacheTag.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"appendCacheTag.d.ts","sourceRoot":"","sources":["../../src/utilities/appendCacheTag.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAMxF"}
1
+ {"version":3,"file":"appendCacheTag.d.ts","sourceRoot":"","sources":["../../src/utilities/appendCacheTag.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAMxF"}
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * Appends a cache-busting tag to a URL as a query parameter.
3
3
  * If the URL already has a query string, the tag is appended with `&`, otherwise with `?`.
4
+ * Blob URLs identify local objects exactly, so they cannot be cache-busted.
4
5
  */export function appendCacheTag(url, cacheTag) {
5
- if (!cacheTag) {
6
+ if (!cacheTag || url.startsWith('blob:')) {
6
7
  return url;
7
8
  }
8
9
  const queryChar = url.includes('?') ? '&' : '?';
@@ -1 +1 @@
1
- {"version":3,"file":"appendCacheTag.js","names":["appendCacheTag","url","cacheTag","queryChar","includes","encodeURIComponent"],"sources":["../../src/utilities/appendCacheTag.ts"],"sourcesContent":["/**\n * Appends a cache-busting tag to a URL as a query parameter.\n * If the URL already has a query string, the tag is appended with `&`, otherwise with `?`.\n */\nexport function appendCacheTag(url: string, cacheTag: false | string | undefined): string {\n if (!cacheTag) {\n return url\n }\n const queryChar = url.includes('?') ? '&' : '?'\n return `${url}${queryChar}${encodeURIComponent(cacheTag)}`\n}\n"],"mappings":"AAAA;;;GAIA,OAAO,SAASA,eAAeC,GAAW,EAAEC,QAAoC;EAC9E,IAAI,CAACA,QAAA,EAAU;IACb,OAAOD,GAAA;EACT;EACA,MAAME,SAAA,GAAYF,GAAA,CAAIG,QAAQ,CAAC,OAAO,MAAM;EAC5C,OAAO,GAAGH,GAAA,GAAME,SAAA,GAAYE,kBAAA,CAAmBH,QAAA,GAAW;AAC5D","ignoreList":[]}
1
+ {"version":3,"file":"appendCacheTag.js","names":["appendCacheTag","url","cacheTag","startsWith","queryChar","includes","encodeURIComponent"],"sources":["../../src/utilities/appendCacheTag.ts"],"sourcesContent":["/**\n * Appends a cache-busting tag to a URL as a query parameter.\n * If the URL already has a query string, the tag is appended with `&`, otherwise with `?`.\n * Blob URLs identify local objects exactly, so they cannot be cache-busted.\n */\nexport function appendCacheTag(url: string, cacheTag: false | string | undefined): string {\n if (!cacheTag || url.startsWith('blob:')) {\n return url\n }\n const queryChar = url.includes('?') ? '&' : '?'\n return `${url}${queryChar}${encodeURIComponent(cacheTag)}`\n}\n"],"mappings":"AAAA;;;;GAKA,OAAO,SAASA,eAAeC,GAAW,EAAEC,QAAoC;EAC9E,IAAI,CAACA,QAAA,IAAYD,GAAA,CAAIE,UAAU,CAAC,UAAU;IACxC,OAAOF,GAAA;EACT;EACA,MAAMG,SAAA,GAAYH,GAAA,CAAII,QAAQ,CAAC,OAAO,MAAM;EAC5C,OAAO,GAAGJ,GAAA,GAAMG,SAAA,GAAYE,kBAAA,CAAmBJ,QAAA,GAAW;AAC5D","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/buildClientFieldSchemaMap/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EACV,YAAY,EAEZ,oBAAoB,EACpB,cAAc,EACd,OAAO,EAER,MAAM,SAAS,CAAA;AAiBhB;;GAEG;AACH,eAAO,MAAM,yBAAyB,SAAU;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,cAAc,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,KAAG;IAAE,oBAAoB,EAAE,oBAAoB,CAAA;CA8E/C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/buildClientFieldSchemaMap/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EACV,YAAY,EAEZ,oBAAoB,EACpB,cAAc,EACd,OAAO,EAER,MAAM,SAAS,CAAA;AAiBhB;;GAEG;AACH,eAAO,MAAM,yBAAyB,SAAU;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,cAAc,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,KAAG;IAAE,oBAAoB,EAAE,oBAAoB,CAAA;CAoF/C,CAAA"}
@@ -27,11 +27,16 @@ export const buildClientFieldSchemaMap = args => {
27
27
  if (matchedCollection) {
28
28
  let fieldsToSet = matchedCollection?.fields || [];
29
29
  if (matchedCollection.auth && !matchedCollection.auth.disableLocalStrategy) {
30
- ;
31
- baseAuthFields[0].label = i18n.t('general:password');
32
- baseAuthFields[1].label = i18n.t('authentication:confirmPassword');
30
+ // Copy the auth fields, maps built for other languages hold on to theirs
31
+ const authFields = [{
32
+ ...baseAuthFields[0],
33
+ label: i18n.t('general:password')
34
+ }, {
35
+ ...baseAuthFields[1],
36
+ label: i18n.t('authentication:confirmPassword')
37
+ }];
33
38
  // Place these fields _last_ to ensure they do not disrupt field paths in the field schema map
34
- fieldsToSet = fieldsToSet.concat(baseAuthFields);
39
+ fieldsToSet = fieldsToSet.concat(authFields);
35
40
  }
36
41
  clientSchemaMap.set(collectionSlug, {
37
42
  fields: fieldsToSet
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["traverseFields","baseAuthFields","name","type","required","buildClientFieldSchemaMap","args","collectionSlug","config","globalSlug","i18n","payload","schemaMap","widgetSlug","clientSchemaMap","Map","matchedCollection","collections","find","collection","slug","fieldsToSet","fields","auth","disableLocalStrategy","label","t","concat","set","parentIndexPath","parentSchemaPath","matchedGlobal","globals","global","matchedWidget","admin","dashboard","widgets","widget","length","clientFieldSchemaMap"],"sources":["../../../src/utilities/buildClientFieldSchemaMap/index.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n ClientConfig,\n ClientField,\n ClientFieldSchemaMap,\n FieldSchemaMap,\n Payload,\n TextFieldClient,\n} from 'payload'\n\nimport { traverseFields } from './traverseFields.js'\n\nconst baseAuthFields: ClientField[] = [\n {\n name: 'password',\n type: 'text',\n required: true,\n },\n {\n name: 'confirm-password',\n type: 'text',\n required: true,\n },\n]\n\n/**\n * Flattens the config fields into a map of field schemas\n */\nexport const buildClientFieldSchemaMap = (args: {\n collectionSlug?: string\n config: ClientConfig\n globalSlug?: string\n i18n: I18n\n payload: Payload\n schemaMap: FieldSchemaMap\n widgetSlug?: string\n}): { clientFieldSchemaMap: ClientFieldSchemaMap } => {\n const { collectionSlug, config, globalSlug, i18n, payload, schemaMap, widgetSlug } = args\n\n const clientSchemaMap: ClientFieldSchemaMap = new Map()\n\n if (collectionSlug) {\n const matchedCollection = config.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n\n if (matchedCollection) {\n let fieldsToSet = matchedCollection?.fields || []\n\n if (matchedCollection.auth && !matchedCollection.auth.disableLocalStrategy) {\n ;(baseAuthFields[0] as TextFieldClient).label = i18n.t('general:password')\n ;(baseAuthFields[1] as TextFieldClient).label = i18n.t('authentication:confirmPassword')\n // Place these fields _last_ to ensure they do not disrupt field paths in the field schema map\n fieldsToSet = fieldsToSet.concat(baseAuthFields)\n }\n\n clientSchemaMap.set(collectionSlug, {\n fields: fieldsToSet,\n })\n\n traverseFields({\n clientSchemaMap,\n config,\n fields: fieldsToSet,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: collectionSlug,\n payload,\n schemaMap,\n })\n }\n } else if (globalSlug) {\n const matchedGlobal = config.globals.find((global) => global.slug === globalSlug)\n\n if (matchedGlobal) {\n clientSchemaMap.set(globalSlug, {\n fields: matchedGlobal.fields,\n })\n\n traverseFields({\n clientSchemaMap,\n config,\n fields: matchedGlobal.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: globalSlug,\n payload,\n schemaMap,\n })\n }\n } else if (widgetSlug) {\n const matchedWidget = config.admin?.dashboard?.widgets?.find(\n (widget) => widget.slug === widgetSlug,\n )\n\n if (matchedWidget?.fields?.length) {\n clientSchemaMap.set(widgetSlug, {\n fields: matchedWidget.fields,\n })\n\n traverseFields({\n clientSchemaMap,\n config,\n fields: matchedWidget.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: widgetSlug,\n payload,\n schemaMap,\n })\n }\n }\n\n return { clientFieldSchemaMap: clientSchemaMap }\n}\n"],"mappings":"AAUA,SAASA,cAAc,QAAQ;AAE/B,MAAMC,cAAA,GAAgC,CACpC;EACEC,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,QAAA,EAAU;AACZ,GACA;EACEF,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,QAAA,EAAU;AACZ,EACD;AAED;;;AAGA,OAAO,MAAMC,yBAAA,GAA6BC,IAAA;EASxC,MAAM;IAAEC,cAAc;IAAEC,MAAM;IAAEC,UAAU;IAAEC,IAAI;IAAEC,OAAO;IAAEC,SAAS;IAAEC;EAAU,CAAE,GAAGP,IAAA;EAErF,MAAMQ,eAAA,GAAwC,IAAIC,GAAA;EAElD,IAAIR,cAAA,EAAgB;IAClB,MAAMS,iBAAA,GAAoBR,MAAA,CAAOS,WAAW,CAACC,IAAI,CAC9CC,UAAA,IAAeA,UAAA,CAAWC,IAAI,KAAKb,cAAA;IAGtC,IAAIS,iBAAA,EAAmB;MACrB,IAAIK,WAAA,GAAcL,iBAAA,EAAmBM,MAAA,IAAU,EAAE;MAEjD,IAAIN,iBAAA,CAAkBO,IAAI,IAAI,CAACP,iBAAA,CAAkBO,IAAI,CAACC,oBAAoB,EAAE;;QACxEvB,cAAc,CAAC,EAAE,CAAqBwB,KAAK,GAAGf,IAAA,CAAKgB,CAAC,CAAC;QACrDzB,cAAc,CAAC,EAAE,CAAqBwB,KAAK,GAAGf,IAAA,CAAKgB,CAAC,CAAC;QACvD;QACAL,WAAA,GAAcA,WAAA,CAAYM,MAAM,CAAC1B,cAAA;MACnC;MAEAa,eAAA,CAAgBc,GAAG,CAACrB,cAAA,EAAgB;QAClCe,MAAA,EAAQD;MACV;MAEArB,cAAA,CAAe;QACbc,eAAA;QACAN,MAAA;QACAc,MAAA,EAAQD,WAAA;QACRX,IAAA;QACAmB,eAAA,EAAiB;QACjBC,gBAAA,EAAkBvB,cAAA;QAClBI,OAAA;QACAC;MACF;IACF;EACF,OAAO,IAAIH,UAAA,EAAY;IACrB,MAAMsB,aAAA,GAAgBvB,MAAA,CAAOwB,OAAO,CAACd,IAAI,CAAEe,MAAA,IAAWA,MAAA,CAAOb,IAAI,KAAKX,UAAA;IAEtE,IAAIsB,aAAA,EAAe;MACjBjB,eAAA,CAAgBc,GAAG,CAACnB,UAAA,EAAY;QAC9Ba,MAAA,EAAQS,aAAA,CAAcT;MACxB;MAEAtB,cAAA,CAAe;QACbc,eAAA;QACAN,MAAA;QACAc,MAAA,EAAQS,aAAA,CAAcT,MAAM;QAC5BZ,IAAA;QACAmB,eAAA,EAAiB;QACjBC,gBAAA,EAAkBrB,UAAA;QAClBE,OAAA;QACAC;MACF;IACF;EACF,OAAO,IAAIC,UAAA,EAAY;IACrB,MAAMqB,aAAA,GAAgB1B,MAAA,CAAO2B,KAAK,EAAEC,SAAA,EAAWC,OAAA,EAASnB,IAAA,CACrDoB,MAAA,IAAWA,MAAA,CAAOlB,IAAI,KAAKP,UAAA;IAG9B,IAAIqB,aAAA,EAAeZ,MAAA,EAAQiB,MAAA,EAAQ;MACjCzB,eAAA,CAAgBc,GAAG,CAACf,UAAA,EAAY;QAC9BS,MAAA,EAAQY,aAAA,CAAcZ;MACxB;MAEAtB,cAAA,CAAe;QACbc,eAAA;QACAN,MAAA;QACAc,MAAA,EAAQY,aAAA,CAAcZ,MAAM;QAC5BZ,IAAA;QACAmB,eAAA,EAAiB;QACjBC,gBAAA,EAAkBjB,UAAA;QAClBF,OAAA;QACAC;MACF;IACF;EACF;EAEA,OAAO;IAAE4B,oBAAA,EAAsB1B;EAAgB;AACjD","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["traverseFields","baseAuthFields","name","type","required","buildClientFieldSchemaMap","args","collectionSlug","config","globalSlug","i18n","payload","schemaMap","widgetSlug","clientSchemaMap","Map","matchedCollection","collections","find","collection","slug","fieldsToSet","fields","auth","disableLocalStrategy","authFields","label","t","concat","set","parentIndexPath","parentSchemaPath","matchedGlobal","globals","global","matchedWidget","admin","dashboard","widgets","widget","length","clientFieldSchemaMap"],"sources":["../../../src/utilities/buildClientFieldSchemaMap/index.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n ClientConfig,\n ClientField,\n ClientFieldSchemaMap,\n FieldSchemaMap,\n Payload,\n TextFieldClient,\n} from 'payload'\n\nimport { traverseFields } from './traverseFields.js'\n\nconst baseAuthFields: ClientField[] = [\n {\n name: 'password',\n type: 'text',\n required: true,\n },\n {\n name: 'confirm-password',\n type: 'text',\n required: true,\n },\n]\n\n/**\n * Flattens the config fields into a map of field schemas\n */\nexport const buildClientFieldSchemaMap = (args: {\n collectionSlug?: string\n config: ClientConfig\n globalSlug?: string\n i18n: I18n\n payload: Payload\n schemaMap: FieldSchemaMap\n widgetSlug?: string\n}): { clientFieldSchemaMap: ClientFieldSchemaMap } => {\n const { collectionSlug, config, globalSlug, i18n, payload, schemaMap, widgetSlug } = args\n\n const clientSchemaMap: ClientFieldSchemaMap = new Map()\n\n if (collectionSlug) {\n const matchedCollection = config.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n\n if (matchedCollection) {\n let fieldsToSet = matchedCollection?.fields || []\n\n if (matchedCollection.auth && !matchedCollection.auth.disableLocalStrategy) {\n // Copy the auth fields, maps built for other languages hold on to theirs\n const authFields: ClientField[] = [\n { ...(baseAuthFields[0] as TextFieldClient), label: i18n.t('general:password') },\n {\n ...(baseAuthFields[1] as TextFieldClient),\n label: i18n.t('authentication:confirmPassword'),\n },\n ]\n // Place these fields _last_ to ensure they do not disrupt field paths in the field schema map\n fieldsToSet = fieldsToSet.concat(authFields)\n }\n\n clientSchemaMap.set(collectionSlug, {\n fields: fieldsToSet,\n })\n\n traverseFields({\n clientSchemaMap,\n config,\n fields: fieldsToSet,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: collectionSlug,\n payload,\n schemaMap,\n })\n }\n } else if (globalSlug) {\n const matchedGlobal = config.globals.find((global) => global.slug === globalSlug)\n\n if (matchedGlobal) {\n clientSchemaMap.set(globalSlug, {\n fields: matchedGlobal.fields,\n })\n\n traverseFields({\n clientSchemaMap,\n config,\n fields: matchedGlobal.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: globalSlug,\n payload,\n schemaMap,\n })\n }\n } else if (widgetSlug) {\n const matchedWidget = config.admin?.dashboard?.widgets?.find(\n (widget) => widget.slug === widgetSlug,\n )\n\n if (matchedWidget?.fields?.length) {\n clientSchemaMap.set(widgetSlug, {\n fields: matchedWidget.fields,\n })\n\n traverseFields({\n clientSchemaMap,\n config,\n fields: matchedWidget.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: widgetSlug,\n payload,\n schemaMap,\n })\n }\n }\n\n return { clientFieldSchemaMap: clientSchemaMap }\n}\n"],"mappings":"AAUA,SAASA,cAAc,QAAQ;AAE/B,MAAMC,cAAA,GAAgC,CACpC;EACEC,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,QAAA,EAAU;AACZ,GACA;EACEF,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,QAAA,EAAU;AACZ,EACD;AAED;;;AAGA,OAAO,MAAMC,yBAAA,GAA6BC,IAAA;EASxC,MAAM;IAAEC,cAAc;IAAEC,MAAM;IAAEC,UAAU;IAAEC,IAAI;IAAEC,OAAO;IAAEC,SAAS;IAAEC;EAAU,CAAE,GAAGP,IAAA;EAErF,MAAMQ,eAAA,GAAwC,IAAIC,GAAA;EAElD,IAAIR,cAAA,EAAgB;IAClB,MAAMS,iBAAA,GAAoBR,MAAA,CAAOS,WAAW,CAACC,IAAI,CAC9CC,UAAA,IAAeA,UAAA,CAAWC,IAAI,KAAKb,cAAA;IAGtC,IAAIS,iBAAA,EAAmB;MACrB,IAAIK,WAAA,GAAcL,iBAAA,EAAmBM,MAAA,IAAU,EAAE;MAEjD,IAAIN,iBAAA,CAAkBO,IAAI,IAAI,CAACP,iBAAA,CAAkBO,IAAI,CAACC,oBAAoB,EAAE;QAC1E;QACA,MAAMC,UAAA,GAA4B,CAChC;UAAE,GAAIxB,cAAc,CAAC,EAAE;UAAsByB,KAAA,EAAOhB,IAAA,CAAKiB,CAAC,CAAC;QAAoB,GAC/E;UACE,GAAI1B,cAAc,CAAC,EAAE;UACrByB,KAAA,EAAOhB,IAAA,CAAKiB,CAAC,CAAC;QAChB,EACD;QACD;QACAN,WAAA,GAAcA,WAAA,CAAYO,MAAM,CAACH,UAAA;MACnC;MAEAX,eAAA,CAAgBe,GAAG,CAACtB,cAAA,EAAgB;QAClCe,MAAA,EAAQD;MACV;MAEArB,cAAA,CAAe;QACbc,eAAA;QACAN,MAAA;QACAc,MAAA,EAAQD,WAAA;QACRX,IAAA;QACAoB,eAAA,EAAiB;QACjBC,gBAAA,EAAkBxB,cAAA;QAClBI,OAAA;QACAC;MACF;IACF;EACF,OAAO,IAAIH,UAAA,EAAY;IACrB,MAAMuB,aAAA,GAAgBxB,MAAA,CAAOyB,OAAO,CAACf,IAAI,CAAEgB,MAAA,IAAWA,MAAA,CAAOd,IAAI,KAAKX,UAAA;IAEtE,IAAIuB,aAAA,EAAe;MACjBlB,eAAA,CAAgBe,GAAG,CAACpB,UAAA,EAAY;QAC9Ba,MAAA,EAAQU,aAAA,CAAcV;MACxB;MAEAtB,cAAA,CAAe;QACbc,eAAA;QACAN,MAAA;QACAc,MAAA,EAAQU,aAAA,CAAcV,MAAM;QAC5BZ,IAAA;QACAoB,eAAA,EAAiB;QACjBC,gBAAA,EAAkBtB,UAAA;QAClBE,OAAA;QACAC;MACF;IACF;EACF,OAAO,IAAIC,UAAA,EAAY;IACrB,MAAMsB,aAAA,GAAgB3B,MAAA,CAAO4B,KAAK,EAAEC,SAAA,EAAWC,OAAA,EAASpB,IAAA,CACrDqB,MAAA,IAAWA,MAAA,CAAOnB,IAAI,KAAKP,UAAA;IAG9B,IAAIsB,aAAA,EAAeb,MAAA,EAAQkB,MAAA,EAAQ;MACjC1B,eAAA,CAAgBe,GAAG,CAAChB,UAAA,EAAY;QAC9BS,MAAA,EAAQa,aAAA,CAAcb;MACxB;MAEAtB,cAAA,CAAe;QACbc,eAAA;QACAN,MAAA;QACAc,MAAA,EAAQa,aAAA,CAAcb,MAAM;QAC5BZ,IAAA;QACAoB,eAAA,EAAiB;QACjBC,gBAAA,EAAkBlB,UAAA;QAClBF,OAAA;QACAC;MACF;IACF;EACF;EAEA,OAAO;IAAE6B,oBAAA,EAAsB3B;EAAgB;AACjD","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { PayloadComponent, PayloadRequest, SanitizedPermissions } from 'payload';
2
+ export declare const filterLLMInstructionsMenuItems: ({ collectionSlug, globalSlug, menuItems, permissions, req, }: {
3
+ collectionSlug?: string;
4
+ globalSlug?: string;
5
+ menuItems?: PayloadComponent[];
6
+ permissions: SanitizedPermissions;
7
+ req: PayloadRequest;
8
+ }) => Promise<PayloadComponent[] | undefined>;
9
+ //# sourceMappingURL=filterLLMInstructionsMenuItems.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterLLMInstructionsMenuItems.d.ts","sourceRoot":"","sources":["../../src/utilities/filterLLMInstructionsMenuItems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAKrF,eAAO,MAAM,8BAA8B,iEAMxC;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC9B,WAAW,EAAE,oBAAoB,CAAA;IACjC,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC,gBAAgB,EAAE,GAAG,SAAS,CAgCzC,CAAA"}
@@ -0,0 +1,37 @@
1
+ import { docAccessOperation, isolateObjectProperty, logError } from 'payload';
2
+ import { instructionsCollectionSlug } from 'payload/shared';
3
+ export const filterLLMInstructionsMenuItems = async ({
4
+ collectionSlug,
5
+ globalSlug,
6
+ menuItems,
7
+ permissions,
8
+ req
9
+ }) => {
10
+ if (!menuItems?.includes('@payloadcms/ui#LLMInstructionsMenuItem')) {
11
+ return menuItems;
12
+ }
13
+ const targetPermissions = collectionSlug ? permissions.collections?.[collectionSlug] : globalSlug ? permissions.globals?.[globalSlug] : undefined;
14
+ const collection = req.payload.collections[instructionsCollectionSlug];
15
+ let canEdit = false;
16
+ if (collection && targetPermissions?.read && targetPermissions.update) {
17
+ try {
18
+ const accessReq = isolateObjectProperty(req, ['fallbackLocale', 'locale', 'query']);
19
+ accessReq.query = {
20
+ ...req.query
21
+ };
22
+ const docPermissions = await docAccessOperation({
23
+ id: collectionSlug ? `collection-${collectionSlug}` : `global-${globalSlug}`,
24
+ collection,
25
+ req: accessReq
26
+ });
27
+ canEdit = Boolean(docPermissions.read && docPermissions.update);
28
+ } catch (err) {
29
+ logError({
30
+ err,
31
+ payload: req.payload
32
+ });
33
+ }
34
+ }
35
+ return menuItems?.filter(item => item !== '@payloadcms/ui#LLMInstructionsMenuItem' || canEdit);
36
+ };
37
+ //# sourceMappingURL=filterLLMInstructionsMenuItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterLLMInstructionsMenuItems.js","names":["docAccessOperation","isolateObjectProperty","logError","instructionsCollectionSlug","filterLLMInstructionsMenuItems","collectionSlug","globalSlug","menuItems","permissions","req","includes","targetPermissions","collections","globals","undefined","collection","payload","canEdit","read","update","accessReq","query","docPermissions","id","Boolean","err","filter","item"],"sources":["../../src/utilities/filterLLMInstructionsMenuItems.ts"],"sourcesContent":["import type { PayloadComponent, PayloadRequest, SanitizedPermissions } from 'payload'\n\nimport { docAccessOperation, isolateObjectProperty, logError } from 'payload'\nimport { instructionsCollectionSlug } from 'payload/shared'\n\nexport const filterLLMInstructionsMenuItems = async ({\n collectionSlug,\n globalSlug,\n menuItems,\n permissions,\n req,\n}: {\n collectionSlug?: string\n globalSlug?: string\n menuItems?: PayloadComponent[]\n permissions: SanitizedPermissions\n req: PayloadRequest\n}): Promise<PayloadComponent[] | undefined> => {\n if (!menuItems?.includes('@payloadcms/ui#LLMInstructionsMenuItem')) {\n return menuItems\n }\n\n const targetPermissions = collectionSlug\n ? permissions.collections?.[collectionSlug]\n : globalSlug\n ? permissions.globals?.[globalSlug]\n : undefined\n const collection = req.payload.collections[instructionsCollectionSlug]\n let canEdit = false\n\n if (collection && targetPermissions?.read && targetPermissions.update) {\n try {\n const accessReq = isolateObjectProperty(req, ['fallbackLocale', 'locale', 'query'])\n\n accessReq.query = { ...req.query }\n\n const docPermissions = await docAccessOperation({\n id: collectionSlug ? `collection-${collectionSlug}` : `global-${globalSlug}`,\n collection,\n req: accessReq,\n })\n\n canEdit = Boolean(docPermissions.read && docPermissions.update)\n } catch (err) {\n logError({ err, payload: req.payload })\n }\n }\n\n return menuItems?.filter((item) => item !== '@payloadcms/ui#LLMInstructionsMenuItem' || canEdit)\n}\n"],"mappings":"AAEA,SAASA,kBAAkB,EAAEC,qBAAqB,EAAEC,QAAQ,QAAQ;AACpE,SAASC,0BAA0B,QAAQ;AAE3C,OAAO,MAAMC,8BAAA,GAAiC,MAAAA,CAAO;EACnDC,cAAc;EACdC,UAAU;EACVC,SAAS;EACTC,WAAW;EACXC;AAAG,CAOJ;EACC,IAAI,CAACF,SAAA,EAAWG,QAAA,CAAS,2CAA2C;IAClE,OAAOH,SAAA;EACT;EAEA,MAAMI,iBAAA,GAAoBN,cAAA,GACtBG,WAAA,CAAYI,WAAW,GAAGP,cAAA,CAAe,GACzCC,UAAA,GACEE,WAAA,CAAYK,OAAO,GAAGP,UAAA,CAAW,GACjCQ,SAAA;EACN,MAAMC,UAAA,GAAaN,GAAA,CAAIO,OAAO,CAACJ,WAAW,CAACT,0BAAA,CAA2B;EACtE,IAAIc,OAAA,GAAU;EAEd,IAAIF,UAAA,IAAcJ,iBAAA,EAAmBO,IAAA,IAAQP,iBAAA,CAAkBQ,MAAM,EAAE;IACrE,IAAI;MACF,MAAMC,SAAA,GAAYnB,qBAAA,CAAsBQ,GAAA,EAAK,CAAC,kBAAkB,UAAU,QAAQ;MAElFW,SAAA,CAAUC,KAAK,GAAG;QAAE,GAAGZ,GAAA,CAAIY;MAAM;MAEjC,MAAMC,cAAA,GAAiB,MAAMtB,kBAAA,CAAmB;QAC9CuB,EAAA,EAAIlB,cAAA,GAAiB,cAAcA,cAAA,EAAgB,GAAG,UAAUC,UAAA,EAAY;QAC5ES,UAAA;QACAN,GAAA,EAAKW;MACP;MAEAH,OAAA,GAAUO,OAAA,CAAQF,cAAA,CAAeJ,IAAI,IAAII,cAAA,CAAeH,MAAM;IAChE,EAAE,OAAOM,GAAA,EAAK;MACZvB,QAAA,CAAS;QAAEuB,GAAA;QAAKT,OAAA,EAASP,GAAA,CAAIO;MAAQ;IACvC;EACF;EAEA,OAAOT,SAAA,EAAWmB,MAAA,CAAQC,IAAA,IAASA,IAAA,KAAS,4CAA4CV,OAAA;AAC1F","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  export const filterOutUploadFields = fields => {
2
2
  // List of reserved upload field names
3
- const baseUploadFieldNames = ['file', 'mimeType', 'thumbnailURL', 'width', 'height', 'filesize', 'filename', 'url', 'focalX', 'focalY', 'sizes'];
3
+ const baseUploadFieldNames = ['file', 'mimeType', 'thumbnailURL', 'width', 'height', 'filesize', 'filename', 'url', 'focalX', 'focalY', 'variants'];
4
4
  return fields.filter(field => !baseUploadFieldNames.includes('name' in field && field.name));
5
5
  };
6
6
  //# sourceMappingURL=filterOutUploadFields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"filterOutUploadFields.js","names":["filterOutUploadFields","fields","baseUploadFieldNames","filter","field","includes","name"],"sources":["../../src/utilities/filterOutUploadFields.ts"],"sourcesContent":["import type { FieldWithPathClient } from 'payload'\n\nexport const filterOutUploadFields = (fields: FieldWithPathClient[]): FieldWithPathClient[] => {\n // List of reserved upload field names\n const baseUploadFieldNames = [\n 'file',\n 'mimeType',\n 'thumbnailURL',\n 'width',\n 'height',\n 'filesize',\n 'filename',\n 'url',\n 'focalX',\n 'focalY',\n 'sizes',\n ]\n\n return fields.filter((field) => !baseUploadFieldNames.includes('name' in field && field.name))\n}\n"],"mappings":"AAEA,OAAO,MAAMA,qBAAA,GAAyBC,MAAA;EACpC;EACA,MAAMC,oBAAA,GAAuB,CAC3B,QACA,YACA,gBACA,SACA,UACA,YACA,YACA,OACA,UACA,UACA,QACD;EAED,OAAOD,MAAA,CAAOE,MAAM,CAAEC,KAAA,IAAU,CAACF,oBAAA,CAAqBG,QAAQ,CAAC,UAAUD,KAAA,IAASA,KAAA,CAAME,IAAI;AAC9F","ignoreList":[]}
1
+ {"version":3,"file":"filterOutUploadFields.js","names":["filterOutUploadFields","fields","baseUploadFieldNames","filter","field","includes","name"],"sources":["../../src/utilities/filterOutUploadFields.ts"],"sourcesContent":["import type { FieldWithPathClient } from 'payload'\n\nexport const filterOutUploadFields = (fields: FieldWithPathClient[]): FieldWithPathClient[] => {\n // List of reserved upload field names\n const baseUploadFieldNames = [\n 'file',\n 'mimeType',\n 'thumbnailURL',\n 'width',\n 'height',\n 'filesize',\n 'filename',\n 'url',\n 'focalX',\n 'focalY',\n 'variants',\n ]\n\n return fields.filter((field) => !baseUploadFieldNames.includes('name' in field && field.name))\n}\n"],"mappings":"AAEA,OAAO,MAAMA,qBAAA,GAAyBC,MAAA;EACpC;EACA,MAAMC,oBAAA,GAAuB,CAC3B,QACA,YACA,gBACA,SACA,UACA,YACA,YACA,OACA,UACA,UACA,WACD;EAED,OAAOD,MAAA,CAAOE,MAAM,CAAEC,KAAA,IAAU,CAACF,oBAAA,CAAqBG,QAAQ,CAAC,UAAUD,KAAA,IAASA,KAAA,CAAME,IAAI;AAC9F","ignoreList":[]}
@@ -1,3 +1,7 @@
1
1
  import type { ClientConfig, CreateClientConfigArgs } from 'payload';
2
- export declare const getClientConfig: ({ config, i18n, importMap, user }: CreateClientConfigArgs) => ClientConfig;
2
+ type GetClientConfigArgs = {
3
+ user: CreateClientConfigArgs['user'] | null;
4
+ } & Omit<CreateClientConfigArgs, 'user'>;
5
+ export declare const getClientConfig: ({ config, i18n, importMap, user }: GetClientConfigArgs) => ClientConfig;
6
+ export {};
3
7
  //# sourceMappingURL=getClientConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getClientConfig.d.ts","sourceRoot":"","sources":["../../src/utilities/getClientConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAanE,eAAO,MAAM,eAAe,sCACU,sBAAsB,KAAG,YAgC9D,CAAA"}
1
+ {"version":3,"file":"getClientConfig.d.ts","sourceRoot":"","sources":["../../src/utilities/getClientConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAOnE,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;CAC5C,GAAG,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAA;AAQxC,eAAO,MAAM,eAAe,sCACU,mBAAmB,KAAG,YAiC3D,CAAA"}
@@ -23,7 +23,8 @@ export const getClientConfig = cache(({
23
23
  config,
24
24
  i18n,
25
25
  importMap,
26
- user
26
+ // Always cache the full config, then return its redacted version for unauthenticated users.
27
+ user: true
27
28
  });
28
29
  cachedClientConfigs[currentLanguage] = cachedClientConfig;
29
30
  global._payload_clientConfigs = cachedClientConfigs;
@@ -1 +1 @@
1
- {"version":3,"file":"getClientConfig.js","names":["createClientConfig","createUnauthenticatedClientConfig","cache","cachedClientConfigs","global","_payload_clientConfigs","getClientConfig","config","i18n","importMap","user","currentLanguage","language","_payload_doNotCacheClientConfig","clientConfig","cachedClientConfig"],"sources":["../../src/utilities/getClientConfig.ts"],"sourcesContent":["import type { SupportedLanguages } from '@payloadcms/translations'\nimport type { ClientConfig, CreateClientConfigArgs } from 'payload'\n\nimport { createClientConfig, createUnauthenticatedClientConfig } from 'payload'\nimport { cache } from 'react'\n\ntype CachedClientConfigs = Record<keyof SupportedLanguages, ClientConfig>\n\nlet cachedClientConfigs = global._payload_clientConfigs as CachedClientConfigs\n\nif (!cachedClientConfigs) {\n cachedClientConfigs = global._payload_clientConfigs = {} as CachedClientConfigs\n}\n\nexport const getClientConfig = cache(\n ({ config, i18n, importMap, user }: CreateClientConfigArgs): ClientConfig => {\n const currentLanguage = i18n.language\n\n if (cachedClientConfigs[currentLanguage] && !global._payload_doNotCacheClientConfig) {\n if (!user) {\n return createUnauthenticatedClientConfig({\n clientConfig: cachedClientConfigs[currentLanguage],\n }) as unknown as ClientConfig\n }\n\n return cachedClientConfigs[currentLanguage]\n }\n\n const cachedClientConfig = createClientConfig({\n config,\n i18n,\n importMap,\n user,\n })\n\n cachedClientConfigs[currentLanguage] = cachedClientConfig\n global._payload_clientConfigs = cachedClientConfigs\n global._payload_doNotCacheClientConfig = false\n\n if (!user) {\n return createUnauthenticatedClientConfig({\n clientConfig: cachedClientConfig,\n }) as unknown as ClientConfig\n }\n\n return cachedClientConfig\n },\n)\n"],"mappings":"AAGA,SAASA,kBAAkB,EAAEC,iCAAiC,QAAQ;AACtE,SAASC,KAAK,QAAQ;AAItB,IAAIC,mBAAA,GAAsBC,MAAA,CAAOC,sBAAsB;AAEvD,IAAI,CAACF,mBAAA,EAAqB;EACxBA,mBAAA,GAAsBC,MAAA,CAAOC,sBAAsB,GAAG,CAAC;AACzD;AAEA,OAAO,MAAMC,eAAA,GAAkBJ,KAAA,CAC7B,CAAC;EAAEK,MAAM;EAAEC,IAAI;EAAEC,SAAS;EAAEC;AAAI,CAA0B;EACxD,MAAMC,eAAA,GAAkBH,IAAA,CAAKI,QAAQ;EAErC,IAAIT,mBAAmB,CAACQ,eAAA,CAAgB,IAAI,CAACP,MAAA,CAAOS,+BAA+B,EAAE;IACnF,IAAI,CAACH,IAAA,EAAM;MACT,OAAOT,iCAAA,CAAkC;QACvCa,YAAA,EAAcX,mBAAmB,CAACQ,eAAA;MACpC;IACF;IAEA,OAAOR,mBAAmB,CAACQ,eAAA,CAAgB;EAC7C;EAEA,MAAMI,kBAAA,GAAqBf,kBAAA,CAAmB;IAC5CO,MAAA;IACAC,IAAA;IACAC,SAAA;IACAC;EACF;EAEAP,mBAAmB,CAACQ,eAAA,CAAgB,GAAGI,kBAAA;EACvCX,MAAA,CAAOC,sBAAsB,GAAGF,mBAAA;EAChCC,MAAA,CAAOS,+BAA+B,GAAG;EAEzC,IAAI,CAACH,IAAA,EAAM;IACT,OAAOT,iCAAA,CAAkC;MACvCa,YAAA,EAAcC;IAChB;EACF;EAEA,OAAOA,kBAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"getClientConfig.js","names":["createClientConfig","createUnauthenticatedClientConfig","cache","cachedClientConfigs","global","_payload_clientConfigs","getClientConfig","config","i18n","importMap","user","currentLanguage","language","_payload_doNotCacheClientConfig","clientConfig","cachedClientConfig"],"sources":["../../src/utilities/getClientConfig.ts"],"sourcesContent":["import type { SupportedLanguages } from '@payloadcms/translations'\nimport type { ClientConfig, CreateClientConfigArgs } from 'payload'\n\nimport { createClientConfig, createUnauthenticatedClientConfig } from 'payload'\nimport { cache } from 'react'\n\ntype CachedClientConfigs = Record<keyof SupportedLanguages, ClientConfig>\n\ntype GetClientConfigArgs = {\n user: CreateClientConfigArgs['user'] | null\n} & Omit<CreateClientConfigArgs, 'user'>\n\nlet cachedClientConfigs = global._payload_clientConfigs as CachedClientConfigs\n\nif (!cachedClientConfigs) {\n cachedClientConfigs = global._payload_clientConfigs = {} as CachedClientConfigs\n}\n\nexport const getClientConfig = cache(\n ({ config, i18n, importMap, user }: GetClientConfigArgs): ClientConfig => {\n const currentLanguage = i18n.language\n\n if (cachedClientConfigs[currentLanguage] && !global._payload_doNotCacheClientConfig) {\n if (!user) {\n return createUnauthenticatedClientConfig({\n clientConfig: cachedClientConfigs[currentLanguage],\n }) as unknown as ClientConfig\n }\n\n return cachedClientConfigs[currentLanguage]\n }\n\n const cachedClientConfig = createClientConfig({\n config,\n i18n,\n importMap,\n // Always cache the full config, then return its redacted version for unauthenticated users.\n user: true,\n })\n\n cachedClientConfigs[currentLanguage] = cachedClientConfig\n global._payload_clientConfigs = cachedClientConfigs\n global._payload_doNotCacheClientConfig = false\n\n if (!user) {\n return createUnauthenticatedClientConfig({\n clientConfig: cachedClientConfig,\n }) as unknown as ClientConfig\n }\n\n return cachedClientConfig\n },\n)\n"],"mappings":"AAGA,SAASA,kBAAkB,EAAEC,iCAAiC,QAAQ;AACtE,SAASC,KAAK,QAAQ;AAQtB,IAAIC,mBAAA,GAAsBC,MAAA,CAAOC,sBAAsB;AAEvD,IAAI,CAACF,mBAAA,EAAqB;EACxBA,mBAAA,GAAsBC,MAAA,CAAOC,sBAAsB,GAAG,CAAC;AACzD;AAEA,OAAO,MAAMC,eAAA,GAAkBJ,KAAA,CAC7B,CAAC;EAAEK,MAAM;EAAEC,IAAI;EAAEC,SAAS;EAAEC;AAAI,CAAuB;EACrD,MAAMC,eAAA,GAAkBH,IAAA,CAAKI,QAAQ;EAErC,IAAIT,mBAAmB,CAACQ,eAAA,CAAgB,IAAI,CAACP,MAAA,CAAOS,+BAA+B,EAAE;IACnF,IAAI,CAACH,IAAA,EAAM;MACT,OAAOT,iCAAA,CAAkC;QACvCa,YAAA,EAAcX,mBAAmB,CAACQ,eAAA;MACpC;IACF;IAEA,OAAOR,mBAAmB,CAACQ,eAAA,CAAgB;EAC7C;EAEA,MAAMI,kBAAA,GAAqBf,kBAAA,CAAmB;IAC5CO,MAAA;IACAC,IAAA;IACAC,SAAA;IACA;IACAC,IAAA,EAAM;EACR;EAEAP,mBAAmB,CAACQ,eAAA,CAAgB,GAAGI,kBAAA;EACvCX,MAAA,CAAOC,sBAAsB,GAAGF,mBAAA;EAChCC,MAAA,CAAOS,+BAA+B,GAAG;EAEzC,IAAI,CAACH,IAAA,EAAM;IACT,OAAOT,iCAAA,CAAkC;MACvCa,YAAA,EAAcC;IAChB;EACF;EAEA,OAAOA,kBAAA;AACT","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getClientSchemaMap.d.ts","sourceRoot":"","sources":["../../src/utilities/getClientSchemaMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAY1F,eAAO,MAAM,kBAAkB,SACtB;IACL,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,cAAc,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,KAAG,oBAkCL,CAAA"}
1
+ {"version":3,"file":"getClientSchemaMap.d.ts","sourceRoot":"","sources":["../../src/utilities/getClientSchemaMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAY1F,eAAO,MAAM,kBAAkB,SACtB;IACL,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,cAAc,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,KAAG,oBAmCL,CAAA"}
@@ -17,7 +17,8 @@ export const getClientSchemaMap = cache(args => {
17
17
  if (!cachedClientSchemaMap || global._payload_doNotCacheClientSchemaMap) {
18
18
  cachedClientSchemaMap = new Map();
19
19
  }
20
- const cacheKey = collectionSlug || globalSlug || `widget:${widgetSlug}`;
20
+ // Labels are translated while building the map, so it has to be cached per language
21
+ const cacheKey = `${i18n.language}:${collectionSlug || globalSlug || `widget:${widgetSlug}`}`;
21
22
  let cachedEntityClientFieldMap = cachedClientSchemaMap.get(cacheKey);
22
23
  if (cachedEntityClientFieldMap) {
23
24
  return cachedEntityClientFieldMap;
@@ -1 +1 @@
1
- {"version":3,"file":"getClientSchemaMap.js","names":["cache","buildClientFieldSchemaMap","cachedClientSchemaMap","global","_payload_clientSchemaMap","getClientSchemaMap","args","collectionSlug","config","globalSlug","i18n","payload","schemaMap","widgetSlug","_payload_doNotCacheClientSchemaMap","Map","cacheKey","cachedEntityClientFieldMap","get","clientFieldSchemaMap","entityClientFieldMap","set"],"sources":["../../src/utilities/getClientSchemaMap.ts"],"sourcesContent":["import type { I18n, I18nClient } from '@payloadcms/translations'\nimport type { ClientConfig, ClientFieldSchemaMap, FieldSchemaMap, Payload } from 'payload'\n\nimport { cache } from 'react'\n\nimport { buildClientFieldSchemaMap } from './buildClientFieldSchemaMap/index.js'\n\nlet cachedClientSchemaMap = global._payload_clientSchemaMap\n\nif (!cachedClientSchemaMap) {\n cachedClientSchemaMap = global._payload_clientSchemaMap = null\n}\n\nexport const getClientSchemaMap = cache(\n (args: {\n collectionSlug?: string\n config: ClientConfig\n globalSlug?: string\n i18n: I18nClient\n payload: Payload\n schemaMap: FieldSchemaMap\n widgetSlug?: string\n }): ClientFieldSchemaMap => {\n const { collectionSlug, config, globalSlug, i18n, payload, schemaMap, widgetSlug } = args\n\n if (!cachedClientSchemaMap || global._payload_doNotCacheClientSchemaMap) {\n cachedClientSchemaMap = new Map()\n }\n\n const cacheKey = collectionSlug || globalSlug || `widget:${widgetSlug}`\n let cachedEntityClientFieldMap = cachedClientSchemaMap.get(cacheKey)\n\n if (cachedEntityClientFieldMap) {\n return cachedEntityClientFieldMap\n }\n\n cachedEntityClientFieldMap = new Map()\n\n const { clientFieldSchemaMap: entityClientFieldMap } = buildClientFieldSchemaMap({\n collectionSlug,\n config,\n globalSlug,\n i18n: i18n as I18n,\n payload,\n schemaMap,\n widgetSlug,\n })\n\n cachedClientSchemaMap.set(cacheKey, entityClientFieldMap)\n\n global._payload_clientSchemaMap = cachedClientSchemaMap\n\n global._payload_doNotCacheClientSchemaMap = false\n\n return entityClientFieldMap\n },\n)\n"],"mappings":"AAGA,SAASA,KAAK,QAAQ;AAEtB,SAASC,yBAAyB,QAAQ;AAE1C,IAAIC,qBAAA,GAAwBC,MAAA,CAAOC,wBAAwB;AAE3D,IAAI,CAACF,qBAAA,EAAuB;EAC1BA,qBAAA,GAAwBC,MAAA,CAAOC,wBAAwB,GAAG;AAC5D;AAEA,OAAO,MAAMC,kBAAA,GAAqBL,KAAA,CAC/BM,IAAA;EASC,MAAM;IAAEC,cAAc;IAAEC,MAAM;IAAEC,UAAU;IAAEC,IAAI;IAAEC,OAAO;IAAEC,SAAS;IAAEC;EAAU,CAAE,GAAGP,IAAA;EAErF,IAAI,CAACJ,qBAAA,IAAyBC,MAAA,CAAOW,kCAAkC,EAAE;IACvEZ,qBAAA,GAAwB,IAAIa,GAAA;EAC9B;EAEA,MAAMC,QAAA,GAAWT,cAAA,IAAkBE,UAAA,IAAc,UAAUI,UAAA,EAAY;EACvE,IAAII,0BAAA,GAA6Bf,qBAAA,CAAsBgB,GAAG,CAACF,QAAA;EAE3D,IAAIC,0BAAA,EAA4B;IAC9B,OAAOA,0BAAA;EACT;EAEAA,0BAAA,GAA6B,IAAIF,GAAA;EAEjC,MAAM;IAAEI,oBAAA,EAAsBC;EAAoB,CAAE,GAAGnB,yBAAA,CAA0B;IAC/EM,cAAA;IACAC,MAAA;IACAC,UAAA;IACAC,IAAA,EAAMA,IAAA;IACNC,OAAA;IACAC,SAAA;IACAC;EACF;EAEAX,qBAAA,CAAsBmB,GAAG,CAACL,QAAA,EAAUI,oBAAA;EAEpCjB,MAAA,CAAOC,wBAAwB,GAAGF,qBAAA;EAElCC,MAAA,CAAOW,kCAAkC,GAAG;EAE5C,OAAOM,oBAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"getClientSchemaMap.js","names":["cache","buildClientFieldSchemaMap","cachedClientSchemaMap","global","_payload_clientSchemaMap","getClientSchemaMap","args","collectionSlug","config","globalSlug","i18n","payload","schemaMap","widgetSlug","_payload_doNotCacheClientSchemaMap","Map","cacheKey","language","cachedEntityClientFieldMap","get","clientFieldSchemaMap","entityClientFieldMap","set"],"sources":["../../src/utilities/getClientSchemaMap.ts"],"sourcesContent":["import type { I18n, I18nClient } from '@payloadcms/translations'\nimport type { ClientConfig, ClientFieldSchemaMap, FieldSchemaMap, Payload } from 'payload'\n\nimport { cache } from 'react'\n\nimport { buildClientFieldSchemaMap } from './buildClientFieldSchemaMap/index.js'\n\nlet cachedClientSchemaMap = global._payload_clientSchemaMap\n\nif (!cachedClientSchemaMap) {\n cachedClientSchemaMap = global._payload_clientSchemaMap = null\n}\n\nexport const getClientSchemaMap = cache(\n (args: {\n collectionSlug?: string\n config: ClientConfig\n globalSlug?: string\n i18n: I18nClient\n payload: Payload\n schemaMap: FieldSchemaMap\n widgetSlug?: string\n }): ClientFieldSchemaMap => {\n const { collectionSlug, config, globalSlug, i18n, payload, schemaMap, widgetSlug } = args\n\n if (!cachedClientSchemaMap || global._payload_doNotCacheClientSchemaMap) {\n cachedClientSchemaMap = new Map()\n }\n\n // Labels are translated while building the map, so it has to be cached per language\n const cacheKey = `${i18n.language}:${collectionSlug || globalSlug || `widget:${widgetSlug}`}`\n let cachedEntityClientFieldMap = cachedClientSchemaMap.get(cacheKey)\n\n if (cachedEntityClientFieldMap) {\n return cachedEntityClientFieldMap\n }\n\n cachedEntityClientFieldMap = new Map()\n\n const { clientFieldSchemaMap: entityClientFieldMap } = buildClientFieldSchemaMap({\n collectionSlug,\n config,\n globalSlug,\n i18n: i18n as I18n,\n payload,\n schemaMap,\n widgetSlug,\n })\n\n cachedClientSchemaMap.set(cacheKey, entityClientFieldMap)\n\n global._payload_clientSchemaMap = cachedClientSchemaMap\n\n global._payload_doNotCacheClientSchemaMap = false\n\n return entityClientFieldMap\n },\n)\n"],"mappings":"AAGA,SAASA,KAAK,QAAQ;AAEtB,SAASC,yBAAyB,QAAQ;AAE1C,IAAIC,qBAAA,GAAwBC,MAAA,CAAOC,wBAAwB;AAE3D,IAAI,CAACF,qBAAA,EAAuB;EAC1BA,qBAAA,GAAwBC,MAAA,CAAOC,wBAAwB,GAAG;AAC5D;AAEA,OAAO,MAAMC,kBAAA,GAAqBL,KAAA,CAC/BM,IAAA;EASC,MAAM;IAAEC,cAAc;IAAEC,MAAM;IAAEC,UAAU;IAAEC,IAAI;IAAEC,OAAO;IAAEC,SAAS;IAAEC;EAAU,CAAE,GAAGP,IAAA;EAErF,IAAI,CAACJ,qBAAA,IAAyBC,MAAA,CAAOW,kCAAkC,EAAE;IACvEZ,qBAAA,GAAwB,IAAIa,GAAA;EAC9B;EAEA;EACA,MAAMC,QAAA,GAAW,GAAGN,IAAA,CAAKO,QAAQ,IAAIV,cAAA,IAAkBE,UAAA,IAAc,UAAUI,UAAA,EAAY,EAAE;EAC7F,IAAIK,0BAAA,GAA6BhB,qBAAA,CAAsBiB,GAAG,CAACH,QAAA;EAE3D,IAAIE,0BAAA,EAA4B;IAC9B,OAAOA,0BAAA;EACT;EAEAA,0BAAA,GAA6B,IAAIH,GAAA;EAEjC,MAAM;IAAEK,oBAAA,EAAsBC;EAAoB,CAAE,GAAGpB,yBAAA,CAA0B;IAC/EM,cAAA;IACAC,MAAA;IACAC,UAAA;IACAC,IAAA,EAAMA,IAAA;IACNC,OAAA;IACAC,SAAA;IACAC;EACF;EAEAX,qBAAA,CAAsBoB,GAAG,CAACN,QAAA,EAAUK,oBAAA;EAEpClB,MAAA,CAAOC,wBAAwB,GAAGF,qBAAA;EAElCC,MAAA,CAAOW,kCAAkC,GAAG;EAE5C,OAAOO,oBAAA;AACT","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ /** Resolve the configured upload using the same thumbnail policy across document cards. */
2
+ export declare function getDocumentThumbnail({ doc, useAsThumbnail, }: {
3
+ doc: Record<string, unknown>;
4
+ useAsThumbnail?: string;
5
+ }): string | undefined;
6
+ //# sourceMappingURL=getDocumentThumbnail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDocumentThumbnail.d.ts","sourceRoot":"","sources":["../../src/utilities/getDocumentThumbnail.ts"],"names":[],"mappings":"AAEA,2FAA2F;AAC3F,wBAAgB,oBAAoB,CAAC,EACnC,GAAG,EACH,cAAc,GACf,EAAE;IACD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,GAAG,MAAM,GAAG,SAAS,CAiCrB"}
@@ -0,0 +1,27 @@
1
+ import { getBestFitFromSizes, isImage } from 'payload/shared';
2
+ /** Resolve the configured upload using the same thumbnail policy across document cards. */
3
+ export function getDocumentThumbnail({
4
+ doc,
5
+ useAsThumbnail
6
+ }) {
7
+ const value = useAsThumbnail ? doc[useAsThumbnail] : undefined;
8
+ const firstValue = Array.isArray(value) ? value[0] : value;
9
+ const candidate = Array.isArray(value) ? firstValue : firstValue && typeof firstValue === 'object' ? firstValue : doc;
10
+ const thumbnailDoc = candidate && typeof candidate === 'object' && 'relationTo' in candidate && 'value' in candidate ? candidate.value : candidate;
11
+ if (!thumbnailDoc || typeof thumbnailDoc !== 'object') {
12
+ return undefined;
13
+ }
14
+ const upload = thumbnailDoc;
15
+ const thumbnailURL = typeof upload.thumbnailURL === 'string' ? upload.thumbnailURL : undefined;
16
+ const mimeType = typeof upload.mimeType === 'string' ? upload.mimeType : undefined;
17
+ if (mimeType && isImage(mimeType)) {
18
+ return getBestFitFromSizes({
19
+ sizes: upload.variants,
20
+ thumbnailURL,
21
+ url: typeof upload.url === 'string' ? upload.url : '',
22
+ width: typeof upload.width === 'number' ? upload.width : undefined
23
+ }) || undefined;
24
+ }
25
+ return thumbnailURL || undefined;
26
+ }
27
+ //# sourceMappingURL=getDocumentThumbnail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDocumentThumbnail.js","names":["getBestFitFromSizes","isImage","getDocumentThumbnail","doc","useAsThumbnail","value","undefined","firstValue","Array","isArray","candidate","thumbnailDoc","upload","thumbnailURL","mimeType","sizes","variants","url","width"],"sources":["../../src/utilities/getDocumentThumbnail.ts"],"sourcesContent":["import { getBestFitFromSizes, isImage } from 'payload/shared'\n\n/** Resolve the configured upload using the same thumbnail policy across document cards. */\nexport function getDocumentThumbnail({\n doc,\n useAsThumbnail,\n}: {\n doc: Record<string, unknown>\n useAsThumbnail?: string\n}): string | undefined {\n const value = useAsThumbnail ? doc[useAsThumbnail] : undefined\n const firstValue = Array.isArray(value) ? value[0] : value\n const candidate = Array.isArray(value)\n ? firstValue\n : firstValue && typeof firstValue === 'object'\n ? firstValue\n : doc\n const thumbnailDoc =\n candidate && typeof candidate === 'object' && 'relationTo' in candidate && 'value' in candidate\n ? candidate.value\n : candidate\n\n if (!thumbnailDoc || typeof thumbnailDoc !== 'object') {\n return undefined\n }\n\n const upload = thumbnailDoc as Record<string, unknown>\n const thumbnailURL = typeof upload.thumbnailURL === 'string' ? upload.thumbnailURL : undefined\n const mimeType = typeof upload.mimeType === 'string' ? upload.mimeType : undefined\n\n if (mimeType && isImage(mimeType)) {\n return (\n getBestFitFromSizes({\n sizes: upload.variants as Record<string, { url?: string; width?: number }>,\n thumbnailURL,\n url: typeof upload.url === 'string' ? upload.url : '',\n width: typeof upload.width === 'number' ? upload.width : undefined,\n }) || undefined\n )\n }\n\n return thumbnailURL || undefined\n}\n"],"mappings":"AAAA,SAASA,mBAAmB,EAAEC,OAAO,QAAQ;AAE7C;AACA,OAAO,SAASC,qBAAqB;EACnCC,GAAG;EACHC;AAAc,CAIf;EACC,MAAMC,KAAA,GAAQD,cAAA,GAAiBD,GAAG,CAACC,cAAA,CAAe,GAAGE,SAAA;EACrD,MAAMC,UAAA,GAAaC,KAAA,CAAMC,OAAO,CAACJ,KAAA,IAASA,KAAK,CAAC,EAAE,GAAGA,KAAA;EACrD,MAAMK,SAAA,GAAYF,KAAA,CAAMC,OAAO,CAACJ,KAAA,IAC5BE,UAAA,GACAA,UAAA,IAAc,OAAOA,UAAA,KAAe,WAClCA,UAAA,GACAJ,GAAA;EACN,MAAMQ,YAAA,GACJD,SAAA,IAAa,OAAOA,SAAA,KAAc,YAAY,gBAAgBA,SAAA,IAAa,WAAWA,SAAA,GAClFA,SAAA,CAAUL,KAAK,GACfK,SAAA;EAEN,IAAI,CAACC,YAAA,IAAgB,OAAOA,YAAA,KAAiB,UAAU;IACrD,OAAOL,SAAA;EACT;EAEA,MAAMM,MAAA,GAASD,YAAA;EACf,MAAME,YAAA,GAAe,OAAOD,MAAA,CAAOC,YAAY,KAAK,WAAWD,MAAA,CAAOC,YAAY,GAAGP,SAAA;EACrF,MAAMQ,QAAA,GAAW,OAAOF,MAAA,CAAOE,QAAQ,KAAK,WAAWF,MAAA,CAAOE,QAAQ,GAAGR,SAAA;EAEzE,IAAIQ,QAAA,IAAYb,OAAA,CAAQa,QAAA,GAAW;IACjC,OACEd,mBAAA,CAAoB;MAClBe,KAAA,EAAOH,MAAA,CAAOI,QAAQ;MACtBH,YAAA;MACAI,GAAA,EAAK,OAAOL,MAAA,CAAOK,GAAG,KAAK,WAAWL,MAAA,CAAOK,GAAG,GAAG;MACnDC,KAAA,EAAO,OAAON,MAAA,CAAOM,KAAK,KAAK,WAAWN,MAAA,CAAOM,KAAK,GAAGZ;IAC3D,MAAMA,SAAA;EAEV;EAEA,OAAOO,YAAA,IAAgBP,SAAA;AACzB","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { PopulateType, SanitizedCollectionConfig } from 'payload';
2
+ /** Select thumbnail metadata independently of the upload collection's defaultPopulate. */
3
+ export declare function getDocumentThumbnailPopulate({ collectionConfig, collections, }: {
4
+ collectionConfig: SanitizedCollectionConfig;
5
+ collections: SanitizedCollectionConfig[];
6
+ }): PopulateType | undefined;
7
+ //# sourceMappingURL=getDocumentThumbnailPopulate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDocumentThumbnailPopulate.d.ts","sourceRoot":"","sources":["../../src/utilities/getDocumentThumbnailPopulate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAItE,0FAA0F;AAC1F,wBAAgB,4BAA4B,CAAC,EAC3C,gBAAgB,EAChB,WAAW,GACZ,EAAE;IACD,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,WAAW,EAAE,yBAAyB,EAAE,CAAA;CACzC,GAAG,YAAY,GAAG,SAAS,CAsB3B"}
@@ -0,0 +1,23 @@
1
+ import { getDocumentThumbnailSelect } from './getDocumentThumbnailSelect.js';
2
+ /** Select thumbnail metadata independently of the upload collection's defaultPopulate. */
3
+ export function getDocumentThumbnailPopulate({
4
+ collectionConfig,
5
+ collections
6
+ }) {
7
+ const thumbnailField = collectionConfig.flattenedFields.find(field => field.name === collectionConfig.admin.useAsThumbnail && field.type === 'upload');
8
+ if (!thumbnailField || !('relationTo' in thumbnailField)) {
9
+ return undefined;
10
+ }
11
+ const relatedSlugs = Array.isArray(thumbnailField.relationTo) ? thumbnailField.relationTo : [thumbnailField.relationTo];
12
+ const populate = {};
13
+ for (const slug of relatedSlugs) {
14
+ const relatedCollectionConfig = collections.find(collection => collection.slug === slug);
15
+ if (relatedCollectionConfig) {
16
+ populate[slug] = getDocumentThumbnailSelect({
17
+ collectionConfig: relatedCollectionConfig
18
+ });
19
+ }
20
+ }
21
+ return populate;
22
+ }
23
+ //# sourceMappingURL=getDocumentThumbnailPopulate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDocumentThumbnailPopulate.js","names":["getDocumentThumbnailSelect","getDocumentThumbnailPopulate","collectionConfig","collections","thumbnailField","flattenedFields","find","field","name","admin","useAsThumbnail","type","undefined","relatedSlugs","Array","isArray","relationTo","populate","slug","relatedCollectionConfig","collection"],"sources":["../../src/utilities/getDocumentThumbnailPopulate.ts"],"sourcesContent":["import type { PopulateType, SanitizedCollectionConfig } from 'payload'\n\nimport { getDocumentThumbnailSelect } from './getDocumentThumbnailSelect.js'\n\n/** Select thumbnail metadata independently of the upload collection's defaultPopulate. */\nexport function getDocumentThumbnailPopulate({\n collectionConfig,\n collections,\n}: {\n collectionConfig: SanitizedCollectionConfig\n collections: SanitizedCollectionConfig[]\n}): PopulateType | undefined {\n const thumbnailField = collectionConfig.flattenedFields.find(\n (field) => field.name === collectionConfig.admin.useAsThumbnail && field.type === 'upload',\n )\n\n if (!thumbnailField || !('relationTo' in thumbnailField)) {\n return undefined\n }\n const relatedSlugs = Array.isArray(thumbnailField.relationTo)\n ? thumbnailField.relationTo\n : [thumbnailField.relationTo]\n const populate: PopulateType = {}\n\n for (const slug of relatedSlugs) {\n const relatedCollectionConfig = collections.find((collection) => collection.slug === slug)\n\n if (relatedCollectionConfig) {\n populate[slug] = getDocumentThumbnailSelect({ collectionConfig: relatedCollectionConfig })\n }\n }\n\n return populate\n}\n"],"mappings":"AAEA,SAASA,0BAA0B,QAAQ;AAE3C;AACA,OAAO,SAASC,6BAA6B;EAC3CC,gBAAgB;EAChBC;AAAW,CAIZ;EACC,MAAMC,cAAA,GAAiBF,gBAAA,CAAiBG,eAAe,CAACC,IAAI,CACzDC,KAAA,IAAUA,KAAA,CAAMC,IAAI,KAAKN,gBAAA,CAAiBO,KAAK,CAACC,cAAc,IAAIH,KAAA,CAAMI,IAAI,KAAK;EAGpF,IAAI,CAACP,cAAA,IAAkB,EAAE,gBAAgBA,cAAa,GAAI;IACxD,OAAOQ,SAAA;EACT;EACA,MAAMC,YAAA,GAAeC,KAAA,CAAMC,OAAO,CAACX,cAAA,CAAeY,UAAU,IACxDZ,cAAA,CAAeY,UAAU,GACzB,CAACZ,cAAA,CAAeY,UAAU,CAAC;EAC/B,MAAMC,QAAA,GAAyB,CAAC;EAEhC,KAAK,MAAMC,IAAA,IAAQL,YAAA,EAAc;IAC/B,MAAMM,uBAAA,GAA0BhB,WAAA,CAAYG,IAAI,CAAEc,UAAA,IAAeA,UAAA,CAAWF,IAAI,KAAKA,IAAA;IAErF,IAAIC,uBAAA,EAAyB;MAC3BF,QAAQ,CAACC,IAAA,CAAK,GAAGlB,0BAAA,CAA2B;QAAEE,gBAAA,EAAkBiB;MAAwB;IAC1F;EACF;EAEA,OAAOF,QAAA;AACT","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { SanitizedCollectionConfig, SelectType } from 'payload';
2
+ /** Custom thumbnail callbacks can depend on any configured upload field. */
3
+ export declare function getDocumentThumbnailSelect({ collectionConfig, select, }: {
4
+ collectionConfig: SanitizedCollectionConfig;
5
+ select?: SelectType;
6
+ }): SelectType;
7
+ //# sourceMappingURL=getDocumentThumbnailSelect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDocumentThumbnailSelect.d.ts","sourceRoot":"","sources":["../../src/utilities/getDocumentThumbnailSelect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAIpE,4EAA4E;AAC5E,wBAAgB,0BAA0B,CAAC,EACzC,gBAAgB,EAChB,MAAW,GACZ,EAAE;IACD,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB,GAAG,UAAU,CAgBb"}
@@ -0,0 +1,24 @@
1
+ import { appendUploadSelectFields } from 'payload/shared';
2
+ /** Custom thumbnail callbacks can depend on any configured upload field. */
3
+ export function getDocumentThumbnailSelect({
4
+ collectionConfig,
5
+ select = {}
6
+ }) {
7
+ const thumbnailSelect = {
8
+ ...select
9
+ };
10
+ appendUploadSelectFields({
11
+ collectionConfig,
12
+ select: thumbnailSelect
13
+ });
14
+ if (collectionConfig.upload) {
15
+ thumbnailSelect.url = true;
16
+ }
17
+ if (collectionConfig.upload && typeof collectionConfig.upload.adminThumbnail === 'function') {
18
+ for (const field of collectionConfig.flattenedFields) {
19
+ thumbnailSelect[field.name] = true;
20
+ }
21
+ }
22
+ return thumbnailSelect;
23
+ }
24
+ //# sourceMappingURL=getDocumentThumbnailSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDocumentThumbnailSelect.js","names":["appendUploadSelectFields","getDocumentThumbnailSelect","collectionConfig","select","thumbnailSelect","upload","url","adminThumbnail","field","flattenedFields","name"],"sources":["../../src/utilities/getDocumentThumbnailSelect.ts"],"sourcesContent":["import type { SanitizedCollectionConfig, SelectType } from 'payload'\n\nimport { appendUploadSelectFields } from 'payload/shared'\n\n/** Custom thumbnail callbacks can depend on any configured upload field. */\nexport function getDocumentThumbnailSelect({\n collectionConfig,\n select = {},\n}: {\n collectionConfig: SanitizedCollectionConfig\n select?: SelectType\n}): SelectType {\n const thumbnailSelect = { ...select }\n\n appendUploadSelectFields({ collectionConfig, select: thumbnailSelect })\n\n if (collectionConfig.upload) {\n thumbnailSelect.url = true\n }\n\n if (collectionConfig.upload && typeof collectionConfig.upload.adminThumbnail === 'function') {\n for (const field of collectionConfig.flattenedFields) {\n thumbnailSelect[field.name] = true\n }\n }\n\n return thumbnailSelect\n}\n"],"mappings":"AAEA,SAASA,wBAAwB,QAAQ;AAEzC;AACA,OAAO,SAASC,2BAA2B;EACzCC,gBAAgB;EAChBC,MAAA,GAAS,CAAC;AAAC,CAIZ;EACC,MAAMC,eAAA,GAAkB;IAAE,GAAGD;EAAO;EAEpCH,wBAAA,CAAyB;IAAEE,gBAAA;IAAkBC,MAAA,EAAQC;EAAgB;EAErE,IAAIF,gBAAA,CAAiBG,MAAM,EAAE;IAC3BD,eAAA,CAAgBE,GAAG,GAAG;EACxB;EAEA,IAAIJ,gBAAA,CAAiBG,MAAM,IAAI,OAAOH,gBAAA,CAAiBG,MAAM,CAACE,cAAc,KAAK,YAAY;IAC3F,KAAK,MAAMC,KAAA,IAASN,gBAAA,CAAiBO,eAAe,EAAE;MACpDL,eAAe,CAACI,KAAA,CAAME,IAAI,CAAC,GAAG;IAChC;EACF;EAEA,OAAON,eAAA;AACT","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import type { ClientCollectionConfig } from 'payload';
2
+ type ClientHierarchyConfig = Exclude<ClientCollectionConfig['hierarchy'], boolean | undefined>;
3
+ export declare function getHierarchyCollectionRestrictions({ collectionConfig, }: {
4
+ collectionConfig?: ClientCollectionConfig;
5
+ }): {
6
+ hierarchyConfig?: ClientHierarchyConfig;
7
+ relatedCollectionSlugs: string[];
8
+ typeFieldName?: string;
9
+ };
10
+ export declare function getEffectiveHierarchyCollections({ allowedCollections, relatedCollectionSlugs, }: {
11
+ allowedCollections?: null | string[];
12
+ relatedCollectionSlugs: string[];
13
+ }): string[];
14
+ export {};
15
+ //# sourceMappingURL=hierarchyCollectionRestrictions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hierarchyCollectionRestrictions.d.ts","sourceRoot":"","sources":["../../src/utilities/hierarchyCollectionRestrictions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAErD,KAAK,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC,CAAA;AAE9F,wBAAgB,kCAAkC,CAAC,EACjD,gBAAgB,GACjB,EAAE;IACD,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;CAC1C,GAAG;IACF,eAAe,CAAC,EAAE,qBAAqB,CAAA;IACvC,sBAAsB,EAAE,MAAM,EAAE,CAAA;IAChC,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAaA;AAED,wBAAgB,gCAAgC,CAAC,EAC/C,kBAAkB,EAClB,sBAAsB,GACvB,EAAE;IACD,kBAAkB,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAAA;IACpC,sBAAsB,EAAE,MAAM,EAAE,CAAA;CACjC,GAAG,MAAM,EAAE,CAEX"}
@@ -0,0 +1,17 @@
1
+ export function getHierarchyCollectionRestrictions({
2
+ collectionConfig
3
+ }) {
4
+ const hierarchyConfig = collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object' ? collectionConfig.hierarchy : undefined;
5
+ return {
6
+ hierarchyConfig,
7
+ relatedCollectionSlugs: Object.keys(hierarchyConfig?.relatedCollections ?? {}),
8
+ typeFieldName: hierarchyConfig?.collectionSpecific ? hierarchyConfig.collectionSpecific.fieldName : undefined
9
+ };
10
+ }
11
+ export function getEffectiveHierarchyCollections({
12
+ allowedCollections,
13
+ relatedCollectionSlugs
14
+ }) {
15
+ return allowedCollections?.length ? allowedCollections : relatedCollectionSlugs;
16
+ }
17
+ //# sourceMappingURL=hierarchyCollectionRestrictions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hierarchyCollectionRestrictions.js","names":["getHierarchyCollectionRestrictions","collectionConfig","hierarchyConfig","hierarchy","undefined","relatedCollectionSlugs","Object","keys","relatedCollections","typeFieldName","collectionSpecific","fieldName","getEffectiveHierarchyCollections","allowedCollections","length"],"sources":["../../src/utilities/hierarchyCollectionRestrictions.ts"],"sourcesContent":["import type { ClientCollectionConfig } from 'payload'\n\ntype ClientHierarchyConfig = Exclude<ClientCollectionConfig['hierarchy'], boolean | undefined>\n\nexport function getHierarchyCollectionRestrictions({\n collectionConfig,\n}: {\n collectionConfig?: ClientCollectionConfig\n}): {\n hierarchyConfig?: ClientHierarchyConfig\n relatedCollectionSlugs: string[]\n typeFieldName?: string\n} {\n const hierarchyConfig =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n\n return {\n hierarchyConfig,\n relatedCollectionSlugs: Object.keys(hierarchyConfig?.relatedCollections ?? {}),\n typeFieldName: hierarchyConfig?.collectionSpecific\n ? hierarchyConfig.collectionSpecific.fieldName\n : undefined,\n }\n}\n\nexport function getEffectiveHierarchyCollections({\n allowedCollections,\n relatedCollectionSlugs,\n}: {\n allowedCollections?: null | string[]\n relatedCollectionSlugs: string[]\n}): string[] {\n return allowedCollections?.length ? allowedCollections : relatedCollectionSlugs\n}\n"],"mappings":"AAIA,OAAO,SAASA,mCAAmC;EACjDC;AAAgB,CAGjB;EAKC,MAAMC,eAAA,GACJD,gBAAA,EAAkBE,SAAA,IAAa,OAAOF,gBAAA,CAAiBE,SAAS,KAAK,WACjEF,gBAAA,CAAiBE,SAAS,GAC1BC,SAAA;EAEN,OAAO;IACLF,eAAA;IACAG,sBAAA,EAAwBC,MAAA,CAAOC,IAAI,CAACL,eAAA,EAAiBM,kBAAA,IAAsB,CAAC;IAC5EC,aAAA,EAAeP,eAAA,EAAiBQ,kBAAA,GAC5BR,eAAA,CAAgBQ,kBAAkB,CAACC,SAAS,GAC5CP;EACN;AACF;AAEA,OAAO,SAASQ,iCAAiC;EAC/CC,kBAAkB;EAClBR;AAAsB,CAIvB;EACC,OAAOQ,kBAAA,EAAoBC,MAAA,GAASD,kBAAA,GAAqBR,sBAAA;AAC3D","ignoreList":[]}
@@ -2,7 +2,7 @@ import type { ClientCollectionConfig, ClientConfig, CollectionConfig, Column, Co
2
2
  import { type I18nClient } from '@payloadcms/translations';
3
3
  import React from 'react';
4
4
  export declare const renderFilters: (fields: Field[], importMap: ImportMap) => Map<string, React.ReactNode>;
5
- export declare const renderTable: ({ clientCollectionConfig, clientConfig, collectionConfig, collections, columns, customCellProps, data, enableRowSelections, fieldPermissions, groupByFieldPath, groupByValue, heading, i18n, key, orderableFieldName, payload, query, renderRowTypes, req, showHeading, tableAppearance, useAsTitle, viewType, }: {
5
+ export declare const renderTable: ({ clientCollectionConfig, clientConfig, collectionConfig, collections, columns, customCellProps, data, enableRowSelections, fieldPermissions, groupByFieldPath, groupByValue, heading, hierarchyParentFieldName, i18n, key, orderableFieldName, payload, query, renderRowTypes, req, showHeading, tableAppearance, useAsTitle, viewType, }: {
6
6
  clientCollectionConfig?: ClientCollectionConfig;
7
7
  clientConfig?: ClientConfig;
8
8
  collectionConfig?: SanitizedCollectionConfig;
@@ -16,6 +16,7 @@ export declare const renderTable: ({ clientCollectionConfig, clientConfig, colle
16
16
  groupByFieldPath?: string;
17
17
  groupByValue?: string;
18
18
  heading?: string;
19
+ hierarchyParentFieldName?: string;
19
20
  i18n: I18nClient;
20
21
  key?: string;
21
22
  orderableFieldName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"renderTable.d.ts","sourceRoot":"","sources":["../../src/utilities/renderTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EAEZ,gBAAgB,EAChB,MAAM,EACN,gBAAgB,EAChB,KAAK,EACL,SAAS,EACT,SAAS,EACT,aAAa,EACb,OAAO,EACP,cAAc,EACd,yBAAyB,EACzB,0BAA0B,EAC1B,SAAS,EACV,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1E,OAAO,KAAK,MAAM,OAAO,CAAA;AA0BzB,eAAO,MAAM,aAAa,WAChB,KAAK,EAAE,aACJ,SAAS,KACnB,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAoB3B,CAAA;AAEH,eAAO,MAAM,WAAW,qTAwBrB;IACD,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,IAAI,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;IAChC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,gBAAgB,CAAC,EAAE,0BAA0B,CAAA;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,UAAU,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kBAAkB,EAAE,MAAM,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,eAAe,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IACzC,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,KAAG;IACF,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CAuPvB,CAAA"}
1
+ {"version":3,"file":"renderTable.d.ts","sourceRoot":"","sources":["../../src/utilities/renderTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EAEZ,gBAAgB,EAChB,MAAM,EACN,gBAAgB,EAChB,KAAK,EACL,SAAS,EACT,SAAS,EACT,aAAa,EACb,OAAO,EACP,cAAc,EACd,yBAAyB,EACzB,0BAA0B,EAC1B,SAAS,EACV,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1E,OAAO,KAAK,MAAM,OAAO,CAAA;AA0BzB,eAAO,MAAM,aAAa,WAChB,KAAK,EAAE,aACJ,SAAS,KACnB,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAoB3B,CAAA;AAEH,eAAO,MAAM,WAAW,+UAyBrB;IACD,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,IAAI,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;IAChC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,gBAAgB,CAAC,EAAE,0BAA0B,CAAA;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,IAAI,EAAE,UAAU,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kBAAkB,EAAE,MAAM,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,eAAe,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IACzC,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,KAAG;IACF,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CAyPvB,CAAA"}
@@ -32,6 +32,7 @@ export const renderTable = ({
32
32
  groupByFieldPath,
33
33
  groupByValue,
34
34
  heading,
35
+ hierarchyParentFieldName,
35
36
  i18n,
36
37
  key = 'table',
37
38
  orderableFieldName,
@@ -86,6 +87,7 @@ export const renderTable = ({
86
87
  columns,
87
88
  enableRowSelections,
88
89
  fieldPermissions,
90
+ hierarchyParentFieldName,
89
91
  i18n,
90
92
  // sortColumnProps,
91
93
  customCellProps,
@@ -1 +1 @@
1
- {"version":3,"file":"renderTable.js","names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","React","RenderServerComponent","TableSectionContent","TableSectionHeader","TableSectionRoot","GroupByHeader","GroupByPageControls","OrderableTable","Pill","SelectAll","SelectionProvider","SelectRow","SortHeader","SortRow","Table","filterFieldsWithPermissions","buildColumnState","renderFilters","fields","importMap","reduce","acc","field","admin","components","Filter","set","name","Component","Map","renderTable","clientCollectionConfig","clientConfig","collectionConfig","collections","columns","customCellProps","data","enableRowSelections","fieldPermissions","groupByFieldPath","groupByValue","heading","i18n","key","orderableFieldName","payload","query","renderRowTypes","req","showHeading","tableAppearance","useAsTitle","viewType","columnState","clientFields","serverFields","isPolymorphic","isGroupingBy","Boolean","groupBy","tableId","slug","encodeURIComponent","String","undefined","filter","join","collection","find","each","some","push","serverCollectionConfig","config","sharedArgs","collectionSlug","dataType","docs","columnsToUse","unshift","accessor","active","disabled","hidden","Heading","t","renderedCells","map","doc","i","_jsx","size","relationTo","labels","singular","row","rowData","rowIndex","selectRowLabel","getSelectRowLabel","className","_jsxs","totalDocs","appearance","ariaLabel","plural","id","splice","_","title","label"],"sources":["../../src/utilities/renderTable.tsx"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n CollectionConfig,\n Column,\n ColumnPreference,\n Field,\n ImportMap,\n ListQuery,\n PaginatedDocs,\n Payload,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedFieldsPermissions,\n ViewTypes,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled } from 'payload/shared'\nimport React from 'react'\n\nimport type { BuildColumnStateArgs } from '../providers/TableColumns/buildColumnState/index.js'\n\nimport { RenderServerComponent } from '../elements/RenderServerComponent/index.js'\nimport {\n TableSectionContent,\n TableSectionHeader,\n TableSectionRoot,\n} from '../elements/TableSection/index.js'\nimport {\n GroupByHeader,\n GroupByPageControls,\n OrderableTable,\n Pill,\n SelectAll,\n SelectionProvider,\n SelectRow,\n SortHeader,\n SortRow,\n Table,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- these MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../exports/client/index.js'\nimport { filterFieldsWithPermissions } from '../providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js'\nimport { buildColumnState } from '../providers/TableColumns/buildColumnState/index.js'\n\nexport const renderFilters = (\n fields: Field[],\n importMap: ImportMap,\n): Map<string, React.ReactNode> =>\n fields.reduce(\n (acc, field) => {\n if (fieldIsHiddenOrDisabled(field)) {\n return acc\n }\n\n if ('name' in field && field.admin?.components?.Filter) {\n acc.set(\n field.name,\n RenderServerComponent({\n Component: field.admin.components?.Filter,\n importMap,\n }),\n )\n }\n\n return acc\n },\n new Map() as Map<string, React.ReactNode>,\n )\n\nexport const renderTable = ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collections,\n columns,\n customCellProps,\n data,\n enableRowSelections,\n fieldPermissions,\n groupByFieldPath,\n groupByValue,\n heading,\n i18n,\n key = 'table',\n orderableFieldName,\n payload,\n query,\n renderRowTypes,\n req,\n showHeading,\n tableAppearance,\n useAsTitle,\n viewType,\n}: {\n clientCollectionConfig?: ClientCollectionConfig\n clientConfig?: ClientConfig\n collectionConfig?: SanitizedCollectionConfig\n collections?: string[]\n columns: ColumnPreference[]\n customCellProps?: Record<string, unknown>\n data?: PaginatedDocs | undefined\n drawerSlug?: string\n enableRowSelections: boolean\n fieldPermissions?: SanitizedFieldsPermissions\n groupByFieldPath?: string\n groupByValue?: string\n heading?: string\n i18n: I18nClient\n key?: string\n orderableFieldName: string\n payload: Payload\n query?: ListQuery\n renderRowTypes?: boolean\n req?: PayloadRequest\n /** Show heading without requiring full groupBy context */\n showHeading?: boolean\n tableAppearance?: 'condensed' | 'default'\n useAsTitle: CollectionConfig['admin']['useAsTitle']\n viewType?: ViewTypes\n}): {\n columnState: Column[]\n Table: React.ReactNode\n} => {\n // Ensure that columns passed as args comply with the field config, i.e. `hidden`, `disabled.column`, etc.\n\n let columnState: Column[]\n let clientFields: ClientField[] = clientCollectionConfig?.fields || []\n let serverFields: Field[] = collectionConfig?.fields || []\n const isPolymorphic = collections\n\n const isGroupingBy = Boolean(query?.groupBy)\n const tableId = [\n 'payload-table',\n clientCollectionConfig?.slug || 'results',\n isGroupingBy ? encodeURIComponent(String(groupByValue ?? key)) : undefined,\n ]\n .filter(Boolean)\n .join('-')\n\n if (isPolymorphic) {\n clientFields = []\n serverFields = []\n\n for (const collection of collections) {\n const clientCollectionConfig = clientConfig.collections.find(\n (each) => each.slug === collection,\n )\n\n for (const field of filterFieldsWithPermissions({\n fieldPermissions,\n fields: clientCollectionConfig.fields,\n })) {\n if (fieldAffectsData(field)) {\n if (clientFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n clientFields.push(field)\n }\n\n const serverCollectionConfig = payload.collections[collection].config\n\n for (const field of filterFieldsWithPermissions<Field>({\n fieldPermissions,\n fields: serverCollectionConfig.fields,\n })) {\n if (fieldAffectsData(field)) {\n if (serverFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n serverFields.push(field)\n }\n }\n }\n\n const sharedArgs: Pick<\n BuildColumnStateArgs,\n | 'clientFields'\n | 'columns'\n | 'customCellProps'\n | 'enableRowSelections'\n | 'fieldPermissions'\n | 'i18n'\n | 'payload'\n | 'req'\n | 'serverFields'\n | 'useAsTitle'\n | 'viewType'\n > = {\n clientFields,\n columns,\n enableRowSelections,\n fieldPermissions,\n i18n,\n // sortColumnProps,\n customCellProps,\n payload,\n req,\n serverFields,\n useAsTitle,\n viewType,\n }\n\n if (isPolymorphic) {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: undefined,\n dataType: 'polymorphic',\n docs: data?.docs || [],\n })\n } else {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: clientCollectionConfig.slug,\n dataType: 'monomorphic',\n docs: data?.docs || [],\n })\n }\n\n const columnsToUse = [...columnState]\n\n if (renderRowTypes) {\n columnsToUse.unshift({\n accessor: 'collection',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: i18n.t('version:type'),\n renderedCells: (data?.docs || []).map((doc, i) => (\n <Pill key={i} size=\"small\">\n {getTranslation(\n collections\n ? payload.collections[doc.relationTo].config.labels.singular\n : clientCollectionConfig.labels.singular,\n i18n,\n )}\n </Pill>\n )),\n } as Column)\n }\n\n if (enableRowSelections) {\n columnsToUse.unshift({\n accessor: '_select',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SelectAll />,\n renderedCells: (data?.docs || []).map((row, i) => (\n <SelectRow\n key={i}\n rowData={row}\n rowIndex={i}\n selectRowLabel={getSelectRowLabel({ i18n, rowData: row, useAsTitle })}\n />\n )),\n } as Column)\n }\n\n if (isGroupingBy) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <TableSectionRoot\n className={['table-wrap', groupByValue !== undefined && `table-wrap--group-by`]\n .filter(Boolean)\n .join(' ')}\n data-group-id={groupByValue}\n key={key}\n >\n <SelectionProvider docs={data?.docs || []} totalDocs={data?.totalDocs || 0}>\n <TableSectionHeader heading={heading}>\n <GroupByHeader\n collectionConfig={clientCollectionConfig}\n groupByFieldPath={groupByFieldPath}\n groupByValue={groupByValue}\n heading={heading}\n />\n <GroupByPageControls data={data} groupByValue={groupByValue} tableId={tableId} />\n </TableSectionHeader>\n <TableSectionContent>\n <Table\n appearance={tableAppearance}\n ariaLabel={\n heading\n ? [getTranslation(clientCollectionConfig?.labels?.plural, i18n), heading]\n .filter(Boolean)\n .join(': ')\n : undefined\n }\n columns={columnsToUse}\n data={data?.docs || []}\n id={tableId}\n />\n </TableSectionContent>\n </SelectionProvider>\n </TableSectionRoot>\n ),\n }\n }\n\n if (!orderableFieldName) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <TableSectionRoot className=\"table-wrap\" key={key}>\n {showHeading && heading && (\n <TableSectionHeader>\n <h4>{heading}</h4>\n </TableSectionHeader>\n )}\n <TableSectionContent>\n <Table\n appearance={tableAppearance}\n columns={columnsToUse}\n data={data?.docs || []}\n id={tableId}\n />\n </TableSectionContent>\n </TableSectionRoot>\n ),\n }\n }\n\n // Insert after _select column (index 1) so order is: _select, _dragHandle, ...rest\n columnsToUse.splice(enableRowSelections ? 1 : 0, 0, {\n accessor: '_dragHandle',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SortHeader />,\n renderedCells: (data?.docs || []).map((_, i) => <SortRow key={i} />),\n } as Column)\n\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <TableSectionRoot className=\"table-wrap\" key={key}>\n <TableSectionContent>\n <OrderableTable\n appearance={tableAppearance}\n collection={clientCollectionConfig}\n columns={columnsToUse}\n data={data?.docs || []}\n id={tableId}\n />\n </TableSectionContent>\n </TableSectionRoot>\n ),\n }\n}\n\nconst getSelectRowLabel = ({\n i18n,\n rowData,\n useAsTitle,\n}: {\n i18n: I18nClient\n rowData: { id: number | string } & Record<string, unknown>\n useAsTitle: CollectionConfig['admin']['useAsTitle']\n}) => {\n const title = useAsTitle ? rowData[useAsTitle] : undefined\n const label =\n typeof title === 'number' || (typeof title === 'string' && title)\n ? String(title)\n : String(rowData.id)\n\n return i18n.t('general:selectLabel', { label })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"renderTable.js","names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","React","RenderServerComponent","TableSectionContent","TableSectionHeader","TableSectionRoot","GroupByHeader","GroupByPageControls","OrderableTable","Pill","SelectAll","SelectionProvider","SelectRow","SortHeader","SortRow","Table","filterFieldsWithPermissions","buildColumnState","renderFilters","fields","importMap","reduce","acc","field","admin","components","Filter","set","name","Component","Map","renderTable","clientCollectionConfig","clientConfig","collectionConfig","collections","columns","customCellProps","data","enableRowSelections","fieldPermissions","groupByFieldPath","groupByValue","heading","hierarchyParentFieldName","i18n","key","orderableFieldName","payload","query","renderRowTypes","req","showHeading","tableAppearance","useAsTitle","viewType","columnState","clientFields","serverFields","isPolymorphic","isGroupingBy","Boolean","groupBy","tableId","slug","encodeURIComponent","String","undefined","filter","join","collection","find","each","some","push","serverCollectionConfig","config","sharedArgs","collectionSlug","dataType","docs","columnsToUse","unshift","accessor","active","disabled","hidden","Heading","t","renderedCells","map","doc","i","_jsx","size","relationTo","labels","singular","row","rowData","rowIndex","selectRowLabel","getSelectRowLabel","className","_jsxs","totalDocs","appearance","ariaLabel","plural","id","splice","_","title","label"],"sources":["../../src/utilities/renderTable.tsx"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n CollectionConfig,\n Column,\n ColumnPreference,\n Field,\n ImportMap,\n ListQuery,\n PaginatedDocs,\n Payload,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedFieldsPermissions,\n ViewTypes,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled } from 'payload/shared'\nimport React from 'react'\n\nimport type { BuildColumnStateArgs } from '../providers/TableColumns/buildColumnState/index.js'\n\nimport { RenderServerComponent } from '../elements/RenderServerComponent/index.js'\nimport {\n TableSectionContent,\n TableSectionHeader,\n TableSectionRoot,\n} from '../elements/TableSection/index.js'\nimport {\n GroupByHeader,\n GroupByPageControls,\n OrderableTable,\n Pill,\n SelectAll,\n SelectionProvider,\n SelectRow,\n SortHeader,\n SortRow,\n Table,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- these MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../exports/client/index.js'\nimport { filterFieldsWithPermissions } from '../providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js'\nimport { buildColumnState } from '../providers/TableColumns/buildColumnState/index.js'\n\nexport const renderFilters = (\n fields: Field[],\n importMap: ImportMap,\n): Map<string, React.ReactNode> =>\n fields.reduce(\n (acc, field) => {\n if (fieldIsHiddenOrDisabled(field)) {\n return acc\n }\n\n if ('name' in field && field.admin?.components?.Filter) {\n acc.set(\n field.name,\n RenderServerComponent({\n Component: field.admin.components?.Filter,\n importMap,\n }),\n )\n }\n\n return acc\n },\n new Map() as Map<string, React.ReactNode>,\n )\n\nexport const renderTable = ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collections,\n columns,\n customCellProps,\n data,\n enableRowSelections,\n fieldPermissions,\n groupByFieldPath,\n groupByValue,\n heading,\n hierarchyParentFieldName,\n i18n,\n key = 'table',\n orderableFieldName,\n payload,\n query,\n renderRowTypes,\n req,\n showHeading,\n tableAppearance,\n useAsTitle,\n viewType,\n}: {\n clientCollectionConfig?: ClientCollectionConfig\n clientConfig?: ClientConfig\n collectionConfig?: SanitizedCollectionConfig\n collections?: string[]\n columns: ColumnPreference[]\n customCellProps?: Record<string, unknown>\n data?: PaginatedDocs | undefined\n drawerSlug?: string\n enableRowSelections: boolean\n fieldPermissions?: SanitizedFieldsPermissions\n groupByFieldPath?: string\n groupByValue?: string\n heading?: string\n hierarchyParentFieldName?: string\n i18n: I18nClient\n key?: string\n orderableFieldName: string\n payload: Payload\n query?: ListQuery\n renderRowTypes?: boolean\n req?: PayloadRequest\n /** Show heading without requiring full groupBy context */\n showHeading?: boolean\n tableAppearance?: 'condensed' | 'default'\n useAsTitle: CollectionConfig['admin']['useAsTitle']\n viewType?: ViewTypes\n}): {\n columnState: Column[]\n Table: React.ReactNode\n} => {\n // Ensure that columns passed as args comply with the field config, i.e. `hidden`, `disabled.column`, etc.\n\n let columnState: Column[]\n let clientFields: ClientField[] = clientCollectionConfig?.fields || []\n let serverFields: Field[] = collectionConfig?.fields || []\n const isPolymorphic = collections\n\n const isGroupingBy = Boolean(query?.groupBy)\n const tableId = [\n 'payload-table',\n clientCollectionConfig?.slug || 'results',\n isGroupingBy ? encodeURIComponent(String(groupByValue ?? key)) : undefined,\n ]\n .filter(Boolean)\n .join('-')\n\n if (isPolymorphic) {\n clientFields = []\n serverFields = []\n\n for (const collection of collections) {\n const clientCollectionConfig = clientConfig.collections.find(\n (each) => each.slug === collection,\n )\n\n for (const field of filterFieldsWithPermissions({\n fieldPermissions,\n fields: clientCollectionConfig.fields,\n })) {\n if (fieldAffectsData(field)) {\n if (clientFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n clientFields.push(field)\n }\n\n const serverCollectionConfig = payload.collections[collection].config\n\n for (const field of filterFieldsWithPermissions<Field>({\n fieldPermissions,\n fields: serverCollectionConfig.fields,\n })) {\n if (fieldAffectsData(field)) {\n if (serverFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n serverFields.push(field)\n }\n }\n }\n\n const sharedArgs: Pick<\n BuildColumnStateArgs,\n | 'clientFields'\n | 'columns'\n | 'customCellProps'\n | 'enableRowSelections'\n | 'fieldPermissions'\n | 'hierarchyParentFieldName'\n | 'i18n'\n | 'payload'\n | 'req'\n | 'serverFields'\n | 'useAsTitle'\n | 'viewType'\n > = {\n clientFields,\n columns,\n enableRowSelections,\n fieldPermissions,\n hierarchyParentFieldName,\n i18n,\n // sortColumnProps,\n customCellProps,\n payload,\n req,\n serverFields,\n useAsTitle,\n viewType,\n }\n\n if (isPolymorphic) {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: undefined,\n dataType: 'polymorphic',\n docs: data?.docs || [],\n })\n } else {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: clientCollectionConfig.slug,\n dataType: 'monomorphic',\n docs: data?.docs || [],\n })\n }\n\n const columnsToUse = [...columnState]\n\n if (renderRowTypes) {\n columnsToUse.unshift({\n accessor: 'collection',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: i18n.t('version:type'),\n renderedCells: (data?.docs || []).map((doc, i) => (\n <Pill key={i} size=\"small\">\n {getTranslation(\n collections\n ? payload.collections[doc.relationTo].config.labels.singular\n : clientCollectionConfig.labels.singular,\n i18n,\n )}\n </Pill>\n )),\n } as Column)\n }\n\n if (enableRowSelections) {\n columnsToUse.unshift({\n accessor: '_select',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SelectAll />,\n renderedCells: (data?.docs || []).map((row, i) => (\n <SelectRow\n key={i}\n rowData={row}\n rowIndex={i}\n selectRowLabel={getSelectRowLabel({ i18n, rowData: row, useAsTitle })}\n />\n )),\n } as Column)\n }\n\n if (isGroupingBy) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <TableSectionRoot\n className={['table-wrap', groupByValue !== undefined && `table-wrap--group-by`]\n .filter(Boolean)\n .join(' ')}\n data-group-id={groupByValue}\n key={key}\n >\n <SelectionProvider docs={data?.docs || []} totalDocs={data?.totalDocs || 0}>\n <TableSectionHeader heading={heading}>\n <GroupByHeader\n collectionConfig={clientCollectionConfig}\n groupByFieldPath={groupByFieldPath}\n groupByValue={groupByValue}\n heading={heading}\n />\n <GroupByPageControls data={data} groupByValue={groupByValue} tableId={tableId} />\n </TableSectionHeader>\n <TableSectionContent>\n <Table\n appearance={tableAppearance}\n ariaLabel={\n heading\n ? [getTranslation(clientCollectionConfig?.labels?.plural, i18n), heading]\n .filter(Boolean)\n .join(': ')\n : undefined\n }\n columns={columnsToUse}\n data={data?.docs || []}\n id={tableId}\n />\n </TableSectionContent>\n </SelectionProvider>\n </TableSectionRoot>\n ),\n }\n }\n\n if (!orderableFieldName) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <TableSectionRoot className=\"table-wrap\" key={key}>\n {showHeading && heading && (\n <TableSectionHeader>\n <h4>{heading}</h4>\n </TableSectionHeader>\n )}\n <TableSectionContent>\n <Table\n appearance={tableAppearance}\n columns={columnsToUse}\n data={data?.docs || []}\n id={tableId}\n />\n </TableSectionContent>\n </TableSectionRoot>\n ),\n }\n }\n\n // Insert after _select column (index 1) so order is: _select, _dragHandle, ...rest\n columnsToUse.splice(enableRowSelections ? 1 : 0, 0, {\n accessor: '_dragHandle',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SortHeader />,\n renderedCells: (data?.docs || []).map((_, i) => <SortRow key={i} />),\n } as Column)\n\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <TableSectionRoot className=\"table-wrap\" key={key}>\n <TableSectionContent>\n <OrderableTable\n appearance={tableAppearance}\n collection={clientCollectionConfig}\n columns={columnsToUse}\n data={data?.docs || []}\n id={tableId}\n />\n </TableSectionContent>\n </TableSectionRoot>\n ),\n }\n}\n\nconst getSelectRowLabel = ({\n i18n,\n rowData,\n useAsTitle,\n}: {\n i18n: I18nClient\n rowData: { id: number | string } & Record<string, unknown>\n useAsTitle: CollectionConfig['admin']['useAsTitle']\n}) => {\n const title = useAsTitle ? rowData[useAsTitle] : undefined\n const label =\n typeof title === 'number' || (typeof title === 'string' && title)\n ? String(title)\n : String(rowData.id)\n\n return i18n.t('general:selectLabel', { label })\n}\n"],"mappings":"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","ignoreList":[]}