@payloadcms/ui 4.0.0-canary.3 → 4.0.0-canary.5

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 (458) hide show
  1. package/dist/css/colors.css +3 -0
  2. package/dist/css/utilities.css +3 -2
  3. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  4. package/dist/elements/AppHeader/index.js +7 -0
  5. package/dist/elements/AppHeader/index.js.map +1 -1
  6. package/dist/elements/ArrayAction/index.js +2 -2
  7. package/dist/elements/ArrayAction/index.js.map +1 -1
  8. package/dist/elements/BulkUpload/ActionsBar/index.css +4 -8
  9. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +1 -5
  10. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  11. package/dist/elements/BulkUpload/ActionsBar/index.js +15 -22
  12. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  13. package/dist/elements/BulkUpload/AddFilesView/index.css +14 -8
  14. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -2
  15. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  16. package/dist/elements/BulkUpload/AddFilesView/index.js +41 -36
  17. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  18. package/dist/elements/BulkUpload/AddingFilesView/index.css +158 -6
  19. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +5 -1
  20. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  21. package/dist/elements/BulkUpload/AddingFilesView/index.js +134 -65
  22. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
  24. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  25. package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
  26. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  27. package/dist/elements/BulkUpload/EditForm/index.js +16 -17
  28. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  29. package/dist/elements/BulkUpload/EditForm/types.d.ts +2 -3
  30. package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -1
  31. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  32. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  33. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +78 -64
  34. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  35. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  36. package/dist/elements/BulkUpload/EditMany/index.js +28 -10
  37. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  38. package/dist/elements/BulkUpload/FileSidebar/index.css +63 -143
  39. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  40. package/dist/elements/BulkUpload/FileSidebar/index.js +42 -175
  41. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  42. package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
  43. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  44. package/dist/elements/BulkUpload/index.css +48 -0
  45. package/dist/elements/BulkUpload/index.d.ts +6 -5
  46. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  47. package/dist/elements/BulkUpload/index.js +42 -41
  48. package/dist/elements/BulkUpload/index.js.map +1 -1
  49. package/dist/elements/Button/index.d.ts.map +1 -1
  50. package/dist/elements/Button/index.js +5 -0
  51. package/dist/elements/Button/index.js.map +1 -1
  52. package/dist/elements/Card/index.css +1 -1
  53. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  54. package/dist/elements/ClipboardAction/index.js +1 -0
  55. package/dist/elements/ClipboardAction/index.js.map +1 -1
  56. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  57. package/dist/elements/Collapsible/index.js +2 -0
  58. package/dist/elements/Collapsible/index.js.map +1 -1
  59. package/dist/elements/ColumnSelection/Popup.d.ts +12 -0
  60. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -0
  61. package/dist/elements/{ColumnSelector/index.js → ColumnSelection/Popup.js} +23 -12
  62. package/dist/elements/ColumnSelection/Popup.js.map +1 -0
  63. package/dist/elements/ColumnSelection/index.d.ts +10 -0
  64. package/dist/elements/ColumnSelection/index.d.ts.map +1 -0
  65. package/dist/elements/{ColumnsButton → ColumnSelection}/index.js +23 -17
  66. package/dist/elements/ColumnSelection/index.js.map +1 -0
  67. package/dist/elements/CopyLocaleData/index.js +1 -1
  68. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  69. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  70. package/dist/elements/CreateDocumentButton/index.js +0 -1
  71. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  72. package/dist/elements/DatePicker/index.css +8 -8
  73. package/dist/elements/Dialog/DialogHeader/index.d.ts +4 -0
  74. package/dist/elements/Dialog/DialogHeader/index.d.ts.map +1 -1
  75. package/dist/elements/Dialog/DialogHeader/index.js +45 -30
  76. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
  77. package/dist/elements/Dialog/DialogModal/index.d.ts +5 -0
  78. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  79. package/dist/elements/Dialog/DialogModal/index.js +58 -31
  80. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  81. package/dist/elements/Dialog/DialogTitle/index.css +9 -0
  82. package/dist/elements/Dialog/DialogTitle/index.d.ts +5 -0
  83. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -0
  84. package/dist/elements/Dialog/DialogTitle/index.js +10 -0
  85. package/dist/elements/Dialog/DialogTitle/index.js.map +1 -0
  86. package/dist/elements/Dialog/index.css +7 -1
  87. package/dist/elements/DocumentControls/index.css +1 -1
  88. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  89. package/dist/elements/DocumentControls/index.js +13 -3
  90. package/dist/elements/DocumentControls/index.js.map +1 -1
  91. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  92. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +5 -3
  93. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  94. package/dist/elements/DocumentFields/index.css +5 -2
  95. package/dist/elements/DocumentFields/index.d.ts +5 -0
  96. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  97. package/dist/elements/DocumentFields/index.js +9 -1
  98. package/dist/elements/DocumentFields/index.js.map +1 -1
  99. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts +12 -0
  100. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts.map +1 -0
  101. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +28 -0
  102. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -0
  103. package/dist/elements/DocumentHeader/index.js +2 -3
  104. package/dist/elements/DocumentHeader/index.js.map +1 -1
  105. package/dist/elements/DraggableSortable/DragOverlayPreview/index.css +1 -1
  106. package/dist/elements/DrawerActionHeader/index.css +1 -1
  107. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.css +7 -1
  108. package/dist/elements/DrawerHeader/index.d.ts +10 -0
  109. package/dist/elements/DrawerHeader/index.d.ts.map +1 -0
  110. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.js +16 -11
  111. package/dist/elements/DrawerHeader/index.js.map +1 -0
  112. package/dist/elements/Dropzone/index.css +5 -13
  113. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +1 -1
  114. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  115. package/dist/elements/EditUpload/index.css +97 -158
  116. package/dist/elements/EditUpload/index.d.ts +2 -1
  117. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  118. package/dist/elements/EditUpload/index.js +205 -231
  119. package/dist/elements/EditUpload/index.js.map +1 -1
  120. package/dist/elements/EditUpload/{library.scss → library.css} +108 -46
  121. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  122. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  123. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  124. package/dist/elements/FileDetails/FileMeta/index.css +27 -0
  125. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  126. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  127. package/dist/elements/FileDetails/FileMeta/index.js +1 -1
  128. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  129. package/dist/elements/FileDetails/StaticFileDetails/index.css +140 -0
  130. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +2 -2
  131. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  132. package/dist/elements/FileDetails/StaticFileDetails/index.js +1 -1
  133. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  134. package/dist/elements/FileDetails/index.d.ts +1 -1
  135. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  136. package/dist/elements/FileDetails/index.js.map +1 -1
  137. package/dist/elements/FileManager/FilePreview/AudioPreview/index.css +8 -0
  138. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts +10 -0
  139. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts.map +1 -0
  140. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js +24 -0
  141. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js.map +1 -0
  142. package/dist/elements/FileManager/FilePreview/PdfPreview/index.css +9 -0
  143. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts +12 -0
  144. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts.map +1 -0
  145. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js +27 -0
  146. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js.map +1 -0
  147. package/dist/elements/FileManager/FilePreview/VideoPreview/index.css +8 -0
  148. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts +10 -0
  149. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts.map +1 -0
  150. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js +24 -0
  151. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js.map +1 -0
  152. package/dist/elements/FileManager/FilePreview/index.css +83 -0
  153. package/dist/elements/FileManager/FilePreview/index.d.ts +13 -0
  154. package/dist/elements/FileManager/FilePreview/index.d.ts.map +1 -0
  155. package/dist/elements/FileManager/FilePreview/index.js +140 -0
  156. package/dist/elements/FileManager/FilePreview/index.js.map +1 -0
  157. package/dist/elements/FileManager/FileToolbar/index.css +91 -0
  158. package/dist/elements/FileManager/FileToolbar/index.d.ts +14 -0
  159. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -0
  160. package/dist/elements/FileManager/FileToolbar/index.js +106 -0
  161. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -0
  162. package/dist/elements/FileManager/index.css +154 -0
  163. package/dist/elements/FileManager/index.d.ts +19 -0
  164. package/dist/elements/FileManager/index.d.ts.map +1 -0
  165. package/dist/elements/FileManager/index.js +424 -0
  166. package/dist/elements/FileManager/index.js.map +1 -0
  167. package/dist/elements/GroupBy/Popup.d.ts +21 -0
  168. package/dist/elements/GroupBy/Popup.d.ts.map +1 -0
  169. package/dist/elements/GroupBy/Popup.js +268 -0
  170. package/dist/elements/GroupBy/Popup.js.map +1 -0
  171. package/dist/elements/GroupBy/index.d.ts +12 -0
  172. package/dist/elements/GroupBy/index.d.ts.map +1 -0
  173. package/dist/elements/GroupBy/index.js +91 -0
  174. package/dist/elements/GroupBy/index.js.map +1 -0
  175. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +2 -2
  176. package/dist/elements/Hierarchy/Drawer/index.css +1 -1
  177. package/dist/elements/ListColumnSelectionButton/index.d.ts +11 -0
  178. package/dist/elements/ListColumnSelectionButton/index.d.ts.map +1 -0
  179. package/dist/elements/ListColumnSelectionButton/index.js +37 -0
  180. package/dist/elements/ListColumnSelectionButton/index.js.map +1 -0
  181. package/dist/elements/ListControls/index.d.ts.map +1 -1
  182. package/dist/elements/ListControls/index.js +7 -8
  183. package/dist/elements/ListControls/index.js.map +1 -1
  184. package/dist/elements/ListDrawer/DrawerContent.js +1 -1
  185. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  186. package/dist/elements/ListDrawer/Provider.d.ts +1 -1
  187. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  188. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  189. package/dist/elements/ListGroupByButton/index.d.ts +12 -0
  190. package/dist/elements/ListGroupByButton/index.d.ts.map +1 -0
  191. package/dist/elements/ListGroupByButton/index.js +55 -0
  192. package/dist/elements/ListGroupByButton/index.js.map +1 -0
  193. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  194. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +2 -0
  195. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  196. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +4 -4
  197. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  198. package/dist/elements/ListWhereBuilder/index.d.ts +16 -0
  199. package/dist/elements/ListWhereBuilder/index.d.ts.map +1 -0
  200. package/dist/elements/ListWhereBuilder/index.js +62 -0
  201. package/dist/elements/ListWhereBuilder/index.js.map +1 -0
  202. package/dist/elements/LivePreview/Toolbar/Controls/index.js +2 -2
  203. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  204. package/dist/elements/LivePreview/Toolbar/SizeInput/index.css +5 -44
  205. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  206. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +25 -43
  207. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  208. package/dist/elements/MiniCarousel/index.css +94 -0
  209. package/dist/elements/MiniCarousel/index.d.ts +15 -0
  210. package/dist/elements/MiniCarousel/index.d.ts.map +1 -0
  211. package/dist/elements/MiniCarousel/index.js +84 -0
  212. package/dist/elements/MiniCarousel/index.js.map +1 -0
  213. package/dist/elements/Nav/SettingsMenuButton/index.css +5 -0
  214. package/dist/elements/Nav/SettingsMenuButton/index.d.ts +1 -1
  215. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  216. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -1
  217. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  218. package/dist/elements/Nav/index.css +2 -2
  219. package/dist/elements/NavGroup/index.css +1 -1
  220. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  221. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  222. package/dist/elements/Popup/PopupTrigger/index.js +3 -0
  223. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  224. package/dist/elements/Popup/index.d.ts +7 -1
  225. package/dist/elements/Popup/index.d.ts.map +1 -1
  226. package/dist/elements/Popup/index.js +45 -12
  227. package/dist/elements/Popup/index.js.map +1 -1
  228. package/dist/elements/PreviewSizes/index.css +149 -0
  229. package/dist/elements/PreviewSizes/index.d.ts +2 -2
  230. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  231. package/dist/elements/PreviewSizes/index.js +1 -1
  232. package/dist/elements/PreviewSizes/index.js.map +1 -1
  233. package/dist/elements/QueryPresets/cells/ColumnsCell/{index.scss → index.css} +1 -3
  234. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +1 -1
  235. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +1 -1
  236. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +1 -1
  237. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  238. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +1 -1
  239. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  240. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +77 -48
  241. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  242. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +1 -1
  243. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
  244. package/dist/elements/QueryPresets/fields/GroupByField/index.js +12 -21
  245. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  246. package/dist/elements/QueryPresets/fields/Heading/index.css +52 -0
  247. package/dist/elements/QueryPresets/fields/Heading/index.d.ts +7 -0
  248. package/dist/elements/QueryPresets/fields/Heading/index.d.ts.map +1 -0
  249. package/dist/elements/QueryPresets/fields/Heading/index.js +31 -0
  250. package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -0
  251. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +1 -1
  252. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  253. package/dist/elements/QueryPresets/fields/WhereField/index.js +24 -23
  254. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  255. package/dist/elements/QueryPresets/fields/fields.css +23 -0
  256. package/dist/elements/ReactSelect/DropdownIndicator/index.css +1 -1
  257. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  258. package/dist/elements/ReactSelect/DropdownIndicator/index.js +19 -12
  259. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  260. package/dist/elements/ReactSelect/types.d.ts +1 -0
  261. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  262. package/dist/elements/ReactSelect/types.js.map +1 -1
  263. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  264. package/dist/elements/RelationshipTable/AddNewButton.js +1 -2
  265. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  266. package/dist/elements/RelationshipTable/index.js +2 -2
  267. package/dist/elements/RelationshipTable/index.js.map +1 -1
  268. package/dist/elements/Search/SearchInput/index.js +1 -1
  269. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  270. package/dist/elements/SortColumn/index.css +1 -1
  271. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  272. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +21 -2
  273. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  274. package/dist/elements/Table/index.css +24 -2
  275. package/dist/elements/Thumbnail/index.css +41 -0
  276. package/dist/elements/Thumbnail/index.d.ts +3 -3
  277. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  278. package/dist/elements/Thumbnail/index.js +1 -1
  279. package/dist/elements/Thumbnail/index.js.map +1 -1
  280. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +11 -0
  281. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -0
  282. package/dist/elements/Upload/UploadFromURLModal/index.js +88 -0
  283. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -0
  284. package/dist/elements/Upload/index.css +134 -45
  285. package/dist/elements/Upload/index.d.ts +3 -8
  286. package/dist/elements/Upload/index.d.ts.map +1 -1
  287. package/dist/elements/Upload/index.js +71 -92
  288. package/dist/elements/Upload/index.js.map +1 -1
  289. package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
  290. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  291. package/dist/elements/WhereBuilder/Condition/index.js +17 -2
  292. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  293. package/dist/elements/WhereBuilder/index.d.ts +4 -3
  294. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  295. package/dist/elements/WhereBuilder/index.js +71 -62
  296. package/dist/elements/WhereBuilder/index.js.map +1 -1
  297. package/dist/elements/WhereBuilder/types.d.ts +6 -5
  298. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  299. package/dist/elements/WhereBuilder/types.js.map +1 -1
  300. package/dist/exports/client/index.d.ts +6 -2
  301. package/dist/exports/client/index.d.ts.map +1 -1
  302. package/dist/exports/client/index.js +26 -26
  303. package/dist/exports/client/index.js.map +4 -4
  304. package/dist/exports/rsc/index.d.ts +1 -0
  305. package/dist/exports/rsc/index.d.ts.map +1 -1
  306. package/dist/exports/rsc/index.js +1 -0
  307. package/dist/exports/rsc/index.js.map +1 -1
  308. package/dist/exports/shared/index.js +2 -2
  309. package/dist/exports/shared/index.js.map +2 -2
  310. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +1 -1
  311. package/dist/fields/Blocks/BlockSelector/index.css +2 -5
  312. package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  313. package/dist/fields/Blocks/SectionTitle/index.js +1 -0
  314. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  315. package/dist/fields/Checkbox/index.css +2 -2
  316. package/dist/fields/Group/index.css +3 -3
  317. package/dist/fields/Number/Input.d.ts.map +1 -1
  318. package/dist/fields/Number/Input.js +47 -35
  319. package/dist/fields/Number/Input.js.map +1 -1
  320. package/dist/fields/Number/index.css +19 -0
  321. package/dist/fields/Number/types.d.ts +6 -0
  322. package/dist/fields/Number/types.d.ts.map +1 -1
  323. package/dist/fields/Number/types.js.map +1 -1
  324. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  325. package/dist/fields/Relationship/Input.js +2 -0
  326. package/dist/fields/Relationship/Input.js.map +1 -1
  327. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  328. package/dist/fields/Select/Input.d.ts.map +1 -1
  329. package/dist/fields/Select/Input.js +1 -0
  330. package/dist/fields/Select/Input.js.map +1 -1
  331. package/dist/fields/Text/Input.d.ts.map +1 -1
  332. package/dist/fields/Text/Input.js +31 -28
  333. package/dist/fields/Text/Input.js.map +1 -1
  334. package/dist/fields/Text/types.d.ts +5 -0
  335. package/dist/fields/Text/types.d.ts.map +1 -1
  336. package/dist/fields/Text/types.js.map +1 -1
  337. package/dist/fields/Upload/Input.d.ts.map +1 -1
  338. package/dist/fields/Upload/Input.js +12 -11
  339. package/dist/fields/Upload/Input.js.map +1 -1
  340. package/dist/fields/Upload/index.js +1 -1
  341. package/dist/fields/Upload/index.js.map +1 -1
  342. package/dist/graphics/Icon/index.js +1 -1
  343. package/dist/graphics/Icon/index.js.map +1 -1
  344. package/dist/hooks/useElementHeightVariable.d.ts +15 -0
  345. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -0
  346. package/dist/hooks/useElementHeightVariable.js +53 -0
  347. package/dist/hooks/useElementHeightVariable.js.map +1 -0
  348. package/dist/icons/Crop/index.css +5 -0
  349. package/dist/icons/Crop/index.d.ts +7 -0
  350. package/dist/icons/Crop/index.d.ts.map +1 -0
  351. package/dist/icons/Crop/index.js +24 -0
  352. package/dist/icons/Crop/index.js.map +1 -0
  353. package/dist/icons/Download/index.css +5 -0
  354. package/dist/icons/{ExternalLink → Download}/index.d.ts +1 -1
  355. package/dist/icons/Download/index.d.ts.map +1 -0
  356. package/dist/icons/Download/index.js +27 -0
  357. package/dist/icons/Download/index.js.map +1 -0
  358. package/dist/icons/{ExternalLink → NewTab}/index.css +1 -1
  359. package/dist/icons/NewTab/index.d.ts +7 -0
  360. package/dist/icons/NewTab/index.d.ts.map +1 -0
  361. package/dist/icons/NewTab/index.js +25 -0
  362. package/dist/icons/NewTab/index.js.map +1 -0
  363. package/dist/icons/Replace/index.css +5 -0
  364. package/dist/icons/Replace/index.d.ts +6 -0
  365. package/dist/icons/Replace/index.d.ts.map +1 -0
  366. package/dist/icons/Replace/index.js +20 -0
  367. package/dist/icons/Replace/index.js.map +1 -0
  368. package/dist/icons/Reset/index.css +5 -0
  369. package/dist/icons/Reset/index.d.ts +7 -0
  370. package/dist/icons/Reset/index.d.ts.map +1 -0
  371. package/dist/icons/Reset/index.js +25 -0
  372. package/dist/icons/Reset/index.js.map +1 -0
  373. package/dist/icons/Swap/index.js +1 -1
  374. package/dist/icons/Swap/index.js.map +1 -1
  375. package/dist/scss/app.scss +9 -2
  376. package/dist/styles.css +1 -1
  377. package/dist/templates/Default/index.js +1 -1
  378. package/dist/templates/Default/index.js.map +1 -1
  379. package/dist/utilities/reduceFieldsToOptions.js +1 -1
  380. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  381. package/dist/views/API/index.client.js +2 -2
  382. package/dist/views/API/index.client.js.map +1 -1
  383. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
  384. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +27 -23
  385. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  386. package/dist/views/Dashboard/Default/ModularDashboard/index.css +2 -0
  387. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +2 -2
  388. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  389. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +2 -2
  390. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  391. package/dist/views/Document/index.d.ts.map +1 -1
  392. package/dist/views/Document/index.js +1 -0
  393. package/dist/views/Document/index.js.map +1 -1
  394. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  395. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  396. package/dist/views/Document/renderDocumentSlots.js +47 -1
  397. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  398. package/dist/views/Edit/index.css +143 -6
  399. package/dist/views/Edit/index.d.ts +1 -1
  400. package/dist/views/Edit/index.d.ts.map +1 -1
  401. package/dist/views/Edit/index.js +34 -31
  402. package/dist/views/Edit/index.js.map +1 -1
  403. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +2 -2
  404. package/dist/views/List/ListHeader/index.css +5 -0
  405. package/dist/views/List/index.client.d.ts.map +1 -1
  406. package/dist/views/List/index.client.js +6 -6
  407. package/dist/views/List/index.client.js.map +1 -1
  408. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  409. package/dist/views/Version/SelectComparison/index.js +1 -0
  410. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  411. package/dist/views/Versions/index.css +0 -4
  412. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  413. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -0
  414. package/dist/widgets/CollectionQuery/SortField/index.js +118 -0
  415. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -0
  416. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts +18 -0
  417. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts.map +1 -0
  418. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js +91 -0
  419. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js.map +1 -0
  420. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +100 -0
  421. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +1 -0
  422. package/dist/widgets/CollectionQuery/index.css +206 -0
  423. package/dist/widgets/CollectionQuery/index.d.ts +17 -0
  424. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -0
  425. package/dist/widgets/CollectionQuery/index.js +399 -0
  426. package/dist/widgets/CollectionQuery/index.js.map +1 -0
  427. package/package.json +5 -5
  428. package/dist/elements/BulkUpload/Header/index.d.ts +0 -9
  429. package/dist/elements/BulkUpload/Header/index.d.ts.map +0 -1
  430. package/dist/elements/BulkUpload/Header/index.js.map +0 -1
  431. package/dist/elements/ColumnSelector/index.d.ts +0 -9
  432. package/dist/elements/ColumnSelector/index.d.ts.map +0 -1
  433. package/dist/elements/ColumnSelector/index.js.map +0 -1
  434. package/dist/elements/ColumnsButton/index.d.ts +0 -7
  435. package/dist/elements/ColumnsButton/index.d.ts.map +0 -1
  436. package/dist/elements/ColumnsButton/index.js.map +0 -1
  437. package/dist/elements/FileDetails/FileMeta/index.scss +0 -31
  438. package/dist/elements/FileDetails/StaticFileDetails/index.scss +0 -134
  439. package/dist/elements/GroupByBuilder/index.d.ts +0 -12
  440. package/dist/elements/GroupByBuilder/index.d.ts.map +0 -1
  441. package/dist/elements/GroupByBuilder/index.js +0 -164
  442. package/dist/elements/GroupByBuilder/index.js.map +0 -1
  443. package/dist/elements/GroupByBuilder/index.scss +0 -39
  444. package/dist/elements/GroupByControl/index.d.ts +0 -9
  445. package/dist/elements/GroupByControl/index.d.ts.map +0 -1
  446. package/dist/elements/GroupByControl/index.js +0 -254
  447. package/dist/elements/GroupByControl/index.js.map +0 -1
  448. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  449. package/dist/elements/PreviewSizes/index.scss +0 -147
  450. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -17
  451. package/dist/elements/QueryPresets/fields/GroupByField/index.scss +0 -17
  452. package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
  453. package/dist/elements/Thumbnail/index.scss +0 -53
  454. package/dist/icons/ExternalLink/index.d.ts.map +0 -1
  455. package/dist/icons/ExternalLink/index.js +0 -26
  456. package/dist/icons/ExternalLink/index.js.map +0 -1
  457. /package/dist/elements/{ColumnSelector/index.css → ColumnSelection/Popup.css} +0 -0
  458. /package/dist/elements/{GroupByControl/index.css → GroupBy/Popup.css} +0 -0
@@ -17,9 +17,9 @@ import { useRouter } from '../../providers/RouterAdapter/index.js';
17
17
  import { useRouteTransition } from '../../providers/RouteTransition/index.js';
18
18
  import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
19
19
  import { useTranslation } from '../../providers/Translation/index.js';
20
- import { DrawerHeader } from '../BulkUpload/Header/index.js';
21
20
  import { Button } from '../Button/index.js';
22
21
  import { Drawer } from '../Drawer/index.js';
22
+ import { DrawerHeader } from '../DrawerHeader/index.js';
23
23
  import { PopupList } from '../Popup/index.js';
24
24
  import './index.css';
25
25
  const baseClass = 'copy-locale-data';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","formatAdminURL","React","useCallback","toast","CheckboxField","SelectInput","useFormModified","useConfig","useDocumentInfo","useLocale","useRouter","useRouteTransition","useServerFunctions","useTranslation","DrawerHeader","Button","Drawer","PopupList","baseClass","drawerSlug","CopyLocaleData","$","config","t0","localization","routes","t1","admin","code","id","collectionSlug","globalSlug","i18n","t","modified","toggleModal","copyDataFromLocale","router","startRouteTransition","localeOptions","locales","map","_temp","t2","locale_0","locale","value","localeOptionsWithoutCurrent","filter","t3","code_0","locale_1","find","l","label","getLocaleLabel","copying","setCopying","useState","toLocale","setToLocale","fromLocale","setFromLocale","overwriteExisting","setOverwriteExisting","t4","t5","useEffect","t6","t7","from","to","docID","overrideData","push","adminRoute","path","t8","error","errorMessage","message","translatedMessage","startsWith","copyLocaleData","info","t9","t10","Symbol","for","selectedOption","t11","selectedOption_0","t12","_jsxs","Fragment","children","_jsx","onClick","className","Header","onClose","title","buttonStyle","disabled","iconPosition","size","name","onChange","options","readOnly","checked","field"],"sources":["../../../src/elements/CopyLocaleData/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { CheckboxField } from '../../fields/Checkbox/index.js'\nimport { SelectInput } from '../../fields/Select/index.js'\nimport { useFormModified } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouter } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DrawerHeader } from '../BulkUpload/Header/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport './index.css'\n\nconst baseClass = 'copy-locale-data'\n\nconst drawerSlug = 'copy-locale'\nexport const CopyLocaleData: React.FC = () => {\n const {\n config: {\n localization,\n routes: { admin },\n },\n } = useConfig()\n const { code } = useLocale()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { i18n, t } = useTranslation()\n const modified = useFormModified()\n const { toggleModal } = useModal()\n const { copyDataFromLocale } = useServerFunctions()\n const router = useRouter()\n const { startRouteTransition } = useRouteTransition()\n\n const localeOptions =\n (localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))) ||\n []\n\n const localeOptionsWithoutCurrent = localeOptions.filter((locale) => locale.value !== code)\n\n const getLocaleLabel = (code: string) => {\n const locale = localization && localization.locales.find((l) => l.code === code)\n return locale && locale.label ? getTranslation(locale.label, i18n) : code\n }\n\n const [copying, setCopying] = React.useState(false)\n const [toLocale, setToLocale] = React.useState<null | string>(null)\n const [fromLocale, setFromLocale] = React.useState<null | string>(code)\n const [overwriteExisting, setOverwriteExisting] = React.useState(false)\n\n React.useEffect(() => {\n if (fromLocale !== code) {\n setFromLocale(code)\n }\n }, [code, fromLocale])\n\n const copyLocaleData = useCallback(\n async ({ from, to }) => {\n setCopying(true)\n\n try {\n await copyDataFromLocale({\n collectionSlug,\n docID: id,\n fromLocale: from,\n globalSlug,\n overrideData: overwriteExisting,\n toLocale: to,\n })\n\n setCopying(false)\n\n startRouteTransition(() =>\n router.push(\n formatAdminURL({\n adminRoute: admin,\n path: `/${collectionSlug ? `collections/${collectionSlug}/${id}` : `globals/${globalSlug}`}`,\n }) + `?locale=${to}`,\n ),\n )\n\n toggleModal(drawerSlug)\n } catch (error) {\n setCopying(false)\n const errorMessage = (error as Error).message || 'error:unknown'\n const translatedMessage = errorMessage.startsWith('error:')\n ? t(errorMessage as any)\n : errorMessage\n toast.error(translatedMessage)\n }\n },\n [\n copyDataFromLocale,\n collectionSlug,\n id,\n globalSlug,\n overwriteExisting,\n toggleModal,\n router,\n admin,\n startRouteTransition,\n t,\n ],\n )\n\n if (!id && !globalSlug) {\n return null\n }\n\n return (\n <React.Fragment>\n <PopupList.Button\n id={`${baseClass}__button`}\n onClick={() => {\n if (modified) {\n toast.info(t('general:unsavedChanges'))\n } else {\n toggleModal(drawerSlug)\n }\n }}\n >\n {t('localization:copyToLocale')}\n </PopupList.Button>\n <Drawer\n className={baseClass}\n Header={\n <DrawerHeader\n onClose={() => {\n toggleModal(drawerSlug)\n }}\n title={t('localization:copyToLocale')}\n />\n }\n slug={drawerSlug}\n >\n <div className={`${baseClass}__sub-header`}>\n <span>\n {fromLocale && toLocale ? (\n <div>\n {t('localization:copyFromTo', {\n from: getLocaleLabel(fromLocale),\n to: getLocaleLabel(toLocale),\n })}\n </div>\n ) : (\n t('localization:selectLocaleToCopy')\n )}\n </span>\n <Button\n buttonStyle=\"primary\"\n disabled={!fromLocale || !toLocale}\n iconPosition=\"left\"\n onClick={async () => {\n if (fromLocale === toLocale) {\n toast.error(t('localization:cannotCopySameLocale'))\n return\n }\n if (!copying) {\n await copyLocaleData({\n from: fromLocale,\n to: toLocale,\n })\n }\n }}\n size=\"medium\"\n >\n {copying ? t('general:copying') + '...' : t('general:copy')}\n </Button>\n </div>\n\n <div className={`${baseClass}__content`}>\n <SelectInput\n label={t('localization:copyFrom')}\n name={'fromLocale'}\n onChange={(selectedOption: { value: string }) => {\n if (selectedOption?.value) {\n setFromLocale(selectedOption.value)\n }\n }}\n options={localeOptions}\n path=\"fromLocale\"\n readOnly\n value={fromLocale}\n />\n <SelectInput\n label={t('localization:copyTo')}\n name=\"toLocale\"\n onChange={(selectedOption: { value: string }) => {\n if (selectedOption?.value) {\n setToLocale(selectedOption.value)\n }\n }}\n options={localeOptionsWithoutCurrent}\n path=\"toLocale\"\n value={toLocale}\n />\n <CheckboxField\n checked={overwriteExisting}\n field={{\n name: 'overwriteExisting',\n label: t('general:overwriteExistingData'),\n }}\n onChange={() => setOverwriteExisting(!overwriteExisting)}\n path={'overwriteExisting'}\n />\n </div>\n </Drawer>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","formatAdminURL","React","useCallback","toast","CheckboxField","SelectInput","useFormModified","useConfig","useDocumentInfo","useLocale","useRouter","useRouteTransition","useServerFunctions","useTranslation","Button","Drawer","DrawerHeader","PopupList","baseClass","drawerSlug","CopyLocaleData","$","config","t0","localization","routes","t1","admin","code","id","collectionSlug","globalSlug","i18n","t","modified","toggleModal","copyDataFromLocale","router","startRouteTransition","localeOptions","locales","map","_temp","t2","locale_0","locale","value","localeOptionsWithoutCurrent","filter","t3","code_0","locale_1","find","l","label","getLocaleLabel","copying","setCopying","useState","toLocale","setToLocale","fromLocale","setFromLocale","overwriteExisting","setOverwriteExisting","t4","t5","useEffect","t6","t7","from","to","docID","overrideData","push","adminRoute","path","t8","error","errorMessage","message","translatedMessage","startsWith","copyLocaleData","info","t9","t10","Symbol","for","selectedOption","t11","selectedOption_0","t12","_jsxs","Fragment","children","_jsx","onClick","className","Header","onClose","title","buttonStyle","disabled","iconPosition","size","name","onChange","options","readOnly","checked","field"],"sources":["../../../src/elements/CopyLocaleData/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { CheckboxField } from '../../fields/Checkbox/index.js'\nimport { SelectInput } from '../../fields/Select/index.js'\nimport { useFormModified } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouter } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { DrawerHeader } from '../DrawerHeader/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport './index.css'\n\nconst baseClass = 'copy-locale-data'\n\nconst drawerSlug = 'copy-locale'\nexport const CopyLocaleData: React.FC = () => {\n const {\n config: {\n localization,\n routes: { admin },\n },\n } = useConfig()\n const { code } = useLocale()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { i18n, t } = useTranslation()\n const modified = useFormModified()\n const { toggleModal } = useModal()\n const { copyDataFromLocale } = useServerFunctions()\n const router = useRouter()\n const { startRouteTransition } = useRouteTransition()\n\n const localeOptions =\n (localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))) ||\n []\n\n const localeOptionsWithoutCurrent = localeOptions.filter((locale) => locale.value !== code)\n\n const getLocaleLabel = (code: string) => {\n const locale = localization && localization.locales.find((l) => l.code === code)\n return locale && locale.label ? getTranslation(locale.label, i18n) : code\n }\n\n const [copying, setCopying] = React.useState(false)\n const [toLocale, setToLocale] = React.useState<null | string>(null)\n const [fromLocale, setFromLocale] = React.useState<null | string>(code)\n const [overwriteExisting, setOverwriteExisting] = React.useState(false)\n\n React.useEffect(() => {\n if (fromLocale !== code) {\n setFromLocale(code)\n }\n }, [code, fromLocale])\n\n const copyLocaleData = useCallback(\n async ({ from, to }) => {\n setCopying(true)\n\n try {\n await copyDataFromLocale({\n collectionSlug,\n docID: id,\n fromLocale: from,\n globalSlug,\n overrideData: overwriteExisting,\n toLocale: to,\n })\n\n setCopying(false)\n\n startRouteTransition(() =>\n router.push(\n formatAdminURL({\n adminRoute: admin,\n path: `/${collectionSlug ? `collections/${collectionSlug}/${id}` : `globals/${globalSlug}`}`,\n }) + `?locale=${to}`,\n ),\n )\n\n toggleModal(drawerSlug)\n } catch (error) {\n setCopying(false)\n const errorMessage = (error as Error).message || 'error:unknown'\n const translatedMessage = errorMessage.startsWith('error:')\n ? t(errorMessage as any)\n : errorMessage\n toast.error(translatedMessage)\n }\n },\n [\n copyDataFromLocale,\n collectionSlug,\n id,\n globalSlug,\n overwriteExisting,\n toggleModal,\n router,\n admin,\n startRouteTransition,\n t,\n ],\n )\n\n if (!id && !globalSlug) {\n return null\n }\n\n return (\n <React.Fragment>\n <PopupList.Button\n id={`${baseClass}__button`}\n onClick={() => {\n if (modified) {\n toast.info(t('general:unsavedChanges'))\n } else {\n toggleModal(drawerSlug)\n }\n }}\n >\n {t('localization:copyToLocale')}\n </PopupList.Button>\n <Drawer\n className={baseClass}\n Header={\n <DrawerHeader\n onClose={() => {\n toggleModal(drawerSlug)\n }}\n title={t('localization:copyToLocale')}\n />\n }\n slug={drawerSlug}\n >\n <div className={`${baseClass}__sub-header`}>\n <span>\n {fromLocale && toLocale ? (\n <div>\n {t('localization:copyFromTo', {\n from: getLocaleLabel(fromLocale),\n to: getLocaleLabel(toLocale),\n })}\n </div>\n ) : (\n t('localization:selectLocaleToCopy')\n )}\n </span>\n <Button\n buttonStyle=\"primary\"\n disabled={!fromLocale || !toLocale}\n iconPosition=\"left\"\n onClick={async () => {\n if (fromLocale === toLocale) {\n toast.error(t('localization:cannotCopySameLocale'))\n return\n }\n if (!copying) {\n await copyLocaleData({\n from: fromLocale,\n to: toLocale,\n })\n }\n }}\n size=\"medium\"\n >\n {copying ? t('general:copying') + '...' : t('general:copy')}\n </Button>\n </div>\n\n <div className={`${baseClass}__content`}>\n <SelectInput\n label={t('localization:copyFrom')}\n name={'fromLocale'}\n onChange={(selectedOption: { value: string }) => {\n if (selectedOption?.value) {\n setFromLocale(selectedOption.value)\n }\n }}\n options={localeOptions}\n path=\"fromLocale\"\n readOnly\n value={fromLocale}\n />\n <SelectInput\n label={t('localization:copyTo')}\n name=\"toLocale\"\n onChange={(selectedOption: { value: string }) => {\n if (selectedOption?.value) {\n setToLocale(selectedOption.value)\n }\n }}\n options={localeOptionsWithoutCurrent}\n path=\"toLocale\"\n value={toLocale}\n />\n <CheckboxField\n checked={overwriteExisting}\n field={{\n name: 'overwriteExisting',\n label: t('general:overwriteExistingData'),\n }}\n onChange={() => setOverwriteExisting(!overwriteExisting)}\n path={'overwriteExisting'}\n />\n </div>\n </Drawer>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/CreateDocumentButton/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAU/E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,EAAE,MAAM,CAAA;IACtB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,mBAAmB;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IACxC,yCAAyC;IACzC,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,mGAAmG;IACnG,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,MAAM,CAAC,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAA;IAC7C,kBAAkB;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAC3B,CAAA;AAED,wBAAgB,oBAAoB,CAAC,EACnC,WAAoB,EACpB,WAAW,EACX,UAAU,EACV,KAAK,EACL,MAAM,EACN,IAAe,GAChB,EAAE,yBAAyB,qBAqG3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/CreateDocumentButton/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAU/E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,EAAE,MAAM,CAAA;IACtB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,mBAAmB;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IACxC,yCAAyC;IACzC,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,mGAAmG;IACnG,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,MAAM,CAAC,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAA;IAC7C,kBAAkB;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAC3B,CAAA;AAED,wBAAgB,oBAAoB,CAAC,EACnC,WAAoB,EACpB,WAAW,EACX,UAAU,EACV,KAAK,EACL,MAAM,EACN,IAAe,GAChB,EAAE,yBAAyB,qBAoG3B"}
@@ -153,7 +153,6 @@ export function CreateDocumentButton(t0) {
153
153
  buttonType: "custom",
154
154
  className: `${baseClass}__popup`,
155
155
  horizontalAlign: "right",
156
- size: "medium",
157
156
  children: _jsx(PopupList.ButtonGroup, {
158
157
  children: collections.map(t7)
159
158
  })
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","React","useState","useConfig","useTranslation","Button","DocumentDrawer","Popup","PopupList","baseClass","CreateDocumentButton","t0","$","buttonStyle","t1","collections","drawerSlug","label","onSave","size","t2","undefined","config","i18n","t","closeModal","openModal","selectedCollection","setSelectedCollection","length","t3","option","collectionConfig","find","slug","collectionSlug","labels","singular","getCollectionLabel","t4","collection","handleSelect","t5","args","handleSave","collection_0","t6","buttonLabel","t7","_jsxs","_Fragment","children","_jsx","className","margin","onClick","initialData","redirectAfterCreate","buttonLabel_0","collection_1","button","icon","horizontalAlign","ButtonGroup","map"],"sources":["../../../src/elements/CreateDocumentButton/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useState } from 'react'\n\nimport type { Props as ButtonProps } from '../Button/types.js'\nimport type { DocumentDrawerContextProps } from '../DocumentDrawer/Provider.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { DocumentDrawer } from '../DocumentDrawer/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\n\nconst baseClass = 'create-document-button'\n\nexport type CollectionOption = {\n collectionSlug: string\n /** Initial data to populate the form when creating */\n initialData?: Record<string, unknown>\n /** Optional label override (defaults to collection's singular label) */\n label?: string\n}\n\nexport type CreateDocumentButtonProps = {\n /** Button style */\n buttonStyle?: ButtonProps['buttonStyle']\n /** Collections available for creation */\n collections: CollectionOption[]\n /** Unique slug for the drawer modal */\n drawerSlug: string\n /** Custom button label (defaults to \"Create New\" for multiple, \"Create New {label}\" for single) */\n label?: string\n /** Called when a document is successfully saved */\n onSave?: DocumentDrawerContextProps['onSave']\n /** Button size */\n size?: ButtonProps['size']\n}\n\nexport function CreateDocumentButton({\n buttonStyle = 'pill',\n collections,\n drawerSlug,\n label,\n onSave,\n size = 'medium',\n}: CreateDocumentButtonProps) {\n const { config } = useConfig()\n const { i18n, t } = useTranslation()\n const { closeModal, openModal } = useModal()\n\n const [selectedCollection, setSelectedCollection] = useState<CollectionOption | null>(null)\n\n if (collections.length === 0) {\n return null\n }\n\n const getCollectionLabel = (option: CollectionOption) => {\n if (option.label) {\n return option.label\n }\n const collectionConfig = config.collections.find((c) => c.slug === option.collectionSlug)\n return getTranslation(collectionConfig?.labels?.singular, i18n) || option.collectionSlug\n }\n\n const handleSelect = (collection: CollectionOption) => {\n setSelectedCollection(collection)\n openModal(drawerSlug)\n }\n\n const handleSave: DocumentDrawerContextProps['onSave'] = (args) => {\n closeModal(drawerSlug)\n return onSave?.(args)\n }\n\n // Single collection - render simple button\n if (collections.length === 1) {\n const collection = collections[0]\n const buttonLabel = label || t('general:createNew')\n\n return (\n <>\n <Button\n buttonStyle={buttonStyle}\n className={baseClass}\n margin={false}\n onClick={() => handleSelect(collection)}\n size={size}\n >\n {buttonLabel}\n </Button>\n {selectedCollection && (\n <DocumentDrawer\n collectionSlug={selectedCollection.collectionSlug}\n drawerSlug={drawerSlug}\n initialData={selectedCollection.initialData}\n onSave={handleSave}\n redirectAfterCreate={false}\n />\n )}\n </>\n )\n }\n\n // Multiple collections - render dropdown\n const buttonLabel = label || t('general:createNew')\n\n return (\n <>\n <Popup\n button={\n <Button\n buttonStyle={buttonStyle}\n className={`${baseClass}__popup-button`}\n icon=\"chevron\"\n size={size}\n >\n {buttonLabel}\n </Button>\n }\n buttonType=\"custom\"\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n size=\"medium\"\n >\n <PopupList.ButtonGroup>\n {collections.map((collection) => (\n <PopupList.Button\n key={collection.collectionSlug}\n onClick={() => handleSelect(collection)}\n >\n {getCollectionLabel(collection)}\n </PopupList.Button>\n ))}\n </PopupList.ButtonGroup>\n </Popup>\n {selectedCollection && (\n <DocumentDrawer\n collectionSlug={selectedCollection.collectionSlug}\n drawerSlug={drawerSlug}\n initialData={selectedCollection.initialData}\n onSave={handleSave}\n redirectAfterCreate={false}\n />\n )}\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","React","useState","useConfig","useTranslation","Button","DocumentDrawer","Popup","PopupList","baseClass","CreateDocumentButton","t0","$","buttonStyle","t1","collections","drawerSlug","label","onSave","size","t2","undefined","config","i18n","t","closeModal","openModal","selectedCollection","setSelectedCollection","length","t3","option","collectionConfig","find","slug","collectionSlug","labels","singular","getCollectionLabel","t4","collection","handleSelect","t5","args","handleSave","collection_0","t6","buttonLabel","t7","_jsxs","_Fragment","children","_jsx","className","margin","onClick","initialData","redirectAfterCreate","buttonLabel_0","collection_1","button","icon","horizontalAlign","ButtonGroup","map"],"sources":["../../../src/elements/CreateDocumentButton/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useState } from 'react'\n\nimport type { Props as ButtonProps } from '../Button/types.js'\nimport type { DocumentDrawerContextProps } from '../DocumentDrawer/Provider.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { DocumentDrawer } from '../DocumentDrawer/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\n\nconst baseClass = 'create-document-button'\n\nexport type CollectionOption = {\n collectionSlug: string\n /** Initial data to populate the form when creating */\n initialData?: Record<string, unknown>\n /** Optional label override (defaults to collection's singular label) */\n label?: string\n}\n\nexport type CreateDocumentButtonProps = {\n /** Button style */\n buttonStyle?: ButtonProps['buttonStyle']\n /** Collections available for creation */\n collections: CollectionOption[]\n /** Unique slug for the drawer modal */\n drawerSlug: string\n /** Custom button label (defaults to \"Create New\" for multiple, \"Create New {label}\" for single) */\n label?: string\n /** Called when a document is successfully saved */\n onSave?: DocumentDrawerContextProps['onSave']\n /** Button size */\n size?: ButtonProps['size']\n}\n\nexport function CreateDocumentButton({\n buttonStyle = 'pill',\n collections,\n drawerSlug,\n label,\n onSave,\n size = 'medium',\n}: CreateDocumentButtonProps) {\n const { config } = useConfig()\n const { i18n, t } = useTranslation()\n const { closeModal, openModal } = useModal()\n\n const [selectedCollection, setSelectedCollection] = useState<CollectionOption | null>(null)\n\n if (collections.length === 0) {\n return null\n }\n\n const getCollectionLabel = (option: CollectionOption) => {\n if (option.label) {\n return option.label\n }\n const collectionConfig = config.collections.find((c) => c.slug === option.collectionSlug)\n return getTranslation(collectionConfig?.labels?.singular, i18n) || option.collectionSlug\n }\n\n const handleSelect = (collection: CollectionOption) => {\n setSelectedCollection(collection)\n openModal(drawerSlug)\n }\n\n const handleSave: DocumentDrawerContextProps['onSave'] = (args) => {\n closeModal(drawerSlug)\n return onSave?.(args)\n }\n\n // Single collection - render simple button\n if (collections.length === 1) {\n const collection = collections[0]\n const buttonLabel = label || t('general:createNew')\n\n return (\n <>\n <Button\n buttonStyle={buttonStyle}\n className={baseClass}\n margin={false}\n onClick={() => handleSelect(collection)}\n size={size}\n >\n {buttonLabel}\n </Button>\n {selectedCollection && (\n <DocumentDrawer\n collectionSlug={selectedCollection.collectionSlug}\n drawerSlug={drawerSlug}\n initialData={selectedCollection.initialData}\n onSave={handleSave}\n redirectAfterCreate={false}\n />\n )}\n </>\n )\n }\n\n // Multiple collections - render dropdown\n const buttonLabel = label || t('general:createNew')\n\n return (\n <>\n <Popup\n button={\n <Button\n buttonStyle={buttonStyle}\n className={`${baseClass}__popup-button`}\n icon=\"chevron\"\n size={size}\n >\n {buttonLabel}\n </Button>\n }\n buttonType=\"custom\"\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n >\n <PopupList.ButtonGroup>\n {collections.map((collection) => (\n <PopupList.Button\n key={collection.collectionSlug}\n onClick={() => handleSelect(collection)}\n >\n {getCollectionLabel(collection)}\n </PopupList.Button>\n ))}\n </PopupList.ButtonGroup>\n </Popup>\n {selectedCollection && (\n <DocumentDrawer\n collectionSlug={selectedCollection.collectionSlug}\n drawerSlug={drawerSlug}\n initialData={selectedCollection.initialData}\n onSave={handleSave}\n redirectAfterCreate={false}\n />\n )}\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -277,7 +277,7 @@
277
277
  .react-datepicker__month-year-read-view--down-arrow {
278
278
  border-color: var(--color-icon-secondary);
279
279
  border-style: solid;
280
- border-width: 2px 2px 0 0;
280
+ border-width: var(--stroke-width-medium) var(--stroke-width-medium) 0 0;
281
281
  content: '';
282
282
  display: block;
283
283
  height: 6px;
@@ -373,7 +373,7 @@
373
373
  }
374
374
 
375
375
  .react-datepicker__monthPicker {
376
- border-top: 1px solid var(--color-border);
376
+ border-top: var(--stroke-width-small) solid var(--color-border);
377
377
  }
378
378
 
379
379
  .react-datepicker__month-text {
@@ -413,7 +413,7 @@
413
413
  background-color: transparent;
414
414
  padding: var(--spacer-2);
415
415
  padding-bottom: 0;
416
- border-top: 1px solid var(--color-border);
416
+ border-top: var(--stroke-width-small) solid var(--color-border);
417
417
  width: 100%;
418
418
  order: 3;
419
419
  }
@@ -614,13 +614,13 @@
614
614
 
615
615
  .react-datepicker__time-container {
616
616
  float: right;
617
- border-left: 1px solid var(--color-border);
617
+ border-left: var(--stroke-width-small) solid var(--color-border);
618
618
  width: var(--time-column-width);
619
619
 
620
620
  .react-datepicker__time {
621
621
  position: relative;
622
622
  background: transparent;
623
- border-top: 1px solid var(--color-border);
623
+ border-top: var(--stroke-width-small) solid var(--color-border);
624
624
  border-bottom-right-radius: var(--radius-large);
625
625
 
626
626
  .react-datepicker__time-box {
@@ -722,7 +722,7 @@
722
722
 
723
723
  .react-datepicker__today-button {
724
724
  background: var(--color-bg-secondary);
725
- border-top: 1px solid var(--color-border);
725
+ border-top: var(--stroke-width-small) solid var(--color-border);
726
726
  cursor: pointer;
727
727
  text-align: center;
728
728
  font-weight: var(--text-body-medium-strong-font-weight);
@@ -868,7 +868,7 @@
868
868
  /* ——— Error state ——— */
869
869
  .date-time-picker--has-error .react-datepicker__input-container input {
870
870
  border-color: var(--field-color-border-error);
871
- border-width: 2px;
871
+ border-width: var(--stroke-width-medium);
872
872
  padding: calc(var(--spacer-1) - 1px) calc(var(--spacer-2-5) - 1px);
873
873
  padding-right: calc(2.25rem - 1px);
874
874
  }
@@ -894,7 +894,7 @@
894
894
 
895
895
  .date-time-picker .react-datepicker__time-container {
896
896
  width: auto;
897
- border-top: 1px solid var(--color-border);
897
+ border-top: var(--stroke-width-small) solid var(--color-border);
898
898
  }
899
899
 
900
900
  .date-time-picker .react-datepicker__header--time {
@@ -1,6 +1,10 @@
1
1
  import React from 'react';
2
2
  export type DialogHeaderProps = {
3
3
  readonly children?: React.ReactNode;
4
+ readonly className?: string;
5
+ readonly onClose?: ({ modalSlug }: {
6
+ modalSlug: string;
7
+ }) => void;
4
8
  readonly showClose?: boolean;
5
9
  readonly title?: React.ReactNode;
6
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Dialog/DialogHeader/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA4BpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Dialog/DialogHeader/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA0CpD,CAAA"}
@@ -7,11 +7,14 @@ import { XIcon } from '../../../icons/X/index.js';
7
7
  import { Button } from '../../Button/index.js';
8
8
  import { useModal } from '../../Modal/index.js';
9
9
  import { useDialogContext } from '../context.js';
10
+ import { DialogTitle } from '../DialogTitle/index.js';
10
11
  const baseClass = 'dialog';
11
12
  export const DialogHeader = t0 => {
12
- const $ = _c(10);
13
+ const $ = _c(12);
13
14
  const {
14
15
  children,
16
+ className,
17
+ onClose,
15
18
  showClose,
16
19
  title
17
20
  } = t0;
@@ -27,43 +30,55 @@ export const DialogHeader = t0 => {
27
30
  }
28
31
  const t1 = showClose && `${baseClass}__header--has-close`;
29
32
  let t2;
30
- if ($[0] !== t1) {
31
- t2 = [`${baseClass}__header`, t1].filter(Boolean);
32
- $[0] = t1;
33
- $[1] = t2;
33
+ if ($[0] !== className || $[1] !== t1) {
34
+ t2 = [`${baseClass}__header`, t1, className].filter(Boolean);
35
+ $[0] = className;
36
+ $[1] = t1;
37
+ $[2] = t2;
34
38
  } else {
35
- t2 = $[1];
39
+ t2 = $[2];
36
40
  }
37
41
  const t3 = t2.join(" ");
38
42
  let t4;
39
- if ($[2] !== children || $[3] !== closeModal || $[4] !== isConfirming || $[5] !== showClose || $[6] !== slug || $[7] !== t3 || $[8] !== title) {
43
+ if ($[3] !== children || $[4] !== closeModal || $[5] !== isConfirming || $[6] !== onClose || $[7] !== showClose || $[8] !== slug || $[9] !== t3 || $[10] !== title) {
40
44
  t4 = _jsxs("div", {
41
45
  className: t3,
42
- children: [title ? _jsx("h4", {
43
- className: `${baseClass}__title`,
44
- children: title
45
- }) : null, children ? _jsx("div", {
46
- className: `${baseClass}__header-extras`,
47
- children
48
- }) : null, showClose ? _jsx(Button, {
49
- "aria-label": "Close",
50
- buttonStyle: "ghost",
51
- disabled: isConfirming,
52
- icon: _jsx(XIcon, {}),
53
- margin: false,
54
- onClick: () => closeModal(slug)
55
- }) : null]
46
+ children: [title ? typeof title === "string" ? _jsx(DialogTitle, {
47
+ title
48
+ }) : title : null, _jsxs("div", {
49
+ className: `${baseClass}__header-end`,
50
+ children: [children ? _jsx("div", {
51
+ className: `${baseClass}__header-extras`,
52
+ children
53
+ }) : null, showClose ? _jsx(Button, {
54
+ "aria-label": "Close",
55
+ buttonStyle: "ghost",
56
+ disabled: isConfirming,
57
+ icon: _jsx(XIcon, {}),
58
+ margin: false,
59
+ onClick: () => {
60
+ if (onClose) {
61
+ onClose({
62
+ modalSlug: slug
63
+ });
64
+ } else {
65
+ closeModal(slug);
66
+ }
67
+ }
68
+ }) : null]
69
+ })]
56
70
  });
57
- $[2] = children;
58
- $[3] = closeModal;
59
- $[4] = isConfirming;
60
- $[5] = showClose;
61
- $[6] = slug;
62
- $[7] = t3;
63
- $[8] = title;
64
- $[9] = t4;
71
+ $[3] = children;
72
+ $[4] = closeModal;
73
+ $[5] = isConfirming;
74
+ $[6] = onClose;
75
+ $[7] = showClose;
76
+ $[8] = slug;
77
+ $[9] = t3;
78
+ $[10] = title;
79
+ $[11] = t4;
65
80
  } else {
66
- t4 = $[9];
81
+ t4 = $[11];
67
82
  }
68
83
  return t4;
69
84
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","XIcon","Button","useModal","useDialogContext","baseClass","DialogHeader","t0","$","children","showClose","title","slug","isConfirming","closeModal","t1","t2","filter","Boolean","t3","join","t4","_jsxs","className","_jsx","buttonStyle","disabled","icon","margin","onClick"],"sources":["../../../../src/elements/Dialog/DialogHeader/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { XIcon } from '../../../icons/X/index.js'\nimport { Button } from '../../Button/index.js'\nimport { useModal } from '../../Modal/index.js'\nimport { useDialogContext } from '../context.js'\n\nconst baseClass = 'dialog'\n\nexport type DialogHeaderProps = {\n readonly children?: React.ReactNode\n readonly showClose?: boolean\n readonly title?: React.ReactNode\n}\n\nexport const DialogHeader: React.FC<DialogHeaderProps> = ({ children, showClose, title }) => {\n const { slug, isConfirming } = useDialogContext()\n const { closeModal } = useModal()\n\n if (!title && !children && !showClose) {\n return null\n }\n\n return (\n <div\n className={[`${baseClass}__header`, showClose && `${baseClass}__header--has-close`]\n .filter(Boolean)\n .join(' ')}\n >\n {title ? <h4 className={`${baseClass}__title`}>{title}</h4> : null}\n {children ? <div className={`${baseClass}__header-extras`}>{children}</div> : null}\n {showClose ? (\n <Button\n aria-label=\"Close\"\n buttonStyle=\"ghost\"\n disabled={isConfirming}\n icon={<XIcon />}\n margin={false}\n onClick={() => closeModal(slug)}\n />\n ) : null}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAElB,SAASC,KAAK,QAAQ;AACtB,SAASC,MAAM,QAAQ;AACvB,SAASC,QAAQ,QAAQ;AACzB,SAASC,gBAAgB,QAAQ;AAEjC,MAAMC,SAAA,GAAY;AAQlB,OAAO,MAAMC,YAAA,GAA4CC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU,QAAA;IAAAC,SAAA;IAAAC;EAAA,IAAAJ,EAA8B;EACtF;IAAAK,IAAA;IAAAC;EAAA,IAA+BT,gBAAA;EAC/B;IAAAU;EAAA,IAAuBX,QAAA;EAAA,IAEnB,CAACQ,KAAA,KAAUF,QAAA,KAAaC,SAAA;IAAA;EAAA;EAMY,MAAAK,EAAA,GAAAL,SAAA,IAAa,GAAAL,SAAA,qBAAiC;EAAA,IAAAW,EAAA;EAAA,IAAAR,CAAA,QAAAO,EAAA;IAAvEC,EAAA,IAAC,GAAAX,SAAA,UAAsB,EAAEU,EAA8C,EAAAE,MAAA,CAAAC,OACxE;IAAAV,CAAA,MAAAO,EAAA;IAAAP,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EADC,MAAAW,EAAA,GAAAH,EACD,CAAAI,IAAA,CACF;EAAA,IAAAC,EAAA;EAAA,IAAAb,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAM,UAAA,IAAAN,CAAA,QAAAK,YAAA,IAAAL,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAI,IAAA,IAAAJ,CAAA,QAAAW,EAAA,IAAAX,CAAA,QAAAG,KAAA;IAHVU,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EACYJ,EAEH;MAAAV,QAAA,GAEPE,KAAA,GAAQa,IAAA,CAAC;QAAAD,SAAA,EAAc,GAAAlB,SAAA,SAAqB;QAAAI,QAAA,EAAGE;MAAA,C,QAAc,EAC7DF,QAAA,GAAWe,IAAA,CAAC;QAAAD,SAAA,EAAe,GAAAlB,SAAA,iBAA6B;QAAAI;MAAA,C,QAAqB,EAC7EC,SAAA,GACCc,IAAA,CAAAtB,MAAA;QAAA,cACa;QAAAuB,WAAA,EACC;QAAAC,QAAA,EACFb,YAAA;QAAAc,IAAA,EACJH,IAAA,CAAAvB,KAAA,IAAC;QAAA2B,MAAA;QAAAC,OAAA,EAAAA,CAAA,KAEQf,UAAA,CAAWF,IAAA;MAAA,C,QAE1B;IAAA,C;;;;;;;;;;;;SAhBNS,E;CAmBJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","XIcon","Button","useModal","useDialogContext","DialogTitle","baseClass","DialogHeader","t0","$","children","className","onClose","showClose","title","slug","isConfirming","closeModal","t1","t2","filter","Boolean","t3","join","t4","_jsxs","_jsx","buttonStyle","disabled","icon","margin","onClick","modalSlug"],"sources":["../../../../src/elements/Dialog/DialogHeader/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { XIcon } from '../../../icons/X/index.js'\nimport { Button } from '../../Button/index.js'\nimport { useModal } from '../../Modal/index.js'\nimport { useDialogContext } from '../context.js'\nimport { DialogTitle } from '../DialogTitle/index.js'\n\nconst baseClass = 'dialog'\n\nexport type DialogHeaderProps = {\n readonly children?: React.ReactNode\n readonly className?: string\n readonly onClose?: ({ modalSlug }: { modalSlug: string }) => void\n readonly showClose?: boolean\n readonly title?: React.ReactNode\n}\n\nexport const DialogHeader: React.FC<DialogHeaderProps> = ({\n children,\n className,\n onClose,\n showClose,\n title,\n}) => {\n const { slug, isConfirming } = useDialogContext()\n const { closeModal } = useModal()\n\n if (!title && !children && !showClose) {\n return null\n }\n\n return (\n <div\n className={[`${baseClass}__header`, showClose && `${baseClass}__header--has-close`, className]\n .filter(Boolean)\n .join(' ')}\n >\n {title ? typeof title === 'string' ? <DialogTitle title={title} /> : title : null}\n <div className={`${baseClass}__header-end`}>\n {children ? <div className={`${baseClass}__header-extras`}>{children}</div> : null}\n {showClose ? (\n <Button\n aria-label=\"Close\"\n buttonStyle=\"ghost\"\n disabled={isConfirming}\n icon={<XIcon />}\n margin={false}\n onClick={() => {\n if (onClose) {\n onClose({ modalSlug: slug })\n } else {\n closeModal(slug)\n }\n }}\n />\n ) : null}\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAElB,SAASC,KAAK,QAAQ;AACtB,SAASC,MAAM,QAAQ;AACvB,SAASC,QAAQ,QAAQ;AACzB,SAASC,gBAAgB,QAAQ;AACjC,SAASC,WAAW,QAAQ;AAE5B,MAAMC,SAAA,GAAY;AAUlB,OAAO,MAAMC,YAAA,GAA4CC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW,QAAA;IAAAC,SAAA;IAAAC,OAAA;IAAAC,SAAA;IAAAC;EAAA,IAAAN,EAMzD;EACC;IAAAO,IAAA;IAAAC;EAAA,IAA+BZ,gBAAA;EAC/B;IAAAa;EAAA,IAAuBd,QAAA;EAAA,IAEnB,CAACW,KAAA,KAAUJ,QAAA,KAAaG,SAAA;IAAA;EAAA;EAMY,MAAAK,EAAA,GAAAL,SAAA,IAAa,GAAAP,SAAA,qBAAiC;EAAA,IAAAa,EAAA;EAAA,IAAAV,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAS,EAAA;IAAvEC,EAAA,IAAC,GAAAb,SAAA,UAAsB,EAAEY,EAA8C,EAAEP,SAAA,EAAAS,MAAA,CAAAC,OAC1E;IAAAZ,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAS,EAAA;IAAAT,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EADC,MAAAa,EAAA,GAAAH,EACD,CAAAI,IAAA,CACF;EAAA,IAAAC,EAAA;EAAA,IAAAf,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAQ,UAAA,IAAAR,CAAA,QAAAO,YAAA,IAAAP,CAAA,QAAAG,OAAA,IAAAH,CAAA,QAAAI,SAAA,IAAAJ,CAAA,QAAAM,IAAA,IAAAN,CAAA,QAAAa,EAAA,IAAAb,CAAA,SAAAK,KAAA;IAHVU,EAAA,GAAAC,KAAA,CAAC;MAAAd,SAAA,EACYW,EAEH;MAAAZ,QAAA,GAEPI,KAAA,GAAQ,OAAOA,KAAA,KAAU,WAAWY,IAAA,CAAArB,WAAA;QAAAS;MAAA,C,IAAgCA,KAAA,OAAQ,EAC7EW,KAAA,CAAC;QAAAd,SAAA,EAAe,GAAAL,SAAA,cAA0B;QAAAI,QAAA,GACvCA,QAAA,GAAWgB,IAAA,CAAC;UAAAf,SAAA,EAAe,GAAAL,SAAA,iBAA6B;UAAAI;QAAA,C,QAAqB,EAC7EG,SAAA,GACCa,IAAA,CAAAxB,MAAA;UAAA,cACa;UAAAyB,WAAA,EACC;UAAAC,QAAA,EACFZ,YAAA;UAAAa,IAAA,EACJH,IAAA,CAAAzB,KAAA,IAAC;UAAA6B,MAAA;UAAAC,OAAA,EAAAA,CAAA;YAAA,IAGDnB,OAAA;cACFA,OAAA;gBAAAoB,SAAA,EAAqBjB;cAAA,CAAK;YAAA;cAE1BE,UAAA,CAAWF,IAAA;YAAA;UAAA;QAAA,C,QAIf;MAAA,C;;;;;;;;;;;;;;SAvBRS,E;CA2BJ","ignoreList":[]}
@@ -14,5 +14,10 @@ export type DialogModalProps = {
14
14
  readonly slug: string;
15
15
  };
16
16
  export declare const DialogModal: React.FC<DialogModalProps>;
17
+ export declare const DialogDepthContext: React.Context<number>;
18
+ export declare const useDialogDepth: () => number;
19
+ export declare const DialogDepthProvider: React.FC<{
20
+ children: React.ReactNode;
21
+ }>;
17
22
  export {};
18
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Dialog/DialogModal/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,KAA8B,MAAM,OAAO,CAAA;AAIlD,OAAO,cAAc,CAAA;AAErB,KAAK,gBAAgB,GAAG,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAIxE,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;AAErD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA8ClD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Dialog/DialogModal/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,KAAkD,MAAM,OAAO,CAAA;AAItE,OAAO,cAAc,CAAA;AAErB,KAAK,gBAAgB,GAAG,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC,kBAAkB,CAAC,CAAA;AAIxE,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;AAErD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAiDlD,CAAA;AAED,eAAO,MAAM,kBAAkB,uBAAmB,CAAA;AAElD,eAAO,MAAM,cAAc,QAAO,MAAiC,CAAA;AAEnE,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAKvE,CAAA"}
@@ -3,13 +3,13 @@
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
5
  import { Modal } from '@faceless-ui/modal';
6
- import React, { useEffect, useState } from 'react';
6
+ import React, { createContext, use, useEffect, useState } from 'react';
7
7
  import { drawerZBase, useDrawerDepth } from '../../Drawer/index.js';
8
8
  import { DialogContext } from '../context.js';
9
9
  import '../index.css';
10
10
  const baseClass = 'dialog';
11
11
  export const DialogModal = t0 => {
12
- const $ = _c(15);
12
+ const $ = _c(16);
13
13
  const {
14
14
  slug,
15
15
  children,
@@ -24,6 +24,7 @@ export const DialogModal = t0 => {
24
24
  const size = t3 === undefined ? "small" : t3;
25
25
  const [isConfirming, setConfirming] = useState(false);
26
26
  const drawerDepth = useDrawerDepth();
27
+ const dialogDepth = useDialogDepth();
27
28
  let t4;
28
29
  let t5;
29
30
  if ($[0] !== closeOnEsc) {
@@ -45,51 +46,77 @@ export const DialogModal = t0 => {
45
46
  }
46
47
  useEffect(t4, t5);
47
48
  let t6;
48
- if ($[3] !== children || $[4] !== className || $[5] !== closeOnBlur || $[6] !== drawerDepth || $[7] !== focusTrapOptions || $[8] !== isConfirming || $[9] !== size || $[10] !== slug) {
49
+ if ($[3] !== children || $[4] !== className || $[5] !== closeOnBlur || $[6] !== dialogDepth || $[7] !== drawerDepth || $[8] !== focusTrapOptions || $[9] !== isConfirming || $[10] !== size || $[11] !== slug) {
49
50
  const t7 = `${baseClass}--${size}`;
50
51
  let t8;
51
- if ($[12] !== className || $[13] !== t7) {
52
+ if ($[13] !== className || $[14] !== t7) {
52
53
  t8 = [baseClass, t7, className].filter(Boolean);
53
- $[12] = className;
54
- $[13] = t7;
55
- $[14] = t8;
54
+ $[13] = className;
55
+ $[14] = t7;
56
+ $[15] = t8;
56
57
  } else {
57
- t8 = $[14];
58
+ t8 = $[15];
58
59
  }
59
- t6 = _jsx(DialogContext, {
60
- value: {
61
- slug,
62
- isConfirming,
63
- setConfirming
64
- },
65
- children: _jsx(Modal, {
66
- closeOnBlur,
67
- focusTrapOptions,
68
- slug,
69
- style: {
70
- zIndex: drawerZBase + drawerDepth + 1
60
+ t6 = _jsx(DialogDepthProvider, {
61
+ children: _jsx(DialogContext, {
62
+ value: {
63
+ slug,
64
+ isConfirming,
65
+ setConfirming
71
66
  },
72
- children: _jsx("div", {
73
- className: t8.join(" "),
74
- role: "document",
75
- children
67
+ children: _jsx(Modal, {
68
+ closeOnBlur,
69
+ focusTrapOptions,
70
+ slug,
71
+ style: {
72
+ zIndex: drawerZBase + drawerDepth + dialogDepth + 1
73
+ },
74
+ children: _jsx("div", {
75
+ className: t8.join(" "),
76
+ role: "document",
77
+ children
78
+ })
76
79
  })
77
80
  })
78
81
  });
79
82
  $[3] = children;
80
83
  $[4] = className;
81
84
  $[5] = closeOnBlur;
82
- $[6] = drawerDepth;
83
- $[7] = focusTrapOptions;
84
- $[8] = isConfirming;
85
- $[9] = size;
86
- $[10] = slug;
87
- $[11] = t6;
85
+ $[6] = dialogDepth;
86
+ $[7] = drawerDepth;
87
+ $[8] = focusTrapOptions;
88
+ $[9] = isConfirming;
89
+ $[10] = size;
90
+ $[11] = slug;
91
+ $[12] = t6;
88
92
  } else {
89
- t6 = $[11];
93
+ t6 = $[12];
90
94
  }
91
95
  return t6;
92
96
  };
97
+ export const DialogDepthContext = /*#__PURE__*/createContext(0);
98
+ export const useDialogDepth = () => use(DialogDepthContext);
99
+ export const DialogDepthProvider = t0 => {
100
+ const $ = _c(3);
101
+ const {
102
+ children
103
+ } = t0;
104
+ const parentDepth = useDialogDepth();
105
+ const depth = parentDepth + 1;
106
+ let t1;
107
+ if ($[0] !== children || $[1] !== depth) {
108
+ t1 = _jsx(DialogDepthContext, {
109
+ value: depth,
110
+ children
111
+ });
112
+ $[0] = children;
113
+ $[1] = depth;
114
+ $[2] = t1;
115
+ } else {
116
+ t1 = $[2];
117
+ }
118
+ return t1;
119
+ };
93
120
  function _temp(e) {
94
121
  if (e.key === "Escape") {
95
122
  e.stopImmediatePropagation();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","Modal","React","useEffect","useState","drawerZBase","useDrawerDepth","DialogContext","baseClass","DialogModal","t0","$","slug","children","className","closeOnBlur","t1","closeOnEsc","t2","focusTrapOptions","size","t3","undefined","isConfirming","setConfirming","drawerDepth","t4","t5","handler","_temp","document","addEventListener","removeEventListener","t6","t7","t8","filter","Boolean","_jsx","value","style","zIndex","join","role","e","key","stopImmediatePropagation","preventDefault"],"sources":["../../../../src/elements/Dialog/DialogModal/index.tsx"],"sourcesContent":["'use client'\nimport type { ComponentProps } from 'react'\n\nimport { Modal } from '@faceless-ui/modal'\nimport React, { useEffect, useState } from 'react'\n\nimport { drawerZBase, useDrawerDepth } from '../../Drawer/index.js'\nimport { DialogContext } from '../context.js'\nimport '../index.css'\n\ntype FocusTrapOptions = ComponentProps<typeof Modal>['focusTrapOptions']\n\nconst baseClass = 'dialog'\n\nexport type DialogSize = 'large' | 'medium' | 'small'\n\nexport type DialogModalProps = {\n readonly children?: React.ReactNode\n readonly className?: string\n readonly closeOnBlur?: boolean\n readonly closeOnEsc?: boolean\n readonly focusTrapOptions?: FocusTrapOptions\n readonly size?: DialogSize\n readonly slug: string\n}\n\nexport const DialogModal: React.FC<DialogModalProps> = ({\n slug,\n children,\n className,\n closeOnBlur = false,\n closeOnEsc = true,\n focusTrapOptions,\n size = 'small',\n}) => {\n const [isConfirming, setConfirming] = useState(false)\n const drawerDepth = useDrawerDepth()\n\n useEffect(() => {\n if (closeOnEsc) {\n return\n }\n\n const handler = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.stopImmediatePropagation()\n e.preventDefault()\n }\n }\n\n // Capture phase fires before ModalProvider's bubble-phase listener\n document.addEventListener('keydown', handler, true)\n return () => document.removeEventListener('keydown', handler, true)\n }, [closeOnEsc])\n\n return (\n <DialogContext value={{ slug, isConfirming, setConfirming }}>\n <Modal\n closeOnBlur={closeOnBlur}\n focusTrapOptions={focusTrapOptions}\n slug={slug}\n style={{ zIndex: drawerZBase + drawerDepth + 1 }}\n >\n <div\n className={[baseClass, `${baseClass}--${size}`, className].filter(Boolean).join(' ')}\n role=\"document\"\n >\n {children}\n </div>\n </Modal>\n </DialogContext>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,KAAK,QAAQ;AACtB,OAAOC,KAAA,IAASC,SAAS,EAAEC,QAAQ,QAAQ;AAE3C,SAASC,WAAW,EAAEC,cAAc,QAAQ;AAC5C,SAASC,aAAa,QAAQ;AAC9B,OAAO;AAIP,MAAMC,SAAA,GAAY;AAclB,OAAO,MAAMC,WAAA,GAA0CC,EAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EAAC;IAAAY,IAAA;IAAAC,QAAA;IAAAC,SAAA;IAAAC,WAAA,EAAAC,EAAA;IAAAC,UAAA,EAAAC,EAAA;IAAAC,gBAAA;IAAAC,IAAA,EAAAC;EAAA,IAAAX,EAQvD;EAJC,MAAAK,WAAA,GAAAC,EAAmB,KAAAM,SAAA,WAAnBN,EAAmB;EACnB,MAAAC,UAAA,GAAAC,EAAiB,KAAAI,SAAA,UAAjBJ,EAAiB;EAEjB,MAAAE,IAAA,GAAAC,EAAc,KAAAC,SAAA,GAAP,OAAO,GAAdD,EAAc;EAEd,OAAAE,YAAA,EAAAC,aAAA,IAAsCpB,QAAA,MAAS;EAC/C,MAAAqB,WAAA,GAAoBnB,cAAA;EAAA,IAAAoB,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAhB,CAAA,QAAAM,UAAA;IAEVS,EAAA,GAAAA,CAAA;MAAA,IACJT,UAAA;QAAA;MAAA;MAIJ,MAAAW,OAAA,GAAAC,KAAA;MAQAC,QAAA,CAAAC,gBAAA,CAA0B,WAAWH,OAAA,MAAS;MAAA,aACjCE,QAAA,CAAAE,mBAAA,CAA6B,WAAWJ,OAAA,MAAS;IAAA;IAC7DD,EAAA,IAACV,UAAA;IAAWN,CAAA,MAAAM,UAAA;IAAAN,CAAA,MAAAe,EAAA;IAAAf,CAAA,MAAAgB,EAAA;EAAA;IAAAD,EAAA,GAAAf,CAAA;IAAAgB,EAAA,GAAAhB,CAAA;EAAA;EAffR,SAAA,CAAUuB,EAeV,EAAGC,EAAY;EAAA,IAAAM,EAAA;EAAA,IAAAtB,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAG,SAAA,IAAAH,CAAA,QAAAI,WAAA,IAAAJ,CAAA,QAAAc,WAAA,IAAAd,CAAA,QAAAQ,gBAAA,IAAAR,CAAA,QAAAY,YAAA,IAAAZ,CAAA,QAAAS,IAAA,IAAAT,CAAA,SAAAC,IAAA;IAWgB,MAAAsB,EAAA,MAAA1B,SAAA,KAAiBY,IAAA,EAAM;IAAA,IAAAe,EAAA;IAAA,IAAAxB,CAAA,SAAAG,SAAA,IAAAH,CAAA,SAAAuB,EAAA;MAAnCC,EAAA,IAAA3B,SAAA,EAAY0B,EAAuB,EAAEpB,SAAA,EAAAsB,MAAA,CAAAC,OAAkB;MAAA1B,CAAA,OAAAG,SAAA;MAAAH,CAAA,OAAAuB,EAAA;MAAAvB,CAAA,OAAAwB,EAAA;IAAA;MAAAA,EAAA,GAAAxB,CAAA;IAAA;IARxEsB,EAAA,GAAAK,IAAA,CAAA/B,aAAA;MAAAgC,KAAA;QAAA3B,IAAA;QAAAW,YAAA;QAAAC;MAAA;MAAAX,QAAA,EACEyB,IAAA,CAAArC,KAAA;QAAAc,WAAA;QAAAI,gBAAA;QAAAP,IAAA;QAAA4B,KAAA;UAAAC,MAAA,EAImBpC,WAAA,GAAcoB,WAAA;QAAc;QAAAZ,QAAA,EAE7CyB,IAAA,CAAC;UAAAxB,SAAA,EACYqB,EAAuD,CAAAO,IAAA,CAAc;UAAAC,IAAA,EAC3E;UAAA9B;QAAA,C;;;;;;;;;;;;;;;SATXoB,E;CAgBJ;AA9CuD,SAAAJ,MAAAe,CAAA;EAAA,IAkB7CA,CAAA,CAAAC,GAAA,KAAU;IACZD,CAAA,CAAAE,wBAAA,CAA0B;IAC1BF,CAAA,CAAAG,cAAA,CAAgB;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","Modal","React","createContext","use","useEffect","useState","drawerZBase","useDrawerDepth","DialogContext","baseClass","DialogModal","t0","$","slug","children","className","closeOnBlur","t1","closeOnEsc","t2","focusTrapOptions","size","t3","undefined","isConfirming","setConfirming","drawerDepth","dialogDepth","useDialogDepth","t4","t5","handler","_temp","document","addEventListener","removeEventListener","t6","t7","t8","filter","Boolean","_jsx","DialogDepthProvider","value","style","zIndex","join","role","DialogDepthContext","parentDepth","depth","e","key","stopImmediatePropagation","preventDefault"],"sources":["../../../../src/elements/Dialog/DialogModal/index.tsx"],"sourcesContent":["'use client'\nimport type { ComponentProps } from 'react'\n\nimport { Modal } from '@faceless-ui/modal'\nimport React, { createContext, use, useEffect, useState } from 'react'\n\nimport { drawerZBase, useDrawerDepth } from '../../Drawer/index.js'\nimport { DialogContext } from '../context.js'\nimport '../index.css'\n\ntype FocusTrapOptions = ComponentProps<typeof Modal>['focusTrapOptions']\n\nconst baseClass = 'dialog'\n\nexport type DialogSize = 'large' | 'medium' | 'small'\n\nexport type DialogModalProps = {\n readonly children?: React.ReactNode\n readonly className?: string\n readonly closeOnBlur?: boolean\n readonly closeOnEsc?: boolean\n readonly focusTrapOptions?: FocusTrapOptions\n readonly size?: DialogSize\n readonly slug: string\n}\n\nexport const DialogModal: React.FC<DialogModalProps> = ({\n slug,\n children,\n className,\n closeOnBlur = false,\n closeOnEsc = true,\n focusTrapOptions,\n size = 'small',\n}) => {\n const [isConfirming, setConfirming] = useState(false)\n const drawerDepth = useDrawerDepth()\n const dialogDepth = useDialogDepth()\n\n useEffect(() => {\n if (closeOnEsc) {\n return\n }\n\n const handler = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.stopImmediatePropagation()\n e.preventDefault()\n }\n }\n\n // Capture phase fires before ModalProvider's bubble-phase listener\n document.addEventListener('keydown', handler, true)\n return () => document.removeEventListener('keydown', handler, true)\n }, [closeOnEsc])\n\n return (\n <DialogDepthProvider>\n <DialogContext value={{ slug, isConfirming, setConfirming }}>\n <Modal\n closeOnBlur={closeOnBlur}\n focusTrapOptions={focusTrapOptions}\n slug={slug}\n style={{ zIndex: drawerZBase + drawerDepth + dialogDepth + 1 }}\n >\n <div\n className={[baseClass, `${baseClass}--${size}`, className].filter(Boolean).join(' ')}\n role=\"document\"\n >\n {children}\n </div>\n </Modal>\n </DialogContext>\n </DialogDepthProvider>\n )\n}\n\nexport const DialogDepthContext = createContext(0)\n\nexport const useDialogDepth = (): number => use(DialogDepthContext)\n\nexport const DialogDepthProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const parentDepth = useDialogDepth()\n const depth = parentDepth + 1\n\n return <DialogDepthContext value={depth}>{children}</DialogDepthContext>\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ @layer payload-default {
2
+ .dialog-title {
3
+ flex: 1 0 0;
4
+ min-width: 0;
5
+ margin: 0;
6
+ font-weight: var(--text-body-medium-strong-font-weight);
7
+ letter-spacing: var(--text-body-medium-letter-spacing);
8
+ }
9
+ }
@@ -0,0 +1,5 @@
1
+ import './index.css';
2
+ export declare const DialogTitle: ({ title }: {
3
+ title: React.ReactNode;
4
+ }) => import("react").JSX.Element;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Dialog/DialogTitle/index.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,WAAW,GAAI,WAAW;IAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,gCAEhE,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import './index.css';
3
+ const baseClass = 'dialog-title';
4
+ export const DialogTitle = ({
5
+ title
6
+ }) => /*#__PURE__*/_jsx("h4", {
7
+ className: baseClass,
8
+ children: title
9
+ });
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["baseClass","DialogTitle","title","_jsx","className"],"sources":["../../../../src/elements/Dialog/DialogTitle/index.tsx"],"sourcesContent":["import './index.css'\n\nconst baseClass = 'dialog-title'\n\nexport const DialogTitle = ({ title }: { title: React.ReactNode }) => (\n <h4 className={baseClass}>{title}</h4>\n)\n"],"mappings":";AAAA,OAAO;AAEP,MAAMA,SAAA,GAAY;AAElB,OAAO,MAAMC,WAAA,GAAcA,CAAC;EAAEC;AAAK,CAA8B,kBAC/DC,IAAA,CAAC;EAAGC,SAAA,EAAWJ,SAAA;YAAYE","ignoreList":[]}
@@ -38,7 +38,7 @@
38
38
  }
39
39
 
40
40
  .dialog--large {
41
- --dialog-width: 640px;
41
+ --dialog-width: 970px;
42
42
  }
43
43
 
44
44
  .dialog__header {
@@ -51,6 +51,12 @@
51
51
  flex-shrink: 0;
52
52
  }
53
53
 
54
+ .dialog__header-end {
55
+ margin-inline-start: auto;
56
+ display: flex;
57
+ gap: var(--spacer-2);
58
+ }
59
+
54
60
  .dialog__header--has-close {
55
61
  padding-inline-end: var(--spacer-2);
56
62
  }