@payloadcms/ui 4.0.0-internal.cd47d20 → 4.0.0-internal.ce66a41

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 (807) 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/AddNewRelation/index.css +0 -4
  7. package/dist/elements/AddNewRelation/index.js +2 -2
  8. package/dist/elements/AddNewRelation/index.js.map +1 -1
  9. package/dist/elements/AppHeader/index.css +4 -0
  10. package/dist/elements/AppHeader/index.d.ts +1 -8
  11. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  12. package/dist/elements/AppHeader/index.js +10 -19
  13. package/dist/elements/AppHeader/index.js.map +1 -1
  14. package/dist/elements/Banner/index.css +3 -4
  15. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  16. package/dist/elements/BulkUpload/ActionsBar/index.js +12 -10
  17. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  18. package/dist/elements/BulkUpload/AddFilesView/index.css +5 -0
  19. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  20. package/dist/elements/BulkUpload/AddFilesView/index.js +49 -8
  21. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  22. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  23. package/dist/elements/BulkUpload/AddingFilesView/index.js +25 -20
  24. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  25. package/dist/elements/BulkUpload/EditMany/index.css +4 -5
  26. package/dist/elements/BulkUpload/FileSidebar/index.css +0 -1
  27. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  28. package/dist/elements/BulkUpload/FileSidebar/index.js +28 -35
  29. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/FormsManager/index.d.ts +2 -1
  31. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  32. package/dist/elements/BulkUpload/FormsManager/index.js +175 -60
  33. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  34. package/dist/elements/BulkUpload/useUploadCollectionOptions.d.ts +6 -0
  35. package/dist/elements/BulkUpload/useUploadCollectionOptions.d.ts.map +1 -0
  36. package/dist/elements/BulkUpload/useUploadCollectionOptions.js +74 -0
  37. package/dist/elements/BulkUpload/useUploadCollectionOptions.js.map +1 -0
  38. package/dist/elements/Button/index.css +7 -1
  39. package/dist/elements/Button/types.d.ts +1 -1
  40. package/dist/elements/Button/types.d.ts.map +1 -1
  41. package/dist/elements/Button/types.js.map +1 -1
  42. package/dist/elements/Card/index.css +7 -8
  43. package/dist/elements/CardGrid/index.css +20 -0
  44. package/dist/elements/CardGrid/index.d.ts +13 -0
  45. package/dist/elements/CardGrid/index.d.ts.map +1 -0
  46. package/dist/elements/CardGrid/index.js +23 -0
  47. package/dist/elements/CardGrid/index.js.map +1 -0
  48. package/dist/elements/Chip/index.css +0 -1
  49. package/dist/elements/CollapseAllToggle/index.d.ts +3 -0
  50. package/dist/elements/CollapseAllToggle/index.d.ts.map +1 -1
  51. package/dist/elements/CollapseAllToggle/index.js +36 -22
  52. package/dist/elements/CollapseAllToggle/index.js.map +1 -1
  53. package/dist/elements/Collapsible/index.css +4 -1
  54. package/dist/elements/Collapsible/index.d.ts +2 -0
  55. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  56. package/dist/elements/Collapsible/index.js +67 -46
  57. package/dist/elements/Collapsible/index.js.map +1 -1
  58. package/dist/elements/ColumnSelection/Popup.css +14 -11
  59. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
  60. package/dist/elements/ColumnSelection/Popup.js +22 -14
  61. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  62. package/dist/elements/CommandPalette/index.css +3 -8
  63. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  64. package/dist/elements/CopyLocaleData/index.js +1 -0
  65. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  66. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  67. package/dist/elements/CreateDocumentButton/index.js +56 -33
  68. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  69. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  70. package/dist/elements/DatePicker/DatePicker.js +33 -2
  71. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  72. package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts +8 -0
  73. package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts.map +1 -0
  74. package/dist/elements/DatePicker/hasAmbiguousYearInput.js +37 -0
  75. package/dist/elements/DatePicker/hasAmbiguousYearInput.js.map +1 -0
  76. package/dist/elements/DatePicker/index.css +27 -17
  77. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  78. package/dist/elements/DefaultListViewTabs/index.js +9 -7
  79. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  80. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  81. package/dist/elements/Dialog/DialogModal/index.js +40 -28
  82. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  83. package/dist/elements/Dialog/DialogTitle/index.css +1 -1
  84. package/dist/elements/Dialog/index.css +1 -2
  85. package/dist/elements/DocumentCard/index.css +73 -0
  86. package/dist/elements/DocumentCard/index.d.ts +18 -0
  87. package/dist/elements/DocumentCard/index.d.ts.map +1 -0
  88. package/dist/elements/DocumentCard/index.js +182 -0
  89. package/dist/elements/DocumentCard/index.js.map +1 -0
  90. package/dist/elements/DocumentControls/index.css +1 -5
  91. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +4 -7
  92. package/dist/elements/DocumentDrawer/types.d.ts +1 -1
  93. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  94. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  95. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.css +40 -0
  96. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.d.ts +4 -0
  97. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.d.ts.map +1 -0
  98. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.js +88 -0
  99. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.js.map +1 -0
  100. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  101. package/dist/elements/DocumentFields/index.js +2 -1
  102. package/dist/elements/DocumentFields/index.js.map +1 -1
  103. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  104. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +0 -1
  105. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  106. package/dist/elements/DocumentHeader/index.css +1 -1
  107. package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
  108. package/dist/elements/DraggableSortable/index.js +13 -10
  109. package/dist/elements/DraggableSortable/index.js.map +1 -1
  110. package/dist/elements/DraggableSortable/types.d.ts +1 -0
  111. package/dist/elements/DraggableSortable/types.d.ts.map +1 -1
  112. package/dist/elements/DraggableSortable/types.js.map +1 -1
  113. package/dist/elements/Drawer/index.css +4 -5
  114. package/dist/elements/Drawer/types.d.ts +2 -2
  115. package/dist/elements/Drawer/types.d.ts.map +1 -1
  116. package/dist/elements/Drawer/types.js.map +1 -1
  117. package/dist/elements/Dropzone/index.d.ts +2 -1
  118. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  119. package/dist/elements/Dropzone/index.js +9 -10
  120. package/dist/elements/Dropzone/index.js.map +1 -1
  121. package/dist/elements/EditMany/index.css +4 -5
  122. package/dist/elements/EditUpload/index.css +3 -4
  123. package/dist/elements/ErrorPill/index.css +0 -1
  124. package/dist/elements/FieldDiffContainer/index.css +0 -1
  125. package/dist/elements/FieldDiffLabel/index.css +4 -5
  126. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  127. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  128. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  129. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  130. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  131. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  132. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +1 -1
  133. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  134. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  135. package/dist/elements/FileDetails/index.d.ts +1 -1
  136. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  137. package/dist/elements/FileDetails/index.js.map +1 -1
  138. package/dist/elements/FileManager/FilePreview/index.css +2 -3
  139. package/dist/elements/FileManager/FilePreview/index.js +4 -4
  140. package/dist/elements/FileManager/FilePreview/index.js.map +1 -1
  141. package/dist/elements/FileManager/FileToolbar/index.css +2 -3
  142. package/dist/elements/FileManager/index.css +0 -1
  143. package/dist/elements/FileManager/index.d.ts.map +1 -1
  144. package/dist/elements/FileManager/index.js +197 -177
  145. package/dist/elements/FileManager/index.js.map +1 -1
  146. package/dist/elements/FormHeader/index.css +0 -2
  147. package/dist/elements/GroupBy/Popup.css +3 -6
  148. package/dist/elements/HTMLDiff/index.css +0 -1
  149. package/dist/elements/HTMLDiff/index.d.ts +3 -1
  150. package/dist/elements/HTMLDiff/index.d.ts.map +1 -1
  151. package/dist/elements/HTMLDiff/index.js +9 -3
  152. package/dist/elements/HTMLDiff/index.js.map +1 -1
  153. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  154. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +40 -36
  155. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  156. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  157. package/dist/elements/Hierarchy/ColumnBrowser/index.js +15 -58
  158. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  159. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  160. package/dist/elements/Hierarchy/DocHeaderButton/index.js +29 -1
  161. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  162. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts +9 -0
  163. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts.map +1 -0
  164. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js +41 -0
  165. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js.map +1 -0
  166. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  167. package/dist/elements/Hierarchy/Field/index.client.js +120 -105
  168. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  169. package/dist/elements/Hierarchy/Field/index.css +0 -1
  170. package/dist/elements/Hierarchy/Modal/index.d.ts +1 -1
  171. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  172. package/dist/elements/Hierarchy/Modal/index.js +28 -39
  173. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  174. package/dist/elements/Hierarchy/Modal/selection.d.ts +12 -0
  175. package/dist/elements/Hierarchy/Modal/selection.d.ts.map +1 -0
  176. package/dist/elements/Hierarchy/Modal/selection.js +40 -0
  177. package/dist/elements/Hierarchy/Modal/selection.js.map +1 -0
  178. package/dist/elements/Hierarchy/Modal/types.d.ts +2 -0
  179. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
  180. package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
  181. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -1
  182. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js +1 -1
  183. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -1
  184. package/dist/elements/Hierarchy/MoveMany/index.d.ts +3 -1
  185. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  186. package/dist/elements/Hierarchy/MoveMany/index.js +17 -8
  187. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  188. package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
  189. package/dist/elements/Hierarchy/Search/index.js +11 -0
  190. package/dist/elements/Hierarchy/Search/index.js.map +1 -1
  191. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  192. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +7 -1
  193. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  194. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +2 -1
  195. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  196. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +30 -28
  197. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  198. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  199. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +6 -2
  200. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  201. package/dist/elements/Hierarchy/Tree/index.css +3 -1
  202. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  203. package/dist/elements/Hierarchy/Tree/index.js +25 -26
  204. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  205. package/dist/elements/HydratePreferences/index.d.ts +8 -0
  206. package/dist/elements/HydratePreferences/index.d.ts.map +1 -0
  207. package/dist/elements/HydratePreferences/index.js +34 -0
  208. package/dist/elements/HydratePreferences/index.js.map +1 -0
  209. package/dist/elements/IDLabel/index.css +5 -7
  210. package/dist/elements/IframeLoader/index.d.ts.map +1 -1
  211. package/dist/elements/IframeLoader/index.js +34 -6
  212. package/dist/elements/IframeLoader/index.js.map +1 -1
  213. package/dist/elements/ItemsDrawer/ItemSearch/index.css +0 -1
  214. package/dist/elements/ItemsDrawer/index.d.ts.map +1 -1
  215. package/dist/elements/ItemsDrawer/index.js +23 -1
  216. package/dist/elements/ItemsDrawer/index.js.map +1 -1
  217. package/dist/elements/LLMInstructionsCell/index.css +11 -0
  218. package/dist/elements/LLMInstructionsCell/index.d.ts +5 -0
  219. package/dist/elements/LLMInstructionsCell/index.d.ts.map +1 -0
  220. package/dist/elements/LLMInstructionsCell/index.js +24 -0
  221. package/dist/elements/LLMInstructionsCell/index.js.map +1 -0
  222. package/dist/elements/LLMInstructionsDescription/index.css +79 -0
  223. package/dist/elements/LLMInstructionsDescription/index.d.ts +6 -0
  224. package/dist/elements/LLMInstructionsDescription/index.d.ts.map +1 -0
  225. package/dist/elements/LLMInstructionsDescription/index.js +40 -0
  226. package/dist/elements/LLMInstructionsDescription/index.js.map +1 -0
  227. package/dist/elements/LLMInstructionsMenuItem/index.d.ts +5 -0
  228. package/dist/elements/LLMInstructionsMenuItem/index.d.ts.map +1 -0
  229. package/dist/elements/LLMInstructionsMenuItem/index.js +46 -0
  230. package/dist/elements/LLMInstructionsMenuItem/index.js.map +1 -0
  231. package/dist/elements/LayoutToggle/index.d.ts +8 -0
  232. package/dist/elements/LayoutToggle/index.d.ts.map +1 -0
  233. package/dist/elements/LayoutToggle/index.js +56 -0
  234. package/dist/elements/LayoutToggle/index.js.map +1 -0
  235. package/dist/elements/Link/index.d.ts.map +1 -1
  236. package/dist/elements/Link/index.js +3 -0
  237. package/dist/elements/Link/index.js.map +1 -1
  238. package/dist/elements/ListControls/index.d.ts.map +1 -1
  239. package/dist/elements/ListControls/index.js +5 -2
  240. package/dist/elements/ListControls/index.js.map +1 -1
  241. package/dist/elements/ListControls/types.d.ts +1 -0
  242. package/dist/elements/ListControls/types.d.ts.map +1 -1
  243. package/dist/elements/ListControls/types.js.map +1 -1
  244. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  245. package/dist/elements/ListDrawer/DrawerContent.js +1 -1
  246. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  247. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts +6 -0
  248. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts.map +1 -0
  249. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js +61 -0
  250. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -0
  251. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +1 -1
  252. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  253. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts +1 -0
  254. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts.map +1 -1
  255. package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
  256. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
  257. package/dist/elements/ListHeader/index.css +4 -5
  258. package/dist/elements/Loading/index.d.ts.map +1 -1
  259. package/dist/elements/Loading/index.js +1 -0
  260. package/dist/elements/Loading/index.js.map +1 -1
  261. package/dist/elements/MiniCarousel/index.d.ts +1 -1
  262. package/dist/elements/MiniCarousel/index.d.ts.map +1 -1
  263. package/dist/elements/MiniCarousel/index.js +6 -6
  264. package/dist/elements/MiniCarousel/index.js.map +1 -1
  265. package/dist/elements/Nav/NavSidebarToggle/index.d.ts.map +1 -1
  266. package/dist/elements/Nav/NavSidebarToggle/index.js +29 -24
  267. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
  268. package/dist/elements/Nav/NavWrapper/index.d.ts +1 -0
  269. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  270. package/dist/elements/Nav/NavWrapper/index.js +15 -13
  271. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  272. package/dist/elements/Nav/SidebarTabs/index.client.js +1 -1
  273. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  274. package/dist/elements/Nav/SidebarTabs/index.css +3 -3
  275. package/dist/elements/Nav/context.d.ts +1 -1
  276. package/dist/elements/Nav/context.d.ts.map +1 -1
  277. package/dist/elements/Nav/context.js +32 -11
  278. package/dist/elements/Nav/context.js.map +1 -1
  279. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  280. package/dist/elements/Nav/index.client.js +1 -10
  281. package/dist/elements/Nav/index.client.js.map +1 -1
  282. package/dist/elements/Nav/index.css +45 -34
  283. package/dist/elements/Nav/index.d.ts +4 -0
  284. package/dist/elements/Nav/index.d.ts.map +1 -1
  285. package/dist/elements/Nav/index.js +15 -1
  286. package/dist/elements/Nav/index.js.map +1 -1
  287. package/dist/elements/NavGroup/index.css +32 -19
  288. package/dist/elements/NavGroup/index.d.ts.map +1 -1
  289. package/dist/elements/NavGroup/index.js +31 -28
  290. package/dist/elements/NavGroup/index.js.map +1 -1
  291. package/dist/elements/NoListResults/index.css +2 -3
  292. package/dist/elements/PageControls/index.css +4 -1
  293. package/dist/elements/PageControls/index.d.ts +1 -0
  294. package/dist/elements/PageControls/index.d.ts.map +1 -1
  295. package/dist/elements/PageControls/index.js +41 -21
  296. package/dist/elements/PageControls/index.js.map +1 -1
  297. package/dist/elements/Pagination/ClickableArrow/index.d.ts.map +1 -1
  298. package/dist/elements/Pagination/ClickableArrow/index.js +45 -11
  299. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  300. package/dist/elements/Pagination/SimplePagination/index.css +0 -1
  301. package/dist/elements/Pagination/index.css +0 -2
  302. package/dist/elements/Pagination/index.d.ts.map +1 -1
  303. package/dist/elements/Pagination/index.js +32 -18
  304. package/dist/elements/Pagination/index.js.map +1 -1
  305. package/dist/elements/PerPage/index.css +0 -1
  306. package/dist/elements/PerPage/index.js +3 -1
  307. package/dist/elements/PerPage/index.js.map +1 -1
  308. package/dist/elements/Pill/index.css +0 -1
  309. package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.css +53 -0
  310. package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.d.ts +13 -0
  311. package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.d.ts.map +1 -0
  312. package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.js +44 -0
  313. package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.js.map +1 -0
  314. package/dist/elements/Popup/PopupButtonList/index.css +30 -8
  315. package/dist/elements/Popup/PopupButtonList/index.d.ts +1 -0
  316. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  317. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  318. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  319. package/dist/elements/Popup/PopupGroupLabel/index.css +0 -1
  320. package/dist/elements/Popup/SubmenuScope.d.ts +21 -0
  321. package/dist/elements/Popup/SubmenuScope.d.ts.map +1 -0
  322. package/dist/elements/Popup/SubmenuScope.js +89 -0
  323. package/dist/elements/Popup/SubmenuScope.js.map +1 -0
  324. package/dist/elements/Popup/index.css +5 -0
  325. package/dist/elements/Popup/index.d.ts +3 -0
  326. package/dist/elements/Popup/index.d.ts.map +1 -1
  327. package/dist/elements/Popup/index.js +75 -10
  328. package/dist/elements/Popup/index.js.map +1 -1
  329. package/dist/elements/Popup/useSubmenuPointerIntent.d.ts +13 -0
  330. package/dist/elements/Popup/useSubmenuPointerIntent.d.ts.map +1 -0
  331. package/dist/elements/Popup/useSubmenuPointerIntent.js +42 -0
  332. package/dist/elements/Popup/useSubmenuPointerIntent.js.map +1 -0
  333. package/dist/elements/PreviewSizes/index.d.ts +1 -1
  334. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  335. package/dist/elements/PreviewSizes/index.js +9 -9
  336. package/dist/elements/PreviewSizes/index.js.map +1 -1
  337. package/dist/elements/QueryPresets/fields/Heading/index.css +0 -1
  338. package/dist/elements/ReactSelect/MultiValueLabel/index.css +0 -1
  339. package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
  340. package/dist/elements/ReactSelect/ValueContainer/index.js +23 -1
  341. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  342. package/dist/elements/ReactSelect/index.css +5 -3
  343. package/dist/elements/ReactSelect/types.d.ts +3 -0
  344. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  345. package/dist/elements/ReactSelect/types.js.map +1 -1
  346. package/dist/elements/RenderTitle/index.css +9 -7
  347. package/dist/elements/Search/ListSearchFilter/index.d.ts +2 -1
  348. package/dist/elements/Search/ListSearchFilter/index.d.ts.map +1 -1
  349. package/dist/elements/Search/ListSearchFilter/index.js +33 -17
  350. package/dist/elements/Search/ListSearchFilter/index.js.map +1 -1
  351. package/dist/elements/Search/SearchInput/index.css +0 -1
  352. package/dist/elements/Search/SearchInput/index.d.ts +1 -0
  353. package/dist/elements/Search/SearchInput/index.d.ts.map +1 -1
  354. package/dist/elements/Search/SearchInput/index.js +23 -20
  355. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  356. package/dist/elements/SegmentedControl/index.css +9 -0
  357. package/dist/elements/SegmentedControl/index.d.ts +20 -0
  358. package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
  359. package/dist/elements/SegmentedControl/index.js +162 -0
  360. package/dist/elements/SegmentedControl/index.js.map +1 -0
  361. package/dist/elements/SelectRow/index.d.ts +1 -0
  362. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  363. package/dist/elements/SelectRow/index.js +35 -27
  364. package/dist/elements/SelectRow/index.js.map +1 -1
  365. package/dist/elements/SidebarRow/index.css +43 -2
  366. package/dist/elements/SidebarToggle/index.css +3 -1
  367. package/dist/elements/SkipToContent/index.css +21 -0
  368. package/dist/elements/SkipToContent/index.d.ts +4 -0
  369. package/dist/elements/SkipToContent/index.d.ts.map +1 -0
  370. package/dist/elements/SkipToContent/index.js +63 -0
  371. package/dist/elements/SkipToContent/index.js.map +1 -0
  372. package/dist/elements/SortColumn/index.css +1 -2
  373. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  374. package/dist/elements/SortColumn/index.js +7 -3
  375. package/dist/elements/SortColumn/index.js.map +1 -1
  376. package/dist/elements/Spinner/index.css +0 -2
  377. package/dist/elements/Status/index.css +3 -4
  378. package/dist/elements/StepNav/index.css +15 -9
  379. package/dist/elements/Switch/index.css +0 -1
  380. package/dist/elements/Switch/index.d.ts +1 -0
  381. package/dist/elements/Switch/index.d.ts.map +1 -1
  382. package/dist/elements/Switch/index.js +18 -16
  383. package/dist/elements/Switch/index.js.map +1 -1
  384. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.css +0 -1
  385. package/dist/elements/Table/DefaultCell/fields/Code/index.css +0 -1
  386. package/dist/elements/Table/DefaultCell/fields/File/index.css +18 -13
  387. package/dist/elements/Table/DefaultCell/fields/File/index.js +1 -1
  388. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  389. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +26 -7
  390. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  391. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +42 -8
  392. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  393. package/dist/elements/Table/DefaultCell/fields/JSON/index.css +0 -1
  394. package/dist/elements/Table/DefaultCell/fields/Status/index.css +0 -1
  395. package/dist/elements/Table/GridNavigation/useGridNavigation.d.ts +8 -0
  396. package/dist/elements/Table/GridNavigation/useGridNavigation.d.ts.map +1 -0
  397. package/dist/elements/Table/GridNavigation/useGridNavigation.js +397 -0
  398. package/dist/elements/Table/GridNavigation/useGridNavigation.js.map +1 -0
  399. package/dist/elements/Table/TableIdentity.d.ts +3 -0
  400. package/dist/elements/Table/TableIdentity.d.ts.map +1 -1
  401. package/dist/elements/Table/TableIdentity.js +13 -8
  402. package/dist/elements/Table/TableIdentity.js.map +1 -1
  403. package/dist/elements/Table/index.css +23 -3
  404. package/dist/elements/Table/index.d.ts +2 -0
  405. package/dist/elements/Table/index.d.ts.map +1 -1
  406. package/dist/elements/Table/index.js +77 -83
  407. package/dist/elements/Table/index.js.map +1 -1
  408. package/dist/elements/TableSection/index.css +4 -5
  409. package/dist/elements/Tabs/index.css +1 -2
  410. package/dist/elements/Tabs/index.d.ts +4 -0
  411. package/dist/elements/Tabs/index.d.ts.map +1 -1
  412. package/dist/elements/Tabs/index.js +30 -1
  413. package/dist/elements/Tabs/index.js.map +1 -1
  414. package/dist/elements/ThumbnailCard/index.css +0 -1
  415. package/dist/elements/TimezonePicker/index.css +0 -3
  416. package/dist/elements/Tooltip/index.css +2 -2
  417. package/dist/elements/Tooltip/index.d.ts +5 -5
  418. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  419. package/dist/elements/Tooltip/index.js +20 -13
  420. package/dist/elements/Tooltip/index.js.map +1 -1
  421. package/dist/elements/Upload/index.css +2 -3
  422. package/dist/elements/Upload/index.d.ts +1 -1
  423. package/dist/elements/Upload/index.d.ts.map +1 -1
  424. package/dist/elements/Upload/index.js +6 -6
  425. package/dist/elements/Upload/index.js.map +1 -1
  426. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
  427. package/dist/elements/UserMenu/LanguageMenu/index.js +12 -30
  428. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  429. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
  430. package/dist/elements/UserMenu/SettingsMenu/index.js +12 -30
  431. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  432. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
  433. package/dist/elements/UserMenu/ThemeMenu/index.js +12 -30
  434. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  435. package/dist/elements/UserMenu/index.css +29 -15
  436. package/dist/elements/UserMenu/index.d.ts +1 -0
  437. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  438. package/dist/elements/UserMenu/index.js +60 -46
  439. package/dist/elements/UserMenu/index.js.map +1 -1
  440. package/dist/exports/client/CodeEditor-UKD3EPUY.js +14 -0
  441. package/dist/exports/client/CodeEditor-UKD3EPUY.js.map +7 -0
  442. package/dist/exports/client/DatePicker-BBZ3XRWP.js +14 -0
  443. package/dist/exports/client/DatePicker-BBZ3XRWP.js.map +7 -0
  444. package/dist/exports/client/chunk-6XCSN54Q.js +27 -0
  445. package/dist/exports/client/chunk-6XCSN54Q.js.map +7 -0
  446. package/dist/exports/client/chunk-AVJIZPR3.js +14 -0
  447. package/dist/exports/client/chunk-AVJIZPR3.js.map +7 -0
  448. package/dist/exports/client/chunk-USFUVW7C.js +29 -0
  449. package/dist/exports/client/chunk-USFUVW7C.js.map +7 -0
  450. package/dist/exports/client/index.d.ts +22 -2
  451. package/dist/exports/client/index.d.ts.map +1 -1
  452. package/dist/exports/client/index.js +100 -1
  453. package/dist/exports/client/index.js.map +4 -4
  454. package/dist/exports/rsc/index.d.ts +3 -0
  455. package/dist/exports/rsc/index.d.ts.map +1 -1
  456. package/dist/exports/rsc/index.js +3 -0
  457. package/dist/exports/rsc/index.js.map +1 -1
  458. package/dist/exports/shared/index.js +1 -1
  459. package/dist/exports/shared/index.js.map +3 -3
  460. package/dist/fields/Array/index.css +4 -0
  461. package/dist/fields/Array/index.d.ts.map +1 -1
  462. package/dist/fields/Array/index.js +14 -5
  463. package/dist/fields/Array/index.js.map +1 -1
  464. package/dist/fields/Blocks/SectionTitle/index.css +3 -5
  465. package/dist/fields/Blocks/index.css +2 -2
  466. package/dist/fields/Blocks/index.d.ts.map +1 -1
  467. package/dist/fields/Blocks/index.js +20 -11
  468. package/dist/fields/Blocks/index.js.map +1 -1
  469. package/dist/fields/Checkbox/Input.d.ts +2 -2
  470. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  471. package/dist/fields/Checkbox/Input.js +134 -152
  472. package/dist/fields/Checkbox/Input.js.map +1 -1
  473. package/dist/fields/Checkbox/index.css +189 -155
  474. package/dist/fields/Code/index.d.ts.map +1 -1
  475. package/dist/fields/Code/index.js +20 -3
  476. package/dist/fields/Code/index.js.map +1 -1
  477. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  478. package/dist/fields/Collapsible/index.js +1 -0
  479. package/dist/fields/Collapsible/index.js.map +1 -1
  480. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  481. package/dist/fields/ConfirmPassword/index.js +45 -31
  482. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  483. package/dist/fields/Email/index.d.ts.map +1 -1
  484. package/dist/fields/Email/index.js +11 -0
  485. package/dist/fields/Email/index.js.map +1 -1
  486. package/dist/fields/FieldError/index.css +12 -0
  487. package/dist/fields/FieldError/index.d.ts.map +1 -1
  488. package/dist/fields/FieldError/index.js +4 -1
  489. package/dist/fields/FieldError/index.js.map +1 -1
  490. package/dist/fields/FieldLabel/index.css +5 -4
  491. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  492. package/dist/fields/FieldLabel/index.js +28 -10
  493. package/dist/fields/FieldLabel/index.js.map +1 -1
  494. package/dist/fields/Group/index.css +2 -3
  495. package/dist/fields/JSON/index.d.ts.map +1 -1
  496. package/dist/fields/JSON/index.js +15 -1
  497. package/dist/fields/JSON/index.js.map +1 -1
  498. package/dist/fields/Join/index.css +3 -4
  499. package/dist/fields/Password/input.d.ts.map +1 -1
  500. package/dist/fields/Password/input.js +73 -95
  501. package/dist/fields/Password/input.js.map +1 -1
  502. package/dist/fields/Point/index.d.ts.map +1 -1
  503. package/dist/fields/Point/index.js +15 -2
  504. package/dist/fields/Point/index.js.map +1 -1
  505. package/dist/fields/RadioGroup/Radio/index.css +0 -1
  506. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  507. package/dist/fields/Relationship/Input.js +25 -17
  508. package/dist/fields/Relationship/Input.js.map +1 -1
  509. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  510. package/dist/fields/Relationship/optionsReducer.js +2 -0
  511. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  512. package/dist/fields/Relationship/types.d.ts +8 -0
  513. package/dist/fields/Relationship/types.d.ts.map +1 -1
  514. package/dist/fields/Relationship/types.js.map +1 -1
  515. package/dist/fields/Select/Input.d.ts.map +1 -1
  516. package/dist/fields/Select/Input.js +70 -51
  517. package/dist/fields/Select/Input.js.map +1 -1
  518. package/dist/fields/Select/index.css +7 -0
  519. package/dist/fields/Tabs/Tab/index.d.ts +2 -0
  520. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  521. package/dist/fields/Tabs/Tab/index.js +15 -9
  522. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  523. package/dist/fields/Tabs/index.d.ts.map +1 -1
  524. package/dist/fields/Tabs/index.js +179 -116
  525. package/dist/fields/Tabs/index.js.map +1 -1
  526. package/dist/fields/Text/Input.d.ts.map +1 -1
  527. package/dist/fields/Text/Input.js +53 -34
  528. package/dist/fields/Text/Input.js.map +1 -1
  529. package/dist/fields/Upload/HasMany/index.js +1 -1
  530. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  531. package/dist/fields/Upload/HasOne/index.js +1 -1
  532. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  533. package/dist/fields/Upload/Input.d.ts.map +1 -1
  534. package/dist/fields/Upload/Input.js +13 -4
  535. package/dist/fields/Upload/Input.js.map +1 -1
  536. package/dist/fields/shared/useRowFocus.d.ts +5 -0
  537. package/dist/fields/shared/useRowFocus.d.ts.map +1 -0
  538. package/dist/fields/shared/useRowFocus.js +50 -0
  539. package/dist/fields/shared/useRowFocus.js.map +1 -0
  540. package/dist/forms/NullifyField/index.d.ts +10 -0
  541. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  542. package/dist/forms/NullifyField/index.js +14 -4
  543. package/dist/forms/NullifyField/index.js.map +1 -1
  544. package/dist/forms/RenderFields/index.css +3 -6
  545. package/dist/forms/fieldSchemasToFormState/renderField.js +2 -2
  546. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  547. package/dist/graphics/Logo/index.d.ts.map +1 -1
  548. package/dist/graphics/Logo/index.js +2 -0
  549. package/dist/graphics/Logo/index.js.map +1 -1
  550. package/dist/icons/ImageStack/index.d.ts +3 -0
  551. package/dist/icons/ImageStack/index.d.ts.map +1 -0
  552. package/dist/icons/ImageStack/index.js +17 -0
  553. package/dist/icons/ImageStack/index.js.map +1 -0
  554. package/dist/icons/Table/index.css +1 -0
  555. package/dist/icons/Table/index.d.ts +7 -0
  556. package/dist/icons/Table/index.d.ts.map +1 -0
  557. package/dist/icons/Table/index.js +25 -0
  558. package/dist/icons/Table/index.js.map +1 -0
  559. package/dist/layouts/Root/DocumentRoot.d.ts +24 -0
  560. package/dist/layouts/Root/DocumentRoot.d.ts.map +1 -0
  561. package/dist/layouts/Root/DocumentRoot.js +40 -0
  562. package/dist/layouts/Root/DocumentRoot.js.map +1 -0
  563. package/dist/layouts/Root/ResolveThemeOnClient.d.ts +12 -0
  564. package/dist/layouts/Root/ResolveThemeOnClient.d.ts.map +1 -0
  565. package/dist/layouts/Root/ResolveThemeOnClient.js +35 -0
  566. package/dist/layouts/Root/ResolveThemeOnClient.js.map +1 -0
  567. package/dist/layouts/Root/RootProviders.d.ts +11 -0
  568. package/dist/layouts/Root/RootProviders.d.ts.map +1 -0
  569. package/dist/layouts/Root/RootProviders.js +164 -0
  570. package/dist/layouts/Root/RootProviders.js.map +1 -0
  571. package/dist/layouts/Root/getRootLayoutData.d.ts +29 -0
  572. package/dist/layouts/Root/getRootLayoutData.d.ts.map +1 -0
  573. package/dist/layouts/Root/getRootLayoutData.js +72 -0
  574. package/dist/layouts/Root/getRootLayoutData.js.map +1 -0
  575. package/dist/layouts/Root/index.d.ts.map +1 -1
  576. package/dist/layouts/Root/index.js +48 -103
  577. package/dist/layouts/Root/index.js.map +1 -1
  578. package/dist/providers/ListQuery/getSearchWithListQuery.d.ts +7 -0
  579. package/dist/providers/ListQuery/getSearchWithListQuery.d.ts.map +1 -0
  580. package/dist/providers/ListQuery/getSearchWithListQuery.js +22 -0
  581. package/dist/providers/ListQuery/getSearchWithListQuery.js.map +1 -0
  582. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  583. package/dist/providers/ListQuery/index.js +16 -12
  584. package/dist/providers/ListQuery/index.js.map +1 -1
  585. package/dist/providers/ListQuery/types.d.ts +4 -0
  586. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  587. package/dist/providers/ListQuery/types.js.map +1 -1
  588. package/dist/providers/Preferences/index.d.ts +7 -1
  589. package/dist/providers/Preferences/index.d.ts.map +1 -1
  590. package/dist/providers/Preferences/index.js +62 -20
  591. package/dist/providers/Preferences/index.js.map +1 -1
  592. package/dist/providers/TableColumns/buildColumnState/index.d.ts +1 -0
  593. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  594. package/dist/providers/TableColumns/buildColumnState/index.js +2 -0
  595. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  596. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +2 -1
  597. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  598. package/dist/providers/TableColumns/buildColumnState/renderCell.js +12 -28
  599. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  600. package/dist/providers/ToastContainer/index.css +6 -7
  601. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  602. package/dist/providers/ToastContainer/index.js +15 -4
  603. package/dist/providers/ToastContainer/index.js.map +1 -1
  604. package/dist/providers/Translation/index.d.ts.map +1 -1
  605. package/dist/providers/Translation/index.js +11 -1
  606. package/dist/providers/Translation/index.js.map +1 -1
  607. package/dist/styles.css +163 -58
  608. package/dist/templates/Default/Wrapper/index.css +20 -5
  609. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  610. package/dist/templates/Default/Wrapper/index.js +4 -3
  611. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  612. package/dist/templates/Default/index.d.ts.map +1 -1
  613. package/dist/templates/Default/index.js +19 -14
  614. package/dist/templates/Default/index.js.map +1 -1
  615. package/dist/utilities/filterLLMInstructionsMenuItems.d.ts +9 -0
  616. package/dist/utilities/filterLLMInstructionsMenuItems.d.ts.map +1 -0
  617. package/dist/utilities/filterLLMInstructionsMenuItems.js +37 -0
  618. package/dist/utilities/filterLLMInstructionsMenuItems.js.map +1 -0
  619. package/dist/utilities/filterOutUploadFields.js +1 -1
  620. package/dist/utilities/filterOutUploadFields.js.map +1 -1
  621. package/dist/utilities/generateFieldID.d.ts +1 -1
  622. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  623. package/dist/utilities/generateFieldID.js.map +1 -1
  624. package/dist/utilities/getClientConfig.d.ts +5 -1
  625. package/dist/utilities/getClientConfig.d.ts.map +1 -1
  626. package/dist/utilities/getClientConfig.js +2 -1
  627. package/dist/utilities/getClientConfig.js.map +1 -1
  628. package/dist/utilities/getRequestTheme.d.ts +8 -1
  629. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  630. package/dist/utilities/getRequestTheme.js +16 -4
  631. package/dist/utilities/getRequestTheme.js.map +1 -1
  632. package/dist/utilities/hierarchyCollectionRestrictions.d.ts +15 -0
  633. package/dist/utilities/hierarchyCollectionRestrictions.d.ts.map +1 -0
  634. package/dist/utilities/hierarchyCollectionRestrictions.js +17 -0
  635. package/dist/utilities/hierarchyCollectionRestrictions.js.map +1 -0
  636. package/dist/utilities/renderTable.d.ts +2 -1
  637. package/dist/utilities/renderTable.d.ts.map +1 -1
  638. package/dist/utilities/renderTable.js +4 -0
  639. package/dist/utilities/renderTable.js.map +1 -1
  640. package/dist/views/API/index.client.d.ts.map +1 -1
  641. package/dist/views/API/index.client.js +19 -1
  642. package/dist/views/API/index.client.js.map +1 -1
  643. package/dist/views/API/index.css +1 -2
  644. package/dist/views/CreateFirstUser/index.css +0 -2
  645. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  646. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +75 -116
  647. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  648. package/dist/views/Dashboard/Default/ModularDashboard/WidgetContent/index.d.ts +7 -0
  649. package/dist/views/Dashboard/Default/ModularDashboard/WidgetContent/index.d.ts.map +1 -0
  650. package/dist/views/Dashboard/Default/ModularDashboard/WidgetContent/index.js +65 -0
  651. package/dist/views/Dashboard/Default/ModularDashboard/WidgetContent/index.js.map +1 -0
  652. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts +2 -1
  653. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  654. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +8 -2
  655. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  656. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  657. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +127 -91
  658. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  659. package/dist/views/Dashboard/Default/ModularDashboard/index.css +9 -6
  660. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
  661. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +3 -0
  662. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  663. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.d.ts.map +1 -1
  664. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +2 -38
  665. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
  666. package/dist/views/Document/index.js +1 -1
  667. package/dist/views/Document/index.js.map +1 -1
  668. package/dist/views/Document/renderDocumentSlots.d.ts +1 -1
  669. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  670. package/dist/views/Document/renderDocumentSlots.js +10 -3
  671. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  672. package/dist/views/Edit/Auth/index.css +4 -5
  673. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  674. package/dist/views/ForgotPassword/index.js +1 -3
  675. package/dist/views/ForgotPassword/index.js.map +1 -1
  676. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  677. package/dist/views/HierarchyList/DocumentListSelection/index.js +104 -105
  678. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  679. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
  680. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +79 -63
  681. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  682. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts.map +1 -1
  683. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +35 -87
  684. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -1
  685. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +0 -101
  686. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +2 -0
  687. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  688. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +45 -32
  689. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  690. package/dist/views/HierarchyList/HierarchyTable/index.css +51 -41
  691. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +3 -1
  692. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  693. package/dist/views/HierarchyList/HierarchyTable/index.js +80 -6
  694. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  695. package/dist/views/HierarchyList/getHierarchyListURL.d.ts +7 -0
  696. package/dist/views/HierarchyList/getHierarchyListURL.d.ts.map +1 -0
  697. package/dist/views/HierarchyList/getHierarchyListURL.js +22 -0
  698. package/dist/views/HierarchyList/getHierarchyListURL.js.map +1 -0
  699. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  700. package/dist/views/HierarchyList/index.js +32 -11
  701. package/dist/views/HierarchyList/index.js.map +1 -1
  702. package/dist/views/List/DocumentGrid/index.d.ts +17 -0
  703. package/dist/views/List/DocumentGrid/index.d.ts.map +1 -0
  704. package/dist/views/List/DocumentGrid/index.js +152 -0
  705. package/dist/views/List/DocumentGrid/index.js.map +1 -0
  706. package/dist/views/List/GroupedDocumentGrid/index.css +17 -0
  707. package/dist/views/List/GroupedDocumentGrid/index.d.ts +14 -0
  708. package/dist/views/List/GroupedDocumentGrid/index.d.ts.map +1 -0
  709. package/dist/views/List/GroupedDocumentGrid/index.js +99 -0
  710. package/dist/views/List/GroupedDocumentGrid/index.js.map +1 -0
  711. package/dist/views/List/ListHeader/index.css +4 -5
  712. package/dist/views/List/ListHeader/index.d.ts +1 -0
  713. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  714. package/dist/views/List/ListHeader/index.js +5 -2
  715. package/dist/views/List/ListHeader/index.js.map +1 -1
  716. package/dist/views/List/getDocumentListItemURL.d.ts +9 -0
  717. package/dist/views/List/getDocumentListItemURL.d.ts.map +1 -0
  718. package/dist/views/List/getDocumentListItemURL.js +23 -0
  719. package/dist/views/List/getDocumentListItemURL.js.map +1 -0
  720. package/dist/views/List/handleGroupBy.d.ts +6 -2
  721. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  722. package/dist/views/List/handleGroupBy.js +13 -3
  723. package/dist/views/List/handleGroupBy.js.map +1 -1
  724. package/dist/views/List/index.client.d.ts.map +1 -1
  725. package/dist/views/List/index.client.js +207 -129
  726. package/dist/views/List/index.client.js.map +1 -1
  727. package/dist/views/List/index.css +1 -2
  728. package/dist/views/List/index.d.ts.map +1 -1
  729. package/dist/views/List/index.js +57 -3
  730. package/dist/views/List/index.js.map +1 -1
  731. package/dist/views/List/renderListViewSlots.d.ts +3 -2
  732. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  733. package/dist/views/List/renderListViewSlots.js +12 -4
  734. package/dist/views/List/renderListViewSlots.js.map +1 -1
  735. package/dist/views/List/resolveDocumentListItemURL.d.ts +11 -0
  736. package/dist/views/List/resolveDocumentListItemURL.d.ts.map +1 -0
  737. package/dist/views/List/resolveDocumentListItemURL.js +30 -0
  738. package/dist/views/List/resolveDocumentListItemURL.js.map +1 -0
  739. package/dist/views/NotFound/index.css +0 -2
  740. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  741. package/dist/views/ResetPassword/index.js +1 -3
  742. package/dist/views/ResetPassword/index.js.map +1 -1
  743. package/dist/views/Root/getRouteData.d.ts +1 -8
  744. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  745. package/dist/views/Root/getRouteData.js +3 -12
  746. package/dist/views/Root/getRouteData.js.map +1 -1
  747. package/dist/views/Unauthorized/index.css +0 -2
  748. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  749. package/dist/views/Unauthorized/index.js +2 -1
  750. package/dist/views/Unauthorized/index.js.map +1 -1
  751. package/dist/views/Version/Default/index.css +7 -11
  752. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.css +0 -1
  753. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.css +0 -1
  754. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.css +3 -4
  755. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +0 -1
  756. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  757. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +3 -1
  758. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  759. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.css +0 -1
  760. package/dist/views/Versions/VersionPillLabel/index.css +1 -2
  761. package/dist/views/Versions/index.client.d.ts.map +1 -1
  762. package/dist/views/Versions/index.client.js +3 -1
  763. package/dist/views/Versions/index.client.js.map +1 -1
  764. package/dist/views/Versions/index.css +1 -1
  765. package/dist/widgets/CollectionCards/index.client.d.ts.map +1 -1
  766. package/dist/widgets/CollectionCards/index.client.js +8 -6
  767. package/dist/widgets/CollectionCards/index.client.js.map +1 -1
  768. package/dist/widgets/CollectionCards/index.css +30 -38
  769. package/dist/widgets/CollectionCards/index.d.ts.map +1 -1
  770. package/dist/widgets/CollectionCards/index.js +7 -5
  771. package/dist/widgets/CollectionCards/index.js.map +1 -1
  772. package/dist/widgets/CollectionQuery/index.css +4 -6
  773. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +1 -1
  774. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +1 -1
  775. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -1
  776. package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts +4 -0
  777. package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts.map +1 -0
  778. package/dist/widgets/UploadDropzone/CollectionsField/index.js +29 -0
  779. package/dist/widgets/UploadDropzone/CollectionsField/index.js.map +1 -0
  780. package/dist/widgets/UploadDropzone/index.client.d.ts +10 -0
  781. package/dist/widgets/UploadDropzone/index.client.d.ts.map +1 -0
  782. package/dist/widgets/UploadDropzone/index.client.js +78 -0
  783. package/dist/widgets/UploadDropzone/index.client.js.map +1 -0
  784. package/dist/widgets/UploadDropzone/index.css +80 -0
  785. package/dist/widgets/UploadDropzone/index.d.ts +12 -0
  786. package/dist/widgets/UploadDropzone/index.d.ts.map +1 -0
  787. package/dist/widgets/UploadDropzone/index.js +58 -0
  788. package/dist/widgets/UploadDropzone/index.js.map +1 -0
  789. package/dist/widgets/Welcome/getWelcomeDisplay.d.ts +7 -0
  790. package/dist/widgets/Welcome/getWelcomeDisplay.d.ts.map +1 -0
  791. package/dist/widgets/Welcome/getWelcomeDisplay.js +21 -0
  792. package/dist/widgets/Welcome/getWelcomeDisplay.js.map +1 -0
  793. package/dist/widgets/Welcome/index.css +25 -0
  794. package/dist/widgets/Welcome/index.d.ts +5 -0
  795. package/dist/widgets/Welcome/index.d.ts.map +1 -0
  796. package/dist/widgets/Welcome/index.js +25 -0
  797. package/dist/widgets/Welcome/index.js.map +1 -0
  798. package/dist/widgets/WidgetCard/index.css +4 -8
  799. package/package.json +35 -10
  800. package/dist/providers/Root/index.d.ts +0 -25
  801. package/dist/providers/Root/index.d.ts.map +0 -1
  802. package/dist/providers/Root/index.js +0 -156
  803. package/dist/providers/Root/index.js.map +0 -1
  804. package/dist/utilities/dateLocales.d.ts +0 -30
  805. package/dist/utilities/dateLocales.d.ts.map +0 -1
  806. package/dist/utilities/dateLocales.js +0 -57
  807. package/dist/utilities/dateLocales.js.map +0 -1
@@ -1,46 +1,46 @@
1
1
  @layer payload-default {
2
2
  .collections {
3
- display: flex;
4
3
  width: 100%;
5
- --gap: var(--spacer-3);
6
- --cols: 5;
7
4
  }
8
5
 
9
6
  .collections__wrap {
10
- width: 100%;
11
7
  display: flex;
12
8
  flex-direction: column;
13
- gap: var(--spacer-3);
14
- padding-bottom: var(--spacer-6);
9
+ gap: var(--spacer-5);
10
+ width: 100%;
11
+ background: var(--color-bg);
15
12
  }
16
13
 
17
14
  .collections__group {
18
15
  display: flex;
19
16
  flex-direction: column;
20
- gap: var(--gap);
21
- padding-top: var(--spacer-2);
17
+ gap: var(--spacer-2-5);
22
18
  }
23
19
 
24
20
  .collections__label {
25
21
  margin: 0;
26
- font-family: var(--text-heading-medium-font-family);
22
+ color: var(--color-text);
27
23
  font-size: var(--text-heading-medium-font-size);
28
24
  font-weight: var(--text-heading-medium-font-weight);
29
25
  line-height: var(--text-heading-medium-line-height);
30
26
  letter-spacing: var(--text-heading-medium-letter-spacing);
31
- color: var(--color-text);
32
27
  }
33
28
 
34
29
  .collections__card-list {
30
+ display: grid;
31
+ grid-template-columns: repeat(1, minmax(0, 1fr));
32
+ gap: var(--spacer-2-5);
35
33
  padding: 0;
36
34
  margin: 0;
37
35
  list-style: none;
38
- gap: var(--spacer-3);
39
- display: grid;
40
- grid-template-columns: repeat(var(--cols), 1fr);
41
36
 
42
- .card {
43
- height: 100%;
37
+ .card:has(.card__actions) .card__title {
38
+ max-width: calc(100% - var(--spacer-4));
39
+ }
40
+
41
+ .card__actions {
42
+ right: auto;
43
+ inset-inline-end: var(--spacer-2);
44
44
  }
45
45
  }
46
46
 
@@ -49,40 +49,32 @@
49
49
  justify-content: unset;
50
50
  }
51
51
 
52
- /* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
53
- @media (max-width: 1440px) {
54
- .collections {
55
- --cols: 4;
52
+ @media (hover: hover) and (pointer: fine) {
53
+ .collections__card-list .card__actions:has(.btn) {
54
+ opacity: 0;
56
55
  }
57
- }
58
56
 
59
- /* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
60
- @media (max-width: 1024px) {
61
- .collections {
62
- --gap: var(--spacer-3);
63
- --cols: 2;
57
+ .collections__card-list .card:hover .card__actions,
58
+ .collections__card-list .card:focus-within .card__actions {
59
+ opacity: 1;
64
60
  }
65
61
  }
66
62
 
67
- /* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
68
- @media (max-width: 768px) {
69
- .collections {
70
- --cols: 2;
71
- }
72
-
73
- .collections__wrap {
74
- gap: var(--spacer-3);
63
+ @media (min-width: 400px) {
64
+ .collections__card-list {
65
+ grid-template-columns: repeat(2, minmax(0, 1fr));
75
66
  }
67
+ }
76
68
 
69
+ @media (min-width: 768px) {
77
70
  .collections__card-list {
78
- gap: var(--spacer-2);
71
+ grid-template-columns: repeat(4, minmax(0, 1fr));
79
72
  }
80
73
  }
81
74
 
82
- /* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
83
- @media (max-width: 400px) {
84
- .collections {
85
- --cols: 1;
75
+ @media (min-width: 1024px) {
76
+ .collections__card-list {
77
+ grid-template-columns: repeat(5, minmax(0, 1fr));
86
78
  }
87
79
  }
88
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/widgets/CollectionCards/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAKhD,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,aAAa,CAAA;AAIpB,wBAAsB,eAAe,CAAC,KAAK,EAAE,iBAAiB,8BAoH7D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/widgets/CollectionCards/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAKhD,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,aAAa,CAAA;AAIpB,wBAAsB,eAAe,CAAC,KAAK,EAAE,iBAAiB,8BAqH7D"}
@@ -99,25 +99,27 @@ export async function CollectionCards(props) {
99
99
  }
100
100
  }
101
101
  }
102
+ const createButtonLabel = t('general:createNewLabel', {
103
+ label: title
104
+ });
102
105
  return /*#__PURE__*/_jsx("li", {
103
106
  children: /*#__PURE__*/_jsx(Card, {
104
107
  actions: isLocked && user?.id !== userEditing?.id ? /*#__PURE__*/_jsx(Locked, {
105
108
  className: `${baseClass}__locked`,
106
109
  user: userEditing
107
110
  }) : hasCreatePermission && type === EntityType.collection ? /*#__PURE__*/_jsx(Button, {
108
- "aria-label": t('general:createNewLabel', {
109
- label
110
- }),
111
+ "aria-label": createButtonLabel,
111
112
  buttonStyle: "ghost",
112
113
  el: "link",
113
114
  icon: "plus",
114
115
  round: true,
115
- to: createHREF
116
+ to: createHREF,
117
+ tooltip: createButtonLabel
116
118
  }) : undefined,
117
119
  buttonAriaLabel: buttonAriaLabel,
118
120
  href: href,
119
121
  id: `card-${slug}`,
120
- title: getTranslation(label, i18n),
122
+ title: title,
121
123
  titleAs: "h3"
122
124
  })
123
125
  }, entityIndex);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","EntityType","getAccessResults","formatAdminURL","React","Button","Card","Locked","getGlobalData","getNavGroups","getVisibleEntities","baseClass","CollectionCards","props","i18n","payload","user","req","admin","adminRoute","config","routes","t","permissions","visibleEntities","globalData","navGroups","_jsx","className","length","map","entities","label","groupIndex","_jsxs","slug","type","entityIndex","title","buttonAriaLabel","createHREF","href","hasCreatePermission","isLocked","userEditing","collection","path","collections","create","global","globalLockData","find","data","_isLocked","_userEditing","lockDuration","lastEditedAt","Date","_lastEditedAt","getTime","lockDurationInMilliseconds","lockExpirationTime","actions","id","buttonStyle","el","icon","round","to","undefined","titleAs"],"sources":["../../../src/widgets/CollectionCards/index.tsx"],"sourcesContent":["import type { WidgetServerProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { EntityType, getAccessResults } from 'payload'\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary\nimport { Button, Card, Locked } from '../../exports/client/index.js'\nimport { getGlobalData } from '../../utilities/getGlobalData.js'\nimport { getNavGroups } from '../../utilities/getNavGroups.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport './index.css'\n\nconst baseClass = 'collections'\n\nexport async function CollectionCards(props: WidgetServerProps) {\n const { i18n, payload, user } = props.req\n const { admin: adminRoute } = payload.config.routes\n const { t } = i18n\n const permissions = await getAccessResults({ req: props.req })\n const visibleEntities = getVisibleEntities({ req: props.req })\n const globalData = await getGlobalData(props.req)\n\n const navGroups = getNavGroups(permissions, visibleEntities, payload.config, i18n)\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n {!navGroups || navGroups?.length === 0 ? (\n <p>no nav groups....</p>\n ) : (\n navGroups.map(({ entities, label }, groupIndex) => {\n return (\n <div className={`${baseClass}__group`} key={groupIndex}>\n <h2 className={`${baseClass}__label`}>{label}</h2>\n <ul className={`${baseClass}__card-list`}>\n {entities.map(({ slug, type, label }, entityIndex) => {\n let title: string\n let buttonAriaLabel: string\n let createHREF: string\n let href: string\n let hasCreatePermission: boolean\n let isLocked = null\n let userEditing = null\n\n if (type === EntityType.collection) {\n title = getTranslation(label, i18n)\n\n buttonAriaLabel = t('general:showAllLabel', { label: title })\n\n href = formatAdminURL({\n adminRoute,\n path: `/collections/${slug}`,\n })\n\n createHREF = formatAdminURL({\n adminRoute,\n path: `/collections/${slug}/create`,\n })\n\n hasCreatePermission = permissions?.collections?.[slug]?.create\n }\n\n if (type === EntityType.global) {\n title = getTranslation(label, i18n)\n\n buttonAriaLabel = t('general:editLabel', {\n label: getTranslation(label, i18n),\n })\n\n href = formatAdminURL({\n adminRoute,\n path: `/globals/${slug}`,\n })\n\n // Find the lock status for the global\n const globalLockData = globalData.find((global) => global.slug === slug)\n if (globalLockData) {\n isLocked = globalLockData.data._isLocked\n userEditing = globalLockData.data._userEditing\n\n // Check if the lock is expired\n const lockDuration = globalLockData?.lockDuration\n const lastEditedAt = new Date(globalLockData.data?._lastEditedAt).getTime()\n\n const lockDurationInMilliseconds = lockDuration * 1000\n const lockExpirationTime = lastEditedAt + lockDurationInMilliseconds\n\n if (new Date().getTime() > lockExpirationTime) {\n isLocked = false\n userEditing = null\n }\n }\n }\n\n return (\n <li key={entityIndex}>\n <Card\n actions={\n isLocked && user?.id !== userEditing?.id ? (\n <Locked className={`${baseClass}__locked`} user={userEditing} />\n ) : hasCreatePermission && type === EntityType.collection ? (\n <Button\n aria-label={t('general:createNewLabel', {\n label,\n })}\n buttonStyle=\"ghost\"\n el=\"link\"\n icon=\"plus\"\n round\n to={createHREF}\n />\n ) : undefined\n }\n buttonAriaLabel={buttonAriaLabel}\n href={href}\n id={`card-${slug}`}\n title={getTranslation(label, i18n)}\n titleAs=\"h3\"\n />\n </li>\n )\n })}\n </ul>\n </div>\n )\n })\n )}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","EntityType","getAccessResults","formatAdminURL","React","Button","Card","Locked","getGlobalData","getNavGroups","getVisibleEntities","baseClass","CollectionCards","props","i18n","payload","user","req","admin","adminRoute","config","routes","t","permissions","visibleEntities","globalData","navGroups","_jsx","className","length","map","entities","label","groupIndex","_jsxs","slug","type","entityIndex","title","buttonAriaLabel","createHREF","href","hasCreatePermission","isLocked","userEditing","collection","path","collections","create","global","globalLockData","find","data","_isLocked","_userEditing","lockDuration","lastEditedAt","Date","_lastEditedAt","getTime","lockDurationInMilliseconds","lockExpirationTime","createButtonLabel","actions","id","buttonStyle","el","icon","round","to","tooltip","undefined","titleAs"],"sources":["../../../src/widgets/CollectionCards/index.tsx"],"sourcesContent":["import type { WidgetServerProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { EntityType, getAccessResults } from 'payload'\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary\nimport { Button, Card, Locked } from '../../exports/client/index.js'\nimport { getGlobalData } from '../../utilities/getGlobalData.js'\nimport { getNavGroups } from '../../utilities/getNavGroups.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport './index.css'\n\nconst baseClass = 'collections'\n\nexport async function CollectionCards(props: WidgetServerProps) {\n const { i18n, payload, user } = props.req\n const { admin: adminRoute } = payload.config.routes\n const { t } = i18n\n const permissions = await getAccessResults({ req: props.req })\n const visibleEntities = getVisibleEntities({ req: props.req })\n const globalData = await getGlobalData(props.req)\n\n const navGroups = getNavGroups(permissions, visibleEntities, payload.config, i18n)\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n {!navGroups || navGroups?.length === 0 ? (\n <p>no nav groups....</p>\n ) : (\n navGroups.map(({ entities, label }, groupIndex) => {\n return (\n <div className={`${baseClass}__group`} key={groupIndex}>\n <h2 className={`${baseClass}__label`}>{label}</h2>\n <ul className={`${baseClass}__card-list`}>\n {entities.map(({ slug, type, label }, entityIndex) => {\n let title: string\n let buttonAriaLabel: string\n let createHREF: string\n let href: string\n let hasCreatePermission: boolean\n let isLocked = null\n let userEditing = null\n\n if (type === EntityType.collection) {\n title = getTranslation(label, i18n)\n\n buttonAriaLabel = t('general:showAllLabel', { label: title })\n\n href = formatAdminURL({\n adminRoute,\n path: `/collections/${slug}`,\n })\n\n createHREF = formatAdminURL({\n adminRoute,\n path: `/collections/${slug}/create`,\n })\n\n hasCreatePermission = permissions?.collections?.[slug]?.create\n }\n\n if (type === EntityType.global) {\n title = getTranslation(label, i18n)\n\n buttonAriaLabel = t('general:editLabel', {\n label: getTranslation(label, i18n),\n })\n\n href = formatAdminURL({\n adminRoute,\n path: `/globals/${slug}`,\n })\n\n // Find the lock status for the global\n const globalLockData = globalData.find((global) => global.slug === slug)\n if (globalLockData) {\n isLocked = globalLockData.data._isLocked\n userEditing = globalLockData.data._userEditing\n\n // Check if the lock is expired\n const lockDuration = globalLockData?.lockDuration\n const lastEditedAt = new Date(globalLockData.data?._lastEditedAt).getTime()\n\n const lockDurationInMilliseconds = lockDuration * 1000\n const lockExpirationTime = lastEditedAt + lockDurationInMilliseconds\n\n if (new Date().getTime() > lockExpirationTime) {\n isLocked = false\n userEditing = null\n }\n }\n }\n\n const createButtonLabel = t('general:createNewLabel', { label: title })\n\n return (\n <li key={entityIndex}>\n <Card\n actions={\n isLocked && user?.id !== userEditing?.id ? (\n <Locked className={`${baseClass}__locked`} user={userEditing} />\n ) : hasCreatePermission && type === EntityType.collection ? (\n <Button\n aria-label={createButtonLabel}\n buttonStyle=\"ghost\"\n el=\"link\"\n icon=\"plus\"\n round\n to={createHREF}\n tooltip={createButtonLabel}\n />\n ) : undefined\n }\n buttonAriaLabel={buttonAriaLabel}\n href={href}\n id={`card-${slug}`}\n title={title}\n titleAs=\"h3\"\n />\n </li>\n )\n })}\n </ul>\n </div>\n )\n })\n )}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,6 @@
16
16
  border-radius: var(--radius-small, 3px);
17
17
  background: var(--color-bg-danger-tertiary);
18
18
  color: var(--color-text-danger);
19
- font-family: var(--text-body-medium-font-family);
20
19
  font-size: var(--text-body-medium-font-size);
21
20
  line-height: var(--text-body-medium-line-height);
22
21
  letter-spacing: var(--text-body-medium-letter-spacing);
@@ -30,11 +29,10 @@
30
29
  border-radius: var(--radius-small, 3px);
31
30
  background: var(--color-bg-danger);
32
31
  color: var(--color-text-ondanger);
33
- font-family: var(--text-body-medium-strong-font-family);
34
- font-size: var(--text-body-medium-strong-font-size);
35
- font-weight: var(--text-body-medium-strong-font-weight);
36
- line-height: var(--text-body-medium-strong-line-height);
37
- letter-spacing: var(--text-body-medium-strong-letter-spacing);
32
+ font-size: var(--text-body-medium-bold-font-size);
33
+ font-weight: var(--text-body-medium-bold-font-weight);
34
+ line-height: var(--text-body-medium-bold-line-height);
35
+ letter-spacing: var(--text-body-medium-bold-letter-spacing);
38
36
  }
39
37
 
40
38
  .collection-query-widget__error-list {
@@ -2,7 +2,7 @@ import type { SelectFieldClientProps } from 'payload';
2
2
  import React from 'react';
3
3
  import './index.css';
4
4
  /**
5
- * Widget config field for the activity widget. The value is stored as an exclusion list
5
+ * Widget config field shared by collection checklists. The value is stored as an exclusion list
6
6
  * (`excludedCollections`), but the user sees an inclusion filter: every collection is checked by
7
7
  * default and unchecking one adds it to the stored exclusions. Storing exclusions means collections
8
8
  * added later are visible by default.
@@ -14,7 +14,7 @@ const normalizeOption = option => typeof option === 'string' ? {
14
14
  value: option
15
15
  } : option;
16
16
  /**
17
- * Widget config field for the activity widget. The value is stored as an exclusion list
17
+ * Widget config field shared by collection checklists. The value is stored as an exclusion list
18
18
  * (`excludedCollections`), but the user sees an inclusion filter: every collection is checked by
19
19
  * default and unchecking one adds it to the stored exclusions. Storing exclusions means collections
20
20
  * added later are visible by default.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","useCallback","useMemo","CheckboxInput","FieldLabel","useField","useTranslation","baseClass","normalizeOption","option","label","value","RecentlyViewedCollectionsField","field","path","pathFromProps","readOnly","setValue","potentiallyStalePath","i18n","excludedSlugs","Set","Array","isArray","options","map","toggleCollection","slug","isIncluded","nextExcluded","delete","add","from","_jsxs","className","_jsx","as","has","resolvedLabel","checked","name","onToggle","event","target"],"sources":["../../../../src/widgets/RecentlyViewed/CollectionsField/index.tsx"],"sourcesContent":["'use client'\nimport type { Option, OptionObject, SelectFieldClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useMemo } from 'react'\n\nimport { CheckboxInput } from '../../../fields/Checkbox/Input.js'\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { useField } from '../../../forms/useField/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.css'\n\nconst baseClass = 'recently-viewed-collections-field'\n\nconst normalizeOption = (option: Option): OptionObject =>\n typeof option === 'string' ? { label: option, value: option } : option\n\n/**\n * Widget config field for the activity widget. The value is stored as an exclusion list\n * (`excludedCollections`), but the user sees an inclusion filter: every collection is checked by\n * default and unchecking one adds it to the stored exclusions. Storing exclusions means collections\n * added later are visible by default.\n */\nexport const RecentlyViewedCollectionsField: React.FC<SelectFieldClientProps> = ({\n field,\n path: pathFromProps,\n readOnly,\n}) => {\n const { label } = field\n const { path, setValue, value } = useField<string[]>({ potentiallyStalePath: pathFromProps })\n const { i18n } = useTranslation()\n\n const excludedSlugs = useMemo(() => new Set<string>(Array.isArray(value) ? value : []), [value])\n\n const options = useMemo(() => (field.options ?? []).map(normalizeOption), [field.options])\n\n const toggleCollection = useCallback(\n (slug: string, isIncluded: boolean) => {\n const nextExcluded = new Set(excludedSlugs)\n\n if (isIncluded) {\n nextExcluded.delete(slug)\n } else {\n nextExcluded.add(slug)\n }\n\n setValue(Array.from(nextExcluded))\n },\n [excludedSlugs, setValue],\n )\n\n return (\n <div className={baseClass}>\n <FieldLabel as=\"span\" label={label} path={path} />\n <ul className={`${baseClass}__list`}>\n {options.map((option) => {\n const isIncluded = !excludedSlugs.has(option.value)\n const resolvedLabel = getTranslation(option.label, i18n)\n\n return (\n <li className={`${baseClass}__option`} key={option.value}>\n <CheckboxInput\n checked={isIncluded}\n label={typeof resolvedLabel === 'string' ? resolvedLabel : option.value}\n name={`${path}__${option.value}`}\n onToggle={(event) => toggleCollection(option.value, event.target.checked)}\n readOnly={readOnly}\n />\n </li>\n )\n })}\n </ul>\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,WAAW,EAAEC,OAAO,QAAQ;AAE5C,SAASC,aAAa,QAAQ;AAC9B,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,MAAMC,eAAA,GAAmBC,MAAA,IACvB,OAAOA,MAAA,KAAW,WAAW;EAAEC,KAAA,EAAOD,MAAA;EAAQE,KAAA,EAAOF;AAAO,IAAIA,MAAA;AAElE;;;;;;AAMA,OAAO,MAAMG,8BAAA,GAAmEA,CAAC;EAC/EC,KAAK;EACLC,IAAA,EAAMC,aAAa;EACnBC;AAAQ,CACT;EACC,MAAM;IAAEN;EAAK,CAAE,GAAGG,KAAA;EAClB,MAAM;IAAEC,IAAI;IAAEG,QAAQ;IAAEN;EAAK,CAAE,GAAGN,QAAA,CAAmB;IAAEa,oBAAA,EAAsBH;EAAc;EAC3F,MAAM;IAAEI;EAAI,CAAE,GAAGb,cAAA;EAEjB,MAAMc,aAAA,GAAgBlB,OAAA,CAAQ,MAAM,IAAImB,GAAA,CAAYC,KAAA,CAAMC,OAAO,CAACZ,KAAA,IAASA,KAAA,GAAQ,EAAE,GAAG,CAACA,KAAA,CAAM;EAE/F,MAAMa,OAAA,GAAUtB,OAAA,CAAQ,MAAM,CAACW,KAAA,CAAMW,OAAO,IAAI,EAAE,EAAEC,GAAG,CAACjB,eAAA,GAAkB,CAACK,KAAA,CAAMW,OAAO,CAAC;EAEzF,MAAME,gBAAA,GAAmBzB,WAAA,CACvB,CAAC0B,IAAA,EAAcC,UAAA;IACb,MAAMC,YAAA,GAAe,IAAIR,GAAA,CAAID,aAAA;IAE7B,IAAIQ,UAAA,EAAY;MACdC,YAAA,CAAaC,MAAM,CAACH,IAAA;IACtB,OAAO;MACLE,YAAA,CAAaE,GAAG,CAACJ,IAAA;IACnB;IAEAV,QAAA,CAASK,KAAA,CAAMU,IAAI,CAACH,YAAA;EACtB,GACA,CAACT,aAAA,EAAeH,QAAA,CAAS;EAG3B,oBACEgB,KAAA,CAAC;IAAIC,SAAA,EAAW3B,SAAA;4BACd4B,IAAA,CAAC/B,UAAA;MAAWgC,EAAA,EAAG;MAAO1B,KAAA,EAAOA,KAAA;MAAOI,IAAA,EAAMA;qBAC1CqB,IAAA,CAAC;MAAGD,SAAA,EAAW,GAAG3B,SAAA,QAAiB;gBAChCiB,OAAA,CAAQC,GAAG,CAAEhB,MAAA;QACZ,MAAMmB,YAAA,GAAa,CAACR,aAAA,CAAciB,GAAG,CAAC5B,MAAA,CAAOE,KAAK;QAClD,MAAM2B,aAAA,GAAgBvC,cAAA,CAAeU,MAAA,CAAOC,KAAK,EAAES,IAAA;QAEnD,oBACEgB,IAAA,CAAC;UAAGD,SAAA,EAAW,GAAG3B,SAAA,UAAmB;oBACnC,aAAA4B,IAAA,CAAChC,aAAA;YACCoC,OAAA,EAASX,YAAA;YACTlB,KAAA,EAAO,OAAO4B,aAAA,KAAkB,WAAWA,aAAA,GAAgB7B,MAAA,CAAOE,KAAK;YACvE6B,IAAA,EAAM,GAAG1B,IAAA,KAASL,MAAA,CAAOE,KAAK,EAAE;YAChC8B,QAAA,EAAWC,KAAA,IAAUhB,gBAAA,CAAiBjB,MAAA,CAAOE,KAAK,EAAE+B,KAAA,CAAMC,MAAM,CAACJ,OAAO;YACxEvB,QAAA,EAAUA;;WAN8BP,MAAA,CAAOE,KAAK;MAU5D;;;AAIR","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","useCallback","useMemo","CheckboxInput","FieldLabel","useField","useTranslation","baseClass","normalizeOption","option","label","value","RecentlyViewedCollectionsField","field","path","pathFromProps","readOnly","setValue","potentiallyStalePath","i18n","excludedSlugs","Set","Array","isArray","options","map","toggleCollection","slug","isIncluded","nextExcluded","delete","add","from","_jsxs","className","_jsx","as","has","resolvedLabel","checked","name","onToggle","event","target"],"sources":["../../../../src/widgets/RecentlyViewed/CollectionsField/index.tsx"],"sourcesContent":["'use client'\nimport type { Option, OptionObject, SelectFieldClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useMemo } from 'react'\n\nimport { CheckboxInput } from '../../../fields/Checkbox/Input.js'\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { useField } from '../../../forms/useField/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.css'\n\nconst baseClass = 'recently-viewed-collections-field'\n\nconst normalizeOption = (option: Option): OptionObject =>\n typeof option === 'string' ? { label: option, value: option } : option\n\n/**\n * Widget config field shared by collection checklists. The value is stored as an exclusion list\n * (`excludedCollections`), but the user sees an inclusion filter: every collection is checked by\n * default and unchecking one adds it to the stored exclusions. Storing exclusions means collections\n * added later are visible by default.\n */\nexport const RecentlyViewedCollectionsField: React.FC<SelectFieldClientProps> = ({\n field,\n path: pathFromProps,\n readOnly,\n}) => {\n const { label } = field\n const { path, setValue, value } = useField<string[]>({ potentiallyStalePath: pathFromProps })\n const { i18n } = useTranslation()\n\n const excludedSlugs = useMemo(() => new Set<string>(Array.isArray(value) ? value : []), [value])\n\n const options = useMemo(() => (field.options ?? []).map(normalizeOption), [field.options])\n\n const toggleCollection = useCallback(\n (slug: string, isIncluded: boolean) => {\n const nextExcluded = new Set(excludedSlugs)\n\n if (isIncluded) {\n nextExcluded.delete(slug)\n } else {\n nextExcluded.add(slug)\n }\n\n setValue(Array.from(nextExcluded))\n },\n [excludedSlugs, setValue],\n )\n\n return (\n <div className={baseClass}>\n <FieldLabel as=\"span\" label={label} path={path} />\n <ul className={`${baseClass}__list`}>\n {options.map((option) => {\n const isIncluded = !excludedSlugs.has(option.value)\n const resolvedLabel = getTranslation(option.label, i18n)\n\n return (\n <li className={`${baseClass}__option`} key={option.value}>\n <CheckboxInput\n checked={isIncluded}\n label={typeof resolvedLabel === 'string' ? resolvedLabel : option.value}\n name={`${path}__${option.value}`}\n onToggle={(event) => toggleCollection(option.value, event.target.checked)}\n readOnly={readOnly}\n />\n </li>\n )\n })}\n </ul>\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,WAAW,EAAEC,OAAO,QAAQ;AAE5C,SAASC,aAAa,QAAQ;AAC9B,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,MAAMC,eAAA,GAAmBC,MAAA,IACvB,OAAOA,MAAA,KAAW,WAAW;EAAEC,KAAA,EAAOD,MAAA;EAAQE,KAAA,EAAOF;AAAO,IAAIA,MAAA;AAElE;;;;;;AAMA,OAAO,MAAMG,8BAAA,GAAmEA,CAAC;EAC/EC,KAAK;EACLC,IAAA,EAAMC,aAAa;EACnBC;AAAQ,CACT;EACC,MAAM;IAAEN;EAAK,CAAE,GAAGG,KAAA;EAClB,MAAM;IAAEC,IAAI;IAAEG,QAAQ;IAAEN;EAAK,CAAE,GAAGN,QAAA,CAAmB;IAAEa,oBAAA,EAAsBH;EAAc;EAC3F,MAAM;IAAEI;EAAI,CAAE,GAAGb,cAAA;EAEjB,MAAMc,aAAA,GAAgBlB,OAAA,CAAQ,MAAM,IAAImB,GAAA,CAAYC,KAAA,CAAMC,OAAO,CAACZ,KAAA,IAASA,KAAA,GAAQ,EAAE,GAAG,CAACA,KAAA,CAAM;EAE/F,MAAMa,OAAA,GAAUtB,OAAA,CAAQ,MAAM,CAACW,KAAA,CAAMW,OAAO,IAAI,EAAE,EAAEC,GAAG,CAACjB,eAAA,GAAkB,CAACK,KAAA,CAAMW,OAAO,CAAC;EAEzF,MAAME,gBAAA,GAAmBzB,WAAA,CACvB,CAAC0B,IAAA,EAAcC,UAAA;IACb,MAAMC,YAAA,GAAe,IAAIR,GAAA,CAAID,aAAA;IAE7B,IAAIQ,UAAA,EAAY;MACdC,YAAA,CAAaC,MAAM,CAACH,IAAA;IACtB,OAAO;MACLE,YAAA,CAAaE,GAAG,CAACJ,IAAA;IACnB;IAEAV,QAAA,CAASK,KAAA,CAAMU,IAAI,CAACH,YAAA;EACtB,GACA,CAACT,aAAA,EAAeH,QAAA,CAAS;EAG3B,oBACEgB,KAAA,CAAC;IAAIC,SAAA,EAAW3B,SAAA;4BACd4B,IAAA,CAAC/B,UAAA;MAAWgC,EAAA,EAAG;MAAO1B,KAAA,EAAOA,KAAA;MAAOI,IAAA,EAAMA;qBAC1CqB,IAAA,CAAC;MAAGD,SAAA,EAAW,GAAG3B,SAAA,QAAiB;gBAChCiB,OAAA,CAAQC,GAAG,CAAEhB,MAAA;QACZ,MAAMmB,YAAA,GAAa,CAACR,aAAA,CAAciB,GAAG,CAAC5B,MAAA,CAAOE,KAAK;QAClD,MAAM2B,aAAA,GAAgBvC,cAAA,CAAeU,MAAA,CAAOC,KAAK,EAAES,IAAA;QAEnD,oBACEgB,IAAA,CAAC;UAAGD,SAAA,EAAW,GAAG3B,SAAA,UAAmB;oBACnC,aAAA4B,IAAA,CAAChC,aAAA;YACCoC,OAAA,EAASX,YAAA;YACTlB,KAAA,EAAO,OAAO4B,aAAA,KAAkB,WAAWA,aAAA,GAAgB7B,MAAA,CAAOE,KAAK;YACvE6B,IAAA,EAAM,GAAG1B,IAAA,KAASL,MAAA,CAAOE,KAAK,EAAE;YAChC8B,QAAA,EAAWC,KAAA,IAAUhB,gBAAA,CAAiBjB,MAAA,CAAOE,KAAK,EAAE+B,KAAA,CAAMC,MAAM,CAACJ,OAAO;YACxEvB,QAAA,EAAUA;;WAN8BP,MAAA,CAAOE,KAAK;MAU5D;;;AAIR","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { SelectFieldClientProps } from 'payload';
2
+ import React from 'react';
3
+ export declare const UploadDropzoneCollectionsField: React.FC<SelectFieldClientProps>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/widgets/UploadDropzone/CollectionsField/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAkB,MAAM,OAAO,CAAA;AAMtC,eAAO,MAAM,8BAA8B,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAmB3E,CAAA"}
@@ -0,0 +1,29 @@
1
+ 'use client';
2
+
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ import React, { useMemo } from 'react';
5
+ import { useAuth } from '../../../providers/Auth/index.js';
6
+ import { useEntityVisibility } from '../../../providers/EntityVisibility/index.js';
7
+ import { RecentlyViewedCollectionsField } from '../../RecentlyViewed/CollectionsField/index.js';
8
+ export const UploadDropzoneCollectionsField = props => {
9
+ const {
10
+ permissions
11
+ } = useAuth();
12
+ const {
13
+ isEntityVisible
14
+ } = useEntityVisibility();
15
+ const field = useMemo(() => ({
16
+ ...props.field,
17
+ options: (props.field.options ?? []).filter(option => {
18
+ const collectionSlug = typeof option === 'string' ? option : option.value;
19
+ return isEntityVisible({
20
+ collectionSlug
21
+ }) && permissions?.collections?.[collectionSlug]?.create;
22
+ })
23
+ }), [isEntityVisible, permissions, props.field]);
24
+ return /*#__PURE__*/_jsx(RecentlyViewedCollectionsField, {
25
+ ...props,
26
+ field: field
27
+ });
28
+ };
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","useMemo","useAuth","useEntityVisibility","RecentlyViewedCollectionsField","UploadDropzoneCollectionsField","props","permissions","isEntityVisible","field","options","filter","option","collectionSlug","value","collections","create","_jsx"],"sources":["../../../../src/widgets/UploadDropzone/CollectionsField/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SelectFieldClientProps } from 'payload'\n\nimport React, { useMemo } from 'react'\n\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useEntityVisibility } from '../../../providers/EntityVisibility/index.js'\nimport { RecentlyViewedCollectionsField } from '../../RecentlyViewed/CollectionsField/index.js'\n\nexport const UploadDropzoneCollectionsField: React.FC<SelectFieldClientProps> = (props) => {\n const { permissions } = useAuth()\n const { isEntityVisible } = useEntityVisibility()\n\n const field = useMemo(\n () => ({\n ...props.field,\n options: (props.field.options ?? []).filter((option) => {\n const collectionSlug = typeof option === 'string' ? option : option.value\n\n return (\n isEntityVisible({ collectionSlug }) && permissions?.collections?.[collectionSlug]?.create\n )\n }),\n }),\n [isEntityVisible, permissions, props.field],\n )\n\n return <RecentlyViewedCollectionsField {...props} field={field} />\n}\n"],"mappings":"AAAA;;;AAIA,OAAOA,KAAA,IAASC,OAAO,QAAQ;AAE/B,SAASC,OAAO,QAAQ;AACxB,SAASC,mBAAmB,QAAQ;AACpC,SAASC,8BAA8B,QAAQ;AAE/C,OAAO,MAAMC,8BAAA,GAAoEC,KAAA;EAC/E,MAAM;IAAEC;EAAW,CAAE,GAAGL,OAAA;EACxB,MAAM;IAAEM;EAAe,CAAE,GAAGL,mBAAA;EAE5B,MAAMM,KAAA,GAAQR,OAAA,CACZ,OAAO;IACL,GAAGK,KAAA,CAAMG,KAAK;IACdC,OAAA,EAAS,CAACJ,KAAA,CAAMG,KAAK,CAACC,OAAO,IAAI,EAAE,EAAEC,MAAM,CAAEC,MAAA;MAC3C,MAAMC,cAAA,GAAiB,OAAOD,MAAA,KAAW,WAAWA,MAAA,GAASA,MAAA,CAAOE,KAAK;MAEzE,OACEN,eAAA,CAAgB;QAAEK;MAAe,MAAMN,WAAA,EAAaQ,WAAA,GAAcF,cAAA,CAAe,EAAEG,MAAA;IAEvF;EACF,IACA,CAACR,eAAA,EAAiBD,WAAA,EAAaD,KAAA,CAAMG,KAAK,CAAC;EAG7C,oBAAOQ,IAAA,CAACb,8BAAA;IAAgC,GAAGE,KAAK;IAAEG,KAAA,EAAOA;;AAC3D","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ type Props = {
3
+ collections: Array<{
4
+ mimeTypes?: string[];
5
+ slug: string;
6
+ }>;
7
+ };
8
+ export declare function UploadDropzoneWidgetClient({ collections }: Props): React.JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=index.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/widgets/UploadDropzone/index.client.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,KAAK,KAAK,GAAG;IACX,WAAW,EAAE,KAAK,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC3D,CAAA;AAED,wBAAgB,0BAA0B,CAAC,EAAE,WAAW,EAAE,EAAE,KAAK,qBAmEhE"}
@@ -0,0 +1,78 @@
1
+ 'use client';
2
+
3
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
+ import { validateMimeType } from 'payload/shared';
5
+ import React from 'react';
6
+ import { toast } from 'sonner';
7
+ import { useBulkUpload } from '../../elements/BulkUpload/index.js';
8
+ import { Button } from '../../elements/Button/index.js';
9
+ import { Dropzone } from '../../elements/Dropzone/index.js';
10
+ import { useModal } from '../../elements/Modal/index.js';
11
+ import { ImageStackIcon } from '../../icons/ImageStack/index.js';
12
+ import { useTranslation } from '../../providers/Translation/index.js';
13
+ export function UploadDropzoneWidgetClient({
14
+ collections
15
+ }) {
16
+ const {
17
+ modalSlug,
18
+ setCollectionSlug,
19
+ setInitialFiles,
20
+ setSelectableCollections
21
+ } = useBulkUpload();
22
+ const {
23
+ openModal
24
+ } = useModal();
25
+ const {
26
+ t
27
+ } = useTranslation();
28
+ const openUpload = React.useCallback(({
29
+ collectionSlug = collections[0].slug,
30
+ files
31
+ } = {}) => {
32
+ setSelectableCollections(collections.map(({
33
+ slug
34
+ }) => slug));
35
+ setCollectionSlug(collectionSlug);
36
+ setInitialFiles(files);
37
+ openModal(modalSlug);
38
+ }, [collections, modalSlug, openModal, setCollectionSlug, setInitialFiles, setSelectableCollections]);
39
+ const onDrop = React.useCallback(files_0 => {
40
+ const compatibleCollections = collections.filter(({
41
+ mimeTypes
42
+ }) => Array.from(files_0).every(file => !mimeTypes?.length || validateMimeType(file.type, mimeTypes)));
43
+ if (!compatibleCollections.length) {
44
+ toast.error(t('error:invalidFileType'));
45
+ return;
46
+ }
47
+ openUpload({
48
+ collectionSlug: compatibleCollections[0].slug,
49
+ files: files_0
50
+ });
51
+ }, [collections, openUpload, t]);
52
+ return /*#__PURE__*/_jsxs(Dropzone, {
53
+ className: "upload-dropzone-widget__dropzone",
54
+ isFocusable: false,
55
+ multipleFiles: true,
56
+ onChange: onDrop,
57
+ children: [/*#__PURE__*/_jsxs("div", {
58
+ className: "upload-dropzone-widget__content",
59
+ children: [/*#__PURE__*/_jsx("span", {
60
+ "aria-hidden": "true",
61
+ className: "upload-dropzone-widget__icon",
62
+ children: /*#__PURE__*/_jsx(ImageStackIcon, {})
63
+ }), /*#__PURE__*/_jsx("p", {
64
+ className: "upload-dropzone-widget__description",
65
+ children: t('dashboard:widgetUploadDropzoneDescription')
66
+ }), /*#__PURE__*/_jsx(Button, {
67
+ buttonStyle: "secondary",
68
+ onClick: () => openUpload(),
69
+ size: "medium",
70
+ children: t('dashboard:widgetUploadFiles')
71
+ })]
72
+ }), /*#__PURE__*/_jsx("p", {
73
+ className: "upload-dropzone-widget__drag-message",
74
+ children: t('dashboard:widgetDropFilesToUpload')
75
+ })]
76
+ });
77
+ }
78
+ //# sourceMappingURL=index.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.client.js","names":["validateMimeType","React","toast","useBulkUpload","Button","Dropzone","useModal","ImageStackIcon","useTranslation","UploadDropzoneWidgetClient","collections","modalSlug","setCollectionSlug","setInitialFiles","setSelectableCollections","openModal","t","openUpload","useCallback","collectionSlug","slug","files","map","onDrop","compatibleCollections","filter","mimeTypes","Array","from","every","file","length","type","error","_jsxs","className","isFocusable","multipleFiles","onChange","_jsx","buttonStyle","onClick","size"],"sources":["../../../src/widgets/UploadDropzone/index.client.tsx"],"sourcesContent":["'use client'\n\nimport { validateMimeType } from 'payload/shared'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { Dropzone } from '../../elements/Dropzone/index.js'\nimport { useModal } from '../../elements/Modal/index.js'\nimport { ImageStackIcon } from '../../icons/ImageStack/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\ntype Props = {\n collections: Array<{ mimeTypes?: string[]; slug: string }>\n}\n\nexport function UploadDropzoneWidgetClient({ collections }: Props) {\n const { modalSlug, setCollectionSlug, setInitialFiles, setSelectableCollections } =\n useBulkUpload()\n const { openModal } = useModal()\n const { t } = useTranslation()\n\n const openUpload = React.useCallback(\n ({\n collectionSlug = collections[0].slug,\n files,\n }: { collectionSlug?: string; files?: FileList } = {}) => {\n setSelectableCollections(collections.map(({ slug }) => slug))\n setCollectionSlug(collectionSlug)\n setInitialFiles(files)\n openModal(modalSlug)\n },\n [\n collections,\n modalSlug,\n openModal,\n setCollectionSlug,\n setInitialFiles,\n setSelectableCollections,\n ],\n )\n\n const onDrop = React.useCallback(\n (files: FileList) => {\n const compatibleCollections = collections.filter(({ mimeTypes }) =>\n Array.from(files).every(\n (file) => !mimeTypes?.length || validateMimeType(file.type, mimeTypes),\n ),\n )\n\n if (!compatibleCollections.length) {\n toast.error(t('error:invalidFileType'))\n return\n }\n\n openUpload({ collectionSlug: compatibleCollections[0].slug, files })\n },\n [collections, openUpload, t],\n )\n\n return (\n <Dropzone\n className=\"upload-dropzone-widget__dropzone\"\n isFocusable={false}\n multipleFiles\n onChange={onDrop}\n >\n <div className=\"upload-dropzone-widget__content\">\n <span aria-hidden=\"true\" className=\"upload-dropzone-widget__icon\">\n <ImageStackIcon />\n </span>\n <p className=\"upload-dropzone-widget__description\">\n {t('dashboard:widgetUploadDropzoneDescription')}\n </p>\n <Button buttonStyle=\"secondary\" onClick={() => openUpload()} size=\"medium\">\n {t('dashboard:widgetUploadFiles')}\n </Button>\n </div>\n <p className=\"upload-dropzone-widget__drag-message\">\n {t('dashboard:widgetDropFilesToUpload')}\n </p>\n </Dropzone>\n )\n}\n"],"mappings":"AAAA;;;AAEA,SAASA,gBAAgB,QAAQ;AACjC,OAAOC,KAAA,MAAW;AAClB,SAASC,KAAK,QAAQ;AAEtB,SAASC,aAAa,QAAQ;AAC9B,SAASC,MAAM,QAAQ;AACvB,SAASC,QAAQ,QAAQ;AACzB,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAM/B,OAAO,SAASC,2BAA2B;EAAEC;AAAW,CAAS;EAC/D,MAAM;IAAEC,SAAS;IAAEC,iBAAiB;IAAEC,eAAe;IAAEC;EAAwB,CAAE,GAC/EX,aAAA;EACF,MAAM;IAAEY;EAAS,CAAE,GAAGT,QAAA;EACtB,MAAM;IAAEU;EAAC,CAAE,GAAGR,cAAA;EAEd,MAAMS,UAAA,GAAahB,KAAA,CAAMiB,WAAW,CAClC,CAAC;IACCC,cAAA,GAAiBT,WAAW,CAAC,EAAE,CAACU,IAAI;IACpCC;EAAK,CACyC,GAAG,CAAC,CAAC;IACnDP,wBAAA,CAAyBJ,WAAA,CAAYY,GAAG,CAAC,CAAC;MAAEF;IAAI,CAAE,KAAKA,IAAA;IACvDR,iBAAA,CAAkBO,cAAA;IAClBN,eAAA,CAAgBQ,KAAA;IAChBN,SAAA,CAAUJ,SAAA;EACZ,GACA,CACED,WAAA,EACAC,SAAA,EACAI,SAAA,EACAH,iBAAA,EACAC,eAAA,EACAC,wBAAA,CACD;EAGH,MAAMS,MAAA,GAAStB,KAAA,CAAMiB,WAAW,CAC7BG,OAAA;IACC,MAAMG,qBAAA,GAAwBd,WAAA,CAAYe,MAAM,CAAC,CAAC;MAAEC;IAAS,CAAE,KAC7DC,KAAA,CAAMC,IAAI,CAACP,OAAA,EAAOQ,KAAK,CACpBC,IAAA,IAAS,CAACJ,SAAA,EAAWK,MAAA,IAAU/B,gBAAA,CAAiB8B,IAAA,CAAKE,IAAI,EAAEN,SAAA;IAIhE,IAAI,CAACF,qBAAA,CAAsBO,MAAM,EAAE;MACjC7B,KAAA,CAAM+B,KAAK,CAACjB,CAAA,CAAE;MACd;IACF;IAEAC,UAAA,CAAW;MAAEE,cAAA,EAAgBK,qBAAqB,CAAC,EAAE,CAACJ,IAAI;MAAEC,KAAA,EAAAA;IAAM;EACpE,GACA,CAACX,WAAA,EAAaO,UAAA,EAAYD,CAAA,CAAE;EAG9B,oBACEkB,KAAA,CAAC7B,QAAA;IACC8B,SAAA,EAAU;IACVC,WAAA,EAAa;IACbC,aAAa;IACbC,QAAA,EAAUf,MAAA;4BAEVW,KAAA,CAAC;MAAIC,SAAA,EAAU;8BACbI,IAAA,CAAC;QAAK,eAAY;QAAOJ,SAAA,EAAU;kBACjC,aAAAI,IAAA,CAAChC,cAAA;uBAEHgC,IAAA,CAAC;QAAEJ,SAAA,EAAU;kBACVnB,CAAA,CAAE;uBAELuB,IAAA,CAACnC,MAAA;QAAOoC,WAAA,EAAY;QAAYC,OAAA,EAASA,CAAA,KAAMxB,UAAA;QAAcyB,IAAA,EAAK;kBAC/D1B,CAAA,CAAE;;qBAGPuB,IAAA,CAAC;MAAEJ,SAAA,EAAU;gBACVnB,CAAA,CAAE;;;AAIX","ignoreList":[]}
@@ -0,0 +1,80 @@
1
+ @layer payload-default {
2
+ .card.upload-dropzone-widget {
3
+ min-height: calc(var(--spacer-6) * 5);
4
+ padding: var(--spacer-2);
5
+ border-radius: var(--radius-large);
6
+ background: var(--color-bg);
7
+ }
8
+
9
+ .card.upload-dropzone-widget .upload-dropzone-widget__dropzone {
10
+ display: flex;
11
+ flex: 1 1 auto;
12
+ align-items: center;
13
+ justify-content: center;
14
+ min-height: 0;
15
+ padding: var(--spacer-4) var(--spacer-3);
16
+ border: var(--stroke-width-small) dashed var(--color-border);
17
+ border-radius: var(--radius-medium);
18
+ background: var(--color-bg);
19
+ text-align: center;
20
+
21
+ &:hover {
22
+ background: var(--color-bg);
23
+ }
24
+
25
+ &.dragging {
26
+ border-color: var(--color-border-selected);
27
+ background: var(--color-bg-selected);
28
+ }
29
+ }
30
+
31
+ .upload-dropzone-widget__content {
32
+ display: flex;
33
+ flex-direction: column;
34
+ align-items: center;
35
+ gap: var(--spacer-3);
36
+ }
37
+
38
+ .upload-dropzone-widget__icon {
39
+ display: flex;
40
+ align-items: center;
41
+ justify-content: center;
42
+ width: var(--spacer-6);
43
+ height: var(--spacer-6);
44
+ border-radius: var(--radius-full);
45
+ background: var(--color-bg-selected);
46
+ color: var(--color-icon-brand);
47
+ }
48
+
49
+ .upload-dropzone-widget__description,
50
+ .upload-dropzone-widget__drag-message,
51
+ .upload-dropzone-widget__message {
52
+ margin: 0;
53
+ font-family: var(--text-body-medium-font-family);
54
+ font-size: var(--text-body-medium-font-size);
55
+ line-height: var(--text-body-medium-line-height);
56
+ }
57
+
58
+ .upload-dropzone-widget__description,
59
+ .upload-dropzone-widget__drag-message {
60
+ color: color-mix(in srgb, var(--color-text-secondary) 91%, var(--color-text) 9%);
61
+ }
62
+
63
+ .upload-dropzone-widget__message {
64
+ color: var(--color-text);
65
+ }
66
+
67
+ .upload-dropzone-widget__drag-message {
68
+ display: none;
69
+ }
70
+
71
+ .upload-dropzone-widget__dropzone.dragging {
72
+ .upload-dropzone-widget__content {
73
+ display: none;
74
+ }
75
+
76
+ .upload-dropzone-widget__drag-message {
77
+ display: block;
78
+ }
79
+ }
80
+ }
@@ -0,0 +1,12 @@
1
+ import type { CollectionSlug, WidgetServerProps } from 'payload';
2
+ import React from 'react';
3
+ import '../../elements/Card/index.css';
4
+ import './index.css';
5
+ type UploadDropzoneWidgetData = {
6
+ excludedCollections?: CollectionSlug[];
7
+ };
8
+ export declare function UploadDropzoneWidget({ permissions, req, widgetData, }: WidgetServerProps<{
9
+ data?: UploadDropzoneWidgetData;
10
+ }>): React.JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/widgets/UploadDropzone/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAGhE,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,+BAA+B,CAAA;AACtC,OAAO,aAAa,CAAA;AAEpB,KAAK,wBAAwB,GAAG;IAC9B,mBAAmB,CAAC,EAAE,cAAc,EAAE,CAAA;CACvC,CAAA;AAED,wBAAgB,oBAAoB,CAAC,EACnC,WAAW,EACX,GAAG,EACH,UAAU,GACX,EAAE,iBAAiB,CAAC;IAAE,IAAI,CAAC,EAAE,wBAAwB,CAAA;CAAE,CAAC,qBAiDxD"}
@@ -0,0 +1,58 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { isEntityHidden } from 'payload';
3
+ import React from 'react';
4
+ // eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary
5
+ import { UploadDropzoneWidgetClient } from '../../exports/client/index.js';
6
+ import '../../elements/Card/index.css';
7
+ import './index.css';
8
+ export function UploadDropzoneWidget({
9
+ permissions,
10
+ req,
11
+ widgetData
12
+ }) {
13
+ const {
14
+ i18n,
15
+ payload
16
+ } = req;
17
+ const uploadCollections = Object.values(payload.collections).map(({
18
+ config
19
+ }) => config).filter(collection => collection.upload && collection.upload.bulkUpload !== false && !isEntityHidden({
20
+ hidden: collection.admin?.hidden,
21
+ user: req.user
22
+ }));
23
+ const excludedCollections = new Set(widgetData?.excludedCollections ?? []);
24
+ const selectedCollections = uploadCollections.filter(collection => !excludedCollections.has(collection.slug));
25
+ const permittedCollections = selectedCollections.filter(collection => permissions?.collections?.[collection.slug]?.create);
26
+ const title = i18n.t('dashboard:widgetUploadFiles');
27
+ if (!selectedCollections.length) {
28
+ return /*#__PURE__*/_jsx("section", {
29
+ "aria-label": title,
30
+ className: "card upload-dropzone-widget",
31
+ children: /*#__PURE__*/_jsx("p", {
32
+ className: "upload-dropzone-widget__message",
33
+ children: i18n.t('dashboard:widgetCollectionRequired')
34
+ })
35
+ });
36
+ }
37
+ if (!permittedCollections.length) {
38
+ return /*#__PURE__*/_jsx("section", {
39
+ "aria-label": title,
40
+ className: "card upload-dropzone-widget",
41
+ children: /*#__PURE__*/_jsx("p", {
42
+ className: "upload-dropzone-widget__message",
43
+ children: i18n.t('error:notAllowedToPerformAction')
44
+ })
45
+ });
46
+ }
47
+ return /*#__PURE__*/_jsx("section", {
48
+ "aria-label": title,
49
+ className: "card upload-dropzone-widget",
50
+ children: /*#__PURE__*/_jsx(UploadDropzoneWidgetClient, {
51
+ collections: permittedCollections.map(collection => ({
52
+ slug: collection.slug,
53
+ mimeTypes: collection.upload.mimeTypes
54
+ }))
55
+ })
56
+ });
57
+ }
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["isEntityHidden","React","UploadDropzoneWidgetClient","UploadDropzoneWidget","permissions","req","widgetData","i18n","payload","uploadCollections","Object","values","collections","map","config","filter","collection","upload","bulkUpload","hidden","admin","user","excludedCollections","Set","selectedCollections","has","slug","permittedCollections","create","title","t","length","_jsx","className","mimeTypes"],"sources":["../../../src/widgets/UploadDropzone/index.tsx"],"sourcesContent":["import type { CollectionSlug, WidgetServerProps } from 'payload'\n\nimport { isEntityHidden } from 'payload'\nimport React from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary\nimport { UploadDropzoneWidgetClient } from '../../exports/client/index.js'\nimport '../../elements/Card/index.css'\nimport './index.css'\n\ntype UploadDropzoneWidgetData = {\n excludedCollections?: CollectionSlug[]\n}\n\nexport function UploadDropzoneWidget({\n permissions,\n req,\n widgetData,\n}: WidgetServerProps<{ data?: UploadDropzoneWidgetData }>) {\n const { i18n, payload } = req\n const uploadCollections = Object.values(payload.collections)\n .map(({ config }) => config)\n .filter(\n (collection) =>\n collection.upload &&\n collection.upload.bulkUpload !== false &&\n !isEntityHidden({ hidden: collection.admin?.hidden, user: req.user }),\n )\n const excludedCollections = new Set(widgetData?.excludedCollections ?? [])\n const selectedCollections = uploadCollections.filter(\n (collection) => !excludedCollections.has(collection.slug),\n )\n const permittedCollections = selectedCollections.filter(\n (collection) => permissions?.collections?.[collection.slug]?.create,\n )\n const title = i18n.t('dashboard:widgetUploadFiles')\n\n if (!selectedCollections.length) {\n return (\n <section aria-label={title} className=\"card upload-dropzone-widget\">\n <p className=\"upload-dropzone-widget__message\">\n {i18n.t('dashboard:widgetCollectionRequired')}\n </p>\n </section>\n )\n }\n\n if (!permittedCollections.length) {\n return (\n <section aria-label={title} className=\"card upload-dropzone-widget\">\n <p className=\"upload-dropzone-widget__message\">\n {i18n.t('error:notAllowedToPerformAction')}\n </p>\n </section>\n )\n }\n\n return (\n <section aria-label={title} className=\"card upload-dropzone-widget\">\n <UploadDropzoneWidgetClient\n collections={permittedCollections.map((collection) => ({\n slug: collection.slug,\n mimeTypes: collection.upload.mimeTypes,\n }))}\n />\n </section>\n )\n}\n"],"mappings":";AAEA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB;AACA,SAASC,0BAA0B,QAAQ;AAC3C,OAAO;AACP,OAAO;AAMP,OAAO,SAASC,qBAAqB;EACnCC,WAAW;EACXC,GAAG;EACHC;AAAU,CAC6C;EACvD,MAAM;IAAEC,IAAI;IAAEC;EAAO,CAAE,GAAGH,GAAA;EAC1B,MAAMI,iBAAA,GAAoBC,MAAA,CAAOC,MAAM,CAACH,OAAA,CAAQI,WAAW,EACxDC,GAAG,CAAC,CAAC;IAAEC;EAAM,CAAE,KAAKA,MAAA,EACpBC,MAAM,CACJC,UAAA,IACCA,UAAA,CAAWC,MAAM,IACjBD,UAAA,CAAWC,MAAM,CAACC,UAAU,KAAK,SACjC,CAAClB,cAAA,CAAe;IAAEmB,MAAA,EAAQH,UAAA,CAAWI,KAAK,EAAED,MAAA;IAAQE,IAAA,EAAMhB,GAAA,CAAIgB;EAAK;EAEzE,MAAMC,mBAAA,GAAsB,IAAIC,GAAA,CAAIjB,UAAA,EAAYgB,mBAAA,IAAuB,EAAE;EACzE,MAAME,mBAAA,GAAsBf,iBAAA,CAAkBM,MAAM,CACjDC,UAAA,IAAe,CAACM,mBAAA,CAAoBG,GAAG,CAACT,UAAA,CAAWU,IAAI;EAE1D,MAAMC,oBAAA,GAAuBH,mBAAA,CAAoBT,MAAM,CACpDC,UAAA,IAAeZ,WAAA,EAAaQ,WAAA,GAAcI,UAAA,CAAWU,IAAI,CAAC,EAAEE,MAAA;EAE/D,MAAMC,KAAA,GAAQtB,IAAA,CAAKuB,CAAC,CAAC;EAErB,IAAI,CAACN,mBAAA,CAAoBO,MAAM,EAAE;IAC/B,oBACEC,IAAA,CAAC;MAAQ,cAAYH,KAAA;MAAOI,SAAA,EAAU;gBACpC,aAAAD,IAAA,CAAC;QAAEC,SAAA,EAAU;kBACV1B,IAAA,CAAKuB,CAAC,CAAC;;;EAIhB;EAEA,IAAI,CAACH,oBAAA,CAAqBI,MAAM,EAAE;IAChC,oBACEC,IAAA,CAAC;MAAQ,cAAYH,KAAA;MAAOI,SAAA,EAAU;gBACpC,aAAAD,IAAA,CAAC;QAAEC,SAAA,EAAU;kBACV1B,IAAA,CAAKuB,CAAC,CAAC;;;EAIhB;EAEA,oBACEE,IAAA,CAAC;IAAQ,cAAYH,KAAA;IAAOI,SAAA,EAAU;cACpC,aAAAD,IAAA,CAAC9B,0BAAA;MACCU,WAAA,EAAae,oBAAA,CAAqBd,GAAG,CAAEG,UAAA,KAAgB;QACrDU,IAAA,EAAMV,UAAA,CAAWU,IAAI;QACrBQ,SAAA,EAAWlB,UAAA,CAAWC,MAAM,CAACiB;MAC/B;;;AAIR","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ type GetWelcomeDisplayArgs = {
2
+ useAsTitle?: string;
3
+ user?: null | object;
4
+ };
5
+ export declare function getWelcomeDisplay({ useAsTitle, user }: GetWelcomeDisplayArgs): string | undefined;
6
+ export {};
7
+ //# sourceMappingURL=getWelcomeDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWelcomeDisplay.d.ts","sourceRoot":"","sources":["../../../src/widgets/Welcome/getWelcomeDisplay.ts"],"names":[],"mappings":"AAAA,KAAK,qBAAqB,GAAG;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;CACrB,CAAA;AAcD,wBAAgB,iBAAiB,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAQjG"}