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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (715) hide show
  1. package/dist/css/app.css +1 -1
  2. package/dist/css/forms.css +0 -1
  3. package/dist/css/spacing.css +1 -1
  4. package/dist/css/typography.css +161 -55
  5. package/dist/elements/APIKeyInput/index.css +2 -2
  6. package/dist/elements/AppHeader/index.css +1 -1
  7. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  8. package/dist/elements/AppHeader/index.js +9 -2
  9. package/dist/elements/AppHeader/index.js.map +1 -1
  10. package/dist/elements/Autosave/index.d.ts.map +1 -1
  11. package/dist/elements/Autosave/index.js +10 -3
  12. package/dist/elements/Autosave/index.js.map +1 -1
  13. package/dist/elements/Banner/index.css +3 -4
  14. package/dist/elements/BulkUpload/EditMany/index.css +4 -5
  15. package/dist/elements/BulkUpload/FileSidebar/index.css +0 -1
  16. package/dist/elements/BulkUpload/FileSidebar/index.js +1 -1
  17. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  18. package/dist/elements/Button/index.css +31 -1
  19. package/dist/elements/Button/types.d.ts +1 -1
  20. package/dist/elements/Button/types.d.ts.map +1 -1
  21. package/dist/elements/Button/types.js.map +1 -1
  22. package/dist/elements/Card/index.css +3 -4
  23. package/dist/elements/CardGrid/index.css +20 -0
  24. package/dist/elements/CardGrid/index.d.ts +13 -0
  25. package/dist/elements/CardGrid/index.d.ts.map +1 -0
  26. package/dist/elements/CardGrid/index.js +23 -0
  27. package/dist/elements/CardGrid/index.js.map +1 -0
  28. package/dist/elements/Chip/index.css +0 -1
  29. package/dist/elements/CloseModalOnRouteChange/index.d.ts.map +1 -1
  30. package/dist/elements/CloseModalOnRouteChange/index.js +27 -19
  31. package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
  32. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  33. package/dist/elements/CodeEditor/CodeEditor.js +5 -0
  34. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  35. package/dist/elements/Collapsible/index.css +4 -1
  36. package/dist/elements/ColumnSelection/Popup.css +6 -11
  37. package/dist/elements/CommandPalette/index.css +3 -8
  38. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  39. package/dist/elements/CopyToClipboard/index.js +62 -54
  40. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  41. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  42. package/dist/elements/CreateDocumentButton/index.js +56 -33
  43. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  44. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  45. package/dist/elements/DatePicker/DatePicker.js +88 -15
  46. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  47. package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts +8 -0
  48. package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts.map +1 -0
  49. package/dist/elements/DatePicker/hasAmbiguousYearInput.js +37 -0
  50. package/dist/elements/DatePicker/hasAmbiguousYearInput.js.map +1 -0
  51. package/dist/elements/DatePicker/index.css +27 -17
  52. package/dist/elements/DatePicker/useDatePickerKeyboard.d.ts +18 -0
  53. package/dist/elements/DatePicker/useDatePickerKeyboard.d.ts.map +1 -0
  54. package/dist/elements/DatePicker/useDatePickerKeyboard.js +212 -0
  55. package/dist/elements/DatePicker/useDatePickerKeyboard.js.map +1 -0
  56. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  57. package/dist/elements/DefaultListViewTabs/index.js +9 -7
  58. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  59. package/dist/elements/Dialog/DialogTitle/index.css +1 -1
  60. package/dist/elements/Dialog/index.css +1 -2
  61. package/dist/elements/DocumentCard/index.css +73 -0
  62. package/dist/elements/DocumentCard/index.d.ts +18 -0
  63. package/dist/elements/DocumentCard/index.d.ts.map +1 -0
  64. package/dist/elements/DocumentCard/index.js +182 -0
  65. package/dist/elements/DocumentCard/index.js.map +1 -0
  66. package/dist/elements/DocumentControls/index.css +14 -15
  67. package/dist/elements/DocumentControls/index.d.ts +4 -2
  68. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  69. package/dist/elements/DocumentControls/index.js.map +1 -1
  70. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +4 -7
  71. package/dist/elements/DocumentDrawer/types.d.ts +1 -5
  72. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  73. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  74. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.css +2 -2
  75. package/dist/elements/DocumentFields/index.css +5 -5
  76. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  77. package/dist/elements/DocumentFields/index.js +1 -2
  78. package/dist/elements/DocumentFields/index.js.map +1 -1
  79. package/dist/elements/DocumentHeader/index.css +1 -1
  80. package/dist/elements/Drawer/index.css +4 -5
  81. package/dist/elements/Drawer/types.d.ts +2 -2
  82. package/dist/elements/Drawer/types.d.ts.map +1 -1
  83. package/dist/elements/Drawer/types.js.map +1 -1
  84. package/dist/elements/EditMany/index.css +4 -5
  85. package/dist/elements/EditUpload/index.css +3 -4
  86. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  87. package/dist/elements/EditUpload/index.js +13 -2
  88. package/dist/elements/EditUpload/index.js.map +1 -1
  89. package/dist/elements/EditUpload/library.css +6 -13
  90. package/dist/elements/ErrorPill/index.css +0 -1
  91. package/dist/elements/FieldDiffContainer/index.css +0 -1
  92. package/dist/elements/FieldDiffLabel/index.css +4 -5
  93. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  94. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  95. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  96. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  97. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  98. package/dist/elements/FileDetails/FileMeta/index.js +41 -21
  99. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  100. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +1 -1
  101. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  102. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  103. package/dist/elements/FileDetails/index.d.ts +1 -1
  104. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  105. package/dist/elements/FileDetails/index.js.map +1 -1
  106. package/dist/elements/FileManager/FilePreview/index.css +2 -3
  107. package/dist/elements/FileManager/FilePreview/index.js +4 -4
  108. package/dist/elements/FileManager/FilePreview/index.js.map +1 -1
  109. package/dist/elements/FileManager/FileToolbar/index.css +2 -3
  110. package/dist/elements/FileManager/index.css +0 -1
  111. package/dist/elements/FileManager/index.d.ts.map +1 -1
  112. package/dist/elements/FileManager/index.js +13 -6
  113. package/dist/elements/FileManager/index.js.map +1 -1
  114. package/dist/elements/FormHeader/index.css +0 -2
  115. package/dist/elements/GroupBy/Popup.css +3 -6
  116. package/dist/elements/HTMLDiff/index.css +0 -1
  117. package/dist/elements/Hierarchy/ActionsMenu/index.css +18 -0
  118. package/dist/elements/Hierarchy/ActionsMenu/index.d.ts +35 -0
  119. package/dist/elements/Hierarchy/ActionsMenu/index.d.ts.map +1 -0
  120. package/dist/elements/Hierarchy/ActionsMenu/index.js +99 -0
  121. package/dist/elements/Hierarchy/ActionsMenu/index.js.map +1 -0
  122. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +18 -16
  123. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  124. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  125. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +40 -36
  126. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  127. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  128. package/dist/elements/Hierarchy/ColumnBrowser/index.js +15 -58
  129. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  130. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +2 -0
  131. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  132. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  133. package/dist/elements/Hierarchy/DocHeaderButton/index.css +12 -0
  134. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  135. package/dist/elements/Hierarchy/DocHeaderButton/index.js +88 -13
  136. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  137. package/dist/elements/Hierarchy/EditButton/index.d.ts +8 -0
  138. package/dist/elements/Hierarchy/EditButton/index.d.ts.map +1 -0
  139. package/dist/elements/Hierarchy/EditButton/index.js +93 -0
  140. package/dist/elements/Hierarchy/EditButton/index.js.map +1 -0
  141. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts +9 -0
  142. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts.map +1 -0
  143. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js +41 -0
  144. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js.map +1 -0
  145. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  146. package/dist/elements/Hierarchy/Field/index.client.js +120 -105
  147. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  148. package/dist/elements/Hierarchy/Field/index.css +0 -1
  149. package/dist/elements/Hierarchy/Modal/Footer/index.css +33 -0
  150. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +21 -0
  151. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
  152. package/dist/elements/Hierarchy/Modal/Footer/index.js +122 -0
  153. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
  154. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +8 -3
  155. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  156. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +38 -12
  157. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  158. package/dist/elements/Hierarchy/Modal/index.css +0 -56
  159. package/dist/elements/Hierarchy/Modal/index.d.ts +5 -3
  160. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  161. package/dist/elements/Hierarchy/Modal/index.js +90 -102
  162. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  163. package/dist/elements/Hierarchy/Modal/selection.d.ts +12 -0
  164. package/dist/elements/Hierarchy/Modal/selection.d.ts.map +1 -0
  165. package/dist/elements/Hierarchy/Modal/selection.js +40 -0
  166. package/dist/elements/Hierarchy/Modal/selection.js.map +1 -0
  167. package/dist/elements/Hierarchy/Modal/types.d.ts +4 -0
  168. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
  169. package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
  170. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -1
  171. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js +1 -1
  172. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -1
  173. package/dist/elements/Hierarchy/MoveMany/index.d.ts +3 -3
  174. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  175. package/dist/elements/Hierarchy/MoveMany/index.js +79 -92
  176. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  177. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  178. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +7 -1
  179. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  180. package/dist/elements/Hierarchy/Tree/index.css +1 -1
  181. package/dist/elements/HydratePreferences/index.d.ts +8 -0
  182. package/dist/elements/HydratePreferences/index.d.ts.map +1 -0
  183. package/dist/elements/HydratePreferences/index.js +34 -0
  184. package/dist/elements/HydratePreferences/index.js.map +1 -0
  185. package/dist/elements/IDLabel/index.css +5 -7
  186. package/dist/elements/ItemsDrawer/ItemSearch/index.css +0 -1
  187. package/dist/elements/LLMInstructionsCell/index.css +11 -0
  188. package/dist/elements/LLMInstructionsCell/index.d.ts +5 -0
  189. package/dist/elements/LLMInstructionsCell/index.d.ts.map +1 -0
  190. package/dist/elements/LLMInstructionsCell/index.js +24 -0
  191. package/dist/elements/LLMInstructionsCell/index.js.map +1 -0
  192. package/dist/elements/LLMInstructionsDescription/index.css +79 -0
  193. package/dist/elements/LLMInstructionsDescription/index.d.ts +6 -0
  194. package/dist/elements/LLMInstructionsDescription/index.d.ts.map +1 -0
  195. package/dist/elements/LLMInstructionsDescription/index.js +40 -0
  196. package/dist/elements/LLMInstructionsDescription/index.js.map +1 -0
  197. package/dist/elements/LLMInstructionsMenuItem/index.d.ts +5 -0
  198. package/dist/elements/LLMInstructionsMenuItem/index.d.ts.map +1 -0
  199. package/dist/elements/LLMInstructionsMenuItem/index.js +46 -0
  200. package/dist/elements/LLMInstructionsMenuItem/index.js.map +1 -0
  201. package/dist/elements/LayoutToggle/index.d.ts +8 -0
  202. package/dist/elements/LayoutToggle/index.d.ts.map +1 -0
  203. package/dist/elements/LayoutToggle/index.js +56 -0
  204. package/dist/elements/LayoutToggle/index.js.map +1 -0
  205. package/dist/elements/Link/index.d.ts.map +1 -1
  206. package/dist/elements/Link/index.js +3 -0
  207. package/dist/elements/Link/index.js.map +1 -1
  208. package/dist/elements/ListControls/index.d.ts.map +1 -1
  209. package/dist/elements/ListControls/index.js +2 -1
  210. package/dist/elements/ListControls/index.js.map +1 -1
  211. package/dist/elements/ListControls/types.d.ts +1 -10
  212. package/dist/elements/ListControls/types.d.ts.map +1 -1
  213. package/dist/elements/ListControls/types.js.map +1 -1
  214. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  215. package/dist/elements/ListDrawer/DrawerContent.js +2 -3
  216. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  217. package/dist/elements/ListDrawer/Provider.d.ts +0 -6
  218. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  219. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  220. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  221. package/dist/elements/ListDrawer/index.js +1 -1
  222. package/dist/elements/ListDrawer/index.js.map +1 -1
  223. package/dist/elements/ListDrawer/types.d.ts +1 -0
  224. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  225. package/dist/elements/ListDrawer/types.js.map +1 -1
  226. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  227. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +24 -20
  228. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  229. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts +6 -0
  230. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts.map +1 -0
  231. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js +61 -0
  232. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -0
  233. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts +1 -0
  234. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts.map +1 -1
  235. package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
  236. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
  237. package/dist/elements/ListHeader/index.css +4 -5
  238. package/dist/elements/MiniCarousel/index.d.ts +1 -1
  239. package/dist/elements/MiniCarousel/index.d.ts.map +1 -1
  240. package/dist/elements/MiniCarousel/index.js +6 -6
  241. package/dist/elements/MiniCarousel/index.js.map +1 -1
  242. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  243. package/dist/elements/Nav/NavWrapper/index.js +19 -14
  244. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  245. package/dist/elements/Nav/SidebarTabs/index.client.js +1 -1
  246. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  247. package/dist/elements/Nav/SidebarTabs/index.css +2 -1
  248. package/dist/elements/Nav/index.js +1 -2
  249. package/dist/elements/Nav/index.js.map +1 -1
  250. package/dist/elements/NavGroup/index.css +3 -4
  251. package/dist/elements/NoListResults/index.css +2 -3
  252. package/dist/elements/PageControls/index.css +4 -1
  253. package/dist/elements/PageControls/index.d.ts.map +1 -1
  254. package/dist/elements/PageControls/index.js +22 -8
  255. package/dist/elements/PageControls/index.js.map +1 -1
  256. package/dist/elements/Pagination/SimplePagination/index.css +0 -1
  257. package/dist/elements/Pagination/index.css +0 -2
  258. package/dist/elements/PerPage/index.css +0 -1
  259. package/dist/elements/Pill/index.css +0 -1
  260. package/dist/elements/Popup/PopupButtonList/index.css +4 -2
  261. package/dist/elements/Popup/PopupButtonList/index.d.ts +1 -0
  262. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  263. package/dist/elements/Popup/PopupButtonList/index.js +4 -0
  264. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  265. package/dist/elements/Popup/PopupGroupLabel/index.css +0 -1
  266. package/dist/elements/PreviewSizes/index.d.ts +1 -1
  267. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  268. package/dist/elements/PreviewSizes/index.js +9 -9
  269. package/dist/elements/PreviewSizes/index.js.map +1 -1
  270. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  271. package/dist/elements/PublishButton/index.js +71 -8
  272. package/dist/elements/PublishButton/index.js.map +1 -1
  273. package/dist/elements/PublishButton/validateAllLocales.d.ts +11 -0
  274. package/dist/elements/PublishButton/validateAllLocales.d.ts.map +1 -0
  275. package/dist/elements/PublishButton/validateAllLocales.js +263 -0
  276. package/dist/elements/PublishButton/validateAllLocales.js.map +1 -0
  277. package/dist/elements/QueryPresets/fields/Heading/index.css +0 -1
  278. package/dist/elements/ReactSelect/MultiValueLabel/index.css +0 -1
  279. package/dist/elements/ReactSelect/index.css +0 -3
  280. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  281. package/dist/elements/RelationshipTable/AddNewButton.js +3 -0
  282. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  283. package/dist/elements/RenderTitle/index.css +9 -7
  284. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  285. package/dist/elements/SaveDraftButton/index.js +15 -2
  286. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  287. package/dist/elements/Search/SearchInput/index.css +0 -1
  288. package/dist/elements/Search/SearchInput/index.js +1 -1
  289. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  290. package/dist/elements/SegmentedControl/index.css +9 -0
  291. package/dist/elements/SegmentedControl/index.d.ts +20 -0
  292. package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
  293. package/dist/elements/SegmentedControl/index.js +162 -0
  294. package/dist/elements/SegmentedControl/index.js.map +1 -0
  295. package/dist/elements/SidebarRow/index.css +1 -2
  296. package/dist/elements/SortColumn/index.css +1 -2
  297. package/dist/elements/Spinner/index.css +0 -2
  298. package/dist/elements/Status/index.css +3 -4
  299. package/dist/elements/StepNav/index.css +15 -9
  300. package/dist/elements/StepNav/index.d.ts.map +1 -1
  301. package/dist/elements/StepNav/index.js +7 -0
  302. package/dist/elements/StepNav/index.js.map +1 -1
  303. package/dist/elements/StepNav/types.d.ts +2 -0
  304. package/dist/elements/StepNav/types.d.ts.map +1 -1
  305. package/dist/elements/StepNav/types.js.map +1 -1
  306. package/dist/elements/Switch/index.css +0 -1
  307. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.css +0 -1
  308. package/dist/elements/Table/DefaultCell/fields/Code/index.css +0 -1
  309. package/dist/elements/Table/DefaultCell/fields/File/index.js +1 -1
  310. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  311. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +0 -9
  312. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  313. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +100 -43
  314. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  315. package/dist/elements/Table/DefaultCell/fields/JSON/index.css +0 -1
  316. package/dist/elements/Table/DefaultCell/fields/Status/index.css +0 -1
  317. package/dist/elements/Table/index.css +1 -1
  318. package/dist/elements/TableSection/index.css +4 -5
  319. package/dist/elements/Tabs/index.css +5 -5
  320. package/dist/elements/Tabs/index.d.ts +4 -0
  321. package/dist/elements/Tabs/index.d.ts.map +1 -1
  322. package/dist/elements/Tabs/index.js +30 -1
  323. package/dist/elements/Tabs/index.js.map +1 -1
  324. package/dist/elements/ThumbnailCard/index.css +0 -1
  325. package/dist/elements/TimezonePicker/index.css +0 -3
  326. package/dist/elements/Tooltip/index.css +0 -1
  327. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  328. package/dist/elements/Tooltip/index.js +1 -0
  329. package/dist/elements/Tooltip/index.js.map +1 -1
  330. package/dist/elements/Upload/getEditorFileSrc.d.ts +11 -0
  331. package/dist/elements/Upload/getEditorFileSrc.d.ts.map +1 -0
  332. package/dist/elements/Upload/getEditorFileSrc.js +6 -0
  333. package/dist/elements/Upload/getEditorFileSrc.js.map +1 -0
  334. package/dist/elements/Upload/index.css +2 -3
  335. package/dist/elements/Upload/index.d.ts +1 -1
  336. package/dist/elements/Upload/index.d.ts.map +1 -1
  337. package/dist/elements/Upload/index.js +12 -7
  338. package/dist/elements/Upload/index.js.map +1 -1
  339. package/dist/elements/UserMenu/index.css +7 -10
  340. package/dist/exports/client/CodeEditor-S7MOGZSR.js +14 -0
  341. package/dist/exports/client/CodeEditor-S7MOGZSR.js.map +7 -0
  342. package/dist/exports/client/DatePicker-POZJVQP4.js +14 -0
  343. package/dist/exports/client/DatePicker-POZJVQP4.js.map +7 -0
  344. package/dist/exports/client/chunk-2AY67NFV.js +29 -0
  345. package/dist/exports/client/chunk-2AY67NFV.js.map +7 -0
  346. package/dist/exports/client/chunk-AVJIZPR3.js +14 -0
  347. package/dist/exports/client/chunk-AVJIZPR3.js.map +7 -0
  348. package/dist/exports/client/chunk-Z42OBP5U.js +27 -0
  349. package/dist/exports/client/chunk-Z42OBP5U.js.map +7 -0
  350. package/dist/exports/client/index.d.ts +19 -1
  351. package/dist/exports/client/index.d.ts.map +1 -1
  352. package/dist/exports/client/index.js +100 -1
  353. package/dist/exports/client/index.js.map +4 -4
  354. package/dist/exports/rsc/index.d.ts +1 -0
  355. package/dist/exports/rsc/index.d.ts.map +1 -1
  356. package/dist/exports/rsc/index.js +1 -0
  357. package/dist/exports/rsc/index.js.map +1 -1
  358. package/dist/exports/shared/index.js +2 -2
  359. package/dist/exports/shared/index.js.map +3 -3
  360. package/dist/fields/Array/index.css +4 -0
  361. package/dist/fields/Blocks/SectionTitle/index.css +3 -5
  362. package/dist/fields/Blocks/index.css +2 -2
  363. package/dist/fields/Checkbox/Input.js +1 -1
  364. package/dist/fields/Checkbox/Input.js.map +1 -1
  365. package/dist/fields/Checkbox/index.css +4 -0
  366. package/dist/fields/DateTime/index.d.ts.map +1 -1
  367. package/dist/fields/DateTime/index.js +9 -2
  368. package/dist/fields/DateTime/index.js.map +1 -1
  369. package/dist/fields/FieldLabel/index.css +1 -2
  370. package/dist/fields/Group/index.css +5 -8
  371. package/dist/fields/Join/index.css +3 -4
  372. package/dist/fields/RadioGroup/Radio/index.css +0 -1
  373. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  374. package/dist/fields/Relationship/Input.js +25 -17
  375. package/dist/fields/Relationship/Input.js.map +1 -1
  376. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  377. package/dist/fields/Relationship/optionsReducer.js +2 -0
  378. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  379. package/dist/fields/Relationship/types.d.ts +8 -0
  380. package/dist/fields/Relationship/types.d.ts.map +1 -1
  381. package/dist/fields/Relationship/types.js.map +1 -1
  382. package/dist/fields/Select/Input.d.ts.map +1 -1
  383. package/dist/fields/Select/Input.js +17 -15
  384. package/dist/fields/Select/Input.js.map +1 -1
  385. package/dist/fields/Select/index.css +7 -0
  386. package/dist/fields/Tabs/Tab/index.d.ts +2 -0
  387. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  388. package/dist/fields/Tabs/Tab/index.js +15 -9
  389. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  390. package/dist/fields/Tabs/index.css +14 -14
  391. package/dist/fields/Tabs/index.d.ts.map +1 -1
  392. package/dist/fields/Tabs/index.js +179 -116
  393. package/dist/fields/Tabs/index.js.map +1 -1
  394. package/dist/fields/Upload/HasMany/index.js +1 -1
  395. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  396. package/dist/fields/Upload/HasOne/index.js +1 -1
  397. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  398. package/dist/fields/Upload/Input.d.ts.map +1 -1
  399. package/dist/fields/Upload/Input.js +13 -4
  400. package/dist/fields/Upload/Input.js.map +1 -1
  401. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  402. package/dist/forms/Form/fieldReducer.js +6 -9
  403. package/dist/forms/Form/fieldReducer.js.map +1 -1
  404. package/dist/forms/Form/index.d.ts.map +1 -1
  405. package/dist/forms/Form/index.js +0 -1
  406. package/dist/forms/Form/index.js.map +1 -1
  407. package/dist/forms/Form/types.d.ts +0 -5
  408. package/dist/forms/Form/types.d.ts.map +1 -1
  409. package/dist/forms/Form/types.js.map +1 -1
  410. package/dist/forms/RenderFields/index.css +2 -5
  411. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +2 -2
  412. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  413. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  414. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -2
  415. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  416. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  417. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -2
  418. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  419. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  420. package/dist/forms/fieldSchemasToFormState/types.d.ts +2 -2
  421. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  422. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  423. package/dist/forms/useField/types.d.ts +0 -4
  424. package/dist/forms/useField/types.d.ts.map +1 -1
  425. package/dist/forms/useField/types.js.map +1 -1
  426. package/dist/icons/Arrow/index.d.ts +1 -1
  427. package/dist/icons/Arrow/index.d.ts.map +1 -1
  428. package/dist/icons/Arrow/index.js +7 -1
  429. package/dist/icons/Arrow/index.js.map +1 -1
  430. package/dist/icons/Clock/index.d.ts +6 -0
  431. package/dist/icons/Clock/index.d.ts.map +1 -0
  432. package/dist/icons/Clock/index.js +18 -0
  433. package/dist/icons/Clock/index.js.map +1 -0
  434. package/dist/icons/Pin/index.d.ts +7 -0
  435. package/dist/icons/Pin/index.d.ts.map +1 -0
  436. package/dist/icons/Pin/index.js +23 -0
  437. package/dist/icons/Pin/index.js.map +1 -0
  438. package/dist/icons/Sidebar/index.d.ts.map +1 -1
  439. package/dist/icons/Sidebar/index.js +2 -0
  440. package/dist/icons/Sidebar/index.js.map +1 -1
  441. package/dist/icons/Table/index.css +1 -0
  442. package/dist/icons/Table/index.d.ts +7 -0
  443. package/dist/icons/Table/index.d.ts.map +1 -0
  444. package/dist/icons/Table/index.js +25 -0
  445. package/dist/icons/Table/index.js.map +1 -0
  446. package/dist/layouts/Root/getRootLayoutData.d.ts +3 -6
  447. package/dist/layouts/Root/getRootLayoutData.d.ts.map +1 -1
  448. package/dist/layouts/Root/getRootLayoutData.js +14 -13
  449. package/dist/layouts/Root/getRootLayoutData.js.map +1 -1
  450. package/dist/layouts/Root/index.d.ts +1 -1
  451. package/dist/layouts/Root/index.d.ts.map +1 -1
  452. package/dist/layouts/Root/index.js +11 -18
  453. package/dist/layouts/Root/index.js.map +1 -1
  454. package/dist/providers/ListQuery/getSearchWithListQuery.d.ts +7 -0
  455. package/dist/providers/ListQuery/getSearchWithListQuery.d.ts.map +1 -0
  456. package/dist/providers/ListQuery/getSearchWithListQuery.js +22 -0
  457. package/dist/providers/ListQuery/getSearchWithListQuery.js.map +1 -0
  458. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  459. package/dist/providers/ListQuery/index.js +11 -12
  460. package/dist/providers/ListQuery/index.js.map +1 -1
  461. package/dist/providers/ListQuery/types.d.ts +0 -4
  462. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  463. package/dist/providers/ListQuery/types.js.map +1 -1
  464. package/dist/providers/Preferences/index.d.ts +7 -1
  465. package/dist/providers/Preferences/index.d.ts.map +1 -1
  466. package/dist/providers/Preferences/index.js +62 -20
  467. package/dist/providers/Preferences/index.js.map +1 -1
  468. package/dist/providers/RouteCache/index.d.ts.map +1 -1
  469. package/dist/providers/RouteCache/index.js +38 -37
  470. package/dist/providers/RouteCache/index.js.map +1 -1
  471. package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
  472. package/dist/providers/TableColumns/RenderDefaultCell/index.js +1 -2
  473. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  474. package/dist/providers/TableColumns/buildColumnState/index.d.ts +1 -0
  475. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  476. package/dist/providers/TableColumns/buildColumnState/index.js +2 -0
  477. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  478. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +2 -1
  479. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  480. package/dist/providers/TableColumns/buildColumnState/renderCell.js +12 -28
  481. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  482. package/dist/providers/TableColumns/types.d.ts +1 -34
  483. package/dist/providers/TableColumns/types.d.ts.map +1 -1
  484. package/dist/providers/TableColumns/types.js.map +1 -1
  485. package/dist/providers/ToastContainer/index.css +6 -7
  486. package/dist/providers/Translation/index.d.ts.map +1 -1
  487. package/dist/providers/Translation/index.js +11 -1
  488. package/dist/providers/Translation/index.js.map +1 -1
  489. package/dist/styles.css +163 -58
  490. package/dist/utilities/appendCacheTag.d.ts +1 -0
  491. package/dist/utilities/appendCacheTag.d.ts.map +1 -1
  492. package/dist/utilities/appendCacheTag.js +2 -1
  493. package/dist/utilities/appendCacheTag.js.map +1 -1
  494. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
  495. package/dist/utilities/buildClientFieldSchemaMap/index.js +9 -4
  496. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  497. package/dist/utilities/filterLLMInstructionsMenuItems.d.ts +9 -0
  498. package/dist/utilities/filterLLMInstructionsMenuItems.d.ts.map +1 -0
  499. package/dist/utilities/filterLLMInstructionsMenuItems.js +37 -0
  500. package/dist/utilities/filterLLMInstructionsMenuItems.js.map +1 -0
  501. package/dist/utilities/filterOutUploadFields.js +1 -1
  502. package/dist/utilities/filterOutUploadFields.js.map +1 -1
  503. package/dist/utilities/getClientConfig.d.ts +5 -1
  504. package/dist/utilities/getClientConfig.d.ts.map +1 -1
  505. package/dist/utilities/getClientConfig.js +2 -1
  506. package/dist/utilities/getClientConfig.js.map +1 -1
  507. package/dist/utilities/getClientSchemaMap.d.ts.map +1 -1
  508. package/dist/utilities/getClientSchemaMap.js +2 -1
  509. package/dist/utilities/getClientSchemaMap.js.map +1 -1
  510. package/dist/utilities/getDocumentThumbnail.d.ts +6 -0
  511. package/dist/utilities/getDocumentThumbnail.d.ts.map +1 -0
  512. package/dist/utilities/getDocumentThumbnail.js +27 -0
  513. package/dist/utilities/getDocumentThumbnail.js.map +1 -0
  514. package/dist/utilities/getDocumentThumbnailPopulate.d.ts +7 -0
  515. package/dist/utilities/getDocumentThumbnailPopulate.d.ts.map +1 -0
  516. package/dist/utilities/getDocumentThumbnailPopulate.js +23 -0
  517. package/dist/utilities/getDocumentThumbnailPopulate.js.map +1 -0
  518. package/dist/utilities/getDocumentThumbnailSelect.d.ts +7 -0
  519. package/dist/utilities/getDocumentThumbnailSelect.d.ts.map +1 -0
  520. package/dist/utilities/getDocumentThumbnailSelect.js +24 -0
  521. package/dist/utilities/getDocumentThumbnailSelect.js.map +1 -0
  522. package/dist/utilities/hierarchyCollectionRestrictions.d.ts +15 -0
  523. package/dist/utilities/hierarchyCollectionRestrictions.d.ts.map +1 -0
  524. package/dist/utilities/hierarchyCollectionRestrictions.js +17 -0
  525. package/dist/utilities/hierarchyCollectionRestrictions.js.map +1 -0
  526. package/dist/utilities/renderTable.d.ts +2 -1
  527. package/dist/utilities/renderTable.d.ts.map +1 -1
  528. package/dist/utilities/renderTable.js +2 -0
  529. package/dist/utilities/renderTable.js.map +1 -1
  530. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  531. package/dist/utilities/schedulePublishHandler.js +3 -0
  532. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  533. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  534. package/dist/utilities/serverFunctionRegistry.js +2 -0
  535. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  536. package/dist/utilities/traverseForLocalizedFields.d.ts +7 -2
  537. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  538. package/dist/utilities/traverseForLocalizedFields.js +22 -8
  539. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  540. package/dist/views/API/index.css +1 -2
  541. package/dist/views/CreateFirstUser/index.css +0 -2
  542. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  543. package/dist/views/CreateFirstUser/index.js +4 -2
  544. package/dist/views/CreateFirstUser/index.js.map +1 -1
  545. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  546. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +31 -21
  547. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  548. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +1 -2
  549. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  550. package/dist/views/Dashboard/Default/ModularDashboard/index.css +4 -3
  551. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts +1 -1
  552. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
  553. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +16 -4
  554. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  555. package/dist/views/Document/index.js +1 -1
  556. package/dist/views/Document/index.js.map +1 -1
  557. package/dist/views/Document/renderDocumentSlots.d.ts +1 -1
  558. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  559. package/dist/views/Document/renderDocumentSlots.js +10 -3
  560. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  561. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  562. package/dist/views/Edit/Auth/APIKey.js +1 -0
  563. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  564. package/dist/views/Edit/Auth/index.css +4 -5
  565. package/dist/views/Edit/index.css +26 -0
  566. package/dist/views/Edit/index.d.ts.map +1 -1
  567. package/dist/views/Edit/index.js +1 -1
  568. package/dist/views/Edit/index.js.map +1 -1
  569. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  570. package/dist/views/ForgotPassword/index.js +1 -3
  571. package/dist/views/ForgotPassword/index.js.map +1 -1
  572. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  573. package/dist/views/HierarchyList/DocumentListSelection/index.js +103 -105
  574. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  575. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +4 -1
  576. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
  577. package/dist/views/HierarchyList/HierarchyListHeader/index.js +26 -14
  578. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
  579. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
  580. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +44 -86
  581. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  582. package/dist/views/HierarchyList/HierarchyTable/index.css +8 -31
  583. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +3 -1
  584. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  585. package/dist/views/HierarchyList/HierarchyTable/index.js +78 -5
  586. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  587. package/dist/views/HierarchyList/getHierarchyListURL.d.ts +7 -0
  588. package/dist/views/HierarchyList/getHierarchyListURL.d.ts.map +1 -0
  589. package/dist/views/HierarchyList/getHierarchyListURL.js +22 -0
  590. package/dist/views/HierarchyList/getHierarchyListURL.js.map +1 -0
  591. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  592. package/dist/views/HierarchyList/index.js +35 -11
  593. package/dist/views/HierarchyList/index.js.map +1 -1
  594. package/dist/views/List/DocumentGrid/index.d.ts +17 -0
  595. package/dist/views/List/DocumentGrid/index.d.ts.map +1 -0
  596. package/dist/views/List/DocumentGrid/index.js +117 -0
  597. package/dist/views/List/DocumentGrid/index.js.map +1 -0
  598. package/dist/views/List/GroupedDocumentGrid/index.css +17 -0
  599. package/dist/views/List/GroupedDocumentGrid/index.d.ts +14 -0
  600. package/dist/views/List/GroupedDocumentGrid/index.d.ts.map +1 -0
  601. package/dist/views/List/GroupedDocumentGrid/index.js +99 -0
  602. package/dist/views/List/GroupedDocumentGrid/index.js.map +1 -0
  603. package/dist/views/List/ListHeader/index.css +4 -5
  604. package/dist/views/List/ListHeader/index.d.ts +3 -1
  605. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  606. package/dist/views/List/ListHeader/index.js +15 -4
  607. package/dist/views/List/ListHeader/index.js.map +1 -1
  608. package/dist/views/List/enrichDocsWithVersionStatus.d.ts.map +1 -1
  609. package/dist/views/List/enrichDocsWithVersionStatus.js +3 -1
  610. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  611. package/dist/views/List/getDocumentListItemURL.d.ts +9 -0
  612. package/dist/views/List/getDocumentListItemURL.d.ts.map +1 -0
  613. package/dist/views/List/getDocumentListItemURL.js +23 -0
  614. package/dist/views/List/getDocumentListItemURL.js.map +1 -0
  615. package/dist/views/List/handleGroupBy.d.ts +6 -2
  616. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  617. package/dist/views/List/handleGroupBy.js +13 -3
  618. package/dist/views/List/handleGroupBy.js.map +1 -1
  619. package/dist/views/List/index.client.d.ts.map +1 -1
  620. package/dist/views/List/index.client.js +63 -18
  621. package/dist/views/List/index.client.js.map +1 -1
  622. package/dist/views/List/index.css +1 -1
  623. package/dist/views/List/index.d.ts.map +1 -1
  624. package/dist/views/List/index.js +91 -11
  625. package/dist/views/List/index.js.map +1 -1
  626. package/dist/views/List/renderListViewSlots.d.ts +3 -2
  627. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  628. package/dist/views/List/renderListViewSlots.js +12 -4
  629. package/dist/views/List/renderListViewSlots.js.map +1 -1
  630. package/dist/views/List/resolveDocumentListItemURL.d.ts +11 -0
  631. package/dist/views/List/resolveDocumentListItemURL.d.ts.map +1 -0
  632. package/dist/views/List/resolveDocumentListItemURL.js +30 -0
  633. package/dist/views/List/resolveDocumentListItemURL.js.map +1 -0
  634. package/dist/views/NotFound/index.css +0 -2
  635. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  636. package/dist/views/ResetPassword/index.js +1 -3
  637. package/dist/views/ResetPassword/index.js.map +1 -1
  638. package/dist/views/Root/getRouteData.d.ts +1 -8
  639. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  640. package/dist/views/Root/getRouteData.js +3 -12
  641. package/dist/views/Root/getRouteData.js.map +1 -1
  642. package/dist/views/Unauthorized/index.css +0 -2
  643. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  644. package/dist/views/Unauthorized/index.js +2 -1
  645. package/dist/views/Unauthorized/index.js.map +1 -1
  646. package/dist/views/Version/Default/index.css +7 -11
  647. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.css +0 -1
  648. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +2 -12
  649. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  650. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.css +0 -1
  651. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +2 -2
  652. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  653. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +2 -2
  654. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  655. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +2 -2
  656. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  657. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +2 -2
  658. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  659. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.css +3 -4
  660. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +2 -2
  661. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  662. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +0 -1
  663. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +2 -2
  664. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  665. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  666. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +2 -2
  667. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  668. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +8 -8
  669. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  670. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +2 -2
  671. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  672. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.css +0 -1
  673. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -1
  674. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +2 -2
  675. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  676. package/dist/views/Versions/VersionPillLabel/index.css +1 -2
  677. package/dist/views/Versions/index.css +1 -1
  678. package/dist/widgets/CollectionCards/index.css +0 -1
  679. package/dist/widgets/CollectionQuery/index.css +4 -6
  680. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -1
  681. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +31 -5
  682. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -1
  683. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.css +41 -0
  684. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts +19 -0
  685. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts.map +1 -0
  686. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js +121 -0
  687. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js.map +1 -0
  688. package/dist/widgets/RecentlyViewed/getDocuments.d.ts +20 -0
  689. package/dist/widgets/RecentlyViewed/getDocuments.d.ts.map +1 -0
  690. package/dist/widgets/RecentlyViewed/getDocuments.js +251 -0
  691. package/dist/widgets/RecentlyViewed/getDocuments.js.map +1 -0
  692. package/dist/widgets/RecentlyViewed/index.client.d.ts +41 -0
  693. package/dist/widgets/RecentlyViewed/index.client.d.ts.map +1 -0
  694. package/dist/widgets/RecentlyViewed/index.client.js +404 -0
  695. package/dist/widgets/RecentlyViewed/index.client.js.map +1 -0
  696. package/dist/widgets/RecentlyViewed/index.css +352 -0
  697. package/dist/widgets/RecentlyViewed/index.d.ts +1 -1
  698. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -1
  699. package/dist/widgets/RecentlyViewed/index.js +33 -134
  700. package/dist/widgets/RecentlyViewed/index.js.map +1 -1
  701. package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts +18 -0
  702. package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts.map +1 -0
  703. package/dist/widgets/RecentlyViewed/pinnedPreferences.js +81 -0
  704. package/dist/widgets/RecentlyViewed/pinnedPreferences.js.map +1 -0
  705. package/dist/widgets/RecentlyViewed/recents.d.ts +8 -0
  706. package/dist/widgets/RecentlyViewed/recents.d.ts.map +1 -0
  707. package/dist/widgets/RecentlyViewed/recents.js +19 -0
  708. package/dist/widgets/RecentlyViewed/recents.js.map +1 -0
  709. package/dist/widgets/Welcome/index.css +16 -9
  710. package/dist/widgets/WidgetCard/index.css +4 -8
  711. package/package.json +8 -8
  712. package/dist/utilities/dateLocales.d.ts +0 -30
  713. package/dist/utilities/dateLocales.d.ts.map +0 -1
  714. package/dist/utilities/dateLocales.js +0 -57
  715. package/dist/utilities/dateLocales.js.map +0 -1
@@ -0,0 +1,404 @@
1
+ 'use client';
2
+
3
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
4
+ import React, { useEffect, useId, useMemo, useRef, useState } from 'react';
5
+ import { Button } from '../../elements/Button/index.js';
6
+ import { CardGrid } from '../../elements/CardGrid/index.js';
7
+ import { DocumentCard } from '../../elements/DocumentCard/index.js';
8
+ import { ChevronIcon } from '../../icons/Chevron/index.js';
9
+ import { ClockIcon } from '../../icons/Clock/index.js';
10
+ import { DocumentIcon } from '../../icons/Document/index.js';
11
+ import { PinIcon } from '../../icons/Pin/index.js';
12
+ import { useAuth } from '../../providers/Auth/index.js';
13
+ import { useConfig } from '../../providers/Config/index.js';
14
+ import { useEntityVisibility } from '../../providers/EntityVisibility/index.js';
15
+ import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
16
+ import { useTranslation } from '../../providers/Translation/index.js';
17
+ import { WidgetCard } from '../WidgetCard/index.js';
18
+ import { PinDocumentPicker } from './PinDocumentPicker/index.js';
19
+ import { updatePinnedPreferences } from './pinnedPreferences.js';
20
+ import { documentKey } from './recents.js';
21
+ import './index.css';
22
+ export function RecentsAndPinnedClient({
23
+ excludedCollections,
24
+ labels,
25
+ pinsURL
26
+ }) {
27
+ const {
28
+ permissions,
29
+ user
30
+ } = useAuth();
31
+ const {
32
+ t
33
+ } = useTranslation();
34
+ const {
35
+ config
36
+ } = useConfig();
37
+ const {
38
+ isEntityVisible
39
+ } = useEntityVisibility();
40
+ const {
41
+ serverFunction
42
+ } = useServerFunctions();
43
+ const pinnableCollections = useMemo(() => config.collections.filter(({
44
+ slug
45
+ }) => isEntityVisible({
46
+ collectionSlug: slug
47
+ }) && permissions?.collections?.[slug]?.read).map(({
48
+ slug: slug_0
49
+ }) => slug_0), [config.collections, isEntityVisible, permissions]);
50
+ const canAddPin = Boolean(user) && pinnableCollections.length > 0;
51
+ const contentRef = useRef(null);
52
+ const listID = useId();
53
+ const [page, setPage] = useState(1);
54
+ const [pageSize, setPageSize] = useState(0);
55
+ const pinnedTabRef = useRef(null);
56
+ const recentsTabRef = useRef(null);
57
+ const previousPageRef = useRef(null);
58
+ const nextPageRef = useRef(null);
59
+ const paginationFocusRef = useRef(false);
60
+ const [activeTab, setActiveTab] = useState('pinned');
61
+ const [pageResult, setPageResult] = useState({
62
+ items: [],
63
+ page: 1,
64
+ totalDocs: 0
65
+ });
66
+ const [isLoading, setIsLoading] = useState(true);
67
+ const [shouldShowLoading, setShouldShowLoading] = useState(false);
68
+ const [isSaving, setIsSaving] = useState(false);
69
+ const [saveError, setSaveError] = useState('');
70
+ const [loadError, setLoadError] = useState('');
71
+ const [refresh, setRefresh] = useState(0);
72
+ const shouldIncludePinPlaceholder = activeTab === 'pinned' && canAddPin;
73
+ const totalPages = Math.max(1, Math.ceil((pageResult.totalDocs + Number(shouldIncludePinPlaceholder)) / (pageSize || 1)));
74
+ const currentPage = pageResult.page;
75
+ const items = pageResult.items;
76
+ const hasAddPinCard = shouldIncludePinPlaceholder && pageResult.page === totalPages && items.length < pageSize;
77
+ useEffect(() => {
78
+ if (!pageSize) {
79
+ return;
80
+ }
81
+ let isCurrent = true;
82
+ setIsLoading(true);
83
+ setShouldShowLoading(false);
84
+ setLoadError('');
85
+ const loadingTimeout = setTimeout(() => setShouldShowLoading(true), 180);
86
+ void serverFunction({
87
+ name: 'get-dashboard-documents',
88
+ args: {
89
+ excludedCollections,
90
+ limit: pageSize,
91
+ page,
92
+ shouldIncludePinPlaceholder,
93
+ tab: activeTab
94
+ }
95
+ }).then(result => {
96
+ if (!isCurrent) {
97
+ return;
98
+ }
99
+ setPageResult(result);
100
+ setPage(result.page);
101
+ setIsLoading(false);
102
+ if (paginationFocusRef.current) {
103
+ paginationFocusRef.current = false;
104
+ const lastPage = Math.max(1, Math.ceil((result.totalDocs + Number(shouldIncludePinPlaceholder)) / pageSize));
105
+ requestAnimationFrame(() => {
106
+ if (lastPage === 1) {
107
+ const activeTabRef = activeTab === 'pinned' ? pinnedTabRef : recentsTabRef;
108
+ activeTabRef.current?.focus();
109
+ } else if (result.page === 1) {
110
+ nextPageRef.current?.focus();
111
+ } else if (result.page === lastPage) {
112
+ previousPageRef.current?.focus();
113
+ }
114
+ });
115
+ }
116
+ }).catch(() => {
117
+ if (isCurrent) {
118
+ setIsLoading(false);
119
+ paginationFocusRef.current = false;
120
+ setLoadError(labels.loadError);
121
+ }
122
+ }).finally(() => clearTimeout(loadingTimeout));
123
+ return () => {
124
+ isCurrent = false;
125
+ clearTimeout(loadingTimeout);
126
+ };
127
+ }, [activeTab, excludedCollections, shouldIncludePinPlaceholder, labels.loadError, page, pageSize, refresh, serverFunction]);
128
+ useEffect(() => {
129
+ const element = contentRef.current;
130
+ if (!element) {
131
+ return;
132
+ }
133
+ let observedPageSize = 0;
134
+ const observer = new ResizeObserver(() => {
135
+ const styles = getComputedStyle(element);
136
+ const columns = styles.gridTemplateColumns.split(' ').length;
137
+ const rows = Number(styles.getPropertyValue('--recents-rows'));
138
+ const nextPageSize = columns * rows;
139
+ element.style.setProperty('--recents-columns', String(columns));
140
+ if (nextPageSize !== observedPageSize) {
141
+ observedPageSize = nextPageSize;
142
+ setPageSize(nextPageSize);
143
+ setPage(1);
144
+ }
145
+ });
146
+ observer.observe(element);
147
+ return () => observer.disconnect();
148
+ }, []);
149
+ const emptyMessage = activeTab === 'recents' ? labels.recentsEmpty : labels.pinnedEmpty;
150
+ const emptyDescription = activeTab === 'recents' ? labels.recentsEmptyDescription : labels.pinnedEmptyDescription;
151
+ const removePinnedDocument = async ({
152
+ item
153
+ }) => {
154
+ if (isSaving || activeTab !== 'pinned') {
155
+ return;
156
+ }
157
+ const previous = pageResult;
158
+ setPageResult(current => ({
159
+ ...current,
160
+ items: current.items.filter(entry => documentKey(entry) !== documentKey(item))
161
+ }));
162
+ requestAnimationFrame(() => pinnedTabRef.current?.focus());
163
+ setIsSaving(true);
164
+ setSaveError('');
165
+ try {
166
+ await updatePinnedPreferences({
167
+ document: item,
168
+ shouldPin: false,
169
+ url: pinsURL
170
+ });
171
+ setRefresh(value => value + 1);
172
+ } catch {
173
+ setPageResult(previous);
174
+ setSaveError(labels.pinnedSaveError);
175
+ } finally {
176
+ setIsSaving(false);
177
+ }
178
+ };
179
+ const addSelectedPin = async ({
180
+ document
181
+ }) => {
182
+ if (isSaving) {
183
+ return;
184
+ }
185
+ setIsSaving(true);
186
+ setSaveError('');
187
+ try {
188
+ await updatePinnedPreferences({
189
+ document,
190
+ shouldPin: true,
191
+ url: pinsURL
192
+ });
193
+ setPage(1);
194
+ setRefresh(value_0 => value_0 + 1);
195
+ } catch {
196
+ setSaveError(labels.pinnedSaveError);
197
+ } finally {
198
+ setIsSaving(false);
199
+ requestAnimationFrame(() => pinnedTabRef.current?.focus());
200
+ }
201
+ };
202
+ const pinDocumentPicker = canAddPin ? /*#__PURE__*/_jsx(PinDocumentPicker, {
203
+ collectionSlugs: pinnableCollections,
204
+ isDisabled: isLoading || isSaving,
205
+ isEmpty: pageResult.totalDocs === 0,
206
+ labels: labels,
207
+ onError: () => setSaveError(labels.pinnedSaveError),
208
+ onSelect: args => void addSelectedPin(args),
209
+ pinsURL: pinsURL
210
+ }) : null;
211
+ return /*#__PURE__*/_jsxs(WidgetCard, {
212
+ className: "recently-viewed-widget recents-widget",
213
+ title: labels.title,
214
+ children: [/*#__PURE__*/_jsxs("div", {
215
+ className: "recents-widget__toolbar",
216
+ children: [/*#__PURE__*/_jsx("div", {
217
+ "aria-label": labels.title,
218
+ className: "recents-widget__tabs",
219
+ role: "group",
220
+ children: ['pinned', 'recents'].map(tab => /*#__PURE__*/_jsx("button", {
221
+ "aria-pressed": activeTab === tab,
222
+ className: "recents-widget__tab",
223
+ onClick: () => {
224
+ if (isSaving) {
225
+ return;
226
+ }
227
+ if (activeTab === tab && page === 1) {
228
+ if (loadError) {
229
+ setRefresh(value_1 => value_1 + 1);
230
+ }
231
+ return;
232
+ }
233
+ setPageResult({
234
+ items: [],
235
+ page: 1,
236
+ totalDocs: 0
237
+ });
238
+ setIsLoading(true);
239
+ setActiveTab(tab);
240
+ setPage(1);
241
+ },
242
+ ref: tab === 'pinned' ? pinnedTabRef : recentsTabRef,
243
+ type: "button",
244
+ children: tab === 'recents' ? labels.recents : labels.pinned
245
+ }, tab))
246
+ }), totalPages > 1 ? /*#__PURE__*/_jsxs("div", {
247
+ "aria-label": labels.pagination,
248
+ className: "recents-widget__pagination",
249
+ role: "group",
250
+ children: [/*#__PURE__*/_jsx("button", {
251
+ "aria-controls": listID,
252
+ "aria-disabled": isLoading || isSaving,
253
+ "aria-label": labels.previous,
254
+ className: "recents-widget__previous",
255
+ disabled: currentPage === 1,
256
+ onClick: () => {
257
+ if (isLoading || isSaving) {
258
+ return;
259
+ }
260
+ paginationFocusRef.current = true;
261
+ setPage(currentPage - 1);
262
+ },
263
+ ref: previousPageRef,
264
+ type: "button",
265
+ children: /*#__PURE__*/_jsx("span", {
266
+ "aria-hidden": "true",
267
+ children: /*#__PURE__*/_jsx(ChevronIcon, {
268
+ direction: "left"
269
+ })
270
+ })
271
+ }), /*#__PURE__*/_jsx("span", {
272
+ "aria-atomic": "true",
273
+ "aria-live": "polite",
274
+ className: "recents-widget__page-status",
275
+ children: t('dashboard:widgetPageCount', {
276
+ currentPage,
277
+ totalPages
278
+ })
279
+ }), /*#__PURE__*/_jsx("button", {
280
+ "aria-controls": listID,
281
+ "aria-disabled": isLoading || isSaving,
282
+ "aria-label": labels.next,
283
+ className: "recents-widget__next",
284
+ disabled: currentPage === totalPages,
285
+ onClick: () => {
286
+ if (isLoading || isSaving) {
287
+ return;
288
+ }
289
+ paginationFocusRef.current = true;
290
+ setPage(currentPage + 1);
291
+ },
292
+ ref: nextPageRef,
293
+ type: "button",
294
+ children: /*#__PURE__*/_jsx("span", {
295
+ "aria-hidden": "true",
296
+ children: /*#__PURE__*/_jsx(ChevronIcon, {
297
+ direction: "right"
298
+ })
299
+ })
300
+ })]
301
+ }) : null]
302
+ }), /*#__PURE__*/_jsxs("div", {
303
+ "aria-busy": isLoading,
304
+ className: "recents-widget__viewport",
305
+ ref: contentRef,
306
+ children: [loadError ? /*#__PURE__*/_jsxs("div", {
307
+ className: "recents-widget__error",
308
+ children: [/*#__PURE__*/_jsx("span", {
309
+ children: loadError
310
+ }), /*#__PURE__*/_jsx(Button, {
311
+ buttonStyle: "secondary",
312
+ margin: false,
313
+ onClick: () => {
314
+ const activeTabRef_0 = activeTab === 'pinned' ? pinnedTabRef : recentsTabRef;
315
+ activeTabRef_0.current?.focus();
316
+ setRefresh(value_2 => value_2 + 1);
317
+ },
318
+ size: "medium",
319
+ type: "button",
320
+ children: labels.retry
321
+ })]
322
+ }) : items.length || hasAddPinCard && !isLoading ? /*#__PURE__*/_jsx("div", {
323
+ className: "recents-widget__content",
324
+ id: listID,
325
+ children: /*#__PURE__*/_jsx(CardGrid, {
326
+ ariaLabel: activeTab === 'pinned' ? labels.pinned : labels.recents,
327
+ className: "recents-widget__items recents-widget__items--grid",
328
+ getItemClassName: item_0 => item_0 ? 'recents-widget__item' : `recents-widget__item recents-widget__item--add-pin${pageResult.totalDocs === 0 ? ' recents-widget__item--empty' : ''}`,
329
+ getKey: item_1 => item_1 ? documentKey(item_1) : 'add-pin',
330
+ items: hasAddPinCard ? [...items, null] : items,
331
+ renderItem: item_2 => item_2 ? /*#__PURE__*/_jsxs(DocumentCard, {
332
+ href: item_2.href,
333
+ placeholder: /*#__PURE__*/_jsx(DocumentIcon, {}),
334
+ thumbnail: item_2.thumbnailURL ? {
335
+ alt: '',
336
+ src: item_2.thumbnailURL
337
+ } : undefined,
338
+ title: item_2.title,
339
+ children: [/*#__PURE__*/_jsxs("div", {
340
+ className: "recents-widget__meta",
341
+ children: [item_2.typeLabel, item_2.dateTime && item_2.dateLabel ? /*#__PURE__*/_jsxs(_Fragment, {
342
+ children: [' · ', /*#__PURE__*/_jsx("time", {
343
+ dateTime: item_2.dateTime,
344
+ children: item_2.dateLabel
345
+ })]
346
+ }) : null]
347
+ }), item_2.statusLabel ? /*#__PURE__*/_jsx("span", {
348
+ className: `recents-widget__status-pill${item_2.isDraft ? ' recents-widget__status-pill--draft' : item_2.isChanged ? ' recents-widget__status-pill--changed' : ''}`,
349
+ children: item_2.statusLabel
350
+ }) : null, activeTab === 'pinned' ? /*#__PURE__*/_jsx("button", {
351
+ "aria-label": `${labels.removePin}: ${item_2.title}`,
352
+ "aria-pressed": true,
353
+ className: "recents-widget__pin",
354
+ disabled: isSaving || isLoading,
355
+ onClick: () => void removePinnedDocument({
356
+ item: item_2
357
+ }),
358
+ type: "button",
359
+ children: /*#__PURE__*/_jsx("span", {
360
+ "aria-hidden": "true",
361
+ className: "recents-widget__pin-icon",
362
+ children: /*#__PURE__*/_jsx(PinIcon, {
363
+ isFilled: true
364
+ })
365
+ })
366
+ }) : null]
367
+ }) : pinDocumentPicker
368
+ })
369
+ }) : isLoading ? null : /*#__PURE__*/_jsxs("div", {
370
+ "aria-live": "polite",
371
+ className: "recents-widget__empty",
372
+ children: [/*#__PURE__*/_jsx("span", {
373
+ "aria-hidden": "true",
374
+ className: `recents-widget__empty-icon recents-widget__empty-icon--${activeTab}`,
375
+ children: activeTab === 'pinned' ? /*#__PURE__*/_jsx(PinIcon, {}) : /*#__PURE__*/_jsx(ClockIcon, {})
376
+ }), /*#__PURE__*/_jsxs("span", {
377
+ className: "recents-widget__empty-text",
378
+ children: [/*#__PURE__*/_jsx("span", {
379
+ className: "recents-widget__empty-title",
380
+ children: emptyMessage
381
+ }), /*#__PURE__*/_jsx("span", {
382
+ className: "recents-widget__empty-description",
383
+ children: emptyDescription
384
+ })]
385
+ })]
386
+ }), saveError && !loadError ? /*#__PURE__*/_jsx("span", {
387
+ "aria-hidden": "true",
388
+ className: "recents-widget__save-error",
389
+ children: saveError
390
+ }) : null, /*#__PURE__*/_jsx("span", {
391
+ "aria-hidden": "true",
392
+ className: "recents-widget__loading",
393
+ children: isLoading && shouldShowLoading ? /*#__PURE__*/_jsx("span", {
394
+ children: labels.loading
395
+ }) : null
396
+ })]
397
+ }), /*#__PURE__*/_jsx("span", {
398
+ "aria-live": "polite",
399
+ className: "recents-widget__status sr-only",
400
+ children: saveError || loadError || (isLoading && shouldShowLoading ? labels.loading : '')
401
+ })]
402
+ });
403
+ }
404
+ //# sourceMappingURL=index.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.client.js","names":["React","useEffect","useId","useMemo","useRef","useState","Button","CardGrid","DocumentCard","ChevronIcon","ClockIcon","DocumentIcon","PinIcon","useAuth","useConfig","useEntityVisibility","useServerFunctions","useTranslation","WidgetCard","PinDocumentPicker","updatePinnedPreferences","documentKey","RecentsAndPinnedClient","excludedCollections","labels","pinsURL","permissions","user","t","config","isEntityVisible","serverFunction","pinnableCollections","collections","filter","slug","collectionSlug","read","map","canAddPin","Boolean","length","contentRef","listID","page","setPage","pageSize","setPageSize","pinnedTabRef","recentsTabRef","previousPageRef","nextPageRef","paginationFocusRef","activeTab","setActiveTab","pageResult","setPageResult","items","totalDocs","isLoading","setIsLoading","shouldShowLoading","setShouldShowLoading","isSaving","setIsSaving","saveError","setSaveError","loadError","setLoadError","refresh","setRefresh","shouldIncludePinPlaceholder","totalPages","Math","max","ceil","Number","currentPage","hasAddPinCard","isCurrent","loadingTimeout","setTimeout","name","args","limit","tab","then","result","current","lastPage","requestAnimationFrame","activeTabRef","focus","catch","finally","clearTimeout","element","observedPageSize","observer","ResizeObserver","styles","getComputedStyle","columns","gridTemplateColumns","split","rows","getPropertyValue","nextPageSize","style","setProperty","String","observe","disconnect","emptyMessage","recentsEmpty","pinnedEmpty","emptyDescription","recentsEmptyDescription","pinnedEmptyDescription","removePinnedDocument","item","previous","entry","document","shouldPin","url","value","pinnedSaveError","addSelectedPin","pinDocumentPicker","_jsx","collectionSlugs","isDisabled","isEmpty","onError","onSelect","_jsxs","className","title","role","onClick","ref","type","recents","pinned","pagination","disabled","direction","next","buttonStyle","margin","size","retry","id","ariaLabel","getItemClassName","getKey","renderItem","href","placeholder","thumbnail","thumbnailURL","alt","src","undefined","typeLabel","dateTime","dateLabel","_Fragment","statusLabel","isDraft","isChanged","removePin","isFilled","loading"],"sources":["../../../src/widgets/RecentlyViewed/index.client.tsx"],"sourcesContent":["'use client'\n\nimport React, { useEffect, useId, useMemo, useRef, useState } from 'react'\n\nimport type { DocumentsPage, DocumentsTab } from './getDocuments.js'\nimport type { PinnedItem } from './recents.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { CardGrid } from '../../elements/CardGrid/index.js'\nimport { DocumentCard } from '../../elements/DocumentCard/index.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { ClockIcon } from '../../icons/Clock/index.js'\nimport { DocumentIcon } from '../../icons/Document/index.js'\nimport { PinIcon } from '../../icons/Pin/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEntityVisibility } from '../../providers/EntityVisibility/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { WidgetCard } from '../WidgetCard/index.js'\nimport { PinDocumentPicker } from './PinDocumentPicker/index.js'\nimport { updatePinnedPreferences } from './pinnedPreferences.js'\nimport { documentKey } from './recents.js'\nimport './index.css'\n\nexport type RecentDocument = {\n dateLabel?: string\n dateTime?: string\n href: string\n isChanged?: boolean\n isDraft?: boolean\n statusLabel?: string\n thumbnailURL?: string\n title: string\n typeLabel: string\n updatedAt?: string\n viewedAt?: string\n} & PinnedItem\n\ntype Labels = {\n addPin: string\n loadError: string\n loading: string\n next: string\n pagination: string\n pinned: string\n pinnedEmpty: string\n pinnedEmptyDescription: string\n pinnedSaveError: string\n previous: string\n recents: string\n recentsEmpty: string\n recentsEmptyDescription: string\n removePin: string\n retry: string\n title: string\n}\n\nexport function RecentsAndPinnedClient({\n excludedCollections,\n labels,\n pinsURL,\n}: {\n excludedCollections?: string[]\n labels: Labels\n pinsURL: string\n}) {\n const { permissions, user } = useAuth()\n const { t } = useTranslation()\n const { config } = useConfig()\n const { isEntityVisible } = useEntityVisibility()\n const { serverFunction } = useServerFunctions()\n const pinnableCollections = useMemo(\n () =>\n config.collections\n .filter(\n ({ slug }) =>\n isEntityVisible({ collectionSlug: slug }) && permissions?.collections?.[slug]?.read,\n )\n .map(({ slug }) => slug),\n [config.collections, isEntityVisible, permissions],\n )\n const canAddPin = Boolean(user) && pinnableCollections.length > 0\n const contentRef = useRef<HTMLDivElement>(null)\n const listID = useId()\n const [page, setPage] = useState(1)\n const [pageSize, setPageSize] = useState(0)\n const pinnedTabRef = useRef<HTMLButtonElement>(null)\n const recentsTabRef = useRef<HTMLButtonElement>(null)\n const previousPageRef = useRef<HTMLButtonElement>(null)\n const nextPageRef = useRef<HTMLButtonElement>(null)\n const paginationFocusRef = useRef(false)\n const [activeTab, setActiveTab] = useState<DocumentsTab>('pinned')\n const [pageResult, setPageResult] = useState<DocumentsPage>({ items: [], page: 1, totalDocs: 0 })\n const [isLoading, setIsLoading] = useState(true)\n const [shouldShowLoading, setShouldShowLoading] = useState(false)\n const [isSaving, setIsSaving] = useState(false)\n const [saveError, setSaveError] = useState('')\n const [loadError, setLoadError] = useState('')\n const [refresh, setRefresh] = useState(0)\n const shouldIncludePinPlaceholder = activeTab === 'pinned' && canAddPin\n const totalPages = Math.max(\n 1,\n Math.ceil((pageResult.totalDocs + Number(shouldIncludePinPlaceholder)) / (pageSize || 1)),\n )\n const currentPage = pageResult.page\n const items = pageResult.items\n const hasAddPinCard =\n shouldIncludePinPlaceholder && pageResult.page === totalPages && items.length < pageSize\n\n useEffect(() => {\n if (!pageSize) {\n return\n }\n let isCurrent = true\n setIsLoading(true)\n setShouldShowLoading(false)\n setLoadError('')\n const loadingTimeout = setTimeout(() => setShouldShowLoading(true), 180)\n void (\n serverFunction({\n name: 'get-dashboard-documents',\n args: {\n excludedCollections,\n limit: pageSize,\n page,\n shouldIncludePinPlaceholder,\n tab: activeTab,\n },\n }) as Promise<DocumentsPage>\n )\n .then((result: DocumentsPage) => {\n if (!isCurrent) {\n return\n }\n setPageResult(result)\n setPage(result.page)\n setIsLoading(false)\n if (paginationFocusRef.current) {\n paginationFocusRef.current = false\n const lastPage = Math.max(\n 1,\n Math.ceil((result.totalDocs + Number(shouldIncludePinPlaceholder)) / pageSize),\n )\n requestAnimationFrame(() => {\n if (lastPage === 1) {\n const activeTabRef = activeTab === 'pinned' ? pinnedTabRef : recentsTabRef\n\n activeTabRef.current?.focus()\n } else if (result.page === 1) {\n nextPageRef.current?.focus()\n } else if (result.page === lastPage) {\n previousPageRef.current?.focus()\n }\n })\n }\n })\n .catch(() => {\n if (isCurrent) {\n setIsLoading(false)\n paginationFocusRef.current = false\n setLoadError(labels.loadError)\n }\n })\n .finally(() => clearTimeout(loadingTimeout))\n return () => {\n isCurrent = false\n clearTimeout(loadingTimeout)\n }\n }, [\n activeTab,\n excludedCollections,\n shouldIncludePinPlaceholder,\n labels.loadError,\n page,\n pageSize,\n refresh,\n serverFunction,\n ])\n\n useEffect(() => {\n const element = contentRef.current\n\n if (!element) {\n return\n }\n\n let observedPageSize = 0\n const observer = new ResizeObserver(() => {\n const styles = getComputedStyle(element)\n const columns = styles.gridTemplateColumns.split(' ').length\n const rows = Number(styles.getPropertyValue('--recents-rows'))\n const nextPageSize = columns * rows\n\n element.style.setProperty('--recents-columns', String(columns))\n\n if (nextPageSize !== observedPageSize) {\n observedPageSize = nextPageSize\n setPageSize(nextPageSize)\n setPage(1)\n }\n })\n observer.observe(element)\n\n return () => observer.disconnect()\n }, [])\n\n const emptyMessage = activeTab === 'recents' ? labels.recentsEmpty : labels.pinnedEmpty\n const emptyDescription =\n activeTab === 'recents' ? labels.recentsEmptyDescription : labels.pinnedEmptyDescription\n\n const removePinnedDocument = async ({ item }: { item: RecentDocument }) => {\n if (isSaving || activeTab !== 'pinned') {\n return\n }\n\n const previous = pageResult\n\n setPageResult((current) => ({\n ...current,\n items: current.items.filter((entry) => documentKey(entry) !== documentKey(item)),\n }))\n requestAnimationFrame(() => pinnedTabRef.current?.focus())\n setIsSaving(true)\n setSaveError('')\n\n try {\n await updatePinnedPreferences({ document: item, shouldPin: false, url: pinsURL })\n setRefresh((value) => value + 1)\n } catch {\n setPageResult(previous)\n setSaveError(labels.pinnedSaveError)\n } finally {\n setIsSaving(false)\n }\n }\n\n const addSelectedPin = async ({ document }: { document: PinnedItem }) => {\n if (isSaving) {\n return\n }\n setIsSaving(true)\n setSaveError('')\n\n try {\n await updatePinnedPreferences({ document, shouldPin: true, url: pinsURL })\n setPage(1)\n setRefresh((value) => value + 1)\n } catch {\n setSaveError(labels.pinnedSaveError)\n } finally {\n setIsSaving(false)\n requestAnimationFrame(() => pinnedTabRef.current?.focus())\n }\n }\n\n const pinDocumentPicker = canAddPin ? (\n <PinDocumentPicker\n collectionSlugs={pinnableCollections}\n isDisabled={isLoading || isSaving}\n isEmpty={pageResult.totalDocs === 0}\n labels={labels}\n onError={() => setSaveError(labels.pinnedSaveError)}\n onSelect={(args) => void addSelectedPin(args)}\n pinsURL={pinsURL}\n />\n ) : null\n\n return (\n <WidgetCard className=\"recently-viewed-widget recents-widget\" title={labels.title}>\n <div className=\"recents-widget__toolbar\">\n <div aria-label={labels.title} className=\"recents-widget__tabs\" role=\"group\">\n {(['pinned', 'recents'] as const).map((tab) => (\n <button\n aria-pressed={activeTab === tab}\n className=\"recents-widget__tab\"\n key={tab}\n onClick={() => {\n if (isSaving) {\n return\n }\n if (activeTab === tab && page === 1) {\n if (loadError) {\n setRefresh((value) => value + 1)\n }\n return\n }\n setPageResult({ items: [], page: 1, totalDocs: 0 })\n setIsLoading(true)\n setActiveTab(tab)\n setPage(1)\n }}\n ref={tab === 'pinned' ? pinnedTabRef : recentsTabRef}\n type=\"button\"\n >\n {tab === 'recents' ? labels.recents : labels.pinned}\n </button>\n ))}\n </div>\n {totalPages > 1 ? (\n <div aria-label={labels.pagination} className=\"recents-widget__pagination\" role=\"group\">\n <button\n aria-controls={listID}\n aria-disabled={isLoading || isSaving}\n aria-label={labels.previous}\n className=\"recents-widget__previous\"\n disabled={currentPage === 1}\n onClick={() => {\n if (isLoading || isSaving) {\n return\n }\n paginationFocusRef.current = true\n setPage(currentPage - 1)\n }}\n ref={previousPageRef}\n type=\"button\"\n >\n <span aria-hidden=\"true\">\n <ChevronIcon direction=\"left\" />\n </span>\n </button>\n <span aria-atomic=\"true\" aria-live=\"polite\" className=\"recents-widget__page-status\">\n {t('dashboard:widgetPageCount', { currentPage, totalPages })}\n </span>\n <button\n aria-controls={listID}\n aria-disabled={isLoading || isSaving}\n aria-label={labels.next}\n className=\"recents-widget__next\"\n disabled={currentPage === totalPages}\n onClick={() => {\n if (isLoading || isSaving) {\n return\n }\n paginationFocusRef.current = true\n setPage(currentPage + 1)\n }}\n ref={nextPageRef}\n type=\"button\"\n >\n <span aria-hidden=\"true\">\n <ChevronIcon direction=\"right\" />\n </span>\n </button>\n </div>\n ) : null}\n </div>\n <div aria-busy={isLoading} className=\"recents-widget__viewport\" ref={contentRef}>\n {loadError ? (\n <div className=\"recents-widget__error\">\n <span>{loadError}</span>\n <Button\n buttonStyle=\"secondary\"\n margin={false}\n onClick={() => {\n const activeTabRef = activeTab === 'pinned' ? pinnedTabRef : recentsTabRef\n\n activeTabRef.current?.focus()\n setRefresh((value) => value + 1)\n }}\n size=\"medium\"\n type=\"button\"\n >\n {labels.retry}\n </Button>\n </div>\n ) : items.length || (hasAddPinCard && !isLoading) ? (\n <div className=\"recents-widget__content\" id={listID}>\n <CardGrid<null | RecentDocument>\n ariaLabel={activeTab === 'pinned' ? labels.pinned : labels.recents}\n className=\"recents-widget__items recents-widget__items--grid\"\n getItemClassName={(item) =>\n item\n ? 'recents-widget__item'\n : `recents-widget__item recents-widget__item--add-pin${pageResult.totalDocs === 0 ? ' recents-widget__item--empty' : ''}`\n }\n getKey={(item) => (item ? documentKey(item) : 'add-pin')}\n items={hasAddPinCard ? [...items, null] : items}\n renderItem={(item) =>\n item ? (\n <DocumentCard\n href={item.href}\n placeholder={<DocumentIcon />}\n thumbnail={item.thumbnailURL ? { alt: '', src: item.thumbnailURL } : undefined}\n title={item.title}\n >\n <div className=\"recents-widget__meta\">\n {item.typeLabel}\n {item.dateTime && item.dateLabel ? (\n <>\n {' · '}\n <time dateTime={item.dateTime}>{item.dateLabel}</time>\n </>\n ) : null}\n </div>\n {item.statusLabel ? (\n <span\n className={`recents-widget__status-pill${item.isDraft ? ' recents-widget__status-pill--draft' : item.isChanged ? ' recents-widget__status-pill--changed' : ''}`}\n >\n {item.statusLabel}\n </span>\n ) : null}\n {activeTab === 'pinned' ? (\n <button\n aria-label={`${labels.removePin}: ${item.title}`}\n aria-pressed={true}\n className=\"recents-widget__pin\"\n disabled={isSaving || isLoading}\n onClick={() => void removePinnedDocument({ item })}\n type=\"button\"\n >\n <span aria-hidden=\"true\" className=\"recents-widget__pin-icon\">\n <PinIcon isFilled />\n </span>\n </button>\n ) : null}\n </DocumentCard>\n ) : (\n pinDocumentPicker\n )\n }\n />\n </div>\n ) : isLoading ? null : (\n <div aria-live=\"polite\" className=\"recents-widget__empty\">\n <span\n aria-hidden=\"true\"\n className={`recents-widget__empty-icon recents-widget__empty-icon--${activeTab}`}\n >\n {activeTab === 'pinned' ? <PinIcon /> : <ClockIcon />}\n </span>\n <span className=\"recents-widget__empty-text\">\n <span className=\"recents-widget__empty-title\">{emptyMessage}</span>\n <span className=\"recents-widget__empty-description\">{emptyDescription}</span>\n </span>\n </div>\n )}\n {saveError && !loadError ? (\n <span aria-hidden=\"true\" className=\"recents-widget__save-error\">\n {saveError}\n </span>\n ) : null}\n <span aria-hidden=\"true\" className=\"recents-widget__loading\">\n {isLoading && shouldShowLoading ? <span>{labels.loading}</span> : null}\n </span>\n </div>\n <span aria-live=\"polite\" className=\"recents-widget__status sr-only\">\n {saveError || loadError || (isLoading && shouldShowLoading ? labels.loading : '')}\n </span>\n </WidgetCard>\n )\n}\n"],"mappings":"AAAA;;;AAEA,OAAOA,KAAA,IAASC,SAAS,EAAEC,KAAK,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAKnE,SAASC,MAAM,QAAQ;AACvB,SAASC,QAAQ,QAAQ;AACzB,SAASC,YAAY,QAAQ;AAC7B,SAASC,WAAW,QAAQ;AAC5B,SAASC,SAAS,QAAQ;AAC1B,SAASC,YAAY,QAAQ;AAC7B,SAASC,OAAO,QAAQ;AACxB,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,UAAU,QAAQ;AAC3B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,uBAAuB,QAAQ;AACxC,SAASC,WAAW,QAAQ;AAC5B,OAAO;AAmCP,OAAO,SAASC,uBAAuB;EACrCC,mBAAmB;EACnBC,MAAM;EACNC;AAAO,CAKR;EACC,MAAM;IAAEC,WAAW;IAAEC;EAAI,CAAE,GAAGd,OAAA;EAC9B,MAAM;IAAEe;EAAC,CAAE,GAAGX,cAAA;EACd,MAAM;IAAEY;EAAM,CAAE,GAAGf,SAAA;EACnB,MAAM;IAAEgB;EAAe,CAAE,GAAGf,mBAAA;EAC5B,MAAM;IAAEgB;EAAc,CAAE,GAAGf,kBAAA;EAC3B,MAAMgB,mBAAA,GAAsB7B,OAAA,CAC1B,MACE0B,MAAA,CAAOI,WAAW,CACfC,MAAM,CACL,CAAC;IAAEC;EAAI,CAAE,KACPL,eAAA,CAAgB;IAAEM,cAAA,EAAgBD;EAAK,MAAMT,WAAA,EAAaO,WAAA,GAAcE,IAAA,CAAK,EAAEE,IAAA,EAElFC,GAAG,CAAC,CAAC;IAAEH,IAAI,EAAJA;EAAI,CAAE,KAAKA,MAAA,GACvB,CAACN,MAAA,CAAOI,WAAW,EAAEH,eAAA,EAAiBJ,WAAA,CAAY;EAEpD,MAAMa,SAAA,GAAYC,OAAA,CAAQb,IAAA,KAASK,mBAAA,CAAoBS,MAAM,GAAG;EAChE,MAAMC,UAAA,GAAatC,MAAA,CAAuB;EAC1C,MAAMuC,MAAA,GAASzC,KAAA;EACf,MAAM,CAAC0C,IAAA,EAAMC,OAAA,CAAQ,GAAGxC,QAAA,CAAS;EACjC,MAAM,CAACyC,QAAA,EAAUC,WAAA,CAAY,GAAG1C,QAAA,CAAS;EACzC,MAAM2C,YAAA,GAAe5C,MAAA,CAA0B;EAC/C,MAAM6C,aAAA,GAAgB7C,MAAA,CAA0B;EAChD,MAAM8C,eAAA,GAAkB9C,MAAA,CAA0B;EAClD,MAAM+C,WAAA,GAAc/C,MAAA,CAA0B;EAC9C,MAAMgD,kBAAA,GAAqBhD,MAAA,CAAO;EAClC,MAAM,CAACiD,SAAA,EAAWC,YAAA,CAAa,GAAGjD,QAAA,CAAuB;EACzD,MAAM,CAACkD,UAAA,EAAYC,aAAA,CAAc,GAAGnD,QAAA,CAAwB;IAAEoD,KAAA,EAAO,EAAE;IAAEb,IAAA,EAAM;IAAGc,SAAA,EAAW;EAAE;EAC/F,MAAM,CAACC,SAAA,EAAWC,YAAA,CAAa,GAAGvD,QAAA,CAAS;EAC3C,MAAM,CAACwD,iBAAA,EAAmBC,oBAAA,CAAqB,GAAGzD,QAAA,CAAS;EAC3D,MAAM,CAAC0D,QAAA,EAAUC,WAAA,CAAY,GAAG3D,QAAA,CAAS;EACzC,MAAM,CAAC4D,SAAA,EAAWC,YAAA,CAAa,GAAG7D,QAAA,CAAS;EAC3C,MAAM,CAAC8D,SAAA,EAAWC,YAAA,CAAa,GAAG/D,QAAA,CAAS;EAC3C,MAAM,CAACgE,OAAA,EAASC,UAAA,CAAW,GAAGjE,QAAA,CAAS;EACvC,MAAMkE,2BAAA,GAA8BlB,SAAA,KAAc,YAAYd,SAAA;EAC9D,MAAMiC,UAAA,GAAaC,IAAA,CAAKC,GAAG,CACzB,GACAD,IAAA,CAAKE,IAAI,CAAC,CAACpB,UAAA,CAAWG,SAAS,GAAGkB,MAAA,CAAOL,2BAAA,CAA2B,KAAMzB,QAAA,IAAY;EAExF,MAAM+B,WAAA,GAActB,UAAA,CAAWX,IAAI;EACnC,MAAMa,KAAA,GAAQF,UAAA,CAAWE,KAAK;EAC9B,MAAMqB,aAAA,GACJP,2BAAA,IAA+BhB,UAAA,CAAWX,IAAI,KAAK4B,UAAA,IAAcf,KAAA,CAAMhB,MAAM,GAAGK,QAAA;EAElF7C,SAAA,CAAU;IACR,IAAI,CAAC6C,QAAA,EAAU;MACb;IACF;IACA,IAAIiC,SAAA,GAAY;IAChBnB,YAAA,CAAa;IACbE,oBAAA,CAAqB;IACrBM,YAAA,CAAa;IACb,MAAMY,cAAA,GAAiBC,UAAA,CAAW,MAAMnB,oBAAA,CAAqB,OAAO;IACpE,KAAK/B,cACH,CAAe;MACbmD,IAAA,EAAM;MACNC,IAAA,EAAM;QACJ5D,mBAAA;QACA6D,KAAA,EAAOtC,QAAA;QACPF,IAAA;QACA2B,2BAAA;QACAc,GAAA,EAAKhC;MACP;IACF,GAECiC,IAAI,CAAEC,MAAA;MACL,IAAI,CAACR,SAAA,EAAW;QACd;MACF;MACAvB,aAAA,CAAc+B,MAAA;MACd1C,OAAA,CAAQ0C,MAAA,CAAO3C,IAAI;MACnBgB,YAAA,CAAa;MACb,IAAIR,kBAAA,CAAmBoC,OAAO,EAAE;QAC9BpC,kBAAA,CAAmBoC,OAAO,GAAG;QAC7B,MAAMC,QAAA,GAAWhB,IAAA,CAAKC,GAAG,CACvB,GACAD,IAAA,CAAKE,IAAI,CAAC,CAACY,MAAA,CAAO7B,SAAS,GAAGkB,MAAA,CAAOL,2BAAA,CAA2B,IAAKzB,QAAA;QAEvE4C,qBAAA,CAAsB;UACpB,IAAID,QAAA,KAAa,GAAG;YAClB,MAAME,YAAA,GAAetC,SAAA,KAAc,WAAWL,YAAA,GAAeC,aAAA;YAE7D0C,YAAA,CAAaH,OAAO,EAAEI,KAAA;UACxB,OAAO,IAAIL,MAAA,CAAO3C,IAAI,KAAK,GAAG;YAC5BO,WAAA,CAAYqC,OAAO,EAAEI,KAAA;UACvB,OAAO,IAAIL,MAAA,CAAO3C,IAAI,KAAK6C,QAAA,EAAU;YACnCvC,eAAA,CAAgBsC,OAAO,EAAEI,KAAA;UAC3B;QACF;MACF;IACF,GACCC,KAAK,CAAC;MACL,IAAId,SAAA,EAAW;QACbnB,YAAA,CAAa;QACbR,kBAAA,CAAmBoC,OAAO,GAAG;QAC7BpB,YAAA,CAAa5C,MAAA,CAAO2C,SAAS;MAC/B;IACF,GACC2B,OAAO,CAAC,MAAMC,YAAA,CAAaf,cAAA;IAC9B,OAAO;MACLD,SAAA,GAAY;MACZgB,YAAA,CAAaf,cAAA;IACf;EACF,GAAG,CACD3B,SAAA,EACA9B,mBAAA,EACAgD,2BAAA,EACA/C,MAAA,CAAO2C,SAAS,EAChBvB,IAAA,EACAE,QAAA,EACAuB,OAAA,EACAtC,cAAA,CACD;EAED9B,SAAA,CAAU;IACR,MAAM+F,OAAA,GAAUtD,UAAA,CAAW8C,OAAO;IAElC,IAAI,CAACQ,OAAA,EAAS;MACZ;IACF;IAEA,IAAIC,gBAAA,GAAmB;IACvB,MAAMC,QAAA,GAAW,IAAIC,cAAA,CAAe;MAClC,MAAMC,MAAA,GAASC,gBAAA,CAAiBL,OAAA;MAChC,MAAMM,OAAA,GAAUF,MAAA,CAAOG,mBAAmB,CAACC,KAAK,CAAC,KAAK/D,MAAM;MAC5D,MAAMgE,IAAA,GAAO7B,MAAA,CAAOwB,MAAA,CAAOM,gBAAgB,CAAC;MAC5C,MAAMC,YAAA,GAAeL,OAAA,GAAUG,IAAA;MAE/BT,OAAA,CAAQY,KAAK,CAACC,WAAW,CAAC,qBAAqBC,MAAA,CAAOR,OAAA;MAEtD,IAAIK,YAAA,KAAiBV,gBAAA,EAAkB;QACrCA,gBAAA,GAAmBU,YAAA;QACnB5D,WAAA,CAAY4D,YAAA;QACZ9D,OAAA,CAAQ;MACV;IACF;IACAqD,QAAA,CAASa,OAAO,CAACf,OAAA;IAEjB,OAAO,MAAME,QAAA,CAASc,UAAU;EAClC,GAAG,EAAE;EAEL,MAAMC,YAAA,GAAe5D,SAAA,KAAc,YAAY7B,MAAA,CAAO0F,YAAY,GAAG1F,MAAA,CAAO2F,WAAW;EACvF,MAAMC,gBAAA,GACJ/D,SAAA,KAAc,YAAY7B,MAAA,CAAO6F,uBAAuB,GAAG7F,MAAA,CAAO8F,sBAAsB;EAE1F,MAAMC,oBAAA,GAAuB,MAAAA,CAAO;IAAEC;EAAI,CAA4B;IACpE,IAAIzD,QAAA,IAAYV,SAAA,KAAc,UAAU;MACtC;IACF;IAEA,MAAMoE,QAAA,GAAWlE,UAAA;IAEjBC,aAAA,CAAegC,OAAA,KAAa;MAC1B,GAAGA,OAAO;MACV/B,KAAA,EAAO+B,OAAA,CAAQ/B,KAAK,CAACvB,MAAM,CAAEwF,KAAA,IAAUrG,WAAA,CAAYqG,KAAA,MAAWrG,WAAA,CAAYmG,IAAA;IAC5E;IACA9B,qBAAA,CAAsB,MAAM1C,YAAA,CAAawC,OAAO,EAAEI,KAAA;IAClD5B,WAAA,CAAY;IACZE,YAAA,CAAa;IAEb,IAAI;MACF,MAAM9C,uBAAA,CAAwB;QAAEuG,QAAA,EAAUH,IAAA;QAAMI,SAAA,EAAW;QAAOC,GAAA,EAAKpG;MAAQ;MAC/E6C,UAAA,CAAYwD,KAAA,IAAUA,KAAA,GAAQ;IAChC,EAAE,MAAM;MACNtE,aAAA,CAAciE,QAAA;MACdvD,YAAA,CAAa1C,MAAA,CAAOuG,eAAe;IACrC,UAAU;MACR/D,WAAA,CAAY;IACd;EACF;EAEA,MAAMgE,cAAA,GAAiB,MAAAA,CAAO;IAAEL;EAAQ,CAA4B;IAClE,IAAI5D,QAAA,EAAU;MACZ;IACF;IACAC,WAAA,CAAY;IACZE,YAAA,CAAa;IAEb,IAAI;MACF,MAAM9C,uBAAA,CAAwB;QAAEuG,QAAA;QAAUC,SAAA,EAAW;QAAMC,GAAA,EAAKpG;MAAQ;MACxEoB,OAAA,CAAQ;MACRyB,UAAA,CAAYwD,OAAA,IAAUA,OAAA,GAAQ;IAChC,EAAE,MAAM;MACN5D,YAAA,CAAa1C,MAAA,CAAOuG,eAAe;IACrC,UAAU;MACR/D,WAAA,CAAY;MACZ0B,qBAAA,CAAsB,MAAM1C,YAAA,CAAawC,OAAO,EAAEI,KAAA;IACpD;EACF;EAEA,MAAMqC,iBAAA,GAAoB1F,SAAA,gBACxB2F,IAAA,CAAC/G,iBAAA;IACCgH,eAAA,EAAiBnG,mBAAA;IACjBoG,UAAA,EAAYzE,SAAA,IAAaI,QAAA;IACzBsE,OAAA,EAAS9E,UAAA,CAAWG,SAAS,KAAK;IAClClC,MAAA,EAAQA,MAAA;IACR8G,OAAA,EAASA,CAAA,KAAMpE,YAAA,CAAa1C,MAAA,CAAOuG,eAAe;IAClDQ,QAAA,EAAWpD,IAAA,IAAS,KAAK6C,cAAA,CAAe7C,IAAA;IACxC1D,OAAA,EAASA;OAET;EAEJ,oBACE+G,KAAA,CAACtH,UAAA;IAAWuH,SAAA,EAAU;IAAwCC,KAAA,EAAOlH,MAAA,CAAOkH,KAAK;4BAC/EF,KAAA,CAAC;MAAIC,SAAA,EAAU;8BACbP,IAAA,CAAC;QAAI,cAAY1G,MAAA,CAAOkH,KAAK;QAAED,SAAA,EAAU;QAAuBE,IAAA,EAAK;kBAClE,CAAE,UAAU,UAAU,CAAWrG,GAAG,CAAE+C,GAAA,iBACrC6C,IAAA,CAAC;UACC,gBAAc7E,SAAA,KAAcgC,GAAA;UAC5BoD,SAAA,EAAU;UAEVG,OAAA,EAASA,CAAA;YACP,IAAI7E,QAAA,EAAU;cACZ;YACF;YACA,IAAIV,SAAA,KAAcgC,GAAA,IAAOzC,IAAA,KAAS,GAAG;cACnC,IAAIuB,SAAA,EAAW;gBACbG,UAAA,CAAYwD,OAAA,IAAUA,OAAA,GAAQ;cAChC;cACA;YACF;YACAtE,aAAA,CAAc;cAAEC,KAAA,EAAO,EAAE;cAAEb,IAAA,EAAM;cAAGc,SAAA,EAAW;YAAE;YACjDE,YAAA,CAAa;YACbN,YAAA,CAAa+B,GAAA;YACbxC,OAAA,CAAQ;UACV;UACAgG,GAAA,EAAKxD,GAAA,KAAQ,WAAWrC,YAAA,GAAeC,aAAA;UACvC6F,IAAA,EAAK;oBAEJzD,GAAA,KAAQ,YAAY7D,MAAA,CAAOuH,OAAO,GAAGvH,MAAA,CAAOwH;WAnBxC3D,GAAA;UAuBVb,UAAA,GAAa,iBACZgE,KAAA,CAAC;QAAI,cAAYhH,MAAA,CAAOyH,UAAU;QAAER,SAAA,EAAU;QAA6BE,IAAA,EAAK;gCAC9ET,IAAA,CAAC;UACC,iBAAevF,MAAA;UACf,iBAAegB,SAAA,IAAaI,QAAA;UAC5B,cAAYvC,MAAA,CAAOiG,QAAQ;UAC3BgB,SAAA,EAAU;UACVS,QAAA,EAAUrE,WAAA,KAAgB;UAC1B+D,OAAA,EAASA,CAAA;YACP,IAAIjF,SAAA,IAAaI,QAAA,EAAU;cACzB;YACF;YACAX,kBAAA,CAAmBoC,OAAO,GAAG;YAC7B3C,OAAA,CAAQgC,WAAA,GAAc;UACxB;UACAgE,GAAA,EAAK3F,eAAA;UACL4F,IAAA,EAAK;oBAEL,aAAAZ,IAAA,CAAC;YAAK,eAAY;sBAChB,aAAAA,IAAA,CAACzH,WAAA;cAAY0I,SAAA,EAAU;;;yBAG3BjB,IAAA,CAAC;UAAK,eAAY;UAAO,aAAU;UAASO,SAAA,EAAU;oBACnD7G,CAAA,CAAE,6BAA6B;YAAEiD,WAAA;YAAaL;UAAW;yBAE5D0D,IAAA,CAAC;UACC,iBAAevF,MAAA;UACf,iBAAegB,SAAA,IAAaI,QAAA;UAC5B,cAAYvC,MAAA,CAAO4H,IAAI;UACvBX,SAAA,EAAU;UACVS,QAAA,EAAUrE,WAAA,KAAgBL,UAAA;UAC1BoE,OAAA,EAASA,CAAA;YACP,IAAIjF,SAAA,IAAaI,QAAA,EAAU;cACzB;YACF;YACAX,kBAAA,CAAmBoC,OAAO,GAAG;YAC7B3C,OAAA,CAAQgC,WAAA,GAAc;UACxB;UACAgE,GAAA,EAAK1F,WAAA;UACL2F,IAAA,EAAK;oBAEL,aAAAZ,IAAA,CAAC;YAAK,eAAY;sBAChB,aAAAA,IAAA,CAACzH,WAAA;cAAY0I,SAAA,EAAU;;;;WAI3B;qBAENX,KAAA,CAAC;MAAI,aAAW7E,SAAA;MAAW8E,SAAA,EAAU;MAA2BI,GAAA,EAAKnG,UAAA;iBAClEyB,SAAA,gBACCqE,KAAA,CAAC;QAAIC,SAAA,EAAU;gCACbP,IAAA,CAAC;oBAAM/D;yBACP+D,IAAA,CAAC5H,MAAA;UACC+I,WAAA,EAAY;UACZC,MAAA,EAAQ;UACRV,OAAA,EAASA,CAAA;YACP,MAAMjD,cAAA,GAAetC,SAAA,KAAc,WAAWL,YAAA,GAAeC,aAAA;YAE7D0C,cAAA,CAAaH,OAAO,EAAEI,KAAA;YACtBtB,UAAA,CAAYwD,OAAA,IAAUA,OAAA,GAAQ;UAChC;UACAyB,IAAA,EAAK;UACLT,IAAA,EAAK;oBAEJtH,MAAA,CAAOgI;;WAGV/F,KAAA,CAAMhB,MAAM,IAAKqC,aAAA,IAAiB,CAACnB,SAAA,gBACrCuE,IAAA,CAAC;QAAIO,SAAA,EAAU;QAA0BgB,EAAA,EAAI9G,MAAA;kBAC3C,aAAAuF,IAAA,CAAC3H,QAAA;UACCmJ,SAAA,EAAWrG,SAAA,KAAc,WAAW7B,MAAA,CAAOwH,MAAM,GAAGxH,MAAA,CAAOuH,OAAO;UAClEN,SAAA,EAAU;UACVkB,gBAAA,EAAmBnC,MAAA,IACjBA,MAAA,GACI,yBACA,qDAAqDjE,UAAA,CAAWG,SAAS,KAAK,IAAI,iCAAiC,IAAI;UAE7HkG,MAAA,EAASpC,MAAA,IAAUA,MAAA,GAAOnG,WAAA,CAAYmG,MAAA,IAAQ;UAC9C/D,KAAA,EAAOqB,aAAA,GAAgB,C,GAAIrB,KAAA,EAAO,KAAK,GAAGA,KAAA;UAC1CoG,UAAA,EAAarC,MAAA,IACXA,MAAA,gBACEgB,KAAA,CAAChI,YAAA;YACCsJ,IAAA,EAAMtC,MAAA,CAAKsC,IAAI;YACfC,WAAA,eAAa7B,IAAA,CAACvH,YAAA;YACdqJ,SAAA,EAAWxC,MAAA,CAAKyC,YAAY,GAAG;cAAEC,GAAA,EAAK;cAAIC,GAAA,EAAK3C,MAAA,CAAKyC;YAAa,IAAIG,SAAA;YACrE1B,KAAA,EAAOlB,MAAA,CAAKkB,KAAK;oCAEjBF,KAAA,CAAC;cAAIC,SAAA,EAAU;yBACZjB,MAAA,CAAK6C,SAAS,EACd7C,MAAA,CAAK8C,QAAQ,IAAI9C,MAAA,CAAK+C,SAAS,gBAC9B/B,KAAA,CAAAgC,SAAA;2BACG,O,aACDtC,IAAA,CAAC;kBAAKoC,QAAA,EAAU9C,MAAA,CAAK8C,QAAQ;4BAAG9C,MAAA,CAAK+C;;mBAErC;gBAEL/C,MAAA,CAAKiD,WAAW,gBACfvC,IAAA,CAAC;cACCO,SAAA,EAAW,8BAA8BjB,MAAA,CAAKkD,OAAO,GAAG,wCAAwClD,MAAA,CAAKmD,SAAS,GAAG,0CAA0C,IAAI;wBAE9JnD,MAAA,CAAKiD;iBAEN,MACHpH,SAAA,KAAc,wBACb6E,IAAA,CAAC;cACC,cAAY,GAAG1G,MAAA,CAAOoJ,SAAS,KAAKpD,MAAA,CAAKkB,KAAK,EAAE;cAChD,gBAAc;cACdD,SAAA,EAAU;cACVS,QAAA,EAAUnF,QAAA,IAAYJ,SAAA;cACtBiF,OAAA,EAASA,CAAA,KAAM,KAAKrB,oBAAA,CAAqB;gBAAEC,IAAA,EAAAA;cAAK;cAChDsB,IAAA,EAAK;wBAEL,aAAAZ,IAAA,CAAC;gBAAK,eAAY;gBAAOO,SAAA,EAAU;0BACjC,aAAAP,IAAA,CAACtH,OAAA;kBAAQiK,QAAQ;;;iBAGnB;eAGN5C;;WAKNtE,SAAA,GAAY,oBACd6E,KAAA,CAAC;QAAI,aAAU;QAASC,SAAA,EAAU;gCAChCP,IAAA,CAAC;UACC,eAAY;UACZO,SAAA,EAAW,0DAA0DpF,SAAA,EAAW;oBAE/EA,SAAA,KAAc,wBAAW6E,IAAA,CAACtH,OAAA,qBAAasH,IAAA,CAACxH,SAAA;yBAE3C8H,KAAA,CAAC;UAAKC,SAAA,EAAU;kCACdP,IAAA,CAAC;YAAKO,SAAA,EAAU;sBAA+BxB;2BAC/CiB,IAAA,CAAC;YAAKO,SAAA,EAAU;sBAAqCrB;;;UAI1DnD,SAAA,IAAa,CAACE,SAAA,gBACb+D,IAAA,CAAC;QAAK,eAAY;QAAOO,SAAA,EAAU;kBAChCxE;WAED,M,aACJiE,IAAA,CAAC;QAAK,eAAY;QAAOO,SAAA,EAAU;kBAChC9E,SAAA,IAAaE,iBAAA,gBAAoBqE,IAAA,CAAC;oBAAM1G,MAAA,CAAOsJ;aAAkB;;qBAGtE5C,IAAA,CAAC;MAAK,aAAU;MAASO,SAAA,EAAU;gBAChCxE,SAAA,IAAaE,SAAA,KAAcR,SAAA,IAAaE,iBAAA,GAAoBrC,MAAA,CAAOsJ,OAAO,GAAG,EAAC;;;AAIvF","ignoreList":[]}