@payloadcms/ui 4.0.0-internal.8001944 → 4.0.0-internal.8089ef7

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 (715) hide show
  1. package/dist/css/app.css +1 -1
  2. package/dist/css/forms.css +0 -1
  3. package/dist/css/spacing.css +1 -1
  4. package/dist/css/typography.css +161 -55
  5. package/dist/elements/APIKeyInput/index.css +2 -2
  6. package/dist/elements/AppHeader/index.css +1 -1
  7. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  8. package/dist/elements/AppHeader/index.js +9 -2
  9. package/dist/elements/AppHeader/index.js.map +1 -1
  10. package/dist/elements/Autosave/index.d.ts.map +1 -1
  11. package/dist/elements/Autosave/index.js +10 -3
  12. package/dist/elements/Autosave/index.js.map +1 -1
  13. package/dist/elements/Banner/index.css +3 -4
  14. package/dist/elements/BulkUpload/EditMany/index.css +4 -5
  15. package/dist/elements/BulkUpload/FileSidebar/index.css +0 -1
  16. package/dist/elements/BulkUpload/FileSidebar/index.js +1 -1
  17. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  18. package/dist/elements/Button/index.css +31 -1
  19. package/dist/elements/Button/types.d.ts +1 -1
  20. package/dist/elements/Button/types.d.ts.map +1 -1
  21. package/dist/elements/Button/types.js.map +1 -1
  22. package/dist/elements/Card/index.css +3 -4
  23. package/dist/elements/CardGrid/index.css +20 -0
  24. package/dist/elements/CardGrid/index.d.ts +13 -0
  25. package/dist/elements/CardGrid/index.d.ts.map +1 -0
  26. package/dist/elements/CardGrid/index.js +23 -0
  27. package/dist/elements/CardGrid/index.js.map +1 -0
  28. package/dist/elements/Chip/index.css +0 -1
  29. package/dist/elements/CloseModalOnRouteChange/index.d.ts.map +1 -1
  30. package/dist/elements/CloseModalOnRouteChange/index.js +27 -19
  31. package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
  32. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  33. package/dist/elements/CodeEditor/CodeEditor.js +5 -0
  34. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  35. package/dist/elements/Collapsible/index.css +4 -1
  36. package/dist/elements/ColumnSelection/Popup.css +6 -11
  37. package/dist/elements/CommandPalette/index.css +3 -8
  38. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  39. package/dist/elements/CopyToClipboard/index.js +62 -54
  40. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  41. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  42. package/dist/elements/CreateDocumentButton/index.js +56 -33
  43. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  44. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  45. package/dist/elements/DatePicker/DatePicker.js +88 -15
  46. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  47. package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts +8 -0
  48. package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts.map +1 -0
  49. package/dist/elements/DatePicker/hasAmbiguousYearInput.js +37 -0
  50. package/dist/elements/DatePicker/hasAmbiguousYearInput.js.map +1 -0
  51. package/dist/elements/DatePicker/index.css +27 -17
  52. package/dist/elements/DatePicker/useDatePickerKeyboard.d.ts +18 -0
  53. package/dist/elements/DatePicker/useDatePickerKeyboard.d.ts.map +1 -0
  54. package/dist/elements/DatePicker/useDatePickerKeyboard.js +212 -0
  55. package/dist/elements/DatePicker/useDatePickerKeyboard.js.map +1 -0
  56. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  57. package/dist/elements/DefaultListViewTabs/index.js +9 -7
  58. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  59. package/dist/elements/Dialog/DialogTitle/index.css +1 -1
  60. package/dist/elements/Dialog/index.css +1 -2
  61. package/dist/elements/DocumentCard/index.css +73 -0
  62. package/dist/elements/DocumentCard/index.d.ts +18 -0
  63. package/dist/elements/DocumentCard/index.d.ts.map +1 -0
  64. package/dist/elements/DocumentCard/index.js +182 -0
  65. package/dist/elements/DocumentCard/index.js.map +1 -0
  66. package/dist/elements/DocumentControls/index.css +14 -15
  67. package/dist/elements/DocumentControls/index.d.ts +4 -2
  68. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  69. package/dist/elements/DocumentControls/index.js.map +1 -1
  70. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +4 -7
  71. package/dist/elements/DocumentDrawer/types.d.ts +1 -5
  72. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  73. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  74. package/dist/elements/DocumentFields/RequiredFieldsInfo/index.css +2 -2
  75. package/dist/elements/DocumentFields/index.css +5 -5
  76. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  77. package/dist/elements/DocumentFields/index.js +1 -2
  78. package/dist/elements/DocumentFields/index.js.map +1 -1
  79. package/dist/elements/DocumentHeader/index.css +1 -1
  80. package/dist/elements/Drawer/index.css +4 -5
  81. package/dist/elements/Drawer/types.d.ts +2 -2
  82. package/dist/elements/Drawer/types.d.ts.map +1 -1
  83. package/dist/elements/Drawer/types.js.map +1 -1
  84. package/dist/elements/EditMany/index.css +4 -5
  85. package/dist/elements/EditUpload/index.css +3 -4
  86. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  87. package/dist/elements/EditUpload/index.js +13 -2
  88. package/dist/elements/EditUpload/index.js.map +1 -1
  89. package/dist/elements/EditUpload/library.css +6 -13
  90. package/dist/elements/ErrorPill/index.css +0 -1
  91. package/dist/elements/FieldDiffContainer/index.css +0 -1
  92. package/dist/elements/FieldDiffLabel/index.css +4 -5
  93. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  94. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  95. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  96. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  97. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  98. package/dist/elements/FileDetails/FileMeta/index.js +41 -21
  99. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  100. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +1 -1
  101. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  102. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  103. package/dist/elements/FileDetails/index.d.ts +1 -1
  104. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  105. package/dist/elements/FileDetails/index.js.map +1 -1
  106. package/dist/elements/FileManager/FilePreview/index.css +2 -3
  107. package/dist/elements/FileManager/FilePreview/index.js +4 -4
  108. package/dist/elements/FileManager/FilePreview/index.js.map +1 -1
  109. package/dist/elements/FileManager/FileToolbar/index.css +2 -3
  110. package/dist/elements/FileManager/index.css +0 -1
  111. package/dist/elements/FileManager/index.d.ts.map +1 -1
  112. package/dist/elements/FileManager/index.js +13 -6
  113. package/dist/elements/FileManager/index.js.map +1 -1
  114. package/dist/elements/FormHeader/index.css +0 -2
  115. package/dist/elements/GroupBy/Popup.css +3 -6
  116. package/dist/elements/HTMLDiff/index.css +0 -1
  117. package/dist/elements/Hierarchy/ActionsMenu/index.css +18 -0
  118. package/dist/elements/Hierarchy/ActionsMenu/index.d.ts +35 -0
  119. package/dist/elements/Hierarchy/ActionsMenu/index.d.ts.map +1 -0
  120. package/dist/elements/Hierarchy/ActionsMenu/index.js +99 -0
  121. package/dist/elements/Hierarchy/ActionsMenu/index.js.map +1 -0
  122. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +18 -16
  123. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  124. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  125. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +40 -36
  126. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  127. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  128. package/dist/elements/Hierarchy/ColumnBrowser/index.js +15 -58
  129. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  130. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +2 -0
  131. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  132. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  133. package/dist/elements/Hierarchy/DocHeaderButton/index.css +12 -0
  134. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  135. package/dist/elements/Hierarchy/DocHeaderButton/index.js +88 -13
  136. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  137. package/dist/elements/Hierarchy/EditButton/index.d.ts +8 -0
  138. package/dist/elements/Hierarchy/EditButton/index.d.ts.map +1 -0
  139. package/dist/elements/Hierarchy/EditButton/index.js +93 -0
  140. package/dist/elements/Hierarchy/EditButton/index.js.map +1 -0
  141. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts +9 -0
  142. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts.map +1 -0
  143. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js +41 -0
  144. package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js.map +1 -0
  145. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  146. package/dist/elements/Hierarchy/Field/index.client.js +120 -105
  147. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  148. package/dist/elements/Hierarchy/Field/index.css +0 -1
  149. package/dist/elements/Hierarchy/Modal/Footer/index.css +33 -0
  150. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +21 -0
  151. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
  152. package/dist/elements/Hierarchy/Modal/Footer/index.js +122 -0
  153. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
  154. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +8 -3
  155. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  156. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +38 -12
  157. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  158. package/dist/elements/Hierarchy/Modal/index.css +0 -56
  159. package/dist/elements/Hierarchy/Modal/index.d.ts +5 -3
  160. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  161. package/dist/elements/Hierarchy/Modal/index.js +90 -102
  162. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  163. package/dist/elements/Hierarchy/Modal/selection.d.ts +12 -0
  164. package/dist/elements/Hierarchy/Modal/selection.d.ts.map +1 -0
  165. package/dist/elements/Hierarchy/Modal/selection.js +40 -0
  166. package/dist/elements/Hierarchy/Modal/selection.js.map +1 -0
  167. package/dist/elements/Hierarchy/Modal/types.d.ts +4 -0
  168. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
  169. package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
  170. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -1
  171. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js +1 -1
  172. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -1
  173. package/dist/elements/Hierarchy/MoveMany/index.d.ts +3 -3
  174. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  175. package/dist/elements/Hierarchy/MoveMany/index.js +79 -92
  176. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  177. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  178. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +7 -1
  179. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  180. package/dist/elements/Hierarchy/Tree/index.css +1 -1
  181. package/dist/elements/HydratePreferences/index.d.ts +8 -0
  182. package/dist/elements/HydratePreferences/index.d.ts.map +1 -0
  183. package/dist/elements/HydratePreferences/index.js +34 -0
  184. package/dist/elements/HydratePreferences/index.js.map +1 -0
  185. package/dist/elements/IDLabel/index.css +5 -7
  186. package/dist/elements/ItemsDrawer/ItemSearch/index.css +0 -1
  187. package/dist/elements/LLMInstructionsCell/index.css +11 -0
  188. package/dist/elements/LLMInstructionsCell/index.d.ts +5 -0
  189. package/dist/elements/LLMInstructionsCell/index.d.ts.map +1 -0
  190. package/dist/elements/LLMInstructionsCell/index.js +24 -0
  191. package/dist/elements/LLMInstructionsCell/index.js.map +1 -0
  192. package/dist/elements/LLMInstructionsDescription/index.css +79 -0
  193. package/dist/elements/LLMInstructionsDescription/index.d.ts +6 -0
  194. package/dist/elements/LLMInstructionsDescription/index.d.ts.map +1 -0
  195. package/dist/elements/LLMInstructionsDescription/index.js +40 -0
  196. package/dist/elements/LLMInstructionsDescription/index.js.map +1 -0
  197. package/dist/elements/LLMInstructionsMenuItem/index.d.ts +5 -0
  198. package/dist/elements/LLMInstructionsMenuItem/index.d.ts.map +1 -0
  199. package/dist/elements/LLMInstructionsMenuItem/index.js +46 -0
  200. package/dist/elements/LLMInstructionsMenuItem/index.js.map +1 -0
  201. package/dist/elements/LayoutToggle/index.d.ts +8 -0
  202. package/dist/elements/LayoutToggle/index.d.ts.map +1 -0
  203. package/dist/elements/LayoutToggle/index.js +56 -0
  204. package/dist/elements/LayoutToggle/index.js.map +1 -0
  205. package/dist/elements/Link/index.d.ts.map +1 -1
  206. package/dist/elements/Link/index.js +3 -0
  207. package/dist/elements/Link/index.js.map +1 -1
  208. package/dist/elements/ListControls/index.d.ts.map +1 -1
  209. package/dist/elements/ListControls/index.js +2 -1
  210. package/dist/elements/ListControls/index.js.map +1 -1
  211. package/dist/elements/ListControls/types.d.ts +1 -10
  212. package/dist/elements/ListControls/types.d.ts.map +1 -1
  213. package/dist/elements/ListControls/types.js.map +1 -1
  214. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  215. package/dist/elements/ListDrawer/DrawerContent.js +2 -3
  216. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  217. package/dist/elements/ListDrawer/Provider.d.ts +0 -6
  218. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  219. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  220. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  221. package/dist/elements/ListDrawer/index.js +1 -1
  222. package/dist/elements/ListDrawer/index.js.map +1 -1
  223. package/dist/elements/ListDrawer/types.d.ts +1 -0
  224. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  225. package/dist/elements/ListDrawer/types.js.map +1 -1
  226. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  227. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +24 -20
  228. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  229. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts +6 -0
  230. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts.map +1 -0
  231. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js +61 -0
  232. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -0
  233. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts +1 -0
  234. package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts.map +1 -1
  235. package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
  236. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
  237. package/dist/elements/ListHeader/index.css +4 -5
  238. package/dist/elements/MiniCarousel/index.d.ts +1 -1
  239. package/dist/elements/MiniCarousel/index.d.ts.map +1 -1
  240. package/dist/elements/MiniCarousel/index.js +6 -6
  241. package/dist/elements/MiniCarousel/index.js.map +1 -1
  242. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  243. package/dist/elements/Nav/NavWrapper/index.js +19 -14
  244. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  245. package/dist/elements/Nav/SidebarTabs/index.client.js +1 -1
  246. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  247. package/dist/elements/Nav/SidebarTabs/index.css +2 -1
  248. package/dist/elements/Nav/index.js +1 -2
  249. package/dist/elements/Nav/index.js.map +1 -1
  250. package/dist/elements/NavGroup/index.css +3 -4
  251. package/dist/elements/NoListResults/index.css +2 -3
  252. package/dist/elements/PageControls/index.css +4 -1
  253. package/dist/elements/PageControls/index.d.ts.map +1 -1
  254. package/dist/elements/PageControls/index.js +22 -8
  255. package/dist/elements/PageControls/index.js.map +1 -1
  256. package/dist/elements/Pagination/SimplePagination/index.css +0 -1
  257. package/dist/elements/Pagination/index.css +0 -2
  258. package/dist/elements/PerPage/index.css +0 -1
  259. package/dist/elements/Pill/index.css +0 -1
  260. package/dist/elements/Popup/PopupButtonList/index.css +4 -2
  261. package/dist/elements/Popup/PopupButtonList/index.d.ts +1 -0
  262. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  263. package/dist/elements/Popup/PopupButtonList/index.js +4 -0
  264. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  265. package/dist/elements/Popup/PopupGroupLabel/index.css +0 -1
  266. package/dist/elements/PreviewSizes/index.d.ts +1 -1
  267. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  268. package/dist/elements/PreviewSizes/index.js +9 -9
  269. package/dist/elements/PreviewSizes/index.js.map +1 -1
  270. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  271. package/dist/elements/PublishButton/index.js +71 -8
  272. package/dist/elements/PublishButton/index.js.map +1 -1
  273. package/dist/elements/PublishButton/validateAllLocales.d.ts +11 -0
  274. package/dist/elements/PublishButton/validateAllLocales.d.ts.map +1 -0
  275. package/dist/elements/PublishButton/validateAllLocales.js +263 -0
  276. package/dist/elements/PublishButton/validateAllLocales.js.map +1 -0
  277. package/dist/elements/QueryPresets/fields/Heading/index.css +0 -1
  278. package/dist/elements/ReactSelect/MultiValueLabel/index.css +0 -1
  279. package/dist/elements/ReactSelect/index.css +0 -3
  280. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  281. package/dist/elements/RelationshipTable/AddNewButton.js +3 -0
  282. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  283. package/dist/elements/RenderTitle/index.css +9 -7
  284. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  285. package/dist/elements/SaveDraftButton/index.js +15 -2
  286. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  287. package/dist/elements/Search/SearchInput/index.css +0 -1
  288. package/dist/elements/Search/SearchInput/index.js +1 -1
  289. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  290. package/dist/elements/SegmentedControl/index.css +9 -0
  291. package/dist/elements/SegmentedControl/index.d.ts +20 -0
  292. package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
  293. package/dist/elements/SegmentedControl/index.js +162 -0
  294. package/dist/elements/SegmentedControl/index.js.map +1 -0
  295. package/dist/elements/SidebarRow/index.css +1 -2
  296. package/dist/elements/SortColumn/index.css +1 -2
  297. package/dist/elements/Spinner/index.css +0 -2
  298. package/dist/elements/Status/index.css +3 -4
  299. package/dist/elements/StepNav/index.css +15 -9
  300. package/dist/elements/StepNav/index.d.ts.map +1 -1
  301. package/dist/elements/StepNav/index.js +7 -0
  302. package/dist/elements/StepNav/index.js.map +1 -1
  303. package/dist/elements/StepNav/types.d.ts +2 -0
  304. package/dist/elements/StepNav/types.d.ts.map +1 -1
  305. package/dist/elements/StepNav/types.js.map +1 -1
  306. package/dist/elements/Switch/index.css +0 -1
  307. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.css +0 -1
  308. package/dist/elements/Table/DefaultCell/fields/Code/index.css +0 -1
  309. package/dist/elements/Table/DefaultCell/fields/File/index.js +1 -1
  310. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  311. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +0 -9
  312. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  313. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +100 -43
  314. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  315. package/dist/elements/Table/DefaultCell/fields/JSON/index.css +0 -1
  316. package/dist/elements/Table/DefaultCell/fields/Status/index.css +0 -1
  317. package/dist/elements/Table/index.css +1 -1
  318. package/dist/elements/TableSection/index.css +4 -5
  319. package/dist/elements/Tabs/index.css +5 -5
  320. package/dist/elements/Tabs/index.d.ts +4 -0
  321. package/dist/elements/Tabs/index.d.ts.map +1 -1
  322. package/dist/elements/Tabs/index.js +30 -1
  323. package/dist/elements/Tabs/index.js.map +1 -1
  324. package/dist/elements/ThumbnailCard/index.css +0 -1
  325. package/dist/elements/TimezonePicker/index.css +0 -3
  326. package/dist/elements/Tooltip/index.css +0 -1
  327. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  328. package/dist/elements/Tooltip/index.js +1 -0
  329. package/dist/elements/Tooltip/index.js.map +1 -1
  330. package/dist/elements/Upload/getEditorFileSrc.d.ts +11 -0
  331. package/dist/elements/Upload/getEditorFileSrc.d.ts.map +1 -0
  332. package/dist/elements/Upload/getEditorFileSrc.js +6 -0
  333. package/dist/elements/Upload/getEditorFileSrc.js.map +1 -0
  334. package/dist/elements/Upload/index.css +2 -3
  335. package/dist/elements/Upload/index.d.ts +1 -1
  336. package/dist/elements/Upload/index.d.ts.map +1 -1
  337. package/dist/elements/Upload/index.js +12 -7
  338. package/dist/elements/Upload/index.js.map +1 -1
  339. package/dist/elements/UserMenu/index.css +7 -10
  340. package/dist/exports/client/CodeEditor-S7MOGZSR.js +14 -0
  341. package/dist/exports/client/CodeEditor-S7MOGZSR.js.map +7 -0
  342. package/dist/exports/client/DatePicker-POZJVQP4.js +14 -0
  343. package/dist/exports/client/DatePicker-POZJVQP4.js.map +7 -0
  344. package/dist/exports/client/chunk-2AY67NFV.js +29 -0
  345. package/dist/exports/client/chunk-2AY67NFV.js.map +7 -0
  346. package/dist/exports/client/chunk-AVJIZPR3.js +14 -0
  347. package/dist/exports/client/chunk-AVJIZPR3.js.map +7 -0
  348. package/dist/exports/client/chunk-Z42OBP5U.js +27 -0
  349. package/dist/exports/client/chunk-Z42OBP5U.js.map +7 -0
  350. package/dist/exports/client/index.d.ts +19 -1
  351. package/dist/exports/client/index.d.ts.map +1 -1
  352. package/dist/exports/client/index.js +100 -1
  353. package/dist/exports/client/index.js.map +4 -4
  354. package/dist/exports/rsc/index.d.ts +1 -0
  355. package/dist/exports/rsc/index.d.ts.map +1 -1
  356. package/dist/exports/rsc/index.js +1 -0
  357. package/dist/exports/rsc/index.js.map +1 -1
  358. package/dist/exports/shared/index.js +2 -2
  359. package/dist/exports/shared/index.js.map +3 -3
  360. package/dist/fields/Array/index.css +4 -0
  361. package/dist/fields/Blocks/SectionTitle/index.css +3 -5
  362. package/dist/fields/Blocks/index.css +2 -2
  363. package/dist/fields/Checkbox/Input.js +1 -1
  364. package/dist/fields/Checkbox/Input.js.map +1 -1
  365. package/dist/fields/Checkbox/index.css +4 -0
  366. package/dist/fields/DateTime/index.d.ts.map +1 -1
  367. package/dist/fields/DateTime/index.js +9 -2
  368. package/dist/fields/DateTime/index.js.map +1 -1
  369. package/dist/fields/FieldLabel/index.css +1 -2
  370. package/dist/fields/Group/index.css +5 -8
  371. package/dist/fields/Join/index.css +3 -4
  372. package/dist/fields/RadioGroup/Radio/index.css +0 -1
  373. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  374. package/dist/fields/Relationship/Input.js +25 -17
  375. package/dist/fields/Relationship/Input.js.map +1 -1
  376. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  377. package/dist/fields/Relationship/optionsReducer.js +2 -0
  378. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  379. package/dist/fields/Relationship/types.d.ts +8 -0
  380. package/dist/fields/Relationship/types.d.ts.map +1 -1
  381. package/dist/fields/Relationship/types.js.map +1 -1
  382. package/dist/fields/Select/Input.d.ts.map +1 -1
  383. package/dist/fields/Select/Input.js +17 -15
  384. package/dist/fields/Select/Input.js.map +1 -1
  385. package/dist/fields/Select/index.css +7 -0
  386. package/dist/fields/Tabs/Tab/index.d.ts +2 -0
  387. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  388. package/dist/fields/Tabs/Tab/index.js +15 -9
  389. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  390. package/dist/fields/Tabs/index.css +14 -14
  391. package/dist/fields/Tabs/index.d.ts.map +1 -1
  392. package/dist/fields/Tabs/index.js +179 -116
  393. package/dist/fields/Tabs/index.js.map +1 -1
  394. package/dist/fields/Upload/HasMany/index.js +1 -1
  395. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  396. package/dist/fields/Upload/HasOne/index.js +1 -1
  397. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  398. package/dist/fields/Upload/Input.d.ts.map +1 -1
  399. package/dist/fields/Upload/Input.js +13 -4
  400. package/dist/fields/Upload/Input.js.map +1 -1
  401. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  402. package/dist/forms/Form/fieldReducer.js +6 -9
  403. package/dist/forms/Form/fieldReducer.js.map +1 -1
  404. package/dist/forms/Form/index.d.ts.map +1 -1
  405. package/dist/forms/Form/index.js +0 -1
  406. package/dist/forms/Form/index.js.map +1 -1
  407. package/dist/forms/Form/types.d.ts +0 -5
  408. package/dist/forms/Form/types.d.ts.map +1 -1
  409. package/dist/forms/Form/types.js.map +1 -1
  410. package/dist/forms/RenderFields/index.css +2 -5
  411. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +2 -2
  412. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  413. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  414. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -2
  415. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  416. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  417. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -2
  418. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  419. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  420. package/dist/forms/fieldSchemasToFormState/types.d.ts +2 -2
  421. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  422. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  423. package/dist/forms/useField/types.d.ts +0 -4
  424. package/dist/forms/useField/types.d.ts.map +1 -1
  425. package/dist/forms/useField/types.js.map +1 -1
  426. package/dist/icons/Arrow/index.d.ts +1 -1
  427. package/dist/icons/Arrow/index.d.ts.map +1 -1
  428. package/dist/icons/Arrow/index.js +7 -1
  429. package/dist/icons/Arrow/index.js.map +1 -1
  430. package/dist/icons/Clock/index.d.ts +6 -0
  431. package/dist/icons/Clock/index.d.ts.map +1 -0
  432. package/dist/icons/Clock/index.js +18 -0
  433. package/dist/icons/Clock/index.js.map +1 -0
  434. package/dist/icons/Pin/index.d.ts +7 -0
  435. package/dist/icons/Pin/index.d.ts.map +1 -0
  436. package/dist/icons/Pin/index.js +23 -0
  437. package/dist/icons/Pin/index.js.map +1 -0
  438. package/dist/icons/Sidebar/index.d.ts.map +1 -1
  439. package/dist/icons/Sidebar/index.js +2 -0
  440. package/dist/icons/Sidebar/index.js.map +1 -1
  441. package/dist/icons/Table/index.css +1 -0
  442. package/dist/icons/Table/index.d.ts +7 -0
  443. package/dist/icons/Table/index.d.ts.map +1 -0
  444. package/dist/icons/Table/index.js +25 -0
  445. package/dist/icons/Table/index.js.map +1 -0
  446. package/dist/layouts/Root/getRootLayoutData.d.ts +3 -6
  447. package/dist/layouts/Root/getRootLayoutData.d.ts.map +1 -1
  448. package/dist/layouts/Root/getRootLayoutData.js +14 -13
  449. package/dist/layouts/Root/getRootLayoutData.js.map +1 -1
  450. package/dist/layouts/Root/index.d.ts +1 -1
  451. package/dist/layouts/Root/index.d.ts.map +1 -1
  452. package/dist/layouts/Root/index.js +11 -18
  453. package/dist/layouts/Root/index.js.map +1 -1
  454. package/dist/providers/ListQuery/getSearchWithListQuery.d.ts +7 -0
  455. package/dist/providers/ListQuery/getSearchWithListQuery.d.ts.map +1 -0
  456. package/dist/providers/ListQuery/getSearchWithListQuery.js +22 -0
  457. package/dist/providers/ListQuery/getSearchWithListQuery.js.map +1 -0
  458. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  459. package/dist/providers/ListQuery/index.js +11 -12
  460. package/dist/providers/ListQuery/index.js.map +1 -1
  461. package/dist/providers/ListQuery/types.d.ts +0 -4
  462. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  463. package/dist/providers/ListQuery/types.js.map +1 -1
  464. package/dist/providers/Preferences/index.d.ts +7 -1
  465. package/dist/providers/Preferences/index.d.ts.map +1 -1
  466. package/dist/providers/Preferences/index.js +62 -20
  467. package/dist/providers/Preferences/index.js.map +1 -1
  468. package/dist/providers/RouteCache/index.d.ts.map +1 -1
  469. package/dist/providers/RouteCache/index.js +38 -37
  470. package/dist/providers/RouteCache/index.js.map +1 -1
  471. package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
  472. package/dist/providers/TableColumns/RenderDefaultCell/index.js +1 -2
  473. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  474. package/dist/providers/TableColumns/buildColumnState/index.d.ts +1 -0
  475. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  476. package/dist/providers/TableColumns/buildColumnState/index.js +2 -0
  477. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  478. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +2 -1
  479. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  480. package/dist/providers/TableColumns/buildColumnState/renderCell.js +12 -28
  481. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  482. package/dist/providers/TableColumns/types.d.ts +1 -34
  483. package/dist/providers/TableColumns/types.d.ts.map +1 -1
  484. package/dist/providers/TableColumns/types.js.map +1 -1
  485. package/dist/providers/ToastContainer/index.css +6 -7
  486. package/dist/providers/Translation/index.d.ts.map +1 -1
  487. package/dist/providers/Translation/index.js +11 -1
  488. package/dist/providers/Translation/index.js.map +1 -1
  489. package/dist/styles.css +163 -58
  490. package/dist/utilities/appendCacheTag.d.ts +1 -0
  491. package/dist/utilities/appendCacheTag.d.ts.map +1 -1
  492. package/dist/utilities/appendCacheTag.js +2 -1
  493. package/dist/utilities/appendCacheTag.js.map +1 -1
  494. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
  495. package/dist/utilities/buildClientFieldSchemaMap/index.js +9 -4
  496. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  497. package/dist/utilities/filterLLMInstructionsMenuItems.d.ts +9 -0
  498. package/dist/utilities/filterLLMInstructionsMenuItems.d.ts.map +1 -0
  499. package/dist/utilities/filterLLMInstructionsMenuItems.js +37 -0
  500. package/dist/utilities/filterLLMInstructionsMenuItems.js.map +1 -0
  501. package/dist/utilities/filterOutUploadFields.js +1 -1
  502. package/dist/utilities/filterOutUploadFields.js.map +1 -1
  503. package/dist/utilities/getClientConfig.d.ts +5 -1
  504. package/dist/utilities/getClientConfig.d.ts.map +1 -1
  505. package/dist/utilities/getClientConfig.js +2 -1
  506. package/dist/utilities/getClientConfig.js.map +1 -1
  507. package/dist/utilities/getClientSchemaMap.d.ts.map +1 -1
  508. package/dist/utilities/getClientSchemaMap.js +2 -1
  509. package/dist/utilities/getClientSchemaMap.js.map +1 -1
  510. package/dist/utilities/getDocumentThumbnail.d.ts +6 -0
  511. package/dist/utilities/getDocumentThumbnail.d.ts.map +1 -0
  512. package/dist/utilities/getDocumentThumbnail.js +27 -0
  513. package/dist/utilities/getDocumentThumbnail.js.map +1 -0
  514. package/dist/utilities/getDocumentThumbnailPopulate.d.ts +7 -0
  515. package/dist/utilities/getDocumentThumbnailPopulate.d.ts.map +1 -0
  516. package/dist/utilities/getDocumentThumbnailPopulate.js +23 -0
  517. package/dist/utilities/getDocumentThumbnailPopulate.js.map +1 -0
  518. package/dist/utilities/getDocumentThumbnailSelect.d.ts +7 -0
  519. package/dist/utilities/getDocumentThumbnailSelect.d.ts.map +1 -0
  520. package/dist/utilities/getDocumentThumbnailSelect.js +24 -0
  521. package/dist/utilities/getDocumentThumbnailSelect.js.map +1 -0
  522. package/dist/utilities/hierarchyCollectionRestrictions.d.ts +15 -0
  523. package/dist/utilities/hierarchyCollectionRestrictions.d.ts.map +1 -0
  524. package/dist/utilities/hierarchyCollectionRestrictions.js +17 -0
  525. package/dist/utilities/hierarchyCollectionRestrictions.js.map +1 -0
  526. package/dist/utilities/renderTable.d.ts +2 -1
  527. package/dist/utilities/renderTable.d.ts.map +1 -1
  528. package/dist/utilities/renderTable.js +2 -0
  529. package/dist/utilities/renderTable.js.map +1 -1
  530. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  531. package/dist/utilities/schedulePublishHandler.js +3 -0
  532. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  533. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  534. package/dist/utilities/serverFunctionRegistry.js +2 -0
  535. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  536. package/dist/utilities/traverseForLocalizedFields.d.ts +7 -2
  537. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  538. package/dist/utilities/traverseForLocalizedFields.js +22 -8
  539. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  540. package/dist/views/API/index.css +1 -2
  541. package/dist/views/CreateFirstUser/index.css +0 -2
  542. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  543. package/dist/views/CreateFirstUser/index.js +4 -2
  544. package/dist/views/CreateFirstUser/index.js.map +1 -1
  545. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  546. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +31 -21
  547. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  548. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +1 -2
  549. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  550. package/dist/views/Dashboard/Default/ModularDashboard/index.css +4 -3
  551. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts +1 -1
  552. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
  553. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +16 -4
  554. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  555. package/dist/views/Document/index.js +1 -1
  556. package/dist/views/Document/index.js.map +1 -1
  557. package/dist/views/Document/renderDocumentSlots.d.ts +1 -1
  558. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  559. package/dist/views/Document/renderDocumentSlots.js +10 -3
  560. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  561. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  562. package/dist/views/Edit/Auth/APIKey.js +1 -0
  563. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  564. package/dist/views/Edit/Auth/index.css +4 -5
  565. package/dist/views/Edit/index.css +26 -0
  566. package/dist/views/Edit/index.d.ts.map +1 -1
  567. package/dist/views/Edit/index.js +1 -1
  568. package/dist/views/Edit/index.js.map +1 -1
  569. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  570. package/dist/views/ForgotPassword/index.js +1 -3
  571. package/dist/views/ForgotPassword/index.js.map +1 -1
  572. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  573. package/dist/views/HierarchyList/DocumentListSelection/index.js +103 -105
  574. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  575. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +4 -1
  576. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
  577. package/dist/views/HierarchyList/HierarchyListHeader/index.js +26 -14
  578. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
  579. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
  580. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +44 -86
  581. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  582. package/dist/views/HierarchyList/HierarchyTable/index.css +8 -31
  583. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +3 -1
  584. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  585. package/dist/views/HierarchyList/HierarchyTable/index.js +78 -5
  586. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  587. package/dist/views/HierarchyList/getHierarchyListURL.d.ts +7 -0
  588. package/dist/views/HierarchyList/getHierarchyListURL.d.ts.map +1 -0
  589. package/dist/views/HierarchyList/getHierarchyListURL.js +22 -0
  590. package/dist/views/HierarchyList/getHierarchyListURL.js.map +1 -0
  591. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  592. package/dist/views/HierarchyList/index.js +35 -11
  593. package/dist/views/HierarchyList/index.js.map +1 -1
  594. package/dist/views/List/DocumentGrid/index.d.ts +17 -0
  595. package/dist/views/List/DocumentGrid/index.d.ts.map +1 -0
  596. package/dist/views/List/DocumentGrid/index.js +117 -0
  597. package/dist/views/List/DocumentGrid/index.js.map +1 -0
  598. package/dist/views/List/GroupedDocumentGrid/index.css +17 -0
  599. package/dist/views/List/GroupedDocumentGrid/index.d.ts +14 -0
  600. package/dist/views/List/GroupedDocumentGrid/index.d.ts.map +1 -0
  601. package/dist/views/List/GroupedDocumentGrid/index.js +99 -0
  602. package/dist/views/List/GroupedDocumentGrid/index.js.map +1 -0
  603. package/dist/views/List/ListHeader/index.css +4 -5
  604. package/dist/views/List/ListHeader/index.d.ts +3 -1
  605. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  606. package/dist/views/List/ListHeader/index.js +15 -4
  607. package/dist/views/List/ListHeader/index.js.map +1 -1
  608. package/dist/views/List/enrichDocsWithVersionStatus.d.ts.map +1 -1
  609. package/dist/views/List/enrichDocsWithVersionStatus.js +3 -1
  610. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  611. package/dist/views/List/getDocumentListItemURL.d.ts +9 -0
  612. package/dist/views/List/getDocumentListItemURL.d.ts.map +1 -0
  613. package/dist/views/List/getDocumentListItemURL.js +23 -0
  614. package/dist/views/List/getDocumentListItemURL.js.map +1 -0
  615. package/dist/views/List/handleGroupBy.d.ts +6 -2
  616. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  617. package/dist/views/List/handleGroupBy.js +13 -3
  618. package/dist/views/List/handleGroupBy.js.map +1 -1
  619. package/dist/views/List/index.client.d.ts.map +1 -1
  620. package/dist/views/List/index.client.js +63 -18
  621. package/dist/views/List/index.client.js.map +1 -1
  622. package/dist/views/List/index.css +1 -1
  623. package/dist/views/List/index.d.ts.map +1 -1
  624. package/dist/views/List/index.js +91 -11
  625. package/dist/views/List/index.js.map +1 -1
  626. package/dist/views/List/renderListViewSlots.d.ts +3 -2
  627. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  628. package/dist/views/List/renderListViewSlots.js +12 -4
  629. package/dist/views/List/renderListViewSlots.js.map +1 -1
  630. package/dist/views/List/resolveDocumentListItemURL.d.ts +11 -0
  631. package/dist/views/List/resolveDocumentListItemURL.d.ts.map +1 -0
  632. package/dist/views/List/resolveDocumentListItemURL.js +30 -0
  633. package/dist/views/List/resolveDocumentListItemURL.js.map +1 -0
  634. package/dist/views/NotFound/index.css +0 -2
  635. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  636. package/dist/views/ResetPassword/index.js +1 -3
  637. package/dist/views/ResetPassword/index.js.map +1 -1
  638. package/dist/views/Root/getRouteData.d.ts +1 -8
  639. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  640. package/dist/views/Root/getRouteData.js +3 -12
  641. package/dist/views/Root/getRouteData.js.map +1 -1
  642. package/dist/views/Unauthorized/index.css +0 -2
  643. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  644. package/dist/views/Unauthorized/index.js +2 -1
  645. package/dist/views/Unauthorized/index.js.map +1 -1
  646. package/dist/views/Version/Default/index.css +7 -11
  647. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.css +0 -1
  648. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +2 -12
  649. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  650. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.css +0 -1
  651. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +2 -2
  652. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  653. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +2 -2
  654. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  655. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +2 -2
  656. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  657. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +2 -2
  658. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  659. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.css +3 -4
  660. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +2 -2
  661. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  662. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +0 -1
  663. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +2 -2
  664. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  665. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  666. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +2 -2
  667. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  668. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +8 -8
  669. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  670. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +2 -2
  671. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  672. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.css +0 -1
  673. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -1
  674. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +2 -2
  675. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  676. package/dist/views/Versions/VersionPillLabel/index.css +1 -2
  677. package/dist/views/Versions/index.css +1 -1
  678. package/dist/widgets/CollectionCards/index.css +0 -1
  679. package/dist/widgets/CollectionQuery/index.css +4 -6
  680. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -1
  681. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +31 -5
  682. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -1
  683. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.css +41 -0
  684. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts +19 -0
  685. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts.map +1 -0
  686. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js +121 -0
  687. package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js.map +1 -0
  688. package/dist/widgets/RecentlyViewed/getDocuments.d.ts +20 -0
  689. package/dist/widgets/RecentlyViewed/getDocuments.d.ts.map +1 -0
  690. package/dist/widgets/RecentlyViewed/getDocuments.js +251 -0
  691. package/dist/widgets/RecentlyViewed/getDocuments.js.map +1 -0
  692. package/dist/widgets/RecentlyViewed/index.client.d.ts +41 -0
  693. package/dist/widgets/RecentlyViewed/index.client.d.ts.map +1 -0
  694. package/dist/widgets/RecentlyViewed/index.client.js +404 -0
  695. package/dist/widgets/RecentlyViewed/index.client.js.map +1 -0
  696. package/dist/widgets/RecentlyViewed/index.css +352 -0
  697. package/dist/widgets/RecentlyViewed/index.d.ts +1 -1
  698. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -1
  699. package/dist/widgets/RecentlyViewed/index.js +33 -134
  700. package/dist/widgets/RecentlyViewed/index.js.map +1 -1
  701. package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts +18 -0
  702. package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts.map +1 -0
  703. package/dist/widgets/RecentlyViewed/pinnedPreferences.js +81 -0
  704. package/dist/widgets/RecentlyViewed/pinnedPreferences.js.map +1 -0
  705. package/dist/widgets/RecentlyViewed/recents.d.ts +8 -0
  706. package/dist/widgets/RecentlyViewed/recents.d.ts.map +1 -0
  707. package/dist/widgets/RecentlyViewed/recents.js +19 -0
  708. package/dist/widgets/RecentlyViewed/recents.js.map +1 -0
  709. package/dist/widgets/Welcome/index.css +16 -9
  710. package/dist/widgets/WidgetCard/index.css +4 -8
  711. package/package.json +8 -8
  712. package/dist/utilities/dateLocales.d.ts +0 -30
  713. package/dist/utilities/dateLocales.d.ts.map +0 -1
  714. package/dist/utilities/dateLocales.js +0 -57
  715. package/dist/utilities/dateLocales.js.map +0 -1
@@ -1,7 +1,9 @@
1
1
  'use client';
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
+ import { getTranslation } from '@payloadcms/translations';
4
5
  import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
6
+ import { toast } from 'sonner';
5
7
  import { useIntersect } from '../../../../../hooks/useIntersect.js';
6
8
  import { FolderIcon } from '../../../../../icons/Folder/index.js';
7
9
  import { TagIcon } from '../../../../../icons/Tag/index.js';
@@ -9,7 +11,10 @@ import { useConfig } from '../../../../../providers/Config/index.js';
9
11
  import { useTranslation } from '../../../../../providers/Translation/index.js';
10
12
  import { canUseDOM } from '../../../../../utilities/canUseDOM.js';
11
13
  import { formatDocTitle } from '../../../../../utilities/formatDocTitle/index.js';
14
+ import { getEffectiveHierarchyCollections, getHierarchyCollectionRestrictions } from '../../../../../utilities/hierarchyCollectionRestrictions.js';
15
+ import { getHierarchyListURL } from '../../../../../views/HierarchyList/getHierarchyListURL.js';
12
16
  import { Button } from '../../../../Button/index.js';
17
+ import { HierarchyActionsMenu } from '../../../../Hierarchy/ActionsMenu/index.js';
13
18
  import { useHierarchyModal } from '../../../../Hierarchy/Modal/useHierarchyModal.js';
14
19
  import { useListRelationships } from '../../../RelationshipProvider/index.js';
15
20
  import './index.css';
@@ -46,7 +51,30 @@ export const HierarchyCell = ({
46
51
  collectionSlug: hierarchyCollectionSlug
47
52
  }) : undefined;
48
53
  // Use pre-rendered icon from server if available, otherwise determine on client
49
- const hierarchyConfig = hierarchyCollectionConfig?.hierarchy && typeof hierarchyCollectionConfig.hierarchy === 'object' ? hierarchyCollectionConfig.hierarchy : undefined;
54
+ const {
55
+ hierarchyConfig,
56
+ relatedCollectionSlugs,
57
+ typeFieldName
58
+ } = useMemo(() => getHierarchyCollectionRestrictions({
59
+ collectionConfig: hierarchyCollectionConfig
60
+ }), [hierarchyCollectionConfig]);
61
+ const filterByCollection = useMemo(() => {
62
+ if (!hierarchyCollectionSlug) {
63
+ return undefined;
64
+ }
65
+ if (collectionSlug !== hierarchyCollectionSlug) {
66
+ return [collectionSlug];
67
+ }
68
+ if (!typeFieldName) {
69
+ return undefined;
70
+ }
71
+ const allowedCollections = rowData[typeFieldName];
72
+ return getEffectiveHierarchyCollections({
73
+ allowedCollections: Array.isArray(allowedCollections) ? allowedCollections : undefined,
74
+ relatedCollectionSlugs
75
+ });
76
+ }, [collectionSlug, hierarchyCollectionSlug, relatedCollectionSlugs, rowData, typeFieldName]);
77
+ const disabledIds = useMemo(() => collectionSlug === hierarchyCollectionSlug && rowData.id !== undefined ? new Set([rowData.id]) : undefined, [collectionSlug, hierarchyCollectionSlug, rowData.id]);
50
78
  // Pre-rendered icons from server (supports custom icons)
51
79
  const preRenderedIcon = customCellProps?.hierarchyIcon;
52
80
  const preRenderedSmallIcon = customCellProps?.hierarchySmallIcon;
@@ -68,6 +96,8 @@ export const HierarchyCell = ({
68
96
  const [HierarchyModal,, {
69
97
  openModal
70
98
  }] = useHierarchyModal({
99
+ disabledIds,
100
+ filterByCollection,
71
101
  hierarchyCollectionSlug: hierarchyCollectionSlug || '',
72
102
  Icon: drawerIcon
73
103
  });
@@ -116,32 +146,15 @@ export const HierarchyCell = ({
116
146
  setValues(formattedValues);
117
147
  }
118
148
  }, [cellDataFromProps, relationTo, isAboveViewport, getRelationships]);
119
- // Get current selection IDs for the modal
120
- const initialSelections = useMemo(() => {
121
- if (!cellDataFromProps) {
122
- return [];
123
- }
124
- const data = Array.isArray(cellDataFromProps) ? cellDataFromProps : [cellDataFromProps];
125
- return data.map(item => {
126
- if (typeof item === 'object' && 'value' in item) {
127
- return item.value;
128
- }
129
- return item;
130
- });
131
- }, [cellDataFromProps]);
132
- // Handle save from modal
133
- const handleSave = useCallback(async ({
134
- closeModal,
135
- selections
136
- }) => {
137
- // Get selected IDs
138
- const selectedIds = Array.from(selections.keys());
139
- const newValue = hasMany ? selectedIds : selectedIds[0] ?? null;
140
- // Update the document via API
149
+ // Read from local state so the picker reflects in-place moves and removes
150
+ const initialSelections = useMemo(() => values.map(({
151
+ value
152
+ }) => value), [values]);
153
+ const saveIds = useCallback(async selectedIds => {
141
154
  try {
142
155
  const response = await fetch(`${config.serverURL}${config.routes.api}/${collectionSlug}/${rowData.id}`, {
143
156
  body: JSON.stringify({
144
- [field.name]: newValue
157
+ [field.name]: hasMany ? selectedIds : selectedIds[0] ?? null
145
158
  }),
146
159
  credentials: 'include',
147
160
  headers: {
@@ -149,7 +162,13 @@ export const HierarchyCell = ({
149
162
  },
150
163
  method: 'PATCH'
151
164
  });
152
- if (response.ok && typeof relationTo === 'string') {
165
+ if (!response.ok) {
166
+ const responseData = await response.json().catch(() => null);
167
+ const errorMessage = responseData?.errors?.[0]?.message || responseData?.error || responseData?.message || t('error:unknown');
168
+ toast.error(errorMessage);
169
+ return false;
170
+ }
171
+ if (typeof relationTo === 'string') {
153
172
  // Update local state with new selection to avoid page reload
154
173
  const newValues = selectedIds.map(id => ({
155
174
  relationTo,
@@ -161,18 +180,27 @@ export const HierarchyCell = ({
161
180
  getRelationships(newValues);
162
181
  }
163
182
  }
164
- } catch (_error) {
165
- // swallow error and close modal anyway, user can try again
183
+ } catch {
184
+ toast.error(t('error:unknown'));
185
+ return false;
186
+ }
187
+ return true;
188
+ }, [collectionSlug, config, field.name, hasMany, rowData, relationTo, getRelationships, t]);
189
+ const handleSave = useCallback(async ({
190
+ closeModal,
191
+ selections
192
+ }) => {
193
+ if (await saveIds(Array.from(selections.keys()))) {
194
+ closeModal();
166
195
  }
167
- closeModal();
168
- }, [collectionSlug, config, field.name, hasMany, rowData, relationTo, getRelationships]);
196
+ }, [saveIds]);
169
197
  // Build display labels
170
198
  const labels = useMemo(() => {
171
199
  return values.map(({
172
200
  relationTo: rel,
173
- value
201
+ value: value_0
174
202
  }) => {
175
- const document = documents[rel]?.[value];
203
+ const document = documents[rel]?.[value_0];
176
204
  const relatedCollection = getEntityConfig({
177
205
  collectionSlug: rel
178
206
  });
@@ -180,7 +208,7 @@ export const HierarchyCell = ({
180
208
  collectionConfig: relatedCollection,
181
209
  data: document || null,
182
210
  dateFormat: config.admin.dateFormat,
183
- fallback: `${t('general:untitled')} - ID: ${value}`,
211
+ fallback: `${t('general:untitled')} - ID: ${value_0}`,
184
212
  i18n
185
213
  });
186
214
  });
@@ -188,21 +216,50 @@ export const HierarchyCell = ({
188
216
  const displayText = labels.length > 0 ? labels.join(', ') : t('general:none');
189
217
  const isLoading = values.length > 0 && values.some(({
190
218
  relationTo: rel_0,
191
- value: value_0
192
- }) => documents[rel_0]?.[value_0] === null);
219
+ value: value_1
220
+ }) => documents[rel_0]?.[value_1] === null);
221
+ const currentId = !hasMany && values.length === 1 ? values[0].value : undefined;
222
+ const hasSingleSelection = typeof currentId === 'number' || typeof currentId === 'string';
223
+ const hierarchyLabel = getTranslation(hierarchyCollectionConfig?.labels?.singular || hierarchyCollectionSlug || '', i18n) || hierarchyCollectionSlug;
224
+ const handleRemove = useCallback(() => saveIds([]), [saveIds]);
225
+ const goTo = useMemo(() => hasSingleSelection && hierarchyCollectionSlug ? {
226
+ name: displayText,
227
+ href: getHierarchyListURL({
228
+ adminRoute: config.routes.admin,
229
+ collectionSlug: hierarchyCollectionSlug,
230
+ parentFieldName: hierarchyConfig?.parentFieldName,
231
+ parentID: currentId
232
+ })
233
+ } : undefined, [config.routes.admin, currentId, displayText, hasSingleSelection, hierarchyCollectionSlug, hierarchyConfig?.parentFieldName]);
234
+ const label = isLoading ? `${t('general:loading')}...` : displayText;
193
235
  return /*#__PURE__*/_jsxs("div", {
194
236
  className: baseClass,
195
237
  ref: intersectionRef,
196
- children: [/*#__PURE__*/_jsx(Button, {
197
- buttonStyle: "secondary",
198
- className: `${baseClass}__button`,
199
- icon: displayIcon,
200
- iconPosition: "left",
201
- margin: false,
202
- onClick: handleOpenModal,
203
- size: "medium",
204
- children: isLoading ? `${t('general:loading')}...` : displayText
238
+ children: [/*#__PURE__*/_jsx(HierarchyActionsMenu, {
239
+ goTo: goTo,
240
+ hasActions: hasSingleSelection,
241
+ hierarchyLabel: hierarchyLabel,
242
+ onMove: handleOpenModal,
243
+ onRemove: handleRemove,
244
+ renderTrigger: triggerProps => /*#__PURE__*/_jsx(Button, {
245
+ "aria-label": triggerProps ? label : undefined,
246
+ buttonStyle: "secondary",
247
+ className: `${baseClass}__button`,
248
+ extraButtonProps: triggerProps?.extraButtonProps,
249
+ icon: displayIcon,
250
+ iconPosition: "left",
251
+ margin: false,
252
+ onClick: triggerProps?.onClick ?? handleOpenModal,
253
+ selected: triggerProps?.selected,
254
+ size: "medium",
255
+ tooltip: triggerProps ? displayText : undefined,
256
+ children: triggerProps ? /*#__PURE__*/_jsx("span", {
257
+ className: `${baseClass}__truncate`,
258
+ children: label
259
+ }) : label
260
+ })
205
261
  }), hierarchyCollectionSlug && hasMountedModal && /*#__PURE__*/_jsx(HierarchyModal, {
262
+ confirmLabel: t('general:confirm'),
206
263
  hasMany: hasMany,
207
264
  initialSelections: initialSelections,
208
265
  onSave: handleSave
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","useIntersect","FolderIcon","TagIcon","useConfig","useTranslation","canUseDOM","formatDocTitle","Button","useHierarchyModal","useListRelationships","baseClass","HierarchyCell","cellData","cellDataFromProps","collectionSlug","customCellProps","field","rowData","relationTo","undefined","hasMany","config","getEntityConfig","intersectionRef","entry","values","setValues","documents","getRelationships","hasRequestedRef","prevCellDataRef","i18n","t","isAboveViewport","boundingClientRect","top","window","innerHeight","hierarchyCollectionSlug","hierarchyCollectionConfig","hierarchyConfig","hierarchy","preRenderedIcon","hierarchyIcon","preRenderedSmallIcon","hierarchySmallIcon","fallbackIcon","IconComponent","allowHasMany","_jsx","drawerIcon","displayIcon","HierarchyModal","openModal","Icon","hasMountedModal","setHasMountedModal","shouldOpenAfterMountRef","handleOpenModal","current","formattedValues","arrayCellData","Array","isArray","forEach","cell","push","value","initialSelections","data","map","item","handleSave","closeModal","selections","selectedIds","from","keys","newValue","response","fetch","serverURL","routes","api","id","body","JSON","stringify","name","credentials","headers","method","ok","newValues","length","_error","labels","rel","document","relatedCollection","collectionConfig","dateFormat","admin","fallback","displayText","join","isLoading","some","_jsxs","className","ref","buttonStyle","icon","iconPosition","margin","onClick","size","onSave"],"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Hierarchy/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps, RelationshipFieldClient } from 'payload'\n\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { SelectionWithPath } from '../../../../Hierarchy/Modal/types.js'\n\nimport { useIntersect } from '../../../../../hooks/useIntersect.js'\nimport { FolderIcon } from '../../../../../icons/Folder/index.js'\nimport { TagIcon } from '../../../../../icons/Tag/index.js'\nimport { useConfig } from '../../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport { canUseDOM } from '../../../../../utilities/canUseDOM.js'\nimport { formatDocTitle } from '../../../../../utilities/formatDocTitle/index.js'\nimport { Button } from '../../../../Button/index.js'\nimport { useHierarchyModal } from '../../../../Hierarchy/Modal/useHierarchyModal.js'\nimport { useListRelationships } from '../../../RelationshipProvider/index.js'\nimport './index.css'\n\ntype Value = { relationTo: string; value: number | string }\nconst baseClass = 'hierarchy-cell'\n\nexport type HierarchyCellProps = DefaultCellComponentProps<RelationshipFieldClient>\n\nexport const HierarchyCell: React.FC<HierarchyCellProps> = ({\n cellData: cellDataFromProps,\n collectionSlug,\n customCellProps,\n field,\n rowData,\n}) => {\n const relationTo = 'relationTo' in field ? field.relationTo : undefined\n const hasMany = field.hasMany ?? false\n\n const { config, getEntityConfig } = useConfig()\n const [intersectionRef, entry] = useIntersect()\n const [values, setValues] = useState<Value[]>([])\n const { documents, getRelationships } = useListRelationships()\n const hasRequestedRef = useRef(false)\n const prevCellDataRef = useRef<typeof cellDataFromProps>(undefined)\n const { i18n, t } = useTranslation()\n\n const isAboveViewport = canUseDOM ? entry?.boundingClientRect?.top < window.innerHeight : false\n\n // Get the hierarchy collection config\n const hierarchyCollectionSlug = typeof relationTo === 'string' ? relationTo : undefined\n const hierarchyCollectionConfig = hierarchyCollectionSlug\n ? getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n : undefined\n\n // Use pre-rendered icon from server if available, otherwise determine on client\n const hierarchyConfig =\n hierarchyCollectionConfig?.hierarchy && typeof hierarchyCollectionConfig.hierarchy === 'object'\n ? hierarchyCollectionConfig.hierarchy\n : undefined\n\n // Pre-rendered icons from server (supports custom icons)\n const preRenderedIcon = customCellProps?.hierarchyIcon as React.ReactNode | undefined\n const preRenderedSmallIcon = customCellProps?.hierarchySmallIcon as React.ReactNode | undefined\n\n // Fallback icon for client-side rendering\n const fallbackIcon = useMemo(() => {\n if (preRenderedIcon) {\n return null // Don't need fallback if we have pre-rendered icon\n }\n // Default based on allowHasMany: false = folder-like, true = tag-like\n const IconComponent = hierarchyConfig?.allowHasMany === false ? FolderIcon : TagIcon\n return <IconComponent />\n }, [hierarchyConfig, preRenderedIcon])\n\n // Full icon for modal subheader\n const drawerIcon = preRenderedIcon || fallbackIcon\n // Small icon for compact display\n const displayIcon = preRenderedSmallIcon ?? drawerIcon\n\n // Set up the hierarchy modal\n const [HierarchyModal, , { openModal }] = useHierarchyModal({\n hierarchyCollectionSlug: hierarchyCollectionSlug || '',\n Icon: drawerIcon,\n })\n\n // Lazy-mount the modal so its column browser doesn't eagerly fetch root items\n // for every cell in the list view. Only mount once the user opens it.\n const [hasMountedModal, setHasMountedModal] = useState(false)\n const shouldOpenAfterMountRef = useRef(false)\n\n const handleOpenModal = useCallback(() => {\n if (hasMountedModal) {\n openModal()\n return\n }\n shouldOpenAfterMountRef.current = true\n setHasMountedModal(true)\n }, [hasMountedModal, openModal])\n\n // Open the modal once it has mounted (state update from handleOpenModal).\n useEffect(() => {\n if (hasMountedModal && shouldOpenAfterMountRef.current) {\n shouldOpenAfterMountRef.current = false\n openModal()\n }\n }, [hasMountedModal, openModal])\n\n // Fetch relationship data when visible\n useEffect(() => {\n // Reset tracking if data changed\n if (prevCellDataRef.current !== cellDataFromProps) {\n prevCellDataRef.current = cellDataFromProps\n hasRequestedRef.current = false\n }\n\n if (\n (cellDataFromProps || typeof cellDataFromProps === 'number') &&\n isAboveViewport &&\n !hasRequestedRef.current &&\n typeof relationTo === 'string'\n ) {\n const formattedValues: Value[] = []\n const arrayCellData = Array.isArray(cellDataFromProps)\n ? cellDataFromProps\n : [cellDataFromProps]\n\n arrayCellData.forEach((cell) => {\n if (typeof cell === 'object' && 'relationTo' in cell && 'value' in cell) {\n formattedValues.push(cell)\n }\n if (typeof cell === 'number' || typeof cell === 'string') {\n formattedValues.push({\n relationTo,\n value: cell,\n })\n }\n })\n\n getRelationships(formattedValues)\n hasRequestedRef.current = true\n setValues(formattedValues)\n }\n }, [cellDataFromProps, relationTo, isAboveViewport, getRelationships])\n\n // Get current selection IDs for the modal\n const initialSelections = useMemo(() => {\n if (!cellDataFromProps) {\n return []\n }\n const data = Array.isArray(cellDataFromProps) ? cellDataFromProps : [cellDataFromProps]\n return data.map((item) => {\n if (typeof item === 'object' && 'value' in item) {\n return item.value\n }\n return item\n }) as (number | string)[]\n }, [cellDataFromProps])\n\n // Handle save from modal\n const handleSave = useCallback(\n async ({\n closeModal,\n selections,\n }: {\n closeModal: () => void\n selections: Map<number | string, SelectionWithPath>\n }) => {\n // Get selected IDs\n const selectedIds = Array.from(selections.keys())\n const newValue = hasMany ? selectedIds : (selectedIds[0] ?? null)\n\n // Update the document via API\n try {\n const response = await fetch(\n `${config.serverURL}${config.routes.api}/${collectionSlug}/${rowData.id}`,\n {\n body: JSON.stringify({\n [field.name]: newValue,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'PATCH',\n },\n )\n\n if (response.ok && typeof relationTo === 'string') {\n // Update local state with new selection to avoid page reload\n const newValues: Value[] = selectedIds.map((id) => ({\n relationTo,\n value: id,\n }))\n setValues(newValues)\n\n // Request the new relationship docs to update the display\n if (newValues.length > 0) {\n getRelationships(newValues)\n }\n }\n } catch (_error) {\n // swallow error and close modal anyway, user can try again\n }\n\n closeModal()\n },\n [collectionSlug, config, field.name, hasMany, rowData, relationTo, getRelationships],\n )\n\n // Build display labels\n const labels = useMemo(() => {\n return values.map(({ relationTo: rel, value }) => {\n const document = documents[rel]?.[value]\n const relatedCollection = getEntityConfig({ collectionSlug: rel })\n\n return formatDocTitle({\n collectionConfig: relatedCollection,\n data: document || null,\n dateFormat: config.admin.dateFormat,\n fallback: `${t('general:untitled')} - ID: ${value}`,\n i18n,\n })\n })\n }, [values, documents, getEntityConfig, config.admin.dateFormat, t, i18n])\n\n const displayText = labels.length > 0 ? labels.join(', ') : t('general:none')\n const isLoading =\n values.length > 0 &&\n values.some(({ relationTo: rel, value }) => documents[rel]?.[value] === null)\n\n return (\n <div className={baseClass} ref={intersectionRef}>\n <Button\n buttonStyle=\"secondary\"\n className={`${baseClass}__button`}\n icon={displayIcon}\n iconPosition=\"left\"\n margin={false}\n onClick={handleOpenModal}\n size=\"medium\"\n >\n {isLoading ? `${t('general:loading')}...` : displayText}\n </Button>\n {hierarchyCollectionSlug && hasMountedModal && (\n <HierarchyModal\n hasMany={hasMany}\n initialSelections={initialSelections}\n onSave={handleSave}\n />\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","useCallback","useEffect","useMemo","useRef","useState","toast","useIntersect","FolderIcon","TagIcon","useConfig","useTranslation","canUseDOM","formatDocTitle","getEffectiveHierarchyCollections","getHierarchyCollectionRestrictions","getHierarchyListURL","Button","HierarchyActionsMenu","useHierarchyModal","useListRelationships","baseClass","HierarchyCell","cellData","cellDataFromProps","collectionSlug","customCellProps","field","rowData","relationTo","undefined","hasMany","config","getEntityConfig","intersectionRef","entry","values","setValues","documents","getRelationships","hasRequestedRef","prevCellDataRef","i18n","t","isAboveViewport","boundingClientRect","top","window","innerHeight","hierarchyCollectionSlug","hierarchyCollectionConfig","hierarchyConfig","relatedCollectionSlugs","typeFieldName","collectionConfig","filterByCollection","allowedCollections","Array","isArray","disabledIds","id","Set","preRenderedIcon","hierarchyIcon","preRenderedSmallIcon","hierarchySmallIcon","fallbackIcon","IconComponent","allowHasMany","_jsx","drawerIcon","displayIcon","HierarchyModal","openModal","Icon","hasMountedModal","setHasMountedModal","shouldOpenAfterMountRef","handleOpenModal","current","formattedValues","arrayCellData","forEach","cell","push","value","initialSelections","map","saveIds","selectedIds","response","fetch","serverURL","routes","api","body","JSON","stringify","name","credentials","headers","method","ok","responseData","json","catch","errorMessage","errors","message","error","newValues","length","handleSave","closeModal","selections","from","keys","labels","rel","document","relatedCollection","data","dateFormat","admin","fallback","displayText","join","isLoading","some","currentId","hasSingleSelection","hierarchyLabel","singular","handleRemove","goTo","href","adminRoute","parentFieldName","parentID","label","_jsxs","className","ref","hasActions","onMove","onRemove","renderTrigger","triggerProps","buttonStyle","extraButtonProps","icon","iconPosition","margin","onClick","selected","size","tooltip","confirmLabel","onSave"],"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Hierarchy/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps, RelationshipFieldClient } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { SelectionWithPath } from '../../../../Hierarchy/Modal/types.js'\n\nimport { useIntersect } from '../../../../../hooks/useIntersect.js'\nimport { FolderIcon } from '../../../../../icons/Folder/index.js'\nimport { TagIcon } from '../../../../../icons/Tag/index.js'\nimport { useConfig } from '../../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport { canUseDOM } from '../../../../../utilities/canUseDOM.js'\nimport { formatDocTitle } from '../../../../../utilities/formatDocTitle/index.js'\nimport {\n getEffectiveHierarchyCollections,\n getHierarchyCollectionRestrictions,\n} from '../../../../../utilities/hierarchyCollectionRestrictions.js'\nimport { getHierarchyListURL } from '../../../../../views/HierarchyList/getHierarchyListURL.js'\nimport { Button } from '../../../../Button/index.js'\nimport { HierarchyActionsMenu } from '../../../../Hierarchy/ActionsMenu/index.js'\nimport { useHierarchyModal } from '../../../../Hierarchy/Modal/useHierarchyModal.js'\nimport { useListRelationships } from '../../../RelationshipProvider/index.js'\nimport './index.css'\n\ntype Value = { relationTo: string; value: number | string }\nconst baseClass = 'hierarchy-cell'\n\nexport type HierarchyCellProps = DefaultCellComponentProps<RelationshipFieldClient>\n\nexport const HierarchyCell: React.FC<HierarchyCellProps> = ({\n cellData: cellDataFromProps,\n collectionSlug,\n customCellProps,\n field,\n rowData,\n}) => {\n const relationTo = 'relationTo' in field ? field.relationTo : undefined\n const hasMany = field.hasMany ?? false\n\n const { config, getEntityConfig } = useConfig()\n const [intersectionRef, entry] = useIntersect()\n const [values, setValues] = useState<Value[]>([])\n const { documents, getRelationships } = useListRelationships()\n const hasRequestedRef = useRef(false)\n const prevCellDataRef = useRef<typeof cellDataFromProps>(undefined)\n const { i18n, t } = useTranslation()\n\n const isAboveViewport = canUseDOM ? entry?.boundingClientRect?.top < window.innerHeight : false\n\n // Get the hierarchy collection config\n const hierarchyCollectionSlug = typeof relationTo === 'string' ? relationTo : undefined\n const hierarchyCollectionConfig = hierarchyCollectionSlug\n ? getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n : undefined\n\n // Use pre-rendered icon from server if available, otherwise determine on client\n const { hierarchyConfig, relatedCollectionSlugs, typeFieldName } = useMemo(\n () => getHierarchyCollectionRestrictions({ collectionConfig: hierarchyCollectionConfig }),\n [hierarchyCollectionConfig],\n )\n\n const filterByCollection = useMemo(() => {\n if (!hierarchyCollectionSlug) {\n return undefined\n }\n if (collectionSlug !== hierarchyCollectionSlug) {\n return [collectionSlug]\n }\n if (!typeFieldName) {\n return undefined\n }\n const allowedCollections = rowData[typeFieldName]\n\n return getEffectiveHierarchyCollections({\n allowedCollections: Array.isArray(allowedCollections)\n ? (allowedCollections as string[])\n : undefined,\n relatedCollectionSlugs,\n })\n }, [collectionSlug, hierarchyCollectionSlug, relatedCollectionSlugs, rowData, typeFieldName])\n\n const disabledIds = useMemo(\n () =>\n collectionSlug === hierarchyCollectionSlug && rowData.id !== undefined\n ? new Set([rowData.id])\n : undefined,\n [collectionSlug, hierarchyCollectionSlug, rowData.id],\n )\n\n // Pre-rendered icons from server (supports custom icons)\n const preRenderedIcon = customCellProps?.hierarchyIcon as React.ReactNode | undefined\n const preRenderedSmallIcon = customCellProps?.hierarchySmallIcon as React.ReactNode | undefined\n\n // Fallback icon for client-side rendering\n const fallbackIcon = useMemo(() => {\n if (preRenderedIcon) {\n return null // Don't need fallback if we have pre-rendered icon\n }\n // Default based on allowHasMany: false = folder-like, true = tag-like\n const IconComponent = hierarchyConfig?.allowHasMany === false ? FolderIcon : TagIcon\n return <IconComponent />\n }, [hierarchyConfig, preRenderedIcon])\n\n // Full icon for modal subheader\n const drawerIcon = preRenderedIcon || fallbackIcon\n // Small icon for compact display\n const displayIcon = preRenderedSmallIcon ?? drawerIcon\n\n // Set up the hierarchy modal\n const [HierarchyModal, , { openModal }] = useHierarchyModal({\n disabledIds,\n filterByCollection,\n hierarchyCollectionSlug: hierarchyCollectionSlug || '',\n Icon: drawerIcon,\n })\n\n // Lazy-mount the modal so its column browser doesn't eagerly fetch root items\n // for every cell in the list view. Only mount once the user opens it.\n const [hasMountedModal, setHasMountedModal] = useState(false)\n const shouldOpenAfterMountRef = useRef(false)\n\n const handleOpenModal = useCallback(() => {\n if (hasMountedModal) {\n openModal()\n return\n }\n shouldOpenAfterMountRef.current = true\n setHasMountedModal(true)\n }, [hasMountedModal, openModal])\n\n // Open the modal once it has mounted (state update from handleOpenModal).\n useEffect(() => {\n if (hasMountedModal && shouldOpenAfterMountRef.current) {\n shouldOpenAfterMountRef.current = false\n openModal()\n }\n }, [hasMountedModal, openModal])\n\n // Fetch relationship data when visible\n useEffect(() => {\n // Reset tracking if data changed\n if (prevCellDataRef.current !== cellDataFromProps) {\n prevCellDataRef.current = cellDataFromProps\n hasRequestedRef.current = false\n }\n\n if (\n (cellDataFromProps || typeof cellDataFromProps === 'number') &&\n isAboveViewport &&\n !hasRequestedRef.current &&\n typeof relationTo === 'string'\n ) {\n const formattedValues: Value[] = []\n const arrayCellData = Array.isArray(cellDataFromProps)\n ? cellDataFromProps\n : [cellDataFromProps]\n\n arrayCellData.forEach((cell) => {\n if (typeof cell === 'object' && 'relationTo' in cell && 'value' in cell) {\n formattedValues.push(cell)\n }\n if (typeof cell === 'number' || typeof cell === 'string') {\n formattedValues.push({\n relationTo,\n value: cell,\n })\n }\n })\n\n getRelationships(formattedValues)\n hasRequestedRef.current = true\n setValues(formattedValues)\n }\n }, [cellDataFromProps, relationTo, isAboveViewport, getRelationships])\n\n // Read from local state so the picker reflects in-place moves and removes\n const initialSelections = useMemo(() => values.map(({ value }) => value), [values])\n\n const saveIds = useCallback(\n async (selectedIds: (number | string)[]) => {\n try {\n const response = await fetch(\n `${config.serverURL}${config.routes.api}/${collectionSlug}/${rowData.id}`,\n {\n body: JSON.stringify({\n [field.name]: hasMany ? selectedIds : (selectedIds[0] ?? null),\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'PATCH',\n },\n )\n\n if (!response.ok) {\n const responseData = await response.json().catch(() => null)\n const errorMessage =\n responseData?.errors?.[0]?.message ||\n responseData?.error ||\n responseData?.message ||\n t('error:unknown')\n\n toast.error(errorMessage)\n return false\n }\n\n if (typeof relationTo === 'string') {\n // Update local state with new selection to avoid page reload\n const newValues: Value[] = selectedIds.map((id) => ({\n relationTo,\n value: id,\n }))\n setValues(newValues)\n\n // Request the new relationship docs to update the display\n if (newValues.length > 0) {\n getRelationships(newValues)\n }\n }\n } catch {\n toast.error(t('error:unknown'))\n return false\n }\n\n return true\n },\n [collectionSlug, config, field.name, hasMany, rowData, relationTo, getRelationships, t],\n )\n\n const handleSave = useCallback(\n async ({\n closeModal,\n selections,\n }: {\n closeModal: () => void\n selections: Map<number | string, SelectionWithPath>\n }) => {\n if (await saveIds(Array.from(selections.keys()))) {\n closeModal()\n }\n },\n [saveIds],\n )\n\n // Build display labels\n const labels = useMemo(() => {\n return values.map(({ relationTo: rel, value }) => {\n const document = documents[rel]?.[value]\n const relatedCollection = getEntityConfig({ collectionSlug: rel })\n\n return formatDocTitle({\n collectionConfig: relatedCollection,\n data: document || null,\n dateFormat: config.admin.dateFormat,\n fallback: `${t('general:untitled')} - ID: ${value}`,\n i18n,\n })\n })\n }, [values, documents, getEntityConfig, config.admin.dateFormat, t, i18n])\n\n const displayText = labels.length > 0 ? labels.join(', ') : t('general:none')\n const isLoading =\n values.length > 0 &&\n values.some(({ relationTo: rel, value }) => documents[rel]?.[value] === null)\n const currentId = !hasMany && values.length === 1 ? values[0].value : undefined\n const hasSingleSelection = typeof currentId === 'number' || typeof currentId === 'string'\n const hierarchyLabel =\n getTranslation(\n hierarchyCollectionConfig?.labels?.singular || hierarchyCollectionSlug || '',\n i18n,\n ) || hierarchyCollectionSlug\n\n const handleRemove = useCallback(() => saveIds([]), [saveIds])\n\n const goTo = useMemo(\n () =>\n hasSingleSelection && hierarchyCollectionSlug\n ? {\n name: displayText,\n href: getHierarchyListURL({\n adminRoute: config.routes.admin,\n collectionSlug: hierarchyCollectionSlug,\n parentFieldName: hierarchyConfig?.parentFieldName,\n parentID: currentId,\n }),\n }\n : undefined,\n [\n config.routes.admin,\n currentId,\n displayText,\n hasSingleSelection,\n hierarchyCollectionSlug,\n hierarchyConfig?.parentFieldName,\n ],\n )\n\n const label = isLoading ? `${t('general:loading')}...` : displayText\n\n return (\n <div className={baseClass} ref={intersectionRef}>\n <HierarchyActionsMenu\n goTo={goTo}\n hasActions={hasSingleSelection}\n hierarchyLabel={hierarchyLabel}\n onMove={handleOpenModal}\n onRemove={handleRemove}\n renderTrigger={(triggerProps) => (\n <Button\n aria-label={triggerProps ? label : undefined}\n buttonStyle=\"secondary\"\n className={`${baseClass}__button`}\n extraButtonProps={triggerProps?.extraButtonProps}\n icon={displayIcon}\n iconPosition=\"left\"\n margin={false}\n onClick={triggerProps?.onClick ?? handleOpenModal}\n selected={triggerProps?.selected}\n size=\"medium\"\n tooltip={triggerProps ? displayText : undefined}\n >\n {triggerProps ? <span className={`${baseClass}__truncate`}>{label}</span> : label}\n </Button>\n )}\n />\n {hierarchyCollectionSlug && hasMountedModal && (\n <HierarchyModal\n confirmLabel={t('general:confirm')}\n hasMany={hasMany}\n initialSelections={initialSelections}\n onSave={handleSave}\n />\n )}\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AACzE,SAASC,KAAK,QAAQ;AAItB,SAASC,YAAY,QAAQ;AAC7B,SAASC,UAAU,QAAQ;AAC3B,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SACEC,gCAAgC,EAChCC,kCAAkC,QAC7B;AACP,SAASC,mBAAmB,QAAQ;AACpC,SAASC,MAAM,QAAQ;AACvB,SAASC,oBAAoB,QAAQ;AACrC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,oBAAoB,QAAQ;AACrC,OAAO;AAGP,MAAMC,SAAA,GAAY;AAIlB,OAAO,MAAMC,aAAA,GAA8CA,CAAC;EAC1DC,QAAA,EAAUC,iBAAiB;EAC3BC,cAAc;EACdC,eAAe;EACfC,KAAK;EACLC;AAAO,CACR;EACC,MAAMC,UAAA,GAAa,gBAAgBF,KAAA,GAAQA,KAAA,CAAME,UAAU,GAAGC,SAAA;EAC9D,MAAMC,OAAA,GAAUJ,KAAA,CAAMI,OAAO,IAAI;EAEjC,MAAM;IAAEC,MAAM;IAAEC;EAAe,CAAE,GAAGvB,SAAA;EACpC,MAAM,CAACwB,eAAA,EAAiBC,KAAA,CAAM,GAAG5B,YAAA;EACjC,MAAM,CAAC6B,MAAA,EAAQC,SAAA,CAAU,GAAGhC,QAAA,CAAkB,EAAE;EAChD,MAAM;IAAEiC,SAAS;IAAEC;EAAgB,CAAE,GAAGnB,oBAAA;EACxC,MAAMoB,eAAA,GAAkBpC,MAAA,CAAO;EAC/B,MAAMqC,eAAA,GAAkBrC,MAAA,CAAiC0B,SAAA;EACzD,MAAM;IAAEY,IAAI;IAAEC;EAAC,CAAE,GAAGhC,cAAA;EAEpB,MAAMiC,eAAA,GAAkBhC,SAAA,GAAYuB,KAAA,EAAOU,kBAAA,EAAoBC,GAAA,GAAMC,MAAA,CAAOC,WAAW,GAAG;EAE1F;EACA,MAAMC,uBAAA,GAA0B,OAAOpB,UAAA,KAAe,WAAWA,UAAA,GAAaC,SAAA;EAC9E,MAAMoB,yBAAA,GAA4BD,uBAAA,GAC9BhB,eAAA,CAAgB;IAAER,cAAA,EAAgBwB;EAAwB,KAC1DnB,SAAA;EAEJ;EACA,MAAM;IAAEqB,eAAe;IAAEC,sBAAsB;IAAEC;EAAa,CAAE,GAAGlD,OAAA,CACjE,MAAMY,kCAAA,CAAmC;IAAEuC,gBAAA,EAAkBJ;EAA0B,IACvF,CAACA,yBAAA,CAA0B;EAG7B,MAAMK,kBAAA,GAAqBpD,OAAA,CAAQ;IACjC,IAAI,CAAC8C,uBAAA,EAAyB;MAC5B,OAAOnB,SAAA;IACT;IACA,IAAIL,cAAA,KAAmBwB,uBAAA,EAAyB;MAC9C,OAAO,CAACxB,cAAA,CAAe;IACzB;IACA,IAAI,CAAC4B,aAAA,EAAe;MAClB,OAAOvB,SAAA;IACT;IACA,MAAM0B,kBAAA,GAAqB5B,OAAO,CAACyB,aAAA,CAAc;IAEjD,OAAOvC,gCAAA,CAAiC;MACtC0C,kBAAA,EAAoBC,KAAA,CAAMC,OAAO,CAACF,kBAAA,IAC7BA,kBAAA,GACD1B,SAAA;MACJsB;IACF;EACF,GAAG,CAAC3B,cAAA,EAAgBwB,uBAAA,EAAyBG,sBAAA,EAAwBxB,OAAA,EAASyB,aAAA,CAAc;EAE5F,MAAMM,WAAA,GAAcxD,OAAA,CAClB,MACEsB,cAAA,KAAmBwB,uBAAA,IAA2BrB,OAAA,CAAQgC,EAAE,KAAK9B,SAAA,GACzD,IAAI+B,GAAA,CAAI,CAACjC,OAAA,CAAQgC,EAAE,CAAC,IACpB9B,SAAA,EACN,CAACL,cAAA,EAAgBwB,uBAAA,EAAyBrB,OAAA,CAAQgC,EAAE,CAAC;EAGvD;EACA,MAAME,eAAA,GAAkBpC,eAAA,EAAiBqC,aAAA;EACzC,MAAMC,oBAAA,GAAuBtC,eAAA,EAAiBuC,kBAAA;EAE9C;EACA,MAAMC,YAAA,GAAe/D,OAAA,CAAQ;IAC3B,IAAI2D,eAAA,EAAiB;MACnB,OAAO,KAAK;AAAA;IACd;IACA;IACA,MAAMK,aAAA,GAAgBhB,eAAA,EAAiBiB,YAAA,KAAiB,QAAQ5D,UAAA,GAAaC,OAAA;IAC7E,oBAAO4D,IAAA,CAACF,aAAA;EACV,GAAG,CAAChB,eAAA,EAAiBW,eAAA,CAAgB;EAErC;EACA,MAAMQ,UAAA,GAAaR,eAAA,IAAmBI,YAAA;EACtC;EACA,MAAMK,WAAA,GAAcP,oBAAA,IAAwBM,UAAA;EAE5C;EACA,MAAM,CAACE,cAAA,GAAkB;IAAEC;EAAS,CAAE,CAAC,GAAGtD,iBAAA,CAAkB;IAC1DwC,WAAA;IACAJ,kBAAA;IACAN,uBAAA,EAAyBA,uBAAA,IAA2B;IACpDyB,IAAA,EAAMJ;EACR;EAEA;EACA;EACA,MAAM,CAACK,eAAA,EAAiBC,kBAAA,CAAmB,GAAGvE,QAAA,CAAS;EACvD,MAAMwE,uBAAA,GAA0BzE,MAAA,CAAO;EAEvC,MAAM0E,eAAA,GAAkB7E,WAAA,CAAY;IAClC,IAAI0E,eAAA,EAAiB;MACnBF,SAAA;MACA;IACF;IACAI,uBAAA,CAAwBE,OAAO,GAAG;IAClCH,kBAAA,CAAmB;EACrB,GAAG,CAACD,eAAA,EAAiBF,SAAA,CAAU;EAE/B;EACAvE,SAAA,CAAU;IACR,IAAIyE,eAAA,IAAmBE,uBAAA,CAAwBE,OAAO,EAAE;MACtDF,uBAAA,CAAwBE,OAAO,GAAG;MAClCN,SAAA;IACF;EACF,GAAG,CAACE,eAAA,EAAiBF,SAAA,CAAU;EAE/B;EACAvE,SAAA,CAAU;IACR;IACA,IAAIuC,eAAA,CAAgBsC,OAAO,KAAKvD,iBAAA,EAAmB;MACjDiB,eAAA,CAAgBsC,OAAO,GAAGvD,iBAAA;MAC1BgB,eAAA,CAAgBuC,OAAO,GAAG;IAC5B;IAEA,IACE,CAACvD,iBAAA,IAAqB,OAAOA,iBAAA,KAAsB,QAAO,KAC1DoB,eAAA,IACA,CAACJ,eAAA,CAAgBuC,OAAO,IACxB,OAAOlD,UAAA,KAAe,UACtB;MACA,MAAMmD,eAAA,GAA2B,EAAE;MACnC,MAAMC,aAAA,GAAgBxB,KAAA,CAAMC,OAAO,CAAClC,iBAAA,IAChCA,iBAAA,GACA,CAACA,iBAAA,CAAkB;MAEvByD,aAAA,CAAcC,OAAO,CAAEC,IAAA;QACrB,IAAI,OAAOA,IAAA,KAAS,YAAY,gBAAgBA,IAAA,IAAQ,WAAWA,IAAA,EAAM;UACvEH,eAAA,CAAgBI,IAAI,CAACD,IAAA;QACvB;QACA,IAAI,OAAOA,IAAA,KAAS,YAAY,OAAOA,IAAA,KAAS,UAAU;UACxDH,eAAA,CAAgBI,IAAI,CAAC;YACnBvD,UAAA;YACAwD,KAAA,EAAOF;UACT;QACF;MACF;MAEA5C,gBAAA,CAAiByC,eAAA;MACjBxC,eAAA,CAAgBuC,OAAO,GAAG;MAC1B1C,SAAA,CAAU2C,eAAA;IACZ;EACF,GAAG,CAACxD,iBAAA,EAAmBK,UAAA,EAAYe,eAAA,EAAiBL,gBAAA,CAAiB;EAErE;EACA,MAAM+C,iBAAA,GAAoBnF,OAAA,CAAQ,MAAMiC,MAAA,CAAOmD,GAAG,CAAC,CAAC;IAAEF;EAAK,CAAE,KAAKA,KAAA,GAAQ,CAACjD,MAAA,CAAO;EAElF,MAAMoD,OAAA,GAAUvF,WAAA,CACd,MAAOwF,WAAA;IACL,IAAI;MACF,MAAMC,QAAA,GAAW,MAAMC,KAAA,CACrB,GAAG3D,MAAA,CAAO4D,SAAS,GAAG5D,MAAA,CAAO6D,MAAM,CAACC,GAAG,IAAIrE,cAAA,IAAkBG,OAAA,CAAQgC,EAAE,EAAE,EACzE;QACEmC,IAAA,EAAMC,IAAA,CAAKC,SAAS,CAAC;UACnB,CAACtE,KAAA,CAAMuE,IAAI,GAAGnE,OAAA,GAAU0D,WAAA,GAAeA,WAAW,CAAC,EAAE,IAAI;QAC3D;QACAU,WAAA,EAAa;QACbC,OAAA,EAAS;UACP,gBAAgB;QAClB;QACAC,MAAA,EAAQ;MACV;MAGF,IAAI,CAACX,QAAA,CAASY,EAAE,EAAE;QAChB,MAAMC,YAAA,GAAe,MAAMb,QAAA,CAASc,IAAI,GAAGC,KAAK,CAAC,MAAM;QACvD,MAAMC,YAAA,GACJH,YAAA,EAAcI,MAAA,GAAS,EAAE,EAAEC,OAAA,IAC3BL,YAAA,EAAcM,KAAA,IACdN,YAAA,EAAcK,OAAA,IACdjE,CAAA,CAAE;QAEJrC,KAAA,CAAMuG,KAAK,CAACH,YAAA;QACZ,OAAO;MACT;MAEA,IAAI,OAAO7E,UAAA,KAAe,UAAU;QAClC;QACA,MAAMiF,SAAA,GAAqBrB,WAAA,CAAYF,GAAG,CAAE3B,EAAA,KAAQ;UAClD/B,UAAA;UACAwD,KAAA,EAAOzB;QACT;QACAvB,SAAA,CAAUyE,SAAA;QAEV;QACA,IAAIA,SAAA,CAAUC,MAAM,GAAG,GAAG;UACxBxE,gBAAA,CAAiBuE,SAAA;QACnB;MACF;IACF,EAAE,MAAM;MACNxG,KAAA,CAAMuG,KAAK,CAAClE,CAAA,CAAE;MACd,OAAO;IACT;IAEA,OAAO;EACT,GACA,CAAClB,cAAA,EAAgBO,MAAA,EAAQL,KAAA,CAAMuE,IAAI,EAAEnE,OAAA,EAASH,OAAA,EAASC,UAAA,EAAYU,gBAAA,EAAkBI,CAAA,CAAE;EAGzF,MAAMqE,UAAA,GAAa/G,WAAA,CACjB,OAAO;IACLgH,UAAU;IACVC;EAAU,CAIX;IACC,IAAI,MAAM1B,OAAA,CAAQ/B,KAAA,CAAM0D,IAAI,CAACD,UAAA,CAAWE,IAAI,MAAM;MAChDH,UAAA;IACF;EACF,GACA,CAACzB,OAAA,CAAQ;EAGX;EACA,MAAM6B,MAAA,GAASlH,OAAA,CAAQ;IACrB,OAAOiC,MAAA,CAAOmD,GAAG,CAAC,CAAC;MAAE1D,UAAA,EAAYyF,GAAG;MAAEjC,KAAK,EAALA;IAAK,CAAE;MAC3C,MAAMkC,QAAA,GAAWjF,SAAS,CAACgF,GAAA,CAAI,GAAGjC,OAAA,CAAM;MACxC,MAAMmC,iBAAA,GAAoBvF,eAAA,CAAgB;QAAER,cAAA,EAAgB6F;MAAI;MAEhE,OAAOzG,cAAA,CAAe;QACpByC,gBAAA,EAAkBkE,iBAAA;QAClBC,IAAA,EAAMF,QAAA,IAAY;QAClBG,UAAA,EAAY1F,MAAA,CAAO2F,KAAK,CAACD,UAAU;QACnCE,QAAA,EAAU,GAAGjF,CAAA,CAAE,6BAA6B0C,OAAA,EAAO;QACnD3C;MACF;IACF;EACF,GAAG,CAACN,MAAA,EAAQE,SAAA,EAAWL,eAAA,EAAiBD,MAAA,CAAO2F,KAAK,CAACD,UAAU,EAAE/E,CAAA,EAAGD,IAAA,CAAK;EAEzE,MAAMmF,WAAA,GAAcR,MAAA,CAAON,MAAM,GAAG,IAAIM,MAAA,CAAOS,IAAI,CAAC,QAAQnF,CAAA,CAAE;EAC9D,MAAMoF,SAAA,GACJ3F,MAAA,CAAO2E,MAAM,GAAG,KAChB3E,MAAA,CAAO4F,IAAI,CAAC,CAAC;IAAEnG,UAAA,EAAYyF,KAAG;IAAEjC,KAAK,EAALA;EAAK,CAAE,KAAK/C,SAAS,CAACgF,KAAA,CAAI,GAAGjC,OAAA,CAAM,KAAK;EAC1E,MAAM4C,SAAA,GAAY,CAAClG,OAAA,IAAWK,MAAA,CAAO2E,MAAM,KAAK,IAAI3E,MAAM,CAAC,EAAE,CAACiD,KAAK,GAAGvD,SAAA;EACtE,MAAMoG,kBAAA,GAAqB,OAAOD,SAAA,KAAc,YAAY,OAAOA,SAAA,KAAc;EACjF,MAAME,cAAA,GACJpI,cAAA,CACEmD,yBAAA,EAA2BmE,MAAA,EAAQe,QAAA,IAAYnF,uBAAA,IAA2B,IAC1EP,IAAA,KACGO,uBAAA;EAEP,MAAMoF,YAAA,GAAepI,WAAA,CAAY,MAAMuF,OAAA,CAAQ,EAAE,GAAG,CAACA,OAAA,CAAQ;EAE7D,MAAM8C,IAAA,GAAOnI,OAAA,CACX,MACE+H,kBAAA,IAAsBjF,uBAAA,GAClB;IACEiD,IAAA,EAAM2B,WAAA;IACNU,IAAA,EAAMvH,mBAAA,CAAoB;MACxBwH,UAAA,EAAYxG,MAAA,CAAO6D,MAAM,CAAC8B,KAAK;MAC/BlG,cAAA,EAAgBwB,uBAAA;MAChBwF,eAAA,EAAiBtF,eAAA,EAAiBsF,eAAA;MAClCC,QAAA,EAAUT;IACZ;EACF,IACAnG,SAAA,EACN,CACEE,MAAA,CAAO6D,MAAM,CAAC8B,KAAK,EACnBM,SAAA,EACAJ,WAAA,EACAK,kBAAA,EACAjF,uBAAA,EACAE,eAAA,EAAiBsF,eAAA,CAClB;EAGH,MAAME,KAAA,GAAQZ,SAAA,GAAY,GAAGpF,CAAA,CAAE,uBAAuB,GAAGkF,WAAA;EAEzD,oBACEe,KAAA,CAAC;IAAIC,SAAA,EAAWxH,SAAA;IAAWyH,GAAA,EAAK5G,eAAA;4BAC9BmC,IAAA,CAACnD,oBAAA;MACCoH,IAAA,EAAMA,IAAA;MACNS,UAAA,EAAYb,kBAAA;MACZC,cAAA,EAAgBA,cAAA;MAChBa,MAAA,EAAQlE,eAAA;MACRmE,QAAA,EAAUZ,YAAA;MACVa,aAAA,EAAgBC,YAAA,iBACd9E,IAAA,CAACpD,MAAA;QACC,cAAYkI,YAAA,GAAeR,KAAA,GAAQ7G,SAAA;QACnCsH,WAAA,EAAY;QACZP,SAAA,EAAW,GAAGxH,SAAA,UAAmB;QACjCgI,gBAAA,EAAkBF,YAAA,EAAcE,gBAAA;QAChCC,IAAA,EAAM/E,WAAA;QACNgF,YAAA,EAAa;QACbC,MAAA,EAAQ;QACRC,OAAA,EAASN,YAAA,EAAcM,OAAA,IAAW3E,eAAA;QAClC4E,QAAA,EAAUP,YAAA,EAAcO,QAAA;QACxBC,IAAA,EAAK;QACLC,OAAA,EAAST,YAAA,GAAetB,WAAA,GAAc/F,SAAA;kBAErCqH,YAAA,gBAAe9E,IAAA,CAAC;UAAKwE,SAAA,EAAW,GAAGxH,SAAA,YAAqB;oBAAGsH;aAAgBA;;QAIjF1F,uBAAA,IAA2B0B,eAAA,iBAC1BN,IAAA,CAACG,cAAA;MACCqF,YAAA,EAAclH,CAAA,CAAE;MAChBZ,OAAA,EAASA,OAAA;MACTuD,iBAAA,EAAmBA,iBAAA;MACnBwE,MAAA,EAAQ9C;;;AAKlB","ignoreList":[]}
@@ -1,6 +1,5 @@
1
1
  @layer payload-default {
2
2
  .json-cell {
3
- font-family: var(--text-body-medium-font-family);
4
3
  font-size: var(--text-body-medium-font-size);
5
4
  font-weight: var(--text-body-medium-font-weight);
6
5
  line-height: var(--text-body-medium-line-height);
@@ -5,7 +5,6 @@
5
5
  justify-content: center;
6
6
  padding: 0 var(--spacer-1);
7
7
  border-radius: var(--radius-medium);
8
- font-family: var(--text-body-medium-font-family);
9
8
  font-size: var(--text-body-medium-font-size);
10
9
  font-weight: var(--text-body-medium-font-weight);
11
10
  line-height: var(--text-body-medium-line-height);
@@ -77,7 +77,7 @@
77
77
 
78
78
  td.cell--linked > :is(a, button),
79
79
  .cell-link {
80
- font-weight: var(--text-body-medium-strong-font-weight);
80
+ font-weight: var(--text-body-medium-bold-font-weight);
81
81
  text-decoration-line: underline;
82
82
  text-decoration-style: solid;
83
83
  text-decoration-skip-ink: none;
@@ -15,11 +15,10 @@
15
15
  .table-section__heading {
16
16
  margin: 0;
17
17
  flex-grow: 1;
18
- font-family: var(--text-body-large-strong-font-family);
19
- font-size: var(--text-body-large-strong-font-size);
20
- font-weight: var(--text-body-large-strong-font-weight);
21
- line-height: var(--text-body-large-strong-line-height);
22
- letter-spacing: var(--text-body-large-strong-letter-spacing);
18
+ font-size: var(--text-body-large-bold-font-size);
19
+ font-weight: var(--text-body-large-bold-font-weight);
20
+ line-height: var(--text-body-large-bold-line-height);
21
+ letter-spacing: var(--text-body-large-bold-letter-spacing);
23
22
  }
24
23
 
25
24
  .table-section__header .list-selection__actions button {
@@ -9,6 +9,7 @@
9
9
 
10
10
  .tabs__tabs {
11
11
  display: inline-flex;
12
+ gap: var(--spacer-3);
12
13
  min-width: 100%;
13
14
  vertical-align: bottom;
14
15
  position: relative;
@@ -24,14 +25,13 @@
24
25
  align-items: center;
25
26
  justify-content: center;
26
27
  gap: var(--spacer-1);
27
- padding: var(--spacer-1) var(--spacer-2);
28
+ padding: var(--spacer-1) 0;
28
29
  margin: 0;
29
30
  margin-bottom: var(--spacer-2);
30
31
  cursor: pointer;
31
32
  position: relative;
32
33
  white-space: nowrap;
33
34
  flex-shrink: 0;
34
- font-family: var(--text-body-medium-font-family);
35
35
  font-size: var(--text-body-medium-font-size);
36
36
  font-weight: var(--text-body-medium-font-weight);
37
37
  line-height: var(--text-body-medium-line-height);
@@ -42,8 +42,8 @@
42
42
  .tabs__tab-button:after {
43
43
  content: '';
44
44
  position: absolute;
45
- left: var(--spacer-2);
46
- right: var(--spacer-2);
45
+ left: 0;
46
+ right: 0;
47
47
  bottom: calc(-1 * var(--spacer-2) - 1px);
48
48
  height: 3px;
49
49
  background: var(--color-icon-brand);
@@ -66,7 +66,7 @@
66
66
  }
67
67
 
68
68
  .tabs__tab-button--active {
69
- font-weight: var(--text-body-medium-strong-font-weight);
69
+ font-weight: var(--text-body-medium-bold-font-weight);
70
70
  color: var(--color-text);
71
71
  }
72
72
 
@@ -3,7 +3,9 @@ import './index.css';
3
3
  export type TabsTab<TValue extends string = string> = {
4
4
  disabled?: boolean;
5
5
  hidden?: boolean;
6
+ id?: string;
6
7
  label: React.ReactNode;
8
+ panelID?: string;
7
9
  value: TValue;
8
10
  };
9
11
  export type TabsProps<TValue extends string = string> = {
@@ -25,8 +27,10 @@ export declare const TabButton: React.FC<{
25
27
  disabled?: boolean;
26
28
  hasError?: boolean;
27
29
  hidden?: boolean;
30
+ id?: string;
28
31
  isActive?: boolean;
29
32
  modifierClassName?: string;
30
33
  onClick: () => void;
34
+ panelID?: string;
31
35
  }>;
32
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Tabs/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,OAAO,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACtD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,MAAM,SAAS,MAAM,GAAG,MAAM,yCAKhD,SAAS,CAAC,MAAM,CAAC,sBAgBnB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,CAaA,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAiCA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Tabs/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,OAAO,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACtD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,MAAM,SAAS,MAAM,GAAG,MAAM,yCAKhD,SAAS,CAAC,MAAM,CAAC,sBAkBnB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,CA6CA,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAyCA,CAAA"}
@@ -15,8 +15,10 @@ export const Tabs = ({
15
15
  children: tabs.map(tab => /*#__PURE__*/_jsx(TabButton, {
16
16
  disabled: tab.disabled,
17
17
  hidden: tab.hidden,
18
+ id: tab.id,
18
19
  isActive: tab.value === value,
19
20
  onClick: () => onChange(tab.value),
21
+ panelID: tab.panelID,
20
22
  children: tab.label
21
23
  }, tab.value))
22
24
  });
@@ -33,13 +35,30 @@ export const TabsList = ({
33
35
  className: [`${baseClass}__tabs-wrap`, tabsWrapClassName].filter(Boolean).join(' '),
34
36
  children: /*#__PURE__*/_jsx("div", {
35
37
  className: [`${baseClass}__tabs`, tabsClassName].filter(Boolean).join(' '),
38
+ onKeyDown: event => {
39
+ if (event.altKey || event.ctrlKey || event.metaKey || !['ArrowLeft', 'ArrowRight', 'End', 'Home'].includes(event.key)) {
40
+ return;
41
+ }
42
+ const tabs = Array.from(event.currentTarget.querySelectorAll('[role="tab"]')).filter(tab => !tab.disabled && tab.getClientRects().length > 0);
43
+ const index = tabs.indexOf(event.target);
44
+ if (index === -1) {
45
+ return;
46
+ }
47
+ event.preventDefault();
48
+ const isRTL = getComputedStyle(event.currentTarget).direction === 'rtl';
49
+ const direction = (event.key === 'ArrowRight' ? 1 : -1) * (isRTL ? -1 : 1);
50
+ const nextIndex = event.key === 'Home' ? 0 : event.key === 'End' ? tabs.length - 1 : (index + direction + tabs.length) % tabs.length;
51
+ tabs[nextIndex]?.focus();
52
+ },
36
53
  role: "tablist",
54
+ tabIndex: -1,
37
55
  children: children
38
56
  })
39
57
  })
40
58
  });
41
59
  };
42
60
  export const TabButton = ({
61
+ id,
43
62
  children,
44
63
  className,
45
64
  disabled,
@@ -47,14 +66,24 @@ export const TabButton = ({
47
66
  hidden,
48
67
  isActive,
49
68
  modifierClassName,
50
- onClick
69
+ onClick,
70
+ panelID
51
71
  }) => {
52
72
  return /*#__PURE__*/_jsx("button", {
73
+ "aria-controls": panelID,
53
74
  "aria-selected": isActive,
54
75
  className: [`${baseClass}__tab-button`, className, hasError && `${baseClass}__tab-button--has-error`, hasError && modifierClassName && `${modifierClassName}--has-error`, isActive && `${baseClass}__tab-button--active`, isActive && modifierClassName && `${modifierClassName}--active`, hidden && `${baseClass}__tab-button--hidden`, hidden && modifierClassName && `${modifierClassName}--hidden`].filter(Boolean).join(' '),
55
76
  disabled: disabled,
77
+ id: id,
56
78
  onClick: onClick,
79
+ onFocus: event => {
80
+ event.currentTarget.scrollIntoView({
81
+ block: 'nearest',
82
+ inline: 'nearest'
83
+ });
84
+ },
57
85
  role: "tab",
86
+ tabIndex: isActive && !hidden ? 0 : -1,
58
87
  type: "button",
59
88
  children: children
60
89
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","baseClass","Tabs","className","onChange","tabs","value","_jsx","TabsList","map","tab","TabButton","disabled","hidden","isActive","onClick","label","children","tabsClassName","tabsWrapClassName","filter","Boolean","join","role","hasError","modifierClassName","type"],"sources":["../../../src/elements/Tabs/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport './index.css'\n\nconst baseClass = 'tabs'\n\nexport type TabsTab<TValue extends string = string> = {\n disabled?: boolean\n hidden?: boolean\n label: React.ReactNode\n value: TValue\n}\n\nexport type TabsProps<TValue extends string = string> = {\n className?: string\n onChange: (value: TValue) => void\n tabs: TabsTab<TValue>[]\n value: TValue\n}\n\nexport const Tabs = <TValue extends string = string>({\n className,\n onChange,\n tabs,\n value,\n}: TabsProps<TValue>) => {\n return (\n <TabsList className={className}>\n {tabs.map((tab) => (\n <TabButton\n disabled={tab.disabled}\n hidden={tab.hidden}\n isActive={tab.value === value}\n key={tab.value}\n onClick={() => onChange(tab.value)}\n >\n {tab.label}\n </TabButton>\n ))}\n </TabsList>\n )\n}\n\nexport const TabsList: React.FC<{\n children: React.ReactNode\n className?: string\n tabsClassName?: string\n tabsWrapClassName?: string\n}> = ({ children, className, tabsClassName, tabsWrapClassName }) => {\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={[`${baseClass}__tabs-wrap`, tabsWrapClassName].filter(Boolean).join(' ')}>\n <div\n className={[`${baseClass}__tabs`, tabsClassName].filter(Boolean).join(' ')}\n role=\"tablist\"\n >\n {children}\n </div>\n </div>\n </div>\n )\n}\n\nexport const TabButton: React.FC<{\n children: React.ReactNode\n className?: string\n disabled?: boolean\n hasError?: boolean\n hidden?: boolean\n isActive?: boolean\n modifierClassName?: string\n onClick: () => void\n}> = ({\n children,\n className,\n disabled,\n hasError,\n hidden,\n isActive,\n modifierClassName,\n onClick,\n}) => {\n return (\n <button\n aria-selected={isActive}\n className={[\n `${baseClass}__tab-button`,\n className,\n hasError && `${baseClass}__tab-button--has-error`,\n hasError && modifierClassName && `${modifierClassName}--has-error`,\n isActive && `${baseClass}__tab-button--active`,\n isActive && modifierClassName && `${modifierClassName}--active`,\n hidden && `${baseClass}__tab-button--hidden`,\n hidden && modifierClassName && `${modifierClassName}--hidden`,\n ]\n .filter(Boolean)\n .join(' ')}\n disabled={disabled}\n onClick={onClick}\n role=\"tab\"\n type=\"button\"\n >\n {children}\n </button>\n )\n}\n"],"mappings":"AAAA;;;AAEA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAgBlB,OAAO,MAAMC,IAAA,GAAOA,CAAiC;EACnDC,SAAS;EACTC,QAAQ;EACRC,IAAI;EACJC;AAAK,CACa;EAClB,oBACEC,IAAA,CAACC,QAAA;IAASL,SAAA,EAAWA,SAAA;cAClBE,IAAA,CAAKI,GAAG,CAAEC,GAAA,iBACTH,IAAA,CAACI,SAAA;MACCC,QAAA,EAAUF,GAAA,CAAIE,QAAQ;MACtBC,MAAA,EAAQH,GAAA,CAAIG,MAAM;MAClBC,QAAA,EAAUJ,GAAA,CAAIJ,KAAK,KAAKA,KAAA;MAExBS,OAAA,EAASA,CAAA,KAAMX,QAAA,CAASM,GAAA,CAAIJ,KAAK;gBAEhCI,GAAA,CAAIM;OAHAN,GAAA,CAAIJ,KAAK;;AAQxB;AAEA,OAAO,MAAME,QAAA,GAKRA,CAAC;EAAES,QAAQ;EAAEd,SAAS;EAAEe,aAAa;EAAEC;AAAiB,CAAE;EAC7D,oBACEZ,IAAA,CAAC;IAAIJ,SAAA,EAAW,CAACF,SAAA,EAAWE,SAAA,CAAU,CAACiB,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;cAC1D,aAAAf,IAAA,CAAC;MAAIJ,SAAA,EAAW,CAAC,GAAGF,SAAA,aAAsB,EAAEkB,iBAAA,CAAkB,CAACC,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;gBAClF,aAAAf,IAAA,CAAC;QACCJ,SAAA,EAAW,CAAC,GAAGF,SAAA,QAAiB,EAAEiB,aAAA,CAAc,CAACE,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;QACtEC,IAAA,EAAK;kBAEJN;;;;AAKX;AAEA,OAAO,MAAMN,SAAA,GASRA,CAAC;EACJM,QAAQ;EACRd,SAAS;EACTS,QAAQ;EACRY,QAAQ;EACRX,MAAM;EACNC,QAAQ;EACRW,iBAAiB;EACjBV;AAAO,CACR;EACC,oBACER,IAAA,CAAC;IACC,iBAAeO,QAAA;IACfX,SAAA,EAAW,CACT,GAAGF,SAAA,cAAuB,EAC1BE,SAAA,EACAqB,QAAA,IAAY,GAAGvB,SAAA,yBAAkC,EACjDuB,QAAA,IAAYC,iBAAA,IAAqB,GAAGA,iBAAA,aAA8B,EAClEX,QAAA,IAAY,GAAGb,SAAA,sBAA+B,EAC9Ca,QAAA,IAAYW,iBAAA,IAAqB,GAAGA,iBAAA,UAA2B,EAC/DZ,MAAA,IAAU,GAAGZ,SAAA,sBAA+B,EAC5CY,MAAA,IAAUY,iBAAA,IAAqB,GAAGA,iBAAA,UAA2B,CAC9D,CACEL,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;IACRV,QAAA,EAAUA,QAAA;IACVG,OAAA,EAASA,OAAA;IACTQ,IAAA,EAAK;IACLG,IAAA,EAAK;cAEJT;;AAGP","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","baseClass","Tabs","className","onChange","tabs","value","_jsx","TabsList","map","tab","TabButton","disabled","hidden","id","isActive","onClick","panelID","label","children","tabsClassName","tabsWrapClassName","filter","Boolean","join","onKeyDown","event","altKey","ctrlKey","metaKey","includes","key","Array","from","currentTarget","querySelectorAll","getClientRects","length","index","indexOf","target","preventDefault","isRTL","getComputedStyle","direction","nextIndex","focus","role","tabIndex","hasError","modifierClassName","onFocus","scrollIntoView","block","inline","type"],"sources":["../../../src/elements/Tabs/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport './index.css'\n\nconst baseClass = 'tabs'\n\nexport type TabsTab<TValue extends string = string> = {\n disabled?: boolean\n hidden?: boolean\n id?: string\n label: React.ReactNode\n panelID?: string\n value: TValue\n}\n\nexport type TabsProps<TValue extends string = string> = {\n className?: string\n onChange: (value: TValue) => void\n tabs: TabsTab<TValue>[]\n value: TValue\n}\n\nexport const Tabs = <TValue extends string = string>({\n className,\n onChange,\n tabs,\n value,\n}: TabsProps<TValue>) => {\n return (\n <TabsList className={className}>\n {tabs.map((tab) => (\n <TabButton\n disabled={tab.disabled}\n hidden={tab.hidden}\n id={tab.id}\n isActive={tab.value === value}\n key={tab.value}\n onClick={() => onChange(tab.value)}\n panelID={tab.panelID}\n >\n {tab.label}\n </TabButton>\n ))}\n </TabsList>\n )\n}\n\nexport const TabsList: React.FC<{\n children: React.ReactNode\n className?: string\n tabsClassName?: string\n tabsWrapClassName?: string\n}> = ({ children, className, tabsClassName, tabsWrapClassName }) => {\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={[`${baseClass}__tabs-wrap`, tabsWrapClassName].filter(Boolean).join(' ')}>\n <div\n className={[`${baseClass}__tabs`, tabsClassName].filter(Boolean).join(' ')}\n onKeyDown={(event) => {\n if (\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n !['ArrowLeft', 'ArrowRight', 'End', 'Home'].includes(event.key)\n ) {\n return\n }\n\n const tabs = Array.from(\n event.currentTarget.querySelectorAll<HTMLButtonElement>('[role=\"tab\"]'),\n ).filter((tab) => !tab.disabled && tab.getClientRects().length > 0)\n const index = tabs.indexOf(event.target as HTMLButtonElement)\n\n if (index === -1) {\n return\n }\n\n event.preventDefault()\n const isRTL = getComputedStyle(event.currentTarget).direction === 'rtl'\n const direction = (event.key === 'ArrowRight' ? 1 : -1) * (isRTL ? -1 : 1)\n const nextIndex =\n event.key === 'Home'\n ? 0\n : event.key === 'End'\n ? tabs.length - 1\n : (index + direction + tabs.length) % tabs.length\n\n tabs[nextIndex]?.focus()\n }}\n role=\"tablist\"\n tabIndex={-1}\n >\n {children}\n </div>\n </div>\n </div>\n )\n}\n\nexport const TabButton: React.FC<{\n children: React.ReactNode\n className?: string\n disabled?: boolean\n hasError?: boolean\n hidden?: boolean\n id?: string\n isActive?: boolean\n modifierClassName?: string\n onClick: () => void\n panelID?: string\n}> = ({\n id,\n children,\n className,\n disabled,\n hasError,\n hidden,\n isActive,\n modifierClassName,\n onClick,\n panelID,\n}) => {\n return (\n <button\n aria-controls={panelID}\n aria-selected={isActive}\n className={[\n `${baseClass}__tab-button`,\n className,\n hasError && `${baseClass}__tab-button--has-error`,\n hasError && modifierClassName && `${modifierClassName}--has-error`,\n isActive && `${baseClass}__tab-button--active`,\n isActive && modifierClassName && `${modifierClassName}--active`,\n hidden && `${baseClass}__tab-button--hidden`,\n hidden && modifierClassName && `${modifierClassName}--hidden`,\n ]\n .filter(Boolean)\n .join(' ')}\n disabled={disabled}\n id={id}\n onClick={onClick}\n onFocus={(event) => {\n event.currentTarget.scrollIntoView({ block: 'nearest', inline: 'nearest' })\n }}\n role=\"tab\"\n tabIndex={isActive && !hidden ? 0 : -1}\n type=\"button\"\n >\n {children}\n </button>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -76,7 +76,6 @@
76
76
  white-space: nowrap;
77
77
  text-align: left;
78
78
  color: var(--color-text);
79
- font-family: var(--text-body-medium-font-family);
80
79
  font-size: var(--text-body-medium-font-size);
81
80
  font-style: normal;
82
81
  font-weight: var(--text-body-medium-font-weight);
@@ -15,7 +15,6 @@
15
15
  .timezone-picker__label {
16
16
  color: var(--color-text-secondary);
17
17
  flex-shrink: 0;
18
- font-family: var(--text-body-medium-font-family);
19
18
  font-size: var(--text-body-medium-font-size);
20
19
  font-weight: var(--text-body-medium-font-weight);
21
20
  line-height: var(--text-body-medium-line-height);
@@ -95,7 +94,6 @@
95
94
 
96
95
  .rs__single-value {
97
96
  color: var(--color-text);
98
- font-family: var(--text-body-medium-font-family);
99
97
  font-size: var(--text-body-medium-font-size);
100
98
  font-weight: var(--text-body-medium-font-weight);
101
99
  line-height: var(--text-body-medium-line-height);
@@ -106,7 +104,6 @@
106
104
 
107
105
  .rs__placeholder {
108
106
  color: var(--color-text-secondary);
109
- font-family: var(--text-body-medium-font-family);
110
107
  font-size: var(--text-body-medium-font-size);
111
108
  font-weight: var(--text-body-medium-font-weight);
112
109
  line-height: var(--text-body-medium-line-height);
@@ -20,7 +20,6 @@
20
20
  padding-block: var(--spacer-1);
21
21
  padding-inline: var(--spacer-2);
22
22
  color: var(--color-text-ontooltip);
23
- font-family: var(--text-body-medium-font-family);
24
23
  font-size: var(--text-body-medium-font-size);
25
24
  font-weight: var(--text-body-medium-font-weight);
26
25
  line-height: var(--text-body-medium-line-height);
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Tooltip/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoE,MAAM,OAAO,CAAA;AAGxF,OAAO,aAAa,CAAA;AAOpB,KAAK,IAAI,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAA;AAE/C,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IACxC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAuCD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAoPnC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Tooltip/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoE,MAAM,OAAO,CAAA;AAGxF,OAAO,aAAa,CAAA;AAOpB,KAAK,IAAI,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAA;AAE/C,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IACxC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAuCD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAsPnC,CAAA"}
@@ -157,6 +157,7 @@ export const Tooltip = props => {
157
157
  return;
158
158
  }
159
159
  const hidden = isTriggerHidden(trigger) || Boolean(middlewareData.hide?.referenceHidden);
160
+ floatingElement.style.setProperty('--tooltip-x', `${x}px`);
160
161
  Object.assign(floatingElement.style, {
161
162
  left: `${x}px`,
162
163
  top: `${y}px`,