@payloadcms/ui 4.0.0-internal.add4c47 → 4.0.0-internal.af6aad0

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 (717) hide show
  1. package/dist/css/app.css +121 -0
  2. package/dist/css/forms.css +0 -6
  3. package/dist/css/spacing.css +10 -3
  4. package/dist/css/z-index.css +1 -0
  5. package/dist/elements/AddNewRelation/index.css +0 -5
  6. package/dist/elements/AddNewRelation/index.js +2 -2
  7. package/dist/elements/AddNewRelation/index.js.map +1 -1
  8. package/dist/elements/AppHeader/index.css +5 -3
  9. package/dist/elements/AppHeader/index.d.ts +1 -8
  10. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  11. package/dist/elements/AppHeader/index.js +8 -13
  12. package/dist/elements/AppHeader/index.js.map +1 -1
  13. package/dist/elements/ArrayAction/index.d.ts +1 -0
  14. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  15. package/dist/elements/ArrayAction/index.js +45 -32
  16. package/dist/elements/ArrayAction/index.js.map +1 -1
  17. package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
  18. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  19. package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
  20. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +2 -2
  22. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  23. package/dist/elements/Button/index.css +25 -2
  24. package/dist/elements/Button/index.d.ts.map +1 -1
  25. package/dist/elements/Button/index.js +2 -0
  26. package/dist/elements/Button/index.js.map +1 -1
  27. package/dist/elements/Button/types.d.ts +1 -1
  28. package/dist/elements/Button/types.d.ts.map +1 -1
  29. package/dist/elements/Button/types.js.map +1 -1
  30. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
  31. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  32. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
  33. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  34. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +345 -1
  35. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
  36. package/dist/elements/CodeEditor/index.css +0 -5
  37. package/dist/elements/CommandPalette/index.css +0 -7
  38. package/dist/elements/CopyToClipboard/index.d.ts +1 -0
  39. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  40. package/dist/elements/CopyToClipboard/index.js +10 -8
  41. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  42. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  43. package/dist/elements/CreateDocumentButton/index.js +4 -1
  44. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  45. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  46. package/dist/elements/DatePicker/DatePicker.js +1 -0
  47. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  48. package/dist/elements/DatePicker/index.css +1 -1
  49. package/dist/elements/DefaultListViewTabs/index.css +1 -0
  50. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  51. package/dist/elements/DefaultListViewTabs/index.js +84 -62
  52. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  53. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  54. package/dist/elements/DeleteDocument/index.js +16 -1
  55. package/dist/elements/DeleteDocument/index.js.map +1 -1
  56. package/dist/elements/DocumentDrawer/types.d.ts +1 -1
  57. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  58. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  59. package/dist/elements/Drawer/index.css +10 -4
  60. package/dist/elements/Drawer/types.d.ts +2 -2
  61. package/dist/elements/Drawer/types.d.ts.map +1 -1
  62. package/dist/elements/Drawer/types.js.map +1 -1
  63. package/dist/elements/Dropzone/index.css +10 -4
  64. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
  65. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  66. package/dist/elements/EditMany/DrawerContent.js +2 -2
  67. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  68. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  69. package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
  70. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  71. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
  72. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
  73. package/dist/elements/FileDetails/StaticFileDetails/index.css +8 -9
  74. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
  75. package/dist/elements/FileManager/FileToolbar/index.js +3 -0
  76. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
  77. package/dist/elements/FileManager/index.css +0 -30
  78. package/dist/elements/FileManager/index.d.ts.map +1 -1
  79. package/dist/elements/FileManager/index.js +380 -287
  80. package/dist/elements/FileManager/index.js.map +1 -1
  81. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +22 -4
  82. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -1
  83. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +68 -49
  84. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  85. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +100 -16
  86. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  87. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +97 -137
  88. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  89. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +1 -1
  90. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  91. package/dist/elements/Hierarchy/ColumnBrowser/index.js +51 -23
  92. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  93. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +26 -3
  94. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  95. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  96. package/dist/elements/Hierarchy/CreateNewButton/index.css +9 -0
  97. package/dist/elements/Hierarchy/CreateNewButton/index.d.ts +9 -0
  98. package/dist/elements/Hierarchy/CreateNewButton/index.d.ts.map +1 -0
  99. package/dist/elements/Hierarchy/CreateNewButton/index.js +111 -0
  100. package/dist/elements/Hierarchy/CreateNewButton/index.js.map +1 -0
  101. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  102. package/dist/elements/Hierarchy/DocHeaderButton/index.js +6 -1
  103. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  104. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +1 -3
  105. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +1 -1
  106. package/dist/elements/Hierarchy/Field/index.client.d.ts +5 -0
  107. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  108. package/dist/elements/Hierarchy/Field/index.client.js +120 -95
  109. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  110. package/dist/elements/Hierarchy/Field/index.css +3 -34
  111. package/dist/elements/Hierarchy/Modal/Footer/index.css +45 -0
  112. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +28 -0
  113. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
  114. package/dist/elements/Hierarchy/Modal/Footer/index.js +166 -0
  115. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
  116. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +18 -4
  117. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  118. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +88 -24
  119. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  120. package/dist/elements/Hierarchy/Modal/index.css +4 -53
  121. package/dist/elements/Hierarchy/Modal/index.d.ts +5 -2
  122. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  123. package/dist/elements/Hierarchy/Modal/index.js +136 -99
  124. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  125. package/dist/elements/Hierarchy/Modal/types.d.ts +15 -0
  126. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
  127. package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
  128. package/dist/elements/Hierarchy/MoveMany/index.d.ts +7 -3
  129. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  130. package/dist/elements/Hierarchy/MoveMany/index.js +43 -170
  131. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  132. package/dist/elements/Hierarchy/Search/index.css +2 -9
  133. package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
  134. package/dist/elements/Hierarchy/Search/index.js +6 -73
  135. package/dist/elements/Hierarchy/Search/index.js.map +1 -1
  136. package/dist/elements/Hierarchy/Search/types.d.ts +2 -6
  137. package/dist/elements/Hierarchy/Search/types.d.ts.map +1 -1
  138. package/dist/elements/Hierarchy/Search/types.js.map +1 -1
  139. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +0 -4
  140. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  141. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +101 -166
  142. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  143. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  144. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +3 -21
  145. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  146. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +3 -3
  147. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +59 -30
  148. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +1 -1
  149. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  150. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +54 -10
  151. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  152. package/dist/elements/Hierarchy/Tree/index.css +8 -9
  153. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  154. package/dist/elements/Hierarchy/Tree/index.js +29 -47
  155. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  156. package/dist/elements/Hierarchy/Tree/types.d.ts +9 -1
  157. package/dist/elements/Hierarchy/Tree/types.d.ts.map +1 -1
  158. package/dist/elements/Hierarchy/Tree/types.js.map +1 -1
  159. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  160. package/dist/elements/Hierarchy/Tree/useChildren.js +11 -1
  161. package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
  162. package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts +22 -0
  163. package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts.map +1 -0
  164. package/dist/elements/Hierarchy/getFolderHierarchySlug.js +17 -0
  165. package/dist/elements/Hierarchy/getFolderHierarchySlug.js.map +1 -0
  166. package/dist/elements/Hierarchy/move/moveDocuments.d.ts +34 -0
  167. package/dist/elements/Hierarchy/move/moveDocuments.d.ts.map +1 -0
  168. package/dist/elements/Hierarchy/move/moveDocuments.js +94 -0
  169. package/dist/elements/Hierarchy/move/moveDocuments.js.map +1 -0
  170. package/dist/elements/IDLabel/index.css +6 -0
  171. package/dist/elements/IDLabel/index.d.ts +1 -1
  172. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  173. package/dist/elements/IDLabel/index.js +16 -21
  174. package/dist/elements/IDLabel/index.js.map +1 -1
  175. package/dist/elements/InputStepper/index.css +0 -1
  176. package/dist/elements/ListControls/index.d.ts.map +1 -1
  177. package/dist/elements/ListControls/index.js +3 -2
  178. package/dist/elements/ListControls/index.js.map +1 -1
  179. package/dist/elements/ListControls/types.d.ts +4 -0
  180. package/dist/elements/ListControls/types.d.ts.map +1 -1
  181. package/dist/elements/ListControls/types.js.map +1 -1
  182. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
  183. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
  184. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
  185. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  186. package/dist/elements/Locked/index.css +0 -8
  187. package/dist/elements/Locked/index.d.ts.map +1 -1
  188. package/dist/elements/Locked/index.js +70 -64
  189. package/dist/elements/Locked/index.js.map +1 -1
  190. package/dist/elements/Nav/NavSidebarToggle/index.js +1 -1
  191. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
  192. package/dist/elements/Nav/NavWrapper/index.d.ts +1 -0
  193. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  194. package/dist/elements/Nav/NavWrapper/index.js +12 -18
  195. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  196. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  197. package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
  198. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  199. package/dist/elements/Nav/SidebarTabs/index.css +1 -7
  200. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
  201. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
  202. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
  203. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
  204. package/dist/elements/Nav/context.d.ts +0 -1
  205. package/dist/elements/Nav/context.d.ts.map +1 -1
  206. package/dist/elements/Nav/context.js +92 -67
  207. package/dist/elements/Nav/context.js.map +1 -1
  208. package/dist/elements/Nav/index.css +47 -42
  209. package/dist/elements/Nav/index.d.ts +4 -0
  210. package/dist/elements/Nav/index.d.ts.map +1 -1
  211. package/dist/elements/Nav/index.js +16 -1
  212. package/dist/elements/Nav/index.js.map +1 -1
  213. package/dist/elements/NavGroup/index.css +29 -16
  214. package/dist/elements/Popup/PopupButtonList/index.css +33 -17
  215. package/dist/elements/Popup/index.css +6 -0
  216. package/dist/elements/Popup/index.d.ts +10 -0
  217. package/dist/elements/Popup/index.d.ts.map +1 -1
  218. package/dist/elements/Popup/index.js +13 -6
  219. package/dist/elements/Popup/index.js.map +1 -1
  220. package/dist/elements/PreviewButton/index.d.ts +1 -2
  221. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  222. package/dist/elements/PreviewButton/index.js +11 -5
  223. package/dist/elements/PreviewButton/index.js.map +1 -1
  224. package/dist/elements/PreviewSizes/index.css +8 -9
  225. package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
  226. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  227. package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
  228. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  229. package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
  230. package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
  231. package/dist/elements/ReactSelect/index.css +0 -3
  232. package/dist/elements/ReactSelect/types.d.ts +5 -0
  233. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  234. package/dist/elements/ReactSelect/types.js.map +1 -1
  235. package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
  236. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
  237. package/dist/elements/RelationshipTable/Pagination.js +27 -77
  238. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  239. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  240. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  241. package/dist/elements/RelationshipTable/index.js +41 -5
  242. package/dist/elements/RelationshipTable/index.js.map +1 -1
  243. package/dist/elements/RenderTitle/index.css +4 -0
  244. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  245. package/dist/elements/RenderTitle/index.js +18 -13
  246. package/dist/elements/RenderTitle/index.js.map +1 -1
  247. package/dist/elements/SegmentedControl/index.css +58 -0
  248. package/dist/elements/SegmentedControl/index.d.ts +19 -0
  249. package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
  250. package/dist/elements/SegmentedControl/index.js +104 -0
  251. package/dist/elements/SegmentedControl/index.js.map +1 -0
  252. package/dist/elements/SelectAll/index.d.ts.map +1 -1
  253. package/dist/elements/SelectAll/index.js +1 -2
  254. package/dist/elements/SelectAll/index.js.map +1 -1
  255. package/dist/elements/SelectRow/index.d.ts +4 -3
  256. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  257. package/dist/elements/SelectRow/index.js +11 -9
  258. package/dist/elements/SelectRow/index.js.map +1 -1
  259. package/dist/elements/SidebarRow/index.css +1 -5
  260. package/dist/elements/SidebarToggle/index.css +3 -18
  261. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  262. package/dist/elements/SortColumn/index.js +42 -38
  263. package/dist/elements/SortColumn/index.js.map +1 -1
  264. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  265. package/dist/elements/SortHeader/index.js +29 -26
  266. package/dist/elements/SortHeader/index.js.map +1 -1
  267. package/dist/elements/StepNav/DropTarget/index.css +20 -0
  268. package/dist/elements/StepNav/DropTarget/index.d.ts +16 -0
  269. package/dist/elements/StepNav/DropTarget/index.d.ts.map +1 -0
  270. package/dist/elements/StepNav/DropTarget/index.js +71 -0
  271. package/dist/elements/StepNav/DropTarget/index.js.map +1 -0
  272. package/dist/elements/StepNav/index.css +64 -14
  273. package/dist/elements/StepNav/index.d.ts.map +1 -1
  274. package/dist/elements/StepNav/index.js +147 -69
  275. package/dist/elements/StepNav/index.js.map +1 -1
  276. package/dist/elements/StepNav/types.d.ts +6 -0
  277. package/dist/elements/StepNav/types.d.ts.map +1 -1
  278. package/dist/elements/StepNav/types.js.map +1 -1
  279. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +5 -7
  280. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  281. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +14 -3
  282. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  283. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  284. package/dist/elements/Table/DefaultCell/index.js +3 -11
  285. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  286. package/dist/elements/Table/OrderableRow.d.ts +3 -1
  287. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  288. package/dist/elements/Table/OrderableRow.js +17 -1
  289. package/dist/elements/Table/OrderableRow.js.map +1 -1
  290. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  291. package/dist/elements/Table/OrderableTable.js +19 -2
  292. package/dist/elements/Table/OrderableTable.js.map +1 -1
  293. package/dist/elements/TableSection/index.css +0 -1
  294. package/dist/elements/Tooltip/index.css +15 -34
  295. package/dist/elements/Tooltip/index.d.ts +11 -3
  296. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  297. package/dist/elements/Tooltip/index.js +151 -85
  298. package/dist/elements/Tooltip/index.js.map +1 -1
  299. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
  300. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
  301. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
  302. package/dist/elements/Upload/index.css +39 -37
  303. package/dist/elements/Upload/index.d.ts.map +1 -1
  304. package/dist/elements/Upload/index.js +37 -99
  305. package/dist/elements/Upload/index.js.map +1 -1
  306. package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
  307. package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
  308. package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
  309. package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
  310. package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
  311. package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
  312. package/dist/elements/Upload/useUploadFromUrl.js +201 -0
  313. package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
  314. package/dist/elements/UploadDropzoneContent/index.css +31 -0
  315. package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
  316. package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
  317. package/dist/elements/UploadDropzoneContent/index.js +62 -0
  318. package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
  319. package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts +18 -0
  320. package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts.map +1 -0
  321. package/dist/elements/UserMenu/HoverSubmenuGroup.js +38 -0
  322. package/dist/elements/UserMenu/HoverSubmenuGroup.js.map +1 -0
  323. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
  324. package/dist/elements/UserMenu/LanguageMenu/index.js +83 -39
  325. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  326. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
  327. package/dist/elements/UserMenu/SettingsMenu/index.js +57 -21
  328. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  329. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
  330. package/dist/elements/UserMenu/ThemeMenu/index.js +83 -39
  331. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  332. package/dist/elements/UserMenu/index.css +32 -2
  333. package/dist/elements/UserMenu/index.d.ts +1 -0
  334. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  335. package/dist/elements/UserMenu/index.js +77 -51
  336. package/dist/elements/UserMenu/index.js.map +1 -1
  337. package/dist/elements/UserMenu/useHoverSubmenu.d.ts +21 -0
  338. package/dist/elements/UserMenu/useHoverSubmenu.d.ts.map +1 -0
  339. package/dist/elements/UserMenu/useHoverSubmenu.js +260 -0
  340. package/dist/elements/UserMenu/useHoverSubmenu.js.map +1 -0
  341. package/dist/elements/ViewModeToggle/index.d.ts +8 -0
  342. package/dist/elements/ViewModeToggle/index.d.ts.map +1 -0
  343. package/dist/elements/ViewModeToggle/index.js +29 -0
  344. package/dist/elements/ViewModeToggle/index.js.map +1 -0
  345. package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
  346. package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
  347. package/dist/elements/WhereBuilder/conditionValue.js +32 -0
  348. package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
  349. package/dist/elements/WhereBuilder/conditionValue.spec.js +65 -0
  350. package/dist/elements/WhereBuilder/conditionValue.spec.js.map +1 -0
  351. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  352. package/dist/elements/WhereBuilder/index.js +15 -4
  353. package/dist/elements/WhereBuilder/index.js.map +1 -1
  354. package/dist/exports/client/index.d.ts +9 -1
  355. package/dist/exports/client/index.d.ts.map +1 -1
  356. package/dist/exports/client/index.js +1 -1
  357. package/dist/exports/client/index.js.map +3 -3
  358. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  359. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  360. package/dist/fields/Array/ArrayRow.js +2 -0
  361. package/dist/fields/Array/ArrayRow.js.map +1 -1
  362. package/dist/fields/Array/index.d.ts.map +1 -1
  363. package/dist/fields/Array/index.js +38 -10
  364. package/dist/fields/Array/index.js.map +1 -1
  365. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  366. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  367. package/dist/fields/Blocks/BlockRow.js +2 -0
  368. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  369. package/dist/fields/Blocks/RowActions.d.ts +1 -0
  370. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  371. package/dist/fields/Blocks/RowActions.js +22 -19
  372. package/dist/fields/Blocks/RowActions.js.map +1 -1
  373. package/dist/fields/Blocks/index.d.ts.map +1 -1
  374. package/dist/fields/Blocks/index.js +38 -10
  375. package/dist/fields/Blocks/index.js.map +1 -1
  376. package/dist/fields/Checkbox/Input.d.ts +4 -2
  377. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  378. package/dist/fields/Checkbox/Input.js +136 -148
  379. package/dist/fields/Checkbox/Input.js.map +1 -1
  380. package/dist/fields/Checkbox/index.css +163 -186
  381. package/dist/fields/FieldError/index.css +0 -9
  382. package/dist/fields/FieldError/index.d.ts.map +1 -1
  383. package/dist/fields/FieldError/index.js +19 -9
  384. package/dist/fields/FieldError/index.js.map +1 -1
  385. package/dist/fields/Join/index.css +9 -0
  386. package/dist/fields/Join/index.d.ts.map +1 -1
  387. package/dist/fields/Join/index.js +13 -9
  388. package/dist/fields/Join/index.js.map +1 -1
  389. package/dist/fields/RadioGroup/index.css +0 -7
  390. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  391. package/dist/fields/Relationship/Input.js +53 -17
  392. package/dist/fields/Relationship/Input.js.map +1 -1
  393. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  394. package/dist/fields/Relationship/optionsReducer.js +2 -0
  395. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  396. package/dist/fields/Relationship/types.d.ts +24 -0
  397. package/dist/fields/Relationship/types.d.ts.map +1 -1
  398. package/dist/fields/Relationship/types.js.map +1 -1
  399. package/dist/fields/Slug/index.css +0 -1
  400. package/dist/fields/Slug/index.d.ts.map +1 -1
  401. package/dist/fields/Slug/index.js +80 -125
  402. package/dist/fields/Slug/index.js.map +1 -1
  403. package/dist/fields/Upload/Input.d.ts.map +1 -1
  404. package/dist/fields/Upload/Input.js +44 -16
  405. package/dist/fields/Upload/Input.js.map +1 -1
  406. package/dist/fields/Upload/Input.spec.js +241 -0
  407. package/dist/fields/Upload/Input.spec.js.map +1 -0
  408. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  409. package/dist/forms/Form/fieldReducer.js +3 -1
  410. package/dist/forms/Form/fieldReducer.js.map +1 -1
  411. package/dist/forms/Form/index.d.ts.map +1 -1
  412. package/dist/forms/Form/index.js +9 -1
  413. package/dist/forms/Form/index.js.map +1 -1
  414. package/dist/forms/Form/types.d.ts +1 -1
  415. package/dist/forms/Form/types.d.ts.map +1 -1
  416. package/dist/forms/Form/types.js.map +1 -1
  417. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  418. package/dist/forms/WatchChildErrors/index.js +2 -2
  419. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  420. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  421. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +2 -1
  422. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  423. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  424. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
  425. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  426. package/dist/icons/CollapseLayers/index.css +5 -0
  427. package/dist/icons/CollapseLayers/index.d.ts +7 -0
  428. package/dist/icons/CollapseLayers/index.d.ts.map +1 -0
  429. package/dist/icons/CollapseLayers/index.js +23 -0
  430. package/dist/icons/CollapseLayers/index.js.map +1 -0
  431. package/dist/icons/Edit/index.d.ts +0 -1
  432. package/dist/icons/Edit/index.d.ts.map +1 -1
  433. package/dist/icons/Edit/index.js +4 -4
  434. package/dist/icons/Edit/index.js.map +1 -1
  435. package/dist/icons/Table/index.css +5 -0
  436. package/dist/icons/Table/index.d.ts +7 -0
  437. package/dist/icons/Table/index.d.ts.map +1 -0
  438. package/dist/icons/Table/index.js +25 -0
  439. package/dist/icons/Table/index.js.map +1 -0
  440. package/dist/layouts/Root/index.d.ts +1 -1
  441. package/dist/layouts/Root/index.d.ts.map +1 -1
  442. package/dist/layouts/Root/index.js +8 -2
  443. package/dist/layouts/Root/index.js.map +1 -1
  444. package/dist/providers/Actions/index.d.ts +1 -0
  445. package/dist/providers/Actions/index.d.ts.map +1 -1
  446. package/dist/providers/Actions/index.js +43 -11
  447. package/dist/providers/Actions/index.js.map +1 -1
  448. package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
  449. package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
  450. package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
  451. package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
  452. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
  453. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
  454. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
  455. package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
  456. package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
  457. package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
  458. package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
  459. package/dist/providers/Auth/authSessionRequests.js +119 -0
  460. package/dist/providers/Auth/authSessionRequests.js.map +1 -0
  461. package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
  462. package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
  463. package/dist/providers/Auth/index.d.ts +2 -56
  464. package/dist/providers/Auth/index.d.ts.map +1 -1
  465. package/dist/providers/Auth/index.js +283 -135
  466. package/dist/providers/Auth/index.js.map +1 -1
  467. package/dist/providers/Auth/sessionActivity.d.ts +23 -0
  468. package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
  469. package/dist/providers/Auth/sessionActivity.js +49 -0
  470. package/dist/providers/Auth/sessionActivity.js.map +1 -0
  471. package/dist/providers/Auth/sessionActivity.spec.js +44 -0
  472. package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
  473. package/dist/providers/Auth/sessionTiming.d.ts +11 -0
  474. package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
  475. package/dist/providers/Auth/sessionTiming.js +18 -0
  476. package/dist/providers/Auth/sessionTiming.js.map +1 -0
  477. package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
  478. package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
  479. package/dist/providers/Auth/tabSessionSync/index.js +263 -0
  480. package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
  481. package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
  482. package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
  483. package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
  484. package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
  485. package/dist/providers/Auth/tabSessionSync/types.js +6 -0
  486. package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
  487. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
  488. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
  489. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
  490. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
  491. package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
  492. package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
  493. package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
  494. package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
  495. package/dist/providers/Auth/types.d.ts +65 -0
  496. package/dist/providers/Auth/types.d.ts.map +1 -0
  497. package/dist/providers/Auth/types.js +2 -0
  498. package/dist/providers/Auth/types.js.map +1 -0
  499. package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
  500. package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
  501. package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
  502. package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
  503. package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
  504. package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
  505. package/dist/providers/DocumentTitle/index.d.ts +1 -0
  506. package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
  507. package/dist/providers/DocumentTitle/index.js +2 -0
  508. package/dist/providers/DocumentTitle/index.js.map +1 -1
  509. package/dist/providers/Embed/index.d.ts +24 -0
  510. package/dist/providers/Embed/index.d.ts.map +1 -0
  511. package/dist/providers/Embed/index.js +105 -0
  512. package/dist/providers/Embed/index.js.map +1 -0
  513. package/dist/providers/FormErrorHandler/index.d.ts +24 -0
  514. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
  515. package/dist/providers/FormErrorHandler/index.js +6 -0
  516. package/dist/providers/FormErrorHandler/index.js.map +1 -0
  517. package/dist/providers/Hierarchy/index.d.ts.map +1 -1
  518. package/dist/providers/Hierarchy/index.js +53 -24
  519. package/dist/providers/Hierarchy/index.js.map +1 -1
  520. package/dist/providers/Hierarchy/types.d.ts +2 -0
  521. package/dist/providers/Hierarchy/types.d.ts.map +1 -1
  522. package/dist/providers/Hierarchy/types.js.map +1 -1
  523. package/dist/providers/HierarchyDnd/index.css +51 -0
  524. package/dist/providers/HierarchyDnd/index.d.ts +21 -0
  525. package/dist/providers/HierarchyDnd/index.d.ts.map +1 -0
  526. package/dist/providers/HierarchyDnd/index.js +163 -0
  527. package/dist/providers/HierarchyDnd/index.js.map +1 -0
  528. package/dist/providers/HierarchyDnd/types.d.ts +56 -0
  529. package/dist/providers/HierarchyDnd/types.d.ts.map +1 -0
  530. package/dist/providers/HierarchyDnd/types.js +21 -0
  531. package/dist/providers/HierarchyDnd/types.js.map +1 -0
  532. package/dist/providers/Locale/index.d.ts.map +1 -1
  533. package/dist/providers/Locale/index.js +41 -36
  534. package/dist/providers/Locale/index.js.map +1 -1
  535. package/dist/providers/Root/index.d.ts +1 -0
  536. package/dist/providers/Root/index.d.ts.map +1 -1
  537. package/dist/providers/Root/index.js +37 -31
  538. package/dist/providers/Root/index.js.map +1 -1
  539. package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
  540. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  541. package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
  542. package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
  543. package/dist/providers/RouteTransition/index.d.ts +2 -0
  544. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  545. package/dist/providers/RouteTransition/index.js +42 -14
  546. package/dist/providers/RouteTransition/index.js.map +1 -1
  547. package/dist/providers/SidebarTabs/index.d.ts +3 -2
  548. package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
  549. package/dist/providers/SidebarTabs/index.js.map +1 -1
  550. package/dist/providers/Theme/index.d.ts +3 -0
  551. package/dist/providers/Theme/index.d.ts.map +1 -1
  552. package/dist/providers/Theme/index.js +107 -95
  553. package/dist/providers/Theme/index.js.map +1 -1
  554. package/dist/styles.css +12 -10
  555. package/dist/templates/Default/Wrapper/index.css +2 -1
  556. package/dist/templates/Default/Wrapper/index.d.ts +2 -0
  557. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  558. package/dist/templates/Default/Wrapper/index.js +12 -6
  559. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  560. package/dist/templates/Default/index.css +3 -1
  561. package/dist/templates/Default/index.d.ts +1 -0
  562. package/dist/templates/Default/index.d.ts.map +1 -1
  563. package/dist/templates/Default/index.js +19 -15
  564. package/dist/templates/Default/index.js.map +1 -1
  565. package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
  566. package/dist/utilities/combineFieldLabel.js +5 -1
  567. package/dist/utilities/combineFieldLabel.js.map +1 -1
  568. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  569. package/dist/utilities/formatMetadata.js +0 -5
  570. package/dist/utilities/formatMetadata.js.map +1 -1
  571. package/dist/utilities/generateFieldID.d.ts +1 -1
  572. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  573. package/dist/utilities/generateFieldID.js +2 -2
  574. package/dist/utilities/generateFieldID.js.map +1 -1
  575. package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
  576. package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
  577. package/dist/utilities/getFilesFromClipboard.js +49 -0
  578. package/dist/utilities/getFilesFromClipboard.js.map +1 -0
  579. package/dist/utilities/getRequestEmbed.d.ts +14 -0
  580. package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
  581. package/dist/utilities/getRequestEmbed.js +10 -0
  582. package/dist/utilities/getRequestEmbed.js.map +1 -0
  583. package/dist/utilities/renderTable.d.ts.map +1 -1
  584. package/dist/utilities/renderTable.js +18 -2
  585. package/dist/utilities/renderTable.js.map +1 -1
  586. package/dist/utilities/slugify.d.ts.map +1 -1
  587. package/dist/utilities/slugify.js +50 -6
  588. package/dist/utilities/slugify.js.map +1 -1
  589. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  590. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
  591. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  592. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  593. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
  594. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  595. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  596. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
  597. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  598. package/dist/views/Dashboard/Default/ModularDashboard/index.css +29 -144
  599. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +4 -4
  600. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  601. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
  602. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  603. package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
  604. package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
  605. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  606. package/dist/views/Edit/index.d.ts.map +1 -1
  607. package/dist/views/Edit/index.js +3 -2
  608. package/dist/views/Edit/index.js.map +1 -1
  609. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  610. package/dist/views/HierarchyList/DocumentListSelection/index.js +100 -105
  611. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  612. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.css +216 -0
  613. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts +20 -0
  614. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts.map +1 -0
  615. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js +182 -0
  616. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js.map +1 -0
  617. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.css +38 -0
  618. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts +15 -0
  619. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts.map +1 -0
  620. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js +85 -0
  621. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js.map +1 -0
  622. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.css +98 -0
  623. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts +27 -0
  624. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts.map +1 -0
  625. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js +84 -0
  626. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js.map +1 -0
  627. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts +19 -0
  628. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts.map +1 -0
  629. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js +100 -0
  630. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js.map +1 -0
  631. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts +53 -0
  632. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts.map +1 -0
  633. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js +145 -0
  634. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js.map +1 -0
  635. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts +8 -0
  636. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts.map +1 -0
  637. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js +21 -0
  638. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js.map +1 -0
  639. package/dist/views/HierarchyList/HierarchyCards/index.css +115 -0
  640. package/dist/views/HierarchyList/HierarchyCards/index.d.ts +80 -0
  641. package/dist/views/HierarchyList/HierarchyCards/index.d.ts.map +1 -0
  642. package/dist/views/HierarchyList/HierarchyCards/index.js +457 -0
  643. package/dist/views/HierarchyList/HierarchyCards/index.js.map +1 -0
  644. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +6 -1
  645. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
  646. package/dist/views/HierarchyList/HierarchyListHeader/index.js +10 -8
  647. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
  648. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
  649. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +11 -10
  650. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  651. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  652. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +3 -6
  653. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  654. package/dist/views/HierarchyList/HierarchyTable/index.css +51 -0
  655. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +13 -1
  656. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  657. package/dist/views/HierarchyList/HierarchyTable/index.js +156 -38
  658. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  659. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +6 -0
  660. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
  661. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
  662. package/dist/views/HierarchyList/index.css +1 -1
  663. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  664. package/dist/views/HierarchyList/index.js +103 -20
  665. package/dist/views/HierarchyList/index.js.map +1 -1
  666. package/dist/views/List/ListHeader/index.d.ts +1 -10
  667. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  668. package/dist/views/List/ListHeader/index.js +1 -3
  669. package/dist/views/List/ListHeader/index.js.map +1 -1
  670. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  671. package/dist/views/List/ListSelection/index.js +138 -122
  672. package/dist/views/List/ListSelection/index.js.map +1 -1
  673. package/dist/views/List/handleHierarchy.d.ts +6 -1
  674. package/dist/views/List/handleHierarchy.d.ts.map +1 -1
  675. package/dist/views/List/handleHierarchy.js +34 -3
  676. package/dist/views/List/handleHierarchy.js.map +1 -1
  677. package/dist/views/List/index.client.d.ts.map +1 -1
  678. package/dist/views/List/index.client.js +128 -18
  679. package/dist/views/List/index.client.js.map +1 -1
  680. package/dist/views/List/index.css +6 -1
  681. package/dist/views/List/index.d.ts.map +1 -1
  682. package/dist/views/List/index.js +29 -14
  683. package/dist/views/List/index.js.map +1 -1
  684. package/dist/views/Logout/index.d.ts.map +1 -1
  685. package/dist/views/Logout/index.js +11 -0
  686. package/dist/views/Logout/index.js.map +1 -1
  687. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  688. package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
  689. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  690. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
  691. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  692. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  693. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  694. package/dist/views/Root/getRouteData.js +8 -2
  695. package/dist/views/Root/getRouteData.js.map +1 -1
  696. package/dist/views/Root/index.d.ts +12 -1
  697. package/dist/views/Root/index.d.ts.map +1 -1
  698. package/dist/views/Root/index.js +11 -3
  699. package/dist/views/Root/index.js.map +1 -1
  700. package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
  701. package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
  702. package/package.json +6 -11
  703. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +0 -36
  704. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +0 -13
  705. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +0 -1
  706. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +0 -141
  707. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +0 -1
  708. package/dist/elements/RelationshipTable/Pagination.css +0 -39
  709. package/dist/scss/app.scss +0 -183
  710. package/dist/scss/colors.scss +0 -191
  711. package/dist/scss/custom.css +0 -1
  712. package/dist/scss/queries.scss +0 -27
  713. package/dist/scss/styles.scss +0 -9
  714. package/dist/scss/svg.scss +0 -10
  715. package/dist/scss/toastify.scss +0 -61
  716. package/dist/scss/vars.scss +0 -192
  717. package/dist/scss/z-index.scss +0 -9
@@ -20,12 +20,14 @@ import React, { startTransition, useCallback, useEffect, useOptimistic, useRef }
20
20
  * )
21
21
  */
22
22
  export const RouteTransitionProvider = t0 => {
23
- const $ = _c(11);
23
+ const $ = _c(12);
24
24
  const {
25
25
  children
26
26
  } = t0;
27
- const [isTransitioning, setIsTransitioning] = useOptimistic(false);
27
+ const [isOptimisticallyTransitioning, setIsOptimisticallyTransitioning] = useOptimistic(false);
28
+ const [activeRouteTransitionHolds, setActiveRouteTransitionHolds] = React.useState(0);
28
29
  const [transitionProgress, setTransitionProgress] = React.useState(0);
30
+ const isTransitioning = isOptimisticallyTransitioning || activeRouteTransitionHolds > 0;
29
31
  const transitionProgressRef = useRef(transitionProgress);
30
32
  const timerID = useRef(null);
31
33
  let t1;
@@ -66,42 +68,62 @@ export const RouteTransitionProvider = t0 => {
66
68
  }
67
69
  useEffect(t2, t3);
68
70
  let t4;
69
- if ($[4] !== setIsTransitioning) {
71
+ if ($[4] !== setIsOptimisticallyTransitioning) {
70
72
  t4 = callback => {
71
73
  startTransition(() => {
72
- setIsTransitioning(true);
74
+ setIsOptimisticallyTransitioning(true);
73
75
  if (typeof callback === "function") {
74
76
  callback();
75
77
  }
76
78
  });
77
79
  };
78
- $[4] = setIsTransitioning;
80
+ $[4] = setIsOptimisticallyTransitioning;
79
81
  $[5] = t4;
80
82
  } else {
81
83
  t4 = $[5];
82
84
  }
83
85
  const startRouteTransition = t4;
84
86
  let t5;
85
- if ($[6] !== children || $[7] !== isTransitioning || $[8] !== startRouteTransition || $[9] !== transitionProgress) {
86
- t5 = _jsx(RouteTransitionContext, {
87
+ if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
88
+ t5 = () => {
89
+ let hasReleased = false;
90
+ setActiveRouteTransitionHolds(_temp);
91
+ return () => {
92
+ if (hasReleased) {
93
+ return;
94
+ }
95
+ hasReleased = true;
96
+ setActiveRouteTransitionHolds(_temp2);
97
+ };
98
+ };
99
+ $[6] = t5;
100
+ } else {
101
+ t5 = $[6];
102
+ }
103
+ const holdRouteTransition = t5;
104
+ let t6;
105
+ if ($[7] !== children || $[8] !== isTransitioning || $[9] !== startRouteTransition || $[10] !== transitionProgress) {
106
+ t6 = _jsx(RouteTransitionContext, {
87
107
  value: {
108
+ holdRouteTransition,
88
109
  isTransitioning,
89
110
  startRouteTransition,
90
111
  transitionProgress
91
112
  },
92
113
  children
93
114
  });
94
- $[6] = children;
95
- $[7] = isTransitioning;
96
- $[8] = startRouteTransition;
97
- $[9] = transitionProgress;
98
- $[10] = t5;
115
+ $[7] = children;
116
+ $[8] = isTransitioning;
117
+ $[9] = startRouteTransition;
118
+ $[10] = transitionProgress;
119
+ $[11] = t6;
99
120
  } else {
100
- t5 = $[10];
121
+ t6 = $[11];
101
122
  }
102
- return t5;
123
+ return t6;
103
124
  };
104
125
  const RouteTransitionContext = /*#__PURE__*/React.createContext({
126
+ holdRouteTransition: () => () => undefined,
105
127
  isTransitioning: false,
106
128
  // Default implementation: just call the callback directly (no transition animation)
107
129
  startRouteTransition: callback => {
@@ -132,4 +154,10 @@ const RouteTransitionContext = /*#__PURE__*/React.createContext({
132
154
  * }
133
155
  */
134
156
  export const useRouteTransition = () => React.use(RouteTransitionContext);
157
+ function _temp(count) {
158
+ return count + 1;
159
+ }
160
+ function _temp2(count_0) {
161
+ return Math.max(0, count_0 - 1);
162
+ }
135
163
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","startTransition","useCallback","useEffect","useOptimistic","useRef","RouteTransitionProvider","t0","$","children","isTransitioning","setIsTransitioning","transitionProgress","setTransitionProgress","useState","transitionProgressRef","timerID","t1","Symbol","for","current","setInterval","newProgress","Math","random","pow","log","initiateProgress","t2","t3","clearInterval","t4","callback","startRouteTransition","t5","_jsx","RouteTransitionContext","value","createContext","useRouteTransition","use"],"sources":["../../../src/providers/RouteTransition/index.tsx"],"sourcesContent":["'use client'\nimport React, { startTransition, useCallback, useEffect, useOptimistic, useRef } from 'react'\n\n/**\n * Route transitions are useful in showing immediate visual feedback to the user when navigating between pages. This is especially useful on slow networks when navigating to data heavy or process intensive pages.\n * To use route transitions, place the `RouteTransitionProvider` at the root of your application, outside of the `ProgressBar` component.\n * To trigger a route transition, use the `Link` component from `@payloadcms/ui`,\n * or wrap a callback function with the `startRouteTransition` method.\n * To gain access to the `RouteTransitionContext`, call the `useRouteTransition` hook in your component.\n * @returns A context provider with methods and state for transitioning between routes, including `isTransitioning`, `startRouteTransition`, and `transitionProgress`.\n * @example\n * import { RouteTransitionProvider, ProgressBar, Link } from '@payloadcms/ui'\n * const App = () => (\n * <RouteTransitionProvider>\n * <ProgressBar />\n * <Link href=\"/somewhere\">Go Somewhere</Link>\n * </RouteTransitionProvider>\n * )\n */\nexport const RouteTransitionProvider: React.FC<RouteTransitionProps> = ({ children }) => {\n const [isTransitioning, setIsTransitioning] = useOptimistic(false)\n const [transitionProgress, setTransitionProgress] = React.useState<number>(0)\n\n const transitionProgressRef = useRef(transitionProgress)\n\n const timerID = useRef(null)\n\n const initiateProgress = useCallback(() => {\n timerID.current = setInterval(() => {\n // randomly update progress using an exponential curve\n // cap the progress to ensure it never fully reaches completion\n // accelerate quickly then decelerate slowly\n const maxProgress = 0.93\n const jumpFactor = 0.2 // lower to reduce jumps in progress\n const growthFactor = 0.75 // adjust to control acceleration\n const slowdownFactor = 0.75 // adjust to control deceleration\n\n const newProgress =\n transitionProgressRef.current +\n (maxProgress - transitionProgressRef.current) *\n Math.random() *\n jumpFactor *\n Math.pow(Math.log(1 + (1 - transitionProgressRef.current) * growthFactor), slowdownFactor)\n\n setTransitionProgress(newProgress)\n transitionProgressRef.current = newProgress\n }, 250) // every n ms, update progress\n }, [])\n\n useEffect(() => {\n setTransitionProgress(0)\n transitionProgressRef.current = 0\n\n if (isTransitioning) {\n initiateProgress()\n } else {\n if (timerID.current) {\n clearInterval(timerID.current)\n }\n }\n }, [isTransitioning, initiateProgress])\n\n const startRouteTransition: StartRouteTransition = useCallback(\n (callback?: () => void) => {\n startTransition(() => {\n setIsTransitioning(true)\n\n if (typeof callback === 'function') {\n callback()\n }\n })\n },\n [setIsTransitioning],\n )\n\n return (\n <RouteTransitionContext value={{ isTransitioning, startRouteTransition, transitionProgress }}>\n {children}\n </RouteTransitionContext>\n )\n}\n\ntype RouteTransitionProps = {\n children: React.ReactNode\n}\n\ntype StartRouteTransition = (callback?: () => void) => void\n\ntype RouteTransitionContextValue = {\n isTransitioning: boolean\n startRouteTransition: StartRouteTransition\n transitionProgress: number\n}\n\nconst RouteTransitionContext = React.createContext<RouteTransitionContextValue>({\n isTransitioning: false,\n // Default implementation: just call the callback directly (no transition animation)\n startRouteTransition: (callback) => {\n if (typeof callback === 'function') {\n callback()\n }\n },\n transitionProgress: 0,\n})\n\n/**\n * Use this hook to access the `RouteTransitionContext` provided by the `RouteTransitionProvider`.\n * To start a transition, fire the `startRouteTransition` method with a provided callback to run while the transition takes place.\n * @returns The `RouteTransitionContext` needed for transitioning between routes, including `isTransitioning`, `startRouteTransition`, and `transitionProgress`.\n * @example\n * 'use client'\n * import React, { useCallback } from 'react'\n * import { useTransition, useRouter } from '@payloadcms/ui'\n *\n * const MyComponent: React.FC = () => {\n * const router = useRouter()\n * const { startRouteTransition } = useRouteTransition()\n *\n * const redirectSomewhere = useCallback(() => {\n * startRouteTransition(() => router.push('/somewhere'))\n * }, [startRouteTransition, router])\n *\n * // ...\n * }\n */\nexport const useRouteTransition = () => React.use(RouteTransitionContext)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","startTransition","useCallback","useEffect","useOptimistic","useRef","RouteTransitionProvider","t0","$","children","isOptimisticallyTransitioning","setIsOptimisticallyTransitioning","activeRouteTransitionHolds","setActiveRouteTransitionHolds","useState","transitionProgress","setTransitionProgress","isTransitioning","transitionProgressRef","timerID","t1","Symbol","for","current","setInterval","newProgress","Math","random","pow","log","initiateProgress","t2","t3","clearInterval","t4","callback","startRouteTransition","t5","hasReleased","_temp","_temp2","holdRouteTransition","t6","_jsx","RouteTransitionContext","value","createContext","undefined","useRouteTransition","use","count","count_0","max"],"sources":["../../../src/providers/RouteTransition/index.tsx"],"sourcesContent":["'use client'\nimport React, { startTransition, useCallback, useEffect, useOptimistic, useRef } from 'react'\n\n/**\n * Route transitions are useful in showing immediate visual feedback to the user when navigating between pages. This is especially useful on slow networks when navigating to data heavy or process intensive pages.\n * To use route transitions, place the `RouteTransitionProvider` at the root of your application, outside of the `ProgressBar` component.\n * To trigger a route transition, use the `Link` component from `@payloadcms/ui`,\n * or wrap a callback function with the `startRouteTransition` method.\n * To gain access to the `RouteTransitionContext`, call the `useRouteTransition` hook in your component.\n * @returns A context provider with methods and state for transitioning between routes, including `isTransitioning`, `startRouteTransition`, and `transitionProgress`.\n * @example\n * import { RouteTransitionProvider, ProgressBar, Link } from '@payloadcms/ui'\n * const App = () => (\n * <RouteTransitionProvider>\n * <ProgressBar />\n * <Link href=\"/somewhere\">Go Somewhere</Link>\n * </RouteTransitionProvider>\n * )\n */\nexport const RouteTransitionProvider: React.FC<RouteTransitionProps> = ({ children }) => {\n const [isOptimisticallyTransitioning, setIsOptimisticallyTransitioning] = useOptimistic(false)\n const [activeRouteTransitionHolds, setActiveRouteTransitionHolds] = React.useState(0)\n const [transitionProgress, setTransitionProgress] = React.useState<number>(0)\n const isTransitioning = isOptimisticallyTransitioning || activeRouteTransitionHolds > 0\n\n const transitionProgressRef = useRef(transitionProgress)\n\n const timerID = useRef(null)\n\n const initiateProgress = useCallback(() => {\n timerID.current = setInterval(() => {\n // randomly update progress using an exponential curve\n // cap the progress to ensure it never fully reaches completion\n // accelerate quickly then decelerate slowly\n const maxProgress = 0.93\n const jumpFactor = 0.2 // lower to reduce jumps in progress\n const growthFactor = 0.75 // adjust to control acceleration\n const slowdownFactor = 0.75 // adjust to control deceleration\n\n const newProgress =\n transitionProgressRef.current +\n (maxProgress - transitionProgressRef.current) *\n Math.random() *\n jumpFactor *\n Math.pow(Math.log(1 + (1 - transitionProgressRef.current) * growthFactor), slowdownFactor)\n\n setTransitionProgress(newProgress)\n transitionProgressRef.current = newProgress\n }, 250) // every n ms, update progress\n }, [])\n\n useEffect(() => {\n setTransitionProgress(0)\n transitionProgressRef.current = 0\n\n if (isTransitioning) {\n initiateProgress()\n } else {\n if (timerID.current) {\n clearInterval(timerID.current)\n }\n }\n }, [isTransitioning, initiateProgress])\n\n const startRouteTransition: StartRouteTransition = useCallback(\n (callback?: () => void) => {\n startTransition(() => {\n setIsOptimisticallyTransitioning(true)\n\n if (typeof callback === 'function') {\n callback()\n }\n })\n },\n [setIsOptimisticallyTransitioning],\n )\n\n const holdRouteTransition = useCallback(() => {\n let hasReleased = false\n\n setActiveRouteTransitionHolds((count) => count + 1)\n\n return () => {\n if (hasReleased) {\n return\n }\n\n hasReleased = true\n setActiveRouteTransitionHolds((count) => Math.max(0, count - 1))\n }\n }, [])\n\n return (\n <RouteTransitionContext\n value={{\n holdRouteTransition,\n isTransitioning,\n startRouteTransition,\n transitionProgress,\n }}\n >\n {children}\n </RouteTransitionContext>\n )\n}\n\ntype RouteTransitionProps = {\n children: React.ReactNode\n}\n\ntype StartRouteTransition = (callback?: () => void) => void\n\ntype RouteTransitionContextValue = {\n /** Keeps the transition active until the returned release function is called. */\n holdRouteTransition: () => () => void\n isTransitioning: boolean\n startRouteTransition: StartRouteTransition\n transitionProgress: number\n}\n\nconst RouteTransitionContext = React.createContext<RouteTransitionContextValue>({\n holdRouteTransition: () => () => undefined,\n isTransitioning: false,\n // Default implementation: just call the callback directly (no transition animation)\n startRouteTransition: (callback) => {\n if (typeof callback === 'function') {\n callback()\n }\n },\n transitionProgress: 0,\n})\n\n/**\n * Use this hook to access the `RouteTransitionContext` provided by the `RouteTransitionProvider`.\n * To start a transition, fire the `startRouteTransition` method with a provided callback to run while the transition takes place.\n * @returns The `RouteTransitionContext` needed for transitioning between routes, including `isTransitioning`, `startRouteTransition`, and `transitionProgress`.\n * @example\n * 'use client'\n * import React, { useCallback } from 'react'\n * import { useTransition, useRouter } from '@payloadcms/ui'\n *\n * const MyComponent: React.FC = () => {\n * const router = useRouter()\n * const { startRouteTransition } = useRouteTransition()\n *\n * const redirectSomewhere = useCallback(() => {\n * startRouteTransition(() => router.push('/somewhere'))\n * }, [startRouteTransition, router])\n *\n * // ...\n * }\n */\nexport const useRouteTransition = () => React.use(RouteTransitionContext)\n"],"mappings":"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","ignoreList":[]}
@@ -1,16 +1,17 @@
1
1
  import React from 'react';
2
+ import type { RenderTabServerFnArgs } from '../../elements/Nav/SidebarTabs/renderTabServerFn.js';
2
3
  export type SidebarTabsContextType = {
3
4
  activeTabSlug: null | string;
4
5
  /**
5
6
  * Reload the content for a specific tab, bypassing the cache.
6
7
  * Useful when the tab's data dependencies change.
7
8
  */
8
- reloadTabContent: (tabSlug: string) => void;
9
+ reloadTabContent: (tabSlug: string, serverArgs?: Partial<RenderTabServerFnArgs>) => void;
9
10
  };
10
11
  export type SidebarTabsProviderProps = {
11
12
  activeTabSlug: null | string;
12
13
  children: React.ReactNode;
13
- reloadTabContent: (tabSlug: string) => void;
14
+ reloadTabContent: (tabSlug: string, serverArgs?: Partial<RenderTabServerFnArgs>) => void;
14
15
  };
15
16
  export declare const SidebarTabsProvider: React.FC<SidebarTabsProviderProps>;
16
17
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/SidebarTabs/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAEjD,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,EAAE,IAAI,GAAG,MAAM,CAAA;IAC5B;;;OAGG;IACH,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C,CAAA;AAID,MAAM,MAAM,wBAAwB,GAAG;IACrC,aAAa,EAAE,IAAI,GAAG,MAAM,CAAA;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAQlE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAO,IAAI,GAAG,sBAExC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/SidebarTabs/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAEjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAA;AAEhG,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,EAAE,IAAI,GAAG,MAAM,CAAA;IAC5B;;;OAGG;IACH,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAAA;CACzF,CAAA;AAID,MAAM,MAAM,wBAAwB,GAAG;IACrC,aAAa,EAAE,IAAI,GAAG,MAAM,CAAA;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAAA;CACzF,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAQlE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAO,IAAI,GAAG,sBAExC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","createContext","use","SidebarTabsContext","SidebarTabsProvider","activeTabSlug","children","reloadTabContent","_jsx","value","useSidebarTabs"],"sources":["../../../src/providers/SidebarTabs/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { createContext, use } from 'react'\n\nexport type SidebarTabsContextType = {\n activeTabSlug: null | string\n /**\n * Reload the content for a specific tab, bypassing the cache.\n * Useful when the tab's data dependencies change.\n */\n reloadTabContent: (tabSlug: string) => void\n}\n\nconst SidebarTabsContext = createContext<null | SidebarTabsContextType>(null)\n\nexport type SidebarTabsProviderProps = {\n activeTabSlug: null | string\n children: React.ReactNode\n reloadTabContent: (tabSlug: string) => void\n}\n\nexport const SidebarTabsProvider: React.FC<SidebarTabsProviderProps> = ({\n activeTabSlug,\n children,\n reloadTabContent,\n}) => {\n return (\n <SidebarTabsContext value={{ activeTabSlug, reloadTabContent }}>{children}</SidebarTabsContext>\n )\n}\n\n/**\n * Hook to access sidebar tab controls.\n * Returns null if used outside of a SidebarTabsProvider (e.g., when there's only one tab).\n */\nexport const useSidebarTabs = (): null | SidebarTabsContextType => {\n return use(SidebarTabsContext)\n}\n"],"mappings":"AAAA;;;AAEA,OAAOA,KAAA,IAASC,aAAa,EAAEC,GAAG,QAAQ;AAW1C,MAAMC,kBAAA,gBAAqBF,aAAA,CAA6C;AAQxE,OAAO,MAAMG,mBAAA,GAA0DA,CAAC;EACtEC,aAAa;EACbC,QAAQ;EACRC;AAAgB,CACjB;EACC,oBACEC,IAAA,CAACL,kBAAA;IAAmBM,KAAA,EAAO;MAAEJ,aAAA;MAAeE;IAAiB;cAAID;;AAErE;AAEA;;;;AAIA,OAAO,MAAMI,cAAA,GAAiBA,CAAA;EAC5B,OAAOR,GAAA,CAAIC,kBAAA;AACb","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","createContext","use","SidebarTabsContext","SidebarTabsProvider","activeTabSlug","children","reloadTabContent","_jsx","value","useSidebarTabs"],"sources":["../../../src/providers/SidebarTabs/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { createContext, use } from 'react'\n\nimport type { RenderTabServerFnArgs } from '../../elements/Nav/SidebarTabs/renderTabServerFn.js'\n\nexport type SidebarTabsContextType = {\n activeTabSlug: null | string\n /**\n * Reload the content for a specific tab, bypassing the cache.\n * Useful when the tab's data dependencies change.\n */\n reloadTabContent: (tabSlug: string, serverArgs?: Partial<RenderTabServerFnArgs>) => void\n}\n\nconst SidebarTabsContext = createContext<null | SidebarTabsContextType>(null)\n\nexport type SidebarTabsProviderProps = {\n activeTabSlug: null | string\n children: React.ReactNode\n reloadTabContent: (tabSlug: string, serverArgs?: Partial<RenderTabServerFnArgs>) => void\n}\n\nexport const SidebarTabsProvider: React.FC<SidebarTabsProviderProps> = ({\n activeTabSlug,\n children,\n reloadTabContent,\n}) => {\n return (\n <SidebarTabsContext value={{ activeTabSlug, reloadTabContent }}>{children}</SidebarTabsContext>\n )\n}\n\n/**\n * Hook to access sidebar tab controls.\n * Returns null if used outside of a SidebarTabsProvider (e.g., when there's only one tab).\n */\nexport const useSidebarTabs = (): null | SidebarTabsContextType => {\n return use(SidebarTabsContext)\n}\n"],"mappings":"AAAA;;;AAEA,OAAOA,KAAA,IAASC,aAAa,EAAEC,GAAG,QAAQ;AAa1C,MAAMC,kBAAA,gBAAqBF,aAAA,CAA6C;AAQxE,OAAO,MAAMG,mBAAA,GAA0DA,CAAC;EACtEC,aAAa;EACbC,QAAQ;EACRC;AAAgB,CACjB;EACC,oBACEC,IAAA,CAACL,kBAAA;IAAmBM,KAAA,EAAO;MAAEJ,aAAA;MAAeE;IAAiB;cAAID;;AAErE;AAEA;;;;AAIA,OAAO,MAAMI,cAAA,GAAiBA,CAAA;EAC5B,OAAOR,GAAA,CAAIC,kBAAA;AACb","ignoreList":[]}
@@ -22,6 +22,9 @@ export type ThemeContext = {
22
22
  * scoped visual the `theme` prop sets the local theme, but setThemeoverride
23
23
  * and setHighContrastMode bubble up through each level to the root provider so
24
24
  * mutations always affect the global user preference.
25
+ *
26
+ * The ThemeProvider also reads the `?theme=light|dark|auto` query parameter and
27
+ * persists it to the theme cookie using the same mechanism as manual theme selection.
25
28
  */
26
29
  export declare const ThemeProvider: React.FC<{
27
30
  children?: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Theme/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+D,MAAM,OAAO,CAAA;AAGnF,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAA;AAEtD,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAE,CAAA;AAEnC,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,OAAO,CAAA;IACjB,gBAAgB,EAAE,OAAO,CAAA;IACzB,mBAAmB,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;IACtF,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;IACzE,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AA4DD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAgGA,CAAA;AAED,eAAO,MAAM,QAAQ,QAAO,YAA8C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Theme/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+D,MAAM,OAAO,CAAA;AAInF,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAA;AAEtD,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAE,CAAA;AAEnC,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,OAAO,CAAA;IACjB,gBAAgB,EAAE,OAAO,CAAA;IACzB,mBAAmB,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;IACtF,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;IACzE,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AA+DD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAyGA,CAAA;AAED,eAAO,MAAM,QAAQ,QAAO,YAA8C,CAAA"}
@@ -4,6 +4,7 @@ import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
5
  import React, { createContext, use, useCallback, useEffect, useState } from 'react';
6
6
  import { useConfig } from '../Config/index.js';
7
+ import { useSearchParams } from '../RouterAdapter/index.js';
7
8
  import { defaultTheme } from './shared.js';
8
9
  export { defaultTheme };
9
10
  const initialContext = {
@@ -39,6 +40,7 @@ const detectHighContrastMode = cookieKey => {
39
40
  }
40
41
  return isHighContrast;
41
42
  };
43
+ const isValidThemeParam = value => value === 'auto' || value === 'light' || value === 'dark';
42
44
  /**
43
45
  * Provides theme context to its children.
44
46
  *
@@ -49,9 +51,12 @@ const detectHighContrastMode = cookieKey => {
49
51
  * scoped visual the `theme` prop sets the local theme, but setThemeoverride
50
52
  * and setHighContrastMode bubble up through each level to the root provider so
51
53
  * mutations always affect the global user preference.
54
+ *
55
+ * The ThemeProvider also reads the `?theme=light|dark|auto` query parameter and
56
+ * persists it to the theme cookie using the same mechanism as manual theme selection.
52
57
  */
53
58
  export const ThemeProvider = t0 => {
54
- const $ = _c(30);
59
+ const $ = _c(32);
55
60
  const {
56
61
  children,
57
62
  highContrastMode: initialHighContrastMode,
@@ -65,80 +70,13 @@ export const ThemeProvider = t0 => {
65
70
  const preselectedTheme = config.admin.theme;
66
71
  const themeCookieKey = `${config.cookiePrefix || "payload"}-theme`;
67
72
  const contrastCookieKey = `${config.cookiePrefix || "payload"}-high-contrast-mode`;
73
+ const themeParam = useSearchParams().get("theme")?.toLowerCase();
68
74
  const [theme, setThemeState] = useState(themeOverride ?? defaultTheme);
69
75
  const [autoMode, setAutoMode] = useState(!isScoped);
70
76
  const [highContrastMode, setHighContrastModeState] = useState(isScoped ? outerContext.highContrastMode ?? false : initialHighContrastMode ?? false);
71
77
  let t1;
72
- if ($[0] !== isScoped || $[1] !== outerContext) {
73
- t1 = () => {
74
- if (isScoped) {
75
- setHighContrastModeState(outerContext.highContrastMode);
76
- }
77
- };
78
- $[0] = isScoped;
79
- $[1] = outerContext;
80
- $[2] = t1;
81
- } else {
82
- t1 = $[2];
83
- }
84
- const t2 = outerContext?.highContrastMode;
85
- let t3;
86
- if ($[3] !== isScoped || $[4] !== t2) {
87
- t3 = [isScoped, t2];
88
- $[3] = isScoped;
89
- $[4] = t2;
90
- $[5] = t3;
91
- } else {
92
- t3 = $[5];
93
- }
94
- useEffect(t1, t3);
95
- let t4;
96
- let t5;
97
- if ($[6] !== isScoped || $[7] !== preselectedTheme || $[8] !== themeCookieKey) {
98
- t4 = () => {
99
- if (isScoped || preselectedTheme !== "all") {
100
- return;
101
- }
102
- const {
103
- isAutoMode,
104
- theme: detectedTheme
105
- } = detectTheme(themeCookieKey);
106
- setThemeState(detectedTheme);
107
- setAutoMode(isAutoMode);
108
- };
109
- t5 = [isScoped, preselectedTheme, themeCookieKey];
110
- $[6] = isScoped;
111
- $[7] = preselectedTheme;
112
- $[8] = themeCookieKey;
113
- $[9] = t4;
114
- $[10] = t5;
115
- } else {
116
- t4 = $[9];
117
- t5 = $[10];
118
- }
119
- useEffect(t4, t5);
120
- let t6;
121
- let t7;
122
- if ($[11] !== contrastCookieKey || $[12] !== isScoped) {
123
- t6 = () => {
124
- if (isScoped) {
125
- return;
126
- }
127
- setHighContrastModeState(detectHighContrastMode(contrastCookieKey));
128
- };
129
- t7 = [isScoped, contrastCookieKey];
130
- $[11] = contrastCookieKey;
131
- $[12] = isScoped;
132
- $[13] = t6;
133
- $[14] = t7;
134
- } else {
135
- t6 = $[13];
136
- t7 = $[14];
137
- }
138
- useEffect(t6, t7);
139
- let t8;
140
- if ($[15] !== isScoped || $[16] !== outerContext || $[17] !== themeCookieKey) {
141
- t8 = (themeToSet, options) => {
78
+ if ($[0] !== isScoped || $[1] !== outerContext || $[2] !== themeCookieKey) {
79
+ t1 = (themeToSet, options) => {
142
80
  if (isScoped && !options?.scoped) {
143
81
  outerContext.setTheme(themeToSet, options);
144
82
  return;
@@ -151,17 +89,17 @@ export const ThemeProvider = t0 => {
151
89
  document.documentElement.setAttribute("data-theme", resolvedTheme);
152
90
  }
153
91
  };
154
- $[15] = isScoped;
155
- $[16] = outerContext;
156
- $[17] = themeCookieKey;
157
- $[18] = t8;
92
+ $[0] = isScoped;
93
+ $[1] = outerContext;
94
+ $[2] = themeCookieKey;
95
+ $[3] = t1;
158
96
  } else {
159
- t8 = $[18];
97
+ t1 = $[3];
160
98
  }
161
- const setTheme = t8;
162
- let t9;
163
- if ($[19] !== contrastCookieKey || $[20] !== isScoped || $[21] !== outerContext) {
164
- t9 = (isHighContrast, options_0) => {
99
+ const setTheme = t1;
100
+ let t2;
101
+ if ($[4] !== contrastCookieKey || $[5] !== isScoped || $[6] !== outerContext) {
102
+ t2 = (isHighContrast, options_0) => {
165
103
  if (isScoped && !options_0?.scoped) {
166
104
  outerContext.setHighContrastMode(isHighContrast, options_0);
167
105
  return;
@@ -176,18 +114,92 @@ export const ThemeProvider = t0 => {
176
114
  }
177
115
  }
178
116
  };
179
- $[19] = contrastCookieKey;
180
- $[20] = isScoped;
181
- $[21] = outerContext;
182
- $[22] = t9;
117
+ $[4] = contrastCookieKey;
118
+ $[5] = isScoped;
119
+ $[6] = outerContext;
120
+ $[7] = t2;
121
+ } else {
122
+ t2 = $[7];
123
+ }
124
+ const setHighContrastMode = t2;
125
+ let t3;
126
+ if ($[8] !== isScoped || $[9] !== outerContext) {
127
+ t3 = () => {
128
+ if (isScoped) {
129
+ setHighContrastModeState(outerContext.highContrastMode);
130
+ }
131
+ };
132
+ $[8] = isScoped;
133
+ $[9] = outerContext;
134
+ $[10] = t3;
135
+ } else {
136
+ t3 = $[10];
137
+ }
138
+ const t4 = outerContext?.highContrastMode;
139
+ let t5;
140
+ if ($[11] !== isScoped || $[12] !== t4) {
141
+ t5 = [isScoped, t4];
142
+ $[11] = isScoped;
143
+ $[12] = t4;
144
+ $[13] = t5;
145
+ } else {
146
+ t5 = $[13];
147
+ }
148
+ useEffect(t3, t5);
149
+ let t6;
150
+ let t7;
151
+ if ($[14] !== isScoped || $[15] !== preselectedTheme || $[16] !== setTheme || $[17] !== themeCookieKey || $[18] !== themeParam) {
152
+ t6 = () => {
153
+ if (isScoped || preselectedTheme !== "all") {
154
+ return;
155
+ }
156
+ if (isValidThemeParam(themeParam)) {
157
+ setTheme(themeParam);
158
+ return;
159
+ }
160
+ const {
161
+ isAutoMode,
162
+ theme: detectedTheme
163
+ } = detectTheme(themeCookieKey);
164
+ setThemeState(detectedTheme);
165
+ setAutoMode(isAutoMode);
166
+ };
167
+ t7 = [isScoped, preselectedTheme, themeCookieKey, themeParam, setTheme];
168
+ $[14] = isScoped;
169
+ $[15] = preselectedTheme;
170
+ $[16] = setTheme;
171
+ $[17] = themeCookieKey;
172
+ $[18] = themeParam;
173
+ $[19] = t6;
174
+ $[20] = t7;
175
+ } else {
176
+ t6 = $[19];
177
+ t7 = $[20];
178
+ }
179
+ useEffect(t6, t7);
180
+ let t8;
181
+ let t9;
182
+ if ($[21] !== contrastCookieKey || $[22] !== isScoped) {
183
+ t8 = () => {
184
+ if (isScoped) {
185
+ return;
186
+ }
187
+ setHighContrastModeState(detectHighContrastMode(contrastCookieKey));
188
+ };
189
+ t9 = [isScoped, contrastCookieKey];
190
+ $[21] = contrastCookieKey;
191
+ $[22] = isScoped;
192
+ $[23] = t8;
193
+ $[24] = t9;
183
194
  } else {
184
- t9 = $[22];
195
+ t8 = $[23];
196
+ t9 = $[24];
185
197
  }
186
- const setHighContrastMode = t9;
198
+ useEffect(t8, t9);
187
199
  const t10 = isScoped ? outerContext.autoMode : autoMode;
188
200
  const t11 = isScoped ? outerContext.theme : theme;
189
201
  let t12;
190
- if ($[23] !== children || $[24] !== highContrastMode || $[25] !== setHighContrastMode || $[26] !== setTheme || $[27] !== t10 || $[28] !== t11) {
202
+ if ($[25] !== children || $[26] !== highContrastMode || $[27] !== setHighContrastMode || $[28] !== setTheme || $[29] !== t10 || $[30] !== t11) {
191
203
  t12 = _jsx(Context, {
192
204
  value: {
193
205
  autoMode: t10,
@@ -198,15 +210,15 @@ export const ThemeProvider = t0 => {
198
210
  },
199
211
  children
200
212
  });
201
- $[23] = children;
202
- $[24] = highContrastMode;
203
- $[25] = setHighContrastMode;
204
- $[26] = setTheme;
205
- $[27] = t10;
206
- $[28] = t11;
207
- $[29] = t12;
213
+ $[25] = children;
214
+ $[26] = highContrastMode;
215
+ $[27] = setHighContrastMode;
216
+ $[28] = setTheme;
217
+ $[29] = t10;
218
+ $[30] = t11;
219
+ $[31] = t12;
208
220
  } else {
209
- t12 = $[29];
221
+ t12 = $[31];
210
222
  }
211
223
  return t12;
212
224
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","createContext","use","useCallback","useEffect","useState","useConfig","defaultTheme","initialContext","autoMode","highContrastMode","setHighContrastMode","setTheme","theme","Context","undefined","setCookie","cname","cvalue","exdays","d","Date","setTime","getTime","expires","toUTCString","document","cookie","detectTheme","cookieKey","fromCookie","window","split","find","row","startsWith","matchMedia","matches","documentElement","setAttribute","isAutoMode","detectHighContrastMode","isHighContrast","removeAttribute","ThemeProvider","t0","$","children","initialHighContrastMode","themeOverride","outerContext","isScoped","config","preselectedTheme","admin","themeCookieKey","cookiePrefix","contrastCookieKey","setThemeState","setAutoMode","setHighContrastModeState","t1","t2","t3","t4","t5","detectedTheme","t6","t7","t8","themeToSet","options","scoped","resolvedTheme","t9","options_0","String","t10","t11","t12","_jsx","value","useTheme"],"sources":["../../../src/providers/Theme/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, use, useCallback, useEffect, useState } from 'react'\n\nimport { useConfig } from '../Config/index.js'\nimport { defaultTheme, type Theme } from './shared.js'\n\nexport { defaultTheme, type Theme }\n\nexport type ThemeContext = {\n autoMode: boolean\n highContrastMode: boolean\n setHighContrastMode: (isHighContrast: boolean, options?: { scoped?: boolean }) => void\n setTheme: (theme: 'auto' | Theme, options?: { scoped?: boolean }) => void\n theme: Theme\n}\n\nconst initialContext: ThemeContext = {\n autoMode: true,\n highContrastMode: false,\n setHighContrastMode: () => null,\n setTheme: () => null,\n theme: 'light',\n}\n\nconst Context = createContext<ThemeContext | undefined>(undefined)\n\nfunction setCookie(cname: string, cvalue: string, exdays: number) {\n const d = new Date()\n d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000)\n const expires = 'expires=' + d.toUTCString()\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/'\n}\n\nconst detectTheme = (cookieKey: string): { isAutoMode: boolean; theme: Theme } => {\n const fromCookie = window.document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${cookieKey}=`))\n ?.split('=')[1]\n\n const theme: Theme =\n fromCookie === 'light' || fromCookie === 'dark'\n ? fromCookie\n : window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n\n document.documentElement.setAttribute('data-theme', theme)\n\n return { isAutoMode: fromCookie !== 'light' && fromCookie !== 'dark', theme }\n}\n\nconst detectHighContrastMode = (cookieKey: string): boolean => {\n const fromCookie =\n window.document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${cookieKey}=`))\n ?.split('=')[1] ?? null\n\n const isHighContrast =\n fromCookie === 'true'\n ? true\n : fromCookie === 'false'\n ? false\n : !!(window.matchMedia && window.matchMedia('(prefers-contrast: more)').matches)\n\n if (isHighContrast) {\n document.documentElement.setAttribute('data-enhanced-contrast', '')\n } else {\n document.documentElement.removeAttribute('data-enhanced-contrast')\n }\n\n return isHighContrast\n}\n\n/**\n * Provides theme context to its children.\n *\n * At the root (no parent ThemeProvider): reads/writes cookies, responds to\n * OS preference, owns setTheme and setHighContrastMode.\n *\n * When nested inside another ThemeProvider (e.g. inside a Popup): acts as a\n * scoped visual the `theme` prop sets the local theme, but setThemeoverride\n * and setHighContrastMode bubble up through each level to the root provider so\n * mutations always affect the global user preference.\n */\nexport const ThemeProvider: React.FC<{\n children?: React.ReactNode\n highContrastMode?: boolean\n theme?: Theme\n}> = ({ children, highContrastMode: initialHighContrastMode, theme: themeOverride }) => {\n const outerContext = use(Context)\n const isScoped = outerContext !== undefined\n\n const { config } = useConfig()\n const preselectedTheme = config.admin.theme\n const themeCookieKey = `${config.cookiePrefix || 'payload'}-theme`\n const contrastCookieKey = `${config.cookiePrefix || 'payload'}-high-contrast-mode`\n\n const [theme, setThemeState] = useState<Theme>(themeOverride ?? defaultTheme)\n const [autoMode, setAutoMode] = useState<boolean>(!isScoped)\n const [highContrastMode, setHighContrastModeState] = useState<boolean>(\n isScoped ? (outerContext.highContrastMode ?? false) : (initialHighContrastMode ?? false),\n )\n\n // Keep highContrastMode in sync with the outer provider when scoped.\n useEffect(() => {\n if (isScoped) {\n setHighContrastModeState(outerContext.highContrastMode)\n }\n }, [isScoped, outerContext?.highContrastMode])\n\n useEffect(() => {\n if (isScoped || preselectedTheme !== 'all') {\n return\n }\n const { isAutoMode, theme: detectedTheme } = detectTheme(themeCookieKey)\n setThemeState(detectedTheme)\n setAutoMode(isAutoMode)\n }, [isScoped, preselectedTheme, themeCookieKey])\n\n useEffect(() => {\n if (isScoped) {\n return\n }\n setHighContrastModeState(detectHighContrastMode(contrastCookieKey))\n }, [isScoped, contrastCookieKey])\n\n // Setters bubble up to the root provider by default. Pass { scoped: true }\n // to update only the local (scoped) theme without affecting global state.\n const setTheme = useCallback(\n (themeToSet: 'auto' | Theme, options?: { scoped?: boolean }) => {\n if (isScoped && !options?.scoped) {\n outerContext.setTheme(themeToSet, options)\n return\n }\n const resolvedTheme: Theme =\n themeToSet === 'auto'\n ? window.matchMedia?.('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n : themeToSet\n\n setThemeState(resolvedTheme)\n setAutoMode(themeToSet === 'auto')\n\n if (!isScoped) {\n setCookie(themeCookieKey, themeToSet, themeToSet === 'auto' ? -1 : 365)\n document.documentElement.setAttribute('data-theme', resolvedTheme)\n }\n },\n [isScoped, outerContext, themeCookieKey],\n )\n\n const setHighContrastMode = useCallback(\n (isHighContrast: boolean, options?: { scoped?: boolean }) => {\n if (isScoped && !options?.scoped) {\n outerContext.setHighContrastMode(isHighContrast, options)\n return\n }\n setHighContrastModeState(isHighContrast)\n if (!isScoped) {\n setCookie(contrastCookieKey, String(isHighContrast), 365)\n if (isHighContrast) {\n document.documentElement.setAttribute('data-enhanced-contrast', '')\n } else {\n document.documentElement.removeAttribute('data-enhanced-contrast')\n }\n }\n },\n [isScoped, outerContext, contrastCookieKey],\n )\n\n return (\n <Context\n value={{\n autoMode: isScoped ? outerContext.autoMode : autoMode,\n highContrastMode,\n setHighContrastMode,\n setTheme,\n theme: isScoped ? outerContext.theme : theme,\n }}\n >\n {children}\n </Context>\n )\n}\n\nexport const useTheme = (): ThemeContext => use(Context) ?? initialContext\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","createContext","use","useCallback","useEffect","useState","useConfig","useSearchParams","defaultTheme","initialContext","autoMode","highContrastMode","setHighContrastMode","setTheme","theme","Context","undefined","setCookie","cname","cvalue","exdays","d","Date","setTime","getTime","expires","toUTCString","document","cookie","detectTheme","cookieKey","fromCookie","window","split","find","row","startsWith","matchMedia","matches","documentElement","setAttribute","isAutoMode","detectHighContrastMode","isHighContrast","removeAttribute","isValidThemeParam","value","ThemeProvider","t0","$","children","initialHighContrastMode","themeOverride","outerContext","isScoped","config","preselectedTheme","admin","themeCookieKey","cookiePrefix","contrastCookieKey","themeParam","get","toLowerCase","setThemeState","setAutoMode","setHighContrastModeState","t1","themeToSet","options","scoped","resolvedTheme","t2","options_0","String","t3","t4","t5","t6","t7","detectedTheme","t8","t9","t10","t11","t12","_jsx","useTheme"],"sources":["../../../src/providers/Theme/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, use, useCallback, useEffect, useState } from 'react'\n\nimport { useConfig } from '../Config/index.js'\nimport { useSearchParams } from '../RouterAdapter/index.js'\nimport { defaultTheme, type Theme } from './shared.js'\n\nexport { defaultTheme, type Theme }\n\nexport type ThemeContext = {\n autoMode: boolean\n highContrastMode: boolean\n setHighContrastMode: (isHighContrast: boolean, options?: { scoped?: boolean }) => void\n setTheme: (theme: 'auto' | Theme, options?: { scoped?: boolean }) => void\n theme: Theme\n}\n\nconst initialContext: ThemeContext = {\n autoMode: true,\n highContrastMode: false,\n setHighContrastMode: () => null,\n setTheme: () => null,\n theme: 'light',\n}\n\nconst Context = createContext<ThemeContext | undefined>(undefined)\n\nfunction setCookie(cname: string, cvalue: string, exdays: number) {\n const d = new Date()\n d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000)\n const expires = 'expires=' + d.toUTCString()\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/'\n}\n\nconst detectTheme = (cookieKey: string): { isAutoMode: boolean; theme: Theme } => {\n const fromCookie = window.document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${cookieKey}=`))\n ?.split('=')[1]\n\n const theme: Theme =\n fromCookie === 'light' || fromCookie === 'dark'\n ? fromCookie\n : window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n\n document.documentElement.setAttribute('data-theme', theme)\n\n return { isAutoMode: fromCookie !== 'light' && fromCookie !== 'dark', theme }\n}\n\nconst detectHighContrastMode = (cookieKey: string): boolean => {\n const fromCookie =\n window.document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${cookieKey}=`))\n ?.split('=')[1] ?? null\n\n const isHighContrast =\n fromCookie === 'true'\n ? true\n : fromCookie === 'false'\n ? false\n : !!(window.matchMedia && window.matchMedia('(prefers-contrast: more)').matches)\n\n if (isHighContrast) {\n document.documentElement.setAttribute('data-enhanced-contrast', '')\n } else {\n document.documentElement.removeAttribute('data-enhanced-contrast')\n }\n\n return isHighContrast\n}\n\nconst isValidThemeParam = (value: null | string): value is 'auto' | Theme =>\n value === 'auto' || value === 'light' || value === 'dark'\n\n/**\n * Provides theme context to its children.\n *\n * At the root (no parent ThemeProvider): reads/writes cookies, responds to\n * OS preference, owns setTheme and setHighContrastMode.\n *\n * When nested inside another ThemeProvider (e.g. inside a Popup): acts as a\n * scoped visual the `theme` prop sets the local theme, but setThemeoverride\n * and setHighContrastMode bubble up through each level to the root provider so\n * mutations always affect the global user preference.\n *\n * The ThemeProvider also reads the `?theme=light|dark|auto` query parameter and\n * persists it to the theme cookie using the same mechanism as manual theme selection.\n */\nexport const ThemeProvider: React.FC<{\n children?: React.ReactNode\n highContrastMode?: boolean\n theme?: Theme\n}> = ({ children, highContrastMode: initialHighContrastMode, theme: themeOverride }) => {\n const outerContext = use(Context)\n const isScoped = outerContext !== undefined\n\n const { config } = useConfig()\n const preselectedTheme = config.admin.theme\n const themeCookieKey = `${config.cookiePrefix || 'payload'}-theme`\n const contrastCookieKey = `${config.cookiePrefix || 'payload'}-high-contrast-mode`\n\n const themeParam = useSearchParams().get('theme')?.toLowerCase()\n\n const [theme, setThemeState] = useState<Theme>(themeOverride ?? defaultTheme)\n const [autoMode, setAutoMode] = useState<boolean>(!isScoped)\n const [highContrastMode, setHighContrastModeState] = useState<boolean>(\n isScoped ? (outerContext.highContrastMode ?? false) : (initialHighContrastMode ?? false),\n )\n\n // Setters bubble up to the root provider by default. Pass { scoped: true }\n // to update only the local (scoped) theme without affecting global state.\n const setTheme = useCallback(\n (themeToSet: 'auto' | Theme, options?: { scoped?: boolean }) => {\n if (isScoped && !options?.scoped) {\n outerContext.setTheme(themeToSet, options)\n return\n }\n const resolvedTheme: Theme =\n themeToSet === 'auto'\n ? window.matchMedia?.('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n : themeToSet\n\n setThemeState(resolvedTheme)\n setAutoMode(themeToSet === 'auto')\n\n if (!isScoped) {\n setCookie(themeCookieKey, themeToSet, themeToSet === 'auto' ? -1 : 365)\n document.documentElement.setAttribute('data-theme', resolvedTheme)\n }\n },\n [isScoped, outerContext, themeCookieKey],\n )\n\n const setHighContrastMode = useCallback(\n (isHighContrast: boolean, options?: { scoped?: boolean }) => {\n if (isScoped && !options?.scoped) {\n outerContext.setHighContrastMode(isHighContrast, options)\n return\n }\n setHighContrastModeState(isHighContrast)\n if (!isScoped) {\n setCookie(contrastCookieKey, String(isHighContrast), 365)\n if (isHighContrast) {\n document.documentElement.setAttribute('data-enhanced-contrast', '')\n } else {\n document.documentElement.removeAttribute('data-enhanced-contrast')\n }\n }\n },\n [isScoped, outerContext, contrastCookieKey],\n )\n\n // Keep highContrastMode in sync with the outer provider when scoped.\n useEffect(() => {\n if (isScoped) {\n setHighContrastModeState(outerContext.highContrastMode)\n }\n }, [isScoped, outerContext?.highContrastMode])\n\n // Resolve the root theme: a valid `?theme` param wins (applied via setTheme so\n // it persists to the theme cookie exactly like a manual selection; otherwise\n // fall back to the cookie or OS preference.\n useEffect(() => {\n if (isScoped || preselectedTheme !== 'all') {\n return\n }\n if (isValidThemeParam(themeParam)) {\n setTheme(themeParam)\n return\n }\n const { isAutoMode, theme: detectedTheme } = detectTheme(themeCookieKey)\n setThemeState(detectedTheme)\n setAutoMode(isAutoMode)\n }, [isScoped, preselectedTheme, themeCookieKey, themeParam, setTheme])\n\n useEffect(() => {\n if (isScoped) {\n return\n }\n setHighContrastModeState(detectHighContrastMode(contrastCookieKey))\n }, [isScoped, contrastCookieKey])\n\n return (\n <Context\n value={{\n autoMode: isScoped ? outerContext.autoMode : autoMode,\n highContrastMode,\n setHighContrastMode,\n setTheme,\n theme: isScoped ? outerContext.theme : theme,\n }}\n >\n {children}\n </Context>\n )\n}\n\nexport const useTheme = (): ThemeContext => use(Context) ?? initialContext\n"],"mappings":"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","ignoreList":[]}