@payloadcms/ui 4.0.0-internal.a0ef1b8 → 4.0.0-internal.bc5cf8c

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 (838) hide show
  1. package/dist/css/colors.css +112 -59
  2. package/dist/css/design-tokens.css +5 -0
  3. package/dist/css/elevations.css +4 -0
  4. package/dist/css/radius.css +1 -3
  5. package/dist/css/theme.css +4 -0
  6. package/dist/css/utilities.css +7 -1
  7. package/dist/elements/APIKeyInput/index.css +92 -0
  8. package/dist/elements/APIKeyInput/index.d.ts +14 -0
  9. package/dist/elements/APIKeyInput/index.d.ts.map +1 -0
  10. package/dist/elements/APIKeyInput/index.js +86 -0
  11. package/dist/elements/APIKeyInput/index.js.map +1 -0
  12. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  13. package/dist/elements/AddNewRelation/index.js +85 -103
  14. package/dist/elements/AddNewRelation/index.js.map +1 -1
  15. package/dist/elements/AppHeader/index.d.ts +3 -1
  16. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  17. package/dist/elements/AppHeader/index.js +14 -27
  18. package/dist/elements/AppHeader/index.js.map +1 -1
  19. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  20. package/dist/elements/ArrayAction/index.js +1 -2
  21. package/dist/elements/ArrayAction/index.js.map +1 -1
  22. package/dist/elements/BulkUpload/ActionsBar/index.css +13 -11
  23. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +1 -5
  24. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  25. package/dist/elements/BulkUpload/ActionsBar/index.js +57 -61
  26. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  27. package/dist/elements/BulkUpload/AddFilesView/index.css +14 -8
  28. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -2
  29. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  30. package/dist/elements/BulkUpload/AddFilesView/index.js +41 -36
  31. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  32. package/dist/elements/BulkUpload/AddingFilesView/index.css +177 -0
  33. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +6 -2
  34. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  35. package/dist/elements/BulkUpload/AddingFilesView/index.js +135 -66
  36. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  37. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
  38. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  39. package/dist/elements/BulkUpload/EditForm/index.css +9 -0
  40. package/dist/elements/BulkUpload/EditForm/index.d.ts +2 -2
  41. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  42. package/dist/elements/BulkUpload/EditForm/index.js +17 -18
  43. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  44. package/dist/elements/BulkUpload/EditForm/types.d.ts +2 -3
  45. package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -1
  46. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  47. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts +1 -1
  48. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  49. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +77 -59
  50. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  51. package/dist/elements/BulkUpload/EditMany/index.css +71 -0
  52. package/dist/elements/BulkUpload/EditMany/index.d.ts +1 -1
  53. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  54. package/dist/elements/BulkUpload/EditMany/index.js +29 -11
  55. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  56. package/dist/elements/BulkUpload/FileSidebar/index.css +79 -180
  57. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  58. package/dist/elements/BulkUpload/FileSidebar/index.js +42 -165
  59. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  60. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  61. package/dist/elements/BulkUpload/FormsManager/index.js +14 -1
  62. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  63. package/dist/elements/BulkUpload/index.css +48 -0
  64. package/dist/elements/BulkUpload/index.d.ts +6 -5
  65. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  66. package/dist/elements/BulkUpload/index.js +42 -41
  67. package/dist/elements/BulkUpload/index.js.map +1 -1
  68. package/dist/elements/Button/index.css +8 -0
  69. package/dist/elements/Card/index.css +1 -1
  70. package/dist/elements/Chip/index.css +1 -1
  71. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  72. package/dist/elements/CodeEditor/CodeEditor.js +19 -0
  73. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  74. package/dist/elements/ColumnSelection/Popup.d.ts +12 -0
  75. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -0
  76. package/dist/elements/{ColumnSelector/index.js → ColumnSelection/Popup.js} +24 -13
  77. package/dist/elements/ColumnSelection/Popup.js.map +1 -0
  78. package/dist/elements/ColumnSelection/index.d.ts +10 -0
  79. package/dist/elements/ColumnSelection/index.d.ts.map +1 -0
  80. package/dist/elements/{ColumnsButton → ColumnSelection}/index.js +23 -17
  81. package/dist/elements/ColumnSelection/index.js.map +1 -0
  82. package/dist/elements/Combobox/index.css +9 -8
  83. package/dist/elements/ConfirmationModal/index.css +7 -0
  84. package/dist/elements/ConfirmationModal/index.d.ts +1 -0
  85. package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
  86. package/dist/elements/ConfirmationModal/index.js +7 -3
  87. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  88. package/dist/elements/CopyLocaleData/index.js +1 -1
  89. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  90. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  91. package/dist/elements/CreateDocumentButton/index.js +0 -1
  92. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  93. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  94. package/dist/elements/DatePicker/DatePicker.js +4 -2
  95. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  96. package/dist/elements/DatePicker/index.css +11 -6
  97. package/dist/elements/DatePicker/index.js +1 -1
  98. package/dist/elements/DatePicker/index.js.map +1 -1
  99. package/dist/elements/DeleteMany/index.d.ts +3 -26
  100. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  101. package/dist/elements/DeleteMany/index.js +1 -95
  102. package/dist/elements/DeleteMany/index.js.map +1 -1
  103. package/dist/elements/Dialog/DialogHeader/index.d.ts +4 -0
  104. package/dist/elements/Dialog/DialogHeader/index.d.ts.map +1 -1
  105. package/dist/elements/Dialog/DialogHeader/index.js +45 -30
  106. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
  107. package/dist/elements/Dialog/DialogModal/index.d.ts +6 -1
  108. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  109. package/dist/elements/Dialog/DialogModal/index.js +58 -31
  110. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  111. package/dist/elements/Dialog/DialogTitle/index.css +9 -0
  112. package/dist/elements/Dialog/DialogTitle/index.d.ts +5 -0
  113. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -0
  114. package/dist/elements/Dialog/DialogTitle/index.js +10 -0
  115. package/dist/elements/Dialog/DialogTitle/index.js.map +1 -0
  116. package/dist/elements/Dialog/index.css +10 -0
  117. package/dist/elements/DocumentControls/index.css +18 -2
  118. package/dist/elements/DocumentControls/index.d.ts +6 -0
  119. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  120. package/dist/elements/DocumentControls/index.js +19 -9
  121. package/dist/elements/DocumentControls/index.js.map +1 -1
  122. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  123. package/dist/elements/DocumentDrawer/DrawerContent.js +10 -6
  124. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  125. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +76 -4
  126. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +7 -1
  127. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  128. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +150 -87
  129. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  130. package/dist/elements/DocumentDrawer/types.d.ts +1 -0
  131. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  132. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  133. package/dist/elements/DocumentFields/index.css +66 -4
  134. package/dist/elements/DocumentFields/index.d.ts +5 -0
  135. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  136. package/dist/elements/DocumentFields/index.js +9 -1
  137. package/dist/elements/DocumentFields/index.js.map +1 -1
  138. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts +12 -0
  139. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts.map +1 -0
  140. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +28 -0
  141. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -0
  142. package/dist/elements/DocumentHeader/index.js +2 -3
  143. package/dist/elements/DocumentHeader/index.js.map +1 -1
  144. package/dist/elements/DraggableSortable/index.js.map +1 -1
  145. package/dist/elements/Drawer/index.css +57 -26
  146. package/dist/elements/Drawer/index.d.ts +25 -0
  147. package/dist/elements/Drawer/index.d.ts.map +1 -1
  148. package/dist/elements/Drawer/index.js +133 -54
  149. package/dist/elements/Drawer/index.js.map +1 -1
  150. package/dist/elements/Drawer/types.d.ts +1 -0
  151. package/dist/elements/Drawer/types.d.ts.map +1 -1
  152. package/dist/elements/Drawer/types.js.map +1 -1
  153. package/dist/elements/DrawerActionHeader/index.css +1 -1
  154. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.css +7 -1
  155. package/dist/elements/DrawerHeader/index.d.ts +10 -0
  156. package/dist/elements/DrawerHeader/index.d.ts.map +1 -0
  157. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.js +16 -11
  158. package/dist/elements/DrawerHeader/index.js.map +1 -0
  159. package/dist/elements/Dropzone/index.css +5 -13
  160. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +1 -1
  161. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  162. package/dist/elements/EditMany/DrawerContent.d.ts +1 -1
  163. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  164. package/dist/elements/EditMany/DrawerContent.js +76 -71
  165. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  166. package/dist/elements/EditMany/index.css +71 -0
  167. package/dist/elements/EditMany/index.d.ts +9 -11
  168. package/dist/elements/EditMany/index.d.ts.map +1 -1
  169. package/dist/elements/EditMany/index.js +2 -40
  170. package/dist/elements/EditMany/index.js.map +1 -1
  171. package/dist/elements/EditUpload/index.css +97 -158
  172. package/dist/elements/EditUpload/index.d.ts +2 -1
  173. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  174. package/dist/elements/EditUpload/index.js +205 -231
  175. package/dist/elements/EditUpload/index.js.map +1 -1
  176. package/dist/elements/EditUpload/{library.scss → library.css} +108 -46
  177. package/dist/elements/FieldSelect/index.css +3 -0
  178. package/dist/elements/FileDetails/DraggableFileDetails/index.css +32 -0
  179. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +2 -2
  180. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  181. package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -18
  182. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  183. package/dist/elements/FileDetails/FileMeta/index.css +27 -0
  184. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  185. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  186. package/dist/elements/FileDetails/FileMeta/index.js +1 -1
  187. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  188. package/dist/elements/FileDetails/StaticFileDetails/index.css +140 -0
  189. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +2 -2
  190. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  191. package/dist/elements/FileDetails/StaticFileDetails/index.js +1 -1
  192. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  193. package/dist/elements/FileDetails/index.d.ts +1 -1
  194. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  195. package/dist/elements/FileDetails/index.js.map +1 -1
  196. package/dist/elements/FileManager/FilePreview/AudioPreview/index.css +8 -0
  197. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts +10 -0
  198. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts.map +1 -0
  199. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js +24 -0
  200. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js.map +1 -0
  201. package/dist/elements/FileManager/FilePreview/PdfPreview/index.css +9 -0
  202. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts +12 -0
  203. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts.map +1 -0
  204. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js +27 -0
  205. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js.map +1 -0
  206. package/dist/elements/FileManager/FilePreview/VideoPreview/index.css +8 -0
  207. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts +10 -0
  208. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts.map +1 -0
  209. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js +24 -0
  210. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js.map +1 -0
  211. package/dist/elements/FileManager/FilePreview/index.css +83 -0
  212. package/dist/elements/FileManager/FilePreview/index.d.ts +13 -0
  213. package/dist/elements/FileManager/FilePreview/index.d.ts.map +1 -0
  214. package/dist/elements/FileManager/FilePreview/index.js +140 -0
  215. package/dist/elements/FileManager/FilePreview/index.js.map +1 -0
  216. package/dist/elements/FileManager/FileToolbar/index.css +91 -0
  217. package/dist/elements/FileManager/FileToolbar/index.d.ts +14 -0
  218. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -0
  219. package/dist/elements/FileManager/FileToolbar/index.js +106 -0
  220. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -0
  221. package/dist/elements/FileManager/index.css +154 -0
  222. package/dist/elements/FileManager/index.d.ts +19 -0
  223. package/dist/elements/FileManager/index.d.ts.map +1 -0
  224. package/dist/elements/FileManager/index.js +424 -0
  225. package/dist/elements/FileManager/index.js.map +1 -0
  226. package/dist/elements/GroupBy/Popup.d.ts +21 -0
  227. package/dist/elements/GroupBy/Popup.d.ts.map +1 -0
  228. package/dist/elements/GroupBy/Popup.js +268 -0
  229. package/dist/elements/GroupBy/Popup.js.map +1 -0
  230. package/dist/elements/GroupBy/index.d.ts +12 -0
  231. package/dist/elements/GroupBy/index.d.ts.map +1 -0
  232. package/dist/elements/GroupBy/index.js +91 -0
  233. package/dist/elements/GroupBy/index.js.map +1 -0
  234. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +2 -2
  235. package/dist/elements/Hierarchy/Drawer/index.css +4 -22
  236. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +1 -1
  237. package/dist/elements/Hierarchy/Drawer/index.js +5 -3
  238. package/dist/elements/Hierarchy/Drawer/index.js.map +1 -1
  239. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +36 -0
  240. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +1 -1
  241. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
  242. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +1 -1
  243. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
  244. package/dist/elements/Hierarchy/Field/index.client.d.ts +1 -1
  245. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  246. package/dist/elements/Hierarchy/Field/index.client.js +5 -2
  247. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  248. package/dist/elements/Hierarchy/Field/index.css +37 -0
  249. package/dist/elements/Hierarchy/MoveMany/index.d.ts +0 -1
  250. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  251. package/dist/elements/Hierarchy/MoveMany/index.js +0 -1
  252. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  253. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +27 -0
  254. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +1 -1
  255. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +1 -1
  256. package/dist/elements/Hierarchy/Tree/LoadMore/index.js +1 -1
  257. package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +1 -1
  258. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  259. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +36 -16
  260. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  261. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  262. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +20 -15
  263. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  264. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  265. package/dist/elements/ListColumnSelectionButton/index.d.ts +11 -0
  266. package/dist/elements/ListColumnSelectionButton/index.d.ts.map +1 -0
  267. package/dist/elements/ListColumnSelectionButton/index.js +37 -0
  268. package/dist/elements/ListColumnSelectionButton/index.js.map +1 -0
  269. package/dist/elements/ListControls/index.css +5 -0
  270. package/dist/elements/ListControls/index.d.ts.map +1 -1
  271. package/dist/elements/ListControls/index.js +7 -8
  272. package/dist/elements/ListControls/index.js.map +1 -1
  273. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  274. package/dist/elements/ListDrawer/DrawerContent.js +13 -7
  275. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  276. package/dist/elements/ListDrawer/Provider.d.ts +1 -1
  277. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  278. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  279. package/dist/elements/ListGroupByButton/index.d.ts +12 -0
  280. package/dist/elements/ListGroupByButton/index.d.ts.map +1 -0
  281. package/dist/elements/ListGroupByButton/index.js +55 -0
  282. package/dist/elements/ListGroupByButton/index.js.map +1 -0
  283. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  284. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +2 -0
  285. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  286. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +4 -4
  287. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  288. package/dist/elements/ListSelection/index.css +1 -1
  289. package/dist/elements/ListWhereBuilder/index.d.ts +16 -0
  290. package/dist/elements/ListWhereBuilder/index.d.ts.map +1 -0
  291. package/dist/elements/ListWhereBuilder/index.js +62 -0
  292. package/dist/elements/ListWhereBuilder/index.js.map +1 -0
  293. package/dist/elements/LivePreview/Toolbar/Controls/index.js +2 -2
  294. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  295. package/dist/elements/LivePreview/Toolbar/SizeInput/index.css +5 -44
  296. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  297. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +25 -43
  298. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  299. package/dist/elements/LoadMoreRow/index.css +34 -0
  300. package/dist/elements/LoadMoreRow/index.d.ts +1 -1
  301. package/dist/elements/LoadMoreRow/index.d.ts.map +1 -1
  302. package/dist/elements/LoadMoreRow/index.js +4 -8
  303. package/dist/elements/LoadMoreRow/index.js.map +1 -1
  304. package/dist/elements/Loading/index.css +28 -74
  305. package/dist/elements/Loading/index.d.ts.map +1 -1
  306. package/dist/elements/Loading/index.js +16 -60
  307. package/dist/elements/Loading/index.js.map +1 -1
  308. package/dist/elements/Localizer/index.d.ts.map +1 -1
  309. package/dist/elements/Localizer/index.js +3 -4
  310. package/dist/elements/Localizer/index.js.map +1 -1
  311. package/dist/elements/MenuSeparator/index.d.ts +4 -0
  312. package/dist/elements/MenuSeparator/index.d.ts.map +1 -0
  313. package/dist/elements/MenuSeparator/index.js +10 -0
  314. package/dist/elements/MenuSeparator/index.js.map +1 -0
  315. package/dist/elements/MiniCarousel/index.css +94 -0
  316. package/dist/elements/MiniCarousel/index.d.ts +15 -0
  317. package/dist/elements/MiniCarousel/index.d.ts.map +1 -0
  318. package/dist/elements/MiniCarousel/index.js +84 -0
  319. package/dist/elements/MiniCarousel/index.js.map +1 -0
  320. package/dist/elements/Nav/index.css +2 -2
  321. package/dist/elements/Nav/index.d.ts.map +1 -1
  322. package/dist/elements/Nav/index.js +4 -23
  323. package/dist/elements/Nav/index.js.map +1 -1
  324. package/dist/elements/NavGroup/index.css +1 -1
  325. package/dist/elements/Pill/index.css +1 -1
  326. package/dist/elements/PillSelector/index.css +1 -1
  327. package/dist/elements/Popup/PopupButtonList/index.css +48 -4
  328. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  329. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  330. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  331. package/dist/elements/Popup/PopupGroupLabel/index.css +19 -4
  332. package/dist/elements/Popup/index.d.ts +8 -1
  333. package/dist/elements/Popup/index.d.ts.map +1 -1
  334. package/dist/elements/Popup/index.js +160 -63
  335. package/dist/elements/Popup/index.js.map +1 -1
  336. package/dist/elements/PreviewSizes/index.css +149 -0
  337. package/dist/elements/PreviewSizes/index.d.ts +2 -2
  338. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  339. package/dist/elements/PreviewSizes/index.js +1 -1
  340. package/dist/elements/PreviewSizes/index.js.map +1 -1
  341. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts +13 -0
  342. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -0
  343. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js +41 -0
  344. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js.map +1 -0
  345. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +1 -0
  346. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  347. package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
  348. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  349. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  350. package/dist/elements/PublishButton/index.js +4 -5
  351. package/dist/elements/PublishButton/index.js.map +1 -1
  352. package/dist/elements/PublishMany/DrawerContent.d.ts +2 -1
  353. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  354. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  355. package/dist/elements/PublishMany/index.d.ts +2 -6
  356. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  357. package/dist/elements/PublishMany/index.js +0 -38
  358. package/dist/elements/PublishMany/index.js.map +1 -1
  359. package/dist/elements/QueryPresets/cells/ColumnsCell/{index.scss → index.css} +1 -3
  360. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +1 -1
  361. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +1 -1
  362. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +1 -1
  363. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  364. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +1 -1
  365. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  366. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +77 -48
  367. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  368. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +1 -1
  369. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
  370. package/dist/elements/QueryPresets/fields/GroupByField/index.js +12 -21
  371. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  372. package/dist/elements/QueryPresets/fields/Heading/index.css +52 -0
  373. package/dist/elements/QueryPresets/fields/Heading/index.d.ts +7 -0
  374. package/dist/elements/QueryPresets/fields/Heading/index.d.ts.map +1 -0
  375. package/dist/elements/QueryPresets/fields/Heading/index.js +31 -0
  376. package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -0
  377. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +1 -1
  378. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  379. package/dist/elements/QueryPresets/fields/WhereField/index.js +24 -23
  380. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  381. package/dist/elements/QueryPresets/fields/fields.css +23 -0
  382. package/dist/elements/ReactSelect/MultiValue/index.css +1 -1
  383. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts +5 -0
  384. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -0
  385. package/dist/elements/ReactSelect/getCaptureMenuScroll.js +10 -0
  386. package/dist/elements/ReactSelect/getCaptureMenuScroll.js.map +1 -0
  387. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +6 -0
  388. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -0
  389. package/dist/elements/ReactSelect/getMenuListStyles.js +7 -0
  390. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -0
  391. package/dist/elements/ReactSelect/index.css +52 -52
  392. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  393. package/dist/elements/ReactSelect/index.js +210 -114
  394. package/dist/elements/ReactSelect/index.js.map +1 -1
  395. package/dist/elements/ReactSelect/types.d.ts +7 -1
  396. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  397. package/dist/elements/ReactSelect/types.js.map +1 -1
  398. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  399. package/dist/elements/RelationshipTable/AddNewButton.js +1 -2
  400. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  401. package/dist/elements/RelationshipTable/index.js +2 -2
  402. package/dist/elements/RelationshipTable/index.js.map +1 -1
  403. package/dist/elements/RenderTitle/index.css +10 -0
  404. package/dist/elements/RenderTitle/index.d.ts +5 -0
  405. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  406. package/dist/elements/RenderTitle/index.js +52 -27
  407. package/dist/elements/RenderTitle/index.js.map +1 -1
  408. package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
  409. package/dist/elements/SchedulePublishButton/index.js +6 -1
  410. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  411. package/dist/elements/SelectMany/index.js +1 -1
  412. package/dist/elements/SelectMany/index.js.map +1 -1
  413. package/dist/elements/SortColumn/index.css +1 -1
  414. package/dist/elements/Spinner/index.css +16 -0
  415. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  416. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +1 -2
  417. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  418. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  419. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +21 -2
  420. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  421. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  422. package/dist/elements/Table/OrderableRow.js +1 -1
  423. package/dist/elements/Table/OrderableRow.js.map +1 -1
  424. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  425. package/dist/elements/Table/RelationshipProvider/index.js +1 -0
  426. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  427. package/dist/elements/Table/index.css +39 -10
  428. package/dist/elements/Tabs/index.css +100 -0
  429. package/dist/elements/Tabs/index.d.ts +32 -0
  430. package/dist/elements/Tabs/index.d.ts.map +1 -0
  431. package/dist/elements/Tabs/index.js +62 -0
  432. package/dist/elements/Tabs/index.js.map +1 -0
  433. package/dist/elements/Thumbnail/index.css +41 -0
  434. package/dist/elements/Thumbnail/index.d.ts +3 -3
  435. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  436. package/dist/elements/Thumbnail/index.js +1 -1
  437. package/dist/elements/Thumbnail/index.js.map +1 -1
  438. package/dist/elements/TimezonePicker/index.css +58 -24
  439. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  440. package/dist/elements/TimezonePicker/index.js +31 -4
  441. package/dist/elements/TimezonePicker/index.js.map +1 -1
  442. package/dist/elements/Toasts/fieldErrors.d.ts +1 -0
  443. package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
  444. package/dist/elements/Toasts/fieldErrors.js +25 -9
  445. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  446. package/dist/elements/Toasts/index.css +5 -0
  447. package/dist/elements/Tooltip/index.css +20 -4
  448. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  449. package/dist/elements/Tooltip/index.js +71 -3
  450. package/dist/elements/Tooltip/index.js.map +1 -1
  451. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  452. package/dist/elements/UnpublishButton/index.js +5 -13
  453. package/dist/elements/UnpublishButton/index.js.map +1 -1
  454. package/dist/elements/UnpublishMany/DrawerContent.d.ts +2 -1
  455. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  456. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  457. package/dist/elements/UnpublishMany/index.d.ts +2 -4
  458. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  459. package/dist/elements/UnpublishMany/index.js +0 -38
  460. package/dist/elements/UnpublishMany/index.js.map +1 -1
  461. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +11 -0
  462. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -0
  463. package/dist/elements/Upload/UploadFromURLModal/index.js +88 -0
  464. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -0
  465. package/dist/elements/Upload/index.css +134 -45
  466. package/dist/elements/Upload/index.d.ts +3 -8
  467. package/dist/elements/Upload/index.d.ts.map +1 -1
  468. package/dist/elements/Upload/index.js +71 -92
  469. package/dist/elements/Upload/index.js.map +1 -1
  470. package/dist/elements/UserMenu/LanguageMenu/index.d.ts +6 -0
  471. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -0
  472. package/dist/elements/UserMenu/LanguageMenu/index.js +133 -0
  473. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -0
  474. package/dist/elements/UserMenu/SettingsMenu/index.d.ts +15 -0
  475. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -0
  476. package/dist/elements/UserMenu/SettingsMenu/index.js +119 -0
  477. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -0
  478. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts +6 -0
  479. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -0
  480. package/dist/elements/UserMenu/SubMenuHeader/index.js +34 -0
  481. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -0
  482. package/dist/elements/UserMenu/ThemeMenu/index.d.ts +6 -0
  483. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -0
  484. package/dist/elements/UserMenu/ThemeMenu/index.js +145 -0
  485. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -0
  486. package/dist/elements/UserMenu/index.css +80 -0
  487. package/dist/elements/UserMenu/index.d.ts +10 -0
  488. package/dist/elements/UserMenu/index.d.ts.map +1 -0
  489. package/dist/elements/UserMenu/index.js +204 -0
  490. package/dist/elements/UserMenu/index.js.map +1 -0
  491. package/dist/elements/WhereBuilder/Condition/index.css +1 -1
  492. package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
  493. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  494. package/dist/elements/WhereBuilder/Condition/index.js +20 -2
  495. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  496. package/dist/elements/WhereBuilder/index.d.ts +4 -3
  497. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  498. package/dist/elements/WhereBuilder/index.js +71 -62
  499. package/dist/elements/WhereBuilder/index.js.map +1 -1
  500. package/dist/elements/WhereBuilder/types.d.ts +6 -5
  501. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  502. package/dist/elements/WhereBuilder/types.js.map +1 -1
  503. package/dist/exports/client/index.d.ts +18 -3
  504. package/dist/exports/client/index.d.ts.map +1 -1
  505. package/dist/exports/client/index.js +1 -2
  506. package/dist/exports/client/index.js.map +4 -4
  507. package/dist/exports/shared/index.js +2 -2
  508. package/dist/exports/shared/index.js.map +2 -2
  509. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +2 -50
  510. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.d.ts.map +1 -1
  511. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +27 -20
  512. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  513. package/dist/fields/Blocks/BlockSelector/index.css +15 -4
  514. package/dist/fields/Blocks/BlockSelector/index.js +1 -1
  515. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  516. package/dist/fields/Blocks/index.d.ts.map +1 -1
  517. package/dist/fields/Blocks/index.js +6 -11
  518. package/dist/fields/Blocks/index.js.map +1 -1
  519. package/dist/fields/Checkbox/index.css +2 -2
  520. package/dist/fields/Group/index.css +4 -4
  521. package/dist/fields/Join/index.js +1 -1
  522. package/dist/fields/Join/index.js.map +1 -1
  523. package/dist/fields/Number/Input.d.ts.map +1 -1
  524. package/dist/fields/Number/Input.js +47 -35
  525. package/dist/fields/Number/Input.js.map +1 -1
  526. package/dist/fields/Number/index.css +19 -0
  527. package/dist/fields/Number/types.d.ts +6 -0
  528. package/dist/fields/Number/types.d.ts.map +1 -1
  529. package/dist/fields/Number/types.js.map +1 -1
  530. package/dist/fields/RadioGroup/index.css +6 -0
  531. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +3 -3
  532. package/dist/fields/Row/index.d.ts +1 -1
  533. package/dist/fields/Tabs/Tab/index.d.ts +0 -1
  534. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  535. package/dist/fields/Tabs/Tab/index.js +12 -23
  536. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  537. package/dist/fields/Tabs/index.d.ts.map +1 -1
  538. package/dist/fields/Tabs/index.js +37 -37
  539. package/dist/fields/Tabs/index.js.map +1 -1
  540. package/dist/fields/Text/Input.d.ts.map +1 -1
  541. package/dist/fields/Text/Input.js +31 -28
  542. package/dist/fields/Text/Input.js.map +1 -1
  543. package/dist/fields/Text/types.d.ts +5 -0
  544. package/dist/fields/Text/types.d.ts.map +1 -1
  545. package/dist/fields/Text/types.js.map +1 -1
  546. package/dist/fields/Upload/HasMany/index.css +4 -0
  547. package/dist/fields/Upload/Input.d.ts.map +1 -1
  548. package/dist/fields/Upload/Input.js +12 -11
  549. package/dist/fields/Upload/Input.js.map +1 -1
  550. package/dist/fields/Upload/index.js +1 -1
  551. package/dist/fields/Upload/index.js.map +1 -1
  552. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  553. package/dist/forms/RenderFields/RenderField.js +2 -1
  554. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  555. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -1
  556. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  557. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +1 -1
  558. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  559. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -1
  560. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  561. package/dist/forms/useField/index.js.map +1 -1
  562. package/dist/hooks/useElementHeightVariable.d.ts +15 -0
  563. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -0
  564. package/dist/hooks/useElementHeightVariable.js +53 -0
  565. package/dist/hooks/useElementHeightVariable.js.map +1 -0
  566. package/dist/icons/Check/index.css +1 -2
  567. package/dist/icons/Check/index.js +1 -1
  568. package/dist/icons/Check/index.js.map +1 -1
  569. package/dist/icons/Crop/index.css +5 -0
  570. package/dist/icons/Crop/index.d.ts +7 -0
  571. package/dist/icons/Crop/index.d.ts.map +1 -0
  572. package/dist/icons/Crop/index.js +24 -0
  573. package/dist/icons/Crop/index.js.map +1 -0
  574. package/dist/icons/Dots/index.css +4 -4
  575. package/dist/icons/Download/index.css +5 -0
  576. package/dist/icons/{ExternalLink → Download}/index.d.ts +1 -1
  577. package/dist/icons/Download/index.d.ts.map +1 -0
  578. package/dist/icons/Download/index.js +27 -0
  579. package/dist/icons/Download/index.js.map +1 -0
  580. package/dist/icons/Gear/index.d.ts.map +1 -1
  581. package/dist/icons/Gear/index.js +8 -1
  582. package/dist/icons/Gear/index.js.map +1 -1
  583. package/dist/icons/InteractionEnter/index.css +5 -0
  584. package/dist/icons/InteractionEnter/index.d.ts +11 -0
  585. package/dist/icons/InteractionEnter/index.d.ts.map +1 -0
  586. package/dist/icons/InteractionEnter/index.js +25 -0
  587. package/dist/icons/InteractionEnter/index.js.map +1 -0
  588. package/dist/icons/{Write → Key}/index.css +1 -1
  589. package/dist/icons/Key/index.d.ts +7 -0
  590. package/dist/icons/Key/index.d.ts.map +1 -0
  591. package/dist/icons/Key/index.js +24 -0
  592. package/dist/icons/Key/index.js.map +1 -0
  593. package/dist/icons/LogOut/index.js +2 -2
  594. package/dist/icons/LogOut/index.js.map +1 -1
  595. package/dist/icons/{ExternalLink → NewTab}/index.css +1 -1
  596. package/dist/icons/NewTab/index.d.ts +7 -0
  597. package/dist/icons/NewTab/index.d.ts.map +1 -0
  598. package/dist/icons/NewTab/index.js +25 -0
  599. package/dist/icons/NewTab/index.js.map +1 -0
  600. package/dist/icons/Replace/index.css +5 -0
  601. package/dist/icons/Replace/index.d.ts +6 -0
  602. package/dist/icons/Replace/index.d.ts.map +1 -0
  603. package/dist/icons/Replace/index.js +20 -0
  604. package/dist/icons/Replace/index.js.map +1 -0
  605. package/dist/icons/Reset/index.css +5 -0
  606. package/dist/icons/Reset/index.d.ts +7 -0
  607. package/dist/icons/Reset/index.d.ts.map +1 -0
  608. package/dist/icons/Reset/index.js +25 -0
  609. package/dist/icons/Reset/index.js.map +1 -0
  610. package/dist/icons/Schedule/index.d.ts.map +1 -1
  611. package/dist/icons/Schedule/index.js +38 -39
  612. package/dist/icons/Schedule/index.js.map +1 -1
  613. package/dist/icons/Swap/index.js +1 -1
  614. package/dist/icons/Swap/index.js.map +1 -1
  615. package/dist/icons/VariableColor/index.css +5 -0
  616. package/dist/icons/VariableColor/index.d.ts +7 -0
  617. package/dist/icons/VariableColor/index.d.ts.map +1 -0
  618. package/dist/icons/VariableColor/index.js +23 -0
  619. package/dist/icons/VariableColor/index.js.map +1 -0
  620. package/dist/icons/Warning/index.css +1 -7
  621. package/dist/icons/Warning/index.d.ts +1 -1
  622. package/dist/icons/Warning/index.d.ts.map +1 -1
  623. package/dist/icons/Warning/index.js +11 -16
  624. package/dist/icons/Warning/index.js.map +1 -1
  625. package/dist/icons/WarningTriangle/index.css +5 -0
  626. package/dist/icons/WarningTriangle/index.d.ts +6 -0
  627. package/dist/icons/WarningTriangle/index.d.ts.map +1 -0
  628. package/dist/icons/WarningTriangle/index.js +21 -0
  629. package/dist/icons/WarningTriangle/index.js.map +1 -0
  630. package/dist/icons/Write/index.d.ts +0 -1
  631. package/dist/icons/Write/index.d.ts.map +1 -1
  632. package/dist/icons/Write/index.js +1 -2
  633. package/dist/icons/Write/index.js.map +1 -1
  634. package/dist/providers/Auth/index.d.ts +3 -1
  635. package/dist/providers/Auth/index.d.ts.map +1 -1
  636. package/dist/providers/Auth/index.js +8 -3
  637. package/dist/providers/Auth/index.js.map +1 -1
  638. package/dist/providers/Config/index.js.map +1 -1
  639. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  640. package/dist/providers/DocumentInfo/index.js +4 -0
  641. package/dist/providers/DocumentInfo/index.js.map +1 -1
  642. package/dist/providers/DocumentInfo/types.d.ts +4 -0
  643. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  644. package/dist/providers/DocumentInfo/types.js.map +1 -1
  645. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  646. package/dist/providers/ListQuery/index.js +1 -8
  647. package/dist/providers/ListQuery/index.js.map +1 -1
  648. package/dist/providers/Root/index.d.ts.map +1 -1
  649. package/dist/providers/Root/index.js +27 -24
  650. package/dist/providers/Root/index.js.map +1 -1
  651. package/dist/providers/TableColumns/RenderDefaultCell/index.css +1 -0
  652. package/dist/providers/Theme/index.d.ts +17 -2
  653. package/dist/providers/Theme/index.d.ts.map +1 -1
  654. package/dist/providers/Theme/index.js +126 -75
  655. package/dist/providers/Theme/index.js.map +1 -1
  656. package/dist/providers/ToastContainer/index.css +208 -0
  657. package/dist/providers/ToastContainer/index.d.ts +1 -0
  658. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  659. package/dist/providers/ToastContainer/index.js +19 -6
  660. package/dist/providers/ToastContainer/index.js.map +1 -1
  661. package/dist/scss/app.scss +10 -4
  662. package/dist/styles.css +1365 -1
  663. package/dist/templates/Default/index.d.ts.map +1 -1
  664. package/dist/templates/Default/index.js +53 -3
  665. package/dist/templates/Default/index.js.map +1 -1
  666. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +1 -2
  667. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  668. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +1 -2
  669. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  670. package/dist/utilities/copyDataFromLocale.js +1 -1
  671. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  672. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  673. package/dist/utilities/formatDocTitle/formatDateTitle.js +1 -1
  674. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  675. package/dist/utilities/getHasScheduledPublish.d.ts +12 -0
  676. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -0
  677. package/dist/utilities/getHasScheduledPublish.js +38 -0
  678. package/dist/utilities/getHasScheduledPublish.js.map +1 -0
  679. package/dist/utilities/getVersions.d.ts.map +1 -1
  680. package/dist/utilities/getVersions.js +1 -21
  681. package/dist/utilities/getVersions.js.map +1 -1
  682. package/dist/utilities/reduceFieldsToOptions.js +1 -1
  683. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  684. package/dist/utilities/renderTable.js +1 -1
  685. package/dist/utilities/renderTable.js.map +1 -1
  686. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  687. package/dist/utilities/traverseForLocalizedFields.js +3 -0
  688. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  689. package/dist/views/API/index.client.js +2 -2
  690. package/dist/views/API/index.client.js.map +1 -1
  691. package/dist/views/Account/ResetPreferences/index.js +1 -0
  692. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  693. package/dist/views/Account/Settings/index.css +30 -13
  694. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  695. package/dist/views/Account/ToggleTheme/index.js +31 -47
  696. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  697. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  698. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +1 -1
  699. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  700. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +2 -2
  701. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  702. package/dist/views/Document/index.d.ts.map +1 -1
  703. package/dist/views/Document/index.js +11 -1
  704. package/dist/views/Document/index.js.map +1 -1
  705. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  706. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  707. package/dist/views/Document/renderDocumentSlots.js +47 -1
  708. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  709. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  710. package/dist/views/Edit/Auth/APIKey.js +10 -32
  711. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  712. package/dist/views/Edit/Auth/index.css +0 -67
  713. package/dist/views/Edit/index.css +143 -6
  714. package/dist/views/Edit/index.d.ts +1 -1
  715. package/dist/views/Edit/index.d.ts.map +1 -1
  716. package/dist/views/Edit/index.js +96 -79
  717. package/dist/views/Edit/index.js.map +1 -1
  718. package/dist/views/HierarchyList/DocumentListSelection/index.js +8 -8
  719. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  720. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +2 -2
  721. package/dist/views/List/ListHeader/index.css +28 -1
  722. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  723. package/dist/views/List/ListHeader/index.js +0 -1
  724. package/dist/views/List/ListHeader/index.js.map +1 -1
  725. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  726. package/dist/views/List/ListSelection/index.js +84 -33
  727. package/dist/views/List/ListSelection/index.js.map +1 -1
  728. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  729. package/dist/views/List/handleGroupBy.js +9 -0
  730. package/dist/views/List/handleGroupBy.js.map +1 -1
  731. package/dist/views/List/index.client.d.ts.map +1 -1
  732. package/dist/views/List/index.client.js +10 -9
  733. package/dist/views/List/index.client.js.map +1 -1
  734. package/dist/views/List/index.css +15 -0
  735. package/dist/views/List/index.d.ts.map +1 -1
  736. package/dist/views/List/index.js +11 -4
  737. package/dist/views/List/index.js.map +1 -1
  738. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  739. package/dist/views/List/renderListViewSlots.js +11 -0
  740. package/dist/views/List/renderListViewSlots.js.map +1 -1
  741. package/dist/views/Logout/LogoutClient.d.ts +14 -0
  742. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  743. package/dist/views/Logout/LogoutClient.js +39 -33
  744. package/dist/views/Logout/LogoutClient.js.map +1 -1
  745. package/dist/views/Logout/index.d.ts.map +1 -1
  746. package/dist/views/Logout/index.js +7 -2
  747. package/dist/views/Logout/index.js.map +1 -1
  748. package/dist/views/Verify/index.client.d.ts +4 -0
  749. package/dist/views/Verify/index.client.d.ts.map +1 -1
  750. package/dist/views/Verify/index.client.js +81 -0
  751. package/dist/views/Verify/index.client.js.map +1 -1
  752. package/dist/views/Verify/index.css +38 -0
  753. package/dist/views/Verify/index.d.ts +1 -1
  754. package/dist/views/Verify/index.d.ts.map +1 -1
  755. package/dist/views/Verify/index.js +13 -19
  756. package/dist/views/Verify/index.js.map +1 -1
  757. package/dist/views/Version/Default/index.css +3 -5
  758. package/dist/views/Version/Default/index.d.ts.map +1 -1
  759. package/dist/views/Version/Default/index.js +7 -28
  760. package/dist/views/Version/Default/index.js.map +1 -1
  761. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +2 -2
  762. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  763. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  764. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
  765. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +3 -3
  766. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  767. package/dist/views/Version/Restore/index.css +2 -2
  768. package/dist/views/Version/SelectComparison/VersionDrawer/index.css +5 -0
  769. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts +1 -1
  770. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  771. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +1 -2
  772. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  773. package/dist/views/Version/SelectComparison/index.css +5 -0
  774. package/dist/views/Version/SelectComparison/index.d.ts +1 -1
  775. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  776. package/dist/views/Version/SelectComparison/index.js +1 -1
  777. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  778. package/dist/views/Version/SelectLocales/index.d.ts +1 -2
  779. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  780. package/dist/views/Version/SelectLocales/index.js +83 -32
  781. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  782. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  783. package/dist/views/Versions/index.css +19 -16
  784. package/dist/views/Versions/index.d.ts +1 -1
  785. package/dist/views/Versions/index.d.ts.map +1 -1
  786. package/dist/views/Versions/index.js +3 -26
  787. package/dist/views/Versions/index.js.map +1 -1
  788. package/package.json +5 -5
  789. package/dist/elements/BulkUpload/AddingFilesView/index.scss +0 -25
  790. package/dist/elements/BulkUpload/EditForm/index.scss +0 -11
  791. package/dist/elements/BulkUpload/EditMany/index.scss +0 -171
  792. package/dist/elements/BulkUpload/Header/index.d.ts +0 -9
  793. package/dist/elements/BulkUpload/Header/index.d.ts.map +0 -1
  794. package/dist/elements/BulkUpload/Header/index.js.map +0 -1
  795. package/dist/elements/ColumnSelector/index.d.ts +0 -9
  796. package/dist/elements/ColumnSelector/index.d.ts.map +0 -1
  797. package/dist/elements/ColumnSelector/index.js.map +0 -1
  798. package/dist/elements/ColumnsButton/index.d.ts +0 -7
  799. package/dist/elements/ColumnsButton/index.d.ts.map +0 -1
  800. package/dist/elements/ColumnsButton/index.js.map +0 -1
  801. package/dist/elements/EditMany/index.scss +0 -182
  802. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +0 -35
  803. package/dist/elements/FileDetails/FileMeta/index.scss +0 -31
  804. package/dist/elements/FileDetails/StaticFileDetails/index.scss +0 -134
  805. package/dist/elements/GroupByBuilder/index.d.ts +0 -12
  806. package/dist/elements/GroupByBuilder/index.d.ts.map +0 -1
  807. package/dist/elements/GroupByBuilder/index.js +0 -164
  808. package/dist/elements/GroupByBuilder/index.js.map +0 -1
  809. package/dist/elements/GroupByBuilder/index.scss +0 -39
  810. package/dist/elements/GroupByControl/index.d.ts +0 -9
  811. package/dist/elements/GroupByControl/index.d.ts.map +0 -1
  812. package/dist/elements/GroupByControl/index.js +0 -255
  813. package/dist/elements/GroupByControl/index.js.map +0 -1
  814. package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +0 -78
  815. package/dist/elements/Hierarchy/Field/index.scss +0 -41
  816. package/dist/elements/Hierarchy/MoveMany/index.scss +0 -7
  817. package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +0 -26
  818. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +0 -7
  819. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +0 -1
  820. package/dist/elements/Hierarchy/Tree/TreeConnector.js +0 -23
  821. package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +0 -1
  822. package/dist/elements/LoadMoreRow/index.scss +0 -45
  823. package/dist/elements/PreviewSizes/index.scss +0 -147
  824. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -17
  825. package/dist/elements/QueryPresets/fields/GroupByField/index.scss +0 -17
  826. package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
  827. package/dist/elements/Thumbnail/index.scss +0 -53
  828. package/dist/fields/Tabs/Tab/index.css +0 -82
  829. package/dist/icons/ExternalLink/index.d.ts.map +0 -1
  830. package/dist/icons/ExternalLink/index.js +0 -26
  831. package/dist/icons/ExternalLink/index.js.map +0 -1
  832. package/dist/scss/toasts.scss +0 -146
  833. package/dist/views/Unauthorized/index.scss +0 -14
  834. package/dist/views/Verify/index.scss +0 -18
  835. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +0 -18
  836. package/dist/views/Version/SelectComparison/index.scss +0 -9
  837. /package/dist/elements/{ColumnSelector/index.css → ColumnSelection/Popup.css} +0 -0
  838. /package/dist/elements/{GroupByControl/index.css → GroupBy/Popup.css} +0 -0
@@ -0,0 +1,268 @@
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, { useCallback } from 'react';
6
+ import { ChevronIcon } from '../../icons/Chevron/index.js';
7
+ import { TrashIcon } from '../../icons/Trash/index.js';
8
+ import { XIcon } from '../../icons/X/index.js';
9
+ import { useTranslation } from '../../providers/Translation/index.js';
10
+ import { Button } from '../Button/index.js';
11
+ import { Popup, PopupList } from '../Popup/index.js';
12
+ import './Popup.css';
13
+ const baseClass = 'group-by-control';
14
+ export const GroupByPopup = t0 => {
15
+ const $ = _c(35);
16
+ const {
17
+ close,
18
+ filteredFields,
19
+ groupByField,
20
+ groupByFieldName,
21
+ isActive,
22
+ onChange,
23
+ value
24
+ } = t0;
25
+ const {
26
+ t
27
+ } = useTranslation();
28
+ const directionValue = !value || typeof value !== "string" ? "asc" : value.startsWith("-") ? "desc" : "asc";
29
+ let t1;
30
+ if ($[0] !== onChange || $[1] !== value) {
31
+ t1 = fieldPath => {
32
+ onChange(value?.startsWith("-") ? `-${fieldPath}` : fieldPath);
33
+ };
34
+ $[0] = onChange;
35
+ $[1] = value;
36
+ $[2] = t1;
37
+ } else {
38
+ t1 = $[2];
39
+ }
40
+ const handleFieldSelect = t1;
41
+ let t2;
42
+ if ($[3] !== close || $[4] !== onChange) {
43
+ t2 = () => {
44
+ onChange("");
45
+ close();
46
+ };
47
+ $[3] = close;
48
+ $[4] = onChange;
49
+ $[5] = t2;
50
+ } else {
51
+ t2 = $[5];
52
+ }
53
+ const handleClear = t2;
54
+ let t3;
55
+ if ($[6] !== groupByFieldName || $[7] !== onChange) {
56
+ t3 = direction => {
57
+ if (!groupByFieldName) {
58
+ return;
59
+ }
60
+ onChange(direction === "asc" ? groupByFieldName : `-${groupByFieldName}`);
61
+ };
62
+ $[6] = groupByFieldName;
63
+ $[7] = onChange;
64
+ $[8] = t3;
65
+ } else {
66
+ t3 = $[8];
67
+ }
68
+ const handleDirectionSelect = t3;
69
+ let t4;
70
+ if ($[9] !== close || $[10] !== directionValue || $[11] !== filteredFields || $[12] !== groupByField?.label || $[13] !== groupByFieldName || $[14] !== handleClear || $[15] !== handleDirectionSelect || $[16] !== handleFieldSelect || $[17] !== isActive || $[18] !== t) {
71
+ let t5;
72
+ if ($[20] !== filteredFields || $[21] !== groupByFieldName || $[22] !== handleFieldSelect) {
73
+ t5 = t6 => {
74
+ const {
75
+ close: closeFieldPopup
76
+ } = t6;
77
+ return _jsx(PopupList.RadioGroup, {
78
+ children: filteredFields.map((field, i) => _jsx(PopupList.RadioGroupItem, {
79
+ active: field.fieldPath === groupByFieldName,
80
+ onClick: () => {
81
+ handleFieldSelect(field.fieldPath);
82
+ closeFieldPopup();
83
+ },
84
+ children: field.label
85
+ }, i))
86
+ });
87
+ };
88
+ $[20] = filteredFields;
89
+ $[21] = groupByFieldName;
90
+ $[22] = handleFieldSelect;
91
+ $[23] = t5;
92
+ } else {
93
+ t5 = $[23];
94
+ }
95
+ let t6;
96
+ if ($[24] !== groupByField?.label || $[25] !== t) {
97
+ t6 = t7 => {
98
+ const {
99
+ active,
100
+ onClick,
101
+ onKeyDown
102
+ } = t7;
103
+ return _jsxs("button", {
104
+ className: `${baseClass}__select-trigger`,
105
+ onClick,
106
+ onKeyDown,
107
+ type: "button",
108
+ children: [_jsx("span", {
109
+ className: `${baseClass}__select-value`,
110
+ children: groupByField?.label || t("general:selectValue")
111
+ }), _jsx(ChevronIcon, {
112
+ direction: active ? "up" : "down",
113
+ size: 16
114
+ })]
115
+ });
116
+ };
117
+ $[24] = groupByField?.label;
118
+ $[25] = t;
119
+ $[26] = t6;
120
+ } else {
121
+ t6 = $[26];
122
+ }
123
+ let t7;
124
+ if ($[27] !== directionValue || $[28] !== handleDirectionSelect || $[29] !== t) {
125
+ t7 = t8 => {
126
+ const {
127
+ close: closeSortPopup
128
+ } = t8;
129
+ return _jsxs(PopupList.RadioGroup, {
130
+ children: [_jsx(PopupList.RadioGroupItem, {
131
+ active: directionValue === "desc",
132
+ onClick: () => {
133
+ handleDirectionSelect("desc");
134
+ closeSortPopup();
135
+ },
136
+ children: t("general:descending")
137
+ }), _jsx(PopupList.RadioGroupItem, {
138
+ active: directionValue === "asc",
139
+ onClick: () => {
140
+ handleDirectionSelect("asc");
141
+ closeSortPopup();
142
+ },
143
+ children: t("general:ascending")
144
+ })]
145
+ });
146
+ };
147
+ $[27] = directionValue;
148
+ $[28] = handleDirectionSelect;
149
+ $[29] = t;
150
+ $[30] = t7;
151
+ } else {
152
+ t7 = $[30];
153
+ }
154
+ let t8;
155
+ if ($[31] !== directionValue || $[32] !== groupByFieldName || $[33] !== t) {
156
+ t8 = t9 => {
157
+ const {
158
+ active: active_0,
159
+ onClick: onClick_0,
160
+ onKeyDown: onKeyDown_0
161
+ } = t9;
162
+ return _jsxs("button", {
163
+ className: [`${baseClass}__select-trigger`, !groupByFieldName && `${baseClass}__select-trigger--disabled`].filter(Boolean).join(" "),
164
+ disabled: !groupByFieldName,
165
+ onClick: onClick_0,
166
+ onKeyDown: onKeyDown_0,
167
+ type: "button",
168
+ children: [_jsx("span", {
169
+ className: `${baseClass}__select-value`,
170
+ children: directionValue === "desc" ? t("general:descending") : t("general:ascending")
171
+ }), _jsx(ChevronIcon, {
172
+ direction: active_0 ? "up" : "down",
173
+ size: 16
174
+ })]
175
+ });
176
+ };
177
+ $[31] = directionValue;
178
+ $[32] = groupByFieldName;
179
+ $[33] = t;
180
+ $[34] = t8;
181
+ } else {
182
+ t8 = $[34];
183
+ }
184
+ t4 = _jsxs("div", {
185
+ className: `${baseClass}__content`,
186
+ children: [_jsxs("div", {
187
+ className: `${baseClass}__header`,
188
+ children: [_jsx("span", {
189
+ className: `${baseClass}__title`,
190
+ children: t("general:groupByLabel", {
191
+ label: ""
192
+ })
193
+ }), _jsxs("div", {
194
+ className: `${baseClass}__header-actions`,
195
+ children: [isActive && _jsx(Button, {
196
+ "aria-label": t("general:clear"),
197
+ buttonStyle: "ghost",
198
+ icon: _jsx(TrashIcon, {}),
199
+ onClick: handleClear,
200
+ round: true,
201
+ size: "medium"
202
+ }), _jsx(Button, {
203
+ "aria-label": t("general:close"),
204
+ buttonStyle: "ghost",
205
+ icon: _jsx(XIcon, {
206
+ size: 24
207
+ }),
208
+ onClick: close,
209
+ round: true,
210
+ size: "medium"
211
+ })]
212
+ })]
213
+ }), _jsxs("div", {
214
+ className: `${baseClass}__body`,
215
+ children: [_jsxs("div", {
216
+ className: `${baseClass}__row`,
217
+ children: [_jsx("label", {
218
+ className: `${baseClass}__label`,
219
+ children: t("general:field")
220
+ }), _jsx("div", {
221
+ className: `${baseClass}__input`,
222
+ "data-popup-prevent-close": true,
223
+ children: _jsx(Popup, {
224
+ className: `${baseClass}__select-popup`,
225
+ horizontalAlign: "right",
226
+ render: t5,
227
+ renderButton: t6,
228
+ verticalAlign: "bottom"
229
+ })
230
+ })]
231
+ }), _jsxs("div", {
232
+ className: `${baseClass}__row`,
233
+ children: [_jsx("label", {
234
+ className: `${baseClass}__label`,
235
+ children: t("general:sort")
236
+ }), _jsx("div", {
237
+ className: `${baseClass}__input`,
238
+ "data-popup-prevent-close": true,
239
+ children: _jsx(Popup, {
240
+ className: `${baseClass}__select-popup`,
241
+ disabled: !groupByFieldName,
242
+ horizontalAlign: "right",
243
+ render: t7,
244
+ renderButton: t8,
245
+ size: "small",
246
+ verticalAlign: "bottom"
247
+ })
248
+ })]
249
+ })]
250
+ })]
251
+ });
252
+ $[9] = close;
253
+ $[10] = directionValue;
254
+ $[11] = filteredFields;
255
+ $[12] = groupByField?.label;
256
+ $[13] = groupByFieldName;
257
+ $[14] = handleClear;
258
+ $[15] = handleDirectionSelect;
259
+ $[16] = handleFieldSelect;
260
+ $[17] = isActive;
261
+ $[18] = t;
262
+ $[19] = t4;
263
+ } else {
264
+ t4 = $[19];
265
+ }
266
+ return t4;
267
+ };
268
+ //# sourceMappingURL=Popup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Popup.js","names":["c","_c","React","useCallback","ChevronIcon","TrashIcon","XIcon","useTranslation","Button","Popup","PopupList","baseClass","GroupByPopup","t0","$","close","filteredFields","groupByField","groupByFieldName","isActive","onChange","value","t","directionValue","startsWith","t1","fieldPath","handleFieldSelect","t2","handleClear","t3","direction","handleDirectionSelect","t4","label","t5","t6","closeFieldPopup","_jsx","RadioGroup","children","map","field","i","RadioGroupItem","active","onClick","t7","onKeyDown","_jsxs","className","type","size","t8","closeSortPopup","t9","active_0","onClick_0","onKeyDown_0","filter","Boolean","join","disabled","buttonStyle","icon","round","horizontalAlign","render","verticalAlign"],"sources":["../../../src/elements/GroupBy/Popup.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback } from 'react'\n\nimport type { ReducedField } from '../WhereBuilder/types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { TrashIcon } from '../../icons/Trash/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport './Popup.css'\n\nexport type GroupByPopupProps = {\n /** Closes the parent popup. */\n readonly close: () => void\n /** The selectable, permission-filtered fields. */\n readonly filteredFields: ReducedField[]\n /** The currently selected field, if any. */\n readonly groupByField?: ReducedField\n /** The selected field path with any leading `-` stripped. */\n readonly groupByFieldName?: string\n /** Whether a field is currently selected. */\n readonly isActive: boolean\n /** Called with the next `groupBy` value (prefixed with `-` for descending). */\n readonly onChange: (groupBy: string) => void\n /** The current `groupBy` value (prefixed with `-` for descending). */\n readonly value: string\n}\n\nconst baseClass = 'group-by-control'\n\nexport const GroupByPopup: React.FC<GroupByPopupProps> = ({\n close,\n filteredFields,\n groupByField,\n groupByFieldName,\n isActive,\n onChange,\n value,\n}) => {\n const { t } = useTranslation()\n\n const directionValue =\n !value || typeof value !== 'string' ? 'asc' : value.startsWith('-') ? 'desc' : 'asc'\n\n const handleFieldSelect = useCallback(\n (fieldPath: string) => {\n onChange(value?.startsWith('-') ? `-${fieldPath}` : fieldPath)\n },\n [onChange, value],\n )\n\n const handleClear = useCallback(() => {\n onChange('')\n close()\n }, [onChange, close])\n\n const handleDirectionSelect = useCallback(\n (direction: 'asc' | 'desc') => {\n if (!groupByFieldName) {\n return\n }\n onChange(direction === 'asc' ? groupByFieldName : `-${groupByFieldName}`)\n },\n [groupByFieldName, onChange],\n )\n\n return (\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__header`}>\n <span className={`${baseClass}__title`}>{t('general:groupByLabel', { label: '' })}</span>\n <div className={`${baseClass}__header-actions`}>\n {isActive && (\n <Button\n aria-label={t('general:clear')}\n buttonStyle=\"ghost\"\n icon={<TrashIcon />}\n onClick={handleClear}\n round\n size=\"medium\"\n />\n )}\n <Button\n aria-label={t('general:close')}\n buttonStyle=\"ghost\"\n icon={<XIcon size={24} />}\n onClick={close}\n round\n size=\"medium\"\n />\n </div>\n </div>\n <div className={`${baseClass}__body`}>\n <div className={`${baseClass}__row`}>\n <label className={`${baseClass}__label`}>{t('general:field')}</label>\n <div className={`${baseClass}__input`} data-popup-prevent-close>\n <Popup\n className={`${baseClass}__select-popup`}\n horizontalAlign=\"right\"\n render={({ close: closeFieldPopup }) => (\n <PopupList.RadioGroup>\n {filteredFields.map((field, i) => (\n <PopupList.RadioGroupItem\n active={field.fieldPath === groupByFieldName}\n key={i}\n onClick={() => {\n handleFieldSelect(field.fieldPath)\n closeFieldPopup()\n }}\n >\n {field.label}\n </PopupList.RadioGroupItem>\n ))}\n </PopupList.RadioGroup>\n )}\n renderButton={({ active, onClick, onKeyDown }) => (\n <button\n className={`${baseClass}__select-trigger`}\n onClick={onClick}\n onKeyDown={onKeyDown}\n type=\"button\"\n >\n <span className={`${baseClass}__select-value`}>\n {groupByField?.label || t('general:selectValue')}\n </span>\n <ChevronIcon direction={active ? 'up' : 'down'} size={16} />\n </button>\n )}\n verticalAlign=\"bottom\"\n />\n </div>\n </div>\n <div className={`${baseClass}__row`}>\n <label className={`${baseClass}__label`}>{t('general:sort')}</label>\n <div className={`${baseClass}__input`} data-popup-prevent-close>\n <Popup\n className={`${baseClass}__select-popup`}\n disabled={!groupByFieldName}\n horizontalAlign=\"right\"\n render={({ close: closeSortPopup }) => (\n <PopupList.RadioGroup>\n <PopupList.RadioGroupItem\n active={directionValue === 'desc'}\n onClick={() => {\n handleDirectionSelect('desc')\n closeSortPopup()\n }}\n >\n {t('general:descending')}\n </PopupList.RadioGroupItem>\n <PopupList.RadioGroupItem\n active={directionValue === 'asc'}\n onClick={() => {\n handleDirectionSelect('asc')\n closeSortPopup()\n }}\n >\n {t('general:ascending')}\n </PopupList.RadioGroupItem>\n </PopupList.RadioGroup>\n )}\n renderButton={({ active, onClick, onKeyDown }) => (\n <button\n className={[\n `${baseClass}__select-trigger`,\n !groupByFieldName && `${baseClass}__select-trigger--disabled`,\n ]\n .filter(Boolean)\n .join(' ')}\n disabled={!groupByFieldName}\n onClick={onClick}\n onKeyDown={onKeyDown}\n type=\"button\"\n >\n <span className={`${baseClass}__select-value`}>\n {directionValue === 'desc' ? t('general:descending') : t('general:ascending')}\n </span>\n <ChevronIcon direction={active ? 'up' : 'down'} size={16} />\n </button>\n )}\n size=\"small\"\n verticalAlign=\"bottom\"\n />\n </div>\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import type { ClientField, SanitizedCollectionConfig } from 'payload';
2
+ import React from 'react';
3
+ export type GroupByButtonProps = {
4
+ readonly collectionSlug: SanitizedCollectionConfig['slug'];
5
+ readonly fields: ClientField[];
6
+ /** Called with the next `groupBy` value (prefixed with `-` for descending). */
7
+ readonly onChange: (groupBy: string) => void;
8
+ /** The current `groupBy` value (prefixed with `-` for descending). */
9
+ readonly value: string;
10
+ };
11
+ export declare const GroupByButton: React.FC<GroupByButtonProps>;
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/GroupBy/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAS,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAG5E,OAAO,KAAkB,MAAM,OAAO,CAAA;AAUtC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAC1D,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,sEAAsE;IACtE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,CAAA;AAoBD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAiFtD,CAAA"}
@@ -0,0 +1,91 @@
1
+ 'use client';
2
+
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ import { isFieldDisabled } from 'payload/shared';
5
+ import React, { useMemo } from 'react';
6
+ import { ChevronIcon } from '../../icons/Chevron/index.js';
7
+ import { useAuth } from '../../providers/Auth/index.js';
8
+ import { useTranslation } from '../../providers/Translation/index.js';
9
+ import { reduceFieldsToOptions } from '../../utilities/reduceFieldsToOptions.js';
10
+ import { Button } from '../Button/index.js';
11
+ import { Popup } from '../Popup/index.js';
12
+ import { GroupByPopup } from './Popup.js';
13
+ const baseClass = 'group-by-control';
14
+ /**
15
+ * Supported field types for group by functionality.
16
+ */
17
+ const supportedFieldTypes = ['text', 'textarea', 'number', 'select', 'relationship', 'date', 'checkbox', 'radio', 'email', 'upload'];
18
+ export const GroupByButton = ({
19
+ collectionSlug,
20
+ fields,
21
+ onChange,
22
+ value
23
+ }) => {
24
+ const {
25
+ i18n,
26
+ t
27
+ } = useTranslation();
28
+ const {
29
+ permissions
30
+ } = useAuth();
31
+ const groupByFieldName = value?.replace(/^-/, '');
32
+ const fieldPermissions = permissions?.collections?.[collectionSlug]?.fields;
33
+ const reducedFields = useMemo(() => reduceFieldsToOptions({
34
+ fieldPermissions,
35
+ fields,
36
+ i18n
37
+ }), [fields, fieldPermissions, i18n]);
38
+ const filteredFields = useMemo(() => reducedFields.filter(field => !isFieldDisabled(field.field, 'groupBy') && field.fieldPath !== 'id' && supportedFieldTypes.includes(field.field.type)), [reducedFields]);
39
+ const groupByField = reducedFields.find(field_0 => field_0.fieldPath === groupByFieldName);
40
+ const isActive = Boolean(groupByFieldName && groupByField);
41
+ if (filteredFields.length === 0) {
42
+ return null;
43
+ }
44
+ const triggerLabel = isActive ? t('general:groupByLabel', {
45
+ label: groupByField?.label || ''
46
+ }) : t('general:groupByLabel', {
47
+ label: ''
48
+ });
49
+ return /*#__PURE__*/_jsx(Popup, {
50
+ className: baseClass,
51
+ horizontalAlign: "right",
52
+ portalClassName: `${baseClass}__popup`,
53
+ render: ({
54
+ close
55
+ }) => /*#__PURE__*/_jsx(GroupByPopup, {
56
+ close: close,
57
+ filteredFields: filteredFields,
58
+ groupByField: groupByField,
59
+ groupByFieldName: groupByFieldName,
60
+ isActive: isActive,
61
+ onChange: onChange,
62
+ value: value
63
+ }),
64
+ renderButton: ({
65
+ active,
66
+ onClick,
67
+ onKeyDown,
68
+ ...ariaProps
69
+ }) => /*#__PURE__*/_jsx(Button, {
70
+ buttonStyle: "secondary",
71
+ className: `${baseClass}__trigger`,
72
+ extraButtonProps: {
73
+ onKeyDown
74
+ },
75
+ icon: /*#__PURE__*/_jsx(ChevronIcon, {
76
+ direction: active ? 'up' : 'down',
77
+ size: 16
78
+ }),
79
+ id: "toggle-group-by",
80
+ onClick: onClick,
81
+ selected: active || isActive,
82
+ size: "medium",
83
+ ...ariaProps,
84
+ children: triggerLabel
85
+ }),
86
+ size: "large",
87
+ theme: "auto",
88
+ verticalAlign: "bottom"
89
+ });
90
+ };
91
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["isFieldDisabled","React","useMemo","ChevronIcon","useAuth","useTranslation","reduceFieldsToOptions","Button","Popup","GroupByPopup","baseClass","supportedFieldTypes","GroupByButton","collectionSlug","fields","onChange","value","i18n","t","permissions","groupByFieldName","replace","fieldPermissions","collections","reducedFields","filteredFields","filter","field","fieldPath","includes","type","groupByField","find","isActive","Boolean","length","triggerLabel","label","_jsx","className","horizontalAlign","portalClassName","render","close","renderButton","active","onClick","onKeyDown","ariaProps","buttonStyle","extraButtonProps","icon","direction","size","id","selected","theme","verticalAlign"],"sources":["../../../src/elements/GroupBy/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, Field, SanitizedCollectionConfig } from 'payload'\n\nimport { isFieldDisabled } from 'payload/shared'\nimport React, { useMemo } from 'react'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { reduceFieldsToOptions } from '../../utilities/reduceFieldsToOptions.js'\nimport { Button } from '../Button/index.js'\nimport { Popup } from '../Popup/index.js'\nimport { GroupByPopup } from './Popup.js'\n\nexport type GroupByButtonProps = {\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly fields: ClientField[]\n /** Called with the next `groupBy` value (prefixed with `-` for descending). */\n readonly onChange: (groupBy: string) => void\n /** The current `groupBy` value (prefixed with `-` for descending). */\n readonly value: string\n}\n\nconst baseClass = 'group-by-control'\n\n/**\n * Supported field types for group by functionality.\n */\nconst supportedFieldTypes: Field['type'][] = [\n 'text',\n 'textarea',\n 'number',\n 'select',\n 'relationship',\n 'date',\n 'checkbox',\n 'radio',\n 'email',\n 'upload',\n]\n\nexport const GroupByButton: React.FC<GroupByButtonProps> = ({\n collectionSlug,\n fields,\n onChange,\n value,\n}) => {\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n\n const groupByFieldName = value?.replace(/^-/, '')\n\n const fieldPermissions = permissions?.collections?.[collectionSlug]?.fields\n\n const reducedFields = useMemo(\n () =>\n reduceFieldsToOptions({\n fieldPermissions,\n fields,\n i18n,\n }),\n [fields, fieldPermissions, i18n],\n )\n\n const filteredFields = useMemo(\n () =>\n reducedFields.filter(\n (field) =>\n !isFieldDisabled(field.field, 'groupBy') &&\n field.fieldPath !== 'id' &&\n supportedFieldTypes.includes(field.field.type),\n ),\n [reducedFields],\n )\n\n const groupByField = reducedFields.find((field) => field.fieldPath === groupByFieldName)\n const isActive = Boolean(groupByFieldName && groupByField)\n\n if (filteredFields.length === 0) {\n return null\n }\n\n const triggerLabel = isActive\n ? t('general:groupByLabel', { label: groupByField?.label || '' })\n : t('general:groupByLabel', { label: '' })\n\n return (\n <Popup\n className={baseClass}\n horizontalAlign=\"right\"\n portalClassName={`${baseClass}__popup`}\n render={({ close }) => (\n <GroupByPopup\n close={close}\n filteredFields={filteredFields}\n groupByField={groupByField}\n groupByFieldName={groupByFieldName}\n isActive={isActive}\n onChange={onChange}\n value={value}\n />\n )}\n renderButton={({ active, onClick, onKeyDown, ...ariaProps }) => (\n <Button\n buttonStyle=\"secondary\"\n className={`${baseClass}__trigger`}\n extraButtonProps={{ onKeyDown }}\n icon={<ChevronIcon direction={active ? 'up' : 'down'} size={16} />}\n id=\"toggle-group-by\"\n onClick={onClick}\n selected={active || isActive}\n size=\"medium\"\n {...ariaProps}\n >\n {triggerLabel}\n </Button>\n )}\n size=\"large\"\n theme=\"auto\"\n verticalAlign=\"bottom\"\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@
5
5
  flex-shrink: 0;
6
6
  display: flex;
7
7
  flex-direction: column;
8
- border-right: 1px solid var(--color-border);
8
+ border-right: var(--stroke-width-small) solid var(--color-border);
9
9
  height: 100%;
10
10
  background: var(--color-bg);
11
11
  }
@@ -18,7 +18,7 @@
18
18
  padding: var(--spacer-1) var(--spacer-3);
19
19
  flex-shrink: 0;
20
20
  margin-bottom: var(--spacer-2);
21
- border-bottom: 1px solid var(--color-border);
21
+ border-bottom: var(--stroke-width-small) solid var(--color-border);
22
22
  }
23
23
 
24
24
  .hierarchy-column__add-button {
@@ -1,26 +1,8 @@
1
1
  @layer payload-default {
2
- /* Override drawer to be a centered modal instead of side panel */
3
- .hierarchy-drawer.drawer {
4
- justify-content: center;
5
- align-items: center;
6
- }
7
-
8
- .hierarchy-drawer .drawer__blur-bg {
9
- background: var(--color-modalbackdrop);
10
- }
11
-
12
- .hierarchy-drawer .drawer__content {
2
+ .dialog.hierarchy-drawer {
13
3
  width: min(900px, calc(100vw - var(--spacer-6)));
14
4
  height: min(700px, calc(100vh - var(--spacer-6)));
15
- border-radius: var(--radius-large);
16
- transform: none;
17
- box-shadow: var(--elevation-500-dialog);
18
- }
19
-
20
- .hierarchy-drawer .drawer__close {
21
- position: absolute;
22
- inset: 0;
23
- background: transparent;
5
+ max-width: calc(100vw - var(--spacer-6));
24
6
  }
25
7
 
26
8
  .hierarchy-drawer__content {
@@ -40,8 +22,8 @@
40
22
  display: flex;
41
23
  justify-content: space-between;
42
24
  align-items: center;
43
- padding: var(--spacer-2) var(--gutter-h);
44
- border-bottom: 1px solid var(--color-border);
25
+ padding: var(--spacer-2) var(--spacer-2-5);
26
+ border-bottom: var(--stroke-width-small) solid var(--color-border);
45
27
  flex-shrink: 0;
46
28
  }
47
29
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Drawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAON,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,KAAK,EAAE,4BAA4B,EAAqB,MAAM,YAAY,CAAA;AAYjF,OAAO,aAAa,CAAA;AAEpB,eAAO,MAAM,SAAS,qBAAqB,CAAA;AAE3C,KAAK,2BAA2B,GAAG;IACjC,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAA;IACpE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CACrE,GAAG,4BAA4B,CAAA;AAEhC,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;CAC1C,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAmC,iOAiBnE;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAA;CAAE,GAAG,2BAA2B,sBAwL3F,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CA8FlE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Drawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAON,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,KAAK,EAAE,4BAA4B,EAAqB,MAAM,YAAY,CAAA;AAajF,OAAO,aAAa,CAAA;AAEpB,eAAO,MAAM,SAAS,qBAAqB,CAAA;AAE3C,KAAK,2BAA2B,GAAG;IACjC,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAA;IACpE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CACrE,GAAG,4BAA4B,CAAA;AAEhC,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;CAC1C,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAmC,iOAiBnE;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAA;CAAE,GAAG,2BAA2B,sBAwL3F,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CA8FlE,CAAA"}
@@ -8,8 +8,9 @@ import { TagIcon } from '../../../icons/Tag/index.js';
8
8
  import { useConfig } from '../../../providers/Config/index.js';
9
9
  import { useHierarchy } from '../../../providers/Hierarchy/index.js';
10
10
  import { useTranslation } from '../../../providers/Translation/index.js';
11
+ import { DialogModal } from '../../Dialog/index.js';
11
12
  import { useDocumentDrawer } from '../../DocumentDrawer/index.js';
12
- import { Drawer, DrawerDepthProvider } from '../../Drawer/index.js';
13
+ import { DrawerDepthProvider } from '../../Drawer/index.js';
13
14
  import { DrawerActionHeader } from '../../DrawerActionHeader/index.js';
14
15
  import { HierarchyColumnBrowser } from '../ColumnBrowser/index.js';
15
16
  import { fetchAncestorPath } from './fetchAncestorPath.js';
@@ -275,9 +276,10 @@ export const HierarchyDrawer = props => {
275
276
  ref: drawerContentRef
276
277
  }), [handleCreateNew, props]);
277
278
  return /*#__PURE__*/_jsxs(_Fragment, {
278
- children: [/*#__PURE__*/_jsx(Drawer, {
279
+ children: [/*#__PURE__*/_jsx(DialogModal, {
279
280
  className: baseClass,
280
- Header: null,
281
+ closeOnBlur: true,
282
+ size: "large",
281
283
  slug: drawerSlug,
282
284
  children: drawerContent
283
285
  }), /*#__PURE__*/_jsx(DrawerDepthProvider, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","useEffectEvent","TagIcon","useConfig","useHierarchy","useTranslation","useDocumentDrawer","Drawer","DrawerDepthProvider","DrawerActionHeader","HierarchyColumnBrowser","fetchAncestorPath","baseClass","HierarchyDrawerContent","baseFilter","closeDrawer","columnBrowserRef","disabledIds","filterByCollection","hasMany","hierarchyCollectionSlug","Icon","initialSelections","onCreateNew","onMoveToRoot","onSave","parentFieldName","ref","showMoveToRoot","useAsTitle","i18n","t","config","routes","api","serverURL","getEntityConfig","collectionConfig","collectionSlug","collectionLabel","labels","plural","parentFieldName_internal","hierarchy","initialExpandedPath","setInitialExpandedPath","isLoadingPath","setIsLoadingPath","Boolean","length","hasLoadedPathRef","firstSelection","loadAncestorPath","itemId","path","current","selections","setSelections","map","Map","id","set","selectedIds","Set","keys","ancestorsWithSelections","handleCancel","handleSave","handleSelect","prev","next","has","delete","clear","handleClearAll","selectItem","selectionCount","size","_jsxs","className","_jsx","onCancel","saveLabel","title","label","onClick","type","_Fragment","onSelect","HierarchyDrawer","props","drawerSlug","refreshTree","createParentId","setCreateParentId","drawerContentRef","documentDrawerKey","setDocumentDrawerKey","documentDrawerSlug","DocumentDrawer","closeDocumentDrawer","openDrawer","openDocumentDrawer","handleCreateNew","parentId","setTimeout","handleDocumentSave","doc","undefined","refreshColumn","drawerContent","Header","slug","initialData"],"sources":["../../../../src/elements/Hierarchy/Drawer/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, {\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport type { HierarchyColumnBrowserRef } from '../ColumnBrowser/index.js'\nimport type { HierarchyDrawerInternalProps, SelectionWithPath } from './types.js'\n\nimport { useEffectEvent } from '../../../hooks/useEffectEvent.js'\nimport { TagIcon } from '../../../icons/Tag/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useHierarchy } from '../../../providers/Hierarchy/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../../DocumentDrawer/index.js'\nimport { Drawer, DrawerDepthProvider } from '../../Drawer/index.js'\nimport { DrawerActionHeader } from '../../DrawerActionHeader/index.js'\nimport { HierarchyColumnBrowser } from '../ColumnBrowser/index.js'\nimport { fetchAncestorPath } from './fetchAncestorPath.js'\nimport './index.css'\n\nexport const baseClass = 'hierarchy-drawer'\n\ntype HierarchyDrawerContentProps = {\n columnBrowserRef?: React.RefObject<HierarchyColumnBrowserRef | null>\n onCreateNew?: (params: { parentId: null | number | string }) => void\n} & HierarchyDrawerInternalProps\n\nexport type HierarchyDrawerContentRef = {\n selectItem: (id: number | string) => void\n}\n\nexport const HierarchyDrawerContent = function HierarchyDrawerContent({\n baseFilter,\n closeDrawer,\n columnBrowserRef,\n disabledIds,\n filterByCollection,\n hasMany = false,\n hierarchyCollectionSlug,\n Icon,\n initialSelections,\n onCreateNew,\n onMoveToRoot,\n onSave,\n parentFieldName,\n ref,\n showMoveToRoot,\n useAsTitle,\n}: { ref?: React.RefObject<HierarchyDrawerContentRef | null> } & HierarchyDrawerContentProps) {\n const { i18n, t } = useTranslation()\n // NOTE: Do NOT use useModal() here - it causes re-renders when any modal state changes\n // Use closeDrawer prop instead which already handles closing the modal\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n const collectionLabel = collectionConfig\n ? getTranslation(collectionConfig.labels?.plural || hierarchyCollectionSlug, i18n)\n : hierarchyCollectionSlug\n\n const parentFieldName_internal =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy.parentFieldName\n : parentFieldName\n\n const [initialExpandedPath, setInitialExpandedPath] = useState<(number | string)[] | undefined>()\n const [isLoadingPath, setIsLoadingPath] = useState(Boolean(initialSelections?.length))\n const hasLoadedPathRef = React.useRef(false)\n const firstSelection = initialSelections?.[0]\n\n const loadAncestorPath = useEffectEvent(async (itemId?: number | string) => {\n if (!itemId) {\n setIsLoadingPath(false)\n return\n }\n\n try {\n const path = await fetchAncestorPath({\n api,\n collectionSlug: hierarchyCollectionSlug,\n itemId,\n parentFieldName: parentFieldName_internal,\n serverURL,\n })\n setInitialExpandedPath(path)\n } catch {\n // Silently handle fetch errors - will just start at root\n } finally {\n setIsLoadingPath(false)\n }\n })\n\n // Load ancestor path on mount\n useEffect(() => {\n if (hasLoadedPathRef.current) {\n return\n }\n hasLoadedPathRef.current = true\n void loadAncestorPath(firstSelection)\n }, [firstSelection])\n\n const [selections, setSelections] = useState<Map<number | string, SelectionWithPath>>(() => {\n const map = new Map<number | string, SelectionWithPath>()\n\n if (initialSelections) {\n for (const id of initialSelections) {\n map.set(id, { id, path: [] })\n }\n }\n\n return map\n })\n\n const selectedIds = useMemo(() => new Set(selections.keys()), [selections])\n\n // For now, ancestorsWithSelections is empty - will be computed when we have path tracking\n const ancestorsWithSelections = useMemo(() => new Set<number | string>(), [])\n\n const handleCancel = useCallback(() => {\n closeDrawer()\n }, [closeDrawer])\n\n const handleSave = useCallback(() => {\n onSave({ closeDrawer, selections })\n }, [onSave, selections, closeDrawer])\n\n const handleSelect = useCallback(\n ({\n id,\n path,\n }: {\n id: number | string\n path: Array<{ id: number | string; title: string }>\n }) => {\n setSelections((prev) => {\n const next = new Map(prev)\n\n if (next.has(id)) {\n next.delete(id)\n } else {\n if (!hasMany) {\n // Single select: clear previous selections\n next.clear()\n }\n next.set(id, { id, path })\n }\n\n return next\n })\n },\n [hasMany],\n )\n\n const handleClearAll = useCallback(() => {\n setSelections(new Map())\n }, [])\n\n // Expose selectItem for programmatic selection (e.g., after creating a new item)\n useImperativeHandle(\n ref,\n () => ({\n selectItem: (id: number | string) => {\n setSelections((prev) => {\n const next = new Map(prev)\n if (!hasMany) {\n next.clear()\n }\n // Path will be empty for newly created items - could be enhanced later\n next.set(id, { id, path: [] })\n return next\n })\n },\n }),\n [hasMany],\n )\n\n const selectionCount = selections.size\n\n return (\n <div className={`${baseClass}__content`}>\n <DrawerActionHeader\n onCancel={handleCancel}\n onSave={handleSave}\n saveLabel={t('general:select')}\n title={t('general:selectValue', { label: collectionLabel })}\n />\n <div className={`${baseClass}__subheader`}>\n <div className={`${baseClass}__subheader-left`}>\n {Icon || <TagIcon />}\n <h4>{collectionLabel}</h4>\n </div>\n <div className={`${baseClass}__subheader-right`}>\n {showMoveToRoot && onMoveToRoot && (\n <button className={`${baseClass}__move-to-root`} onClick={onMoveToRoot} type=\"button\">\n {t('hierarchy:moveToRoot')}\n </button>\n )}\n {selectionCount > 0 && (\n <>\n <span className={`${baseClass}__selection-info`}>{selectionCount} selected</span>\n <span>—</span>\n <button className={`${baseClass}__clear-all`} onClick={handleClearAll} type=\"button\">\n {t('general:clearAll')}\n </button>\n </>\n )}\n </div>\n </div>\n <div className={`${baseClass}__columns`}>\n <HierarchyColumnBrowser\n ancestorsWithSelections={ancestorsWithSelections}\n baseFilter={baseFilter}\n disabledIds={disabledIds}\n filterByCollection={filterByCollection}\n hierarchyCollectionSlug={hierarchyCollectionSlug}\n initialExpandedPath={initialExpandedPath}\n isLoadingPath={isLoadingPath}\n onCreateNew={onCreateNew}\n onSelect={handleSelect}\n parentFieldName={parentFieldName}\n ref={columnBrowserRef}\n selectedIds={selectedIds}\n useAsTitle={useAsTitle}\n />\n </div>\n </div>\n )\n}\n\nexport const HierarchyDrawer: React.FC<HierarchyDrawerInternalProps> = (props) => {\n const { drawerSlug, hierarchyCollectionSlug, parentFieldName } = props\n\n const { refreshTree } = useHierarchy()\n\n // Get parentFieldName from hierarchy config\n const { getEntityConfig } = useConfig()\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n const parentFieldName_internal =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy.parentFieldName\n : parentFieldName\n\n // Track which parentId is being used for the document drawer - use state to trigger re-render\n const [createParentId, setCreateParentId] = useState<null | number | string>(null)\n\n // Ref to access column browser's refresh function\n const columnBrowserRef = useRef<HierarchyColumnBrowserRef | null>(null)\n\n // Ref to access drawer content's selectItem function\n const drawerContentRef = useRef<HierarchyDrawerContentRef | null>(null)\n\n // Key for DocumentDrawer to force remount when parentId changes\n const [documentDrawerKey, setDocumentDrawerKey] = useState(0)\n\n // Stable drawer slug for the document drawer - must not change on remount\n const documentDrawerSlug = `${drawerSlug}-create-doc`\n\n // Document drawer for creating new items - rendered OUTSIDE the Drawer to avoid nested modal issues\n const [DocumentDrawer, , { closeDrawer: closeDocumentDrawer, openDrawer: openDocumentDrawer }] =\n useDocumentDrawer({\n collectionSlug: hierarchyCollectionSlug,\n drawerSlug: documentDrawerSlug,\n })\n\n const handleCreateNew = useCallback(\n ({ parentId }: { parentId: null | number | string }) => {\n // Increment key to force DocumentDrawer remount with new initialData\n setDocumentDrawerKey((prev) => prev + 1)\n setCreateParentId(parentId)\n // Use setTimeout to ensure state update triggers re-render before opening drawer\n setTimeout(() => {\n openDocumentDrawer()\n }, 0)\n },\n [openDocumentDrawer],\n )\n\n // Refresh the column, select the new item, and close the document drawer after creation\n const handleDocumentSave = useCallback<\n NonNullable<React.ComponentProps<typeof DocumentDrawer>['onSave']>\n >(\n ({ doc }) => {\n if (columnBrowserRef.current && createParentId !== undefined) {\n void columnBrowserRef.current.refreshColumn(createParentId)\n }\n if (drawerContentRef.current && doc?.id) {\n drawerContentRef.current.selectItem(doc.id)\n }\n refreshTree(hierarchyCollectionSlug)\n closeDocumentDrawer()\n },\n [closeDocumentDrawer, createParentId, hierarchyCollectionSlug, refreshTree],\n )\n\n // Memoize the content - only depends on stable values\n const drawerContent = useMemo(\n () => (\n <HierarchyDrawerContent\n {...props}\n columnBrowserRef={columnBrowserRef}\n onCreateNew={handleCreateNew}\n ref={drawerContentRef}\n />\n ),\n [handleCreateNew, props],\n )\n\n return (\n <>\n <Drawer className={baseClass} Header={null} slug={drawerSlug}>\n {drawerContent}\n </Drawer>\n <DrawerDepthProvider>\n <DocumentDrawer\n initialData={\n createParentId !== null ? { [parentFieldName_internal]: createParentId } : undefined\n }\n key={documentDrawerKey}\n onSave={handleDocumentSave}\n />\n </DrawerDepthProvider>\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","useEffectEvent","TagIcon","useConfig","useHierarchy","useTranslation","DialogModal","useDocumentDrawer","DrawerDepthProvider","DrawerActionHeader","HierarchyColumnBrowser","fetchAncestorPath","baseClass","HierarchyDrawerContent","baseFilter","closeDrawer","columnBrowserRef","disabledIds","filterByCollection","hasMany","hierarchyCollectionSlug","Icon","initialSelections","onCreateNew","onMoveToRoot","onSave","parentFieldName","ref","showMoveToRoot","useAsTitle","i18n","t","config","routes","api","serverURL","getEntityConfig","collectionConfig","collectionSlug","collectionLabel","labels","plural","parentFieldName_internal","hierarchy","initialExpandedPath","setInitialExpandedPath","isLoadingPath","setIsLoadingPath","Boolean","length","hasLoadedPathRef","firstSelection","loadAncestorPath","itemId","path","current","selections","setSelections","map","Map","id","set","selectedIds","Set","keys","ancestorsWithSelections","handleCancel","handleSave","handleSelect","prev","next","has","delete","clear","handleClearAll","selectItem","selectionCount","size","_jsxs","className","_jsx","onCancel","saveLabel","title","label","onClick","type","_Fragment","onSelect","HierarchyDrawer","props","drawerSlug","refreshTree","createParentId","setCreateParentId","drawerContentRef","documentDrawerKey","setDocumentDrawerKey","documentDrawerSlug","DocumentDrawer","closeDocumentDrawer","openDrawer","openDocumentDrawer","handleCreateNew","parentId","setTimeout","handleDocumentSave","doc","undefined","refreshColumn","drawerContent","closeOnBlur","slug","initialData"],"sources":["../../../../src/elements/Hierarchy/Drawer/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, {\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport type { HierarchyColumnBrowserRef } from '../ColumnBrowser/index.js'\nimport type { HierarchyDrawerInternalProps, SelectionWithPath } from './types.js'\n\nimport { useEffectEvent } from '../../../hooks/useEffectEvent.js'\nimport { TagIcon } from '../../../icons/Tag/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useHierarchy } from '../../../providers/Hierarchy/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { DialogModal } from '../../Dialog/index.js'\nimport { useDocumentDrawer } from '../../DocumentDrawer/index.js'\nimport { DrawerDepthProvider } from '../../Drawer/index.js'\nimport { DrawerActionHeader } from '../../DrawerActionHeader/index.js'\nimport { HierarchyColumnBrowser } from '../ColumnBrowser/index.js'\nimport { fetchAncestorPath } from './fetchAncestorPath.js'\nimport './index.css'\n\nexport const baseClass = 'hierarchy-drawer'\n\ntype HierarchyDrawerContentProps = {\n columnBrowserRef?: React.RefObject<HierarchyColumnBrowserRef | null>\n onCreateNew?: (params: { parentId: null | number | string }) => void\n} & HierarchyDrawerInternalProps\n\nexport type HierarchyDrawerContentRef = {\n selectItem: (id: number | string) => void\n}\n\nexport const HierarchyDrawerContent = function HierarchyDrawerContent({\n baseFilter,\n closeDrawer,\n columnBrowserRef,\n disabledIds,\n filterByCollection,\n hasMany = false,\n hierarchyCollectionSlug,\n Icon,\n initialSelections,\n onCreateNew,\n onMoveToRoot,\n onSave,\n parentFieldName,\n ref,\n showMoveToRoot,\n useAsTitle,\n}: { ref?: React.RefObject<HierarchyDrawerContentRef | null> } & HierarchyDrawerContentProps) {\n const { i18n, t } = useTranslation()\n // NOTE: Do NOT use useModal() here - it causes re-renders when any modal state changes\n // Use closeDrawer prop instead which already handles closing the modal\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n const collectionLabel = collectionConfig\n ? getTranslation(collectionConfig.labels?.plural || hierarchyCollectionSlug, i18n)\n : hierarchyCollectionSlug\n\n const parentFieldName_internal =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy.parentFieldName\n : parentFieldName\n\n const [initialExpandedPath, setInitialExpandedPath] = useState<(number | string)[] | undefined>()\n const [isLoadingPath, setIsLoadingPath] = useState(Boolean(initialSelections?.length))\n const hasLoadedPathRef = React.useRef(false)\n const firstSelection = initialSelections?.[0]\n\n const loadAncestorPath = useEffectEvent(async (itemId?: number | string) => {\n if (!itemId) {\n setIsLoadingPath(false)\n return\n }\n\n try {\n const path = await fetchAncestorPath({\n api,\n collectionSlug: hierarchyCollectionSlug,\n itemId,\n parentFieldName: parentFieldName_internal,\n serverURL,\n })\n setInitialExpandedPath(path)\n } catch {\n // Silently handle fetch errors - will just start at root\n } finally {\n setIsLoadingPath(false)\n }\n })\n\n // Load ancestor path on mount\n useEffect(() => {\n if (hasLoadedPathRef.current) {\n return\n }\n hasLoadedPathRef.current = true\n void loadAncestorPath(firstSelection)\n }, [firstSelection])\n\n const [selections, setSelections] = useState<Map<number | string, SelectionWithPath>>(() => {\n const map = new Map<number | string, SelectionWithPath>()\n\n if (initialSelections) {\n for (const id of initialSelections) {\n map.set(id, { id, path: [] })\n }\n }\n\n return map\n })\n\n const selectedIds = useMemo(() => new Set(selections.keys()), [selections])\n\n // For now, ancestorsWithSelections is empty - will be computed when we have path tracking\n const ancestorsWithSelections = useMemo(() => new Set<number | string>(), [])\n\n const handleCancel = useCallback(() => {\n closeDrawer()\n }, [closeDrawer])\n\n const handleSave = useCallback(() => {\n onSave({ closeDrawer, selections })\n }, [onSave, selections, closeDrawer])\n\n const handleSelect = useCallback(\n ({\n id,\n path,\n }: {\n id: number | string\n path: Array<{ id: number | string; title: string }>\n }) => {\n setSelections((prev) => {\n const next = new Map(prev)\n\n if (next.has(id)) {\n next.delete(id)\n } else {\n if (!hasMany) {\n // Single select: clear previous selections\n next.clear()\n }\n next.set(id, { id, path })\n }\n\n return next\n })\n },\n [hasMany],\n )\n\n const handleClearAll = useCallback(() => {\n setSelections(new Map())\n }, [])\n\n // Expose selectItem for programmatic selection (e.g., after creating a new item)\n useImperativeHandle(\n ref,\n () => ({\n selectItem: (id: number | string) => {\n setSelections((prev) => {\n const next = new Map(prev)\n if (!hasMany) {\n next.clear()\n }\n // Path will be empty for newly created items - could be enhanced later\n next.set(id, { id, path: [] })\n return next\n })\n },\n }),\n [hasMany],\n )\n\n const selectionCount = selections.size\n\n return (\n <div className={`${baseClass}__content`}>\n <DrawerActionHeader\n onCancel={handleCancel}\n onSave={handleSave}\n saveLabel={t('general:select')}\n title={t('general:selectValue', { label: collectionLabel })}\n />\n <div className={`${baseClass}__subheader`}>\n <div className={`${baseClass}__subheader-left`}>\n {Icon || <TagIcon />}\n <h4>{collectionLabel}</h4>\n </div>\n <div className={`${baseClass}__subheader-right`}>\n {showMoveToRoot && onMoveToRoot && (\n <button className={`${baseClass}__move-to-root`} onClick={onMoveToRoot} type=\"button\">\n {t('hierarchy:moveToRoot')}\n </button>\n )}\n {selectionCount > 0 && (\n <>\n <span className={`${baseClass}__selection-info`}>{selectionCount} selected</span>\n <span>—</span>\n <button className={`${baseClass}__clear-all`} onClick={handleClearAll} type=\"button\">\n {t('general:clearAll')}\n </button>\n </>\n )}\n </div>\n </div>\n <div className={`${baseClass}__columns`}>\n <HierarchyColumnBrowser\n ancestorsWithSelections={ancestorsWithSelections}\n baseFilter={baseFilter}\n disabledIds={disabledIds}\n filterByCollection={filterByCollection}\n hierarchyCollectionSlug={hierarchyCollectionSlug}\n initialExpandedPath={initialExpandedPath}\n isLoadingPath={isLoadingPath}\n onCreateNew={onCreateNew}\n onSelect={handleSelect}\n parentFieldName={parentFieldName}\n ref={columnBrowserRef}\n selectedIds={selectedIds}\n useAsTitle={useAsTitle}\n />\n </div>\n </div>\n )\n}\n\nexport const HierarchyDrawer: React.FC<HierarchyDrawerInternalProps> = (props) => {\n const { drawerSlug, hierarchyCollectionSlug, parentFieldName } = props\n\n const { refreshTree } = useHierarchy()\n\n // Get parentFieldName from hierarchy config\n const { getEntityConfig } = useConfig()\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n const parentFieldName_internal =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy.parentFieldName\n : parentFieldName\n\n // Track which parentId is being used for the document drawer - use state to trigger re-render\n const [createParentId, setCreateParentId] = useState<null | number | string>(null)\n\n // Ref to access column browser's refresh function\n const columnBrowserRef = useRef<HierarchyColumnBrowserRef | null>(null)\n\n // Ref to access drawer content's selectItem function\n const drawerContentRef = useRef<HierarchyDrawerContentRef | null>(null)\n\n // Key for DocumentDrawer to force remount when parentId changes\n const [documentDrawerKey, setDocumentDrawerKey] = useState(0)\n\n // Stable drawer slug for the document drawer - must not change on remount\n const documentDrawerSlug = `${drawerSlug}-create-doc`\n\n // Document drawer for creating new items - rendered OUTSIDE the Drawer to avoid nested modal issues\n const [DocumentDrawer, , { closeDrawer: closeDocumentDrawer, openDrawer: openDocumentDrawer }] =\n useDocumentDrawer({\n collectionSlug: hierarchyCollectionSlug,\n drawerSlug: documentDrawerSlug,\n })\n\n const handleCreateNew = useCallback(\n ({ parentId }: { parentId: null | number | string }) => {\n // Increment key to force DocumentDrawer remount with new initialData\n setDocumentDrawerKey((prev) => prev + 1)\n setCreateParentId(parentId)\n // Use setTimeout to ensure state update triggers re-render before opening drawer\n setTimeout(() => {\n openDocumentDrawer()\n }, 0)\n },\n [openDocumentDrawer],\n )\n\n // Refresh the column, select the new item, and close the document drawer after creation\n const handleDocumentSave = useCallback<\n NonNullable<React.ComponentProps<typeof DocumentDrawer>['onSave']>\n >(\n ({ doc }) => {\n if (columnBrowserRef.current && createParentId !== undefined) {\n void columnBrowserRef.current.refreshColumn(createParentId)\n }\n if (drawerContentRef.current && doc?.id) {\n drawerContentRef.current.selectItem(doc.id)\n }\n refreshTree(hierarchyCollectionSlug)\n closeDocumentDrawer()\n },\n [closeDocumentDrawer, createParentId, hierarchyCollectionSlug, refreshTree],\n )\n\n // Memoize the content - only depends on stable values\n const drawerContent = useMemo(\n () => (\n <HierarchyDrawerContent\n {...props}\n columnBrowserRef={columnBrowserRef}\n onCreateNew={handleCreateNew}\n ref={drawerContentRef}\n />\n ),\n [handleCreateNew, props],\n )\n\n return (\n <>\n <DialogModal className={baseClass} closeOnBlur size=\"large\" slug={drawerSlug}>\n {drawerContent}\n </DialogModal>\n <DrawerDepthProvider>\n <DocumentDrawer\n initialData={\n createParentId !== null ? { [parentFieldName_internal]: createParentId } : undefined\n }\n key={documentDrawerKey}\n onSave={handleDocumentSave}\n />\n </DrawerDepthProvider>\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ @layer payload-default {
2
+ .selected-hierarchies__pills {
3
+ display: flex;
4
+ flex-wrap: wrap;
5
+ gap: var(--spacer-1);
6
+ }
7
+
8
+ .selected-hierarchies__pill .chip__label {
9
+ max-width: 200px;
10
+ }
11
+
12
+ .selected-hierarchies__pill.chip--size-medium {
13
+ height: 1.25rem;
14
+ padding-inline-start: var(--spacer-1);
15
+ border-radius: var(--radius-chip);
16
+ }
17
+
18
+ .selected-hierarchies__pill .chip__remove {
19
+ color: var(--color-icon-secondary);
20
+ }
21
+
22
+ .selected-hierarchies__pill .chip__remove:hover {
23
+ color: var(--color-text);
24
+ }
25
+
26
+ .selected-hierarchies__empty {
27
+ color: var(--color-text-secondary);
28
+ font-style: italic;
29
+ padding: var(--spacer-1) 0;
30
+ }
31
+
32
+ .selected-hierarchies__loading {
33
+ color: var(--color-text-secondary);
34
+ padding: var(--spacer-1) 0;
35
+ }
36
+ }