@payloadcms/ui 4.0.0-internal.4c792ad → 4.0.0-internal.5214550

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 (595) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/css/colors.css +3 -0
  3. package/dist/css/forms.css +6 -3
  4. package/dist/css/theme.css +2 -1
  5. package/dist/css/utilities.css +3 -2
  6. package/dist/elements/AddNewRelation/index.css +28 -28
  7. package/dist/elements/AppHeader/index.d.ts +2 -1
  8. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  9. package/dist/elements/AppHeader/index.js +9 -0
  10. package/dist/elements/AppHeader/index.js.map +1 -1
  11. package/dist/elements/ArrayAction/index.js +2 -2
  12. package/dist/elements/ArrayAction/index.js.map +1 -1
  13. package/dist/elements/BulkUpload/ActionsBar/index.css +4 -8
  14. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +1 -5
  15. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  16. package/dist/elements/BulkUpload/ActionsBar/index.js +15 -22
  17. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  18. package/dist/elements/BulkUpload/AddFilesView/index.css +14 -8
  19. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -2
  20. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  21. package/dist/elements/BulkUpload/AddFilesView/index.js +41 -36
  22. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/AddingFilesView/index.css +158 -6
  24. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +5 -1
  25. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  26. package/dist/elements/BulkUpload/AddingFilesView/index.js +134 -65
  27. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
  29. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
  31. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  32. package/dist/elements/BulkUpload/EditForm/index.js +16 -17
  33. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  34. package/dist/elements/BulkUpload/EditForm/types.d.ts +2 -3
  35. package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -1
  36. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  37. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  38. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +78 -64
  39. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  40. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  41. package/dist/elements/BulkUpload/EditMany/index.js +28 -10
  42. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  43. package/dist/elements/BulkUpload/FileSidebar/index.css +63 -143
  44. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  45. package/dist/elements/BulkUpload/FileSidebar/index.js +42 -175
  46. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  47. package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
  48. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  49. package/dist/elements/BulkUpload/index.css +48 -0
  50. package/dist/elements/BulkUpload/index.d.ts +6 -5
  51. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  52. package/dist/elements/BulkUpload/index.js +42 -41
  53. package/dist/elements/BulkUpload/index.js.map +1 -1
  54. package/dist/elements/Button/index.d.ts.map +1 -1
  55. package/dist/elements/Button/index.js +5 -0
  56. package/dist/elements/Button/index.js.map +1 -1
  57. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  58. package/dist/elements/ClipboardAction/index.js +1 -0
  59. package/dist/elements/ClipboardAction/index.js.map +1 -1
  60. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  61. package/dist/elements/Collapsible/index.js +2 -0
  62. package/dist/elements/Collapsible/index.js.map +1 -1
  63. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
  64. package/dist/elements/ColumnSelection/Popup.js +1 -5
  65. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  66. package/dist/elements/CopyLocaleData/index.js +1 -1
  67. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  68. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  69. package/dist/elements/CreateDocumentButton/index.js +0 -1
  70. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  71. package/dist/elements/DatePicker/index.css +9 -9
  72. package/dist/elements/DatePicker/index.js +1 -1
  73. package/dist/elements/DatePicker/index.js.map +1 -1
  74. package/dist/elements/Dialog/DialogHeader/index.d.ts +4 -0
  75. package/dist/elements/Dialog/DialogHeader/index.d.ts.map +1 -1
  76. package/dist/elements/Dialog/DialogHeader/index.js +45 -30
  77. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
  78. package/dist/elements/Dialog/DialogModal/index.d.ts +5 -0
  79. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  80. package/dist/elements/Dialog/DialogModal/index.js +58 -31
  81. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  82. package/dist/elements/Dialog/DialogTitle/index.css +9 -0
  83. package/dist/elements/Dialog/DialogTitle/index.d.ts +5 -0
  84. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -0
  85. package/dist/elements/Dialog/DialogTitle/index.js +10 -0
  86. package/dist/elements/Dialog/DialogTitle/index.js.map +1 -0
  87. package/dist/elements/Dialog/index.css +7 -1
  88. package/dist/elements/DocumentControls/index.css +1 -1
  89. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  90. package/dist/elements/DocumentControls/index.js +11 -1
  91. package/dist/elements/DocumentControls/index.js.map +1 -1
  92. package/dist/elements/DocumentFields/index.css +14 -2
  93. package/dist/elements/DocumentFields/index.d.ts +5 -0
  94. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  95. package/dist/elements/DocumentFields/index.js +9 -1
  96. package/dist/elements/DocumentFields/index.js.map +1 -1
  97. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts +12 -0
  98. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts.map +1 -0
  99. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +28 -0
  100. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -0
  101. package/dist/elements/DocumentHeader/index.js +2 -3
  102. package/dist/elements/DocumentHeader/index.js.map +1 -1
  103. package/dist/elements/DraggableSortable/DragOverlayPreview/index.css +1 -1
  104. package/dist/elements/DrawerActionHeader/index.css +1 -1
  105. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.css +7 -1
  106. package/dist/elements/DrawerHeader/index.d.ts +10 -0
  107. package/dist/elements/DrawerHeader/index.d.ts.map +1 -0
  108. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.js +16 -11
  109. package/dist/elements/DrawerHeader/index.js.map +1 -0
  110. package/dist/elements/Dropzone/index.css +5 -13
  111. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +1 -1
  112. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  113. package/dist/elements/EditUpload/index.css +97 -158
  114. package/dist/elements/EditUpload/index.d.ts +2 -1
  115. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  116. package/dist/elements/EditUpload/index.js +209 -231
  117. package/dist/elements/EditUpload/index.js.map +1 -1
  118. package/dist/elements/EditUpload/{library.scss → library.css} +108 -46
  119. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  120. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  121. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  122. package/dist/elements/FileDetails/FileMeta/index.css +27 -0
  123. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  124. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  125. package/dist/elements/FileDetails/FileMeta/index.js +1 -1
  126. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  127. package/dist/elements/FileDetails/StaticFileDetails/index.css +140 -0
  128. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +2 -2
  129. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  130. package/dist/elements/FileDetails/StaticFileDetails/index.js +1 -1
  131. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  132. package/dist/elements/FileDetails/index.d.ts +1 -1
  133. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  134. package/dist/elements/FileDetails/index.js.map +1 -1
  135. package/dist/elements/FileManager/FilePreview/AudioPreview/index.css +8 -0
  136. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts +10 -0
  137. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts.map +1 -0
  138. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js +24 -0
  139. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js.map +1 -0
  140. package/dist/elements/FileManager/FilePreview/PdfPreview/index.css +9 -0
  141. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts +12 -0
  142. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts.map +1 -0
  143. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js +27 -0
  144. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js.map +1 -0
  145. package/dist/elements/FileManager/FilePreview/VideoPreview/index.css +8 -0
  146. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts +10 -0
  147. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts.map +1 -0
  148. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js +24 -0
  149. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js.map +1 -0
  150. package/dist/elements/FileManager/FilePreview/index.css +83 -0
  151. package/dist/elements/FileManager/FilePreview/index.d.ts +13 -0
  152. package/dist/elements/FileManager/FilePreview/index.d.ts.map +1 -0
  153. package/dist/elements/FileManager/FilePreview/index.js +140 -0
  154. package/dist/elements/FileManager/FilePreview/index.js.map +1 -0
  155. package/dist/elements/FileManager/FileToolbar/index.css +91 -0
  156. package/dist/elements/FileManager/FileToolbar/index.d.ts +14 -0
  157. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -0
  158. package/dist/elements/FileManager/FileToolbar/index.js +106 -0
  159. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -0
  160. package/dist/elements/FileManager/index.css +154 -0
  161. package/dist/elements/FileManager/index.d.ts +19 -0
  162. package/dist/elements/FileManager/index.d.ts.map +1 -0
  163. package/dist/elements/FileManager/index.js +424 -0
  164. package/dist/elements/FileManager/index.js.map +1 -0
  165. package/dist/elements/GroupBy/Popup.d.ts.map +1 -1
  166. package/dist/elements/GroupBy/Popup.js +0 -1
  167. package/dist/elements/GroupBy/Popup.js.map +1 -1
  168. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +5 -3
  169. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +1 -0
  170. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +1 -1
  171. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  172. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  173. package/dist/elements/Hierarchy/DocHeaderButton/index.js +12 -12
  174. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  175. package/dist/elements/Hierarchy/Field/index.client.js +14 -14
  176. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  177. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -0
  178. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -0
  179. package/dist/elements/Hierarchy/Modal/index.css +88 -0
  180. package/dist/elements/Hierarchy/Modal/index.d.ts +20 -0
  181. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -0
  182. package/dist/elements/Hierarchy/{Drawer → Modal}/index.js +105 -81
  183. package/dist/elements/Hierarchy/Modal/index.js.map +1 -0
  184. package/dist/elements/Hierarchy/{Drawer → Modal}/types.d.ts +22 -18
  185. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -0
  186. package/dist/elements/Hierarchy/Modal/types.js.map +1 -0
  187. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts +30 -0
  188. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -0
  189. package/dist/elements/Hierarchy/{Drawer/useHierarchyDrawer.js → Modal/useHierarchyModal.js} +51 -50
  190. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -0
  191. package/dist/elements/Hierarchy/MoveMany/index.d.ts +2 -2
  192. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  193. package/dist/elements/Hierarchy/MoveMany/index.js +9 -9
  194. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  195. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +38 -13
  196. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  197. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +37 -31
  198. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  199. package/dist/elements/Hierarchy/Tree/index.css +1 -1
  200. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  201. package/dist/elements/Hierarchy/Tree/index.js +18 -5
  202. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  203. package/dist/elements/ListControls/index.d.ts.map +1 -1
  204. package/dist/elements/ListControls/index.js +1 -2
  205. package/dist/elements/ListControls/index.js.map +1 -1
  206. package/dist/elements/ListDrawer/DrawerContent.js +1 -1
  207. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  208. package/dist/elements/ListDrawer/Provider.d.ts +1 -1
  209. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  210. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  211. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  212. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +2 -0
  213. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  214. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +4 -4
  215. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  216. package/dist/elements/LivePreview/Toolbar/Controls/index.js +2 -2
  217. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  218. package/dist/elements/LivePreview/Toolbar/SizeInput/index.css +5 -44
  219. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  220. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +26 -43
  221. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  222. package/dist/elements/LivePreview/Window/index.css +6 -0
  223. package/dist/elements/MiniCarousel/index.css +94 -0
  224. package/dist/elements/MiniCarousel/index.d.ts +15 -0
  225. package/dist/elements/MiniCarousel/index.d.ts.map +1 -0
  226. package/dist/elements/MiniCarousel/index.js +84 -0
  227. package/dist/elements/MiniCarousel/index.js.map +1 -0
  228. package/dist/elements/Nav/SettingsMenuButton/index.css +5 -0
  229. package/dist/elements/Nav/SettingsMenuButton/index.d.ts +1 -1
  230. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  231. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -1
  232. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  233. package/dist/elements/Nav/index.css +2 -2
  234. package/dist/elements/NavGroup/index.css +1 -1
  235. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  236. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  237. package/dist/elements/Popup/PopupTrigger/index.js +3 -0
  238. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  239. package/dist/elements/Popup/index.d.ts +7 -1
  240. package/dist/elements/Popup/index.d.ts.map +1 -1
  241. package/dist/elements/Popup/index.js +3 -1
  242. package/dist/elements/Popup/index.js.map +1 -1
  243. package/dist/elements/PreviewSizes/index.css +149 -0
  244. package/dist/elements/PreviewSizes/index.d.ts +2 -2
  245. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  246. package/dist/elements/PreviewSizes/index.js +1 -1
  247. package/dist/elements/PreviewSizes/index.js.map +1 -1
  248. package/dist/elements/ReactSelect/DropdownIndicator/index.css +1 -1
  249. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  250. package/dist/elements/ReactSelect/DropdownIndicator/index.js +19 -12
  251. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  252. package/dist/elements/ReactSelect/index.css +2 -2
  253. package/dist/elements/ReactSelect/index.js +1 -1
  254. package/dist/elements/ReactSelect/index.js.map +1 -1
  255. package/dist/elements/ReactSelect/types.d.ts +1 -0
  256. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  257. package/dist/elements/ReactSelect/types.js.map +1 -1
  258. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  259. package/dist/elements/RelationshipTable/AddNewButton.js +1 -2
  260. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  261. package/dist/elements/RelationshipTable/index.css +1 -2
  262. package/dist/elements/Search/SearchInput/index.js +1 -1
  263. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  264. package/dist/elements/SidebarRow/index.css +0 -2
  265. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  266. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +32 -13
  267. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  268. package/dist/elements/Table/index.css +7 -2
  269. package/dist/elements/Thumbnail/index.css +41 -0
  270. package/dist/elements/Thumbnail/index.d.ts +3 -3
  271. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  272. package/dist/elements/Thumbnail/index.js +1 -1
  273. package/dist/elements/Thumbnail/index.js.map +1 -1
  274. package/dist/elements/TimezonePicker/index.css +1 -1
  275. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +11 -0
  276. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -0
  277. package/dist/elements/Upload/UploadFromURLModal/index.js +88 -0
  278. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -0
  279. package/dist/elements/Upload/index.css +134 -45
  280. package/dist/elements/Upload/index.d.ts +3 -8
  281. package/dist/elements/Upload/index.d.ts.map +1 -1
  282. package/dist/elements/Upload/index.js +71 -92
  283. package/dist/elements/Upload/index.js.map +1 -1
  284. package/dist/elements/UserMenu/index.d.ts +1 -0
  285. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  286. package/dist/elements/UserMenu/index.js +2 -1
  287. package/dist/elements/UserMenu/index.js.map +1 -1
  288. package/dist/exports/client/index.d.ts +8 -4
  289. package/dist/exports/client/index.d.ts.map +1 -1
  290. package/dist/exports/client/index.js +1 -2
  291. package/dist/exports/client/index.js.map +4 -4
  292. package/dist/exports/rsc/index.d.ts +3 -0
  293. package/dist/exports/rsc/index.d.ts.map +1 -1
  294. package/dist/exports/rsc/index.js +3 -0
  295. package/dist/exports/rsc/index.js.map +1 -1
  296. package/dist/exports/shared/index.js +2 -2
  297. package/dist/exports/shared/index.js.map +2 -2
  298. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +1 -1
  299. package/dist/fields/Blocks/BlockSelector/index.css +2 -5
  300. package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  301. package/dist/fields/Blocks/SectionTitle/index.js +1 -0
  302. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  303. package/dist/fields/Checkbox/index.css +2 -2
  304. package/dist/fields/ConfirmPassword/index.d.ts +4 -0
  305. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  306. package/dist/fields/ConfirmPassword/index.js +37 -33
  307. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  308. package/dist/fields/Group/index.css +4 -10
  309. package/dist/fields/Number/Input.d.ts.map +1 -1
  310. package/dist/fields/Number/Input.js +62 -46
  311. package/dist/fields/Number/Input.js.map +1 -1
  312. package/dist/fields/Number/index.css +19 -0
  313. package/dist/fields/Number/types.d.ts +10 -0
  314. package/dist/fields/Number/types.d.ts.map +1 -1
  315. package/dist/fields/Number/types.js.map +1 -1
  316. package/dist/fields/Password/input.d.ts.map +1 -1
  317. package/dist/fields/Password/input.js +33 -29
  318. package/dist/fields/Password/input.js.map +1 -1
  319. package/dist/fields/Password/types.d.ts +4 -0
  320. package/dist/fields/Password/types.d.ts.map +1 -1
  321. package/dist/fields/Password/types.js.map +1 -1
  322. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  323. package/dist/fields/Relationship/Input.js +4 -0
  324. package/dist/fields/Relationship/Input.js.map +1 -1
  325. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  326. package/dist/fields/Relationship/types.d.ts +4 -0
  327. package/dist/fields/Relationship/types.d.ts.map +1 -1
  328. package/dist/fields/Relationship/types.js.map +1 -1
  329. package/dist/fields/Select/Input.d.ts +4 -0
  330. package/dist/fields/Select/Input.d.ts.map +1 -1
  331. package/dist/fields/Select/Input.js +45 -40
  332. package/dist/fields/Select/Input.js.map +1 -1
  333. package/dist/fields/Slug/index.d.ts +7 -5
  334. package/dist/fields/Slug/index.d.ts.map +1 -1
  335. package/dist/fields/Slug/index.js +6 -4
  336. package/dist/fields/Slug/index.js.map +1 -1
  337. package/dist/fields/Text/Input.d.ts.map +1 -1
  338. package/dist/fields/Text/Input.js +44 -37
  339. package/dist/fields/Text/Input.js.map +1 -1
  340. package/dist/fields/Text/types.d.ts +9 -0
  341. package/dist/fields/Text/types.d.ts.map +1 -1
  342. package/dist/fields/Text/types.js.map +1 -1
  343. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  344. package/dist/fields/Textarea/Input.js +27 -23
  345. package/dist/fields/Textarea/Input.js.map +1 -1
  346. package/dist/fields/Textarea/index.css +1 -1
  347. package/dist/fields/Textarea/types.d.ts +4 -0
  348. package/dist/fields/Textarea/types.d.ts.map +1 -1
  349. package/dist/fields/Textarea/types.js.map +1 -1
  350. package/dist/fields/Upload/Input.d.ts.map +1 -1
  351. package/dist/fields/Upload/Input.js +12 -11
  352. package/dist/fields/Upload/Input.js.map +1 -1
  353. package/dist/fields/Upload/index.js +1 -1
  354. package/dist/fields/Upload/index.js.map +1 -1
  355. package/dist/fields/index.d.ts.map +1 -1
  356. package/dist/fields/index.js +2 -0
  357. package/dist/fields/index.js.map +1 -1
  358. package/dist/forms/Form/types.d.ts +2 -2
  359. package/dist/forms/Form/types.d.ts.map +1 -1
  360. package/dist/forms/Form/types.js.map +1 -1
  361. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  362. package/dist/forms/RenderFields/RenderField.js +10 -0
  363. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  364. package/dist/forms/RenderFields/index.css +4 -4
  365. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
  366. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  367. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +21 -5
  368. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  369. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +2 -2
  370. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  371. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  372. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +2 -2
  373. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  374. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  375. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +2 -2
  376. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  377. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  378. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
  379. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  380. package/dist/forms/fieldSchemasToFormState/index.js +2 -0
  381. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  382. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
  383. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  384. package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
  385. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  386. package/dist/graphics/Icon/index.js +1 -1
  387. package/dist/graphics/Icon/index.js.map +1 -1
  388. package/dist/hooks/useElementHeightVariable.d.ts +15 -0
  389. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -0
  390. package/dist/hooks/useElementHeightVariable.js +53 -0
  391. package/dist/hooks/useElementHeightVariable.js.map +1 -0
  392. package/dist/icons/Crop/index.css +5 -0
  393. package/dist/icons/Crop/index.d.ts +7 -0
  394. package/dist/icons/Crop/index.d.ts.map +1 -0
  395. package/dist/icons/Crop/index.js +24 -0
  396. package/dist/icons/Crop/index.js.map +1 -0
  397. package/dist/icons/Download/index.css +5 -0
  398. package/dist/icons/{ExternalLink → Download}/index.d.ts +1 -1
  399. package/dist/icons/Download/index.d.ts.map +1 -0
  400. package/dist/icons/Download/index.js +27 -0
  401. package/dist/icons/Download/index.js.map +1 -0
  402. package/dist/icons/{ExternalLink → NewTab}/index.css +1 -1
  403. package/dist/icons/NewTab/index.d.ts +7 -0
  404. package/dist/icons/NewTab/index.d.ts.map +1 -0
  405. package/dist/icons/NewTab/index.js +25 -0
  406. package/dist/icons/NewTab/index.js.map +1 -0
  407. package/dist/icons/Replace/index.css +5 -0
  408. package/dist/icons/Replace/index.d.ts +6 -0
  409. package/dist/icons/Replace/index.d.ts.map +1 -0
  410. package/dist/icons/Replace/index.js +20 -0
  411. package/dist/icons/Replace/index.js.map +1 -0
  412. package/dist/icons/Reset/index.css +5 -0
  413. package/dist/icons/Reset/index.d.ts +7 -0
  414. package/dist/icons/Reset/index.d.ts.map +1 -0
  415. package/dist/icons/Reset/index.js +25 -0
  416. package/dist/icons/Reset/index.js.map +1 -0
  417. package/dist/icons/Swap/index.js +1 -1
  418. package/dist/icons/Swap/index.js.map +1 -1
  419. package/dist/providers/Auth/index.d.ts +3 -5
  420. package/dist/providers/Auth/index.d.ts.map +1 -1
  421. package/dist/providers/Auth/index.js +3 -8
  422. package/dist/providers/Auth/index.js.map +1 -1
  423. package/dist/providers/DocumentInfo/types.d.ts +2 -2
  424. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  425. package/dist/providers/DocumentInfo/types.js.map +1 -1
  426. package/dist/providers/Root/index.d.ts +2 -2
  427. package/dist/providers/Root/index.d.ts.map +1 -1
  428. package/dist/providers/Root/index.js.map +1 -1
  429. package/dist/scss/app.scss +3 -2
  430. package/dist/styles.css +15 -7
  431. package/dist/templates/Default/index.d.ts.map +1 -1
  432. package/dist/templates/Default/index.js +7 -1
  433. package/dist/templates/Default/index.js.map +1 -1
  434. package/dist/utilities/buildFormState.d.ts.map +1 -1
  435. package/dist/utilities/buildFormState.js +1 -0
  436. package/dist/utilities/buildFormState.js.map +1 -1
  437. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  438. package/dist/utilities/copyDataFromLocale.js +1 -0
  439. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  440. package/dist/utilities/formatRelativeDate.d.ts +15 -0
  441. package/dist/utilities/formatRelativeDate.d.ts.map +1 -0
  442. package/dist/utilities/formatRelativeDate.js +62 -0
  443. package/dist/utilities/formatRelativeDate.js.map +1 -0
  444. package/dist/utilities/getDocPreferences.d.ts +2 -2
  445. package/dist/utilities/getDocPreferences.d.ts.map +1 -1
  446. package/dist/utilities/getDocPreferences.js.map +1 -1
  447. package/dist/utilities/getDocumentData.d.ts +2 -2
  448. package/dist/utilities/getDocumentData.d.ts.map +1 -1
  449. package/dist/utilities/getDocumentData.js.map +1 -1
  450. package/dist/utilities/getGlobalData.d.ts.map +1 -1
  451. package/dist/utilities/getGlobalData.js.map +1 -1
  452. package/dist/utilities/getHasScheduledPublish.d.ts +2 -2
  453. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  454. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  455. package/dist/utilities/getIsLocked.d.ts +2 -2
  456. package/dist/utilities/getIsLocked.d.ts.map +1 -1
  457. package/dist/utilities/getIsLocked.js.map +1 -1
  458. package/dist/utilities/getVersions.d.ts +2 -2
  459. package/dist/utilities/getVersions.d.ts.map +1 -1
  460. package/dist/utilities/getVersions.js +2 -5
  461. package/dist/utilities/getVersions.js.map +1 -1
  462. package/dist/utilities/handleAuthRedirect.d.ts +2 -2
  463. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  464. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  465. package/dist/utilities/handleFormStateLocking.d.ts +2 -2
  466. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  467. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  468. package/dist/utilities/handleLivePreview.d.ts +1 -0
  469. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  470. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  471. package/dist/utilities/isURLAllowed.js +9 -3
  472. package/dist/utilities/isURLAllowed.js.map +1 -1
  473. package/dist/utilities/recentlyViewed.d.ts +16 -0
  474. package/dist/utilities/recentlyViewed.d.ts.map +1 -0
  475. package/dist/utilities/recentlyViewed.js +21 -0
  476. package/dist/utilities/recentlyViewed.js.map +1 -0
  477. package/dist/utilities/recentlyViewed.spec.js +92 -0
  478. package/dist/utilities/recentlyViewed.spec.js.map +1 -0
  479. package/dist/utilities/slugify.d.ts +1 -1
  480. package/dist/utilities/slugify.js +1 -1
  481. package/dist/utilities/slugify.js.map +1 -1
  482. package/dist/views/API/index.client.js +2 -2
  483. package/dist/views/API/index.client.js.map +1 -1
  484. package/dist/views/Account/ResetPreferences/index.d.ts +2 -2
  485. package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -1
  486. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  487. package/dist/views/Account/Settings/index.d.ts +2 -2
  488. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  489. package/dist/views/Account/Settings/index.js.map +1 -1
  490. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
  491. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +27 -23
  492. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  493. package/dist/views/Dashboard/Default/ModularDashboard/index.css +2 -0
  494. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +2 -2
  495. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  496. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +2 -2
  497. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  498. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +2 -2
  499. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -1
  500. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -1
  501. package/dist/views/Document/index.d.ts.map +1 -1
  502. package/dist/views/Document/index.js +18 -1
  503. package/dist/views/Document/index.js.map +1 -1
  504. package/dist/views/Document/recordRecentlyViewed.d.ts +12 -0
  505. package/dist/views/Document/recordRecentlyViewed.d.ts.map +1 -0
  506. package/dist/views/Document/recordRecentlyViewed.js +40 -0
  507. package/dist/views/Document/recordRecentlyViewed.js.map +1 -0
  508. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  509. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  510. package/dist/views/Document/renderDocumentSlots.js +47 -1
  511. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  512. package/dist/views/Edit/index.css +143 -6
  513. package/dist/views/Edit/index.d.ts +1 -1
  514. package/dist/views/Edit/index.d.ts.map +1 -1
  515. package/dist/views/Edit/index.js +34 -31
  516. package/dist/views/Edit/index.js.map +1 -1
  517. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +2 -2
  518. package/dist/views/List/ListHeader/index.css +5 -0
  519. package/dist/views/List/index.client.js +3 -3
  520. package/dist/views/List/index.client.js.map +1 -1
  521. package/dist/views/List/index.d.ts.map +1 -1
  522. package/dist/views/List/index.js +1 -7
  523. package/dist/views/List/index.js.map +1 -1
  524. package/dist/views/Logout/LogoutClient.js +28 -32
  525. package/dist/views/Logout/LogoutClient.js.map +1 -1
  526. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  527. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +1 -0
  528. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  529. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  530. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +1 -0
  531. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  532. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  533. package/dist/views/Version/SelectComparison/index.js +1 -0
  534. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  535. package/dist/views/Versions/fetchVersions.d.ts +4 -4
  536. package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
  537. package/dist/views/Versions/fetchVersions.js.map +1 -1
  538. package/dist/views/Versions/types.d.ts +2 -2
  539. package/dist/views/Versions/types.d.ts.map +1 -1
  540. package/dist/views/Versions/types.js.map +1 -1
  541. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  542. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -0
  543. package/dist/widgets/CollectionQuery/SortField/index.js +118 -0
  544. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -0
  545. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts +18 -0
  546. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts.map +1 -0
  547. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js +91 -0
  548. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js.map +1 -0
  549. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +100 -0
  550. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +1 -0
  551. package/dist/widgets/CollectionQuery/index.css +64 -0
  552. package/dist/widgets/CollectionQuery/index.d.ts +16 -0
  553. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -0
  554. package/dist/widgets/CollectionQuery/index.js +328 -0
  555. package/dist/widgets/CollectionQuery/index.js.map +1 -0
  556. package/dist/widgets/RecentlyViewed/CollectionsField/index.css +14 -0
  557. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +10 -0
  558. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -0
  559. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +76 -0
  560. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -0
  561. package/dist/widgets/RecentlyViewed/index.d.ts +10 -0
  562. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -0
  563. package/dist/widgets/RecentlyViewed/index.js +148 -0
  564. package/dist/widgets/RecentlyViewed/index.js.map +1 -0
  565. package/dist/widgets/WidgetCard/index.css +155 -0
  566. package/dist/widgets/WidgetCard/index.d.ts +19 -0
  567. package/dist/widgets/WidgetCard/index.d.ts.map +1 -0
  568. package/dist/widgets/WidgetCard/index.js +49 -0
  569. package/dist/widgets/WidgetCard/index.js.map +1 -0
  570. package/package.json +6 -510
  571. package/dist/elements/BulkUpload/Header/index.d.ts +0 -9
  572. package/dist/elements/BulkUpload/Header/index.d.ts.map +0 -1
  573. package/dist/elements/BulkUpload/Header/index.js.map +0 -1
  574. package/dist/elements/FileDetails/FileMeta/index.scss +0 -31
  575. package/dist/elements/FileDetails/StaticFileDetails/index.scss +0 -134
  576. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +0 -1
  577. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +0 -1
  578. package/dist/elements/Hierarchy/Drawer/index.css +0 -90
  579. package/dist/elements/Hierarchy/Drawer/index.d.ts +0 -20
  580. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +0 -1
  581. package/dist/elements/Hierarchy/Drawer/index.js.map +0 -1
  582. package/dist/elements/Hierarchy/Drawer/types.d.ts.map +0 -1
  583. package/dist/elements/Hierarchy/Drawer/types.js.map +0 -1
  584. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +0 -30
  585. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +0 -1
  586. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +0 -1
  587. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  588. package/dist/elements/PreviewSizes/index.scss +0 -147
  589. package/dist/elements/Thumbnail/index.scss +0 -53
  590. package/dist/icons/ExternalLink/index.d.ts.map +0 -1
  591. package/dist/icons/ExternalLink/index.js +0 -26
  592. package/dist/icons/ExternalLink/index.js.map +0 -1
  593. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.d.ts +0 -0
  594. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.js +0 -0
  595. /package/dist/elements/Hierarchy/{Drawer → Modal}/types.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"iterateFields.js","names":["stripUnselectedFields","getFieldPaths","addFieldStatePromise","iterateFields","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","blockData","clientFieldSchemaMap","collectionSlug","data","fields","fieldSchemaMap","filter","forceFullValue","fullData","includeSchema","mockRSCs","omitParents","operation","parentIndexPath","parentPassesCondition","parentPath","parentSchemaPath","permissions","preferences","previousFormState","readOnly","renderAllFields","renderFieldFn","req","select","selectMode","skipConditionChecks","skipValidation","state","promises","forEach","field","fieldIndex","passesCondition","indexPath","path","schemaPath","index","shouldContinue","siblingDoc","pathSegments","split","Boolean","admin","condition","user","err","payload","logger","error","msg","push","parentPermissions","Promise","all"],"sources":["../../../src/forms/fieldSchemasToFormState/iterateFields.ts"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldsPermissions,\n SelectMode,\n SelectType,\n TabAsField,\n} from 'payload'\n\nimport { stripUnselectedFields } from 'payload'\nimport { getFieldPaths } from 'payload/shared'\n\nimport type { AddFieldStatePromiseArgs } from './addFieldStatePromise.js'\nimport type { RenderFieldMethod } from './types.js'\n\nimport { addFieldStatePromise } from './addFieldStatePromise.js'\n\ntype Args = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if any parents is localized, then the field is localized. @default false\n */\n anyParentLocalized?: boolean\n /**\n * Data of the nearest parent block, or undefined\n */\n blockData: Data | undefined\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data: Data\n fields: (Field | TabAsField)[]\n fieldSchemaMap: FieldSchemaMap\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n id?: number | string\n /**\n * Whether the field schema should be included in the state. @default false\n */\n includeSchema?: boolean\n mockRSCs?: BuildFormStateArgs['mockRSCs']\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n /**\n * operation is only needed for validation\n */\n operation: 'create' | 'update'\n parentIndexPath: string\n parentPassesCondition?: boolean\n parentPath: string\n parentSchemaPath: string\n permissions: SanitizedFieldsPermissions\n preferences?: DocumentPreferences\n previousFormState: FormState\n readOnly?: boolean\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\n req: PayloadRequest\n select?: SelectType\n selectMode?: SelectMode\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state?: FormStateWithoutComponents\n}\n\n/**\n * Flattens the fields schema and fields data\n */\nexport const iterateFields = async ({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n mockRSCs,\n omitParents = false,\n operation,\n parentIndexPath,\n parentPassesCondition = true,\n parentPath,\n parentSchemaPath,\n permissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn: renderFieldFn,\n req,\n select,\n selectMode,\n skipConditionChecks = false,\n skipValidation = false,\n state = {},\n}: Args): Promise<void> => {\n const promises = []\n\n fields.forEach((field, fieldIndex) => {\n let passesCondition = true\n\n const { indexPath, path, schemaPath } = getFieldPaths({\n field,\n index: fieldIndex,\n parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n if (path !== 'id') {\n const shouldContinue = stripUnselectedFields({\n field,\n select,\n selectMode,\n siblingDoc: data,\n })\n\n if (!shouldContinue) {\n return\n }\n }\n\n const pathSegments = path ? path.split('.') : []\n\n if (!skipConditionChecks) {\n try {\n passesCondition = Boolean(\n (field?.admin?.condition\n ? Boolean(\n field.admin.condition(fullData || {}, data || {}, {\n blockData,\n operation,\n path: pathSegments,\n user: req.user,\n }),\n )\n : true) && parentPassesCondition,\n )\n } catch (err) {\n passesCondition = false\n\n req.payload.logger.error({\n err,\n msg: `Error evaluating field condition at path: ${path}`,\n })\n }\n }\n\n promises.push(\n addFieldStatePromise({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldIndex,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n indexPath,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath,\n parentPath,\n parentPermissions: permissions,\n parentSchemaPath,\n passesCondition,\n path,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n select,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n })\n\n await Promise.all(promises)\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"iterateFields.js","names":["stripUnselectedFields","getFieldPaths","addFieldStatePromise","iterateFields","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","blockData","clientFieldSchemaMap","collectionSlug","data","fields","fieldSchemaMap","filter","forceFullValue","fullData","globalSlug","includeSchema","mockRSCs","omitParents","operation","parentIndexPath","parentPassesCondition","parentPath","parentSchemaPath","permissions","preferences","previousFormState","readOnly","renderAllFields","renderFieldFn","req","select","selectMode","skipConditionChecks","skipValidation","state","promises","forEach","field","fieldIndex","passesCondition","indexPath","path","schemaPath","index","shouldContinue","siblingDoc","pathSegments","split","Boolean","admin","condition","user","err","payload","logger","error","msg","push","parentPermissions","Promise","all"],"sources":["../../../src/forms/fieldSchemasToFormState/iterateFields.ts"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldsPermissions,\n SelectMode,\n SelectType,\n TabAsField,\n} from 'payload'\n\nimport { stripUnselectedFields } from 'payload'\nimport { getFieldPaths } from 'payload/shared'\n\nimport type { AddFieldStatePromiseArgs } from './addFieldStatePromise.js'\nimport type { RenderFieldMethod } from './types.js'\n\nimport { addFieldStatePromise } from './addFieldStatePromise.js'\n\ntype Args = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if any parents is localized, then the field is localized. @default false\n */\n anyParentLocalized?: boolean\n /**\n * Data of the nearest parent block, or undefined\n */\n blockData: Data | undefined\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data: Data\n fields: (Field | TabAsField)[]\n fieldSchemaMap: FieldSchemaMap\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n globalSlug?: string\n id?: number | string\n /**\n * Whether the field schema should be included in the state. @default false\n */\n includeSchema?: boolean\n mockRSCs?: BuildFormStateArgs['mockRSCs']\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n /**\n * operation is only needed for validation\n */\n operation: 'create' | 'update'\n parentIndexPath: string\n parentPassesCondition?: boolean\n parentPath: string\n parentSchemaPath: string\n permissions: SanitizedFieldsPermissions\n preferences?: DocumentPreferences\n previousFormState: FormState\n readOnly?: boolean\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\n req: PayloadRequest\n select?: SelectType\n selectMode?: SelectMode\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state?: FormStateWithoutComponents\n}\n\n/**\n * Flattens the fields schema and fields data\n */\nexport const iterateFields = async ({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n globalSlug,\n includeSchema = false,\n mockRSCs,\n omitParents = false,\n operation,\n parentIndexPath,\n parentPassesCondition = true,\n parentPath,\n parentSchemaPath,\n permissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn: renderFieldFn,\n req,\n select,\n selectMode,\n skipConditionChecks = false,\n skipValidation = false,\n state = {},\n}: Args): Promise<void> => {\n const promises = []\n\n fields.forEach((field, fieldIndex) => {\n let passesCondition = true\n\n const { indexPath, path, schemaPath } = getFieldPaths({\n field,\n index: fieldIndex,\n parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n if (path !== 'id') {\n const shouldContinue = stripUnselectedFields({\n field,\n select,\n selectMode,\n siblingDoc: data,\n })\n\n if (!shouldContinue) {\n return\n }\n }\n\n const pathSegments = path ? path.split('.') : []\n\n if (!skipConditionChecks) {\n try {\n passesCondition = Boolean(\n (field?.admin?.condition\n ? Boolean(\n field.admin.condition(fullData || {}, data || {}, {\n blockData,\n operation,\n path: pathSegments,\n user: req.user,\n }),\n )\n : true) && parentPassesCondition,\n )\n } catch (err) {\n passesCondition = false\n\n req.payload.logger.error({\n err,\n msg: `Error evaluating field condition at path: ${path}`,\n })\n }\n }\n\n promises.push(\n addFieldStatePromise({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldIndex,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n globalSlug,\n includeSchema,\n indexPath,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath,\n parentPath,\n parentPermissions: permissions,\n parentSchemaPath,\n passesCondition,\n path,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n select,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n })\n\n await Promise.all(promises)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  export const PayloadIcon = ({
4
4
  fill: fillFromProps
5
5
  }) => {
6
- const fill = fillFromProps || 'var(--theme-elevation-1000)';
6
+ const fill = fillFromProps || 'var(--color-icon)';
7
7
  return /*#__PURE__*/_jsxs("svg", {
8
8
  className: "graphic-icon",
9
9
  height: "100%",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PayloadIcon","fill","fillFromProps","_jsxs","className","height","viewBox","width","xmlns","_jsx","d"],"sources":["../../../src/graphics/Icon/index.tsx"],"sourcesContent":["import React from 'react'\n\nexport const PayloadIcon: React.FC<{\n fill?: string\n}> = ({ fill: fillFromProps }) => {\n const fill = fillFromProps || 'var(--theme-elevation-1000)'\n\n return (\n <svg\n className=\"graphic-icon\"\n height=\"100%\"\n viewBox=\"0 0 25 25\"\n width=\"100%\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.8673 21.2336L4.40922 16.9845C4.31871 16.9309 4.25837 16.8355 4.25837 16.7282V10.1609C4.25837 10.0477 4.38508 9.97616 4.48162 10.0298L13.1404 14.9642C13.2611 15.0358 13.412 14.9464 13.412 14.8093V11.6091C13.412 11.4839 13.3456 11.3647 13.2309 11.2992L2.81624 5.36353C2.72573 5.30989 2.60505 5.30989 2.51454 5.36353L1.15085 6.14422C1.06034 6.19786 1 6.29321 1 6.40048V18.5995C1 18.7068 1.06034 18.8021 1.15085 18.8558L11.8491 24.9583C11.9397 25.0119 12.0603 25.0119 12.1509 24.9583L21.1355 19.8331C21.2562 19.7616 21.2562 19.5948 21.1355 19.5232L18.3357 17.9261C18.2211 17.8605 18.0883 17.8605 17.9737 17.9261L12.175 21.2336C12.0845 21.2872 11.9638 21.2872 11.8733 21.2336H11.8673Z\"\n fill={fill}\n />\n <path\n d=\"M22.8491 6.13827L12.1508 0.0417218C12.0603 -0.0119135 11.9397 -0.0119135 11.8491 0.0417218L6.19528 3.2658C6.0746 3.33731 6.0746 3.50418 6.19528 3.57569L8.97092 5.16091C9.08557 5.22647 9.21832 5.22647 9.33296 5.16091L11.8672 3.71872C11.9578 3.66508 12.0784 3.66508 12.1689 3.71872L19.627 7.96782C19.7175 8.02146 19.7778 8.11681 19.7778 8.22408V14.8212C19.7778 14.9464 19.8442 15.0656 19.9589 15.1311L22.7345 16.7104C22.8552 16.7819 23.006 16.6925 23.006 16.5554V6.40048C23.006 6.29321 22.9457 6.19786 22.8552 6.14423L22.8491 6.13827Z\"\n fill={fill}\n />\n </svg>\n )\n}\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO,MAAMC,WAAA,GAERA,CAAC;EAAEC,IAAA,EAAMC;AAAa,CAAE;EAC3B,MAAMD,IAAA,GAAOC,aAAA,IAAiB;EAE9B,oBACEC,KAAA,CAAC;IACCC,SAAA,EAAU;IACVC,MAAA,EAAO;IACPC,OAAA,EAAQ;IACRC,KAAA,EAAM;IACNC,KAAA,EAAM;4BAENC,IAAA,CAAC;MACCC,CAAA,EAAE;MACFT,IAAA,EAAMA;qBAERQ,IAAA,CAAC;MACCC,CAAA,EAAE;MACFT,IAAA,EAAMA;;;AAId","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","PayloadIcon","fill","fillFromProps","_jsxs","className","height","viewBox","width","xmlns","_jsx","d"],"sources":["../../../src/graphics/Icon/index.tsx"],"sourcesContent":["import React from 'react'\n\nexport const PayloadIcon: React.FC<{\n fill?: string\n}> = ({ fill: fillFromProps }) => {\n const fill = fillFromProps || 'var(--color-icon)'\n\n return (\n <svg\n className=\"graphic-icon\"\n height=\"100%\"\n viewBox=\"0 0 25 25\"\n width=\"100%\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.8673 21.2336L4.40922 16.9845C4.31871 16.9309 4.25837 16.8355 4.25837 16.7282V10.1609C4.25837 10.0477 4.38508 9.97616 4.48162 10.0298L13.1404 14.9642C13.2611 15.0358 13.412 14.9464 13.412 14.8093V11.6091C13.412 11.4839 13.3456 11.3647 13.2309 11.2992L2.81624 5.36353C2.72573 5.30989 2.60505 5.30989 2.51454 5.36353L1.15085 6.14422C1.06034 6.19786 1 6.29321 1 6.40048V18.5995C1 18.7068 1.06034 18.8021 1.15085 18.8558L11.8491 24.9583C11.9397 25.0119 12.0603 25.0119 12.1509 24.9583L21.1355 19.8331C21.2562 19.7616 21.2562 19.5948 21.1355 19.5232L18.3357 17.9261C18.2211 17.8605 18.0883 17.8605 17.9737 17.9261L12.175 21.2336C12.0845 21.2872 11.9638 21.2872 11.8733 21.2336H11.8673Z\"\n fill={fill}\n />\n <path\n d=\"M22.8491 6.13827L12.1508 0.0417218C12.0603 -0.0119135 11.9397 -0.0119135 11.8491 0.0417218L6.19528 3.2658C6.0746 3.33731 6.0746 3.50418 6.19528 3.57569L8.97092 5.16091C9.08557 5.22647 9.21832 5.22647 9.33296 5.16091L11.8672 3.71872C11.9578 3.66508 12.0784 3.66508 12.1689 3.71872L19.627 7.96782C19.7175 8.02146 19.7778 8.11681 19.7778 8.22408V14.8212C19.7778 14.9464 19.8442 15.0656 19.9589 15.1311L22.7345 16.7104C22.8552 16.7819 23.006 16.6925 23.006 16.5554V6.40048C23.006 6.29321 22.9457 6.19786 22.8552 6.14423L22.8491 6.13827Z\"\n fill={fill}\n />\n </svg>\n )\n}\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO,MAAMC,WAAA,GAERA,CAAC;EAAEC,IAAA,EAAMC;AAAa,CAAE;EAC3B,MAAMD,IAAA,GAAOC,aAAA,IAAiB;EAE9B,oBACEC,KAAA,CAAC;IACCC,SAAA,EAAU;IACVC,MAAA,EAAO;IACPC,OAAA,EAAQ;IACRC,KAAA,EAAM;IACNC,KAAA,EAAM;4BAENC,IAAA,CAAC;MACCC,CAAA,EAAE;MACFT,IAAA,EAAMA;qBAERQ,IAAA,CAAC;MACCC,CAAA,EAAE;MACFT,IAAA,EAAMA;;;AAId","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import type { RefObject } from 'react';
2
+ /**
3
+ * Observes an element and publishes its rendered height to a CSS custom property on the document
4
+ * root (e.g. `--app-header-height`), so layout that depends on that height can be expressed in CSS.
5
+ * The property is removed on unmount.
6
+ *
7
+ * Used by `AppHeader`, `DocumentControls` and `DocumentHeaderRoot` to expose their heights for
8
+ * sticky offsets and the upload view's scroll-driven sizing.
9
+ */
10
+ export declare const useElementHeightVariable: ({ cssVar, isEnabled, ref, }: {
11
+ cssVar: string;
12
+ isEnabled?: boolean;
13
+ ref: RefObject<HTMLElement | null>;
14
+ }) => void;
15
+ //# sourceMappingURL=useElementHeightVariable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useElementHeightVariable.d.ts","sourceRoot":"","sources":["../../src/hooks/useElementHeightVariable.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GAAI,6BAItC;IACD,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,GAAG,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;CACnC,KAAG,IAqBH,CAAA"}
@@ -0,0 +1,53 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { useEffect } from 'react';
5
+ /**
6
+ * Observes an element and publishes its rendered height to a CSS custom property on the document
7
+ * root (e.g. `--app-header-height`), so layout that depends on that height can be expressed in CSS.
8
+ * The property is removed on unmount.
9
+ *
10
+ * Used by `AppHeader`, `DocumentControls` and `DocumentHeaderRoot` to expose their heights for
11
+ * sticky offsets and the upload view's scroll-driven sizing.
12
+ */
13
+ export const useElementHeightVariable = t0 => {
14
+ const $ = _c(5);
15
+ const {
16
+ cssVar,
17
+ isEnabled: t1,
18
+ ref
19
+ } = t0;
20
+ const isEnabled = t1 === undefined ? true : t1;
21
+ let t2;
22
+ let t3;
23
+ if ($[0] !== cssVar || $[1] !== isEnabled || $[2] !== ref) {
24
+ t2 = () => {
25
+ if (!isEnabled) {
26
+ return;
27
+ }
28
+ const el = ref.current;
29
+ if (!el) {
30
+ return;
31
+ }
32
+ const observer = new ResizeObserver(() => {
33
+ document.documentElement.style.setProperty(cssVar, `${el.offsetHeight}px`);
34
+ });
35
+ observer.observe(el);
36
+ return () => {
37
+ observer.disconnect();
38
+ document.documentElement.style.removeProperty(cssVar);
39
+ };
40
+ };
41
+ t3 = [cssVar, isEnabled, ref];
42
+ $[0] = cssVar;
43
+ $[1] = isEnabled;
44
+ $[2] = ref;
45
+ $[3] = t2;
46
+ $[4] = t3;
47
+ } else {
48
+ t2 = $[3];
49
+ t3 = $[4];
50
+ }
51
+ useEffect(t2, t3);
52
+ };
53
+ //# sourceMappingURL=useElementHeightVariable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useElementHeightVariable.js","names":["c","_c","useEffect","useElementHeightVariable","t0","$","cssVar","isEnabled","t1","ref","undefined","t2","t3","el","current","observer","ResizeObserver","document","documentElement","style","setProperty","offsetHeight","observe","disconnect","removeProperty"],"sources":["../../src/hooks/useElementHeightVariable.ts"],"sourcesContent":["'use client'\n\nimport type { RefObject } from 'react'\n\nimport { useEffect } from 'react'\n\n/**\n * Observes an element and publishes its rendered height to a CSS custom property on the document\n * root (e.g. `--app-header-height`), so layout that depends on that height can be expressed in CSS.\n * The property is removed on unmount.\n *\n * Used by `AppHeader`, `DocumentControls` and `DocumentHeaderRoot` to expose their heights for\n * sticky offsets and the upload view's scroll-driven sizing.\n */\nexport const useElementHeightVariable = ({\n cssVar,\n isEnabled = true,\n ref,\n}: {\n cssVar: string\n isEnabled?: boolean\n ref: RefObject<HTMLElement | null>\n}): void => {\n useEffect(() => {\n if (!isEnabled) {\n return\n }\n\n const el = ref.current\n if (!el) {\n return\n }\n\n const observer = new ResizeObserver(() => {\n document.documentElement.style.setProperty(cssVar, `${el.offsetHeight}px`)\n })\n observer.observe(el)\n\n return () => {\n observer.disconnect()\n document.documentElement.style.removeProperty(cssVar)\n }\n }, [cssVar, isEnabled, ref])\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAIA,SAASC,SAAS,QAAQ;AAE1B;;;;;;;;AAQA,OAAO,MAAMC,wBAAA,GAA2BC,EAAA;EAAA,MAAAC,CAAA,GAAAJ,EAAA;EAAC;IAAAK,MAAA;IAAAC,SAAA,EAAAC,EAAA;IAAAC;EAAA,IAAAL,EAQxC;EANC,MAAAG,SAAA,GAAAC,EAAgB,KAAAE,SAAA,UAAhBF,EAAgB;EAAA,IAAAG,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAP,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAI,GAAA;IAONE,EAAA,GAAAA,CAAA;MAAA,KACHJ,SAAA;QAAA;MAAA;MAIL,MAAAM,EAAA,GAAWJ,GAAA,CAAAK,OAAA;MAAW,KACjBD,EAAA;QAAA;MAAA;MAIL,MAAAE,QAAA,OAAAC,cAAA;QACEC,QAAA,CAAAC,eAAA,CAAAC,KAAA,CAAAC,WAAA,CAA2Cd,MAAA,EAAQ,GAAGO,EAAA,CAAAQ,YAAA,IAAmB;MAAA;MAE3EN,QAAA,CAAAO,OAAA,CAAiBT,EAAA;MAAA;QAGfE,QAAA,CAAAQ,UAAA,CAAmB;QACnBN,QAAA,CAAAC,eAAA,CAAAC,KAAA,CAAAK,cAAA,CAA8ClB,MAAA;MAAA;IAAA;IAE/CM,EAAA,IAACN,MAAA,EAAQC,SAAA,EAAWE,GAAA;IAAIJ,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAI,GAAA;IAAAJ,CAAA,MAAAM,EAAA;IAAAN,CAAA,MAAAO,EAAA;EAAA;IAAAD,EAAA,GAAAN,CAAA;IAAAO,EAAA,GAAAP,CAAA;EAAA;EAnB3BH,SAAA,CAAUS,EAmBV,EAAGC,EAAwB;AAAA,CAC7B","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ @layer payload-default {
2
+ .icon--crop {
3
+ /* Icon uses fill="currentColor" inline */
4
+ }
5
+ }
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import './index.css';
3
+ export declare const CropIcon: React.FC<{
4
+ readonly className?: string;
5
+ readonly size?: 24;
6
+ }>;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Crop/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,aAAa,CAAA;AAKpB,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAA;CACnB,CAaA,CAAA"}
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import './index.css';
4
+ const path = 'M8.5 5a.5.5 0 0 1 .5.5V15h6V9h-4.5a.5.5 0 0 1 0-1h5a.5.5 0 0 1 .5.5V15h2.5a.5.5 0 0 1 0 1h-10a.5.5 0 0 1-.5-.5V9H5.5a.5.5 0 0 1 0-1H8V5.5a.5.5 0 0 1 .5-.5m7 12a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5';
5
+ export const CropIcon = ({
6
+ className,
7
+ size = 24
8
+ }) => /*#__PURE__*/_jsx("svg", {
9
+ "aria-hidden": "true",
10
+ className: ['icon', 'icon--crop', className].filter(Boolean).join(' '),
11
+ fill: "none",
12
+ focusable: "false",
13
+ height: size,
14
+ viewBox: `0 0 ${size} ${size}`,
15
+ width: size,
16
+ xmlns: "http://www.w3.org/2000/svg",
17
+ children: /*#__PURE__*/_jsx("path", {
18
+ clipRule: "evenodd",
19
+ d: path,
20
+ fill: "currentColor",
21
+ fillRule: "evenodd"
22
+ })
23
+ });
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","path","CropIcon","className","size","_jsx","filter","Boolean","join","fill","focusable","height","viewBox","width","xmlns","clipRule","d","fillRule"],"sources":["../../../src/icons/Crop/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.css'\n\nconst path =\n 'M8.5 5a.5.5 0 0 1 .5.5V15h6V9h-4.5a.5.5 0 0 1 0-1h5a.5.5 0 0 1 .5.5V15h2.5a.5.5 0 0 1 0 1h-10a.5.5 0 0 1-.5-.5V9H5.5a.5.5 0 0 1 0-1H8V5.5a.5.5 0 0 1 .5-.5m7 12a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5'\n\nexport const CropIcon: React.FC<{\n readonly className?: string\n readonly size?: 24\n}> = ({ className, size = 24 }) => (\n <svg\n aria-hidden=\"true\"\n className={['icon', 'icon--crop', className].filter(Boolean).join(' ')}\n fill=\"none\"\n focusable=\"false\"\n height={size}\n viewBox={`0 0 ${size} ${size}`}\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path clipRule=\"evenodd\" d={path} fill=\"currentColor\" fillRule=\"evenodd\" />\n </svg>\n)\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,MAAMC,IAAA,GACJ;AAEF,OAAO,MAAMC,QAAA,GAGRA,CAAC;EAAEC,SAAS;EAAEC,IAAA,GAAO;AAAE,CAAE,kBAC5BC,IAAA,CAAC;EACC,eAAY;EACZF,SAAA,EAAW,CAAC,QAAQ,cAAcA,SAAA,CAAU,CAACG,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;EAClEC,IAAA,EAAK;EACLC,SAAA,EAAU;EACVC,MAAA,EAAQP,IAAA;EACRQ,OAAA,EAAS,OAAOR,IAAA,IAAQA,IAAA,EAAM;EAC9BS,KAAA,EAAOT,IAAA;EACPU,KAAA,EAAM;YAEN,aAAAT,IAAA,CAAC;IAAKU,QAAA,EAAS;IAAUC,CAAA,EAAGf,IAAA;IAAMQ,IAAA,EAAK;IAAeQ,QAAA,EAAS","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ @layer payload-default {
2
+ .icon--download {
3
+ /* Icon uses fill="currentColor" inline */
4
+ }
5
+ }
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import './index.css';
3
- export declare const ExternalLinkIcon: React.FC<{
3
+ export declare const DownloadIcon: React.FC<{
4
4
  readonly className?: string;
5
5
  readonly size?: 16 | 24;
6
6
  }>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Download/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,aAAa,CAAA;AAOpB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAA;CACxB,CAaA,CAAA"}
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import './index.css';
4
+ const paths = {
5
+ 16: 'M8 2.5a.5.5 0 0 0-1 0v5.793L5.354 6.646a.5.5 0 1 0-.707.708l2.5 2.5a.5.5 0 0 0 .707 0l2.5-2.5a.5.5 0 0 0-.707-.708L8 8.293zm-4 8a.5.5 0 0 0-1 0v1A1.5 1.5 0 0 0 4.5 13h6a1.5 1.5 0 0 0 1.5-1.5v-1a.5.5 0 0 0-1 0v1a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5z',
6
+ 24: 'M17.5 15a.5.5 0 0 1 .5.5v1a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 6 16.5v-1a.5.5 0 0 1 1 0v1a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 1 .5-.5M12 5a.5.5 0 0 1 .5.5v7.793l2.646-2.646a.5.5 0 1 1 .707.707l-3.5 3.5a.5.5 0 0 1-.707 0l-3.5-3.5a.5.5 0 1 1 .708-.707l2.646 2.646V5.5A.5.5 0 0 1 12 5'
7
+ };
8
+ export const DownloadIcon = ({
9
+ className,
10
+ size = 24
11
+ }) => /*#__PURE__*/_jsx("svg", {
12
+ "aria-hidden": "true",
13
+ className: ['icon', 'icon--download', className].filter(Boolean).join(' '),
14
+ fill: "none",
15
+ focusable: "false",
16
+ height: size,
17
+ viewBox: `0 0 ${size} ${size}`,
18
+ width: size,
19
+ xmlns: "http://www.w3.org/2000/svg",
20
+ children: /*#__PURE__*/_jsx("path", {
21
+ clipRule: "evenodd",
22
+ d: paths[size],
23
+ fill: "currentColor",
24
+ fillRule: "evenodd"
25
+ })
26
+ });
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","paths","DownloadIcon","className","size","_jsx","filter","Boolean","join","fill","focusable","height","viewBox","width","xmlns","clipRule","d","fillRule"],"sources":["../../../src/icons/Download/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.css'\n\nconst paths: Record<16 | 24, string> = {\n 16: 'M8 2.5a.5.5 0 0 0-1 0v5.793L5.354 6.646a.5.5 0 1 0-.707.708l2.5 2.5a.5.5 0 0 0 .707 0l2.5-2.5a.5.5 0 0 0-.707-.708L8 8.293zm-4 8a.5.5 0 0 0-1 0v1A1.5 1.5 0 0 0 4.5 13h6a1.5 1.5 0 0 0 1.5-1.5v-1a.5.5 0 0 0-1 0v1a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5z',\n 24: 'M17.5 15a.5.5 0 0 1 .5.5v1a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 6 16.5v-1a.5.5 0 0 1 1 0v1a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 1 .5-.5M12 5a.5.5 0 0 1 .5.5v7.793l2.646-2.646a.5.5 0 1 1 .707.707l-3.5 3.5a.5.5 0 0 1-.707 0l-3.5-3.5a.5.5 0 1 1 .708-.707l2.646 2.646V5.5A.5.5 0 0 1 12 5',\n}\n\nexport const DownloadIcon: React.FC<{\n readonly className?: string\n readonly size?: 16 | 24\n}> = ({ className, size = 24 }) => (\n <svg\n aria-hidden=\"true\"\n className={['icon', 'icon--download', className].filter(Boolean).join(' ')}\n fill=\"none\"\n focusable=\"false\"\n height={size}\n viewBox={`0 0 ${size} ${size}`}\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path clipRule=\"evenodd\" d={paths[size]} fill=\"currentColor\" fillRule=\"evenodd\" />\n </svg>\n)\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,MAAMC,KAAA,GAAiC;EACrC,IAAI;EACJ,IAAI;AACN;AAEA,OAAO,MAAMC,YAAA,GAGRA,CAAC;EAAEC,SAAS;EAAEC,IAAA,GAAO;AAAE,CAAE,kBAC5BC,IAAA,CAAC;EACC,eAAY;EACZF,SAAA,EAAW,CAAC,QAAQ,kBAAkBA,SAAA,CAAU,CAACG,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;EACtEC,IAAA,EAAK;EACLC,SAAA,EAAU;EACVC,MAAA,EAAQP,IAAA;EACRQ,OAAA,EAAS,OAAOR,IAAA,IAAQA,IAAA,EAAM;EAC9BS,KAAA,EAAOT,IAAA;EACPU,KAAA,EAAM;YAEN,aAAAT,IAAA,CAAC;IAAKU,QAAA,EAAS;IAAUC,CAAA,EAAGf,KAAK,CAACG,IAAA,CAAK;IAAEK,IAAA,EAAK;IAAeQ,QAAA,EAAS","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  @layer payload-default {
2
- .icon--external-link {
2
+ .icon--new-tab {
3
3
  /* Icon uses fill, no additional styles needed */
4
4
  }
5
5
  }
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import './index.css';
3
+ export declare const NewTabIcon: React.FC<{
4
+ readonly className?: string;
5
+ readonly size?: 16 | 24;
6
+ }>;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/NewTab/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,aAAa,CAAA;AAOpB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAA;CACxB,CAWA,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import './index.css';
4
+ const paths = {
5
+ 16: 'M11.5 13a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 0-1 0v2a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5h2a.5.5 0 0 0 0-1h-2A1.5 1.5 0 0 0 3 4.5v7A1.5 1.5 0 0 0 4.5 13zM7.646 8.354a.5.5 0 0 0 .708 0L12 4.707V7.5a.5.5 0 0 0 1 0v-4a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0 0 1h2.793L7.646 7.646a.5.5 0 0 0 0 .708',
6
+ 24: 'M9.5 6a.5.5 0 0 1 0 1h-2a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 1 1 0v2a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 6 16.5v-9A1.5 1.5 0 0 1 7.5 6zm8 0a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V7.707l-4.146 4.147a.5.5 0 1 1-.707-.707L16.293 7H12.5a.5.5 0 0 1 0-1z'
7
+ };
8
+ export const NewTabIcon = ({
9
+ className,
10
+ size = 24
11
+ }) => /*#__PURE__*/_jsx("svg", {
12
+ className: ['icon', 'icon--new-tab', className].filter(Boolean).join(' '),
13
+ fill: "none",
14
+ height: size,
15
+ viewBox: `0 0 ${size} ${size}`,
16
+ width: size,
17
+ xmlns: "http://www.w3.org/2000/svg",
18
+ children: /*#__PURE__*/_jsx("path", {
19
+ clipRule: "evenodd",
20
+ d: paths[size],
21
+ fill: "currentColor",
22
+ fillRule: "evenodd"
23
+ })
24
+ });
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","paths","NewTabIcon","className","size","_jsx","filter","Boolean","join","fill","height","viewBox","width","xmlns","clipRule","d","fillRule"],"sources":["../../../src/icons/NewTab/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.css'\n\nconst paths = {\n 16: 'M11.5 13a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 0-1 0v2a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5h2a.5.5 0 0 0 0-1h-2A1.5 1.5 0 0 0 3 4.5v7A1.5 1.5 0 0 0 4.5 13zM7.646 8.354a.5.5 0 0 0 .708 0L12 4.707V7.5a.5.5 0 0 0 1 0v-4a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 0 0 1h2.793L7.646 7.646a.5.5 0 0 0 0 .708',\n 24: 'M9.5 6a.5.5 0 0 1 0 1h-2a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 1 1 0v2a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 6 16.5v-9A1.5 1.5 0 0 1 7.5 6zm8 0a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V7.707l-4.146 4.147a.5.5 0 1 1-.707-.707L16.293 7H12.5a.5.5 0 0 1 0-1z',\n}\n\nexport const NewTabIcon: React.FC<{\n readonly className?: string\n readonly size?: 16 | 24\n}> = ({ className, size = 24 }) => (\n <svg\n className={['icon', 'icon--new-tab', className].filter(Boolean).join(' ')}\n fill=\"none\"\n height={size}\n viewBox={`0 0 ${size} ${size}`}\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path clipRule=\"evenodd\" d={paths[size]} fill=\"currentColor\" fillRule=\"evenodd\" />\n </svg>\n)\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,MAAMC,KAAA,GAAQ;EACZ,IAAI;EACJ,IAAI;AACN;AAEA,OAAO,MAAMC,UAAA,GAGRA,CAAC;EAAEC,SAAS;EAAEC,IAAA,GAAO;AAAE,CAAE,kBAC5BC,IAAA,CAAC;EACCF,SAAA,EAAW,CAAC,QAAQ,iBAAiBA,SAAA,CAAU,CAACG,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;EACrEC,IAAA,EAAK;EACLC,MAAA,EAAQN,IAAA;EACRO,OAAA,EAAS,OAAOP,IAAA,IAAQA,IAAA,EAAM;EAC9BQ,KAAA,EAAOR,IAAA;EACPS,KAAA,EAAM;YAEN,aAAAR,IAAA,CAAC;IAAKS,QAAA,EAAS;IAAUC,CAAA,EAAGd,KAAK,CAACG,IAAA,CAAK;IAAEK,IAAA,EAAK;IAAeO,QAAA,EAAS","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ @layer payload-default {
2
+ .icon--replace {
3
+ /* Icon uses fill, no additional styles needed */
4
+ }
5
+ }
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import './index.css';
3
+ export declare const ReplaceIcon: React.FC<{
4
+ readonly className?: string;
5
+ }>;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Replace/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,aAAa,CAAA;AAEpB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B,CAgBA,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import './index.css';
4
+ export const ReplaceIcon = ({
5
+ className
6
+ }) => /*#__PURE__*/_jsx("svg", {
7
+ className: ['icon', 'icon--replace', className].filter(Boolean).join(' '),
8
+ fill: "none",
9
+ height: 24,
10
+ viewBox: "0 0 24 24",
11
+ width: 24,
12
+ xmlns: "http://www.w3.org/2000/svg",
13
+ children: /*#__PURE__*/_jsx("path", {
14
+ clipRule: "evenodd",
15
+ d: "M17.854 11.646a.5.5 0 0 1 0 .708l-3.5 3.5a.5.5 0 0 1-.708-.708l2.647-2.646H6.5a.5.5 0 0 1 0-1h9.793l-2.647-2.646a.5.5 0 0 1 .708-.708z",
16
+ fill: "currentColor",
17
+ fillRule: "evenodd"
18
+ })
19
+ });
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","ReplaceIcon","className","_jsx","filter","Boolean","join","fill","height","viewBox","width","xmlns","clipRule","d","fillRule"],"sources":["../../../src/icons/Replace/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.css'\n\nexport const ReplaceIcon: React.FC<{\n readonly className?: string\n}> = ({ className }) => (\n <svg\n className={['icon', 'icon--replace', className].filter(Boolean).join(' ')}\n fill=\"none\"\n height={24}\n viewBox=\"0 0 24 24\"\n width={24}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n clipRule=\"evenodd\"\n d=\"M17.854 11.646a.5.5 0 0 1 0 .708l-3.5 3.5a.5.5 0 0 1-.708-.708l2.647-2.646H6.5a.5.5 0 0 1 0-1h9.793l-2.647-2.646a.5.5 0 0 1 .708-.708z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n />\n </svg>\n)\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,OAAO,MAAMC,WAAA,GAERA,CAAC;EAAEC;AAAS,CAAE,kBACjBC,IAAA,CAAC;EACCD,SAAA,EAAW,CAAC,QAAQ,iBAAiBA,SAAA,CAAU,CAACE,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;EACrEC,IAAA,EAAK;EACLC,MAAA,EAAQ;EACRC,OAAA,EAAQ;EACRC,KAAA,EAAO;EACPC,KAAA,EAAM;YAEN,aAAAR,IAAA,CAAC;IACCS,QAAA,EAAS;IACTC,CAAA,EAAE;IACFN,IAAA,EAAK;IACLO,QAAA,EAAS","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ @layer payload-default {
2
+ .icon--reset {
3
+ /* Icon uses fill, no additional styles needed */
4
+ }
5
+ }
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import './index.css';
3
+ export declare const ResetIcon: React.FC<{
4
+ readonly className?: string;
5
+ readonly size?: 16 | 24;
6
+ }>;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Reset/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,aAAa,CAAA;AAOpB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAA;CACxB,CAWA,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import './index.css';
4
+ const paths = {
5
+ 16: 'M5.64648 2.14648C5.84175 1.95122 6.15825 1.95122 6.35352 2.14648C6.54878 2.34175 6.54878 2.65825 6.35352 2.85352L5.20703 4H8.5C11.2614 4 13.5 6.23858 13.5 9C13.5 11.7614 11.2614 14 8.5 14C5.73858 14 3.5 11.7614 3.5 9C3.5 8.72386 3.72386 8.5 4 8.5C4.27614 8.5 4.5 8.72386 4.5 9C4.5 11.2091 6.29086 13 8.5 13C10.7091 13 12.5 11.2091 12.5 9C12.5 6.79086 10.7091 5 8.5 5H5.20703L6.35352 6.14648C6.54878 6.34175 6.54878 6.65825 6.35352 6.85352C6.15825 7.04878 5.84175 7.04878 5.64648 6.85352L3.64648 4.85352C3.45122 4.65825 3.45122 4.34175 3.64648 4.14648L5.64648 2.14648Z',
6
+ 24: 'M8.14658 5.14631C8.34183 4.95119 8.65839 4.95113 8.85361 5.14631C9.04882 5.34152 9.04873 5.65806 8.85361 5.85334L7.70712 6.99982H12.0001C15.3137 6.99987 18 9.68623 18.0001 12.9998C18.0001 16.3135 15.3138 18.9998 12.0001 18.9998C8.68638 18.9998 6.00009 16.3135 6.00009 12.9998C6.00019 12.7238 6.22401 12.4998 6.50009 12.4998C6.77613 12.4999 6.99999 12.7238 7.00009 12.9998C7.00009 15.7612 9.23867 17.9998 12.0001 17.9998C14.7615 17.9998 17.0001 15.7612 17.0001 12.9998C17 10.2385 14.7614 7.99987 12.0001 7.99982H7.70712L8.85361 9.14631C9.04882 9.34152 9.04873 9.65806 8.85361 9.85334C8.65835 10.0486 8.34184 10.0486 8.14658 9.85334L6.14658 7.85334C5.95136 7.65807 5.95133 7.34155 6.14658 7.14631L8.14658 5.14631Z'
7
+ };
8
+ export const ResetIcon = ({
9
+ className,
10
+ size = 24
11
+ }) => /*#__PURE__*/_jsx("svg", {
12
+ className: ['icon', 'icon--reset', className].filter(Boolean).join(' '),
13
+ fill: "none",
14
+ height: size,
15
+ viewBox: `0 0 ${size} ${size}`,
16
+ width: size,
17
+ xmlns: "http://www.w3.org/2000/svg",
18
+ children: /*#__PURE__*/_jsx("path", {
19
+ clipRule: "evenodd",
20
+ d: paths[size],
21
+ fill: "currentColor",
22
+ fillRule: "evenodd"
23
+ })
24
+ });
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","paths","ResetIcon","className","size","_jsx","filter","Boolean","join","fill","height","viewBox","width","xmlns","clipRule","d","fillRule"],"sources":["../../../src/icons/Reset/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.css'\n\nconst paths = {\n 16: 'M5.64648 2.14648C5.84175 1.95122 6.15825 1.95122 6.35352 2.14648C6.54878 2.34175 6.54878 2.65825 6.35352 2.85352L5.20703 4H8.5C11.2614 4 13.5 6.23858 13.5 9C13.5 11.7614 11.2614 14 8.5 14C5.73858 14 3.5 11.7614 3.5 9C3.5 8.72386 3.72386 8.5 4 8.5C4.27614 8.5 4.5 8.72386 4.5 9C4.5 11.2091 6.29086 13 8.5 13C10.7091 13 12.5 11.2091 12.5 9C12.5 6.79086 10.7091 5 8.5 5H5.20703L6.35352 6.14648C6.54878 6.34175 6.54878 6.65825 6.35352 6.85352C6.15825 7.04878 5.84175 7.04878 5.64648 6.85352L3.64648 4.85352C3.45122 4.65825 3.45122 4.34175 3.64648 4.14648L5.64648 2.14648Z',\n 24: 'M8.14658 5.14631C8.34183 4.95119 8.65839 4.95113 8.85361 5.14631C9.04882 5.34152 9.04873 5.65806 8.85361 5.85334L7.70712 6.99982H12.0001C15.3137 6.99987 18 9.68623 18.0001 12.9998C18.0001 16.3135 15.3138 18.9998 12.0001 18.9998C8.68638 18.9998 6.00009 16.3135 6.00009 12.9998C6.00019 12.7238 6.22401 12.4998 6.50009 12.4998C6.77613 12.4999 6.99999 12.7238 7.00009 12.9998C7.00009 15.7612 9.23867 17.9998 12.0001 17.9998C14.7615 17.9998 17.0001 15.7612 17.0001 12.9998C17 10.2385 14.7614 7.99987 12.0001 7.99982H7.70712L8.85361 9.14631C9.04882 9.34152 9.04873 9.65806 8.85361 9.85334C8.65835 10.0486 8.34184 10.0486 8.14658 9.85334L6.14658 7.85334C5.95136 7.65807 5.95133 7.34155 6.14658 7.14631L8.14658 5.14631Z',\n}\n\nexport const ResetIcon: React.FC<{\n readonly className?: string\n readonly size?: 16 | 24\n}> = ({ className, size = 24 }) => (\n <svg\n className={['icon', 'icon--reset', className].filter(Boolean).join(' ')}\n fill=\"none\"\n height={size}\n viewBox={`0 0 ${size} ${size}`}\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path clipRule=\"evenodd\" d={paths[size]} fill=\"currentColor\" fillRule=\"evenodd\" />\n </svg>\n)\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,MAAMC,KAAA,GAAQ;EACZ,IAAI;EACJ,IAAI;AACN;AAEA,OAAO,MAAMC,SAAA,GAGRA,CAAC;EAAEC,SAAS;EAAEC,IAAA,GAAO;AAAE,CAAE,kBAC5BC,IAAA,CAAC;EACCF,SAAA,EAAW,CAAC,QAAQ,eAAeA,SAAA,CAAU,CAACG,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;EACnEC,IAAA,EAAK;EACLC,MAAA,EAAQN,IAAA;EACRO,OAAA,EAAS,OAAOP,IAAA,IAAQA,IAAA,EAAM;EAC9BQ,KAAA,EAAOR,IAAA;EACPS,KAAA,EAAM;YAEN,aAAAR,IAAA,CAAC;IAAKS,QAAA,EAAS;IAAUC,CAAA,EAAGd,KAAK,CAACG,IAAA,CAAK;IAAEK,IAAA,EAAK;IAAeO,QAAA,EAAS","ignoreList":[]}
@@ -12,7 +12,7 @@ export const SwapIcon = ({
12
12
  xmlns: "http://www.w3.org/2000/svg",
13
13
  children: /*#__PURE__*/_jsx("path", {
14
14
  clipRule: "evenodd",
15
- d: "M8.354 6.354a.5.5 0 1 0-.708-.708l-2.5 2.5a.5.5 0 0 0 0 .708l2.5 2.5a.5.5 0 0 0 .708-.708L6.707 9H18.5a.5.5 0 0 0 0-1H6.707zm7.292 7a.5.5 0 0 1 .708-.708l2.5 2.5a.5.5 0 0 1 0 .708l-2.5 2.5a.5.5 0 0 1-.708-.708L17.293 16H5.5a.5.5 0 0 1 0-1h11.793z",
15
+ d: "M14.647 12.646a.5.5 0 0 1 .707 0l2.5 2.5a.5.5 0 0 1 0 .707l-2.5 2.5a.5.5 0 0 1-.707-.707L16.293 16H6.5a.5.5 0 0 1 0-1h9.793l-1.646-1.646a.5.5 0 0 1 0-.708m-6-7a.5.5 0 1 1 .707.707L7.707 8H17.5a.5.5 0 0 1 0 1H7.707l1.647 1.646a.5.5 0 0 1-.708.707l-2.5-2.5a.5.5 0 0 1 0-.707z",
16
16
  fill: "currentColor",
17
17
  fillRule: "evenodd"
18
18
  })
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","SwapIcon","className","_jsx","filter","Boolean","join","fill","height","viewBox","width","xmlns","clipRule","d","fillRule"],"sources":["../../../src/icons/Swap/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.css'\n\nexport const SwapIcon: React.FC<{\n readonly className?: string\n}> = ({ className }) => (\n <svg\n className={['icon', 'icon--swap', className].filter(Boolean).join(' ')}\n fill=\"none\"\n height={24}\n viewBox=\"0 0 24 24\"\n width={24}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n clipRule=\"evenodd\"\n d=\"M8.354 6.354a.5.5 0 1 0-.708-.708l-2.5 2.5a.5.5 0 0 0 0 .708l2.5 2.5a.5.5 0 0 0 .708-.708L6.707 9H18.5a.5.5 0 0 0 0-1H6.707zm7.292 7a.5.5 0 0 1 .708-.708l2.5 2.5a.5.5 0 0 1 0 .708l-2.5 2.5a.5.5 0 0 1-.708-.708L17.293 16H5.5a.5.5 0 0 1 0-1h11.793z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n />\n </svg>\n)\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,OAAO,MAAMC,QAAA,GAERA,CAAC;EAAEC;AAAS,CAAE,kBACjBC,IAAA,CAAC;EACCD,SAAA,EAAW,CAAC,QAAQ,cAAcA,SAAA,CAAU,CAACE,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;EAClEC,IAAA,EAAK;EACLC,MAAA,EAAQ;EACRC,OAAA,EAAQ;EACRC,KAAA,EAAO;EACPC,KAAA,EAAM;YAEN,aAAAR,IAAA,CAAC;IACCS,QAAA,EAAS;IACTC,CAAA,EAAE;IACFN,IAAA,EAAK;IACLO,QAAA,EAAS","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","SwapIcon","className","_jsx","filter","Boolean","join","fill","height","viewBox","width","xmlns","clipRule","d","fillRule"],"sources":["../../../src/icons/Swap/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.css'\n\nexport const SwapIcon: React.FC<{\n readonly className?: string\n}> = ({ className }) => (\n <svg\n className={['icon', 'icon--swap', className].filter(Boolean).join(' ')}\n fill=\"none\"\n height={24}\n viewBox=\"0 0 24 24\"\n width={24}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n clipRule=\"evenodd\"\n d=\"M14.647 12.646a.5.5 0 0 1 .707 0l2.5 2.5a.5.5 0 0 1 0 .707l-2.5 2.5a.5.5 0 0 1-.707-.707L16.293 16H6.5a.5.5 0 0 1 0-1h9.793l-1.646-1.646a.5.5 0 0 1 0-.708m-6-7a.5.5 0 1 1 .707.707L7.707 8H17.5a.5.5 0 0 1 0 1H7.707l1.647 1.646a.5.5 0 0 1-.708.707l-2.5-2.5a.5.5 0 0 1 0-.707z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n />\n </svg>\n)\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,OAAO,MAAMC,QAAA,GAERA,CAAC;EAAEC;AAAS,CAAE,kBACjBC,IAAA,CAAC;EACCD,SAAA,EAAW,CAAC,QAAQ,cAAcA,SAAA,CAAU,CAACE,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;EAClEC,IAAA,EAAK;EACLC,MAAA,EAAQ;EACRC,OAAA,EAAQ;EACRC,KAAA,EAAO;EACPC,KAAA,EAAM;YAEN,aAAAR,IAAA,CAAC;IACCS,QAAA,EAAS;IACTC,CAAA,EAAE;IACFN,IAAA,EAAK;IACLO,QAAA,EAAS","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { ClientUser, SanitizedPermissions, TypedUser } from 'payload';
1
+ import type { ClientUser, SanitizedPermissions } from 'payload';
2
2
  import React from 'react';
3
3
  export type UserWithToken<T = ClientUser> = {
4
4
  /** seconds until expiration */
@@ -8,10 +8,8 @@ export type UserWithToken<T = ClientUser> = {
8
8
  user: T;
9
9
  };
10
10
  export type AuthContext<T = ClientUser> = {
11
- fetchFullUser: () => Promise<null | TypedUser>;
12
- logOut: (options?: {
13
- collection?: string;
14
- }) => Promise<boolean>;
11
+ fetchFullUser: () => Promise<null | T>;
12
+ logOut: () => Promise<boolean>;
15
13
  /**
16
14
  * These are the permissions for the current user from a global scope.
17
15
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Auth/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAK1E,OAAO,KAA+D,MAAM,OAAO,CAAA;AAWnF,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,UAAU,IAAI;IAC1C,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,CAAC,CAAA;CACR,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,UAAU,IAAI;IACxC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAA;IAC9C,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAClC,aAAa,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/C,kBAAkB,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;IAC7C,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,cAAc,EAAE,CAAC,WAAW,EAAE,oBAAoB,KAAK,IAAI,CAAA;IAC3D,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,CAAA;CAChB,CAAA;AAMD,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAClC,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;CACzB,CAAA;AAED,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,WAAW,EAAE,kBAAkB,EAC/B,IAAI,EAAE,WAAW,GAClB,EAAE,KAAK,qBAyUP;AAED,eAAO,MAAM,OAAO,GAAI,CAAC,GAAG,UAAU,OAAM,WAAW,CAAC,CAAC,CAAmC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Auth/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAK/D,OAAO,KAA+D,MAAM,OAAO,CAAA;AAWnF,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,UAAU,IAAI;IAC1C,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,CAAC,CAAA;CACR,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,UAAU,IAAI;IACxC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;IACtC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAClC,aAAa,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/C,kBAAkB,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;IAC7C,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,cAAc,EAAE,CAAC,WAAW,EAAE,oBAAoB,KAAK,IAAI,CAAA;IAC3D,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,CAAA;CAChB,CAAA;AAMD,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAClC,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;CACzB,CAAA;AAED,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,WAAW,EAAE,kBAAkB,EAC/B,IAAI,EAAE,WAAW,GAClB,EAAE,KAAK,qBAgUP;AAED,eAAO,MAAM,OAAO,GAAI,CAAC,GAAG,UAAU,OAAM,WAAW,CAAC,CAAC,CAAmC,CAAA"}
@@ -161,18 +161,13 @@ export function AuthProvider({
161
161
  }
162
162
  return null;
163
163
  }, [apiRoute, i18n.language, redirectToInactivityRoute, setNewUser, userSlug, user]);
164
- const logOut = useCallback(async options => {
165
- // The current client user is the default target. Callers may pass an
166
- // explicit collection to log out when the client auth state has already
167
- // been cleared (e.g. the logout view for a non-admin user, whose `/me`
168
- // against the admin collection resolves to `null`).
169
- const collection = user?.collection ?? options?.collection;
164
+ const logOut = useCallback(async () => {
170
165
  try {
171
- if (collection) {
166
+ if (user && user.collection) {
172
167
  setNewUser(null);
173
168
  await requests.post(formatAdminURL({
174
169
  apiRoute,
175
- path: `/${collection}/logout`
170
+ path: `/${user.collection}/logout`
176
171
  }));
177
172
  }
178
173
  } catch (_) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","formatAdminURL","qs","React","createContext","use","useCallback","useEffect","useState","toast","stayLoggedInModalSlug","useEffectEvent","useTranslation","requests","useConfig","usePathname","useRouter","useRouteTransition","Context","maxTimeoutMs","AuthProvider","children","permissions","initialPermissions","user","initialUser","pathname","router","config","admin","autoLogin","autoRefresh","routes","inactivity","logoutInactivityRoute","userSlug","adminRoute","api","apiRoute","i18n","closeAllModals","openModal","startRouteTransition","setUserInMemory","tokenInMemory","setTokenInMemory","tokenExpirationMs","setTokenExpirationMs","setPermissions","forceLogoutBufferMs","setForceLogoutBufferMs","fetchedUserOnMount","setFetchedUserOnMount","refreshTokenTimeoutRef","useRef","reminderTimeoutRef","forceLogOutTimeoutRef","id","redirectToInactivityRoute","baseAdminRoute","path","replace","window","location","startsWith","encodeURIComponent","revokeTokenAndExpire","undefined","clearTimeout","current","handleReminderTimeout","refreshCookieEvent","setNewUser","userResponse","token","refreshedToken","exp","expiresInMs","Math","max","min","Date","now","nextForceLogoutBufferMs","setTimeout","refreshCookie","forceRefresh","request","post","headers","language","status","json","e","error","message","refreshCookieAsync","skipSetUser","logOut","options","collection","_","refreshPermissions","locale","params","stringify","addQueryPrefix","get","Error","fetchFullUser","credentials","fetchFullUserEvent","fetchUserOnMount","prefillOnly","_jsx","value","setUser","useAuth"],"sources":["../../../src/providers/Auth/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser, SanitizedPermissions, TypedUser } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { stayLoggedInModalSlug } from '../../elements/StayLoggedIn/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { useConfig } from '../Config/index.js'\nimport { usePathname, useRouter } from '../RouterAdapter/index.js'\nimport { useRouteTransition } from '../RouteTransition/index.js'\n\nexport type UserWithToken<T = ClientUser> = {\n /** seconds until expiration */\n exp: number\n refreshedToken?: string\n token?: string\n user: T\n}\n\nexport type AuthContext<T = ClientUser> = {\n fetchFullUser: () => Promise<null | TypedUser>\n logOut: (options?: { collection?: string }) => Promise<boolean>\n /**\n * These are the permissions for the current user from a global scope.\n *\n * When checking for permissions on document specific level, use the `useDocumentInfo` hook instead.\n *\n * @example\n *\n * ```tsx\n * import { useAuth } from 'payload/ui'\n *\n * const MyComponent: React.FC = () => {\n * const { permissions } = useAuth()\n *\n * if (permissions?.collections?.myCollection?.create) {\n * // user can create documents in 'myCollection'\n * }\n *\n * return null\n * }\n * ```\n *\n * with useDocumentInfo:\n *\n * ```tsx\n * import { useDocumentInfo } from 'payload/ui'\n *\n * const MyComponent: React.FC = () => {\n * const { docPermissions } = useDocumentInfo()\n * if (docPermissions?.create) {\n * // user can create this document\n * }\n * return null\n * } ```\n */\n permissions?: SanitizedPermissions\n refreshCookie: (forceRefresh?: boolean) => void\n refreshCookieAsync: () => Promise<ClientUser>\n refreshPermissions: () => Promise<void>\n setPermissions: (permissions: SanitizedPermissions) => void\n setUser: (user: null | UserWithToken<T>) => void\n strategy?: string\n token?: string\n tokenExpirationMs?: number\n user?: null | T\n}\n\nconst Context = createContext({} as AuthContext)\n\nconst maxTimeoutMs = 2147483647\n\ntype Props = {\n children: React.ReactNode\n permissions?: SanitizedPermissions\n user?: ClientUser | null\n}\n\nexport function AuthProvider({\n children,\n permissions: initialPermissions,\n user: initialUser,\n}: Props) {\n const pathname = usePathname()\n const router = useRouter()\n\n const { config } = useConfig()\n\n const {\n admin: {\n autoLogin,\n autoRefresh,\n routes: { inactivity: logoutInactivityRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n } = config\n\n const { i18n } = useTranslation()\n const { closeAllModals, openModal } = useModal()\n const { startRouteTransition } = useRouteTransition()\n\n const [user, setUserInMemory] = useState<ClientUser | null>(initialUser)\n const [tokenInMemory, setTokenInMemory] = useState<string>()\n const [tokenExpirationMs, setTokenExpirationMs] = useState<number>()\n const [permissions, setPermissions] = useState<SanitizedPermissions>(initialPermissions)\n const [forceLogoutBufferMs, setForceLogoutBufferMs] = useState<number>(120_000)\n const [fetchedUserOnMount, setFetchedUserOnMount] = useState(false)\n\n const refreshTokenTimeoutRef = React.useRef<ReturnType<typeof setTimeout>>(null)\n const reminderTimeoutRef = React.useRef<ReturnType<typeof setTimeout>>(null)\n const forceLogOutTimeoutRef = React.useRef<ReturnType<typeof setTimeout>>(null)\n\n const id = user?.id\n\n const redirectToInactivityRoute = useCallback(() => {\n const baseAdminRoute = formatAdminURL({ adminRoute, path: '' })\n startRouteTransition(() =>\n router.replace(\n formatAdminURL({\n adminRoute,\n path: `${logoutInactivityRoute}${window.location.pathname.startsWith(baseAdminRoute) ? `?redirect=${encodeURIComponent(window.location.pathname)}` : ''}`,\n }),\n ),\n )\n\n closeAllModals()\n }, [router, adminRoute, logoutInactivityRoute, closeAllModals, startRouteTransition])\n\n const revokeTokenAndExpire = useCallback(() => {\n setUserInMemory(null)\n setTokenInMemory(undefined)\n setTokenExpirationMs(undefined)\n clearTimeout(refreshTokenTimeoutRef.current)\n }, [])\n\n // Handler for reminder timeout - uses useEffectEvent to capture latest autoRefresh value\n const handleReminderTimeout = useEffectEvent(() => {\n if (autoRefresh) {\n refreshCookieEvent()\n } else {\n openModal(stayLoggedInModalSlug)\n }\n })\n\n const setNewUser = useCallback(\n (userResponse: null | UserWithToken) => {\n clearTimeout(reminderTimeoutRef.current)\n clearTimeout(forceLogOutTimeoutRef.current)\n\n if (userResponse?.user) {\n setUserInMemory(userResponse.user)\n setTokenInMemory(userResponse.token ?? userResponse.refreshedToken)\n setTokenExpirationMs(userResponse.exp * 1000)\n\n const expiresInMs = Math.max(\n 0,\n Math.min((userResponse.exp ?? 0) * 1000 - Date.now(), maxTimeoutMs),\n )\n\n if (expiresInMs) {\n const nextForceLogoutBufferMs = Math.min(60_000, expiresInMs / 2)\n setForceLogoutBufferMs(nextForceLogoutBufferMs)\n\n reminderTimeoutRef.current = setTimeout(\n handleReminderTimeout,\n Math.max(expiresInMs - nextForceLogoutBufferMs, 0),\n )\n\n forceLogOutTimeoutRef.current = setTimeout(() => {\n revokeTokenAndExpire()\n redirectToInactivityRoute()\n }, expiresInMs)\n }\n } else {\n revokeTokenAndExpire()\n }\n },\n [redirectToInactivityRoute, revokeTokenAndExpire],\n )\n\n const refreshCookie = useCallback(\n (forceRefresh?: boolean) => {\n if (!id) {\n return\n }\n\n const expiresInMs = Math.max(0, (tokenExpirationMs ?? 0) - Date.now())\n\n if (forceRefresh || (tokenExpirationMs && expiresInMs < forceLogoutBufferMs * 2)) {\n clearTimeout(refreshTokenTimeoutRef.current)\n refreshTokenTimeoutRef.current = setTimeout(async () => {\n try {\n const request = await requests.post(\n formatAdminURL({\n apiRoute,\n path: `/${userSlug}/refresh-token?refresh`,\n }),\n {\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status === 200) {\n const json: UserWithToken = await request.json()\n setNewUser(json)\n } else {\n setNewUser(null)\n redirectToInactivityRoute()\n }\n } catch (e) {\n toast.error(e.message)\n }\n }, 1000)\n }\n },\n [\n apiRoute,\n i18n.language,\n redirectToInactivityRoute,\n setNewUser,\n tokenExpirationMs,\n userSlug,\n forceLogoutBufferMs,\n id,\n ],\n )\n\n const refreshCookieAsync = useCallback(\n async (skipSetUser?: boolean): Promise<ClientUser> => {\n try {\n const request = await requests.post(\n formatAdminURL({\n apiRoute,\n path: `/${userSlug}/refresh-token`,\n }),\n {\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status === 200) {\n const json: UserWithToken = await request.json()\n if (!skipSetUser) {\n setNewUser(json)\n }\n return json.user\n }\n\n if (user) {\n setNewUser(null)\n redirectToInactivityRoute()\n }\n } catch (e) {\n toast.error(`Refreshing token failed: ${e.message}`)\n }\n return null\n },\n [apiRoute, i18n.language, redirectToInactivityRoute, setNewUser, userSlug, user],\n )\n\n const logOut = useCallback(\n async (options?: { collection?: string }) => {\n // The current client user is the default target. Callers may pass an\n // explicit collection to log out when the client auth state has already\n // been cleared (e.g. the logout view for a non-admin user, whose `/me`\n // against the admin collection resolves to `null`).\n const collection = user?.collection ?? options?.collection\n\n try {\n if (collection) {\n setNewUser(null)\n await requests.post(\n formatAdminURL({\n apiRoute,\n path: `/${collection}/logout`,\n }),\n )\n }\n } catch (_) {\n // fail silently and log the user out in state\n }\n\n return true\n },\n [apiRoute, setNewUser, user],\n )\n\n const refreshPermissions = useCallback(\n async ({ locale }: { locale?: string } = {}) => {\n const params = qs.stringify(\n {\n locale,\n },\n {\n addQueryPrefix: true,\n },\n )\n\n try {\n const request = await requests.get(\n formatAdminURL({\n apiRoute,\n path: `/access${params}`,\n }),\n {\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status === 200) {\n const json: SanitizedPermissions = await request.json()\n setPermissions(json)\n } else {\n throw new Error(`Fetching permissions failed with status code ${request.status}`)\n }\n } catch (e) {\n toast.error(`Refreshing permissions failed: ${e.message}`)\n }\n },\n [apiRoute, i18n],\n )\n\n const fetchFullUser = React.useCallback(async () => {\n try {\n const request = await requests.get(\n formatAdminURL({\n apiRoute,\n path: `/${userSlug}/me`,\n }),\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status === 200) {\n const json: UserWithToken = await request.json()\n setNewUser(json)\n return json?.user || null\n }\n } catch (e) {\n toast.error(`Fetching user failed: ${e.message}`)\n }\n\n return null\n }, [apiRoute, userSlug, i18n.language, setNewUser])\n\n const refreshCookieEvent = useEffectEvent(refreshCookie)\n useEffect(() => {\n // when location changes, refresh cookie\n refreshCookieEvent()\n }, [pathname])\n\n const fetchFullUserEvent = useEffectEvent(fetchFullUser)\n useEffect(() => {\n async function fetchUserOnMount() {\n await fetchFullUserEvent()\n setFetchedUserOnMount(true)\n }\n\n void fetchUserOnMount()\n }, [])\n\n useEffect(() => {\n if (!user && autoLogin && !autoLogin.prefillOnly) {\n void fetchFullUserEvent()\n }\n }, [user, autoLogin])\n\n useEffect(\n () => () => {\n // remove all timeouts on unmount\n clearTimeout(refreshTokenTimeoutRef.current)\n clearTimeout(reminderTimeoutRef.current)\n clearTimeout(forceLogOutTimeoutRef.current)\n },\n [],\n )\n\n if (!user && !fetchedUserOnMount) {\n return null\n }\n\n return (\n <Context\n value={{\n fetchFullUser,\n logOut,\n permissions,\n refreshCookie,\n refreshCookieAsync,\n refreshPermissions,\n setPermissions,\n setUser: setNewUser,\n token: tokenInMemory,\n tokenExpirationMs,\n user,\n }}\n >\n {children}\n </Context>\n )\n}\n\nexport const useAuth = <T = ClientUser,>(): AuthContext<T> => use(Context) as AuthContext<T>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","formatAdminURL","qs","React","createContext","use","useCallback","useEffect","useState","toast","stayLoggedInModalSlug","useEffectEvent","useTranslation","requests","useConfig","usePathname","useRouter","useRouteTransition","Context","maxTimeoutMs","AuthProvider","children","permissions","initialPermissions","user","initialUser","pathname","router","config","admin","autoLogin","autoRefresh","routes","inactivity","logoutInactivityRoute","userSlug","adminRoute","api","apiRoute","i18n","closeAllModals","openModal","startRouteTransition","setUserInMemory","tokenInMemory","setTokenInMemory","tokenExpirationMs","setTokenExpirationMs","setPermissions","forceLogoutBufferMs","setForceLogoutBufferMs","fetchedUserOnMount","setFetchedUserOnMount","refreshTokenTimeoutRef","useRef","reminderTimeoutRef","forceLogOutTimeoutRef","id","redirectToInactivityRoute","baseAdminRoute","path","replace","window","location","startsWith","encodeURIComponent","revokeTokenAndExpire","undefined","clearTimeout","current","handleReminderTimeout","refreshCookieEvent","setNewUser","userResponse","token","refreshedToken","exp","expiresInMs","Math","max","min","Date","now","nextForceLogoutBufferMs","setTimeout","refreshCookie","forceRefresh","request","post","headers","language","status","json","e","error","message","refreshCookieAsync","skipSetUser","logOut","collection","_","refreshPermissions","locale","params","stringify","addQueryPrefix","get","Error","fetchFullUser","credentials","fetchFullUserEvent","fetchUserOnMount","prefillOnly","_jsx","value","setUser","useAuth"],"sources":["../../../src/providers/Auth/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser, SanitizedPermissions } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { stayLoggedInModalSlug } from '../../elements/StayLoggedIn/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { useConfig } from '../Config/index.js'\nimport { usePathname, useRouter } from '../RouterAdapter/index.js'\nimport { useRouteTransition } from '../RouteTransition/index.js'\n\nexport type UserWithToken<T = ClientUser> = {\n /** seconds until expiration */\n exp: number\n refreshedToken?: string\n token?: string\n user: T\n}\n\nexport type AuthContext<T = ClientUser> = {\n fetchFullUser: () => Promise<null | T>\n logOut: () => Promise<boolean>\n /**\n * These are the permissions for the current user from a global scope.\n *\n * When checking for permissions on document specific level, use the `useDocumentInfo` hook instead.\n *\n * @example\n *\n * ```tsx\n * import { useAuth } from 'payload/ui'\n *\n * const MyComponent: React.FC = () => {\n * const { permissions } = useAuth()\n *\n * if (permissions?.collections?.myCollection?.create) {\n * // user can create documents in 'myCollection'\n * }\n *\n * return null\n * }\n * ```\n *\n * with useDocumentInfo:\n *\n * ```tsx\n * import { useDocumentInfo } from 'payload/ui'\n *\n * const MyComponent: React.FC = () => {\n * const { docPermissions } = useDocumentInfo()\n * if (docPermissions?.create) {\n * // user can create this document\n * }\n * return null\n * } ```\n */\n permissions?: SanitizedPermissions\n refreshCookie: (forceRefresh?: boolean) => void\n refreshCookieAsync: () => Promise<ClientUser>\n refreshPermissions: () => Promise<void>\n setPermissions: (permissions: SanitizedPermissions) => void\n setUser: (user: null | UserWithToken<T>) => void\n strategy?: string\n token?: string\n tokenExpirationMs?: number\n user?: null | T\n}\n\nconst Context = createContext({} as AuthContext)\n\nconst maxTimeoutMs = 2147483647\n\ntype Props = {\n children: React.ReactNode\n permissions?: SanitizedPermissions\n user?: ClientUser | null\n}\n\nexport function AuthProvider({\n children,\n permissions: initialPermissions,\n user: initialUser,\n}: Props) {\n const pathname = usePathname()\n const router = useRouter()\n\n const { config } = useConfig()\n\n const {\n admin: {\n autoLogin,\n autoRefresh,\n routes: { inactivity: logoutInactivityRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n } = config\n\n const { i18n } = useTranslation()\n const { closeAllModals, openModal } = useModal()\n const { startRouteTransition } = useRouteTransition()\n\n const [user, setUserInMemory] = useState<ClientUser | null>(initialUser)\n const [tokenInMemory, setTokenInMemory] = useState<string>()\n const [tokenExpirationMs, setTokenExpirationMs] = useState<number>()\n const [permissions, setPermissions] = useState<SanitizedPermissions>(initialPermissions)\n const [forceLogoutBufferMs, setForceLogoutBufferMs] = useState<number>(120_000)\n const [fetchedUserOnMount, setFetchedUserOnMount] = useState(false)\n\n const refreshTokenTimeoutRef = React.useRef<ReturnType<typeof setTimeout>>(null)\n const reminderTimeoutRef = React.useRef<ReturnType<typeof setTimeout>>(null)\n const forceLogOutTimeoutRef = React.useRef<ReturnType<typeof setTimeout>>(null)\n\n const id = user?.id\n\n const redirectToInactivityRoute = useCallback(() => {\n const baseAdminRoute = formatAdminURL({ adminRoute, path: '' })\n startRouteTransition(() =>\n router.replace(\n formatAdminURL({\n adminRoute,\n path: `${logoutInactivityRoute}${window.location.pathname.startsWith(baseAdminRoute) ? `?redirect=${encodeURIComponent(window.location.pathname)}` : ''}`,\n }),\n ),\n )\n\n closeAllModals()\n }, [router, adminRoute, logoutInactivityRoute, closeAllModals, startRouteTransition])\n\n const revokeTokenAndExpire = useCallback(() => {\n setUserInMemory(null)\n setTokenInMemory(undefined)\n setTokenExpirationMs(undefined)\n clearTimeout(refreshTokenTimeoutRef.current)\n }, [])\n\n // Handler for reminder timeout - uses useEffectEvent to capture latest autoRefresh value\n const handleReminderTimeout = useEffectEvent(() => {\n if (autoRefresh) {\n refreshCookieEvent()\n } else {\n openModal(stayLoggedInModalSlug)\n }\n })\n\n const setNewUser = useCallback(\n (userResponse: null | UserWithToken) => {\n clearTimeout(reminderTimeoutRef.current)\n clearTimeout(forceLogOutTimeoutRef.current)\n\n if (userResponse?.user) {\n setUserInMemory(userResponse.user)\n setTokenInMemory(userResponse.token ?? userResponse.refreshedToken)\n setTokenExpirationMs(userResponse.exp * 1000)\n\n const expiresInMs = Math.max(\n 0,\n Math.min((userResponse.exp ?? 0) * 1000 - Date.now(), maxTimeoutMs),\n )\n\n if (expiresInMs) {\n const nextForceLogoutBufferMs = Math.min(60_000, expiresInMs / 2)\n setForceLogoutBufferMs(nextForceLogoutBufferMs)\n\n reminderTimeoutRef.current = setTimeout(\n handleReminderTimeout,\n Math.max(expiresInMs - nextForceLogoutBufferMs, 0),\n )\n\n forceLogOutTimeoutRef.current = setTimeout(() => {\n revokeTokenAndExpire()\n redirectToInactivityRoute()\n }, expiresInMs)\n }\n } else {\n revokeTokenAndExpire()\n }\n },\n [redirectToInactivityRoute, revokeTokenAndExpire],\n )\n\n const refreshCookie = useCallback(\n (forceRefresh?: boolean) => {\n if (!id) {\n return\n }\n\n const expiresInMs = Math.max(0, (tokenExpirationMs ?? 0) - Date.now())\n\n if (forceRefresh || (tokenExpirationMs && expiresInMs < forceLogoutBufferMs * 2)) {\n clearTimeout(refreshTokenTimeoutRef.current)\n refreshTokenTimeoutRef.current = setTimeout(async () => {\n try {\n const request = await requests.post(\n formatAdminURL({\n apiRoute,\n path: `/${userSlug}/refresh-token?refresh`,\n }),\n {\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status === 200) {\n const json: UserWithToken = await request.json()\n setNewUser(json)\n } else {\n setNewUser(null)\n redirectToInactivityRoute()\n }\n } catch (e) {\n toast.error(e.message)\n }\n }, 1000)\n }\n },\n [\n apiRoute,\n i18n.language,\n redirectToInactivityRoute,\n setNewUser,\n tokenExpirationMs,\n userSlug,\n forceLogoutBufferMs,\n id,\n ],\n )\n\n const refreshCookieAsync = useCallback(\n async (skipSetUser?: boolean): Promise<ClientUser> => {\n try {\n const request = await requests.post(\n formatAdminURL({\n apiRoute,\n path: `/${userSlug}/refresh-token`,\n }),\n {\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status === 200) {\n const json: UserWithToken = await request.json()\n if (!skipSetUser) {\n setNewUser(json)\n }\n return json.user\n }\n\n if (user) {\n setNewUser(null)\n redirectToInactivityRoute()\n }\n } catch (e) {\n toast.error(`Refreshing token failed: ${e.message}`)\n }\n return null\n },\n [apiRoute, i18n.language, redirectToInactivityRoute, setNewUser, userSlug, user],\n )\n\n const logOut = useCallback(async () => {\n try {\n if (user && user.collection) {\n setNewUser(null)\n await requests.post(\n formatAdminURL({\n apiRoute,\n path: `/${user.collection}/logout`,\n }),\n )\n }\n } catch (_) {\n // fail silently and log the user out in state\n }\n\n return true\n }, [apiRoute, setNewUser, user])\n\n const refreshPermissions = useCallback(\n async ({ locale }: { locale?: string } = {}) => {\n const params = qs.stringify(\n {\n locale,\n },\n {\n addQueryPrefix: true,\n },\n )\n\n try {\n const request = await requests.get(\n formatAdminURL({\n apiRoute,\n path: `/access${params}`,\n }),\n {\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status === 200) {\n const json: SanitizedPermissions = await request.json()\n setPermissions(json)\n } else {\n throw new Error(`Fetching permissions failed with status code ${request.status}`)\n }\n } catch (e) {\n toast.error(`Refreshing permissions failed: ${e.message}`)\n }\n },\n [apiRoute, i18n],\n )\n\n const fetchFullUser = React.useCallback(async () => {\n try {\n const request = await requests.get(\n formatAdminURL({\n apiRoute,\n path: `/${userSlug}/me`,\n }),\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status === 200) {\n const json: UserWithToken = await request.json()\n setNewUser(json)\n return json?.user || null\n }\n } catch (e) {\n toast.error(`Fetching user failed: ${e.message}`)\n }\n\n return null\n }, [apiRoute, userSlug, i18n.language, setNewUser])\n\n const refreshCookieEvent = useEffectEvent(refreshCookie)\n useEffect(() => {\n // when location changes, refresh cookie\n refreshCookieEvent()\n }, [pathname])\n\n const fetchFullUserEvent = useEffectEvent(fetchFullUser)\n useEffect(() => {\n async function fetchUserOnMount() {\n await fetchFullUserEvent()\n setFetchedUserOnMount(true)\n }\n\n void fetchUserOnMount()\n }, [])\n\n useEffect(() => {\n if (!user && autoLogin && !autoLogin.prefillOnly) {\n void fetchFullUserEvent()\n }\n }, [user, autoLogin])\n\n useEffect(\n () => () => {\n // remove all timeouts on unmount\n clearTimeout(refreshTokenTimeoutRef.current)\n clearTimeout(reminderTimeoutRef.current)\n clearTimeout(forceLogOutTimeoutRef.current)\n },\n [],\n )\n\n if (!user && !fetchedUserOnMount) {\n return null\n }\n\n return (\n <Context\n value={{\n fetchFullUser,\n logOut,\n permissions,\n refreshCookie,\n refreshCookieAsync,\n refreshPermissions,\n setPermissions,\n setUser: setNewUser,\n token: tokenInMemory,\n tokenExpirationMs,\n user,\n }}\n >\n {children}\n </Context>\n )\n}\n\nexport const useAuth = <T = ClientUser,>(): AuthContext<T> => use(Context) as AuthContext<T>\n"],"mappings":"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","ignoreList":[]}