@payloadcms/ui 3.68.0-internal-debug.56c9b68 → 3.68.0-internal-debug.2eb12b9

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 (1195) hide show
  1. package/dist/@types/assets.d.js.map +1 -1
  2. package/dist/assets/index.js +1 -0
  3. package/dist/assets/index.js.map +1 -1
  4. package/dist/elements/AddNewRelation/index.js +161 -272
  5. package/dist/elements/AddNewRelation/index.js.map +1 -1
  6. package/dist/elements/AddNewRelation/types.js +2 -1
  7. package/dist/elements/AddNewRelation/types.js.map +1 -1
  8. package/dist/elements/AnimateHeight/index.js +75 -72
  9. package/dist/elements/AnimateHeight/index.js.map +1 -1
  10. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +71 -69
  11. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
  12. package/dist/elements/AppHeader/index.js +96 -97
  13. package/dist/elements/AppHeader/index.js.map +1 -1
  14. package/dist/elements/ArrayAction/index.d.ts +6 -6
  15. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  16. package/dist/elements/ArrayAction/index.js +105 -117
  17. package/dist/elements/ArrayAction/index.js.map +1 -1
  18. package/dist/elements/Autosave/index.js +135 -168
  19. package/dist/elements/Autosave/index.js.map +1 -1
  20. package/dist/elements/Banner/index.js +35 -31
  21. package/dist/elements/Banner/index.js.map +1 -1
  22. package/dist/elements/BulkUpload/ActionsBar/index.js +101 -169
  23. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/AddFilesView/index.js +55 -50
  25. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  26. package/dist/elements/BulkUpload/AddingFilesView/index.js +51 -92
  27. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +24 -54
  29. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +9 -25
  31. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  32. package/dist/elements/BulkUpload/EditForm/index.js +140 -166
  33. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  34. package/dist/elements/BulkUpload/EditForm/types.js +2 -1
  35. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  36. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +159 -170
  37. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  38. package/dist/elements/BulkUpload/EditMany/index.js +34 -55
  39. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  40. package/dist/elements/BulkUpload/FileSidebar/index.js +248 -313
  41. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  42. package/dist/elements/BulkUpload/FormsManager/createFormData.js +33 -32
  43. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  44. package/dist/elements/BulkUpload/FormsManager/index.js +491 -469
  45. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  46. package/dist/elements/BulkUpload/FormsManager/reducer.js +100 -90
  47. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  48. package/dist/elements/BulkUpload/Header/index.js +14 -14
  49. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  50. package/dist/elements/BulkUpload/index.js +150 -268
  51. package/dist/elements/BulkUpload/index.js.map +1 -1
  52. package/dist/elements/Button/index.js +157 -158
  53. package/dist/elements/Button/index.js.map +1 -1
  54. package/dist/elements/Button/types.js +2 -1
  55. package/dist/elements/Button/types.js.map +1 -1
  56. package/dist/elements/Card/index.js +31 -31
  57. package/dist/elements/Card/index.js.map +1 -1
  58. package/dist/elements/CheckboxPopup/index.js +30 -35
  59. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  60. package/dist/elements/ClipboardAction/ClipboardActionLabel.js +15 -33
  61. package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
  62. package/dist/elements/ClipboardAction/clipboardUtilities.js +33 -43
  63. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  64. package/dist/elements/ClipboardAction/index.js +80 -81
  65. package/dist/elements/ClipboardAction/index.js.map +1 -1
  66. package/dist/elements/ClipboardAction/isClipboardDataValid.js +64 -71
  67. package/dist/elements/ClipboardAction/isClipboardDataValid.js.map +1 -1
  68. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +75 -93
  69. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  70. package/dist/elements/ClipboardAction/types.js +2 -1
  71. package/dist/elements/ClipboardAction/types.js.map +1 -1
  72. package/dist/elements/CloseModalButton/index.js +16 -19
  73. package/dist/elements/CloseModalButton/index.js.map +1 -1
  74. package/dist/elements/CloseModalOnRouteChange/index.js +17 -43
  75. package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
  76. package/dist/elements/CodeEditor/CodeEditor.js +73 -96
  77. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  78. package/dist/elements/CodeEditor/constants.js +15 -14
  79. package/dist/elements/CodeEditor/constants.js.map +1 -1
  80. package/dist/elements/CodeEditor/index.js +9 -9
  81. package/dist/elements/CodeEditor/index.js.map +1 -1
  82. package/dist/elements/CodeEditor/types.js +2 -1
  83. package/dist/elements/CodeEditor/types.js.map +1 -1
  84. package/dist/elements/Collapsible/index.js +86 -139
  85. package/dist/elements/Collapsible/index.js.map +1 -1
  86. package/dist/elements/Collapsible/provider.js +27 -29
  87. package/dist/elements/Collapsible/provider.js.map +1 -1
  88. package/dist/elements/ColumnSelector/index.js +45 -53
  89. package/dist/elements/ColumnSelector/index.js.map +1 -1
  90. package/dist/elements/Combobox/index.js +83 -83
  91. package/dist/elements/Combobox/index.js.map +1 -1
  92. package/dist/elements/ConfirmationModal/index.js +82 -127
  93. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  94. package/dist/elements/CopyLocaleData/index.js +165 -273
  95. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  96. package/dist/elements/CopyToClipboard/index.js +34 -69
  97. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  98. package/dist/elements/DatePicker/DatePicker.js +100 -135
  99. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  100. package/dist/elements/DatePicker/getFormattedLocale.js +10 -10
  101. package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
  102. package/dist/elements/DatePicker/index.js +10 -10
  103. package/dist/elements/DatePicker/index.js.map +1 -1
  104. package/dist/elements/DatePicker/types.js +2 -1
  105. package/dist/elements/DatePicker/types.js.map +1 -1
  106. package/dist/elements/DefaultListViewTabs/index.js +80 -130
  107. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  108. package/dist/elements/DeleteDocument/index.js +134 -137
  109. package/dist/elements/DeleteDocument/index.js.map +1 -1
  110. package/dist/elements/DeleteMany/index.js +295 -328
  111. package/dist/elements/DeleteMany/index.js.map +1 -1
  112. package/dist/elements/DocumentControls/index.js +284 -272
  113. package/dist/elements/DocumentControls/index.js.map +1 -1
  114. package/dist/elements/DocumentDrawer/DrawerContent.js +132 -121
  115. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  116. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +53 -100
  117. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  118. package/dist/elements/DocumentDrawer/Provider.js +15 -17
  119. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  120. package/dist/elements/DocumentDrawer/index.js +111 -209
  121. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  122. package/dist/elements/DocumentDrawer/types.js +2 -1
  123. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  124. package/dist/elements/DocumentFields/index.js +68 -67
  125. package/dist/elements/DocumentFields/index.js.map +1 -1
  126. package/dist/elements/DocumentLocked/index.js +104 -177
  127. package/dist/elements/DocumentLocked/index.js.map +1 -1
  128. package/dist/elements/DocumentTakeOver/index.js +63 -111
  129. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  130. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +21 -59
  131. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  132. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +2 -1
  133. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  134. package/dist/elements/DraggableSortable/index.js +58 -122
  135. package/dist/elements/DraggableSortable/index.js.map +1 -1
  136. package/dist/elements/DraggableSortable/types.js +2 -1
  137. package/dist/elements/DraggableSortable/types.js.map +1 -1
  138. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +24 -85
  139. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  140. package/dist/elements/DraggableSortable/useDraggableSortable/types.js +2 -1
  141. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  142. package/dist/elements/Drawer/index.js +110 -190
  143. package/dist/elements/Drawer/index.js.map +1 -1
  144. package/dist/elements/Drawer/types.js +2 -1
  145. package/dist/elements/Drawer/types.js.map +1 -1
  146. package/dist/elements/Drawer/useDrawerSlug.js +7 -19
  147. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  148. package/dist/elements/DrawerActionHeader/index.js +33 -59
  149. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  150. package/dist/elements/DrawerContentContainer/index.js +9 -8
  151. package/dist/elements/DrawerContentContainer/index.js.map +1 -1
  152. package/dist/elements/Dropzone/index.js +85 -74
  153. package/dist/elements/Dropzone/index.js.map +1 -1
  154. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +104 -86
  155. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  156. package/dist/elements/DuplicateDocument/index.js +135 -141
  157. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  158. package/dist/elements/EditMany/DrawerContent.js +282 -379
  159. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  160. package/dist/elements/EditMany/index.js +50 -128
  161. package/dist/elements/EditMany/index.js.map +1 -1
  162. package/dist/elements/EditUpload/index.js +419 -398
  163. package/dist/elements/EditUpload/index.js.map +1 -1
  164. package/dist/elements/EmailAndUsername/index.js +75 -76
  165. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  166. package/dist/elements/ErrorPill/index.js +25 -23
  167. package/dist/elements/ErrorPill/index.js.map +1 -1
  168. package/dist/elements/FieldDiffContainer/index.js +33 -33
  169. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  170. package/dist/elements/FieldDiffLabel/index.js +5 -6
  171. package/dist/elements/FieldDiffLabel/index.js.map +1 -1
  172. package/dist/elements/FieldSelect/index.js +31 -73
  173. package/dist/elements/FieldSelect/index.js.map +1 -1
  174. package/dist/elements/FieldSelect/reduceFieldOptions.js +69 -67
  175. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  176. package/dist/elements/FileDetails/DraggableFileDetails/index.js +63 -103
  177. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  178. package/dist/elements/FileDetails/FileMeta/index.js +43 -32
  179. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  180. package/dist/elements/FileDetails/StaticFileDetails/index.js +47 -57
  181. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  182. package/dist/elements/FileDetails/index.js +10 -12
  183. package/dist/elements/FileDetails/index.js.map +1 -1
  184. package/dist/elements/FolderView/Breadcrumbs/index.js +38 -85
  185. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
  186. package/dist/elements/FolderView/BrowseByFolderButton/index.js +21 -29
  187. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
  188. package/dist/elements/FolderView/Cell/index.client.js +77 -80
  189. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  190. package/dist/elements/FolderView/Cell/index.server.js +14 -13
  191. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  192. package/dist/elements/FolderView/ColoredFolderIcon/index.js +4 -3
  193. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
  194. package/dist/elements/FolderView/CurrentFolderActions/index.js +127 -135
  195. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  196. package/dist/elements/FolderView/DragOverlaySelection/index.js +48 -49
  197. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
  198. package/dist/elements/FolderView/DraggableTableRow/index.js +54 -53
  199. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
  200. package/dist/elements/FolderView/DraggableWithClick/index.js +70 -78
  201. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
  202. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +26 -32
  203. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
  204. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +368 -563
  205. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  206. package/dist/elements/FolderView/FilterFolderTypePill/index.js +47 -87
  207. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
  208. package/dist/elements/FolderView/FolderField/index.server.js +10 -9
  209. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
  210. package/dist/elements/FolderView/FolderFileCard/index.js +143 -186
  211. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  212. package/dist/elements/FolderView/FolderFileTable/index.js +170 -263
  213. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
  214. package/dist/elements/FolderView/FolderTypeField/index.js +88 -113
  215. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
  216. package/dist/elements/FolderView/ItemCardGrid/index.js +22 -26
  217. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
  218. package/dist/elements/FolderView/MoveDocToFolder/index.js +121 -258
  219. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  220. package/dist/elements/FolderView/SimpleTable/index.js +59 -81
  221. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
  222. package/dist/elements/FolderView/SortByPill/index.js +105 -99
  223. package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
  224. package/dist/elements/FolderView/ToggleViewButtons/index.js +30 -23
  225. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
  226. package/dist/elements/FullscreenModal/index.js +10 -20
  227. package/dist/elements/FullscreenModal/index.js.map +1 -1
  228. package/dist/elements/GenerateConfirmation/index.js +41 -81
  229. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  230. package/dist/elements/GroupByBuilder/index.js +113 -99
  231. package/dist/elements/GroupByBuilder/index.js.map +1 -1
  232. package/dist/elements/Gutter/index.js +17 -18
  233. package/dist/elements/Gutter/index.js.map +1 -1
  234. package/dist/elements/HTMLDiff/diff/index.js +500 -499
  235. package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
  236. package/dist/elements/HTMLDiff/index.js +22 -25
  237. package/dist/elements/HTMLDiff/index.js.map +1 -1
  238. package/dist/elements/Hamburger/index.js +25 -38
  239. package/dist/elements/Hamburger/index.js.map +1 -1
  240. package/dist/elements/HydrateAuthProvider/index.js +10 -27
  241. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  242. package/dist/elements/IDLabel/index.js +21 -55
  243. package/dist/elements/IDLabel/index.js.map +1 -1
  244. package/dist/elements/LeaveWithoutSaving/index.js +63 -140
  245. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  246. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +111 -129
  247. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  248. package/dist/elements/Link/formatUrl.js +53 -56
  249. package/dist/elements/Link/formatUrl.js.map +1 -1
  250. package/dist/elements/Link/index.js +39 -51
  251. package/dist/elements/Link/index.js.map +1 -1
  252. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +17 -17
  253. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  254. package/dist/elements/ListControls/index.js +162 -165
  255. package/dist/elements/ListControls/index.js.map +1 -1
  256. package/dist/elements/ListControls/types.js +2 -1
  257. package/dist/elements/ListControls/types.js.map +1 -1
  258. package/dist/elements/ListDrawer/DrawerContent.js +169 -167
  259. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  260. package/dist/elements/ListDrawer/Provider.js +16 -18
  261. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  262. package/dist/elements/ListDrawer/index.js +125 -228
  263. package/dist/elements/ListDrawer/index.js.map +1 -1
  264. package/dist/elements/ListDrawer/types.js +2 -1
  265. package/dist/elements/ListDrawer/types.js.map +1 -1
  266. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +29 -82
  267. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  268. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +13 -31
  269. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  270. package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
  271. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
  272. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +39 -71
  273. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  274. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +16 -38
  275. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
  276. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +97 -161
  277. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  278. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +138 -141
  279. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  280. package/dist/elements/ListHeader/TitleActions/index.js +1 -0
  281. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  282. package/dist/elements/ListHeader/index.js +36 -23
  283. package/dist/elements/ListHeader/index.js.map +1 -1
  284. package/dist/elements/ListSelection/index.js +45 -56
  285. package/dist/elements/ListSelection/index.js.map +1 -1
  286. package/dist/elements/LivePreview/Device/index.js +74 -82
  287. package/dist/elements/LivePreview/Device/index.js.map +1 -1
  288. package/dist/elements/LivePreview/DeviceContainer/index.js +23 -47
  289. package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
  290. package/dist/elements/LivePreview/IFrame/index.js +14 -42
  291. package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
  292. package/dist/elements/LivePreview/Toggler/index.js +23 -25
  293. package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
  294. package/dist/elements/LivePreview/Toolbar/Controls/index.js +115 -138
  295. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  296. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +56 -90
  297. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  298. package/dist/elements/LivePreview/Toolbar/index.js +50 -82
  299. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  300. package/dist/elements/LivePreview/ToolbarArea/index.js +10 -32
  301. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  302. package/dist/elements/LivePreview/Window/index.js +102 -164
  303. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  304. package/dist/elements/Loading/index.js +73 -141
  305. package/dist/elements/Loading/index.js.map +1 -1
  306. package/dist/elements/LoadingOverlay/index.js +59 -66
  307. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  308. package/dist/elements/LoadingOverlay/reducer.js +27 -29
  309. package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
  310. package/dist/elements/LoadingOverlay/types.js +2 -1
  311. package/dist/elements/LoadingOverlay/types.js.map +1 -1
  312. package/dist/elements/Localizer/LocalizerLabel/index.js +33 -49
  313. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  314. package/dist/elements/Localizer/index.js +64 -114
  315. package/dist/elements/Localizer/index.js.map +1 -1
  316. package/dist/elements/Locked/index.js +24 -57
  317. package/dist/elements/Locked/index.js.map +1 -1
  318. package/dist/elements/Logout/index.js +16 -49
  319. package/dist/elements/Logout/index.js.map +1 -1
  320. package/dist/elements/Modal/index.js +1 -1
  321. package/dist/elements/Modal/index.js.map +1 -1
  322. package/dist/elements/Nav/NavToggler/index.js +28 -78
  323. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  324. package/dist/elements/Nav/context.js +102 -102
  325. package/dist/elements/Nav/context.js.map +1 -1
  326. package/dist/elements/NavGroup/index.js +64 -120
  327. package/dist/elements/NavGroup/index.js.map +1 -1
  328. package/dist/elements/NoListResults/index.js +14 -13
  329. package/dist/elements/NoListResults/index.js.map +1 -1
  330. package/dist/elements/PageControls/GroupByPageControls.js +34 -69
  331. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  332. package/dist/elements/PageControls/index.js +50 -104
  333. package/dist/elements/PageControls/index.js.map +1 -1
  334. package/dist/elements/Pagination/ClickableArrow/index.js +15 -15
  335. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  336. package/dist/elements/Pagination/Page/index.js +14 -15
  337. package/dist/elements/Pagination/Page/index.js.map +1 -1
  338. package/dist/elements/Pagination/Separator/index.js +5 -5
  339. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  340. package/dist/elements/Pagination/index.js +88 -97
  341. package/dist/elements/Pagination/index.js.map +1 -1
  342. package/dist/elements/PerPage/index.js +51 -78
  343. package/dist/elements/PerPage/index.js.map +1 -1
  344. package/dist/elements/PermanentlyDeleteButton/index.js +121 -124
  345. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  346. package/dist/elements/Pill/index.js +71 -116
  347. package/dist/elements/Pill/index.js.map +1 -1
  348. package/dist/elements/PillSelector/index.js +53 -54
  349. package/dist/elements/PillSelector/index.js.map +1 -1
  350. package/dist/elements/Popup/PopupButtonList/index.js +48 -51
  351. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  352. package/dist/elements/Popup/PopupDivider/index.js +5 -4
  353. package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
  354. package/dist/elements/Popup/PopupGroupLabel/index.js +6 -7
  355. package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
  356. package/dist/elements/Popup/PopupTrigger/index.js +41 -106
  357. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  358. package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
  359. package/dist/elements/Popup/index.js +171 -168
  360. package/dist/elements/Popup/index.js.map +1 -1
  361. package/dist/elements/PreviewButton/index.js +14 -29
  362. package/dist/elements/PreviewButton/index.js.map +1 -1
  363. package/dist/elements/PreviewSizes/index.js +138 -127
  364. package/dist/elements/PreviewSizes/index.js.map +1 -1
  365. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +109 -109
  366. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  367. package/dist/elements/PublishButton/ScheduleDrawer/index.js +345 -305
  368. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  369. package/dist/elements/PublishButton/ScheduleDrawer/types.js +2 -1
  370. package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
  371. package/dist/elements/PublishButton/index.js +190 -182
  372. package/dist/elements/PublishButton/index.js.map +1 -1
  373. package/dist/elements/PublishMany/DrawerContent.js +128 -129
  374. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  375. package/dist/elements/PublishMany/index.js +37 -106
  376. package/dist/elements/PublishMany/index.js.map +1 -1
  377. package/dist/elements/QueryPresets/QueryPresetBar/index.js +266 -259
  378. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  379. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +50 -85
  380. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  381. package/dist/elements/QueryPresets/cells/AccessCell/index.js +30 -20
  382. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
  383. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +17 -18
  384. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  385. package/dist/elements/QueryPresets/cells/GroupByCell/index.js +51 -46
  386. package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
  387. package/dist/elements/QueryPresets/cells/WhereCell/index.js +24 -26
  388. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
  389. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +24 -45
  390. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  391. package/dist/elements/QueryPresets/fields/GroupByField/index.js +74 -72
  392. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  393. package/dist/elements/QueryPresets/fields/WhereField/index.js +96 -97
  394. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  395. package/dist/elements/ReactSelect/ClearIndicator/index.js +20 -26
  396. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  397. package/dist/elements/ReactSelect/Control/index.js +31 -40
  398. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  399. package/dist/elements/ReactSelect/DropdownIndicator/index.js +17 -22
  400. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  401. package/dist/elements/ReactSelect/Input/index.js +11 -12
  402. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  403. package/dist/elements/ReactSelect/MultiValue/index.js +39 -125
  404. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  405. package/dist/elements/ReactSelect/MultiValueLabel/index.js +20 -31
  406. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  407. package/dist/elements/ReactSelect/MultiValueRemove/index.js +35 -84
  408. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  409. package/dist/elements/ReactSelect/SingleValue/index.js +13 -13
  410. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  411. package/dist/elements/ReactSelect/ValueContainer/index.js +25 -28
  412. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  413. package/dist/elements/ReactSelect/index.js +180 -195
  414. package/dist/elements/ReactSelect/index.js.map +1 -1
  415. package/dist/elements/ReactSelect/types.js +2 -1
  416. package/dist/elements/ReactSelect/types.js.map +1 -1
  417. package/dist/elements/RelationshipTable/AddNewButton.js +42 -56
  418. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  419. package/dist/elements/RelationshipTable/Pagination.js +15 -46
  420. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  421. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +21 -32
  422. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  423. package/dist/elements/RelationshipTable/index.js +291 -255
  424. package/dist/elements/RelationshipTable/index.js.map +1 -1
  425. package/dist/elements/RenderComponent/index.js +16 -19
  426. package/dist/elements/RenderComponent/index.js.map +1 -1
  427. package/dist/elements/RenderCustomComponent/index.js +3 -5
  428. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  429. package/dist/elements/RenderIfInViewport/index.js +21 -56
  430. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  431. package/dist/elements/RenderServerComponent/index.js +48 -55
  432. package/dist/elements/RenderServerComponent/index.js.map +1 -1
  433. package/dist/elements/RenderTitle/index.js +25 -56
  434. package/dist/elements/RenderTitle/index.js.map +1 -1
  435. package/dist/elements/RestoreButton/index.js +146 -145
  436. package/dist/elements/RestoreButton/index.js.map +1 -1
  437. package/dist/elements/RestoreMany/index.js +147 -165
  438. package/dist/elements/RestoreMany/index.js.map +1 -1
  439. package/dist/elements/SaveButton/index.js +42 -48
  440. package/dist/elements/SaveButton/index.js.map +1 -1
  441. package/dist/elements/SaveDraftButton/index.js +75 -82
  442. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  443. package/dist/elements/SearchBar/index.js +20 -18
  444. package/dist/elements/SearchBar/index.js.map +1 -1
  445. package/dist/elements/SearchFilter/index.js +51 -53
  446. package/dist/elements/SearchFilter/index.js.map +1 -1
  447. package/dist/elements/SearchFilter/types.js +2 -1
  448. package/dist/elements/SearchFilter/types.js.map +1 -1
  449. package/dist/elements/SelectAll/index.js +15 -44
  450. package/dist/elements/SelectAll/index.js.map +1 -1
  451. package/dist/elements/SelectMany/index.js +22 -24
  452. package/dist/elements/SelectMany/index.js.map +1 -1
  453. package/dist/elements/SelectRow/index.js +16 -76
  454. package/dist/elements/SelectRow/index.js.map +1 -1
  455. package/dist/elements/ShimmerEffect/index.js +36 -71
  456. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  457. package/dist/elements/SortColumn/index.js +64 -104
  458. package/dist/elements/SortColumn/index.js.map +1 -1
  459. package/dist/elements/SortComplex/index.js +103 -160
  460. package/dist/elements/SortComplex/index.js.map +1 -1
  461. package/dist/elements/SortHeader/index.js +35 -84
  462. package/dist/elements/SortHeader/index.js.map +1 -1
  463. package/dist/elements/SortRow/index.js +11 -25
  464. package/dist/elements/SortRow/index.js.map +1 -1
  465. package/dist/elements/Status/index.js +157 -155
  466. package/dist/elements/Status/index.js.map +1 -1
  467. package/dist/elements/StayLoggedIn/index.js +32 -74
  468. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  469. package/dist/elements/StepNav/SetStepNav.js +10 -27
  470. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  471. package/dist/elements/StepNav/context.js +11 -32
  472. package/dist/elements/StepNav/context.js.map +1 -1
  473. package/dist/elements/StepNav/index.js +68 -88
  474. package/dist/elements/StepNav/index.js.map +1 -1
  475. package/dist/elements/StepNav/types.js +2 -1
  476. package/dist/elements/StepNav/types.js.map +1 -1
  477. package/dist/elements/StickyToolbar/index.js +5 -7
  478. package/dist/elements/StickyToolbar/index.js.map +1 -1
  479. package/dist/elements/Table/DefaultCell/fields/Array/index.js +7 -26
  480. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  481. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +28 -58
  482. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  483. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +8 -25
  484. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  485. package/dist/elements/Table/DefaultCell/fields/Code/index.js +13 -16
  486. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  487. package/dist/elements/Table/DefaultCell/fields/Date/index.js +17 -40
  488. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  489. package/dist/elements/Table/DefaultCell/fields/File/index.js +39 -41
  490. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  491. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +9 -11
  492. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  493. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +102 -183
  494. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  495. package/dist/elements/Table/DefaultCell/fields/Select/index.js +16 -42
  496. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  497. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +6 -8
  498. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  499. package/dist/elements/Table/DefaultCell/fields/index.js +14 -14
  500. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  501. package/dist/elements/Table/DefaultCell/index.js +91 -147
  502. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  503. package/dist/elements/Table/OrderableRow.js +23 -31
  504. package/dist/elements/Table/OrderableRow.js.map +1 -1
  505. package/dist/elements/Table/OrderableRowDragPreview.js +11 -14
  506. package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
  507. package/dist/elements/Table/OrderableTable.js +167 -162
  508. package/dist/elements/Table/OrderableTable.js.map +1 -1
  509. package/dist/elements/Table/RelationshipProvider/index.js +95 -159
  510. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  511. package/dist/elements/Table/RelationshipProvider/reducer.js +42 -42
  512. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  513. package/dist/elements/Table/index.js +45 -43
  514. package/dist/elements/Table/index.js.map +1 -1
  515. package/dist/elements/Thumbnail/createThumbnail.js +52 -51
  516. package/dist/elements/Thumbnail/createThumbnail.js.map +1 -1
  517. package/dist/elements/Thumbnail/index.js +93 -146
  518. package/dist/elements/Thumbnail/index.js.map +1 -1
  519. package/dist/elements/ThumbnailCard/index.js +33 -66
  520. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  521. package/dist/elements/TimezonePicker/index.js +39 -42
  522. package/dist/elements/TimezonePicker/index.js.map +1 -1
  523. package/dist/elements/TimezonePicker/types.js +2 -1
  524. package/dist/elements/TimezonePicker/types.js.map +1 -1
  525. package/dist/elements/Toasts/fieldErrors.js +51 -75
  526. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  527. package/dist/elements/Tooltip/index.js +75 -64
  528. package/dist/elements/Tooltip/index.js.map +1 -1
  529. package/dist/elements/Translation/index.js +31 -38
  530. package/dist/elements/Translation/index.js.map +1 -1
  531. package/dist/elements/TrashBanner/index.js +20 -25
  532. package/dist/elements/TrashBanner/index.js.map +1 -1
  533. package/dist/elements/UnpublishMany/DrawerContent.js +121 -122
  534. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  535. package/dist/elements/UnpublishMany/index.js +37 -106
  536. package/dist/elements/UnpublishMany/index.js.map +1 -1
  537. package/dist/elements/Upload/index.js +476 -476
  538. package/dist/elements/Upload/index.js.map +1 -1
  539. package/dist/elements/ViewDescription/index.js +10 -25
  540. package/dist/elements/ViewDescription/index.js.map +1 -1
  541. package/dist/elements/ViewDescription/types.js.map +1 -1
  542. package/dist/elements/WhereBuilder/Condition/Date/index.js +14 -28
  543. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  544. package/dist/elements/WhereBuilder/Condition/Date/types.js +2 -1
  545. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  546. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +69 -74
  547. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  548. package/dist/elements/WhereBuilder/Condition/Number/index.js +63 -127
  549. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  550. package/dist/elements/WhereBuilder/Condition/Number/types.js +2 -1
  551. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  552. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +336 -308
  553. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  554. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +83 -67
  555. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  556. package/dist/elements/WhereBuilder/Condition/Relationship/types.js +2 -1
  557. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  558. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js +10 -9
  559. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js.map +1 -1
  560. package/dist/elements/WhereBuilder/Condition/Select/index.js +63 -152
  561. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  562. package/dist/elements/WhereBuilder/Condition/Select/types.js +2 -1
  563. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  564. package/dist/elements/WhereBuilder/Condition/Text/index.js +61 -121
  565. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  566. package/dist/elements/WhereBuilder/Condition/Text/types.js +2 -1
  567. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  568. package/dist/elements/WhereBuilder/Condition/index.js +157 -142
  569. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  570. package/dist/elements/WhereBuilder/Condition/types.js +2 -1
  571. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  572. package/dist/elements/WhereBuilder/Condition/validOperators.js +32 -33
  573. package/dist/elements/WhereBuilder/Condition/validOperators.js.map +1 -1
  574. package/dist/elements/WhereBuilder/field-types.js +192 -119
  575. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  576. package/dist/elements/WhereBuilder/index.js +201 -193
  577. package/dist/elements/WhereBuilder/index.js.map +1 -1
  578. package/dist/elements/WhereBuilder/types.js +2 -1
  579. package/dist/elements/WhereBuilder/types.js.map +1 -1
  580. package/dist/elements/WindowInfo/index.js +1 -1
  581. package/dist/elements/WindowInfo/index.js.map +1 -1
  582. package/dist/elements/WithServerSideProps/index.js +15 -18
  583. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  584. package/dist/elements/withMergedProps/index.d.ts +1 -1
  585. package/dist/elements/withMergedProps/index.js +22 -26
  586. package/dist/elements/withMergedProps/index.js.map +1 -1
  587. package/dist/exports/client/index.d.ts +0 -2
  588. package/dist/exports/client/index.d.ts.map +1 -1
  589. package/dist/exports/client/index.js +272 -96
  590. package/dist/exports/client/index.js.map +1 -7
  591. package/dist/exports/rsc/index.js +1 -0
  592. package/dist/exports/rsc/index.js.map +1 -1
  593. package/dist/exports/shared/index.js +31 -6
  594. package/dist/exports/shared/index.js.map +1 -7
  595. package/dist/fields/Array/ArrayRow.d.ts +7 -18
  596. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  597. package/dist/fields/Array/ArrayRow.js +73 -96
  598. package/dist/fields/Array/ArrayRow.js.map +1 -1
  599. package/dist/fields/Array/index.d.ts.map +1 -1
  600. package/dist/fields/Array/index.js +412 -401
  601. package/dist/fields/Array/index.js.map +1 -1
  602. package/dist/fields/Blocks/BlockRow.js +112 -195
  603. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  604. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +16 -36
  605. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  606. package/dist/fields/Blocks/BlockSelector/index.js +105 -99
  607. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  608. package/dist/fields/Blocks/BlocksDrawer/index.js +27 -78
  609. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  610. package/dist/fields/Blocks/RowActions.js +36 -104
  611. package/dist/fields/Blocks/RowActions.js.map +1 -1
  612. package/dist/fields/Blocks/SectionTitle/index.js +27 -77
  613. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  614. package/dist/fields/Blocks/index.js +441 -424
  615. package/dist/fields/Blocks/index.js.map +1 -1
  616. package/dist/fields/Checkbox/Input.js +52 -97
  617. package/dist/fields/Checkbox/Input.js.map +1 -1
  618. package/dist/fields/Checkbox/index.js +82 -98
  619. package/dist/fields/Checkbox/index.js.map +1 -1
  620. package/dist/fields/Code/index.js +109 -113
  621. package/dist/fields/Code/index.js.map +1 -1
  622. package/dist/fields/Collapsible/index.js +131 -133
  623. package/dist/fields/Collapsible/index.js.map +1 -1
  624. package/dist/fields/ConfirmPassword/index.js +46 -82
  625. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  626. package/dist/fields/DateTime/index.js +176 -170
  627. package/dist/fields/DateTime/index.js.map +1 -1
  628. package/dist/fields/Email/index.js +74 -85
  629. package/dist/fields/Email/index.js.map +1 -1
  630. package/dist/fields/FieldDescription/index.js +15 -42
  631. package/dist/fields/FieldDescription/index.js.map +1 -1
  632. package/dist/fields/FieldError/index.js +16 -56
  633. package/dist/fields/FieldError/index.js.map +1 -1
  634. package/dist/fields/FieldLabel/index.js +30 -44
  635. package/dist/fields/FieldLabel/index.js.map +1 -1
  636. package/dist/fields/Group/index.js +96 -100
  637. package/dist/fields/Group/index.js.map +1 -1
  638. package/dist/fields/Group/provider.js +8 -11
  639. package/dist/fields/Group/provider.js.map +1 -1
  640. package/dist/fields/Hidden/index.js +22 -66
  641. package/dist/fields/Hidden/index.js.map +1 -1
  642. package/dist/fields/JSON/index.js +148 -142
  643. package/dist/fields/JSON/index.js.map +1 -1
  644. package/dist/fields/Join/index.js +180 -187
  645. package/dist/fields/Join/index.js.map +1 -1
  646. package/dist/fields/Number/index.js +166 -168
  647. package/dist/fields/Number/index.js.map +1 -1
  648. package/dist/fields/Password/index.js +74 -99
  649. package/dist/fields/Password/index.js.map +1 -1
  650. package/dist/fields/Password/input.js +66 -120
  651. package/dist/fields/Password/input.js.map +1 -1
  652. package/dist/fields/Password/types.js +2 -1
  653. package/dist/fields/Password/types.js.map +1 -1
  654. package/dist/fields/Point/index.js +133 -125
  655. package/dist/fields/Point/index.js.map +1 -1
  656. package/dist/fields/RadioGroup/Radio/index.js +34 -79
  657. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  658. package/dist/fields/RadioGroup/index.js +100 -112
  659. package/dist/fields/RadioGroup/index.js.map +1 -1
  660. package/dist/fields/Relationship/Input.js +747 -725
  661. package/dist/fields/Relationship/Input.js.map +1 -1
  662. package/dist/fields/Relationship/createRelationMap.js +31 -33
  663. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  664. package/dist/fields/Relationship/findOptionsByValue.js +28 -32
  665. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  666. package/dist/fields/Relationship/index.js +147 -159
  667. package/dist/fields/Relationship/index.js.map +1 -1
  668. package/dist/fields/Relationship/optionsReducer.js +144 -139
  669. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  670. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +60 -81
  671. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  672. package/dist/fields/Relationship/select-components/SingleValue/index.js +56 -114
  673. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  674. package/dist/fields/Relationship/types.js +2 -1
  675. package/dist/fields/Relationship/types.js.map +1 -1
  676. package/dist/fields/RichText/index.js +3 -3
  677. package/dist/fields/RichText/index.js.map +1 -1
  678. package/dist/fields/Row/index.js +24 -34
  679. package/dist/fields/Row/index.js.map +1 -1
  680. package/dist/fields/Row/provider.js +8 -11
  681. package/dist/fields/Row/provider.js.map +1 -1
  682. package/dist/fields/Select/Input.js +76 -163
  683. package/dist/fields/Select/Input.js.map +1 -1
  684. package/dist/fields/Select/index.js +84 -107
  685. package/dist/fields/Select/index.js.map +1 -1
  686. package/dist/fields/Slug/index.js +77 -132
  687. package/dist/fields/Slug/index.js.map +1 -1
  688. package/dist/fields/Tabs/Tab/index.js +36 -58
  689. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  690. package/dist/fields/Tabs/index.js +199 -443
  691. package/dist/fields/Tabs/index.js.map +1 -1
  692. package/dist/fields/Tabs/provider.js +8 -11
  693. package/dist/fields/Tabs/provider.js.map +1 -1
  694. package/dist/fields/Text/Input.js +127 -189
  695. package/dist/fields/Text/Input.js.map +1 -1
  696. package/dist/fields/Text/index.js +101 -125
  697. package/dist/fields/Text/index.js.map +1 -1
  698. package/dist/fields/Text/types.js +2 -1
  699. package/dist/fields/Text/types.js.map +1 -1
  700. package/dist/fields/Textarea/Input.js +62 -113
  701. package/dist/fields/Textarea/Input.js.map +1 -1
  702. package/dist/fields/Textarea/index.js +56 -87
  703. package/dist/fields/Textarea/index.js.map +1 -1
  704. package/dist/fields/Textarea/types.js +2 -1
  705. package/dist/fields/Textarea/types.js.map +1 -1
  706. package/dist/fields/UI/index.js +3 -3
  707. package/dist/fields/UI/index.js.map +1 -1
  708. package/dist/fields/Upload/HasMany/index.js +107 -184
  709. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  710. package/dist/fields/Upload/HasOne/index.js +49 -58
  711. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  712. package/dist/fields/Upload/Input.js +653 -561
  713. package/dist/fields/Upload/Input.js.map +1 -1
  714. package/dist/fields/Upload/RelationshipContent/index.js +91 -142
  715. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  716. package/dist/fields/Upload/UploadCard/index.js +10 -9
  717. package/dist/fields/Upload/UploadCard/index.js.map +1 -1
  718. package/dist/fields/Upload/index.js +70 -95
  719. package/dist/fields/Upload/index.js.map +1 -1
  720. package/dist/fields/Upload/types.js +2 -1
  721. package/dist/fields/Upload/types.js.map +1 -1
  722. package/dist/fields/index.js +31 -31
  723. package/dist/fields/index.js.map +1 -1
  724. package/dist/fields/mergeFieldStyles.js +13 -12
  725. package/dist/fields/mergeFieldStyles.js.map +1 -1
  726. package/dist/fields/shared/index.js +8 -16
  727. package/dist/fields/shared/index.js.map +1 -1
  728. package/dist/forms/Form/context.js +17 -24
  729. package/dist/forms/Form/context.js.map +1 -1
  730. package/dist/forms/Form/createNestedClientFieldPath.js +11 -11
  731. package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -1
  732. package/dist/forms/Form/errorMessages.js +2 -2
  733. package/dist/forms/Form/errorMessages.js.map +1 -1
  734. package/dist/forms/Form/fieldReducer.js +376 -411
  735. package/dist/forms/Form/fieldReducer.js.map +1 -1
  736. package/dist/forms/Form/index.js +692 -681
  737. package/dist/forms/Form/index.js.map +1 -1
  738. package/dist/forms/Form/initContextState.js +38 -38
  739. package/dist/forms/Form/initContextState.js.map +1 -1
  740. package/dist/forms/Form/mergeServerFormState.js +84 -97
  741. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  742. package/dist/forms/Form/reduceToSerializableFields.js +20 -17
  743. package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
  744. package/dist/forms/Form/rowHelpers.js +27 -34
  745. package/dist/forms/Form/rowHelpers.js.map +1 -1
  746. package/dist/forms/Form/rows.js +34 -34
  747. package/dist/forms/Form/rows.js.map +1 -1
  748. package/dist/forms/Form/types.js +2 -1
  749. package/dist/forms/Form/types.js.map +1 -1
  750. package/dist/forms/NullifyField/index.js +50 -94
  751. package/dist/forms/NullifyField/index.js.map +1 -1
  752. package/dist/forms/RenderFields/RenderField.js +142 -256
  753. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  754. package/dist/forms/RenderFields/context.js +9 -9
  755. package/dist/forms/RenderFields/context.js.map +1 -1
  756. package/dist/forms/RenderFields/index.js +63 -114
  757. package/dist/forms/RenderFields/index.js.map +1 -1
  758. package/dist/forms/RenderFields/types.js +2 -1
  759. package/dist/forms/RenderFields/types.js.map +1 -1
  760. package/dist/forms/RowLabel/Context/index.js +25 -28
  761. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  762. package/dist/forms/RowLabel/index.js +20 -23
  763. package/dist/forms/RowLabel/index.js.map +1 -1
  764. package/dist/forms/RowLabel/types.js +2 -1
  765. package/dist/forms/RowLabel/types.js.map +1 -1
  766. package/dist/forms/Submit/index.js +23 -34
  767. package/dist/forms/Submit/index.js.map +1 -1
  768. package/dist/forms/WatchChildErrors/buildPathSegments.js +29 -29
  769. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  770. package/dist/forms/WatchChildErrors/index.js +36 -66
  771. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  772. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +634 -683
  773. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  774. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +14 -22
  775. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  776. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +17 -26
  777. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  778. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +186 -198
  779. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  780. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +61 -54
  781. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -1
  782. package/dist/forms/fieldSchemasToFormState/index.js +58 -79
  783. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  784. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js +12 -16
  785. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js.map +1 -1
  786. package/dist/forms/fieldSchemasToFormState/iterateFields.js +79 -116
  787. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  788. package/dist/forms/fieldSchemasToFormState/renderField.js +260 -273
  789. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  790. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +69 -75
  791. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
  792. package/dist/forms/fieldSchemasToFormState/types.js +2 -1
  793. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  794. package/dist/forms/useField/index.js +179 -292
  795. package/dist/forms/useField/index.js.map +1 -1
  796. package/dist/forms/useField/types.js +2 -1
  797. package/dist/forms/useField/types.js.map +1 -1
  798. package/dist/forms/withCondition/WatchCondition.js +9 -27
  799. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  800. package/dist/forms/withCondition/index.js +12 -14
  801. package/dist/forms/withCondition/index.js.map +1 -1
  802. package/dist/graphics/Account/Default/index.js +29 -21
  803. package/dist/graphics/Account/Default/index.js.map +1 -1
  804. package/dist/graphics/Account/Gravatar/index.js +19 -32
  805. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  806. package/dist/graphics/Account/index.js +15 -50
  807. package/dist/graphics/Account/index.js.map +1 -1
  808. package/dist/graphics/DefaultBlockImage/index.js +72 -61
  809. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  810. package/dist/graphics/File/index.js +20 -16
  811. package/dist/graphics/File/index.js.map +1 -1
  812. package/dist/graphics/Icon/index.js +20 -18
  813. package/dist/graphics/Icon/index.js.map +1 -1
  814. package/dist/graphics/Logo/index.js +55 -38
  815. package/dist/graphics/Logo/index.js.map +1 -1
  816. package/dist/hooks/useClickOutside.js +19 -15
  817. package/dist/hooks/useClickOutside.js.map +1 -1
  818. package/dist/hooks/useControllableState.js +16 -34
  819. package/dist/hooks/useControllableState.js.map +1 -1
  820. package/dist/hooks/useDebounce.js +15 -26
  821. package/dist/hooks/useDebounce.js.map +1 -1
  822. package/dist/hooks/useDebouncedCallback.js +15 -23
  823. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  824. package/dist/hooks/useDebouncedEffect.js +18 -53
  825. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  826. package/dist/hooks/useDelay.js +27 -52
  827. package/dist/hooks/useDelay.js.map +1 -1
  828. package/dist/hooks/useDelayedRender.js +40 -76
  829. package/dist/hooks/useDelayedRender.js.map +1 -1
  830. package/dist/hooks/useEffectEvent.js +12 -33
  831. package/dist/hooks/useEffectEvent.js.map +1 -1
  832. package/dist/hooks/useHotkey.js +96 -110
  833. package/dist/hooks/useHotkey.js.map +1 -1
  834. package/dist/hooks/useIntersect.js +28 -59
  835. package/dist/hooks/useIntersect.js.map +1 -1
  836. package/dist/hooks/usePayloadAPI.js +79 -172
  837. package/dist/hooks/usePayloadAPI.js.map +1 -1
  838. package/dist/hooks/usePopupWindow.js +91 -133
  839. package/dist/hooks/usePopupWindow.js.map +1 -1
  840. package/dist/hooks/useQueue.js +40 -40
  841. package/dist/hooks/useQueue.js.map +1 -1
  842. package/dist/hooks/useRelatedCollections.js +15 -27
  843. package/dist/hooks/useRelatedCollections.js.map +1 -1
  844. package/dist/hooks/useResize.js +41 -70
  845. package/dist/hooks/useResize.js.map +1 -1
  846. package/dist/hooks/useThrottledEffect.js +17 -51
  847. package/dist/hooks/useThrottledEffect.js.map +1 -1
  848. package/dist/hooks/useThrottledValue.js +16 -13
  849. package/dist/hooks/useThrottledValue.js.map +1 -1
  850. package/dist/hooks/useUseAsTitle.js +7 -27
  851. package/dist/hooks/useUseAsTitle.js.map +1 -1
  852. package/dist/icons/Calendar/index.js +11 -10
  853. package/dist/icons/Calendar/index.js.map +1 -1
  854. package/dist/icons/Check/index.js +11 -10
  855. package/dist/icons/Check/index.js.map +1 -1
  856. package/dist/icons/Chevron/index.js +21 -21
  857. package/dist/icons/Chevron/index.js.map +1 -1
  858. package/dist/icons/CloseMenu/index.js +11 -10
  859. package/dist/icons/CloseMenu/index.js.map +1 -1
  860. package/dist/icons/CodeBlock/index.js +13 -12
  861. package/dist/icons/CodeBlock/index.js.map +1 -1
  862. package/dist/icons/Copy/index.js +15 -16
  863. package/dist/icons/Copy/index.js.map +1 -1
  864. package/dist/icons/Document/index.js +16 -15
  865. package/dist/icons/Document/index.js.map +1 -1
  866. package/dist/icons/Dots/index.js +15 -10
  867. package/dist/icons/Dots/index.js.map +1 -1
  868. package/dist/icons/DragHandle/index.js +41 -32
  869. package/dist/icons/DragHandle/index.js.map +1 -1
  870. package/dist/icons/Edit/index.js +14 -12
  871. package/dist/icons/Edit/index.js.map +1 -1
  872. package/dist/icons/ExternalLink/index.js +16 -14
  873. package/dist/icons/ExternalLink/index.js.map +1 -1
  874. package/dist/icons/Eye/index.js +28 -24
  875. package/dist/icons/Eye/index.js.map +1 -1
  876. package/dist/icons/Folder/index.js +17 -15
  877. package/dist/icons/Folder/index.js.map +1 -1
  878. package/dist/icons/Gear/index.js +21 -20
  879. package/dist/icons/Gear/index.js.map +1 -1
  880. package/dist/icons/GridView/index.js +36 -30
  881. package/dist/icons/GridView/index.js.map +1 -1
  882. package/dist/icons/Line/index.js +14 -13
  883. package/dist/icons/Line/index.js.map +1 -1
  884. package/dist/icons/Link/index.js +16 -15
  885. package/dist/icons/Link/index.js.map +1 -1
  886. package/dist/icons/ListView/index.js +16 -15
  887. package/dist/icons/ListView/index.js.map +1 -1
  888. package/dist/icons/Lock/index.js +28 -23
  889. package/dist/icons/Lock/index.js.map +1 -1
  890. package/dist/icons/LogOut/index.js +14 -13
  891. package/dist/icons/LogOut/index.js.map +1 -1
  892. package/dist/icons/Menu/index.js +14 -13
  893. package/dist/icons/Menu/index.js.map +1 -1
  894. package/dist/icons/MinimizeMaximize/index.js +20 -18
  895. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  896. package/dist/icons/More/index.js +26 -20
  897. package/dist/icons/More/index.js.map +1 -1
  898. package/dist/icons/MoveFolder/index.js +37 -33
  899. package/dist/icons/MoveFolder/index.js.map +1 -1
  900. package/dist/icons/People/index.js +19 -16
  901. package/dist/icons/People/index.js.map +1 -1
  902. package/dist/icons/Plus/index.js +13 -12
  903. package/dist/icons/Plus/index.js.map +1 -1
  904. package/dist/icons/Search/index.js +12 -11
  905. package/dist/icons/Search/index.js.map +1 -1
  906. package/dist/icons/Sort/index.js +31 -34
  907. package/dist/icons/Sort/index.js.map +1 -1
  908. package/dist/icons/Swap/index.js +11 -10
  909. package/dist/icons/Swap/index.js.map +1 -1
  910. package/dist/icons/ThreeDots/index.js +10 -7
  911. package/dist/icons/ThreeDots/index.js.map +1 -1
  912. package/dist/icons/Trash/index.js +19 -17
  913. package/dist/icons/Trash/index.js.map +1 -1
  914. package/dist/icons/X/index.js +16 -14
  915. package/dist/icons/X/index.js.map +1 -1
  916. package/dist/providers/Actions/index.js +15 -31
  917. package/dist/providers/Actions/index.js.map +1 -1
  918. package/dist/providers/Auth/index.js +245 -227
  919. package/dist/providers/Auth/index.js.map +1 -1
  920. package/dist/providers/ClickOutside/index.js +30 -34
  921. package/dist/providers/ClickOutside/index.js.map +1 -1
  922. package/dist/providers/ClientFunction/index.js +54 -103
  923. package/dist/providers/ClientFunction/index.js.map +1 -1
  924. package/dist/providers/Config/index.js +73 -90
  925. package/dist/providers/Config/index.js.map +1 -1
  926. package/dist/providers/DocumentEvents/index.js +13 -28
  927. package/dist/providers/DocumentEvents/index.js.map +1 -1
  928. package/dist/providers/DocumentInfo/index.js +316 -325
  929. package/dist/providers/DocumentInfo/index.js.map +1 -1
  930. package/dist/providers/DocumentInfo/types.js +1 -0
  931. package/dist/providers/DocumentInfo/types.js.map +1 -1
  932. package/dist/providers/DocumentInfo/useGetDocPermissions.js +72 -70
  933. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
  934. package/dist/providers/DocumentTitle/context.js.map +1 -1
  935. package/dist/providers/DocumentTitle/index.js +46 -54
  936. package/dist/providers/DocumentTitle/index.js.map +1 -1
  937. package/dist/providers/EditDepth/index.js +9 -23
  938. package/dist/providers/EditDepth/index.js.map +1 -1
  939. package/dist/providers/EntityVisibility/index.js +20 -46
  940. package/dist/providers/EntityVisibility/index.js.map +1 -1
  941. package/dist/providers/Folders/groupItemIDsByRelation.js +8 -7
  942. package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -1
  943. package/dist/providers/Folders/index.js +648 -595
  944. package/dist/providers/Folders/index.js.map +1 -1
  945. package/dist/providers/ListQuery/context.js +3 -2
  946. package/dist/providers/ListQuery/context.js.map +1 -1
  947. package/dist/providers/ListQuery/index.js +145 -137
  948. package/dist/providers/ListQuery/index.js.map +1 -1
  949. package/dist/providers/ListQuery/mergeQuery.js +49 -31
  950. package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
  951. package/dist/providers/ListQuery/sanitizeQuery.js +24 -23
  952. package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
  953. package/dist/providers/ListQuery/types.js +2 -1
  954. package/dist/providers/ListQuery/types.js.map +1 -1
  955. package/dist/providers/LivePreview/collisionDetection.js +21 -24
  956. package/dist/providers/LivePreview/collisionDetection.js.map +1 -1
  957. package/dist/providers/LivePreview/context.js +49 -54
  958. package/dist/providers/LivePreview/context.js.map +1 -1
  959. package/dist/providers/LivePreview/index.js +213 -204
  960. package/dist/providers/LivePreview/index.js.map +1 -1
  961. package/dist/providers/LivePreview/sizeReducer.js +19 -18
  962. package/dist/providers/LivePreview/sizeReducer.js.map +1 -1
  963. package/dist/providers/Locale/index.js +76 -144
  964. package/dist/providers/Locale/index.js.map +1 -1
  965. package/dist/providers/Operation/index.js +7 -10
  966. package/dist/providers/Operation/index.js.map +1 -1
  967. package/dist/providers/Params/index.js +8 -24
  968. package/dist/providers/Params/index.js.map +1 -1
  969. package/dist/providers/Preferences/index.js +111 -111
  970. package/dist/providers/Preferences/index.js.map +1 -1
  971. package/dist/providers/Root/index.js +76 -106
  972. package/dist/providers/Root/index.js.map +1 -1
  973. package/dist/providers/RouteCache/index.js +48 -102
  974. package/dist/providers/RouteCache/index.js.map +1 -1
  975. package/dist/providers/RouteTransition/ProgressBar/index.js +52 -79
  976. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  977. package/dist/providers/RouteTransition/index.js +58 -87
  978. package/dist/providers/RouteTransition/index.js.map +1 -1
  979. package/dist/providers/ScrollInfo/index.js +1 -1
  980. package/dist/providers/ScrollInfo/index.js.map +1 -1
  981. package/dist/providers/SearchParams/index.js +30 -33
  982. package/dist/providers/SearchParams/index.js.map +1 -1
  983. package/dist/providers/Selection/index.js +193 -182
  984. package/dist/providers/Selection/index.js.map +1 -1
  985. package/dist/providers/ServerFunctions/index.js +191 -196
  986. package/dist/providers/ServerFunctions/index.js.map +1 -1
  987. package/dist/providers/TableColumns/RenderDefaultCell/index.js +23 -60
  988. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  989. package/dist/providers/TableColumns/buildColumnState/filterFields.js +32 -32
  990. package/dist/providers/TableColumns/buildColumnState/filterFields.js.map +1 -1
  991. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js +50 -52
  992. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js.map +1 -1
  993. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js +3 -2
  994. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js.map +1 -1
  995. package/dist/providers/TableColumns/buildColumnState/index.js +125 -142
  996. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  997. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js +10 -14
  998. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js.map +1 -1
  999. package/dist/providers/TableColumns/buildColumnState/renderCell.js +139 -149
  1000. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  1001. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js +16 -15
  1002. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js.map +1 -1
  1003. package/dist/providers/TableColumns/context.js +2 -1
  1004. package/dist/providers/TableColumns/context.js.map +1 -1
  1005. package/dist/providers/TableColumns/getInitialColumns.js +42 -28
  1006. package/dist/providers/TableColumns/getInitialColumns.js.map +1 -1
  1007. package/dist/providers/TableColumns/index.js +82 -83
  1008. package/dist/providers/TableColumns/index.js.map +1 -1
  1009. package/dist/providers/TableColumns/types.js +2 -1
  1010. package/dist/providers/TableColumns/types.js.map +1 -1
  1011. package/dist/providers/Theme/index.js +63 -102
  1012. package/dist/providers/Theme/index.js.map +1 -1
  1013. package/dist/providers/ToastContainer/icons/Error.js +21 -18
  1014. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  1015. package/dist/providers/ToastContainer/icons/Info.js +21 -18
  1016. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  1017. package/dist/providers/ToastContainer/icons/Success.js +21 -18
  1018. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  1019. package/dist/providers/ToastContainer/icons/Warning.js +21 -18
  1020. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  1021. package/dist/providers/ToastContainer/index.js +35 -46
  1022. package/dist/providers/ToastContainer/index.js.map +1 -1
  1023. package/dist/providers/Translation/index.js +60 -110
  1024. package/dist/providers/Translation/index.js.map +1 -1
  1025. package/dist/providers/UploadControls/index.js +22 -38
  1026. package/dist/providers/UploadControls/index.js.map +1 -1
  1027. package/dist/providers/UploadEdits/index.js +25 -71
  1028. package/dist/providers/UploadEdits/index.js.map +1 -1
  1029. package/dist/providers/UploadHandlers/index.js +24 -63
  1030. package/dist/providers/UploadHandlers/index.js.map +1 -1
  1031. package/dist/providers/WindowInfo/index.js +5 -9
  1032. package/dist/providers/WindowInfo/index.js.map +1 -1
  1033. package/dist/styles.css +0 -1
  1034. package/dist/utilities/abortAndIgnore.js +17 -17
  1035. package/dist/utilities/abortAndIgnore.js.map +1 -1
  1036. package/dist/utilities/api.js +78 -77
  1037. package/dist/utilities/api.js.map +1 -1
  1038. package/dist/utilities/buildClientFieldSchemaMap/index.js +61 -65
  1039. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  1040. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +142 -154
  1041. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  1042. package/dist/utilities/buildFieldSchemaMap/index.js +59 -61
  1043. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  1044. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +110 -122
  1045. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  1046. package/dist/utilities/buildFormState.js +151 -186
  1047. package/dist/utilities/buildFormState.js.map +1 -1
  1048. package/dist/utilities/buildTableState.js +145 -168
  1049. package/dist/utilities/buildTableState.js.map +1 -1
  1050. package/dist/utilities/canUseDOM.js +1 -0
  1051. package/dist/utilities/canUseDOM.js.map +1 -1
  1052. package/dist/utilities/combineFieldLabel.js +28 -25
  1053. package/dist/utilities/combineFieldLabel.js.map +1 -1
  1054. package/dist/utilities/copyDataFromLocale.js +198 -210
  1055. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  1056. package/dist/utilities/dateLocales.js +28 -27
  1057. package/dist/utilities/dateLocales.js.map +1 -1
  1058. package/dist/utilities/deepMerge.js +14 -13
  1059. package/dist/utilities/deepMerge.js.map +1 -1
  1060. package/dist/utilities/fetchPreferences.js.map +1 -1
  1061. package/dist/utilities/filterOutUploadFields.js +17 -4
  1062. package/dist/utilities/filterOutUploadFields.js.map +1 -1
  1063. package/dist/utilities/findLocaleFromCode.js +6 -5
  1064. package/dist/utilities/findLocaleFromCode.js.map +1 -1
  1065. package/dist/utilities/formatAbsoluteURL.js +8 -8
  1066. package/dist/utilities/formatAbsoluteURL.js.map +1 -1
  1067. package/dist/utilities/formatAdminURL.js +2 -1
  1068. package/dist/utilities/formatAdminURL.js.map +1 -1
  1069. package/dist/utilities/formatDocTitle/formatDateTitle.js +20 -27
  1070. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  1071. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js +14 -13
  1072. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -1
  1073. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js +14 -13
  1074. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js.map +1 -1
  1075. package/dist/utilities/formatDocTitle/index.js +38 -44
  1076. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  1077. package/dist/utilities/formatFields.js +2 -1
  1078. package/dist/utilities/formatFields.js.map +1 -1
  1079. package/dist/utilities/generateFieldID.js +6 -5
  1080. package/dist/utilities/generateFieldID.js.map +1 -1
  1081. package/dist/utilities/getClientConfig.js +25 -29
  1082. package/dist/utilities/getClientConfig.js.map +1 -1
  1083. package/dist/utilities/getClientSchemaMap.js +24 -32
  1084. package/dist/utilities/getClientSchemaMap.js.map +1 -1
  1085. package/dist/utilities/getColumns.js +29 -35
  1086. package/dist/utilities/getColumns.js.map +1 -1
  1087. package/dist/utilities/getDisplayedFieldValue.js +15 -15
  1088. package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
  1089. package/dist/utilities/getFolderResultsComponentAndData.js +115 -119
  1090. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
  1091. package/dist/utilities/getOffsetTop.js +14 -13
  1092. package/dist/utilities/getOffsetTop.js.map +1 -1
  1093. package/dist/utilities/getRequestLanguage.js +5 -8
  1094. package/dist/utilities/getRequestLanguage.js.map +1 -1
  1095. package/dist/utilities/getSchemaMap.js +22 -28
  1096. package/dist/utilities/getSchemaMap.js.map +1 -1
  1097. package/dist/utilities/getSupportedMonacoLocale.js +14 -13
  1098. package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
  1099. package/dist/utilities/groupNavItems.js +53 -49
  1100. package/dist/utilities/groupNavItems.js.map +1 -1
  1101. package/dist/utilities/handleBackToDashboard.js +7 -9
  1102. package/dist/utilities/handleBackToDashboard.js.map +1 -1
  1103. package/dist/utilities/handleFormStateLocking.js +125 -119
  1104. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  1105. package/dist/utilities/handleGoBack.js +7 -10
  1106. package/dist/utilities/handleGoBack.js.map +1 -1
  1107. package/dist/utilities/handleLivePreview.js +59 -76
  1108. package/dist/utilities/handleLivePreview.js.map +1 -1
  1109. package/dist/utilities/handlePreview.js +41 -52
  1110. package/dist/utilities/handlePreview.js.map +1 -1
  1111. package/dist/utilities/handleTakeOver.js +28 -39
  1112. package/dist/utilities/handleTakeOver.js.map +1 -1
  1113. package/dist/utilities/hasOptionLabelJSXElement.js +9 -11
  1114. package/dist/utilities/hasOptionLabelJSXElement.js.map +1 -1
  1115. package/dist/utilities/hasSavePermission.js +10 -14
  1116. package/dist/utilities/hasSavePermission.js.map +1 -1
  1117. package/dist/utilities/isClientUserObject.js +3 -2
  1118. package/dist/utilities/isClientUserObject.js.map +1 -1
  1119. package/dist/utilities/isEditing.js +2 -5
  1120. package/dist/utilities/isEditing.js.map +1 -1
  1121. package/dist/utilities/isURLAllowed.js +30 -29
  1122. package/dist/utilities/isURLAllowed.js.map +1 -1
  1123. package/dist/utilities/isValidReactElement.js +3 -3
  1124. package/dist/utilities/isValidReactElement.js.map +1 -1
  1125. package/dist/utilities/normalizeRelationshipValue.js +29 -28
  1126. package/dist/utilities/normalizeRelationshipValue.js.map +1 -1
  1127. package/dist/utilities/normalizeRelationshipValue.spec.js +407 -368
  1128. package/dist/utilities/normalizeRelationshipValue.spec.js.map +1 -1
  1129. package/dist/utilities/parseSearchParams.js +7 -7
  1130. package/dist/utilities/parseSearchParams.js.map +1 -1
  1131. package/dist/utilities/reduceFieldsToOptions.js +145 -154
  1132. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  1133. package/dist/utilities/reduceFieldsToValuesWithValidation.js +20 -20
  1134. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  1135. package/dist/utilities/removeUndefined.js +2 -1
  1136. package/dist/utilities/removeUndefined.js.map +1 -1
  1137. package/dist/utilities/renderTable.js +180 -193
  1138. package/dist/utilities/renderTable.js.map +1 -1
  1139. package/dist/utilities/resolveFilterOptions.js +27 -26
  1140. package/dist/utilities/resolveFilterOptions.js.map +1 -1
  1141. package/dist/utilities/sanitizeFilterOptionsQuery.js +16 -15
  1142. package/dist/utilities/sanitizeFilterOptionsQuery.js.map +1 -1
  1143. package/dist/utilities/sanitizeID.js +8 -7
  1144. package/dist/utilities/sanitizeID.js.map +1 -1
  1145. package/dist/utilities/schedulePublishHandler.js +45 -57
  1146. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  1147. package/dist/utilities/scrollToID.js +10 -9
  1148. package/dist/utilities/scrollToID.js.map +1 -1
  1149. package/dist/utilities/setsAreEqual.js +3 -2
  1150. package/dist/utilities/setsAreEqual.js.map +1 -1
  1151. package/dist/utilities/traverseForLocalizedFields.js +36 -35
  1152. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  1153. package/dist/utilities/upsertPreferences.js +74 -75
  1154. package/dist/utilities/upsertPreferences.js.map +1 -1
  1155. package/dist/views/BrowseByFolder/index.js +251 -322
  1156. package/dist/views/BrowseByFolder/index.js.map +1 -1
  1157. package/dist/views/CollectionFolder/ListSelection/index.js +116 -157
  1158. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  1159. package/dist/views/CollectionFolder/index.js +257 -280
  1160. package/dist/views/CollectionFolder/index.js.map +1 -1
  1161. package/dist/views/Edit/Auth/APIKey.js +139 -122
  1162. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  1163. package/dist/views/Edit/Auth/index.js +247 -320
  1164. package/dist/views/Edit/Auth/index.js.map +1 -1
  1165. package/dist/views/Edit/Auth/types.js +2 -1
  1166. package/dist/views/Edit/Auth/types.js.map +1 -1
  1167. package/dist/views/Edit/SetDocumentStepNav/index.js +83 -130
  1168. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  1169. package/dist/views/Edit/SetDocumentTitle/index.js +30 -77
  1170. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  1171. package/dist/views/Edit/index.js +494 -493
  1172. package/dist/views/Edit/index.js.map +1 -1
  1173. package/dist/views/Edit/types.js +2 -1
  1174. package/dist/views/Edit/types.js.map +1 -1
  1175. package/dist/views/List/GroupByHeader/index.js +22 -23
  1176. package/dist/views/List/GroupByHeader/index.js.map +1 -1
  1177. package/dist/views/List/ListHeader/index.js +68 -78
  1178. package/dist/views/List/ListHeader/index.js.map +1 -1
  1179. package/dist/views/List/ListSelection/index.js +69 -109
  1180. package/dist/views/List/ListSelection/index.js.map +1 -1
  1181. package/dist/views/List/index.js +209 -209
  1182. package/dist/views/List/index.js.map +1 -1
  1183. package/dist/views/List/types.js +2 -1
  1184. package/dist/views/List/types.js.map +1 -1
  1185. package/package.json +5 -5
  1186. package/dist/exports/client/CodeEditor-QOURTFMT.js +0 -14
  1187. package/dist/exports/client/CodeEditor-QOURTFMT.js.map +0 -7
  1188. package/dist/exports/client/DatePicker-VMLA35FO.js +0 -14
  1189. package/dist/exports/client/DatePicker-VMLA35FO.js.map +0 -7
  1190. package/dist/exports/client/chunk-53XJ3K67.js +0 -27
  1191. package/dist/exports/client/chunk-53XJ3K67.js.map +0 -7
  1192. package/dist/exports/client/chunk-5LKBKI4T.js +0 -14
  1193. package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -7
  1194. package/dist/exports/client/chunk-7V3NHDV6.js +0 -29
  1195. package/dist/exports/client/chunk-7V3NHDV6.js.map +0 -7
@@ -1 +1 @@
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":[]}
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,39 +1,35 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React, { createContext, use, useEffect, useRef } from 'react';
3
- const ClickOutsideContext = /*#__PURE__*/createContext(null);
4
- export const ClickOutsideProvider = ({
5
- children
6
- }) => {
7
- const listeners = useRef(new Set());
8
- useEffect(() => {
9
- const handleClick = event => {
10
- listeners.current.forEach(({
11
- handler,
12
- ref
13
- }) => {
14
- if (ref.current && !ref.current.contains(event.target)) {
15
- handler();
16
- }
17
- });
18
- };
19
- document.addEventListener('mousedown', handleClick);
20
- return () => document.removeEventListener('mousedown', handleClick);
21
- }, []);
22
- const register = listener => listeners.current.add(listener);
23
- const unregister = listener => listeners.current.delete(listener);
24
- return /*#__PURE__*/_jsx(ClickOutsideContext, {
25
- value: {
26
- register,
27
- unregister
28
- },
29
- children: children
30
- });
3
+ const ClickOutsideContext = /*#__PURE__*/ createContext(null);
4
+ export const ClickOutsideProvider = ({ children })=>{
5
+ const listeners = useRef(new Set());
6
+ useEffect(()=>{
7
+ const handleClick = (event)=>{
8
+ listeners.current.forEach(({ handler, ref })=>{
9
+ if (ref.current && !ref.current.contains(event.target)) {
10
+ handler();
11
+ }
12
+ });
13
+ };
14
+ document.addEventListener('mousedown', handleClick);
15
+ return ()=>document.removeEventListener('mousedown', handleClick);
16
+ }, []);
17
+ const register = (listener)=>listeners.current.add(listener);
18
+ const unregister = (listener)=>listeners.current.delete(listener);
19
+ return /*#__PURE__*/ _jsx(ClickOutsideContext, {
20
+ value: {
21
+ register,
22
+ unregister
23
+ },
24
+ children: children
25
+ });
31
26
  };
32
- export const useClickOutsideContext = () => {
33
- const context = use(ClickOutsideContext);
34
- if (!context) {
35
- throw new Error('useClickOutside must be used within a ClickOutsideProvider');
36
- }
37
- return context;
27
+ export const useClickOutsideContext = ()=>{
28
+ const context = use(ClickOutsideContext);
29
+ if (!context) {
30
+ throw new Error('useClickOutside must be used within a ClickOutsideProvider');
31
+ }
32
+ return context;
38
33
  };
34
+
39
35
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","createContext","use","useEffect","useRef","ClickOutsideContext","ClickOutsideProvider","children","listeners","Set","handleClick","event","current","forEach","handler","ref","contains","target","document","addEventListener","removeEventListener","register","listener","add","unregister","delete","_jsx","value","useClickOutsideContext","context","Error"],"sources":["../../../src/providers/ClickOutside/index.tsx"],"sourcesContent":["import React, { createContext, use, useEffect, useRef } from 'react'\n\ntype Listener = {\n handler: () => void\n ref: React.RefObject<HTMLElement>\n}\n\nconst ClickOutsideContext = createContext<{\n register: (listener: Listener) => void\n unregister: (listener: Listener) => void\n} | null>(null)\n\nexport const ClickOutsideProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const listeners = useRef<Set<Listener>>(new Set())\n\n useEffect(() => {\n const handleClick = (event: MouseEvent) => {\n listeners.current.forEach(({ handler, ref }) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n handler()\n }\n })\n }\n\n document.addEventListener('mousedown', handleClick)\n return () => document.removeEventListener('mousedown', handleClick)\n }, [])\n\n const register = (listener: Listener) => listeners.current.add(listener)\n const unregister = (listener: Listener) => listeners.current.delete(listener)\n\n return <ClickOutsideContext value={{ register, unregister }}>{children}</ClickOutsideContext>\n}\n\nexport const useClickOutsideContext = () => {\n const context = use(ClickOutsideContext)\n if (!context) {\n throw new Error('useClickOutside must be used within a ClickOutsideProvider')\n }\n return context\n}\n"],"mappings":";AAAA,OAAOA,KAAA,IAASC,aAAa,EAAEC,GAAG,EAAEC,SAAS,EAAEC,MAAM,QAAQ;AAO7D,MAAMC,mBAAA,gBAAsBJ,aAAA,CAGlB;AAEV,OAAO,MAAMK,oBAAA,GAAgEA,CAAC;EAAEC;AAAQ,CAAE;EACxF,MAAMC,SAAA,GAAYJ,MAAA,CAAsB,IAAIK,GAAA;EAE5CN,SAAA,CAAU;IACR,MAAMO,WAAA,GAAeC,KAAA;MACnBH,SAAA,CAAUI,OAAO,CAACC,OAAO,CAAC,CAAC;QAAEC,OAAO;QAAEC;MAAG,CAAE;QACzC,IAAIA,GAAA,CAAIH,OAAO,IAAI,CAACG,GAAA,CAAIH,OAAO,CAACI,QAAQ,CAACL,KAAA,CAAMM,MAAM,GAAW;UAC9DH,OAAA;QACF;MACF;IACF;IAEAI,QAAA,CAASC,gBAAgB,CAAC,aAAaT,WAAA;IACvC,OAAO,MAAMQ,QAAA,CAASE,mBAAmB,CAAC,aAAaV,WAAA;EACzD,GAAG,EAAE;EAEL,MAAMW,QAAA,GAAYC,QAAA,IAAuBd,SAAA,CAAUI,OAAO,CAACW,GAAG,CAACD,QAAA;EAC/D,MAAME,UAAA,GAAcF,QAAA,IAAuBd,SAAA,CAAUI,OAAO,CAACa,MAAM,CAACH,QAAA;EAEpE,oBAAOI,IAAA,CAACrB,mBAAA;IAAoBsB,KAAA,EAAO;MAAEN,QAAA;MAAUG;IAAW;cAAIjB;;AAChE;AAEA,OAAO,MAAMqB,sBAAA,GAAyBA,CAAA;EACpC,MAAMC,OAAA,GAAU3B,GAAA,CAAIG,mBAAA;EACpB,IAAI,CAACwB,OAAA,EAAS;IACZ,MAAM,IAAIC,KAAA,CAAM;EAClB;EACA,OAAOD,OAAA;AACT","ignoreList":[]}
1
+ {"version":3,"sources":["../../../src/providers/ClickOutside/index.tsx"],"sourcesContent":["import React, { createContext, use, useEffect, useRef } from 'react'\n\ntype Listener = {\n handler: () => void\n ref: React.RefObject<HTMLElement>\n}\n\nconst ClickOutsideContext = createContext<{\n register: (listener: Listener) => void\n unregister: (listener: Listener) => void\n} | null>(null)\n\nexport const ClickOutsideProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const listeners = useRef<Set<Listener>>(new Set())\n\n useEffect(() => {\n const handleClick = (event: MouseEvent) => {\n listeners.current.forEach(({ handler, ref }) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n handler()\n }\n })\n }\n\n document.addEventListener('mousedown', handleClick)\n return () => document.removeEventListener('mousedown', handleClick)\n }, [])\n\n const register = (listener: Listener) => listeners.current.add(listener)\n const unregister = (listener: Listener) => listeners.current.delete(listener)\n\n return <ClickOutsideContext value={{ register, unregister }}>{children}</ClickOutsideContext>\n}\n\nexport const useClickOutsideContext = () => {\n const context = use(ClickOutsideContext)\n if (!context) {\n throw new Error('useClickOutside must be used within a ClickOutsideProvider')\n }\n return context\n}\n"],"names":["React","createContext","use","useEffect","useRef","ClickOutsideContext","ClickOutsideProvider","children","listeners","Set","handleClick","event","current","forEach","handler","ref","contains","target","document","addEventListener","removeEventListener","register","listener","add","unregister","delete","value","useClickOutsideContext","context","Error"],"mappings":";AAAA,OAAOA,SAASC,aAAa,EAAEC,GAAG,EAAEC,SAAS,EAAEC,MAAM,QAAQ,QAAO;AAOpE,MAAMC,oCAAsBJ,cAGlB;AAEV,OAAO,MAAMK,uBAAgE,CAAC,EAAEC,QAAQ,EAAE;IACxF,MAAMC,YAAYJ,OAAsB,IAAIK;IAE5CN,UAAU;QACR,MAAMO,cAAc,CAACC;YACnBH,UAAUI,OAAO,CAACC,OAAO,CAAC,CAAC,EAAEC,OAAO,EAAEC,GAAG,EAAE;gBACzC,IAAIA,IAAIH,OAAO,IAAI,CAACG,IAAIH,OAAO,CAACI,QAAQ,CAACL,MAAMM,MAAM,GAAW;oBAC9DH;gBACF;YACF;QACF;QAEAI,SAASC,gBAAgB,CAAC,aAAaT;QACvC,OAAO,IAAMQ,SAASE,mBAAmB,CAAC,aAAaV;IACzD,GAAG,EAAE;IAEL,MAAMW,WAAW,CAACC,WAAuBd,UAAUI,OAAO,CAACW,GAAG,CAACD;IAC/D,MAAME,aAAa,CAACF,WAAuBd,UAAUI,OAAO,CAACa,MAAM,CAACH;IAEpE,qBAAO,KAACjB;QAAoBqB,OAAO;YAAEL;YAAUG;QAAW;kBAAIjB;;AAChE,EAAC;AAED,OAAO,MAAMoB,yBAAyB;IACpC,MAAMC,UAAU1B,IAAIG;IACpB,IAAI,CAACuB,SAAS;QACZ,MAAM,IAAIC,MAAM;IAClB;IACA,OAAOD;AACT,EAAC"}
@@ -1,113 +1,64 @@
1
1
  'use client';
2
-
3
- import { c as _c } from "react/compiler-runtime";
4
2
  import { jsx as _jsx } from "react/jsx-runtime";
5
3
  import React from 'react';
6
- const ModifyClientFunctionContext = /*#__PURE__*/React.createContext({
7
- addClientFunction: () => null,
8
- removeClientFunction: () => null
4
+ const ModifyClientFunctionContext = /*#__PURE__*/ React.createContext({
5
+ addClientFunction: ()=>null,
6
+ removeClientFunction: ()=>null
9
7
  });
10
- const ClientFunctionsContext = /*#__PURE__*/React.createContext({});
11
- export const ClientFunctionProvider = t0 => {
12
- const $ = _c(6);
13
- const {
14
- children
15
- } = t0;
16
- let t1;
17
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
18
- t1 = {};
19
- $[0] = t1;
20
- } else {
21
- t1 = $[0];
22
- }
23
- const [clientFunctions, setClientFunctions] = React.useState(t1);
24
- let t2;
25
- if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
26
- t2 = args => {
27
- setClientFunctions(state => {
28
- const newState = {
29
- ...state
30
- };
31
- newState[args.key] = args.func;
32
- return newState;
33
- });
34
- };
35
- $[1] = t2;
36
- } else {
37
- t2 = $[1];
38
- }
39
- const addClientFunction = t2;
40
- let t3;
41
- if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
42
- t3 = args_0 => {
43
- setClientFunctions(state_0 => {
44
- const newState_0 = {
45
- ...state_0
46
- };
47
- delete newState_0[args_0.key];
48
- return newState_0;
49
- });
50
- };
51
- $[2] = t3;
52
- } else {
53
- t3 = $[2];
54
- }
55
- const removeClientFunction = t3;
56
- let t4;
57
- if ($[3] !== children || $[4] !== clientFunctions) {
58
- t4 = _jsx(ModifyClientFunctionContext, {
59
- value: {
60
- addClientFunction,
61
- removeClientFunction
62
- },
63
- children: _jsx(ClientFunctionsContext, {
64
- value: clientFunctions,
65
- children
66
- })
8
+ const ClientFunctionsContext = /*#__PURE__*/ React.createContext({});
9
+ export const ClientFunctionProvider = ({ children })=>{
10
+ const [clientFunctions, setClientFunctions] = React.useState({});
11
+ const addClientFunction = React.useCallback((args)=>{
12
+ setClientFunctions((state)=>{
13
+ const newState = {
14
+ ...state
15
+ };
16
+ newState[args.key] = args.func;
17
+ return newState;
18
+ });
19
+ }, []);
20
+ const removeClientFunction = React.useCallback((args)=>{
21
+ setClientFunctions((state)=>{
22
+ const newState = {
23
+ ...state
24
+ };
25
+ delete newState[args.key];
26
+ return newState;
27
+ });
28
+ }, []);
29
+ return /*#__PURE__*/ _jsx(ModifyClientFunctionContext, {
30
+ value: {
31
+ addClientFunction,
32
+ removeClientFunction
33
+ },
34
+ children: /*#__PURE__*/ _jsx(ClientFunctionsContext, {
35
+ value: clientFunctions,
36
+ children: children
37
+ })
67
38
  });
68
- $[3] = children;
69
- $[4] = clientFunctions;
70
- $[5] = t4;
71
- } else {
72
- t4 = $[5];
73
- }
74
- return t4;
75
39
  };
76
- export const useAddClientFunction = (key, func) => {
77
- const $ = _c(6);
78
- const {
79
- addClientFunction,
80
- removeClientFunction
81
- } = React.use(ModifyClientFunctionContext);
82
- let t0;
83
- let t1;
84
- if ($[0] !== addClientFunction || $[1] !== func || $[2] !== key || $[3] !== removeClientFunction) {
85
- t0 = () => {
86
- addClientFunction({
87
- func,
88
- key
89
- });
90
- return () => {
91
- removeClientFunction({
92
- func,
93
- key
40
+ export const useAddClientFunction = (key, func)=>{
41
+ const { addClientFunction, removeClientFunction } = React.use(ModifyClientFunctionContext);
42
+ React.useEffect(()=>{
43
+ addClientFunction({
44
+ func,
45
+ key
94
46
  });
95
- };
96
- };
97
- t1 = [func, key, addClientFunction, removeClientFunction];
98
- $[0] = addClientFunction;
99
- $[1] = func;
100
- $[2] = key;
101
- $[3] = removeClientFunction;
102
- $[4] = t0;
103
- $[5] = t1;
104
- } else {
105
- t0 = $[4];
106
- t1 = $[5];
107
- }
108
- React.useEffect(t0, t1);
47
+ return ()=>{
48
+ removeClientFunction({
49
+ func,
50
+ key
51
+ });
52
+ };
53
+ }, [
54
+ func,
55
+ key,
56
+ addClientFunction,
57
+ removeClientFunction
58
+ ]);
109
59
  };
110
- export const useClientFunctions = () => {
111
- return React.use(ClientFunctionsContext);
60
+ export const useClientFunctions = ()=>{
61
+ return React.use(ClientFunctionsContext);
112
62
  };
63
+
113
64
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","ModifyClientFunctionContext","createContext","addClientFunction","removeClientFunction","ClientFunctionsContext","ClientFunctionProvider","t0","$","children","t1","Symbol","for","clientFunctions","setClientFunctions","useState","t2","args","state","newState","key","func","t3","args_0","state_0","newState_0","t4","_jsx","value","useAddClientFunction","use","useEffect","useClientFunctions"],"sources":["../../../src/providers/ClientFunction/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\ntype ModifyClientFunctionContextType = {\n addClientFunction: (args: ModifyFunctionArgs) => void\n removeClientFunction: (args: ModifyFunctionArgs) => void\n}\ntype ClientFunctionsContextType = Record<string, any>\n\nconst ModifyClientFunctionContext = React.createContext<ModifyClientFunctionContextType>({\n addClientFunction: () => null,\n removeClientFunction: () => null,\n})\nconst ClientFunctionsContext = React.createContext<ClientFunctionsContextType>({})\n\ntype ModifyFunctionArgs = { func: any; key: string }\n\nexport const ClientFunctionProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [clientFunctions, setClientFunctions] = React.useState({})\n\n const addClientFunction = React.useCallback((args: ModifyFunctionArgs) => {\n setClientFunctions((state) => {\n const newState = { ...state }\n newState[args.key] = args.func\n return newState\n })\n }, [])\n\n const removeClientFunction = React.useCallback((args: ModifyFunctionArgs) => {\n setClientFunctions((state) => {\n const newState = { ...state }\n delete newState[args.key]\n return newState\n })\n }, [])\n\n return (\n <ModifyClientFunctionContext\n value={{\n addClientFunction,\n removeClientFunction,\n }}\n >\n <ClientFunctionsContext value={clientFunctions}>{children}</ClientFunctionsContext>\n </ModifyClientFunctionContext>\n )\n}\n\nexport const useAddClientFunction = (key: string, func: any) => {\n const { addClientFunction, removeClientFunction } = React.use(ModifyClientFunctionContext)\n\n React.useEffect(() => {\n addClientFunction({\n func,\n key,\n })\n\n return () => {\n removeClientFunction({\n func,\n key,\n })\n }\n }, [func, key, addClientFunction, removeClientFunction])\n}\n\nexport const useClientFunctions = () => {\n return React.use(ClientFunctionsContext)\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["../../../src/providers/ClientFunction/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\ntype ModifyClientFunctionContextType = {\n addClientFunction: (args: ModifyFunctionArgs) => void\n removeClientFunction: (args: ModifyFunctionArgs) => void\n}\ntype ClientFunctionsContextType = Record<string, any>\n\nconst ModifyClientFunctionContext = React.createContext<ModifyClientFunctionContextType>({\n addClientFunction: () => null,\n removeClientFunction: () => null,\n})\nconst ClientFunctionsContext = React.createContext<ClientFunctionsContextType>({})\n\ntype ModifyFunctionArgs = { func: any; key: string }\n\nexport const ClientFunctionProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [clientFunctions, setClientFunctions] = React.useState({})\n\n const addClientFunction = React.useCallback((args: ModifyFunctionArgs) => {\n setClientFunctions((state) => {\n const newState = { ...state }\n newState[args.key] = args.func\n return newState\n })\n }, [])\n\n const removeClientFunction = React.useCallback((args: ModifyFunctionArgs) => {\n setClientFunctions((state) => {\n const newState = { ...state }\n delete newState[args.key]\n return newState\n })\n }, [])\n\n return (\n <ModifyClientFunctionContext\n value={{\n addClientFunction,\n removeClientFunction,\n }}\n >\n <ClientFunctionsContext value={clientFunctions}>{children}</ClientFunctionsContext>\n </ModifyClientFunctionContext>\n )\n}\n\nexport const useAddClientFunction = (key: string, func: any) => {\n const { addClientFunction, removeClientFunction } = React.use(ModifyClientFunctionContext)\n\n React.useEffect(() => {\n addClientFunction({\n func,\n key,\n })\n\n return () => {\n removeClientFunction({\n func,\n key,\n })\n }\n }, [func, key, addClientFunction, removeClientFunction])\n}\n\nexport const useClientFunctions = () => {\n return React.use(ClientFunctionsContext)\n}\n"],"names":["React","ModifyClientFunctionContext","createContext","addClientFunction","removeClientFunction","ClientFunctionsContext","ClientFunctionProvider","children","clientFunctions","setClientFunctions","useState","useCallback","args","state","newState","key","func","value","useAddClientFunction","use","useEffect","useClientFunctions"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAQzB,MAAMC,4CAA8BD,MAAME,aAAa,CAAkC;IACvFC,mBAAmB,IAAM;IACzBC,sBAAsB,IAAM;AAC9B;AACA,MAAMC,uCAAyBL,MAAME,aAAa,CAA6B,CAAC;AAIhF,OAAO,MAAMI,yBAAkE,CAAC,EAAEC,QAAQ,EAAE;IAC1F,MAAM,CAACC,iBAAiBC,mBAAmB,GAAGT,MAAMU,QAAQ,CAAC,CAAC;IAE9D,MAAMP,oBAAoBH,MAAMW,WAAW,CAAC,CAACC;QAC3CH,mBAAmB,CAACI;YAClB,MAAMC,WAAW;gBAAE,GAAGD,KAAK;YAAC;YAC5BC,QAAQ,CAACF,KAAKG,GAAG,CAAC,GAAGH,KAAKI,IAAI;YAC9B,OAAOF;QACT;IACF,GAAG,EAAE;IAEL,MAAMV,uBAAuBJ,MAAMW,WAAW,CAAC,CAACC;QAC9CH,mBAAmB,CAACI;YAClB,MAAMC,WAAW;gBAAE,GAAGD,KAAK;YAAC;YAC5B,OAAOC,QAAQ,CAACF,KAAKG,GAAG,CAAC;YACzB,OAAOD;QACT;IACF,GAAG,EAAE;IAEL,qBACE,KAACb;QACCgB,OAAO;YACLd;YACAC;QACF;kBAEA,cAAA,KAACC;YAAuBY,OAAOT;sBAAkBD;;;AAGvD,EAAC;AAED,OAAO,MAAMW,uBAAuB,CAACH,KAAaC;IAChD,MAAM,EAAEb,iBAAiB,EAAEC,oBAAoB,EAAE,GAAGJ,MAAMmB,GAAG,CAAClB;IAE9DD,MAAMoB,SAAS,CAAC;QACdjB,kBAAkB;YAChBa;YACAD;QACF;QAEA,OAAO;YACLX,qBAAqB;gBACnBY;gBACAD;YACF;QACF;IACF,GAAG;QAACC;QAAMD;QAAKZ;QAAmBC;KAAqB;AACzD,EAAC;AAED,OAAO,MAAMiB,qBAAqB;IAChC,OAAOrB,MAAMmB,GAAG,CAACd;AACnB,EAAC"}
@@ -1,57 +1,58 @@
1
1
  /* eslint-disable perfectionist/sort-object-types */ // Need to disable this rule because the order of the overloads is important
2
2
  'use client';
3
-
4
- import { c as _c } from "react/compiler-runtime";
5
3
  import { jsx as _jsx } from "react/jsx-runtime";
6
4
  import React, { createContext, use, useCallback, useEffect, useMemo } from 'react';
7
5
  import { useControllableState } from '../../hooks/useControllableState.js';
8
- const RootConfigContext = /*#__PURE__*/createContext(undefined);
9
- export const ConfigProvider = ({
10
- children,
11
- config: configFromProps
12
- }) => {
13
- // Need to update local config state if config from props changes, for HMR.
14
- // That way, config changes will be updated in the UI immediately without needing a refresh.
15
- // useControllableState handles this for us.
16
- const [config, setConfig] = useControllableState(configFromProps);
17
- // Build lookup maps for collections and globals so we can do O(1) lookups by slug
18
- const {
19
- collectionsBySlug: collectionsBySlug_0,
20
- globalsBySlug: globalsBySlug_0
21
- } = useMemo(() => {
22
- const collectionsBySlug = {};
23
- const globalsBySlug = {};
24
- for (const collection of config.collections) {
25
- collectionsBySlug[collection.slug] = collection;
26
- }
27
- for (const global of config.globals) {
28
- globalsBySlug[global.slug] = global;
29
- }
30
- return {
31
- collectionsBySlug,
32
- globalsBySlug
33
- };
34
- }, [config]);
35
- const getEntityConfig = useCallback(args => {
36
- if ('collectionSlug' in args) {
37
- return collectionsBySlug_0[args.collectionSlug] ?? null;
38
- }
39
- if ('globalSlug' in args) {
40
- return globalsBySlug_0[args.globalSlug] ?? null;
41
- }
42
- return null;
43
- }, [collectionsBySlug_0, globalsBySlug_0]);
44
- const value = useMemo(() => ({
45
- config,
46
- getEntityConfig,
47
- setConfig
48
- }), [config, getEntityConfig, setConfig]);
49
- return /*#__PURE__*/_jsx(RootConfigContext, {
50
- value: value,
51
- children: children
52
- });
6
+ const RootConfigContext = /*#__PURE__*/ createContext(undefined);
7
+ export const ConfigProvider = ({ children, config: configFromProps })=>{
8
+ // Need to update local config state if config from props changes, for HMR.
9
+ // That way, config changes will be updated in the UI immediately without needing a refresh.
10
+ // useControllableState handles this for us.
11
+ const [config, setConfig] = useControllableState(configFromProps);
12
+ // Build lookup maps for collections and globals so we can do O(1) lookups by slug
13
+ const { collectionsBySlug, globalsBySlug } = useMemo(()=>{
14
+ const collectionsBySlug = {};
15
+ const globalsBySlug = {};
16
+ for (const collection of config.collections){
17
+ collectionsBySlug[collection.slug] = collection;
18
+ }
19
+ for (const global of config.globals){
20
+ globalsBySlug[global.slug] = global;
21
+ }
22
+ return {
23
+ collectionsBySlug,
24
+ globalsBySlug
25
+ };
26
+ }, [
27
+ config
28
+ ]);
29
+ const getEntityConfig = useCallback((args)=>{
30
+ if ('collectionSlug' in args) {
31
+ return collectionsBySlug[args.collectionSlug] ?? null;
32
+ }
33
+ if ('globalSlug' in args) {
34
+ return globalsBySlug[args.globalSlug] ?? null;
35
+ }
36
+ return null;
37
+ }, [
38
+ collectionsBySlug,
39
+ globalsBySlug
40
+ ]);
41
+ const value = useMemo(()=>({
42
+ config,
43
+ getEntityConfig,
44
+ setConfig
45
+ }), [
46
+ config,
47
+ getEntityConfig,
48
+ setConfig
49
+ ]);
50
+ return /*#__PURE__*/ _jsx(RootConfigContext, {
51
+ value: value,
52
+ children: children
53
+ });
53
54
  };
54
- export const useConfig = () => use(RootConfigContext);
55
+ export const useConfig = ()=>use(RootConfigContext);
55
56
  /**
56
57
  * This provider shadows the `ConfigProvider` on the _page_ level, allowing us to
57
58
  * update the config when needed, e.g. after authentication.
@@ -62,48 +63,30 @@ export const useConfig = () => use(RootConfigContext);
62
63
  * simply reuse the context from the layout to avoid unnecessary re-renders.
63
64
  *
64
65
  * @experimental This component is experimental and may change or be removed in future releases. Use at your own risk.
65
- */
66
- export const PageConfigProvider = t0 => {
67
- const $ = _c(7);
68
- const {
69
- children,
70
- config: configFromProps
71
- } = t0;
72
- const {
73
- config: rootConfig,
74
- setConfig: setRootConfig
75
- } = useConfig();
76
- let t1;
77
- let t2;
78
- if ($[0] !== configFromProps || $[1] !== setRootConfig) {
79
- t1 = () => {
80
- setRootConfig(configFromProps);
81
- };
82
- t2 = [configFromProps, setRootConfig];
83
- $[0] = configFromProps;
84
- $[1] = setRootConfig;
85
- $[2] = t1;
86
- $[3] = t2;
87
- } else {
88
- t1 = $[2];
89
- t2 = $[3];
90
- }
91
- useEffect(t1, t2);
92
- if (rootConfig !== configFromProps && rootConfig.unauthenticated !== configFromProps.unauthenticated) {
93
- let t3;
94
- if ($[4] !== children || $[5] !== configFromProps) {
95
- t3 = _jsx(ConfigProvider, {
96
- config: configFromProps,
97
- children
98
- });
99
- $[4] = children;
100
- $[5] = configFromProps;
101
- $[6] = t3;
102
- } else {
103
- t3 = $[6];
66
+ */ export const PageConfigProvider = ({ children, config: configFromProps })=>{
67
+ const { config: rootConfig, setConfig: setRootConfig } = useConfig();
68
+ /**
69
+ * This `useEffect` is required in order for the _page_ to be able to refresh the client config,
70
+ * which may have been cached on the _layout_ level, where the `ConfigProvider` is managed.
71
+ * Since the layout does not re-render on page navigation / authentication, we need to manually
72
+ * update the config, as the user may have been authenticated in the process, which affects the client config.
73
+ */ useEffect(()=>{
74
+ setRootConfig(configFromProps);
75
+ }, [
76
+ configFromProps,
77
+ setRootConfig
78
+ ]);
79
+ // If this component receives a different config than what is in context from the layout, it is stale.
80
+ // While stale, we instantiate a new context provider that provides the new config until the root context is updated.
81
+ // Unfortunately, referential equality alone does not work bc the reference is lost during server/client serialization,
82
+ // so we need to also compare the `unauthenticated` property.
83
+ if (rootConfig !== configFromProps && rootConfig.unauthenticated !== configFromProps.unauthenticated) {
84
+ return /*#__PURE__*/ _jsx(ConfigProvider, {
85
+ config: configFromProps,
86
+ children: children
87
+ });
104
88
  }
105
- return t3;
106
- }
107
- return children;
89
+ return children;
108
90
  };
91
+
109
92
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","createContext","use","useCallback","useEffect","useMemo","useControllableState","RootConfigContext","undefined","ConfigProvider","children","config","configFromProps","setConfig","collectionsBySlug","globalsBySlug","collection","collections","slug","global","globals","getEntityConfig","args","collectionSlug","globalSlug","value","_jsx","useConfig","PageConfigProvider","t0","$","rootConfig","setRootConfig","t1","t2","unauthenticated","t3"],"sources":["../../../src/providers/Config/index.tsx"],"sourcesContent":["/* eslint-disable perfectionist/sort-object-types */ // Need to disable this rule because the order of the overloads is important\n'use client'\nimport type {\n ClientCollectionConfig,\n ClientConfig,\n ClientGlobalConfig,\n CollectionSlug,\n GlobalSlug,\n} from 'payload'\n\nimport React, { createContext, use, useCallback, useEffect, useMemo } from 'react'\n\nimport { useControllableState } from '../../hooks/useControllableState.js'\n\ntype GetEntityConfigFn = {\n // Overload #1: collectionSlug only\n // @todo remove \"{} |\" in 4.0, which would be a breaking change\n (args: { collectionSlug: {} | CollectionSlug; globalSlug?: never }): ClientCollectionConfig\n\n // Overload #2: globalSlug only\n // @todo remove \"{} |\" in 4.0, which would be a breaking change\n (args: { collectionSlug?: never; globalSlug: {} | GlobalSlug }): ClientGlobalConfig\n\n // Overload #3: both/none (fall back to union | null)\n (args: {\n collectionSlug?: {} | CollectionSlug\n globalSlug?: {} | GlobalSlug\n }): ClientCollectionConfig | ClientGlobalConfig | null\n}\n\nexport type ClientConfigContext = {\n config: ClientConfig\n /**\n * Get a collection or global config by its slug. This is preferred over\n * using `config.collections.find` or `config.globals.find`, because\n * getEntityConfig uses a lookup map for O(1) lookups.\n */\n getEntityConfig: GetEntityConfigFn\n setConfig: (config: ClientConfig) => void\n}\n\nconst RootConfigContext = createContext<ClientConfigContext | undefined>(undefined)\n\nexport const ConfigProvider: React.FC<{\n readonly children: React.ReactNode\n readonly config: ClientConfig\n}> = ({ children, config: configFromProps }) => {\n // Need to update local config state if config from props changes, for HMR.\n // That way, config changes will be updated in the UI immediately without needing a refresh.\n // useControllableState handles this for us.\n const [config, setConfig] = useControllableState<ClientConfig>(configFromProps)\n\n // Build lookup maps for collections and globals so we can do O(1) lookups by slug\n const { collectionsBySlug, globalsBySlug } = useMemo(() => {\n const collectionsBySlug: Record<string, ClientCollectionConfig> = {}\n const globalsBySlug: Record<string, ClientGlobalConfig> = {}\n\n for (const collection of config.collections) {\n collectionsBySlug[collection.slug] = collection\n }\n\n for (const global of config.globals) {\n globalsBySlug[global.slug] = global\n }\n\n return { collectionsBySlug, globalsBySlug }\n }, [config])\n\n const getEntityConfig = useCallback<GetEntityConfigFn>(\n (args) => {\n if ('collectionSlug' in args) {\n return collectionsBySlug[args.collectionSlug] ?? null\n }\n\n if ('globalSlug' in args) {\n return globalsBySlug[args.globalSlug] ?? null\n }\n\n return null as any\n },\n [collectionsBySlug, globalsBySlug],\n )\n\n const value = useMemo(\n () => ({ config, getEntityConfig, setConfig }),\n [config, getEntityConfig, setConfig],\n )\n\n return <RootConfigContext value={value}>{children}</RootConfigContext>\n}\n\nexport const useConfig = (): ClientConfigContext => use(RootConfigContext)\n\n/**\n * This provider shadows the `ConfigProvider` on the _page_ level, allowing us to\n * update the config when needed, e.g. after authentication.\n * The layout `ConfigProvider` is not updated on page navigation / authentication,\n * as the layout does not re-render in those cases.\n *\n * If the config here has the same reference as the config from the layout, we\n * simply reuse the context from the layout to avoid unnecessary re-renders.\n *\n * @experimental This component is experimental and may change or be removed in future releases. Use at your own risk.\n */\nexport const PageConfigProvider: React.FC<{\n readonly children: React.ReactNode\n readonly config: ClientConfig\n}> = ({ children, config: configFromProps }) => {\n const { config: rootConfig, setConfig: setRootConfig } = useConfig()\n\n /**\n * This `useEffect` is required in order for the _page_ to be able to refresh the client config,\n * which may have been cached on the _layout_ level, where the `ConfigProvider` is managed.\n * Since the layout does not re-render on page navigation / authentication, we need to manually\n * update the config, as the user may have been authenticated in the process, which affects the client config.\n */\n useEffect(() => {\n setRootConfig(configFromProps)\n }, [configFromProps, setRootConfig])\n\n // If this component receives a different config than what is in context from the layout, it is stale.\n // While stale, we instantiate a new context provider that provides the new config until the root context is updated.\n // Unfortunately, referential equality alone does not work bc the reference is lost during server/client serialization,\n // so we need to also compare the `unauthenticated` property.\n if (\n rootConfig !== configFromProps &&\n rootConfig.unauthenticated !== configFromProps.unauthenticated\n ) {\n return <ConfigProvider config={configFromProps}>{children}</ConfigProvider>\n }\n\n return children\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["../../../src/providers/Config/index.tsx"],"sourcesContent":["/* eslint-disable perfectionist/sort-object-types */ // Need to disable this rule because the order of the overloads is important\n'use client'\nimport type {\n ClientCollectionConfig,\n ClientConfig,\n ClientGlobalConfig,\n CollectionSlug,\n GlobalSlug,\n} from 'payload'\n\nimport React, { createContext, use, useCallback, useEffect, useMemo } from 'react'\n\nimport { useControllableState } from '../../hooks/useControllableState.js'\n\ntype GetEntityConfigFn = {\n // Overload #1: collectionSlug only\n // @todo remove \"{} |\" in 4.0, which would be a breaking change\n (args: { collectionSlug: {} | CollectionSlug; globalSlug?: never }): ClientCollectionConfig\n\n // Overload #2: globalSlug only\n // @todo remove \"{} |\" in 4.0, which would be a breaking change\n (args: { collectionSlug?: never; globalSlug: {} | GlobalSlug }): ClientGlobalConfig\n\n // Overload #3: both/none (fall back to union | null)\n (args: {\n collectionSlug?: {} | CollectionSlug\n globalSlug?: {} | GlobalSlug\n }): ClientCollectionConfig | ClientGlobalConfig | null\n}\n\nexport type ClientConfigContext = {\n config: ClientConfig\n /**\n * Get a collection or global config by its slug. This is preferred over\n * using `config.collections.find` or `config.globals.find`, because\n * getEntityConfig uses a lookup map for O(1) lookups.\n */\n getEntityConfig: GetEntityConfigFn\n setConfig: (config: ClientConfig) => void\n}\n\nconst RootConfigContext = createContext<ClientConfigContext | undefined>(undefined)\n\nexport const ConfigProvider: React.FC<{\n readonly children: React.ReactNode\n readonly config: ClientConfig\n}> = ({ children, config: configFromProps }) => {\n // Need to update local config state if config from props changes, for HMR.\n // That way, config changes will be updated in the UI immediately without needing a refresh.\n // useControllableState handles this for us.\n const [config, setConfig] = useControllableState<ClientConfig>(configFromProps)\n\n // Build lookup maps for collections and globals so we can do O(1) lookups by slug\n const { collectionsBySlug, globalsBySlug } = useMemo(() => {\n const collectionsBySlug: Record<string, ClientCollectionConfig> = {}\n const globalsBySlug: Record<string, ClientGlobalConfig> = {}\n\n for (const collection of config.collections) {\n collectionsBySlug[collection.slug] = collection\n }\n\n for (const global of config.globals) {\n globalsBySlug[global.slug] = global\n }\n\n return { collectionsBySlug, globalsBySlug }\n }, [config])\n\n const getEntityConfig = useCallback<GetEntityConfigFn>(\n (args) => {\n if ('collectionSlug' in args) {\n return collectionsBySlug[args.collectionSlug] ?? null\n }\n\n if ('globalSlug' in args) {\n return globalsBySlug[args.globalSlug] ?? null\n }\n\n return null as any\n },\n [collectionsBySlug, globalsBySlug],\n )\n\n const value = useMemo(\n () => ({ config, getEntityConfig, setConfig }),\n [config, getEntityConfig, setConfig],\n )\n\n return <RootConfigContext value={value}>{children}</RootConfigContext>\n}\n\nexport const useConfig = (): ClientConfigContext => use(RootConfigContext)\n\n/**\n * This provider shadows the `ConfigProvider` on the _page_ level, allowing us to\n * update the config when needed, e.g. after authentication.\n * The layout `ConfigProvider` is not updated on page navigation / authentication,\n * as the layout does not re-render in those cases.\n *\n * If the config here has the same reference as the config from the layout, we\n * simply reuse the context from the layout to avoid unnecessary re-renders.\n *\n * @experimental This component is experimental and may change or be removed in future releases. Use at your own risk.\n */\nexport const PageConfigProvider: React.FC<{\n readonly children: React.ReactNode\n readonly config: ClientConfig\n}> = ({ children, config: configFromProps }) => {\n const { config: rootConfig, setConfig: setRootConfig } = useConfig()\n\n /**\n * This `useEffect` is required in order for the _page_ to be able to refresh the client config,\n * which may have been cached on the _layout_ level, where the `ConfigProvider` is managed.\n * Since the layout does not re-render on page navigation / authentication, we need to manually\n * update the config, as the user may have been authenticated in the process, which affects the client config.\n */\n useEffect(() => {\n setRootConfig(configFromProps)\n }, [configFromProps, setRootConfig])\n\n // If this component receives a different config than what is in context from the layout, it is stale.\n // While stale, we instantiate a new context provider that provides the new config until the root context is updated.\n // Unfortunately, referential equality alone does not work bc the reference is lost during server/client serialization,\n // so we need to also compare the `unauthenticated` property.\n if (\n rootConfig !== configFromProps &&\n rootConfig.unauthenticated !== configFromProps.unauthenticated\n ) {\n return <ConfigProvider config={configFromProps}>{children}</ConfigProvider>\n }\n\n return children\n}\n"],"names":["React","createContext","use","useCallback","useEffect","useMemo","useControllableState","RootConfigContext","undefined","ConfigProvider","children","config","configFromProps","setConfig","collectionsBySlug","globalsBySlug","collection","collections","slug","global","globals","getEntityConfig","args","collectionSlug","globalSlug","value","useConfig","PageConfigProvider","rootConfig","setRootConfig","unauthenticated"],"mappings":"AAAA,mDAAmD,GAAG,4EAA4E;AAClI;;AASA,OAAOA,SAASC,aAAa,EAAEC,GAAG,EAAEC,WAAW,EAAEC,SAAS,EAAEC,OAAO,QAAQ,QAAO;AAElF,SAASC,oBAAoB,QAAQ,sCAAqC;AA6B1E,MAAMC,kCAAoBN,cAA+CO;AAEzE,OAAO,MAAMC,iBAGR,CAAC,EAAEC,QAAQ,EAAEC,QAAQC,eAAe,EAAE;IACzC,2EAA2E;IAC3E,4FAA4F;IAC5F,4CAA4C;IAC5C,MAAM,CAACD,QAAQE,UAAU,GAAGP,qBAAmCM;IAE/D,kFAAkF;IAClF,MAAM,EAAEE,iBAAiB,EAAEC,aAAa,EAAE,GAAGV,QAAQ;QACnD,MAAMS,oBAA4D,CAAC;QACnE,MAAMC,gBAAoD,CAAC;QAE3D,KAAK,MAAMC,cAAcL,OAAOM,WAAW,CAAE;YAC3CH,iBAAiB,CAACE,WAAWE,IAAI,CAAC,GAAGF;QACvC;QAEA,KAAK,MAAMG,UAAUR,OAAOS,OAAO,CAAE;YACnCL,aAAa,CAACI,OAAOD,IAAI,CAAC,GAAGC;QAC/B;QAEA,OAAO;YAAEL;YAAmBC;QAAc;IAC5C,GAAG;QAACJ;KAAO;IAEX,MAAMU,kBAAkBlB,YACtB,CAACmB;QACC,IAAI,oBAAoBA,MAAM;YAC5B,OAAOR,iBAAiB,CAACQ,KAAKC,cAAc,CAAC,IAAI;QACnD;QAEA,IAAI,gBAAgBD,MAAM;YACxB,OAAOP,aAAa,CAACO,KAAKE,UAAU,CAAC,IAAI;QAC3C;QAEA,OAAO;IACT,GACA;QAACV;QAAmBC;KAAc;IAGpC,MAAMU,QAAQpB,QACZ,IAAO,CAAA;YAAEM;YAAQU;YAAiBR;QAAU,CAAA,GAC5C;QAACF;QAAQU;QAAiBR;KAAU;IAGtC,qBAAO,KAACN;QAAkBkB,OAAOA;kBAAQf;;AAC3C,EAAC;AAED,OAAO,MAAMgB,YAAY,IAA2BxB,IAAIK,mBAAkB;AAE1E;;;;;;;;;;CAUC,GACD,OAAO,MAAMoB,qBAGR,CAAC,EAAEjB,QAAQ,EAAEC,QAAQC,eAAe,EAAE;IACzC,MAAM,EAAED,QAAQiB,UAAU,EAAEf,WAAWgB,aAAa,EAAE,GAAGH;IAEzD;;;;;GAKC,GACDtB,UAAU;QACRyB,cAAcjB;IAChB,GAAG;QAACA;QAAiBiB;KAAc;IAEnC,sGAAsG;IACtG,qHAAqH;IACrH,uHAAuH;IACvH,6DAA6D;IAC7D,IACED,eAAehB,mBACfgB,WAAWE,eAAe,KAAKlB,gBAAgBkB,eAAe,EAC9D;QACA,qBAAO,KAACrB;YAAeE,QAAQC;sBAAkBF;;IACnD;IAEA,OAAOA;AACT,EAAC"}