@payloadcms/ui 4.0.0-canary.2 → 4.0.0-canary.21

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 (1317) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/css/app.css +121 -0
  3. package/dist/css/colors.css +6 -0
  4. package/dist/css/design-tokens.css +5 -0
  5. package/dist/css/elevations.css +4 -0
  6. package/dist/css/forms.css +6 -9
  7. package/dist/css/spacing.css +11 -3
  8. package/dist/css/theme.css +2 -1
  9. package/dist/css/utilities.css +3 -2
  10. package/dist/css/z-index.css +10 -0
  11. package/dist/elements/APIKeyInput/index.css +4 -4
  12. package/dist/elements/AddNewRelation/index.css +27 -28
  13. package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -1
  14. package/dist/elements/AppHeader/index.css +2 -18
  15. package/dist/elements/AppHeader/index.d.ts +4 -2
  16. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  17. package/dist/elements/AppHeader/index.js +18 -9
  18. package/dist/elements/AppHeader/index.js.map +1 -1
  19. package/dist/elements/ArrayAction/index.d.ts +2 -0
  20. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  21. package/dist/elements/ArrayAction/index.js +65 -24
  22. package/dist/elements/ArrayAction/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/ActionsBar/index.css +4 -8
  24. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +1 -5
  25. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  26. package/dist/elements/BulkUpload/ActionsBar/index.js +15 -22
  27. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/AddFilesView/index.css +14 -8
  29. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -2
  30. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  31. package/dist/elements/BulkUpload/AddFilesView/index.js +41 -36
  32. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  33. package/dist/elements/BulkUpload/AddingFilesView/index.css +158 -6
  34. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +5 -1
  35. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  36. package/dist/elements/BulkUpload/AddingFilesView/index.js +134 -65
  37. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  38. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
  39. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  40. package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
  41. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  42. package/dist/elements/BulkUpload/EditForm/index.js +16 -17
  43. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  44. package/dist/elements/BulkUpload/EditForm/types.d.ts +2 -3
  45. package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -1
  46. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  47. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  48. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +80 -66
  49. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  50. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  51. package/dist/elements/BulkUpload/EditMany/index.js +28 -10
  52. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  53. package/dist/elements/BulkUpload/FileSidebar/index.css +66 -142
  54. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  55. package/dist/elements/BulkUpload/FileSidebar/index.js +42 -175
  56. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  57. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +2 -2
  58. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
  59. package/dist/elements/BulkUpload/FormsManager/createFormData.js +4 -15
  60. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  61. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  62. package/dist/elements/BulkUpload/FormsManager/index.js +15 -2
  63. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  64. package/dist/elements/BulkUpload/index.css +48 -0
  65. package/dist/elements/BulkUpload/index.d.ts +6 -5
  66. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  67. package/dist/elements/BulkUpload/index.js +42 -41
  68. package/dist/elements/BulkUpload/index.js.map +1 -1
  69. package/dist/elements/Button/index.d.ts.map +1 -1
  70. package/dist/elements/Button/index.js +5 -0
  71. package/dist/elements/Button/index.js.map +1 -1
  72. package/dist/elements/Card/index.css +1 -1
  73. package/dist/elements/ClipboardAction/ClipboardActionLabel.d.ts.map +1 -1
  74. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts +8 -1
  75. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts.map +1 -1
  76. package/dist/elements/ClipboardAction/clipboardUtilities.js +40 -8
  77. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  78. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +120 -0
  79. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +1 -0
  80. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  81. package/dist/elements/ClipboardAction/index.js +18 -1
  82. package/dist/elements/ClipboardAction/index.js.map +1 -1
  83. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +144 -0
  84. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +1 -0
  85. package/dist/elements/ClipboardAction/types.d.ts +3 -0
  86. package/dist/elements/ClipboardAction/types.d.ts.map +1 -1
  87. package/dist/elements/ClipboardAction/types.js.map +1 -1
  88. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts +10 -0
  89. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts.map +1 -0
  90. package/dist/elements/ClipboardAction/useCanPasteClipboard.js +21 -0
  91. package/dist/elements/ClipboardAction/useCanPasteClipboard.js.map +1 -0
  92. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  93. package/dist/elements/CodeEditor/index.css +5 -5
  94. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  95. package/dist/elements/Collapsible/index.js +2 -0
  96. package/dist/elements/Collapsible/index.js.map +1 -1
  97. package/dist/elements/ColumnSelection/Popup.d.ts +12 -0
  98. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -0
  99. package/dist/elements/{ColumnSelector/index.js → ColumnSelection/Popup.js} +28 -13
  100. package/dist/elements/ColumnSelection/Popup.js.map +1 -0
  101. package/dist/elements/ColumnSelection/index.d.ts +10 -0
  102. package/dist/elements/ColumnSelection/index.d.ts.map +1 -0
  103. package/dist/elements/{ColumnsButton → ColumnSelection}/index.js +23 -17
  104. package/dist/elements/ColumnSelection/index.js.map +1 -0
  105. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts +10 -0
  106. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts.map +1 -0
  107. package/dist/elements/ColumnSelection/matchesColumnSearch.js +21 -0
  108. package/dist/elements/ColumnSelection/matchesColumnSearch.js.map +1 -0
  109. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js +87 -0
  110. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +1 -0
  111. package/dist/elements/CommandPalette/index.css +0 -7
  112. package/dist/elements/CopyLocaleData/index.js +1 -1
  113. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  114. package/dist/elements/CopyToClipboard/index.d.ts +1 -0
  115. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  116. package/dist/elements/CopyToClipboard/index.js +10 -8
  117. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  118. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  119. package/dist/elements/CreateDocumentButton/index.js +4 -2
  120. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  121. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  122. package/dist/elements/DatePicker/DatePicker.js +1 -0
  123. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  124. package/dist/elements/DatePicker/getFormattedLocale.d.ts.map +1 -1
  125. package/dist/elements/DatePicker/index.css +10 -10
  126. package/dist/elements/DatePicker/index.js +1 -1
  127. package/dist/elements/DatePicker/index.js.map +1 -1
  128. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  129. package/dist/elements/DeleteDocument/index.js +16 -1
  130. package/dist/elements/DeleteDocument/index.js.map +1 -1
  131. package/dist/elements/Dialog/DialogHeader/index.d.ts +4 -0
  132. package/dist/elements/Dialog/DialogHeader/index.d.ts.map +1 -1
  133. package/dist/elements/Dialog/DialogHeader/index.js +45 -30
  134. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
  135. package/dist/elements/Dialog/DialogModal/index.d.ts +5 -0
  136. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  137. package/dist/elements/Dialog/DialogModal/index.js +58 -31
  138. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  139. package/dist/elements/Dialog/DialogTitle/index.css +9 -0
  140. package/dist/elements/Dialog/DialogTitle/index.d.ts +5 -0
  141. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -0
  142. package/dist/elements/Dialog/DialogTitle/index.js +10 -0
  143. package/dist/elements/Dialog/DialogTitle/index.js.map +1 -0
  144. package/dist/elements/Dialog/index.css +7 -1
  145. package/dist/elements/DocumentControls/index.css +7 -3
  146. package/dist/elements/DocumentControls/index.d.ts +2 -2
  147. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  148. package/dist/elements/DocumentControls/index.js +13 -3
  149. package/dist/elements/DocumentControls/index.js.map +1 -1
  150. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +2 -2
  151. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  152. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +5 -3
  153. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  154. package/dist/elements/DocumentFields/index.css +14 -2
  155. package/dist/elements/DocumentFields/index.d.ts +5 -0
  156. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  157. package/dist/elements/DocumentFields/index.js +9 -1
  158. package/dist/elements/DocumentFields/index.js.map +1 -1
  159. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts +12 -0
  160. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts.map +1 -0
  161. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +28 -0
  162. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -0
  163. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  164. package/dist/elements/DocumentHeader/index.js +2 -3
  165. package/dist/elements/DocumentHeader/index.js.map +1 -1
  166. package/dist/elements/DocumentLocked/index.d.ts +2 -2
  167. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  168. package/dist/elements/DocumentLocked/index.js.map +1 -1
  169. package/dist/elements/DraggableSortable/DragOverlayPreview/index.css +1 -1
  170. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  171. package/dist/elements/Drawer/index.d.ts.map +1 -1
  172. package/dist/elements/Drawer/index.js +1 -0
  173. package/dist/elements/Drawer/index.js.map +1 -1
  174. package/dist/elements/Drawer/useDrawerSlug.d.ts.map +1 -1
  175. package/dist/elements/DrawerActionHeader/index.css +1 -1
  176. package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
  177. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.css +7 -1
  178. package/dist/elements/DrawerHeader/index.d.ts +10 -0
  179. package/dist/elements/DrawerHeader/index.d.ts.map +1 -0
  180. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.js +16 -11
  181. package/dist/elements/DrawerHeader/index.js.map +1 -0
  182. package/dist/elements/Dropzone/index.css +5 -13
  183. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +1 -1
  184. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  185. package/dist/elements/EditMany/DrawerContent.js +2 -2
  186. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  187. package/dist/elements/EditUpload/index.css +97 -158
  188. package/dist/elements/EditUpload/index.d.ts +2 -1
  189. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  190. package/dist/elements/EditUpload/index.js +209 -231
  191. package/dist/elements/EditUpload/index.js.map +1 -1
  192. package/dist/elements/EditUpload/{library.scss → library.css} +108 -46
  193. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  194. package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
  195. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  196. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
  197. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
  198. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  199. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  200. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  201. package/dist/elements/FileDetails/FileMeta/index.css +27 -0
  202. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  203. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  204. package/dist/elements/FileDetails/FileMeta/index.js +1 -1
  205. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  206. package/dist/elements/FileDetails/StaticFileDetails/index.css +139 -0
  207. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +2 -2
  208. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  209. package/dist/elements/FileDetails/StaticFileDetails/index.js +1 -1
  210. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  211. package/dist/elements/FileDetails/index.d.ts +1 -1
  212. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  213. package/dist/elements/FileDetails/index.js.map +1 -1
  214. package/dist/elements/FileManager/FilePreview/AudioPreview/index.css +8 -0
  215. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts +10 -0
  216. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts.map +1 -0
  217. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js +24 -0
  218. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js.map +1 -0
  219. package/dist/elements/FileManager/FilePreview/PdfPreview/index.css +9 -0
  220. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts +12 -0
  221. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts.map +1 -0
  222. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js +27 -0
  223. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js.map +1 -0
  224. package/dist/elements/FileManager/FilePreview/VideoPreview/index.css +8 -0
  225. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts +10 -0
  226. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts.map +1 -0
  227. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js +24 -0
  228. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js.map +1 -0
  229. package/dist/elements/FileManager/FilePreview/index.css +83 -0
  230. package/dist/elements/FileManager/FilePreview/index.d.ts +13 -0
  231. package/dist/elements/FileManager/FilePreview/index.d.ts.map +1 -0
  232. package/dist/elements/FileManager/FilePreview/index.js +140 -0
  233. package/dist/elements/FileManager/FilePreview/index.js.map +1 -0
  234. package/dist/elements/FileManager/FileToolbar/index.css +91 -0
  235. package/dist/elements/FileManager/FileToolbar/index.d.ts +14 -0
  236. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -0
  237. package/dist/elements/FileManager/FileToolbar/index.js +109 -0
  238. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -0
  239. package/dist/elements/FileManager/index.css +167 -0
  240. package/dist/elements/FileManager/index.d.ts +19 -0
  241. package/dist/elements/FileManager/index.d.ts.map +1 -0
  242. package/dist/elements/FileManager/index.js +435 -0
  243. package/dist/elements/FileManager/index.js.map +1 -0
  244. package/dist/elements/GroupBy/Popup.d.ts +21 -0
  245. package/dist/elements/GroupBy/Popup.d.ts.map +1 -0
  246. package/dist/elements/GroupBy/Popup.js +268 -0
  247. package/dist/elements/GroupBy/Popup.js.map +1 -0
  248. package/dist/elements/GroupBy/index.d.ts +12 -0
  249. package/dist/elements/GroupBy/index.d.ts.map +1 -0
  250. package/dist/elements/GroupBy/index.js +91 -0
  251. package/dist/elements/GroupBy/index.js.map +1 -0
  252. package/dist/elements/HTMLDiff/diff/index.d.ts.map +1 -1
  253. package/dist/elements/HTMLDiff/index.d.ts.map +1 -1
  254. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +5 -3
  255. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +1 -1
  256. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  257. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +1 -1
  258. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  259. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  260. package/dist/elements/Hierarchy/DocHeaderButton/index.js +12 -12
  261. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  262. package/dist/elements/Hierarchy/Field/index.client.js +14 -14
  263. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  264. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -0
  265. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -0
  266. package/dist/elements/Hierarchy/Modal/index.css +88 -0
  267. package/dist/elements/Hierarchy/Modal/index.d.ts +20 -0
  268. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -0
  269. package/dist/elements/Hierarchy/{Drawer → Modal}/index.js +105 -81
  270. package/dist/elements/Hierarchy/Modal/index.js.map +1 -0
  271. package/dist/elements/Hierarchy/{Drawer → Modal}/types.d.ts +22 -18
  272. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -0
  273. package/dist/elements/Hierarchy/Modal/types.js.map +1 -0
  274. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts +30 -0
  275. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -0
  276. package/dist/elements/Hierarchy/{Drawer/useHierarchyDrawer.js → Modal/useHierarchyModal.js} +51 -50
  277. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -0
  278. package/dist/elements/Hierarchy/MoveMany/index.d.ts +2 -2
  279. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  280. package/dist/elements/Hierarchy/MoveMany/index.js +9 -9
  281. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  282. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  283. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  284. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +109 -89
  285. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  286. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  287. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +2 -0
  288. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  289. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +1 -1
  290. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  291. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +38 -14
  292. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  293. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +37 -31
  294. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  295. package/dist/elements/Hierarchy/Tree/index.css +1 -1
  296. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  297. package/dist/elements/Hierarchy/Tree/index.js +18 -5
  298. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  299. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  300. package/dist/elements/InputStepper/index.css +0 -1
  301. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  302. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  303. package/dist/elements/ListColumnSelectionButton/index.d.ts +11 -0
  304. package/dist/elements/ListColumnSelectionButton/index.d.ts.map +1 -0
  305. package/dist/elements/ListColumnSelectionButton/index.js +37 -0
  306. package/dist/elements/ListColumnSelectionButton/index.js.map +1 -0
  307. package/dist/elements/ListControls/index.d.ts.map +1 -1
  308. package/dist/elements/ListControls/index.js +8 -9
  309. package/dist/elements/ListControls/index.js.map +1 -1
  310. package/dist/elements/ListDrawer/DrawerContent.js +1 -1
  311. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  312. package/dist/elements/ListDrawer/Provider.d.ts +1 -1
  313. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  314. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  315. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  316. package/dist/elements/ListGroupByButton/index.d.ts +12 -0
  317. package/dist/elements/ListGroupByButton/index.d.ts.map +1 -0
  318. package/dist/elements/ListGroupByButton/index.js +55 -0
  319. package/dist/elements/ListGroupByButton/index.js.map +1 -0
  320. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  321. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +2 -0
  322. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  323. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +4 -4
  324. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  325. package/dist/elements/ListWhereBuilder/index.d.ts +16 -0
  326. package/dist/elements/ListWhereBuilder/index.d.ts.map +1 -0
  327. package/dist/elements/ListWhereBuilder/index.js +62 -0
  328. package/dist/elements/ListWhereBuilder/index.js.map +1 -0
  329. package/dist/elements/LivePreview/Toolbar/Controls/index.js +2 -2
  330. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  331. package/dist/elements/LivePreview/Toolbar/SizeInput/index.css +5 -44
  332. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  333. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +26 -43
  334. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  335. package/dist/elements/LivePreview/Window/index.css +6 -0
  336. package/dist/elements/LoadingOverlay/reducer.d.ts.map +1 -1
  337. package/dist/elements/Locked/index.css +0 -5
  338. package/dist/elements/Locked/index.d.ts +2 -2
  339. package/dist/elements/Locked/index.d.ts.map +1 -1
  340. package/dist/elements/Locked/index.js +38 -19
  341. package/dist/elements/Locked/index.js.map +1 -1
  342. package/dist/elements/MiniCarousel/index.css +96 -0
  343. package/dist/elements/MiniCarousel/index.d.ts +15 -0
  344. package/dist/elements/MiniCarousel/index.d.ts.map +1 -0
  345. package/dist/elements/MiniCarousel/index.js +84 -0
  346. package/dist/elements/MiniCarousel/index.js.map +1 -0
  347. package/dist/elements/Nav/SettingsMenuButton/index.css +5 -0
  348. package/dist/elements/Nav/SettingsMenuButton/index.d.ts +1 -1
  349. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  350. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -1
  351. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  352. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  353. package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
  354. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  355. package/dist/elements/Nav/SidebarTabs/index.css +0 -5
  356. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
  357. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
  358. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
  359. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
  360. package/dist/elements/Nav/index.css +2 -7
  361. package/dist/elements/NavGroup/index.css +1 -2
  362. package/dist/elements/Pagination/index.css +5 -0
  363. package/dist/elements/Pagination/index.d.ts.map +1 -1
  364. package/dist/elements/Pagination/index.js +21 -21
  365. package/dist/elements/Pagination/index.js.map +1 -1
  366. package/dist/elements/Popup/PopupButtonList/index.css +5 -0
  367. package/dist/elements/Popup/PopupGroupLabel/index.css +8 -5
  368. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  369. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  370. package/dist/elements/Popup/PopupTrigger/index.js +3 -0
  371. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  372. package/dist/elements/Popup/index.d.ts +7 -1
  373. package/dist/elements/Popup/index.d.ts.map +1 -1
  374. package/dist/elements/Popup/index.js +45 -12
  375. package/dist/elements/Popup/index.js.map +1 -1
  376. package/dist/elements/PreviewButton/index.d.ts +1 -2
  377. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  378. package/dist/elements/PreviewButton/index.js +11 -5
  379. package/dist/elements/PreviewButton/index.js.map +1 -1
  380. package/dist/elements/PreviewSizes/index.css +148 -0
  381. package/dist/elements/PreviewSizes/index.d.ts +2 -2
  382. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  383. package/dist/elements/PreviewSizes/index.js +1 -1
  384. package/dist/elements/PreviewSizes/index.js.map +1 -1
  385. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  386. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -1
  387. package/dist/elements/PublishMany/DrawerContent.d.ts +2 -1
  388. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  389. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  390. package/dist/elements/PublishMany/index.d.ts +2 -6
  391. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  392. package/dist/elements/PublishMany/index.js +0 -38
  393. package/dist/elements/PublishMany/index.js.map +1 -1
  394. package/dist/elements/QueryPresets/cells/ColumnsCell/{index.scss → index.css} +1 -3
  395. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +1 -1
  396. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +1 -1
  397. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +1 -1
  398. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  399. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +1 -1
  400. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  401. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +77 -48
  402. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  403. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +1 -1
  404. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
  405. package/dist/elements/QueryPresets/fields/GroupByField/index.js +12 -21
  406. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  407. package/dist/elements/QueryPresets/fields/Heading/index.css +52 -0
  408. package/dist/elements/QueryPresets/fields/Heading/index.d.ts +7 -0
  409. package/dist/elements/QueryPresets/fields/Heading/index.d.ts.map +1 -0
  410. package/dist/elements/QueryPresets/fields/Heading/index.js +31 -0
  411. package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -0
  412. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +1 -1
  413. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  414. package/dist/elements/QueryPresets/fields/WhereField/index.js +24 -23
  415. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  416. package/dist/elements/QueryPresets/fields/fields.css +23 -0
  417. package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
  418. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts +7 -0
  419. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -0
  420. package/dist/elements/ReactSelect/DefaultMenuPortal.js +120 -0
  421. package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -0
  422. package/dist/elements/ReactSelect/DropdownIndicator/index.css +1 -1
  423. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  424. package/dist/elements/ReactSelect/DropdownIndicator/index.js +19 -12
  425. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  426. package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
  427. package/dist/elements/ReactSelect/MultiValueLabel/index.css +2 -2
  428. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts +5 -0
  429. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -0
  430. package/dist/elements/ReactSelect/getCaptureMenuScroll.js +10 -0
  431. package/dist/elements/ReactSelect/getCaptureMenuScroll.js.map +1 -0
  432. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +6 -0
  433. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -0
  434. package/dist/elements/ReactSelect/getMenuListStyles.js +15 -0
  435. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -0
  436. package/dist/elements/ReactSelect/getMenuStyles.d.ts +10 -0
  437. package/dist/elements/ReactSelect/getMenuStyles.d.ts.map +1 -0
  438. package/dist/elements/ReactSelect/getMenuStyles.js +21 -0
  439. package/dist/elements/ReactSelect/getMenuStyles.js.map +1 -0
  440. package/dist/elements/ReactSelect/index.css +10 -7
  441. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  442. package/dist/elements/ReactSelect/index.js +120 -177
  443. package/dist/elements/ReactSelect/index.js.map +1 -1
  444. package/dist/elements/ReactSelect/types.d.ts +3 -2
  445. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  446. package/dist/elements/ReactSelect/types.js.map +1 -1
  447. package/dist/elements/RelationshipTable/AddNewButton.d.ts +2 -2
  448. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  449. package/dist/elements/RelationshipTable/AddNewButton.js +1 -2
  450. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  451. package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
  452. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
  453. package/dist/elements/RelationshipTable/Pagination.js +27 -77
  454. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  455. package/dist/elements/RelationshipTable/index.css +1 -4
  456. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  457. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  458. package/dist/elements/RelationshipTable/index.js +38 -5
  459. package/dist/elements/RelationshipTable/index.js.map +1 -1
  460. package/dist/elements/RenderServerComponent/clientOnly.d.ts +8 -0
  461. package/dist/elements/RenderServerComponent/clientOnly.d.ts.map +1 -0
  462. package/dist/elements/RenderServerComponent/clientOnly.js +56 -0
  463. package/dist/elements/RenderServerComponent/clientOnly.js.map +1 -0
  464. package/dist/elements/RenderTitle/index.css +4 -0
  465. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  466. package/dist/elements/RenderTitle/index.js +18 -13
  467. package/dist/elements/RenderTitle/index.js.map +1 -1
  468. package/dist/elements/Search/ListSearchFilter/index.d.ts.map +1 -1
  469. package/dist/elements/Search/ListSearchFilter/index.js +1 -0
  470. package/dist/elements/Search/ListSearchFilter/index.js.map +1 -1
  471. package/dist/elements/Search/SearchInput/index.d.ts +2 -0
  472. package/dist/elements/Search/SearchInput/index.d.ts.map +1 -1
  473. package/dist/elements/Search/SearchInput/index.js +22 -19
  474. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  475. package/dist/elements/SelectAll/index.css +3 -1
  476. package/dist/elements/SelectRow/index.d.ts +5 -4
  477. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  478. package/dist/elements/SelectRow/index.js +10 -7
  479. package/dist/elements/SelectRow/index.js.map +1 -1
  480. package/dist/elements/SidebarRow/index.css +0 -2
  481. package/dist/elements/SidebarToggle/index.css +0 -17
  482. package/dist/elements/SortColumn/index.css +1 -1
  483. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  484. package/dist/elements/SortColumn/index.js +42 -38
  485. package/dist/elements/SortColumn/index.js.map +1 -1
  486. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  487. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +32 -13
  488. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  489. package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -1
  490. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  491. package/dist/elements/Table/OrderableRow.d.ts +3 -1
  492. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  493. package/dist/elements/Table/OrderableRow.js +17 -1
  494. package/dist/elements/Table/OrderableRow.js.map +1 -1
  495. package/dist/elements/Table/OrderableRowDragPreview.d.ts.map +1 -1
  496. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  497. package/dist/elements/Table/OrderableTable.js +19 -2
  498. package/dist/elements/Table/OrderableTable.js.map +1 -1
  499. package/dist/elements/Table/index.css +50 -4
  500. package/dist/elements/TableSection/index.css +0 -1
  501. package/dist/elements/Tabs/index.d.ts.map +1 -1
  502. package/dist/elements/Thumbnail/createThumbnail.d.ts.map +1 -1
  503. package/dist/elements/Thumbnail/index.css +41 -0
  504. package/dist/elements/Thumbnail/index.d.ts +4 -4
  505. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  506. package/dist/elements/Thumbnail/index.js +1 -1
  507. package/dist/elements/Thumbnail/index.js.map +1 -1
  508. package/dist/elements/TimezonePicker/index.css +1 -1
  509. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  510. package/dist/elements/TimezonePicker/index.js +5 -1
  511. package/dist/elements/TimezonePicker/index.js.map +1 -1
  512. package/dist/elements/Toasts/fieldErrors.d.ts +1 -0
  513. package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
  514. package/dist/elements/Toasts/fieldErrors.js +25 -9
  515. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  516. package/dist/elements/Toasts/index.css +5 -0
  517. package/dist/elements/Tooltip/index.css +15 -34
  518. package/dist/elements/Tooltip/index.d.ts +11 -3
  519. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  520. package/dist/elements/Tooltip/index.js +151 -85
  521. package/dist/elements/Tooltip/index.js.map +1 -1
  522. package/dist/elements/UnpublishMany/DrawerContent.d.ts +2 -1
  523. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  524. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  525. package/dist/elements/UnpublishMany/index.d.ts +2 -4
  526. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  527. package/dist/elements/UnpublishMany/index.js +0 -38
  528. package/dist/elements/UnpublishMany/index.js.map +1 -1
  529. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +11 -0
  530. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -0
  531. package/dist/elements/Upload/UploadFromURLModal/index.js +88 -0
  532. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -0
  533. package/dist/elements/Upload/index.css +134 -50
  534. package/dist/elements/Upload/index.d.ts +3 -8
  535. package/dist/elements/Upload/index.d.ts.map +1 -1
  536. package/dist/elements/Upload/index.js +71 -92
  537. package/dist/elements/Upload/index.js.map +1 -1
  538. package/dist/elements/UserMenu/LanguageMenu/index.js +1 -1
  539. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  540. package/dist/elements/UserMenu/SettingsMenu/index.d.ts +6 -2
  541. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
  542. package/dist/elements/UserMenu/SettingsMenu/index.js +15 -10
  543. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  544. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -1
  545. package/dist/elements/UserMenu/SubMenuHeader/index.js +8 -9
  546. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -1
  547. package/dist/elements/UserMenu/ThemeMenu/index.js +1 -1
  548. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  549. package/dist/elements/UserMenu/index.css +26 -1
  550. package/dist/elements/UserMenu/index.d.ts +3 -1
  551. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  552. package/dist/elements/UserMenu/index.js +10 -6
  553. package/dist/elements/UserMenu/index.js.map +1 -1
  554. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.d.ts.map +1 -1
  555. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.d.ts.map +1 -1
  556. package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
  557. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  558. package/dist/elements/WhereBuilder/Condition/index.js +17 -2
  559. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  560. package/dist/elements/WhereBuilder/Condition/validOperators.d.ts.map +1 -1
  561. package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
  562. package/dist/elements/WhereBuilder/index.d.ts +4 -3
  563. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  564. package/dist/elements/WhereBuilder/index.js +71 -62
  565. package/dist/elements/WhereBuilder/index.js.map +1 -1
  566. package/dist/elements/WhereBuilder/types.d.ts +6 -5
  567. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  568. package/dist/elements/WhereBuilder/types.js.map +1 -1
  569. package/dist/exports/client/index.d.ts +15 -6
  570. package/dist/exports/client/index.d.ts.map +1 -1
  571. package/dist/exports/client/index.js +1 -86
  572. package/dist/exports/client/index.js.map +4 -4
  573. package/dist/exports/layouts.d.ts +1 -0
  574. package/dist/exports/layouts.d.ts.map +1 -1
  575. package/dist/exports/layouts.js +1 -0
  576. package/dist/exports/layouts.js.map +1 -1
  577. package/dist/exports/rsc/index.d.ts +3 -0
  578. package/dist/exports/rsc/index.d.ts.map +1 -1
  579. package/dist/exports/rsc/index.js +3 -0
  580. package/dist/exports/rsc/index.js.map +1 -1
  581. package/dist/exports/server.d.ts +3 -0
  582. package/dist/exports/server.d.ts.map +1 -0
  583. package/dist/exports/server.js +2 -0
  584. package/dist/exports/server.js.map +1 -0
  585. package/dist/exports/shared/index.d.ts +1 -0
  586. package/dist/exports/shared/index.d.ts.map +1 -1
  587. package/dist/exports/shared/index.js +2 -2
  588. package/dist/exports/shared/index.js.map +4 -4
  589. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  590. package/dist/fields/Array/ArrayRow.js +97 -160
  591. package/dist/fields/Array/ArrayRow.js.map +1 -1
  592. package/dist/fields/Array/index.d.ts +1 -1
  593. package/dist/fields/Array/index.d.ts.map +1 -1
  594. package/dist/fields/Array/index.js +7 -4
  595. package/dist/fields/Array/index.js.map +1 -1
  596. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  597. package/dist/fields/Blocks/BlockRow.js +134 -195
  598. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  599. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +1 -1
  600. package/dist/fields/Blocks/BlockSelector/index.css +2 -5
  601. package/dist/fields/Blocks/RowActions.d.ts +2 -0
  602. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  603. package/dist/fields/Blocks/RowActions.js +23 -20
  604. package/dist/fields/Blocks/RowActions.js.map +1 -1
  605. package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  606. package/dist/fields/Blocks/SectionTitle/index.js +1 -0
  607. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  608. package/dist/fields/Blocks/index.d.ts +1 -1
  609. package/dist/fields/Blocks/index.d.ts.map +1 -1
  610. package/dist/fields/Blocks/index.js +9 -6
  611. package/dist/fields/Blocks/index.js.map +1 -1
  612. package/dist/fields/Checkbox/Input.d.ts +2 -0
  613. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  614. package/dist/fields/Checkbox/Input.js +32 -26
  615. package/dist/fields/Checkbox/Input.js.map +1 -1
  616. package/dist/fields/Checkbox/index.css +39 -75
  617. package/dist/fields/Checkbox/index.d.ts +1 -1
  618. package/dist/fields/Code/index.css +1 -1
  619. package/dist/fields/Code/index.d.ts +2 -2
  620. package/dist/fields/Collapsible/index.d.ts +1 -1
  621. package/dist/fields/ConfirmPassword/index.d.ts +4 -0
  622. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  623. package/dist/fields/ConfirmPassword/index.js +37 -33
  624. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  625. package/dist/fields/DateTime/index.d.ts +1 -1
  626. package/dist/fields/Email/index.d.ts +1 -1
  627. package/dist/fields/FieldError/index.css +0 -9
  628. package/dist/fields/FieldError/index.d.ts.map +1 -1
  629. package/dist/fields/FieldError/index.js +19 -9
  630. package/dist/fields/FieldError/index.js.map +1 -1
  631. package/dist/fields/Group/index.css +4 -10
  632. package/dist/fields/Group/index.d.ts +2 -2
  633. package/dist/fields/JSON/index.d.ts +1 -1
  634. package/dist/fields/Join/index.css +9 -0
  635. package/dist/fields/Join/index.d.ts +1 -1
  636. package/dist/fields/Join/index.d.ts.map +1 -1
  637. package/dist/fields/Join/index.js +13 -9
  638. package/dist/fields/Join/index.js.map +1 -1
  639. package/dist/fields/Number/Input.d.ts.map +1 -1
  640. package/dist/fields/Number/Input.js +62 -46
  641. package/dist/fields/Number/Input.js.map +1 -1
  642. package/dist/fields/Number/index.css +19 -0
  643. package/dist/fields/Number/index.d.ts +1 -1
  644. package/dist/fields/Number/types.d.ts +10 -0
  645. package/dist/fields/Number/types.d.ts.map +1 -1
  646. package/dist/fields/Number/types.js.map +1 -1
  647. package/dist/fields/Password/input.d.ts.map +1 -1
  648. package/dist/fields/Password/input.js +33 -29
  649. package/dist/fields/Password/input.js.map +1 -1
  650. package/dist/fields/Password/types.d.ts +7 -3
  651. package/dist/fields/Password/types.d.ts.map +1 -1
  652. package/dist/fields/Password/types.js.map +1 -1
  653. package/dist/fields/Point/index.d.ts +1 -1
  654. package/dist/fields/RadioGroup/index.css +4 -5
  655. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  656. package/dist/fields/Relationship/Input.js +36 -14
  657. package/dist/fields/Relationship/Input.js.map +1 -1
  658. package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
  659. package/dist/fields/Relationship/index.d.ts +1 -1
  660. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  661. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +2 -2
  662. package/dist/fields/Relationship/types.d.ts +4 -0
  663. package/dist/fields/Relationship/types.d.ts.map +1 -1
  664. package/dist/fields/Relationship/types.js.map +1 -1
  665. package/dist/fields/Row/index.d.ts +1 -1
  666. package/dist/fields/Select/Input.d.ts +4 -0
  667. package/dist/fields/Select/Input.d.ts.map +1 -1
  668. package/dist/fields/Select/Input.js +45 -40
  669. package/dist/fields/Select/Input.js.map +1 -1
  670. package/dist/fields/Select/index.d.ts +1 -1
  671. package/dist/fields/Select/index.d.ts.map +1 -1
  672. package/dist/fields/Slug/index.css +0 -1
  673. package/dist/fields/Slug/index.d.ts +7 -5
  674. package/dist/fields/Slug/index.d.ts.map +1 -1
  675. package/dist/fields/Slug/index.js +79 -113
  676. package/dist/fields/Slug/index.js.map +1 -1
  677. package/dist/fields/Tabs/index.d.ts +1 -1
  678. package/dist/fields/Text/Input.d.ts.map +1 -1
  679. package/dist/fields/Text/Input.js +44 -37
  680. package/dist/fields/Text/Input.js.map +1 -1
  681. package/dist/fields/Text/index.d.ts +1 -1
  682. package/dist/fields/Text/types.d.ts +11 -2
  683. package/dist/fields/Text/types.d.ts.map +1 -1
  684. package/dist/fields/Text/types.js.map +1 -1
  685. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  686. package/dist/fields/Textarea/Input.js +27 -23
  687. package/dist/fields/Textarea/Input.js.map +1 -1
  688. package/dist/fields/Textarea/index.css +1 -1
  689. package/dist/fields/Textarea/index.d.ts +1 -1
  690. package/dist/fields/Textarea/types.d.ts +4 -0
  691. package/dist/fields/Textarea/types.d.ts.map +1 -1
  692. package/dist/fields/Textarea/types.js.map +1 -1
  693. package/dist/fields/Upload/Input.d.ts.map +1 -1
  694. package/dist/fields/Upload/Input.js +12 -11
  695. package/dist/fields/Upload/Input.js.map +1 -1
  696. package/dist/fields/Upload/index.css +19 -4
  697. package/dist/fields/Upload/index.js +1 -1
  698. package/dist/fields/Upload/index.js.map +1 -1
  699. package/dist/fields/index.d.ts.map +1 -1
  700. package/dist/fields/index.js +2 -0
  701. package/dist/fields/index.js.map +1 -1
  702. package/dist/fields/mergeFieldStyles.d.ts +1 -1
  703. package/dist/fields/mergeFieldStyles.d.ts.map +1 -1
  704. package/dist/forms/Form/context.d.ts.map +1 -1
  705. package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -1
  706. package/dist/forms/Form/errorMessages.d.ts.map +1 -1
  707. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  708. package/dist/forms/Form/fieldReducer.js +3 -1
  709. package/dist/forms/Form/fieldReducer.js.map +1 -1
  710. package/dist/forms/Form/index.d.ts.map +1 -1
  711. package/dist/forms/Form/index.js +12 -15
  712. package/dist/forms/Form/index.js.map +1 -1
  713. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  714. package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -1
  715. package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
  716. package/dist/forms/Form/rows.d.ts.map +1 -1
  717. package/dist/forms/Form/types.d.ts +3 -3
  718. package/dist/forms/Form/types.d.ts.map +1 -1
  719. package/dist/forms/Form/types.js.map +1 -1
  720. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  721. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  722. package/dist/forms/RenderFields/RenderField.js +10 -0
  723. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  724. package/dist/forms/RenderFields/index.css +17 -3
  725. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  726. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  727. package/dist/forms/WatchChildErrors/index.js +2 -2
  728. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  729. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
  730. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  731. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +22 -6
  732. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  733. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +2 -2
  734. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  735. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  736. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +2 -2
  737. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  738. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  739. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +2 -2
  740. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  741. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  742. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
  743. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  744. package/dist/forms/fieldSchemasToFormState/index.js +2 -0
  745. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  746. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
  747. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  748. package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
  749. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  750. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  751. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
  752. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  753. package/dist/forms/useField/index.d.ts.map +1 -1
  754. package/dist/forms/withCondition/index.d.ts +1 -1
  755. package/dist/forms/withCondition/index.d.ts.map +1 -1
  756. package/dist/graphics/Icon/index.js +1 -1
  757. package/dist/graphics/Icon/index.js.map +1 -1
  758. package/dist/hooks/useDebouncedCallback.d.ts.map +1 -1
  759. package/dist/hooks/useDelay.d.ts.map +1 -1
  760. package/dist/hooks/useElementHeightVariable.d.ts +15 -0
  761. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -0
  762. package/dist/hooks/useElementHeightVariable.js +53 -0
  763. package/dist/hooks/useElementHeightVariable.js.map +1 -0
  764. package/dist/hooks/useHotkey.d.ts.map +1 -1
  765. package/dist/hooks/useIntersect.d.ts.map +1 -1
  766. package/dist/hooks/usePopupWindow.d.ts +1 -1
  767. package/dist/hooks/usePopupWindow.d.ts.map +1 -1
  768. package/dist/hooks/useRelatedCollections.d.ts.map +1 -1
  769. package/dist/hooks/useResize.d.ts.map +1 -1
  770. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  771. package/dist/icons/Check/index.css +1 -2
  772. package/dist/icons/Check/index.js +1 -1
  773. package/dist/icons/Check/index.js.map +1 -1
  774. package/dist/icons/Crop/index.css +5 -0
  775. package/dist/icons/Crop/index.d.ts +7 -0
  776. package/dist/icons/Crop/index.d.ts.map +1 -0
  777. package/dist/icons/Crop/index.js +24 -0
  778. package/dist/icons/Crop/index.js.map +1 -0
  779. package/dist/icons/Download/index.css +5 -0
  780. package/dist/icons/{ExternalLink → Download}/index.d.ts +1 -1
  781. package/dist/icons/Download/index.d.ts.map +1 -0
  782. package/dist/icons/Download/index.js +27 -0
  783. package/dist/icons/Download/index.js.map +1 -0
  784. package/dist/icons/{ExternalLink → NewTab}/index.css +1 -1
  785. package/dist/icons/NewTab/index.d.ts +7 -0
  786. package/dist/icons/NewTab/index.d.ts.map +1 -0
  787. package/dist/icons/NewTab/index.js +25 -0
  788. package/dist/icons/NewTab/index.js.map +1 -0
  789. package/dist/icons/Replace/index.css +5 -0
  790. package/dist/icons/Replace/index.d.ts +6 -0
  791. package/dist/icons/Replace/index.d.ts.map +1 -0
  792. package/dist/icons/Replace/index.js +20 -0
  793. package/dist/icons/Replace/index.js.map +1 -0
  794. package/dist/icons/Reset/index.css +5 -0
  795. package/dist/icons/Reset/index.d.ts +7 -0
  796. package/dist/icons/Reset/index.d.ts.map +1 -0
  797. package/dist/icons/Reset/index.js +25 -0
  798. package/dist/icons/Reset/index.js.map +1 -0
  799. package/dist/icons/Swap/index.js +1 -1
  800. package/dist/icons/Swap/index.js.map +1 -1
  801. package/dist/icons/Warning/index.css +1 -7
  802. package/dist/icons/Warning/index.d.ts +1 -1
  803. package/dist/icons/Warning/index.d.ts.map +1 -1
  804. package/dist/icons/Warning/index.js +11 -16
  805. package/dist/icons/Warning/index.js.map +1 -1
  806. package/dist/layouts/Root/index.d.ts +1 -1
  807. package/dist/layouts/Root/index.d.ts.map +1 -1
  808. package/dist/layouts/Root/index.js +15 -5
  809. package/dist/layouts/Root/index.js.map +1 -1
  810. package/dist/layouts/Root/index.spec.js +20 -0
  811. package/dist/layouts/Root/index.spec.js.map +1 -0
  812. package/dist/layouts/Root/viewport.d.ts +5 -0
  813. package/dist/layouts/Root/viewport.d.ts.map +1 -0
  814. package/dist/layouts/Root/viewport.js +17 -0
  815. package/dist/layouts/Root/viewport.js.map +1 -0
  816. package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
  817. package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
  818. package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
  819. package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
  820. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
  821. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
  822. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
  823. package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
  824. package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
  825. package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
  826. package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
  827. package/dist/providers/Auth/authSessionRequests.js +119 -0
  828. package/dist/providers/Auth/authSessionRequests.js.map +1 -0
  829. package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
  830. package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
  831. package/dist/providers/Auth/index.d.ts +5 -59
  832. package/dist/providers/Auth/index.d.ts.map +1 -1
  833. package/dist/providers/Auth/index.js +283 -135
  834. package/dist/providers/Auth/index.js.map +1 -1
  835. package/dist/providers/Auth/sessionActivity.d.ts +23 -0
  836. package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
  837. package/dist/providers/Auth/sessionActivity.js +49 -0
  838. package/dist/providers/Auth/sessionActivity.js.map +1 -0
  839. package/dist/providers/Auth/sessionActivity.spec.js +44 -0
  840. package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
  841. package/dist/providers/Auth/sessionTiming.d.ts +11 -0
  842. package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
  843. package/dist/providers/Auth/sessionTiming.js +18 -0
  844. package/dist/providers/Auth/sessionTiming.js.map +1 -0
  845. package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
  846. package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
  847. package/dist/providers/Auth/tabSessionSync/index.js +263 -0
  848. package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
  849. package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
  850. package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
  851. package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
  852. package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
  853. package/dist/providers/Auth/tabSessionSync/types.js +6 -0
  854. package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
  855. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
  856. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
  857. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
  858. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
  859. package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
  860. package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
  861. package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
  862. package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
  863. package/dist/providers/Auth/types.d.ts +66 -0
  864. package/dist/providers/Auth/types.d.ts.map +1 -0
  865. package/dist/providers/Auth/types.js +2 -0
  866. package/dist/providers/Auth/types.js.map +1 -0
  867. package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
  868. package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
  869. package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
  870. package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
  871. package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
  872. package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
  873. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  874. package/dist/providers/DocumentInfo/index.js.map +1 -1
  875. package/dist/providers/DocumentInfo/types.d.ts +6 -6
  876. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  877. package/dist/providers/DocumentInfo/types.js.map +1 -1
  878. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
  879. package/dist/providers/DocumentTitle/index.d.ts +1 -0
  880. package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
  881. package/dist/providers/DocumentTitle/index.js +2 -0
  882. package/dist/providers/DocumentTitle/index.js.map +1 -1
  883. package/dist/providers/Embed/index.d.ts +24 -0
  884. package/dist/providers/Embed/index.d.ts.map +1 -0
  885. package/dist/providers/Embed/index.js +105 -0
  886. package/dist/providers/Embed/index.js.map +1 -0
  887. package/dist/providers/FormErrorHandler/index.d.ts +24 -0
  888. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
  889. package/dist/providers/FormErrorHandler/index.js +6 -0
  890. package/dist/providers/FormErrorHandler/index.js.map +1 -0
  891. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  892. package/dist/providers/ListQuery/index.js +8 -1
  893. package/dist/providers/ListQuery/index.js.map +1 -1
  894. package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
  895. package/dist/providers/ListQuery/sanitizeQuery.d.ts.map +1 -1
  896. package/dist/providers/LivePreview/sizeReducer.d.ts +1 -1
  897. package/dist/providers/LivePreview/sizeReducer.d.ts.map +1 -1
  898. package/dist/providers/Root/index.d.ts +3 -2
  899. package/dist/providers/Root/index.d.ts.map +1 -1
  900. package/dist/providers/Root/index.js +37 -31
  901. package/dist/providers/Root/index.js.map +1 -1
  902. package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
  903. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  904. package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
  905. package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
  906. package/dist/providers/RouteTransition/index.d.ts +2 -0
  907. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  908. package/dist/providers/RouteTransition/index.js +42 -14
  909. package/dist/providers/RouteTransition/index.js.map +1 -1
  910. package/dist/providers/SidebarTabs/index.d.ts +3 -2
  911. package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
  912. package/dist/providers/SidebarTabs/index.js.map +1 -1
  913. package/dist/providers/TableColumns/buildColumnState/filterFields.d.ts.map +1 -1
  914. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.d.ts.map +1 -1
  915. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts.map +1 -1
  916. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  917. package/dist/providers/TableColumns/buildColumnState/index.js +1 -1
  918. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  919. package/dist/providers/TableColumns/buildColumnState/index.spec.js +40 -0
  920. package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +1 -0
  921. package/dist/providers/TableColumns/getInitialColumns.d.ts +1 -1
  922. package/dist/providers/TableColumns/getInitialColumns.d.ts.map +1 -1
  923. package/dist/providers/Theme/index.d.ts +5 -2
  924. package/dist/providers/Theme/index.d.ts.map +1 -1
  925. package/dist/providers/Theme/index.js +109 -96
  926. package/dist/providers/Theme/index.js.map +1 -1
  927. package/dist/providers/Theme/shared.d.ts +3 -0
  928. package/dist/providers/Theme/shared.d.ts.map +1 -0
  929. package/dist/providers/Theme/shared.js +2 -0
  930. package/dist/providers/Theme/shared.js.map +1 -0
  931. package/dist/providers/ToastContainer/index.css +208 -0
  932. package/dist/providers/ToastContainer/index.d.ts +1 -0
  933. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  934. package/dist/providers/ToastContainer/index.js +19 -6
  935. package/dist/providers/ToastContainer/index.js.map +1 -1
  936. package/dist/providers/UploadEdits/index.d.ts.map +1 -1
  937. package/dist/providers/UploadHandlers/index.d.ts +2 -7
  938. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  939. package/dist/providers/UploadHandlers/index.js +102 -42
  940. package/dist/providers/UploadHandlers/index.js.map +1 -1
  941. package/dist/styles.css +1382 -1
  942. package/dist/templates/Default/index.d.ts.map +1 -1
  943. package/dist/templates/Default/index.js +58 -10
  944. package/dist/templates/Default/index.js.map +1 -1
  945. package/dist/utilities/api.d.ts.map +1 -1
  946. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
  947. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
  948. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  949. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  950. package/dist/utilities/buildFormState.d.ts +2 -2
  951. package/dist/utilities/buildFormState.d.ts.map +1 -1
  952. package/dist/utilities/buildFormState.js +1 -0
  953. package/dist/utilities/buildFormState.js.map +1 -1
  954. package/dist/utilities/checkDependencies.d.ts.map +1 -1
  955. package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
  956. package/dist/utilities/combineFieldLabel.js +5 -1
  957. package/dist/utilities/combineFieldLabel.js.map +1 -1
  958. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  959. package/dist/utilities/copyDataFromLocale.js +1 -0
  960. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  961. package/dist/utilities/filterOutUploadFields.d.ts.map +1 -1
  962. package/dist/utilities/findLocaleFromCode.d.ts.map +1 -1
  963. package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
  964. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  965. package/dist/utilities/formatDocTitle/formatRelationshipTitle.d.ts.map +1 -1
  966. package/dist/utilities/formatDocTitle/index.d.ts +1 -1
  967. package/dist/utilities/formatDocTitle/index.d.ts.map +1 -1
  968. package/dist/utilities/formatDocTitle/index.js +1 -1
  969. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  970. package/dist/utilities/formatFields.d.ts.map +1 -1
  971. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  972. package/dist/utilities/formatRelativeDate.d.ts +15 -0
  973. package/dist/utilities/formatRelativeDate.d.ts.map +1 -0
  974. package/dist/utilities/formatRelativeDate.js +62 -0
  975. package/dist/utilities/formatRelativeDate.js.map +1 -0
  976. package/dist/utilities/generateFieldID.d.ts +1 -1
  977. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  978. package/dist/utilities/generateFieldID.js +2 -2
  979. package/dist/utilities/generateFieldID.js.map +1 -1
  980. package/dist/utilities/getColumns.d.ts.map +1 -1
  981. package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
  982. package/dist/utilities/getDocPreferences.d.ts +2 -2
  983. package/dist/utilities/getDocPreferences.d.ts.map +1 -1
  984. package/dist/utilities/getDocPreferences.js.map +1 -1
  985. package/dist/utilities/getDocumentData.d.ts +2 -2
  986. package/dist/utilities/getDocumentData.d.ts.map +1 -1
  987. package/dist/utilities/getDocumentData.js.map +1 -1
  988. package/dist/utilities/getDocumentPermissions.d.ts.map +1 -1
  989. package/dist/utilities/getGlobalData.d.ts +2 -2
  990. package/dist/utilities/getGlobalData.d.ts.map +1 -1
  991. package/dist/utilities/getGlobalData.js.map +1 -1
  992. package/dist/utilities/getHasScheduledPublish.d.ts +2 -2
  993. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  994. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  995. package/dist/utilities/getIsLocked.d.ts +2 -2
  996. package/dist/utilities/getIsLocked.d.ts.map +1 -1
  997. package/dist/utilities/getIsLocked.js.map +1 -1
  998. package/dist/utilities/getLanguageDir.d.ts +12 -0
  999. package/dist/utilities/getLanguageDir.d.ts.map +1 -0
  1000. package/dist/utilities/getLanguageDir.js +12 -0
  1001. package/dist/utilities/getLanguageDir.js.map +1 -0
  1002. package/dist/utilities/getOffsetTop.d.ts.map +1 -1
  1003. package/dist/utilities/getRequestEmbed.d.ts +14 -0
  1004. package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
  1005. package/dist/utilities/getRequestEmbed.js +10 -0
  1006. package/dist/utilities/getRequestEmbed.js.map +1 -0
  1007. package/dist/utilities/getRequestHighContrast.d.ts.map +1 -1
  1008. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  1009. package/dist/utilities/getRequestTheme.d.ts +1 -1
  1010. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  1011. package/dist/utilities/getRequestTheme.js +1 -1
  1012. package/dist/utilities/getRequestTheme.js.map +1 -1
  1013. package/dist/utilities/getRouteWithoutAdmin.d.ts.map +1 -1
  1014. package/dist/utilities/getSupportedMonacoLocale.d.ts.map +1 -1
  1015. package/dist/utilities/getVersions.d.ts +2 -2
  1016. package/dist/utilities/getVersions.d.ts.map +1 -1
  1017. package/dist/utilities/getVersions.js.map +1 -1
  1018. package/dist/utilities/handleAuthRedirect.d.ts +2 -2
  1019. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  1020. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  1021. package/dist/utilities/handleBackToDashboard.d.ts.map +1 -1
  1022. package/dist/utilities/handleFormStateLocking.d.ts +2 -2
  1023. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  1024. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  1025. package/dist/utilities/handleGoBack.d.ts.map +1 -1
  1026. package/dist/utilities/handleLivePreview.d.ts +1 -0
  1027. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  1028. package/dist/utilities/handlePreview.d.ts.map +1 -1
  1029. package/dist/utilities/handleServerFunctions.d.ts +32 -8
  1030. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  1031. package/dist/utilities/handleServerFunctions.js +17 -37
  1032. package/dist/utilities/handleServerFunctions.js.map +1 -1
  1033. package/dist/utilities/handleStaleDataCheck.d.ts.map +1 -1
  1034. package/dist/utilities/handleTakeOver.d.ts +5 -5
  1035. package/dist/utilities/handleTakeOver.d.ts.map +1 -1
  1036. package/dist/utilities/handleTakeOver.js.map +1 -1
  1037. package/dist/utilities/hasOptionLabelJSXElement.d.ts.map +1 -1
  1038. package/dist/utilities/hasSavePermission.d.ts.map +1 -1
  1039. package/dist/utilities/initReq.d.ts.map +1 -1
  1040. package/dist/utilities/isClientUserObject.d.ts +2 -2
  1041. package/dist/utilities/isClientUserObject.d.ts.map +1 -1
  1042. package/dist/utilities/isClientUserObject.js.map +1 -1
  1043. package/dist/utilities/isCustomAdminView.d.ts.map +1 -1
  1044. package/dist/utilities/isEditing.d.ts.map +1 -1
  1045. package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
  1046. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
  1047. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  1048. package/dist/utilities/isURLAllowed.js +9 -3
  1049. package/dist/utilities/isURLAllowed.js.map +1 -1
  1050. package/dist/utilities/recentlyViewed.d.ts +16 -0
  1051. package/dist/utilities/recentlyViewed.d.ts.map +1 -0
  1052. package/dist/utilities/recentlyViewed.js +21 -0
  1053. package/dist/utilities/recentlyViewed.js.map +1 -0
  1054. package/dist/utilities/recentlyViewed.spec.js +92 -0
  1055. package/dist/utilities/recentlyViewed.spec.js.map +1 -0
  1056. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
  1057. package/dist/utilities/reduceFieldsToOptions.js +1 -1
  1058. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  1059. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  1060. package/dist/utilities/renderTable.d.ts +2 -2
  1061. package/dist/utilities/renderTable.d.ts.map +1 -1
  1062. package/dist/utilities/renderTable.js +18 -2
  1063. package/dist/utilities/renderTable.js.map +1 -1
  1064. package/dist/utilities/resolveFilterOptions.d.ts +1 -1
  1065. package/dist/utilities/resolveFilterOptions.d.ts.map +1 -1
  1066. package/dist/utilities/sanitizeFilterOptionsQuery.d.ts.map +1 -1
  1067. package/dist/utilities/scrollToID.d.ts.map +1 -1
  1068. package/dist/utilities/selectiveCache.d.ts.map +1 -1
  1069. package/dist/utilities/serverFunctionRegistry.d.ts +18 -0
  1070. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -0
  1071. package/dist/utilities/serverFunctionRegistry.js +43 -0
  1072. package/dist/utilities/serverFunctionRegistry.js.map +1 -0
  1073. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  1074. package/dist/utilities/slugify.d.ts +1 -1
  1075. package/dist/utilities/slugify.d.ts.map +1 -1
  1076. package/dist/utilities/slugify.js +50 -7
  1077. package/dist/utilities/slugify.js.map +1 -1
  1078. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  1079. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  1080. package/dist/views/API/index.client.js +2 -2
  1081. package/dist/views/API/index.client.js.map +1 -1
  1082. package/dist/views/Account/ResetPreferences/index.d.ts +2 -2
  1083. package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -1
  1084. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  1085. package/dist/views/Account/Settings/index.d.ts +2 -2
  1086. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  1087. package/dist/views/Account/Settings/index.js.map +1 -1
  1088. package/dist/views/CollectionTrash/generateCollectionTrashMetadata.d.ts.map +1 -1
  1089. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
  1090. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +27 -23
  1091. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  1092. package/dist/views/Dashboard/Default/ModularDashboard/index.css +2 -8
  1093. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +5 -5
  1094. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  1095. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
  1096. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  1097. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +2 -2
  1098. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -1
  1099. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -1
  1100. package/dist/views/Dashboard/Default/index.d.ts +2 -2
  1101. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  1102. package/dist/views/Dashboard/Default/index.js.map +1 -1
  1103. package/dist/views/Document/getCustomDocumentViewByKey.d.ts +1 -1
  1104. package/dist/views/Document/getCustomDocumentViewByKey.d.ts.map +1 -1
  1105. package/dist/views/Document/getCustomViewByRoute.d.ts +1 -1
  1106. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  1107. package/dist/views/Document/getDocumentView.d.ts.map +1 -1
  1108. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  1109. package/dist/views/Document/index.d.ts +1 -1
  1110. package/dist/views/Document/index.d.ts.map +1 -1
  1111. package/dist/views/Document/index.js +18 -1
  1112. package/dist/views/Document/index.js.map +1 -1
  1113. package/dist/views/Document/recordRecentlyViewed.d.ts +12 -0
  1114. package/dist/views/Document/recordRecentlyViewed.d.ts.map +1 -0
  1115. package/dist/views/Document/recordRecentlyViewed.js +40 -0
  1116. package/dist/views/Document/recordRecentlyViewed.js.map +1 -0
  1117. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  1118. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  1119. package/dist/views/Document/renderDocumentSlots.js +47 -1
  1120. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  1121. package/dist/views/Edit/index.css +151 -6
  1122. package/dist/views/Edit/index.d.ts +1 -1
  1123. package/dist/views/Edit/index.d.ts.map +1 -1
  1124. package/dist/views/Edit/index.js +34 -31
  1125. package/dist/views/Edit/index.js.map +1 -1
  1126. package/dist/views/HierarchyList/DocumentListSelection/index.js +4 -4
  1127. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  1128. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +2 -2
  1129. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +2 -2
  1130. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  1131. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  1132. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +2 -2
  1133. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
  1134. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
  1135. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -1
  1136. package/dist/views/HierarchyList/TypeFilter/index.js +3 -0
  1137. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
  1138. package/dist/views/HierarchyList/index.css +1 -1
  1139. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  1140. package/dist/views/HierarchyList/index.js +2 -6
  1141. package/dist/views/HierarchyList/index.js.map +1 -1
  1142. package/dist/views/List/ListHeader/index.css +5 -0
  1143. package/dist/views/List/ListSelection/index.js +4 -4
  1144. package/dist/views/List/ListSelection/index.js.map +1 -1
  1145. package/dist/views/List/createSerializableValue.d.ts.map +1 -1
  1146. package/dist/views/List/extractRelationshipDisplayValue.d.ts.map +1 -1
  1147. package/dist/views/List/extractValueOrRelationshipID.d.ts.map +1 -1
  1148. package/dist/views/List/generateListViewMetadata.d.ts.map +1 -1
  1149. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  1150. package/dist/views/List/handleHierarchy.d.ts +1 -1
  1151. package/dist/views/List/handleHierarchy.d.ts.map +1 -1
  1152. package/dist/views/List/index.client.d.ts.map +1 -1
  1153. package/dist/views/List/index.client.js +6 -6
  1154. package/dist/views/List/index.client.js.map +1 -1
  1155. package/dist/views/List/index.css +1 -1
  1156. package/dist/views/List/index.d.ts.map +1 -1
  1157. package/dist/views/List/index.js +4 -0
  1158. package/dist/views/List/index.js.map +1 -1
  1159. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  1160. package/dist/views/List/renderListViewSlots.js +9 -6
  1161. package/dist/views/List/renderListViewSlots.js.map +1 -1
  1162. package/dist/views/List/resolveAllFilterOptions.d.ts.map +1 -1
  1163. package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -1
  1164. package/dist/views/Logout/LogoutClient.d.ts +14 -0
  1165. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  1166. package/dist/views/Logout/LogoutClient.js +7 -5
  1167. package/dist/views/Logout/LogoutClient.js.map +1 -1
  1168. package/dist/views/Logout/index.d.ts.map +1 -1
  1169. package/dist/views/Logout/index.js +18 -2
  1170. package/dist/views/Logout/index.js.map +1 -1
  1171. package/dist/views/NotFound/page.d.ts.map +1 -1
  1172. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -1
  1173. package/dist/views/Root/generatePageMetadata.d.ts.map +1 -1
  1174. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts +1 -1
  1175. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  1176. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts +1 -1
  1177. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  1178. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  1179. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  1180. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  1181. package/dist/views/Root/index.d.ts +12 -1
  1182. package/dist/views/Root/index.d.ts.map +1 -1
  1183. package/dist/views/Root/index.js +10 -3
  1184. package/dist/views/Root/index.js.map +1 -1
  1185. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  1186. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
  1187. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  1188. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
  1189. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  1190. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +1 -0
  1191. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  1192. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  1193. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  1194. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +1 -0
  1195. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  1196. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  1197. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  1198. package/dist/views/Version/SelectComparison/index.js +1 -0
  1199. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  1200. package/dist/views/Versions/buildColumns.d.ts +1 -1
  1201. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  1202. package/dist/views/Versions/fetchVersions.d.ts +8 -8
  1203. package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
  1204. package/dist/views/Versions/fetchVersions.js.map +1 -1
  1205. package/dist/views/Versions/index.css +0 -4
  1206. package/dist/views/Versions/types.d.ts +2 -2
  1207. package/dist/views/Versions/types.d.ts.map +1 -1
  1208. package/dist/views/Versions/types.js.map +1 -1
  1209. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts +20 -0
  1210. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts.map +1 -0
  1211. package/dist/widgets/CollectionCards/getCollectionCardsData.js +29 -0
  1212. package/dist/widgets/CollectionCards/getCollectionCardsData.js.map +1 -0
  1213. package/dist/widgets/CollectionCards/index.client.d.ts +5 -0
  1214. package/dist/widgets/CollectionCards/index.client.d.ts.map +1 -0
  1215. package/dist/widgets/CollectionCards/index.client.js +139 -0
  1216. package/dist/widgets/CollectionCards/index.client.js.map +1 -0
  1217. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  1218. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -0
  1219. package/dist/widgets/CollectionQuery/SortField/index.js +118 -0
  1220. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -0
  1221. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts +18 -0
  1222. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts.map +1 -0
  1223. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js +91 -0
  1224. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js.map +1 -0
  1225. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +100 -0
  1226. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +1 -0
  1227. package/dist/widgets/CollectionQuery/index.css +64 -0
  1228. package/dist/widgets/CollectionQuery/index.d.ts +16 -0
  1229. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -0
  1230. package/dist/widgets/CollectionQuery/index.js +328 -0
  1231. package/dist/widgets/CollectionQuery/index.js.map +1 -0
  1232. package/dist/widgets/RecentlyViewed/CollectionsField/index.css +14 -0
  1233. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +10 -0
  1234. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -0
  1235. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +76 -0
  1236. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -0
  1237. package/dist/widgets/RecentlyViewed/index.d.ts +10 -0
  1238. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -0
  1239. package/dist/widgets/RecentlyViewed/index.js +148 -0
  1240. package/dist/widgets/RecentlyViewed/index.js.map +1 -0
  1241. package/dist/widgets/WidgetCard/index.css +155 -0
  1242. package/dist/widgets/WidgetCard/index.d.ts +19 -0
  1243. package/dist/widgets/WidgetCard/index.d.ts.map +1 -0
  1244. package/dist/widgets/WidgetCard/index.js +49 -0
  1245. package/dist/widgets/WidgetCard/index.js.map +1 -0
  1246. package/package.json +61 -15
  1247. package/dist/elements/BulkUpload/Header/index.d.ts +0 -9
  1248. package/dist/elements/BulkUpload/Header/index.d.ts.map +0 -1
  1249. package/dist/elements/BulkUpload/Header/index.js.map +0 -1
  1250. package/dist/elements/ColumnSelector/index.d.ts +0 -9
  1251. package/dist/elements/ColumnSelector/index.d.ts.map +0 -1
  1252. package/dist/elements/ColumnSelector/index.js.map +0 -1
  1253. package/dist/elements/ColumnsButton/index.d.ts +0 -7
  1254. package/dist/elements/ColumnsButton/index.d.ts.map +0 -1
  1255. package/dist/elements/ColumnsButton/index.js.map +0 -1
  1256. package/dist/elements/FileDetails/FileMeta/index.scss +0 -31
  1257. package/dist/elements/FileDetails/StaticFileDetails/index.scss +0 -134
  1258. package/dist/elements/GroupByBuilder/index.d.ts +0 -12
  1259. package/dist/elements/GroupByBuilder/index.d.ts.map +0 -1
  1260. package/dist/elements/GroupByBuilder/index.js +0 -164
  1261. package/dist/elements/GroupByBuilder/index.js.map +0 -1
  1262. package/dist/elements/GroupByBuilder/index.scss +0 -39
  1263. package/dist/elements/GroupByControl/index.d.ts +0 -9
  1264. package/dist/elements/GroupByControl/index.d.ts.map +0 -1
  1265. package/dist/elements/GroupByControl/index.js +0 -254
  1266. package/dist/elements/GroupByControl/index.js.map +0 -1
  1267. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +0 -1
  1268. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +0 -1
  1269. package/dist/elements/Hierarchy/Drawer/index.css +0 -90
  1270. package/dist/elements/Hierarchy/Drawer/index.d.ts +0 -20
  1271. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +0 -1
  1272. package/dist/elements/Hierarchy/Drawer/index.js.map +0 -1
  1273. package/dist/elements/Hierarchy/Drawer/types.d.ts.map +0 -1
  1274. package/dist/elements/Hierarchy/Drawer/types.js.map +0 -1
  1275. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +0 -30
  1276. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +0 -1
  1277. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +0 -1
  1278. package/dist/elements/Nav/NavToggler/index.css +0 -12
  1279. package/dist/elements/Nav/NavToggler/index.d.ts +0 -9
  1280. package/dist/elements/Nav/NavToggler/index.d.ts.map +0 -1
  1281. package/dist/elements/Nav/NavToggler/index.js +0 -91
  1282. package/dist/elements/Nav/NavToggler/index.js.map +0 -1
  1283. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  1284. package/dist/elements/PreviewSizes/index.scss +0 -147
  1285. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -17
  1286. package/dist/elements/QueryPresets/fields/GroupByField/index.scss +0 -17
  1287. package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
  1288. package/dist/elements/RelationshipTable/Pagination.css +0 -39
  1289. package/dist/elements/Thumbnail/index.scss +0 -53
  1290. package/dist/exports/client/CodeEditor-T3624SG3.js +0 -14
  1291. package/dist/exports/client/CodeEditor-T3624SG3.js.map +0 -7
  1292. package/dist/exports/client/DatePicker-6KF52Z3G.js +0 -14
  1293. package/dist/exports/client/DatePicker-6KF52Z3G.js.map +0 -7
  1294. package/dist/exports/client/chunk-5LKBKI4T.js +0 -14
  1295. package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -7
  1296. package/dist/exports/client/chunk-7T64ULOM.js +0 -29
  1297. package/dist/exports/client/chunk-7T64ULOM.js.map +0 -7
  1298. package/dist/exports/client/chunk-DMFYTMX6.js +0 -27
  1299. package/dist/exports/client/chunk-DMFYTMX6.js.map +0 -7
  1300. package/dist/icons/ExternalLink/index.d.ts.map +0 -1
  1301. package/dist/icons/ExternalLink/index.js +0 -26
  1302. package/dist/icons/ExternalLink/index.js.map +0 -1
  1303. package/dist/scss/app.scss +0 -177
  1304. package/dist/scss/colors.scss +0 -191
  1305. package/dist/scss/custom.css +0 -1
  1306. package/dist/scss/queries.scss +0 -27
  1307. package/dist/scss/styles.scss +0 -9
  1308. package/dist/scss/svg.scss +0 -10
  1309. package/dist/scss/toastify.scss +0 -61
  1310. package/dist/scss/toasts.scss +0 -146
  1311. package/dist/scss/vars.scss +0 -192
  1312. package/dist/scss/z-index.scss +0 -9
  1313. /package/dist/elements/{ColumnSelector/index.css → ColumnSelection/Popup.css} +0 -0
  1314. /package/dist/elements/{GroupByControl/index.css → GroupBy/Popup.css} +0 -0
  1315. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.d.ts +0 -0
  1316. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.js +0 -0
  1317. /package/dist/elements/Hierarchy/{Drawer → Modal}/types.js +0 -0
@@ -11,10 +11,13 @@ import { useEffectEvent } from '../../hooks/useEffectEvent.js';
11
11
  import { useTranslation } from '../../providers/Translation/index.js';
12
12
  import { requests } from '../../utilities/api.js';
13
13
  import { useConfig } from '../Config/index.js';
14
- import { usePathname, useRouter } from '../RouterAdapter/index.js';
14
+ import { usePathname, useRouter, useSearchParams } from '../RouterAdapter/index.js';
15
15
  import { useRouteTransition } from '../RouteTransition/index.js';
16
+ import { createAuthSessionRequests } from './authSessionRequests.js';
17
+ import { TAB_SESSION_EVENT_TYPES } from './tabSessionSync/index.js';
18
+ import { useTabSessionSync } from './tabSessionSync/useTabSessionSync.js';
19
+ import { useAuthSessionTimers } from './useAuthSessionTimers.js';
16
20
  const Context = /*#__PURE__*/createContext({});
17
- const maxTimeoutMs = 2147483647;
18
21
  export function AuthProvider({
19
22
  children,
20
23
  permissions: initialPermissions,
@@ -22,6 +25,8 @@ export function AuthProvider({
22
25
  }) {
23
26
  const pathname = usePathname();
24
27
  const router = useRouter();
28
+ const searchParams = useSearchParams();
29
+ const route = `${pathname}?${searchParams.toString()}`;
25
30
  const {
26
31
  config
27
32
  } = useConfig();
@@ -30,7 +35,8 @@ export function AuthProvider({
30
35
  autoLogin,
31
36
  autoRefresh,
32
37
  routes: {
33
- inactivity: logoutInactivityRoute
38
+ inactivity: logoutInactivityRoute,
39
+ login: loginRoute
34
40
  },
35
41
  user: userSlug
36
42
  },
@@ -51,14 +57,12 @@ export function AuthProvider({
51
57
  } = useRouteTransition();
52
58
  const [user, setUserInMemory] = useState(initialUser);
53
59
  const [tokenInMemory, setTokenInMemory] = useState();
54
- const [tokenExpirationMs, setTokenExpirationMs] = useState();
60
+ const [authSession, setAuthSession] = useState();
55
61
  const [permissions, setPermissions] = useState(initialPermissions);
56
- const [forceLogoutBufferMs, setForceLogoutBufferMs] = useState(120_000);
57
62
  const [fetchedUserOnMount, setFetchedUserOnMount] = useState(false);
58
- const refreshTokenTimeoutRef = React.useRef(null);
59
- const reminderTimeoutRef = React.useRef(null);
60
- const forceLogOutTimeoutRef = React.useRef(null);
61
- const id = user?.id;
63
+ const [authRequests] = useState(createAuthSessionRequests);
64
+ const userRef = React.useRef(initialUser);
65
+ const isAuthenticated = Boolean(user);
62
66
  const redirectToInactivityRoute = useCallback(() => {
63
67
  const baseAdminRoute = formatAdminURL({
64
68
  adminRoute,
@@ -70,111 +74,221 @@ export function AuthProvider({
70
74
  })));
71
75
  closeAllModals();
72
76
  }, [router, adminRoute, logoutInactivityRoute, closeAllModals, startRouteTransition]);
73
- const revokeTokenAndExpire = useCallback(() => {
74
- setUserInMemory(null);
75
- setTokenInMemory(undefined);
76
- setTokenExpirationMs(undefined);
77
- clearTimeout(refreshTokenTimeoutRef.current);
78
- }, []);
79
- // Handler for reminder timeout - uses useEffectEvent to capture latest autoRefresh value
80
- const handleReminderTimeout = useEffectEvent(() => {
77
+ const redirectToLoginRoute = useCallback(() => {
78
+ startRouteTransition(() => router.replace(formatAdminURL({
79
+ adminRoute,
80
+ path: loginRoute
81
+ })));
82
+ closeAllModals();
83
+ }, [adminRoute, closeAllModals, loginRoute, router, startRouteTransition]);
84
+ function onSessionActivity() {
85
+ setAuthSession(currentAuthSession => {
86
+ if (!currentAuthSession || currentAuthSession.activityRecorded) {
87
+ return currentAuthSession;
88
+ }
89
+ return {
90
+ ...currentAuthSession,
91
+ activityRecorded: true
92
+ };
93
+ });
94
+ }
95
+ function onSessionActivityRefresh() {
96
+ void refreshSession({
97
+ isActivityRefresh: true
98
+ });
99
+ }
100
+ function onSessionExpiration(expirationMs) {
101
+ const collection = userRef.current?.collection;
102
+ tabSessionSync.broadcast({
103
+ type: TAB_SESSION_EVENT_TYPES.EXPIRED,
104
+ expiredTokenAt: expirationMs
105
+ });
106
+ void logOutSession({
107
+ collection
108
+ }).then(redirectToInactivityRoute);
109
+ }
110
+ function onSessionReminder() {
81
111
  if (autoRefresh) {
82
- refreshCookieEvent();
112
+ sessionTimers.scheduleRefresh();
83
113
  } else {
84
114
  openModal(stayLoggedInModalSlug);
85
115
  }
116
+ }
117
+ const sessionTimers = useAuthSessionTimers({
118
+ isAuthenticated,
119
+ onActivity: onSessionActivity,
120
+ onActivityRefresh: onSessionActivityRefresh,
121
+ onExpire: onSessionExpiration,
122
+ onReminder: onSessionReminder
86
123
  });
87
- const setNewUser = useCallback(userResponse => {
88
- clearTimeout(reminderTimeoutRef.current);
89
- clearTimeout(forceLogOutTimeoutRef.current);
90
- if (userResponse?.user) {
91
- setUserInMemory(userResponse.user);
92
- setTokenInMemory(userResponse.token ?? userResponse.refreshedToken);
93
- setTokenExpirationMs(userResponse.exp * 1000);
94
- const expiresInMs = Math.max(0, Math.min((userResponse.exp ?? 0) * 1000 - Date.now(), maxTimeoutMs));
95
- if (expiresInMs) {
96
- const nextForceLogoutBufferMs = Math.min(60_000, expiresInMs / 2);
97
- setForceLogoutBufferMs(nextForceLogoutBufferMs);
98
- reminderTimeoutRef.current = setTimeout(handleReminderTimeout, Math.max(expiresInMs - nextForceLogoutBufferMs, 0));
99
- forceLogOutTimeoutRef.current = setTimeout(() => {
100
- revokeTokenAndExpire();
101
- redirectToInactivityRoute();
102
- }, expiresInMs);
124
+ useEffect(() => {
125
+ sessionTimers.recordActivity('route');
126
+ }, [route, sessionTimers]);
127
+ const clearUserInMemory = useCallback(() => {
128
+ userRef.current = null;
129
+ setUserInMemory(null);
130
+ setTokenInMemory(undefined);
131
+ setAuthSession(undefined);
132
+ sessionTimers.clear();
133
+ }, [sessionTimers]);
134
+ const setLocalSession = useCallback(session => {
135
+ if (session?.user) {
136
+ const expirationMs_0 = typeof session.exp === 'number' && Number.isFinite(session.exp) ? session.exp * 1000 : undefined;
137
+ const nextSessionTiming = expirationMs_0 !== undefined ? sessionTimers.setExpiration(expirationMs_0) : undefined;
138
+ userRef.current = session.user;
139
+ setUserInMemory(session.user);
140
+ setTokenInMemory(session.token ?? session.refreshedToken);
141
+ if (nextSessionTiming) {
142
+ setAuthSession({
143
+ ...nextSessionTiming,
144
+ activityRecorded: false
145
+ });
103
146
  }
104
147
  } else {
105
- revokeTokenAndExpire();
148
+ clearUserInMemory();
106
149
  }
107
- }, [redirectToInactivityRoute, revokeTokenAndExpire]);
108
- const refreshCookie = useCallback(forceRefresh => {
109
- if (!id) {
110
- return;
150
+ }, [clearUserInMemory, sessionTimers]);
151
+ const setUser = useCallback(session_0 => {
152
+ authRequests.discardPendingResults();
153
+ setLocalSession(session_0);
154
+ }, [authRequests, setLocalSession]);
155
+ const tabSessionSync = useTabSessionSync({
156
+ getTokenExpirationMs: sessionTimers.getCurrentExpirationMs,
157
+ onSessionExpired: () => {
158
+ const collection_0 = userRef.current?.collection;
159
+ void logOutSession({
160
+ collection: collection_0
161
+ }).then(redirectToInactivityRoute);
162
+ },
163
+ onSessionLoggedOut: () => {
164
+ const collection_1 = userRef.current?.collection;
165
+ void logOutSession({
166
+ collection: collection_1
167
+ }).then(redirectToLoginRoute);
168
+ },
169
+ onSessionRefreshed: session_1 => {
170
+ if (!authRequests.isLoggingOut()) {
171
+ authRequests.discardPendingResults();
172
+ setLocalSession(session_1);
173
+ }
174
+ },
175
+ onTabSessionUnauthenticated: () => {
176
+ redirectToInactivityRoute();
177
+ },
178
+ reconcileSession: async options => {
179
+ const result = await fetchFullUserResult(options);
180
+ if (result.status === 'authenticated' && result.expirationMs !== undefined) {
181
+ return {
182
+ expirationMs: result.expirationMs,
183
+ status: result.status,
184
+ user: result.user
185
+ };
186
+ }
187
+ if (result.status === 'unauthenticated') {
188
+ return result;
189
+ }
190
+ return {
191
+ status: 'indeterminate'
192
+ };
111
193
  }
112
- const expiresInMs_0 = Math.max(0, (tokenExpirationMs ?? 0) - Date.now());
113
- if (forceRefresh || tokenExpirationMs && expiresInMs_0 < forceLogoutBufferMs * 2) {
114
- clearTimeout(refreshTokenTimeoutRef.current);
115
- refreshTokenTimeoutRef.current = setTimeout(async () => {
116
- try {
117
- const request = await requests.post(formatAdminURL({
118
- apiRoute,
119
- path: `/${userSlug}/refresh-token?refresh`
120
- }), {
121
- headers: {
122
- 'Accept-Language': i18n.language
123
- }
124
- });
125
- if (request.status === 200) {
126
- const json = await request.json();
127
- setNewUser(json);
128
- } else {
129
- setNewUser(null);
130
- redirectToInactivityRoute();
194
+ });
195
+ const refreshSession = useCallback(({
196
+ isActivityRefresh
197
+ }) => {
198
+ return authRequests.refresh(async ({
199
+ acceptResult,
200
+ invalidateWhenIdle,
201
+ isResultStale
202
+ }) => {
203
+ if (isResultStale()) {
204
+ return null;
205
+ }
206
+ const handledExpiration = sessionTimers.getCurrentExpirationMs();
207
+ const handledUser = userRef.current;
208
+ try {
209
+ const refreshStartedAt = Date.now();
210
+ const request = await requests.post(formatAdminURL({
211
+ apiRoute,
212
+ path: `/${userSlug}/refresh-token${isActivityRefresh ? '?refresh' : ''}`
213
+ }), {
214
+ headers: {
215
+ 'Accept-Language': i18n.language
131
216
  }
132
- } catch (e) {
133
- toast.error(e.message);
217
+ });
218
+ if (isResultStale()) {
219
+ return null;
134
220
  }
135
- }, 1000);
136
- }
137
- }, [apiRoute, i18n.language, redirectToInactivityRoute, setNewUser, tokenExpirationMs, userSlug, forceLogoutBufferMs, id]);
138
- const refreshCookieAsync = useCallback(async skipSetUser => {
139
- try {
140
- const request_0 = await requests.post(formatAdminURL({
141
- apiRoute,
142
- path: `/${userSlug}/refresh-token`
143
- }), {
144
- headers: {
145
- 'Accept-Language': i18n.language
221
+ if (request.status === 200) {
222
+ const json = await request.json();
223
+ if (!acceptResult()) {
224
+ return null;
225
+ }
226
+ setLocalSession(json);
227
+ tabSessionSync.broadcast({
228
+ type: TAB_SESSION_EVENT_TYPES.REFRESHED,
229
+ refreshStartedAt,
230
+ session: json
231
+ });
232
+ return json.user;
146
233
  }
147
- });
148
- if (request_0.status === 200) {
149
- const json_0 = await request_0.json();
150
- if (!skipSetUser) {
151
- setNewUser(json_0);
234
+ if (handledUser) {
235
+ const invalidateSession = () => {
236
+ if (handledExpiration !== undefined) {
237
+ tabSessionSync.broadcast({
238
+ type: TAB_SESSION_EVENT_TYPES.EXPIRED,
239
+ expiredTokenAt: handledExpiration
240
+ });
241
+ }
242
+ setLocalSession(null);
243
+ redirectToInactivityRoute();
244
+ };
245
+ invalidateWhenIdle(invalidateSession);
152
246
  }
153
- return json_0.user;
247
+ } catch (e) {
248
+ toast.error(`Refreshing token failed: ${e.message}`);
154
249
  }
155
- if (user) {
156
- setNewUser(null);
157
- redirectToInactivityRoute();
250
+ return null;
251
+ });
252
+ }, [apiRoute, authRequests, tabSessionSync, i18n.language, redirectToInactivityRoute, sessionTimers, setLocalSession, userSlug]);
253
+ const refreshCookieAsync = useCallback(() => refreshSession({
254
+ isActivityRefresh: false
255
+ }), [refreshSession]);
256
+ const logOutSession = useCallback(({
257
+ collection: collection_2
258
+ }) => {
259
+ return authRequests.logOut({
260
+ clearSession: () => {
261
+ authRequests.discardPendingResults();
262
+ setLocalSession(null);
263
+ },
264
+ request: async () => {
265
+ try {
266
+ if (collection_2) {
267
+ await requests.post(formatAdminURL({
268
+ apiRoute,
269
+ path: `/${collection_2}/logout`
270
+ }));
271
+ }
272
+ } catch (_) {
273
+ // Explicit logout always clears local state, even if server revocation fails.
274
+ }
158
275
  }
159
- } catch (e_0) {
160
- toast.error(`Refreshing token failed: ${e_0.message}`);
161
- }
162
- return null;
163
- }, [apiRoute, i18n.language, redirectToInactivityRoute, setNewUser, userSlug, user]);
276
+ });
277
+ }, [apiRoute, authRequests, setLocalSession]);
164
278
  const logOut = useCallback(async () => {
165
- try {
166
- if (user && user.collection) {
167
- setNewUser(null);
168
- await requests.post(formatAdminURL({
169
- apiRoute,
170
- path: `/${user.collection}/logout`
171
- }));
172
- }
173
- } catch (_) {
174
- // fail silently and log the user out in state
279
+ const logoutEvent = {
280
+ type: TAB_SESSION_EVENT_TYPES.LOGGED_OUT
281
+ };
282
+ const logoutPublication = tabSessionSync.broadcast(logoutEvent);
283
+ const collection_3 = userRef.current?.collection;
284
+ await logOutSession({
285
+ collection: collection_3
286
+ });
287
+ if (logoutPublication?.type === TAB_SESSION_EVENT_TYPES.LOGGED_OUT) {
288
+ tabSessionSync.broadcastLogoutSettlement(logoutPublication);
175
289
  }
176
290
  return true;
177
- }, [apiRoute, setNewUser, user]);
291
+ }, [tabSessionSync, logOutSession]);
178
292
  const refreshPermissions = useCallback(async ({
179
293
  locale
180
294
  } = {}) => {
@@ -184,7 +298,7 @@ export function AuthProvider({
184
298
  addQueryPrefix: true
185
299
  });
186
300
  try {
187
- const request_1 = await requests.get(formatAdminURL({
301
+ const request_0 = await requests.get(formatAdminURL({
188
302
  apiRoute,
189
303
  path: `/access${params}`
190
304
  }), {
@@ -192,42 +306,79 @@ export function AuthProvider({
192
306
  'Accept-Language': i18n.language
193
307
  }
194
308
  });
195
- if (request_1.status === 200) {
196
- const json_1 = await request_1.json();
197
- setPermissions(json_1);
309
+ if (request_0.status === 200) {
310
+ const json_0 = await request_0.json();
311
+ setPermissions(json_0);
198
312
  } else {
199
- throw new Error(`Fetching permissions failed with status code ${request_1.status}`);
313
+ throw new Error(`Fetching permissions failed with status code ${request_0.status}`);
200
314
  }
201
- } catch (e_1) {
202
- toast.error(`Refreshing permissions failed: ${e_1.message}`);
315
+ } catch (e_0) {
316
+ toast.error(`Refreshing permissions failed: ${e_0.message}`);
203
317
  }
204
318
  }, [apiRoute, i18n]);
205
- const fetchFullUser = React.useCallback(async () => {
206
- try {
207
- const request_2 = await requests.get(formatAdminURL({
208
- apiRoute,
209
- path: `/${userSlug}/me`
210
- }), {
211
- credentials: 'include',
212
- headers: {
213
- 'Accept-Language': i18n.language
319
+ const fetchFullUserResult = React.useCallback(({
320
+ isTabSessionEventStale
321
+ } = {}) => {
322
+ return authRequests.queue(async ({
323
+ acceptResult: acceptResult_0,
324
+ isResultStale: isResultStale_0
325
+ }) => {
326
+ const isResponseStale = () => isResultStale_0() || Boolean(isTabSessionEventStale?.());
327
+ if (isResponseStale()) {
328
+ return {
329
+ status: 'indeterminate'
330
+ };
331
+ }
332
+ try {
333
+ const request_1 = await requests.get(formatAdminURL({
334
+ apiRoute,
335
+ path: `/${userSlug}/me`
336
+ }), {
337
+ credentials: 'include',
338
+ headers: {
339
+ 'Accept-Language': i18n.language
340
+ }
341
+ });
342
+ if (request_1.status !== 200) {
343
+ return {
344
+ status: 'indeterminate'
345
+ };
214
346
  }
215
- });
216
- if (request_2.status === 200) {
217
- const json_2 = await request_2.json();
218
- setNewUser(json_2);
219
- return json_2?.user || null;
347
+ const json_1 = await request_1.json();
348
+ if (isResponseStale()) {
349
+ return {
350
+ status: 'indeterminate'
351
+ };
352
+ }
353
+ if (json_1?.user) {
354
+ if (!acceptResult_0()) {
355
+ return {
356
+ status: 'indeterminate'
357
+ };
358
+ }
359
+ setLocalSession(json_1);
360
+ return {
361
+ expirationMs: typeof json_1.exp === 'number' && Number.isFinite(json_1.exp) ? json_1.exp * 1000 : sessionTimers.getCurrentExpirationMs(),
362
+ status: 'authenticated',
363
+ user: json_1.user
364
+ };
365
+ }
366
+ setLocalSession(null);
367
+ return {
368
+ status: 'unauthenticated'
369
+ };
370
+ } catch (e_1) {
371
+ toast.error(`Fetching user failed: ${e_1.message}`);
220
372
  }
221
- } catch (e_2) {
222
- toast.error(`Fetching user failed: ${e_2.message}`);
223
- }
224
- return null;
225
- }, [apiRoute, userSlug, i18n.language, setNewUser]);
226
- const refreshCookieEvent = useEffectEvent(refreshCookie);
227
- useEffect(() => {
228
- // when location changes, refresh cookie
229
- refreshCookieEvent();
230
- }, [pathname]);
373
+ return {
374
+ status: 'indeterminate'
375
+ };
376
+ });
377
+ }, [apiRoute, authRequests, i18n.language, sessionTimers, setLocalSession, userSlug]);
378
+ const fetchFullUser = React.useCallback(async () => {
379
+ const result_0 = await fetchFullUserResult();
380
+ return result_0.status === 'authenticated' ? result_0.user : null;
381
+ }, [fetchFullUserResult]);
231
382
  const fetchFullUserEvent = useEffectEvent(fetchFullUser);
232
383
  useEffect(() => {
233
384
  async function fetchUserOnMount() {
@@ -242,26 +393,23 @@ export function AuthProvider({
242
393
  }
243
394
  }, [user, autoLogin]);
244
395
  useEffect(() => () => {
245
- // remove all timeouts on unmount
246
- clearTimeout(refreshTokenTimeoutRef.current);
247
- clearTimeout(reminderTimeoutRef.current);
248
- clearTimeout(forceLogOutTimeoutRef.current);
249
- }, []);
396
+ authRequests.discardPendingResults();
397
+ }, [authRequests]);
250
398
  if (!user && !fetchedUserOnMount) {
251
399
  return null;
252
400
  }
253
401
  return /*#__PURE__*/_jsx(Context, {
254
402
  value: {
403
+ authSession,
255
404
  fetchFullUser,
256
405
  logOut,
257
406
  permissions,
258
- refreshCookie,
407
+ refreshCookie: sessionTimers.scheduleRefresh,
259
408
  refreshCookieAsync,
260
409
  refreshPermissions,
261
410
  setPermissions,
262
- setUser: setNewUser,
411
+ setUser,
263
412
  token: tokenInMemory,
264
- tokenExpirationMs,
265
413
  user
266
414
  },
267
415
  children: children
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","formatAdminURL","qs","React","createContext","use","useCallback","useEffect","useState","toast","stayLoggedInModalSlug","useEffectEvent","useTranslation","requests","useConfig","usePathname","useRouter","useRouteTransition","Context","maxTimeoutMs","AuthProvider","children","permissions","initialPermissions","user","initialUser","pathname","router","config","admin","autoLogin","autoRefresh","routes","inactivity","logoutInactivityRoute","userSlug","adminRoute","api","apiRoute","i18n","closeAllModals","openModal","startRouteTransition","setUserInMemory","tokenInMemory","setTokenInMemory","tokenExpirationMs","setTokenExpirationMs","setPermissions","forceLogoutBufferMs","setForceLogoutBufferMs","fetchedUserOnMount","setFetchedUserOnMount","refreshTokenTimeoutRef","useRef","reminderTimeoutRef","forceLogOutTimeoutRef","id","redirectToInactivityRoute","baseAdminRoute","path","replace","window","location","startsWith","encodeURIComponent","revokeTokenAndExpire","undefined","clearTimeout","current","handleReminderTimeout","refreshCookieEvent","setNewUser","userResponse","token","refreshedToken","exp","expiresInMs","Math","max","min","Date","now","nextForceLogoutBufferMs","setTimeout","refreshCookie","forceRefresh","request","post","headers","language","status","json","e","error","message","refreshCookieAsync","skipSetUser","logOut","collection","_","refreshPermissions","locale","params","stringify","addQueryPrefix","get","Error","fetchFullUser","credentials","fetchFullUserEvent","fetchUserOnMount","prefillOnly","_jsx","value","setUser","useAuth"],"sources":["../../../src/providers/Auth/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser, SanitizedPermissions, TypedUser } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { stayLoggedInModalSlug } from '../../elements/StayLoggedIn/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { useConfig } from '../Config/index.js'\nimport { usePathname, useRouter } from '../RouterAdapter/index.js'\nimport { useRouteTransition } from '../RouteTransition/index.js'\n\nexport type UserWithToken<T = ClientUser> = {\n /** seconds until expiration */\n exp: number\n refreshedToken?: string\n token?: string\n user: T\n}\n\nexport type AuthContext<T = ClientUser> = {\n fetchFullUser: () => Promise<null | TypedUser>\n logOut: () => Promise<boolean>\n /**\n * These are the permissions for the current user from a global scope.\n *\n * When checking for permissions on document specific level, use the `useDocumentInfo` hook instead.\n *\n * @example\n *\n * ```tsx\n * import { useAuth } from 'payload/ui'\n *\n * const MyComponent: React.FC = () => {\n * const { permissions } = useAuth()\n *\n * if (permissions?.collections?.myCollection?.create) {\n * // user can create documents in 'myCollection'\n * }\n *\n * return null\n * }\n * ```\n *\n * with useDocumentInfo:\n *\n * ```tsx\n * import { useDocumentInfo } from 'payload/ui'\n *\n * const MyComponent: React.FC = () => {\n * const { docPermissions } = useDocumentInfo()\n * if (docPermissions?.create) {\n * // user can create this document\n * }\n * return null\n * } ```\n */\n permissions?: SanitizedPermissions\n refreshCookie: (forceRefresh?: boolean) => void\n refreshCookieAsync: () => Promise<ClientUser>\n refreshPermissions: () => Promise<void>\n setPermissions: (permissions: SanitizedPermissions) => void\n setUser: (user: null | UserWithToken<T>) => void\n strategy?: string\n token?: string\n tokenExpirationMs?: number\n user?: null | T\n}\n\nconst Context = createContext({} as AuthContext)\n\nconst maxTimeoutMs = 2147483647\n\ntype Props = {\n children: React.ReactNode\n permissions?: SanitizedPermissions\n user?: ClientUser | null\n}\n\nexport function AuthProvider({\n children,\n permissions: initialPermissions,\n user: initialUser,\n}: Props) {\n const pathname = usePathname()\n const router = useRouter()\n\n const { config } = useConfig()\n\n const {\n admin: {\n autoLogin,\n autoRefresh,\n routes: { inactivity: logoutInactivityRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n } = config\n\n const { i18n } = useTranslation()\n const { closeAllModals, openModal } = useModal()\n const { startRouteTransition } = useRouteTransition()\n\n const [user, setUserInMemory] = useState<ClientUser | null>(initialUser)\n const [tokenInMemory, setTokenInMemory] = useState<string>()\n const [tokenExpirationMs, setTokenExpirationMs] = useState<number>()\n const [permissions, setPermissions] = useState<SanitizedPermissions>(initialPermissions)\n const [forceLogoutBufferMs, setForceLogoutBufferMs] = useState<number>(120_000)\n const [fetchedUserOnMount, setFetchedUserOnMount] = useState(false)\n\n const refreshTokenTimeoutRef = React.useRef<ReturnType<typeof setTimeout>>(null)\n const reminderTimeoutRef = React.useRef<ReturnType<typeof setTimeout>>(null)\n const forceLogOutTimeoutRef = React.useRef<ReturnType<typeof setTimeout>>(null)\n\n const id = user?.id\n\n const redirectToInactivityRoute = useCallback(() => {\n const baseAdminRoute = formatAdminURL({ adminRoute, path: '' })\n startRouteTransition(() =>\n router.replace(\n formatAdminURL({\n adminRoute,\n path: `${logoutInactivityRoute}${window.location.pathname.startsWith(baseAdminRoute) ? `?redirect=${encodeURIComponent(window.location.pathname)}` : ''}`,\n }),\n ),\n )\n\n closeAllModals()\n }, [router, adminRoute, logoutInactivityRoute, closeAllModals, startRouteTransition])\n\n const revokeTokenAndExpire = useCallback(() => {\n setUserInMemory(null)\n setTokenInMemory(undefined)\n setTokenExpirationMs(undefined)\n clearTimeout(refreshTokenTimeoutRef.current)\n }, [])\n\n // Handler for reminder timeout - uses useEffectEvent to capture latest autoRefresh value\n const handleReminderTimeout = useEffectEvent(() => {\n if (autoRefresh) {\n refreshCookieEvent()\n } else {\n openModal(stayLoggedInModalSlug)\n }\n })\n\n const setNewUser = useCallback(\n (userResponse: null | UserWithToken) => {\n clearTimeout(reminderTimeoutRef.current)\n clearTimeout(forceLogOutTimeoutRef.current)\n\n if (userResponse?.user) {\n setUserInMemory(userResponse.user)\n setTokenInMemory(userResponse.token ?? userResponse.refreshedToken)\n setTokenExpirationMs(userResponse.exp * 1000)\n\n const expiresInMs = Math.max(\n 0,\n Math.min((userResponse.exp ?? 0) * 1000 - Date.now(), maxTimeoutMs),\n )\n\n if (expiresInMs) {\n const nextForceLogoutBufferMs = Math.min(60_000, expiresInMs / 2)\n setForceLogoutBufferMs(nextForceLogoutBufferMs)\n\n reminderTimeoutRef.current = setTimeout(\n handleReminderTimeout,\n Math.max(expiresInMs - nextForceLogoutBufferMs, 0),\n )\n\n forceLogOutTimeoutRef.current = setTimeout(() => {\n revokeTokenAndExpire()\n redirectToInactivityRoute()\n }, expiresInMs)\n }\n } else {\n revokeTokenAndExpire()\n }\n },\n [redirectToInactivityRoute, revokeTokenAndExpire],\n )\n\n const refreshCookie = useCallback(\n (forceRefresh?: boolean) => {\n if (!id) {\n return\n }\n\n const expiresInMs = Math.max(0, (tokenExpirationMs ?? 0) - Date.now())\n\n if (forceRefresh || (tokenExpirationMs && expiresInMs < forceLogoutBufferMs * 2)) {\n clearTimeout(refreshTokenTimeoutRef.current)\n refreshTokenTimeoutRef.current = setTimeout(async () => {\n try {\n const request = await requests.post(\n formatAdminURL({\n apiRoute,\n path: `/${userSlug}/refresh-token?refresh`,\n }),\n {\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status === 200) {\n const json: UserWithToken = await request.json()\n setNewUser(json)\n } else {\n setNewUser(null)\n redirectToInactivityRoute()\n }\n } catch (e) {\n toast.error(e.message)\n }\n }, 1000)\n }\n },\n [\n apiRoute,\n i18n.language,\n redirectToInactivityRoute,\n setNewUser,\n tokenExpirationMs,\n userSlug,\n forceLogoutBufferMs,\n id,\n ],\n )\n\n const refreshCookieAsync = useCallback(\n async (skipSetUser?: boolean): Promise<ClientUser> => {\n try {\n const request = await requests.post(\n formatAdminURL({\n apiRoute,\n path: `/${userSlug}/refresh-token`,\n }),\n {\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status === 200) {\n const json: UserWithToken = await request.json()\n if (!skipSetUser) {\n setNewUser(json)\n }\n return json.user\n }\n\n if (user) {\n setNewUser(null)\n redirectToInactivityRoute()\n }\n } catch (e) {\n toast.error(`Refreshing token failed: ${e.message}`)\n }\n return null\n },\n [apiRoute, i18n.language, redirectToInactivityRoute, setNewUser, userSlug, user],\n )\n\n const logOut = useCallback(async () => {\n try {\n if (user && user.collection) {\n setNewUser(null)\n await requests.post(\n formatAdminURL({\n apiRoute,\n path: `/${user.collection}/logout`,\n }),\n )\n }\n } catch (_) {\n // fail silently and log the user out in state\n }\n\n return true\n }, [apiRoute, setNewUser, user])\n\n const refreshPermissions = useCallback(\n async ({ locale }: { locale?: string } = {}) => {\n const params = qs.stringify(\n {\n locale,\n },\n {\n addQueryPrefix: true,\n },\n )\n\n try {\n const request = await requests.get(\n formatAdminURL({\n apiRoute,\n path: `/access${params}`,\n }),\n {\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status === 200) {\n const json: SanitizedPermissions = await request.json()\n setPermissions(json)\n } else {\n throw new Error(`Fetching permissions failed with status code ${request.status}`)\n }\n } catch (e) {\n toast.error(`Refreshing permissions failed: ${e.message}`)\n }\n },\n [apiRoute, i18n],\n )\n\n const fetchFullUser = React.useCallback(async () => {\n try {\n const request = await requests.get(\n formatAdminURL({\n apiRoute,\n path: `/${userSlug}/me`,\n }),\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status === 200) {\n const json: UserWithToken = await request.json()\n setNewUser(json)\n return json?.user || null\n }\n } catch (e) {\n toast.error(`Fetching user failed: ${e.message}`)\n }\n\n return null\n }, [apiRoute, userSlug, i18n.language, setNewUser])\n\n const refreshCookieEvent = useEffectEvent(refreshCookie)\n useEffect(() => {\n // when location changes, refresh cookie\n refreshCookieEvent()\n }, [pathname])\n\n const fetchFullUserEvent = useEffectEvent(fetchFullUser)\n useEffect(() => {\n async function fetchUserOnMount() {\n await fetchFullUserEvent()\n setFetchedUserOnMount(true)\n }\n\n void fetchUserOnMount()\n }, [])\n\n useEffect(() => {\n if (!user && autoLogin && !autoLogin.prefillOnly) {\n void fetchFullUserEvent()\n }\n }, [user, autoLogin])\n\n useEffect(\n () => () => {\n // remove all timeouts on unmount\n clearTimeout(refreshTokenTimeoutRef.current)\n clearTimeout(reminderTimeoutRef.current)\n clearTimeout(forceLogOutTimeoutRef.current)\n },\n [],\n )\n\n if (!user && !fetchedUserOnMount) {\n return null\n }\n\n return (\n <Context\n value={{\n fetchFullUser,\n logOut,\n permissions,\n refreshCookie,\n refreshCookieAsync,\n refreshPermissions,\n setPermissions,\n setUser: setNewUser,\n token: tokenInMemory,\n tokenExpirationMs,\n user,\n }}\n >\n {children}\n </Context>\n )\n}\n\nexport const useAuth = <T = ClientUser,>(): AuthContext<T> => use(Context) as AuthContext<T>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","formatAdminURL","qs","React","createContext","use","useCallback","useEffect","useState","toast","stayLoggedInModalSlug","useEffectEvent","useTranslation","requests","useConfig","usePathname","useRouter","useSearchParams","useRouteTransition","createAuthSessionRequests","TAB_SESSION_EVENT_TYPES","useTabSessionSync","useAuthSessionTimers","Context","AuthProvider","children","permissions","initialPermissions","user","initialUser","pathname","router","searchParams","route","toString","config","admin","autoLogin","autoRefresh","routes","inactivity","logoutInactivityRoute","login","loginRoute","userSlug","adminRoute","api","apiRoute","i18n","closeAllModals","openModal","startRouteTransition","setUserInMemory","tokenInMemory","setTokenInMemory","authSession","setAuthSession","setPermissions","fetchedUserOnMount","setFetchedUserOnMount","authRequests","userRef","useRef","isAuthenticated","Boolean","redirectToInactivityRoute","baseAdminRoute","path","replace","window","location","startsWith","encodeURIComponent","redirectToLoginRoute","onSessionActivity","currentAuthSession","activityRecorded","onSessionActivityRefresh","refreshSession","isActivityRefresh","onSessionExpiration","expirationMs","collection","current","tabSessionSync","broadcast","type","EXPIRED","expiredTokenAt","logOutSession","then","onSessionReminder","sessionTimers","scheduleRefresh","onActivity","onActivityRefresh","onExpire","onReminder","recordActivity","clearUserInMemory","undefined","clear","setLocalSession","session","exp","Number","isFinite","nextSessionTiming","setExpiration","token","refreshedToken","setUser","discardPendingResults","getTokenExpirationMs","getCurrentExpirationMs","onSessionExpired","onSessionLoggedOut","onSessionRefreshed","isLoggingOut","onTabSessionUnauthenticated","reconcileSession","options","result","fetchFullUserResult","status","refresh","acceptResult","invalidateWhenIdle","isResultStale","handledExpiration","handledUser","refreshStartedAt","Date","now","request","post","headers","language","json","REFRESHED","invalidateSession","e","error","message","refreshCookieAsync","logOut","clearSession","_","logoutEvent","LOGGED_OUT","logoutPublication","broadcastLogoutSettlement","refreshPermissions","locale","params","stringify","addQueryPrefix","get","Error","isTabSessionEventStale","queue","isResponseStale","credentials","fetchFullUser","fetchFullUserEvent","fetchUserOnMount","prefillOnly","_jsx","value","refreshCookie","useAuth"],"sources":["../../../src/providers/Auth/index.tsx"],"sourcesContent":["'use client'\nimport type { AuthenticatedUser, SanitizedPermissions } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { TabSessionReconciliationOptions } from './tabSessionSync/index.js'\nimport type { AuthContext, AuthSession, UserWithToken } from './types.js'\n\nimport { stayLoggedInModalSlug } from '../../elements/StayLoggedIn/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { useConfig } from '../Config/index.js'\nimport { usePathname, useRouter, useSearchParams } from '../RouterAdapter/index.js'\nimport { useRouteTransition } from '../RouteTransition/index.js'\nimport { createAuthSessionRequests } from './authSessionRequests.js'\nimport { TAB_SESSION_EVENT_TYPES } from './tabSessionSync/index.js'\nimport { useTabSessionSync } from './tabSessionSync/useTabSessionSync.js'\nimport { useAuthSessionTimers } from './useAuthSessionTimers.js'\n\nexport type { AuthContext, AuthSession, UserWithToken } from './types.js'\n\nconst Context = createContext({} as AuthContext)\n\ntype Props = {\n children: React.ReactNode\n permissions?: SanitizedPermissions\n user?: AuthenticatedUser | null\n}\n\ntype FetchFullUserResult =\n | {\n expirationMs?: number\n status: 'authenticated'\n user: AuthenticatedUser\n }\n | {\n status: 'indeterminate'\n }\n | {\n status: 'unauthenticated'\n }\n\ntype UserResponse = {\n exp?: number\n refreshedToken?: string\n token?: string\n user?: AuthenticatedUser | null\n}\n\nexport function AuthProvider({\n children,\n permissions: initialPermissions,\n user: initialUser,\n}: Props) {\n const pathname = usePathname()\n const router = useRouter()\n const searchParams = useSearchParams()\n const route = `${pathname}?${searchParams.toString()}`\n\n const { config } = useConfig()\n\n const {\n admin: {\n autoLogin,\n autoRefresh,\n routes: { inactivity: logoutInactivityRoute, login: loginRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n } = config\n\n const { i18n } = useTranslation()\n const { closeAllModals, openModal } = useModal()\n const { startRouteTransition } = useRouteTransition()\n\n const [user, setUserInMemory] = useState<AuthenticatedUser | null>(initialUser)\n const [tokenInMemory, setTokenInMemory] = useState<string>()\n const [authSession, setAuthSession] = useState<AuthSession>()\n const [permissions, setPermissions] = useState<SanitizedPermissions>(initialPermissions)\n const [fetchedUserOnMount, setFetchedUserOnMount] = useState(false)\n\n const [authRequests] = useState(createAuthSessionRequests)\n const userRef = React.useRef<AuthenticatedUser | null>(initialUser)\n\n const isAuthenticated = Boolean(user)\n\n const redirectToInactivityRoute = useCallback(() => {\n const baseAdminRoute = formatAdminURL({ adminRoute, path: '' })\n startRouteTransition(() =>\n router.replace(\n formatAdminURL({\n adminRoute,\n path: `${logoutInactivityRoute}${window.location.pathname.startsWith(baseAdminRoute) ? `?redirect=${encodeURIComponent(window.location.pathname)}` : ''}`,\n }),\n ),\n )\n\n closeAllModals()\n }, [router, adminRoute, logoutInactivityRoute, closeAllModals, startRouteTransition])\n\n const redirectToLoginRoute = useCallback(() => {\n startRouteTransition(() =>\n router.replace(\n formatAdminURL({\n adminRoute,\n path: loginRoute,\n }),\n ),\n )\n\n closeAllModals()\n }, [adminRoute, closeAllModals, loginRoute, router, startRouteTransition])\n\n function onSessionActivity() {\n setAuthSession((currentAuthSession) => {\n if (!currentAuthSession || currentAuthSession.activityRecorded) {\n return currentAuthSession\n }\n\n return {\n ...currentAuthSession,\n activityRecorded: true,\n }\n })\n }\n\n function onSessionActivityRefresh() {\n void refreshSession({ isActivityRefresh: true })\n }\n\n function onSessionExpiration(expirationMs: number) {\n const collection = userRef.current?.collection\n\n tabSessionSync.broadcast({\n type: TAB_SESSION_EVENT_TYPES.EXPIRED,\n expiredTokenAt: expirationMs,\n })\n void logOutSession({ collection }).then(redirectToInactivityRoute)\n }\n\n function onSessionReminder() {\n if (autoRefresh) {\n sessionTimers.scheduleRefresh()\n } else {\n openModal(stayLoggedInModalSlug)\n }\n }\n\n const sessionTimers = useAuthSessionTimers({\n isAuthenticated,\n onActivity: onSessionActivity,\n onActivityRefresh: onSessionActivityRefresh,\n onExpire: onSessionExpiration,\n onReminder: onSessionReminder,\n })\n\n useEffect(() => {\n sessionTimers.recordActivity('route')\n }, [route, sessionTimers])\n\n const clearUserInMemory = useCallback(() => {\n userRef.current = null\n setUserInMemory(null)\n setTokenInMemory(undefined)\n setAuthSession(undefined)\n sessionTimers.clear()\n }, [sessionTimers])\n\n const setLocalSession = useCallback(\n (session: null | UserResponse) => {\n if (session?.user) {\n const expirationMs =\n typeof session.exp === 'number' && Number.isFinite(session.exp)\n ? session.exp * 1000\n : undefined\n const nextSessionTiming =\n expirationMs !== undefined ? sessionTimers.setExpiration(expirationMs) : undefined\n\n userRef.current = session.user\n setUserInMemory(session.user)\n setTokenInMemory(session.token ?? session.refreshedToken)\n\n if (nextSessionTiming) {\n setAuthSession({\n ...nextSessionTiming,\n activityRecorded: false,\n })\n }\n } else {\n clearUserInMemory()\n }\n },\n [clearUserInMemory, sessionTimers],\n )\n\n const setUser = useCallback(\n (session: null | UserWithToken) => {\n authRequests.discardPendingResults()\n setLocalSession(session)\n },\n [authRequests, setLocalSession],\n )\n\n const tabSessionSync = useTabSessionSync({\n getTokenExpirationMs: sessionTimers.getCurrentExpirationMs,\n onSessionExpired: () => {\n const collection = userRef.current?.collection\n\n void logOutSession({ collection }).then(redirectToInactivityRoute)\n },\n onSessionLoggedOut: () => {\n const collection = userRef.current?.collection\n\n void logOutSession({ collection }).then(redirectToLoginRoute)\n },\n onSessionRefreshed: (session) => {\n if (!authRequests.isLoggingOut()) {\n authRequests.discardPendingResults()\n setLocalSession(session)\n }\n },\n onTabSessionUnauthenticated: () => {\n redirectToInactivityRoute()\n },\n reconcileSession: async (options) => {\n const result = await fetchFullUserResult(options)\n\n if (result.status === 'authenticated' && result.expirationMs !== undefined) {\n return {\n expirationMs: result.expirationMs,\n status: result.status,\n user: result.user,\n }\n }\n\n if (result.status === 'unauthenticated') {\n return result\n }\n\n return { status: 'indeterminate' }\n },\n })\n\n const refreshSession = useCallback(\n ({ isActivityRefresh }: { isActivityRefresh: boolean }): Promise<AuthenticatedUser | null> => {\n return authRequests.refresh(async ({ acceptResult, invalidateWhenIdle, isResultStale }) => {\n if (isResultStale()) {\n return null\n }\n\n const handledExpiration = sessionTimers.getCurrentExpirationMs()\n const handledUser = userRef.current\n\n try {\n const refreshStartedAt = Date.now()\n const request = await requests.post(\n formatAdminURL({\n apiRoute,\n path: `/${userSlug}/refresh-token${isActivityRefresh ? '?refresh' : ''}`,\n }),\n {\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (isResultStale()) {\n return null\n }\n\n if (request.status === 200) {\n const json: UserWithToken = await request.json()\n\n if (!acceptResult()) {\n return null\n }\n\n setLocalSession(json)\n tabSessionSync.broadcast({\n type: TAB_SESSION_EVENT_TYPES.REFRESHED,\n refreshStartedAt,\n session: json,\n })\n return json.user\n }\n\n if (handledUser) {\n const invalidateSession = () => {\n if (handledExpiration !== undefined) {\n tabSessionSync.broadcast({\n type: TAB_SESSION_EVENT_TYPES.EXPIRED,\n expiredTokenAt: handledExpiration,\n })\n }\n\n setLocalSession(null)\n redirectToInactivityRoute()\n }\n\n invalidateWhenIdle(invalidateSession)\n }\n } catch (e) {\n toast.error(`Refreshing token failed: ${e.message}`)\n }\n\n return null\n })\n },\n [\n apiRoute,\n authRequests,\n tabSessionSync,\n i18n.language,\n redirectToInactivityRoute,\n sessionTimers,\n setLocalSession,\n userSlug,\n ],\n )\n\n const refreshCookieAsync = useCallback(\n (): Promise<AuthenticatedUser | null> => refreshSession({ isActivityRefresh: false }),\n [refreshSession],\n )\n\n const logOutSession = useCallback(\n ({ collection }: { collection?: string }): Promise<void> => {\n return authRequests.logOut({\n clearSession: () => {\n authRequests.discardPendingResults()\n setLocalSession(null)\n },\n request: async () => {\n try {\n if (collection) {\n await requests.post(\n formatAdminURL({\n apiRoute,\n path: `/${collection}/logout`,\n }),\n )\n }\n } catch (_) {\n // Explicit logout always clears local state, even if server revocation fails.\n }\n },\n })\n },\n [apiRoute, authRequests, setLocalSession],\n )\n\n const logOut = useCallback(async () => {\n const logoutEvent = { type: TAB_SESSION_EVENT_TYPES.LOGGED_OUT } as const\n const logoutPublication = tabSessionSync.broadcast(logoutEvent)\n const collection = userRef.current?.collection\n\n await logOutSession({ collection })\n\n if (logoutPublication?.type === TAB_SESSION_EVENT_TYPES.LOGGED_OUT) {\n tabSessionSync.broadcastLogoutSettlement(logoutPublication)\n }\n\n return true\n }, [tabSessionSync, logOutSession])\n\n const refreshPermissions = useCallback(\n async ({ locale }: { locale?: string } = {}) => {\n const params = qs.stringify(\n {\n locale,\n },\n {\n addQueryPrefix: true,\n },\n )\n\n try {\n const request = await requests.get(\n formatAdminURL({\n apiRoute,\n path: `/access${params}`,\n }),\n {\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status === 200) {\n const json: SanitizedPermissions = await request.json()\n setPermissions(json)\n } else {\n throw new Error(`Fetching permissions failed with status code ${request.status}`)\n }\n } catch (e) {\n toast.error(`Refreshing permissions failed: ${e.message}`)\n }\n },\n [apiRoute, i18n],\n )\n\n const fetchFullUserResult = React.useCallback(\n ({\n isTabSessionEventStale,\n }: Partial<TabSessionReconciliationOptions> = {}): Promise<FetchFullUserResult> => {\n return authRequests.queue(async ({ acceptResult, isResultStale }) => {\n const isResponseStale = () => isResultStale() || Boolean(isTabSessionEventStale?.())\n\n if (isResponseStale()) {\n return { status: 'indeterminate' }\n }\n\n try {\n const request = await requests.get(\n formatAdminURL({\n apiRoute,\n path: `/${userSlug}/me`,\n }),\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status !== 200) {\n return { status: 'indeterminate' }\n }\n\n const json: null | UserResponse = await request.json()\n\n if (isResponseStale()) {\n return { status: 'indeterminate' }\n }\n\n if (json?.user) {\n if (!acceptResult()) {\n return { status: 'indeterminate' }\n }\n\n setLocalSession(json)\n\n return {\n expirationMs:\n typeof json.exp === 'number' && Number.isFinite(json.exp)\n ? json.exp * 1000\n : sessionTimers.getCurrentExpirationMs(),\n status: 'authenticated',\n user: json.user,\n }\n }\n\n setLocalSession(null)\n\n return { status: 'unauthenticated' }\n } catch (e) {\n toast.error(`Fetching user failed: ${e.message}`)\n }\n\n return { status: 'indeterminate' }\n })\n },\n [apiRoute, authRequests, i18n.language, sessionTimers, setLocalSession, userSlug],\n )\n\n const fetchFullUser = React.useCallback(async (): Promise<AuthenticatedUser | null> => {\n const result = await fetchFullUserResult()\n\n return result.status === 'authenticated' ? result.user : null\n }, [fetchFullUserResult])\n\n const fetchFullUserEvent = useEffectEvent(fetchFullUser)\n\n useEffect(() => {\n async function fetchUserOnMount() {\n await fetchFullUserEvent()\n setFetchedUserOnMount(true)\n }\n\n void fetchUserOnMount()\n }, [])\n\n useEffect(() => {\n if (!user && autoLogin && !autoLogin.prefillOnly) {\n void fetchFullUserEvent()\n }\n }, [user, autoLogin])\n\n useEffect(\n () => () => {\n authRequests.discardPendingResults()\n },\n [authRequests],\n )\n\n if (!user && !fetchedUserOnMount) {\n return null\n }\n\n return (\n <Context\n value={{\n authSession,\n fetchFullUser,\n logOut,\n permissions,\n refreshCookie: sessionTimers.scheduleRefresh,\n refreshCookieAsync,\n refreshPermissions,\n setPermissions,\n setUser,\n token: tokenInMemory,\n user,\n }}\n >\n {children}\n </Context>\n )\n}\n\nexport const useAuth = <T = AuthenticatedUser,>(): AuthContext<T> => use(Context) as AuthContext<T>\n"],"mappings":"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","ignoreList":[]}