@payloadcms/ui 4.0.0-internal.40de3ec → 4.0.0-internal.4804abd

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 (901) hide show
  1. package/dist/css/colors.css +6 -0
  2. package/dist/css/design-tokens.css +5 -0
  3. package/dist/css/elevations.css +4 -0
  4. package/dist/css/forms.css +6 -3
  5. package/dist/css/radius.css +1 -3
  6. package/dist/css/theme.css +6 -1
  7. package/dist/css/utilities.css +7 -1
  8. package/dist/elements/APIKeyInput/index.css +92 -0
  9. package/dist/elements/APIKeyInput/index.d.ts +14 -0
  10. package/dist/elements/APIKeyInput/index.d.ts.map +1 -0
  11. package/dist/elements/APIKeyInput/index.js +86 -0
  12. package/dist/elements/APIKeyInput/index.js.map +1 -0
  13. package/dist/elements/AddNewRelation/index.css +1 -1
  14. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  15. package/dist/elements/AddNewRelation/index.js +85 -103
  16. package/dist/elements/AddNewRelation/index.js.map +1 -1
  17. package/dist/elements/AppHeader/index.d.ts +3 -1
  18. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  19. package/dist/elements/AppHeader/index.js +14 -27
  20. package/dist/elements/AppHeader/index.js.map +1 -1
  21. package/dist/elements/ArrayAction/index.js +2 -2
  22. package/dist/elements/ArrayAction/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/ActionsBar/index.css +13 -11
  24. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +1 -5
  25. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  26. package/dist/elements/BulkUpload/ActionsBar/index.js +57 -61
  27. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/AddFilesView/index.css +14 -8
  29. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -2
  30. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  31. package/dist/elements/BulkUpload/AddFilesView/index.js +41 -36
  32. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  33. package/dist/elements/BulkUpload/AddingFilesView/index.css +177 -0
  34. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +6 -2
  35. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  36. package/dist/elements/BulkUpload/AddingFilesView/index.js +135 -66
  37. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  38. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
  39. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  40. package/dist/elements/BulkUpload/EditForm/index.css +9 -0
  41. package/dist/elements/BulkUpload/EditForm/index.d.ts +2 -2
  42. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  43. package/dist/elements/BulkUpload/EditForm/index.js +17 -18
  44. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  45. package/dist/elements/BulkUpload/EditForm/types.d.ts +2 -3
  46. package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -1
  47. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  48. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts +1 -1
  49. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  50. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +77 -59
  51. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  52. package/dist/elements/BulkUpload/EditMany/index.css +71 -0
  53. package/dist/elements/BulkUpload/EditMany/index.d.ts +1 -1
  54. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  55. package/dist/elements/BulkUpload/EditMany/index.js +29 -11
  56. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  57. package/dist/elements/BulkUpload/FileSidebar/index.css +79 -180
  58. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  59. package/dist/elements/BulkUpload/FileSidebar/index.js +42 -165
  60. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  61. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  62. package/dist/elements/BulkUpload/FormsManager/index.js +14 -1
  63. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  64. package/dist/elements/BulkUpload/index.css +48 -0
  65. package/dist/elements/BulkUpload/index.d.ts +6 -5
  66. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  67. package/dist/elements/BulkUpload/index.js +42 -41
  68. package/dist/elements/BulkUpload/index.js.map +1 -1
  69. package/dist/elements/Button/index.css +8 -0
  70. package/dist/elements/Button/index.d.ts.map +1 -1
  71. package/dist/elements/Button/index.js +5 -0
  72. package/dist/elements/Button/index.js.map +1 -1
  73. package/dist/elements/Card/index.css +1 -1
  74. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  75. package/dist/elements/ClipboardAction/index.js +1 -0
  76. package/dist/elements/ClipboardAction/index.js.map +1 -1
  77. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  78. package/dist/elements/CodeEditor/CodeEditor.js +19 -0
  79. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  80. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  81. package/dist/elements/Collapsible/index.js +2 -0
  82. package/dist/elements/Collapsible/index.js.map +1 -1
  83. package/dist/elements/ColumnSelection/Popup.d.ts +12 -0
  84. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -0
  85. package/dist/elements/{ColumnSelector/index.js → ColumnSelection/Popup.js} +24 -13
  86. package/dist/elements/ColumnSelection/Popup.js.map +1 -0
  87. package/dist/elements/ColumnSelection/index.d.ts +10 -0
  88. package/dist/elements/ColumnSelection/index.d.ts.map +1 -0
  89. package/dist/elements/{ColumnsButton → ColumnSelection}/index.js +23 -17
  90. package/dist/elements/ColumnSelection/index.js.map +1 -0
  91. package/dist/elements/Combobox/index.css +1 -0
  92. package/dist/elements/ConfirmationModal/index.css +7 -0
  93. package/dist/elements/ConfirmationModal/index.d.ts +1 -0
  94. package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
  95. package/dist/elements/ConfirmationModal/index.js +7 -3
  96. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  97. package/dist/elements/CopyLocaleData/index.js +1 -1
  98. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  99. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  100. package/dist/elements/CreateDocumentButton/index.js +0 -1
  101. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  102. package/dist/elements/DatePicker/index.css +9 -9
  103. package/dist/elements/DatePicker/index.js +1 -1
  104. package/dist/elements/DatePicker/index.js.map +1 -1
  105. package/dist/elements/DeleteMany/index.d.ts +3 -26
  106. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  107. package/dist/elements/DeleteMany/index.js +1 -95
  108. package/dist/elements/DeleteMany/index.js.map +1 -1
  109. package/dist/elements/Dialog/DialogHeader/index.d.ts +4 -0
  110. package/dist/elements/Dialog/DialogHeader/index.d.ts.map +1 -1
  111. package/dist/elements/Dialog/DialogHeader/index.js +45 -30
  112. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
  113. package/dist/elements/Dialog/DialogModal/index.d.ts +6 -1
  114. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  115. package/dist/elements/Dialog/DialogModal/index.js +58 -31
  116. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  117. package/dist/elements/Dialog/DialogTitle/index.css +9 -0
  118. package/dist/elements/Dialog/DialogTitle/index.d.ts +5 -0
  119. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -0
  120. package/dist/elements/Dialog/DialogTitle/index.js +10 -0
  121. package/dist/elements/Dialog/DialogTitle/index.js.map +1 -0
  122. package/dist/elements/Dialog/index.css +10 -0
  123. package/dist/elements/DocumentControls/index.css +18 -2
  124. package/dist/elements/DocumentControls/index.d.ts +6 -0
  125. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  126. package/dist/elements/DocumentControls/index.js +20 -9
  127. package/dist/elements/DocumentControls/index.js.map +1 -1
  128. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  129. package/dist/elements/DocumentDrawer/DrawerContent.js +10 -6
  130. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  131. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +76 -4
  132. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +7 -1
  133. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  134. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +150 -87
  135. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  136. package/dist/elements/DocumentDrawer/types.d.ts +1 -0
  137. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  138. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  139. package/dist/elements/DocumentFields/index.css +67 -4
  140. package/dist/elements/DocumentFields/index.d.ts +5 -0
  141. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  142. package/dist/elements/DocumentFields/index.js +9 -1
  143. package/dist/elements/DocumentFields/index.js.map +1 -1
  144. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts +12 -0
  145. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts.map +1 -0
  146. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +28 -0
  147. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -0
  148. package/dist/elements/DocumentHeader/index.js +2 -3
  149. package/dist/elements/DocumentHeader/index.js.map +1 -1
  150. package/dist/elements/DraggableSortable/DragOverlayPreview/index.css +1 -1
  151. package/dist/elements/DraggableSortable/index.js.map +1 -1
  152. package/dist/elements/Drawer/index.css +57 -26
  153. package/dist/elements/Drawer/index.d.ts +25 -0
  154. package/dist/elements/Drawer/index.d.ts.map +1 -1
  155. package/dist/elements/Drawer/index.js +133 -54
  156. package/dist/elements/Drawer/index.js.map +1 -1
  157. package/dist/elements/Drawer/types.d.ts +1 -0
  158. package/dist/elements/Drawer/types.d.ts.map +1 -1
  159. package/dist/elements/Drawer/types.js.map +1 -1
  160. package/dist/elements/DrawerActionHeader/index.css +1 -1
  161. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.css +7 -1
  162. package/dist/elements/DrawerHeader/index.d.ts +10 -0
  163. package/dist/elements/DrawerHeader/index.d.ts.map +1 -0
  164. package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.js +16 -11
  165. package/dist/elements/DrawerHeader/index.js.map +1 -0
  166. package/dist/elements/Dropzone/index.css +5 -13
  167. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +1 -1
  168. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  169. package/dist/elements/EditMany/DrawerContent.d.ts +1 -1
  170. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  171. package/dist/elements/EditMany/DrawerContent.js +76 -71
  172. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  173. package/dist/elements/EditMany/index.css +71 -0
  174. package/dist/elements/EditMany/index.d.ts +9 -11
  175. package/dist/elements/EditMany/index.d.ts.map +1 -1
  176. package/dist/elements/EditMany/index.js +2 -40
  177. package/dist/elements/EditMany/index.js.map +1 -1
  178. package/dist/elements/EditUpload/index.css +97 -158
  179. package/dist/elements/EditUpload/index.d.ts +2 -1
  180. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  181. package/dist/elements/EditUpload/index.js +209 -231
  182. package/dist/elements/EditUpload/index.js.map +1 -1
  183. package/dist/elements/EditUpload/{library.scss → library.css} +108 -46
  184. package/dist/elements/FieldSelect/index.css +3 -0
  185. package/dist/elements/FileDetails/DraggableFileDetails/index.css +32 -0
  186. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +2 -2
  187. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  188. package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -18
  189. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  190. package/dist/elements/FileDetails/FileMeta/index.css +27 -0
  191. package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
  192. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  193. package/dist/elements/FileDetails/FileMeta/index.js +1 -1
  194. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  195. package/dist/elements/FileDetails/StaticFileDetails/index.css +140 -0
  196. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +2 -2
  197. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  198. package/dist/elements/FileDetails/StaticFileDetails/index.js +1 -1
  199. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  200. package/dist/elements/FileDetails/index.d.ts +1 -1
  201. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  202. package/dist/elements/FileDetails/index.js.map +1 -1
  203. package/dist/elements/FileManager/FilePreview/AudioPreview/index.css +8 -0
  204. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts +10 -0
  205. package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts.map +1 -0
  206. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js +24 -0
  207. package/dist/elements/FileManager/FilePreview/AudioPreview/index.js.map +1 -0
  208. package/dist/elements/FileManager/FilePreview/PdfPreview/index.css +9 -0
  209. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts +12 -0
  210. package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts.map +1 -0
  211. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js +27 -0
  212. package/dist/elements/FileManager/FilePreview/PdfPreview/index.js.map +1 -0
  213. package/dist/elements/FileManager/FilePreview/VideoPreview/index.css +8 -0
  214. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts +10 -0
  215. package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts.map +1 -0
  216. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js +24 -0
  217. package/dist/elements/FileManager/FilePreview/VideoPreview/index.js.map +1 -0
  218. package/dist/elements/FileManager/FilePreview/index.css +83 -0
  219. package/dist/elements/FileManager/FilePreview/index.d.ts +13 -0
  220. package/dist/elements/FileManager/FilePreview/index.d.ts.map +1 -0
  221. package/dist/elements/FileManager/FilePreview/index.js +140 -0
  222. package/dist/elements/FileManager/FilePreview/index.js.map +1 -0
  223. package/dist/elements/FileManager/FileToolbar/index.css +91 -0
  224. package/dist/elements/FileManager/FileToolbar/index.d.ts +14 -0
  225. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -0
  226. package/dist/elements/FileManager/FileToolbar/index.js +106 -0
  227. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -0
  228. package/dist/elements/FileManager/index.css +154 -0
  229. package/dist/elements/FileManager/index.d.ts +19 -0
  230. package/dist/elements/FileManager/index.d.ts.map +1 -0
  231. package/dist/elements/FileManager/index.js +424 -0
  232. package/dist/elements/FileManager/index.js.map +1 -0
  233. package/dist/elements/GroupBy/Popup.d.ts +21 -0
  234. package/dist/elements/GroupBy/Popup.d.ts.map +1 -0
  235. package/dist/elements/GroupBy/Popup.js +268 -0
  236. package/dist/elements/GroupBy/Popup.js.map +1 -0
  237. package/dist/elements/GroupBy/index.d.ts +12 -0
  238. package/dist/elements/GroupBy/index.d.ts.map +1 -0
  239. package/dist/elements/GroupBy/index.js +91 -0
  240. package/dist/elements/GroupBy/index.js.map +1 -0
  241. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +5 -3
  242. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +1 -0
  243. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +1 -1
  244. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  245. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  246. package/dist/elements/Hierarchy/DocHeaderButton/index.js +12 -12
  247. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  248. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +36 -0
  249. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +1 -1
  250. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
  251. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +1 -1
  252. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
  253. package/dist/elements/Hierarchy/Field/index.client.d.ts +1 -1
  254. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  255. package/dist/elements/Hierarchy/Field/index.client.js +19 -16
  256. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  257. package/dist/elements/Hierarchy/Field/index.css +37 -0
  258. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -0
  259. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -0
  260. package/dist/elements/Hierarchy/Modal/index.css +88 -0
  261. package/dist/elements/Hierarchy/Modal/index.d.ts +20 -0
  262. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -0
  263. package/dist/elements/Hierarchy/{Drawer → Modal}/index.js +109 -83
  264. package/dist/elements/Hierarchy/Modal/index.js.map +1 -0
  265. package/dist/elements/Hierarchy/{Drawer → Modal}/types.d.ts +22 -18
  266. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -0
  267. package/dist/elements/Hierarchy/Modal/types.js.map +1 -0
  268. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts +30 -0
  269. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -0
  270. package/dist/elements/Hierarchy/{Drawer/useHierarchyDrawer.js → Modal/useHierarchyModal.js} +51 -50
  271. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -0
  272. package/dist/elements/Hierarchy/MoveMany/index.d.ts +2 -3
  273. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  274. package/dist/elements/Hierarchy/MoveMany/index.js +9 -10
  275. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  276. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +27 -0
  277. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +1 -1
  278. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +1 -1
  279. package/dist/elements/Hierarchy/Tree/LoadMore/index.js +1 -1
  280. package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +1 -1
  281. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  282. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +36 -16
  283. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  284. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  285. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +20 -15
  286. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  287. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  288. package/dist/elements/ListColumnSelectionButton/index.d.ts +11 -0
  289. package/dist/elements/ListColumnSelectionButton/index.d.ts.map +1 -0
  290. package/dist/elements/ListColumnSelectionButton/index.js +37 -0
  291. package/dist/elements/ListColumnSelectionButton/index.js.map +1 -0
  292. package/dist/elements/ListControls/index.css +5 -0
  293. package/dist/elements/ListControls/index.d.ts.map +1 -1
  294. package/dist/elements/ListControls/index.js +7 -8
  295. package/dist/elements/ListControls/index.js.map +1 -1
  296. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  297. package/dist/elements/ListDrawer/DrawerContent.js +13 -7
  298. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  299. package/dist/elements/ListDrawer/Provider.d.ts +1 -1
  300. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  301. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  302. package/dist/elements/ListGroupByButton/index.d.ts +12 -0
  303. package/dist/elements/ListGroupByButton/index.d.ts.map +1 -0
  304. package/dist/elements/ListGroupByButton/index.js +55 -0
  305. package/dist/elements/ListGroupByButton/index.js.map +1 -0
  306. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
  307. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +2 -0
  308. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  309. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +4 -4
  310. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  311. package/dist/elements/ListWhereBuilder/index.d.ts +16 -0
  312. package/dist/elements/ListWhereBuilder/index.d.ts.map +1 -0
  313. package/dist/elements/ListWhereBuilder/index.js +62 -0
  314. package/dist/elements/ListWhereBuilder/index.js.map +1 -0
  315. package/dist/elements/LivePreview/Toolbar/Controls/index.js +2 -2
  316. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  317. package/dist/elements/LivePreview/Toolbar/SizeInput/index.css +5 -44
  318. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  319. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +26 -43
  320. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  321. package/dist/elements/LivePreview/Window/index.css +6 -0
  322. package/dist/elements/LoadMoreRow/index.css +34 -0
  323. package/dist/elements/LoadMoreRow/index.d.ts +1 -1
  324. package/dist/elements/LoadMoreRow/index.d.ts.map +1 -1
  325. package/dist/elements/LoadMoreRow/index.js +4 -8
  326. package/dist/elements/LoadMoreRow/index.js.map +1 -1
  327. package/dist/elements/Loading/index.css +28 -74
  328. package/dist/elements/Loading/index.d.ts.map +1 -1
  329. package/dist/elements/Loading/index.js +16 -60
  330. package/dist/elements/Loading/index.js.map +1 -1
  331. package/dist/elements/Localizer/index.d.ts.map +1 -1
  332. package/dist/elements/Localizer/index.js +3 -4
  333. package/dist/elements/Localizer/index.js.map +1 -1
  334. package/dist/elements/MenuSeparator/index.d.ts +4 -0
  335. package/dist/elements/MenuSeparator/index.d.ts.map +1 -0
  336. package/dist/elements/MenuSeparator/index.js +10 -0
  337. package/dist/elements/MenuSeparator/index.js.map +1 -0
  338. package/dist/elements/MiniCarousel/index.css +94 -0
  339. package/dist/elements/MiniCarousel/index.d.ts +15 -0
  340. package/dist/elements/MiniCarousel/index.d.ts.map +1 -0
  341. package/dist/elements/MiniCarousel/index.js +84 -0
  342. package/dist/elements/MiniCarousel/index.js.map +1 -0
  343. package/dist/elements/Nav/SettingsMenuButton/index.css +5 -0
  344. package/dist/elements/Nav/SettingsMenuButton/index.d.ts +1 -1
  345. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  346. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -1
  347. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  348. package/dist/elements/Nav/index.css +2 -2
  349. package/dist/elements/Nav/index.d.ts.map +1 -1
  350. package/dist/elements/Nav/index.js +4 -23
  351. package/dist/elements/Nav/index.js.map +1 -1
  352. package/dist/elements/NavGroup/index.css +1 -1
  353. package/dist/elements/Popup/PopupButtonList/index.css +48 -4
  354. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  355. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  356. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  357. package/dist/elements/Popup/PopupGroupLabel/index.css +19 -4
  358. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  359. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  360. package/dist/elements/Popup/PopupTrigger/index.js +3 -0
  361. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  362. package/dist/elements/Popup/index.d.ts +14 -1
  363. package/dist/elements/Popup/index.d.ts.map +1 -1
  364. package/dist/elements/Popup/index.js +146 -64
  365. package/dist/elements/Popup/index.js.map +1 -1
  366. package/dist/elements/PreviewSizes/index.css +149 -0
  367. package/dist/elements/PreviewSizes/index.d.ts +2 -2
  368. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  369. package/dist/elements/PreviewSizes/index.js +1 -1
  370. package/dist/elements/PreviewSizes/index.js.map +1 -1
  371. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts +13 -0
  372. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -0
  373. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js +41 -0
  374. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js.map +1 -0
  375. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +1 -0
  376. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  377. package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
  378. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  379. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  380. package/dist/elements/PublishButton/index.js +4 -5
  381. package/dist/elements/PublishButton/index.js.map +1 -1
  382. package/dist/elements/PublishMany/DrawerContent.d.ts +2 -1
  383. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  384. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  385. package/dist/elements/PublishMany/index.d.ts +2 -6
  386. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  387. package/dist/elements/PublishMany/index.js +0 -38
  388. package/dist/elements/PublishMany/index.js.map +1 -1
  389. package/dist/elements/QueryPresets/cells/ColumnsCell/{index.scss → index.css} +1 -3
  390. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +1 -1
  391. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +1 -1
  392. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +1 -1
  393. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  394. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +1 -1
  395. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  396. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +77 -48
  397. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  398. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +1 -1
  399. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
  400. package/dist/elements/QueryPresets/fields/GroupByField/index.js +12 -21
  401. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  402. package/dist/elements/QueryPresets/fields/Heading/index.css +52 -0
  403. package/dist/elements/QueryPresets/fields/Heading/index.d.ts +7 -0
  404. package/dist/elements/QueryPresets/fields/Heading/index.d.ts.map +1 -0
  405. package/dist/elements/QueryPresets/fields/Heading/index.js +31 -0
  406. package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -0
  407. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +1 -1
  408. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  409. package/dist/elements/QueryPresets/fields/WhereField/index.js +24 -23
  410. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  411. package/dist/elements/QueryPresets/fields/fields.css +23 -0
  412. package/dist/elements/ReactSelect/DropdownIndicator/index.css +1 -1
  413. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  414. package/dist/elements/ReactSelect/DropdownIndicator/index.js +19 -12
  415. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  416. package/dist/elements/ReactSelect/MultiValue/index.css +1 -1
  417. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts +5 -0
  418. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -0
  419. package/dist/elements/ReactSelect/getCaptureMenuScroll.js +10 -0
  420. package/dist/elements/ReactSelect/getCaptureMenuScroll.js.map +1 -0
  421. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +6 -0
  422. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -0
  423. package/dist/elements/ReactSelect/getMenuListStyles.js +7 -0
  424. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -0
  425. package/dist/elements/ReactSelect/index.css +2 -3
  426. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  427. package/dist/elements/ReactSelect/index.js +177 -140
  428. package/dist/elements/ReactSelect/index.js.map +1 -1
  429. package/dist/elements/ReactSelect/types.d.ts +2 -0
  430. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  431. package/dist/elements/ReactSelect/types.js.map +1 -1
  432. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  433. package/dist/elements/RelationshipTable/AddNewButton.js +1 -2
  434. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  435. package/dist/elements/RelationshipTable/index.css +1 -2
  436. package/dist/elements/RelationshipTable/index.js +2 -2
  437. package/dist/elements/RelationshipTable/index.js.map +1 -1
  438. package/dist/elements/RenderTitle/index.css +10 -0
  439. package/dist/elements/RenderTitle/index.d.ts +5 -0
  440. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  441. package/dist/elements/RenderTitle/index.js +52 -27
  442. package/dist/elements/RenderTitle/index.js.map +1 -1
  443. package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
  444. package/dist/elements/SchedulePublishButton/index.js +6 -1
  445. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  446. package/dist/elements/Search/SearchInput/index.js +1 -1
  447. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  448. package/dist/elements/SelectMany/index.js +1 -1
  449. package/dist/elements/SelectMany/index.js.map +1 -1
  450. package/dist/elements/SortColumn/index.css +1 -1
  451. package/dist/elements/Spinner/index.css +16 -0
  452. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  453. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  454. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  455. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +32 -13
  456. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  457. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  458. package/dist/elements/Table/OrderableRow.js +1 -1
  459. package/dist/elements/Table/OrderableRow.js.map +1 -1
  460. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  461. package/dist/elements/Table/RelationshipProvider/index.js +1 -0
  462. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  463. package/dist/elements/Table/index.css +44 -10
  464. package/dist/elements/Tabs/index.css +100 -0
  465. package/dist/elements/Tabs/index.d.ts +32 -0
  466. package/dist/elements/Tabs/index.d.ts.map +1 -0
  467. package/dist/elements/Tabs/index.js +62 -0
  468. package/dist/elements/Tabs/index.js.map +1 -0
  469. package/dist/elements/Thumbnail/index.css +41 -0
  470. package/dist/elements/Thumbnail/index.d.ts +3 -3
  471. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  472. package/dist/elements/Thumbnail/index.js +1 -1
  473. package/dist/elements/Thumbnail/index.js.map +1 -1
  474. package/dist/elements/TimezonePicker/index.css +1 -16
  475. package/dist/elements/Toasts/fieldErrors.d.ts +1 -0
  476. package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
  477. package/dist/elements/Toasts/fieldErrors.js +25 -9
  478. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  479. package/dist/elements/Toasts/index.css +5 -0
  480. package/dist/elements/Tooltip/index.css +20 -4
  481. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  482. package/dist/elements/Tooltip/index.js +71 -3
  483. package/dist/elements/Tooltip/index.js.map +1 -1
  484. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  485. package/dist/elements/UnpublishButton/index.js +5 -13
  486. package/dist/elements/UnpublishButton/index.js.map +1 -1
  487. package/dist/elements/UnpublishMany/DrawerContent.d.ts +2 -1
  488. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  489. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  490. package/dist/elements/UnpublishMany/index.d.ts +2 -4
  491. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  492. package/dist/elements/UnpublishMany/index.js +0 -38
  493. package/dist/elements/UnpublishMany/index.js.map +1 -1
  494. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +11 -0
  495. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -0
  496. package/dist/elements/Upload/UploadFromURLModal/index.js +88 -0
  497. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -0
  498. package/dist/elements/Upload/index.css +134 -45
  499. package/dist/elements/Upload/index.d.ts +3 -8
  500. package/dist/elements/Upload/index.d.ts.map +1 -1
  501. package/dist/elements/Upload/index.js +71 -92
  502. package/dist/elements/Upload/index.js.map +1 -1
  503. package/dist/elements/UserMenu/LanguageMenu/index.d.ts +6 -0
  504. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -0
  505. package/dist/elements/UserMenu/LanguageMenu/index.js +133 -0
  506. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -0
  507. package/dist/elements/UserMenu/SettingsMenu/index.d.ts +15 -0
  508. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -0
  509. package/dist/elements/UserMenu/SettingsMenu/index.js +119 -0
  510. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -0
  511. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts +6 -0
  512. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -0
  513. package/dist/elements/UserMenu/SubMenuHeader/index.js +34 -0
  514. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -0
  515. package/dist/elements/UserMenu/ThemeMenu/index.d.ts +6 -0
  516. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -0
  517. package/dist/elements/UserMenu/ThemeMenu/index.js +145 -0
  518. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -0
  519. package/dist/elements/UserMenu/index.css +80 -0
  520. package/dist/elements/UserMenu/index.d.ts +10 -0
  521. package/dist/elements/UserMenu/index.d.ts.map +1 -0
  522. package/dist/elements/UserMenu/index.js +204 -0
  523. package/dist/elements/UserMenu/index.js.map +1 -0
  524. package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
  525. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  526. package/dist/elements/WhereBuilder/Condition/index.js +17 -2
  527. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  528. package/dist/elements/WhereBuilder/index.d.ts +4 -3
  529. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  530. package/dist/elements/WhereBuilder/index.js +71 -62
  531. package/dist/elements/WhereBuilder/index.js.map +1 -1
  532. package/dist/elements/WhereBuilder/types.d.ts +6 -5
  533. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  534. package/dist/elements/WhereBuilder/types.js.map +1 -1
  535. package/dist/exports/client/index.d.ts +20 -4
  536. package/dist/exports/client/index.d.ts.map +1 -1
  537. package/dist/exports/client/index.js +1 -2
  538. package/dist/exports/client/index.js.map +4 -4
  539. package/dist/exports/rsc/index.d.ts +1 -0
  540. package/dist/exports/rsc/index.d.ts.map +1 -1
  541. package/dist/exports/rsc/index.js +1 -0
  542. package/dist/exports/rsc/index.js.map +1 -1
  543. package/dist/exports/shared/index.js +2 -2
  544. package/dist/exports/shared/index.js.map +2 -2
  545. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +2 -50
  546. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.d.ts.map +1 -1
  547. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +27 -20
  548. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  549. package/dist/fields/Blocks/BlockSelector/index.css +15 -4
  550. package/dist/fields/Blocks/BlockSelector/index.js +1 -1
  551. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  552. package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  553. package/dist/fields/Blocks/SectionTitle/index.js +1 -0
  554. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  555. package/dist/fields/Checkbox/index.css +2 -2
  556. package/dist/fields/ConfirmPassword/index.d.ts +4 -0
  557. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  558. package/dist/fields/ConfirmPassword/index.js +37 -33
  559. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  560. package/dist/fields/Group/index.css +3 -3
  561. package/dist/fields/Number/Input.d.ts.map +1 -1
  562. package/dist/fields/Number/Input.js +62 -46
  563. package/dist/fields/Number/Input.js.map +1 -1
  564. package/dist/fields/Number/index.css +19 -0
  565. package/dist/fields/Number/types.d.ts +10 -0
  566. package/dist/fields/Number/types.d.ts.map +1 -1
  567. package/dist/fields/Number/types.js.map +1 -1
  568. package/dist/fields/Password/input.d.ts.map +1 -1
  569. package/dist/fields/Password/input.js +33 -29
  570. package/dist/fields/Password/input.js.map +1 -1
  571. package/dist/fields/Password/types.d.ts +4 -0
  572. package/dist/fields/Password/types.d.ts.map +1 -1
  573. package/dist/fields/Password/types.js.map +1 -1
  574. package/dist/fields/RadioGroup/index.css +6 -0
  575. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  576. package/dist/fields/Relationship/Input.js +4 -0
  577. package/dist/fields/Relationship/Input.js.map +1 -1
  578. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  579. package/dist/fields/Relationship/types.d.ts +4 -0
  580. package/dist/fields/Relationship/types.d.ts.map +1 -1
  581. package/dist/fields/Relationship/types.js.map +1 -1
  582. package/dist/fields/Row/index.d.ts +1 -1
  583. package/dist/fields/Select/Input.d.ts +4 -0
  584. package/dist/fields/Select/Input.d.ts.map +1 -1
  585. package/dist/fields/Select/Input.js +45 -40
  586. package/dist/fields/Select/Input.js.map +1 -1
  587. package/dist/fields/Tabs/Tab/index.d.ts +0 -1
  588. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  589. package/dist/fields/Tabs/Tab/index.js +12 -23
  590. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  591. package/dist/fields/Tabs/index.d.ts.map +1 -1
  592. package/dist/fields/Tabs/index.js +37 -37
  593. package/dist/fields/Tabs/index.js.map +1 -1
  594. package/dist/fields/Text/Input.d.ts.map +1 -1
  595. package/dist/fields/Text/Input.js +44 -37
  596. package/dist/fields/Text/Input.js.map +1 -1
  597. package/dist/fields/Text/types.d.ts +9 -0
  598. package/dist/fields/Text/types.d.ts.map +1 -1
  599. package/dist/fields/Text/types.js.map +1 -1
  600. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  601. package/dist/fields/Textarea/Input.js +27 -23
  602. package/dist/fields/Textarea/Input.js.map +1 -1
  603. package/dist/fields/Textarea/index.css +1 -1
  604. package/dist/fields/Textarea/types.d.ts +4 -0
  605. package/dist/fields/Textarea/types.d.ts.map +1 -1
  606. package/dist/fields/Textarea/types.js.map +1 -1
  607. package/dist/fields/Upload/HasMany/index.css +4 -0
  608. package/dist/fields/Upload/Input.d.ts.map +1 -1
  609. package/dist/fields/Upload/Input.js +12 -11
  610. package/dist/fields/Upload/Input.js.map +1 -1
  611. package/dist/fields/Upload/index.js +1 -1
  612. package/dist/fields/Upload/index.js.map +1 -1
  613. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  614. package/dist/forms/RenderFields/RenderField.js +2 -1
  615. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  616. package/dist/forms/useField/index.js.map +1 -1
  617. package/dist/graphics/Icon/index.js +1 -1
  618. package/dist/graphics/Icon/index.js.map +1 -1
  619. package/dist/hooks/useElementHeightVariable.d.ts +15 -0
  620. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -0
  621. package/dist/hooks/useElementHeightVariable.js +53 -0
  622. package/dist/hooks/useElementHeightVariable.js.map +1 -0
  623. package/dist/icons/Check/index.css +1 -2
  624. package/dist/icons/Check/index.js +1 -1
  625. package/dist/icons/Check/index.js.map +1 -1
  626. package/dist/icons/Crop/index.css +5 -0
  627. package/dist/icons/Crop/index.d.ts +7 -0
  628. package/dist/icons/Crop/index.d.ts.map +1 -0
  629. package/dist/icons/Crop/index.js +24 -0
  630. package/dist/icons/Crop/index.js.map +1 -0
  631. package/dist/icons/Download/index.css +5 -0
  632. package/dist/icons/{ExternalLink → Download}/index.d.ts +1 -1
  633. package/dist/icons/Download/index.d.ts.map +1 -0
  634. package/dist/icons/Download/index.js +27 -0
  635. package/dist/icons/Download/index.js.map +1 -0
  636. package/dist/icons/Gear/index.d.ts.map +1 -1
  637. package/dist/icons/Gear/index.js +8 -1
  638. package/dist/icons/Gear/index.js.map +1 -1
  639. package/dist/icons/InteractionEnter/index.css +5 -0
  640. package/dist/icons/InteractionEnter/index.d.ts +11 -0
  641. package/dist/icons/InteractionEnter/index.d.ts.map +1 -0
  642. package/dist/icons/InteractionEnter/index.js +25 -0
  643. package/dist/icons/InteractionEnter/index.js.map +1 -0
  644. package/dist/icons/{Write → Key}/index.css +1 -1
  645. package/dist/icons/Key/index.d.ts +7 -0
  646. package/dist/icons/Key/index.d.ts.map +1 -0
  647. package/dist/icons/Key/index.js +24 -0
  648. package/dist/icons/Key/index.js.map +1 -0
  649. package/dist/icons/LogOut/index.js +2 -2
  650. package/dist/icons/LogOut/index.js.map +1 -1
  651. package/dist/icons/{ExternalLink → NewTab}/index.css +1 -1
  652. package/dist/icons/NewTab/index.d.ts +7 -0
  653. package/dist/icons/NewTab/index.d.ts.map +1 -0
  654. package/dist/icons/NewTab/index.js +25 -0
  655. package/dist/icons/NewTab/index.js.map +1 -0
  656. package/dist/icons/Replace/index.css +5 -0
  657. package/dist/icons/Replace/index.d.ts +6 -0
  658. package/dist/icons/Replace/index.d.ts.map +1 -0
  659. package/dist/icons/Replace/index.js +20 -0
  660. package/dist/icons/Replace/index.js.map +1 -0
  661. package/dist/icons/Reset/index.css +5 -0
  662. package/dist/icons/Reset/index.d.ts +7 -0
  663. package/dist/icons/Reset/index.d.ts.map +1 -0
  664. package/dist/icons/Reset/index.js +25 -0
  665. package/dist/icons/Reset/index.js.map +1 -0
  666. package/dist/icons/Schedule/index.d.ts.map +1 -1
  667. package/dist/icons/Schedule/index.js +38 -39
  668. package/dist/icons/Schedule/index.js.map +1 -1
  669. package/dist/icons/Swap/index.js +1 -1
  670. package/dist/icons/Swap/index.js.map +1 -1
  671. package/dist/icons/VariableColor/index.css +5 -0
  672. package/dist/icons/VariableColor/index.d.ts +7 -0
  673. package/dist/icons/VariableColor/index.d.ts.map +1 -0
  674. package/dist/icons/VariableColor/index.js +23 -0
  675. package/dist/icons/VariableColor/index.js.map +1 -0
  676. package/dist/icons/Warning/index.css +1 -7
  677. package/dist/icons/Warning/index.d.ts +1 -1
  678. package/dist/icons/Warning/index.d.ts.map +1 -1
  679. package/dist/icons/Warning/index.js +11 -16
  680. package/dist/icons/Warning/index.js.map +1 -1
  681. package/dist/icons/WarningTriangle/index.css +5 -0
  682. package/dist/icons/WarningTriangle/index.d.ts +6 -0
  683. package/dist/icons/WarningTriangle/index.d.ts.map +1 -0
  684. package/dist/icons/WarningTriangle/index.js +21 -0
  685. package/dist/icons/WarningTriangle/index.js.map +1 -0
  686. package/dist/icons/Write/index.d.ts +0 -1
  687. package/dist/icons/Write/index.d.ts.map +1 -1
  688. package/dist/icons/Write/index.js +1 -2
  689. package/dist/icons/Write/index.js.map +1 -1
  690. package/dist/providers/Auth/index.d.ts +3 -1
  691. package/dist/providers/Auth/index.d.ts.map +1 -1
  692. package/dist/providers/Auth/index.js +8 -3
  693. package/dist/providers/Auth/index.js.map +1 -1
  694. package/dist/providers/Config/index.js.map +1 -1
  695. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  696. package/dist/providers/DocumentInfo/index.js +4 -0
  697. package/dist/providers/DocumentInfo/index.js.map +1 -1
  698. package/dist/providers/DocumentInfo/types.d.ts +4 -0
  699. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  700. package/dist/providers/DocumentInfo/types.js.map +1 -1
  701. package/dist/providers/Root/index.d.ts.map +1 -1
  702. package/dist/providers/Root/index.js +27 -24
  703. package/dist/providers/Root/index.js.map +1 -1
  704. package/dist/providers/TableColumns/RenderDefaultCell/index.css +1 -0
  705. package/dist/providers/Theme/index.d.ts.map +1 -1
  706. package/dist/providers/Theme/index.js +16 -14
  707. package/dist/providers/Theme/index.js.map +1 -1
  708. package/dist/providers/ToastContainer/index.css +208 -0
  709. package/dist/providers/ToastContainer/index.d.ts +1 -0
  710. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  711. package/dist/providers/ToastContainer/index.js +19 -6
  712. package/dist/providers/ToastContainer/index.js.map +1 -1
  713. package/dist/scss/app.scss +10 -4
  714. package/dist/styles.css +1369 -1
  715. package/dist/templates/Default/index.d.ts.map +1 -1
  716. package/dist/templates/Default/index.js +53 -3
  717. package/dist/templates/Default/index.js.map +1 -1
  718. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +0 -1
  719. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  720. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +0 -1
  721. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  722. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  723. package/dist/utilities/formatDocTitle/formatDateTitle.js +1 -1
  724. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  725. package/dist/utilities/getHasScheduledPublish.d.ts +12 -0
  726. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -0
  727. package/dist/utilities/getHasScheduledPublish.js +38 -0
  728. package/dist/utilities/getHasScheduledPublish.js.map +1 -0
  729. package/dist/utilities/getVersions.d.ts.map +1 -1
  730. package/dist/utilities/getVersions.js +1 -21
  731. package/dist/utilities/getVersions.js.map +1 -1
  732. package/dist/utilities/reduceFieldsToOptions.js +1 -1
  733. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  734. package/dist/views/API/index.client.js +2 -2
  735. package/dist/views/API/index.client.js.map +1 -1
  736. package/dist/views/Account/ResetPreferences/index.js +1 -0
  737. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  738. package/dist/views/Account/Settings/index.css +30 -13
  739. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  740. package/dist/views/Account/ToggleTheme/index.js +31 -47
  741. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  742. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
  743. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +27 -23
  744. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  745. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  746. package/dist/views/Dashboard/Default/ModularDashboard/index.css +2 -0
  747. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +2 -2
  748. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  749. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +2 -2
  750. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  751. package/dist/views/Document/index.d.ts.map +1 -1
  752. package/dist/views/Document/index.js +18 -1
  753. package/dist/views/Document/index.js.map +1 -1
  754. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  755. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  756. package/dist/views/Document/renderDocumentSlots.js +47 -1
  757. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  758. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  759. package/dist/views/Edit/Auth/APIKey.js +10 -32
  760. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  761. package/dist/views/Edit/Auth/index.css +0 -67
  762. package/dist/views/Edit/index.css +143 -6
  763. package/dist/views/Edit/index.d.ts +1 -1
  764. package/dist/views/Edit/index.d.ts.map +1 -1
  765. package/dist/views/Edit/index.js +96 -79
  766. package/dist/views/Edit/index.js.map +1 -1
  767. package/dist/views/HierarchyList/DocumentListSelection/index.js +8 -8
  768. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  769. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +2 -2
  770. package/dist/views/List/ListHeader/index.css +28 -1
  771. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  772. package/dist/views/List/ListHeader/index.js +0 -1
  773. package/dist/views/List/ListHeader/index.js.map +1 -1
  774. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  775. package/dist/views/List/ListSelection/index.js +84 -33
  776. package/dist/views/List/ListSelection/index.js.map +1 -1
  777. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  778. package/dist/views/List/handleGroupBy.js +9 -0
  779. package/dist/views/List/handleGroupBy.js.map +1 -1
  780. package/dist/views/List/index.client.d.ts.map +1 -1
  781. package/dist/views/List/index.client.js +10 -9
  782. package/dist/views/List/index.client.js.map +1 -1
  783. package/dist/views/List/index.css +15 -0
  784. package/dist/views/List/index.d.ts.map +1 -1
  785. package/dist/views/List/index.js +9 -2
  786. package/dist/views/List/index.js.map +1 -1
  787. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  788. package/dist/views/List/renderListViewSlots.js +11 -0
  789. package/dist/views/List/renderListViewSlots.js.map +1 -1
  790. package/dist/views/Logout/LogoutClient.d.ts +14 -0
  791. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  792. package/dist/views/Logout/LogoutClient.js +39 -33
  793. package/dist/views/Logout/LogoutClient.js.map +1 -1
  794. package/dist/views/Logout/index.d.ts.map +1 -1
  795. package/dist/views/Logout/index.js +7 -2
  796. package/dist/views/Logout/index.js.map +1 -1
  797. package/dist/views/Version/Default/index.css +3 -5
  798. package/dist/views/Version/Default/index.d.ts.map +1 -1
  799. package/dist/views/Version/Default/index.js +7 -28
  800. package/dist/views/Version/Default/index.js.map +1 -1
  801. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  802. package/dist/views/Version/Restore/index.css +2 -2
  803. package/dist/views/Version/SelectComparison/VersionDrawer/index.css +5 -0
  804. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts +1 -1
  805. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  806. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +1 -2
  807. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  808. package/dist/views/Version/SelectComparison/index.css +5 -0
  809. package/dist/views/Version/SelectComparison/index.d.ts +1 -1
  810. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  811. package/dist/views/Version/SelectComparison/index.js +2 -1
  812. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  813. package/dist/views/Version/SelectLocales/index.d.ts +1 -2
  814. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  815. package/dist/views/Version/SelectLocales/index.js +83 -32
  816. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  817. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  818. package/dist/views/Versions/index.css +19 -16
  819. package/dist/views/Versions/index.d.ts +1 -1
  820. package/dist/views/Versions/index.d.ts.map +1 -1
  821. package/dist/views/Versions/index.js +3 -26
  822. package/dist/views/Versions/index.js.map +1 -1
  823. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  824. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -0
  825. package/dist/widgets/CollectionQuery/SortField/index.js +118 -0
  826. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -0
  827. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts +18 -0
  828. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts.map +1 -0
  829. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js +91 -0
  830. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js.map +1 -0
  831. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +100 -0
  832. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +1 -0
  833. package/dist/widgets/CollectionQuery/index.css +206 -0
  834. package/dist/widgets/CollectionQuery/index.d.ts +17 -0
  835. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -0
  836. package/dist/widgets/CollectionQuery/index.js +399 -0
  837. package/dist/widgets/CollectionQuery/index.js.map +1 -0
  838. package/package.json +5 -5
  839. package/dist/elements/BulkUpload/AddingFilesView/index.scss +0 -25
  840. package/dist/elements/BulkUpload/EditForm/index.scss +0 -11
  841. package/dist/elements/BulkUpload/EditMany/index.scss +0 -171
  842. package/dist/elements/BulkUpload/Header/index.d.ts +0 -9
  843. package/dist/elements/BulkUpload/Header/index.d.ts.map +0 -1
  844. package/dist/elements/BulkUpload/Header/index.js.map +0 -1
  845. package/dist/elements/ColumnSelector/index.d.ts +0 -9
  846. package/dist/elements/ColumnSelector/index.d.ts.map +0 -1
  847. package/dist/elements/ColumnSelector/index.js.map +0 -1
  848. package/dist/elements/ColumnsButton/index.d.ts +0 -7
  849. package/dist/elements/ColumnsButton/index.d.ts.map +0 -1
  850. package/dist/elements/ColumnsButton/index.js.map +0 -1
  851. package/dist/elements/EditMany/index.scss +0 -182
  852. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +0 -35
  853. package/dist/elements/FileDetails/FileMeta/index.scss +0 -31
  854. package/dist/elements/FileDetails/StaticFileDetails/index.scss +0 -134
  855. package/dist/elements/GroupByBuilder/index.d.ts +0 -12
  856. package/dist/elements/GroupByBuilder/index.d.ts.map +0 -1
  857. package/dist/elements/GroupByBuilder/index.js +0 -164
  858. package/dist/elements/GroupByBuilder/index.js.map +0 -1
  859. package/dist/elements/GroupByBuilder/index.scss +0 -39
  860. package/dist/elements/GroupByControl/index.d.ts +0 -9
  861. package/dist/elements/GroupByControl/index.d.ts.map +0 -1
  862. package/dist/elements/GroupByControl/index.js +0 -258
  863. package/dist/elements/GroupByControl/index.js.map +0 -1
  864. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +0 -1
  865. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +0 -1
  866. package/dist/elements/Hierarchy/Drawer/index.css +0 -108
  867. package/dist/elements/Hierarchy/Drawer/index.d.ts +0 -20
  868. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +0 -1
  869. package/dist/elements/Hierarchy/Drawer/index.js.map +0 -1
  870. package/dist/elements/Hierarchy/Drawer/types.d.ts.map +0 -1
  871. package/dist/elements/Hierarchy/Drawer/types.js.map +0 -1
  872. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +0 -30
  873. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +0 -1
  874. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +0 -1
  875. package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +0 -78
  876. package/dist/elements/Hierarchy/Field/index.scss +0 -41
  877. package/dist/elements/Hierarchy/MoveMany/index.scss +0 -7
  878. package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +0 -26
  879. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +0 -7
  880. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +0 -1
  881. package/dist/elements/Hierarchy/Tree/TreeConnector.js +0 -23
  882. package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +0 -1
  883. package/dist/elements/LoadMoreRow/index.scss +0 -45
  884. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  885. package/dist/elements/PreviewSizes/index.scss +0 -147
  886. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -17
  887. package/dist/elements/QueryPresets/fields/GroupByField/index.scss +0 -17
  888. package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
  889. package/dist/elements/Thumbnail/index.scss +0 -53
  890. package/dist/fields/Tabs/Tab/index.css +0 -82
  891. package/dist/icons/ExternalLink/index.d.ts.map +0 -1
  892. package/dist/icons/ExternalLink/index.js +0 -26
  893. package/dist/icons/ExternalLink/index.js.map +0 -1
  894. package/dist/scss/toasts.scss +0 -146
  895. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +0 -18
  896. package/dist/views/Version/SelectComparison/index.scss +0 -9
  897. /package/dist/elements/{ColumnSelector/index.css → ColumnSelection/Popup.css} +0 -0
  898. /package/dist/elements/{GroupByControl/index.css → GroupBy/Popup.css} +0 -0
  899. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.d.ts +0 -0
  900. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.js +0 -0
  901. /package/dist/elements/Hierarchy/{Drawer → Modal}/types.js +0 -0
@@ -0,0 +1,149 @@
1
+ @layer payload-default {
2
+ .preview-sizes {
3
+ margin: var(--spacer-6) calc(var(--gutter-h) * -1) 0 calc(var(--gutter-h) * -1);
4
+ border-top: var(--stroke-width-small) solid var(--theme-elevation-150);
5
+ max-height: calc(100vh - var(--spacer-6) * 3);
6
+ height: 100%;
7
+ display: flex;
8
+ flex-direction: row;
9
+ }
10
+
11
+ .preview-sizes__imageWrap {
12
+ min-width: 60%;
13
+ border-right: var(--stroke-width-small) solid var(--theme-elevation-150);
14
+ }
15
+
16
+ .preview-sizes__preview {
17
+ max-height: calc(100% - var(--spacer-6) * 3);
18
+ padding: var(--spacer-5) var(--spacer-5) var(--spacer-5) var(--gutter-h);
19
+ object-fit: contain;
20
+ }
21
+
22
+ .preview-sizes__meta {
23
+ border-bottom: var(--stroke-width-small) solid var(--theme-elevation-150);
24
+ padding: var(--spacer-3) var(--gutter-h);
25
+ display: flex;
26
+ flex-wrap: wrap;
27
+ column-gap: var(--spacer-3);
28
+ }
29
+
30
+ .preview-sizes__meta .file-meta {
31
+ display: flex;
32
+ flex-wrap: wrap;
33
+ column-gap: var(--spacer-3);
34
+ text-wrap: wrap;
35
+ width: 100%;
36
+ }
37
+
38
+ .preview-sizes__meta .file-meta__url {
39
+ width: 100%;
40
+ }
41
+
42
+ .preview-sizes__sizeName,
43
+ .preview-sizes .file-meta__size-type {
44
+ color: var(--theme-elevation-600);
45
+ }
46
+
47
+ .preview-sizes__listWrap {
48
+ padding-right: var(--gutter-h);
49
+ overflow-y: scroll;
50
+ }
51
+
52
+ .preview-sizes__listWrap::-webkit-scrollbar {
53
+ width: 0;
54
+ }
55
+
56
+ .preview-sizes__listWrap::after {
57
+ content: '';
58
+ display: block;
59
+ position: sticky;
60
+ bottom: 0;
61
+ left: 0;
62
+ height: calc(var(--spacer-6) * 2);
63
+ width: 100%;
64
+ background: linear-gradient(180deg, transparent 0, var(--theme-bg) 100%);
65
+ pointer-events: none;
66
+ }
67
+
68
+ .preview-sizes__list {
69
+ list-style: none;
70
+ display: flex;
71
+ flex-direction: column;
72
+ gap: var(--spacer-2);
73
+ margin: 0;
74
+ padding: var(--spacer-5) 0 var(--spacer-5) var(--spacer-5);
75
+ }
76
+
77
+ .preview-sizes__sizeOption {
78
+ padding: var(--spacer-2);
79
+ display: flex;
80
+ gap: var(--spacer-3);
81
+ cursor: pointer;
82
+ transition: background-color 0.2s ease-in-out;
83
+ }
84
+
85
+ .preview-sizes__sizeOption:hover {
86
+ background-color: var(--theme-elevation-100);
87
+ }
88
+
89
+ .preview-sizes--selected {
90
+ background-color: var(--theme-elevation-100);
91
+ }
92
+
93
+ .preview-sizes__image {
94
+ display: flex;
95
+ width: 30%;
96
+ min-width: 30%;
97
+ align-items: center;
98
+ justify-content: center;
99
+ }
100
+
101
+ .preview-sizes__sizeMeta {
102
+ padding: var(--spacer-2) 0;
103
+ }
104
+
105
+ .preview-sizes__sizeName,
106
+ .preview-sizes__sizeMeta {
107
+ overflow: hidden;
108
+ text-overflow: ellipsis;
109
+ }
110
+
111
+ @media (max-width: 1024px) {
112
+ .preview-sizes {
113
+ margin-top: var(--spacer-3);
114
+ max-height: calc(100vh - var(--spacer-6) * 2);
115
+ }
116
+ }
117
+
118
+ @media (max-width: 768px) {
119
+ .preview-sizes {
120
+ margin-top: 0;
121
+ max-height: calc(100vh - var(--spacer-6) * 1.75);
122
+ flex-direction: column;
123
+ justify-content: space-between;
124
+ }
125
+
126
+ .preview-sizes__imageWrap {
127
+ height: 60%;
128
+ border: none;
129
+ }
130
+
131
+ .preview-sizes__list,
132
+ .preview-sizes__preview {
133
+ padding: calc(var(--gutter-h) * 2) var(--gutter-h);
134
+ }
135
+
136
+ .preview-sizes__preview {
137
+ max-height: calc(100% - var(--spacer-6) * 2);
138
+ }
139
+
140
+ .preview-sizes__sizeOption {
141
+ padding: var(--spacer-1);
142
+ }
143
+
144
+ .preview-sizes__listWrap {
145
+ border-top: var(--stroke-width-small) solid var(--theme-elevation-150);
146
+ height: 40%;
147
+ }
148
+ }
149
+ }
@@ -1,6 +1,6 @@
1
1
  import type { Data, FileSize, SanitizedCollectionConfig } from 'payload';
2
2
  import React from 'react';
3
- import './index.scss';
3
+ import './index.css';
4
4
  type FileInfo = {
5
5
  url: string;
6
6
  } & FileSize;
@@ -11,7 +11,7 @@ export type PreviewSizesProps = {
11
11
  doc: {
12
12
  sizes?: FilesSizesWithUrl;
13
13
  } & Data;
14
- imageCacheTag?: string;
14
+ imageCacheTag?: false | string;
15
15
  uploadConfig: SanitizedCollectionConfig['upload'];
16
16
  };
17
17
  export declare const PreviewSizes: React.FC<PreviewSizesProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PreviewSizes/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,yBAAyB,EAAyB,MAAM,SAAS,CAAA;AAE/F,OAAO,KAAuC,MAAM,OAAO,CAAA;AAI3D,OAAO,cAAc,CAAA;AAIrB,KAAK,QAAQ,GAAG;IACd,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,QAAQ,CAAA;AACZ,KAAK,iBAAiB,GAAG;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CACxB,CAAA;AA8DD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE;QACH,KAAK,CAAC,EAAE,iBAAiB,CAAA;KAC1B,GAAG,IAAI,CAAA;IACR,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAClD,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAoFpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PreviewSizes/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,yBAAyB,EAAyB,MAAM,SAAS,CAAA;AAE/F,OAAO,KAAuC,MAAM,OAAO,CAAA;AAI3D,OAAO,aAAa,CAAA;AAIpB,KAAK,QAAQ,GAAG;IACd,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,QAAQ,CAAA;AACZ,KAAK,iBAAiB,GAAG;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CACxB,CAAA;AA8DD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE;QACH,KAAK,CAAC,EAAE,iBAAiB,CAAA;KAC1B,GAAG,IAAI,CAAA;IACR,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IAC9B,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAClD,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAoFpD,CAAA"}
@@ -4,7 +4,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import React, { useEffect, useMemo, useState } from 'react';
5
5
  import { appendCacheTag } from '../../utilities/appendCacheTag.js';
6
6
  import { FileMeta } from '../FileDetails/FileMeta/index.js';
7
- import './index.scss';
7
+ import './index.css';
8
8
  const baseClass = 'preview-sizes';
9
9
  const sortSizes = (sizes, imageSizes) => {
10
10
  if (!imageSizes || imageSizes.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useEffect","useMemo","useState","appendCacheTag","FileMeta","baseClass","sortSizes","sizes","imageSizes","length","orderedSizes","forEach","name","PreviewSizeCard","active","alt","meta","onClick","previewSrc","_jsxs","className","filter","Boolean","join","undefined","onKeyDown","e","key","role","tabIndex","_jsx","src","PreviewSizes","doc","imageCacheTag","uploadConfig","filename","setOrderedSizes","selectedSize","setSelectedSize","generateImageUrl","url","mainPreviewSrc","originalImage","filesize","height","mimeType","width","originalFilename","Object","entries","map","val","selected"],"sources":["../../../src/elements/PreviewSizes/index.tsx"],"sourcesContent":["'use client'\nimport type { Data, FileSize, SanitizedCollectionConfig, SanitizedUploadConfig } from 'payload'\n\nimport React, { useEffect, useMemo, useState } from 'react'\n\nimport { appendCacheTag } from '../../utilities/appendCacheTag.js'\nimport { FileMeta } from '../FileDetails/FileMeta/index.js'\nimport './index.scss'\n\nconst baseClass = 'preview-sizes'\n\ntype FileInfo = {\n url: string\n} & FileSize\ntype FilesSizesWithUrl = {\n [key: string]: FileInfo\n}\n\nconst sortSizes = (sizes: FilesSizesWithUrl, imageSizes: SanitizedUploadConfig['imageSizes']) => {\n if (!imageSizes || imageSizes.length === 0) {\n return sizes\n }\n\n const orderedSizes: FilesSizesWithUrl = {}\n\n imageSizes.forEach(({ name }) => {\n if (sizes[name]) {\n orderedSizes[name] = sizes[name]\n }\n })\n\n return orderedSizes\n}\n\ntype PreviewSizeCardProps = {\n active: boolean\n alt: string\n meta: FileInfo\n name: string\n onClick?: () => void\n previewSrc: string\n}\nconst PreviewSizeCard: React.FC<PreviewSizeCardProps> = ({\n name,\n active,\n alt,\n meta,\n onClick,\n previewSrc,\n}) => {\n return (\n <div\n className={[`${baseClass}__sizeOption`, active && `${baseClass}--selected`]\n .filter(Boolean)\n .join(' ')}\n onClick={typeof onClick === 'function' ? onClick : undefined}\n onKeyDown={(e) => {\n if (typeof onClick !== 'function') {\n return\n }\n if (e.key === 'Enter') {\n onClick()\n }\n }}\n role=\"button\"\n tabIndex={0}\n >\n <div className={`${baseClass}__image`}>\n <img alt={alt} src={previewSrc} />\n </div>\n <div className={`${baseClass}__sizeMeta`}>\n <div className={`${baseClass}__sizeName`}>{name}</div>\n <FileMeta {...meta} />\n </div>\n </div>\n )\n}\n\nexport type PreviewSizesProps = {\n doc: {\n sizes?: FilesSizesWithUrl\n } & Data\n imageCacheTag?: string\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const PreviewSizes: React.FC<PreviewSizesProps> = ({ doc, imageCacheTag, uploadConfig }) => {\n const { imageSizes } = uploadConfig\n const { sizes } = doc\n\n const alt = (doc as { alt?: string })?.alt || doc.filename || ''\n\n const [orderedSizes, setOrderedSizes] = useState<FilesSizesWithUrl>(() =>\n sortSizes(sizes, imageSizes),\n )\n const [selectedSize, setSelectedSize] = useState<null | string>(null)\n\n const generateImageUrl = (doc) => {\n if (!doc.filename) {\n return null\n }\n if (doc.url) {\n return appendCacheTag(doc.url, imageCacheTag)\n }\n }\n useEffect(() => {\n setOrderedSizes(sortSizes(sizes, imageSizes))\n }, [sizes, imageSizes, imageCacheTag])\n\n const mainPreviewSrc = selectedSize\n ? generateImageUrl(doc.sizes[selectedSize])\n : generateImageUrl(doc)\n\n const originalImage = useMemo(\n (): FileInfo => ({\n filename: doc.filename,\n filesize: doc.filesize,\n height: doc.height,\n mimeType: doc.mimeType,\n url: doc.url,\n width: doc.width,\n }),\n [doc],\n )\n const originalFilename = 'Original'\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__imageWrap`}>\n <div className={`${baseClass}__meta`}>\n <div className={`${baseClass}__sizeName`}>{selectedSize || originalFilename}</div>\n <FileMeta {...(selectedSize ? orderedSizes[selectedSize] : originalImage)} />\n </div>\n <img alt={alt} className={`${baseClass}__preview`} src={mainPreviewSrc} />\n </div>\n <div className={`${baseClass}__listWrap`}>\n <div className={`${baseClass}__list`}>\n <PreviewSizeCard\n active={!selectedSize}\n alt={alt}\n meta={originalImage}\n name={originalFilename}\n onClick={() => setSelectedSize(null)}\n previewSrc={generateImageUrl(doc)}\n />\n\n {Object.entries(orderedSizes).map(([key, val]) => {\n const selected = selectedSize === key\n const previewSrc = generateImageUrl(val)\n\n if (previewSrc) {\n return (\n <PreviewSizeCard\n active={selected}\n alt={alt}\n key={key}\n meta={val}\n name={key}\n onClick={() => setSelectedSize(key)}\n previewSrc={previewSrc}\n />\n )\n }\n\n return null\n })}\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useEffect","useMemo","useState","appendCacheTag","FileMeta","baseClass","sortSizes","sizes","imageSizes","length","orderedSizes","forEach","name","PreviewSizeCard","active","alt","meta","onClick","previewSrc","_jsxs","className","filter","Boolean","join","undefined","onKeyDown","e","key","role","tabIndex","_jsx","src","PreviewSizes","doc","imageCacheTag","uploadConfig","filename","setOrderedSizes","selectedSize","setSelectedSize","generateImageUrl","url","mainPreviewSrc","originalImage","filesize","height","mimeType","width","originalFilename","Object","entries","map","val","selected"],"sources":["../../../src/elements/PreviewSizes/index.tsx"],"sourcesContent":["'use client'\nimport type { Data, FileSize, SanitizedCollectionConfig, SanitizedUploadConfig } from 'payload'\n\nimport React, { useEffect, useMemo, useState } from 'react'\n\nimport { appendCacheTag } from '../../utilities/appendCacheTag.js'\nimport { FileMeta } from '../FileDetails/FileMeta/index.js'\nimport './index.css'\n\nconst baseClass = 'preview-sizes'\n\ntype FileInfo = {\n url: string\n} & FileSize\ntype FilesSizesWithUrl = {\n [key: string]: FileInfo\n}\n\nconst sortSizes = (sizes: FilesSizesWithUrl, imageSizes: SanitizedUploadConfig['imageSizes']) => {\n if (!imageSizes || imageSizes.length === 0) {\n return sizes\n }\n\n const orderedSizes: FilesSizesWithUrl = {}\n\n imageSizes.forEach(({ name }) => {\n if (sizes[name]) {\n orderedSizes[name] = sizes[name]\n }\n })\n\n return orderedSizes\n}\n\ntype PreviewSizeCardProps = {\n active: boolean\n alt: string\n meta: FileInfo\n name: string\n onClick?: () => void\n previewSrc: string\n}\nconst PreviewSizeCard: React.FC<PreviewSizeCardProps> = ({\n name,\n active,\n alt,\n meta,\n onClick,\n previewSrc,\n}) => {\n return (\n <div\n className={[`${baseClass}__sizeOption`, active && `${baseClass}--selected`]\n .filter(Boolean)\n .join(' ')}\n onClick={typeof onClick === 'function' ? onClick : undefined}\n onKeyDown={(e) => {\n if (typeof onClick !== 'function') {\n return\n }\n if (e.key === 'Enter') {\n onClick()\n }\n }}\n role=\"button\"\n tabIndex={0}\n >\n <div className={`${baseClass}__image`}>\n <img alt={alt} src={previewSrc} />\n </div>\n <div className={`${baseClass}__sizeMeta`}>\n <div className={`${baseClass}__sizeName`}>{name}</div>\n <FileMeta {...meta} />\n </div>\n </div>\n )\n}\n\nexport type PreviewSizesProps = {\n doc: {\n sizes?: FilesSizesWithUrl\n } & Data\n imageCacheTag?: false | string\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const PreviewSizes: React.FC<PreviewSizesProps> = ({ doc, imageCacheTag, uploadConfig }) => {\n const { imageSizes } = uploadConfig\n const { sizes } = doc\n\n const alt = (doc as { alt?: string })?.alt || doc.filename || ''\n\n const [orderedSizes, setOrderedSizes] = useState<FilesSizesWithUrl>(() =>\n sortSizes(sizes, imageSizes),\n )\n const [selectedSize, setSelectedSize] = useState<null | string>(null)\n\n const generateImageUrl = (doc) => {\n if (!doc.filename) {\n return null\n }\n if (doc.url) {\n return appendCacheTag(doc.url, imageCacheTag)\n }\n }\n useEffect(() => {\n setOrderedSizes(sortSizes(sizes, imageSizes))\n }, [sizes, imageSizes, imageCacheTag])\n\n const mainPreviewSrc = selectedSize\n ? generateImageUrl(doc.sizes[selectedSize])\n : generateImageUrl(doc)\n\n const originalImage = useMemo(\n (): FileInfo => ({\n filename: doc.filename,\n filesize: doc.filesize,\n height: doc.height,\n mimeType: doc.mimeType,\n url: doc.url,\n width: doc.width,\n }),\n [doc],\n )\n const originalFilename = 'Original'\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__imageWrap`}>\n <div className={`${baseClass}__meta`}>\n <div className={`${baseClass}__sizeName`}>{selectedSize || originalFilename}</div>\n <FileMeta {...(selectedSize ? orderedSizes[selectedSize] : originalImage)} />\n </div>\n <img alt={alt} className={`${baseClass}__preview`} src={mainPreviewSrc} />\n </div>\n <div className={`${baseClass}__listWrap`}>\n <div className={`${baseClass}__list`}>\n <PreviewSizeCard\n active={!selectedSize}\n alt={alt}\n meta={originalImage}\n name={originalFilename}\n onClick={() => setSelectedSize(null)}\n previewSrc={generateImageUrl(doc)}\n />\n\n {Object.entries(orderedSizes).map(([key, val]) => {\n const selected = selectedSize === key\n const previewSrc = generateImageUrl(val)\n\n if (previewSrc) {\n return (\n <PreviewSizeCard\n active={selected}\n alt={alt}\n key={key}\n meta={val}\n name={key}\n onClick={() => setSelectedSize(key)}\n previewSrc={previewSrc}\n />\n )\n }\n\n return null\n })}\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import type { Where } from 'payload';
2
+ type Args = {
3
+ collectionSlug?: string;
4
+ globalSlug?: string;
5
+ id?: number | string;
6
+ };
7
+ /**
8
+ * Builds the `where` query used to find upcoming scheduled
9
+ * publish/unpublish jobs for a given document or global.
10
+ */
11
+ export declare const buildUpcomingScheduleWhere: ({ id, collectionSlug, globalSlug }: Args) => Where;
12
+ export {};
13
+ //# sourceMappingURL=buildUpcomingScheduleWhere.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildUpcomingScheduleWhere.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACrB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GAAI,oCAAoC,IAAI,KAAG,KAsCrF,CAAA"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Builds the `where` query used to find upcoming scheduled
3
+ * publish/unpublish jobs for a given document or global.
4
+ */export const buildUpcomingScheduleWhere = ({
5
+ id,
6
+ collectionSlug,
7
+ globalSlug
8
+ }) => {
9
+ const where = {
10
+ and: [{
11
+ taskSlug: {
12
+ equals: 'schedulePublish'
13
+ }
14
+ }, {
15
+ waitUntil: {
16
+ greater_than: new Date()
17
+ }
18
+ }]
19
+ };
20
+ if (collectionSlug) {
21
+ where.and.push({
22
+ 'input.doc.value': {
23
+ equals: String(id)
24
+ }
25
+ });
26
+ where.and.push({
27
+ 'input.doc.relationTo': {
28
+ equals: collectionSlug
29
+ }
30
+ });
31
+ }
32
+ if (globalSlug) {
33
+ where.and.push({
34
+ 'input.global': {
35
+ equals: globalSlug
36
+ }
37
+ });
38
+ }
39
+ return where;
40
+ };
41
+ //# sourceMappingURL=buildUpcomingScheduleWhere.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildUpcomingScheduleWhere.js","names":["buildUpcomingScheduleWhere","id","collectionSlug","globalSlug","where","and","taskSlug","equals","waitUntil","greater_than","Date","push","String"],"sources":["../../../../src/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.ts"],"sourcesContent":["import type { Where } from 'payload'\n\ntype Args = {\n collectionSlug?: string\n globalSlug?: string\n id?: number | string\n}\n\n/**\n * Builds the `where` query used to find upcoming scheduled\n * publish/unpublish jobs for a given document or global.\n */\nexport const buildUpcomingScheduleWhere = ({ id, collectionSlug, globalSlug }: Args): Where => {\n const where: Where = {\n and: [\n {\n taskSlug: {\n equals: 'schedulePublish',\n },\n },\n {\n waitUntil: {\n greater_than: new Date(),\n },\n },\n ],\n }\n\n if (collectionSlug) {\n where.and.push({\n 'input.doc.value': {\n equals: String(id),\n },\n })\n where.and.push({\n 'input.doc.relationTo': {\n equals: collectionSlug,\n },\n })\n }\n\n if (globalSlug) {\n where.and.push({\n 'input.global': {\n equals: globalSlug,\n },\n })\n }\n\n return where\n}\n"],"mappings":"AAQA;;;GAIA,OAAO,MAAMA,0BAAA,GAA6BA,CAAC;EAAEC,EAAE;EAAEC,cAAc;EAAEC;AAAU,CAAQ;EACjF,MAAMC,KAAA,GAAe;IACnBC,GAAA,EAAK,CACH;MACEC,QAAA,EAAU;QACRC,MAAA,EAAQ;MACV;IACF,GACA;MACEC,SAAA,EAAW;QACTC,YAAA,EAAc,IAAIC,IAAA;MACpB;IACF;EAEJ;EAEA,IAAIR,cAAA,EAAgB;IAClBE,KAAA,CAAMC,GAAG,CAACM,IAAI,CAAC;MACb,mBAAmB;QACjBJ,MAAA,EAAQK,MAAA,CAAOX,EAAA;MACjB;IACF;IACAG,KAAA,CAAMC,GAAG,CAACM,IAAI,CAAC;MACb,wBAAwB;QACtBJ,MAAA,EAAQL;MACV;IACF;EACF;EAEA,IAAIC,UAAA,EAAY;IACdC,KAAA,CAAMC,GAAG,CAACM,IAAI,CAAC;MACb,gBAAgB;QACdJ,MAAA,EAAQJ;MACV;IACF;EACF;EAEA,OAAOC,KAAA;AACT","ignoreList":[]}
@@ -4,6 +4,7 @@ import type { PublishType } from './types.js';
4
4
  import './index.css';
5
5
  type Props = {
6
6
  defaultType?: PublishType;
7
+ onUpcomingChange?: (hasUpcoming: boolean) => void;
7
8
  schedulePublishConfig?: SchedulePublish;
8
9
  slug: string;
9
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAU,eAAe,EAAS,MAAM,SAAS,CAAA;AAQ7D,OAAO,KAA+B,MAAM,OAAO,CAAA;AAGnD,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,YAAY,CAAA;AAe5D,OAAO,aAAa,CAAA;AASpB,KAAK,KAAK,GAAG;IACX,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,qBAAqB,CAAC,EAAE,eAAe,CAAA;IACvC,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAOD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAkU1C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAU,eAAe,EAAS,MAAM,SAAS,CAAA;AAQ7D,OAAO,KAA+B,MAAM,OAAO,CAAA;AAGnD,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,YAAY,CAAA;AAe5D,OAAO,aAAa,CAAA;AAUpB,KAAK,KAAK,GAAG;IACX,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAA;IACjD,qBAAqB,CAAC,EAAE,eAAe,CAAA;IACvC,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAOD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiT1C,CAAA"}
@@ -28,6 +28,7 @@ import { ShimmerEffect } from '../../ShimmerEffect/index.js';
28
28
  import { Table } from '../../Table/index.js';
29
29
  import { TimezonePicker } from '../../TimezonePicker/index.js';
30
30
  import { buildUpcomingColumns } from './buildUpcomingColumns.js';
31
+ import { buildUpcomingScheduleWhere } from './buildUpcomingScheduleWhere.js';
31
32
  const baseClass = 'schedule-publish';
32
33
  const defaultLocaleOption = {
33
34
  label: 'All',
@@ -36,6 +37,7 @@ const defaultLocaleOption = {
36
37
  export const ScheduleDrawer = ({
37
38
  slug,
38
39
  defaultType,
40
+ onUpcomingChange,
39
41
  schedulePublishConfig
40
42
  }) => {
41
43
  const {
@@ -98,37 +100,12 @@ export const ScheduleDrawer = ({
98
100
  const fetchUpcoming = React.useCallback(async () => {
99
101
  const query = {
100
102
  sort: 'waitUntil',
101
- where: {
102
- and: [{
103
- taskSlug: {
104
- equals: 'schedulePublish'
105
- }
106
- }, {
107
- waitUntil: {
108
- greater_than: new Date()
109
- }
110
- }]
111
- }
103
+ where: buildUpcomingScheduleWhere({
104
+ id,
105
+ collectionSlug,
106
+ globalSlug
107
+ })
112
108
  };
113
- if (collectionSlug) {
114
- query.where.and.push({
115
- 'input.doc.value': {
116
- equals: String(id)
117
- }
118
- });
119
- query.where.and.push({
120
- 'input.doc.relationTo': {
121
- equals: collectionSlug
122
- }
123
- });
124
- }
125
- if (globalSlug) {
126
- query.where.and.push({
127
- 'input.global': {
128
- equals: globalSlug
129
- }
130
- });
131
- }
132
109
  const {
133
110
  docs
134
111
  } = await requests.post(formatAdminURL({
@@ -153,7 +130,8 @@ export const ScheduleDrawer = ({
153
130
  t
154
131
  }));
155
132
  setUpcoming(docs);
156
- }, [collectionSlug, globalSlug, api, i18n, dateFormat, localization, supportedTimezones, t, id]);
133
+ onUpcomingChange?.(docs.length > 0);
134
+ }, [collectionSlug, globalSlug, api, i18n, dateFormat, localization, supportedTimezones, t, id, onUpcomingChange]);
157
135
  const deleteHandler = React.useCallback(async id_0 => {
158
136
  try {
159
137
  await schedulePublish({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["TZDateMini","TZDate","getTranslation","endOfToday","isToday","startOfDay","transpose","formatAdminURL","qs","React","useCallback","useMemo","toast","FieldLabel","Radio","useConfig","useDocumentInfo","useDocumentTitle","useServerFunctions","useTranslation","requests","Banner","Button","DatePickerField","Drawer","Gutter","ReactSelect","ShimmerEffect","Table","TimezonePicker","buildUpcomingColumns","baseClass","defaultLocaleOption","label","value","ScheduleDrawer","slug","defaultType","schedulePublishConfig","config","admin","dateFormat","timezones","defaultTimezone","supportedTimezones","localization","routes","api","id","collectionSlug","globalSlug","title","i18n","t","schedulePublish","type","setType","useState","date","setDate","timezone","setTimezone","locale","setLocale","processing","setProcessing","modalTitle","upcoming","setUpcoming","upcomingColumns","setUpcomingColumns","deleteHandlerRef","useRef","userTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","localeOptions","options","locales","map","code","unshift","fetchUpcoming","query","sort","where","and","taskSlug","equals","waitUntil","greater_than","Date","push","String","docs","post","apiRoute","path","body","stringify","headers","language","then","res","json","deleteHandler","current","deleteID","success","err","console","error","message","useEffect","handleSave","localeToPublish","doc","relationTo","undefined","global","displayedValue","DateWithOriginalTz","tz","DateWithUserTz","modifiedDate","withTimeZone","dateWithTimezone","dateWithUserTimezone","toISOString","onChangeDate","incomingDate","tzDateWithUTC","dateToUserTz","fetchInitialUpcoming","minTime","_jsxs","className","_jsx","required","isSelected","onChange","option","readOnly","maxTime","minDate","e","pickerAppearance","timeFormat","timeIntervals","length","selectedTimezone","buttonStyle","disabled","onClick","appearance","columns","data"],"sources":["../../../../src/elements/PublishButton/ScheduleDrawer/index.tsx"],"sourcesContent":["/* eslint-disable no-console */\n'use client'\n\nimport type { Column, SchedulePublish, Where } from 'payload'\n\nimport { TZDateMini as TZDate } from '@date-fns/tz/date/mini'\nimport { getTranslation } from '@payloadcms/translations'\nimport { endOfToday, isToday, startOfDay } from 'date-fns'\nimport { transpose } from 'date-fns/transpose'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { PublishType, UpcomingEvent } from './types.js'\n\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { Radio } from '../../../fields/RadioGroup/Radio/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { requests } from '../../../utilities/api.js'\nimport { Banner } from '../../Banner/index.js'\nimport { Button } from '../../Button/index.js'\nimport { DatePickerField } from '../../DatePicker/index.js'\nimport { Drawer } from '../../Drawer/index.js'\nimport { Gutter } from '../../Gutter/index.js'\nimport './index.css'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { Table } from '../../Table/index.js'\nimport { TimezonePicker } from '../../TimezonePicker/index.js'\nimport { buildUpcomingColumns } from './buildUpcomingColumns.js'\n\nconst baseClass = 'schedule-publish'\n\ntype Props = {\n defaultType?: PublishType\n schedulePublishConfig?: SchedulePublish\n slug: string\n}\n\nconst defaultLocaleOption = {\n label: 'All',\n value: 'all',\n}\n\nexport const ScheduleDrawer: React.FC<Props> = ({ slug, defaultType, schedulePublishConfig }) => {\n const {\n config: {\n admin: {\n dateFormat,\n timezones: { defaultTimezone, supportedTimezones },\n },\n localization,\n routes: { api },\n },\n } = useConfig()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { title } = useDocumentTitle()\n const { i18n, t } = useTranslation()\n const { schedulePublish } = useServerFunctions()\n const [type, setType] = React.useState<PublishType>(defaultType || 'publish')\n const [date, setDate] = React.useState<Date>()\n const [timezone, setTimezone] = React.useState<string>(defaultTimezone)\n const [locale, setLocale] = React.useState<{ label: string; value: string }>(defaultLocaleOption)\n const [processing, setProcessing] = React.useState(false)\n const modalTitle = t('general:schedulePublishFor', { title })\n const [upcoming, setUpcoming] = React.useState<UpcomingEvent[]>()\n const [upcomingColumns, setUpcomingColumns] = React.useState<Column[]>()\n const deleteHandlerRef = React.useRef<((id: number | string) => Promise<void>) | null>(() => null)\n\n // Get the user timezone so we can adjust the displayed value against it\n const userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone\n\n const localeOptions = React.useMemo(() => {\n if (localization) {\n const options = localization.locales.map(({ code, label }) => ({\n label: getTranslation(label, i18n),\n value: code,\n }))\n\n options.unshift(defaultLocaleOption)\n\n return options\n }\n\n return []\n }, [localization, i18n])\n\n const fetchUpcoming = React.useCallback(async () => {\n const query: { sort: string; where: Where } = {\n sort: 'waitUntil',\n where: {\n and: [\n {\n taskSlug: {\n equals: 'schedulePublish',\n },\n },\n {\n waitUntil: {\n greater_than: new Date(),\n },\n },\n ],\n },\n }\n\n if (collectionSlug) {\n query.where.and.push({\n 'input.doc.value': {\n equals: String(id),\n },\n })\n query.where.and.push({\n 'input.doc.relationTo': {\n equals: collectionSlug,\n },\n })\n }\n\n if (globalSlug) {\n query.where.and.push({\n 'input.global': {\n equals: globalSlug,\n },\n })\n }\n\n const { docs } = await requests\n .post(formatAdminURL({ apiRoute: api, path: `/payload-jobs` }), {\n body: qs.stringify(query),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-Payload-HTTP-Method-Override': 'GET',\n },\n })\n .then((res) => res.json())\n\n setUpcomingColumns(\n buildUpcomingColumns({\n dateFormat,\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n deleteHandler: deleteHandlerRef.current,\n docs,\n i18n,\n localization,\n supportedTimezones,\n t,\n }),\n )\n setUpcoming(docs)\n }, [collectionSlug, globalSlug, api, i18n, dateFormat, localization, supportedTimezones, t, id])\n\n const deleteHandler = React.useCallback(\n async (id: number | string) => {\n try {\n await schedulePublish({\n deleteID: id,\n })\n await fetchUpcoming()\n toast.success(t('general:deletedSuccessfully'))\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n },\n [fetchUpcoming, schedulePublish, t],\n )\n\n React.useEffect(() => {\n deleteHandlerRef.current = deleteHandler\n }, [deleteHandler])\n\n const handleSave = React.useCallback(async () => {\n if (!date) {\n return toast.error(t('general:noDateSelected'))\n }\n\n setProcessing(true)\n\n let localeToPublish: string\n\n if (typeof locale === 'object' && locale.value !== 'all' && type === 'publish') {\n localeToPublish = locale.value\n }\n\n try {\n await schedulePublish({\n type,\n date,\n doc: collectionSlug\n ? {\n relationTo: collectionSlug,\n value: String(id),\n }\n : undefined,\n global: globalSlug || undefined,\n localeToPublish,\n timezone,\n })\n\n setDate(undefined)\n toast.success(t('version:scheduledSuccessfully'))\n void fetchUpcoming()\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n\n setProcessing(false)\n }, [\n date,\n locale,\n type,\n t,\n schedulePublish,\n collectionSlug,\n id,\n globalSlug,\n timezone,\n fetchUpcoming,\n ])\n\n const displayedValue = useMemo(() => {\n if (timezone && userTimezone && date) {\n // Create TZDate instances for the selected timezone and the user's timezone\n // These instances allow us to transpose the date between timezones while keeping the same time value\n const DateWithOriginalTz = TZDate.tz(timezone)\n const DateWithUserTz = TZDate.tz(userTimezone)\n\n const modifiedDate = new TZDate(date).withTimeZone(timezone)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(modifiedDate, DateWithOriginalTz)\n\n // Transpose the date to the user's timezone - this is necessary because the react-datepicker component insists on displaying the date in the user's timezone\n const dateWithUserTimezone = transpose(dateWithTimezone, DateWithUserTz)\n\n return dateWithUserTimezone.toISOString()\n }\n\n return date\n }, [timezone, date, userTimezone])\n\n const onChangeDate = useCallback(\n (incomingDate: Date) => {\n if (timezone && incomingDate) {\n // Create TZDate instances for the selected timezone\n const tzDateWithUTC = TZDate.tz(timezone)\n\n // Creates a TZDate instance for the user's timezone — this is default behaviour of TZDate as it wraps the Date constructor\n const dateToUserTz = new TZDate(incomingDate)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(dateToUserTz, tzDateWithUTC)\n\n setDate(dateWithTimezone || null)\n } else {\n setDate(incomingDate || null)\n }\n },\n [setDate, timezone],\n )\n\n React.useEffect(() => {\n if (!upcoming) {\n const fetchInitialUpcoming = async () => {\n await fetchUpcoming()\n }\n\n void fetchInitialUpcoming()\n }\n }, [upcoming, fetchUpcoming])\n\n const minTime = useMemo(() => {\n if (date && isToday(date)) {\n return new Date()\n }\n\n return startOfDay(new Date())\n }, [date])\n\n return (\n <Drawer className={baseClass} slug={slug} title={modalTitle}>\n <Gutter className={`${baseClass}__scheduler`}>\n <div className={`${baseClass}__section`}>\n <FieldLabel label={t('version:type')} required />\n <ul className={`${baseClass}__type`}>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'publish'}\n onChange={() => setType('publish')}\n option={{ label: t('version:publish'), value: 'publish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'unpublish'}\n onChange={() => setType('unpublish')}\n option={{ label: t('version:unpublish'), value: 'unpublish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n </ul>\n </div>\n <div className={`${baseClass}__section`}>\n <FieldLabel label={t('general:time')} path={'time'} required />\n <DatePickerField\n id=\"time\"\n maxTime={endOfToday()}\n minDate={new Date()}\n minTime={minTime}\n onChange={(e) => onChangeDate(e)}\n pickerAppearance=\"dayAndTime\"\n readOnly={processing}\n timeFormat={schedulePublishConfig?.timeFormat}\n timeIntervals={schedulePublishConfig?.timeIntervals ?? 5}\n value={displayedValue}\n />\n {supportedTimezones.length > 0 && (\n <TimezonePicker\n id={`timezone-picker`}\n onChange={setTimezone}\n options={supportedTimezones}\n selectedTimezone={timezone}\n />\n )}\n </div>\n {localeOptions.length > 0 && type === 'publish' && (\n <div className={`${baseClass}__section`}>\n <FieldLabel label={t('localization:localeToPublish')} />\n <ReactSelect\n onChange={(e) => setLocale(e as { label: string; value: string })}\n options={localeOptions}\n value={locale}\n />\n </div>\n )}\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"primary\"\n disabled={processing}\n id=\"scheduled-publish-save\"\n onClick={handleSave}\n type=\"button\"\n >\n {t('general:save')}\n </Button>\n {processing ? <span>{t('general:saving')}</span> : null}\n </div>\n </Gutter>\n <Gutter className={`${baseClass}__upcoming`}>\n <h4>{t('general:upcomingEvents')}</h4>\n {!upcoming && <ShimmerEffect />}\n {upcoming?.length === 0 && <Banner>{t('general:noUpcomingEventsScheduled')}</Banner>}\n {upcoming?.length > 0 && (\n <Table appearance=\"condensed\" columns={upcomingColumns} data={upcoming} />\n )}\n </Gutter>\n </Drawer>\n )\n}\n"],"mappings":"AAAA,+BACA;;;AAIA,SAASA,UAAA,IAAcC,MAAM,QAAQ;AACrC,SAASC,cAAc,QAAQ;AAC/B,SAASC,UAAU,EAAEC,OAAO,EAAEC,UAAU,QAAQ;AAChD,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,IAASC,WAAW,EAAEC,OAAO,QAAQ;AAC5C,SAASC,KAAK,QAAQ;AAItB,SAASC,UAAU,QAAQ;AAC3B,SAASC,KAAK,QAAQ;AACtB,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,MAAM,QAAQ;AACvB,SAASC,MAAM,QAAQ;AACvB,SAASC,eAAe,QAAQ;AAChC,SAASC,MAAM,QAAQ;AACvB,SAASC,MAAM,QAAQ;AACvB,OAAO;AACP,SAASC,WAAW,QAAQ;AAC5B,SAASC,aAAa,QAAQ;AAC9B,SAASC,KAAK,QAAQ;AACtB,SAASC,cAAc,QAAQ;AAC/B,SAASC,oBAAoB,QAAQ;AAErC,MAAMC,SAAA,GAAY;AAQlB,MAAMC,mBAAA,GAAsB;EAC1BC,KAAA,EAAO;EACPC,KAAA,EAAO;AACT;AAEA,OAAO,MAAMC,cAAA,GAAkCA,CAAC;EAAEC,IAAI;EAAEC,WAAW;EAAEC;AAAqB,CAAE;EAC1F,MAAM;IACJC,MAAA,EAAQ;MACNC,KAAA,EAAO;QACLC,UAAU;QACVC,SAAA,EAAW;UAAEC,eAAe;UAAEC;QAAkB;MAAE,CACnD;MACDC,YAAY;MACZC,MAAA,EAAQ;QAAEC;MAAG;IAAE;EAChB,CACF,GAAGhC,SAAA;EACJ,MAAM;IAAEiC,EAAE;IAAEC,cAAc;IAAEC;EAAU,CAAE,GAAGlC,eAAA;EAC3C,MAAM;IAAEmC;EAAK,CAAE,GAAGlC,gBAAA;EAClB,MAAM;IAAEmC,IAAI;IAAEC;EAAC,CAAE,GAAGlC,cAAA;EACpB,MAAM;IAAEmC;EAAe,CAAE,GAAGpC,kBAAA;EAC5B,MAAM,CAACqC,IAAA,EAAMC,OAAA,CAAQ,GAAG/C,KAAA,CAAMgD,QAAQ,CAAcpB,WAAA,IAAe;EACnE,MAAM,CAACqB,IAAA,EAAMC,OAAA,CAAQ,GAAGlD,KAAA,CAAMgD,QAAQ;EACtC,MAAM,CAACG,QAAA,EAAUC,WAAA,CAAY,GAAGpD,KAAA,CAAMgD,QAAQ,CAASd,eAAA;EACvD,MAAM,CAACmB,MAAA,EAAQC,SAAA,CAAU,GAAGtD,KAAA,CAAMgD,QAAQ,CAAmCzB,mBAAA;EAC7E,MAAM,CAACgC,UAAA,EAAYC,aAAA,CAAc,GAAGxD,KAAA,CAAMgD,QAAQ,CAAC;EACnD,MAAMS,UAAA,GAAab,CAAA,CAAE,8BAA8B;IAAEF;EAAM;EAC3D,MAAM,CAACgB,QAAA,EAAUC,WAAA,CAAY,GAAG3D,KAAA,CAAMgD,QAAQ;EAC9C,MAAM,CAACY,eAAA,EAAiBC,kBAAA,CAAmB,GAAG7D,KAAA,CAAMgD,QAAQ;EAC5D,MAAMc,gBAAA,GAAmB9D,KAAA,CAAM+D,MAAM,CAAkD,MAAM;EAE7F;EACA,MAAMC,YAAA,GAAeC,IAAA,CAAKC,cAAc,GAAGC,eAAe,GAAGC,QAAQ;EAErE,MAAMC,aAAA,GAAgBrE,KAAA,CAAME,OAAO,CAAC;IAClC,IAAIkC,YAAA,EAAc;MAChB,MAAMkC,OAAA,GAAUlC,YAAA,CAAamC,OAAO,CAACC,GAAG,CAAC,CAAC;QAAEC,IAAI;QAAEjD;MAAK,CAAE,MAAM;QAC7DA,KAAA,EAAO/B,cAAA,CAAe+B,KAAA,EAAOmB,IAAA;QAC7BlB,KAAA,EAAOgD;MACT;MAEAH,OAAA,CAAQI,OAAO,CAACnD,mBAAA;MAEhB,OAAO+C,OAAA;IACT;IAEA,OAAO,EAAE;EACX,GAAG,CAAClC,YAAA,EAAcO,IAAA,CAAK;EAEvB,MAAMgC,aAAA,GAAgB3E,KAAA,CAAMC,WAAW,CAAC;IACtC,MAAM2E,KAAA,GAAwC;MAC5CC,IAAA,EAAM;MACNC,KAAA,EAAO;QACLC,GAAA,EAAK,CACH;UACEC,QAAA,EAAU;YACRC,MAAA,EAAQ;UACV;QACF,GACA;UACEC,SAAA,EAAW;YACTC,YAAA,EAAc,IAAIC,IAAA;UACpB;QACF;MAEJ;IACF;IAEA,IAAI5C,cAAA,EAAgB;MAClBoC,KAAA,CAAME,KAAK,CAACC,GAAG,CAACM,IAAI,CAAC;QACnB,mBAAmB;UACjBJ,MAAA,EAAQK,MAAA,CAAO/C,EAAA;QACjB;MACF;MACAqC,KAAA,CAAME,KAAK,CAACC,GAAG,CAACM,IAAI,CAAC;QACnB,wBAAwB;UACtBJ,MAAA,EAAQzC;QACV;MACF;IACF;IAEA,IAAIC,UAAA,EAAY;MACdmC,KAAA,CAAME,KAAK,CAACC,GAAG,CAACM,IAAI,CAAC;QACnB,gBAAgB;UACdJ,MAAA,EAAQxC;QACV;MACF;IACF;IAEA,MAAM;MAAE8C;IAAI,CAAE,GAAG,MAAM5E,QAAA,CACpB6E,IAAI,CAAC1F,cAAA,CAAe;MAAE2F,QAAA,EAAUnD,GAAA;MAAKoD,IAAA,EAAM;IAAgB,IAAI;MAC9DC,IAAA,EAAM5F,EAAA,CAAG6F,SAAS,CAAChB,KAAA;MACnBiB,OAAA,EAAS;QACP,mBAAmBlD,IAAA,CAAKmD,QAAQ;QAChC,gBAAgB;QAChB,kCAAkC;MACpC;IACF,GACCC,IAAI,CAAEC,GAAA,IAAQA,GAAA,CAAIC,IAAI;IAEzBpC,kBAAA,CACExC,oBAAA,CAAqB;MACnBW,UAAA;MACA;MACAkE,aAAA,EAAepC,gBAAA,CAAiBqC,OAAO;MACvCZ,IAAA;MACA5C,IAAA;MACAP,YAAA;MACAD,kBAAA;MACAS;IACF;IAEFe,WAAA,CAAY4B,IAAA;EACd,GAAG,CAAC/C,cAAA,EAAgBC,UAAA,EAAYH,GAAA,EAAKK,IAAA,EAAMX,UAAA,EAAYI,YAAA,EAAcD,kBAAA,EAAoBS,CAAA,EAAGL,EAAA,CAAG;EAE/F,MAAM2D,aAAA,GAAgBlG,KAAA,CAAMC,WAAW,CACrC,MAAOsC,IAAA;IACL,IAAI;MACF,MAAMM,eAAA,CAAgB;QACpBuD,QAAA,EAAU7D;MACZ;MACA,MAAMoC,aAAA;MACNxE,KAAA,CAAMkG,OAAO,CAACzD,CAAA,CAAE;IAClB,EAAE,OAAO0D,GAAA,EAAK;MACZC,OAAA,CAAQC,KAAK,CAACF,GAAA;MACdnG,KAAA,CAAMqG,KAAK,CAACF,GAAA,CAAIG,OAAO;IACzB;EACF,GACA,CAAC9B,aAAA,EAAe9B,eAAA,EAAiBD,CAAA,CAAE;EAGrC5C,KAAA,CAAM0G,SAAS,CAAC;IACd5C,gBAAA,CAAiBqC,OAAO,GAAGD,aAAA;EAC7B,GAAG,CAACA,aAAA,CAAc;EAElB,MAAMS,UAAA,GAAa3G,KAAA,CAAMC,WAAW,CAAC;IACnC,IAAI,CAACgD,IAAA,EAAM;MACT,OAAO9C,KAAA,CAAMqG,KAAK,CAAC5D,CAAA,CAAE;IACvB;IAEAY,aAAA,CAAc;IAEd,IAAIoD,eAAA;IAEJ,IAAI,OAAOvD,MAAA,KAAW,YAAYA,MAAA,CAAO5B,KAAK,KAAK,SAASqB,IAAA,KAAS,WAAW;MAC9E8D,eAAA,GAAkBvD,MAAA,CAAO5B,KAAK;IAChC;IAEA,IAAI;MACF,MAAMoB,eAAA,CAAgB;QACpBC,IAAA;QACAG,IAAA;QACA4D,GAAA,EAAKrE,cAAA,GACD;UACEsE,UAAA,EAAYtE,cAAA;UACZf,KAAA,EAAO6D,MAAA,CAAO/C,EAAA;QAChB,IACAwE,SAAA;QACJC,MAAA,EAAQvE,UAAA,IAAcsE,SAAA;QACtBH,eAAA;QACAzD;MACF;MAEAD,OAAA,CAAQ6D,SAAA;MACR5G,KAAA,CAAMkG,OAAO,CAACzD,CAAA,CAAE;MAChB,KAAK+B,aAAA;IACP,EAAE,OAAO2B,KAAA,EAAK;MACZC,OAAA,CAAQC,KAAK,CAACF,KAAA;MACdnG,KAAA,CAAMqG,KAAK,CAACF,KAAA,CAAIG,OAAO;IACzB;IAEAjD,aAAA,CAAc;EAChB,GAAG,CACDP,IAAA,EACAI,MAAA,EACAP,IAAA,EACAF,CAAA,EACAC,eAAA,EACAL,cAAA,EACAD,EAAA,EACAE,UAAA,EACAU,QAAA,EACAwB,aAAA,CACD;EAED,MAAMsC,cAAA,GAAiB/G,OAAA,CAAQ;IAC7B,IAAIiD,QAAA,IAAYa,YAAA,IAAgBf,IAAA,EAAM;MACpC;MACA;MACA,MAAMiE,kBAAA,GAAqB1H,MAAA,CAAO2H,EAAE,CAAChE,QAAA;MACrC,MAAMiE,cAAA,GAAiB5H,MAAA,CAAO2H,EAAE,CAACnD,YAAA;MAEjC,MAAMqD,YAAA,GAAe,IAAI7H,MAAA,CAAOyD,IAAA,EAAMqE,YAAY,CAACnE,QAAA;MAEnD;MACA,MAAMoE,gBAAA,GAAmB1H,SAAA,CAAUwH,YAAA,EAAcH,kBAAA;MAEjD;MACA,MAAMM,oBAAA,GAAuB3H,SAAA,CAAU0H,gBAAA,EAAkBH,cAAA;MAEzD,OAAOI,oBAAA,CAAqBC,WAAW;IACzC;IAEA,OAAOxE,IAAA;EACT,GAAG,CAACE,QAAA,EAAUF,IAAA,EAAMe,YAAA,CAAa;EAEjC,MAAM0D,YAAA,GAAezH,WAAA,CAClB0H,YAAA;IACC,IAAIxE,QAAA,IAAYwE,YAAA,EAAc;MAC5B;MACA,MAAMC,aAAA,GAAgBpI,MAAA,CAAO2H,EAAE,CAAChE,QAAA;MAEhC;MACA,MAAM0E,YAAA,GAAe,IAAIrI,MAAA,CAAOmI,YAAA;MAEhC;MACA,MAAMJ,kBAAA,GAAmB1H,SAAA,CAAUgI,YAAA,EAAcD,aAAA;MAEjD1E,OAAA,CAAQqE,kBAAA,IAAoB;IAC9B,OAAO;MACLrE,OAAA,CAAQyE,YAAA,IAAgB;IAC1B;EACF,GACA,CAACzE,OAAA,EAASC,QAAA,CAAS;EAGrBnD,KAAA,CAAM0G,SAAS,CAAC;IACd,IAAI,CAAChD,QAAA,EAAU;MACb,MAAMoE,oBAAA,GAAuB,MAAAA,CAAA;QAC3B,MAAMnD,aAAA;MACR;MAEA,KAAKmD,oBAAA;IACP;EACF,GAAG,CAACpE,QAAA,EAAUiB,aAAA,CAAc;EAE5B,MAAMoD,OAAA,GAAU7H,OAAA,CAAQ;IACtB,IAAI+C,IAAA,IAAQtD,OAAA,CAAQsD,IAAA,GAAO;MACzB,OAAO,IAAImC,IAAA;IACb;IAEA,OAAOxF,UAAA,CAAW,IAAIwF,IAAA;EACxB,GAAG,CAACnC,IAAA,CAAK;EAET,oBACE+E,KAAA,CAACjH,MAAA;IAAOkH,SAAA,EAAW3G,SAAA;IAAWK,IAAA,EAAMA,IAAA;IAAMe,KAAA,EAAOe,UAAA;4BAC/CuE,KAAA,CAAChH,MAAA;MAAOiH,SAAA,EAAW,GAAG3G,SAAA,aAAsB;8BAC1C0G,KAAA,CAAC;QAAIC,SAAA,EAAW,GAAG3G,SAAA,WAAoB;gCACrC4G,IAAA,CAAC9H,UAAA;UAAWoB,KAAA,EAAOoB,CAAA,CAAE;UAAiBuF,QAAQ;yBAC9CH,KAAA,CAAC;UAAGC,SAAA,EAAW,GAAG3G,SAAA,QAAiB;kCACjC4G,IAAA,CAAC;sBACC,aAAAA,IAAA,CAAC7H,KAAA;cACCkC,EAAA,EAAI,GAAGZ,IAAA,OAAW;cAClByG,UAAA,EAAYtF,IAAA,KAAS;cACrBuF,QAAA,EAAUA,CAAA,KAAMtF,OAAA,CAAQ;cACxBuF,MAAA,EAAQ;gBAAE9G,KAAA,EAAOoB,CAAA,CAAE;gBAAoBnB,KAAA,EAAO;cAAU;cACxDiE,IAAA,EAAM,GAAG/D,IAAA,OAAW;cACpB4G,QAAA,EAAUhF;;2BAGd2E,IAAA,CAAC;sBACC,aAAAA,IAAA,CAAC7H,KAAA;cACCkC,EAAA,EAAI,GAAGZ,IAAA,OAAW;cAClByG,UAAA,EAAYtF,IAAA,KAAS;cACrBuF,QAAA,EAAUA,CAAA,KAAMtF,OAAA,CAAQ;cACxBuF,MAAA,EAAQ;gBAAE9G,KAAA,EAAOoB,CAAA,CAAE;gBAAsBnB,KAAA,EAAO;cAAY;cAC5DiE,IAAA,EAAM,GAAG/D,IAAA,OAAW;cACpB4G,QAAA,EAAUhF;;;;uBAKlByE,KAAA,CAAC;QAAIC,SAAA,EAAW,GAAG3G,SAAA,WAAoB;gCACrC4G,IAAA,CAAC9H,UAAA;UAAWoB,KAAA,EAAOoB,CAAA,CAAE;UAAiB8C,IAAA,EAAM;UAAQyC,QAAQ;yBAC5DD,IAAA,CAACpH,eAAA;UACCyB,EAAA,EAAG;UACHiG,OAAA,EAAS9I,UAAA;UACT+I,OAAA,EAAS,IAAIrD,IAAA;UACb2C,OAAA,EAASA,OAAA;UACTM,QAAA,EAAWK,CAAA,IAAMhB,YAAA,CAAagB,CAAA;UAC9BC,gBAAA,EAAiB;UACjBJ,QAAA,EAAUhF,UAAA;UACVqF,UAAA,EAAY/G,qBAAA,EAAuB+G,UAAA;UACnCC,aAAA,EAAehH,qBAAA,EAAuBgH,aAAA,IAAiB;UACvDpH,KAAA,EAAOwF;YAER9E,kBAAA,CAAmB2G,MAAM,GAAG,kBAC3BZ,IAAA,CAAC9G,cAAA;UACCmB,EAAA,EAAI,iBAAiB;UACrB8F,QAAA,EAAUjF,WAAA;UACVkB,OAAA,EAASnC,kBAAA;UACT4G,gBAAA,EAAkB5F;;UAIvBkB,aAAA,CAAcyE,MAAM,GAAG,KAAKhG,IAAA,KAAS,0BACpCkF,KAAA,CAAC;QAAIC,SAAA,EAAW,GAAG3G,SAAA,WAAoB;gCACrC4G,IAAA,CAAC9H,UAAA;UAAWoB,KAAA,EAAOoB,CAAA,CAAE;yBACrBsF,IAAA,CAACjH,WAAA;UACCoH,QAAA,EAAWK,GAAA,IAAMpF,SAAA,CAAUoF,GAAA;UAC3BpE,OAAA,EAASD,aAAA;UACT5C,KAAA,EAAO4B;;uBAIb2E,KAAA,CAAC;QAAIC,SAAA,EAAW,GAAG3G,SAAA,WAAoB;gCACrC4G,IAAA,CAACrH,MAAA;UACCmI,WAAA,EAAY;UACZC,QAAA,EAAU1F,UAAA;UACVhB,EAAA,EAAG;UACH2G,OAAA,EAASvC,UAAA;UACT7D,IAAA,EAAK;oBAEJF,CAAA,CAAE;YAEJW,UAAA,gBAAa2E,IAAA,CAAC;oBAAMtF,CAAA,CAAE;aAA4B;;qBAGvDoF,KAAA,CAAChH,MAAA;MAAOiH,SAAA,EAAW,GAAG3G,SAAA,YAAqB;8BACzC4G,IAAA,CAAC;kBAAItF,CAAA,CAAE;UACN,CAACc,QAAA,iBAAYwE,IAAA,CAAChH,aAAA,OACdwC,QAAA,EAAUoF,MAAA,KAAW,kBAAKZ,IAAA,CAACtH,MAAA;kBAAQgC,CAAA,CAAE;UACrCc,QAAA,EAAUoF,MAAA,GAAS,kBAClBZ,IAAA,CAAC/G,KAAA;QAAMgI,UAAA,EAAW;QAAYC,OAAA,EAASxF,eAAA;QAAiByF,IAAA,EAAM3F;;;;AAKxE","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["TZDateMini","TZDate","getTranslation","endOfToday","isToday","startOfDay","transpose","formatAdminURL","qs","React","useCallback","useMemo","toast","FieldLabel","Radio","useConfig","useDocumentInfo","useDocumentTitle","useServerFunctions","useTranslation","requests","Banner","Button","DatePickerField","Drawer","Gutter","ReactSelect","ShimmerEffect","Table","TimezonePicker","buildUpcomingColumns","buildUpcomingScheduleWhere","baseClass","defaultLocaleOption","label","value","ScheduleDrawer","slug","defaultType","onUpcomingChange","schedulePublishConfig","config","admin","dateFormat","timezones","defaultTimezone","supportedTimezones","localization","routes","api","id","collectionSlug","globalSlug","title","i18n","t","schedulePublish","type","setType","useState","date","setDate","timezone","setTimezone","locale","setLocale","processing","setProcessing","modalTitle","upcoming","setUpcoming","upcomingColumns","setUpcomingColumns","deleteHandlerRef","useRef","userTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","localeOptions","options","locales","map","code","unshift","fetchUpcoming","query","sort","where","docs","post","apiRoute","path","body","stringify","headers","language","then","res","json","deleteHandler","current","length","deleteID","success","err","console","error","message","useEffect","handleSave","localeToPublish","doc","relationTo","String","undefined","global","displayedValue","DateWithOriginalTz","tz","DateWithUserTz","modifiedDate","withTimeZone","dateWithTimezone","dateWithUserTimezone","toISOString","onChangeDate","incomingDate","tzDateWithUTC","dateToUserTz","fetchInitialUpcoming","minTime","Date","_jsxs","className","_jsx","required","isSelected","onChange","option","readOnly","maxTime","minDate","e","pickerAppearance","timeFormat","timeIntervals","selectedTimezone","buttonStyle","disabled","onClick","appearance","columns","data"],"sources":["../../../../src/elements/PublishButton/ScheduleDrawer/index.tsx"],"sourcesContent":["/* eslint-disable no-console */\n'use client'\n\nimport type { Column, SchedulePublish, Where } from 'payload'\n\nimport { TZDateMini as TZDate } from '@date-fns/tz/date/mini'\nimport { getTranslation } from '@payloadcms/translations'\nimport { endOfToday, isToday, startOfDay } from 'date-fns'\nimport { transpose } from 'date-fns/transpose'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { PublishType, UpcomingEvent } from './types.js'\n\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { Radio } from '../../../fields/RadioGroup/Radio/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { requests } from '../../../utilities/api.js'\nimport { Banner } from '../../Banner/index.js'\nimport { Button } from '../../Button/index.js'\nimport { DatePickerField } from '../../DatePicker/index.js'\nimport { Drawer } from '../../Drawer/index.js'\nimport { Gutter } from '../../Gutter/index.js'\nimport './index.css'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { Table } from '../../Table/index.js'\nimport { TimezonePicker } from '../../TimezonePicker/index.js'\nimport { buildUpcomingColumns } from './buildUpcomingColumns.js'\nimport { buildUpcomingScheduleWhere } from './buildUpcomingScheduleWhere.js'\n\nconst baseClass = 'schedule-publish'\n\ntype Props = {\n defaultType?: PublishType\n onUpcomingChange?: (hasUpcoming: boolean) => void\n schedulePublishConfig?: SchedulePublish\n slug: string\n}\n\nconst defaultLocaleOption = {\n label: 'All',\n value: 'all',\n}\n\nexport const ScheduleDrawer: React.FC<Props> = ({\n slug,\n defaultType,\n onUpcomingChange,\n schedulePublishConfig,\n}) => {\n const {\n config: {\n admin: {\n dateFormat,\n timezones: { defaultTimezone, supportedTimezones },\n },\n localization,\n routes: { api },\n },\n } = useConfig()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { title } = useDocumentTitle()\n const { i18n, t } = useTranslation()\n const { schedulePublish } = useServerFunctions()\n const [type, setType] = React.useState<PublishType>(defaultType || 'publish')\n const [date, setDate] = React.useState<Date>()\n const [timezone, setTimezone] = React.useState<string>(defaultTimezone)\n const [locale, setLocale] = React.useState<{ label: string; value: string }>(defaultLocaleOption)\n const [processing, setProcessing] = React.useState(false)\n const modalTitle = t('general:schedulePublishFor', { title })\n const [upcoming, setUpcoming] = React.useState<UpcomingEvent[]>()\n const [upcomingColumns, setUpcomingColumns] = React.useState<Column[]>()\n const deleteHandlerRef = React.useRef<((id: number | string) => Promise<void>) | null>(() => null)\n\n // Get the user timezone so we can adjust the displayed value against it\n const userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone\n\n const localeOptions = React.useMemo(() => {\n if (localization) {\n const options = localization.locales.map(({ code, label }) => ({\n label: getTranslation(label, i18n),\n value: code,\n }))\n\n options.unshift(defaultLocaleOption)\n\n return options\n }\n\n return []\n }, [localization, i18n])\n\n const fetchUpcoming = React.useCallback(async () => {\n const query: { sort: string; where: Where } = {\n sort: 'waitUntil',\n where: buildUpcomingScheduleWhere({ id, collectionSlug, globalSlug }),\n }\n\n const { docs } = await requests\n .post(formatAdminURL({ apiRoute: api, path: `/payload-jobs` }), {\n body: qs.stringify(query),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-Payload-HTTP-Method-Override': 'GET',\n },\n })\n .then((res) => res.json())\n\n setUpcomingColumns(\n buildUpcomingColumns({\n dateFormat,\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n deleteHandler: deleteHandlerRef.current,\n docs,\n i18n,\n localization,\n supportedTimezones,\n t,\n }),\n )\n setUpcoming(docs)\n onUpcomingChange?.(docs.length > 0)\n }, [\n collectionSlug,\n globalSlug,\n api,\n i18n,\n dateFormat,\n localization,\n supportedTimezones,\n t,\n id,\n onUpcomingChange,\n ])\n\n const deleteHandler = React.useCallback(\n async (id: number | string) => {\n try {\n await schedulePublish({\n deleteID: id,\n })\n await fetchUpcoming()\n toast.success(t('general:deletedSuccessfully'))\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n },\n [fetchUpcoming, schedulePublish, t],\n )\n\n React.useEffect(() => {\n deleteHandlerRef.current = deleteHandler\n }, [deleteHandler])\n\n const handleSave = React.useCallback(async () => {\n if (!date) {\n return toast.error(t('general:noDateSelected'))\n }\n\n setProcessing(true)\n\n let localeToPublish: string\n\n if (typeof locale === 'object' && locale.value !== 'all' && type === 'publish') {\n localeToPublish = locale.value\n }\n\n try {\n await schedulePublish({\n type,\n date,\n doc: collectionSlug\n ? {\n relationTo: collectionSlug,\n value: String(id),\n }\n : undefined,\n global: globalSlug || undefined,\n localeToPublish,\n timezone,\n })\n\n setDate(undefined)\n toast.success(t('version:scheduledSuccessfully'))\n void fetchUpcoming()\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n\n setProcessing(false)\n }, [\n date,\n locale,\n type,\n t,\n schedulePublish,\n collectionSlug,\n id,\n globalSlug,\n timezone,\n fetchUpcoming,\n ])\n\n const displayedValue = useMemo(() => {\n if (timezone && userTimezone && date) {\n // Create TZDate instances for the selected timezone and the user's timezone\n // These instances allow us to transpose the date between timezones while keeping the same time value\n const DateWithOriginalTz = TZDate.tz(timezone)\n const DateWithUserTz = TZDate.tz(userTimezone)\n\n const modifiedDate = new TZDate(date).withTimeZone(timezone)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(modifiedDate, DateWithOriginalTz)\n\n // Transpose the date to the user's timezone - this is necessary because the react-datepicker component insists on displaying the date in the user's timezone\n const dateWithUserTimezone = transpose(dateWithTimezone, DateWithUserTz)\n\n return dateWithUserTimezone.toISOString()\n }\n\n return date\n }, [timezone, date, userTimezone])\n\n const onChangeDate = useCallback(\n (incomingDate: Date) => {\n if (timezone && incomingDate) {\n // Create TZDate instances for the selected timezone\n const tzDateWithUTC = TZDate.tz(timezone)\n\n // Creates a TZDate instance for the user's timezone — this is default behaviour of TZDate as it wraps the Date constructor\n const dateToUserTz = new TZDate(incomingDate)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(dateToUserTz, tzDateWithUTC)\n\n setDate(dateWithTimezone || null)\n } else {\n setDate(incomingDate || null)\n }\n },\n [setDate, timezone],\n )\n\n React.useEffect(() => {\n if (!upcoming) {\n const fetchInitialUpcoming = async () => {\n await fetchUpcoming()\n }\n\n void fetchInitialUpcoming()\n }\n }, [upcoming, fetchUpcoming])\n\n const minTime = useMemo(() => {\n if (date && isToday(date)) {\n return new Date()\n }\n\n return startOfDay(new Date())\n }, [date])\n\n return (\n <Drawer className={baseClass} slug={slug} title={modalTitle}>\n <Gutter className={`${baseClass}__scheduler`}>\n <div className={`${baseClass}__section`}>\n <FieldLabel label={t('version:type')} required />\n <ul className={`${baseClass}__type`}>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'publish'}\n onChange={() => setType('publish')}\n option={{ label: t('version:publish'), value: 'publish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'unpublish'}\n onChange={() => setType('unpublish')}\n option={{ label: t('version:unpublish'), value: 'unpublish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n </ul>\n </div>\n <div className={`${baseClass}__section`}>\n <FieldLabel label={t('general:time')} path={'time'} required />\n <DatePickerField\n id=\"time\"\n maxTime={endOfToday()}\n minDate={new Date()}\n minTime={minTime}\n onChange={(e) => onChangeDate(e)}\n pickerAppearance=\"dayAndTime\"\n readOnly={processing}\n timeFormat={schedulePublishConfig?.timeFormat}\n timeIntervals={schedulePublishConfig?.timeIntervals ?? 5}\n value={displayedValue}\n />\n {supportedTimezones.length > 0 && (\n <TimezonePicker\n id={`timezone-picker`}\n onChange={setTimezone}\n options={supportedTimezones}\n selectedTimezone={timezone}\n />\n )}\n </div>\n {localeOptions.length > 0 && type === 'publish' && (\n <div className={`${baseClass}__section`}>\n <FieldLabel label={t('localization:localeToPublish')} />\n <ReactSelect\n onChange={(e) => setLocale(e as { label: string; value: string })}\n options={localeOptions}\n value={locale}\n />\n </div>\n )}\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"primary\"\n disabled={processing}\n id=\"scheduled-publish-save\"\n onClick={handleSave}\n type=\"button\"\n >\n {t('general:save')}\n </Button>\n {processing ? <span>{t('general:saving')}</span> : null}\n </div>\n </Gutter>\n <Gutter className={`${baseClass}__upcoming`}>\n <h4>{t('general:upcomingEvents')}</h4>\n {!upcoming && <ShimmerEffect />}\n {upcoming?.length === 0 && <Banner>{t('general:noUpcomingEventsScheduled')}</Banner>}\n {upcoming?.length > 0 && (\n <Table appearance=\"condensed\" columns={upcomingColumns} data={upcoming} />\n )}\n </Gutter>\n </Drawer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAKvD,OAAO,KAA2C,MAAM,OAAO,CAAA;AAa/D,OAAO,aAAa,CAAA;AAEpB,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EAAE,SAAS,GACjB,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,wBAA6B,qBAoRpD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAKvD,OAAO,KAA2C,MAAM,OAAO,CAAA;AAa/D,OAAO,aAAa,CAAA;AAEpB,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EAAE,SAAS,GACjB,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,wBAA6B,qBAiRpD"}
@@ -159,14 +159,13 @@ export function PublishButton({
159
159
  setHasPublishedDoc(true);
160
160
  }
161
161
  }, [localeCode, localizeStatusEnabled, api, collectionSlug, globalSlug, id, setHasPublishedDoc, submit, setUnpublishedVersionCount, uploadStatus, setMostRecentVersionIsAutosaved]);
162
- const publishSpecificLocale = useCallback(async locale => {
162
+ const publishLocale = useCallback(async locale => {
163
163
  if (uploadStatus === 'uploading') {
164
164
  return;
165
165
  }
166
166
  const params_1 = qs.stringify({
167
167
  depth: 0,
168
- locale,
169
- publishSpecificLocale: locale
168
+ locale
170
169
  }, {
171
170
  addQueryPrefix: true
172
171
  });
@@ -198,7 +197,7 @@ export function PublishButton({
198
197
  children: /*#__PURE__*/_jsx(FormSubmit, {
199
198
  buttonId: "action-save",
200
199
  disabled: !canPublish,
201
- onClick: isDefaultPublishAll ? publish : () => publishSpecificLocale(activeLocale.code),
200
+ onClick: isDefaultPublishAll ? publish : () => publishLocale(activeLocale.code),
202
201
  size: "medium",
203
202
  SubMenuPopupContent: isSpecificLocalePublishEnabled ? ({
204
203
  close
@@ -207,7 +206,7 @@ export function PublishButton({
207
206
  children: isSpecificLocalePublishEnabled && /*#__PURE__*/_jsx(PopupList.ButtonGroup, {
208
207
  children: /*#__PURE__*/_jsx(PopupList.Button, {
209
208
  id: "publish-locale",
210
- onClick: isDefaultPublishAll ? () => publishSpecificLocale(activeLocale.code) : publish,
209
+ onClick: isDefaultPublishAll ? () => publishLocale(activeLocale.code) : publish,
211
210
  children: isDefaultPublishAll ? t('version:publishIn', {
212
211
  locale: activeLocaleLabel
213
212
  }) : t('version:publishAllLocales')
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","formatAdminURL","hasAutosaveEnabled","hasLocalizeStatusEnabled","qs","React","useCallback","useEffect","useState","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","traverseForLocalizedFields","PopupList","PublishButton","label","labelProp","id","collectionSlug","globalSlug","hasPublishedDoc","hasPublishPermission","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","uploadStatus","config","getEntityConfig","submit","modified","editDepth","code","localeCode","localization","routes","api","i18n","t","shortLabel","entityConfig","useMemo","hasNewerVersions","canPublish","hasLocalizedFields","setHasLocalizedFields","hasLocalizedField","fields","isSpecificLocalePublishEnabled","operation","disabled","hasAutosave","saveDraft","params","stringify","depth","draft","locale","addQueryPrefix","action","method","apiRoute","path","overrides","_status","skipValidation","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","localizeStatusEnabled","publish","publishAllLocales","result","publishSpecificLocale","pathSegment","isDefaultPublishAll","defaultLocalePublishOption","activeLocale","locales","find","activeLocaleLabel","_jsx","Fragment","buttonId","onClick","size","SubMenuPopupContent","close","ButtonGroup","Button","undefined","type","_jsxs","className"],"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PublishButtonClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, hasAutosaveEnabled, hasLocalizeStatusEnabled } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { traverseForLocalizedFields } from '../../utilities/traverseForLocalizedFields.js'\nimport { PopupList } from '../Popup/index.js'\nimport './index.css'\n\nexport function PublishButton({\n label: labelProp,\n}: { label?: string } & PublishButtonClientProps = {}) {\n const {\n id,\n collectionSlug,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n uploadStatus,\n } = useDocumentInfo()\n\n const { config, getEntityConfig } = useConfig()\n const { submit } = useForm()\n const modified = useFormModified()\n const editDepth = useEditDepth()\n const { code: localeCode } = useLocale()\n const {\n localization,\n routes: { api },\n } = config\n\n const { i18n, t } = useTranslation()\n const label = labelProp || t('version:publishChanges')\n const shortLabel = labelProp || t('version:publish')\n\n const entityConfig = React.useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const hasNewerVersions = unpublishedVersionCount > 0\n\n const canPublish =\n hasPublishPermission &&\n (modified || hasNewerVersions || !hasPublishedDoc) &&\n uploadStatus !== 'uploading'\n\n const [hasLocalizedFields, setHasLocalizedFields] = useState(false)\n\n useEffect(() => {\n const hasLocalizedField = traverseForLocalizedFields(entityConfig?.fields)\n setHasLocalizedFields(hasLocalizedField)\n }, [entityConfig?.fields])\n\n const isSpecificLocalePublishEnabled = localization && hasLocalizedFields && hasPublishPermission\n\n const operation = useOperation()\n\n const disabled = operation === 'update' && !modified\n\n // If autosave is enabled the modified will always be true so only conditionally check on modified state\n const hasAutosave = hasAutosaveEnabled(entityConfig)\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const params = qs.stringify(\n {\n depth: 0,\n draft: true,\n 'fallback-locale': 'null',\n locale: localeCode,\n },\n { addQueryPrefix: true },\n )\n\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${id ? `/${id}` : ''}${params}`,\n })\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = formatAdminURL({\n apiRoute: api,\n path: `/globals/${globalSlug}${params}`,\n })\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [disabled, localeCode, collectionSlug, globalSlug, submit, api, id])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (saveDraft && hasAutosave) {\n void saveDraft()\n }\n })\n\n const localizeStatusEnabled = hasLocalizeStatusEnabled(entityConfig)\n\n const publish = useCallback(async () => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const params = qs.stringify(\n {\n depth: 0,\n locale: localeCode,\n ...(localizeStatusEnabled && { publishAllLocales: true }),\n },\n { addQueryPrefix: true },\n )\n\n const action = formatAdminURL({\n apiRoute: api,\n path: `${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}${id ? `/${id}` : ''}`\n }${params}` as `/${string}`,\n })\n\n const result = await submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n if (result) {\n setUnpublishedVersionCount(0)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(true)\n }\n }, [\n localeCode,\n localizeStatusEnabled,\n api,\n collectionSlug,\n globalSlug,\n id,\n setHasPublishedDoc,\n submit,\n setUnpublishedVersionCount,\n uploadStatus,\n setMostRecentVersionIsAutosaved,\n ])\n\n const publishSpecificLocale = useCallback(\n async (locale) => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const params = qs.stringify(\n {\n depth: 0,\n locale,\n publishSpecificLocale: locale,\n },\n { addQueryPrefix: true },\n )\n\n const pathSegment = globalSlug\n ? `/globals/${globalSlug}`\n : `/${collectionSlug}${id ? `/${id}` : ''}`\n const action = formatAdminURL({\n apiRoute: api,\n path: `${pathSegment}${params}` as `/${string}`,\n })\n\n const result = await submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n if (result) {\n setUnpublishedVersionCount(0)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(true)\n }\n },\n [\n api,\n collectionSlug,\n globalSlug,\n id,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n submit,\n uploadStatus,\n ],\n )\n\n // Publish to all locales unless there are localized fields AND defaultLocalePublishOption is 'active'\n const isDefaultPublishAll =\n !isSpecificLocalePublishEnabled ||\n (localization && localization?.defaultLocalePublishOption !== 'active')\n\n const activeLocale =\n localization &&\n localization?.locales.find((locale) =>\n typeof locale === 'string' ? locale === localeCode : locale.code === localeCode,\n )\n\n const activeLocaleLabel = activeLocale && getTranslation(activeLocale.label, i18n)\n\n if (!hasPublishPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n onClick={isDefaultPublishAll ? publish : () => publishSpecificLocale(activeLocale.code)}\n size=\"medium\"\n SubMenuPopupContent={\n isSpecificLocalePublishEnabled\n ? ({ close }) => {\n return (\n <React.Fragment>\n {isSpecificLocalePublishEnabled && (\n <PopupList.ButtonGroup>\n <PopupList.Button\n id=\"publish-locale\"\n onClick={\n isDefaultPublishAll\n ? () => publishSpecificLocale(activeLocale.code)\n : publish\n }\n >\n {isDefaultPublishAll\n ? t('version:publishIn', { locale: activeLocaleLabel })\n : t('version:publishAllLocales')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n </React.Fragment>\n )\n }\n : undefined\n }\n type=\"button\"\n >\n {!isDefaultPublishAll ? (\n t('version:publishIn', { locale: activeLocaleLabel })\n ) : (\n <React.Fragment>\n <span className=\"publish-button__label--full\">{label}</span>\n <span className=\"publish-button__label--short\">{shortLabel}</span>\n </React.Fragment>\n )}\n </FormSubmit>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","formatAdminURL","hasAutosaveEnabled","hasLocalizeStatusEnabled","qs","React","useCallback","useEffect","useState","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","traverseForLocalizedFields","PopupList","PublishButton","label","labelProp","id","collectionSlug","globalSlug","hasPublishedDoc","hasPublishPermission","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","uploadStatus","config","getEntityConfig","submit","modified","editDepth","code","localeCode","localization","routes","api","i18n","t","shortLabel","entityConfig","useMemo","hasNewerVersions","canPublish","hasLocalizedFields","setHasLocalizedFields","hasLocalizedField","fields","isSpecificLocalePublishEnabled","operation","disabled","hasAutosave","saveDraft","params","stringify","depth","draft","locale","addQueryPrefix","action","method","apiRoute","path","overrides","_status","skipValidation","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","localizeStatusEnabled","publish","publishAllLocales","result","publishLocale","pathSegment","isDefaultPublishAll","defaultLocalePublishOption","activeLocale","locales","find","activeLocaleLabel","_jsx","Fragment","buttonId","onClick","size","SubMenuPopupContent","close","ButtonGroup","Button","undefined","type","_jsxs","className"],"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PublishButtonClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, hasAutosaveEnabled, hasLocalizeStatusEnabled } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { traverseForLocalizedFields } from '../../utilities/traverseForLocalizedFields.js'\nimport { PopupList } from '../Popup/index.js'\nimport './index.css'\n\nexport function PublishButton({\n label: labelProp,\n}: { label?: string } & PublishButtonClientProps = {}) {\n const {\n id,\n collectionSlug,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n uploadStatus,\n } = useDocumentInfo()\n\n const { config, getEntityConfig } = useConfig()\n const { submit } = useForm()\n const modified = useFormModified()\n const editDepth = useEditDepth()\n const { code: localeCode } = useLocale()\n const {\n localization,\n routes: { api },\n } = config\n\n const { i18n, t } = useTranslation()\n const label = labelProp || t('version:publishChanges')\n const shortLabel = labelProp || t('version:publish')\n\n const entityConfig = React.useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const hasNewerVersions = unpublishedVersionCount > 0\n\n const canPublish =\n hasPublishPermission &&\n (modified || hasNewerVersions || !hasPublishedDoc) &&\n uploadStatus !== 'uploading'\n\n const [hasLocalizedFields, setHasLocalizedFields] = useState(false)\n\n useEffect(() => {\n const hasLocalizedField = traverseForLocalizedFields(entityConfig?.fields)\n setHasLocalizedFields(hasLocalizedField)\n }, [entityConfig?.fields])\n\n const isSpecificLocalePublishEnabled = localization && hasLocalizedFields && hasPublishPermission\n\n const operation = useOperation()\n\n const disabled = operation === 'update' && !modified\n\n // If autosave is enabled the modified will always be true so only conditionally check on modified state\n const hasAutosave = hasAutosaveEnabled(entityConfig)\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const params = qs.stringify(\n {\n depth: 0,\n draft: true,\n 'fallback-locale': 'null',\n locale: localeCode,\n },\n { addQueryPrefix: true },\n )\n\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${id ? `/${id}` : ''}${params}`,\n })\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = formatAdminURL({\n apiRoute: api,\n path: `/globals/${globalSlug}${params}`,\n })\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [disabled, localeCode, collectionSlug, globalSlug, submit, api, id])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (saveDraft && hasAutosave) {\n void saveDraft()\n }\n })\n\n const localizeStatusEnabled = hasLocalizeStatusEnabled(entityConfig)\n\n const publish = useCallback(async () => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const params = qs.stringify(\n {\n depth: 0,\n locale: localeCode,\n ...(localizeStatusEnabled && { publishAllLocales: true }),\n },\n { addQueryPrefix: true },\n )\n\n const action = formatAdminURL({\n apiRoute: api,\n path: `${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}${id ? `/${id}` : ''}`\n }${params}` as `/${string}`,\n })\n\n const result = await submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n if (result) {\n setUnpublishedVersionCount(0)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(true)\n }\n }, [\n localeCode,\n localizeStatusEnabled,\n api,\n collectionSlug,\n globalSlug,\n id,\n setHasPublishedDoc,\n submit,\n setUnpublishedVersionCount,\n uploadStatus,\n setMostRecentVersionIsAutosaved,\n ])\n\n const publishLocale = useCallback(\n async (locale) => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const params = qs.stringify(\n {\n depth: 0,\n locale,\n },\n { addQueryPrefix: true },\n )\n\n const pathSegment = globalSlug\n ? `/globals/${globalSlug}`\n : `/${collectionSlug}${id ? `/${id}` : ''}`\n const action = formatAdminURL({\n apiRoute: api,\n path: `${pathSegment}${params}` as `/${string}`,\n })\n\n const result = await submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n if (result) {\n setUnpublishedVersionCount(0)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(true)\n }\n },\n [\n api,\n collectionSlug,\n globalSlug,\n id,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n submit,\n uploadStatus,\n ],\n )\n\n // Publish to all locales unless there are localized fields AND defaultLocalePublishOption is 'active'\n const isDefaultPublishAll =\n !isSpecificLocalePublishEnabled ||\n (localization && localization?.defaultLocalePublishOption !== 'active')\n\n const activeLocale =\n localization &&\n localization?.locales.find((locale) =>\n typeof locale === 'string' ? locale === localeCode : locale.code === localeCode,\n )\n\n const activeLocaleLabel = activeLocale && getTranslation(activeLocale.label, i18n)\n\n if (!hasPublishPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n onClick={isDefaultPublishAll ? publish : () => publishLocale(activeLocale.code)}\n size=\"medium\"\n SubMenuPopupContent={\n isSpecificLocalePublishEnabled\n ? ({ close }) => {\n return (\n <React.Fragment>\n {isSpecificLocalePublishEnabled && (\n <PopupList.ButtonGroup>\n <PopupList.Button\n id=\"publish-locale\"\n onClick={\n isDefaultPublishAll ? () => publishLocale(activeLocale.code) : publish\n }\n >\n {isDefaultPublishAll\n ? t('version:publishIn', { locale: activeLocaleLabel })\n : t('version:publishAllLocales')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n </React.Fragment>\n )\n }\n : undefined\n }\n type=\"button\"\n >\n {!isDefaultPublishAll ? (\n t('version:publishIn', { locale: activeLocaleLabel })\n ) : (\n <React.Fragment>\n <span className=\"publish-button__label--full\">{label}</span>\n <span className=\"publish-button__label--short\">{shortLabel}</span>\n </React.Fragment>\n )}\n </FormSubmit>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}