@payloadcms/ui 3.68.0-internal-debug.e9b66ee → 3.68.0-internal.10bf491

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 (1194) hide show
  1. package/dist/@types/assets.d.js.map +1 -1
  2. package/dist/assets/index.js +0 -1
  3. package/dist/assets/index.js.map +1 -1
  4. package/dist/elements/AddNewRelation/index.js +276 -132
  5. package/dist/elements/AddNewRelation/index.js.map +1 -1
  6. package/dist/elements/AddNewRelation/types.js +1 -2
  7. package/dist/elements/AddNewRelation/types.js.map +1 -1
  8. package/dist/elements/AnimateHeight/index.js +72 -67
  9. package/dist/elements/AnimateHeight/index.js.map +1 -1
  10. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +68 -71
  11. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
  12. package/dist/elements/AppHeader/index.js +101 -60
  13. package/dist/elements/AppHeader/index.js.map +1 -1
  14. package/dist/elements/ArrayAction/index.js +118 -60
  15. package/dist/elements/ArrayAction/index.js.map +1 -1
  16. package/dist/elements/Autosave/index.js +167 -131
  17. package/dist/elements/Autosave/index.js.map +1 -1
  18. package/dist/elements/Banner/index.js +32 -23
  19. package/dist/elements/Banner/index.js.map +1 -1
  20. package/dist/elements/BulkUpload/ActionsBar/index.js +168 -60
  21. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  22. package/dist/elements/BulkUpload/AddFilesView/index.js +51 -27
  23. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/AddingFilesView/index.js +95 -21
  25. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  26. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +56 -17
  27. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +28 -6
  29. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/EditForm/index.js +169 -109
  31. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  32. package/dist/elements/BulkUpload/EditForm/types.js +1 -2
  33. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  34. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +172 -122
  35. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  36. package/dist/elements/BulkUpload/EditMany/index.js +58 -23
  37. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  38. package/dist/elements/BulkUpload/FileSidebar/index.js +315 -159
  39. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  40. package/dist/elements/BulkUpload/FormsManager/createFormData.js +32 -33
  41. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  42. package/dist/elements/BulkUpload/FormsManager/index.js +471 -484
  43. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  44. package/dist/elements/BulkUpload/FormsManager/reducer.js +90 -100
  45. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  46. package/dist/elements/BulkUpload/Header/index.js +16 -6
  47. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  48. package/dist/elements/BulkUpload/index.js +256 -138
  49. package/dist/elements/BulkUpload/index.js.map +1 -1
  50. package/dist/elements/Button/index.js +160 -110
  51. package/dist/elements/Button/index.js.map +1 -1
  52. package/dist/elements/Button/types.js +1 -14
  53. package/dist/elements/Button/types.js.map +1 -1
  54. package/dist/elements/Card/index.js +34 -19
  55. package/dist/elements/Card/index.js.map +1 -1
  56. package/dist/elements/CheckboxPopup/index.js +36 -17
  57. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  58. package/dist/elements/ClipboardAction/ClipboardActionLabel.js +35 -12
  59. package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
  60. package/dist/elements/ClipboardAction/clipboardUtilities.js +43 -33
  61. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  62. package/dist/elements/ClipboardAction/index.js +83 -60
  63. package/dist/elements/ClipboardAction/index.js.map +1 -1
  64. package/dist/elements/ClipboardAction/isClipboardDataValid.js +71 -64
  65. package/dist/elements/ClipboardAction/isClipboardDataValid.js.map +1 -1
  66. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +93 -75
  67. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  68. package/dist/elements/ClipboardAction/types.js +1 -2
  69. package/dist/elements/ClipboardAction/types.js.map +1 -1
  70. package/dist/elements/CloseModalButton/index.js +20 -12
  71. package/dist/elements/CloseModalButton/index.js.map +1 -1
  72. package/dist/elements/CloseModalOnRouteChange/index.js +43 -17
  73. package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
  74. package/dist/elements/CodeEditor/CodeEditor.js +97 -61
  75. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  76. package/dist/elements/CodeEditor/constants.js +14 -15
  77. package/dist/elements/CodeEditor/constants.js.map +1 -1
  78. package/dist/elements/CodeEditor/index.js +11 -7
  79. package/dist/elements/CodeEditor/index.js.map +1 -1
  80. package/dist/elements/CodeEditor/types.js +1 -4
  81. package/dist/elements/CodeEditor/types.js.map +1 -1
  82. package/dist/elements/Collapsible/index.js +141 -63
  83. package/dist/elements/Collapsible/index.js.map +1 -1
  84. package/dist/elements/Collapsible/provider.js +30 -24
  85. package/dist/elements/Collapsible/provider.js.map +1 -1
  86. package/dist/elements/ColumnSelector/index.js +55 -39
  87. package/dist/elements/ColumnSelector/index.js.map +1 -1
  88. package/dist/elements/Combobox/index.js +84 -66
  89. package/dist/elements/Combobox/index.js.map +1 -1
  90. package/dist/elements/ConfirmationModal/index.js +129 -57
  91. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  92. package/dist/elements/CopyLocaleData/index.js +274 -122
  93. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  94. package/dist/elements/CopyToClipboard/index.js +71 -24
  95. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  96. package/dist/elements/DatePicker/DatePicker.js +136 -85
  97. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  98. package/dist/elements/DatePicker/getFormattedLocale.js +10 -11
  99. package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
  100. package/dist/elements/DatePicker/index.js +12 -6
  101. package/dist/elements/DatePicker/index.js.map +1 -1
  102. package/dist/elements/DatePicker/types.js +1 -2
  103. package/dist/elements/DatePicker/types.js.map +1 -1
  104. package/dist/elements/DefaultListViewTabs/index.js +133 -59
  105. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  106. package/dist/elements/DeleteDocument/index.js +139 -108
  107. package/dist/elements/DeleteDocument/index.js.map +1 -1
  108. package/dist/elements/DeleteMany/index.js +326 -279
  109. package/dist/elements/DeleteMany/index.js.map +1 -1
  110. package/dist/elements/DocumentControls/index.js +274 -147
  111. package/dist/elements/DocumentControls/index.js.map +1 -1
  112. package/dist/elements/DocumentDrawer/DrawerContent.js +122 -127
  113. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  114. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +103 -35
  115. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  116. package/dist/elements/DocumentDrawer/Provider.js +18 -16
  117. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  118. package/dist/elements/DocumentDrawer/index.js +212 -88
  119. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  120. package/dist/elements/DocumentDrawer/types.js +1 -12
  121. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  122. package/dist/elements/DocumentFields/index.js +70 -43
  123. package/dist/elements/DocumentFields/index.js.map +1 -1
  124. package/dist/elements/DocumentLocked/index.js +174 -64
  125. package/dist/elements/DocumentLocked/index.js.map +1 -1
  126. package/dist/elements/DocumentTakeOver/index.js +111 -38
  127. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  128. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
  129. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +56 -16
  130. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  131. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +1 -2
  132. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  133. package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
  134. package/dist/elements/DraggableSortable/index.js +128 -52
  135. package/dist/elements/DraggableSortable/index.js.map +1 -1
  136. package/dist/elements/DraggableSortable/types.js +1 -2
  137. package/dist/elements/DraggableSortable/types.js.map +1 -1
  138. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  139. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +86 -25
  140. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  141. package/dist/elements/DraggableSortable/useDraggableSortable/types.js +1 -2
  142. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  143. package/dist/elements/Drawer/index.js +193 -70
  144. package/dist/elements/Drawer/index.js.map +1 -1
  145. package/dist/elements/Drawer/types.js +1 -2
  146. package/dist/elements/Drawer/types.js.map +1 -1
  147. package/dist/elements/Drawer/useDrawerSlug.js +19 -7
  148. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  149. package/dist/elements/DrawerActionHeader/index.js +62 -21
  150. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  151. package/dist/elements/DrawerContentContainer/index.js +10 -6
  152. package/dist/elements/DrawerContentContainer/index.js.map +1 -1
  153. package/dist/elements/Dropzone/index.js +75 -83
  154. package/dist/elements/Dropzone/index.js.map +1 -1
  155. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +88 -70
  156. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  157. package/dist/elements/DuplicateDocument/index.js +142 -121
  158. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  159. package/dist/elements/EditMany/DrawerContent.js +384 -234
  160. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  161. package/dist/elements/EditMany/index.js +131 -31
  162. package/dist/elements/EditMany/index.js.map +1 -1
  163. package/dist/elements/EditUpload/index.js +399 -293
  164. package/dist/elements/EditUpload/index.js.map +1 -1
  165. package/dist/elements/EmailAndUsername/index.js +69 -49
  166. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  167. package/dist/elements/ErrorPill/index.js +25 -18
  168. package/dist/elements/ErrorPill/index.js.map +1 -1
  169. package/dist/elements/FieldDiffContainer/index.js +32 -18
  170. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  171. package/dist/elements/FieldDiffLabel/index.js +8 -2
  172. package/dist/elements/FieldDiffLabel/index.js.map +1 -1
  173. package/dist/elements/FieldSelect/index.js +76 -23
  174. package/dist/elements/FieldSelect/index.js.map +1 -1
  175. package/dist/elements/FieldSelect/reduceFieldOptions.js +67 -69
  176. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  177. package/dist/elements/FileDetails/DraggableFileDetails/index.js +106 -33
  178. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  179. package/dist/elements/FileDetails/FileMeta/index.js +33 -22
  180. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  181. package/dist/elements/FileDetails/StaticFileDetails/index.js +59 -17
  182. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  183. package/dist/elements/FileDetails/index.js +15 -7
  184. package/dist/elements/FileDetails/index.js.map +1 -1
  185. package/dist/elements/FolderView/Breadcrumbs/index.js +87 -24
  186. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
  187. package/dist/elements/FolderView/BrowseByFolderButton/index.js +31 -15
  188. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
  189. package/dist/elements/FolderView/Cell/index.client.js +82 -65
  190. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  191. package/dist/elements/FolderView/Cell/index.server.js +15 -7
  192. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  193. package/dist/elements/FolderView/ColoredFolderIcon/index.js +4 -2
  194. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
  195. package/dist/elements/FolderView/CurrentFolderActions/index.js +125 -81
  196. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  197. package/dist/elements/FolderView/DragOverlaySelection/index.js +52 -33
  198. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
  199. package/dist/elements/FolderView/DraggableTableRow/index.js +54 -44
  200. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
  201. package/dist/elements/FolderView/DraggableWithClick/index.js +79 -63
  202. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
  203. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +31 -19
  204. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
  205. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +564 -274
  206. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  207. package/dist/elements/FolderView/FilterFolderTypePill/index.js +88 -32
  208. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
  209. package/dist/elements/FolderView/FolderField/index.server.js +10 -6
  210. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
  211. package/dist/elements/FolderView/FolderFileCard/index.js +186 -98
  212. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  213. package/dist/elements/FolderView/FolderFileTable/index.js +264 -134
  214. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
  215. package/dist/elements/FolderView/FolderTypeField/index.js +114 -64
  216. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
  217. package/dist/elements/FolderView/ItemCardGrid/index.js +27 -11
  218. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
  219. package/dist/elements/FolderView/MoveDocToFolder/index.js +260 -88
  220. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  221. package/dist/elements/FolderView/SimpleTable/index.js +84 -39
  222. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
  223. package/dist/elements/FolderView/SortByPill/index.js +101 -74
  224. package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
  225. package/dist/elements/FolderView/ToggleViewButtons/index.js +22 -14
  226. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
  227. package/dist/elements/FullscreenModal/index.js +22 -6
  228. package/dist/elements/FullscreenModal/index.js.map +1 -1
  229. package/dist/elements/GenerateConfirmation/index.js +83 -25
  230. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  231. package/dist/elements/GroupByBuilder/index.js +93 -76
  232. package/dist/elements/GroupByBuilder/index.js.map +1 -1
  233. package/dist/elements/Gutter/index.js +20 -15
  234. package/dist/elements/Gutter/index.js.map +1 -1
  235. package/dist/elements/HTMLDiff/diff/index.js +500 -522
  236. package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
  237. package/dist/elements/HTMLDiff/index.js +27 -16
  238. package/dist/elements/HTMLDiff/index.js.map +1 -1
  239. package/dist/elements/Hamburger/index.js +41 -13
  240. package/dist/elements/Hamburger/index.js.map +1 -1
  241. package/dist/elements/HydrateAuthProvider/index.js +27 -15
  242. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  243. package/dist/elements/IDLabel/index.js +58 -15
  244. package/dist/elements/IDLabel/index.js.map +1 -1
  245. package/dist/elements/LeaveWithoutSaving/index.js +142 -52
  246. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  247. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +129 -113
  248. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  249. package/dist/elements/Link/formatUrl.js +56 -53
  250. package/dist/elements/Link/formatUrl.js.map +1 -1
  251. package/dist/elements/Link/index.d.ts.map +1 -1
  252. package/dist/elements/Link/index.js +52 -38
  253. package/dist/elements/Link/index.js.map +1 -1
  254. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +17 -17
  255. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  256. package/dist/elements/ListControls/index.js +166 -80
  257. package/dist/elements/ListControls/index.js.map +1 -1
  258. package/dist/elements/ListControls/types.js +1 -8
  259. package/dist/elements/ListControls/types.js.map +1 -1
  260. package/dist/elements/ListDrawer/DrawerContent.js +169 -156
  261. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  262. package/dist/elements/ListDrawer/Provider.js +19 -22
  263. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  264. package/dist/elements/ListDrawer/index.js +231 -104
  265. package/dist/elements/ListDrawer/index.js.map +1 -1
  266. package/dist/elements/ListDrawer/types.js +1 -6
  267. package/dist/elements/ListDrawer/types.js.map +1 -1
  268. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +84 -19
  269. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  270. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +33 -10
  271. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  272. package/dist/elements/ListHeader/DrawerTitleActions/index.js +0 -1
  273. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
  274. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +73 -40
  275. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  276. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +41 -11
  277. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
  278. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +153 -63
  279. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  280. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +141 -114
  281. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  282. package/dist/elements/ListHeader/TitleActions/index.js +0 -1
  283. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  284. package/dist/elements/ListHeader/index.js +25 -17
  285. package/dist/elements/ListHeader/index.js.map +1 -1
  286. package/dist/elements/ListSelection/index.js +58 -34
  287. package/dist/elements/ListSelection/index.js.map +1 -1
  288. package/dist/elements/LivePreview/Device/index.js +79 -66
  289. package/dist/elements/LivePreview/Device/index.js.map +1 -1
  290. package/dist/elements/LivePreview/DeviceContainer/index.js +49 -22
  291. package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
  292. package/dist/elements/LivePreview/IFrame/index.js +45 -8
  293. package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
  294. package/dist/elements/LivePreview/Toggler/index.js +27 -15
  295. package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
  296. package/dist/elements/LivePreview/Toolbar/Controls/index.js +140 -62
  297. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  298. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +92 -49
  299. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  300. package/dist/elements/LivePreview/Toolbar/index.js +85 -33
  301. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  302. package/dist/elements/LivePreview/ToolbarArea/index.js +34 -8
  303. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  304. package/dist/elements/LivePreview/Window/index.js +167 -93
  305. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  306. package/dist/elements/Loading/index.js +144 -51
  307. package/dist/elements/Loading/index.js.map +1 -1
  308. package/dist/elements/LoadingOverlay/index.js +67 -51
  309. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  310. package/dist/elements/LoadingOverlay/reducer.js +29 -27
  311. package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
  312. package/dist/elements/LoadingOverlay/types.js +1 -2
  313. package/dist/elements/LoadingOverlay/types.js.map +1 -1
  314. package/dist/elements/Localizer/LocalizerLabel/index.js +52 -17
  315. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  316. package/dist/elements/Localizer/index.js +118 -51
  317. package/dist/elements/Localizer/index.js.map +1 -1
  318. package/dist/elements/Locked/index.js +60 -13
  319. package/dist/elements/Locked/index.js.map +1 -1
  320. package/dist/elements/Logout/index.js +50 -13
  321. package/dist/elements/Logout/index.js.map +1 -1
  322. package/dist/elements/Modal/index.js +1 -1
  323. package/dist/elements/Modal/index.js.map +1 -1
  324. package/dist/elements/Nav/NavToggler/index.js +81 -23
  325. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  326. package/dist/elements/Nav/context.js +103 -101
  327. package/dist/elements/Nav/context.js.map +1 -1
  328. package/dist/elements/NavGroup/index.js +122 -41
  329. package/dist/elements/NavGroup/index.js.map +1 -1
  330. package/dist/elements/NoListResults/index.js +14 -8
  331. package/dist/elements/NoListResults/index.js.map +1 -1
  332. package/dist/elements/PageControls/GroupByPageControls.js +72 -30
  333. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  334. package/dist/elements/PageControls/index.js +108 -19
  335. package/dist/elements/PageControls/index.js.map +1 -1
  336. package/dist/elements/Pagination/ClickableArrow/index.js +17 -11
  337. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  338. package/dist/elements/Pagination/Page/index.js +17 -11
  339. package/dist/elements/Pagination/Page/index.js.map +1 -1
  340. package/dist/elements/Pagination/Separator/index.js +6 -1
  341. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  342. package/dist/elements/Pagination/index.js +100 -82
  343. package/dist/elements/Pagination/index.js.map +1 -1
  344. package/dist/elements/PerPage/index.js +81 -29
  345. package/dist/elements/PerPage/index.js.map +1 -1
  346. package/dist/elements/PermanentlyDeleteButton/index.js +125 -103
  347. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  348. package/dist/elements/Pill/index.js +117 -47
  349. package/dist/elements/Pill/index.js.map +1 -1
  350. package/dist/elements/PillSelector/index.js +56 -37
  351. package/dist/elements/PillSelector/index.js.map +1 -1
  352. package/dist/elements/Popup/PopupButtonList/index.js +57 -38
  353. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  354. package/dist/elements/Popup/PopupDivider/index.js +6 -3
  355. package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
  356. package/dist/elements/Popup/PopupGroupLabel/index.js +9 -3
  357. package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
  358. package/dist/elements/Popup/PopupTrigger/index.js +111 -34
  359. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  360. package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
  361. package/dist/elements/Popup/index.js +162 -143
  362. package/dist/elements/Popup/index.js.map +1 -1
  363. package/dist/elements/PreviewButton/index.js +32 -9
  364. package/dist/elements/PreviewButton/index.js.map +1 -1
  365. package/dist/elements/PreviewSizes/index.js +129 -87
  366. package/dist/elements/PreviewSizes/index.js.map +1 -1
  367. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +111 -83
  368. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  369. package/dist/elements/PublishButton/ScheduleDrawer/index.js +306 -258
  370. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  371. package/dist/elements/PublishButton/ScheduleDrawer/types.js +1 -2
  372. package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
  373. package/dist/elements/PublishButton/index.js +183 -171
  374. package/dist/elements/PublishButton/index.js.map +1 -1
  375. package/dist/elements/PublishMany/DrawerContent.js +131 -121
  376. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  377. package/dist/elements/PublishMany/index.js +109 -24
  378. package/dist/elements/PublishMany/index.js.map +1 -1
  379. package/dist/elements/QueryPresets/QueryPresetBar/index.js +252 -196
  380. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  381. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +84 -30
  382. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  383. package/dist/elements/QueryPresets/cells/AccessCell/index.js +22 -23
  384. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
  385. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +20 -14
  386. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  387. package/dist/elements/QueryPresets/cells/GroupByCell/index.js +49 -46
  388. package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
  389. package/dist/elements/QueryPresets/cells/WhereCell/index.js +28 -22
  390. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
  391. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +48 -14
  392. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  393. package/dist/elements/QueryPresets/fields/GroupByField/index.js +75 -56
  394. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  395. package/dist/elements/QueryPresets/fields/WhereField/index.js +98 -60
  396. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  397. package/dist/elements/ReactSelect/ClearIndicator/index.js +28 -12
  398. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  399. package/dist/elements/ReactSelect/Control/index.js +36 -24
  400. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  401. package/dist/elements/ReactSelect/DropdownIndicator/index.js +24 -10
  402. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  403. package/dist/elements/ReactSelect/Input/index.js +13 -8
  404. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  405. package/dist/elements/ReactSelect/MultiValue/index.js +123 -32
  406. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  407. package/dist/elements/ReactSelect/MultiValueLabel/index.js +32 -14
  408. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  409. package/dist/elements/ReactSelect/MultiValueRemove/index.js +84 -19
  410. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  411. package/dist/elements/ReactSelect/SingleValue/index.js +14 -11
  412. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  413. package/dist/elements/ReactSelect/ValueContainer/index.js +30 -15
  414. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  415. package/dist/elements/ReactSelect/index.js +190 -112
  416. package/dist/elements/ReactSelect/index.js.map +1 -1
  417. package/dist/elements/ReactSelect/types.js +1 -9
  418. package/dist/elements/ReactSelect/types.js.map +1 -1
  419. package/dist/elements/RelationshipTable/AddNewButton.js +58 -28
  420. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  421. package/dist/elements/RelationshipTable/Pagination.js +49 -6
  422. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  423. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +35 -11
  424. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  425. package/dist/elements/RelationshipTable/index.js +258 -224
  426. package/dist/elements/RelationshipTable/index.js.map +1 -1
  427. package/dist/elements/RenderComponent/index.js +21 -9
  428. package/dist/elements/RenderComponent/index.js.map +1 -1
  429. package/dist/elements/RenderCustomComponent/index.js +5 -3
  430. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  431. package/dist/elements/RenderIfInViewport/index.js +58 -20
  432. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  433. package/dist/elements/RenderServerComponent/index.js +57 -44
  434. package/dist/elements/RenderServerComponent/index.js.map +1 -1
  435. package/dist/elements/RenderTitle/index.js +60 -20
  436. package/dist/elements/RenderTitle/index.js.map +1 -1
  437. package/dist/elements/RestoreButton/index.js +147 -119
  438. package/dist/elements/RestoreButton/index.js.map +1 -1
  439. package/dist/elements/RestoreMany/index.js +166 -127
  440. package/dist/elements/RestoreMany/index.js.map +1 -1
  441. package/dist/elements/SaveButton/index.js +50 -36
  442. package/dist/elements/SaveButton/index.js.map +1 -1
  443. package/dist/elements/SaveDraftButton/index.js +84 -67
  444. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  445. package/dist/elements/SearchBar/index.js +19 -10
  446. package/dist/elements/SearchBar/index.js.map +1 -1
  447. package/dist/elements/SearchFilter/index.js +53 -41
  448. package/dist/elements/SearchFilter/index.js.map +1 -1
  449. package/dist/elements/SearchFilter/types.js +1 -20
  450. package/dist/elements/SearchFilter/types.js.map +1 -1
  451. package/dist/elements/SelectAll/index.js +47 -8
  452. package/dist/elements/SelectAll/index.js.map +1 -1
  453. package/dist/elements/SelectMany/index.js +26 -15
  454. package/dist/elements/SelectMany/index.js.map +1 -1
  455. package/dist/elements/SelectRow/index.js +80 -12
  456. package/dist/elements/SelectRow/index.js.map +1 -1
  457. package/dist/elements/ShimmerEffect/index.js +73 -25
  458. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  459. package/dist/elements/SortColumn/index.js +107 -44
  460. package/dist/elements/SortColumn/index.js.map +1 -1
  461. package/dist/elements/SortComplex/index.js +162 -80
  462. package/dist/elements/SortComplex/index.js.map +1 -1
  463. package/dist/elements/SortHeader/index.js +88 -31
  464. package/dist/elements/SortHeader/index.js.map +1 -1
  465. package/dist/elements/SortRow/index.js +28 -7
  466. package/dist/elements/SortRow/index.js.map +1 -1
  467. package/dist/elements/Status/index.js +156 -119
  468. package/dist/elements/Status/index.js.map +1 -1
  469. package/dist/elements/StayLoggedIn/index.js +77 -26
  470. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  471. package/dist/elements/StepNav/SetStepNav.js +27 -10
  472. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  473. package/dist/elements/StepNav/context.js +33 -10
  474. package/dist/elements/StepNav/context.js.map +1 -1
  475. package/dist/elements/StepNav/index.js +93 -46
  476. package/dist/elements/StepNav/index.js.map +1 -1
  477. package/dist/elements/StepNav/types.js +1 -2
  478. package/dist/elements/StepNav/types.js.map +1 -1
  479. package/dist/elements/StickyToolbar/index.js +9 -2
  480. package/dist/elements/StickyToolbar/index.js.map +1 -1
  481. package/dist/elements/Table/DefaultCell/fields/Array/index.js +29 -6
  482. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  483. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +61 -27
  484. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  485. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +28 -6
  486. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  487. package/dist/elements/Table/DefaultCell/fields/Code/index.js +18 -9
  488. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  489. package/dist/elements/Table/DefaultCell/fields/Date/index.js +42 -17
  490. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  491. package/dist/elements/Table/DefaultCell/fields/File/index.js +43 -24
  492. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  493. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +13 -6
  494. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  495. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +180 -85
  496. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  497. package/dist/elements/Table/DefaultCell/fields/Select/index.js +45 -15
  498. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  499. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +10 -4
  500. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  501. package/dist/elements/Table/DefaultCell/fields/index.js +14 -14
  502. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  503. package/dist/elements/Table/DefaultCell/index.js +154 -71
  504. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  505. package/dist/elements/Table/OrderableRow.js +33 -19
  506. package/dist/elements/Table/OrderableRow.js.map +1 -1
  507. package/dist/elements/Table/OrderableRowDragPreview.js +15 -6
  508. package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
  509. package/dist/elements/Table/OrderableTable.js +162 -136
  510. package/dist/elements/Table/OrderableTable.js.map +1 -1
  511. package/dist/elements/Table/RelationshipProvider/index.js +160 -95
  512. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  513. package/dist/elements/Table/RelationshipProvider/reducer.js +42 -42
  514. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  515. package/dist/elements/Table/index.js +46 -33
  516. package/dist/elements/Table/index.js.map +1 -1
  517. package/dist/elements/Thumbnail/createThumbnail.js +48 -53
  518. package/dist/elements/Thumbnail/createThumbnail.js.map +1 -1
  519. package/dist/elements/Thumbnail/index.js +148 -76
  520. package/dist/elements/Thumbnail/index.js.map +1 -1
  521. package/dist/elements/ThumbnailCard/index.js +69 -22
  522. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  523. package/dist/elements/TimezonePicker/index.js +42 -21
  524. package/dist/elements/TimezonePicker/index.js.map +1 -1
  525. package/dist/elements/TimezonePicker/types.js +1 -2
  526. package/dist/elements/TimezonePicker/types.js.map +1 -1
  527. package/dist/elements/Toasts/fieldErrors.js +77 -44
  528. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  529. package/dist/elements/Tooltip/index.js +64 -62
  530. package/dist/elements/Tooltip/index.js.map +1 -1
  531. package/dist/elements/Translation/index.js +39 -25
  532. package/dist/elements/Translation/index.js.map +1 -1
  533. package/dist/elements/TrashBanner/index.js +26 -16
  534. package/dist/elements/TrashBanner/index.js.map +1 -1
  535. package/dist/elements/UnpublishMany/DrawerContent.js +124 -116
  536. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  537. package/dist/elements/UnpublishMany/index.js +109 -24
  538. package/dist/elements/UnpublishMany/index.js.map +1 -1
  539. package/dist/elements/Upload/index.js +478 -338
  540. package/dist/elements/Upload/index.js.map +1 -1
  541. package/dist/elements/ViewDescription/index.js +26 -7
  542. package/dist/elements/ViewDescription/index.js.map +1 -1
  543. package/dist/elements/ViewDescription/types.js.map +1 -1
  544. package/dist/elements/WhereBuilder/Condition/Date/index.js +30 -7
  545. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  546. package/dist/elements/WhereBuilder/Condition/Date/types.js +1 -2
  547. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  548. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +77 -30
  549. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  550. package/dist/elements/WhereBuilder/Condition/Number/index.js +129 -47
  551. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  552. package/dist/elements/WhereBuilder/Condition/Number/types.js +1 -2
  553. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  554. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +303 -316
  555. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  556. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +67 -83
  557. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  558. package/dist/elements/WhereBuilder/Condition/Relationship/types.js +1 -2
  559. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  560. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js +9 -10
  561. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js.map +1 -1
  562. package/dist/elements/WhereBuilder/Condition/Select/index.js +154 -56
  563. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  564. package/dist/elements/WhereBuilder/Condition/Select/types.js +1 -2
  565. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  566. package/dist/elements/WhereBuilder/Condition/Text/index.js +123 -46
  567. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  568. package/dist/elements/WhereBuilder/Condition/Text/types.js +1 -2
  569. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  570. package/dist/elements/WhereBuilder/Condition/index.js +141 -106
  571. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  572. package/dist/elements/WhereBuilder/Condition/types.js +1 -2
  573. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  574. package/dist/elements/WhereBuilder/Condition/validOperators.js +33 -32
  575. package/dist/elements/WhereBuilder/Condition/validOperators.js.map +1 -1
  576. package/dist/elements/WhereBuilder/field-types.js +119 -192
  577. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  578. package/dist/elements/WhereBuilder/index.js +189 -149
  579. package/dist/elements/WhereBuilder/index.js.map +1 -1
  580. package/dist/elements/WhereBuilder/types.js +1 -2
  581. package/dist/elements/WhereBuilder/types.js.map +1 -1
  582. package/dist/elements/WindowInfo/index.js +1 -1
  583. package/dist/elements/WindowInfo/index.js.map +1 -1
  584. package/dist/elements/WithServerSideProps/index.js +20 -13
  585. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  586. package/dist/elements/withMergedProps/index.js +27 -19
  587. package/dist/elements/withMergedProps/index.js.map +1 -1
  588. package/dist/exports/client/CodeEditor-YX3DTLLV.js +14 -0
  589. package/dist/exports/client/CodeEditor-YX3DTLLV.js.map +7 -0
  590. package/dist/exports/client/DatePicker-2OLXCNL2.js +14 -0
  591. package/dist/exports/client/DatePicker-2OLXCNL2.js.map +7 -0
  592. package/dist/exports/client/chunk-5LKBKI4T.js +14 -0
  593. package/dist/exports/client/chunk-5LKBKI4T.js.map +7 -0
  594. package/dist/exports/client/chunk-AIZM2QMN.js +27 -0
  595. package/dist/exports/client/chunk-AIZM2QMN.js.map +7 -0
  596. package/dist/exports/client/chunk-Q5DN4XRL.js +29 -0
  597. package/dist/exports/client/chunk-Q5DN4XRL.js.map +7 -0
  598. package/dist/exports/client/index.js +96 -296
  599. package/dist/exports/client/index.js.map +7 -1
  600. package/dist/exports/rsc/index.js +0 -1
  601. package/dist/exports/rsc/index.js.map +1 -1
  602. package/dist/exports/shared/index.js +6 -32
  603. package/dist/exports/shared/index.js.map +7 -1
  604. package/dist/fields/Array/ArrayRow.js +164 -25
  605. package/dist/fields/Array/ArrayRow.js.map +1 -1
  606. package/dist/fields/Array/index.js +395 -304
  607. package/dist/fields/Array/index.js.map +1 -1
  608. package/dist/fields/Blocks/BlockRow.js +198 -55
  609. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  610. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +39 -10
  611. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  612. package/dist/fields/Blocks/BlockSelector/index.js +104 -88
  613. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  614. package/dist/fields/Blocks/BlocksDrawer/index.js +79 -21
  615. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  616. package/dist/fields/Blocks/RowActions.js +104 -16
  617. package/dist/fields/Blocks/RowActions.js.map +1 -1
  618. package/dist/fields/Blocks/SectionTitle/index.js +79 -16
  619. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  620. package/dist/fields/Blocks/index.js +424 -322
  621. package/dist/fields/Blocks/index.js.map +1 -1
  622. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  623. package/dist/fields/Checkbox/Input.js +101 -25
  624. package/dist/fields/Checkbox/Input.js.map +1 -1
  625. package/dist/fields/Checkbox/index.js +100 -53
  626. package/dist/fields/Checkbox/index.js.map +1 -1
  627. package/dist/fields/Code/index.js +114 -72
  628. package/dist/fields/Code/index.js.map +1 -1
  629. package/dist/fields/Collapsible/index.js +135 -91
  630. package/dist/fields/Collapsible/index.js.map +1 -1
  631. package/dist/fields/ConfirmPassword/index.js +84 -25
  632. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  633. package/dist/fields/DateTime/index.js +171 -134
  634. package/dist/fields/DateTime/index.js.map +1 -1
  635. package/dist/fields/Email/index.js +87 -40
  636. package/dist/fields/Email/index.js.map +1 -1
  637. package/dist/fields/FieldDescription/index.js +44 -14
  638. package/dist/fields/FieldDescription/index.js.map +1 -1
  639. package/dist/fields/FieldError/index.js +59 -13
  640. package/dist/fields/FieldError/index.js.map +1 -1
  641. package/dist/fields/FieldLabel/index.js +46 -19
  642. package/dist/fields/FieldLabel/index.js.map +1 -1
  643. package/dist/fields/Group/index.js +103 -50
  644. package/dist/fields/Group/index.js.map +1 -1
  645. package/dist/fields/Group/provider.js +13 -6
  646. package/dist/fields/Group/provider.js.map +1 -1
  647. package/dist/fields/Hidden/index.js +68 -17
  648. package/dist/fields/Hidden/index.js.map +1 -1
  649. package/dist/fields/JSON/index.js +143 -110
  650. package/dist/fields/JSON/index.js.map +1 -1
  651. package/dist/fields/Join/index.js +186 -143
  652. package/dist/fields/Join/index.js.map +1 -1
  653. package/dist/fields/Number/index.js +168 -114
  654. package/dist/fields/Number/index.js.map +1 -1
  655. package/dist/fields/Password/index.js +102 -56
  656. package/dist/fields/Password/index.js.map +1 -1
  657. package/dist/fields/Password/input.js +121 -23
  658. package/dist/fields/Password/input.js.map +1 -1
  659. package/dist/fields/Password/types.js +1 -12
  660. package/dist/fields/Password/types.js.map +1 -1
  661. package/dist/fields/Point/index.js +128 -76
  662. package/dist/fields/Point/index.js.map +1 -1
  663. package/dist/fields/RadioGroup/Radio/index.js +82 -19
  664. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  665. package/dist/fields/RadioGroup/index.js +113 -63
  666. package/dist/fields/RadioGroup/index.js.map +1 -1
  667. package/dist/fields/Relationship/Input.js +713 -668
  668. package/dist/fields/Relationship/Input.js.map +1 -1
  669. package/dist/fields/Relationship/createRelationMap.js +33 -31
  670. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  671. package/dist/fields/Relationship/findOptionsByValue.js +32 -28
  672. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  673. package/dist/fields/Relationship/index.js +159 -118
  674. package/dist/fields/Relationship/index.js.map +1 -1
  675. package/dist/fields/Relationship/optionsReducer.js +139 -144
  676. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  677. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +79 -37
  678. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  679. package/dist/fields/Relationship/select-components/SingleValue/index.js +119 -40
  680. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  681. package/dist/fields/Relationship/types.js +1 -2
  682. package/dist/fields/Relationship/types.js.map +1 -1
  683. package/dist/fields/RichText/index.js +3 -3
  684. package/dist/fields/RichText/index.js.map +1 -1
  685. package/dist/fields/Row/index.js +36 -12
  686. package/dist/fields/Row/index.js.map +1 -1
  687. package/dist/fields/Row/provider.js +13 -6
  688. package/dist/fields/Row/provider.js.map +1 -1
  689. package/dist/fields/Select/Input.js +166 -36
  690. package/dist/fields/Select/Input.js.map +1 -1
  691. package/dist/fields/Select/index.js +108 -60
  692. package/dist/fields/Select/index.js.map +1 -1
  693. package/dist/fields/Slug/index.js +135 -59
  694. package/dist/fields/Slug/index.js.map +1 -1
  695. package/dist/fields/Tabs/Tab/index.js +60 -23
  696. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  697. package/dist/fields/Tabs/index.js +446 -160
  698. package/dist/fields/Tabs/index.js.map +1 -1
  699. package/dist/fields/Tabs/provider.js +13 -6
  700. package/dist/fields/Tabs/provider.js.map +1 -1
  701. package/dist/fields/Text/Input.js +189 -69
  702. package/dist/fields/Text/Input.js.map +1 -1
  703. package/dist/fields/Text/index.js +127 -78
  704. package/dist/fields/Text/index.js.map +1 -1
  705. package/dist/fields/Text/types.js +1 -2
  706. package/dist/fields/Text/types.js.map +1 -1
  707. package/dist/fields/Textarea/Input.js +116 -24
  708. package/dist/fields/Textarea/Input.js.map +1 -1
  709. package/dist/fields/Textarea/index.js +89 -37
  710. package/dist/fields/Textarea/index.js.map +1 -1
  711. package/dist/fields/Textarea/types.js +1 -2
  712. package/dist/fields/Textarea/types.js.map +1 -1
  713. package/dist/fields/UI/index.js +3 -3
  714. package/dist/fields/UI/index.js.map +1 -1
  715. package/dist/fields/Upload/HasMany/index.js +183 -73
  716. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  717. package/dist/fields/Upload/HasOne/index.js +61 -32
  718. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  719. package/dist/fields/Upload/Input.js +563 -565
  720. package/dist/fields/Upload/Input.js.map +1 -1
  721. package/dist/fields/Upload/RelationshipContent/index.js +143 -51
  722. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  723. package/dist/fields/Upload/UploadCard/index.js +11 -9
  724. package/dist/fields/Upload/UploadCard/index.js.map +1 -1
  725. package/dist/fields/Upload/index.js +96 -43
  726. package/dist/fields/Upload/index.js.map +1 -1
  727. package/dist/fields/Upload/types.js +1 -3
  728. package/dist/fields/Upload/types.js.map +1 -1
  729. package/dist/fields/index.js +31 -31
  730. package/dist/fields/index.js.map +1 -1
  731. package/dist/fields/mergeFieldStyles.js +12 -13
  732. package/dist/fields/mergeFieldStyles.js.map +1 -1
  733. package/dist/fields/shared/index.js +17 -8
  734. package/dist/fields/shared/index.js.map +1 -1
  735. package/dist/forms/Form/context.js +24 -17
  736. package/dist/forms/Form/context.js.map +1 -1
  737. package/dist/forms/Form/createNestedClientFieldPath.js +11 -11
  738. package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -1
  739. package/dist/forms/Form/errorMessages.js +2 -2
  740. package/dist/forms/Form/errorMessages.js.map +1 -1
  741. package/dist/forms/Form/fieldReducer.js +412 -378
  742. package/dist/forms/Form/fieldReducer.js.map +1 -1
  743. package/dist/forms/Form/index.js +684 -684
  744. package/dist/forms/Form/index.js.map +1 -1
  745. package/dist/forms/Form/initContextState.js +38 -38
  746. package/dist/forms/Form/initContextState.js.map +1 -1
  747. package/dist/forms/Form/mergeServerFormState.js +97 -93
  748. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  749. package/dist/forms/Form/reduceToSerializableFields.js +17 -20
  750. package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
  751. package/dist/forms/Form/rowHelpers.js +34 -27
  752. package/dist/forms/Form/rowHelpers.js.map +1 -1
  753. package/dist/forms/Form/rows.js +34 -34
  754. package/dist/forms/Form/rows.js.map +1 -1
  755. package/dist/forms/Form/types.js +1 -53
  756. package/dist/forms/Form/types.js.map +1 -1
  757. package/dist/forms/NullifyField/index.js +96 -44
  758. package/dist/forms/NullifyField/index.js.map +1 -1
  759. package/dist/forms/RenderFields/RenderField.js +260 -58
  760. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  761. package/dist/forms/RenderFields/context.js +9 -9
  762. package/dist/forms/RenderFields/context.js.map +1 -1
  763. package/dist/forms/RenderFields/index.js +117 -51
  764. package/dist/forms/RenderFields/index.js.map +1 -1
  765. package/dist/forms/RenderFields/types.js +1 -2
  766. package/dist/forms/RenderFields/types.js.map +1 -1
  767. package/dist/forms/RowLabel/Context/index.js +29 -22
  768. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  769. package/dist/forms/RowLabel/index.js +25 -13
  770. package/dist/forms/RowLabel/index.js.map +1 -1
  771. package/dist/forms/RowLabel/types.js +1 -2
  772. package/dist/forms/RowLabel/types.js.map +1 -1
  773. package/dist/forms/Submit/index.js +36 -16
  774. package/dist/forms/Submit/index.js.map +1 -1
  775. package/dist/forms/WatchChildErrors/buildPathSegments.js +29 -29
  776. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  777. package/dist/forms/WatchChildErrors/index.js +66 -41
  778. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  779. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +683 -654
  780. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  781. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +22 -14
  782. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  783. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +26 -17
  784. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  785. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +198 -186
  786. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  787. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +54 -61
  788. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -1
  789. package/dist/forms/fieldSchemasToFormState/index.js +79 -90
  790. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  791. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js +16 -12
  792. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js.map +1 -1
  793. package/dist/forms/fieldSchemasToFormState/iterateFields.js +116 -95
  794. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  795. package/dist/forms/fieldSchemasToFormState/renderField.js +274 -255
  796. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  797. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +75 -90
  798. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
  799. package/dist/forms/fieldSchemasToFormState/types.js +1 -6
  800. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  801. package/dist/forms/useField/index.js +292 -180
  802. package/dist/forms/useField/index.js.map +1 -1
  803. package/dist/forms/useField/types.js +1 -20
  804. package/dist/forms/useField/types.js.map +1 -1
  805. package/dist/forms/withCondition/WatchCondition.js +27 -9
  806. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  807. package/dist/forms/withCondition/index.js +16 -9
  808. package/dist/forms/withCondition/index.js.map +1 -1
  809. package/dist/graphics/Account/Default/index.js +23 -9
  810. package/dist/graphics/Account/Default/index.js.map +1 -1
  811. package/dist/graphics/Account/Gravatar/index.js +35 -13
  812. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  813. package/dist/graphics/Account/index.js +52 -13
  814. package/dist/graphics/Account/index.js.map +1 -1
  815. package/dist/graphics/DefaultBlockImage/index.js +63 -19
  816. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  817. package/dist/graphics/File/index.js +18 -7
  818. package/dist/graphics/File/index.js.map +1 -1
  819. package/dist/graphics/Icon/index.js +20 -7
  820. package/dist/graphics/Icon/index.js.map +1 -1
  821. package/dist/graphics/Logo/index.js +40 -18
  822. package/dist/graphics/Logo/index.js.map +1 -1
  823. package/dist/hooks/useClickOutside.js +15 -19
  824. package/dist/hooks/useClickOutside.js.map +1 -1
  825. package/dist/hooks/useControllableState.js +35 -25
  826. package/dist/hooks/useControllableState.js.map +1 -1
  827. package/dist/hooks/useDebounce.js +26 -15
  828. package/dist/hooks/useDebounce.js.map +1 -1
  829. package/dist/hooks/useDebouncedCallback.js +23 -15
  830. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  831. package/dist/hooks/useDebouncedEffect.js +53 -18
  832. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  833. package/dist/hooks/useDelay.js +52 -27
  834. package/dist/hooks/useDelay.js.map +1 -1
  835. package/dist/hooks/useDelayedRender.js +76 -42
  836. package/dist/hooks/useDelayedRender.js.map +1 -1
  837. package/dist/hooks/useEffectEvent.js +33 -12
  838. package/dist/hooks/useEffectEvent.js.map +1 -1
  839. package/dist/hooks/useHotkey.js +110 -96
  840. package/dist/hooks/useHotkey.js.map +1 -1
  841. package/dist/hooks/useIntersect.js +59 -28
  842. package/dist/hooks/useIntersect.js.map +1 -1
  843. package/dist/hooks/usePayloadAPI.js +172 -78
  844. package/dist/hooks/usePayloadAPI.js.map +1 -1
  845. package/dist/hooks/usePopupWindow.js +133 -91
  846. package/dist/hooks/usePopupWindow.js.map +1 -1
  847. package/dist/hooks/useQueue.js +38 -48
  848. package/dist/hooks/useQueue.js.map +1 -1
  849. package/dist/hooks/useRelatedCollections.js +27 -15
  850. package/dist/hooks/useRelatedCollections.js.map +1 -1
  851. package/dist/hooks/useResize.js +70 -42
  852. package/dist/hooks/useResize.js.map +1 -1
  853. package/dist/hooks/useThrottledEffect.js +51 -17
  854. package/dist/hooks/useThrottledEffect.js.map +1 -1
  855. package/dist/hooks/useThrottledValue.js +13 -16
  856. package/dist/hooks/useThrottledValue.js.map +1 -1
  857. package/dist/hooks/useUseAsTitle.js +27 -7
  858. package/dist/hooks/useUseAsTitle.js.map +1 -1
  859. package/dist/icons/Calendar/index.js +12 -4
  860. package/dist/icons/Calendar/index.js.map +1 -1
  861. package/dist/icons/Check/index.js +12 -4
  862. package/dist/icons/Check/index.js.map +1 -1
  863. package/dist/icons/Chevron/index.js +23 -10
  864. package/dist/icons/Chevron/index.js.map +1 -1
  865. package/dist/icons/CloseMenu/index.js +12 -4
  866. package/dist/icons/CloseMenu/index.js.map +1 -1
  867. package/dist/icons/CodeBlock/index.js +14 -4
  868. package/dist/icons/CodeBlock/index.js.map +1 -1
  869. package/dist/icons/Copy/index.js +18 -4
  870. package/dist/icons/Copy/index.js.map +1 -1
  871. package/dist/icons/Document/index.js +17 -5
  872. package/dist/icons/Document/index.js.map +1 -1
  873. package/dist/icons/Dots/index.js +12 -11
  874. package/dist/icons/Dots/index.js.map +1 -1
  875. package/dist/icons/DragHandle/index.js +34 -12
  876. package/dist/icons/DragHandle/index.js.map +1 -1
  877. package/dist/icons/Edit/index.js +14 -7
  878. package/dist/icons/Edit/index.js.map +1 -1
  879. package/dist/icons/ExternalLink/index.js +16 -9
  880. package/dist/icons/ExternalLink/index.js.map +1 -1
  881. package/dist/icons/Eye/index.js +26 -13
  882. package/dist/icons/Eye/index.js.map +1 -1
  883. package/dist/icons/Folder/index.js +17 -8
  884. package/dist/icons/Folder/index.js.map +1 -1
  885. package/dist/icons/Gear/index.js +22 -9
  886. package/dist/icons/Gear/index.js.map +1 -1
  887. package/dist/icons/GridView/index.js +32 -8
  888. package/dist/icons/GridView/index.js.map +1 -1
  889. package/dist/icons/Line/index.js +15 -4
  890. package/dist/icons/Line/index.js.map +1 -1
  891. package/dist/icons/Link/index.js +17 -4
  892. package/dist/icons/Link/index.js.map +1 -1
  893. package/dist/icons/ListView/index.js +17 -5
  894. package/dist/icons/ListView/index.js.map +1 -1
  895. package/dist/icons/Lock/index.js +25 -8
  896. package/dist/icons/Lock/index.js.map +1 -1
  897. package/dist/icons/LogOut/index.js +15 -4
  898. package/dist/icons/LogOut/index.js.map +1 -1
  899. package/dist/icons/Menu/index.js +15 -4
  900. package/dist/icons/Menu/index.js.map +1 -1
  901. package/dist/icons/MinimizeMaximize/index.js +20 -10
  902. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  903. package/dist/icons/More/index.js +22 -9
  904. package/dist/icons/More/index.js.map +1 -1
  905. package/dist/icons/MoveFolder/index.js +35 -11
  906. package/dist/icons/MoveFolder/index.js.map +1 -1
  907. package/dist/icons/People/index.js +18 -8
  908. package/dist/icons/People/index.js.map +1 -1
  909. package/dist/icons/Plus/index.js +14 -4
  910. package/dist/icons/Plus/index.js.map +1 -1
  911. package/dist/icons/Search/index.js +13 -4
  912. package/dist/icons/Search/index.js.map +1 -1
  913. package/dist/icons/Sort/index.js +36 -7
  914. package/dist/icons/Sort/index.js.map +1 -1
  915. package/dist/icons/Swap/index.js +12 -4
  916. package/dist/icons/Swap/index.js.map +1 -1
  917. package/dist/icons/ThreeDots/index.js +9 -7
  918. package/dist/icons/ThreeDots/index.js.map +1 -1
  919. package/dist/icons/Trash/index.js +19 -8
  920. package/dist/icons/Trash/index.js.map +1 -1
  921. package/dist/icons/X/index.js +16 -7
  922. package/dist/icons/X/index.js.map +1 -1
  923. package/dist/providers/Actions/index.js +32 -14
  924. package/dist/providers/Actions/index.js.map +1 -1
  925. package/dist/providers/Auth/index.js +228 -276
  926. package/dist/providers/Auth/index.js.map +1 -1
  927. package/dist/providers/ClickOutside/index.js +36 -28
  928. package/dist/providers/ClickOutside/index.js.map +1 -1
  929. package/dist/providers/ClientFunction/index.js +103 -49
  930. package/dist/providers/ClientFunction/index.js.map +1 -1
  931. package/dist/providers/Config/index.js +92 -77
  932. package/dist/providers/Config/index.js.map +1 -1
  933. package/dist/providers/DocumentEvents/index.js +29 -10
  934. package/dist/providers/DocumentEvents/index.js.map +1 -1
  935. package/dist/providers/DocumentInfo/index.js +325 -310
  936. package/dist/providers/DocumentInfo/index.js.map +1 -1
  937. package/dist/providers/DocumentInfo/types.js +1 -26
  938. package/dist/providers/DocumentInfo/types.js.map +1 -1
  939. package/dist/providers/DocumentInfo/useGetDocPermissions.js +70 -72
  940. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
  941. package/dist/providers/DocumentTitle/context.js.map +1 -1
  942. package/dist/providers/DocumentTitle/index.js +55 -43
  943. package/dist/providers/DocumentTitle/index.js.map +1 -1
  944. package/dist/providers/EditDepth/index.js +26 -8
  945. package/dist/providers/EditDepth/index.js.map +1 -1
  946. package/dist/providers/EntityVisibility/index.js +48 -20
  947. package/dist/providers/EntityVisibility/index.js.map +1 -1
  948. package/dist/providers/Folders/groupItemIDsByRelation.js +7 -8
  949. package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -1
  950. package/dist/providers/Folders/index.js +595 -688
  951. package/dist/providers/Folders/index.js.map +1 -1
  952. package/dist/providers/ListQuery/context.js +2 -3
  953. package/dist/providers/ListQuery/context.js.map +1 -1
  954. package/dist/providers/ListQuery/index.js +139 -142
  955. package/dist/providers/ListQuery/index.js.map +1 -1
  956. package/dist/providers/ListQuery/mergeQuery.js +31 -49
  957. package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
  958. package/dist/providers/ListQuery/sanitizeQuery.js +23 -24
  959. package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
  960. package/dist/providers/ListQuery/types.js +1 -6
  961. package/dist/providers/ListQuery/types.js.map +1 -1
  962. package/dist/providers/LivePreview/collisionDetection.js +24 -21
  963. package/dist/providers/LivePreview/collisionDetection.js.map +1 -1
  964. package/dist/providers/LivePreview/context.js +55 -60
  965. package/dist/providers/LivePreview/context.js.map +1 -1
  966. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  967. package/dist/providers/LivePreview/index.js +209 -214
  968. package/dist/providers/LivePreview/index.js.map +1 -1
  969. package/dist/providers/LivePreview/sizeReducer.js +18 -19
  970. package/dist/providers/LivePreview/sizeReducer.js.map +1 -1
  971. package/dist/providers/Locale/index.js +145 -74
  972. package/dist/providers/Locale/index.js.map +1 -1
  973. package/dist/providers/Operation/index.js +11 -4
  974. package/dist/providers/Operation/index.js.map +1 -1
  975. package/dist/providers/Params/index.js +27 -7
  976. package/dist/providers/Params/index.js.map +1 -1
  977. package/dist/providers/Preferences/index.js +115 -116
  978. package/dist/providers/Preferences/index.js.map +1 -1
  979. package/dist/providers/Root/index.d.ts.map +1 -1
  980. package/dist/providers/Root/index.js +116 -57
  981. package/dist/providers/Root/index.js.map +1 -1
  982. package/dist/providers/RouteCache/index.js +103 -45
  983. package/dist/providers/RouteCache/index.js.map +1 -1
  984. package/dist/providers/RouteTransition/ProgressBar/index.js +79 -46
  985. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  986. package/dist/providers/RouteTransition/index.js +87 -56
  987. package/dist/providers/RouteTransition/index.js.map +1 -1
  988. package/dist/providers/ScrollInfo/index.js +1 -1
  989. package/dist/providers/ScrollInfo/index.js.map +1 -1
  990. package/dist/providers/SearchParams/index.js +35 -28
  991. package/dist/providers/SearchParams/index.js.map +1 -1
  992. package/dist/providers/Selection/index.js +184 -196
  993. package/dist/providers/Selection/index.js.map +1 -1
  994. package/dist/providers/ServerFunctions/index.js +189 -193
  995. package/dist/providers/ServerFunctions/index.js.map +1 -1
  996. package/dist/providers/TableColumns/RenderDefaultCell/index.js +62 -21
  997. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  998. package/dist/providers/TableColumns/buildColumnState/filterFields.js +32 -32
  999. package/dist/providers/TableColumns/buildColumnState/filterFields.js.map +1 -1
  1000. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js +52 -50
  1001. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js.map +1 -1
  1002. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js +2 -3
  1003. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js.map +1 -1
  1004. package/dist/providers/TableColumns/buildColumnState/index.js +144 -121
  1005. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  1006. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js +14 -10
  1007. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js.map +1 -1
  1008. package/dist/providers/TableColumns/buildColumnState/renderCell.js +151 -133
  1009. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  1010. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js +15 -16
  1011. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js.map +1 -1
  1012. package/dist/providers/TableColumns/context.js +1 -2
  1013. package/dist/providers/TableColumns/context.js.map +1 -1
  1014. package/dist/providers/TableColumns/getInitialColumns.js +28 -42
  1015. package/dist/providers/TableColumns/getInitialColumns.js.map +1 -1
  1016. package/dist/providers/TableColumns/index.js +85 -82
  1017. package/dist/providers/TableColumns/index.js.map +1 -1
  1018. package/dist/providers/TableColumns/types.js +1 -18
  1019. package/dist/providers/TableColumns/types.js.map +1 -1
  1020. package/dist/providers/Theme/index.js +102 -59
  1021. package/dist/providers/Theme/index.js.map +1 -1
  1022. package/dist/providers/ToastContainer/icons/Error.js +20 -6
  1023. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  1024. package/dist/providers/ToastContainer/icons/Info.js +20 -6
  1025. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  1026. package/dist/providers/ToastContainer/icons/Success.js +20 -6
  1027. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  1028. package/dist/providers/ToastContainer/icons/Warning.js +20 -6
  1029. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  1030. package/dist/providers/ToastContainer/index.js +48 -23
  1031. package/dist/providers/ToastContainer/index.js.map +1 -1
  1032. package/dist/providers/Translation/index.js +108 -56
  1033. package/dist/providers/Translation/index.js.map +1 -1
  1034. package/dist/providers/UploadControls/index.js +35 -17
  1035. package/dist/providers/UploadControls/index.js.map +1 -1
  1036. package/dist/providers/UploadEdits/index.js +69 -21
  1037. package/dist/providers/UploadEdits/index.js.map +1 -1
  1038. package/dist/providers/UploadHandlers/index.js +63 -20
  1039. package/dist/providers/UploadHandlers/index.js.map +1 -1
  1040. package/dist/providers/WindowInfo/index.js +9 -5
  1041. package/dist/providers/WindowInfo/index.js.map +1 -1
  1042. package/dist/styles.css +1 -0
  1043. package/dist/utilities/abortAndIgnore.js +17 -15
  1044. package/dist/utilities/abortAndIgnore.js.map +1 -1
  1045. package/dist/utilities/api.js +77 -78
  1046. package/dist/utilities/api.js.map +1 -1
  1047. package/dist/utilities/buildClientFieldSchemaMap/index.js +65 -61
  1048. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  1049. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +154 -142
  1050. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  1051. package/dist/utilities/buildFieldSchemaMap/index.js +61 -59
  1052. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  1053. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +122 -110
  1054. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  1055. package/dist/utilities/buildFormState.js +186 -151
  1056. package/dist/utilities/buildFormState.js.map +1 -1
  1057. package/dist/utilities/buildTableState.js +168 -145
  1058. package/dist/utilities/buildTableState.js.map +1 -1
  1059. package/dist/utilities/canUseDOM.js +0 -1
  1060. package/dist/utilities/canUseDOM.js.map +1 -1
  1061. package/dist/utilities/combineFieldLabel.js +25 -14
  1062. package/dist/utilities/combineFieldLabel.js.map +1 -1
  1063. package/dist/utilities/copyDataFromLocale.js +210 -202
  1064. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  1065. package/dist/utilities/dateLocales.js +27 -28
  1066. package/dist/utilities/dateLocales.js.map +1 -1
  1067. package/dist/utilities/deepMerge.js +13 -14
  1068. package/dist/utilities/deepMerge.js.map +1 -1
  1069. package/dist/utilities/fetchPreferences.js.map +1 -1
  1070. package/dist/utilities/filterOutUploadFields.js +4 -17
  1071. package/dist/utilities/filterOutUploadFields.js.map +1 -1
  1072. package/dist/utilities/findLocaleFromCode.js +5 -6
  1073. package/dist/utilities/findLocaleFromCode.js.map +1 -1
  1074. package/dist/utilities/formatAbsoluteURL.js +8 -8
  1075. package/dist/utilities/formatAbsoluteURL.js.map +1 -1
  1076. package/dist/utilities/formatAdminURL.js +1 -2
  1077. package/dist/utilities/formatAdminURL.js.map +1 -1
  1078. package/dist/utilities/formatDocTitle/formatDateTitle.js +27 -20
  1079. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  1080. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js +13 -14
  1081. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -1
  1082. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js +13 -14
  1083. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js.map +1 -1
  1084. package/dist/utilities/formatDocTitle/index.js +44 -38
  1085. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  1086. package/dist/utilities/formatFields.js +1 -2
  1087. package/dist/utilities/formatFields.js.map +1 -1
  1088. package/dist/utilities/generateFieldID.js +5 -6
  1089. package/dist/utilities/generateFieldID.js.map +1 -1
  1090. package/dist/utilities/getClientConfig.js +29 -25
  1091. package/dist/utilities/getClientConfig.js.map +1 -1
  1092. package/dist/utilities/getClientSchemaMap.js +32 -24
  1093. package/dist/utilities/getClientSchemaMap.js.map +1 -1
  1094. package/dist/utilities/getColumns.js +35 -29
  1095. package/dist/utilities/getColumns.js.map +1 -1
  1096. package/dist/utilities/getDisplayedFieldValue.js +16 -16
  1097. package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
  1098. package/dist/utilities/getFolderResultsComponentAndData.js +121 -105
  1099. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
  1100. package/dist/utilities/getOffsetTop.js +13 -14
  1101. package/dist/utilities/getOffsetTop.js.map +1 -1
  1102. package/dist/utilities/getRequestLanguage.js +8 -5
  1103. package/dist/utilities/getRequestLanguage.js.map +1 -1
  1104. package/dist/utilities/getSchemaMap.js +28 -22
  1105. package/dist/utilities/getSchemaMap.js.map +1 -1
  1106. package/dist/utilities/getSupportedMonacoLocale.js +13 -14
  1107. package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
  1108. package/dist/utilities/groupNavItems.js +49 -53
  1109. package/dist/utilities/groupNavItems.js.map +1 -1
  1110. package/dist/utilities/handleBackToDashboard.js +9 -7
  1111. package/dist/utilities/handleBackToDashboard.js.map +1 -1
  1112. package/dist/utilities/handleFormStateLocking.js +121 -127
  1113. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  1114. package/dist/utilities/handleGoBack.js +10 -7
  1115. package/dist/utilities/handleGoBack.js.map +1 -1
  1116. package/dist/utilities/handleLivePreview.js +76 -59
  1117. package/dist/utilities/handleLivePreview.js.map +1 -1
  1118. package/dist/utilities/handlePreview.js +52 -41
  1119. package/dist/utilities/handlePreview.js.map +1 -1
  1120. package/dist/utilities/handleTakeOver.js +39 -28
  1121. package/dist/utilities/handleTakeOver.js.map +1 -1
  1122. package/dist/utilities/hasOptionLabelJSXElement.js +11 -9
  1123. package/dist/utilities/hasOptionLabelJSXElement.js.map +1 -1
  1124. package/dist/utilities/hasSavePermission.js +14 -14
  1125. package/dist/utilities/hasSavePermission.js.map +1 -1
  1126. package/dist/utilities/isClientUserObject.js +2 -3
  1127. package/dist/utilities/isClientUserObject.js.map +1 -1
  1128. package/dist/utilities/isEditing.js +5 -2
  1129. package/dist/utilities/isEditing.js.map +1 -1
  1130. package/dist/utilities/isURLAllowed.js +30 -31
  1131. package/dist/utilities/isURLAllowed.js.map +1 -1
  1132. package/dist/utilities/isValidReactElement.js +3 -3
  1133. package/dist/utilities/isValidReactElement.js.map +1 -1
  1134. package/dist/utilities/normalizeRelationshipValue.js +28 -29
  1135. package/dist/utilities/normalizeRelationshipValue.js.map +1 -1
  1136. package/dist/utilities/normalizeRelationshipValue.spec.js +368 -407
  1137. package/dist/utilities/normalizeRelationshipValue.spec.js.map +1 -1
  1138. package/dist/utilities/parseSearchParams.js +7 -7
  1139. package/dist/utilities/parseSearchParams.js.map +1 -1
  1140. package/dist/utilities/reduceFieldsToOptions.js +154 -145
  1141. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  1142. package/dist/utilities/reduceFieldsToValuesWithValidation.js +20 -20
  1143. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  1144. package/dist/utilities/removeUndefined.js +1 -2
  1145. package/dist/utilities/removeUndefined.js.map +1 -1
  1146. package/dist/utilities/renderTable.js +196 -150
  1147. package/dist/utilities/renderTable.js.map +1 -1
  1148. package/dist/utilities/resolveFilterOptions.js +26 -27
  1149. package/dist/utilities/resolveFilterOptions.js.map +1 -1
  1150. package/dist/utilities/sanitizeFilterOptionsQuery.js +15 -16
  1151. package/dist/utilities/sanitizeFilterOptionsQuery.js.map +1 -1
  1152. package/dist/utilities/sanitizeID.js +7 -8
  1153. package/dist/utilities/sanitizeID.js.map +1 -1
  1154. package/dist/utilities/schedulePublishHandler.js +57 -47
  1155. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  1156. package/dist/utilities/scrollToID.js +9 -10
  1157. package/dist/utilities/scrollToID.js.map +1 -1
  1158. package/dist/utilities/setsAreEqual.js +2 -3
  1159. package/dist/utilities/setsAreEqual.js.map +1 -1
  1160. package/dist/utilities/traverseForLocalizedFields.js +35 -36
  1161. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  1162. package/dist/utilities/upsertPreferences.js +75 -75
  1163. package/dist/utilities/upsertPreferences.js.map +1 -1
  1164. package/dist/views/BrowseByFolder/index.js +323 -165
  1165. package/dist/views/BrowseByFolder/index.js.map +1 -1
  1166. package/dist/views/CollectionFolder/ListSelection/index.js +153 -70
  1167. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  1168. package/dist/views/CollectionFolder/index.js +282 -175
  1169. package/dist/views/CollectionFolder/index.js.map +1 -1
  1170. package/dist/views/Edit/Auth/APIKey.js +124 -105
  1171. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  1172. package/dist/views/Edit/Auth/index.js +318 -188
  1173. package/dist/views/Edit/Auth/index.js.map +1 -1
  1174. package/dist/views/Edit/Auth/types.js +1 -2
  1175. package/dist/views/Edit/Auth/types.js.map +1 -1
  1176. package/dist/views/Edit/SetDocumentStepNav/index.js +130 -83
  1177. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  1178. package/dist/views/Edit/SetDocumentTitle/index.js +77 -30
  1179. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  1180. package/dist/views/Edit/index.js +471 -362
  1181. package/dist/views/Edit/index.js.map +1 -1
  1182. package/dist/views/Edit/types.js +1 -2
  1183. package/dist/views/Edit/types.js.map +1 -1
  1184. package/dist/views/List/GroupByHeader/index.js +23 -10
  1185. package/dist/views/List/GroupByHeader/index.js.map +1 -1
  1186. package/dist/views/List/ListHeader/index.js +81 -31
  1187. package/dist/views/List/ListHeader/index.js.map +1 -1
  1188. package/dist/views/List/ListSelection/index.js +112 -31
  1189. package/dist/views/List/ListSelection/index.js.map +1 -1
  1190. package/dist/views/List/index.js +212 -135
  1191. package/dist/views/List/index.js.map +1 -1
  1192. package/dist/views/List/types.js +1 -2
  1193. package/dist/views/List/types.js.map +1 -1
  1194. package/package.json +10 -11
@@ -1,4 +1,6 @@
1
1
  'use client';
2
+
3
+ import { jsx as _jsx } from "react/jsx-runtime";
2
4
  import { useModal } from '@faceless-ui/modal';
3
5
  import { usePathname, useRouter } from 'next/navigation.js';
4
6
  import { formatAdminURL } from 'payload/shared';
@@ -11,291 +13,241 @@ import { useTranslation } from '../../providers/Translation/index.js';
11
13
  import { requests } from '../../utilities/api.js';
12
14
  import { useConfig } from '../Config/index.js';
13
15
  import { useRouteTransition } from '../RouteTransition/index.js';
14
- /** seconds until expiration */ /**
15
- * These are the permissions for the current user from a global scope.
16
- *
17
- * When checking for permissions on document specific level, use the `useDocumentInfo` hook instead.
18
- *
19
- * @example
20
- *
21
- * ```tsx
22
- * import { useAuth } from 'payload/ui'
23
- *
24
- * const MyComponent: React.FC = () => {
25
- * const { permissions } = useAuth()
26
- *
27
- * if (permissions?.collections?.myCollection?.create) {
28
- * // user can create documents in 'myCollection'
29
- * }
30
- *
31
- * return null
32
- * }
33
- * ```
34
- *
35
- * with useDocumentInfo:
36
- *
37
- * ```tsx
38
- * import { useDocumentInfo } from 'payload/ui'
39
- *
40
- * const MyComponent: React.FC = () => {
41
- * const { docPermissions } = useDocumentInfo()
42
- * if (docPermissions?.create) {
43
- * // user can create this document
44
- * }
45
- * return null
46
- * } ```
47
- */ const Context = createContext({});
16
+ const Context = /*#__PURE__*/createContext({});
48
17
  const maxTimeoutMs = 2147483647;
49
- export function AuthProvider({ children, permissions: initialPermissions, user: initialUser }) {
50
- const pathname = usePathname();
51
- const router = useRouter();
52
- const { config } = useConfig();
53
- const { admin: { autoLogin, autoRefresh, routes: { inactivity: logoutInactivityRoute }, user: userSlug }, routes: { admin: adminRoute, api: apiRoute }, serverURL } = config;
54
- const { i18n } = useTranslation();
55
- const { closeAllModals, openModal } = useModal();
56
- const { startRouteTransition } = useRouteTransition();
57
- const [user, setUserInMemory] = useState(initialUser);
58
- const [tokenInMemory, setTokenInMemory] = useState();
59
- const [tokenExpirationMs, setTokenExpirationMs] = useState();
60
- const [permissions, setPermissions] = useState(initialPermissions);
61
- const [forceLogoutBufferMs, setForceLogoutBufferMs] = useState(120_000);
62
- const [fetchedUserOnMount, setFetchedUserOnMount] = useState(false);
63
- const refreshTokenTimeoutRef = React.useRef(null);
64
- const reminderTimeoutRef = React.useRef(null);
65
- const forceLogOutTimeoutRef = React.useRef(null);
66
- const id = user?.id;
67
- const redirectToInactivityRoute = useCallback(()=>{
68
- startRouteTransition(()=>router.replace(formatAdminURL({
69
- adminRoute,
70
- path: `${logoutInactivityRoute}${window.location.pathname.startsWith(adminRoute) ? `?redirect=${encodeURIComponent(window.location.pathname)}` : ''}`
71
- })));
72
- closeAllModals();
73
- }, [
74
- router,
75
- adminRoute,
76
- logoutInactivityRoute,
77
- closeAllModals,
78
- startRouteTransition
79
- ]);
80
- const revokeTokenAndExpire = useCallback(()=>{
81
- setUserInMemory(null);
82
- setTokenInMemory(undefined);
83
- setTokenExpirationMs(undefined);
84
- clearTimeout(refreshTokenTimeoutRef.current);
85
- }, []);
86
- // Handler for reminder timeout - uses useEffectEvent to capture latest autoRefresh value
87
- const handleReminderTimeout = useEffectEvent(()=>{
88
- if (autoRefresh) {
89
- refreshCookieEvent();
90
- } else {
91
- openModal(stayLoggedInModalSlug);
92
- }
93
- });
94
- const setNewUser = useCallback((userResponse)=>{
95
- clearTimeout(reminderTimeoutRef.current);
96
- clearTimeout(forceLogOutTimeoutRef.current);
97
- if (userResponse?.user) {
98
- setUserInMemory(userResponse.user);
99
- setTokenInMemory(userResponse.token);
100
- setTokenExpirationMs(userResponse.exp * 1000);
101
- const expiresInMs = Math.max(0, Math.min((userResponse.exp ?? 0) * 1000 - Date.now(), maxTimeoutMs));
102
- if (expiresInMs) {
103
- const nextForceLogoutBufferMs = Math.min(60_000, expiresInMs / 2);
104
- setForceLogoutBufferMs(nextForceLogoutBufferMs);
105
- reminderTimeoutRef.current = setTimeout(handleReminderTimeout, Math.max(expiresInMs - nextForceLogoutBufferMs, 0));
106
- forceLogOutTimeoutRef.current = setTimeout(()=>{
107
- revokeTokenAndExpire();
108
- redirectToInactivityRoute();
109
- }, expiresInMs);
110
- }
111
- } else {
112
- revokeTokenAndExpire();
113
- }
114
- }, [
115
- redirectToInactivityRoute,
116
- revokeTokenAndExpire
117
- ]);
118
- const refreshCookie = useCallback((forceRefresh)=>{
119
- if (!id) {
120
- return;
121
- }
122
- const expiresInMs = Math.max(0, (tokenExpirationMs ?? 0) - Date.now());
123
- if (forceRefresh || tokenExpirationMs && expiresInMs < forceLogoutBufferMs * 2) {
124
- clearTimeout(refreshTokenTimeoutRef.current);
125
- refreshTokenTimeoutRef.current = setTimeout(async ()=>{
126
- try {
127
- const request = await requests.post(`${serverURL}${apiRoute}/${userSlug}/refresh-token?refresh`, {
128
- headers: {
129
- 'Accept-Language': i18n.language
130
- }
131
- });
132
- if (request.status === 200) {
133
- const json = await request.json();
134
- setNewUser(json);
135
- } else {
136
- setNewUser(null);
137
- redirectToInactivityRoute();
138
- }
139
- } catch (e) {
140
- toast.error(e.message);
141
- }
142
- }, 1000);
143
- }
144
- }, [
145
- apiRoute,
146
- i18n.language,
147
- redirectToInactivityRoute,
148
- serverURL,
149
- setNewUser,
150
- tokenExpirationMs,
151
- userSlug,
152
- forceLogoutBufferMs,
153
- id
154
- ]);
155
- const refreshCookieAsync = useCallback(async (skipSetUser)=>{
18
+ export function AuthProvider({
19
+ children,
20
+ permissions: initialPermissions,
21
+ user: initialUser
22
+ }) {
23
+ const pathname = usePathname();
24
+ const router = useRouter();
25
+ const {
26
+ config
27
+ } = useConfig();
28
+ const {
29
+ admin: {
30
+ autoLogin,
31
+ autoRefresh,
32
+ routes: {
33
+ inactivity: logoutInactivityRoute
34
+ },
35
+ user: userSlug
36
+ },
37
+ routes: {
38
+ admin: adminRoute,
39
+ api: apiRoute
40
+ },
41
+ serverURL
42
+ } = config;
43
+ const {
44
+ i18n
45
+ } = useTranslation();
46
+ const {
47
+ closeAllModals,
48
+ openModal
49
+ } = useModal();
50
+ const {
51
+ startRouteTransition
52
+ } = useRouteTransition();
53
+ const [user, setUserInMemory] = useState(initialUser);
54
+ const [tokenInMemory, setTokenInMemory] = useState();
55
+ const [tokenExpirationMs, setTokenExpirationMs] = useState();
56
+ const [permissions, setPermissions] = useState(initialPermissions);
57
+ const [forceLogoutBufferMs, setForceLogoutBufferMs] = useState(120_000);
58
+ const [fetchedUserOnMount, setFetchedUserOnMount] = useState(false);
59
+ const refreshTokenTimeoutRef = React.useRef(null);
60
+ const reminderTimeoutRef = React.useRef(null);
61
+ const forceLogOutTimeoutRef = React.useRef(null);
62
+ const id = user?.id;
63
+ const redirectToInactivityRoute = useCallback(() => {
64
+ startRouteTransition(() => router.replace(formatAdminURL({
65
+ adminRoute,
66
+ path: `${logoutInactivityRoute}${window.location.pathname.startsWith(adminRoute) ? `?redirect=${encodeURIComponent(window.location.pathname)}` : ''}`
67
+ })));
68
+ closeAllModals();
69
+ }, [router, adminRoute, logoutInactivityRoute, closeAllModals, startRouteTransition]);
70
+ const revokeTokenAndExpire = useCallback(() => {
71
+ setUserInMemory(null);
72
+ setTokenInMemory(undefined);
73
+ setTokenExpirationMs(undefined);
74
+ clearTimeout(refreshTokenTimeoutRef.current);
75
+ }, []);
76
+ // Handler for reminder timeout - uses useEffectEvent to capture latest autoRefresh value
77
+ const handleReminderTimeout = useEffectEvent(() => {
78
+ if (autoRefresh) {
79
+ refreshCookieEvent();
80
+ } else {
81
+ openModal(stayLoggedInModalSlug);
82
+ }
83
+ });
84
+ const setNewUser = useCallback(userResponse => {
85
+ clearTimeout(reminderTimeoutRef.current);
86
+ clearTimeout(forceLogOutTimeoutRef.current);
87
+ if (userResponse?.user) {
88
+ setUserInMemory(userResponse.user);
89
+ setTokenInMemory(userResponse.token);
90
+ setTokenExpirationMs(userResponse.exp * 1000);
91
+ const expiresInMs = Math.max(0, Math.min((userResponse.exp ?? 0) * 1000 - Date.now(), maxTimeoutMs));
92
+ if (expiresInMs) {
93
+ const nextForceLogoutBufferMs = Math.min(60_000, expiresInMs / 2);
94
+ setForceLogoutBufferMs(nextForceLogoutBufferMs);
95
+ reminderTimeoutRef.current = setTimeout(handleReminderTimeout, Math.max(expiresInMs - nextForceLogoutBufferMs, 0));
96
+ forceLogOutTimeoutRef.current = setTimeout(() => {
97
+ revokeTokenAndExpire();
98
+ redirectToInactivityRoute();
99
+ }, expiresInMs);
100
+ }
101
+ } else {
102
+ revokeTokenAndExpire();
103
+ }
104
+ }, [redirectToInactivityRoute, revokeTokenAndExpire]);
105
+ const refreshCookie = useCallback(forceRefresh => {
106
+ if (!id) {
107
+ return;
108
+ }
109
+ const expiresInMs_0 = Math.max(0, (tokenExpirationMs ?? 0) - Date.now());
110
+ if (forceRefresh || tokenExpirationMs && expiresInMs_0 < forceLogoutBufferMs * 2) {
111
+ clearTimeout(refreshTokenTimeoutRef.current);
112
+ refreshTokenTimeoutRef.current = setTimeout(async () => {
156
113
  try {
157
- const request = await requests.post(`${serverURL}${apiRoute}/${userSlug}/refresh-token`, {
158
- headers: {
159
- 'Accept-Language': i18n.language
160
- }
161
- });
162
- if (request.status === 200) {
163
- const json = await request.json();
164
- if (!skipSetUser) {
165
- setNewUser(json);
166
- }
167
- return json.user;
168
- }
169
- if (user) {
170
- setNewUser(null);
171
- redirectToInactivityRoute();
114
+ const request = await requests.post(`${serverURL}${apiRoute}/${userSlug}/refresh-token?refresh`, {
115
+ headers: {
116
+ 'Accept-Language': i18n.language
172
117
  }
118
+ });
119
+ if (request.status === 200) {
120
+ const json = await request.json();
121
+ setNewUser(json);
122
+ } else {
123
+ setNewUser(null);
124
+ redirectToInactivityRoute();
125
+ }
173
126
  } catch (e) {
174
- toast.error(`Refreshing token failed: ${e.message}`);
127
+ toast.error(e.message);
175
128
  }
176
- return null;
177
- }, [
178
- apiRoute,
179
- i18n.language,
180
- redirectToInactivityRoute,
181
- serverURL,
182
- setNewUser,
183
- userSlug,
184
- user
185
- ]);
186
- const logOut = useCallback(async ()=>{
187
- try {
188
- if (user && user.collection) {
189
- setNewUser(null);
190
- await requests.post(`${serverURL}${apiRoute}/${user.collection}/logout`);
191
- }
192
- } catch (_) {}
193
- // fail silently and log the user out in state
194
- return true;
195
- }, [
196
- apiRoute,
197
- serverURL,
198
- setNewUser,
199
- user
200
- ]);
201
- const refreshPermissions = useCallback(async ({ locale } = {})=>{
202
- const params = qs.stringify({
203
- locale
204
- }, {
205
- addQueryPrefix: true
206
- });
207
- try {
208
- const request = await requests.get(`${serverURL}${apiRoute}/access${params}`, {
209
- headers: {
210
- 'Accept-Language': i18n.language
211
- }
212
- });
213
- if (request.status === 200) {
214
- const json = await request.json();
215
- setPermissions(json);
216
- } else {
217
- throw new Error(`Fetching permissions failed with status code ${request.status}`);
218
- }
219
- } catch (e) {
220
- toast.error(`Refreshing permissions failed: ${e.message}`);
129
+ }, 1000);
130
+ }
131
+ }, [apiRoute, i18n.language, redirectToInactivityRoute, serverURL, setNewUser, tokenExpirationMs, userSlug, forceLogoutBufferMs, id]);
132
+ const refreshCookieAsync = useCallback(async skipSetUser => {
133
+ try {
134
+ const request_0 = await requests.post(`${serverURL}${apiRoute}/${userSlug}/refresh-token`, {
135
+ headers: {
136
+ 'Accept-Language': i18n.language
221
137
  }
222
- }, [
223
- serverURL,
224
- apiRoute,
225
- i18n
226
- ]);
227
- const fetchFullUser = React.useCallback(async ()=>{
228
- try {
229
- const request = await requests.get(`${serverURL}${apiRoute}/${userSlug}/me`, {
230
- credentials: 'include',
231
- headers: {
232
- 'Accept-Language': i18n.language
233
- }
234
- });
235
- if (request.status === 200) {
236
- const json = await request.json();
237
- setNewUser(json);
238
- return json?.user || null;
239
- }
240
- } catch (e) {
241
- toast.error(`Fetching user failed: ${e.message}`);
138
+ });
139
+ if (request_0.status === 200) {
140
+ const json_0 = await request_0.json();
141
+ if (!skipSetUser) {
142
+ setNewUser(json_0);
242
143
  }
243
- return null;
244
- }, [
245
- serverURL,
246
- apiRoute,
247
- userSlug,
248
- i18n.language,
249
- setNewUser
250
- ]);
251
- const refreshCookieEvent = useEffectEvent(refreshCookie);
252
- useEffect(()=>{
253
- // when location changes, refresh cookie
254
- refreshCookieEvent();
255
- }, [
256
- pathname
257
- ]);
258
- const fetchFullUserEvent = useEffectEvent(fetchFullUser);
259
- useEffect(()=>{
260
- async function fetchUserOnMount() {
261
- await fetchFullUserEvent();
262
- setFetchedUserOnMount(true);
144
+ return json_0.user;
145
+ }
146
+ if (user) {
147
+ setNewUser(null);
148
+ redirectToInactivityRoute();
149
+ }
150
+ } catch (e_0) {
151
+ toast.error(`Refreshing token failed: ${e_0.message}`);
152
+ }
153
+ return null;
154
+ }, [apiRoute, i18n.language, redirectToInactivityRoute, serverURL, setNewUser, userSlug, user]);
155
+ const logOut = useCallback(async () => {
156
+ try {
157
+ if (user && user.collection) {
158
+ setNewUser(null);
159
+ await requests.post(`${serverURL}${apiRoute}/${user.collection}/logout`);
160
+ }
161
+ } catch (_) {
162
+ // fail silently and log the user out in state
163
+ }
164
+ return true;
165
+ }, [apiRoute, serverURL, setNewUser, user]);
166
+ const refreshPermissions = useCallback(async ({
167
+ locale
168
+ } = {}) => {
169
+ const params = qs.stringify({
170
+ locale
171
+ }, {
172
+ addQueryPrefix: true
173
+ });
174
+ try {
175
+ const request_1 = await requests.get(`${serverURL}${apiRoute}/access${params}`, {
176
+ headers: {
177
+ 'Accept-Language': i18n.language
263
178
  }
264
- void fetchUserOnMount();
265
- }, []);
266
- useEffect(()=>{
267
- if (!user && autoLogin && !autoLogin.prefillOnly) {
268
- void fetchFullUserEvent();
179
+ });
180
+ if (request_1.status === 200) {
181
+ const json_1 = await request_1.json();
182
+ setPermissions(json_1);
183
+ } else {
184
+ throw new Error(`Fetching permissions failed with status code ${request_1.status}`);
185
+ }
186
+ } catch (e_1) {
187
+ toast.error(`Refreshing permissions failed: ${e_1.message}`);
188
+ }
189
+ }, [serverURL, apiRoute, i18n]);
190
+ const fetchFullUser = React.useCallback(async () => {
191
+ try {
192
+ const request_2 = await requests.get(`${serverURL}${apiRoute}/${userSlug}/me`, {
193
+ credentials: 'include',
194
+ headers: {
195
+ 'Accept-Language': i18n.language
269
196
  }
270
- }, [
271
- user,
272
- autoLogin
273
- ]);
274
- useEffect(()=>()=>{
275
- // remove all timeouts on unmount
276
- clearTimeout(refreshTokenTimeoutRef.current);
277
- clearTimeout(reminderTimeoutRef.current);
278
- clearTimeout(forceLogOutTimeoutRef.current);
279
- }, []);
280
- if (!user && !fetchedUserOnMount) {
281
- return null;
197
+ });
198
+ if (request_2.status === 200) {
199
+ const json_2 = await request_2.json();
200
+ setNewUser(json_2);
201
+ return json_2?.user || null;
202
+ }
203
+ } catch (e_2) {
204
+ toast.error(`Fetching user failed: ${e_2.message}`);
282
205
  }
283
- return <Context value={{
284
- fetchFullUser,
285
- logOut,
286
- permissions,
287
- refreshCookie,
288
- refreshCookieAsync,
289
- refreshPermissions,
290
- setPermissions,
291
- setUser: setNewUser,
292
- token: tokenInMemory,
293
- tokenExpirationMs,
294
- user
295
- }}>
296
- {children}
297
- </Context>;
206
+ return null;
207
+ }, [serverURL, apiRoute, userSlug, i18n.language, setNewUser]);
208
+ const refreshCookieEvent = useEffectEvent(refreshCookie);
209
+ useEffect(() => {
210
+ // when location changes, refresh cookie
211
+ refreshCookieEvent();
212
+ }, [pathname]);
213
+ const fetchFullUserEvent = useEffectEvent(fetchFullUser);
214
+ useEffect(() => {
215
+ async function fetchUserOnMount() {
216
+ await fetchFullUserEvent();
217
+ setFetchedUserOnMount(true);
218
+ }
219
+ void fetchUserOnMount();
220
+ }, []);
221
+ useEffect(() => {
222
+ if (!user && autoLogin && !autoLogin.prefillOnly) {
223
+ void fetchFullUserEvent();
224
+ }
225
+ }, [user, autoLogin]);
226
+ useEffect(() => () => {
227
+ // remove all timeouts on unmount
228
+ clearTimeout(refreshTokenTimeoutRef.current);
229
+ clearTimeout(reminderTimeoutRef.current);
230
+ clearTimeout(forceLogOutTimeoutRef.current);
231
+ }, []);
232
+ if (!user && !fetchedUserOnMount) {
233
+ return null;
234
+ }
235
+ return /*#__PURE__*/_jsx(Context, {
236
+ value: {
237
+ fetchFullUser,
238
+ logOut,
239
+ permissions,
240
+ refreshCookie,
241
+ refreshCookieAsync,
242
+ refreshPermissions,
243
+ setPermissions,
244
+ setUser: setNewUser,
245
+ token: tokenInMemory,
246
+ tokenExpirationMs,
247
+ user
248
+ },
249
+ children: children
250
+ });
298
251
  }
299
- export const useAuth = ()=>use(Context);
300
-
252
+ export const useAuth = () => use(Context);
301
253
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/providers/Auth/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser, SanitizedPermissions, TypedUser } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { usePathname, useRouter } from 'next/navigation.js'\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 { useRouteTransition } from '../RouteTransition/index.js'\n\nexport type UserWithToken<T = ClientUser> = {\n /** seconds until expiration */\n exp: number\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 serverURL,\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 startRouteTransition(() =>\n router.replace(\n formatAdminURL({\n adminRoute,\n path: `${logoutInactivityRoute}${window.location.pathname.startsWith(adminRoute) ? `?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)\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 `${serverURL}${apiRoute}/${userSlug}/refresh-token?refresh`,\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 serverURL,\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(`${serverURL}${apiRoute}/${userSlug}/refresh-token`, {\n headers: {\n 'Accept-Language': i18n.language,\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, serverURL, setNewUser, userSlug, user],\n )\n\n const logOut = useCallback(async () => {\n try {\n if (user && user.collection) {\n setNewUser(null)\n await requests.post(`${serverURL}${apiRoute}/${user.collection}/logout`)\n }\n } catch (_) {\n // fail silently and log the user out in state\n }\n\n return true\n }, [apiRoute, serverURL, 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(`${serverURL}${apiRoute}/access${params}`, {\n headers: {\n 'Accept-Language': i18n.language,\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 [serverURL, apiRoute, i18n],\n )\n\n const fetchFullUser = React.useCallback(async () => {\n try {\n const request = await requests.get(`${serverURL}${apiRoute}/${userSlug}/me`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\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 }, [serverURL, 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"],"names":["useModal","usePathname","useRouter","formatAdminURL","qs","React","createContext","use","useCallback","useEffect","useState","toast","stayLoggedInModalSlug","useEffectEvent","useTranslation","requests","useConfig","useRouteTransition","Context","maxTimeoutMs","AuthProvider","children","permissions","initialPermissions","user","initialUser","pathname","router","config","admin","autoLogin","autoRefresh","routes","inactivity","logoutInactivityRoute","userSlug","adminRoute","api","apiRoute","serverURL","i18n","closeAllModals","openModal","startRouteTransition","setUserInMemory","tokenInMemory","setTokenInMemory","tokenExpirationMs","setTokenExpirationMs","setPermissions","forceLogoutBufferMs","setForceLogoutBufferMs","fetchedUserOnMount","setFetchedUserOnMount","refreshTokenTimeoutRef","useRef","reminderTimeoutRef","forceLogOutTimeoutRef","id","redirectToInactivityRoute","replace","path","window","location","startsWith","encodeURIComponent","revokeTokenAndExpire","undefined","clearTimeout","current","handleReminderTimeout","refreshCookieEvent","setNewUser","userResponse","token","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","value","setUser","useAuth"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["useModal","usePathname","useRouter","formatAdminURL","qs","React","createContext","use","useCallback","useEffect","useState","toast","stayLoggedInModalSlug","useEffectEvent","useTranslation","requests","useConfig","useRouteTransition","Context","maxTimeoutMs","AuthProvider","children","permissions","initialPermissions","user","initialUser","pathname","router","config","admin","autoLogin","autoRefresh","routes","inactivity","logoutInactivityRoute","userSlug","adminRoute","api","apiRoute","serverURL","i18n","closeAllModals","openModal","startRouteTransition","setUserInMemory","tokenInMemory","setTokenInMemory","tokenExpirationMs","setTokenExpirationMs","setPermissions","forceLogoutBufferMs","setForceLogoutBufferMs","fetchedUserOnMount","setFetchedUserOnMount","refreshTokenTimeoutRef","useRef","reminderTimeoutRef","forceLogOutTimeoutRef","id","redirectToInactivityRoute","replace","path","window","location","startsWith","encodeURIComponent","revokeTokenAndExpire","undefined","clearTimeout","current","handleReminderTimeout","refreshCookieEvent","setNewUser","userResponse","token","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 { usePathname, useRouter } from 'next/navigation.js'\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 { useRouteTransition } from '../RouteTransition/index.js'\n\nexport type UserWithToken<T = ClientUser> = {\n /** seconds until expiration */\n exp: number\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 serverURL,\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 startRouteTransition(() =>\n router.replace(\n formatAdminURL({\n adminRoute,\n path: `${logoutInactivityRoute}${window.location.pathname.startsWith(adminRoute) ? `?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)\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 `${serverURL}${apiRoute}/${userSlug}/refresh-token?refresh`,\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 serverURL,\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(`${serverURL}${apiRoute}/${userSlug}/refresh-token`, {\n headers: {\n 'Accept-Language': i18n.language,\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, serverURL, setNewUser, userSlug, user],\n )\n\n const logOut = useCallback(async () => {\n try {\n if (user && user.collection) {\n setNewUser(null)\n await requests.post(`${serverURL}${apiRoute}/${user.collection}/logout`)\n }\n } catch (_) {\n // fail silently and log the user out in state\n }\n\n return true\n }, [apiRoute, serverURL, 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(`${serverURL}${apiRoute}/access${params}`, {\n headers: {\n 'Accept-Language': i18n.language,\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 [serverURL, apiRoute, i18n],\n )\n\n const fetchFullUser = React.useCallback(async () => {\n try {\n const request = await requests.get(`${serverURL}${apiRoute}/${userSlug}/me`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\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 }, [serverURL, 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":[]}