@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
@@ -0,0 +1,41 @@
1
+ import { combineWhereConstraints } from 'payload/shared';
2
+ export const getHierarchyFilterOptions = ({
3
+ baseFilter,
4
+ documentCollectionSlug,
5
+ filterOptions,
6
+ hierarchyConfig,
7
+ hierarchySlug
8
+ }) => {
9
+ const existingFilter = filterOptions?.[hierarchySlug];
10
+ if (existingFilter === false) {
11
+ return filterOptions;
12
+ }
13
+ let collectionFilter;
14
+ if (documentCollectionSlug && hierarchyConfig?.collectionSpecific) {
15
+ const typeFieldName = hierarchyConfig.collectionSpecific.fieldName;
16
+ const configuredTypes = Object.keys(hierarchyConfig.relatedCollections);
17
+ collectionFilter = {
18
+ or: [{
19
+ [typeFieldName]: {
20
+ in: [documentCollectionSlug]
21
+ }
22
+ }, {
23
+ [typeFieldName]: {
24
+ exists: false
25
+ }
26
+ }, ...(configuredTypes.length > 0 ? [{
27
+ [typeFieldName]: {
28
+ not_in: configuredTypes
29
+ }
30
+ }] : [])]
31
+ };
32
+ }
33
+ if (!baseFilter && !collectionFilter) {
34
+ return filterOptions;
35
+ }
36
+ return {
37
+ ...filterOptions,
38
+ [hierarchySlug]: combineWhereConstraints([typeof existingFilter === 'object' ? existingFilter : undefined, baseFilter ?? undefined, collectionFilter])
39
+ };
40
+ };
41
+ //# sourceMappingURL=getHierarchyFilterOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getHierarchyFilterOptions.js","names":["combineWhereConstraints","getHierarchyFilterOptions","baseFilter","documentCollectionSlug","filterOptions","hierarchyConfig","hierarchySlug","existingFilter","collectionFilter","collectionSpecific","typeFieldName","fieldName","configuredTypes","Object","keys","relatedCollections","or","in","exists","length","not_in","undefined"],"sources":["../../../../src/elements/Hierarchy/Field/getHierarchyFilterOptions.ts"],"sourcesContent":["import type { FilterOptionsResult, SanitizedHierarchyConfig, Where } from 'payload'\n\nimport { combineWhereConstraints } from 'payload/shared'\n\nexport const getHierarchyFilterOptions = ({\n baseFilter,\n documentCollectionSlug,\n filterOptions,\n hierarchyConfig,\n hierarchySlug,\n}: {\n baseFilter?: null | Where\n documentCollectionSlug?: string\n filterOptions?: FilterOptionsResult\n hierarchyConfig?: Pick<SanitizedHierarchyConfig, 'collectionSpecific' | 'relatedCollections'>\n hierarchySlug: string\n}): FilterOptionsResult | undefined => {\n const existingFilter = filterOptions?.[hierarchySlug]\n\n if (existingFilter === false) {\n return filterOptions\n }\n\n let collectionFilter: undefined | Where\n\n if (documentCollectionSlug && hierarchyConfig?.collectionSpecific) {\n const typeFieldName = hierarchyConfig.collectionSpecific.fieldName\n const configuredTypes = Object.keys(hierarchyConfig.relatedCollections)\n\n collectionFilter = {\n or: [\n { [typeFieldName]: { in: [documentCollectionSlug] } },\n { [typeFieldName]: { exists: false } },\n ...(configuredTypes.length > 0 ? [{ [typeFieldName]: { not_in: configuredTypes } }] : []),\n ],\n }\n }\n\n if (!baseFilter && !collectionFilter) {\n return filterOptions\n }\n\n return {\n ...filterOptions,\n [hierarchySlug]: combineWhereConstraints([\n typeof existingFilter === 'object' ? existingFilter : undefined,\n baseFilter ?? undefined,\n collectionFilter,\n ]),\n }\n}\n"],"mappings":"AAEA,SAASA,uBAAuB,QAAQ;AAExC,OAAO,MAAMC,yBAAA,GAA4BA,CAAC;EACxCC,UAAU;EACVC,sBAAsB;EACtBC,aAAa;EACbC,eAAe;EACfC;AAAa,CAOd;EACC,MAAMC,cAAA,GAAiBH,aAAA,GAAgBE,aAAA,CAAc;EAErD,IAAIC,cAAA,KAAmB,OAAO;IAC5B,OAAOH,aAAA;EACT;EAEA,IAAII,gBAAA;EAEJ,IAAIL,sBAAA,IAA0BE,eAAA,EAAiBI,kBAAA,EAAoB;IACjE,MAAMC,aAAA,GAAgBL,eAAA,CAAgBI,kBAAkB,CAACE,SAAS;IAClE,MAAMC,eAAA,GAAkBC,MAAA,CAAOC,IAAI,CAACT,eAAA,CAAgBU,kBAAkB;IAEtEP,gBAAA,GAAmB;MACjBQ,EAAA,EAAI,CACF;QAAE,CAACN,aAAA,GAAgB;UAAEO,EAAA,EAAI,CAACd,sBAAA;QAAwB;MAAE,GACpD;QAAE,CAACO,aAAA,GAAgB;UAAEQ,MAAA,EAAQ;QAAM;MAAE,G,IACjCN,eAAA,CAAgBO,MAAM,GAAG,IAAI,CAAC;QAAE,CAACT,aAAA,GAAgB;UAAEU,MAAA,EAAQR;QAAgB;MAAE,EAAE,GAAG,EAAE;IAE5F;EACF;EAEA,IAAI,CAACV,UAAA,IAAc,CAACM,gBAAA,EAAkB;IACpC,OAAOJ,aAAA;EACT;EAEA,OAAO;IACL,GAAGA,aAAa;IAChB,CAACE,aAAA,GAAgBN,uBAAA,CAAwB,CACvC,OAAOO,cAAA,KAAmB,WAAWA,cAAA,GAAiBc,SAAA,EACtDnB,UAAA,IAAcmB,SAAA,EACdb,gBAAA,CACD;EACH;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Field/index.client.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAA;AAG3D,OAAO,KAA+B,MAAM,OAAO,CAAA;AAkBnD,OAAO,aAAa,CAAA;AAMpB,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,GAAG,4BAA4B,CAAA;AAEhC,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA2LpE,CAAA"}
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Field/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,4BAA4B,EAAqB,MAAM,SAAS,CAAA;AAG9E,OAAO,KAAyC,MAAM,OAAO,CAAA;AAgB7D,OAAO,aAAa,CAAA;AAQpB,MAAM,MAAM,yBAAyB,GAAG;IAAE,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,GAAG,4BAA4B,CAAA;AAEjG,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA8NpE,CAAA"}
@@ -2,30 +2,30 @@
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { getTranslation } from '@payloadcms/translations';
5
- import React, { useCallback, useMemo } from 'react';
6
- import { FieldDescription } from '../../../fields/FieldDescription/index.js';
7
- import { FieldError } from '../../../fields/FieldError/index.js';
8
- import { FieldLabel } from '../../../fields/FieldLabel/index.js';
5
+ import React, { Fragment, useCallback, useMemo } from 'react';
9
6
  import { mergeFieldStyles } from '../../../fields/mergeFieldStyles.js';
10
- import { fieldBaseClass } from '../../../fields/shared/index.js';
7
+ import { RelationshipInput } from '../../../fields/Relationship/Input.js';
11
8
  import { useField } from '../../../forms/useField/index.js';
12
- import { CirclePlusIcon } from '../../../icons/CirclePlus/index.js';
9
+ import { TagIcon } from '../../../icons/Tag/index.js';
13
10
  import { useConfig } from '../../../providers/Config/index.js';
14
11
  import { useDocumentInfo } from '../../../providers/DocumentInfo/index.js';
12
+ import { useHierarchy } from '../../../providers/Hierarchy/index.js';
15
13
  import { useTranslation } from '../../../providers/Translation/index.js';
16
14
  import { Button } from '../../Button/index.js';
17
- import { RenderCustomComponent } from '../../RenderCustomComponent/index.js';
18
15
  import { useHierarchyModal } from '../Modal/useHierarchyModal.js';
19
- import { SelectedHierarchies } from './SelectedHierarchies.js';
16
+ import { getHierarchyFilterOptions } from './getHierarchyFilterOptions.js';
20
17
  import './index.css';
21
18
  const baseClass = 'hierarchy-field';
19
+ const flattenOptionGroups = groups => groups.flatMap(group => group.options);
22
20
  export const HierarchyFieldClient = props => {
23
21
  const {
24
22
  field,
25
23
  field: {
26
24
  admin: {
27
25
  className,
28
- description
26
+ description,
27
+ isSortable = true,
28
+ placeholder
29
29
  } = {},
30
30
  hasMany,
31
31
  label,
@@ -45,6 +45,9 @@ export const HierarchyFieldClient = props => {
45
45
  const {
46
46
  collectionSlug: documentCollectionSlug
47
47
  } = useDocumentInfo();
48
+ const {
49
+ baseFilter
50
+ } = useHierarchy();
48
51
  const {
49
52
  i18n,
50
53
  t
@@ -52,14 +55,12 @@ export const HierarchyFieldClient = props => {
52
55
  const collectionConfig = getEntityConfig({
53
56
  collectionSlug: hierarchySlug
54
57
  });
55
- const memoizedValidate = useCallback((value, validationOptions) => {
56
- if (typeof validate === 'function') {
57
- return validate(value, {
58
- ...validationOptions,
59
- required
60
- });
61
- }
62
- }, [validate, required]);
58
+ const hierarchyConfig = collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object' ? collectionConfig.hierarchy : undefined;
59
+ const titlePathFieldName = hierarchyConfig?.titlePathFieldName;
60
+ const memoizedValidate = useCallback((value, validationOptions) => typeof validate === 'function' ? validate(value, {
61
+ ...validationOptions,
62
+ required
63
+ }) : undefined, [required, validate]);
63
64
  const {
64
65
  customComponents: {
65
66
  AfterInput,
@@ -69,6 +70,8 @@ export const HierarchyFieldClient = props => {
69
70
  Label
70
71
  } = {},
71
72
  disabled,
73
+ filterOptions,
74
+ initialValue,
72
75
  path,
73
76
  setValue,
74
77
  showError,
@@ -77,28 +80,31 @@ export const HierarchyFieldClient = props => {
77
80
  potentiallyStalePath: pathFromProps,
78
81
  validate: memoizedValidate
79
82
  });
83
+ const isReadOnly = readOnly || field.admin?.readOnly || disabled;
84
+ const hierarchyFilterOptions = useMemo(() => getHierarchyFilterOptions({
85
+ baseFilter,
86
+ documentCollectionSlug,
87
+ filterOptions,
88
+ hierarchyConfig,
89
+ hierarchySlug
90
+ }), [baseFilter, documentCollectionSlug, filterOptions, hierarchyConfig, hierarchySlug]);
91
+ const [relationTo] = React.useState(() => [hierarchySlug]);
80
92
  const styles = useMemo(() => mergeFieldStyles(field), [field]);
81
- // Normalize value to array of IDs for display
82
- const selectedIds = useMemo(() => {
83
- if (!value_0) {
84
- return [];
85
- }
86
- if (Array.isArray(value_0)) {
87
- return value_0;
88
- }
89
- return [value_0];
90
- }, [value_0]);
91
- // Initialize selections for the modal - use current value so modal expands to current selection
92
- const initialSelections = useMemo(() => {
93
- if (!value_0) {
94
- return [];
95
- }
96
- if (Array.isArray(value_0)) {
97
- return value_0;
93
+ const toRelationValues = useCallback(ids => {
94
+ if (hasMany) {
95
+ return Array.isArray(ids) ? ids.map(id => ({
96
+ relationTo: hierarchySlug,
97
+ value: id
98
+ })) : null;
98
99
  }
99
- return [value_0];
100
- }, [value_0]);
101
- // Memoize to prevent new array references on every render
100
+ return ids === null || typeof ids === 'undefined' ? null : {
101
+ relationTo: hierarchySlug,
102
+ value: ids
103
+ };
104
+ }, [hasMany, hierarchySlug]);
105
+ const relationshipValue = useMemo(() => toRelationValues(value_0), [toRelationValues, value_0]);
106
+ const relationshipInitialValue = useMemo(() => toRelationValues(initialValue), [initialValue, toRelationValues]);
107
+ const initialSelections = useMemo(() => value_0 === null || typeof value_0 === 'undefined' ? [] : Array.isArray(value_0) ? value_0 : [value_0], [value_0]);
102
108
  const filterByCollection = useMemo(() => documentCollectionSlug ? [documentCollectionSlug] : undefined, [documentCollectionSlug]);
103
109
  const [HierarchyModal,, {
104
110
  openModal
@@ -111,79 +117,88 @@ export const HierarchyFieldClient = props => {
111
117
  closeModal,
112
118
  selections
113
119
  }) => {
114
- const ids = Array.from(selections.keys());
115
- const newValue = hasMany ? ids : ids[0] ?? null;
116
- setValue(newValue);
120
+ if (isReadOnly) {
121
+ closeModal();
122
+ return;
123
+ }
124
+ const ids_0 = Array.from(selections.keys());
125
+ setValue(hasMany ? ids_0 : ids_0[0] ?? null);
117
126
  closeModal();
118
- }, [hasMany, setValue]);
119
- const handleRemove = useCallback(({
120
- id: idToRemove
127
+ }, [hasMany, isReadOnly, setValue]);
128
+ const handleChangeHasMany = useCallback(newValue => {
129
+ const ids_1 = newValue?.map(item => item.value) ?? [];
130
+ setValue(ids_1, Array.isArray(value_0) && ids_1.length === value_0.length && value_0.every((id_0, i) => id_0 === ids_1[i]));
131
+ }, [setValue, value_0]);
132
+ const handleChangeSingle = useCallback(newValue_0 => setValue(newValue_0?.value ?? null, value_0 === newValue_0?.value), [setValue, value_0]);
133
+ const selectOptionFields = useMemo(() => titlePathFieldName ? {
134
+ [titlePathFieldName]: true
135
+ } : undefined, [titlePathFieldName]);
136
+ const formatOptionLabel = useCallback(({
137
+ context,
138
+ defaultLabel,
139
+ doc
121
140
  }) => {
122
- if (hasMany) {
123
- const newIds = selectedIds.filter(id => id !== idToRemove);
124
- setValue(newIds.length > 0 ? newIds : null);
125
- } else {
126
- setValue(null);
141
+ if (context !== 'menu' || typeof doc?.[titlePathFieldName ?? ''] !== 'string') {
142
+ return defaultLabel;
127
143
  }
128
- }, [hasMany, selectedIds, setValue]);
129
- const handleOpenModal = useCallback(() => {
130
- openModal();
131
- }, [openModal]);
144
+ const titlePath = doc[titlePathFieldName ?? ''];
145
+ return typeof titlePath === 'string' ? titlePath.split('/').map(part => part.trim()).join(' / ') : defaultLabel;
146
+ }, [titlePathFieldName]);
132
147
  const hierarchyLabel = getTranslation(hasMany ? collectionConfig?.labels?.plural : collectionConfig?.labels?.singular, i18n) || hierarchySlug;
133
- return /*#__PURE__*/_jsxs("div", {
134
- className: [fieldBaseClass, baseClass, className, showError && 'error', readOnly && `${baseClass}--read-only`].filter(Boolean).join(' '),
135
- id: `field-${path?.replace(/\./g, '__')}`,
136
- style: styles,
137
- children: [/*#__PURE__*/_jsx(RenderCustomComponent, {
138
- CustomComponent: Label,
139
- Fallback: /*#__PURE__*/_jsx(FieldLabel, {
140
- label: label,
141
- localized: localized,
142
- path: path,
143
- required: required
144
- })
145
- }), /*#__PURE__*/_jsxs("div", {
146
- className: `${fieldBaseClass}__wrap`,
147
- children: [/*#__PURE__*/_jsx(RenderCustomComponent, {
148
- CustomComponent: Error,
149
- Fallback: /*#__PURE__*/_jsx(FieldError, {
150
- path: path,
151
- showError: showError
152
- })
153
- }), BeforeInput, /*#__PURE__*/_jsxs("div", {
154
- className: `${baseClass}__content`,
155
- children: [selectedIds.length > 0 && /*#__PURE__*/_jsx(SelectedHierarchies, {
156
- hierarchySlug: hierarchySlug,
157
- onRemove: handleRemove,
158
- readOnly: readOnly || disabled,
159
- selectedIds: selectedIds
160
- }), !readOnly && (hasMany || selectedIds.length === 0) && /*#__PURE__*/_jsx(Button, {
161
- buttonStyle: "dashed",
162
- className: `${baseClass}__manage-button`,
163
- disabled: disabled,
164
- icon: /*#__PURE__*/_jsx(CirclePlusIcon, {
165
- size: 24
166
- }),
167
- iconPosition: "left",
168
- margin: false,
169
- onClick: handleOpenModal,
170
- size: "medium",
171
- children: t('general:selectLabel', {
172
- label: hierarchyLabel
173
- })
174
- })]
175
- }), AfterInput, /*#__PURE__*/_jsx(RenderCustomComponent, {
176
- CustomComponent: Description,
177
- Fallback: /*#__PURE__*/_jsx(FieldDescription, {
178
- description: description,
179
- path: path
180
- })
148
+ const BrowseButton = useMemo(() => /*#__PURE__*/_jsx(Button, {
149
+ "aria-label": t('general:selectLabel', {
150
+ label: hierarchyLabel
151
+ }),
152
+ buttonStyle: "secondary",
153
+ className: `${baseClass}__browse-button`,
154
+ disabled: isReadOnly,
155
+ icon: Icon ?? /*#__PURE__*/_jsx(TagIcon, {}),
156
+ margin: false,
157
+ onClick: openModal,
158
+ size: "large"
159
+ }), [Icon, hierarchyLabel, isReadOnly, openModal, t]);
160
+ return /*#__PURE__*/_jsx(RelationshipInput, {
161
+ AddNewRelationButton: BrowseButton,
162
+ AfterInput: /*#__PURE__*/_jsxs(Fragment, {
163
+ children: [AfterInput, /*#__PURE__*/_jsx(HierarchyModal, {
164
+ hasMany: hasMany,
165
+ initialSelections: initialSelections,
166
+ onSave: handleModalSave
181
167
  })]
182
- }), /*#__PURE__*/_jsx(HierarchyModal, {
183
- hasMany: hasMany,
184
- initialSelections: initialSelections,
185
- onSave: handleModalSave
186
- })]
168
+ }),
169
+ allowEdit: false,
170
+ BeforeInput: BeforeInput,
171
+ className: [baseClass, className].filter(Boolean).join(' '),
172
+ Description: Description,
173
+ description: description,
174
+ Error: Error,
175
+ filterOptions: hierarchyFilterOptions,
176
+ formatDisplayedOptions: flattenOptionGroups,
177
+ formatOptionLabel: formatOptionLabel,
178
+ isSortable: isSortable,
179
+ Label: Label,
180
+ label: label,
181
+ localized: localized,
182
+ maxResultsPerRequest: 10,
183
+ path: path,
184
+ placeholder: placeholder,
185
+ readOnly: isReadOnly,
186
+ relationTo: relationTo,
187
+ required: required,
188
+ selectOptionFields: selectOptionFields,
189
+ showError: showError,
190
+ style: styles,
191
+ ...(hasMany === true ? {
192
+ hasMany: true,
193
+ initialValue: relationshipInitialValue,
194
+ onChange: handleChangeHasMany,
195
+ value: relationshipValue
196
+ } : {
197
+ hasMany: false,
198
+ initialValue: relationshipInitialValue,
199
+ onChange: handleChangeSingle,
200
+ value: relationshipValue
201
+ })
187
202
  });
188
203
  };
189
204
  //# sourceMappingURL=index.client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.js","names":["getTranslation","React","useCallback","useMemo","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","useField","CirclePlusIcon","useConfig","useDocumentInfo","useTranslation","Button","RenderCustomComponent","useHierarchyModal","SelectedHierarchies","baseClass","HierarchyFieldClient","props","field","admin","className","description","hasMany","label","localized","relationTo","relationToProp","required","Icon","path","pathFromProps","readOnly","validate","hierarchySlug","Array","isArray","getEntityConfig","collectionSlug","documentCollectionSlug","i18n","t","collectionConfig","memoizedValidate","value","validationOptions","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","potentiallyStalePath","styles","selectedIds","initialSelections","filterByCollection","undefined","HierarchyModal","openModal","hierarchyCollectionSlug","handleModalSave","closeModal","selections","ids","from","keys","newValue","handleRemove","id","idToRemove","newIds","filter","length","handleOpenModal","hierarchyLabel","labels","plural","singular","_jsxs","Boolean","join","replace","style","_jsx","CustomComponent","Fallback","onRemove","buttonStyle","icon","size","iconPosition","margin","onClick","onSave"],"sources":["../../../../src/elements/Hierarchy/Field/index.client.tsx"],"sourcesContent":["'use client'\nimport type { RelationshipFieldClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useMemo } from 'react'\n\nimport type { SelectionWithPath } from '../Modal/types.js'\n\nimport { FieldDescription } from '../../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { mergeFieldStyles } from '../../../fields/mergeFieldStyles.js'\nimport { fieldBaseClass } from '../../../fields/shared/index.js'\nimport { useField } from '../../../forms/useField/index.js'\nimport { CirclePlusIcon } from '../../../icons/CirclePlus/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { RenderCustomComponent } from '../../RenderCustomComponent/index.js'\nimport { useHierarchyModal } from '../Modal/useHierarchyModal.js'\nimport { SelectedHierarchies } from './SelectedHierarchies.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-field'\n\ntype Value = (number | string)[] | null | (number | string)\n\nexport type HierarchyFieldClientProps = {\n Icon?: React.ReactNode\n} & RelationshipFieldClientProps\n\nexport const HierarchyFieldClient: React.FC<HierarchyFieldClientProps> = (props) => {\n const {\n field,\n field: {\n admin: { className, description } = {},\n hasMany,\n label,\n localized,\n relationTo: relationToProp,\n required,\n },\n Icon,\n path: pathFromProps,\n readOnly,\n validate,\n } = props\n\n const hierarchySlug = Array.isArray(relationToProp) ? relationToProp[0] : relationToProp\n\n const { getEntityConfig } = useConfig()\n const { collectionSlug: documentCollectionSlug } = useDocumentInfo()\n const { i18n, t } = useTranslation()\n\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchySlug })\n\n const memoizedValidate = useCallback(\n (value: Value, validationOptions: Parameters<typeof validate>[1]) => {\n if (typeof validate === 'function') {\n return validate(value, { ...validationOptions, required })\n }\n },\n [validate, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n path,\n setValue,\n showError,\n value,\n } = useField<Value>({\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n // Normalize value to array of IDs for display\n const selectedIds = useMemo((): (number | string)[] => {\n if (!value) {\n return []\n }\n\n if (Array.isArray(value)) {\n return value\n }\n\n return [value]\n }, [value])\n\n // Initialize selections for the modal - use current value so modal expands to current selection\n const initialSelections = useMemo(() => {\n if (!value) {\n return []\n }\n\n if (Array.isArray(value)) {\n return value\n }\n\n return [value] as (number | string)[]\n }, [value])\n\n // Memoize to prevent new array references on every render\n const filterByCollection = useMemo(\n () => (documentCollectionSlug ? [documentCollectionSlug] : undefined),\n [documentCollectionSlug],\n )\n\n const [HierarchyModal, , { openModal }] = useHierarchyModal({\n filterByCollection,\n hierarchyCollectionSlug: hierarchySlug,\n Icon,\n })\n\n const handleModalSave = useCallback(\n ({\n closeModal,\n selections,\n }: {\n closeModal: () => void\n selections: Map<number | string, SelectionWithPath>\n }) => {\n const ids = Array.from(selections.keys())\n const newValue = hasMany ? ids : (ids[0] ?? null)\n setValue(newValue)\n closeModal()\n },\n [hasMany, setValue],\n )\n\n const handleRemove = useCallback(\n ({ id: idToRemove }: { id: number | string }) => {\n if (hasMany) {\n const newIds = selectedIds.filter((id) => id !== idToRemove)\n setValue(newIds.length > 0 ? newIds : null)\n } else {\n setValue(null)\n }\n },\n [hasMany, selectedIds, setValue],\n )\n\n const handleOpenModal = useCallback(() => {\n openModal()\n }, [openModal])\n\n const hierarchyLabel =\n getTranslation(\n hasMany ? collectionConfig?.labels?.plural : collectionConfig?.labels?.singular,\n i18n,\n ) || hierarchySlug\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n <div className={`${baseClass}__content`}>\n {selectedIds.length > 0 && (\n <SelectedHierarchies\n hierarchySlug={hierarchySlug}\n onRemove={handleRemove}\n readOnly={readOnly || disabled}\n selectedIds={selectedIds}\n />\n )}\n {!readOnly && (hasMany || selectedIds.length === 0) && (\n <Button\n buttonStyle=\"dashed\"\n className={`${baseClass}__manage-button`}\n disabled={disabled}\n icon={<CirclePlusIcon size={24} />}\n iconPosition=\"left\"\n margin={false}\n onClick={handleOpenModal}\n size=\"medium\"\n >\n {t('general:selectLabel', { label: hierarchyLabel })}\n </Button>\n )}\n </div>\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n <HierarchyModal\n hasMany={hasMany}\n initialSelections={initialSelections}\n onSave={handleModalSave}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.client.js","names":["getTranslation","React","Fragment","useCallback","useMemo","mergeFieldStyles","RelationshipInput","useField","TagIcon","useConfig","useDocumentInfo","useHierarchy","useTranslation","Button","useHierarchyModal","getHierarchyFilterOptions","baseClass","flattenOptionGroups","groups","flatMap","group","options","HierarchyFieldClient","props","field","admin","className","description","isSortable","placeholder","hasMany","label","localized","relationTo","relationToProp","required","Icon","path","pathFromProps","readOnly","validate","hierarchySlug","Array","isArray","getEntityConfig","collectionSlug","documentCollectionSlug","baseFilter","i18n","t","collectionConfig","hierarchyConfig","hierarchy","undefined","titlePathFieldName","memoizedValidate","value","validationOptions","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","filterOptions","initialValue","setValue","showError","potentiallyStalePath","isReadOnly","hierarchyFilterOptions","useState","styles","toRelationValues","ids","map","id","relationshipValue","relationshipInitialValue","initialSelections","filterByCollection","HierarchyModal","openModal","hierarchyCollectionSlug","handleModalSave","closeModal","selections","from","keys","handleChangeHasMany","newValue","item","length","every","i","handleChangeSingle","selectOptionFields","formatOptionLabel","context","defaultLabel","doc","titlePath","split","part","trim","join","hierarchyLabel","labels","plural","singular","BrowseButton","_jsx","buttonStyle","icon","margin","onClick","size","AddNewRelationButton","_jsxs","onSave","allowEdit","filter","Boolean","formatDisplayedOptions","maxResultsPerRequest","style","onChange"],"sources":["../../../../src/elements/Hierarchy/Field/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { RelationshipFieldClientProps, ValueWithRelation } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useMemo } from 'react'\n\nimport type { Option, OptionGroup } from '../../../fields/Relationship/types.js'\nimport type { SelectionWithPath } from '../Modal/types.js'\n\nimport { mergeFieldStyles } from '../../../fields/mergeFieldStyles.js'\nimport { RelationshipInput } from '../../../fields/Relationship/Input.js'\nimport { useField } from '../../../forms/useField/index.js'\nimport { TagIcon } from '../../../icons/Tag/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useHierarchy } from '../../../providers/Hierarchy/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { useHierarchyModal } from '../Modal/useHierarchyModal.js'\nimport { getHierarchyFilterOptions } from './getHierarchyFilterOptions.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-field'\ntype Value = (number | string)[] | null | (number | string)\n\nconst flattenOptionGroups = (groups: OptionGroup[]): Option[] =>\n groups.flatMap((group) => group.options)\n\nexport type HierarchyFieldClientProps = { Icon?: React.ReactNode } & RelationshipFieldClientProps\n\nexport const HierarchyFieldClient: React.FC<HierarchyFieldClientProps> = (props) => {\n const {\n field,\n field: {\n admin: { className, description, isSortable = true, placeholder } = {},\n hasMany,\n label,\n localized,\n relationTo: relationToProp,\n required,\n },\n Icon,\n path: pathFromProps,\n readOnly,\n validate,\n } = props\n const hierarchySlug = Array.isArray(relationToProp) ? relationToProp[0] : relationToProp\n const { getEntityConfig } = useConfig()\n const { collectionSlug: documentCollectionSlug } = useDocumentInfo()\n const { baseFilter } = useHierarchy()\n const { i18n, t } = useTranslation()\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchySlug })\n const hierarchyConfig =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n const titlePathFieldName = hierarchyConfig?.titlePathFieldName\n const memoizedValidate = useCallback(\n (value: Value, validationOptions: Parameters<typeof validate>[1]) =>\n typeof validate === 'function'\n ? validate(value, { ...validationOptions, required })\n : undefined,\n [required, validate],\n )\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n filterOptions,\n initialValue,\n path,\n setValue,\n showError,\n value,\n } = useField<Value>({ potentiallyStalePath: pathFromProps, validate: memoizedValidate })\n const isReadOnly = readOnly || field.admin?.readOnly || disabled\n const hierarchyFilterOptions = useMemo(\n () =>\n getHierarchyFilterOptions({\n baseFilter,\n documentCollectionSlug,\n filterOptions,\n hierarchyConfig,\n hierarchySlug,\n }),\n [baseFilter, documentCollectionSlug, filterOptions, hierarchyConfig, hierarchySlug],\n )\n const [relationTo] = React.useState(() => [hierarchySlug])\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n const toRelationValues = useCallback(\n (ids: Value): null | ValueWithRelation | ValueWithRelation[] => {\n if (hasMany) {\n return Array.isArray(ids)\n ? ids.map((id) => ({ relationTo: hierarchySlug, value: id }))\n : null\n }\n return ids === null || typeof ids === 'undefined'\n ? null\n : { relationTo: hierarchySlug, value: ids as number | string }\n },\n [hasMany, hierarchySlug],\n )\n const relationshipValue = useMemo(() => toRelationValues(value), [toRelationValues, value])\n const relationshipInitialValue = useMemo(\n () => toRelationValues(initialValue),\n [initialValue, toRelationValues],\n )\n const initialSelections = useMemo(\n () =>\n value === null || typeof value === 'undefined' ? [] : Array.isArray(value) ? value : [value],\n [value],\n )\n const filterByCollection = useMemo(\n () => (documentCollectionSlug ? [documentCollectionSlug] : undefined),\n [documentCollectionSlug],\n )\n const [HierarchyModal, , { openModal }] = useHierarchyModal({\n filterByCollection,\n hierarchyCollectionSlug: hierarchySlug,\n Icon,\n })\n const handleModalSave = useCallback(\n ({\n closeModal,\n selections,\n }: {\n closeModal: () => void\n selections: Map<number | string, SelectionWithPath>\n }) => {\n if (isReadOnly) {\n closeModal()\n return\n }\n const ids = Array.from(selections.keys())\n setValue(hasMany ? ids : (ids[0] ?? null))\n closeModal()\n },\n [hasMany, isReadOnly, setValue],\n )\n const handleChangeHasMany = useCallback(\n (newValue: ValueWithRelation[]) => {\n const ids = newValue?.map((item) => item.value) ?? []\n setValue(\n ids,\n Array.isArray(value) &&\n ids.length === value.length &&\n value.every((id, i) => id === ids[i]),\n )\n },\n [setValue, value],\n )\n const handleChangeSingle = useCallback(\n (newValue: ValueWithRelation) => setValue(newValue?.value ?? null, value === newValue?.value),\n [setValue, value],\n )\n const selectOptionFields = useMemo(\n () => (titlePathFieldName ? { [titlePathFieldName]: true } : undefined),\n [titlePathFieldName],\n )\n const formatOptionLabel = useCallback(\n ({\n context,\n defaultLabel,\n doc,\n }: {\n context: 'menu' | 'value'\n defaultLabel: string\n doc?: Record<string, unknown>\n }) => {\n if (context !== 'menu' || typeof doc?.[titlePathFieldName ?? ''] !== 'string') {\n return defaultLabel\n }\n const titlePath = doc[titlePathFieldName ?? '']\n return typeof titlePath === 'string'\n ? titlePath\n .split('/')\n .map((part) => part.trim())\n .join(' / ')\n : defaultLabel\n },\n [titlePathFieldName],\n )\n const hierarchyLabel =\n getTranslation(\n hasMany ? collectionConfig?.labels?.plural : collectionConfig?.labels?.singular,\n i18n,\n ) || hierarchySlug\n const BrowseButton = useMemo(\n () => (\n <Button\n aria-label={t('general:selectLabel', { label: hierarchyLabel })}\n buttonStyle=\"secondary\"\n className={`${baseClass}__browse-button`}\n disabled={isReadOnly}\n icon={Icon ?? <TagIcon />}\n margin={false}\n onClick={openModal}\n size=\"large\"\n />\n ),\n [Icon, hierarchyLabel, isReadOnly, openModal, t],\n )\n\n return (\n <RelationshipInput\n AddNewRelationButton={BrowseButton}\n AfterInput={\n <Fragment>\n {AfterInput}\n <HierarchyModal\n hasMany={hasMany}\n initialSelections={initialSelections}\n onSave={handleModalSave}\n />\n </Fragment>\n }\n allowEdit={false}\n BeforeInput={BeforeInput}\n className={[baseClass, className].filter(Boolean).join(' ')}\n Description={Description}\n description={description}\n Error={Error}\n filterOptions={hierarchyFilterOptions}\n formatDisplayedOptions={flattenOptionGroups}\n formatOptionLabel={formatOptionLabel}\n isSortable={isSortable}\n Label={Label}\n label={label}\n localized={localized}\n maxResultsPerRequest={10}\n path={path}\n placeholder={placeholder}\n readOnly={isReadOnly}\n relationTo={relationTo}\n required={required}\n selectOptionFields={selectOptionFields}\n showError={showError}\n style={styles}\n {...(hasMany === true\n ? {\n hasMany: true,\n initialValue: relationshipInitialValue as ValueWithRelation[],\n onChange: handleChangeHasMany,\n value: relationshipValue as ValueWithRelation[],\n }\n : {\n hasMany: false,\n initialValue: relationshipInitialValue as ValueWithRelation,\n onChange: handleChangeSingle,\n value: relationshipValue as ValueWithRelation,\n })}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -7,7 +7,6 @@
7
7
 
8
8
  .hierarchy-field .field-label {
9
9
  display: flex;
10
- font-family: var(--text-body-large-font-family);
11
10
  font-size: var(--text-body-large-font-size);
12
11
  font-weight: var(--text-body-large-font-weight);
13
12
  line-height: var(--text-body-large-line-height);
@@ -0,0 +1,33 @@
1
+ @layer payload-default {
2
+ .hierarchy-modal-footer__info,
3
+ .hierarchy-modal-footer__actions {
4
+ display: flex;
5
+ align-items: center;
6
+ gap: var(--spacer-2);
7
+ }
8
+
9
+ .hierarchy-modal-footer__info {
10
+ min-inline-size: 0;
11
+ margin-inline-end: auto;
12
+ overflow: hidden;
13
+ }
14
+
15
+ .hierarchy-modal-footer__actions,
16
+ .hierarchy-modal-footer__arrow {
17
+ flex-shrink: 0;
18
+ }
19
+
20
+ .hierarchy-modal-footer__secondary,
21
+ .hierarchy-modal-footer__arrow {
22
+ color: var(--color-text-secondary);
23
+ }
24
+
25
+ .hierarchy-modal-footer__path {
26
+ min-inline-size: 0;
27
+ max-inline-size: calc(var(--spacer-6) * 7);
28
+ }
29
+
30
+ .hierarchy-modal-footer__path .chip__label {
31
+ min-inline-size: 0;
32
+ }
33
+ }
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import type { PathSegment } from '../../ColumnBrowser/types.js';
3
+ import './index.css';
4
+ export type HierarchyModalFooterProps = {
5
+ confirmLabel: string;
6
+ destinationPath?: PathSegment[];
7
+ Icon?: React.ReactNode;
8
+ isBusy?: boolean;
9
+ isConfirmDisabled: boolean;
10
+ isMultiSelect: boolean;
11
+ onClear: () => void;
12
+ onConfirm: () => void;
13
+ onMoveToRoot?: () => void;
14
+ placeholderLabel: string;
15
+ previousPath?: PathSegment[];
16
+ selectionCount: number;
17
+ selectionCountLabel: string;
18
+ showMoveToRoot?: boolean;
19
+ };
20
+ export declare const HierarchyModalFooter: React.FC<HierarchyModalFooterProps>;
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/Hierarchy/Modal/Footer/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAQ/D,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,yBAAyB,GAAG;IACtC,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,WAAW,EAAE,CAAA;IAC/B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,aAAa,EAAE,OAAO,CAAA;IACtB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAeD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA6EpE,CAAA"}
@@ -0,0 +1,122 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ import React from 'react';
6
+ import { FolderIcon } from '../../../../icons/Folder/index.js';
7
+ import { ReplaceIcon } from '../../../../icons/Replace/index.js';
8
+ import { useTranslation } from '../../../../providers/Translation/index.js';
9
+ import { Button } from '../../../Button/index.js';
10
+ import { Chip } from '../../../Chip/index.js';
11
+ import { DialogFooter } from '../../../Dialog/index.js';
12
+ import './index.css';
13
+ const baseClass = 'hierarchy-modal-footer';
14
+ const HierarchyPath = ({
15
+ Icon,
16
+ path
17
+ }) => {
18
+ const label = path.map(segment => segment.title).join(' / ');
19
+ return /*#__PURE__*/_jsx(Chip, {
20
+ "aria-label": label,
21
+ className: `${baseClass}__path`,
22
+ icon: Icon ?? /*#__PURE__*/_jsx(FolderIcon, {}),
23
+ children: label
24
+ });
25
+ };
26
+ export const HierarchyModalFooter = t0 => {
27
+ const $ = _c(16);
28
+ const {
29
+ confirmLabel,
30
+ destinationPath,
31
+ Icon,
32
+ isBusy: t1,
33
+ isConfirmDisabled,
34
+ isMultiSelect,
35
+ onClear,
36
+ onConfirm,
37
+ onMoveToRoot,
38
+ placeholderLabel,
39
+ previousPath,
40
+ selectionCount,
41
+ selectionCountLabel,
42
+ showMoveToRoot
43
+ } = t0;
44
+ const isBusy = t1 === undefined ? false : t1;
45
+ const {
46
+ t
47
+ } = useTranslation();
48
+ let t2;
49
+ if ($[0] !== Icon || $[1] !== confirmLabel || $[2] !== destinationPath || $[3] !== isBusy || $[4] !== isConfirmDisabled || $[5] !== isMultiSelect || $[6] !== onClear || $[7] !== onConfirm || $[8] !== onMoveToRoot || $[9] !== placeholderLabel || $[10] !== previousPath || $[11] !== selectionCount || $[12] !== selectionCountLabel || $[13] !== showMoveToRoot || $[14] !== t) {
50
+ t2 = _jsxs(DialogFooter, {
51
+ children: [_jsx("div", {
52
+ className: `${baseClass}__info`,
53
+ children: isMultiSelect ? _jsxs(React.Fragment, {
54
+ children: [_jsx("span", {
55
+ className: `${baseClass}__secondary`,
56
+ children: selectionCountLabel
57
+ }), selectionCount > 0 ? _jsx(Button, {
58
+ buttonStyle: "primary-ghost",
59
+ className: `${baseClass}__clear`,
60
+ margin: false,
61
+ onClick: onClear,
62
+ size: "medium",
63
+ children: t("general:clear")
64
+ }) : null]
65
+ }) : _jsxs(React.Fragment, {
66
+ children: [previousPath?.length ? _jsxs(React.Fragment, {
67
+ children: [_jsx(HierarchyPath, {
68
+ Icon,
69
+ path: previousPath
70
+ }), _jsx("span", {
71
+ "aria-hidden": true,
72
+ className: `${baseClass}__arrow`,
73
+ children: _jsx(ReplaceIcon, {})
74
+ })]
75
+ }) : null, destinationPath?.length ? _jsx(HierarchyPath, {
76
+ Icon,
77
+ path: destinationPath
78
+ }) : _jsx("span", {
79
+ className: `${baseClass}__secondary`,
80
+ children: placeholderLabel
81
+ })]
82
+ })
83
+ }), _jsxs("div", {
84
+ className: `${baseClass}__actions`,
85
+ children: [showMoveToRoot && onMoveToRoot ? _jsx(Button, {
86
+ buttonStyle: "secondary",
87
+ disabled: isBusy,
88
+ margin: false,
89
+ onClick: onMoveToRoot,
90
+ size: "medium",
91
+ children: t("hierarchy:moveToRoot")
92
+ }) : null, _jsx(Button, {
93
+ disabled: isBusy || isConfirmDisabled,
94
+ margin: false,
95
+ onClick: onConfirm,
96
+ size: "medium",
97
+ children: confirmLabel
98
+ })]
99
+ })]
100
+ });
101
+ $[0] = Icon;
102
+ $[1] = confirmLabel;
103
+ $[2] = destinationPath;
104
+ $[3] = isBusy;
105
+ $[4] = isConfirmDisabled;
106
+ $[5] = isMultiSelect;
107
+ $[6] = onClear;
108
+ $[7] = onConfirm;
109
+ $[8] = onMoveToRoot;
110
+ $[9] = placeholderLabel;
111
+ $[10] = previousPath;
112
+ $[11] = selectionCount;
113
+ $[12] = selectionCountLabel;
114
+ $[13] = showMoveToRoot;
115
+ $[14] = t;
116
+ $[15] = t2;
117
+ } else {
118
+ t2 = $[15];
119
+ }
120
+ return t2;
121
+ };
122
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","React","FolderIcon","ReplaceIcon","useTranslation","Button","Chip","DialogFooter","baseClass","HierarchyPath","Icon","path","label","map","segment","title","join","_jsx","className","icon","HierarchyModalFooter","t0","$","confirmLabel","destinationPath","isBusy","t1","isConfirmDisabled","isMultiSelect","onClear","onConfirm","onMoveToRoot","placeholderLabel","previousPath","selectionCount","selectionCountLabel","showMoveToRoot","undefined","t","t2","_jsxs","children","Fragment","buttonStyle","margin","onClick","size","length","disabled"],"sources":["../../../../../src/elements/Hierarchy/Modal/Footer/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport type { PathSegment } from '../../ColumnBrowser/types.js'\n\nimport { FolderIcon } from '../../../../icons/Folder/index.js'\nimport { ReplaceIcon } from '../../../../icons/Replace/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { Button } from '../../../Button/index.js'\nimport { Chip } from '../../../Chip/index.js'\nimport { DialogFooter } from '../../../Dialog/index.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-modal-footer'\n\nexport type HierarchyModalFooterProps = {\n confirmLabel: string\n destinationPath?: PathSegment[]\n Icon?: React.ReactNode\n isBusy?: boolean\n isConfirmDisabled: boolean\n isMultiSelect: boolean\n onClear: () => void\n onConfirm: () => void\n onMoveToRoot?: () => void\n placeholderLabel: string\n previousPath?: PathSegment[]\n selectionCount: number\n selectionCountLabel: string\n showMoveToRoot?: boolean\n}\n\nconst HierarchyPath: React.FC<{\n Icon?: React.ReactNode\n path: PathSegment[]\n}> = ({ Icon, path }) => {\n const label = path.map((segment) => segment.title).join(' / ')\n\n return (\n <Chip aria-label={label} className={`${baseClass}__path`} icon={Icon ?? <FolderIcon />}>\n {label}\n </Chip>\n )\n}\n\nexport const HierarchyModalFooter: React.FC<HierarchyModalFooterProps> = ({\n confirmLabel,\n destinationPath,\n Icon,\n isBusy = false,\n isConfirmDisabled,\n isMultiSelect,\n onClear,\n onConfirm,\n onMoveToRoot,\n placeholderLabel,\n previousPath,\n selectionCount,\n selectionCountLabel,\n showMoveToRoot,\n}) => {\n const { t } = useTranslation()\n\n return (\n <DialogFooter>\n <div className={`${baseClass}__info`}>\n {isMultiSelect ? (\n <React.Fragment>\n <span className={`${baseClass}__secondary`}>{selectionCountLabel}</span>\n {selectionCount > 0 ? (\n <Button\n buttonStyle=\"primary-ghost\"\n className={`${baseClass}__clear`}\n margin={false}\n onClick={onClear}\n size=\"medium\"\n >\n {t('general:clear')}\n </Button>\n ) : null}\n </React.Fragment>\n ) : (\n <React.Fragment>\n {previousPath?.length ? (\n <React.Fragment>\n <HierarchyPath Icon={Icon} path={previousPath} />\n <span aria-hidden className={`${baseClass}__arrow`}>\n <ReplaceIcon />\n </span>\n </React.Fragment>\n ) : null}\n {destinationPath?.length ? (\n <HierarchyPath Icon={Icon} path={destinationPath} />\n ) : (\n <span className={`${baseClass}__secondary`}>{placeholderLabel}</span>\n )}\n </React.Fragment>\n )}\n </div>\n <div className={`${baseClass}__actions`}>\n {showMoveToRoot && onMoveToRoot ? (\n <Button\n buttonStyle=\"secondary\"\n disabled={isBusy}\n margin={false}\n onClick={onMoveToRoot}\n size=\"medium\"\n >\n {t('hierarchy:moveToRoot')}\n </Button>\n ) : null}\n <Button\n disabled={isBusy || isConfirmDisabled}\n margin={false}\n onClick={onConfirm}\n size=\"medium\"\n >\n {confirmLabel}\n </Button>\n </div>\n </DialogFooter>\n )\n}\n"],"mappings":"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","ignoreList":[]}