@payloadcms/ui 4.0.0-internal.cc18726 → 4.0.0-internal.cd47d20

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 (752) hide show
  1. package/dist/css/app.css +1 -0
  2. package/dist/css/preflight.css +1 -0
  3. package/dist/css/spacing.css +3 -0
  4. package/dist/elements/APIKeyInput/index.d.ts +2 -0
  5. package/dist/elements/APIKeyInput/index.d.ts.map +1 -1
  6. package/dist/elements/APIKeyInput/index.js +27 -29
  7. package/dist/elements/APIKeyInput/index.js.map +1 -1
  8. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  9. package/dist/elements/AddNewRelation/index.js +1 -0
  10. package/dist/elements/AddNewRelation/index.js.map +1 -1
  11. package/dist/elements/AppHeader/index.css +3 -0
  12. package/dist/elements/ArrayAction/index.d.ts +1 -0
  13. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  14. package/dist/elements/ArrayAction/index.js +35 -32
  15. package/dist/elements/ArrayAction/index.js.map +1 -1
  16. package/dist/elements/Banner/index.css +4 -0
  17. package/dist/elements/Banner/index.d.ts.map +1 -1
  18. package/dist/elements/Banner/index.js +1 -0
  19. package/dist/elements/Banner/index.js.map +1 -1
  20. package/dist/elements/BulkUpload/ActionsBar/index.css +1 -0
  21. package/dist/elements/BulkUpload/AddingFilesView/index.css +2 -4
  22. package/dist/elements/BulkUpload/FileSidebar/index.css +1 -0
  23. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +1 -1
  24. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
  25. package/dist/elements/BulkUpload/FormsManager/createFormData.js +7 -3
  26. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  27. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  28. package/dist/elements/BulkUpload/FormsManager/index.js +16 -9
  29. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/index.css +2 -0
  31. package/dist/elements/Button/index.d.ts.map +1 -1
  32. package/dist/elements/Button/index.js +11 -0
  33. package/dist/elements/Button/index.js.map +1 -1
  34. package/dist/elements/Button/types.d.ts +7 -2
  35. package/dist/elements/Button/types.d.ts.map +1 -1
  36. package/dist/elements/Button/types.js.map +1 -1
  37. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  38. package/dist/elements/ClipboardAction/index.js +1 -0
  39. package/dist/elements/ClipboardAction/index.js.map +1 -1
  40. package/dist/elements/Collapsible/index.css +1 -0
  41. package/dist/elements/ColumnSelection/index.d.ts.map +1 -1
  42. package/dist/elements/ColumnSelection/index.js +59 -55
  43. package/dist/elements/ColumnSelection/index.js.map +1 -1
  44. package/dist/elements/Combobox/index.d.ts.map +1 -1
  45. package/dist/elements/Combobox/index.js +2 -0
  46. package/dist/elements/Combobox/index.js.map +1 -1
  47. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  48. package/dist/elements/CreateDocumentButton/index.js +1 -0
  49. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  50. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  51. package/dist/elements/DatePicker/DatePicker.js +113 -83
  52. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  53. package/dist/elements/DatePicker/index.css +7 -0
  54. package/dist/elements/Dialog/DialogModal/index.d.ts +1 -1
  55. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  56. package/dist/elements/Dialog/DialogModal/index.js +1 -1
  57. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  58. package/dist/elements/Dialog/index.css +1 -0
  59. package/dist/elements/DocumentControls/index.css +1 -0
  60. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  61. package/dist/elements/DocumentControls/index.js +1 -0
  62. package/dist/elements/DocumentControls/index.js.map +1 -1
  63. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +2 -2
  64. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  65. package/dist/elements/DocumentFields/index.css +2 -0
  66. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -0
  67. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  68. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +3 -2
  69. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  70. package/dist/elements/DocumentHeader/Tabs/index.css +1 -0
  71. package/dist/elements/DocumentHeader/Tabs/index.d.ts +1 -0
  72. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  73. package/dist/elements/DocumentHeader/Tabs/index.js +5 -3
  74. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  75. package/dist/elements/DocumentHeader/index.css +1 -0
  76. package/dist/elements/DocumentHeader/index.d.ts +1 -0
  77. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  78. package/dist/elements/DocumentHeader/index.js +4 -2
  79. package/dist/elements/DocumentHeader/index.js.map +1 -1
  80. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +1 -1
  81. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
  82. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  83. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  84. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +11 -8
  85. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  86. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts +1 -0
  87. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts.map +1 -1
  88. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  89. package/dist/elements/Drawer/index.d.ts.map +1 -1
  90. package/dist/elements/Drawer/index.js +3 -1
  91. package/dist/elements/Drawer/index.js.map +1 -1
  92. package/dist/elements/EditUpload/index.css +2 -1
  93. package/dist/elements/EditUpload/index.js +53 -12
  94. package/dist/elements/EditUpload/index.js.map +1 -1
  95. package/dist/elements/FieldDiffContainer/index.css +1 -0
  96. package/dist/elements/FieldDiffContainer/index.js +1 -1
  97. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  98. package/dist/elements/FieldDiffLabel/index.css +1 -0
  99. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  100. package/dist/elements/FieldSelect/index.js +41 -24
  101. package/dist/elements/FieldSelect/index.js.map +1 -1
  102. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts +5 -1
  103. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  104. package/dist/elements/FieldSelect/reduceFieldOptions.js +24 -4
  105. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  106. package/dist/elements/FileDetails/StaticFileDetails/index.css +2 -0
  107. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
  108. package/dist/elements/FileManager/FileToolbar/index.js +1 -0
  109. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
  110. package/dist/elements/FilterTrigger/index.d.ts +5 -1
  111. package/dist/elements/FilterTrigger/index.d.ts.map +1 -1
  112. package/dist/elements/FilterTrigger/index.js +6 -0
  113. package/dist/elements/FilterTrigger/index.js.map +1 -1
  114. package/dist/elements/FullscreenModal/index.d.ts.map +1 -1
  115. package/dist/elements/FullscreenModal/index.js +1 -1
  116. package/dist/elements/FullscreenModal/index.js.map +1 -1
  117. package/dist/elements/GroupBy/Popup.d.ts.map +1 -1
  118. package/dist/elements/GroupBy/Popup.js +74 -45
  119. package/dist/elements/GroupBy/Popup.js.map +1 -1
  120. package/dist/elements/GroupBy/index.d.ts.map +1 -1
  121. package/dist/elements/GroupBy/index.js +2 -0
  122. package/dist/elements/GroupBy/index.js.map +1 -1
  123. package/dist/elements/HTMLDiff/index.css +1 -0
  124. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +3 -0
  125. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -1
  126. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +60 -47
  127. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  128. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  129. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +34 -27
  130. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  131. package/dist/elements/Hierarchy/Field/index.server.d.ts +3 -2
  132. package/dist/elements/Hierarchy/Field/index.server.d.ts.map +1 -1
  133. package/dist/elements/Hierarchy/Field/index.server.js.map +1 -1
  134. package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
  135. package/dist/elements/Hierarchy/Search/index.js +6 -7
  136. package/dist/elements/Hierarchy/Search/index.js.map +1 -1
  137. package/dist/elements/ItemsDrawer/index.css +3 -0
  138. package/dist/elements/ListControls/index.css +1 -0
  139. package/dist/elements/ListControls/index.d.ts.map +1 -1
  140. package/dist/elements/ListControls/index.js +8 -1
  141. package/dist/elements/ListControls/index.js.map +1 -1
  142. package/dist/elements/ListControls/types.d.ts +3 -1
  143. package/dist/elements/ListControls/types.d.ts.map +1 -1
  144. package/dist/elements/ListControls/types.js.map +1 -1
  145. package/dist/elements/ListControlsBar/index.css +1 -0
  146. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +1 -1
  147. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  148. package/dist/elements/LivePreview/Toolbar/Controls/index.d.ts.map +1 -1
  149. package/dist/elements/LivePreview/Toolbar/Controls/index.js +3 -0
  150. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  151. package/dist/elements/LivePreview/Window/index.css +1 -0
  152. package/dist/elements/Localizer/index.d.ts +3 -6
  153. package/dist/elements/Localizer/index.d.ts.map +1 -1
  154. package/dist/elements/Localizer/index.js +19 -11
  155. package/dist/elements/Localizer/index.js.map +1 -1
  156. package/dist/elements/Modal/index.d.ts +5 -1
  157. package/dist/elements/Modal/index.d.ts.map +1 -1
  158. package/dist/elements/Modal/index.js +69 -1
  159. package/dist/elements/Modal/index.js.map +1 -1
  160. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  161. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -0
  162. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  163. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +3 -2
  164. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
  165. package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -1
  166. package/dist/elements/Nav/getNavPrefs.js +2 -0
  167. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  168. package/dist/elements/Nav/index.css +2 -0
  169. package/dist/elements/PageControls/GroupByPageControls.d.ts +1 -0
  170. package/dist/elements/PageControls/GroupByPageControls.d.ts.map +1 -1
  171. package/dist/elements/PageControls/GroupByPageControls.js +9 -6
  172. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  173. package/dist/elements/PageControls/index.css +1 -0
  174. package/dist/elements/PageControls/index.d.ts +2 -0
  175. package/dist/elements/PageControls/index.d.ts.map +1 -1
  176. package/dist/elements/PageControls/index.js +21 -12
  177. package/dist/elements/PageControls/index.js.map +1 -1
  178. package/dist/elements/Pagination/ClickableArrow/index.d.ts +1 -0
  179. package/dist/elements/Pagination/ClickableArrow/index.d.ts.map +1 -1
  180. package/dist/elements/Pagination/ClickableArrow/index.js +2 -0
  181. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  182. package/dist/elements/Pagination/SimplePagination/index.d.ts +1 -0
  183. package/dist/elements/Pagination/SimplePagination/index.d.ts.map +1 -1
  184. package/dist/elements/Pagination/SimplePagination/index.js +14 -8
  185. package/dist/elements/Pagination/SimplePagination/index.js.map +1 -1
  186. package/dist/elements/Pagination/index.d.ts +1 -0
  187. package/dist/elements/Pagination/index.d.ts.map +1 -1
  188. package/dist/elements/Pagination/index.js +17 -12
  189. package/dist/elements/Pagination/index.js.map +1 -1
  190. package/dist/elements/PerPage/index.d.ts +1 -0
  191. package/dist/elements/PerPage/index.d.ts.map +1 -1
  192. package/dist/elements/PerPage/index.js +22 -15
  193. package/dist/elements/PerPage/index.js.map +1 -1
  194. package/dist/elements/PillSelector/index.css +1 -0
  195. package/dist/elements/Popup/PopupButtonList/index.d.ts +8 -0
  196. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  197. package/dist/elements/Popup/PopupButtonList/index.js +50 -6
  198. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  199. package/dist/elements/Popup/PopupTrigger/index.d.ts +9 -2
  200. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  201. package/dist/elements/Popup/PopupTrigger/index.js +58 -6
  202. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  203. package/dist/elements/Popup/index.css +4 -2
  204. package/dist/elements/Popup/index.d.ts +6 -27
  205. package/dist/elements/Popup/index.d.ts.map +1 -1
  206. package/dist/elements/Popup/index.js +114 -75
  207. package/dist/elements/Popup/index.js.map +1 -1
  208. package/dist/elements/PreviewSizes/index.css +2 -0
  209. package/dist/elements/PublishButton/index.css +1 -0
  210. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  211. package/dist/elements/PublishButton/index.js +11 -25
  212. package/dist/elements/PublishButton/index.js.map +1 -1
  213. package/dist/elements/QueryPresets/QueryPresetBar/index.d.ts.map +1 -1
  214. package/dist/elements/QueryPresets/QueryPresetBar/index.js +18 -2
  215. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  216. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +3 -2
  217. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  218. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  219. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +3 -2
  220. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
  221. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  222. package/dist/elements/QueryPresets/fields/Heading/index.css +1 -0
  223. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +3 -2
  224. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  225. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  226. package/dist/elements/ReactSelect/ClearIndicator/index.css +5 -0
  227. package/dist/elements/ReactSelect/ClearIndicator/index.d.ts.map +1 -1
  228. package/dist/elements/ReactSelect/ClearIndicator/index.js +51 -20
  229. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  230. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -1
  231. package/dist/elements/ReactSelect/DefaultMenuPortal.js +2 -1
  232. package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -1
  233. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts +2 -4
  234. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  235. package/dist/elements/ReactSelect/DropdownIndicator/index.js +16 -21
  236. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  237. package/dist/elements/ReactSelect/MultiValue/context.d.ts +6 -0
  238. package/dist/elements/ReactSelect/MultiValue/context.d.ts.map +1 -0
  239. package/dist/elements/ReactSelect/MultiValue/context.js +5 -0
  240. package/dist/elements/ReactSelect/MultiValue/context.js.map +1 -0
  241. package/dist/elements/ReactSelect/MultiValue/index.css +5 -0
  242. package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
  243. package/dist/elements/ReactSelect/MultiValue/index.js +89 -35
  244. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  245. package/dist/elements/ReactSelect/MultiValueLabel/index.css +41 -1
  246. package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts +5 -1
  247. package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts.map +1 -1
  248. package/dist/elements/ReactSelect/MultiValueLabel/index.js +49 -4
  249. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  250. package/dist/elements/ReactSelect/MultiValueRemove/index.css +30 -4
  251. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts.map +1 -1
  252. package/dist/elements/ReactSelect/MultiValueRemove/index.js +92 -66
  253. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  254. package/dist/elements/ReactSelect/Option/index.d.ts +6 -0
  255. package/dist/elements/ReactSelect/Option/index.d.ts.map +1 -0
  256. package/dist/elements/ReactSelect/Option/index.js +30 -0
  257. package/dist/elements/ReactSelect/Option/index.js.map +1 -0
  258. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  259. package/dist/elements/ReactSelect/index.js +4 -1
  260. package/dist/elements/ReactSelect/index.js.map +1 -1
  261. package/dist/elements/ReactSelect/types.d.ts +7 -1
  262. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  263. package/dist/elements/ReactSelect/types.js.map +1 -1
  264. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  265. package/dist/elements/RelationshipTable/AddNewButton.js +1 -0
  266. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  267. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  268. package/dist/elements/RelationshipTable/index.js +61 -57
  269. package/dist/elements/RelationshipTable/index.js.map +1 -1
  270. package/dist/elements/RenderTitle/index.css +1 -0
  271. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  272. package/dist/elements/SortColumn/index.js +59 -95
  273. package/dist/elements/SortColumn/index.js.map +1 -1
  274. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  275. package/dist/elements/SortHeader/index.js +18 -36
  276. package/dist/elements/SortHeader/index.js.map +1 -1
  277. package/dist/elements/StepNav/index.d.ts.map +1 -1
  278. package/dist/elements/StepNav/index.js +1 -0
  279. package/dist/elements/StepNav/index.js.map +1 -1
  280. package/dist/elements/Table/OrderableTable.d.ts +1 -0
  281. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  282. package/dist/elements/Table/OrderableTable.js +6 -2
  283. package/dist/elements/Table/OrderableTable.js.map +1 -1
  284. package/dist/elements/Table/TableIdentity.d.ts +7 -0
  285. package/dist/elements/Table/TableIdentity.d.ts.map +1 -0
  286. package/dist/elements/Table/TableIdentity.js +47 -0
  287. package/dist/elements/Table/TableIdentity.js.map +1 -0
  288. package/dist/elements/Table/index.css +1 -0
  289. package/dist/elements/Table/index.d.ts +1 -0
  290. package/dist/elements/Table/index.d.ts.map +1 -1
  291. package/dist/elements/Table/index.js +91 -42
  292. package/dist/elements/Table/index.js.map +1 -1
  293. package/dist/elements/Table/useAriaSort.d.ts +7 -0
  294. package/dist/elements/Table/useAriaSort.d.ts.map +1 -0
  295. package/dist/elements/Table/useAriaSort.js +53 -0
  296. package/dist/elements/Table/useAriaSort.js.map +1 -0
  297. package/dist/elements/TableSection/index.css +1 -0
  298. package/dist/elements/Tabs/index.css +1 -0
  299. package/dist/elements/Thumbnail/index.css +1 -0
  300. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  301. package/dist/elements/ThumbnailCard/index.js +10 -8
  302. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  303. package/dist/elements/TimezonePicker/index.css +1 -0
  304. package/dist/elements/Tooltip/index.css +7 -0
  305. package/dist/elements/Tooltip/index.d.ts +1 -1
  306. package/dist/elements/Tooltip/index.js +1 -1
  307. package/dist/elements/Tooltip/index.js.map +1 -1
  308. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
  309. package/dist/elements/UserMenu/LanguageMenu/index.js +3 -0
  310. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  311. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
  312. package/dist/elements/UserMenu/SettingsMenu/index.js +3 -0
  313. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  314. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -1
  315. package/dist/elements/UserMenu/SubMenuHeader/index.js +2 -0
  316. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -1
  317. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
  318. package/dist/elements/UserMenu/ThemeMenu/index.js +3 -0
  319. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  320. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  321. package/dist/elements/UserMenu/index.js +21 -4
  322. package/dist/elements/UserMenu/index.js.map +1 -1
  323. package/dist/elements/WhereBuilder/Condition/index.css +1 -0
  324. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  325. package/dist/elements/WhereBuilder/Condition/index.js +7 -1
  326. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  327. package/dist/elements/WhereBuilder/index.css +2 -0
  328. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  329. package/dist/fields/Array/ArrayRow.js +1 -0
  330. package/dist/fields/Array/ArrayRow.js.map +1 -1
  331. package/dist/fields/Array/index.css +1 -0
  332. package/dist/fields/Array/index.d.ts +3 -7
  333. package/dist/fields/Array/index.d.ts.map +1 -1
  334. package/dist/fields/Array/index.js.map +1 -1
  335. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  336. package/dist/fields/Blocks/RowActions.js +25 -16
  337. package/dist/fields/Blocks/RowActions.js.map +1 -1
  338. package/dist/fields/Blocks/index.css +1 -0
  339. package/dist/fields/Blocks/index.d.ts +2 -5
  340. package/dist/fields/Blocks/index.d.ts.map +1 -1
  341. package/dist/fields/Blocks/index.js.map +1 -1
  342. package/dist/fields/Checkbox/index.d.ts +2 -12
  343. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  344. package/dist/fields/Checkbox/index.js.map +1 -1
  345. package/dist/fields/Code/index.d.ts +2 -8
  346. package/dist/fields/Code/index.d.ts.map +1 -1
  347. package/dist/fields/Code/index.js.map +1 -1
  348. package/dist/fields/Collapsible/index.d.ts +2 -3
  349. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  350. package/dist/fields/Collapsible/index.js.map +1 -1
  351. package/dist/fields/DateTime/index.d.ts +3 -7
  352. package/dist/fields/DateTime/index.d.ts.map +1 -1
  353. package/dist/fields/DateTime/index.js +1 -1
  354. package/dist/fields/DateTime/index.js.map +1 -1
  355. package/dist/fields/Email/index.d.ts +2 -7
  356. package/dist/fields/Email/index.d.ts.map +1 -1
  357. package/dist/fields/Email/index.js.map +1 -1
  358. package/dist/fields/Group/index.css +1 -0
  359. package/dist/fields/Group/index.d.ts +3 -5
  360. package/dist/fields/Group/index.d.ts.map +1 -1
  361. package/dist/fields/Group/index.js.map +1 -1
  362. package/dist/fields/JSON/index.d.ts +2 -6
  363. package/dist/fields/JSON/index.d.ts.map +1 -1
  364. package/dist/fields/JSON/index.js.map +1 -1
  365. package/dist/fields/Join/index.d.ts +2 -6
  366. package/dist/fields/Join/index.d.ts.map +1 -1
  367. package/dist/fields/Join/index.js.map +1 -1
  368. package/dist/fields/Number/index.d.ts +2 -7
  369. package/dist/fields/Number/index.d.ts.map +1 -1
  370. package/dist/fields/Number/index.js.map +1 -1
  371. package/dist/fields/Point/index.d.ts +3 -8
  372. package/dist/fields/Point/index.d.ts.map +1 -1
  373. package/dist/fields/Point/index.js.map +1 -1
  374. package/dist/fields/RadioGroup/index.js.map +1 -1
  375. package/dist/fields/Relationship/index.d.ts +2 -6
  376. package/dist/fields/Relationship/index.d.ts.map +1 -1
  377. package/dist/fields/Relationship/index.js.map +1 -1
  378. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
  379. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +24 -2
  380. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  381. package/dist/fields/Row/index.css +2 -0
  382. package/dist/fields/Row/index.d.ts +2 -3
  383. package/dist/fields/Row/index.d.ts.map +1 -1
  384. package/dist/fields/Row/index.js.map +1 -1
  385. package/dist/fields/Select/index.d.ts +2 -9
  386. package/dist/fields/Select/index.d.ts.map +1 -1
  387. package/dist/fields/Select/index.js.map +1 -1
  388. package/dist/fields/Tabs/index.css +1 -0
  389. package/dist/fields/Tabs/index.d.ts +2 -4
  390. package/dist/fields/Tabs/index.d.ts.map +1 -1
  391. package/dist/fields/Tabs/index.js.map +1 -1
  392. package/dist/fields/Text/index.d.ts +2 -8
  393. package/dist/fields/Text/index.d.ts.map +1 -1
  394. package/dist/fields/Text/index.js.map +1 -1
  395. package/dist/fields/Textarea/index.d.ts +2 -9
  396. package/dist/fields/Textarea/index.d.ts.map +1 -1
  397. package/dist/fields/Textarea/index.js.map +1 -1
  398. package/dist/forms/Form/context.d.ts +3 -1
  399. package/dist/forms/Form/context.d.ts.map +1 -1
  400. package/dist/forms/Form/context.js +3 -1
  401. package/dist/forms/Form/context.js.map +1 -1
  402. package/dist/forms/Form/index.d.ts.map +1 -1
  403. package/dist/forms/Form/index.js +13 -4
  404. package/dist/forms/Form/index.js.map +1 -1
  405. package/dist/forms/RenderFields/context.d.ts +2 -2
  406. package/dist/forms/RenderFields/context.js +2 -2
  407. package/dist/forms/RenderFields/context.js.map +1 -1
  408. package/dist/forms/RenderFields/index.css +1 -0
  409. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  410. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +12 -4
  411. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  412. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  413. package/dist/forms/fieldSchemasToFormState/renderField.js +3 -2
  414. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  415. package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.d.ts +12 -0
  416. package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.d.ts.map +1 -0
  417. package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.js +42 -0
  418. package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.js.map +1 -0
  419. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts +8 -6
  420. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +1 -1
  421. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +22 -9
  422. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
  423. package/dist/forms/fieldSchemasToFormState/types.d.ts +1 -0
  424. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  425. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  426. package/dist/hooks/useControllableState.js +3 -3
  427. package/dist/hooks/useControllableState.js.map +1 -1
  428. package/dist/layouts/Root/index.d.ts +3 -6
  429. package/dist/layouts/Root/index.d.ts.map +1 -1
  430. package/dist/layouts/Root/index.js +9 -10
  431. package/dist/layouts/Root/index.js.map +1 -1
  432. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  433. package/dist/providers/DocumentInfo/index.js +30 -21
  434. package/dist/providers/DocumentInfo/index.js.map +1 -1
  435. package/dist/providers/DocumentInfo/types.d.ts +0 -10
  436. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  437. package/dist/providers/DocumentInfo/types.js.map +1 -1
  438. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  439. package/dist/providers/LivePreview/index.js +13 -6
  440. package/dist/providers/LivePreview/index.js.map +1 -1
  441. package/dist/providers/Locale/index.d.ts.map +1 -1
  442. package/dist/providers/Locale/index.js +6 -7
  443. package/dist/providers/Locale/index.js.map +1 -1
  444. package/dist/providers/ModalAccessibility/index.d.ts +3 -0
  445. package/dist/providers/ModalAccessibility/index.d.ts.map +1 -0
  446. package/dist/providers/ModalAccessibility/index.js +102 -0
  447. package/dist/providers/ModalAccessibility/index.js.map +1 -0
  448. package/dist/providers/Root/index.d.ts.map +1 -1
  449. package/dist/providers/Root/index.js +7 -6
  450. package/dist/providers/Root/index.js.map +1 -1
  451. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  452. package/dist/providers/TableColumns/buildColumnState/index.js +0 -1
  453. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  454. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  455. package/dist/providers/ToastContainer/index.js +100 -33
  456. package/dist/providers/ToastContainer/index.js.map +1 -1
  457. package/dist/styles.css +5 -1
  458. package/dist/templates/Default/Wrapper/index.css +2 -0
  459. package/dist/templates/Default/index.css +1 -0
  460. package/dist/utilities/buildFormState.d.ts.map +1 -1
  461. package/dist/utilities/buildFormState.js +6 -2
  462. package/dist/utilities/buildFormState.js.map +1 -1
  463. package/dist/utilities/formatAbsoluteURL.d.ts +1 -1
  464. package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
  465. package/dist/utilities/formatAbsoluteURL.js +18 -8
  466. package/dist/utilities/formatAbsoluteURL.js.map +1 -1
  467. package/dist/utilities/getActiveModal.d.ts +6 -0
  468. package/dist/utilities/getActiveModal.d.ts.map +1 -0
  469. package/dist/utilities/getActiveModal.js +8 -0
  470. package/dist/utilities/getActiveModal.js.map +1 -0
  471. package/dist/utilities/getDocPreferences.d.ts.map +1 -1
  472. package/dist/utilities/getDocPreferences.js +1 -0
  473. package/dist/utilities/getDocPreferences.js.map +1 -1
  474. package/dist/utilities/getPreferences.d.ts.map +1 -1
  475. package/dist/utilities/getPreferences.js +1 -0
  476. package/dist/utilities/getPreferences.js.map +1 -1
  477. package/dist/utilities/getVersions.d.ts.map +1 -1
  478. package/dist/utilities/getVersions.js +8 -0
  479. package/dist/utilities/getVersions.js.map +1 -1
  480. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  481. package/dist/utilities/handleAuthRedirect.js +4 -1
  482. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  483. package/dist/utilities/handleServerFunctions.d.ts +9 -9
  484. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  485. package/dist/utilities/handleServerFunctions.js +7 -5
  486. package/dist/utilities/handleServerFunctions.js.map +1 -1
  487. package/dist/utilities/isAbsoluteURL.d.ts +3 -0
  488. package/dist/utilities/isAbsoluteURL.d.ts.map +1 -0
  489. package/dist/utilities/isAbsoluteURL.js +15 -0
  490. package/dist/utilities/isAbsoluteURL.js.map +1 -0
  491. package/dist/utilities/isHttpURL.d.ts +3 -0
  492. package/dist/utilities/isHttpURL.d.ts.map +1 -0
  493. package/dist/utilities/isHttpURL.js +12 -0
  494. package/dist/utilities/isHttpURL.js.map +1 -0
  495. package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
  496. package/dist/utilities/isPathMatchingRoute.js +7 -5
  497. package/dist/utilities/isPathMatchingRoute.js.map +1 -1
  498. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
  499. package/dist/utilities/isPublicAdminRoute.js +9 -6
  500. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  501. package/dist/utilities/renderTable.d.ts.map +1 -1
  502. package/dist/utilities/renderTable.js +9 -4
  503. package/dist/utilities/renderTable.js.map +1 -1
  504. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  505. package/dist/utilities/schedulePublishHandler.js +6 -1
  506. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  507. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  508. package/dist/utilities/upsertPreferences.js +3 -0
  509. package/dist/utilities/upsertPreferences.js.map +1 -1
  510. package/dist/views/API/index.css +1 -0
  511. package/dist/views/Account/index.d.ts +1 -1
  512. package/dist/views/Account/index.d.ts.map +1 -1
  513. package/dist/views/Account/index.js +8 -5
  514. package/dist/views/Account/index.js.map +1 -1
  515. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  516. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +1 -0
  517. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  518. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +1 -0
  519. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  520. package/dist/views/Dashboard/Default/ModularDashboard/index.css +2 -0
  521. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts.map +1 -1
  522. package/dist/views/Dashboard/Default/ModularDashboard/index.js +1 -0
  523. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  524. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts.map +1 -1
  525. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +3 -1
  526. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
  527. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts.map +1 -1
  528. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +2 -0
  529. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  530. package/dist/views/Dashboard/index.d.ts.map +1 -1
  531. package/dist/views/Dashboard/index.js +2 -3
  532. package/dist/views/Dashboard/index.js.map +1 -1
  533. package/dist/views/Document/handleServerFunction.d.ts.map +1 -1
  534. package/dist/views/Document/handleServerFunction.js +3 -0
  535. package/dist/views/Document/handleServerFunction.js.map +1 -1
  536. package/dist/views/Document/index.d.ts +1 -1
  537. package/dist/views/Document/index.d.ts.map +1 -1
  538. package/dist/views/Document/index.js +9 -4
  539. package/dist/views/Document/index.js.map +1 -1
  540. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  541. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  542. package/dist/views/Document/renderDocumentSlots.js +7 -4
  543. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  544. package/dist/views/Edit/Auth/APIKey.d.ts +1 -1
  545. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  546. package/dist/views/Edit/Auth/APIKey.js +233 -59
  547. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  548. package/dist/views/Edit/Auth/APIKeyGenerationModal.d.ts +12 -0
  549. package/dist/views/Edit/Auth/APIKeyGenerationModal.d.ts.map +1 -0
  550. package/dist/views/Edit/Auth/APIKeyGenerationModal.js +117 -0
  551. package/dist/views/Edit/Auth/APIKeyGenerationModal.js.map +1 -0
  552. package/dist/views/Edit/Auth/index.css +91 -0
  553. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  554. package/dist/views/Edit/Auth/index.js +10 -28
  555. package/dist/views/Edit/Auth/index.js.map +1 -1
  556. package/dist/views/Edit/Auth/types.d.ts +3 -1
  557. package/dist/views/Edit/Auth/types.d.ts.map +1 -1
  558. package/dist/views/Edit/Auth/types.js.map +1 -1
  559. package/dist/views/Edit/index.css +1 -0
  560. package/dist/views/ForgotPassword/ForgotPasswordForm/index.css +14 -0
  561. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  562. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +209 -161
  563. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  564. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  565. package/dist/views/ForgotPassword/index.js +2 -11
  566. package/dist/views/ForgotPassword/index.js.map +1 -1
  567. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +1 -0
  568. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -1
  569. package/dist/views/HierarchyList/TypeFilter/index.js +6 -7
  570. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
  571. package/dist/views/HierarchyList/index.css +1 -0
  572. package/dist/views/List/ListHeader/index.css +1 -0
  573. package/dist/views/List/ListHeader/index.d.ts +0 -1
  574. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  575. package/dist/views/List/ListHeader/index.js +2 -6
  576. package/dist/views/List/ListHeader/index.js.map +1 -1
  577. package/dist/views/List/enrichDocsWithVersionStatus.d.ts.map +1 -1
  578. package/dist/views/List/enrichDocsWithVersionStatus.js +1 -0
  579. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  580. package/dist/views/List/handleServerFunction.d.ts.map +1 -1
  581. package/dist/views/List/handleServerFunction.js +4 -1
  582. package/dist/views/List/handleServerFunction.js.map +1 -1
  583. package/dist/views/List/index.client.d.ts.map +1 -1
  584. package/dist/views/List/index.client.js +130 -124
  585. package/dist/views/List/index.client.js.map +1 -1
  586. package/dist/views/List/index.css +2 -0
  587. package/dist/views/List/index.d.ts.map +1 -1
  588. package/dist/views/List/index.js +2 -1
  589. package/dist/views/List/index.js.map +1 -1
  590. package/dist/views/NotFound/client.d.ts +2 -0
  591. package/dist/views/NotFound/client.d.ts.map +1 -0
  592. package/dist/views/NotFound/client.js +4 -0
  593. package/dist/views/NotFound/client.js.map +1 -0
  594. package/dist/views/NotFound/page.d.ts +4 -11
  595. package/dist/views/NotFound/page.d.ts.map +1 -1
  596. package/dist/views/NotFound/page.js +6 -5
  597. package/dist/views/NotFound/page.js.map +1 -1
  598. package/dist/views/Root/index.d.ts +6 -7
  599. package/dist/views/Root/index.d.ts.map +1 -1
  600. package/dist/views/Root/index.js +33 -24
  601. package/dist/views/Root/index.js.map +1 -1
  602. package/dist/views/Verify/index.d.ts +1 -1
  603. package/dist/views/Verify/index.d.ts.map +1 -1
  604. package/dist/views/Verify/index.js +4 -4
  605. package/dist/views/Verify/index.js.map +1 -1
  606. package/dist/views/Version/Default/index.css +2 -0
  607. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +1 -0
  608. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
  609. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +56 -50
  610. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  611. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  612. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +41 -27
  613. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  614. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.d.ts +3 -2
  615. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.d.ts.map +1 -1
  616. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  617. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.d.ts +3 -2
  618. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.d.ts.map +1 -1
  619. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  620. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.css +8 -0
  621. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts +3 -2
  622. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts.map +1 -1
  623. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  624. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts +3 -2
  625. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts.map +1 -1
  626. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  627. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  628. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +10 -0
  629. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  630. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
  631. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +1 -0
  632. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  633. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +1 -0
  634. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +2 -2
  635. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
  636. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  637. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.d.ts +3 -2
  638. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.d.ts.map +1 -1
  639. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  640. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +3 -2
  641. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  642. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  643. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +3 -2
  644. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  645. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  646. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts +3 -2
  647. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  648. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  649. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.css +1 -0
  650. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts +2 -2
  651. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -1
  652. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  653. package/dist/views/Version/RenderFieldsToDiff/index.css +2 -0
  654. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  655. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +33 -1
  656. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  657. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +8 -2
  658. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
  659. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +17 -19
  660. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  661. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  662. package/dist/views/Version/Restore/index.js +9 -6
  663. package/dist/views/Version/Restore/index.js.map +1 -1
  664. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  665. package/dist/views/Version/SelectLocales/index.js +1 -0
  666. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  667. package/dist/views/Versions/VersionPillLabel/index.css +1 -0
  668. package/dist/views/Versions/index.css +1 -0
  669. package/dist/widgets/CollectionCards/index.css +4 -0
  670. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -2
  671. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -1
  672. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -1
  673. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +3 -2
  674. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -1
  675. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -1
  676. package/package.json +10 -5
  677. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +0 -120
  678. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +0 -1
  679. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +0 -144
  680. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +0 -1
  681. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +0 -885
  682. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +0 -1
  683. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js +0 -87
  684. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +0 -1
  685. package/dist/elements/CommandPalette/buildActions.spec.js +0 -158
  686. package/dist/elements/CommandPalette/buildActions.spec.js.map +0 -1
  687. package/dist/elements/CommandPalette/highlightLabel.spec.js +0 -78
  688. package/dist/elements/CommandPalette/highlightLabel.spec.js.map +0 -1
  689. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +0 -143
  690. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +0 -1
  691. package/dist/elements/Toasts/fieldErrors.spec.js +0 -46
  692. package/dist/elements/Toasts/fieldErrors.spec.js.map +0 -1
  693. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.spec.js +0 -152
  694. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.spec.js.map +0 -1
  695. package/dist/elements/WhereBuilder/conditionValue.spec.js +0 -65
  696. package/dist/elements/WhereBuilder/conditionValue.spec.js.map +0 -1
  697. package/dist/fields/Upload/Input.spec.js +0 -242
  698. package/dist/fields/Upload/Input.spec.js.map +0 -1
  699. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.d.ts +0 -2
  700. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.d.ts.map +0 -1
  701. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +0 -67
  702. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +0 -1
  703. package/dist/layouts/Root/index.spec.js +0 -20
  704. package/dist/layouts/Root/index.spec.js.map +0 -1
  705. package/dist/providers/Auth/authSessionRequests.spec.js +0 -121
  706. package/dist/providers/Auth/authSessionRequests.spec.js.map +0 -1
  707. package/dist/providers/Auth/sessionActivity.spec.js +0 -44
  708. package/dist/providers/Auth/sessionActivity.spec.js.map +0 -1
  709. package/dist/providers/Auth/tabSessionSync/index.spec.js +0 -463
  710. package/dist/providers/Auth/tabSessionSync/index.spec.js.map +0 -1
  711. package/dist/providers/Auth/useAuthSessionTimers.spec.js +0 -311
  712. package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +0 -1
  713. package/dist/providers/RouteTransition/ProgressBar/index.spec.js +0 -44
  714. package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +0 -1
  715. package/dist/providers/TableColumns/buildColumnState/index.spec.js +0 -40
  716. package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +0 -1
  717. package/dist/utilities/appendCacheTag.spec.js +0 -34
  718. package/dist/utilities/appendCacheTag.spec.js.map +0 -1
  719. package/dist/utilities/formatMetadata.spec.js +0 -83
  720. package/dist/utilities/formatMetadata.spec.js.map +0 -1
  721. package/dist/utilities/fuzzyMatch.spec.js +0 -38
  722. package/dist/utilities/fuzzyMatch.spec.js.map +0 -1
  723. package/dist/utilities/getRequestLocale.d.ts +0 -7
  724. package/dist/utilities/getRequestLocale.d.ts.map +0 -1
  725. package/dist/utilities/getRequestLocale.js +0 -20
  726. package/dist/utilities/getRequestLocale.js.map +0 -1
  727. package/dist/utilities/initReq.d.ts +0 -16
  728. package/dist/utilities/initReq.d.ts.map +0 -1
  729. package/dist/utilities/initReq.js +0 -111
  730. package/dist/utilities/initReq.js.map +0 -1
  731. package/dist/utilities/isCustomAdminView.spec.js +0 -90
  732. package/dist/utilities/isCustomAdminView.spec.js.map +0 -1
  733. package/dist/utilities/isPathMatchingRoute.spec.js +0 -178
  734. package/dist/utilities/isPathMatchingRoute.spec.js.map +0 -1
  735. package/dist/utilities/normalizeRelationshipValue.spec.js +0 -373
  736. package/dist/utilities/normalizeRelationshipValue.spec.js.map +0 -1
  737. package/dist/utilities/recentlyViewed.spec.js +0 -92
  738. package/dist/utilities/recentlyViewed.spec.js.map +0 -1
  739. package/dist/utilities/selectiveCache.d.ts +0 -12
  740. package/dist/utilities/selectiveCache.d.ts.map +0 -1
  741. package/dist/utilities/selectiveCache.js +0 -37
  742. package/dist/utilities/selectiveCache.js.map +0 -1
  743. package/dist/views/Root/getCustomCollectionViewByRoute.spec.js +0 -168
  744. package/dist/views/Root/getCustomCollectionViewByRoute.spec.js.map +0 -1
  745. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +0 -861
  746. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +0 -1
  747. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +0 -47
  748. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +0 -1
  749. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +0 -135
  750. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +0 -1
  751. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +0 -100
  752. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ReactSelect/types.ts"],"sourcesContent":["import type { LabelFunction } from 'payload'\nimport type {\n ClassNamesConfig,\n CommonProps,\n GroupBase,\n Props as ReactSelectStateManagerProps,\n StylesConfig,\n} from 'react-select'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\nexport type CustomSelectProps = {\n disableKeyDown?: boolean\n disableMouseDown?: boolean\n draggableProps?: any\n droppableRef?: React.RefObject<HTMLDivElement | null>\n editableProps?: (\n data: Option<{ label: string; value: string }>,\n className: string,\n selectProps: ReactSelectStateManagerProps,\n ) => any\n /** Force the portaled menu to render with a specific theme, independent of the control's ambient theme. */\n menuPortalTheme?: 'dark' | 'light'\n onDelete?: DocumentDrawerProps['onDelete']\n onDocumentOpen?: (args: {\n collectionSlug: string\n hasReadPermission: boolean\n id: number | string\n openInNewTab?: boolean\n }) => void\n onDuplicate?: DocumentDrawerProps['onSave']\n onSave?: DocumentDrawerProps['onSave']\n valueContainerLabel?: string\n}\n\n// augment the types for the `Select` component from `react-select`\n// this is to include the `selectProps` prop at the top-level `Select` component\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src/Select' {\n export interface Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {\n customProps?: CustomSelectProps\n }\n}\n\n// augment the types for the `CommonPropsAndClassName` from `react-select`\n// this will include the `selectProps` prop to every `react-select` component automatically\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src' {\n export interface CommonPropsAndClassName<\n Option,\n IsMulti extends boolean,\n Group extends GroupBase<Option>,\n > extends CommonProps<Option, IsMulti, Group> {\n customProps?: CustomSelectProps & ReactSelectStateManagerProps<Option, IsMulti, Group>\n }\n}\n\nexport type Option<TValue = unknown> = {\n [key: string]: unknown\n //* The ID is used to identify the option in the UI. If it doesn't exist and value cannot be transformed into a string, sorting won't work */\n id?: string\n value: TValue\n}\n\nexport type OptionGroup = {\n label: string\n options: Option[]\n}\n\nexport type ReactSelectAdapterProps = {\n 'aria-label'?: string\n backspaceRemovesValue?: boolean\n blurInputOnSelect?: boolean\n captureMenuScroll?: boolean\n className?: string\n classNames?: ClassNamesConfig<Option, boolean, GroupBase<Option>>\n components?: {\n [key: string]: React.FC<any>\n }\n customProps?: CustomSelectProps\n disabled?: boolean\n filterOption?:\n | ((\n {\n allowEdit,\n data,\n label,\n value,\n }: { allowEdit: boolean; data: Option; label: string; value: string },\n search: string,\n ) => boolean)\n | undefined\n getOptionValue?: ReactSelectStateManagerProps<\n Option,\n boolean,\n GroupBase<Option>\n >['getOptionValue']\n id?: string\n inputId?: string\n isClearable?: boolean\n /** Allows you to create own values in the UI despite them not being pre-specified */\n isCreatable?: boolean\n isLoading?: boolean\n /** Allows you to specify multiple values instead of just one */\n isMulti?: boolean\n isOptionSelected?: any\n isSearchable?: boolean\n isSortable?: boolean\n menuIsOpen?: boolean\n menuPortalTarget?: HTMLElement | null\n menuPosition?: 'absolute' | 'fixed'\n noOptionsMessage?: (obj: { inputValue: string }) => string\n numberOnly?: boolean\n onChange?: (value: Option | Option[]) => void\n onInputChange?: (val: string) => void\n onMenuClose?: () => void\n onMenuOpen?: () => void\n onMenuScrollToBottom?: () => void\n options: Option[] | OptionGroup[]\n placeholder?: LabelFunction | string\n showError?: boolean\n styles?: StylesConfig<Option>\n value?: Option | Option[]\n}\n"],"mappings":"AAqEA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ReactSelect/types.ts"],"sourcesContent":["import type { LabelFunction } from 'payload'\nimport type { AriaAttributes } from 'react'\nimport type {\n ClassNamesConfig,\n CommonProps,\n GroupBase,\n Props as ReactSelectStateManagerProps,\n StylesConfig,\n} from 'react-select'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\nexport type CustomSelectProps = {\n clearValueLabel?: string\n disableKeyDown?: boolean\n disableMouseDown?: boolean\n draggableProps?: any\n droppableRef?: React.RefObject<HTMLDivElement | null>\n editableProps?: (\n data: Option<{ label: string; value: string }>,\n className: string,\n selectProps: ReactSelectStateManagerProps,\n ) => any\n /** Force the portaled menu to render with a specific theme, independent of the control's ambient theme. */\n menuPortalTheme?: 'dark' | 'light'\n onDelete?: DocumentDrawerProps['onDelete']\n onDocumentOpen?: (args: {\n collectionSlug: string\n hasReadPermission: boolean\n id: number | string\n openInNewTab?: boolean\n }) => void\n onDuplicate?: DocumentDrawerProps['onSave']\n onSave?: DocumentDrawerProps['onSave']\n removeValueLabel?: string\n valueContainerLabel?: string\n}\n\n// augment the types for the `Select` component from `react-select`\n// this is to include the `selectProps` prop at the top-level `Select` component\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src/Select' {\n export interface Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {\n customProps?: CustomSelectProps\n }\n}\n\n// augment the types for the `CommonPropsAndClassName` from `react-select`\n// this will include the `selectProps` prop to every `react-select` component automatically\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src' {\n export interface CommonPropsAndClassName<\n Option,\n IsMulti extends boolean,\n Group extends GroupBase<Option>,\n > extends CommonProps<Option, IsMulti, Group> {\n customProps?: CustomSelectProps & ReactSelectStateManagerProps<Option, IsMulti, Group>\n }\n}\n\nexport type Option<TValue = unknown> = {\n [key: string]: unknown\n //* The ID is used to identify the option in the UI. If it doesn't exist and value cannot be transformed into a string, sorting won't work */\n id?: string\n value: TValue\n}\n\nexport type OptionGroup = {\n label: string\n options: Option[]\n}\n\nexport type ReactSelectAdapterProps = {\n 'aria-label'?: AriaAttributes['aria-label']\n 'aria-labelledby'?: AriaAttributes['aria-labelledby']\n backspaceRemovesValue?: boolean\n blurInputOnSelect?: boolean\n captureMenuScroll?: boolean\n className?: string\n classNames?: ClassNamesConfig<Option, boolean, GroupBase<Option>>\n components?: {\n [key: string]: React.FC<any>\n }\n customProps?: CustomSelectProps\n disabled?: boolean\n filterOption?:\n | ((\n {\n allowEdit,\n data,\n label,\n value,\n }: { allowEdit: boolean; data: Option; label: string; value: string },\n search: string,\n ) => boolean)\n | undefined\n formatOptionLabel?: ReactSelectStateManagerProps<\n Option,\n boolean,\n GroupBase<Option>\n >['formatOptionLabel']\n getOptionLabel?: ReactSelectStateManagerProps<\n Option,\n boolean,\n GroupBase<Option>\n >['getOptionLabel']\n getOptionValue?: ReactSelectStateManagerProps<\n Option,\n boolean,\n GroupBase<Option>\n >['getOptionValue']\n id?: string\n inputId?: string\n isClearable?: boolean\n /** Allows you to create own values in the UI despite them not being pre-specified */\n isCreatable?: boolean\n isLoading?: boolean\n /** Allows you to specify multiple values instead of just one */\n isMulti?: boolean\n isOptionSelected?: any\n isSearchable?: boolean\n isSortable?: boolean\n menuIsOpen?: boolean\n menuPortalTarget?: HTMLElement | null\n menuPosition?: 'absolute' | 'fixed'\n noOptionsMessage?: (obj: { inputValue: string }) => string\n numberOnly?: boolean\n onChange?: (value: Option | Option[]) => void\n onInputChange?: (val: string) => void\n onMenuClose?: () => void\n onMenuOpen?: () => void\n onMenuScrollToBottom?: () => void\n options: Option[] | OptionGroup[]\n placeholder?: LabelFunction | string\n showError?: boolean\n styles?: StylesConfig<Option>\n value?: Option | Option[]\n}\n"],"mappings":"AAwEA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"AddNewButton.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/AddNewButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAI3E,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAK1E,eAAO,MAAM,YAAY,0HAYtB;IACD,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,sBAAsB,EAAE,CAAA;IACrC,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,WAAW,EAAE,oBAAoB,CAAA;IACjC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC9B,gCAyDA,CAAA"}
1
+ {"version":3,"file":"AddNewButton.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/AddNewButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAI3E,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAK1E,eAAO,MAAM,YAAY,0HAYtB;IACD,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,sBAAsB,EAAE,CAAA;IACrC,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,WAAW,EAAE,oBAAoB,CAAA;IACjC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC9B,gCA0DA,CAAA"}
@@ -40,6 +40,7 @@ export const AddNewButton = ({
40
40
  }),
41
41
  buttonType: "custom",
42
42
  horizontalAlign: "center",
43
+ popupType: "menu",
43
44
  render: ({
44
45
  close: closePopup
45
46
  }) => /*#__PURE__*/_jsx(PopupList.ButtonGroup, {
@@ -1 +1 @@
1
- {"version":3,"file":"AddNewButton.js","names":["getTranslation","Button","Popup","PopupList","AddNewButton","allowCreate","baseClass","buttonStyle","className","collections","i18n","icon","label","onClick","permissions","relationTo","isPolymorphic","Array","isArray","_jsx","filter","Boolean","join","button","buttonType","horizontalAlign","render","close","closePopup","ButtonGroup","map","relatedCollection","create","find","each","slug","labels","singular"],"sources":["../../../src/elements/RelationshipTable/AddNewButton.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, SanitizedPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { Props as ButtonProps } from '../../elements/Button/types.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\n\nexport const AddNewButton = ({\n allowCreate,\n baseClass,\n buttonStyle,\n className,\n collections,\n i18n,\n icon,\n label,\n onClick,\n permissions,\n relationTo,\n}: {\n allowCreate: boolean\n baseClass: string\n buttonStyle?: ButtonProps['buttonStyle']\n className?: string\n collections: ClientCollectionConfig[]\n i18n: I18nClient\n icon?: ButtonProps['icon']\n label: string\n onClick: (selectedCollection?: string) => void\n permissions: SanitizedPermissions\n relationTo: string | string[]\n}) => {\n if (!allowCreate) {\n return null\n }\n\n const isPolymorphic = Array.isArray(relationTo)\n\n if (!isPolymorphic) {\n return (\n <Button\n buttonStyle={buttonStyle}\n className={[className, 'doc-drawer__toggler'].filter(Boolean).join(' ')}\n onClick={() => onClick()}\n >\n {label}\n </Button>\n )\n }\n\n return (\n <div className={`${baseClass}__add-new-polymorphic-wrapper`}>\n <Popup\n button={\n <Button buttonStyle={buttonStyle} className={className} icon={icon}>\n {label}\n </Button>\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relationTo.map((relatedCollection) => {\n if (permissions.collections[relatedCollection]?.create) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection}`}\n key={relatedCollection}\n onClick={() => {\n closePopup()\n onClick(relatedCollection)\n }}\n >\n {getTranslation(\n collections.find((each) => each.slug === relatedCollection).labels.singular,\n i18n,\n )}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,cAAc,QAAQ;AAI/B,SAASC,MAAM,QAAQ;AACvB,SAASC,KAAK,EAAEC,SAAS,QAAQ;AAEjC,OAAO,MAAMC,YAAA,GAAeA,CAAC;EAC3BC,WAAW;EACXC,SAAS;EACTC,WAAW;EACXC,SAAS;EACTC,WAAW;EACXC,IAAI;EACJC,IAAI;EACJC,KAAK;EACLC,OAAO;EACPC,WAAW;EACXC;AAAU,CAaX;EACC,IAAI,CAACV,WAAA,EAAa;IAChB,OAAO;EACT;EAEA,MAAMW,aAAA,GAAgBC,KAAA,CAAMC,OAAO,CAACH,UAAA;EAEpC,IAAI,CAACC,aAAA,EAAe;IAClB,oBACEG,IAAA,CAAClB,MAAA;MACCM,WAAA,EAAaA,WAAA;MACbC,SAAA,EAAW,CAACA,SAAA,EAAW,sBAAsB,CAACY,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;MACnET,OAAA,EAASA,CAAA,KAAMA,OAAA;gBAEdD;;EAGP;EAEA,oBACEO,IAAA,CAAC;IAAIX,SAAA,EAAW,GAAGF,SAAA,+BAAwC;cACzD,aAAAa,IAAA,CAACjB,KAAA;MACCqB,MAAA,eACEJ,IAAA,CAAClB,MAAA;QAAOM,WAAA,EAAaA,WAAA;QAAaC,SAAA,EAAWA,SAAA;QAAWG,IAAA,EAAMA,IAAA;kBAC3DC;;MAGLY,UAAA,EAAW;MACXC,eAAA,EAAgB;MAChBC,MAAA,EAAQA,CAAC;QAAEC,KAAA,EAAOC;MAAU,CAAE,kBAC5BT,IAAA,CAAChB,SAAA,CAAU0B,WAAW;kBACnBd,UAAA,CAAWe,GAAG,CAAEC,iBAAA;UACf,IAAIjB,WAAA,CAAYL,WAAW,CAACsB,iBAAA,CAAkB,EAAEC,MAAA,EAAQ;YACtD,oBACEb,IAAA,CAAChB,SAAA,CAAUF,MAAM;cACfO,SAAA,EAAW,GAAGF,SAAA,sBAA+ByB,iBAAA,EAAmB;cAEhElB,OAAA,EAASA,CAAA;gBACPe,UAAA;gBACAf,OAAA,CAAQkB,iBAAA;cACV;wBAEC/B,cAAA,CACCS,WAAA,CAAYwB,IAAI,CAAEC,IAAA,IAASA,IAAA,CAAKC,IAAI,KAAKJ,iBAAA,EAAmBK,MAAM,CAACC,QAAQ,EAC3E3B,IAAA;eARGqB,iBAAA;UAYX;UAEA,OAAO;QACT;;;;AAMZ","ignoreList":[]}
1
+ {"version":3,"file":"AddNewButton.js","names":["getTranslation","Button","Popup","PopupList","AddNewButton","allowCreate","baseClass","buttonStyle","className","collections","i18n","icon","label","onClick","permissions","relationTo","isPolymorphic","Array","isArray","_jsx","filter","Boolean","join","button","buttonType","horizontalAlign","popupType","render","close","closePopup","ButtonGroup","map","relatedCollection","create","find","each","slug","labels","singular"],"sources":["../../../src/elements/RelationshipTable/AddNewButton.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, SanitizedPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { Props as ButtonProps } from '../../elements/Button/types.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\n\nexport const AddNewButton = ({\n allowCreate,\n baseClass,\n buttonStyle,\n className,\n collections,\n i18n,\n icon,\n label,\n onClick,\n permissions,\n relationTo,\n}: {\n allowCreate: boolean\n baseClass: string\n buttonStyle?: ButtonProps['buttonStyle']\n className?: string\n collections: ClientCollectionConfig[]\n i18n: I18nClient\n icon?: ButtonProps['icon']\n label: string\n onClick: (selectedCollection?: string) => void\n permissions: SanitizedPermissions\n relationTo: string | string[]\n}) => {\n if (!allowCreate) {\n return null\n }\n\n const isPolymorphic = Array.isArray(relationTo)\n\n if (!isPolymorphic) {\n return (\n <Button\n buttonStyle={buttonStyle}\n className={[className, 'doc-drawer__toggler'].filter(Boolean).join(' ')}\n onClick={() => onClick()}\n >\n {label}\n </Button>\n )\n }\n\n return (\n <div className={`${baseClass}__add-new-polymorphic-wrapper`}>\n <Popup\n button={\n <Button buttonStyle={buttonStyle} className={className} icon={icon}>\n {label}\n </Button>\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n popupType=\"menu\"\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relationTo.map((relatedCollection) => {\n if (permissions.collections[relatedCollection]?.create) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection}`}\n key={relatedCollection}\n onClick={() => {\n closePopup()\n onClick(relatedCollection)\n }}\n >\n {getTranslation(\n collections.find((each) => each.slug === relatedCollection).labels.singular,\n i18n,\n )}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,cAAc,QAAQ;AAI/B,SAASC,MAAM,QAAQ;AACvB,SAASC,KAAK,EAAEC,SAAS,QAAQ;AAEjC,OAAO,MAAMC,YAAA,GAAeA,CAAC;EAC3BC,WAAW;EACXC,SAAS;EACTC,WAAW;EACXC,SAAS;EACTC,WAAW;EACXC,IAAI;EACJC,IAAI;EACJC,KAAK;EACLC,OAAO;EACPC,WAAW;EACXC;AAAU,CAaX;EACC,IAAI,CAACV,WAAA,EAAa;IAChB,OAAO;EACT;EAEA,MAAMW,aAAA,GAAgBC,KAAA,CAAMC,OAAO,CAACH,UAAA;EAEpC,IAAI,CAACC,aAAA,EAAe;IAClB,oBACEG,IAAA,CAAClB,MAAA;MACCM,WAAA,EAAaA,WAAA;MACbC,SAAA,EAAW,CAACA,SAAA,EAAW,sBAAsB,CAACY,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;MACnET,OAAA,EAASA,CAAA,KAAMA,OAAA;gBAEdD;;EAGP;EAEA,oBACEO,IAAA,CAAC;IAAIX,SAAA,EAAW,GAAGF,SAAA,+BAAwC;cACzD,aAAAa,IAAA,CAACjB,KAAA;MACCqB,MAAA,eACEJ,IAAA,CAAClB,MAAA;QAAOM,WAAA,EAAaA,WAAA;QAAaC,SAAA,EAAWA,SAAA;QAAWG,IAAA,EAAMA,IAAA;kBAC3DC;;MAGLY,UAAA,EAAW;MACXC,eAAA,EAAgB;MAChBC,SAAA,EAAU;MACVC,MAAA,EAAQA,CAAC;QAAEC,KAAA,EAAOC;MAAU,CAAE,kBAC5BV,IAAA,CAAChB,SAAA,CAAU2B,WAAW;kBACnBf,UAAA,CAAWgB,GAAG,CAAEC,iBAAA;UACf,IAAIlB,WAAA,CAAYL,WAAW,CAACuB,iBAAA,CAAkB,EAAEC,MAAA,EAAQ;YACtD,oBACEd,IAAA,CAAChB,SAAA,CAAUF,MAAM;cACfO,SAAA,EAAW,GAAGF,SAAA,sBAA+B0B,iBAAA,EAAmB;cAEhEnB,OAAA,EAASA,CAAA;gBACPgB,UAAA;gBACAhB,OAAA,CAAQmB,iBAAA;cACV;wBAEChC,cAAA,CACCS,WAAA,CAAYyB,IAAI,CAAEC,IAAA,IAASA,IAAA,CAAKC,IAAI,KAAKJ,iBAAA,EAAmBK,MAAM,CAACC,QAAQ,EAC3E5B,IAAA;eARGsB,iBAAA;UAYX;UAEA,OAAO;QACT;;;;AAMZ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,eAAe,EAEpB,KAAK,aAAa,EAClB,KAAK,KAAK,EACX,MAAM,SAAS,CAAA;AAEhB,OAAO,KAA6D,MAAM,OAAO,CAAA;AAEjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAiBrE,OAAO,aAAa,CAAA;AAIpB,KAAK,+BAA+B,GAAG;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,cAAc,EAAE,cAAc,CAAA;QAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;AAEzE,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAsZvE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,eAAe,EAEpB,KAAK,aAAa,EAClB,KAAK,KAAK,EACX,MAAM,SAAS,CAAA;AAEhB,OAAO,KAA6D,MAAM,OAAO,CAAA;AAEjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAkBrE,OAAO,aAAa,CAAA;AAIpB,KAAK,+BAA+B,GAAG;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,cAAc,EAAE,cAAc,CAAA;QAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;AAEzE,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAwZvE,CAAA"}
@@ -16,6 +16,7 @@ import { useDocumentDrawer } from '../DocumentDrawer/index.js';
16
16
  import { ListColumnSelectionButton } from '../ListColumnSelectionButton/index.js';
17
17
  import { NoListResults } from '../NoListResults/index.js';
18
18
  import { RelationshipProvider } from '../Table/RelationshipProvider/index.js';
19
+ import { TableIdentityProvider } from '../Table/TableIdentity.js';
19
20
  import { AddNewButton } from './AddNewButton.js';
20
21
  import { DrawerLink } from './cells/DrawerLink/index.js';
21
22
  import { RelationshipTablePagination } from './Pagination.js';
@@ -248,73 +249,76 @@ export const RelationshipTable = props => {
248
249
  const columnsButton = /*#__PURE__*/_jsx(ListColumnSelectionButton, {
249
250
  collectionSlug: collectionConfig?.slug
250
251
  });
251
- return /*#__PURE__*/_jsxs("div", {
252
- className: baseClass,
253
- children: [isLoadingTable ? /*#__PURE__*/_jsxs(Fragment, {
254
- children: [/*#__PURE__*/_jsxs("div", {
255
- className: `${baseClass}__header`,
256
- children: [Label, /*#__PURE__*/_jsx("div", {
257
- className: `${baseClass}__actions`,
258
- children: addNewButton
259
- }), Description]
260
- }), BeforeInput, /*#__PURE__*/_jsx("p", {
261
- children: t('general:loading')
262
- })]
263
- }) : /*#__PURE__*/_jsxs(Fragment, {
264
- children: [data?.docs && data.docs.length === 0 && /*#__PURE__*/_jsxs(Fragment, {
252
+ return /*#__PURE__*/_jsx(TableIdentityProvider, {
253
+ collectionSlug: isPolymorphic ? 'results' : relationTo,
254
+ children: /*#__PURE__*/_jsxs("div", {
255
+ className: baseClass,
256
+ children: [isLoadingTable ? /*#__PURE__*/_jsxs(Fragment, {
265
257
  children: [/*#__PURE__*/_jsxs("div", {
266
258
  className: `${baseClass}__header`,
267
259
  children: [Label, /*#__PURE__*/_jsx("div", {
268
260
  className: `${baseClass}__actions`,
269
261
  children: addNewButton
270
262
  }), Description]
271
- }), BeforeInput, /*#__PURE__*/_jsx(NoListResults, {
272
- Actions: canCreate ? [/*#__PURE__*/_jsx(AddNewButton, {
273
- allowCreate: canCreate,
274
- baseClass: baseClass,
275
- collections: config.collections,
276
- i18n: i18n,
277
- label: i18n.t('general:createNewLabel', {
278
- label: isPolymorphic ? i18n.t('general:document') : getTranslation(collectionConfig?.labels?.singular, i18n)
279
- }),
280
- onClick: isPolymorphic ? setSelectedCollection : openDrawer,
281
- permissions: permissions,
282
- relationTo: relationTo
283
- }, "create")] : [],
284
- description: i18n.t('general:noResults', {
285
- label: isPolymorphic ? i18n.t('general:documents') : getTranslation(collectionConfig?.labels?.plural, i18n)
286
- }),
287
- title: i18n.t('general:noResultsFound')
263
+ }), BeforeInput, /*#__PURE__*/_jsx("p", {
264
+ children: t('general:loading')
288
265
  })]
289
- }), data?.docs && data.docs.length > 0 && /*#__PURE__*/_jsx(RelationshipProvider, {
290
- children: /*#__PURE__*/_jsx(ListQueryProvider, {
291
- data: data,
292
- modifySearchParams: false,
293
- onQueryChange: setQuery,
294
- orderableFieldName: !field.orderable || Array.isArray(field.collection) ? undefined : `_${field.collection}_${fieldPath.replaceAll('.', '_')}_order`,
295
- query: memoizedListQuery,
296
- children: /*#__PURE__*/_jsxs(TableColumnsProvider, {
297
- collectionSlug: isPolymorphic ? relationTo[0] : relationTo,
298
- columnState: columnState,
299
- LinkedCellOverride: /*#__PURE__*/_jsx(DrawerLink, {
300
- currentDrawerID: currentDrawerID,
301
- onDrawerOpen: onDrawerOpen
266
+ }) : /*#__PURE__*/_jsxs(Fragment, {
267
+ children: [data?.docs && data.docs.length === 0 && /*#__PURE__*/_jsxs(Fragment, {
268
+ children: [/*#__PURE__*/_jsxs("div", {
269
+ className: `${baseClass}__header`,
270
+ children: [Label, /*#__PURE__*/_jsx("div", {
271
+ className: `${baseClass}__actions`,
272
+ children: addNewButton
273
+ }), Description]
274
+ }), BeforeInput, /*#__PURE__*/_jsx(NoListResults, {
275
+ Actions: canCreate ? [/*#__PURE__*/_jsx(AddNewButton, {
276
+ allowCreate: canCreate,
277
+ baseClass: baseClass,
278
+ collections: config.collections,
279
+ i18n: i18n,
280
+ label: i18n.t('general:createNewLabel', {
281
+ label: isPolymorphic ? i18n.t('general:document') : getTranslation(collectionConfig?.labels?.singular, i18n)
282
+ }),
283
+ onClick: isPolymorphic ? setSelectedCollection : openDrawer,
284
+ permissions: permissions,
285
+ relationTo: relationTo
286
+ }, "create")] : [],
287
+ description: i18n.t('general:noResults', {
288
+ label: isPolymorphic ? i18n.t('general:documents') : getTranslation(collectionConfig?.labels?.plural, i18n)
302
289
  }),
303
- children: [/*#__PURE__*/_jsxs("div", {
304
- className: `${baseClass}__header`,
305
- children: [Label, /*#__PURE__*/_jsxs("div", {
306
- className: `${baseClass}__actions`,
307
- children: [addNewButton, columnsButton]
308
- }), Description]
309
- }), BeforeInput, Table, /*#__PURE__*/_jsx(RelationshipTablePagination, {})]
290
+ title: i18n.t('general:noResultsFound')
291
+ })]
292
+ }), data?.docs && data.docs.length > 0 && /*#__PURE__*/_jsx(RelationshipProvider, {
293
+ children: /*#__PURE__*/_jsx(ListQueryProvider, {
294
+ data: data,
295
+ modifySearchParams: false,
296
+ onQueryChange: setQuery,
297
+ orderableFieldName: !field.orderable || Array.isArray(field.collection) ? undefined : `_${field.collection}_${fieldPath.replaceAll('.', '_')}_order`,
298
+ query: memoizedListQuery,
299
+ children: /*#__PURE__*/_jsxs(TableColumnsProvider, {
300
+ collectionSlug: isPolymorphic ? relationTo[0] : relationTo,
301
+ columnState: columnState,
302
+ LinkedCellOverride: /*#__PURE__*/_jsx(DrawerLink, {
303
+ currentDrawerID: currentDrawerID,
304
+ onDrawerOpen: onDrawerOpen
305
+ }),
306
+ children: [/*#__PURE__*/_jsxs("div", {
307
+ className: `${baseClass}__header`,
308
+ children: [Label, /*#__PURE__*/_jsxs("div", {
309
+ className: `${baseClass}__actions`,
310
+ children: [addNewButton, columnsButton]
311
+ }), Description]
312
+ }), BeforeInput, Table, /*#__PURE__*/_jsx(RelationshipTablePagination, {})]
313
+ })
310
314
  })
311
- })
315
+ })]
316
+ }), AfterInput, /*#__PURE__*/_jsx(DocumentDrawer, {
317
+ initialData: initialDrawerData,
318
+ onDelete: onDrawerDelete,
319
+ onSave: onDrawerSave
312
320
  })]
313
- }), AfterInput, /*#__PURE__*/_jsx(DocumentDrawer, {
314
- initialData: initialDrawerData,
315
- onDelete: onDrawerDelete,
316
- onSave: onDrawerSave
317
- })]
321
+ })
318
322
  });
319
323
  };
320
324
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","hoistQueryParamsToAnd","transformColumnsToPreferences","React","Fragment","useCallback","useEffect","useRef","useState","useEffectEvent","useAuth","useConfig","useDocumentEvents","ListQueryProvider","useServerFunctions","TableColumnsProvider","useTranslation","useDocumentDrawer","ListColumnSelectionButton","NoListResults","RelationshipProvider","AddNewButton","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","AfterInput","allowCreate","BeforeInput","Description","disableTable","field","fieldPath","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","parent","relationTo","Table","setTable","config","getEntityConfig","i18n","t","query","setQuery","collectionConfig","collectionSlug","isPolymorphic","Array","isArray","selectedCollection","setSelectedCollection","undefined","permissions","openDrawerWhenRelationChanges","currentDrawerID","setCurrentDrawerID","DocumentDrawer","closeDrawer","isDrawerOpen","openDrawer","id","isLoadingTable","setIsLoadingTable","data","setData","docs","reduce","acc","doc","columnState","setColumnState","getTableState","renderTable","newQuery","limit","defaultLimit","admin","pagination","sort","defaultSort","where","defaultColumns","map","accessor","active","renderRowTypes","disableRowTypes","newData","state","newColumnState","NewTable","columns","enableRowSelections","orderableFieldName","orderable","collection","name","tableAppearance","handleTableRender","onDrawerSave","operation","foundDocIndex","findIndex","d","withNewOrUpdatedData","newDocs","onDrawerDelete","args","filter","onDrawerOpen","current","mostRecentUpdate","lastHandledEventRef","handleDocumentEvent","event","relationSlugs","includes","entitySlug","eventDocID","existingDoc","find","value","existingUpdatedAt","updatedAt","isAlreadyReflected","Boolean","canCreate","collections","create","openSelectedCollectionDrawer","memoizedListQuery","useMemo","addNewButton","_jsx","buttonStyle","className","label","onClick","columnsButton","slug","_jsxs","length","Actions","labels","singular","description","plural","title","modifySearchParams","onQueryChange","replaceAll","LinkedCellOverride","onDelete","onSave"],"sources":["../../../src/elements/RelationshipTable/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n type CollectionSlug,\n type Column,\n type DocumentEvent,\n type JoinFieldClient,\n type ListQuery,\n type PaginatedDocs,\n type Where,\n} from 'payload'\nimport { hoistQueryParamsToAnd, transformColumnsToPreferences } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { TableColumnsProvider } from '../../providers/TableColumns/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { ListColumnSelectionButton } from '../ListColumnSelectionButton/index.js'\nimport { NoListResults } from '../NoListResults/index.js'\nimport { RelationshipProvider } from '../Table/RelationshipProvider/index.js'\nimport { AddNewButton } from './AddNewButton.js'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\nimport './index.css'\n\nconst baseClass = 'relationship-table'\n\ntype RelationshipTableComponentProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n readonly BeforeInput?: React.ReactNode\n readonly Description?: React.ReactNode\n readonly disableTable?: boolean\n readonly field: JoinFieldClient\n readonly fieldPath?: string\n readonly filterOptions?: Where\n readonly initialData?: PaginatedDocs\n readonly initialDrawerData?: DocumentDrawerProps['initialData']\n readonly Label?: React.ReactNode\n readonly parent?: {\n collectionSlug: CollectionSlug\n id: number | string\n joinPath: string\n }\n readonly relationTo: string | string[]\n}\n\nexport type OnDrawerOpen = (id?: string, collectionSlug?: string) => void\n\nexport const RelationshipTable: React.FC<RelationshipTableComponentProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n BeforeInput,\n Description,\n disableTable = false,\n field,\n fieldPath,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n parent,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n const { config, getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug: relationTo }))\n\n const isPolymorphic = Array.isArray(relationTo)\n\n const [selectedCollection, setSelectedCollection] = useState(\n isPolymorphic ? undefined : relationTo,\n )\n\n const { permissions } = useAuth()\n\n const openDrawerWhenRelationChanges = useRef(false)\n\n const [currentDrawerID, setCurrentDrawerID] = useState<string | undefined>(undefined)\n\n const [DocumentDrawer, , { closeDrawer, isDrawerOpen, openDrawer }] = useDocumentDrawer({\n id: currentDrawerID,\n collectionSlug: selectedCollection,\n })\n\n const [isLoadingTable, setIsLoadingTable] = useState(!disableTable)\n\n const [data, setData] = useState<PaginatedDocs>(() =>\n initialDataFromProps\n ? {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string' || typeof doc === 'number') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n\n return [...acc, doc]\n }, [])\n : [],\n }\n : undefined,\n )\n\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (data?: PaginatedDocs) => {\n const newQuery: ListQuery = {\n limit: field?.defaultLimit || collectionConfig?.admin?.pagination?.defaultLimit,\n sort: field.defaultSort || collectionConfig?.defaultSort,\n ...(query || {}),\n where: { ...(query?.where || {}) },\n }\n\n if (filterOptions) {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions)\n }\n\n // map columns from string[] to CollectionPreferences['columns']\n const defaultColumns = field.admin?.defaultColumns\n ? field.admin.defaultColumns.map((accessor) => ({\n accessor,\n active: true,\n }))\n : undefined\n\n const renderRowTypes =\n typeof field.admin?.disableRowTypes === 'boolean'\n ? !field.admin.disableRowTypes\n : Array.isArray(relationTo)\n\n const {\n data: newData,\n state: newColumnState,\n Table: NewTable,\n } = await getTableState({\n collectionSlug: relationTo,\n columns: transformColumnsToPreferences(query?.columns) || defaultColumns,\n data,\n enableRowSelections: false,\n orderableFieldName:\n !field.orderable || Array.isArray(field.collection)\n ? undefined\n : `_${field.collection}_${field.name}_order`,\n parent,\n query: newQuery,\n renderRowTypes,\n tableAppearance: 'condensed',\n })\n\n setData(newData)\n setTable(NewTable)\n setColumnState(newColumnState)\n setIsLoadingTable(false)\n },\n [\n field.defaultLimit,\n field.defaultSort,\n field.admin?.defaultColumns,\n field.admin?.disableRowTypes,\n field.collection,\n field.name,\n field.orderable,\n collectionConfig?.admin?.pagination?.defaultLimit,\n collectionConfig?.defaultSort,\n query,\n filterOptions,\n getTableState,\n relationTo,\n parent,\n ],\n )\n\n const handleTableRender = useEffectEvent((query: ListQuery, disableTable: boolean) => {\n if (!disableTable && (!Table || query)) {\n void renderTable()\n }\n })\n\n useEffect(() => {\n handleTableRender(query, disableTable)\n }, [query, disableTable])\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n ({ doc, operation }) => {\n if (operation === 'create') {\n closeDrawer()\n }\n\n const foundDocIndex = data?.docs?.findIndex((d) => d.id === doc.id)\n const withNewOrUpdatedData: PaginatedDocs = { docs: [] } as PaginatedDocs\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = doc\n withNewOrUpdatedData.docs = newDocs\n } else {\n withNewOrUpdatedData.docs = [doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedData)\n },\n [data?.docs, renderTable, closeDrawer],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n const newDocs = data.docs.filter((doc) => doc.id !== args.id)\n\n void renderTable({\n ...data,\n docs: newDocs,\n })\n\n setCurrentDrawerID(undefined)\n },\n [data, renderTable],\n )\n\n const onDrawerOpen = useCallback<OnDrawerOpen>((id, collectionSlug) => {\n openDrawerWhenRelationChanges.current = true\n\n if (id) {\n setCurrentDrawerID(id)\n } else {\n setCurrentDrawerID(undefined)\n }\n\n if (collectionSlug) {\n setSelectedCollection(collectionSlug)\n } else {\n setSelectedCollection(undefined)\n }\n }, [])\n\n useEffect(() => {\n if (openDrawerWhenRelationChanges.current) {\n openDrawerWhenRelationChanges.current = false\n openDrawer()\n }\n }, [openDrawer])\n\n useEffect(() => {\n if (!isDrawerOpen) {\n setCurrentDrawerID(undefined)\n }\n }, [isDrawerOpen])\n\n // Keep this table in sync with documents created, updated, or deleted elsewhere\n // (a sibling join table, the relationship field, or an inline drawer edit).\n const { mostRecentUpdate } = useDocumentEvents()\n const lastHandledEventRef = useRef<DocumentEvent | null>(null)\n\n const handleDocumentEvent = useEffectEvent((event: DocumentEvent | null) => {\n if (disableTable || !event || event === lastHandledEventRef.current) {\n return\n }\n\n const relationSlugs = Array.isArray(relationTo) ? relationTo : [relationTo]\n\n if (!relationSlugs.includes(event.entitySlug)) {\n return\n }\n\n lastHandledEventRef.current = event\n\n // Skip the refetch when the current data already reflects this event — e.g. this\n // table's own drawer already applied it optimistically via onDrawerSave/onDrawerDelete,\n // or a fresh mount already loaded data that includes it. Otherwise saving/deleting from\n // this table's own drawer (which also emits a matching event) would render a second time.\n const eventDocID = event.doc?.id ?? event.id\n\n const existingDoc = isPolymorphic\n ? data?.docs?.find(\n (doc) => doc.relationTo === event.entitySlug && doc.value?.id === eventDocID,\n )\n : data?.docs?.find((doc) => doc.id === eventDocID)\n\n const existingUpdatedAt = isPolymorphic ? existingDoc?.value?.updatedAt : existingDoc?.updatedAt\n\n const isAlreadyReflected =\n event.operation === 'delete'\n ? !existingDoc\n : Boolean(existingDoc) && existingUpdatedAt === event.updatedAt\n\n if (isAlreadyReflected) {\n return\n }\n\n void renderTable()\n })\n\n useEffect(() => {\n handleDocumentEvent(mostRecentUpdate)\n }, [mostRecentUpdate])\n\n const canCreate =\n allowCreate !== false &&\n permissions?.collections?.[isPolymorphic ? relationTo[0] : relationTo]?.create\n\n const openSelectedCollectionDrawer = useEffectEvent(() => {\n if (isPolymorphic && selectedCollection) {\n openDrawer()\n }\n })\n\n useEffect(() => {\n openSelectedCollectionDrawer()\n }, [selectedCollection, isPolymorphic])\n\n useEffect(() => {\n if (isPolymorphic && !isDrawerOpen && selectedCollection) {\n setSelectedCollection(undefined)\n }\n // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDrawerOpen])\n\n const memoizedListQuery = React.useMemo(\n () => ({\n columns: transformColumnsToPreferences(columnState)?.map(({ accessor }) => accessor),\n limit: field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit,\n sort: field.defaultSort ?? collectionConfig?.defaultSort,\n }),\n [columnState, field, collectionConfig],\n )\n\n const addNewButton = (\n <AddNewButton\n allowCreate={allowCreate !== false}\n baseClass={baseClass}\n buttonStyle=\"ghost\"\n className={`${baseClass}__add-new${isPolymorphic ? '-polymorphic' : ''}`}\n collections={config.collections}\n i18n={i18n}\n label={i18n.t('fields:addNew')}\n onClick={isPolymorphic ? setSelectedCollection : openDrawer}\n permissions={permissions}\n relationTo={relationTo}\n />\n )\n\n const columnsButton = <ListColumnSelectionButton collectionSlug={collectionConfig?.slug} />\n\n return (\n <div className={baseClass}>\n {isLoadingTable ? (\n <Fragment>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>{addNewButton}</div>\n {Description}\n </div>\n {BeforeInput}\n <p>{t('general:loading')}</p>\n </Fragment>\n ) : (\n <Fragment>\n {data?.docs && data.docs.length === 0 && (\n <Fragment>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>{addNewButton}</div>\n {Description}\n </div>\n {BeforeInput}\n <NoListResults\n Actions={\n canCreate\n ? [\n <AddNewButton\n allowCreate={canCreate}\n baseClass={baseClass}\n collections={config.collections}\n i18n={i18n}\n key=\"create\"\n label={i18n.t('general:createNewLabel', {\n label: isPolymorphic\n ? i18n.t('general:document')\n : getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n onClick={isPolymorphic ? setSelectedCollection : openDrawer}\n permissions={permissions}\n relationTo={relationTo}\n />,\n ]\n : []\n }\n description={i18n.t('general:noResults', {\n label: isPolymorphic\n ? i18n.t('general:documents')\n : getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n title={i18n.t('general:noResultsFound')}\n />\n </Fragment>\n )}\n {data?.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n data={data}\n modifySearchParams={false}\n onQueryChange={setQuery}\n orderableFieldName={\n !field.orderable || Array.isArray(field.collection)\n ? undefined\n : `_${field.collection}_${fieldPath.replaceAll('.', '_')}_order`\n }\n query={memoizedListQuery}\n >\n <TableColumnsProvider\n collectionSlug={isPolymorphic ? relationTo[0] : relationTo}\n columnState={columnState}\n LinkedCellOverride={\n <DrawerLink currentDrawerID={currentDrawerID} onDrawerOpen={onDrawerOpen} />\n }\n >\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n {addNewButton}\n {columnsButton}\n </div>\n {Description}\n </div>\n {BeforeInput}\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer\n initialData={initialDrawerData}\n onDelete={onDrawerDelete}\n onSave={onDrawerSave}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","hoistQueryParamsToAnd","transformColumnsToPreferences","React","Fragment","useCallback","useEffect","useRef","useState","useEffectEvent","useAuth","useConfig","useDocumentEvents","ListQueryProvider","useServerFunctions","TableColumnsProvider","useTranslation","useDocumentDrawer","ListColumnSelectionButton","NoListResults","RelationshipProvider","TableIdentityProvider","AddNewButton","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","AfterInput","allowCreate","BeforeInput","Description","disableTable","field","fieldPath","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","parent","relationTo","Table","setTable","config","getEntityConfig","i18n","t","query","setQuery","collectionConfig","collectionSlug","isPolymorphic","Array","isArray","selectedCollection","setSelectedCollection","undefined","permissions","openDrawerWhenRelationChanges","currentDrawerID","setCurrentDrawerID","DocumentDrawer","closeDrawer","isDrawerOpen","openDrawer","id","isLoadingTable","setIsLoadingTable","data","setData","docs","reduce","acc","doc","columnState","setColumnState","getTableState","renderTable","newQuery","limit","defaultLimit","admin","pagination","sort","defaultSort","where","defaultColumns","map","accessor","active","renderRowTypes","disableRowTypes","newData","state","newColumnState","NewTable","columns","enableRowSelections","orderableFieldName","orderable","collection","name","tableAppearance","handleTableRender","onDrawerSave","operation","foundDocIndex","findIndex","d","withNewOrUpdatedData","newDocs","onDrawerDelete","args","filter","onDrawerOpen","current","mostRecentUpdate","lastHandledEventRef","handleDocumentEvent","event","relationSlugs","includes","entitySlug","eventDocID","existingDoc","find","value","existingUpdatedAt","updatedAt","isAlreadyReflected","Boolean","canCreate","collections","create","openSelectedCollectionDrawer","memoizedListQuery","useMemo","addNewButton","_jsx","buttonStyle","className","label","onClick","columnsButton","slug","_jsxs","length","Actions","labels","singular","description","plural","title","modifySearchParams","onQueryChange","replaceAll","LinkedCellOverride","onDelete","onSave"],"sources":["../../../src/elements/RelationshipTable/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n type CollectionSlug,\n type Column,\n type DocumentEvent,\n type JoinFieldClient,\n type ListQuery,\n type PaginatedDocs,\n type Where,\n} from 'payload'\nimport { hoistQueryParamsToAnd, transformColumnsToPreferences } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { TableColumnsProvider } from '../../providers/TableColumns/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { ListColumnSelectionButton } from '../ListColumnSelectionButton/index.js'\nimport { NoListResults } from '../NoListResults/index.js'\nimport { RelationshipProvider } from '../Table/RelationshipProvider/index.js'\nimport { TableIdentityProvider } from '../Table/TableIdentity.js'\nimport { AddNewButton } from './AddNewButton.js'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\nimport './index.css'\n\nconst baseClass = 'relationship-table'\n\ntype RelationshipTableComponentProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n readonly BeforeInput?: React.ReactNode\n readonly Description?: React.ReactNode\n readonly disableTable?: boolean\n readonly field: JoinFieldClient\n readonly fieldPath?: string\n readonly filterOptions?: Where\n readonly initialData?: PaginatedDocs\n readonly initialDrawerData?: DocumentDrawerProps['initialData']\n readonly Label?: React.ReactNode\n readonly parent?: {\n collectionSlug: CollectionSlug\n id: number | string\n joinPath: string\n }\n readonly relationTo: string | string[]\n}\n\nexport type OnDrawerOpen = (id?: string, collectionSlug?: string) => void\n\nexport const RelationshipTable: React.FC<RelationshipTableComponentProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n BeforeInput,\n Description,\n disableTable = false,\n field,\n fieldPath,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n parent,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n const { config, getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug: relationTo }))\n\n const isPolymorphic = Array.isArray(relationTo)\n\n const [selectedCollection, setSelectedCollection] = useState(\n isPolymorphic ? undefined : relationTo,\n )\n\n const { permissions } = useAuth()\n\n const openDrawerWhenRelationChanges = useRef(false)\n\n const [currentDrawerID, setCurrentDrawerID] = useState<string | undefined>(undefined)\n\n const [DocumentDrawer, , { closeDrawer, isDrawerOpen, openDrawer }] = useDocumentDrawer({\n id: currentDrawerID,\n collectionSlug: selectedCollection,\n })\n\n const [isLoadingTable, setIsLoadingTable] = useState(!disableTable)\n\n const [data, setData] = useState<PaginatedDocs>(() =>\n initialDataFromProps\n ? {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string' || typeof doc === 'number') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n\n return [...acc, doc]\n }, [])\n : [],\n }\n : undefined,\n )\n\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (data?: PaginatedDocs) => {\n const newQuery: ListQuery = {\n limit: field?.defaultLimit || collectionConfig?.admin?.pagination?.defaultLimit,\n sort: field.defaultSort || collectionConfig?.defaultSort,\n ...(query || {}),\n where: { ...(query?.where || {}) },\n }\n\n if (filterOptions) {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions)\n }\n\n // map columns from string[] to CollectionPreferences['columns']\n const defaultColumns = field.admin?.defaultColumns\n ? field.admin.defaultColumns.map((accessor) => ({\n accessor,\n active: true,\n }))\n : undefined\n\n const renderRowTypes =\n typeof field.admin?.disableRowTypes === 'boolean'\n ? !field.admin.disableRowTypes\n : Array.isArray(relationTo)\n\n const {\n data: newData,\n state: newColumnState,\n Table: NewTable,\n } = await getTableState({\n collectionSlug: relationTo,\n columns: transformColumnsToPreferences(query?.columns) || defaultColumns,\n data,\n enableRowSelections: false,\n orderableFieldName:\n !field.orderable || Array.isArray(field.collection)\n ? undefined\n : `_${field.collection}_${field.name}_order`,\n parent,\n query: newQuery,\n renderRowTypes,\n tableAppearance: 'condensed',\n })\n\n setData(newData)\n setTable(NewTable)\n setColumnState(newColumnState)\n setIsLoadingTable(false)\n },\n [\n field.defaultLimit,\n field.defaultSort,\n field.admin?.defaultColumns,\n field.admin?.disableRowTypes,\n field.collection,\n field.name,\n field.orderable,\n collectionConfig?.admin?.pagination?.defaultLimit,\n collectionConfig?.defaultSort,\n query,\n filterOptions,\n getTableState,\n relationTo,\n parent,\n ],\n )\n\n const handleTableRender = useEffectEvent((query: ListQuery, disableTable: boolean) => {\n if (!disableTable && (!Table || query)) {\n void renderTable()\n }\n })\n\n useEffect(() => {\n handleTableRender(query, disableTable)\n }, [query, disableTable])\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n ({ doc, operation }) => {\n if (operation === 'create') {\n closeDrawer()\n }\n\n const foundDocIndex = data?.docs?.findIndex((d) => d.id === doc.id)\n const withNewOrUpdatedData: PaginatedDocs = { docs: [] } as PaginatedDocs\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = doc\n withNewOrUpdatedData.docs = newDocs\n } else {\n withNewOrUpdatedData.docs = [doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedData)\n },\n [data?.docs, renderTable, closeDrawer],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n const newDocs = data.docs.filter((doc) => doc.id !== args.id)\n\n void renderTable({\n ...data,\n docs: newDocs,\n })\n\n setCurrentDrawerID(undefined)\n },\n [data, renderTable],\n )\n\n const onDrawerOpen = useCallback<OnDrawerOpen>((id, collectionSlug) => {\n openDrawerWhenRelationChanges.current = true\n\n if (id) {\n setCurrentDrawerID(id)\n } else {\n setCurrentDrawerID(undefined)\n }\n\n if (collectionSlug) {\n setSelectedCollection(collectionSlug)\n } else {\n setSelectedCollection(undefined)\n }\n }, [])\n\n useEffect(() => {\n if (openDrawerWhenRelationChanges.current) {\n openDrawerWhenRelationChanges.current = false\n openDrawer()\n }\n }, [openDrawer])\n\n useEffect(() => {\n if (!isDrawerOpen) {\n setCurrentDrawerID(undefined)\n }\n }, [isDrawerOpen])\n\n // Keep this table in sync with documents created, updated, or deleted elsewhere\n // (a sibling join table, the relationship field, or an inline drawer edit).\n const { mostRecentUpdate } = useDocumentEvents()\n const lastHandledEventRef = useRef<DocumentEvent | null>(null)\n\n const handleDocumentEvent = useEffectEvent((event: DocumentEvent | null) => {\n if (disableTable || !event || event === lastHandledEventRef.current) {\n return\n }\n\n const relationSlugs = Array.isArray(relationTo) ? relationTo : [relationTo]\n\n if (!relationSlugs.includes(event.entitySlug)) {\n return\n }\n\n lastHandledEventRef.current = event\n\n // Skip the refetch when the current data already reflects this event — e.g. this\n // table's own drawer already applied it optimistically via onDrawerSave/onDrawerDelete,\n // or a fresh mount already loaded data that includes it. Otherwise saving/deleting from\n // this table's own drawer (which also emits a matching event) would render a second time.\n const eventDocID = event.doc?.id ?? event.id\n\n const existingDoc = isPolymorphic\n ? data?.docs?.find(\n (doc) => doc.relationTo === event.entitySlug && doc.value?.id === eventDocID,\n )\n : data?.docs?.find((doc) => doc.id === eventDocID)\n\n const existingUpdatedAt = isPolymorphic ? existingDoc?.value?.updatedAt : existingDoc?.updatedAt\n\n const isAlreadyReflected =\n event.operation === 'delete'\n ? !existingDoc\n : Boolean(existingDoc) && existingUpdatedAt === event.updatedAt\n\n if (isAlreadyReflected) {\n return\n }\n\n void renderTable()\n })\n\n useEffect(() => {\n handleDocumentEvent(mostRecentUpdate)\n }, [mostRecentUpdate])\n\n const canCreate =\n allowCreate !== false &&\n permissions?.collections?.[isPolymorphic ? relationTo[0] : relationTo]?.create\n\n const openSelectedCollectionDrawer = useEffectEvent(() => {\n if (isPolymorphic && selectedCollection) {\n openDrawer()\n }\n })\n\n useEffect(() => {\n openSelectedCollectionDrawer()\n }, [selectedCollection, isPolymorphic])\n\n useEffect(() => {\n if (isPolymorphic && !isDrawerOpen && selectedCollection) {\n setSelectedCollection(undefined)\n }\n // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDrawerOpen])\n\n const memoizedListQuery = React.useMemo(\n () => ({\n columns: transformColumnsToPreferences(columnState)?.map(({ accessor }) => accessor),\n limit: field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit,\n sort: field.defaultSort ?? collectionConfig?.defaultSort,\n }),\n [columnState, field, collectionConfig],\n )\n\n const addNewButton = (\n <AddNewButton\n allowCreate={allowCreate !== false}\n baseClass={baseClass}\n buttonStyle=\"ghost\"\n className={`${baseClass}__add-new${isPolymorphic ? '-polymorphic' : ''}`}\n collections={config.collections}\n i18n={i18n}\n label={i18n.t('fields:addNew')}\n onClick={isPolymorphic ? setSelectedCollection : openDrawer}\n permissions={permissions}\n relationTo={relationTo}\n />\n )\n\n const columnsButton = <ListColumnSelectionButton collectionSlug={collectionConfig?.slug} />\n\n return (\n <TableIdentityProvider collectionSlug={isPolymorphic ? 'results' : relationTo}>\n <div className={baseClass}>\n {isLoadingTable ? (\n <Fragment>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>{addNewButton}</div>\n {Description}\n </div>\n {BeforeInput}\n <p>{t('general:loading')}</p>\n </Fragment>\n ) : (\n <Fragment>\n {data?.docs && data.docs.length === 0 && (\n <Fragment>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>{addNewButton}</div>\n {Description}\n </div>\n {BeforeInput}\n <NoListResults\n Actions={\n canCreate\n ? [\n <AddNewButton\n allowCreate={canCreate}\n baseClass={baseClass}\n collections={config.collections}\n i18n={i18n}\n key=\"create\"\n label={i18n.t('general:createNewLabel', {\n label: isPolymorphic\n ? i18n.t('general:document')\n : getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n onClick={isPolymorphic ? setSelectedCollection : openDrawer}\n permissions={permissions}\n relationTo={relationTo}\n />,\n ]\n : []\n }\n description={i18n.t('general:noResults', {\n label: isPolymorphic\n ? i18n.t('general:documents')\n : getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n title={i18n.t('general:noResultsFound')}\n />\n </Fragment>\n )}\n {data?.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n data={data}\n modifySearchParams={false}\n onQueryChange={setQuery}\n orderableFieldName={\n !field.orderable || Array.isArray(field.collection)\n ? undefined\n : `_${field.collection}_${fieldPath.replaceAll('.', '_')}_order`\n }\n query={memoizedListQuery}\n >\n <TableColumnsProvider\n collectionSlug={isPolymorphic ? relationTo[0] : relationTo}\n columnState={columnState}\n LinkedCellOverride={\n <DrawerLink currentDrawerID={currentDrawerID} onDrawerOpen={onDrawerOpen} />\n }\n >\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n {addNewButton}\n {columnsButton}\n </div>\n {Description}\n </div>\n {BeforeInput}\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer\n initialData={initialDrawerData}\n onDelete={onDrawerDelete}\n onSave={onDrawerSave}\n />\n </div>\n </TableIdentityProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -41,6 +41,7 @@
41
41
  }
42
42
  }
43
43
 
44
+ /* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
44
45
  @media (max-width: 768px) {
45
46
  .render-title {
46
47
  --render-title-letter-spacing: -0.075px;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SortColumn/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,aAAa,CAAA;AAEpB,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,CAAA;AAID,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAoEhD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SortColumn/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,KAAwB,MAAM,OAAO,CAAA;AAO5C,OAAO,aAAa,CAAA;AAEpB,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,CAAA;AAID,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA+EhD,CAAA"}
@@ -1,24 +1,22 @@
1
1
  'use client';
2
2
 
3
- import { c as _c } from "react/compiler-runtime";
4
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import React from 'react';
4
+ import React, { useId, useRef } from 'react';
6
5
  import { FieldLabel } from '../../fields/FieldLabel/index.js';
7
6
  import { ChevronIcon } from '../../icons/Chevron/index.js';
8
7
  import { useListQuery } from '../../providers/ListQuery/index.js';
9
8
  import { useTranslation } from '../../providers/Translation/index.js';
9
+ import { useAriaSort } from '../Table/useAriaSort.js';
10
10
  import './index.css';
11
11
  const baseClass = 'sort-column';
12
12
  export const SortColumn = props => {
13
- const $ = _c(21);
14
13
  const {
15
14
  name,
16
15
  appearance,
17
- disable: t0,
16
+ disable = false,
18
17
  Label,
19
18
  label
20
19
  } = props;
21
- const disable = t0 === undefined ? false : t0;
22
20
  const {
23
21
  handleSortChange,
24
22
  query
@@ -31,100 +29,66 @@ export const SortColumn = props => {
31
29
  } = query;
32
30
  const desc = `-${name}`;
33
31
  const asc = name;
34
- let ascClasses;
35
- if ($[0] !== asc || $[1] !== sort) {
36
- ascClasses = [`${baseClass}__asc`];
37
- if (sort === asc) {
38
- ascClasses.push(`${baseClass}--active`);
39
- }
40
- $[0] = asc;
41
- $[1] = sort;
42
- $[2] = ascClasses;
43
- } else {
44
- ascClasses = $[2];
32
+ const ascClasses = [`${baseClass}__asc`];
33
+ if (sort === asc) {
34
+ ascClasses.push(`${baseClass}--active`);
45
35
  }
46
- let descClasses;
47
- if ($[3] !== desc || $[4] !== sort) {
48
- descClasses = [`${baseClass}__desc`];
49
- if (sort === desc) {
50
- descClasses.push(`${baseClass}--active`);
51
- }
52
- $[3] = desc;
53
- $[4] = sort;
54
- $[5] = descClasses;
55
- } else {
56
- descClasses = $[5];
36
+ const descClasses = [`${baseClass}__desc`];
37
+ if (sort === desc) {
38
+ descClasses.push(`${baseClass}--active`);
57
39
  }
58
40
  const isSorted = sort === asc || sort === desc;
59
- let t1;
60
- if ($[6] !== Label || $[7] !== appearance || $[8] !== asc || $[9] !== ascClasses || $[10] !== desc || $[11] !== descClasses || $[12] !== disable || $[13] !== handleSortChange || $[14] !== isSorted || $[15] !== label || $[16] !== t) {
61
- const descLabel = t("general:sortByLabelDirection", {
62
- direction: t("general:descending"),
63
- label
64
- });
65
- const ascLabel = t("general:sortByLabelDirection", {
66
- direction: t("general:ascending"),
67
- label
68
- });
69
- const t2 = appearance && `${baseClass}--appearance-${appearance}`;
70
- const t3 = isSorted && `${baseClass}--sorted`;
71
- let t4;
72
- if ($[18] !== t2 || $[19] !== t3) {
73
- t4 = [baseClass, t2, t3].filter(Boolean);
74
- $[18] = t2;
75
- $[19] = t3;
76
- $[20] = t4;
77
- } else {
78
- t4 = $[20];
79
- }
80
- t1 = _jsxs("div", {
81
- className: t4.join(" "),
82
- children: [_jsx("span", {
83
- className: `${baseClass}__label`,
84
- children: Label ?? _jsx(FieldLabel, {
85
- hideLocale: true,
86
- label,
87
- unstyled: true
41
+ const labelId = useId();
42
+ const rootRef = useRef(null);
43
+ useAriaSort({
44
+ labelledBy: labelId,
45
+ ref: rootRef,
46
+ value: sort === asc ? 'ascending' : sort === desc ? 'descending' : undefined
47
+ });
48
+ const descLabel = t('general:sortByLabelDirection', {
49
+ direction: t('general:descending'),
50
+ label
51
+ });
52
+ const ascLabel = t('general:sortByLabelDirection', {
53
+ direction: t('general:ascending'),
54
+ label
55
+ });
56
+ return /*#__PURE__*/_jsxs("div", {
57
+ className: [baseClass, appearance && `${baseClass}--appearance-${appearance}`, isSorted && `${baseClass}--sorted`].filter(Boolean).join(' '),
58
+ ref: rootRef,
59
+ children: [/*#__PURE__*/_jsx("span", {
60
+ className: `${baseClass}__label`,
61
+ id: labelId,
62
+ children: Label ?? /*#__PURE__*/_jsx(FieldLabel, {
63
+ hideLocale: true,
64
+ label: label,
65
+ unstyled: true
66
+ })
67
+ }), !disable && /*#__PURE__*/_jsxs("div", {
68
+ className: `${baseClass}__buttons`,
69
+ children: [/*#__PURE__*/_jsx("button", {
70
+ "aria-label": descLabel,
71
+ "aria-pressed": sort === desc,
72
+ className: [...descClasses, `${baseClass}__button`].filter(Boolean).join(' '),
73
+ onClick: () => void handleSortChange(desc),
74
+ title: descLabel,
75
+ type: "button",
76
+ children: /*#__PURE__*/_jsx(ChevronIcon, {
77
+ size: 16
78
+ })
79
+ }), /*#__PURE__*/_jsx("button", {
80
+ "aria-label": ascLabel,
81
+ "aria-pressed": sort === asc,
82
+ className: [...ascClasses, `${baseClass}__button`].filter(Boolean).join(' '),
83
+ onClick: () => void handleSortChange(asc),
84
+ title: ascLabel,
85
+ type: "button",
86
+ children: /*#__PURE__*/_jsx(ChevronIcon, {
87
+ direction: "up",
88
+ size: 16
88
89
  })
89
- }), !disable && _jsxs("div", {
90
- className: `${baseClass}__buttons`,
91
- children: [_jsx("button", {
92
- "aria-label": descLabel,
93
- className: [...descClasses, `${baseClass}__button`].filter(Boolean).join(" "),
94
- onClick: () => void handleSortChange(desc),
95
- title: descLabel,
96
- type: "button",
97
- children: _jsx(ChevronIcon, {
98
- size: 16
99
- })
100
- }), _jsx("button", {
101
- "aria-label": ascLabel,
102
- className: [...ascClasses, `${baseClass}__button`].filter(Boolean).join(" "),
103
- onClick: () => void handleSortChange(asc),
104
- title: ascLabel,
105
- type: "button",
106
- children: _jsx(ChevronIcon, {
107
- direction: "up",
108
- size: 16
109
- })
110
- })]
111
90
  })]
112
- });
113
- $[6] = Label;
114
- $[7] = appearance;
115
- $[8] = asc;
116
- $[9] = ascClasses;
117
- $[10] = desc;
118
- $[11] = descClasses;
119
- $[12] = disable;
120
- $[13] = handleSortChange;
121
- $[14] = isSorted;
122
- $[15] = label;
123
- $[16] = t;
124
- $[17] = t1;
125
- } else {
126
- t1 = $[17];
127
- }
128
- return t1;
91
+ })]
92
+ });
129
93
  };
130
94
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","FieldLabel","ChevronIcon","useListQuery","useTranslation","baseClass","SortColumn","props","$","name","appearance","disable","t0","Label","label","undefined","handleSortChange","query","t","sort","desc","asc","ascClasses","push","descClasses","isSorted","t1","descLabel","direction","ascLabel","t2","t3","t4","filter","Boolean","_jsxs","className","join","children","_jsx","hideLocale","unstyled","onClick","title","type","size"],"sources":["../../../src/elements/SortColumn/index.tsx"],"sourcesContent":["'use client'\nimport type { StaticLabel } from 'payload'\n\nimport React from 'react'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.css'\n\nexport type SortColumnProps = {\n readonly appearance?: 'condensed' | 'default'\n readonly disable?: boolean\n readonly Label: React.ReactNode\n readonly label?: StaticLabel\n readonly name: string\n}\n\nconst baseClass = 'sort-column'\n\nexport const SortColumn: React.FC<SortColumnProps> = (props) => {\n const { name, appearance, disable = false, Label, label } = props\n const { handleSortChange, query } = useListQuery()\n const { t } = useTranslation()\n\n const { sort } = query\n\n const desc = `-${name}`\n const asc = name\n\n const ascClasses = [`${baseClass}__asc`]\n if (sort === asc) {\n ascClasses.push(`${baseClass}--active`)\n }\n\n const descClasses = [`${baseClass}__desc`]\n if (sort === desc) {\n descClasses.push(`${baseClass}--active`)\n }\n\n const isSorted = sort === asc || sort === desc\n\n const descLabel = t('general:sortByLabelDirection', {\n direction: t('general:descending'),\n label,\n })\n const ascLabel = t('general:sortByLabelDirection', {\n direction: t('general:ascending'),\n label,\n })\n\n return (\n <div\n className={[\n baseClass,\n appearance && `${baseClass}--appearance-${appearance}`,\n isSorted && `${baseClass}--sorted`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <span className={`${baseClass}__label`}>\n {Label ?? <FieldLabel hideLocale label={label} unstyled />}\n </span>\n {!disable && (\n <div className={`${baseClass}__buttons`}>\n <button\n aria-label={descLabel}\n className={[...descClasses, `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => void handleSortChange(desc)}\n title={descLabel}\n type=\"button\"\n >\n <ChevronIcon size={16} />\n </button>\n <button\n aria-label={ascLabel}\n className={[...ascClasses, `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => void handleSortChange(asc)}\n title={ascLabel}\n type=\"button\"\n >\n <ChevronIcon direction=\"up\" size={16} />\n </button>\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useId","useRef","FieldLabel","ChevronIcon","useListQuery","useTranslation","useAriaSort","baseClass","SortColumn","props","name","appearance","disable","Label","label","handleSortChange","query","t","sort","desc","asc","ascClasses","push","descClasses","isSorted","labelId","rootRef","labelledBy","ref","value","undefined","descLabel","direction","ascLabel","_jsxs","className","filter","Boolean","join","_jsx","id","hideLocale","unstyled","onClick","title","type","size"],"sources":["../../../src/elements/SortColumn/index.tsx"],"sourcesContent":["'use client'\nimport type { StaticLabel } from 'payload'\n\nimport React, { useId, useRef } from 'react'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useAriaSort } from '../Table/useAriaSort.js'\nimport './index.css'\n\nexport type SortColumnProps = {\n readonly appearance?: 'condensed' | 'default'\n readonly disable?: boolean\n readonly Label: React.ReactNode\n readonly label?: StaticLabel\n readonly name: string\n}\n\nconst baseClass = 'sort-column'\n\nexport const SortColumn: React.FC<SortColumnProps> = (props) => {\n const { name, appearance, disable = false, Label, label } = props\n const { handleSortChange, query } = useListQuery()\n const { t } = useTranslation()\n\n const { sort } = query\n\n const desc = `-${name}`\n const asc = name\n\n const ascClasses = [`${baseClass}__asc`]\n if (sort === asc) {\n ascClasses.push(`${baseClass}--active`)\n }\n\n const descClasses = [`${baseClass}__desc`]\n if (sort === desc) {\n descClasses.push(`${baseClass}--active`)\n }\n\n const isSorted = sort === asc || sort === desc\n const labelId = useId()\n const rootRef = useRef<HTMLDivElement>(null)\n\n useAriaSort({\n labelledBy: labelId,\n ref: rootRef,\n value: sort === asc ? 'ascending' : sort === desc ? 'descending' : undefined,\n })\n\n const descLabel = t('general:sortByLabelDirection', {\n direction: t('general:descending'),\n label,\n })\n const ascLabel = t('general:sortByLabelDirection', {\n direction: t('general:ascending'),\n label,\n })\n\n return (\n <div\n className={[\n baseClass,\n appearance && `${baseClass}--appearance-${appearance}`,\n isSorted && `${baseClass}--sorted`,\n ]\n .filter(Boolean)\n .join(' ')}\n ref={rootRef}\n >\n <span className={`${baseClass}__label`} id={labelId}>\n {Label ?? <FieldLabel hideLocale label={label} unstyled />}\n </span>\n {!disable && (\n <div className={`${baseClass}__buttons`}>\n <button\n aria-label={descLabel}\n aria-pressed={sort === desc}\n className={[...descClasses, `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => void handleSortChange(desc)}\n title={descLabel}\n type=\"button\"\n >\n <ChevronIcon size={16} />\n </button>\n <button\n aria-label={ascLabel}\n aria-pressed={sort === asc}\n className={[...ascClasses, `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => void handleSortChange(asc)}\n title={ascLabel}\n type=\"button\"\n >\n <ChevronIcon direction=\"up\" size={16} />\n </button>\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SortHeader/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,aAAa,CAAA;AAEpB,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAkBD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAwBhD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SortHeader/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAA;AAMrC,OAAO,aAAa,CAAA;AAEpB,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAkBD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA+BhD,CAAA"}