@payloadcms/ui 4.0.0-canary.37 → 4.0.0-canary.38

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 (1231) hide show
  1. package/dist/css/app.css +1 -1
  2. package/dist/css/forms.css +0 -1
  3. package/dist/css/spacing.css +1 -1
  4. package/dist/css/typography.css +161 -55
  5. package/dist/elements/APIKeyInput/index.css +2 -2
  6. package/dist/elements/AddNewRelation/index.css +0 -4
  7. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  8. package/dist/elements/AddNewRelation/index.js +3 -2
  9. package/dist/elements/AddNewRelation/index.js.map +1 -1
  10. package/dist/elements/AppHeader/index.css +4 -0
  11. package/dist/elements/AppHeader/index.d.ts +1 -8
  12. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  13. package/dist/elements/AppHeader/index.js +10 -19
  14. package/dist/elements/AppHeader/index.js.map +1 -1
  15. package/dist/elements/ArrayAction/index.d.ts +1 -0
  16. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  17. package/dist/elements/ArrayAction/index.js +35 -32
  18. package/dist/elements/ArrayAction/index.js.map +1 -1
  19. package/dist/elements/Banner/index.css +3 -4
  20. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  21. package/dist/elements/BulkUpload/ActionsBar/index.js +12 -10
  22. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/AddFilesView/index.css +5 -0
  24. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  25. package/dist/elements/BulkUpload/AddFilesView/index.js +49 -8
  26. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  27. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  28. package/dist/elements/BulkUpload/AddingFilesView/index.js +25 -20
  29. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/EditMany/index.css +4 -5
  31. package/dist/elements/BulkUpload/FileSidebar/index.css +0 -1
  32. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  33. package/dist/elements/BulkUpload/FileSidebar/index.js +29 -36
  34. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  35. package/dist/elements/BulkUpload/FormsManager/index.d.ts +2 -1
  36. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  37. package/dist/elements/BulkUpload/FormsManager/index.js +175 -60
  38. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  39. package/dist/elements/BulkUpload/useUploadCollectionOptions.d.ts +6 -0
  40. package/dist/elements/BulkUpload/useUploadCollectionOptions.d.ts.map +1 -0
  41. package/dist/elements/BulkUpload/useUploadCollectionOptions.js +74 -0
  42. package/dist/elements/BulkUpload/useUploadCollectionOptions.js.map +1 -0
  43. package/dist/elements/Button/index.css +31 -1
  44. package/dist/elements/Button/index.d.ts.map +1 -1
  45. package/dist/elements/Button/index.js +11 -0
  46. package/dist/elements/Button/index.js.map +1 -1
  47. package/dist/elements/Button/types.d.ts +8 -3
  48. package/dist/elements/Button/types.d.ts.map +1 -1
  49. package/dist/elements/Button/types.js.map +1 -1
  50. package/dist/elements/Card/index.css +7 -8
  51. package/dist/elements/CardGrid/index.css +20 -0
  52. package/dist/elements/CardGrid/index.d.ts +13 -0
  53. package/dist/elements/CardGrid/index.d.ts.map +1 -0
  54. package/dist/elements/CardGrid/index.js +23 -0
  55. package/dist/elements/CardGrid/index.js.map +1 -0
  56. package/dist/elements/Chip/index.css +0 -1
  57. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  58. package/dist/elements/ClipboardAction/index.js +1 -0
  59. package/dist/elements/ClipboardAction/index.js.map +1 -1
  60. package/dist/elements/CollapseAllToggle/index.d.ts +3 -0
  61. package/dist/elements/CollapseAllToggle/index.d.ts.map +1 -1
  62. package/dist/elements/CollapseAllToggle/index.js +36 -22
  63. package/dist/elements/CollapseAllToggle/index.js.map +1 -1
  64. package/dist/elements/Collapsible/index.css +4 -1
  65. package/dist/elements/Collapsible/index.d.ts +2 -0
  66. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  67. package/dist/elements/Collapsible/index.js +67 -46
  68. package/dist/elements/Collapsible/index.js.map +1 -1
  69. package/dist/elements/ColumnSelection/Popup.css +14 -11
  70. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
  71. package/dist/elements/ColumnSelection/Popup.js +22 -14
  72. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  73. package/dist/elements/ColumnSelection/index.d.ts.map +1 -1
  74. package/dist/elements/ColumnSelection/index.js +59 -55
  75. package/dist/elements/ColumnSelection/index.js.map +1 -1
  76. package/dist/elements/Combobox/index.d.ts.map +1 -1
  77. package/dist/elements/Combobox/index.js +2 -0
  78. package/dist/elements/Combobox/index.js.map +1 -1
  79. package/dist/elements/CommandPalette/index.css +3 -8
  80. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  81. package/dist/elements/CopyLocaleData/index.js +1 -0
  82. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  83. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  84. package/dist/elements/CopyToClipboard/index.js +62 -54
  85. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  86. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  87. package/dist/elements/CreateDocumentButton/index.js +57 -33
  88. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  89. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  90. package/dist/elements/DatePicker/DatePicker.js +188 -85
  91. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  92. package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts +8 -0
  93. package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts.map +1 -0
  94. package/dist/elements/DatePicker/hasAmbiguousYearInput.js +37 -0
  95. package/dist/elements/DatePicker/hasAmbiguousYearInput.js.map +1 -0
  96. package/dist/elements/DatePicker/index.css +32 -17
  97. package/dist/elements/DatePicker/useDatePickerKeyboard.d.ts +18 -0
  98. package/dist/elements/DatePicker/useDatePickerKeyboard.d.ts.map +1 -0
  99. package/dist/elements/DatePicker/useDatePickerKeyboard.js +212 -0
  100. package/dist/elements/DatePicker/useDatePickerKeyboard.js.map +1 -0
  101. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  102. package/dist/elements/DefaultListViewTabs/index.js +9 -7
  103. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  104. package/dist/elements/Dialog/DialogModal/index.d.ts +1 -1
  105. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  106. package/dist/elements/Dialog/DialogModal/index.js +40 -28
  107. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  108. package/dist/elements/Dialog/DialogTitle/index.css +1 -1
  109. package/dist/elements/Dialog/index.css +1 -2
  110. package/dist/elements/DocumentCard/index.css +73 -0
  111. package/dist/elements/DocumentCard/index.d.ts +18 -0
  112. package/dist/elements/DocumentCard/index.d.ts.map +1 -0
  113. package/dist/elements/DocumentCard/index.js +182 -0
  114. package/dist/elements/DocumentCard/index.js.map +1 -0
  115. package/dist/elements/DocumentControls/index.css +1 -5
  116. package/dist/elements/DocumentControls/index.d.ts +4 -2
  117. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  118. package/dist/elements/DocumentControls/index.js +1 -0
  119. package/dist/elements/DocumentControls/index.js.map +1 -1
  120. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +4 -7
  121. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +2 -2
  122. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  123. package/dist/elements/DocumentDrawer/types.d.ts +1 -1
  124. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  125. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  126. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.css +40 -0
  127. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.d.ts +4 -0
  128. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.d.ts.map +1 -0
  129. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.js +88 -0
  130. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.js.map +1 -0
  131. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  132. package/dist/elements/DocumentFields/index.js +2 -1
  133. package/dist/elements/DocumentFields/index.js.map +1 -1
  134. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  135. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +0 -1
  136. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  137. package/dist/elements/DocumentHeader/index.css +1 -1
  138. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +1 -1
  139. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
  140. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  141. package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
  142. package/dist/elements/DraggableSortable/index.js +13 -10
  143. package/dist/elements/DraggableSortable/index.js.map +1 -1
  144. package/dist/elements/DraggableSortable/types.d.ts +1 -0
  145. package/dist/elements/DraggableSortable/types.d.ts.map +1 -1
  146. package/dist/elements/DraggableSortable/types.js.map +1 -1
  147. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  148. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +11 -8
  149. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  150. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts +1 -0
  151. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts.map +1 -1
  152. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  153. package/dist/elements/Drawer/index.css +4 -5
  154. package/dist/elements/Drawer/index.d.ts.map +1 -1
  155. package/dist/elements/Drawer/index.js +3 -1
  156. package/dist/elements/Drawer/index.js.map +1 -1
  157. package/dist/elements/Drawer/types.d.ts +2 -2
  158. package/dist/elements/Drawer/types.d.ts.map +1 -1
  159. package/dist/elements/Drawer/types.js.map +1 -1
  160. package/dist/elements/Dropzone/index.d.ts +2 -1
  161. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  162. package/dist/elements/Dropzone/index.js +9 -10
  163. package/dist/elements/Dropzone/index.js.map +1 -1
  164. package/dist/elements/EditMany/index.css +4 -5
  165. package/dist/elements/EditUpload/index.css +4 -4
  166. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  167. package/dist/elements/EditUpload/index.js +66 -14
  168. package/dist/elements/EditUpload/index.js.map +1 -1
  169. package/dist/elements/ErrorPill/index.css +0 -1
  170. package/dist/elements/FieldDiffContainer/index.css +0 -1
  171. package/dist/elements/FieldDiffContainer/index.js +1 -1
  172. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  173. package/dist/elements/FieldDiffLabel/index.css +4 -5
  174. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  175. package/dist/elements/FieldSelect/index.js +41 -24
  176. package/dist/elements/FieldSelect/index.js.map +1 -1
  177. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts +5 -1
  178. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  179. package/dist/elements/FieldSelect/reduceFieldOptions.js +24 -4
  180. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  181. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  182. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  183. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  184. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  185. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  186. package/dist/elements/FileDetails/FileMeta/index.js +41 -21
  187. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  188. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +1 -1
  189. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  190. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  191. package/dist/elements/FileDetails/index.d.ts +1 -1
  192. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  193. package/dist/elements/FileDetails/index.js.map +1 -1
  194. package/dist/elements/FileManager/FilePreview/index.css +2 -3
  195. package/dist/elements/FileManager/FilePreview/index.js +4 -4
  196. package/dist/elements/FileManager/FilePreview/index.js.map +1 -1
  197. package/dist/elements/FileManager/FileToolbar/index.css +2 -3
  198. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
  199. package/dist/elements/FileManager/FileToolbar/index.js +1 -0
  200. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
  201. package/dist/elements/FileManager/index.css +0 -1
  202. package/dist/elements/FileManager/index.d.ts.map +1 -1
  203. package/dist/elements/FileManager/index.js +199 -177
  204. package/dist/elements/FileManager/index.js.map +1 -1
  205. package/dist/elements/FilterTrigger/index.d.ts +5 -1
  206. package/dist/elements/FilterTrigger/index.d.ts.map +1 -1
  207. package/dist/elements/FilterTrigger/index.js +6 -0
  208. package/dist/elements/FilterTrigger/index.js.map +1 -1
  209. package/dist/elements/FormHeader/index.css +0 -2
  210. package/dist/elements/FullscreenModal/index.d.ts.map +1 -1
  211. package/dist/elements/FullscreenModal/index.js +1 -1
  212. package/dist/elements/FullscreenModal/index.js.map +1 -1
  213. package/dist/elements/GroupBy/Popup.css +3 -6
  214. package/dist/elements/GroupBy/Popup.d.ts.map +1 -1
  215. package/dist/elements/GroupBy/Popup.js +74 -45
  216. package/dist/elements/GroupBy/Popup.js.map +1 -1
  217. package/dist/elements/GroupBy/index.d.ts.map +1 -1
  218. package/dist/elements/GroupBy/index.js +2 -0
  219. package/dist/elements/GroupBy/index.js.map +1 -1
  220. package/dist/elements/HTMLDiff/index.css +0 -1
  221. package/dist/elements/HTMLDiff/index.d.ts +3 -1
  222. package/dist/elements/HTMLDiff/index.d.ts.map +1 -1
  223. package/dist/elements/HTMLDiff/index.js +9 -3
  224. package/dist/elements/HTMLDiff/index.js.map +1 -1
  225. package/dist/elements/Hierarchy/ActionsMenu/index.css +18 -0
  226. package/dist/elements/Hierarchy/ActionsMenu/index.d.ts +35 -0
  227. package/dist/elements/Hierarchy/ActionsMenu/index.d.ts.map +1 -0
  228. package/dist/elements/Hierarchy/ActionsMenu/index.js +99 -0
  229. package/dist/elements/Hierarchy/ActionsMenu/index.js.map +1 -0
  230. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +3 -0
  231. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -1
  232. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +63 -48
  233. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  234. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  235. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +47 -36
  236. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  237. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  238. package/dist/elements/Hierarchy/ColumnBrowser/index.js +15 -58
  239. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  240. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +2 -0
  241. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  242. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  243. package/dist/elements/Hierarchy/DocHeaderButton/index.css +12 -0
  244. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  245. package/dist/elements/Hierarchy/DocHeaderButton/index.js +88 -13
  246. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  247. package/dist/elements/Hierarchy/EditButton/index.d.ts +8 -0
  248. package/dist/elements/Hierarchy/EditButton/index.d.ts.map +1 -0
  249. package/dist/elements/Hierarchy/EditButton/index.js +93 -0
  250. package/dist/elements/Hierarchy/EditButton/index.js.map +1 -0
  251. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts +9 -0
  252. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts.map +1 -0
  253. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js +41 -0
  254. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js.map +1 -0
  255. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  256. package/dist/elements/Hierarchy/Field/index.client.js +120 -105
  257. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  258. package/dist/elements/Hierarchy/Field/index.css +0 -1
  259. package/dist/elements/Hierarchy/Field/index.server.d.ts +3 -2
  260. package/dist/elements/Hierarchy/Field/index.server.d.ts.map +1 -1
  261. package/dist/elements/Hierarchy/Field/index.server.js.map +1 -1
  262. package/dist/elements/Hierarchy/Modal/Footer/index.css +33 -0
  263. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +21 -0
  264. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
  265. package/dist/elements/Hierarchy/Modal/Footer/index.js +122 -0
  266. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
  267. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +8 -3
  268. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  269. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +38 -12
  270. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  271. package/dist/elements/Hierarchy/Modal/index.css +0 -56
  272. package/dist/elements/Hierarchy/Modal/index.d.ts +5 -3
  273. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  274. package/dist/elements/Hierarchy/Modal/index.js +90 -102
  275. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  276. package/dist/elements/Hierarchy/Modal/selection.d.ts +12 -0
  277. package/dist/elements/Hierarchy/Modal/selection.d.ts.map +1 -0
  278. package/dist/elements/Hierarchy/Modal/selection.js +40 -0
  279. package/dist/elements/Hierarchy/Modal/selection.js.map +1 -0
  280. package/dist/elements/Hierarchy/Modal/types.d.ts +4 -0
  281. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
  282. package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
  283. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -1
  284. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js +1 -1
  285. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -1
  286. package/dist/elements/Hierarchy/MoveMany/index.d.ts +3 -3
  287. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  288. package/dist/elements/Hierarchy/MoveMany/index.js +79 -92
  289. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  290. package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
  291. package/dist/elements/Hierarchy/Search/index.js +17 -7
  292. package/dist/elements/Hierarchy/Search/index.js.map +1 -1
  293. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  294. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +7 -1
  295. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  296. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +2 -1
  297. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  298. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +30 -28
  299. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  300. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  301. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +6 -2
  302. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  303. package/dist/elements/Hierarchy/Tree/index.css +3 -1
  304. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  305. package/dist/elements/Hierarchy/Tree/index.js +25 -26
  306. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  307. package/dist/elements/HydratePreferences/index.d.ts +8 -0
  308. package/dist/elements/HydratePreferences/index.d.ts.map +1 -0
  309. package/dist/elements/HydratePreferences/index.js +34 -0
  310. package/dist/elements/HydratePreferences/index.js.map +1 -0
  311. package/dist/elements/IDLabel/index.css +5 -7
  312. package/dist/elements/IframeLoader/index.d.ts.map +1 -1
  313. package/dist/elements/IframeLoader/index.js +34 -6
  314. package/dist/elements/IframeLoader/index.js.map +1 -1
  315. package/dist/elements/ItemsDrawer/ItemSearch/index.css +0 -1
  316. package/dist/elements/ItemsDrawer/index.d.ts.map +1 -1
  317. package/dist/elements/ItemsDrawer/index.js +23 -1
  318. package/dist/elements/ItemsDrawer/index.js.map +1 -1
  319. package/dist/elements/LLMInstructionsCell/index.css +11 -0
  320. package/dist/elements/LLMInstructionsCell/index.d.ts +5 -0
  321. package/dist/elements/LLMInstructionsCell/index.d.ts.map +1 -0
  322. package/dist/elements/LLMInstructionsCell/index.js +24 -0
  323. package/dist/elements/LLMInstructionsCell/index.js.map +1 -0
  324. package/dist/elements/LLMInstructionsDescription/index.css +79 -0
  325. package/dist/elements/LLMInstructionsDescription/index.d.ts +6 -0
  326. package/dist/elements/LLMInstructionsDescription/index.d.ts.map +1 -0
  327. package/dist/elements/LLMInstructionsDescription/index.js +40 -0
  328. package/dist/elements/LLMInstructionsDescription/index.js.map +1 -0
  329. package/dist/elements/LLMInstructionsMenuItem/index.d.ts +5 -0
  330. package/dist/elements/LLMInstructionsMenuItem/index.d.ts.map +1 -0
  331. package/dist/elements/LLMInstructionsMenuItem/index.js +46 -0
  332. package/dist/elements/LLMInstructionsMenuItem/index.js.map +1 -0
  333. package/dist/elements/LayoutToggle/index.d.ts +8 -0
  334. package/dist/elements/LayoutToggle/index.d.ts.map +1 -0
  335. package/dist/elements/LayoutToggle/index.js +56 -0
  336. package/dist/elements/LayoutToggle/index.js.map +1 -0
  337. package/dist/elements/Link/index.d.ts.map +1 -1
  338. package/dist/elements/Link/index.js +3 -0
  339. package/dist/elements/Link/index.js.map +1 -1
  340. package/dist/elements/ListControls/index.d.ts.map +1 -1
  341. package/dist/elements/ListControls/index.js +6 -2
  342. package/dist/elements/ListControls/index.js.map +1 -1
  343. package/dist/elements/ListControls/types.d.ts +1 -0
  344. package/dist/elements/ListControls/types.d.ts.map +1 -1
  345. package/dist/elements/ListControls/types.js.map +1 -1
  346. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  347. package/dist/elements/ListDrawer/DrawerContent.js +1 -1
  348. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  349. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  350. package/dist/elements/ListDrawer/index.js +1 -1
  351. package/dist/elements/ListDrawer/index.js.map +1 -1
  352. package/dist/elements/ListDrawer/types.d.ts +1 -0
  353. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  354. package/dist/elements/ListDrawer/types.js.map +1 -1
  355. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  356. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +24 -20
  357. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  358. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts +6 -0
  359. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts.map +1 -0
  360. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js +61 -0
  361. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -0
  362. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +1 -1
  363. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  364. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts +1 -0
  365. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts.map +1 -1
  366. package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
  367. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
  368. package/dist/elements/ListHeader/index.css +4 -5
  369. package/dist/elements/LivePreview/Toolbar/Controls/index.d.ts.map +1 -1
  370. package/dist/elements/LivePreview/Toolbar/Controls/index.js +3 -0
  371. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  372. package/dist/elements/Loading/index.d.ts.map +1 -1
  373. package/dist/elements/Loading/index.js +1 -0
  374. package/dist/elements/Loading/index.js.map +1 -1
  375. package/dist/elements/Localizer/index.d.ts +3 -6
  376. package/dist/elements/Localizer/index.d.ts.map +1 -1
  377. package/dist/elements/Localizer/index.js +19 -11
  378. package/dist/elements/Localizer/index.js.map +1 -1
  379. package/dist/elements/MiniCarousel/index.d.ts +1 -1
  380. package/dist/elements/MiniCarousel/index.d.ts.map +1 -1
  381. package/dist/elements/MiniCarousel/index.js +6 -6
  382. package/dist/elements/MiniCarousel/index.js.map +1 -1
  383. package/dist/elements/Modal/index.d.ts +5 -1
  384. package/dist/elements/Modal/index.d.ts.map +1 -1
  385. package/dist/elements/Modal/index.js +69 -1
  386. package/dist/elements/Modal/index.js.map +1 -1
  387. package/dist/elements/Nav/NavSidebarToggle/index.d.ts.map +1 -1
  388. package/dist/elements/Nav/NavSidebarToggle/index.js +29 -24
  389. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
  390. package/dist/elements/Nav/NavWrapper/index.d.ts +1 -0
  391. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  392. package/dist/elements/Nav/NavWrapper/index.js +15 -13
  393. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  394. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  395. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -0
  396. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  397. package/dist/elements/Nav/SidebarTabs/index.client.js +1 -1
  398. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  399. package/dist/elements/Nav/SidebarTabs/index.css +3 -3
  400. package/dist/elements/Nav/context.d.ts +1 -1
  401. package/dist/elements/Nav/context.d.ts.map +1 -1
  402. package/dist/elements/Nav/context.js +32 -11
  403. package/dist/elements/Nav/context.js.map +1 -1
  404. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  405. package/dist/elements/Nav/index.client.js +1 -10
  406. package/dist/elements/Nav/index.client.js.map +1 -1
  407. package/dist/elements/Nav/index.css +45 -34
  408. package/dist/elements/Nav/index.d.ts +4 -0
  409. package/dist/elements/Nav/index.d.ts.map +1 -1
  410. package/dist/elements/Nav/index.js +15 -1
  411. package/dist/elements/Nav/index.js.map +1 -1
  412. package/dist/elements/NavGroup/index.css +32 -19
  413. package/dist/elements/NavGroup/index.d.ts.map +1 -1
  414. package/dist/elements/NavGroup/index.js +31 -28
  415. package/dist/elements/NavGroup/index.js.map +1 -1
  416. package/dist/elements/NoListResults/index.css +2 -3
  417. package/dist/elements/PageControls/GroupByPageControls.d.ts +1 -0
  418. package/dist/elements/PageControls/GroupByPageControls.d.ts.map +1 -1
  419. package/dist/elements/PageControls/GroupByPageControls.js +9 -6
  420. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  421. package/dist/elements/PageControls/index.css +4 -1
  422. package/dist/elements/PageControls/index.d.ts +3 -0
  423. package/dist/elements/PageControls/index.d.ts.map +1 -1
  424. package/dist/elements/PageControls/index.js +57 -28
  425. package/dist/elements/PageControls/index.js.map +1 -1
  426. package/dist/elements/Pagination/ClickableArrow/index.d.ts +1 -0
  427. package/dist/elements/Pagination/ClickableArrow/index.d.ts.map +1 -1
  428. package/dist/elements/Pagination/ClickableArrow/index.js +46 -10
  429. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  430. package/dist/elements/Pagination/SimplePagination/index.css +0 -1
  431. package/dist/elements/Pagination/SimplePagination/index.d.ts +1 -0
  432. package/dist/elements/Pagination/SimplePagination/index.d.ts.map +1 -1
  433. package/dist/elements/Pagination/SimplePagination/index.js +14 -8
  434. package/dist/elements/Pagination/SimplePagination/index.js.map +1 -1
  435. package/dist/elements/Pagination/index.css +0 -2
  436. package/dist/elements/Pagination/index.d.ts +1 -0
  437. package/dist/elements/Pagination/index.d.ts.map +1 -1
  438. package/dist/elements/Pagination/index.js +36 -17
  439. package/dist/elements/Pagination/index.js.map +1 -1
  440. package/dist/elements/PerPage/index.css +0 -1
  441. package/dist/elements/PerPage/index.d.ts +1 -0
  442. package/dist/elements/PerPage/index.d.ts.map +1 -1
  443. package/dist/elements/PerPage/index.js +24 -15
  444. package/dist/elements/PerPage/index.js.map +1 -1
  445. package/dist/elements/Pill/index.css +0 -1
  446. package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.css +53 -0
  447. package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.d.ts +13 -0
  448. package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.d.ts.map +1 -0
  449. package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.js +44 -0
  450. package/dist/elements/Popup/PopupButtonList/SubmenuTrigger/index.js.map +1 -0
  451. package/dist/elements/Popup/PopupButtonList/index.css +30 -8
  452. package/dist/elements/Popup/PopupButtonList/index.d.ts +10 -0
  453. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  454. package/dist/elements/Popup/PopupButtonList/index.js +55 -6
  455. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  456. package/dist/elements/Popup/PopupGroupLabel/index.css +0 -1
  457. package/dist/elements/Popup/PopupTrigger/index.d.ts +9 -2
  458. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  459. package/dist/elements/Popup/PopupTrigger/index.js +58 -6
  460. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  461. package/dist/elements/Popup/SubmenuScope.d.ts +21 -0
  462. package/dist/elements/Popup/SubmenuScope.d.ts.map +1 -0
  463. package/dist/elements/Popup/SubmenuScope.js +89 -0
  464. package/dist/elements/Popup/SubmenuScope.js.map +1 -0
  465. package/dist/elements/Popup/index.css +9 -2
  466. package/dist/elements/Popup/index.d.ts +9 -27
  467. package/dist/elements/Popup/index.d.ts.map +1 -1
  468. package/dist/elements/Popup/index.js +187 -83
  469. package/dist/elements/Popup/index.js.map +1 -1
  470. package/dist/elements/Popup/useSubmenuPointerIntent.d.ts +13 -0
  471. package/dist/elements/Popup/useSubmenuPointerIntent.d.ts.map +1 -0
  472. package/dist/elements/Popup/useSubmenuPointerIntent.js +42 -0
  473. package/dist/elements/Popup/useSubmenuPointerIntent.js.map +1 -0
  474. package/dist/elements/PreviewSizes/index.d.ts +1 -1
  475. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  476. package/dist/elements/PreviewSizes/index.js +9 -9
  477. package/dist/elements/PreviewSizes/index.js.map +1 -1
  478. package/dist/elements/QueryPresets/QueryPresetBar/index.d.ts.map +1 -1
  479. package/dist/elements/QueryPresets/QueryPresetBar/index.js +4 -1
  480. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  481. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +3 -2
  482. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  483. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  484. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +3 -2
  485. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
  486. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  487. package/dist/elements/QueryPresets/fields/Heading/index.css +0 -1
  488. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +3 -2
  489. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  490. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  491. package/dist/elements/ReactSelect/ClearIndicator/index.css +5 -0
  492. package/dist/elements/ReactSelect/ClearIndicator/index.d.ts.map +1 -1
  493. package/dist/elements/ReactSelect/ClearIndicator/index.js +51 -20
  494. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  495. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -1
  496. package/dist/elements/ReactSelect/DefaultMenuPortal.js +2 -1
  497. package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -1
  498. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts +2 -4
  499. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  500. package/dist/elements/ReactSelect/DropdownIndicator/index.js +16 -21
  501. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  502. package/dist/elements/ReactSelect/MultiValue/context.d.ts +6 -0
  503. package/dist/elements/ReactSelect/MultiValue/context.d.ts.map +1 -0
  504. package/dist/elements/ReactSelect/MultiValue/context.js +5 -0
  505. package/dist/elements/ReactSelect/MultiValue/context.js.map +1 -0
  506. package/dist/elements/ReactSelect/MultiValue/index.css +5 -0
  507. package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
  508. package/dist/elements/ReactSelect/MultiValue/index.js +89 -35
  509. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  510. package/dist/elements/ReactSelect/MultiValueLabel/index.css +41 -2
  511. package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts +5 -1
  512. package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts.map +1 -1
  513. package/dist/elements/ReactSelect/MultiValueLabel/index.js +49 -4
  514. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  515. package/dist/elements/ReactSelect/MultiValueRemove/index.css +30 -4
  516. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts.map +1 -1
  517. package/dist/elements/ReactSelect/MultiValueRemove/index.js +92 -66
  518. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  519. package/dist/elements/ReactSelect/Option/index.d.ts +6 -0
  520. package/dist/elements/ReactSelect/Option/index.d.ts.map +1 -0
  521. package/dist/elements/ReactSelect/Option/index.js +30 -0
  522. package/dist/elements/ReactSelect/Option/index.js.map +1 -0
  523. package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
  524. package/dist/elements/ReactSelect/ValueContainer/index.js +23 -1
  525. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  526. package/dist/elements/ReactSelect/index.css +5 -3
  527. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  528. package/dist/elements/ReactSelect/index.js +4 -1
  529. package/dist/elements/ReactSelect/index.js.map +1 -1
  530. package/dist/elements/ReactSelect/types.d.ts +10 -1
  531. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  532. package/dist/elements/ReactSelect/types.js.map +1 -1
  533. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  534. package/dist/elements/RelationshipTable/AddNewButton.js +1 -0
  535. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  536. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  537. package/dist/elements/RelationshipTable/index.js +61 -57
  538. package/dist/elements/RelationshipTable/index.js.map +1 -1
  539. package/dist/elements/RenderTitle/index.css +9 -7
  540. package/dist/elements/Search/ListSearchFilter/index.d.ts +2 -1
  541. package/dist/elements/Search/ListSearchFilter/index.d.ts.map +1 -1
  542. package/dist/elements/Search/ListSearchFilter/index.js +33 -17
  543. package/dist/elements/Search/ListSearchFilter/index.js.map +1 -1
  544. package/dist/elements/Search/SearchInput/index.css +0 -1
  545. package/dist/elements/Search/SearchInput/index.d.ts +1 -0
  546. package/dist/elements/Search/SearchInput/index.d.ts.map +1 -1
  547. package/dist/elements/Search/SearchInput/index.js +24 -21
  548. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  549. package/dist/elements/SegmentedControl/index.css +9 -0
  550. package/dist/elements/SegmentedControl/index.d.ts +20 -0
  551. package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
  552. package/dist/elements/SegmentedControl/index.js +162 -0
  553. package/dist/elements/SegmentedControl/index.js.map +1 -0
  554. package/dist/elements/SelectRow/index.d.ts +1 -0
  555. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  556. package/dist/elements/SelectRow/index.js +35 -27
  557. package/dist/elements/SelectRow/index.js.map +1 -1
  558. package/dist/elements/SidebarRow/index.css +43 -2
  559. package/dist/elements/SidebarToggle/index.css +3 -1
  560. package/dist/elements/SkipToContent/index.css +21 -0
  561. package/dist/elements/SkipToContent/index.d.ts +4 -0
  562. package/dist/elements/SkipToContent/index.d.ts.map +1 -0
  563. package/dist/elements/SkipToContent/index.js +63 -0
  564. package/dist/elements/SkipToContent/index.js.map +1 -0
  565. package/dist/elements/SortColumn/index.css +1 -2
  566. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  567. package/dist/elements/SortColumn/index.js +63 -95
  568. package/dist/elements/SortColumn/index.js.map +1 -1
  569. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  570. package/dist/elements/SortHeader/index.js +18 -36
  571. package/dist/elements/SortHeader/index.js.map +1 -1
  572. package/dist/elements/Spinner/index.css +0 -2
  573. package/dist/elements/Status/index.css +3 -4
  574. package/dist/elements/StepNav/index.css +15 -9
  575. package/dist/elements/StepNav/index.d.ts.map +1 -1
  576. package/dist/elements/StepNav/index.js +8 -0
  577. package/dist/elements/StepNav/index.js.map +1 -1
  578. package/dist/elements/StepNav/types.d.ts +2 -0
  579. package/dist/elements/StepNav/types.d.ts.map +1 -1
  580. package/dist/elements/StepNav/types.js.map +1 -1
  581. package/dist/elements/Switch/index.css +0 -1
  582. package/dist/elements/Switch/index.d.ts +1 -0
  583. package/dist/elements/Switch/index.d.ts.map +1 -1
  584. package/dist/elements/Switch/index.js +18 -16
  585. package/dist/elements/Switch/index.js.map +1 -1
  586. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.css +0 -1
  587. package/dist/elements/Table/DefaultCell/fields/Code/index.css +0 -1
  588. package/dist/elements/Table/DefaultCell/fields/File/index.css +18 -13
  589. package/dist/elements/Table/DefaultCell/fields/File/index.js +1 -1
  590. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  591. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +17 -7
  592. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  593. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +101 -44
  594. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  595. package/dist/elements/Table/DefaultCell/fields/JSON/index.css +0 -1
  596. package/dist/elements/Table/DefaultCell/fields/Status/index.css +0 -1
  597. package/dist/elements/Table/GridNavigation/useGridNavigation.d.ts +8 -0
  598. package/dist/elements/Table/GridNavigation/useGridNavigation.d.ts.map +1 -0
  599. package/dist/elements/Table/GridNavigation/useGridNavigation.js +397 -0
  600. package/dist/elements/Table/GridNavigation/useGridNavigation.js.map +1 -0
  601. package/dist/elements/Table/OrderableTable.d.ts +1 -0
  602. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  603. package/dist/elements/Table/OrderableTable.js +6 -2
  604. package/dist/elements/Table/OrderableTable.js.map +1 -1
  605. package/dist/elements/Table/TableIdentity.d.ts +10 -0
  606. package/dist/elements/Table/TableIdentity.d.ts.map +1 -0
  607. package/dist/elements/Table/TableIdentity.js +52 -0
  608. package/dist/elements/Table/TableIdentity.js.map +1 -0
  609. package/dist/elements/Table/index.css +23 -3
  610. package/dist/elements/Table/index.d.ts +3 -0
  611. package/dist/elements/Table/index.d.ts.map +1 -1
  612. package/dist/elements/Table/index.js +72 -29
  613. package/dist/elements/Table/index.js.map +1 -1
  614. package/dist/elements/Table/useAriaSort.d.ts +7 -0
  615. package/dist/elements/Table/useAriaSort.d.ts.map +1 -0
  616. package/dist/elements/Table/useAriaSort.js +53 -0
  617. package/dist/elements/Table/useAriaSort.js.map +1 -0
  618. package/dist/elements/TableSection/index.css +4 -5
  619. package/dist/elements/Tabs/index.css +1 -2
  620. package/dist/elements/Tabs/index.d.ts +4 -0
  621. package/dist/elements/Tabs/index.d.ts.map +1 -1
  622. package/dist/elements/Tabs/index.js +30 -1
  623. package/dist/elements/Tabs/index.js.map +1 -1
  624. package/dist/elements/ThumbnailCard/index.css +0 -1
  625. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  626. package/dist/elements/ThumbnailCard/index.js +10 -8
  627. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  628. package/dist/elements/TimezonePicker/index.css +0 -3
  629. package/dist/elements/Tooltip/index.css +2 -2
  630. package/dist/elements/Tooltip/index.d.ts +5 -5
  631. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  632. package/dist/elements/Tooltip/index.js +21 -13
  633. package/dist/elements/Tooltip/index.js.map +1 -1
  634. package/dist/elements/Upload/index.css +2 -3
  635. package/dist/elements/Upload/index.d.ts +1 -1
  636. package/dist/elements/Upload/index.d.ts.map +1 -1
  637. package/dist/elements/Upload/index.js +6 -6
  638. package/dist/elements/Upload/index.js.map +1 -1
  639. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
  640. package/dist/elements/UserMenu/LanguageMenu/index.js +15 -30
  641. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  642. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
  643. package/dist/elements/UserMenu/SettingsMenu/index.js +15 -30
  644. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  645. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -1
  646. package/dist/elements/UserMenu/SubMenuHeader/index.js +2 -0
  647. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -1
  648. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
  649. package/dist/elements/UserMenu/ThemeMenu/index.js +15 -30
  650. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  651. package/dist/elements/UserMenu/index.css +29 -15
  652. package/dist/elements/UserMenu/index.d.ts +1 -0
  653. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  654. package/dist/elements/UserMenu/index.js +81 -50
  655. package/dist/elements/UserMenu/index.js.map +1 -1
  656. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  657. package/dist/elements/WhereBuilder/Condition/index.js +7 -1
  658. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  659. package/dist/exports/client/CodeEditor-UKD3EPUY.js +14 -0
  660. package/dist/exports/client/CodeEditor-UKD3EPUY.js.map +7 -0
  661. package/dist/exports/client/DatePicker-POZJVQP4.js +14 -0
  662. package/dist/exports/client/DatePicker-POZJVQP4.js.map +7 -0
  663. package/dist/exports/client/chunk-2AY67NFV.js +29 -0
  664. package/dist/exports/client/chunk-2AY67NFV.js.map +7 -0
  665. package/dist/exports/client/chunk-6XCSN54Q.js +27 -0
  666. package/dist/exports/client/chunk-6XCSN54Q.js.map +7 -0
  667. package/dist/exports/client/chunk-AVJIZPR3.js +14 -0
  668. package/dist/exports/client/chunk-AVJIZPR3.js.map +7 -0
  669. package/dist/exports/client/index.d.ts +25 -2
  670. package/dist/exports/client/index.d.ts.map +1 -1
  671. package/dist/exports/client/index.js +100 -1
  672. package/dist/exports/client/index.js.map +4 -4
  673. package/dist/exports/rsc/index.d.ts +3 -0
  674. package/dist/exports/rsc/index.d.ts.map +1 -1
  675. package/dist/exports/rsc/index.js +3 -0
  676. package/dist/exports/rsc/index.js.map +1 -1
  677. package/dist/exports/shared/index.js +1 -1
  678. package/dist/exports/shared/index.js.map +3 -3
  679. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  680. package/dist/fields/Array/ArrayRow.js +1 -0
  681. package/dist/fields/Array/ArrayRow.js.map +1 -1
  682. package/dist/fields/Array/index.css +4 -0
  683. package/dist/fields/Array/index.d.ts +3 -7
  684. package/dist/fields/Array/index.d.ts.map +1 -1
  685. package/dist/fields/Array/index.js +14 -5
  686. package/dist/fields/Array/index.js.map +1 -1
  687. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  688. package/dist/fields/Blocks/RowActions.js +25 -16
  689. package/dist/fields/Blocks/RowActions.js.map +1 -1
  690. package/dist/fields/Blocks/SectionTitle/index.css +3 -5
  691. package/dist/fields/Blocks/index.css +2 -2
  692. package/dist/fields/Blocks/index.d.ts +2 -5
  693. package/dist/fields/Blocks/index.d.ts.map +1 -1
  694. package/dist/fields/Blocks/index.js +20 -11
  695. package/dist/fields/Blocks/index.js.map +1 -1
  696. package/dist/fields/Checkbox/Input.d.ts +2 -2
  697. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  698. package/dist/fields/Checkbox/Input.js +135 -153
  699. package/dist/fields/Checkbox/Input.js.map +1 -1
  700. package/dist/fields/Checkbox/index.css +189 -155
  701. package/dist/fields/Checkbox/index.d.ts +2 -12
  702. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  703. package/dist/fields/Checkbox/index.js.map +1 -1
  704. package/dist/fields/Code/index.d.ts +2 -8
  705. package/dist/fields/Code/index.d.ts.map +1 -1
  706. package/dist/fields/Code/index.js +20 -3
  707. package/dist/fields/Code/index.js.map +1 -1
  708. package/dist/fields/Collapsible/index.d.ts +2 -3
  709. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  710. package/dist/fields/Collapsible/index.js +1 -0
  711. package/dist/fields/Collapsible/index.js.map +1 -1
  712. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  713. package/dist/fields/ConfirmPassword/index.js +45 -31
  714. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  715. package/dist/fields/DateTime/index.d.ts +3 -7
  716. package/dist/fields/DateTime/index.d.ts.map +1 -1
  717. package/dist/fields/DateTime/index.js +10 -3
  718. package/dist/fields/DateTime/index.js.map +1 -1
  719. package/dist/fields/Email/index.d.ts +2 -7
  720. package/dist/fields/Email/index.d.ts.map +1 -1
  721. package/dist/fields/Email/index.js +11 -0
  722. package/dist/fields/Email/index.js.map +1 -1
  723. package/dist/fields/FieldError/index.css +12 -0
  724. package/dist/fields/FieldError/index.d.ts.map +1 -1
  725. package/dist/fields/FieldError/index.js +4 -1
  726. package/dist/fields/FieldError/index.js.map +1 -1
  727. package/dist/fields/FieldLabel/index.css +5 -4
  728. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  729. package/dist/fields/FieldLabel/index.js +28 -10
  730. package/dist/fields/FieldLabel/index.js.map +1 -1
  731. package/dist/fields/Group/index.css +2 -3
  732. package/dist/fields/Group/index.d.ts +3 -5
  733. package/dist/fields/Group/index.d.ts.map +1 -1
  734. package/dist/fields/Group/index.js.map +1 -1
  735. package/dist/fields/JSON/index.d.ts +2 -6
  736. package/dist/fields/JSON/index.d.ts.map +1 -1
  737. package/dist/fields/JSON/index.js +15 -1
  738. package/dist/fields/JSON/index.js.map +1 -1
  739. package/dist/fields/Join/index.css +3 -4
  740. package/dist/fields/Join/index.d.ts +2 -6
  741. package/dist/fields/Join/index.d.ts.map +1 -1
  742. package/dist/fields/Join/index.js.map +1 -1
  743. package/dist/fields/Number/index.d.ts +2 -7
  744. package/dist/fields/Number/index.d.ts.map +1 -1
  745. package/dist/fields/Number/index.js.map +1 -1
  746. package/dist/fields/Password/input.d.ts.map +1 -1
  747. package/dist/fields/Password/input.js +73 -95
  748. package/dist/fields/Password/input.js.map +1 -1
  749. package/dist/fields/Point/index.d.ts +3 -8
  750. package/dist/fields/Point/index.d.ts.map +1 -1
  751. package/dist/fields/Point/index.js +15 -2
  752. package/dist/fields/Point/index.js.map +1 -1
  753. package/dist/fields/RadioGroup/Radio/index.css +0 -1
  754. package/dist/fields/RadioGroup/index.js.map +1 -1
  755. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  756. package/dist/fields/Relationship/Input.js +25 -17
  757. package/dist/fields/Relationship/Input.js.map +1 -1
  758. package/dist/fields/Relationship/index.d.ts +2 -6
  759. package/dist/fields/Relationship/index.d.ts.map +1 -1
  760. package/dist/fields/Relationship/index.js.map +1 -1
  761. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  762. package/dist/fields/Relationship/optionsReducer.js +2 -0
  763. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  764. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
  765. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +24 -2
  766. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  767. package/dist/fields/Relationship/types.d.ts +8 -0
  768. package/dist/fields/Relationship/types.d.ts.map +1 -1
  769. package/dist/fields/Relationship/types.js.map +1 -1
  770. package/dist/fields/Row/index.d.ts +2 -3
  771. package/dist/fields/Row/index.d.ts.map +1 -1
  772. package/dist/fields/Row/index.js.map +1 -1
  773. package/dist/fields/Select/Input.d.ts.map +1 -1
  774. package/dist/fields/Select/Input.js +70 -51
  775. package/dist/fields/Select/Input.js.map +1 -1
  776. package/dist/fields/Select/index.css +7 -0
  777. package/dist/fields/Select/index.d.ts +2 -9
  778. package/dist/fields/Select/index.d.ts.map +1 -1
  779. package/dist/fields/Select/index.js.map +1 -1
  780. package/dist/fields/Tabs/Tab/index.d.ts +2 -0
  781. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  782. package/dist/fields/Tabs/Tab/index.js +15 -9
  783. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  784. package/dist/fields/Tabs/index.d.ts +2 -4
  785. package/dist/fields/Tabs/index.d.ts.map +1 -1
  786. package/dist/fields/Tabs/index.js +179 -116
  787. package/dist/fields/Tabs/index.js.map +1 -1
  788. package/dist/fields/Text/Input.d.ts.map +1 -1
  789. package/dist/fields/Text/Input.js +53 -34
  790. package/dist/fields/Text/Input.js.map +1 -1
  791. package/dist/fields/Text/index.d.ts +2 -8
  792. package/dist/fields/Text/index.d.ts.map +1 -1
  793. package/dist/fields/Text/index.js.map +1 -1
  794. package/dist/fields/Textarea/index.d.ts +2 -9
  795. package/dist/fields/Textarea/index.d.ts.map +1 -1
  796. package/dist/fields/Textarea/index.js.map +1 -1
  797. package/dist/fields/Upload/HasMany/index.js +1 -1
  798. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  799. package/dist/fields/Upload/HasOne/index.js +1 -1
  800. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  801. package/dist/fields/Upload/Input.d.ts.map +1 -1
  802. package/dist/fields/Upload/Input.js +13 -4
  803. package/dist/fields/Upload/Input.js.map +1 -1
  804. package/dist/fields/shared/useRowFocus.d.ts +5 -0
  805. package/dist/fields/shared/useRowFocus.d.ts.map +1 -0
  806. package/dist/fields/shared/useRowFocus.js +50 -0
  807. package/dist/fields/shared/useRowFocus.js.map +1 -0
  808. package/dist/forms/NullifyField/index.d.ts +10 -0
  809. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  810. package/dist/forms/NullifyField/index.js +14 -4
  811. package/dist/forms/NullifyField/index.js.map +1 -1
  812. package/dist/forms/RenderFields/context.d.ts +2 -2
  813. package/dist/forms/RenderFields/context.js +2 -2
  814. package/dist/forms/RenderFields/context.js.map +1 -1
  815. package/dist/forms/RenderFields/index.css +3 -6
  816. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +2 -2
  817. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  818. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +12 -4
  819. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  820. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -2
  821. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  822. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  823. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -2
  824. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  825. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  826. package/dist/forms/fieldSchemasToFormState/renderField.js +2 -2
  827. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  828. package/dist/forms/fieldSchemasToFormState/types.d.ts +2 -2
  829. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  830. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  831. package/dist/graphics/Logo/index.d.ts.map +1 -1
  832. package/dist/graphics/Logo/index.js +2 -0
  833. package/dist/graphics/Logo/index.js.map +1 -1
  834. package/dist/icons/Arrow/index.d.ts +1 -1
  835. package/dist/icons/Arrow/index.d.ts.map +1 -1
  836. package/dist/icons/Arrow/index.js +7 -1
  837. package/dist/icons/Arrow/index.js.map +1 -1
  838. package/dist/icons/Clock/index.d.ts +6 -0
  839. package/dist/icons/Clock/index.d.ts.map +1 -0
  840. package/dist/icons/Clock/index.js +18 -0
  841. package/dist/icons/Clock/index.js.map +1 -0
  842. package/dist/icons/ImageStack/index.d.ts +3 -0
  843. package/dist/icons/ImageStack/index.d.ts.map +1 -0
  844. package/dist/icons/ImageStack/index.js +17 -0
  845. package/dist/icons/ImageStack/index.js.map +1 -0
  846. package/dist/icons/Pin/index.d.ts +7 -0
  847. package/dist/icons/Pin/index.d.ts.map +1 -0
  848. package/dist/icons/Pin/index.js +23 -0
  849. package/dist/icons/Pin/index.js.map +1 -0
  850. package/dist/icons/Table/index.css +1 -0
  851. package/dist/icons/Table/index.d.ts +7 -0
  852. package/dist/icons/Table/index.d.ts.map +1 -0
  853. package/dist/icons/Table/index.js +25 -0
  854. package/dist/icons/Table/index.js.map +1 -0
  855. package/dist/layouts/Root/DocumentRoot.d.ts +24 -0
  856. package/dist/layouts/Root/DocumentRoot.d.ts.map +1 -0
  857. package/dist/layouts/Root/DocumentRoot.js +40 -0
  858. package/dist/layouts/Root/DocumentRoot.js.map +1 -0
  859. package/dist/layouts/Root/ResolveThemeOnClient.d.ts +12 -0
  860. package/dist/layouts/Root/ResolveThemeOnClient.d.ts.map +1 -0
  861. package/dist/layouts/Root/ResolveThemeOnClient.js +35 -0
  862. package/dist/layouts/Root/ResolveThemeOnClient.js.map +1 -0
  863. package/dist/layouts/Root/RootProviders.d.ts +11 -0
  864. package/dist/layouts/Root/RootProviders.d.ts.map +1 -0
  865. package/dist/layouts/Root/RootProviders.js +164 -0
  866. package/dist/layouts/Root/RootProviders.js.map +1 -0
  867. package/dist/layouts/Root/getRootLayoutData.d.ts +29 -0
  868. package/dist/layouts/Root/getRootLayoutData.d.ts.map +1 -0
  869. package/dist/layouts/Root/getRootLayoutData.js +72 -0
  870. package/dist/layouts/Root/getRootLayoutData.js.map +1 -0
  871. package/dist/layouts/Root/index.d.ts +3 -3
  872. package/dist/layouts/Root/index.d.ts.map +1 -1
  873. package/dist/layouts/Root/index.js +49 -104
  874. package/dist/layouts/Root/index.js.map +1 -1
  875. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  876. package/dist/providers/DocumentInfo/index.js +0 -2
  877. package/dist/providers/DocumentInfo/index.js.map +1 -1
  878. package/dist/providers/DocumentInfo/types.d.ts +0 -10
  879. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  880. package/dist/providers/DocumentInfo/types.js.map +1 -1
  881. package/dist/providers/ListQuery/getSearchWithListQuery.d.ts +7 -0
  882. package/dist/providers/ListQuery/getSearchWithListQuery.d.ts.map +1 -0
  883. package/dist/providers/ListQuery/getSearchWithListQuery.js +22 -0
  884. package/dist/providers/ListQuery/getSearchWithListQuery.js.map +1 -0
  885. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  886. package/dist/providers/ListQuery/index.js +16 -12
  887. package/dist/providers/ListQuery/index.js.map +1 -1
  888. package/dist/providers/ListQuery/types.d.ts +4 -0
  889. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  890. package/dist/providers/ListQuery/types.js.map +1 -1
  891. package/dist/providers/ModalAccessibility/index.d.ts +3 -0
  892. package/dist/providers/ModalAccessibility/index.d.ts.map +1 -0
  893. package/dist/providers/ModalAccessibility/index.js +102 -0
  894. package/dist/providers/ModalAccessibility/index.js.map +1 -0
  895. package/dist/providers/Preferences/index.d.ts +7 -1
  896. package/dist/providers/Preferences/index.d.ts.map +1 -1
  897. package/dist/providers/Preferences/index.js +62 -20
  898. package/dist/providers/Preferences/index.js.map +1 -1
  899. package/dist/providers/TableColumns/buildColumnState/index.d.ts +1 -0
  900. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  901. package/dist/providers/TableColumns/buildColumnState/index.js +2 -0
  902. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  903. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +2 -1
  904. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  905. package/dist/providers/TableColumns/buildColumnState/renderCell.js +12 -28
  906. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  907. package/dist/providers/ToastContainer/index.css +6 -7
  908. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  909. package/dist/providers/ToastContainer/index.js +113 -35
  910. package/dist/providers/ToastContainer/index.js.map +1 -1
  911. package/dist/providers/Translation/index.d.ts.map +1 -1
  912. package/dist/providers/Translation/index.js +11 -1
  913. package/dist/providers/Translation/index.js.map +1 -1
  914. package/dist/styles.css +163 -58
  915. package/dist/templates/Default/Wrapper/index.css +20 -5
  916. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  917. package/dist/templates/Default/Wrapper/index.js +4 -3
  918. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  919. package/dist/templates/Default/index.d.ts.map +1 -1
  920. package/dist/templates/Default/index.js +19 -14
  921. package/dist/templates/Default/index.js.map +1 -1
  922. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
  923. package/dist/utilities/buildClientFieldSchemaMap/index.js +9 -4
  924. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  925. package/dist/utilities/filterLLMInstructionsMenuItems.d.ts +9 -0
  926. package/dist/utilities/filterLLMInstructionsMenuItems.d.ts.map +1 -0
  927. package/dist/utilities/filterLLMInstructionsMenuItems.js +37 -0
  928. package/dist/utilities/filterLLMInstructionsMenuItems.js.map +1 -0
  929. package/dist/utilities/filterOutUploadFields.js +1 -1
  930. package/dist/utilities/filterOutUploadFields.js.map +1 -1
  931. package/dist/utilities/generateFieldID.d.ts +1 -1
  932. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  933. package/dist/utilities/generateFieldID.js.map +1 -1
  934. package/dist/utilities/getActiveModal.d.ts +6 -0
  935. package/dist/utilities/getActiveModal.d.ts.map +1 -0
  936. package/dist/utilities/getActiveModal.js +8 -0
  937. package/dist/utilities/getActiveModal.js.map +1 -0
  938. package/dist/utilities/getClientConfig.d.ts +5 -1
  939. package/dist/utilities/getClientConfig.d.ts.map +1 -1
  940. package/dist/utilities/getClientConfig.js +2 -1
  941. package/dist/utilities/getClientConfig.js.map +1 -1
  942. package/dist/utilities/getClientSchemaMap.d.ts.map +1 -1
  943. package/dist/utilities/getClientSchemaMap.js +2 -1
  944. package/dist/utilities/getClientSchemaMap.js.map +1 -1
  945. package/dist/utilities/getDocumentThumbnail.d.ts +6 -0
  946. package/dist/utilities/getDocumentThumbnail.d.ts.map +1 -0
  947. package/dist/utilities/getDocumentThumbnail.js +27 -0
  948. package/dist/utilities/getDocumentThumbnail.js.map +1 -0
  949. package/dist/utilities/getDocumentThumbnailPopulate.d.ts +7 -0
  950. package/dist/utilities/getDocumentThumbnailPopulate.d.ts.map +1 -0
  951. package/dist/utilities/getDocumentThumbnailPopulate.js +23 -0
  952. package/dist/utilities/getDocumentThumbnailPopulate.js.map +1 -0
  953. package/dist/utilities/getDocumentThumbnailSelect.d.ts +7 -0
  954. package/dist/utilities/getDocumentThumbnailSelect.d.ts.map +1 -0
  955. package/dist/utilities/getDocumentThumbnailSelect.js +24 -0
  956. package/dist/utilities/getDocumentThumbnailSelect.js.map +1 -0
  957. package/dist/utilities/getRequestTheme.d.ts +8 -1
  958. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  959. package/dist/utilities/getRequestTheme.js +16 -4
  960. package/dist/utilities/getRequestTheme.js.map +1 -1
  961. package/dist/utilities/handleServerFunctions.d.ts +9 -9
  962. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  963. package/dist/utilities/handleServerFunctions.js +3 -3
  964. package/dist/utilities/handleServerFunctions.js.map +1 -1
  965. package/dist/utilities/hierarchyCollectionRestrictions.d.ts +15 -0
  966. package/dist/utilities/hierarchyCollectionRestrictions.d.ts.map +1 -0
  967. package/dist/utilities/hierarchyCollectionRestrictions.js +17 -0
  968. package/dist/utilities/hierarchyCollectionRestrictions.js.map +1 -0
  969. package/dist/utilities/renderTable.d.ts +2 -1
  970. package/dist/utilities/renderTable.d.ts.map +1 -1
  971. package/dist/utilities/renderTable.js +13 -4
  972. package/dist/utilities/renderTable.js.map +1 -1
  973. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  974. package/dist/utilities/schedulePublishHandler.js +3 -0
  975. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  976. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  977. package/dist/utilities/serverFunctionRegistry.js +2 -0
  978. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  979. package/dist/views/API/index.client.d.ts.map +1 -1
  980. package/dist/views/API/index.client.js +19 -1
  981. package/dist/views/API/index.client.js.map +1 -1
  982. package/dist/views/API/index.css +1 -2
  983. package/dist/views/CreateFirstUser/index.css +0 -2
  984. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  985. package/dist/views/CreateFirstUser/index.js +4 -2
  986. package/dist/views/CreateFirstUser/index.js.map +1 -1
  987. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  988. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +76 -115
  989. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  990. package/dist/views/Dashboard/Default/ModularDashboard/WidgetContent/index.d.ts +7 -0
  991. package/dist/views/Dashboard/Default/ModularDashboard/WidgetContent/index.d.ts.map +1 -0
  992. package/dist/views/Dashboard/Default/ModularDashboard/WidgetContent/index.js +65 -0
  993. package/dist/views/Dashboard/Default/ModularDashboard/WidgetContent/index.js.map +1 -0
  994. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts +2 -1
  995. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  996. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +8 -2
  997. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  998. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  999. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +128 -91
  1000. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  1001. package/dist/views/Dashboard/Default/ModularDashboard/index.css +9 -6
  1002. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
  1003. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +3 -0
  1004. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  1005. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.d.ts.map +1 -1
  1006. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +2 -38
  1007. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
  1008. package/dist/views/Document/index.js +1 -1
  1009. package/dist/views/Document/index.js.map +1 -1
  1010. package/dist/views/Document/renderDocumentSlots.d.ts +1 -1
  1011. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  1012. package/dist/views/Document/renderDocumentSlots.js +10 -3
  1013. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  1014. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  1015. package/dist/views/Edit/Auth/APIKey.js +1 -0
  1016. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  1017. package/dist/views/Edit/Auth/index.css +4 -5
  1018. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  1019. package/dist/views/ForgotPassword/index.js +1 -3
  1020. package/dist/views/ForgotPassword/index.js.map +1 -1
  1021. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  1022. package/dist/views/HierarchyList/DocumentListSelection/index.js +103 -105
  1023. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  1024. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +4 -1
  1025. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
  1026. package/dist/views/HierarchyList/HierarchyListHeader/index.js +26 -14
  1027. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
  1028. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
  1029. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +20 -48
  1030. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  1031. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts.map +1 -1
  1032. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +35 -87
  1033. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -1
  1034. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +0 -101
  1035. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +2 -0
  1036. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  1037. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +45 -32
  1038. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  1039. package/dist/views/HierarchyList/HierarchyTable/index.css +50 -61
  1040. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +3 -1
  1041. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  1042. package/dist/views/HierarchyList/HierarchyTable/index.js +80 -6
  1043. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  1044. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -1
  1045. package/dist/views/HierarchyList/TypeFilter/index.js +6 -7
  1046. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
  1047. package/dist/views/HierarchyList/getHierarchyListURL.d.ts +7 -0
  1048. package/dist/views/HierarchyList/getHierarchyListURL.d.ts.map +1 -0
  1049. package/dist/views/HierarchyList/getHierarchyListURL.js +22 -0
  1050. package/dist/views/HierarchyList/getHierarchyListURL.js.map +1 -0
  1051. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  1052. package/dist/views/HierarchyList/index.js +35 -11
  1053. package/dist/views/HierarchyList/index.js.map +1 -1
  1054. package/dist/views/List/DocumentGrid/index.d.ts +17 -0
  1055. package/dist/views/List/DocumentGrid/index.d.ts.map +1 -0
  1056. package/dist/views/List/DocumentGrid/index.js +117 -0
  1057. package/dist/views/List/DocumentGrid/index.js.map +1 -0
  1058. package/dist/views/List/GroupedDocumentGrid/index.css +17 -0
  1059. package/dist/views/List/GroupedDocumentGrid/index.d.ts +14 -0
  1060. package/dist/views/List/GroupedDocumentGrid/index.d.ts.map +1 -0
  1061. package/dist/views/List/GroupedDocumentGrid/index.js +99 -0
  1062. package/dist/views/List/GroupedDocumentGrid/index.js.map +1 -0
  1063. package/dist/views/List/ListHeader/index.css +4 -5
  1064. package/dist/views/List/ListHeader/index.d.ts +3 -1
  1065. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  1066. package/dist/views/List/ListHeader/index.js +15 -4
  1067. package/dist/views/List/ListHeader/index.js.map +1 -1
  1068. package/dist/views/List/enrichDocsWithVersionStatus.d.ts.map +1 -1
  1069. package/dist/views/List/enrichDocsWithVersionStatus.js +3 -1
  1070. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  1071. package/dist/views/List/getDocumentListItemURL.d.ts +9 -0
  1072. package/dist/views/List/getDocumentListItemURL.d.ts.map +1 -0
  1073. package/dist/views/List/getDocumentListItemURL.js +23 -0
  1074. package/dist/views/List/getDocumentListItemURL.js.map +1 -0
  1075. package/dist/views/List/handleGroupBy.d.ts +6 -2
  1076. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  1077. package/dist/views/List/handleGroupBy.js +13 -3
  1078. package/dist/views/List/handleGroupBy.js.map +1 -1
  1079. package/dist/views/List/index.client.d.ts.map +1 -1
  1080. package/dist/views/List/index.client.js +116 -31
  1081. package/dist/views/List/index.client.js.map +1 -1
  1082. package/dist/views/List/index.css +1 -2
  1083. package/dist/views/List/index.d.ts.map +1 -1
  1084. package/dist/views/List/index.js +91 -11
  1085. package/dist/views/List/index.js.map +1 -1
  1086. package/dist/views/List/renderListViewSlots.d.ts +3 -2
  1087. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  1088. package/dist/views/List/renderListViewSlots.js +12 -4
  1089. package/dist/views/List/renderListViewSlots.js.map +1 -1
  1090. package/dist/views/List/resolveDocumentListItemURL.d.ts +11 -0
  1091. package/dist/views/List/resolveDocumentListItemURL.d.ts.map +1 -0
  1092. package/dist/views/List/resolveDocumentListItemURL.js +30 -0
  1093. package/dist/views/List/resolveDocumentListItemURL.js.map +1 -0
  1094. package/dist/views/NotFound/index.css +0 -2
  1095. package/dist/views/NotFound/page.d.ts +4 -11
  1096. package/dist/views/NotFound/page.d.ts.map +1 -1
  1097. package/dist/views/NotFound/page.js +2 -2
  1098. package/dist/views/NotFound/page.js.map +1 -1
  1099. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  1100. package/dist/views/ResetPassword/index.js +1 -3
  1101. package/dist/views/ResetPassword/index.js.map +1 -1
  1102. package/dist/views/Root/getRouteData.d.ts +1 -8
  1103. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  1104. package/dist/views/Root/getRouteData.js +3 -12
  1105. package/dist/views/Root/getRouteData.js.map +1 -1
  1106. package/dist/views/Root/index.d.ts +6 -7
  1107. package/dist/views/Root/index.d.ts.map +1 -1
  1108. package/dist/views/Root/index.js +2 -2
  1109. package/dist/views/Root/index.js.map +1 -1
  1110. package/dist/views/Unauthorized/index.css +0 -2
  1111. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  1112. package/dist/views/Unauthorized/index.js +2 -1
  1113. package/dist/views/Unauthorized/index.js.map +1 -1
  1114. package/dist/views/Version/Default/index.css +7 -11
  1115. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.css +0 -1
  1116. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.css +0 -1
  1117. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.d.ts +3 -2
  1118. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.d.ts.map +1 -1
  1119. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  1120. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.d.ts +3 -2
  1121. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.d.ts.map +1 -1
  1122. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  1123. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts +3 -2
  1124. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts.map +1 -1
  1125. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  1126. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts +3 -2
  1127. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts.map +1 -1
  1128. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  1129. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.css +3 -4
  1130. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +0 -1
  1131. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +2 -2
  1132. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
  1133. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  1134. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.d.ts +3 -2
  1135. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.d.ts.map +1 -1
  1136. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  1137. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +3 -2
  1138. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  1139. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  1140. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +3 -2
  1141. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  1142. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  1143. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts +3 -2
  1144. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  1145. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +3 -1
  1146. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  1147. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.css +0 -1
  1148. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts +2 -2
  1149. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -1
  1150. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  1151. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  1152. package/dist/views/Version/SelectLocales/index.js +1 -0
  1153. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  1154. package/dist/views/Versions/VersionPillLabel/index.css +1 -2
  1155. package/dist/views/Versions/index.client.d.ts.map +1 -1
  1156. package/dist/views/Versions/index.client.js +3 -1
  1157. package/dist/views/Versions/index.client.js.map +1 -1
  1158. package/dist/views/Versions/index.css +1 -1
  1159. package/dist/widgets/CollectionCards/index.client.d.ts.map +1 -1
  1160. package/dist/widgets/CollectionCards/index.client.js +8 -6
  1161. package/dist/widgets/CollectionCards/index.client.js.map +1 -1
  1162. package/dist/widgets/CollectionCards/index.css +30 -38
  1163. package/dist/widgets/CollectionCards/index.d.ts.map +1 -1
  1164. package/dist/widgets/CollectionCards/index.js +7 -5
  1165. package/dist/widgets/CollectionCards/index.js.map +1 -1
  1166. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -2
  1167. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -1
  1168. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -1
  1169. package/dist/widgets/CollectionQuery/index.css +4 -6
  1170. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +4 -3
  1171. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -1
  1172. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +32 -6
  1173. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -1
  1174. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.css +73 -0
  1175. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts +19 -0
  1176. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts.map +1 -0
  1177. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js +122 -0
  1178. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js.map +1 -0
  1179. package/dist/widgets/RecentlyViewed/getDocuments.d.ts +20 -0
  1180. package/dist/widgets/RecentlyViewed/getDocuments.d.ts.map +1 -0
  1181. package/dist/widgets/RecentlyViewed/getDocuments.js +250 -0
  1182. package/dist/widgets/RecentlyViewed/getDocuments.js.map +1 -0
  1183. package/dist/widgets/RecentlyViewed/index.client.d.ts +40 -0
  1184. package/dist/widgets/RecentlyViewed/index.client.d.ts.map +1 -0
  1185. package/dist/widgets/RecentlyViewed/index.client.js +401 -0
  1186. package/dist/widgets/RecentlyViewed/index.client.js.map +1 -0
  1187. package/dist/widgets/RecentlyViewed/index.css +318 -0
  1188. package/dist/widgets/RecentlyViewed/index.d.ts +1 -1
  1189. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -1
  1190. package/dist/widgets/RecentlyViewed/index.js +32 -135
  1191. package/dist/widgets/RecentlyViewed/index.js.map +1 -1
  1192. package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts +18 -0
  1193. package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts.map +1 -0
  1194. package/dist/widgets/RecentlyViewed/pinnedPreferences.js +81 -0
  1195. package/dist/widgets/RecentlyViewed/pinnedPreferences.js.map +1 -0
  1196. package/dist/widgets/RecentlyViewed/recents.d.ts +8 -0
  1197. package/dist/widgets/RecentlyViewed/recents.d.ts.map +1 -0
  1198. package/dist/widgets/RecentlyViewed/recents.js +19 -0
  1199. package/dist/widgets/RecentlyViewed/recents.js.map +1 -0
  1200. package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts +4 -0
  1201. package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts.map +1 -0
  1202. package/dist/widgets/UploadDropzone/CollectionsField/index.js +29 -0
  1203. package/dist/widgets/UploadDropzone/CollectionsField/index.js.map +1 -0
  1204. package/dist/widgets/UploadDropzone/index.client.d.ts +10 -0
  1205. package/dist/widgets/UploadDropzone/index.client.d.ts.map +1 -0
  1206. package/dist/widgets/UploadDropzone/index.client.js +78 -0
  1207. package/dist/widgets/UploadDropzone/index.client.js.map +1 -0
  1208. package/dist/widgets/UploadDropzone/index.css +80 -0
  1209. package/dist/widgets/UploadDropzone/index.d.ts +12 -0
  1210. package/dist/widgets/UploadDropzone/index.d.ts.map +1 -0
  1211. package/dist/widgets/UploadDropzone/index.js +58 -0
  1212. package/dist/widgets/UploadDropzone/index.js.map +1 -0
  1213. package/dist/widgets/Welcome/getWelcomeDisplay.d.ts +7 -0
  1214. package/dist/widgets/Welcome/getWelcomeDisplay.d.ts.map +1 -0
  1215. package/dist/widgets/Welcome/getWelcomeDisplay.js +21 -0
  1216. package/dist/widgets/Welcome/getWelcomeDisplay.js.map +1 -0
  1217. package/dist/widgets/Welcome/index.css +25 -0
  1218. package/dist/widgets/Welcome/index.d.ts +5 -0
  1219. package/dist/widgets/Welcome/index.d.ts.map +1 -0
  1220. package/dist/widgets/Welcome/index.js +25 -0
  1221. package/dist/widgets/Welcome/index.js.map +1 -0
  1222. package/dist/widgets/WidgetCard/index.css +4 -8
  1223. package/package.json +35 -10
  1224. package/dist/providers/Root/index.d.ts +0 -25
  1225. package/dist/providers/Root/index.d.ts.map +0 -1
  1226. package/dist/providers/Root/index.js +0 -155
  1227. package/dist/providers/Root/index.js.map +0 -1
  1228. package/dist/utilities/dateLocales.d.ts +0 -30
  1229. package/dist/utilities/dateLocales.d.ts.map +0 -1
  1230. package/dist/utilities/dateLocales.js +0 -57
  1231. package/dist/utilities/dateLocales.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["React","DocumentTitleContext","createContext"],"sources":["../../../src/providers/DocumentInfo/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n Data,\n DocumentPreferences,\n FormState,\n InsideFieldsPreferences,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n User,\n} from 'payload'\n\nimport React from 'react'\n\nimport type { GetDocPermissions } from './useGetDocPermissions.js'\n\nexport type DocumentInfoProps = {\n readonly action?: string\n readonly AfterDocument?: React.ReactNode\n readonly AfterFields?: React.ReactNode\n readonly apiURL?: string\n readonly BeforeFields?: React.ReactNode\n readonly collectionSlug?: SanitizedCollectionConfig['slug']\n readonly currentEditor: User\n readonly disableActions?: boolean\n readonly disableCreate?: boolean\n readonly disableLeaveWithoutSaving?: boolean\n readonly docPermissions?: SanitizedDocumentPermissions\n readonly globalSlug?: SanitizedGlobalConfig['slug']\n /**\n * Whether the user can permanently delete documents when trash is enabled.\n * Determined by checking delete access with `deletedAt` set.\n */\n readonly hasDeletePermission?: boolean\n readonly hasPublishedDoc: boolean\n readonly hasPublishPermission?: boolean\n readonly hasSavePermission?: boolean\n /** Whether the document or global has an upcoming scheduled publish/unpublish job. */\n readonly hasScheduledPublish?: boolean\n /** Whether the user can trash (soft delete) documents. Only applicable when `trash` is enabled. */\n readonly hasTrashPermission?: boolean\n readonly id?: number | string\n readonly initialData?: Data\n readonly initialState?: FormState\n readonly isEditing?: boolean\n readonly isLocked: boolean\n readonly isTrashed?: boolean\n readonly lastUpdateTime: number\n readonly mostRecentVersionIsAutosaved: boolean\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly redirectAfterRestore?: boolean\n readonly unpublishedVersionCount: number\n readonly Upload?: React.ReactNode\n readonly versionCount: number\n}\n\nexport type DocumentInfoContext = {\n currentEditor?: null | number | string | User\n data?: Data\n docConfig?: ClientCollectionConfig | ClientGlobalConfig\n documentIsLocked?: boolean\n documentLockState: React.RefObject<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: number | string | User\n } | null>\n getDocPermissions: GetDocPermissions\n getDocPreferences: () => Promise<DocumentPreferences>\n hasScheduledPublish: boolean\n incrementVersionCount: () => void\n isInitializing: boolean\n preferencesKey?: string\n /**\n * @deprecated This property is deprecated and will be removed in v4.\n * Use `data` instead.\n */\n savedDocumentData?: Data\n setCurrentEditor?: React.Dispatch<React.SetStateAction<User>>\n setData: (data: Data) => void\n setDocFieldPreferences: (\n field: string,\n fieldPreferences: { [key: string]: unknown } & Partial<InsideFieldsPreferences>,\n ) => void\n setDocumentIsLocked?: React.Dispatch<React.SetStateAction<boolean>>\n setHasPublishedDoc: React.Dispatch<React.SetStateAction<boolean>>\n setHasScheduledPublish: React.Dispatch<React.SetStateAction<boolean>>\n setLastUpdateTime: React.Dispatch<React.SetStateAction<number>>\n setMostRecentVersionIsAutosaved: React.Dispatch<React.SetStateAction<boolean>>\n setUnpublishedVersionCount: React.Dispatch<React.SetStateAction<number>>\n setUploadStatus?: (status: 'failed' | 'idle' | 'uploading') => void\n unlockDocument: (docID: number | string, slug: string) => Promise<void>\n unpublishedVersionCount: number\n updateDocumentEditor: (docID: number | string, slug: string, user: User) => Promise<void>\n /**\n * @deprecated This property is deprecated and will be removed in v4.\n * Use `setData` instead.\n */\n updateSavedDocumentData: (data: Data) => void\n uploadStatus?: 'failed' | 'idle' | 'uploading'\n versionCount: number\n} & DocumentInfoProps\n\nexport const DocumentTitleContext = React.createContext<string>('')\n"],"mappings":"AAaA,OAAOA,KAAA,MAAW;AA4FlB,OAAO,MAAMC,oBAAA,GAAuBD,KAAA,CAAME,aAAa,CAAS","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":["React","DocumentTitleContext","createContext"],"sources":["../../../src/providers/DocumentInfo/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n Data,\n DocumentPreferences,\n FormState,\n InsideFieldsPreferences,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n User,\n} from 'payload'\n\nimport React from 'react'\n\nimport type { GetDocPermissions } from './useGetDocPermissions.js'\n\nexport type DocumentInfoProps = {\n readonly action?: string\n readonly AfterDocument?: React.ReactNode\n readonly AfterFields?: React.ReactNode\n readonly apiURL?: string\n readonly BeforeFields?: React.ReactNode\n readonly collectionSlug?: SanitizedCollectionConfig['slug']\n readonly currentEditor: User\n readonly disableActions?: boolean\n readonly disableCreate?: boolean\n readonly disableLeaveWithoutSaving?: boolean\n readonly docPermissions?: SanitizedDocumentPermissions\n readonly globalSlug?: SanitizedGlobalConfig['slug']\n /**\n * Whether the user can permanently delete documents when trash is enabled.\n * Determined by checking delete access with `deletedAt` set.\n */\n readonly hasDeletePermission?: boolean\n readonly hasPublishedDoc: boolean\n readonly hasPublishPermission?: boolean\n readonly hasSavePermission?: boolean\n /** Whether the document or global has an upcoming scheduled publish/unpublish job. */\n readonly hasScheduledPublish?: boolean\n /** Whether the user can trash (soft delete) documents. Only applicable when `trash` is enabled. */\n readonly hasTrashPermission?: boolean\n readonly id?: number | string\n readonly initialData?: Data\n readonly initialState?: FormState\n readonly isEditing?: boolean\n readonly isLocked: boolean\n readonly isTrashed?: boolean\n readonly lastUpdateTime: number\n readonly mostRecentVersionIsAutosaved: boolean\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly redirectAfterRestore?: boolean\n readonly unpublishedVersionCount: number\n readonly Upload?: React.ReactNode\n readonly versionCount: number\n}\n\nexport type DocumentInfoContext = {\n currentEditor?: null | number | string | User\n data?: Data\n docConfig?: ClientCollectionConfig | ClientGlobalConfig\n documentIsLocked?: boolean\n documentLockState: React.RefObject<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: number | string | User\n } | null>\n getDocPermissions: GetDocPermissions\n getDocPreferences: () => Promise<DocumentPreferences>\n hasScheduledPublish: boolean\n incrementVersionCount: () => void\n isInitializing: boolean\n preferencesKey?: string\n setCurrentEditor?: React.Dispatch<React.SetStateAction<User>>\n setData: (data: Data) => void\n setDocFieldPreferences: (\n field: string,\n fieldPreferences: { [key: string]: unknown } & Partial<InsideFieldsPreferences>,\n ) => void\n setDocumentIsLocked?: React.Dispatch<React.SetStateAction<boolean>>\n setHasPublishedDoc: React.Dispatch<React.SetStateAction<boolean>>\n setHasScheduledPublish: React.Dispatch<React.SetStateAction<boolean>>\n setLastUpdateTime: React.Dispatch<React.SetStateAction<number>>\n setMostRecentVersionIsAutosaved: React.Dispatch<React.SetStateAction<boolean>>\n setUnpublishedVersionCount: React.Dispatch<React.SetStateAction<number>>\n setUploadStatus?: (status: 'failed' | 'idle' | 'uploading') => void\n unlockDocument: (docID: number | string, slug: string) => Promise<void>\n unpublishedVersionCount: number\n updateDocumentEditor: (docID: number | string, slug: string, user: User) => Promise<void>\n uploadStatus?: 'failed' | 'idle' | 'uploading'\n versionCount: number\n} & DocumentInfoProps\n\nexport const DocumentTitleContext = React.createContext<string>('')\n"],"mappings":"AAaA,OAAOA,KAAA,MAAW;AAkFlB,OAAO,MAAMC,oBAAA,GAAuBD,KAAA,CAAME,aAAa,CAAS","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { ListQuery } from 'payload';
2
+ export declare const getSearchWithListQuery: ({ currentSearch, query, updatedQuery, }: {
3
+ currentSearch: string;
4
+ query: ListQuery;
5
+ updatedQuery?: ListQuery;
6
+ }) => string;
7
+ //# sourceMappingURL=getSearchWithListQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSearchWithListQuery.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/getSearchWithListQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAuBxC,eAAO,MAAM,sBAAsB,4CAIhC;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,SAAS,CAAA;IAChB,YAAY,CAAC,EAAE,SAAS,CAAA;CACzB,KAAG,MAkBH,CAAA"}
@@ -0,0 +1,22 @@
1
+ import * as qs from 'qs-esm';
2
+ import { parseSearchParams } from '../../utilities/parseSearchParams.js';
3
+ const listURLQueryKeys = ['columns', 'groupBy', 'limit', 'page', 'preset', 'queryByGroup', 'search', 'sort', 'where'];
4
+ export const getSearchWithListQuery = ({
5
+ currentSearch,
6
+ query,
7
+ updatedQuery
8
+ }) => {
9
+ // Server-resolved queries can contain route parameters. Core list keys are always owned here,
10
+ // while custom keys are only owned when a refinement explicitly updates them.
11
+ const keysToUpdate = new Set([...listURLQueryKeys, ...Object.keys(updatedQuery ?? {})]);
12
+ const currentURLQuery = parseSearchParams(new URLSearchParams(currentSearch));
13
+ const unchangedQuery = Object.fromEntries(Object.entries(currentURLQuery).filter(([key]) => !keysToUpdate.has(key)));
14
+ const listQuery = Object.fromEntries(Object.entries(query).filter(([key]) => keysToUpdate.has(key)));
15
+ return `?${qs.stringify({
16
+ ...unchangedQuery,
17
+ ...listQuery,
18
+ columns: JSON.stringify(query.columns),
19
+ queryByGroup: JSON.stringify(query.queryByGroup)
20
+ })}`;
21
+ };
22
+ //# sourceMappingURL=getSearchWithListQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSearchWithListQuery.js","names":["qs","parseSearchParams","listURLQueryKeys","getSearchWithListQuery","currentSearch","query","updatedQuery","keysToUpdate","Set","Object","keys","currentURLQuery","URLSearchParams","unchangedQuery","fromEntries","entries","filter","key","has","listQuery","stringify","columns","JSON","queryByGroup"],"sources":["../../../src/providers/ListQuery/getSearchWithListQuery.ts"],"sourcesContent":["import type { ListQuery } from 'payload'\n\nimport * as qs from 'qs-esm'\n\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\n\ntype ListURLQuery = Pick<\n ListQuery,\n 'columns' | 'groupBy' | 'limit' | 'page' | 'preset' | 'queryByGroup' | 'search' | 'sort' | 'where'\n>\n\nconst listURLQueryKeys = [\n 'columns',\n 'groupBy',\n 'limit',\n 'page',\n 'preset',\n 'queryByGroup',\n 'search',\n 'sort',\n 'where',\n] as const satisfies ReadonlyArray<keyof ListURLQuery>\n\nexport const getSearchWithListQuery = ({\n currentSearch,\n query,\n updatedQuery,\n}: {\n currentSearch: string\n query: ListQuery\n updatedQuery?: ListQuery\n}): string => {\n // Server-resolved queries can contain route parameters. Core list keys are always owned here,\n // while custom keys are only owned when a refinement explicitly updates them.\n const keysToUpdate = new Set<string>([...listURLQueryKeys, ...Object.keys(updatedQuery ?? {})])\n const currentURLQuery = parseSearchParams(new URLSearchParams(currentSearch))\n const unchangedQuery = Object.fromEntries(\n Object.entries(currentURLQuery).filter(([key]) => !keysToUpdate.has(key)),\n )\n const listQuery = Object.fromEntries(\n Object.entries(query).filter(([key]) => keysToUpdate.has(key)),\n )\n\n return `?${qs.stringify({\n ...unchangedQuery,\n ...listQuery,\n columns: JSON.stringify(query.columns),\n queryByGroup: JSON.stringify(query.queryByGroup),\n })}`\n}\n"],"mappings":"AAEA,YAAYA,EAAA,MAAQ;AAEpB,SAASC,iBAAiB,QAAQ;AAOlC,MAAMC,gBAAA,GAAmB,CACvB,WACA,WACA,SACA,QACA,UACA,gBACA,UACA,QACA,QACD;AAED,OAAO,MAAMC,sBAAA,GAAyBA,CAAC;EACrCC,aAAa;EACbC,KAAK;EACLC;AAAY,CAKb;EACC;EACA;EACA,MAAMC,YAAA,GAAe,IAAIC,GAAA,CAAY,C,GAAIN,gBAAA,E,GAAqBO,MAAA,CAAOC,IAAI,CAACJ,YAAA,IAAgB,CAAC,GAAG;EAC9F,MAAMK,eAAA,GAAkBV,iBAAA,CAAkB,IAAIW,eAAA,CAAgBR,aAAA;EAC9D,MAAMS,cAAA,GAAiBJ,MAAA,CAAOK,WAAW,CACvCL,MAAA,CAAOM,OAAO,CAACJ,eAAA,EAAiBK,MAAM,CAAC,CAAC,CAACC,GAAA,CAAI,KAAK,CAACV,YAAA,CAAaW,GAAG,CAACD,GAAA;EAEtE,MAAME,SAAA,GAAYV,MAAA,CAAOK,WAAW,CAClCL,MAAA,CAAOM,OAAO,CAACV,KAAA,EAAOW,MAAM,CAAC,CAAC,CAACC,GAAA,CAAI,KAAKV,YAAA,CAAaW,GAAG,CAACD,GAAA;EAG3D,OAAO,IAAIjB,EAAA,CAAGoB,SAAS,CAAC;IACtB,GAAGP,cAAc;IACjB,GAAGM,SAAS;IACZE,OAAA,EAASC,IAAA,CAAKF,SAAS,CAACf,KAAA,CAAMgB,OAAO;IACrCE,YAAA,EAAcD,IAAA,CAAKF,SAAS,CAACf,KAAA,CAAMkB,YAAY;EACjD,IAAI;AACN","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAEhF,OAAO,KAAK,EAAqB,cAAc,EAAE,MAAM,YAAY,CAAA;AAWnE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAuMtD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAEhF,OAAO,KAAK,EAAqB,cAAc,EAAE,MAAM,YAAY,CAAA;AAYnE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA4MtD,CAAA"}
@@ -2,7 +2,6 @@
2
2
 
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
4
  import { transformWhereQuery, validateWhereQuery } from 'payload/shared';
5
- import * as qs from 'qs-esm';
6
5
  import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
7
6
  import { useListDrawerContext } from '../../elements/ListDrawer/Provider.js';
8
7
  import { useEffectEvent } from '../../hooks/useEffectEvent.js';
@@ -10,6 +9,7 @@ import { useRouteTransition } from '../../providers/RouteTransition/index.js';
10
9
  import { parseSearchParams } from '../../utilities/parseSearchParams.js';
11
10
  import { useRouter, useSearchParams } from '../RouterAdapter/index.js';
12
11
  import { ListQueryContext, ListQueryModifiedContext } from './context.js';
12
+ import { getSearchWithListQuery } from './getSearchWithListQuery.js';
13
13
  import { mergeQuery } from './mergeQuery.js';
14
14
  import { sanitizeQuery } from './sanitizeQuery.js';
15
15
  export { useListQuery } from './context.js';
@@ -40,7 +40,7 @@ export const ListQueryProvider = ({
40
40
  const queryFromURL = useMemo(() => sanitizeQuery(parseSearchParams(rawSearchParams)), [rawSearchParams]);
41
41
  const [query, setQuery] = useState(() => {
42
42
  if (modifySearchParams) {
43
- return queryFromURL;
43
+ return queryFromProps ? sanitizeQuery(queryFromProps) : queryFromURL;
44
44
  } else {
45
45
  return {
46
46
  limit: queryFromProps.limit,
@@ -48,6 +48,7 @@ export const ListQueryProvider = ({
48
48
  };
49
49
  }
50
50
  });
51
+ const [searchInput, setSearchInput] = useState(query?.search || '');
51
52
  const refineListData = useCallback(
52
53
  // eslint-disable-next-line @typescript-eslint/require-await
53
54
  async (incomingQuery, modified_0) => {
@@ -59,11 +60,11 @@ export const ListQueryProvider = ({
59
60
  }
60
61
  });
61
62
  if (modifySearchParams) {
62
- const search = `?${qs.stringify({
63
- ...newQuery,
64
- columns: JSON.stringify(newQuery.columns),
65
- queryByGroup: JSON.stringify(newQuery.queryByGroup)
66
- })}`;
63
+ const search = getSearchWithListQuery({
64
+ currentSearch: window.location.search,
65
+ query: newQuery,
66
+ updatedQuery: incomingQuery
67
+ });
67
68
  if (window.location.search !== search) {
68
69
  startRouteTransition(() => router.replace(search, {
69
70
  scroll: false
@@ -112,11 +113,10 @@ export const ListQueryProvider = ({
112
113
  ...(query || {}),
113
114
  ...(queryFromProps || {})
114
115
  });
115
- const search_1 = `?${qs.stringify({
116
- ...newQuery_0,
117
- columns: JSON.stringify(newQuery_0.columns),
118
- queryByGroup: JSON.stringify(newQuery_0.queryByGroup)
119
- })}`;
116
+ const search_1 = getSearchWithListQuery({
117
+ currentSearch: window.location.search,
118
+ query: newQuery_0
119
+ });
120
120
  if (window.location.search !== search_1) {
121
121
  setQuery(newQuery_0);
122
122
  // Important: do not use router.replace here to avoid re-rendering.
@@ -172,7 +172,11 @@ export const ListQueryProvider = ({
172
172
  orderableFieldName,
173
173
  query,
174
174
  refineListData,
175
+ resolvedGroupBy: queryFromProps?.groupBy,
176
+ resolvedSearch: queryFromProps?.search,
177
+ searchInput,
175
178
  setModified,
179
+ setSearchInput,
176
180
  ...contextRef.current
177
181
  },
178
182
  children: /*#__PURE__*/_jsx(ListQueryModifiedContext, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["transformWhereQuery","validateWhereQuery","qs","React","useCallback","useEffect","useMemo","useRef","useState","useListDrawerContext","useEffectEvent","useRouteTransition","parseSearchParams","useRouter","useSearchParams","ListQueryContext","ListQueryModifiedContext","mergeQuery","sanitizeQuery","useListQuery","ListQueryProvider","children","collectionSlug","data","modifySearchParams","onQueryChange","onQueryChangeFromProps","orderableFieldName","query","queryFromProps","router","rawSearchParams","startRouteTransition","modified","setModified","contextRef","current","onQueryChangeFromContext","queryFromURL","setQuery","limit","sort","refineListData","incomingQuery","newQuery","defaults","search","stringify","columns","JSON","queryByGroup","window","location","replace","scroll","handlePageChange","arg","page","handlePerPageChange","handleSearchChange","undefined","handleSortChange","handleWhereChange","where","syncPropsToURL","replaceState","history","hasActiveFilters","normalizedWhere","or","some","orGroup","and","andGroup","field","Object","keys","operatorObj","operator","Boolean","_jsx","value","defaultLimit","isGroupingBy","groupBy"],"sources":["../../../src/providers/ListQuery/index.tsx"],"sourcesContent":["'use client'\nimport { type ListQuery, type Where } from 'payload'\nimport { transformWhereQuery, validateWhereQuery } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { IListQueryContext, ListQueryProps } from './types.js'\n\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { useRouter, useSearchParams } from '../RouterAdapter/index.js'\nimport { ListQueryContext, ListQueryModifiedContext } from './context.js'\nimport { mergeQuery } from './mergeQuery.js'\nimport { sanitizeQuery } from './sanitizeQuery.js'\n\nexport { useListQuery } from './context.js'\n\nexport const ListQueryProvider: React.FC<ListQueryProps> = ({\n children,\n collectionSlug,\n data,\n modifySearchParams,\n onQueryChange: onQueryChangeFromProps,\n orderableFieldName,\n query: queryFromProps,\n}) => {\n // TODO: Investigate if this is still needed\n 'use no memo'\n\n const router = useRouter()\n const rawSearchParams = useSearchParams()\n const { startRouteTransition } = useRouteTransition()\n const [modified, setModified] = useState(false)\n const contextRef = useRef({} as IListQueryContext)\n contextRef.current.modified = modified\n\n const { onQueryChange: onQueryChangeFromContext } = useListDrawerContext()\n const onQueryChange = onQueryChangeFromContext || onQueryChangeFromProps\n\n const queryFromURL = useMemo<ListQuery>(\n () => sanitizeQuery(parseSearchParams(rawSearchParams)),\n [rawSearchParams],\n )\n\n const [query, setQuery] = useState<ListQuery>(() => {\n if (modifySearchParams) {\n return queryFromURL\n } else {\n return {\n limit: queryFromProps.limit,\n sort: queryFromProps.sort,\n }\n }\n })\n\n const refineListData = useCallback(\n // eslint-disable-next-line @typescript-eslint/require-await\n async (incomingQuery: ListQuery, modified?: boolean) => {\n setModified(modified ?? true)\n\n const newQuery = mergeQuery(query, incomingQuery, {\n defaults: {\n limit: queryFromProps.limit,\n sort: queryFromProps.sort,\n },\n })\n\n if (modifySearchParams) {\n const search = `?${qs.stringify({\n ...newQuery,\n columns: JSON.stringify(newQuery.columns),\n queryByGroup: JSON.stringify(newQuery.queryByGroup),\n })}`\n if (window.location.search !== search) {\n startRouteTransition(() => router.replace(search, { scroll: false }))\n }\n } else if (typeof onQueryChange === 'function') {\n onQueryChange(newQuery)\n }\n\n setQuery(newQuery)\n },\n [\n query,\n queryFromProps.limit,\n queryFromProps.sort,\n modifySearchParams,\n onQueryChange,\n startRouteTransition,\n router,\n ],\n )\n\n const handlePageChange = useCallback(\n async (arg: number) => {\n await refineListData({ page: arg })\n },\n [refineListData],\n )\n\n const handlePerPageChange = React.useCallback(\n async (arg: number) => {\n await refineListData({ limit: arg, page: 1 })\n },\n [refineListData],\n )\n\n const handleSearchChange = useCallback(\n async (arg: string) => {\n const search = arg === '' ? undefined : arg\n await refineListData({ search })\n },\n [refineListData],\n )\n\n const handleSortChange = useCallback(\n async (sort: string) => {\n await refineListData({ sort })\n },\n [refineListData],\n )\n\n const handleWhereChange = useCallback(\n async (where: Where) => {\n await refineListData({ where })\n },\n [refineListData],\n )\n\n /**\n * The server component may pass props to this client component, e.g. from\n * fetching the query from preferences.\n * This effect is responsible for syncing the props back to the URL, without\n * triggering a re-render.\n */\n const syncPropsToURL = useEffectEvent(() => {\n const newQuery = sanitizeQuery({ ...(query || {}), ...(queryFromProps || {}) })\n\n const search = `?${qs.stringify({\n ...newQuery,\n columns: JSON.stringify(newQuery.columns),\n queryByGroup: JSON.stringify(newQuery.queryByGroup),\n })}`\n\n if (window.location.search !== search) {\n setQuery(newQuery)\n // Important: do not use router.replace here to avoid re-rendering.\n // Go through the adapter's replaceState so routers that observe history\n // mutations (e.g. TanStack) don't re-run their loader and double-load the\n // view. Falls back to the native call for adapters that don't implement it.\n if (router.replaceState) {\n router.replaceState(search)\n } else {\n window.history.replaceState(null, '', search)\n }\n }\n })\n\n // If `query` is updated externally, update the local state\n // E.g. when HMR runs, these properties may be different\n useEffect(() => {\n if (modifySearchParams && queryFromProps) {\n syncPropsToURL()\n }\n }, [modifySearchParams, queryFromProps])\n\n const hasActiveFilters = useMemo(() => {\n if (!query?.where) {\n return false\n }\n\n // Normalize flat/invalid where queries (e.g. `{ title: { equals } }`) into the\n // `or/and` structure so they are detected the same way the WhereBuilder reads them.\n const normalizedWhere = validateWhereQuery(query.where)\n ? query.where\n : transformWhereQuery(query.where)\n\n return (normalizedWhere.or ?? []).some((orGroup) =>\n (orGroup.and ?? []).some((andGroup) => {\n const field = Object.keys(andGroup)[0]\n if (!field) {\n return false\n }\n const operatorObj = andGroup[field]\n if (!operatorObj || typeof operatorObj !== 'object') {\n return false\n }\n const operator = Object.keys(operatorObj)[0]\n return Boolean(operator) && (operatorObj as Record<string, unknown>)[operator] !== undefined\n }),\n )\n }, [query?.where])\n\n return (\n <ListQueryContext\n value={{\n collectionSlug,\n data,\n defaultLimit: data?.limit,\n handlePageChange,\n handlePerPageChange,\n handleSearchChange,\n handleSortChange,\n handleWhereChange,\n hasActiveFilters,\n isGroupingBy: Boolean(query?.groupBy),\n orderableFieldName,\n query,\n refineListData,\n setModified,\n ...contextRef.current,\n }}\n >\n <ListQueryModifiedContext value={modified}>{children}</ListQueryModifiedContext>\n </ListQueryContext>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["transformWhereQuery","validateWhereQuery","React","useCallback","useEffect","useMemo","useRef","useState","useListDrawerContext","useEffectEvent","useRouteTransition","parseSearchParams","useRouter","useSearchParams","ListQueryContext","ListQueryModifiedContext","getSearchWithListQuery","mergeQuery","sanitizeQuery","useListQuery","ListQueryProvider","children","collectionSlug","data","modifySearchParams","onQueryChange","onQueryChangeFromProps","orderableFieldName","query","queryFromProps","router","rawSearchParams","startRouteTransition","modified","setModified","contextRef","current","onQueryChangeFromContext","queryFromURL","setQuery","limit","sort","searchInput","setSearchInput","search","refineListData","incomingQuery","newQuery","defaults","currentSearch","window","location","updatedQuery","replace","scroll","handlePageChange","arg","page","handlePerPageChange","handleSearchChange","undefined","handleSortChange","handleWhereChange","where","syncPropsToURL","replaceState","history","hasActiveFilters","normalizedWhere","or","some","orGroup","and","andGroup","field","Object","keys","operatorObj","operator","Boolean","_jsx","value","defaultLimit","isGroupingBy","groupBy","resolvedGroupBy","resolvedSearch"],"sources":["../../../src/providers/ListQuery/index.tsx"],"sourcesContent":["'use client'\nimport { type ListQuery, type Where } from 'payload'\nimport { transformWhereQuery, validateWhereQuery } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { IListQueryContext, ListQueryProps } from './types.js'\n\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { useRouter, useSearchParams } from '../RouterAdapter/index.js'\nimport { ListQueryContext, ListQueryModifiedContext } from './context.js'\nimport { getSearchWithListQuery } from './getSearchWithListQuery.js'\nimport { mergeQuery } from './mergeQuery.js'\nimport { sanitizeQuery } from './sanitizeQuery.js'\n\nexport { useListQuery } from './context.js'\n\nexport const ListQueryProvider: React.FC<ListQueryProps> = ({\n children,\n collectionSlug,\n data,\n modifySearchParams,\n onQueryChange: onQueryChangeFromProps,\n orderableFieldName,\n query: queryFromProps,\n}) => {\n // TODO: Investigate if this is still needed\n 'use no memo'\n\n const router = useRouter()\n const rawSearchParams = useSearchParams()\n const { startRouteTransition } = useRouteTransition()\n const [modified, setModified] = useState(false)\n const contextRef = useRef({} as IListQueryContext)\n contextRef.current.modified = modified\n\n const { onQueryChange: onQueryChangeFromContext } = useListDrawerContext()\n const onQueryChange = onQueryChangeFromContext || onQueryChangeFromProps\n\n const queryFromURL = useMemo<ListQuery>(\n () => sanitizeQuery(parseSearchParams(rawSearchParams)),\n [rawSearchParams],\n )\n\n const [query, setQuery] = useState<ListQuery>(() => {\n if (modifySearchParams) {\n return queryFromProps ? sanitizeQuery(queryFromProps) : queryFromURL\n } else {\n return {\n limit: queryFromProps.limit,\n sort: queryFromProps.sort,\n }\n }\n })\n\n const [searchInput, setSearchInput] = useState(query?.search || '')\n\n const refineListData = useCallback(\n // eslint-disable-next-line @typescript-eslint/require-await\n async (incomingQuery: ListQuery, modified?: boolean) => {\n setModified(modified ?? true)\n\n const newQuery = mergeQuery(query, incomingQuery, {\n defaults: {\n limit: queryFromProps.limit,\n sort: queryFromProps.sort,\n },\n })\n\n if (modifySearchParams) {\n const search = getSearchWithListQuery({\n currentSearch: window.location.search,\n query: newQuery,\n updatedQuery: incomingQuery,\n })\n if (window.location.search !== search) {\n startRouteTransition(() => router.replace(search, { scroll: false }))\n }\n } else if (typeof onQueryChange === 'function') {\n onQueryChange(newQuery)\n }\n\n setQuery(newQuery)\n },\n [\n query,\n queryFromProps.limit,\n queryFromProps.sort,\n modifySearchParams,\n onQueryChange,\n startRouteTransition,\n router,\n ],\n )\n\n const handlePageChange = useCallback(\n async (arg: number) => {\n await refineListData({ page: arg })\n },\n [refineListData],\n )\n\n const handlePerPageChange = React.useCallback(\n async (arg: number) => {\n await refineListData({ limit: arg, page: 1 })\n },\n [refineListData],\n )\n\n const handleSearchChange = useCallback(\n async (arg: string) => {\n const search = arg === '' ? undefined : arg\n await refineListData({ search })\n },\n [refineListData],\n )\n\n const handleSortChange = useCallback(\n async (sort: string) => {\n await refineListData({ sort })\n },\n [refineListData],\n )\n\n const handleWhereChange = useCallback(\n async (where: Where) => {\n await refineListData({ where })\n },\n [refineListData],\n )\n\n /**\n * The server component may pass props to this client component, e.g. from\n * fetching the query from preferences.\n * This effect is responsible for syncing the props back to the URL, without\n * triggering a re-render.\n */\n const syncPropsToURL = useEffectEvent(() => {\n const newQuery = sanitizeQuery({ ...(query || {}), ...(queryFromProps || {}) })\n\n const search = getSearchWithListQuery({\n currentSearch: window.location.search,\n query: newQuery,\n })\n\n if (window.location.search !== search) {\n setQuery(newQuery)\n // Important: do not use router.replace here to avoid re-rendering.\n // Go through the adapter's replaceState so routers that observe history\n // mutations (e.g. TanStack) don't re-run their loader and double-load the\n // view. Falls back to the native call for adapters that don't implement it.\n if (router.replaceState) {\n router.replaceState(search)\n } else {\n window.history.replaceState(null, '', search)\n }\n }\n })\n\n // If `query` is updated externally, update the local state\n // E.g. when HMR runs, these properties may be different\n useEffect(() => {\n if (modifySearchParams && queryFromProps) {\n syncPropsToURL()\n }\n }, [modifySearchParams, queryFromProps])\n\n const hasActiveFilters = useMemo(() => {\n if (!query?.where) {\n return false\n }\n\n // Normalize flat/invalid where queries (e.g. `{ title: { equals } }`) into the\n // `or/and` structure so they are detected the same way the WhereBuilder reads them.\n const normalizedWhere = validateWhereQuery(query.where)\n ? query.where\n : transformWhereQuery(query.where)\n\n return (normalizedWhere.or ?? []).some((orGroup) =>\n (orGroup.and ?? []).some((andGroup) => {\n const field = Object.keys(andGroup)[0]\n if (!field) {\n return false\n }\n const operatorObj = andGroup[field]\n if (!operatorObj || typeof operatorObj !== 'object') {\n return false\n }\n const operator = Object.keys(operatorObj)[0]\n return Boolean(operator) && (operatorObj as Record<string, unknown>)[operator] !== undefined\n }),\n )\n }, [query?.where])\n\n return (\n <ListQueryContext\n value={{\n collectionSlug,\n data,\n defaultLimit: data?.limit,\n handlePageChange,\n handlePerPageChange,\n handleSearchChange,\n handleSortChange,\n handleWhereChange,\n hasActiveFilters,\n isGroupingBy: Boolean(query?.groupBy),\n orderableFieldName,\n query,\n refineListData,\n resolvedGroupBy: queryFromProps?.groupBy,\n resolvedSearch: queryFromProps?.search,\n searchInput,\n setModified,\n setSearchInput,\n ...contextRef.current,\n }}\n >\n <ListQueryModifiedContext value={modified}>{children}</ListQueryModifiedContext>\n </ListQueryContext>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -35,7 +35,11 @@ export type IListQueryContext = {
35
35
  orderableFieldName?: string;
36
36
  query: ListQuery;
37
37
  refineListData: (args: ListQuery, setModified?: boolean) => Promise<void>;
38
+ resolvedGroupBy?: string;
39
+ resolvedSearch?: string;
40
+ searchInput: string;
38
41
  setModified: (modified: boolean) => void;
42
+ setSearchInput: (search: string) => void;
39
43
  } & ContextHandlers;
40
44
  export {};
41
45
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,SAAS,EAET,aAAa,EACb,IAAI,EACJ,KAAK,EACN,MAAM,SAAS,CAAA;AAEhB,KAAK,eAAe,GAAG;IACrB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;AAE1D,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAA;IACxD,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAA;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IACpC;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAA;IAC9C,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,8EAA8E;IAC9E,gBAAgB,EAAE,OAAO,CAAA;IACzB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAA;IACrB,QAAQ,EAAE,OAAO,CAAA;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,KAAK,EAAE,SAAS,CAAA;IAChB,cAAc,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACzE,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;CACzC,GAAG,eAAe,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,SAAS,EAET,aAAa,EACb,IAAI,EACJ,KAAK,EACN,MAAM,SAAS,CAAA;AAEhB,KAAK,eAAe,GAAG;IACrB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;AAE1D,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAA;IACxD,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAA;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IACpC;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAA;IAC9C,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,8EAA8E;IAC9E,gBAAgB,EAAE,OAAO,CAAA;IACzB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAA;IACrB,QAAQ,EAAE,OAAO,CAAA;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,KAAK,EAAE,SAAS,CAAA;IAChB,cAAc,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACzE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;IACxC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CACzC,GAAG,eAAe,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/providers/ListQuery/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ListQuery,\n PaginatedDistinctDocs,\n PaginatedDocs,\n Sort,\n Where,\n} from 'payload'\n\ntype ContextHandlers = {\n handlePageChange?: (page: number) => Promise<void>\n handlePerPageChange?: (limit: number) => Promise<void>\n handleSearchChange?: (search: string) => Promise<void>\n handleSortChange?: (sort: string) => Promise<void>\n handleWhereChange?: (where: Where) => Promise<void>\n}\n\nexport type OnListQueryChange = (query: ListQuery) => void\n\nexport type ListQueryProps = {\n readonly children: React.ReactNode\n readonly collectionSlug?: ClientCollectionConfig['slug']\n readonly data: PaginatedDocs | undefined\n readonly modifySearchParams?: boolean\n readonly onQueryChange?: OnListQueryChange\n readonly orderableFieldName?: string\n /**\n * @deprecated\n */\n readonly preferenceKey?: string\n readonly query?: ListQuery\n}\n\nexport type IListQueryContext = {\n collectionSlug: ClientCollectionConfig['slug']\n data: ListQueryProps['data']\n defaultLimit?: number\n defaultSort?: Sort\n /** True when the where query contains at least one condition with a value. */\n hasActiveFilters: boolean\n /**\n * @experimental This prop is subject to change. Use at your own risk.\n */\n isGroupingBy: boolean\n modified: boolean\n orderableFieldName?: string\n query: ListQuery\n refineListData: (args: ListQuery, setModified?: boolean) => Promise<void>\n setModified: (modified: boolean) => void\n} & ContextHandlers\n"],"mappings":"AAiCA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/providers/ListQuery/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ListQuery,\n PaginatedDistinctDocs,\n PaginatedDocs,\n Sort,\n Where,\n} from 'payload'\n\ntype ContextHandlers = {\n handlePageChange?: (page: number) => Promise<void>\n handlePerPageChange?: (limit: number) => Promise<void>\n handleSearchChange?: (search: string) => Promise<void>\n handleSortChange?: (sort: string) => Promise<void>\n handleWhereChange?: (where: Where) => Promise<void>\n}\n\nexport type OnListQueryChange = (query: ListQuery) => void\n\nexport type ListQueryProps = {\n readonly children: React.ReactNode\n readonly collectionSlug?: ClientCollectionConfig['slug']\n readonly data: PaginatedDocs | undefined\n readonly modifySearchParams?: boolean\n readonly onQueryChange?: OnListQueryChange\n readonly orderableFieldName?: string\n /**\n * @deprecated\n */\n readonly preferenceKey?: string\n readonly query?: ListQuery\n}\n\nexport type IListQueryContext = {\n collectionSlug: ClientCollectionConfig['slug']\n data: ListQueryProps['data']\n defaultLimit?: number\n defaultSort?: Sort\n /** True when the where query contains at least one condition with a value. */\n hasActiveFilters: boolean\n /**\n * @experimental This prop is subject to change. Use at your own risk.\n */\n isGroupingBy: boolean\n modified: boolean\n orderableFieldName?: string\n query: ListQuery\n refineListData: (args: ListQuery, setModified?: boolean) => Promise<void>\n resolvedGroupBy?: string\n resolvedSearch?: string\n searchInput: string\n setModified: (modified: boolean) => void\n setSearchInput: (search: string) => void\n} & ContextHandlers\n"],"mappings":"AAiCA","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ /** Keeps the page and lower modal layers out of navigation while the top modal is open. */
2
+ export declare function ModalAccessibility(): any;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ModalAccessibility/index.tsx"],"names":[],"mappings":"AAOA,2FAA2F;AAC3F,wBAAgB,kBAAkB,QAmEjC"}
@@ -0,0 +1,102 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { useModal } from '@faceless-ui/modal';
5
+ import { useLayoutEffect } from 'react';
6
+ import { getActiveModal } from '../../utilities/getActiveModal.js';
7
+ /** Keeps the page and lower modal layers out of navigation while the top modal is open. */
8
+ export function ModalAccessibility() {
9
+ const $ = _c(3);
10
+ const {
11
+ modalState
12
+ } = useModal();
13
+ let t0;
14
+ let t1;
15
+ if ($[0] !== modalState) {
16
+ t0 = () => {
17
+ if (!Object.values(modalState).some(_temp)) {
18
+ return;
19
+ }
20
+ const restoredInert = new Map();
21
+ const restore = () => {
22
+ for (const [element, wasInert] of restoredInert) {
23
+ restoreBackgroundElement({
24
+ element,
25
+ state: wasInert
26
+ });
27
+ }
28
+ restoredInert.clear();
29
+ };
30
+ const update = () => {
31
+ const activeModal = getActiveModal({
32
+ modalState
33
+ });
34
+ const background = new Set();
35
+ let current = activeModal;
36
+ while (current && current !== document.body) {
37
+ for (const sibling of current.parentElement?.children ?? []) {
38
+ if (sibling !== current && sibling instanceof HTMLElement) {
39
+ background.add(sibling);
40
+ }
41
+ }
42
+ current = current.parentElement;
43
+ }
44
+ for (const [element_0, wasInert_0] of restoredInert) {
45
+ if (!background.has(element_0)) {
46
+ restoreBackgroundElement({
47
+ element: element_0,
48
+ state: wasInert_0
49
+ });
50
+ restoredInert.delete(element_0);
51
+ }
52
+ }
53
+ for (const element_1 of background) {
54
+ if (!restoredInert.has(element_1)) {
55
+ restoredInert.set(element_1, {
56
+ ariaHidden: element_1.getAttribute("aria-hidden"),
57
+ inert: element_1.inert
58
+ });
59
+ element_1.inert = true;
60
+ element_1.setAttribute("aria-hidden", "true");
61
+ }
62
+ }
63
+ };
64
+ update();
65
+ const observer = new MutationObserver(update);
66
+ observer.observe(document.body, {
67
+ attributeFilter: ["open"],
68
+ attributes: true,
69
+ childList: true,
70
+ subtree: true
71
+ });
72
+ return () => {
73
+ observer.disconnect();
74
+ restore();
75
+ };
76
+ };
77
+ t1 = [modalState];
78
+ $[0] = modalState;
79
+ $[1] = t0;
80
+ $[2] = t1;
81
+ } else {
82
+ t0 = $[1];
83
+ t1 = $[2];
84
+ }
85
+ useLayoutEffect(t0, t1);
86
+ return null;
87
+ }
88
+ function _temp(modal) {
89
+ return modal.isOpen;
90
+ }
91
+ function restoreBackgroundElement({
92
+ element,
93
+ state
94
+ }) {
95
+ element.inert = state.inert;
96
+ if (state.ariaHidden === null) {
97
+ element.removeAttribute('aria-hidden');
98
+ } else {
99
+ element.setAttribute('aria-hidden', state.ariaHidden);
100
+ }
101
+ }
102
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","useLayoutEffect","getActiveModal","ModalAccessibility","$","modalState","t0","t1","Object","values","some","_temp","restoredInert","Map","restore","element","wasInert","restoreBackgroundElement","state","clear","update","activeModal","background","Set","current","document","body","sibling","parentElement","children","HTMLElement","add","element_0","wasInert_0","has","delete","element_1","set","ariaHidden","getAttribute","inert","setAttribute","observer","MutationObserver","observe","attributeFilter","attributes","childList","subtree","disconnect","modal","isOpen","removeAttribute"],"sources":["../../../src/providers/ModalAccessibility/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { useLayoutEffect } from 'react'\n\nimport { getActiveModal } from '../../utilities/getActiveModal.js'\n\n/** Keeps the page and lower modal layers out of navigation while the top modal is open. */\nexport function ModalAccessibility() {\n const { modalState } = useModal()\n\n useLayoutEffect(() => {\n if (!Object.values(modalState).some((modal) => modal.isOpen)) {\n return\n }\n\n const restoredInert = new Map<HTMLElement, BackgroundState>()\n\n const restore = () => {\n for (const [element, wasInert] of restoredInert) {\n restoreBackgroundElement({ element, state: wasInert })\n }\n restoredInert.clear()\n }\n\n const update = () => {\n const activeModal = getActiveModal({ modalState })\n\n const background = new Set<HTMLElement>()\n let current = activeModal\n\n while (current && current !== document.body) {\n for (const sibling of current.parentElement?.children ?? []) {\n if (sibling !== current && sibling instanceof HTMLElement) {\n background.add(sibling)\n }\n }\n current = current.parentElement\n }\n\n for (const [element, wasInert] of restoredInert) {\n if (!background.has(element)) {\n restoreBackgroundElement({ element, state: wasInert })\n restoredInert.delete(element)\n }\n }\n for (const element of background) {\n if (!restoredInert.has(element)) {\n restoredInert.set(element, {\n ariaHidden: element.getAttribute('aria-hidden'),\n inert: element.inert,\n })\n element.inert = true\n element.setAttribute('aria-hidden', 'true')\n }\n }\n }\n\n update()\n // Drawers render asynchronously; also isolate siblings inserted after opening.\n const observer = new MutationObserver(update)\n observer.observe(document.body, {\n attributeFilter: ['open'],\n attributes: true,\n childList: true,\n subtree: true,\n })\n\n return () => {\n observer.disconnect()\n restore()\n }\n }, [modalState])\n\n return null\n}\n\ntype BackgroundState = { ariaHidden: null | string; inert: boolean }\n\nfunction restoreBackgroundElement({\n element,\n state,\n}: {\n element: HTMLElement\n state: BackgroundState\n}) {\n element.inert = state.inert\n if (state.ariaHidden === null) {\n element.removeAttribute('aria-hidden')\n } else {\n element.setAttribute('aria-hidden', state.ariaHidden)\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,10 @@
1
1
  import React from 'react';
2
2
  import type { Preferences } from '../../forms/Form/types.js';
3
+ type PreferenceUpdater<T> = (current: null | T) => T;
4
+ type SetPreference = {
5
+ <T = Preferences>(key: string, updater: PreferenceUpdater<T>): Promise<void>;
6
+ <T = Preferences>(key: string, value: T, merge?: boolean): Promise<void>;
7
+ };
3
8
  type PreferencesContext = {
4
9
  getPreference: <T = Preferences>(key: string) => Promise<T>;
5
10
  /**
@@ -7,7 +12,8 @@ type PreferencesContext = {
7
12
  * @param value - preference data to store
8
13
  * @param merge - when true will combine the existing preference object batch the change into one request for objects, default = false
9
14
  */
10
- setPreference: <T = Preferences>(key: string, value: T, merge?: boolean) => Promise<void>;
15
+ setPreference: SetPreference;
16
+ syncPreference: <T = Preferences>(key: string, value: T) => void;
11
17
  };
12
18
  export declare const PreferencesProvider: React.FC<{
13
19
  children?: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Preferences/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA6D,MAAM,OAAO,CAAA;AAEjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAQ5D,KAAK,kBAAkB,GAAG;IACxB,aAAa,EAAE,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IAC3D;;;;OAIG;IACH,aAAa,EAAE,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1F,CAAA;AAYD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CA6IxE,CAAA;AAED,eAAO,MAAM,cAAc,QAAO,kBAAkC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Preferences/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA6D,MAAM,OAAO,CAAA;AAEjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAQ5D,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;AAEpD,KAAK,aAAa,GAAG;IACnB,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5E,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACzE,CAAA;AAED,KAAK,kBAAkB,GAAG;IACxB,aAAa,EAAE,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IAC3D;;;;OAIG;IACH,aAAa,EAAE,aAAa,CAAA;IAC5B,cAAc,EAAE,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;CACjE,CAAA;AAYD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAmMxE,CAAA;AAED,eAAO,MAAM,cAAc,QAAO,kBAAkC,CAAA"}
@@ -25,6 +25,8 @@ export const PreferencesProvider = ({
25
25
  const contextRef = useRef({});
26
26
  const preferencesRef = useRef({});
27
27
  const pendingUpdate = useRef({});
28
+ const pendingWrites = useRef({});
29
+ const updateQueues = useRef({});
28
30
  const {
29
31
  config
30
32
  } = useConfig();
@@ -43,6 +45,9 @@ export const PreferencesProvider = ({
43
45
  if (!user) {
44
46
  // clear preferences between users
45
47
  preferencesRef.current = {};
48
+ pendingUpdate.current = {};
49
+ pendingWrites.current = {};
50
+ updateQueues.current = {};
46
51
  }
47
52
  }, [user]);
48
53
  const getPreference = useCallback(async key => {
@@ -66,26 +71,62 @@ export const PreferencesProvider = ({
66
71
  const preference = await request.json();
67
72
  value = preference.value;
68
73
  }
69
- preferencesRef.current[key] = value;
70
- resolve(value);
74
+ if (prefs[key] === promise) {
75
+ prefs[key] = value;
76
+ resolve(value);
77
+ } else {
78
+ resolve(await prefs[key]);
79
+ }
71
80
  })();
72
81
  });
73
82
  prefs[key] = promise;
74
83
  return promise;
75
84
  }, [i18n.language, api, preferencesRef]);
76
- const setPreference = useCallback(async (key_0, value_0, merge = false) => {
85
+ const syncPreference = useCallback((key_0, value_0) => {
86
+ if (pendingWrites.current[key_0] || typeof pendingUpdate.current[key_0] !== 'undefined') {
87
+ return;
88
+ }
89
+ preferencesRef.current[key_0] = value_0;
90
+ }, []);
91
+ const setPreference = useCallback(async (key_1, value_1, merge = false) => {
92
+ if (typeof value_1 === 'function') {
93
+ const updater = value_1;
94
+ const previousUpdate = updateQueues.current[key_1] ?? Promise.resolve();
95
+ pendingWrites.current[key_1] = (pendingWrites.current[key_1] ?? 0) + 1;
96
+ const update = previousUpdate.then(async () => {
97
+ const current = await getPreference(key_1);
98
+ const nextValue = updater(current ?? null);
99
+ preferencesRef.current[key_1] = nextValue;
100
+ await requests.post(formatAdminURL({
101
+ apiRoute: api,
102
+ path: `/payload-preferences/${key_1}`
103
+ }), requestOptions(nextValue, i18n.language));
104
+ });
105
+ updateQueues.current[key_1] = update.catch(() => undefined);
106
+ try {
107
+ await update;
108
+ } finally {
109
+ pendingWrites.current[key_1] -= 1;
110
+ }
111
+ return;
112
+ }
77
113
  if (merge === false) {
78
- preferencesRef.current[key_0] = value_0;
79
- await requests.post(formatAdminURL({
80
- apiRoute: api,
81
- path: `/payload-preferences/${key_0}`
82
- }), requestOptions(value_0, i18n.language));
114
+ preferencesRef.current[key_1] = value_1;
115
+ pendingWrites.current[key_1] = (pendingWrites.current[key_1] ?? 0) + 1;
116
+ try {
117
+ await requests.post(formatAdminURL({
118
+ apiRoute: api,
119
+ path: `/payload-preferences/${key_1}`
120
+ }), requestOptions(value_1, i18n.language));
121
+ } finally {
122
+ pendingWrites.current[key_1] -= 1;
123
+ }
83
124
  return;
84
125
  }
85
- let newValue = value_0;
86
- const currentPreference = await getPreference(key_0);
126
+ let newValue = value_1;
127
+ const currentPreference = await getPreference(key_1);
87
128
  // handle value objects where multiple values can be set under one key
88
- if (typeof value_0 === 'object' && typeof currentPreference === 'object' && typeof newValue === 'object') {
129
+ if (typeof value_1 === 'object' && typeof currentPreference === 'object' && typeof newValue === 'object') {
89
130
  // merge the value with any existing preference for the key
90
131
  if (currentPreference) {
91
132
  newValue = deepMergeSimple(currentPreference, newValue);
@@ -94,37 +135,38 @@ export const PreferencesProvider = ({
94
135
  return;
95
136
  }
96
137
  // add the requested changes to a pendingUpdate batch for the key
97
- pendingUpdate.current[key_0] = {
98
- ...pendingUpdate.current[key_0],
138
+ pendingUpdate.current[key_1] = {
139
+ ...pendingUpdate.current[key_1],
99
140
  ...newValue
100
141
  };
101
142
  } else {
102
143
  if (newValue === currentPreference) {
103
144
  return;
104
145
  }
105
- pendingUpdate.current[key_0] = newValue;
146
+ pendingUpdate.current[key_1] = newValue;
106
147
  }
107
148
  const updatePreference = async () => {
108
149
  // compare the value stored in context before sending to eliminate duplicate requests
109
- if (dequal(pendingUpdate.current[key_0], preferencesRef.current[key_0])) {
150
+ if (dequal(pendingUpdate.current[key_1], preferencesRef.current[key_1])) {
110
151
  return;
111
152
  }
112
153
  // preference set in context here to prevent other updatePreference at the same time
113
- preferencesRef.current[key_0] = pendingUpdate.current[key_0];
154
+ preferencesRef.current[key_1] = pendingUpdate.current[key_1];
114
155
  await requests.post(formatAdminURL({
115
156
  apiRoute: api,
116
- path: `/payload-preferences/${key_0}`
117
- }), requestOptions(preferencesRef.current[key_0], i18n.language));
157
+ path: `/payload-preferences/${key_1}`
158
+ }), requestOptions(preferencesRef.current[key_1], i18n.language));
118
159
  // reset any changes for this key after sending the request
119
- delete pendingUpdate.current[key_0];
160
+ delete pendingUpdate.current[key_1];
120
161
  };
121
162
  // use timeout to allow multiple changes of different values using the same key in one request
122
163
  setTimeout(() => {
123
164
  void updatePreference();
124
165
  });
125
- }, [api, getPreference, i18n.language, pendingUpdate]);
166
+ }, [api, getPreference, i18n.language, pendingUpdate, updateQueues]);
126
167
  contextRef.current.getPreference = getPreference;
127
168
  contextRef.current.setPreference = setPreference;
169
+ contextRef.current.syncPreference = syncPreference;
128
170
  return /*#__PURE__*/_jsx(Context, {
129
171
  value: contextRef.current,
130
172
  children: children
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["dequal","formatAdminURL","React","createContext","use","useCallback","useEffect","useRef","useTranslation","requests","deepMergeSimple","useAuth","useConfig","Context","requestOptions","value","language","body","JSON","stringify","headers","PreferencesProvider","children","contextRef","preferencesRef","pendingUpdate","config","user","i18n","routes","api","current","getPreference","key","prefs","promise","Promise","resolve","request","get","apiRoute","path","credentials","status","preference","json","setPreference","merge","post","newValue","currentPreference","updatePreference","setTimeout","_jsx","usePreferences"],"sources":["../../../src/providers/Preferences/index.tsx"],"sourcesContent":["'use client'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { formatAdminURL } from 'payload/shared'\nimport React, { createContext, use, useCallback, useEffect, useRef } from 'react'\n\nimport type { Preferences } from '../../forms/Form/types.js'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { deepMergeSimple } from '../../utilities/deepMerge.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\n\ntype PreferencesContext = {\n getPreference: <T = Preferences>(key: string) => Promise<T>\n /**\n * @param key - a string identifier for the property being set\n * @param value - preference data to store\n * @param merge - when true will combine the existing preference object batch the change into one request for objects, default = false\n */\n setPreference: <T = Preferences>(key: string, value: T, merge?: boolean) => Promise<void>\n}\n\nconst Context = createContext({} as PreferencesContext)\n\nconst requestOptions = (value, language) => ({\n body: JSON.stringify({ value }),\n headers: {\n 'Accept-Language': language,\n 'Content-Type': 'application/json',\n },\n})\n\nexport const PreferencesProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const contextRef = useRef({} as PreferencesContext)\n const preferencesRef = useRef({})\n const pendingUpdate = useRef({})\n const { config } = useConfig()\n const { user } = useAuth()\n const { i18n } = useTranslation()\n\n const {\n routes: { api },\n } = config\n\n useEffect(() => {\n if (!user) {\n // clear preferences between users\n preferencesRef.current = {}\n }\n }, [user])\n\n const getPreference = useCallback(\n async <T = unknown,>(key: string): Promise<T> => {\n const prefs = preferencesRef.current\n\n if (typeof prefs[key] !== 'undefined') {\n return prefs[key]\n }\n\n const promise = new Promise((resolve: (value: T) => void) => {\n void (async () => {\n const request = await requests.get(\n formatAdminURL({\n apiRoute: api,\n path: `/payload-preferences/${key}`,\n }),\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n let value = null\n\n if (request.status === 200) {\n const preference = await request.json()\n value = preference.value\n }\n\n preferencesRef.current[key] = value\n\n resolve(value)\n })()\n })\n\n prefs[key] = promise\n\n return promise\n },\n [i18n.language, api, preferencesRef],\n )\n\n const setPreference = useCallback(\n async (key: string, value: unknown, merge = false): Promise<void> => {\n if (merge === false) {\n preferencesRef.current[key] = value\n\n await requests.post(\n formatAdminURL({\n apiRoute: api,\n path: `/payload-preferences/${key}`,\n }),\n requestOptions(value, i18n.language),\n )\n\n return\n }\n\n let newValue = value\n const currentPreference = await getPreference(key)\n\n // handle value objects where multiple values can be set under one key\n if (\n typeof value === 'object' &&\n typeof currentPreference === 'object' &&\n typeof newValue === 'object'\n ) {\n // merge the value with any existing preference for the key\n if (currentPreference) {\n newValue = deepMergeSimple(currentPreference, newValue)\n }\n\n if (dequal(newValue, currentPreference)) {\n return\n }\n\n // add the requested changes to a pendingUpdate batch for the key\n pendingUpdate.current[key] = {\n ...pendingUpdate.current[key],\n ...(newValue as Record<string, unknown>),\n }\n } else {\n if (newValue === currentPreference) {\n return\n }\n\n pendingUpdate.current[key] = newValue\n }\n\n const updatePreference = async () => {\n // compare the value stored in context before sending to eliminate duplicate requests\n if (dequal(pendingUpdate.current[key], preferencesRef.current[key])) {\n return\n }\n\n // preference set in context here to prevent other updatePreference at the same time\n preferencesRef.current[key] = pendingUpdate.current[key]\n\n await requests.post(\n formatAdminURL({\n apiRoute: api,\n path: `/payload-preferences/${key}`,\n }),\n requestOptions(preferencesRef.current[key], i18n.language),\n )\n\n // reset any changes for this key after sending the request\n delete pendingUpdate.current[key]\n }\n\n // use timeout to allow multiple changes of different values using the same key in one request\n setTimeout(() => {\n void updatePreference()\n })\n },\n [api, getPreference, i18n.language, pendingUpdate],\n )\n\n contextRef.current.getPreference = getPreference\n contextRef.current.setPreference = setPreference\n return <Context value={contextRef.current}>{children}</Context>\n}\n\nexport const usePreferences = (): PreferencesContext => use(Context)\n"],"mappings":"AAAA;;;AACA,SAASA,MAAM,QAAQ,cAAa,CAAC;AACrC,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,aAAa,EAAEC,GAAG,EAAEC,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ;AAI1E,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,eAAe,QAAQ;AAChC,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAY1B,MAAMC,OAAA,gBAAUV,aAAA,CAAc,CAAC;AAE/B,MAAMW,cAAA,GAAiBA,CAACC,KAAA,EAAOC,QAAA,MAAc;EAC3CC,IAAA,EAAMC,IAAA,CAAKC,SAAS,CAAC;IAAEJ;EAAM;EAC7BK,OAAA,EAAS;IACP,mBAAmBJ,QAAA;IACnB,gBAAgB;EAClB;AACF;AAEA,OAAO,MAAMK,mBAAA,GAAgEA,CAAC;EAAEC;AAAQ,CAAE;EACxF,MAAMC,UAAA,GAAahB,MAAA,CAAO,CAAC;EAC3B,MAAMiB,cAAA,GAAiBjB,MAAA,CAAO,CAAC;EAC/B,MAAMkB,aAAA,GAAgBlB,MAAA,CAAO,CAAC;EAC9B,MAAM;IAAEmB;EAAM,CAAE,GAAGd,SAAA;EACnB,MAAM;IAAEe;EAAI,CAAE,GAAGhB,OAAA;EACjB,MAAM;IAAEiB;EAAI,CAAE,GAAGpB,cAAA;EAEjB,MAAM;IACJqB,MAAA,EAAQ;MAAEC;IAAG;EAAE,CAChB,GAAGJ,MAAA;EAEJpB,SAAA,CAAU;IACR,IAAI,CAACqB,IAAA,EAAM;MACT;MACAH,cAAA,CAAeO,OAAO,GAAG,CAAC;IAC5B;EACF,GAAG,CAACJ,IAAA,CAAK;EAET,MAAMK,aAAA,GAAgB3B,WAAA,CACpB,MAAqB4B,GAAA;IACnB,MAAMC,KAAA,GAAQV,cAAA,CAAeO,OAAO;IAEpC,IAAI,OAAOG,KAAK,CAACD,GAAA,CAAI,KAAK,aAAa;MACrC,OAAOC,KAAK,CAACD,GAAA,CAAI;IACnB;IAEA,MAAME,OAAA,GAAU,IAAIC,OAAA,CAASC,OAAA;MAC3B,KAAK,CAAC;QACJ,MAAMC,OAAA,GAAU,MAAM7B,QAAA,CAAS8B,GAAG,CAChCtC,cAAA,CAAe;UACbuC,QAAA,EAAUV,GAAA;UACVW,IAAA,EAAM,wBAAwBR,GAAA;QAChC,IACA;UACES,WAAA,EAAa;UACbtB,OAAA,EAAS;YACP,mBAAmBQ,IAAA,CAAKZ;UAC1B;QACF;QAGF,IAAID,KAAA,GAAQ;QAEZ,IAAIuB,OAAA,CAAQK,MAAM,KAAK,KAAK;UAC1B,MAAMC,UAAA,GAAa,MAAMN,OAAA,CAAQO,IAAI;UACrC9B,KAAA,GAAQ6B,UAAA,CAAW7B,KAAK;QAC1B;QAEAS,cAAA,CAAeO,OAAO,CAACE,GAAA,CAAI,GAAGlB,KAAA;QAE9BsB,OAAA,CAAQtB,KAAA;MACV;IACF;IAEAmB,KAAK,CAACD,GAAA,CAAI,GAAGE,OAAA;IAEb,OAAOA,OAAA;EACT,GACA,CAACP,IAAA,CAAKZ,QAAQ,EAAEc,GAAA,EAAKN,cAAA,CAAe;EAGtC,MAAMsB,aAAA,GAAgBzC,WAAA,CACpB,OAAO4B,KAAA,EAAalB,OAAA,EAAgBgC,KAAA,GAAQ,KAAK;IAC/C,IAAIA,KAAA,KAAU,OAAO;MACnBvB,cAAA,CAAeO,OAAO,CAACE,KAAA,CAAI,GAAGlB,OAAA;MAE9B,MAAMN,QAAA,CAASuC,IAAI,CACjB/C,cAAA,CAAe;QACbuC,QAAA,EAAUV,GAAA;QACVW,IAAA,EAAM,wBAAwBR,KAAA;MAChC,IACAnB,cAAA,CAAeC,OAAA,EAAOa,IAAA,CAAKZ,QAAQ;MAGrC;IACF;IAEA,IAAIiC,QAAA,GAAWlC,OAAA;IACf,MAAMmC,iBAAA,GAAoB,MAAMlB,aAAA,CAAcC,KAAA;IAE9C;IACA,IACE,OAAOlB,OAAA,KAAU,YACjB,OAAOmC,iBAAA,KAAsB,YAC7B,OAAOD,QAAA,KAAa,UACpB;MACA;MACA,IAAIC,iBAAA,EAAmB;QACrBD,QAAA,GAAWvC,eAAA,CAAgBwC,iBAAA,EAAmBD,QAAA;MAChD;MAEA,IAAIjD,MAAA,CAAOiD,QAAA,EAAUC,iBAAA,GAAoB;QACvC;MACF;MAEA;MACAzB,aAAA,CAAcM,OAAO,CAACE,KAAA,CAAI,GAAG;QAC3B,GAAGR,aAAA,CAAcM,OAAO,CAACE,KAAA,CAAI;QAC7B,GAAIgB;MACN;IACF,OAAO;MACL,IAAIA,QAAA,KAAaC,iBAAA,EAAmB;QAClC;MACF;MAEAzB,aAAA,CAAcM,OAAO,CAACE,KAAA,CAAI,GAAGgB,QAAA;IAC/B;IAEA,MAAME,gBAAA,GAAmB,MAAAA,CAAA;MACvB;MACA,IAAInD,MAAA,CAAOyB,aAAA,CAAcM,OAAO,CAACE,KAAA,CAAI,EAAET,cAAA,CAAeO,OAAO,CAACE,KAAA,CAAI,GAAG;QACnE;MACF;MAEA;MACAT,cAAA,CAAeO,OAAO,CAACE,KAAA,CAAI,GAAGR,aAAA,CAAcM,OAAO,CAACE,KAAA,CAAI;MAExD,MAAMxB,QAAA,CAASuC,IAAI,CACjB/C,cAAA,CAAe;QACbuC,QAAA,EAAUV,GAAA;QACVW,IAAA,EAAM,wBAAwBR,KAAA;MAChC,IACAnB,cAAA,CAAeU,cAAA,CAAeO,OAAO,CAACE,KAAA,CAAI,EAAEL,IAAA,CAAKZ,QAAQ;MAG3D;MACA,OAAOS,aAAA,CAAcM,OAAO,CAACE,KAAA,CAAI;IACnC;IAEA;IACAmB,UAAA,CAAW;MACT,KAAKD,gBAAA;IACP;EACF,GACA,CAACrB,GAAA,EAAKE,aAAA,EAAeJ,IAAA,CAAKZ,QAAQ,EAAES,aAAA,CAAc;EAGpDF,UAAA,CAAWQ,OAAO,CAACC,aAAa,GAAGA,aAAA;EACnCT,UAAA,CAAWQ,OAAO,CAACe,aAAa,GAAGA,aAAA;EACnC,oBAAOO,IAAA,CAACxC,OAAA;IAAQE,KAAA,EAAOQ,UAAA,CAAWQ,OAAO;cAAGT;;AAC9C;AAEA,OAAO,MAAMgC,cAAA,GAAiBA,CAAA,KAA0BlD,GAAA,CAAIS,OAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["dequal","formatAdminURL","React","createContext","use","useCallback","useEffect","useRef","useTranslation","requests","deepMergeSimple","useAuth","useConfig","Context","requestOptions","value","language","body","JSON","stringify","headers","PreferencesProvider","children","contextRef","preferencesRef","pendingUpdate","pendingWrites","updateQueues","config","user","i18n","routes","api","current","getPreference","key","prefs","promise","Promise","resolve","request","get","apiRoute","path","credentials","status","preference","json","syncPreference","setPreference","merge","updater","previousUpdate","update","then","nextValue","post","catch","undefined","newValue","currentPreference","updatePreference","setTimeout","_jsx","usePreferences"],"sources":["../../../src/providers/Preferences/index.tsx"],"sourcesContent":["'use client'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { formatAdminURL } from 'payload/shared'\nimport React, { createContext, use, useCallback, useEffect, useRef } from 'react'\n\nimport type { Preferences } from '../../forms/Form/types.js'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { deepMergeSimple } from '../../utilities/deepMerge.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\n\ntype PreferenceUpdater<T> = (current: null | T) => T\n\ntype SetPreference = {\n <T = Preferences>(key: string, updater: PreferenceUpdater<T>): Promise<void>\n <T = Preferences>(key: string, value: T, merge?: boolean): Promise<void>\n}\n\ntype PreferencesContext = {\n getPreference: <T = Preferences>(key: string) => Promise<T>\n /**\n * @param key - a string identifier for the property being set\n * @param value - preference data to store\n * @param merge - when true will combine the existing preference object batch the change into one request for objects, default = false\n */\n setPreference: SetPreference\n syncPreference: <T = Preferences>(key: string, value: T) => void\n}\n\nconst Context = createContext({} as PreferencesContext)\n\nconst requestOptions = (value, language) => ({\n body: JSON.stringify({ value }),\n headers: {\n 'Accept-Language': language,\n 'Content-Type': 'application/json',\n },\n})\n\nexport const PreferencesProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const contextRef = useRef({} as PreferencesContext)\n const preferencesRef = useRef({})\n const pendingUpdate = useRef({})\n const pendingWrites = useRef<Record<string, number>>({})\n const updateQueues = useRef<Record<string, Promise<void>>>({})\n const { config } = useConfig()\n const { user } = useAuth()\n const { i18n } = useTranslation()\n\n const {\n routes: { api },\n } = config\n\n useEffect(() => {\n if (!user) {\n // clear preferences between users\n preferencesRef.current = {}\n pendingUpdate.current = {}\n pendingWrites.current = {}\n updateQueues.current = {}\n }\n }, [user])\n\n const getPreference = useCallback(\n async <T = unknown,>(key: string): Promise<T> => {\n const prefs = preferencesRef.current\n\n if (typeof prefs[key] !== 'undefined') {\n return prefs[key]\n }\n\n const promise = new Promise((resolve: (value: T) => void) => {\n void (async () => {\n const request = await requests.get(\n formatAdminURL({\n apiRoute: api,\n path: `/payload-preferences/${key}`,\n }),\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n let value = null\n\n if (request.status === 200) {\n const preference = await request.json()\n value = preference.value\n }\n\n if (prefs[key] === promise) {\n prefs[key] = value\n resolve(value)\n } else {\n resolve(await prefs[key])\n }\n })()\n })\n\n prefs[key] = promise\n\n return promise\n },\n [i18n.language, api, preferencesRef],\n )\n\n const syncPreference = useCallback(<T = Preferences,>(key: string, value: T): void => {\n if (pendingWrites.current[key] || typeof pendingUpdate.current[key] !== 'undefined') {\n return\n }\n\n preferencesRef.current[key] = value\n }, [])\n\n const setPreference = useCallback(\n async <T = Preferences,>(\n key: string,\n value: PreferenceUpdater<T> | T,\n merge = false,\n ): Promise<void> => {\n if (typeof value === 'function') {\n const updater = value as PreferenceUpdater<T>\n const previousUpdate = updateQueues.current[key] ?? Promise.resolve()\n pendingWrites.current[key] = (pendingWrites.current[key] ?? 0) + 1\n const update = previousUpdate.then(async () => {\n const current = await getPreference<T>(key)\n const nextValue = updater(current ?? null)\n\n preferencesRef.current[key] = nextValue\n\n await requests.post(\n formatAdminURL({\n apiRoute: api,\n path: `/payload-preferences/${key}`,\n }),\n requestOptions(nextValue, i18n.language),\n )\n })\n\n updateQueues.current[key] = update.catch(() => undefined)\n try {\n await update\n } finally {\n pendingWrites.current[key] -= 1\n }\n return\n }\n\n if (merge === false) {\n preferencesRef.current[key] = value\n pendingWrites.current[key] = (pendingWrites.current[key] ?? 0) + 1\n\n try {\n await requests.post(\n formatAdminURL({\n apiRoute: api,\n path: `/payload-preferences/${key}`,\n }),\n requestOptions(value, i18n.language),\n )\n } finally {\n pendingWrites.current[key] -= 1\n }\n\n return\n }\n\n let newValue = value\n const currentPreference = await getPreference(key)\n\n // handle value objects where multiple values can be set under one key\n if (\n typeof value === 'object' &&\n typeof currentPreference === 'object' &&\n typeof newValue === 'object'\n ) {\n // merge the value with any existing preference for the key\n if (currentPreference) {\n newValue = deepMergeSimple(currentPreference, newValue)\n }\n\n if (dequal(newValue, currentPreference)) {\n return\n }\n\n // add the requested changes to a pendingUpdate batch for the key\n pendingUpdate.current[key] = {\n ...pendingUpdate.current[key],\n ...(newValue as Record<string, unknown>),\n }\n } else {\n if (newValue === currentPreference) {\n return\n }\n\n pendingUpdate.current[key] = newValue\n }\n\n const updatePreference = async () => {\n // compare the value stored in context before sending to eliminate duplicate requests\n if (dequal(pendingUpdate.current[key], preferencesRef.current[key])) {\n return\n }\n\n // preference set in context here to prevent other updatePreference at the same time\n preferencesRef.current[key] = pendingUpdate.current[key]\n\n await requests.post(\n formatAdminURL({\n apiRoute: api,\n path: `/payload-preferences/${key}`,\n }),\n requestOptions(preferencesRef.current[key], i18n.language),\n )\n\n // reset any changes for this key after sending the request\n delete pendingUpdate.current[key]\n }\n\n // use timeout to allow multiple changes of different values using the same key in one request\n setTimeout(() => {\n void updatePreference()\n })\n },\n [api, getPreference, i18n.language, pendingUpdate, updateQueues],\n )\n\n contextRef.current.getPreference = getPreference\n contextRef.current.setPreference = setPreference\n contextRef.current.syncPreference = syncPreference\n return <Context value={contextRef.current}>{children}</Context>\n}\n\nexport const usePreferences = (): PreferencesContext => use(Context)\n"],"mappings":"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","ignoreList":[]}
@@ -10,6 +10,7 @@ export type BuildColumnStateArgs = {
10
10
  enableRowSelections: boolean;
11
11
  enableRowTypes?: boolean;
12
12
  fieldPermissions?: SanitizedFieldsPermissions;
13
+ hierarchyParentFieldName?: string;
13
14
  i18n: I18nClient;
14
15
  payload: Payload;
15
16
  req?: PayloadRequest;