@payloadcms/ui 4.0.0-internal.5d5a2b2 → 4.0.0-internal.688c4d0

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 (493) hide show
  1. package/dist/css/colors.css +107 -60
  2. package/dist/css/radius.css +1 -3
  3. package/dist/css/theme.css +4 -0
  4. package/dist/css/utilities.css +5 -0
  5. package/dist/elements/APIKeyInput/index.css +92 -0
  6. package/dist/elements/APIKeyInput/index.d.ts +14 -0
  7. package/dist/elements/APIKeyInput/index.d.ts.map +1 -0
  8. package/dist/elements/APIKeyInput/index.js +86 -0
  9. package/dist/elements/APIKeyInput/index.js.map +1 -0
  10. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  11. package/dist/elements/AddNewRelation/index.js +85 -103
  12. package/dist/elements/AddNewRelation/index.js.map +1 -1
  13. package/dist/elements/AppHeader/index.d.ts +2 -1
  14. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  15. package/dist/elements/AppHeader/index.js +7 -27
  16. package/dist/elements/AppHeader/index.js.map +1 -1
  17. package/dist/elements/BulkUpload/ActionsBar/index.css +10 -4
  18. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  19. package/dist/elements/BulkUpload/ActionsBar/index.js +43 -40
  20. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/AddFilesView/index.js +1 -1
  22. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/AddingFilesView/index.css +25 -0
  24. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +1 -1
  25. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  26. package/dist/elements/BulkUpload/AddingFilesView/index.js +1 -1
  27. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/EditForm/index.css +9 -0
  29. package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
  30. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  31. package/dist/elements/BulkUpload/EditForm/index.js +1 -1
  32. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  33. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts +1 -1
  34. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  35. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +59 -55
  36. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  37. package/dist/elements/BulkUpload/EditMany/index.css +71 -0
  38. package/dist/elements/BulkUpload/EditMany/index.d.ts +1 -1
  39. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  40. package/dist/elements/BulkUpload/EditMany/index.js +1 -1
  41. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  42. package/dist/elements/BulkUpload/FileSidebar/index.css +54 -75
  43. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  44. package/dist/elements/BulkUpload/FileSidebar/index.js +60 -50
  45. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  46. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  47. package/dist/elements/BulkUpload/FormsManager/index.js +13 -0
  48. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  49. package/dist/elements/Button/index.css +8 -0
  50. package/dist/elements/Chip/index.css +1 -1
  51. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  52. package/dist/elements/CodeEditor/CodeEditor.js +19 -0
  53. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  54. package/dist/elements/ColumnSelector/index.js +1 -1
  55. package/dist/elements/ColumnSelector/index.js.map +1 -1
  56. package/dist/elements/Combobox/index.css +9 -8
  57. package/dist/elements/ConfirmationModal/index.css +7 -0
  58. package/dist/elements/ConfirmationModal/index.d.ts +1 -0
  59. package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
  60. package/dist/elements/ConfirmationModal/index.js +7 -3
  61. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  62. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  63. package/dist/elements/DatePicker/DatePicker.js +4 -2
  64. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  65. package/dist/elements/DatePicker/index.css +5 -0
  66. package/dist/elements/DatePicker/index.js +1 -1
  67. package/dist/elements/DatePicker/index.js.map +1 -1
  68. package/dist/elements/DeleteMany/index.d.ts +3 -26
  69. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  70. package/dist/elements/DeleteMany/index.js +1 -95
  71. package/dist/elements/DeleteMany/index.js.map +1 -1
  72. package/dist/elements/Dialog/DialogModal/index.d.ts +1 -1
  73. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  74. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  75. package/dist/elements/Dialog/index.css +4 -0
  76. package/dist/elements/DocumentControls/index.css +10 -0
  77. package/dist/elements/DocumentControls/index.d.ts +6 -0
  78. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  79. package/dist/elements/DocumentControls/index.js +7 -6
  80. package/dist/elements/DocumentControls/index.js.map +1 -1
  81. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  82. package/dist/elements/DocumentDrawer/DrawerContent.js +10 -6
  83. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  84. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +76 -4
  85. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +7 -1
  86. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  87. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +148 -87
  88. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  89. package/dist/elements/DocumentDrawer/types.d.ts +1 -0
  90. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  91. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  92. package/dist/elements/DocumentFields/index.css +61 -2
  93. package/dist/elements/DraggableSortable/index.js.map +1 -1
  94. package/dist/elements/Drawer/index.css +57 -26
  95. package/dist/elements/Drawer/index.d.ts +25 -0
  96. package/dist/elements/Drawer/index.d.ts.map +1 -1
  97. package/dist/elements/Drawer/index.js +133 -54
  98. package/dist/elements/Drawer/index.js.map +1 -1
  99. package/dist/elements/Drawer/types.d.ts +1 -0
  100. package/dist/elements/Drawer/types.d.ts.map +1 -1
  101. package/dist/elements/Drawer/types.js.map +1 -1
  102. package/dist/elements/EditMany/DrawerContent.d.ts +1 -1
  103. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  104. package/dist/elements/EditMany/DrawerContent.js +76 -71
  105. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  106. package/dist/elements/EditMany/index.css +71 -0
  107. package/dist/elements/EditMany/index.d.ts +9 -11
  108. package/dist/elements/EditMany/index.d.ts.map +1 -1
  109. package/dist/elements/EditMany/index.js +2 -40
  110. package/dist/elements/EditMany/index.js.map +1 -1
  111. package/dist/elements/FieldSelect/index.css +3 -0
  112. package/dist/elements/FileDetails/DraggableFileDetails/index.css +32 -0
  113. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  114. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  115. package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -18
  116. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  117. package/dist/elements/GroupByControl/index.d.ts.map +1 -1
  118. package/dist/elements/GroupByControl/index.js +5 -6
  119. package/dist/elements/GroupByControl/index.js.map +1 -1
  120. package/dist/elements/Hierarchy/Drawer/index.css +3 -21
  121. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +1 -1
  122. package/dist/elements/Hierarchy/Drawer/index.js +5 -3
  123. package/dist/elements/Hierarchy/Drawer/index.js.map +1 -1
  124. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +36 -0
  125. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +1 -1
  126. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
  127. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +1 -1
  128. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
  129. package/dist/elements/Hierarchy/Field/index.client.d.ts +1 -1
  130. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  131. package/dist/elements/Hierarchy/Field/index.client.js +5 -2
  132. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  133. package/dist/elements/Hierarchy/Field/index.css +37 -0
  134. package/dist/elements/Hierarchy/MoveMany/index.d.ts +0 -1
  135. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  136. package/dist/elements/Hierarchy/MoveMany/index.js +0 -1
  137. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  138. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +27 -0
  139. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +1 -1
  140. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +1 -1
  141. package/dist/elements/Hierarchy/Tree/LoadMore/index.js +1 -1
  142. package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +1 -1
  143. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  144. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +36 -16
  145. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  146. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  147. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +20 -15
  148. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  149. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  150. package/dist/elements/ListControls/index.css +5 -0
  151. package/dist/elements/ListControls/index.d.ts.map +1 -1
  152. package/dist/elements/ListControls/index.js +1 -1
  153. package/dist/elements/ListControls/index.js.map +1 -1
  154. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  155. package/dist/elements/ListDrawer/DrawerContent.js +12 -6
  156. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  157. package/dist/elements/ListSelection/index.css +1 -1
  158. package/dist/elements/LoadMoreRow/index.css +34 -0
  159. package/dist/elements/LoadMoreRow/index.d.ts +1 -1
  160. package/dist/elements/LoadMoreRow/index.d.ts.map +1 -1
  161. package/dist/elements/LoadMoreRow/index.js +4 -8
  162. package/dist/elements/LoadMoreRow/index.js.map +1 -1
  163. package/dist/elements/Loading/index.css +28 -74
  164. package/dist/elements/Loading/index.d.ts.map +1 -1
  165. package/dist/elements/Loading/index.js +16 -60
  166. package/dist/elements/Loading/index.js.map +1 -1
  167. package/dist/elements/Localizer/index.d.ts.map +1 -1
  168. package/dist/elements/Localizer/index.js +3 -4
  169. package/dist/elements/Localizer/index.js.map +1 -1
  170. package/dist/elements/MenuSeparator/index.d.ts +4 -0
  171. package/dist/elements/MenuSeparator/index.d.ts.map +1 -0
  172. package/dist/elements/MenuSeparator/index.js +10 -0
  173. package/dist/elements/MenuSeparator/index.js.map +1 -0
  174. package/dist/elements/Nav/index.d.ts.map +1 -1
  175. package/dist/elements/Nav/index.js +4 -23
  176. package/dist/elements/Nav/index.js.map +1 -1
  177. package/dist/elements/Pill/index.css +1 -1
  178. package/dist/elements/PillSelector/index.css +1 -1
  179. package/dist/elements/Popup/PopupButtonList/index.css +43 -4
  180. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  181. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  182. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  183. package/dist/elements/Popup/PopupGroupLabel/index.css +12 -0
  184. package/dist/elements/Popup/index.d.ts +7 -0
  185. package/dist/elements/Popup/index.d.ts.map +1 -1
  186. package/dist/elements/Popup/index.js +125 -59
  187. package/dist/elements/Popup/index.js.map +1 -1
  188. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts +13 -0
  189. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -0
  190. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js +41 -0
  191. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js.map +1 -0
  192. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +1 -0
  193. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  194. package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
  195. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  196. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  197. package/dist/elements/PublishButton/index.js +4 -5
  198. package/dist/elements/PublishButton/index.js.map +1 -1
  199. package/dist/elements/ReactSelect/MultiValue/index.css +1 -1
  200. package/dist/elements/ReactSelect/index.css +53 -52
  201. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  202. package/dist/elements/ReactSelect/index.js +87 -11
  203. package/dist/elements/ReactSelect/index.js.map +1 -1
  204. package/dist/elements/ReactSelect/types.d.ts +6 -1
  205. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  206. package/dist/elements/ReactSelect/types.js.map +1 -1
  207. package/dist/elements/RenderTitle/index.css +10 -0
  208. package/dist/elements/RenderTitle/index.d.ts +5 -0
  209. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  210. package/dist/elements/RenderTitle/index.js +52 -27
  211. package/dist/elements/RenderTitle/index.js.map +1 -1
  212. package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
  213. package/dist/elements/SchedulePublishButton/index.js +6 -1
  214. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  215. package/dist/elements/SelectMany/index.js +1 -1
  216. package/dist/elements/SelectMany/index.js.map +1 -1
  217. package/dist/elements/Spinner/index.css +16 -0
  218. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  219. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +1 -2
  220. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  221. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  222. package/dist/elements/Table/OrderableRow.js +1 -1
  223. package/dist/elements/Table/OrderableRow.js.map +1 -1
  224. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  225. package/dist/elements/Table/RelationshipProvider/index.js +1 -0
  226. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  227. package/dist/elements/Table/index.css +17 -10
  228. package/dist/elements/Tabs/index.css +100 -0
  229. package/dist/elements/Tabs/index.d.ts +32 -0
  230. package/dist/elements/Tabs/index.d.ts.map +1 -0
  231. package/dist/elements/Tabs/index.js +62 -0
  232. package/dist/elements/Tabs/index.js.map +1 -0
  233. package/dist/elements/TimezonePicker/index.css +58 -24
  234. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  235. package/dist/elements/TimezonePicker/index.js +31 -4
  236. package/dist/elements/TimezonePicker/index.js.map +1 -1
  237. package/dist/elements/Tooltip/index.css +20 -4
  238. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  239. package/dist/elements/Tooltip/index.js +71 -3
  240. package/dist/elements/Tooltip/index.js.map +1 -1
  241. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  242. package/dist/elements/UnpublishButton/index.js +5 -13
  243. package/dist/elements/UnpublishButton/index.js.map +1 -1
  244. package/dist/elements/UserMenu/LanguageMenu/index.d.ts +6 -0
  245. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -0
  246. package/dist/elements/UserMenu/LanguageMenu/index.js +133 -0
  247. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -0
  248. package/dist/elements/UserMenu/SettingsMenu/index.d.ts +11 -0
  249. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -0
  250. package/dist/elements/UserMenu/SettingsMenu/index.js +114 -0
  251. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -0
  252. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts +6 -0
  253. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -0
  254. package/dist/elements/UserMenu/SubMenuHeader/index.js +34 -0
  255. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -0
  256. package/dist/elements/UserMenu/ThemeMenu/index.d.ts +6 -0
  257. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -0
  258. package/dist/elements/UserMenu/ThemeMenu/index.js +145 -0
  259. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -0
  260. package/dist/elements/UserMenu/index.css +80 -0
  261. package/dist/elements/UserMenu/index.d.ts +9 -0
  262. package/dist/elements/UserMenu/index.d.ts.map +1 -0
  263. package/dist/elements/UserMenu/index.js +201 -0
  264. package/dist/elements/UserMenu/index.js.map +1 -0
  265. package/dist/elements/WhereBuilder/Condition/index.css +1 -1
  266. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  267. package/dist/elements/WhereBuilder/Condition/index.js +3 -0
  268. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  269. package/dist/exports/client/index.d.ts +12 -1
  270. package/dist/exports/client/index.d.ts.map +1 -1
  271. package/dist/exports/client/index.js +2 -2
  272. package/dist/exports/client/index.js.map +3 -3
  273. package/dist/exports/shared/index.js +2 -2
  274. package/dist/exports/shared/index.js.map +2 -2
  275. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +1 -49
  276. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.d.ts.map +1 -1
  277. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +27 -20
  278. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  279. package/dist/fields/Blocks/BlockSelector/index.css +17 -3
  280. package/dist/fields/Blocks/BlockSelector/index.js +1 -1
  281. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  282. package/dist/fields/Blocks/index.d.ts.map +1 -1
  283. package/dist/fields/Blocks/index.js +6 -11
  284. package/dist/fields/Blocks/index.js.map +1 -1
  285. package/dist/fields/Group/index.css +1 -1
  286. package/dist/fields/Join/index.js +1 -1
  287. package/dist/fields/Join/index.js.map +1 -1
  288. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +3 -3
  289. package/dist/fields/Row/index.d.ts +1 -1
  290. package/dist/fields/Tabs/Tab/index.d.ts +0 -1
  291. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  292. package/dist/fields/Tabs/Tab/index.js +12 -23
  293. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  294. package/dist/fields/Tabs/index.d.ts.map +1 -1
  295. package/dist/fields/Tabs/index.js +37 -37
  296. package/dist/fields/Tabs/index.js.map +1 -1
  297. package/dist/fields/Upload/HasMany/index.css +4 -0
  298. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  299. package/dist/forms/RenderFields/RenderField.js +2 -1
  300. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  301. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -1
  302. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  303. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +1 -1
  304. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  305. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -1
  306. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  307. package/dist/forms/useField/index.js.map +1 -1
  308. package/dist/icons/Dots/index.css +4 -4
  309. package/dist/icons/Gear/index.d.ts.map +1 -1
  310. package/dist/icons/Gear/index.js +8 -1
  311. package/dist/icons/Gear/index.js.map +1 -1
  312. package/dist/icons/InteractionEnter/index.css +5 -0
  313. package/dist/icons/InteractionEnter/index.d.ts +11 -0
  314. package/dist/icons/InteractionEnter/index.d.ts.map +1 -0
  315. package/dist/icons/InteractionEnter/index.js +25 -0
  316. package/dist/icons/InteractionEnter/index.js.map +1 -0
  317. package/dist/icons/{Write → Key}/index.css +1 -1
  318. package/dist/icons/Key/index.d.ts +7 -0
  319. package/dist/icons/Key/index.d.ts.map +1 -0
  320. package/dist/icons/Key/index.js +24 -0
  321. package/dist/icons/Key/index.js.map +1 -0
  322. package/dist/icons/LogOut/index.js +2 -2
  323. package/dist/icons/LogOut/index.js.map +1 -1
  324. package/dist/icons/Schedule/index.d.ts.map +1 -1
  325. package/dist/icons/Schedule/index.js +38 -39
  326. package/dist/icons/Schedule/index.js.map +1 -1
  327. package/dist/icons/VariableColor/index.css +5 -0
  328. package/dist/icons/VariableColor/index.d.ts +7 -0
  329. package/dist/icons/VariableColor/index.d.ts.map +1 -0
  330. package/dist/icons/VariableColor/index.js +23 -0
  331. package/dist/icons/VariableColor/index.js.map +1 -0
  332. package/dist/icons/WarningTriangle/index.css +5 -0
  333. package/dist/icons/WarningTriangle/index.d.ts +6 -0
  334. package/dist/icons/WarningTriangle/index.d.ts.map +1 -0
  335. package/dist/icons/WarningTriangle/index.js +21 -0
  336. package/dist/icons/WarningTriangle/index.js.map +1 -0
  337. package/dist/icons/Write/index.d.ts +0 -1
  338. package/dist/icons/Write/index.d.ts.map +1 -1
  339. package/dist/icons/Write/index.js +1 -2
  340. package/dist/icons/Write/index.js.map +1 -1
  341. package/dist/providers/Auth/index.d.ts +3 -1
  342. package/dist/providers/Auth/index.d.ts.map +1 -1
  343. package/dist/providers/Auth/index.js +8 -3
  344. package/dist/providers/Auth/index.js.map +1 -1
  345. package/dist/providers/Config/index.js.map +1 -1
  346. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  347. package/dist/providers/DocumentInfo/index.js +4 -0
  348. package/dist/providers/DocumentInfo/index.js.map +1 -1
  349. package/dist/providers/DocumentInfo/types.d.ts +4 -0
  350. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  351. package/dist/providers/DocumentInfo/types.js.map +1 -1
  352. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  353. package/dist/providers/ListQuery/index.js +1 -8
  354. package/dist/providers/ListQuery/index.js.map +1 -1
  355. package/dist/providers/Root/index.d.ts.map +1 -1
  356. package/dist/providers/Root/index.js +27 -24
  357. package/dist/providers/Root/index.js.map +1 -1
  358. package/dist/providers/TableColumns/RenderDefaultCell/index.css +1 -0
  359. package/dist/providers/Theme/index.d.ts +17 -2
  360. package/dist/providers/Theme/index.d.ts.map +1 -1
  361. package/dist/providers/Theme/index.js +126 -75
  362. package/dist/providers/Theme/index.js.map +1 -1
  363. package/dist/styles.css +1 -1
  364. package/dist/templates/Default/index.d.ts.map +1 -1
  365. package/dist/templates/Default/index.js +9 -1
  366. package/dist/templates/Default/index.js.map +1 -1
  367. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +1 -2
  368. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  369. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +1 -2
  370. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  371. package/dist/utilities/copyDataFromLocale.js +1 -1
  372. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  373. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  374. package/dist/utilities/formatDocTitle/formatDateTitle.js +1 -1
  375. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  376. package/dist/utilities/getHasScheduledPublish.d.ts +12 -0
  377. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -0
  378. package/dist/utilities/getHasScheduledPublish.js +38 -0
  379. package/dist/utilities/getHasScheduledPublish.js.map +1 -0
  380. package/dist/utilities/getVersions.d.ts.map +1 -1
  381. package/dist/utilities/getVersions.js +1 -21
  382. package/dist/utilities/getVersions.js.map +1 -1
  383. package/dist/utilities/renderTable.js +1 -1
  384. package/dist/utilities/renderTable.js.map +1 -1
  385. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  386. package/dist/utilities/traverseForLocalizedFields.js +3 -0
  387. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  388. package/dist/views/Account/ResetPreferences/index.js +1 -0
  389. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  390. package/dist/views/Account/Settings/index.css +30 -13
  391. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  392. package/dist/views/Account/ToggleTheme/index.js +31 -47
  393. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  394. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  395. package/dist/views/Document/index.d.ts.map +1 -1
  396. package/dist/views/Document/index.js +10 -1
  397. package/dist/views/Document/index.js.map +1 -1
  398. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  399. package/dist/views/Edit/Auth/APIKey.js +10 -32
  400. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  401. package/dist/views/Edit/Auth/index.css +0 -67
  402. package/dist/views/Edit/index.d.ts.map +1 -1
  403. package/dist/views/Edit/index.js +62 -48
  404. package/dist/views/Edit/index.js.map +1 -1
  405. package/dist/views/HierarchyList/DocumentListSelection/index.js +4 -4
  406. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  407. package/dist/views/List/ListHeader/index.css +23 -1
  408. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  409. package/dist/views/List/ListHeader/index.js +0 -1
  410. package/dist/views/List/ListHeader/index.js.map +1 -1
  411. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  412. package/dist/views/List/ListSelection/index.js +80 -29
  413. package/dist/views/List/ListSelection/index.js.map +1 -1
  414. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  415. package/dist/views/List/handleGroupBy.js +9 -0
  416. package/dist/views/List/handleGroupBy.js.map +1 -1
  417. package/dist/views/List/index.client.d.ts.map +1 -1
  418. package/dist/views/List/index.client.js +4 -3
  419. package/dist/views/List/index.client.js.map +1 -1
  420. package/dist/views/List/index.css +15 -0
  421. package/dist/views/List/index.d.ts.map +1 -1
  422. package/dist/views/List/index.js +11 -4
  423. package/dist/views/List/index.js.map +1 -1
  424. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  425. package/dist/views/List/renderListViewSlots.js +8 -0
  426. package/dist/views/List/renderListViewSlots.js.map +1 -1
  427. package/dist/views/Logout/LogoutClient.d.ts +14 -0
  428. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  429. package/dist/views/Logout/LogoutClient.js +38 -32
  430. package/dist/views/Logout/LogoutClient.js.map +1 -1
  431. package/dist/views/Logout/index.d.ts.map +1 -1
  432. package/dist/views/Logout/index.js +7 -2
  433. package/dist/views/Logout/index.js.map +1 -1
  434. package/dist/views/Verify/index.client.d.ts +4 -0
  435. package/dist/views/Verify/index.client.d.ts.map +1 -1
  436. package/dist/views/Verify/index.client.js +81 -0
  437. package/dist/views/Verify/index.client.js.map +1 -1
  438. package/dist/views/Verify/index.css +38 -0
  439. package/dist/views/Verify/index.d.ts +1 -1
  440. package/dist/views/Verify/index.d.ts.map +1 -1
  441. package/dist/views/Verify/index.js +13 -19
  442. package/dist/views/Verify/index.js.map +1 -1
  443. package/dist/views/Version/Default/index.css +3 -5
  444. package/dist/views/Version/Default/index.d.ts.map +1 -1
  445. package/dist/views/Version/Default/index.js +7 -28
  446. package/dist/views/Version/Default/index.js.map +1 -1
  447. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +2 -2
  448. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  449. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  450. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
  451. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +3 -3
  452. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  453. package/dist/views/Version/Restore/index.css +2 -2
  454. package/dist/views/Version/SelectComparison/VersionDrawer/index.css +5 -0
  455. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts +1 -1
  456. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  457. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +1 -2
  458. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  459. package/dist/views/Version/SelectComparison/index.css +5 -0
  460. package/dist/views/Version/SelectComparison/index.d.ts +1 -1
  461. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  462. package/dist/views/Version/SelectComparison/index.js +1 -1
  463. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  464. package/dist/views/Version/SelectLocales/index.d.ts +1 -2
  465. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  466. package/dist/views/Version/SelectLocales/index.js +83 -32
  467. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  468. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  469. package/dist/views/Versions/index.css +20 -13
  470. package/dist/views/Versions/index.d.ts +1 -1
  471. package/dist/views/Versions/index.d.ts.map +1 -1
  472. package/dist/views/Versions/index.js +3 -26
  473. package/dist/views/Versions/index.js.map +1 -1
  474. package/package.json +5 -5
  475. package/dist/elements/BulkUpload/AddingFilesView/index.scss +0 -25
  476. package/dist/elements/BulkUpload/EditForm/index.scss +0 -11
  477. package/dist/elements/BulkUpload/EditMany/index.scss +0 -171
  478. package/dist/elements/EditMany/index.scss +0 -182
  479. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +0 -35
  480. package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +0 -78
  481. package/dist/elements/Hierarchy/Field/index.scss +0 -41
  482. package/dist/elements/Hierarchy/MoveMany/index.scss +0 -7
  483. package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +0 -26
  484. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +0 -7
  485. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +0 -1
  486. package/dist/elements/Hierarchy/Tree/TreeConnector.js +0 -23
  487. package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +0 -1
  488. package/dist/elements/LoadMoreRow/index.scss +0 -45
  489. package/dist/fields/Tabs/Tab/index.css +0 -82
  490. package/dist/views/Unauthorized/index.scss +0 -14
  491. package/dist/views/Verify/index.scss +0 -18
  492. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +0 -18
  493. package/dist/views/Version/SelectComparison/index.scss +0 -9
@@ -14,4 +14,29 @@ export declare const DrawerDepthProvider: React.FC<{
14
14
  children: React.ReactNode;
15
15
  }>;
16
16
  export declare const useDrawerDepth: () => number;
17
+ type DrawerStackContextType = {
18
+ /** Depths of every currently-open drawer, used to compute layer offsets. */
19
+ openDrawerDepths: number[];
20
+ registerDrawer: (uid: string, depth: number) => void;
21
+ unregisterDrawer: (uid: string) => void;
22
+ };
23
+ /**
24
+ * Tracks the depths of all currently-open drawers so each drawer can compute
25
+ * its leftward offset relative to the rest of the open stack.
26
+ *
27
+ * Why this is needed: drawers are anchored to the right edge and stack as real
28
+ * layers. When a child drawer opens on top of its parent(s), every drawer
29
+ * beneath it must slide left to peek out from underneath the active (topmost)
30
+ * drawer — and slide back when that child closes. A drawer's own depth is
31
+ * static, so it cannot know on its own whether something deeper is currently
32
+ * open; that requires shared runtime state about the whole open stack.
33
+ *
34
+ * We track real `Drawer` instances (rather than scanning modal state by slug
35
+ * name) so confirmation modals like `leave-without-saving-...` never count, and
36
+ * so stacking never depends on slug naming conventions.
37
+ */
38
+ export declare const DrawerStackProvider: React.FC<{
39
+ children: React.ReactNode;
40
+ }>;
41
+ export declare const useDrawerStack: () => DrawerStackContextType;
17
42
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Drawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAqE,MAAM,OAAO,CAAA;AAEzF,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAKrD,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,WAAW,MAAM,CAAA;AAE9B,eAAO,MAAM,gBAAgB,GAAI,iBAAiB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,MACzD,CAAA;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAwChD,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAIlC,CAAA;AAkGD,eAAO,MAAM,kBAAkB,uBAAmB,CAAA;AAElD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAKvE,CAAA;AAED,eAAO,MAAM,cAAc,QAAO,MAAiC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Drawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KASN,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAKrD,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,WAAW,MAAM,CAAA;AAE9B,eAAO,MAAM,gBAAgB,GAAI,iBAAiB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,MACzD,CAAA;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAwChD,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAIlC,CAAA;AA2GD,eAAO,MAAM,kBAAkB,uBAAmB,CAAA;AAElD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAKvE,CAAA;AAED,eAAO,MAAM,cAAc,QAAO,MAAiC,CAAA;AAEnE,KAAK,sBAAsB,GAAG;IAC5B,4EAA4E;IAC5E,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACpD,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CACxC,CAAA;AAQD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CA6BvE,CAAA;AAED,eAAO,MAAM,cAAc,QAAO,sBAAiD,CAAA"}
@@ -3,7 +3,7 @@
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import { Modal, useModal } from '@faceless-ui/modal';
6
- import React, { createContext, use, useCallback, useLayoutEffect, useState } from 'react';
6
+ import React, { createContext, use, useCallback, useEffect, useId, useLayoutEffect, useMemo, useState } from 'react';
7
7
  import { ChevronIcon } from '../../icons/Chevron/index.js';
8
8
  import { useTranslation } from '../../providers/Translation/index.js';
9
9
  import { Button } from '../Button/index.js';
@@ -70,7 +70,7 @@ export const Drawer = props => /*#__PURE__*/_jsx(DrawerDepthProvider, {
70
70
  })
71
71
  });
72
72
  const DrawerInner = t0 => {
73
- const $ = _c(23);
73
+ const $ = _c(28);
74
74
  const {
75
75
  slug,
76
76
  children,
@@ -88,65 +88,92 @@ const DrawerInner = t0 => {
88
88
  modalState
89
89
  } = useModal();
90
90
  const drawerDepth = useDrawerDepth();
91
+ const uid = useId();
92
+ const {
93
+ openDrawerDepths,
94
+ registerDrawer,
95
+ unregisterDrawer
96
+ } = useDrawerStack();
91
97
  const isOpen = !!modalState[slug]?.isOpen;
92
- const [animateIn, setAnimateIn] = useState(isOpen);
93
98
  let t1;
94
99
  let t2;
95
- if ($[0] !== isOpen) {
100
+ if ($[0] !== drawerDepth || $[1] !== isOpen || $[2] !== registerDrawer || $[3] !== uid || $[4] !== unregisterDrawer) {
96
101
  t1 = () => {
102
+ if (isOpen) {
103
+ registerDrawer(uid, drawerDepth);
104
+ return () => unregisterDrawer(uid);
105
+ }
106
+ };
107
+ t2 = [isOpen, uid, drawerDepth, registerDrawer, unregisterDrawer];
108
+ $[0] = drawerDepth;
109
+ $[1] = isOpen;
110
+ $[2] = registerDrawer;
111
+ $[3] = uid;
112
+ $[4] = unregisterDrawer;
113
+ $[5] = t1;
114
+ $[6] = t2;
115
+ } else {
116
+ t1 = $[5];
117
+ t2 = $[6];
118
+ }
119
+ useEffect(t1, t2);
120
+ const layersFromTop = openDrawerDepths.filter(depth => depth > drawerDepth).length;
121
+ const [animateIn, setAnimateIn] = useState(isOpen);
122
+ let t3;
123
+ let t4;
124
+ if ($[7] !== isOpen) {
125
+ t3 = () => {
97
126
  setAnimateIn(isOpen);
98
127
  };
99
- t2 = [isOpen];
100
- $[0] = isOpen;
101
- $[1] = t1;
102
- $[2] = t2;
128
+ t4 = [isOpen];
129
+ $[7] = isOpen;
130
+ $[8] = t3;
131
+ $[9] = t4;
103
132
  } else {
104
- t1 = $[1];
105
- t2 = $[2];
133
+ t3 = $[8];
134
+ t4 = $[9];
106
135
  }
107
- useLayoutEffect(t1, t2);
136
+ useLayoutEffect(t3, t4);
108
137
  if (isOpen) {
109
- const t3 = animateIn && `${baseClass}--is-open`;
110
- const t4 = drawerDepth > 1 && `${baseClass}--nested`;
111
- let t5;
112
- if ($[3] !== className || $[4] !== t3 || $[5] !== t4) {
113
- t5 = [className, baseClass, t3, t4].filter(Boolean);
114
- $[3] = className;
115
- $[4] = t3;
116
- $[5] = t4;
117
- $[6] = t5;
138
+ const t5 = animateIn && `${baseClass}--is-open`;
139
+ let t6;
140
+ if ($[10] !== className || $[11] !== t5) {
141
+ t6 = [className, baseClass, t5].filter(Boolean);
142
+ $[10] = className;
143
+ $[11] = t5;
144
+ $[12] = t6;
118
145
  } else {
119
- t5 = $[6];
146
+ t6 = $[12];
120
147
  }
121
- const t6 = t5.join(" ");
122
- const t7 = drawerDepth > 1 ? `calc(${drawerDepth - 1} * var(--spacer-3))` : undefined;
123
- const t8 = drawerZBase + drawerDepth;
124
- let t9;
125
- if ($[7] !== Header || $[8] !== children || $[9] !== closeModal || $[10] !== drawerDepth || $[11] !== headerActions || $[12] !== hoverTitle || $[13] !== slug || $[14] !== t || $[15] !== t6 || $[16] !== t7 || $[17] !== t8 || $[18] !== title) {
126
- let t10;
127
- if ($[20] !== closeModal || $[21] !== slug) {
128
- t10 = () => closeModal(slug);
129
- $[20] = closeModal;
130
- $[21] = slug;
131
- $[22] = t10;
148
+ const t7 = t6.join(" ");
149
+ const t8 = `calc(${layersFromTop} * var(--spacer-3))`;
150
+ const t9 = drawerZBase + drawerDepth;
151
+ let t10;
152
+ if ($[13] !== Header || $[14] !== children || $[15] !== closeModal || $[16] !== headerActions || $[17] !== hoverTitle || $[18] !== slug || $[19] !== t || $[20] !== t7 || $[21] !== t8 || $[22] !== t9 || $[23] !== title) {
153
+ let t11;
154
+ if ($[25] !== closeModal || $[26] !== slug) {
155
+ t11 = () => closeModal(slug);
156
+ $[25] = closeModal;
157
+ $[26] = slug;
158
+ $[27] = t11;
132
159
  } else {
133
- t10 = $[22];
160
+ t11 = $[27];
134
161
  }
135
- t9 = _jsxs(Modal, {
136
- className: t6,
162
+ t10 = _jsxs(Modal, {
163
+ className: t7,
137
164
  closeOnBlur: false,
138
165
  slug,
139
166
  style: {
140
- paddingRight: t7,
141
- zIndex: t8
167
+ "--drawer-layer-offset": t8,
168
+ zIndex: t9
142
169
  },
143
- children: [drawerDepth === 1 && _jsx("div", {
170
+ children: [_jsx("div", {
144
171
  className: `${baseClass}__blur-bg`
145
172
  }), _jsx("button", {
146
173
  "aria-label": t("general:close"),
147
174
  className: `${baseClass}__close`,
148
175
  id: `close-drawer__${slug}`,
149
- onClick: t10,
176
+ onClick: t11,
150
177
  type: "button"
151
178
  }), _jsxs("div", {
152
179
  className: `${baseClass}__content`,
@@ -177,23 +204,22 @@ const DrawerInner = t0 => {
177
204
  })]
178
205
  })]
179
206
  });
180
- $[7] = Header;
181
- $[8] = children;
182
- $[9] = closeModal;
183
- $[10] = drawerDepth;
184
- $[11] = headerActions;
185
- $[12] = hoverTitle;
186
- $[13] = slug;
187
- $[14] = t;
188
- $[15] = t6;
189
- $[16] = t7;
190
- $[17] = t8;
191
- $[18] = title;
192
- $[19] = t9;
207
+ $[13] = Header;
208
+ $[14] = children;
209
+ $[15] = closeModal;
210
+ $[16] = headerActions;
211
+ $[17] = hoverTitle;
212
+ $[18] = slug;
213
+ $[19] = t;
214
+ $[20] = t7;
215
+ $[21] = t8;
216
+ $[22] = t9;
217
+ $[23] = title;
218
+ $[24] = t10;
193
219
  } else {
194
- t9 = $[19];
220
+ t10 = $[24];
195
221
  }
196
- return t9;
222
+ return t10;
197
223
  }
198
224
  return null;
199
225
  };
@@ -220,6 +246,59 @@ export const DrawerDepthProvider = t0 => {
220
246
  return t1;
221
247
  };
222
248
  export const useDrawerDepth = () => use(DrawerDepthContext);
249
+ const DrawerStackContext = /*#__PURE__*/createContext({
250
+ openDrawerDepths: [],
251
+ registerDrawer: () => {},
252
+ unregisterDrawer: () => {}
253
+ });
254
+ /**
255
+ * Tracks the depths of all currently-open drawers so each drawer can compute
256
+ * its leftward offset relative to the rest of the open stack.
257
+ *
258
+ * Why this is needed: drawers are anchored to the right edge and stack as real
259
+ * layers. When a child drawer opens on top of its parent(s), every drawer
260
+ * beneath it must slide left to peek out from underneath the active (topmost)
261
+ * drawer — and slide back when that child closes. A drawer's own depth is
262
+ * static, so it cannot know on its own whether something deeper is currently
263
+ * open; that requires shared runtime state about the whole open stack.
264
+ *
265
+ * We track real `Drawer` instances (rather than scanning modal state by slug
266
+ * name) so confirmation modals like `leave-without-saving-...` never count, and
267
+ * so stacking never depends on slug naming conventions.
268
+ */
269
+ export const DrawerStackProvider = ({
270
+ children
271
+ }) => {
272
+ const [openDrawers, setOpenDrawers] = useState({});
273
+ const registerDrawer = useCallback((uid, depth) => {
274
+ setOpenDrawers(prev => prev[uid] === depth ? prev : {
275
+ ...prev,
276
+ [uid]: depth
277
+ });
278
+ }, []);
279
+ const unregisterDrawer = useCallback(uid_0 => {
280
+ setOpenDrawers(prev_0 => {
281
+ if (!(uid_0 in prev_0)) {
282
+ return prev_0;
283
+ }
284
+ const next = {
285
+ ...prev_0
286
+ };
287
+ delete next[uid_0];
288
+ return next;
289
+ });
290
+ }, []);
291
+ const value = useMemo(() => ({
292
+ openDrawerDepths: Object.values(openDrawers),
293
+ registerDrawer,
294
+ unregisterDrawer
295
+ }), [openDrawers, registerDrawer, unregisterDrawer]);
296
+ return /*#__PURE__*/_jsx(DrawerStackContext, {
297
+ value: value,
298
+ children: children
299
+ });
300
+ };
301
+ export const useDrawerStack = () => use(DrawerStackContext);
223
302
  function _temp(action, i) {
224
303
  return _jsx(Button, {
225
304
  buttonStyle: action.style || "secondary",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","Modal","useModal","React","createContext","use","useCallback","useLayoutEffect","useState","ChevronIcon","useTranslation","Button","baseClass","drawerZBase","formatDrawerSlug","slug","depth","useDrawerSlug","DrawerToggler","t0","$","buttonStyle","children","className","disabled","onClick","rest","openModal","t1","e","handleClick","_jsx","type","Drawer","props","DrawerDepthProvider","DrawerInner","Header","headerActions","hoverTitle","title","t","closeModal","modalState","drawerDepth","useDrawerDepth","isOpen","animateIn","setAnimateIn","t2","t3","t4","t5","filter","Boolean","t6","join","t7","undefined","t8","t9","t10","_jsxs","closeOnBlur","style","paddingRight","zIndex","id","icon","direction","size","length","map","_temp","DrawerDepthContext","parentDepth","value","action","i","margin","label"],"sources":["../../../src/elements/Drawer/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport React, { createContext, use, useCallback, useLayoutEffect, useState } from 'react'\n\nimport type { Props, TogglerProps } from './types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.css'\n\nconst baseClass = 'drawer'\n\nexport const drawerZBase = 100\n\nexport const formatDrawerSlug = ({ slug, depth }: { depth: number; slug: string }): string =>\n `drawer_${depth}_${slug}`\n\nexport { useDrawerSlug } from './useDrawerSlug.js'\n\nexport const DrawerToggler: React.FC<TogglerProps> = ({\n slug,\n buttonStyle,\n children,\n className,\n disabled,\n onClick,\n ...rest\n}) => {\n const { openModal } = useModal()\n\n const handleClick = useCallback(\n (e) => {\n openModal(slug)\n if (typeof onClick === 'function') {\n onClick(e)\n }\n },\n [openModal, slug, onClick],\n )\n\n if (buttonStyle) {\n return (\n <Button\n buttonStyle={buttonStyle}\n className={className}\n disabled={disabled}\n onClick={handleClick}\n {...rest}\n >\n {children}\n </Button>\n )\n }\n\n return (\n <button className={className} disabled={disabled} onClick={handleClick} type=\"button\" {...rest}>\n {children}\n </button>\n )\n}\n\nexport const Drawer: React.FC<Props> = (props) => (\n <DrawerDepthProvider>\n <DrawerInner {...props} />\n </DrawerDepthProvider>\n)\n\nconst DrawerInner: React.FC<Props> = ({\n slug,\n children,\n className,\n Header,\n headerActions,\n hoverTitle,\n title,\n}) => {\n const { t } = useTranslation()\n const { closeModal, modalState } = useModal()\n const drawerDepth = useDrawerDepth()\n\n const isOpen = !!modalState[slug]?.isOpen\n\n const [animateIn, setAnimateIn] = useState(isOpen)\n\n useLayoutEffect(() => {\n setAnimateIn(isOpen)\n }, [isOpen])\n\n if (isOpen) {\n // IMPORTANT: do not render the drawer until it is explicitly open, this is to avoid large html trees especially when nesting drawers\n return (\n <Modal\n className={[\n className,\n baseClass,\n animateIn && `${baseClass}--is-open`,\n drawerDepth > 1 && `${baseClass}--nested`,\n ]\n .filter(Boolean)\n .join(' ')}\n // Fixes https://github.com/payloadcms/payload/issues/13778\n closeOnBlur={false}\n slug={slug}\n style={{\n paddingRight: drawerDepth > 1 ? `calc(${drawerDepth - 1} * var(--spacer-3))` : undefined,\n zIndex: drawerZBase + drawerDepth,\n }}\n >\n {drawerDepth === 1 && <div className={`${baseClass}__blur-bg`} />}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__close`}\n id={`close-drawer__${slug}`}\n onClick={() => closeModal(slug)}\n type=\"button\"\n />\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__blur-bg-content`} />\n <div className={`${baseClass}__content-children`}>\n {Header}\n {Header === undefined && (\n <div className={`${baseClass}__header`}>\n {/* TODO: the `button` HTML element breaks CSS transitions on the drawer for some reason...\n i.e. changing to a `div` element will fix the animation issue but will break accessibility\n */}\n <Button\n aria-label={t('general:close')}\n buttonStyle=\"ghost\"\n className={`${baseClass}__header__close`}\n icon={<ChevronIcon direction=\"left\" size={24} />}\n onClick={() => closeModal(slug)}\n />\n <h2 className={`${baseClass}__header__title`} title={hoverTitle ? title : null}>\n {title}\n </h2>\n {headerActions && headerActions.length > 0 && (\n <div className={`${baseClass}__header__actions`}>\n {headerActions.map((action, i) => (\n <Button\n buttonStyle={action.style || 'secondary'}\n disabled={action.disabled}\n key={i}\n margin={false}\n onClick={action.onClick}\n size=\"medium\"\n >\n {action.label}\n </Button>\n ))}\n </div>\n )}\n </div>\n )}\n {children}\n </div>\n </div>\n </Modal>\n )\n }\n\n return null\n}\n\nexport const DrawerDepthContext = createContext(0)\n\nexport const DrawerDepthProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const parentDepth = useDrawerDepth()\n const depth = parentDepth + 1\n\n return <DrawerDepthContext value={depth}>{children}</DrawerDepthContext>\n}\n\nexport const useDrawerDepth = (): number => use(DrawerDepthContext)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","Modal","useModal","React","createContext","use","useCallback","useEffect","useId","useLayoutEffect","useMemo","useState","ChevronIcon","useTranslation","Button","baseClass","drawerZBase","formatDrawerSlug","slug","depth","useDrawerSlug","DrawerToggler","t0","$","buttonStyle","children","className","disabled","onClick","rest","openModal","t1","e","handleClick","_jsx","type","Drawer","props","DrawerDepthProvider","DrawerInner","Header","headerActions","hoverTitle","title","t","closeModal","modalState","drawerDepth","useDrawerDepth","uid","openDrawerDepths","registerDrawer","unregisterDrawer","useDrawerStack","isOpen","t2","layersFromTop","filter","length","animateIn","setAnimateIn","t3","t4","t5","t6","Boolean","t7","join","t8","t9","t10","t11","_jsxs","closeOnBlur","style","zIndex","id","undefined","icon","direction","size","map","_temp","DrawerDepthContext","parentDepth","value","DrawerStackContext","DrawerStackProvider","openDrawers","setOpenDrawers","prev","next","Object","values","action","i","margin","label"],"sources":["../../../src/elements/Drawer/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport React, {\n createContext,\n use,\n useCallback,\n useEffect,\n useId,\n useLayoutEffect,\n useMemo,\n useState,\n} from 'react'\n\nimport type { Props, TogglerProps } from './types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.css'\n\nconst baseClass = 'drawer'\n\nexport const drawerZBase = 100\n\nexport const formatDrawerSlug = ({ slug, depth }: { depth: number; slug: string }): string =>\n `drawer_${depth}_${slug}`\n\nexport { useDrawerSlug } from './useDrawerSlug.js'\n\nexport const DrawerToggler: React.FC<TogglerProps> = ({\n slug,\n buttonStyle,\n children,\n className,\n disabled,\n onClick,\n ...rest\n}) => {\n const { openModal } = useModal()\n\n const handleClick = useCallback(\n (e) => {\n openModal(slug)\n if (typeof onClick === 'function') {\n onClick(e)\n }\n },\n [openModal, slug, onClick],\n )\n\n if (buttonStyle) {\n return (\n <Button\n buttonStyle={buttonStyle}\n className={className}\n disabled={disabled}\n onClick={handleClick}\n {...rest}\n >\n {children}\n </Button>\n )\n }\n\n return (\n <button className={className} disabled={disabled} onClick={handleClick} type=\"button\" {...rest}>\n {children}\n </button>\n )\n}\n\nexport const Drawer: React.FC<Props> = (props) => (\n <DrawerDepthProvider>\n <DrawerInner {...props} />\n </DrawerDepthProvider>\n)\n\nconst DrawerInner: React.FC<Props> = ({\n slug,\n children,\n className,\n Header,\n headerActions,\n hoverTitle,\n title,\n}) => {\n const { t } = useTranslation()\n const { closeModal, modalState } = useModal()\n const drawerDepth = useDrawerDepth()\n const uid = useId()\n const { openDrawerDepths, registerDrawer, unregisterDrawer } = useDrawerStack()\n\n const isOpen = !!modalState[slug]?.isOpen\n\n useEffect(() => {\n if (isOpen) {\n registerDrawer(uid, drawerDepth)\n\n return () => unregisterDrawer(uid)\n }\n }, [isOpen, uid, drawerDepth, registerDrawer, unregisterDrawer])\n\n const layersFromTop = openDrawerDepths.filter((depth) => depth > drawerDepth).length\n\n const [animateIn, setAnimateIn] = useState(isOpen)\n\n useLayoutEffect(() => {\n setAnimateIn(isOpen)\n }, [isOpen])\n\n if (isOpen) {\n // IMPORTANT: do not render the drawer until it is explicitly open, this is to avoid large html trees especially when nesting drawers\n return (\n <Modal\n className={[className, baseClass, animateIn && `${baseClass}--is-open`]\n .filter(Boolean)\n .join(' ')}\n // Fixes https://github.com/payloadcms/payload/issues/13778\n closeOnBlur={false}\n slug={slug}\n style={\n {\n '--drawer-layer-offset': `calc(${layersFromTop} * var(--spacer-3))`,\n zIndex: drawerZBase + drawerDepth,\n } as React.CSSProperties\n }\n >\n <div className={`${baseClass}__blur-bg`} />\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__close`}\n id={`close-drawer__${slug}`}\n onClick={() => closeModal(slug)}\n type=\"button\"\n />\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__blur-bg-content`} />\n <div className={`${baseClass}__content-children`}>\n {Header}\n {Header === undefined && (\n <div className={`${baseClass}__header`}>\n {/* TODO: the `button` HTML element breaks CSS transitions on the drawer for some reason...\n i.e. changing to a `div` element will fix the animation issue but will break accessibility\n */}\n <Button\n aria-label={t('general:close')}\n buttonStyle=\"ghost\"\n className={`${baseClass}__header__close`}\n icon={<ChevronIcon direction=\"left\" size={24} />}\n onClick={() => closeModal(slug)}\n />\n <h2 className={`${baseClass}__header__title`} title={hoverTitle ? title : null}>\n {title}\n </h2>\n {headerActions && headerActions.length > 0 && (\n <div className={`${baseClass}__header__actions`}>\n {headerActions.map((action, i) => (\n <Button\n buttonStyle={action.style || 'secondary'}\n disabled={action.disabled}\n key={i}\n margin={false}\n onClick={action.onClick}\n size=\"medium\"\n >\n {action.label}\n </Button>\n ))}\n </div>\n )}\n </div>\n )}\n {children}\n </div>\n </div>\n </Modal>\n )\n }\n\n return null\n}\n\nexport const DrawerDepthContext = createContext(0)\n\nexport const DrawerDepthProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const parentDepth = useDrawerDepth()\n const depth = parentDepth + 1\n\n return <DrawerDepthContext value={depth}>{children}</DrawerDepthContext>\n}\n\nexport const useDrawerDepth = (): number => use(DrawerDepthContext)\n\ntype DrawerStackContextType = {\n /** Depths of every currently-open drawer, used to compute layer offsets. */\n openDrawerDepths: number[]\n registerDrawer: (uid: string, depth: number) => void\n unregisterDrawer: (uid: string) => void\n}\n\nconst DrawerStackContext = createContext<DrawerStackContextType>({\n openDrawerDepths: [],\n registerDrawer: () => {},\n unregisterDrawer: () => {},\n})\n\n/**\n * Tracks the depths of all currently-open drawers so each drawer can compute\n * its leftward offset relative to the rest of the open stack.\n *\n * Why this is needed: drawers are anchored to the right edge and stack as real\n * layers. When a child drawer opens on top of its parent(s), every drawer\n * beneath it must slide left to peek out from underneath the active (topmost)\n * drawer — and slide back when that child closes. A drawer's own depth is\n * static, so it cannot know on its own whether something deeper is currently\n * open; that requires shared runtime state about the whole open stack.\n *\n * We track real `Drawer` instances (rather than scanning modal state by slug\n * name) so confirmation modals like `leave-without-saving-...` never count, and\n * so stacking never depends on slug naming conventions.\n */\nexport const DrawerStackProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [openDrawers, setOpenDrawers] = useState<Record<string, number>>({})\n\n const registerDrawer = useCallback((uid: string, depth: number) => {\n setOpenDrawers((prev) => (prev[uid] === depth ? prev : { ...prev, [uid]: depth }))\n }, [])\n\n const unregisterDrawer = useCallback((uid: string) => {\n setOpenDrawers((prev) => {\n if (!(uid in prev)) {\n return prev\n }\n\n const next = { ...prev }\n delete next[uid]\n return next\n })\n }, [])\n\n const value = useMemo<DrawerStackContextType>(\n () => ({\n openDrawerDepths: Object.values(openDrawers),\n registerDrawer,\n unregisterDrawer,\n }),\n [openDrawers, registerDrawer, unregisterDrawer],\n )\n\n return <DrawerStackContext value={value}>{children}</DrawerStackContext>\n}\n\nexport const useDrawerStack = (): DrawerStackContextType => use(DrawerStackContext)\n"],"mappings":"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","ignoreList":[]}
@@ -21,5 +21,6 @@ export type TogglerProps = {
21
21
  disabled?: boolean;
22
22
  extraButtonProps?: Record<string, any>;
23
23
  slug: string;
24
+ tooltip?: string;
24
25
  } & HTMLAttributes<HTMLButtonElement>;
25
26
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/Drawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,CAAA;CACvF,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAA;IAC1D,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,CAAA;IACnF,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtC,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/Drawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,CAAA;CACvF,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAA;IAC1D,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,CAAA;IACnF,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/Drawer/types.ts"],"sourcesContent":["import type { HTMLAttributes } from 'react'\n\nexport type DrawerHeaderAction = {\n readonly disabled?: boolean\n readonly label: string\n readonly onClick: () => void\n readonly style?: 'dashed' | 'destructive' | 'ghost' | 'pill' | 'primary' | 'secondary'\n}\n\nexport type Props = {\n readonly children: React.ReactNode\n readonly className?: string\n readonly Header?: React.ReactNode\n readonly headerActions?: ReadonlyArray<DrawerHeaderAction>\n readonly hoverTitle?: boolean\n readonly slug: string\n readonly title?: string\n}\n\nexport type TogglerProps = {\n buttonStyle?: 'dashed' | 'destructive' | 'ghost' | 'pill' | 'primary' | 'secondary'\n children: React.ReactNode\n className?: string\n disabled?: boolean\n extraButtonProps?: Record<string, any>\n slug: string\n} & HTMLAttributes<HTMLButtonElement>\n"],"mappings":"AAmBA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/Drawer/types.ts"],"sourcesContent":["import type { HTMLAttributes } from 'react'\n\nexport type DrawerHeaderAction = {\n readonly disabled?: boolean\n readonly label: string\n readonly onClick: () => void\n readonly style?: 'dashed' | 'destructive' | 'ghost' | 'pill' | 'primary' | 'secondary'\n}\n\nexport type Props = {\n readonly children: React.ReactNode\n readonly className?: string\n readonly Header?: React.ReactNode\n readonly headerActions?: ReadonlyArray<DrawerHeaderAction>\n readonly hoverTitle?: boolean\n readonly slug: string\n readonly title?: string\n}\n\nexport type TogglerProps = {\n buttonStyle?: 'dashed' | 'destructive' | 'ghost' | 'pill' | 'primary' | 'secondary'\n children: React.ReactNode\n className?: string\n disabled?: boolean\n extraButtonProps?: Record<string, any>\n slug: string\n tooltip?: string\n} & HTMLAttributes<HTMLButtonElement>\n"],"mappings":"AAmBA","ignoreList":[]}
@@ -2,7 +2,7 @@ import type { Where } from 'payload';
2
2
  import React from 'react';
3
3
  import type { FieldOption } from '../FieldSelect/reduceFieldOptions.js';
4
4
  import type { EditManyProps } from './index.js';
5
- import './index.scss';
5
+ import './index.css';
6
6
  import '../../forms/RenderFields/index.css';
7
7
  type EditManyDrawerContentProps = {
8
8
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,KAAK,EAAE,MAAM,SAAS,CAAA;AAWhD,OAAO,KAAoD,MAAM,OAAO,CAAA;AAIxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAmB/C,OAAO,cAAc,CAAA;AACrB,OAAO,oCAAoC,CAAA;AA+E3C,KAAK,0BAA0B,GAAG;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,cAAc,EAAE,WAAW,EAAE,CAAA;IAC7B;;OAEG;IACH,iBAAiB,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;IAClD,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,aAAa,CAAA;AAEjB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAiRtE,CAAA"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,KAAK,EAAE,MAAM,SAAS,CAAA;AAWhD,OAAO,KAAoD,MAAM,OAAO,CAAA;AAIxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAoB/C,OAAO,aAAa,CAAA;AACpB,OAAO,oCAAoC,CAAA;AAqF3C,KAAK,0BAA0B,GAAG;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,cAAc,EAAE,WAAW,EAAE,CAAA;IAC7B;;OAEG;IACH,iBAAiB,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;IAClD,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,aAAa,CAAA;AAEjB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA+QtE,CAAA"}
@@ -11,7 +11,7 @@ import { useForm } from '../../forms/Form/context.js';
11
11
  import { Form } from '../../forms/Form/index.js';
12
12
  import { RenderField } from '../../forms/RenderFields/RenderField.js';
13
13
  import { FormSubmit } from '../../forms/Submit/index.js';
14
- import { XIcon } from '../../icons/X/index.js';
14
+ import { ChevronIcon } from '../../icons/Chevron/index.js';
15
15
  import { useAuth } from '../../providers/Auth/index.js';
16
16
  import { useConfig } from '../../providers/Config/index.js';
17
17
  import { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js';
@@ -22,9 +22,10 @@ import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
22
22
  import { useTranslation } from '../../providers/Translation/index.js';
23
23
  import { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js';
24
24
  import { parseSearchParams } from '../../utilities/parseSearchParams.js';
25
+ import { Button } from '../Button/index.js';
25
26
  import { FieldSelect } from '../FieldSelect/index.js';
26
27
  import { baseClass } from './index.js';
27
- import './index.scss';
28
+ import './index.css';
28
29
  import '../../forms/RenderFields/index.css';
29
30
  const Submit = t0 => {
30
31
  const $ = _c(7);
@@ -60,6 +61,7 @@ const Submit = t0 => {
60
61
  className: `${baseClass}__save`,
61
62
  disabled,
62
63
  onClick: save,
64
+ size: "medium",
63
65
  children: t("general:save")
64
66
  });
65
67
  $[3] = disabled;
@@ -108,6 +110,7 @@ const PublishButton = t0 => {
108
110
  className: `${baseClass}__publish`,
109
111
  disabled,
110
112
  onClick: save,
113
+ size: "medium",
111
114
  children: t("version:publishChanges")
112
115
  });
113
116
  $[3] = disabled;
@@ -157,6 +160,7 @@ const SaveDraftButton = t0 => {
157
160
  className: `${baseClass}__draft`,
158
161
  disabled,
159
162
  onClick: save,
163
+ size: "medium",
160
164
  children: t("version:saveDraft")
161
165
  });
162
166
  $[3] = disabled;
@@ -325,6 +329,10 @@ export const EditManyDrawerContent = props => {
325
329
  });
326
330
  setIsInitializing(false);
327
331
  }, [getFormState, collection.slug, collectionPermissions, setSelectedFields]);
332
+ const title = t('general:editingLabel', {
333
+ count,
334
+ label: getTranslation(count > 1 ? plural : singular, i18n)
335
+ });
328
336
  return /*#__PURE__*/_jsx(DocumentInfoProvider, {
329
337
  collectionSlug: collection.slug,
330
338
  currentEditor: user,
@@ -338,82 +346,79 @@ export const EditManyDrawerContent = props => {
338
346
  versionCount: 0,
339
347
  children: /*#__PURE__*/_jsx(OperationContext, {
340
348
  value: "update",
341
- children: /*#__PURE__*/_jsxs("div", {
342
- className: `${baseClass}__main`,
349
+ children: /*#__PURE__*/_jsxs(Form, {
350
+ className: `${baseClass}__form`,
351
+ isInitializing: isInitializing,
352
+ onChange: [onChange],
353
+ onSuccess: onSuccess,
343
354
  children: [/*#__PURE__*/_jsxs("div", {
344
355
  className: `${baseClass}__header`,
345
- children: [/*#__PURE__*/_jsx("h2", {
346
- className: `${baseClass}__header__title`,
347
- children: t('general:editingLabel', {
348
- count,
349
- label: getTranslation(count > 1 ? plural : singular, i18n)
350
- })
351
- }), /*#__PURE__*/_jsx("button", {
356
+ children: [/*#__PURE__*/_jsx(Button, {
352
357
  "aria-label": t('general:close'),
358
+ buttonStyle: "ghost",
353
359
  className: `${baseClass}__header__close`,
354
- id: `close-drawer__${drawerSlug}`,
355
- onClick: () => closeModal(drawerSlug),
356
- type: "button",
357
- children: /*#__PURE__*/_jsx(XIcon, {})
360
+ icon: /*#__PURE__*/_jsx(ChevronIcon, {
361
+ direction: "left",
362
+ size: 24
363
+ }),
364
+ onClick: () => closeModal(drawerSlug)
365
+ }), /*#__PURE__*/_jsx("h2", {
366
+ className: `${baseClass}__header__title`,
367
+ title: title,
368
+ children: title
369
+ }), /*#__PURE__*/_jsx("div", {
370
+ className: `${baseClass}__header__actions`,
371
+ children: collection?.versions?.drafts ? /*#__PURE__*/_jsxs(React.Fragment, {
372
+ children: [/*#__PURE__*/_jsx(SaveDraftButton, {
373
+ action: formatAdminURL({
374
+ apiRoute,
375
+ path: `/${collection.slug}${queryString}&draft=true`
376
+ }),
377
+ disabled: selectedFields.length === 0
378
+ }), /*#__PURE__*/_jsx(PublishButton, {
379
+ action: formatAdminURL({
380
+ apiRoute,
381
+ path: `/${collection.slug}${queryString}&draft=true`
382
+ }),
383
+ disabled: selectedFields.length === 0
384
+ })]
385
+ }) : /*#__PURE__*/_jsx(Submit, {
386
+ action: formatAdminURL({
387
+ apiRoute,
388
+ path: `/${collection.slug}${queryString}`
389
+ }),
390
+ disabled: selectedFields.length === 0
391
+ })
358
392
  })]
359
- }), /*#__PURE__*/_jsxs(Form, {
360
- className: `${baseClass}__form`,
361
- isInitializing: isInitializing,
362
- onChange: [onChange],
363
- onSuccess: onSuccess,
364
- children: [/*#__PURE__*/_jsx(FieldSelect, {
365
- fields: fields,
366
- onChange: onFieldSelect,
367
- permissions: collectionPermissions.fields
368
- }), selectedFields.length === 0 ? null : /*#__PURE__*/_jsx("div", {
369
- className: "render-fields",
370
- children: selectedFields.map((option_1, i) => {
371
- const {
372
- value: {
373
- field,
374
- fieldPermissions,
375
- path
376
- }
377
- } = option_1;
378
- return /*#__PURE__*/_jsx(RenderField, {
379
- clientFieldConfig: field,
380
- indexPath: "",
381
- parentPath: "",
382
- parentSchemaPath: "",
383
- path: path,
384
- permissions: fieldPermissions
385
- }, `${path}-${i}`);
393
+ }), /*#__PURE__*/_jsxs("div", {
394
+ className: `${baseClass}__body`,
395
+ children: [/*#__PURE__*/_jsx("div", {
396
+ className: `${baseClass}__select-fields`,
397
+ children: /*#__PURE__*/_jsx(FieldSelect, {
398
+ fields: fields,
399
+ onChange: onFieldSelect,
400
+ permissions: collectionPermissions.fields
386
401
  })
387
- }), /*#__PURE__*/_jsx("div", {
388
- className: `${baseClass}__sidebar-wrap`,
402
+ }), selectedFields.length === 0 ? null : /*#__PURE__*/_jsx("div", {
403
+ className: `${baseClass}__edit`,
389
404
  children: /*#__PURE__*/_jsx("div", {
390
- className: `${baseClass}__sidebar`,
391
- children: /*#__PURE__*/_jsx("div", {
392
- className: `${baseClass}__sidebar-sticky-wrap`,
393
- children: /*#__PURE__*/_jsx("div", {
394
- className: `${baseClass}__document-actions`,
395
- children: collection?.versions?.drafts ? /*#__PURE__*/_jsxs(React.Fragment, {
396
- children: [/*#__PURE__*/_jsx(SaveDraftButton, {
397
- action: formatAdminURL({
398
- apiRoute,
399
- path: `/${collection.slug}${queryString}&draft=true`
400
- }),
401
- disabled: selectedFields.length === 0
402
- }), /*#__PURE__*/_jsx(PublishButton, {
403
- action: formatAdminURL({
404
- apiRoute,
405
- path: `/${collection.slug}${queryString}&draft=true`
406
- }),
407
- disabled: selectedFields.length === 0
408
- })]
409
- }) : /*#__PURE__*/_jsx(Submit, {
410
- action: formatAdminURL({
411
- apiRoute,
412
- path: `/${collection.slug}${queryString}`
413
- }),
414
- disabled: selectedFields.length === 0
415
- })
416
- })
405
+ className: "render-fields",
406
+ children: selectedFields.map((option_1, i) => {
407
+ const {
408
+ value: {
409
+ field,
410
+ fieldPermissions,
411
+ path
412
+ }
413
+ } = option_1;
414
+ return /*#__PURE__*/_jsx(RenderField, {
415
+ clientFieldConfig: field,
416
+ indexPath: "",
417
+ parentPath: "",
418
+ parentSchemaPath: "",
419
+ path: path,
420
+ permissions: fieldPermissions
421
+ }, `${path}-${i}`);
417
422
  })
418
423
  })
419
424
  })]