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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1333) hide show
  1. package/dist/css/colors.css +107 -60
  2. package/dist/css/radius.css +1 -3
  3. package/dist/css/theme.css +4 -0
  4. package/dist/css/utilities.css +5 -0
  5. package/dist/elements/APIKeyInput/index.css +92 -0
  6. package/dist/elements/APIKeyInput/index.d.ts +14 -0
  7. package/dist/elements/APIKeyInput/index.d.ts.map +1 -0
  8. package/dist/elements/APIKeyInput/index.js +86 -0
  9. package/dist/elements/APIKeyInput/index.js.map +1 -0
  10. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  11. package/dist/elements/AddNewRelation/index.js +85 -103
  12. package/dist/elements/AddNewRelation/index.js.map +1 -1
  13. package/dist/elements/AppHeader/index.d.ts +2 -1
  14. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  15. package/dist/elements/AppHeader/index.js +7 -27
  16. package/dist/elements/AppHeader/index.js.map +1 -1
  17. package/dist/elements/BulkUpload/ActionsBar/index.css +10 -4
  18. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  19. package/dist/elements/BulkUpload/ActionsBar/index.js +43 -40
  20. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/AddFilesView/index.js +1 -1
  22. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/AddingFilesView/index.css +25 -0
  24. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +1 -1
  25. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  26. package/dist/elements/BulkUpload/AddingFilesView/index.js +1 -1
  27. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/EditForm/index.css +9 -0
  29. package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
  30. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  31. package/dist/elements/BulkUpload/EditForm/index.js +1 -1
  32. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  33. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts +1 -1
  34. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  35. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +59 -55
  36. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  37. package/dist/elements/BulkUpload/EditMany/index.css +71 -0
  38. package/dist/elements/BulkUpload/EditMany/index.d.ts +1 -1
  39. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  40. package/dist/elements/BulkUpload/EditMany/index.js +1 -1
  41. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  42. package/dist/elements/BulkUpload/FileSidebar/index.css +54 -75
  43. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  44. package/dist/elements/BulkUpload/FileSidebar/index.js +60 -50
  45. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  46. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  47. package/dist/elements/BulkUpload/FormsManager/index.js +13 -0
  48. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  49. package/dist/elements/Button/index.css +8 -0
  50. package/dist/elements/Button/types.d.ts +0 -8
  51. package/dist/elements/Button/types.d.ts.map +1 -1
  52. package/dist/elements/Button/types.js.map +1 -1
  53. package/dist/elements/Chip/index.css +1 -1
  54. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  55. package/dist/elements/CodeEditor/CodeEditor.js +19 -0
  56. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  57. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  58. package/dist/elements/ColumnSelector/index.js +6 -2
  59. package/dist/elements/ColumnSelector/index.js.map +1 -1
  60. package/dist/elements/ColumnsButton/index.js +1 -1
  61. package/dist/elements/ColumnsButton/index.js.map +1 -1
  62. package/dist/elements/Combobox/index.css +9 -8
  63. package/dist/elements/Combobox/index.d.ts +2 -0
  64. package/dist/elements/Combobox/index.d.ts.map +1 -1
  65. package/dist/elements/Combobox/index.js +25 -20
  66. package/dist/elements/Combobox/index.js.map +1 -1
  67. package/dist/elements/ConfirmationModal/index.css +7 -0
  68. package/dist/elements/ConfirmationModal/index.d.ts +1 -0
  69. package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
  70. package/dist/elements/ConfirmationModal/index.js +29 -116
  71. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  72. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  73. package/dist/elements/DatePicker/DatePicker.js +4 -2
  74. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  75. package/dist/elements/DatePicker/index.css +5 -0
  76. package/dist/elements/DatePicker/index.js +1 -1
  77. package/dist/elements/DatePicker/index.js.map +1 -1
  78. package/dist/elements/DeleteMany/index.d.ts +3 -26
  79. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  80. package/dist/elements/DeleteMany/index.js +1 -95
  81. package/dist/elements/DeleteMany/index.js.map +1 -1
  82. package/dist/elements/Dialog/DialogBody/index.d.ts +6 -0
  83. package/dist/elements/Dialog/DialogBody/index.d.ts.map +1 -0
  84. package/dist/elements/Dialog/DialogBody/index.js +14 -0
  85. package/dist/elements/Dialog/DialogBody/index.js.map +1 -0
  86. package/dist/elements/Dialog/DialogCancel/index.d.ts +7 -0
  87. package/dist/elements/Dialog/DialogCancel/index.d.ts.map +1 -0
  88. package/dist/elements/Dialog/DialogCancel/index.js +69 -0
  89. package/dist/elements/Dialog/DialogCancel/index.js.map +1 -0
  90. package/dist/elements/Dialog/DialogConfirm/index.d.ts +8 -0
  91. package/dist/elements/Dialog/DialogConfirm/index.d.ts.map +1 -0
  92. package/dist/elements/Dialog/DialogConfirm/index.js +75 -0
  93. package/dist/elements/Dialog/DialogConfirm/index.js.map +1 -0
  94. package/dist/elements/Dialog/DialogFooter/index.d.ts +6 -0
  95. package/dist/elements/Dialog/DialogFooter/index.d.ts.map +1 -0
  96. package/dist/elements/Dialog/DialogFooter/index.js +17 -0
  97. package/dist/elements/Dialog/DialogFooter/index.js.map +1 -0
  98. package/dist/elements/Dialog/DialogHeader/index.d.ts +8 -0
  99. package/dist/elements/Dialog/DialogHeader/index.d.ts.map +1 -0
  100. package/dist/elements/Dialog/DialogHeader/index.js +70 -0
  101. package/dist/elements/Dialog/DialogHeader/index.js.map +1 -0
  102. package/dist/elements/Dialog/DialogModal/index.d.ts +18 -0
  103. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -0
  104. package/dist/elements/Dialog/DialogModal/index.js +99 -0
  105. package/dist/elements/Dialog/DialogModal/index.js.map +1 -0
  106. package/dist/elements/Dialog/context.d.ts +8 -0
  107. package/dist/elements/Dialog/context.d.ts.map +1 -0
  108. package/dist/elements/Dialog/context.js +10 -0
  109. package/dist/elements/Dialog/context.js.map +1 -0
  110. package/dist/elements/{Modal → Dialog}/index.css +46 -32
  111. package/dist/elements/Dialog/index.d.ts +13 -0
  112. package/dist/elements/Dialog/index.d.ts.map +1 -0
  113. package/dist/elements/Dialog/index.js +7 -0
  114. package/dist/elements/Dialog/index.js.map +1 -0
  115. package/dist/elements/DocumentControls/index.css +10 -0
  116. package/dist/elements/DocumentControls/index.d.ts +6 -0
  117. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  118. package/dist/elements/DocumentControls/index.js +7 -6
  119. package/dist/elements/DocumentControls/index.js.map +1 -1
  120. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  121. package/dist/elements/DocumentDrawer/DrawerContent.js +10 -6
  122. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  123. package/dist/elements/DocumentDrawer/DrawerHeader/index.css +76 -4
  124. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +7 -1
  125. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  126. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +148 -87
  127. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  128. package/dist/elements/DocumentDrawer/types.d.ts +1 -0
  129. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  130. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  131. package/dist/elements/DocumentFields/index.css +61 -2
  132. package/dist/elements/DocumentHeader/index.css +2 -5
  133. package/dist/elements/DocumentLocked/index.css +5 -0
  134. package/dist/elements/DocumentLocked/index.d.ts +1 -0
  135. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  136. package/dist/elements/DocumentLocked/index.js +68 -92
  137. package/dist/elements/DocumentLocked/index.js.map +1 -1
  138. package/dist/elements/DocumentStaleData/index.d.ts.map +1 -1
  139. package/dist/elements/DocumentStaleData/index.js +36 -34
  140. package/dist/elements/DocumentStaleData/index.js.map +1 -1
  141. package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -1
  142. package/dist/elements/DocumentTakeOver/index.js +46 -52
  143. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  144. package/dist/elements/DraggableSortable/index.js.map +1 -1
  145. package/dist/elements/Drawer/index.css +57 -26
  146. package/dist/elements/Drawer/index.d.ts +25 -0
  147. package/dist/elements/Drawer/index.d.ts.map +1 -1
  148. package/dist/elements/Drawer/index.js +133 -54
  149. package/dist/elements/Drawer/index.js.map +1 -1
  150. package/dist/elements/Drawer/types.d.ts +1 -0
  151. package/dist/elements/Drawer/types.d.ts.map +1 -1
  152. package/dist/elements/Drawer/types.js.map +1 -1
  153. package/dist/elements/EditMany/DrawerContent.d.ts +2 -2
  154. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  155. package/dist/elements/EditMany/DrawerContent.js +77 -72
  156. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  157. package/dist/elements/EditMany/index.css +71 -0
  158. package/dist/elements/EditMany/index.d.ts +9 -11
  159. package/dist/elements/EditMany/index.d.ts.map +1 -1
  160. package/dist/elements/EditMany/index.js +2 -40
  161. package/dist/elements/EditMany/index.js.map +1 -1
  162. package/dist/elements/EmailAndUsername/{index.scss → index.css} +1 -3
  163. package/dist/elements/EmailAndUsername/index.d.ts +1 -1
  164. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -1
  165. package/dist/elements/EmailAndUsername/index.js +1 -1
  166. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  167. package/dist/elements/FieldSelect/index.css +3 -0
  168. package/dist/elements/FileDetails/DraggableFileDetails/index.css +32 -0
  169. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  170. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  171. package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -18
  172. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  173. package/dist/elements/FilterTrigger/index.js +1 -1
  174. package/dist/elements/FilterTrigger/index.js.map +1 -1
  175. package/dist/elements/FormHeader/index.css +30 -0
  176. package/dist/elements/FormHeader/index.d.ts +1 -1
  177. package/dist/elements/FormHeader/index.d.ts.map +1 -1
  178. package/dist/elements/FormHeader/index.js +1 -1
  179. package/dist/elements/FormHeader/index.js.map +1 -1
  180. package/dist/elements/GroupByControl/index.d.ts.map +1 -1
  181. package/dist/elements/GroupByControl/index.js +5 -6
  182. package/dist/elements/GroupByControl/index.js.map +1 -1
  183. package/dist/elements/Hierarchy/Drawer/index.css +3 -21
  184. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +1 -1
  185. package/dist/elements/Hierarchy/Drawer/index.js +5 -3
  186. package/dist/elements/Hierarchy/Drawer/index.js.map +1 -1
  187. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +36 -0
  188. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +1 -1
  189. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
  190. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +1 -1
  191. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
  192. package/dist/elements/Hierarchy/Field/index.client.d.ts +1 -1
  193. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  194. package/dist/elements/Hierarchy/Field/index.client.js +5 -2
  195. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  196. package/dist/elements/Hierarchy/Field/index.css +37 -0
  197. package/dist/elements/Hierarchy/MoveMany/index.d.ts +0 -1
  198. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  199. package/dist/elements/Hierarchy/MoveMany/index.js +0 -1
  200. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  201. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +27 -0
  202. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +1 -1
  203. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +1 -1
  204. package/dist/elements/Hierarchy/Tree/LoadMore/index.js +1 -1
  205. package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +1 -1
  206. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  207. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +36 -16
  208. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  209. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  210. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +20 -15
  211. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  212. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  213. package/dist/elements/LeaveWithoutSaving/index.js +40 -35
  214. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  215. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  216. package/dist/elements/ListControls/index.css +4 -6
  217. package/dist/elements/ListControls/index.d.ts.map +1 -1
  218. package/dist/elements/ListControls/index.js +24 -10
  219. package/dist/elements/ListControls/index.js.map +1 -1
  220. package/dist/elements/ListControls/types.d.ts +2 -0
  221. package/dist/elements/ListControls/types.d.ts.map +1 -1
  222. package/dist/elements/ListControls/types.js.map +1 -1
  223. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  224. package/dist/elements/ListDrawer/DrawerContent.js +12 -6
  225. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  226. package/dist/elements/ListSelection/index.css +1 -1
  227. package/dist/elements/LivePreview/ToolbarArea/index.d.ts +1 -1
  228. package/dist/elements/LivePreview/ToolbarArea/index.d.ts.map +1 -1
  229. package/dist/elements/LivePreview/ToolbarArea/index.js +1 -1
  230. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  231. package/dist/elements/LoadMoreRow/index.css +34 -0
  232. package/dist/elements/LoadMoreRow/index.d.ts +1 -1
  233. package/dist/elements/LoadMoreRow/index.d.ts.map +1 -1
  234. package/dist/elements/LoadMoreRow/index.js +4 -8
  235. package/dist/elements/LoadMoreRow/index.js.map +1 -1
  236. package/dist/elements/Loading/index.css +28 -74
  237. package/dist/elements/Loading/index.d.ts.map +1 -1
  238. package/dist/elements/Loading/index.js +16 -60
  239. package/dist/elements/Loading/index.js.map +1 -1
  240. package/dist/elements/Localizer/index.d.ts.map +1 -1
  241. package/dist/elements/Localizer/index.js +3 -4
  242. package/dist/elements/Localizer/index.js.map +1 -1
  243. package/dist/elements/MenuSeparator/index.d.ts +4 -0
  244. package/dist/elements/MenuSeparator/index.d.ts.map +1 -0
  245. package/dist/elements/MenuSeparator/index.js +10 -0
  246. package/dist/elements/MenuSeparator/index.js.map +1 -0
  247. package/dist/elements/Modal/index.d.ts +1 -17
  248. package/dist/elements/Modal/index.d.ts.map +1 -1
  249. package/dist/elements/Modal/index.js +1 -44
  250. package/dist/elements/Modal/index.js.map +1 -1
  251. package/dist/elements/Nav/NavWrapper/{index.scss → index.css} +2 -4
  252. package/dist/elements/Nav/NavWrapper/index.d.ts +1 -1
  253. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  254. package/dist/elements/Nav/NavWrapper/index.js +1 -1
  255. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  256. package/dist/elements/Nav/SidebarTabs/index.css +6 -0
  257. package/dist/elements/Nav/index.d.ts.map +1 -1
  258. package/dist/elements/Nav/index.js +4 -23
  259. package/dist/elements/Nav/index.js.map +1 -1
  260. package/dist/elements/NavGroup/index.d.ts.map +1 -1
  261. package/dist/elements/NavGroup/index.js +21 -29
  262. package/dist/elements/NavGroup/index.js.map +1 -1
  263. package/dist/elements/Pill/index.css +1 -1
  264. package/dist/elements/PillSelector/index.css +1 -1
  265. package/dist/elements/Popup/PopupButtonList/index.css +43 -4
  266. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  267. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  268. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  269. package/dist/elements/Popup/PopupDivider/index.css +0 -2
  270. package/dist/elements/Popup/PopupGroupLabel/index.css +12 -0
  271. package/dist/elements/Popup/index.d.ts +7 -0
  272. package/dist/elements/Popup/index.d.ts.map +1 -1
  273. package/dist/elements/Popup/index.js +125 -59
  274. package/dist/elements/Popup/index.js.map +1 -1
  275. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts +13 -0
  276. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -0
  277. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js +41 -0
  278. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js.map +1 -0
  279. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +1 -0
  280. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  281. package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
  282. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  283. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  284. package/dist/elements/PublishButton/index.js +4 -5
  285. package/dist/elements/PublishButton/index.js.map +1 -1
  286. package/dist/elements/ReactSelect/MultiValue/index.css +1 -1
  287. package/dist/elements/ReactSelect/index.css +53 -52
  288. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  289. package/dist/elements/ReactSelect/index.js +88 -12
  290. package/dist/elements/ReactSelect/index.js.map +1 -1
  291. package/dist/elements/ReactSelect/types.d.ts +6 -1
  292. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  293. package/dist/elements/ReactSelect/types.js.map +1 -1
  294. package/dist/elements/RenderServerComponent/clientOnly.d.ts +8 -0
  295. package/dist/elements/RenderServerComponent/clientOnly.d.ts.map +1 -0
  296. package/dist/elements/RenderServerComponent/clientOnly.js +56 -0
  297. package/dist/elements/RenderServerComponent/clientOnly.js.map +1 -0
  298. package/dist/elements/RenderTitle/index.css +10 -0
  299. package/dist/elements/RenderTitle/index.d.ts +5 -0
  300. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  301. package/dist/elements/RenderTitle/index.js +52 -27
  302. package/dist/elements/RenderTitle/index.js.map +1 -1
  303. package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
  304. package/dist/elements/SchedulePublishButton/index.js +6 -1
  305. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  306. package/dist/elements/SelectMany/index.js +1 -1
  307. package/dist/elements/SelectMany/index.js.map +1 -1
  308. package/dist/elements/ShimmerEffect/index.css +40 -0
  309. package/dist/elements/ShimmerEffect/index.d.ts +1 -1
  310. package/dist/elements/ShimmerEffect/index.d.ts.map +1 -1
  311. package/dist/elements/ShimmerEffect/index.js +1 -1
  312. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  313. package/dist/elements/Spinner/index.css +16 -0
  314. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  315. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +1 -2
  316. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  317. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts +1 -1
  318. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
  319. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +1 -1
  320. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  321. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +1 -1
  322. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
  323. package/dist/elements/Table/DefaultCell/fields/Code/index.js +1 -1
  324. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  325. package/dist/elements/Table/DefaultCell/fields/File/index.css +25 -0
  326. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +1 -1
  327. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  328. package/dist/elements/Table/DefaultCell/fields/File/index.js +1 -1
  329. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  330. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +17 -0
  331. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts +1 -1
  332. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  333. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +1 -1
  334. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  335. package/dist/elements/Table/DefaultCell/fields/JSON/index.css +30 -0
  336. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts +1 -1
  337. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
  338. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +1 -1
  339. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  340. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +0 -1
  341. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  342. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +0 -1
  343. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  344. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  345. package/dist/elements/Table/OrderableRow.js +1 -1
  346. package/dist/elements/Table/OrderableRow.js.map +1 -1
  347. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  348. package/dist/elements/Table/RelationshipProvider/index.js +1 -0
  349. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  350. package/dist/elements/Table/index.css +17 -10
  351. package/dist/elements/Tabs/index.css +100 -0
  352. package/dist/elements/Tabs/index.d.ts +32 -0
  353. package/dist/elements/Tabs/index.d.ts.map +1 -0
  354. package/dist/elements/Tabs/index.js +62 -0
  355. package/dist/elements/Tabs/index.js.map +1 -0
  356. package/dist/elements/TimezonePicker/index.css +58 -24
  357. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  358. package/dist/elements/TimezonePicker/index.js +31 -4
  359. package/dist/elements/TimezonePicker/index.js.map +1 -1
  360. package/dist/elements/Tooltip/index.css +20 -4
  361. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  362. package/dist/elements/Tooltip/index.js +71 -3
  363. package/dist/elements/Tooltip/index.js.map +1 -1
  364. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  365. package/dist/elements/UnpublishButton/index.js +5 -13
  366. package/dist/elements/UnpublishButton/index.js.map +1 -1
  367. package/dist/elements/UserMenu/LanguageMenu/index.d.ts +6 -0
  368. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -0
  369. package/dist/elements/UserMenu/LanguageMenu/index.js +133 -0
  370. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -0
  371. package/dist/elements/UserMenu/SettingsMenu/index.d.ts +11 -0
  372. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -0
  373. package/dist/elements/UserMenu/SettingsMenu/index.js +114 -0
  374. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -0
  375. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts +6 -0
  376. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -0
  377. package/dist/elements/UserMenu/SubMenuHeader/index.js +34 -0
  378. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -0
  379. package/dist/elements/UserMenu/ThemeMenu/index.d.ts +6 -0
  380. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -0
  381. package/dist/elements/UserMenu/ThemeMenu/index.js +145 -0
  382. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -0
  383. package/dist/elements/UserMenu/index.css +80 -0
  384. package/dist/elements/UserMenu/index.d.ts +9 -0
  385. package/dist/elements/UserMenu/index.d.ts.map +1 -0
  386. package/dist/elements/UserMenu/index.js +201 -0
  387. package/dist/elements/UserMenu/index.js.map +1 -0
  388. package/dist/elements/WhereBuilder/Condition/Number/index.d.ts +0 -1
  389. package/dist/elements/WhereBuilder/Condition/Number/index.d.ts.map +1 -1
  390. package/dist/elements/WhereBuilder/Condition/Number/index.js +26 -40
  391. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  392. package/dist/elements/WhereBuilder/Condition/Relationship/index.css +2 -2
  393. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts +0 -1
  394. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
  395. package/dist/elements/WhereBuilder/Condition/Text/index.js +24 -35
  396. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  397. package/dist/elements/WhereBuilder/Condition/index.css +111 -0
  398. package/dist/elements/WhereBuilder/Condition/index.d.ts +5 -2
  399. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  400. package/dist/elements/WhereBuilder/Condition/index.js +41 -21
  401. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  402. package/dist/elements/WhereBuilder/index.css +74 -0
  403. package/dist/elements/WhereBuilder/index.d.ts +1 -1
  404. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  405. package/dist/elements/WhereBuilder/index.js +138 -92
  406. package/dist/elements/WhereBuilder/index.js.map +1 -1
  407. package/dist/elements/WhereBuilder/types.d.ts +7 -0
  408. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  409. package/dist/elements/WhereBuilder/types.js.map +1 -1
  410. package/dist/exports/client/index.d.ts +47 -6
  411. package/dist/exports/client/index.d.ts.map +1 -1
  412. package/dist/exports/client/index.js +2 -86
  413. package/dist/exports/client/index.js.map +4 -4
  414. package/dist/exports/layouts.d.ts +2 -0
  415. package/dist/exports/layouts.d.ts.map +1 -0
  416. package/dist/exports/layouts.js +2 -0
  417. package/dist/exports/layouts.js.map +1 -0
  418. package/dist/exports/rsc/index.d.ts +1 -0
  419. package/dist/exports/rsc/index.d.ts.map +1 -1
  420. package/dist/exports/rsc/index.js +1 -0
  421. package/dist/exports/rsc/index.js.map +1 -1
  422. package/dist/exports/server.d.ts +3 -0
  423. package/dist/exports/server.d.ts.map +1 -0
  424. package/dist/exports/server.js +2 -0
  425. package/dist/exports/server.js.map +1 -0
  426. package/dist/exports/shared/index.js +2 -2
  427. package/dist/exports/shared/index.js.map +2 -2
  428. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +1 -49
  429. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.d.ts.map +1 -1
  430. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +27 -20
  431. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  432. package/dist/fields/Blocks/BlockSelector/index.css +17 -3
  433. package/dist/fields/Blocks/BlockSelector/index.js +1 -1
  434. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  435. package/dist/fields/Blocks/index.d.ts.map +1 -1
  436. package/dist/fields/Blocks/index.js +6 -11
  437. package/dist/fields/Blocks/index.js.map +1 -1
  438. package/dist/fields/Group/index.css +1 -1
  439. package/dist/fields/Join/index.js +1 -1
  440. package/dist/fields/Join/index.js.map +1 -1
  441. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +3 -3
  442. package/dist/fields/Row/index.d.ts +1 -1
  443. package/dist/fields/Tabs/Tab/index.d.ts +0 -1
  444. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  445. package/dist/fields/Tabs/Tab/index.js +12 -23
  446. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  447. package/dist/fields/Tabs/index.d.ts.map +1 -1
  448. package/dist/fields/Tabs/index.js +37 -37
  449. package/dist/fields/Tabs/index.js.map +1 -1
  450. package/dist/fields/Upload/HasMany/index.css +4 -0
  451. package/dist/forms/NullifyField/{index.scss → index.css} +3 -2
  452. package/dist/forms/NullifyField/index.d.ts +1 -1
  453. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  454. package/dist/forms/NullifyField/index.js +1 -1
  455. package/dist/forms/NullifyField/index.js.map +1 -1
  456. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  457. package/dist/forms/RenderFields/RenderField.js +2 -1
  458. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  459. package/dist/forms/Submit/index.d.ts +1 -1
  460. package/dist/forms/Submit/index.d.ts.map +1 -1
  461. package/dist/forms/Submit/index.js +32 -22
  462. package/dist/forms/Submit/index.js.map +1 -1
  463. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -1
  464. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  465. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +1 -1
  466. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  467. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -1
  468. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  469. package/dist/forms/useField/index.js.map +1 -1
  470. package/dist/icons/Dots/index.css +4 -4
  471. package/dist/icons/Gear/index.d.ts.map +1 -1
  472. package/dist/icons/Gear/index.js +8 -1
  473. package/dist/icons/Gear/index.js.map +1 -1
  474. package/dist/icons/InteractionEnter/index.css +5 -0
  475. package/dist/icons/InteractionEnter/index.d.ts +11 -0
  476. package/dist/icons/InteractionEnter/index.d.ts.map +1 -0
  477. package/dist/icons/InteractionEnter/index.js +25 -0
  478. package/dist/icons/InteractionEnter/index.js.map +1 -0
  479. package/dist/icons/{Write → Key}/index.css +1 -1
  480. package/dist/icons/Key/index.d.ts +7 -0
  481. package/dist/icons/Key/index.d.ts.map +1 -0
  482. package/dist/icons/Key/index.js +24 -0
  483. package/dist/icons/Key/index.js.map +1 -0
  484. package/dist/icons/LogOut/index.js +2 -2
  485. package/dist/icons/LogOut/index.js.map +1 -1
  486. package/dist/icons/Schedule/index.d.ts.map +1 -1
  487. package/dist/icons/Schedule/index.js +38 -39
  488. package/dist/icons/Schedule/index.js.map +1 -1
  489. package/dist/icons/VariableColor/index.css +5 -0
  490. package/dist/icons/VariableColor/index.d.ts +7 -0
  491. package/dist/icons/VariableColor/index.d.ts.map +1 -0
  492. package/dist/icons/VariableColor/index.js +23 -0
  493. package/dist/icons/VariableColor/index.js.map +1 -0
  494. package/dist/icons/WarningTriangle/index.css +5 -0
  495. package/dist/icons/WarningTriangle/index.d.ts +6 -0
  496. package/dist/icons/WarningTriangle/index.d.ts.map +1 -0
  497. package/dist/icons/WarningTriangle/index.js +21 -0
  498. package/dist/icons/WarningTriangle/index.js.map +1 -0
  499. package/dist/icons/Write/index.d.ts +0 -1
  500. package/dist/icons/Write/index.d.ts.map +1 -1
  501. package/dist/icons/Write/index.js +1 -2
  502. package/dist/icons/Write/index.js.map +1 -1
  503. package/dist/layouts/Root/NestProviders.d.ts +11 -0
  504. package/dist/layouts/Root/NestProviders.d.ts.map +1 -0
  505. package/dist/layouts/Root/NestProviders.js +24 -0
  506. package/dist/layouts/Root/NestProviders.js.map +1 -0
  507. package/dist/layouts/Root/index.d.ts +63 -0
  508. package/dist/layouts/Root/index.d.ts.map +1 -0
  509. package/dist/layouts/Root/index.js +140 -0
  510. package/dist/layouts/Root/index.js.map +1 -0
  511. package/dist/providers/Auth/index.d.ts +3 -1
  512. package/dist/providers/Auth/index.d.ts.map +1 -1
  513. package/dist/providers/Auth/index.js +8 -3
  514. package/dist/providers/Auth/index.js.map +1 -1
  515. package/dist/providers/Config/index.js.map +1 -1
  516. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  517. package/dist/providers/DocumentInfo/index.js +4 -0
  518. package/dist/providers/DocumentInfo/index.js.map +1 -1
  519. package/dist/providers/DocumentInfo/types.d.ts +4 -0
  520. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  521. package/dist/providers/DocumentInfo/types.js.map +1 -1
  522. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  523. package/dist/providers/ListQuery/index.js +23 -8
  524. package/dist/providers/ListQuery/index.js.map +1 -1
  525. package/dist/providers/ListQuery/types.d.ts +2 -0
  526. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  527. package/dist/providers/ListQuery/types.js.map +1 -1
  528. package/dist/providers/Root/index.d.ts +0 -1
  529. package/dist/providers/Root/index.d.ts.map +1 -1
  530. package/dist/providers/Root/index.js +25 -31
  531. package/dist/providers/Root/index.js.map +1 -1
  532. package/dist/providers/RouteTransition/ProgressBar/index.css +23 -0
  533. package/dist/providers/RouteTransition/ProgressBar/index.d.ts +1 -1
  534. package/dist/providers/RouteTransition/ProgressBar/index.d.ts.map +1 -1
  535. package/dist/providers/RouteTransition/ProgressBar/index.js +1 -1
  536. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  537. package/dist/providers/ServerFunctions/index.d.ts +2 -0
  538. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  539. package/dist/providers/ServerFunctions/index.js +10 -1
  540. package/dist/providers/ServerFunctions/index.js.map +1 -1
  541. package/dist/providers/TableColumns/RenderDefaultCell/index.css +12 -0
  542. package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts +1 -1
  543. package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
  544. package/dist/providers/TableColumns/RenderDefaultCell/index.js +1 -1
  545. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  546. package/dist/providers/Theme/index.d.ts +17 -2
  547. package/dist/providers/Theme/index.d.ts.map +1 -1
  548. package/dist/providers/Theme/index.js +126 -75
  549. package/dist/providers/Theme/index.js.map +1 -1
  550. package/dist/providers/Translation/index.d.ts +0 -1
  551. package/dist/providers/Translation/index.d.ts.map +1 -1
  552. package/dist/providers/Translation/index.js +7 -4
  553. package/dist/providers/Translation/index.js.map +1 -1
  554. package/dist/scss/app.scss +1 -1
  555. package/dist/scss/styles.scss +4 -4
  556. package/dist/scss/toastify.scss +2 -2
  557. package/dist/styles.css +1 -1
  558. package/dist/templates/Default/index.d.ts.map +1 -1
  559. package/dist/templates/Default/index.js +9 -1
  560. package/dist/templates/Default/index.js.map +1 -1
  561. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +1 -2
  562. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  563. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +1 -2
  564. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  565. package/dist/utilities/checkDependencies.d.ts +10 -0
  566. package/dist/utilities/checkDependencies.d.ts.map +1 -0
  567. package/dist/utilities/checkDependencies.js +52 -0
  568. package/dist/utilities/checkDependencies.js.map +1 -0
  569. package/dist/utilities/copyDataFromLocale.js +1 -1
  570. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  571. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  572. package/dist/utilities/formatDocTitle/formatDateTitle.js +1 -1
  573. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  574. package/dist/utilities/formatMetadata.d.ts +5 -0
  575. package/dist/utilities/formatMetadata.d.ts.map +1 -0
  576. package/dist/utilities/formatMetadata.js +108 -0
  577. package/dist/utilities/formatMetadata.js.map +1 -0
  578. package/dist/utilities/formatMetadata.spec.js +83 -0
  579. package/dist/utilities/formatMetadata.spec.js.map +1 -0
  580. package/dist/utilities/getDocPreferences.d.ts +11 -0
  581. package/dist/utilities/getDocPreferences.d.ts.map +1 -0
  582. package/dist/utilities/getDocPreferences.js +45 -0
  583. package/dist/utilities/getDocPreferences.js.map +1 -0
  584. package/dist/utilities/getDocumentData.d.ts +14 -0
  585. package/dist/utilities/getDocumentData.d.ts.map +1 -0
  586. package/dist/utilities/getDocumentData.js +60 -0
  587. package/dist/utilities/getDocumentData.js.map +1 -0
  588. package/dist/utilities/getDocumentPermissions.d.ts +18 -0
  589. package/dist/utilities/getDocumentPermissions.d.ts.map +1 -0
  590. package/dist/utilities/getDocumentPermissions.js +125 -0
  591. package/dist/utilities/getDocumentPermissions.js.map +1 -0
  592. package/dist/utilities/getHasScheduledPublish.d.ts +12 -0
  593. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -0
  594. package/dist/utilities/getHasScheduledPublish.js +38 -0
  595. package/dist/utilities/getHasScheduledPublish.js.map +1 -0
  596. package/dist/utilities/getHierarchyAncestry.d.ts +24 -0
  597. package/dist/utilities/getHierarchyAncestry.d.ts.map +1 -0
  598. package/dist/utilities/getHierarchyAncestry.js +103 -0
  599. package/dist/utilities/getHierarchyAncestry.js.map +1 -0
  600. package/dist/utilities/getIsLocked.d.ts +16 -0
  601. package/dist/utilities/getIsLocked.d.ts.map +1 -0
  602. package/dist/utilities/getIsLocked.js +79 -0
  603. package/dist/utilities/getIsLocked.js.map +1 -0
  604. package/dist/utilities/getPreferences.d.ts +6 -0
  605. package/dist/utilities/getPreferences.d.ts.map +1 -0
  606. package/dist/utilities/getPreferences.js +26 -0
  607. package/dist/utilities/getPreferences.js.map +1 -0
  608. package/dist/utilities/getRequestHighContrast.d.ts +9 -0
  609. package/dist/utilities/getRequestHighContrast.d.ts.map +1 -0
  610. package/dist/utilities/getRequestHighContrast.js +17 -0
  611. package/dist/utilities/getRequestHighContrast.js.map +1 -0
  612. package/dist/utilities/getRequestLocale.d.ts +7 -0
  613. package/dist/utilities/getRequestLocale.d.ts.map +1 -0
  614. package/dist/utilities/getRequestLocale.js +20 -0
  615. package/dist/utilities/getRequestLocale.js.map +1 -0
  616. package/dist/utilities/getRequestTheme.d.ts +10 -0
  617. package/dist/utilities/getRequestTheme.d.ts.map +1 -0
  618. package/dist/utilities/getRequestTheme.js +21 -0
  619. package/dist/utilities/getRequestTheme.js.map +1 -0
  620. package/dist/utilities/getRouteWithoutAdmin.d.ts +5 -0
  621. package/dist/utilities/getRouteWithoutAdmin.d.ts.map +1 -0
  622. package/dist/utilities/getRouteWithoutAdmin.js +7 -0
  623. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -0
  624. package/dist/utilities/getVersions.d.ts +26 -0
  625. package/dist/utilities/getVersions.d.ts.map +1 -0
  626. package/dist/utilities/getVersions.js +218 -0
  627. package/dist/utilities/getVersions.js.map +1 -0
  628. package/dist/utilities/handleAuthRedirect.d.ts +23 -0
  629. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -0
  630. package/dist/utilities/handleAuthRedirect.js +42 -0
  631. package/dist/utilities/handleAuthRedirect.js.map +1 -0
  632. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  633. package/dist/utilities/handleServerFunctions.d.ts +11 -0
  634. package/dist/utilities/handleServerFunctions.d.ts.map +1 -0
  635. package/dist/utilities/handleServerFunctions.js +72 -0
  636. package/dist/utilities/handleServerFunctions.js.map +1 -0
  637. package/dist/utilities/initReq.d.ts +16 -0
  638. package/dist/utilities/initReq.d.ts.map +1 -0
  639. package/dist/utilities/initReq.js +111 -0
  640. package/dist/utilities/initReq.js.map +1 -0
  641. package/dist/utilities/isCustomAdminView.d.ts +8 -0
  642. package/dist/utilities/isCustomAdminView.d.ts.map +1 -0
  643. package/dist/utilities/isCustomAdminView.js +22 -0
  644. package/dist/utilities/isCustomAdminView.js.map +1 -0
  645. package/dist/utilities/isCustomAdminView.spec.js +90 -0
  646. package/dist/utilities/isCustomAdminView.spec.js.map +1 -0
  647. package/dist/utilities/isPathMatchingRoute.d.ts +8 -0
  648. package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -0
  649. package/dist/utilities/isPathMatchingRoute.js +30 -0
  650. package/dist/utilities/isPathMatchingRoute.js.map +1 -0
  651. package/dist/utilities/isPathMatchingRoute.spec.js +178 -0
  652. package/dist/utilities/isPathMatchingRoute.spec.js.map +1 -0
  653. package/dist/utilities/isPublicAdminRoute.d.ts +7 -0
  654. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -0
  655. package/dist/utilities/isPublicAdminRoute.js +24 -0
  656. package/dist/utilities/isPublicAdminRoute.js.map +1 -0
  657. package/dist/utilities/renderTable.js +1 -1
  658. package/dist/utilities/renderTable.js.map +1 -1
  659. package/dist/utilities/selectiveCache.d.ts +12 -0
  660. package/dist/utilities/selectiveCache.d.ts.map +1 -0
  661. package/dist/utilities/selectiveCache.js +37 -0
  662. package/dist/utilities/selectiveCache.js.map +1 -0
  663. package/dist/utilities/serverFunctionRegistry.d.ts +13 -0
  664. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -0
  665. package/dist/utilities/serverFunctionRegistry.js +25 -0
  666. package/dist/utilities/serverFunctionRegistry.js.map +1 -0
  667. package/dist/utilities/slugify.d.ts +15 -0
  668. package/dist/utilities/slugify.d.ts.map +1 -0
  669. package/dist/utilities/slugify.js +47 -0
  670. package/dist/utilities/slugify.js.map +1 -0
  671. package/dist/utilities/switchLanguageHandler.d.ts +13 -0
  672. package/dist/utilities/switchLanguageHandler.d.ts.map +1 -0
  673. package/dist/utilities/switchLanguageHandler.js +16 -0
  674. package/dist/utilities/switchLanguageHandler.js.map +1 -0
  675. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  676. package/dist/utilities/traverseForLocalizedFields.js +3 -0
  677. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  678. package/dist/views/API/LocaleSelector/index.d.ts +9 -0
  679. package/dist/views/API/LocaleSelector/index.d.ts.map +1 -0
  680. package/dist/views/API/LocaleSelector/index.js +45 -0
  681. package/dist/views/API/LocaleSelector/index.js.map +1 -0
  682. package/dist/views/API/generateAPIViewMetadata.d.ts +19 -0
  683. package/dist/views/API/generateAPIViewMetadata.d.ts.map +1 -0
  684. package/dist/views/API/generateAPIViewMetadata.js +29 -0
  685. package/dist/views/API/generateAPIViewMetadata.js.map +1 -0
  686. package/dist/views/API/index.client.d.ts +4 -0
  687. package/dist/views/API/index.client.d.ts.map +1 -0
  688. package/dist/views/API/index.client.js +263 -0
  689. package/dist/views/API/index.client.js.map +1 -0
  690. package/dist/views/API/index.css +205 -0
  691. package/dist/views/API/index.d.ts +4 -0
  692. package/dist/views/API/index.d.ts.map +1 -0
  693. package/dist/views/API/index.js +8 -0
  694. package/dist/views/API/index.js.map +1 -0
  695. package/dist/views/Account/ResetPreferences/index.d.ts +5 -0
  696. package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -0
  697. package/dist/views/Account/ResetPreferences/index.js +116 -0
  698. package/dist/views/Account/ResetPreferences/index.js.map +1 -0
  699. package/dist/views/Account/Settings/LanguageSelector.d.ts +6 -0
  700. package/dist/views/Account/Settings/LanguageSelector.d.ts.map +1 -0
  701. package/dist/views/Account/Settings/LanguageSelector.js +53 -0
  702. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -0
  703. package/dist/views/Account/Settings/index.css +43 -0
  704. package/dist/views/Account/Settings/index.d.ts +13 -0
  705. package/dist/views/Account/Settings/index.d.ts.map +1 -0
  706. package/dist/views/Account/Settings/index.js +33 -0
  707. package/dist/views/Account/Settings/index.js.map +1 -0
  708. package/dist/views/Account/ToggleHighContrast/index.d.ts +3 -0
  709. package/dist/views/Account/ToggleHighContrast/index.d.ts.map +1 -0
  710. package/dist/views/Account/ToggleHighContrast/index.js +47 -0
  711. package/dist/views/Account/ToggleHighContrast/index.js.map +1 -0
  712. package/dist/views/Account/ToggleTheme/index.d.ts +3 -0
  713. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -0
  714. package/dist/views/Account/ToggleTheme/index.js +46 -0
  715. package/dist/views/Account/ToggleTheme/index.js.map +1 -0
  716. package/dist/views/Account/index.client.d.ts +3 -0
  717. package/dist/views/Account/index.client.d.ts.map +1 -0
  718. package/dist/views/Account/index.client.js +38 -0
  719. package/dist/views/Account/index.client.js.map +1 -0
  720. package/dist/views/Account/index.d.ts +4 -0
  721. package/dist/views/Account/index.d.ts.map +1 -0
  722. package/dist/views/Account/index.js +181 -0
  723. package/dist/views/Account/index.js.map +1 -0
  724. package/dist/views/Account/metadata.d.ts +3 -0
  725. package/dist/views/Account/metadata.d.ts.map +1 -0
  726. package/dist/views/Account/metadata.js +14 -0
  727. package/dist/views/Account/metadata.js.map +1 -0
  728. package/dist/views/CollectionTrash/generateCollectionTrashMetadata.d.ts +11 -0
  729. package/dist/views/CollectionTrash/generateCollectionTrashMetadata.d.ts.map +1 -0
  730. package/dist/views/CollectionTrash/generateCollectionTrashMetadata.js +25 -0
  731. package/dist/views/CollectionTrash/generateCollectionTrashMetadata.js.map +1 -0
  732. package/dist/views/CollectionTrash/index.d.ts +18 -0
  733. package/dist/views/CollectionTrash/index.d.ts.map +1 -0
  734. package/dist/views/CollectionTrash/index.js +20 -0
  735. package/dist/views/CollectionTrash/index.js.map +1 -0
  736. package/dist/views/CreateFirstUser/index.client.d.ts +10 -0
  737. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -0
  738. package/dist/views/CreateFirstUser/index.client.js +128 -0
  739. package/dist/views/CreateFirstUser/index.client.js.map +1 -0
  740. package/dist/views/CreateFirstUser/index.css +69 -0
  741. package/dist/views/CreateFirstUser/index.d.ts +5 -0
  742. package/dist/views/CreateFirstUser/index.d.ts.map +1 -0
  743. package/dist/views/CreateFirstUser/index.js +94 -0
  744. package/dist/views/CreateFirstUser/index.js.map +1 -0
  745. package/dist/views/CreateFirstUser/metadata.d.ts +3 -0
  746. package/dist/views/CreateFirstUser/metadata.d.ts.map +1 -0
  747. package/dist/views/CreateFirstUser/metadata.js +14 -0
  748. package/dist/views/CreateFirstUser/metadata.js.map +1 -0
  749. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts +19 -0
  750. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -0
  751. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +216 -0
  752. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -0
  753. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts +11 -0
  754. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -0
  755. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +137 -0
  756. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -0
  757. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts +8 -0
  758. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -0
  759. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +81 -0
  760. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -0
  761. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts +22 -0
  762. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -0
  763. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +444 -0
  764. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -0
  765. package/dist/views/Dashboard/Default/ModularDashboard/index.css +299 -0
  766. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts +5 -0
  767. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts.map +1 -0
  768. package/dist/views/Dashboard/Default/ModularDashboard/index.js +74 -0
  769. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -0
  770. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.d.ts +15 -0
  771. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.d.ts.map +1 -0
  772. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +107 -0
  773. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -0
  774. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts +12 -0
  775. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts.map +1 -0
  776. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +65 -0
  777. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -0
  778. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts +21 -0
  779. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts.map +1 -0
  780. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +80 -0
  781. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -0
  782. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts +21 -0
  783. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -0
  784. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +194 -0
  785. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -0
  786. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.d.ts +7 -0
  787. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.d.ts.map +1 -0
  788. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +38 -0
  789. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -0
  790. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.d.ts +4 -0
  791. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.d.ts.map +1 -0
  792. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.js +21 -0
  793. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.js.map +1 -0
  794. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +4 -0
  795. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -0
  796. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js +10 -0
  797. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -0
  798. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.d.ts +23 -0
  799. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.d.ts.map +1 -0
  800. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.js +103 -0
  801. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.js.map +1 -0
  802. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.d.ts +2 -0
  803. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.d.ts.map +1 -0
  804. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +269 -0
  805. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -0
  806. package/dist/views/Dashboard/Default/index.d.ts +21 -0
  807. package/dist/views/Dashboard/Default/index.d.ts.map +1 -0
  808. package/dist/views/Dashboard/Default/index.js +56 -0
  809. package/dist/views/Dashboard/Default/index.js.map +1 -0
  810. package/dist/views/Dashboard/index.d.ts +6 -0
  811. package/dist/views/Dashboard/index.d.ts.map +1 -0
  812. package/dist/views/Dashboard/index.js +55 -0
  813. package/dist/views/Dashboard/index.js.map +1 -0
  814. package/dist/views/Dashboard/metadata.d.ts +3 -0
  815. package/dist/views/Dashboard/metadata.d.ts.map +1 -0
  816. package/dist/views/Dashboard/metadata.js +16 -0
  817. package/dist/views/Dashboard/metadata.js.map +1 -0
  818. package/dist/views/Dashboard/serverFunctions.d.ts +5 -0
  819. package/dist/views/Dashboard/serverFunctions.d.ts.map +1 -0
  820. package/dist/views/Dashboard/serverFunctions.js +3 -0
  821. package/dist/views/Dashboard/serverFunctions.js.map +1 -0
  822. package/dist/views/Document/generateEditViewMetadata.d.ts +6 -0
  823. package/dist/views/Document/generateEditViewMetadata.d.ts.map +1 -0
  824. package/dist/views/Document/generateEditViewMetadata.js +52 -0
  825. package/dist/views/Document/generateEditViewMetadata.js.map +1 -0
  826. package/dist/views/Document/getCustomDocumentViewByKey.d.ts +3 -0
  827. package/dist/views/Document/getCustomDocumentViewByKey.d.ts.map +1 -0
  828. package/dist/views/Document/getCustomDocumentViewByKey.js +4 -0
  829. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -0
  830. package/dist/views/Document/getCustomViewByRoute.d.ts +10 -0
  831. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -0
  832. package/dist/views/Document/getCustomViewByRoute.js +35 -0
  833. package/dist/views/Document/getCustomViewByRoute.js.map +1 -0
  834. package/dist/views/Document/getDocumentView.d.ts +18 -0
  835. package/dist/views/Document/getDocumentView.d.ts.map +1 -0
  836. package/dist/views/Document/getDocumentView.js +306 -0
  837. package/dist/views/Document/getDocumentView.js.map +1 -0
  838. package/dist/views/Document/getMetaBySegment.d.ts +20 -0
  839. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -0
  840. package/dist/views/Document/getMetaBySegment.js +136 -0
  841. package/dist/views/Document/getMetaBySegment.js.map +1 -0
  842. package/dist/views/Document/handleServerFunction.d.ts +3 -0
  843. package/dist/views/Document/handleServerFunction.d.ts.map +1 -0
  844. package/dist/views/Document/handleServerFunction.js +134 -0
  845. package/dist/views/Document/handleServerFunction.js.map +1 -0
  846. package/dist/views/Document/index.d.ts +24 -0
  847. package/dist/views/Document/index.d.ts.map +1 -0
  848. package/dist/views/Document/index.js +410 -0
  849. package/dist/views/Document/index.js.map +1 -0
  850. package/dist/views/Document/renderDocumentSlots.d.ts +15 -0
  851. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -0
  852. package/dist/views/Document/renderDocumentSlots.js +179 -0
  853. package/dist/views/Document/renderDocumentSlots.js.map +1 -0
  854. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  855. package/dist/views/Edit/Auth/APIKey.js +10 -32
  856. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  857. package/dist/views/Edit/Auth/index.css +0 -67
  858. package/dist/views/Edit/index.css +47 -0
  859. package/dist/views/Edit/index.d.ts +1 -1
  860. package/dist/views/Edit/index.d.ts.map +1 -1
  861. package/dist/views/Edit/index.js +64 -49
  862. package/dist/views/Edit/index.js.map +1 -1
  863. package/dist/views/ForgotPassword/ForgotPasswordForm/index.css +24 -0
  864. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts +4 -0
  865. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -0
  866. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +193 -0
  867. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -0
  868. package/dist/views/ForgotPassword/index.css +12 -0
  869. package/dist/views/ForgotPassword/index.d.ts +6 -0
  870. package/dist/views/ForgotPassword/index.d.ts.map +1 -0
  871. package/dist/views/ForgotPassword/index.js +80 -0
  872. package/dist/views/ForgotPassword/index.js.map +1 -0
  873. package/dist/views/ForgotPassword/metadata.d.ts +3 -0
  874. package/dist/views/ForgotPassword/metadata.d.ts.map +1 -0
  875. package/dist/views/ForgotPassword/metadata.js +14 -0
  876. package/dist/views/ForgotPassword/metadata.js.map +1 -0
  877. package/dist/views/Hierarchy/index.d.ts +18 -0
  878. package/dist/views/Hierarchy/index.d.ts.map +1 -0
  879. package/dist/views/Hierarchy/index.js +19 -0
  880. package/dist/views/Hierarchy/index.js.map +1 -0
  881. package/dist/views/HierarchyList/DocumentListSelection/index.js +4 -4
  882. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  883. package/dist/views/List/ListHeader/index.css +23 -1
  884. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  885. package/dist/views/List/ListHeader/index.js +0 -1
  886. package/dist/views/List/ListHeader/index.js.map +1 -1
  887. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  888. package/dist/views/List/ListSelection/index.js +80 -29
  889. package/dist/views/List/ListSelection/index.js.map +1 -1
  890. package/dist/views/List/createSerializableValue.d.ts +2 -0
  891. package/dist/views/List/createSerializableValue.d.ts.map +1 -0
  892. package/dist/views/List/createSerializableValue.js +14 -0
  893. package/dist/views/List/createSerializableValue.js.map +1 -0
  894. package/dist/views/List/enrichDocsWithVersionStatus.d.ts +14 -0
  895. package/dist/views/List/enrichDocsWithVersionStatus.d.ts.map +1 -0
  896. package/dist/views/List/enrichDocsWithVersionStatus.js +96 -0
  897. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -0
  898. package/dist/views/List/extractRelationshipDisplayValue.d.ts +3 -0
  899. package/dist/views/List/extractRelationshipDisplayValue.d.ts.map +1 -0
  900. package/dist/views/List/extractRelationshipDisplayValue.js +17 -0
  901. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -0
  902. package/dist/views/List/extractValueOrRelationshipID.d.ts +2 -0
  903. package/dist/views/List/extractValueOrRelationshipID.d.ts.map +1 -0
  904. package/dist/views/List/extractValueOrRelationshipID.js +19 -0
  905. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -0
  906. package/dist/views/List/generateListViewMetadata.d.ts +5 -0
  907. package/dist/views/List/generateListViewMetadata.d.ts.map +1 -0
  908. package/dist/views/List/generateListViewMetadata.js +24 -0
  909. package/dist/views/List/generateListViewMetadata.js.map +1 -0
  910. package/dist/views/List/handleGroupBy.d.ts +24 -0
  911. package/dist/views/List/handleGroupBy.d.ts.map +1 -0
  912. package/dist/views/List/handleGroupBy.js +169 -0
  913. package/dist/views/List/handleGroupBy.js.map +1 -0
  914. package/dist/views/List/handleHierarchy.d.ts +18 -0
  915. package/dist/views/List/handleHierarchy.d.ts.map +1 -0
  916. package/dist/views/List/handleHierarchy.js +259 -0
  917. package/dist/views/List/handleHierarchy.js.map +1 -0
  918. package/dist/views/List/handleServerFunction.d.ts +4 -0
  919. package/dist/views/List/handleServerFunction.d.ts.map +1 -0
  920. package/dist/views/List/handleServerFunction.js +131 -0
  921. package/dist/views/List/handleServerFunction.js.map +1 -0
  922. package/dist/views/List/index.client.d.ts +5 -0
  923. package/dist/views/List/index.client.d.ts.map +1 -0
  924. package/dist/views/List/index.client.js +307 -0
  925. package/dist/views/List/index.client.js.map +1 -0
  926. package/dist/views/List/index.css +19 -0
  927. package/dist/views/List/index.d.ts +40 -2
  928. package/dist/views/List/index.d.ts.map +1 -1
  929. package/dist/views/List/index.js +428 -264
  930. package/dist/views/List/index.js.map +1 -1
  931. package/dist/views/List/renderListViewSlots.d.ts +12 -0
  932. package/dist/views/List/renderListViewSlots.d.ts.map +1 -0
  933. package/dist/views/List/renderListViewSlots.js +89 -0
  934. package/dist/views/List/renderListViewSlots.js.map +1 -0
  935. package/dist/views/List/resolveAllFilterOptions.d.ts +8 -0
  936. package/dist/views/List/resolveAllFilterOptions.d.ts.map +1 -0
  937. package/dist/views/List/resolveAllFilterOptions.js +49 -0
  938. package/dist/views/List/resolveAllFilterOptions.js.map +1 -0
  939. package/dist/views/List/transformColumnsToSelect.d.ts +3 -0
  940. package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -0
  941. package/dist/views/List/transformColumnsToSelect.js +11 -0
  942. package/dist/views/List/transformColumnsToSelect.js.map +1 -0
  943. package/dist/views/Login/LoginField/index.d.ts +9 -0
  944. package/dist/views/Login/LoginField/index.d.ts.map +1 -0
  945. package/dist/views/Login/LoginField/index.js +100 -0
  946. package/dist/views/Login/LoginField/index.js.map +1 -0
  947. package/dist/views/Login/LoginForm/index.css +48 -0
  948. package/dist/views/Login/LoginForm/index.d.ts +11 -0
  949. package/dist/views/Login/LoginForm/index.d.ts.map +1 -0
  950. package/dist/views/Login/LoginForm/index.js +188 -0
  951. package/dist/views/Login/LoginForm/index.js.map +1 -0
  952. package/dist/views/Login/index.css +8 -0
  953. package/dist/views/Login/index.d.ts +6 -0
  954. package/dist/views/Login/index.d.ts.map +1 -0
  955. package/dist/views/Login/index.js +99 -0
  956. package/dist/views/Login/index.js.map +1 -0
  957. package/dist/views/Login/metadata.d.ts +3 -0
  958. package/dist/views/Login/metadata.d.ts.map +1 -0
  959. package/dist/views/Login/metadata.js +14 -0
  960. package/dist/views/Login/metadata.js.map +1 -0
  961. package/dist/views/Logout/LogoutClient.d.ts +32 -0
  962. package/dist/views/Logout/LogoutClient.d.ts.map +1 -0
  963. package/dist/views/Logout/LogoutClient.js +151 -0
  964. package/dist/views/Logout/LogoutClient.js.map +1 -0
  965. package/dist/views/Logout/index.css +18 -0
  966. package/dist/views/Logout/index.d.ts +7 -0
  967. package/dist/views/Logout/index.d.ts.map +1 -0
  968. package/dist/views/Logout/index.js +37 -0
  969. package/dist/views/Logout/index.js.map +1 -0
  970. package/dist/views/Logout/metadata.d.ts +3 -0
  971. package/dist/views/Logout/metadata.d.ts.map +1 -0
  972. package/dist/views/Logout/metadata.js +13 -0
  973. package/dist/views/Logout/metadata.js.map +1 -0
  974. package/dist/views/NotFound/index.client.d.ts +4 -0
  975. package/dist/views/NotFound/index.client.d.ts.map +1 -0
  976. package/dist/views/NotFound/index.client.js +75 -0
  977. package/dist/views/NotFound/index.client.js.map +1 -0
  978. package/dist/views/NotFound/index.css +47 -0
  979. package/dist/views/NotFound/index.d.ts +6 -0
  980. package/dist/views/NotFound/index.d.ts.map +1 -0
  981. package/dist/views/NotFound/index.js +9 -0
  982. package/dist/views/NotFound/index.js.map +1 -0
  983. package/dist/views/NotFound/metadata.d.ts +3 -0
  984. package/dist/views/NotFound/metadata.d.ts.map +1 -0
  985. package/dist/views/NotFound/metadata.js +13 -0
  986. package/dist/views/NotFound/metadata.js.map +1 -0
  987. package/dist/views/NotFound/page.d.ts +23 -0
  988. package/dist/views/NotFound/page.d.ts.map +1 -0
  989. package/dist/views/NotFound/page.js +90 -0
  990. package/dist/views/NotFound/page.js.map +1 -0
  991. package/dist/views/ResetPassword/ResetPasswordForm/index.css +24 -0
  992. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts +8 -0
  993. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -0
  994. package/dist/views/ResetPassword/ResetPasswordForm/index.js +130 -0
  995. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -0
  996. package/dist/views/ResetPassword/index.css +18 -0
  997. package/dist/views/ResetPassword/index.d.ts +6 -0
  998. package/dist/views/ResetPassword/index.d.ts.map +1 -0
  999. package/dist/views/ResetPassword/index.js +89 -0
  1000. package/dist/views/ResetPassword/index.js.map +1 -0
  1001. package/dist/views/ResetPassword/metadata.d.ts +3 -0
  1002. package/dist/views/ResetPassword/metadata.d.ts.map +1 -0
  1003. package/dist/views/ResetPassword/metadata.js +14 -0
  1004. package/dist/views/ResetPassword/metadata.js.map +1 -0
  1005. package/dist/views/Root/adminViews.d.ts +9 -0
  1006. package/dist/views/Root/adminViews.d.ts.map +1 -0
  1007. package/dist/views/Root/adminViews.js +83 -0
  1008. package/dist/views/Root/adminViews.js.map +1 -0
  1009. package/dist/views/Root/attachViewActions.d.ts +10 -0
  1010. package/dist/views/Root/attachViewActions.d.ts.map +1 -0
  1011. package/dist/views/Root/attachViewActions.js +27 -0
  1012. package/dist/views/Root/attachViewActions.js.map +1 -0
  1013. package/dist/views/Root/generateCustomViewMetadata.d.ts +10 -0
  1014. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -0
  1015. package/dist/views/Root/generateCustomViewMetadata.js +25 -0
  1016. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -0
  1017. package/dist/views/Root/generatePageMetadata.d.ts +19 -0
  1018. package/dist/views/Root/generatePageMetadata.d.ts.map +1 -0
  1019. package/dist/views/Root/generatePageMetadata.js +143 -0
  1020. package/dist/views/Root/generatePageMetadata.js.map +1 -0
  1021. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts +12 -0
  1022. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -0
  1023. package/dist/views/Root/getCustomCollectionViewByRoute.js +48 -0
  1024. package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -0
  1025. package/dist/views/Root/getCustomCollectionViewByRoute.spec.js +168 -0
  1026. package/dist/views/Root/getCustomCollectionViewByRoute.spec.js.map +1 -0
  1027. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts +12 -0
  1028. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -0
  1029. package/dist/views/Root/getCustomGlobalViewByRoute.js +46 -0
  1030. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -0
  1031. package/dist/views/Root/getCustomViewByKey.d.ts +10 -0
  1032. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -0
  1033. package/dist/views/Root/getCustomViewByKey.js +16 -0
  1034. package/dist/views/Root/getCustomViewByKey.js.map +1 -0
  1035. package/dist/views/Root/getCustomViewByRoute.d.ts +16 -0
  1036. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -0
  1037. package/dist/views/Root/getCustomViewByRoute.js +49 -0
  1038. package/dist/views/Root/getCustomViewByRoute.js.map +1 -0
  1039. package/dist/views/Root/getDocumentViewInfo.d.ts +6 -0
  1040. package/dist/views/Root/getDocumentViewInfo.d.ts.map +1 -0
  1041. package/dist/views/Root/getDocumentViewInfo.js +28 -0
  1042. package/dist/views/Root/getDocumentViewInfo.js.map +1 -0
  1043. package/dist/views/Root/getRouteData.d.ts +41 -0
  1044. package/dist/views/Root/getRouteData.d.ts.map +1 -0
  1045. package/dist/views/Root/getRouteData.js +345 -0
  1046. package/dist/views/Root/getRouteData.js.map +1 -0
  1047. package/dist/views/Root/index.d.ts +28 -0
  1048. package/dist/views/Root/index.d.ts.map +1 -0
  1049. package/dist/views/Root/index.js +304 -0
  1050. package/dist/views/Root/index.js.map +1 -0
  1051. package/dist/views/Unauthorized/index.css +44 -0
  1052. package/dist/views/Unauthorized/index.d.ts +6 -0
  1053. package/dist/views/Unauthorized/index.d.ts.map +1 -0
  1054. package/dist/views/Unauthorized/index.js +34 -0
  1055. package/dist/views/Unauthorized/index.js.map +1 -0
  1056. package/dist/views/Unauthorized/metadata.d.ts +3 -0
  1057. package/dist/views/Unauthorized/metadata.d.ts.map +1 -0
  1058. package/dist/views/Unauthorized/metadata.js +14 -0
  1059. package/dist/views/Unauthorized/metadata.js.map +1 -0
  1060. package/dist/views/Verify/index.client.d.ts +11 -0
  1061. package/dist/views/Verify/index.client.d.ts.map +1 -0
  1062. package/dist/views/Verify/index.client.js +132 -0
  1063. package/dist/views/Verify/index.client.js.map +1 -0
  1064. package/dist/views/Verify/index.css +38 -0
  1065. package/dist/views/Verify/index.d.ts +6 -0
  1066. package/dist/views/Verify/index.d.ts.map +1 -0
  1067. package/dist/views/Verify/index.js +68 -0
  1068. package/dist/views/Verify/index.js.map +1 -0
  1069. package/dist/views/Verify/metadata.d.ts +3 -0
  1070. package/dist/views/Verify/metadata.d.ts.map +1 -0
  1071. package/dist/views/Verify/metadata.js +14 -0
  1072. package/dist/views/Verify/metadata.js.map +1 -0
  1073. package/dist/views/Version/Default/SelectedLocalesContext.d.ts +7 -0
  1074. package/dist/views/Version/Default/SelectedLocalesContext.d.ts.map +1 -0
  1075. package/dist/views/Version/Default/SelectedLocalesContext.js +8 -0
  1076. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -0
  1077. package/dist/views/Version/Default/SetStepNav.d.ts +11 -0
  1078. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -0
  1079. package/dist/views/Version/Default/SetStepNav.js +139 -0
  1080. package/dist/views/Version/Default/SetStepNav.js.map +1 -0
  1081. package/dist/views/Version/Default/index.css +225 -0
  1082. package/dist/views/Version/Default/index.d.ts +5 -0
  1083. package/dist/views/Version/Default/index.d.ts.map +1 -0
  1084. package/dist/views/Version/Default/index.js +242 -0
  1085. package/dist/views/Version/Default/index.js.map +1 -0
  1086. package/dist/views/Version/Default/types.d.ts +23 -0
  1087. package/dist/views/Version/Default/types.d.ts.map +1 -0
  1088. package/dist/views/Version/Default/types.js +2 -0
  1089. package/dist/views/Version/Default/types.js.map +1 -0
  1090. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.css +64 -0
  1091. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +26 -0
  1092. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -0
  1093. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +134 -0
  1094. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -0
  1095. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts +12 -0
  1096. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -0
  1097. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +81 -0
  1098. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -0
  1099. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts +31 -0
  1100. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -0
  1101. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +439 -0
  1102. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -0
  1103. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.css +97 -0
  1104. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.d.ts +4 -0
  1105. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.d.ts.map +1 -0
  1106. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +94 -0
  1107. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -0
  1108. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.d.ts +3 -0
  1109. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.d.ts.map +1 -0
  1110. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +61 -0
  1111. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -0
  1112. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.css +29 -0
  1113. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts +4 -0
  1114. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts.map +1 -0
  1115. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +82 -0
  1116. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -0
  1117. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.css +5 -0
  1118. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts +4 -0
  1119. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts.map +1 -0
  1120. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +67 -0
  1121. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -0
  1122. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.css +40 -0
  1123. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts +5 -0
  1124. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -0
  1125. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +131 -0
  1126. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -0
  1127. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts +10 -0
  1128. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -0
  1129. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +67 -0
  1130. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -0
  1131. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +209 -0
  1132. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +21 -0
  1133. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -0
  1134. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +240 -0
  1135. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -0
  1136. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.d.ts +3 -0
  1137. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.d.ts.map +1 -0
  1138. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -0
  1139. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -0
  1140. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.css +4 -0
  1141. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +4 -0
  1142. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -0
  1143. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +91 -0
  1144. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -0
  1145. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.css +6 -0
  1146. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +4 -0
  1147. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -0
  1148. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +159 -0
  1149. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -0
  1150. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.css +4 -0
  1151. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts +4 -0
  1152. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -0
  1153. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +104 -0
  1154. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -0
  1155. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.css +188 -0
  1156. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts +33 -0
  1157. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -0
  1158. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +225 -0
  1159. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -0
  1160. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +3 -0
  1161. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -0
  1162. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +29 -0
  1163. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -0
  1164. package/dist/views/Version/RenderFieldsToDiff/index.css +24 -0
  1165. package/dist/views/Version/RenderFieldsToDiff/index.d.ts +3 -0
  1166. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -0
  1167. package/dist/views/Version/RenderFieldsToDiff/index.js +14 -0
  1168. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -0
  1169. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts +25 -0
  1170. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -0
  1171. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +242 -0
  1172. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -0
  1173. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +861 -0
  1174. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -0
  1175. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.d.ts +2 -0
  1176. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.d.ts.map +1 -0
  1177. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +4 -0
  1178. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -0
  1179. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +47 -0
  1180. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -0
  1181. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +19 -0
  1182. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -0
  1183. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +45 -0
  1184. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -0
  1185. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +135 -0
  1186. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -0
  1187. package/dist/views/Version/Restore/index.css +26 -0
  1188. package/dist/views/Version/Restore/index.d.ts +16 -0
  1189. package/dist/views/Version/Restore/index.d.ts.map +1 -0
  1190. package/dist/views/Version/Restore/index.js +113 -0
  1191. package/dist/views/Version/Restore/index.js.map +1 -0
  1192. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.d.ts +4 -0
  1193. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.d.ts.map +1 -0
  1194. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +60 -0
  1195. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -0
  1196. package/dist/views/Version/SelectComparison/VersionDrawer/index.css +5 -0
  1197. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts +33 -0
  1198. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -0
  1199. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +245 -0
  1200. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -0
  1201. package/dist/views/Version/SelectComparison/index.css +5 -0
  1202. package/dist/views/Version/SelectComparison/index.d.ts +5 -0
  1203. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -0
  1204. package/dist/views/Version/SelectComparison/index.js +60 -0
  1205. package/dist/views/Version/SelectComparison/index.js.map +1 -0
  1206. package/dist/views/Version/SelectComparison/types.d.ts +26 -0
  1207. package/dist/views/Version/SelectComparison/types.d.ts.map +1 -0
  1208. package/dist/views/Version/SelectComparison/types.js +2 -0
  1209. package/dist/views/Version/SelectComparison/types.js.map +1 -0
  1210. package/dist/views/Version/SelectLocales/index.d.ts +11 -0
  1211. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -0
  1212. package/dist/views/Version/SelectLocales/index.js +90 -0
  1213. package/dist/views/Version/SelectLocales/index.js.map +1 -0
  1214. package/dist/views/Version/generateVersionViewMetadata.d.ts +6 -0
  1215. package/dist/views/Version/generateVersionViewMetadata.d.ts.map +1 -0
  1216. package/dist/views/Version/generateVersionViewMetadata.js +58 -0
  1217. package/dist/views/Version/generateVersionViewMetadata.js.map +1 -0
  1218. package/dist/views/Version/index.d.ts +4 -0
  1219. package/dist/views/Version/index.d.ts.map +1 -0
  1220. package/dist/views/Version/index.js +351 -0
  1221. package/dist/views/Version/index.js.map +1 -0
  1222. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.d.ts +31 -0
  1223. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.d.ts.map +1 -0
  1224. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js +126 -0
  1225. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -0
  1226. package/dist/views/Versions/VersionPillLabel/getVersionLabel.d.ts +37 -0
  1227. package/dist/views/Versions/VersionPillLabel/getVersionLabel.d.ts.map +1 -0
  1228. package/dist/views/Versions/VersionPillLabel/getVersionLabel.js +43 -0
  1229. package/dist/views/Versions/VersionPillLabel/getVersionLabel.js.map +1 -0
  1230. package/dist/views/Versions/VersionPillLabel/index.css +31 -0
  1231. package/dist/views/Versions/buildColumns.d.ts +16 -0
  1232. package/dist/views/Versions/buildColumns.d.ts.map +1 -0
  1233. package/dist/views/Versions/buildColumns.js +87 -0
  1234. package/dist/views/Versions/buildColumns.js.map +1 -0
  1235. package/dist/views/Versions/cells/AutosaveCell/index.css +7 -0
  1236. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +21 -0
  1237. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -0
  1238. package/dist/views/Versions/cells/AutosaveCell/index.js +47 -0
  1239. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -0
  1240. package/dist/views/Versions/cells/CreatedAt/index.d.ts +13 -0
  1241. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -0
  1242. package/dist/views/Versions/cells/CreatedAt/index.js +62 -0
  1243. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -0
  1244. package/dist/views/Versions/cells/ID/index.d.ts +5 -0
  1245. package/dist/views/Versions/cells/ID/index.d.ts.map +1 -0
  1246. package/dist/views/Versions/cells/ID/index.js +12 -0
  1247. package/dist/views/Versions/cells/ID/index.js.map +1 -0
  1248. package/dist/views/Versions/cells/VersionDrawerCreatedAtCell/index.d.ts +4 -0
  1249. package/dist/views/Versions/cells/VersionDrawerCreatedAtCell/index.d.ts.map +1 -0
  1250. package/dist/views/Versions/cells/VersionDrawerCreatedAtCell/index.js +60 -0
  1251. package/dist/views/Versions/cells/VersionDrawerCreatedAtCell/index.js.map +1 -0
  1252. package/dist/views/Versions/fetchVersions.d.ts +42 -0
  1253. package/dist/views/Versions/fetchVersions.d.ts.map +1 -0
  1254. package/dist/views/Versions/fetchVersions.js +151 -0
  1255. package/dist/views/Versions/fetchVersions.js.map +1 -0
  1256. package/dist/views/Versions/generateVersionsViewMetadata.d.ts +6 -0
  1257. package/dist/views/Versions/generateVersionsViewMetadata.d.ts.map +1 -0
  1258. package/dist/views/Versions/generateVersionsViewMetadata.js +51 -0
  1259. package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -0
  1260. package/dist/views/Versions/index.client.d.ts +9 -0
  1261. package/dist/views/Versions/index.client.d.ts.map +1 -0
  1262. package/dist/views/Versions/index.client.js +77 -0
  1263. package/dist/views/Versions/index.client.js.map +1 -0
  1264. package/dist/views/Versions/index.css +92 -0
  1265. package/dist/views/Versions/index.d.ts +5 -0
  1266. package/dist/views/Versions/index.d.ts.map +1 -0
  1267. package/dist/views/Versions/index.js +155 -0
  1268. package/dist/views/Versions/index.js.map +1 -0
  1269. package/dist/views/Versions/types.d.ts +17 -0
  1270. package/dist/views/Versions/types.d.ts.map +1 -0
  1271. package/dist/views/Versions/types.js +2 -0
  1272. package/dist/views/Versions/types.js.map +1 -0
  1273. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts +20 -0
  1274. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts.map +1 -0
  1275. package/dist/widgets/CollectionCards/getCollectionCardsData.js +29 -0
  1276. package/dist/widgets/CollectionCards/getCollectionCardsData.js.map +1 -0
  1277. package/dist/widgets/CollectionCards/index.client.d.ts +5 -0
  1278. package/dist/widgets/CollectionCards/index.client.d.ts.map +1 -0
  1279. package/dist/widgets/CollectionCards/index.client.js +139 -0
  1280. package/dist/widgets/CollectionCards/index.client.js.map +1 -0
  1281. package/package.json +669 -8
  1282. package/dist/elements/BulkUpload/AddingFilesView/index.scss +0 -25
  1283. package/dist/elements/BulkUpload/EditForm/index.scss +0 -11
  1284. package/dist/elements/BulkUpload/EditMany/index.scss +0 -171
  1285. package/dist/elements/EditMany/index.scss +0 -182
  1286. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +0 -35
  1287. package/dist/elements/FormHeader/index.scss +0 -8
  1288. package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +0 -78
  1289. package/dist/elements/Hierarchy/Field/index.scss +0 -41
  1290. package/dist/elements/Hierarchy/MoveMany/index.scss +0 -7
  1291. package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +0 -26
  1292. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +0 -7
  1293. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +0 -1
  1294. package/dist/elements/Hierarchy/Tree/TreeConnector.js +0 -23
  1295. package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +0 -1
  1296. package/dist/elements/LoadMoreRow/index.scss +0 -45
  1297. package/dist/elements/ShimmerEffect/index.scss +0 -40
  1298. package/dist/elements/Table/DefaultCell/fields/File/index.scss +0 -25
  1299. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.scss +0 -29
  1300. package/dist/elements/Table/DefaultCell/fields/JSON/index.scss +0 -31
  1301. package/dist/elements/Table/DefaultCell/fields/Relationship/index.scss +0 -0
  1302. package/dist/elements/WhereBuilder/Condition/Number/index.scss +0 -7
  1303. package/dist/elements/WhereBuilder/Condition/Text/index.scss +0 -7
  1304. package/dist/elements/WhereBuilder/Condition/index.scss +0 -59
  1305. package/dist/elements/WhereBuilder/index.scss +0 -42
  1306. package/dist/exports/client/CodeEditor-VOWIYZ2P.js +0 -14
  1307. package/dist/exports/client/CodeEditor-VOWIYZ2P.js.map +0 -7
  1308. package/dist/exports/client/DatePicker-PWCIGXJ7.js +0 -14
  1309. package/dist/exports/client/DatePicker-PWCIGXJ7.js.map +0 -7
  1310. package/dist/exports/client/chunk-4V3O4APT.js +0 -29
  1311. package/dist/exports/client/chunk-4V3O4APT.js.map +0 -7
  1312. package/dist/exports/client/chunk-5LKBKI4T.js +0 -14
  1313. package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -7
  1314. package/dist/exports/client/chunk-WFRAMM4V.js +0 -27
  1315. package/dist/exports/client/chunk-WFRAMM4V.js.map +0 -7
  1316. package/dist/fields/Tabs/Tab/index.css +0 -82
  1317. package/dist/providers/LivePreview/index.scss +0 -68
  1318. package/dist/providers/Params/index.d.ts +0 -19
  1319. package/dist/providers/Params/index.d.ts.map +0 -1
  1320. package/dist/providers/Params/index.js +0 -37
  1321. package/dist/providers/Params/index.js.map +0 -1
  1322. package/dist/providers/RouteTransition/ProgressBar/index.scss +0 -23
  1323. package/dist/providers/SearchParams/index.d.ts +0 -27
  1324. package/dist/providers/SearchParams/index.d.ts.map +0 -1
  1325. package/dist/providers/SearchParams/index.js +0 -54
  1326. package/dist/providers/SearchParams/index.js.map +0 -1
  1327. package/dist/providers/TableColumns/RenderDefaultCell/index.scss +0 -15
  1328. package/dist/views/Edit/index.scss +0 -60
  1329. /package/dist/elements/LivePreview/ToolbarArea/{index.scss → index.css} +0 -0
  1330. /package/dist/elements/Table/DefaultCell/fields/Checkbox/{index.scss → index.css} +0 -0
  1331. /package/dist/elements/Table/DefaultCell/fields/Code/{index.scss → index.css} +0 -0
  1332. /package/dist/forms/Form/{index.scss → index.css} +0 -0
  1333. /package/dist/forms/Submit/{index.scss → index.css} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["PopupList","React","useCallback","useEffect","useRef","useState","createPortal","useEffectEvent","PopupTrigger","baseClass","TABBABLE_SELECTOR","map","s","join","Popup","props","id","button","buttonClassName","buttonSize","buttonType","caret","children","className","disabled","forceOpen","horizontalAlign","initActive","noBackground","onToggleClose","onToggleOpen","portalClassName","render","renderButton","showOnHover","showScrollbar","size","theme","verticalAlign","popupRef","triggerRef","openedViaKeyboardRef","mounted","setMounted","active","setActiveInternal","isOnTop","setIsOnTop","setActive","isActive","viaKeyboard","current","updatePosition","trigger","popup","triggerRect","getBoundingClientRect","popupRect","offset","top","onTop","bottom","window","scrollY","height","innerHeight","topIfAbove","left","right","width","Math","max","min","innerWidth","triggerCenter","caretLeft","newTop","round","newLeft","scrollX","newCaretLeft","style","getPropertyValue","setProperty","handleClickOutside","e","target","isOutsidePopup","contains","isOutsideTrigger","clickedPopupContent","closest","isInsideChildPopup","handleKeyDown","key","preventDefault","querySelector","focus","focusable","Array","from","querySelectorAll","length","currentIndex","findIndex","el","document","activeElement","goBackward","shiftKey","nextIndex","handleActionableClick","actionable","rafId","requestAnimationFrame","firstFocusable","addEventListener","capture","passive","cancelAnimationFrame","removeEventListener","undefined","Trigger","_jsx","_jsxs","filter","Boolean","ref","onMouseEnter","onMouseLeave","role","tabIndex","close","body"],"sources":["../../../src/elements/Popup/index.tsx"],"sourcesContent":["'use client'\nimport type { CSSProperties } from 'react'\n\nexport * as PopupList from './PopupButtonList/index.js'\n\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport './index.css'\nimport { PopupTrigger } from './PopupTrigger/index.js'\n\nconst baseClass = 'popup'\n\n/**\n * Selector for all elements the browser considers tabbable.\n */\nconst TABBABLE_SELECTOR = [\n 'a[href]',\n 'button:not(:disabled)',\n 'input:not(:disabled):not([type=\"hidden\"])',\n 'select:not(:disabled)',\n 'textarea:not(:disabled)',\n '[tabindex]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n 'audio[controls]',\n 'video[controls]',\n 'summary',\n]\n .map((s) => `${s}:not([tabindex=\"-1\"])`)\n .join(', ')\n\nexport type PopupProps = {\n backgroundColor?: CSSProperties['backgroundColor']\n boundingRef?: React.RefObject<HTMLElement>\n button?: React.ReactNode\n /**\n * The class name to apply to the button that triggers the popup.\n */\n buttonClassName?: string\n buttonSize?: 'large' | 'medium'\n buttonType?: 'custom' | 'default'\n caret?: boolean\n children?: React.ReactNode\n /**\n * The class name to apply to the popup container containing the trigger.\n * This does not wrap the actual popup content, which is rendered in a portal.\n */\n className?: string\n disabled?: boolean\n /**\n * Force control the open state of the popup, regardless of the trigger.\n */\n forceOpen?: boolean\n /**\n * Preferred horizontal alignment of the popup, if there is enough space available.\n *\n * @default 'left'\n */\n horizontalAlign?: 'center' | 'left' | 'right'\n id?: string\n initActive?: boolean\n noBackground?: boolean\n onToggleClose?: () => void\n onToggleOpen?: (active: boolean) => void\n /**\n * Class name to apply to the portal container.\n */\n portalClassName?: string\n render?: (args: { close: () => void }) => React.ReactNode\n /**\n * Render prop for custom trigger button. Receives onClick/onKeyDown/aria props.\n * When provided, `button` and `buttonType` are ignored.\n */\n renderButton?: (props: {\n active: boolean\n 'aria-expanded': boolean\n 'aria-haspopup': true\n onClick: React.MouseEventHandler\n onKeyDown: React.KeyboardEventHandler\n }) => React.ReactNode\n showOnHover?: boolean\n /**\n * By default, the scrollbar is hidden. If you want to show it, set this to true.\n * In both cases, the container is still scrollable.\n *\n * @default false\n */\n showScrollbar?: boolean\n size?: 'fit-content' | 'large' | 'medium' | 'small'\n /**\n * Theme for the popup content. Defaults to 'dark'.\n * Set to 'auto' to inherit the current theme.\n *\n * @default 'dark'\n */\n theme?: 'auto' | 'dark' | 'light'\n /**\n * Preferred vertical alignment of the popup (position below or above the trigger),\n * if there is enough space available.\n *\n * If the popup is too close to the edge of the viewport, it will flip to the opposite side\n * regardless of the preferred vertical alignment.\n *\n * @default 'bottom'\n */\n verticalAlign?: 'bottom' | 'top'\n}\n\n/**\n * Component that renders a popup, as well as a button that triggers the popup.\n *\n * The popup is rendered in a portal, and is automatically positioned above / below the trigger,\n * depending on the verticalAlign prop and the space available.\n */\nexport const Popup: React.FC<PopupProps> = (props) => {\n const {\n id,\n button,\n buttonClassName,\n buttonSize,\n buttonType = 'default',\n caret = true,\n children,\n className,\n disabled,\n forceOpen,\n horizontalAlign = 'left',\n initActive = false,\n noBackground,\n onToggleClose,\n onToggleOpen,\n portalClassName,\n render,\n renderButton,\n showOnHover = false,\n showScrollbar = false,\n size = 'medium',\n theme = 'dark',\n verticalAlign = 'bottom',\n } = props\n\n const popupRef = useRef<HTMLDivElement>(null)\n const triggerRef = useRef<HTMLDivElement>(null)\n\n /**\n * Keeps track of whether the popup was opened via keyboard.\n * This is used to determine whether to autofocus the first element in the popup.\n * If the popup was opened via mouse, we do not want to autofocus the first element.\n */\n const openedViaKeyboardRef = useRef(false)\n\n const [mounted, setMounted] = useState(false)\n const [active, setActiveInternal] = useState(initActive)\n const [isOnTop, setIsOnTop] = useState(verticalAlign === 'top')\n\n // Track when component is mounted to avoid SSR/client hydration mismatch\n useEffect(() => {\n setMounted(true)\n }, [])\n\n const setActive = useCallback(\n (isActive: boolean, viaKeyboard = false) => {\n if (isActive) {\n openedViaKeyboardRef.current = viaKeyboard\n onToggleOpen?.(true)\n } else {\n onToggleClose?.()\n }\n setActiveInternal(isActive)\n },\n [onToggleClose, onToggleOpen],\n )\n\n // /////////////////////////////////////\n // Position Calculation\n //\n // Calculates and applies popup position relative to trigger.\n // Always checks viewport bounds (for flipping), but only updates\n // styles if the calculated position differs from current position.\n // /////////////////////////////////////\n\n const updatePosition = useEffectEvent(() => {\n const trigger = triggerRef.current\n const popup = popupRef.current\n if (!trigger || !popup) {\n return\n }\n\n const triggerRect = trigger.getBoundingClientRect()\n const popupRect = popup.getBoundingClientRect()\n\n // Gap between the popup and the trigger/viewport edges (in pixels)\n const offset = 10\n\n // /////////////////////////////////////\n // Vertical Positioning\n // Calculates the `top` position in absolute page coordinates.\n // Uses `verticalAlign` prop as the preferred direction, but flips\n // to the opposite side if there's not enough viewport space.\n // /////////////////////////////////////\n\n let top: number\n let onTop = verticalAlign === 'top'\n\n if (verticalAlign === 'bottom') {\n top = triggerRect.bottom + window.scrollY + offset\n\n if (triggerRect.bottom + popupRect.height + offset > window.innerHeight) {\n // Try to flip above — only do so if there's actually enough room\n const topIfAbove = triggerRect.top + window.scrollY - popupRect.height - offset\n if (topIfAbove >= window.scrollY) {\n top = topIfAbove\n onTop = true\n }\n // else: not enough room above either — keep below and let it overflow rather than going off-screen\n }\n } else {\n top = triggerRect.top + window.scrollY - popupRect.height - offset\n\n if (triggerRect.top - popupRect.height - offset < 0) {\n top = triggerRect.bottom + window.scrollY + offset\n onTop = false\n }\n }\n\n setIsOnTop(onTop)\n\n // /////////////////////////////////////\n // Horizontal Positioning\n // Calculates the `left` position based on `horizontalAlign` prop:\n // - 'left': aligns popup's left edge with trigger's left edge\n // - 'right': aligns popup's right edge with trigger's right edge\n // - 'center': centers popup horizontally relative to trigger\n // Then clamps to keep the popup within viewport bounds.\n // /////////////////////////////////////\n\n let left =\n horizontalAlign === 'right'\n ? triggerRect.right - popupRect.width\n : horizontalAlign === 'center'\n ? triggerRect.left + triggerRect.width / 2 - popupRect.width / 2\n : triggerRect.left\n\n left = Math.max(offset, Math.min(left, window.innerWidth - popupRect.width - offset))\n\n // /////////////////////////////////////\n // Caret Positioning\n // Positions the caret arrow to point at the trigger's horizontal center.\n // Clamps between 12px from edges to prevent caret from overflowing the popup.\n // /////////////////////////////////////\n\n const triggerCenter = triggerRect.left + triggerRect.width / 2\n const caretLeft = Math.max(12, Math.min(triggerCenter - left, popupRect.width - 12))\n\n // /////////////////////////////////////\n // Apply Styles (only if changed)\n // Compares calculated position with current styles to avoid unnecessary\n // DOM updates during scroll. This prevents visual lag by relying on the absolute\n // positioning where possible (popup slightly lags behind when scrolling really fast),\n // while still allowing position changes when needed (e.g., sticky parent, viewport flip).\n // Values are rounded to match browser's CSS precision and avoid false updates.\n // /////////////////////////////////////\n\n const newTop = `${Math.round(top)}px`\n const newLeft = `${Math.round(left + window.scrollX)}px`\n const newCaretLeft = `${Math.round(caretLeft)}px`\n\n if (popup.style.top !== newTop) {\n popup.style.top = newTop\n }\n if (popup.style.left !== newLeft) {\n popup.style.left = newLeft\n }\n if (popup.style.getPropertyValue('--caret-left') !== newCaretLeft) {\n popup.style.setProperty('--caret-left', newCaretLeft)\n }\n })\n\n // /////////////////////////////////////\n // Click Outside Handler\n // Closes popup when clicking outside both the popup and trigger.\n // Distinguishes between parent and child popups:\n // - Click in child popup: parent stays open\n // - Click in parent popup: child closes\n // /////////////////////////////////////\n\n const handleClickOutside = useEffectEvent((e: MouseEvent) => {\n const target = e.target as Node\n const isOutsidePopup = !popupRef.current?.contains(target)\n const isOutsideTrigger = !triggerRef.current?.contains(target)\n\n // Check if click is inside a popup portal\n const clickedPopupContent = (target as Element).closest?.('.popup__content')\n\n // If the clicked popup contains this popup's trigger, it's a parent popup\n // and we should close. If it doesn't contain our trigger, it's a child popup\n // and we should stay open to avoid closing parent when interacting with child.\n const isInsideChildPopup =\n clickedPopupContent && !clickedPopupContent.contains(triggerRef.current)\n\n if (isOutsidePopup && isOutsideTrigger && !isInsideChildPopup) {\n setActive(false)\n }\n })\n\n // /////////////////////////////////////\n // Keyboard Navigation\n // Handles keyboard interactions when popup is open:\n // - Escape: closes popup and returns focus to trigger\n // - Tab/Shift+Tab: cycles through focusable items with wrapping\n // - ArrowUp/ArrowDown: same as Shift+Tab/Tab for menu-style navigation\n // Focus is managed manually to support elements the browser might skip.\n // /////////////////////////////////////\n\n const handleKeyDown = useEffectEvent((e: KeyboardEvent) => {\n const popup = popupRef.current\n if (!popup || !active) {\n return\n }\n\n if (e.key === 'Escape') {\n e.preventDefault()\n setActive(false)\n triggerRef.current?.querySelector<HTMLElement>('button, [tabindex=\"0\"]')?.focus()\n return\n }\n\n if (e.key === 'Tab' || e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n const focusable = Array.from(popup.querySelectorAll<HTMLElement>(TABBABLE_SELECTOR))\n if (focusable.length === 0) {\n return\n }\n\n e.preventDefault()\n\n const currentIndex = focusable.findIndex((el) => el === document.activeElement)\n const goBackward = e.key === 'ArrowUp' || (e.key === 'Tab' && e.shiftKey)\n\n let nextIndex: number\n if (currentIndex === -1) {\n nextIndex = goBackward ? focusable.length - 1 : 0\n } else if (goBackward) {\n nextIndex = currentIndex === 0 ? focusable.length - 1 : currentIndex - 1\n } else {\n nextIndex = currentIndex === focusable.length - 1 ? 0 : currentIndex + 1\n }\n\n focusable[nextIndex].focus()\n }\n })\n\n // /////////////////////////////////////\n // Click Handler for Actionable Elements\n // Closes popup when buttons/links inside are clicked (includes Enter/Space activation).\n // /////////////////////////////////////\n\n const handleActionableClick = useEffectEvent((e: MouseEvent) => {\n const target = e.target as HTMLElement\n\n // Allow opting out with data-popup-prevent-close attribute on element or ancestor\n if (target.closest('[data-popup-prevent-close]')) {\n return\n }\n\n // Check if the clicked element or any ancestor is an actionable element\n const actionable = target.closest('button, a[href], [role=\"button\"], [role=\"menuitem\"]')\n if (actionable && popupRef.current?.contains(actionable)) {\n setActive(false)\n }\n })\n\n // /////////////////////////////////////\n // Effect: Setup/Teardown position and focus management\n // /////////////////////////////////////\n\n useEffect(() => {\n if (!active) {\n return\n }\n\n const popup = popupRef.current\n if (!popup) {\n return\n }\n\n // /////////////////////////////////////\n // Initial Position\n // Calculate and apply popup position.\n // getBoundingClientRect() forces synchronous layout.\n //\n // We call updatePosition() twice: once synchronously (so the popup\n // snaps to roughly the right place immediately rather than flashing\n // from -9999px) and once in a requestAnimationFrame, which fires\n // after the browser has finished laying out the newly-visible popup\n // content. The rAF call is the authoritative one — it catches cases\n // where the popup height wasn't stable yet during the first call\n // (e.g. ColumnSelector content rendering after hidden → visible\n // class switch), which was causing incorrect flip-to-top decisions.\n // /////////////////////////////////////\n\n updatePosition()\n const rafId = requestAnimationFrame(() => {\n updatePosition()\n })\n\n // /////////////////////////////////////\n // Focus Management\n // When opened via keyboard, autofocus the first focusable button.\n // When opened via mouse, skip autofocus to avoid unwanted highlights.\n // /////////////////////////////////////\n\n if (openedViaKeyboardRef.current) {\n // Use requestAnimationFrame to ensure DOM is ready.\n requestAnimationFrame(() => {\n const firstFocusable = popup.querySelector<HTMLElement>(TABBABLE_SELECTOR)\n firstFocusable?.focus()\n })\n }\n\n // /////////////////////////////////////\n // Event Listeners\n // - resize/scroll: recalculate position (only applies styles if changed)\n // - mousedown: detect clicks outside to close\n // - keydown: handle keyboard navigation\n // /////////////////////////////////////\n\n window.addEventListener('resize', updatePosition)\n window.addEventListener('scroll', updatePosition, { capture: true, passive: true })\n document.addEventListener('mousedown', handleClickOutside)\n document.addEventListener('keydown', handleKeyDown)\n popup.addEventListener('click', handleActionableClick)\n\n return () => {\n cancelAnimationFrame(rafId)\n window.removeEventListener('resize', updatePosition)\n window.removeEventListener('scroll', updatePosition, { capture: true })\n document.removeEventListener('mousedown', handleClickOutside)\n document.removeEventListener('keydown', handleKeyDown)\n popup.removeEventListener('click', handleActionableClick)\n }\n }, [active])\n\n useEffect(() => {\n if (forceOpen !== undefined) {\n setActive(forceOpen)\n }\n }, [forceOpen, setActive])\n\n const Trigger = (\n <PopupTrigger\n active={active}\n button={button}\n buttonType={buttonType}\n className={buttonClassName}\n disabled={disabled}\n noBackground={noBackground}\n renderButton={renderButton}\n setActive={setActive}\n size={buttonSize}\n />\n )\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')} id={id}>\n <div className={`${baseClass}__trigger-wrap`} ref={triggerRef}>\n {showOnHover ? (\n <div\n className={`${baseClass}__on-hover-watch`}\n onMouseEnter={() => setActive(true)}\n onMouseLeave={() => setActive(false)}\n role=\"button\"\n tabIndex={0}\n >\n {Trigger}\n </div>\n ) : (\n Trigger\n )}\n </div>\n\n {mounted\n ? // We need to make sure the popup is part of the DOM (although invisible), even if it's not active.\n // This ensures that components within the popup, like modals, do not unmount when the popup closes.\n // Otherwise, modals opened from the popup will close unexpectedly when clicking within the modal, since\n // that closes the popup due to the click outside handler.\n createPortal(\n <div\n className={\n active\n ? [\n `${baseClass}__content`,\n `${baseClass}--size-${size}`,\n isOnTop ? `${baseClass}--v-top` : `${baseClass}--v-bottom`,\n portalClassName,\n ]\n .filter(Boolean)\n .join(' ')\n : // Do not share any class names between active and disabled popups, to make sure\n // tests do not accidentally target inactive popups.\n `${baseClass}__hidden-content`\n }\n data-popup-id={id || undefined}\n data-theme={theme === 'auto' ? undefined : theme}\n ref={popupRef}\n >\n <div\n className={`${baseClass}__scroll-container${showScrollbar ? ` ${baseClass}__scroll-container--show-scrollbar` : ''}`}\n >\n {render?.({ close: () => setActive(false) })}\n {children}\n </div>\n {caret && <div className={`${baseClass}__caret`} />}\n </div>,\n document.body,\n )\n : null}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["PopupList","React","createContext","use","useCallback","useEffect","useRef","useState","createPortal","useEffectEvent","ThemeProvider","PopupTrigger","baseClass","PopupContext","TABBABLE_SELECTOR","map","s","join","Popup","props","id","button","buttonClassName","buttonSize","buttonType","caret","children","className","disabled","forceOpen","horizontalAlign","initActive","noBackground","onToggleClose","onToggleOpen","portalClassName","render","renderButton","showOnHover","showScrollbar","side","size","theme","verticalAlign","popupRef","triggerRef","openedViaKeyboardRef","parentPopup","mounted","setMounted","active","setActiveInternal","isOnTop","setIsOnTop","setActive","isActive","viaKeyboard","current","updatePosition","trigger","popup","triggerRect","getBoundingClientRect","popupRect","offset","sideOffset","top","left","caretLeft","window","scrollY","maxTop","innerHeight","height","Math","max","min","anchorRect","width","right","innerWidth","scrollX","onTop","bottom","topIfAbove","triggerCenter","newTop","round","newLeft","newCaretLeft","style","getPropertyValue","setProperty","handleClickOutside","e","target","isOutsidePopup","contains","isOutsideTrigger","clickedPopupContent","closest","isInsideChildPopup","handleKeyDown","key","preventDefault","querySelector","focus","focusable","Array","from","querySelectorAll","length","currentIndex","findIndex","el","document","activeElement","goBackward","shiftKey","nextIndex","handleActionableClick","actionable","rafId","requestAnimationFrame","firstFocusable","addEventListener","capture","passive","cancelAnimationFrame","removeEventListener","undefined","Trigger","_jsx","_jsxs","filter","Boolean","ref","onMouseEnter","onMouseLeave","role","tabIndex","value","_Fragment","close","body"],"sources":["../../../src/elements/Popup/index.tsx"],"sourcesContent":["'use client'\nimport type { CSSProperties } from 'react'\n\nexport * as PopupList from './PopupButtonList/index.js'\n\nimport React, { createContext, use, useCallback, useEffect, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { ThemeProvider } from '../../providers/Theme/index.js'\nimport './index.css'\nimport { PopupTrigger } from './PopupTrigger/index.js'\n\nconst baseClass = 'popup'\n\ntype PopupContextValue = {\n popupRef: React.RefObject<HTMLDivElement | null>\n}\n\nconst PopupContext = createContext<null | PopupContextValue>(null)\n\n/**\n * Selector for all elements the browser considers tabbable.\n */\nconst TABBABLE_SELECTOR = [\n 'a[href]',\n 'button:not(:disabled)',\n 'input:not(:disabled):not([type=\"hidden\"])',\n 'select:not(:disabled)',\n 'textarea:not(:disabled)',\n '[tabindex]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n 'audio[controls]',\n 'video[controls]',\n 'summary',\n]\n .map((s) => `${s}:not([tabindex=\"-1\"])`)\n .join(', ')\n\nexport type PopupProps = {\n backgroundColor?: CSSProperties['backgroundColor']\n boundingRef?: React.RefObject<HTMLElement>\n button?: React.ReactNode\n /**\n * The class name to apply to the button that triggers the popup.\n */\n buttonClassName?: string\n buttonSize?: 'large' | 'medium'\n buttonType?: 'custom' | 'default'\n caret?: boolean\n children?: React.ReactNode\n /**\n * The class name to apply to the popup container containing the trigger.\n * This does not wrap the actual popup content, which is rendered in a portal.\n */\n className?: string\n disabled?: boolean\n /**\n * Force control the open state of the popup, regardless of the trigger.\n */\n forceOpen?: boolean\n /**\n * Preferred horizontal alignment of the popup, if there is enough space available.\n *\n * @default 'left'\n */\n horizontalAlign?: 'center' | 'left' | 'right'\n id?: string\n initActive?: boolean\n noBackground?: boolean\n onToggleClose?: () => void\n onToggleOpen?: (active: boolean) => void\n /**\n * Class name to apply to the portal container.\n */\n portalClassName?: string\n render?: (args: { close: () => void }) => React.ReactNode\n /**\n * Render prop for custom trigger button. Receives onClick/onKeyDown/aria props.\n * When provided, `button` and `buttonType` are ignored.\n */\n renderButton?: (props: {\n active: boolean\n 'aria-expanded': boolean\n 'aria-haspopup': true\n onClick: React.MouseEventHandler\n onKeyDown: React.KeyboardEventHandler\n }) => React.ReactNode\n showOnHover?: boolean\n /**\n * By default, the scrollbar is hidden. If you want to show it, set this to true.\n * In both cases, the container is still scrollable.\n *\n * @default false\n */\n showScrollbar?: boolean\n /**\n * Position the popup to the side of the trigger instead of above/below.\n * The popup's top edge aligns with the trigger's top edge (with viewport clamping).\n * Automatically flips to the opposite side if there is not enough space.\n * When set, `verticalAlign`, `horizontalAlign`, and the caret are ignored.\n */\n side?: 'left' | 'right'\n size?: 'fit-content' | 'large' | 'medium' | 'small'\n /**\n * Theme for the popup content. Defaults to 'dark'.\n * Set to 'auto' to inherit the current theme.\n *\n * @default 'dark'\n */\n theme?: 'auto' | 'dark' | 'light'\n /**\n * Preferred vertical alignment of the popup (position below or above the trigger),\n * if there is enough space available.\n *\n * If the popup is too close to the edge of the viewport, it will flip to the opposite side\n * regardless of the preferred vertical alignment.\n *\n * @default 'bottom'\n */\n verticalAlign?: 'bottom' | 'top'\n}\n\n/**\n * Component that renders a popup, as well as a button that triggers the popup.\n *\n * The popup is rendered in a portal, and is automatically positioned above / below the trigger,\n * depending on the verticalAlign prop and the space available.\n */\nexport const Popup: React.FC<PopupProps> = (props) => {\n const {\n id,\n button,\n buttonClassName,\n buttonSize,\n buttonType = 'default',\n caret = true,\n children,\n className,\n disabled,\n forceOpen,\n horizontalAlign = 'left',\n initActive = false,\n noBackground,\n onToggleClose,\n onToggleOpen,\n portalClassName,\n render,\n renderButton,\n showOnHover = false,\n showScrollbar = false,\n side,\n size = 'medium',\n theme = 'dark',\n verticalAlign = 'bottom',\n } = props\n\n const popupRef = useRef<HTMLDivElement>(null)\n const triggerRef = useRef<HTMLDivElement>(null)\n\n /**\n * Keeps track of whether the popup was opened via keyboard.\n * This is used to determine whether to autofocus the first element in the popup.\n * If the popup was opened via mouse, we do not want to autofocus the first element.\n */\n const openedViaKeyboardRef = useRef(false)\n\n const parentPopup = use(PopupContext)\n\n const [mounted, setMounted] = useState(false)\n const [active, setActiveInternal] = useState(initActive)\n const [isOnTop, setIsOnTop] = useState(verticalAlign === 'top')\n\n // Track when component is mounted to avoid SSR/client hydration mismatch\n useEffect(() => {\n setMounted(true)\n }, [])\n\n const setActive = useCallback(\n (isActive: boolean, viaKeyboard = false) => {\n if (isActive) {\n openedViaKeyboardRef.current = viaKeyboard\n onToggleOpen?.(true)\n } else {\n onToggleClose?.()\n }\n setActiveInternal(isActive)\n },\n [onToggleClose, onToggleOpen],\n )\n\n // /////////////////////////////////////\n // Position Calculation\n //\n // Calculates and applies popup position relative to trigger.\n // Always checks viewport bounds (for flipping), but only updates\n // styles if the calculated position differs from current position.\n // /////////////////////////////////////\n\n const updatePosition = useEffectEvent(() => {\n const trigger = triggerRef.current\n const popup = popupRef.current\n if (!trigger || !popup) {\n return\n }\n\n const triggerRect = trigger.getBoundingClientRect()\n const popupRect = popup.getBoundingClientRect()\n\n // Gap between the popup and the trigger/viewport edges (in pixels)\n const offset = 10\n // Additional gap used in side mode so the child popup has breathing room from its parent\n const sideOffset = 4\n\n let top: number\n let left: number\n let caretLeft: number\n\n if (side) {\n // /////////////////////////////////////\n // Side Positioning\n // Places the popup to the left or right of the parent popup (not just the trigger),\n // top-aligned with the trigger. Flips to the opposite side if there is not enough\n // viewport space.\n // /////////////////////////////////////\n\n // Top: align with trigger top, clamped to viewport\n top = triggerRect.top + window.scrollY\n const maxTop = window.scrollY + window.innerHeight - popupRect.height - offset\n top = Math.max(window.scrollY + offset, Math.min(top, maxTop))\n\n // Use the parent popup's bounding rect as the reference for left/right positioning\n // so the child appears 4px from the parent popup edge, not just the trigger button.\n const anchorRect = parentPopup?.popupRef.current\n ? parentPopup.popupRef.current.getBoundingClientRect()\n : triggerRect\n\n if (side === 'left') {\n left = anchorRect.left - popupRect.width - sideOffset\n if (left < offset) {\n // flip to right side\n left = anchorRect.right + sideOffset\n }\n } else {\n left = anchorRect.right + sideOffset\n if (left + popupRect.width + offset > window.innerWidth) {\n // flip to left side\n left = anchorRect.left - popupRect.width - sideOffset\n }\n }\n\n left = left + window.scrollX\n // Caret not used in side mode; set a neutral value\n caretLeft = popupRect.width / 2\n\n setIsOnTop(false)\n } else {\n // /////////////////////////////////////\n // Vertical Positioning\n // Calculates the `top` position in absolute page coordinates.\n // Uses `verticalAlign` prop as the preferred direction, but flips\n // to the opposite side if there's not enough viewport space.\n // /////////////////////////////////////\n\n let onTop = verticalAlign === 'top'\n\n if (verticalAlign === 'bottom') {\n top = triggerRect.bottom + window.scrollY + offset\n\n if (triggerRect.bottom + popupRect.height + offset > window.innerHeight) {\n // Try to flip above — only do so if there's actually enough room\n const topIfAbove = triggerRect.top + window.scrollY - popupRect.height - offset\n if (topIfAbove >= window.scrollY) {\n top = topIfAbove\n onTop = true\n }\n // else: not enough room above either — keep below and let it overflow rather than going off-screen\n }\n } else {\n top = triggerRect.top + window.scrollY - popupRect.height - offset\n\n if (triggerRect.top - popupRect.height - offset < 0) {\n top = triggerRect.bottom + window.scrollY + offset\n onTop = false\n }\n }\n\n setIsOnTop(onTop)\n\n // /////////////////////////////////////\n // Horizontal Positioning\n // Calculates the `left` position based on `horizontalAlign` prop:\n // - 'left': aligns popup's left edge with trigger's left edge\n // - 'right': aligns popup's right edge with trigger's right edge\n // - 'center': centers popup horizontally relative to trigger\n // Then clamps to keep the popup within viewport bounds.\n // /////////////////////////////////////\n\n left =\n horizontalAlign === 'right'\n ? triggerRect.right - popupRect.width\n : horizontalAlign === 'center'\n ? triggerRect.left + triggerRect.width / 2 - popupRect.width / 2\n : triggerRect.left\n\n left = Math.max(offset, Math.min(left, window.innerWidth - popupRect.width - offset))\n\n // /////////////////////////////////////\n // Caret Positioning\n // Positions the caret arrow to point at the trigger's horizontal center.\n // Clamps between 12px from edges to prevent caret from overflowing the popup.\n // /////////////////////////////////////\n\n const triggerCenter = triggerRect.left + triggerRect.width / 2\n caretLeft = Math.max(12, Math.min(triggerCenter - left, popupRect.width - 12))\n }\n\n // /////////////////////////////////////\n // Apply Styles (only if changed)\n // Compares calculated position with current styles to avoid unnecessary\n // DOM updates during scroll. This prevents visual lag by relying on the absolute\n // positioning where possible (popup slightly lags behind when scrolling really fast),\n // while still allowing position changes when needed (e.g., sticky parent, viewport flip).\n // Values are rounded to match browser's CSS precision and avoid false updates.\n // /////////////////////////////////////\n\n const newTop = `${Math.round(top)}px`\n const newLeft = `${Math.round(left + window.scrollX)}px`\n const newCaretLeft = `${Math.round(caretLeft)}px`\n\n if (popup.style.top !== newTop) {\n popup.style.top = newTop\n }\n if (popup.style.left !== newLeft) {\n popup.style.left = newLeft\n }\n if (popup.style.getPropertyValue('--caret-left') !== newCaretLeft) {\n popup.style.setProperty('--caret-left', newCaretLeft)\n }\n })\n\n // /////////////////////////////////////\n // Click Outside Handler\n // Closes popup when clicking outside both the popup and trigger.\n // Distinguishes between parent and child popups:\n // - Click in child popup: parent stays open\n // - Click in parent popup: child closes\n // /////////////////////////////////////\n\n const handleClickOutside = useEffectEvent((e: MouseEvent) => {\n const target = e.target as Node\n const isOutsidePopup = !popupRef.current?.contains(target)\n const isOutsideTrigger = !triggerRef.current?.contains(target)\n\n // Check if click is inside a popup portal\n const clickedPopupContent = (target as Element).closest?.('.popup__content')\n\n // If the clicked popup contains this popup's trigger, it's a parent popup\n // and we should close. If it doesn't contain our trigger, it's a child popup\n // and we should stay open to avoid closing parent when interacting with child.\n const isInsideChildPopup =\n clickedPopupContent && !clickedPopupContent.contains(triggerRef.current)\n\n if (isOutsidePopup && isOutsideTrigger && !isInsideChildPopup) {\n setActive(false)\n }\n })\n\n // /////////////////////////////////////\n // Keyboard Navigation\n // Handles keyboard interactions when popup is open:\n // - Escape: closes popup and returns focus to trigger\n // - Tab/Shift+Tab: cycles through focusable items with wrapping\n // - ArrowUp/ArrowDown: same as Shift+Tab/Tab for menu-style navigation\n // Focus is managed manually to support elements the browser might skip.\n // /////////////////////////////////////\n\n const handleKeyDown = useEffectEvent((e: KeyboardEvent) => {\n const popup = popupRef.current\n if (!popup || !active) {\n return\n }\n\n if (e.key === 'Escape') {\n e.preventDefault()\n setActive(false)\n triggerRef.current?.querySelector<HTMLElement>('button, [tabindex=\"0\"]')?.focus()\n return\n }\n\n if (e.key === 'Tab' || e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n const focusable = Array.from(popup.querySelectorAll<HTMLElement>(TABBABLE_SELECTOR))\n if (focusable.length === 0) {\n return\n }\n\n e.preventDefault()\n\n const currentIndex = focusable.findIndex((el) => el === document.activeElement)\n const goBackward = e.key === 'ArrowUp' || (e.key === 'Tab' && e.shiftKey)\n\n let nextIndex: number\n if (currentIndex === -1) {\n nextIndex = goBackward ? focusable.length - 1 : 0\n } else if (goBackward) {\n nextIndex = currentIndex === 0 ? focusable.length - 1 : currentIndex - 1\n } else {\n nextIndex = currentIndex === focusable.length - 1 ? 0 : currentIndex + 1\n }\n\n focusable[nextIndex].focus()\n }\n })\n\n // /////////////////////////////////////\n // Click Handler for Actionable Elements\n // Closes popup when buttons/links inside are clicked (includes Enter/Space activation).\n // /////////////////////////////////////\n\n const handleActionableClick = useEffectEvent((e: MouseEvent) => {\n const target = e.target as HTMLElement\n\n // Allow opting out with data-popup-prevent-close attribute on element or ancestor\n if (target.closest('[data-popup-prevent-close]')) {\n return\n }\n\n // Check if the clicked element or any ancestor is an actionable element\n const actionable = target.closest('button, a[href], [role=\"button\"], [role=\"menuitem\"]')\n if (actionable && popupRef.current?.contains(actionable)) {\n // Don't close if clicking a nested popup's trigger — it will manage its own open state\n if (actionable.closest(`.${baseClass}__trigger-wrap`)) {\n return\n }\n setActive(false)\n }\n })\n\n // /////////////////////////////////////\n // Effect: Setup/Teardown position and focus management\n // /////////////////////////////////////\n\n useEffect(() => {\n if (!active) {\n const popup = popupRef.current\n if (popup) {\n // Clear inline position styles so the CSS `top: -9999px` rule on\n // `.popup__hidden-content` takes effect. Without this, the inline\n // styles set during positioning would win over the CSS rule, keeping\n // portaled children (e.g. a ReactSelect menu) visually on-screen.\n popup.style.top = ''\n popup.style.left = ''\n }\n return\n }\n\n const popup = popupRef.current\n if (!popup) {\n return\n }\n\n // /////////////////////////////////////\n // Initial Position\n // Calculate and apply popup position.\n // getBoundingClientRect() forces synchronous layout.\n //\n // We call updatePosition() twice: once synchronously (so the popup\n // snaps to roughly the right place immediately rather than flashing\n // from -9999px) and once in a requestAnimationFrame, which fires\n // after the browser has finished laying out the newly-visible popup\n // content. The rAF call is the authoritative one — it catches cases\n // where the popup height wasn't stable yet during the first call\n // (e.g. ColumnSelector content rendering after hidden → visible\n // class switch), which was causing incorrect flip-to-top decisions.\n // /////////////////////////////////////\n\n updatePosition()\n const rafId = requestAnimationFrame(() => {\n updatePosition()\n })\n\n // /////////////////////////////////////\n // Focus Management\n // When opened via keyboard, autofocus the first focusable button.\n // When opened via mouse, skip autofocus to avoid unwanted highlights.\n // /////////////////////////////////////\n\n if (openedViaKeyboardRef.current) {\n // Use requestAnimationFrame to ensure DOM is ready.\n requestAnimationFrame(() => {\n const firstFocusable = popup.querySelector<HTMLElement>(TABBABLE_SELECTOR)\n firstFocusable?.focus()\n })\n }\n\n // /////////////////////////////////////\n // Event Listeners\n // - resize/scroll: recalculate position (only applies styles if changed)\n // - mousedown: detect clicks outside to close\n // - keydown: handle keyboard navigation\n // /////////////////////////////////////\n\n window.addEventListener('resize', updatePosition)\n window.addEventListener('scroll', updatePosition, { capture: true, passive: true })\n document.addEventListener('mousedown', handleClickOutside)\n document.addEventListener('keydown', handleKeyDown)\n popup.addEventListener('click', handleActionableClick)\n\n return () => {\n cancelAnimationFrame(rafId)\n window.removeEventListener('resize', updatePosition)\n window.removeEventListener('scroll', updatePosition, { capture: true })\n document.removeEventListener('mousedown', handleClickOutside)\n document.removeEventListener('keydown', handleKeyDown)\n popup.removeEventListener('click', handleActionableClick)\n }\n }, [active])\n\n useEffect(() => {\n if (forceOpen !== undefined) {\n setActive(forceOpen)\n }\n }, [forceOpen, setActive])\n\n const Trigger = (\n <PopupTrigger\n active={active}\n button={button}\n buttonType={buttonType}\n className={buttonClassName}\n disabled={disabled}\n noBackground={noBackground}\n renderButton={renderButton}\n setActive={setActive}\n size={buttonSize}\n />\n )\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')} id={id}>\n <div className={`${baseClass}__trigger-wrap`} ref={triggerRef}>\n {showOnHover ? (\n <div\n className={`${baseClass}__on-hover-watch`}\n onMouseEnter={() => setActive(true)}\n onMouseLeave={() => setActive(false)}\n role=\"button\"\n tabIndex={0}\n >\n {Trigger}\n </div>\n ) : (\n Trigger\n )}\n </div>\n\n {mounted\n ? // We need to make sure the popup is part of the DOM (although invisible), even if it's not active.\n // This ensures that components within the popup, like modals, do not unmount when the popup closes.\n // Otherwise, modals opened from the popup will close unexpectedly when clicking within the modal, since\n // that closes the popup due to the click outside handler.\n createPortal(\n <PopupContext value={{ popupRef }}>\n <div\n className={\n active\n ? [\n `${baseClass}__content`,\n `${baseClass}--size-${size}`,\n side\n ? `${baseClass}--side-${side}`\n : isOnTop\n ? `${baseClass}--v-top`\n : `${baseClass}--v-bottom`,\n portalClassName,\n ]\n .filter(Boolean)\n .join(' ')\n : // Do not share any class names between active and disabled popups, to make sure\n // tests do not accidentally target inactive popups.\n `${baseClass}__hidden-content`\n }\n data-popup-id={id || undefined}\n data-theme={theme === 'auto' ? undefined : theme}\n ref={popupRef}\n >\n <div\n className={`${baseClass}__scroll-container${showScrollbar ? ` ${baseClass}__scroll-container--show-scrollbar` : ''}`}\n >\n {theme === 'auto' ? (\n <>\n {render?.({ close: () => setActive(false) })}\n {children}\n </>\n ) : (\n <ThemeProvider theme={theme}>\n {render?.({ close: () => setActive(false) })}\n {children}\n </ThemeProvider>\n )}\n </div>\n {caret && !side && <div className={`${baseClass}__caret`} />}\n </div>\n </PopupContext>,\n document.body,\n )\n : null}\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":"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","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":[]}
@@ -4,7 +4,7 @@
4
4
  display: flex;
5
5
  padding: 0;
6
6
  border: var(--stroke-width-small) solid var(--color-border);
7
- border-radius: 0.1875rem;
7
+ border-radius: var(--radius-chip);
8
8
  background: var(--color-bg);
9
9
  height: 1.25rem;
10
10
  margin: 0;