@payloadcms/ui 4.0.0-internal.cea8867 → 4.0.0-internal.d21c039

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 (934) hide show
  1. package/dist/css/app.css +122 -0
  2. package/dist/css/colors.css +7 -6
  3. package/dist/css/forms.css +1 -6
  4. package/dist/css/preflight.css +1 -0
  5. package/dist/css/spacing.css +29 -3
  6. package/dist/css/typography.css +158 -14
  7. package/dist/css/z-index.css +10 -0
  8. package/dist/elements/APIKeyInput/index.d.ts +2 -0
  9. package/dist/elements/APIKeyInput/index.d.ts.map +1 -1
  10. package/dist/elements/APIKeyInput/index.js +27 -29
  11. package/dist/elements/APIKeyInput/index.js.map +1 -1
  12. package/dist/elements/AddNewRelation/index.css +0 -1
  13. package/dist/elements/AppHeader/EditViewWidthSettings/index.css +6 -0
  14. package/dist/elements/AppHeader/EditViewWidthSettings/index.d.ts +4 -0
  15. package/dist/elements/AppHeader/EditViewWidthSettings/index.d.ts.map +1 -0
  16. package/dist/elements/AppHeader/EditViewWidthSettings/index.js +96 -0
  17. package/dist/elements/AppHeader/EditViewWidthSettings/index.js.map +1 -0
  18. package/dist/elements/AppHeader/SettingsMenu/index.css +5 -0
  19. package/dist/elements/AppHeader/SettingsMenu/index.d.ts +4 -0
  20. package/dist/elements/AppHeader/SettingsMenu/index.d.ts.map +1 -0
  21. package/dist/elements/AppHeader/SettingsMenu/index.js +59 -0
  22. package/dist/elements/AppHeader/SettingsMenu/index.js.map +1 -0
  23. package/dist/elements/AppHeader/TypeSizeSettings/index.d.ts +3 -0
  24. package/dist/elements/AppHeader/TypeSizeSettings/index.d.ts.map +1 -0
  25. package/dist/elements/AppHeader/TypeSizeSettings/index.js +58 -0
  26. package/dist/elements/AppHeader/TypeSizeSettings/index.js.map +1 -0
  27. package/dist/elements/AppHeader/index.css +4 -3
  28. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  29. package/dist/elements/AppHeader/index.js +8 -3
  30. package/dist/elements/AppHeader/index.js.map +1 -1
  31. package/dist/elements/ArrayAction/index.d.ts +3 -0
  32. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  33. package/dist/elements/ArrayAction/index.js +83 -29
  34. package/dist/elements/ArrayAction/index.js.map +1 -1
  35. package/dist/elements/Autosave/index.d.ts.map +1 -1
  36. package/dist/elements/Autosave/index.js +2 -3
  37. package/dist/elements/Autosave/index.js.map +1 -1
  38. package/dist/elements/Banner/index.css +4 -0
  39. package/dist/elements/Banner/index.d.ts.map +1 -1
  40. package/dist/elements/Banner/index.js +1 -0
  41. package/dist/elements/Banner/index.js.map +1 -1
  42. package/dist/elements/BulkUpload/ActionsBar/index.css +1 -0
  43. package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
  44. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  45. package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
  46. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  47. package/dist/elements/BulkUpload/AddingFilesView/index.css +2 -4
  48. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +2 -2
  49. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  50. package/dist/elements/BulkUpload/FileSidebar/index.css +5 -0
  51. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +2 -2
  52. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
  53. package/dist/elements/BulkUpload/FormsManager/createFormData.js +10 -17
  54. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  55. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  56. package/dist/elements/BulkUpload/FormsManager/index.js +19 -13
  57. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  58. package/dist/elements/BulkUpload/index.css +2 -0
  59. package/dist/elements/Button/index.css +2 -2
  60. package/dist/elements/Button/index.d.ts.map +1 -1
  61. package/dist/elements/Button/index.js +2 -0
  62. package/dist/elements/Button/index.js.map +1 -1
  63. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts +8 -1
  64. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts.map +1 -1
  65. package/dist/elements/ClipboardAction/clipboardUtilities.js +40 -8
  66. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  67. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  68. package/dist/elements/ClipboardAction/index.js +17 -1
  69. package/dist/elements/ClipboardAction/index.js.map +1 -1
  70. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
  71. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  72. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
  73. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  74. package/dist/elements/ClipboardAction/types.d.ts +3 -0
  75. package/dist/elements/ClipboardAction/types.d.ts.map +1 -1
  76. package/dist/elements/ClipboardAction/types.js.map +1 -1
  77. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts +10 -0
  78. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts.map +1 -0
  79. package/dist/elements/ClipboardAction/useCanPasteClipboard.js +21 -0
  80. package/dist/elements/ClipboardAction/useCanPasteClipboard.js.map +1 -0
  81. package/dist/elements/CodeEditor/index.css +0 -5
  82. package/dist/elements/Collapsible/index.css +1 -0
  83. package/dist/elements/CommandPalette/index.css +0 -7
  84. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  85. package/dist/elements/CopyLocaleData/index.js +8 -9
  86. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  87. package/dist/elements/CopyToClipboard/index.d.ts +1 -0
  88. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  89. package/dist/elements/CopyToClipboard/index.js +10 -8
  90. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  91. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  92. package/dist/elements/CreateDocumentButton/index.js +4 -1
  93. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  94. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  95. package/dist/elements/DatePicker/DatePicker.js +1 -0
  96. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  97. package/dist/elements/DatePicker/index.css +3 -1
  98. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  99. package/dist/elements/DeleteDocument/index.js +16 -1
  100. package/dist/elements/DeleteDocument/index.js.map +1 -1
  101. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  102. package/dist/elements/DeleteMany/index.js +2 -3
  103. package/dist/elements/DeleteMany/index.js.map +1 -1
  104. package/dist/elements/Dialog/index.css +1 -0
  105. package/dist/elements/DocumentControls/index.css +1 -0
  106. package/dist/elements/DocumentFields/index.css +2 -0
  107. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +4 -1
  108. package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -1
  109. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -0
  110. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  111. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +3 -2
  112. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  113. package/dist/elements/DocumentHeader/Tabs/index.css +1 -0
  114. package/dist/elements/DocumentHeader/Tabs/index.d.ts +1 -0
  115. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  116. package/dist/elements/DocumentHeader/Tabs/index.js +5 -3
  117. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  118. package/dist/elements/DocumentHeader/index.css +22 -2
  119. package/dist/elements/DocumentHeader/index.d.ts +1 -0
  120. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  121. package/dist/elements/DocumentHeader/index.js +6 -3
  122. package/dist/elements/DocumentHeader/index.js.map +1 -1
  123. package/dist/elements/Drawer/index.css +10 -4
  124. package/dist/elements/Dropzone/index.css +10 -4
  125. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
  126. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  127. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  128. package/dist/elements/DuplicateDocument/index.js +2 -3
  129. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  130. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  131. package/dist/elements/EditMany/DrawerContent.js +4 -5
  132. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  133. package/dist/elements/EditUpload/index.css +1 -1
  134. package/dist/elements/FieldDiffContainer/index.css +1 -0
  135. package/dist/elements/FieldDiffLabel/index.css +1 -0
  136. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  137. package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
  138. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  139. package/dist/elements/FileDetails/StaticFileDetails/index.css +10 -9
  140. package/dist/elements/FileManager/FilePreview/index.css +3 -3
  141. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
  142. package/dist/elements/FileManager/FileToolbar/index.js +3 -0
  143. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
  144. package/dist/elements/FileManager/index.css +35 -52
  145. package/dist/elements/FileManager/index.d.ts +1 -1
  146. package/dist/elements/FileManager/index.d.ts.map +1 -1
  147. package/dist/elements/FileManager/index.js +385 -282
  148. package/dist/elements/FileManager/index.js.map +1 -1
  149. package/dist/elements/HTMLDiff/index.css +1 -0
  150. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +0 -1
  151. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  152. package/dist/elements/Hierarchy/MoveMany/index.js +2 -3
  153. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  154. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  155. package/dist/elements/Hierarchy/Search/useHierarchySearch.js +2 -3
  156. package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
  157. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  158. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +109 -89
  159. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  160. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  161. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +2 -0
  162. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  163. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +0 -1
  164. package/dist/elements/IDLabel/index.css +6 -0
  165. package/dist/elements/IDLabel/index.d.ts +1 -1
  166. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  167. package/dist/elements/IDLabel/index.js +16 -21
  168. package/dist/elements/IDLabel/index.js.map +1 -1
  169. package/dist/elements/InputStepper/index.css +0 -1
  170. package/dist/elements/ItemsDrawer/index.css +3 -0
  171. package/dist/elements/ListControls/index.css +10 -4
  172. package/dist/elements/ListControls/index.d.ts.map +1 -1
  173. package/dist/elements/ListControls/index.js +7 -1
  174. package/dist/elements/ListControls/index.js.map +1 -1
  175. package/dist/elements/ListControls/types.d.ts +3 -1
  176. package/dist/elements/ListControls/types.d.ts.map +1 -1
  177. package/dist/elements/ListControls/types.js.map +1 -1
  178. package/dist/elements/ListControlsBar/index.css +8 -3
  179. package/dist/elements/ListControlsBar/index.js +4 -1
  180. package/dist/elements/ListControlsBar/index.js.map +1 -1
  181. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
  182. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
  183. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
  184. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  185. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
  186. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +3 -4
  187. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  188. package/dist/elements/ListHeader/index.css +6 -1
  189. package/dist/elements/LivePreview/Window/index.css +1 -0
  190. package/dist/elements/LivePreview/Window/index.js +1 -1
  191. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  192. package/dist/elements/Localizer/index.js +1 -1
  193. package/dist/elements/Localizer/index.js.map +1 -1
  194. package/dist/elements/Locked/index.css +0 -8
  195. package/dist/elements/Locked/index.d.ts.map +1 -1
  196. package/dist/elements/Locked/index.js +70 -64
  197. package/dist/elements/Locked/index.js.map +1 -1
  198. package/dist/elements/MiniCarousel/index.css +39 -37
  199. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  200. package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
  201. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  202. package/dist/elements/Nav/SidebarTabs/index.css +0 -5
  203. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
  204. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
  205. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +5 -3
  206. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
  207. package/dist/elements/Nav/index.css +2 -0
  208. package/dist/elements/NavGroup/index.css +0 -1
  209. package/dist/elements/PageControls/index.css +1 -0
  210. package/dist/elements/PillSelector/index.css +1 -0
  211. package/dist/elements/Popup/PopupButtonList/index.css +1 -1
  212. package/dist/elements/Popup/index.js +1 -1
  213. package/dist/elements/Popup/index.js.map +1 -1
  214. package/dist/elements/PreviewButton/index.d.ts +1 -2
  215. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  216. package/dist/elements/PreviewButton/index.js +11 -5
  217. package/dist/elements/PreviewButton/index.js.map +1 -1
  218. package/dist/elements/PreviewSizes/index.css +10 -9
  219. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  220. package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
  221. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  222. package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts +1 -1
  223. package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts.map +1 -1
  224. package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
  225. package/dist/elements/PublishButton/index.css +1 -0
  226. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  227. package/dist/elements/PublishButton/index.js +16 -31
  228. package/dist/elements/PublishButton/index.js.map +1 -1
  229. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  230. package/dist/elements/PublishMany/DrawerContent.js +2 -3
  231. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  232. package/dist/elements/QueryPresets/QueryPresetBar/index.d.ts.map +1 -1
  233. package/dist/elements/QueryPresets/QueryPresetBar/index.js +15 -4
  234. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  235. package/dist/elements/QueryPresets/fields/Heading/index.css +1 -0
  236. package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
  237. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts +7 -0
  238. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -0
  239. package/dist/elements/ReactSelect/DefaultMenuPortal.js +120 -0
  240. package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -0
  241. package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
  242. package/dist/elements/ReactSelect/MultiValueLabel/index.css +2 -2
  243. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +1 -1
  244. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -1
  245. package/dist/elements/ReactSelect/getMenuListStyles.js +13 -5
  246. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -1
  247. package/dist/elements/ReactSelect/getMenuStyles.d.ts +10 -0
  248. package/dist/elements/ReactSelect/getMenuStyles.d.ts.map +1 -0
  249. package/dist/elements/ReactSelect/getMenuStyles.js +21 -0
  250. package/dist/elements/ReactSelect/getMenuStyles.js.map +1 -0
  251. package/dist/elements/ReactSelect/index.css +7 -3
  252. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  253. package/dist/elements/ReactSelect/index.js +24 -101
  254. package/dist/elements/ReactSelect/index.js.map +1 -1
  255. package/dist/elements/ReactSelect/types.d.ts +1 -2
  256. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  257. package/dist/elements/ReactSelect/types.js.map +1 -1
  258. package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
  259. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
  260. package/dist/elements/RelationshipTable/Pagination.js +27 -77
  261. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  262. package/dist/elements/RelationshipTable/index.css +0 -2
  263. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  264. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  265. package/dist/elements/RelationshipTable/index.js +41 -5
  266. package/dist/elements/RelationshipTable/index.js.map +1 -1
  267. package/dist/elements/RenderTitle/index.css +16 -0
  268. package/dist/elements/RenderTitle/index.d.ts +1 -0
  269. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  270. package/dist/elements/RenderTitle/index.js +36 -18
  271. package/dist/elements/RenderTitle/index.js.map +1 -1
  272. package/dist/elements/RestoreMany/index.d.ts.map +1 -1
  273. package/dist/elements/RestoreMany/index.js +2 -3
  274. package/dist/elements/RestoreMany/index.js.map +1 -1
  275. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  276. package/dist/elements/SaveDraftButton/index.js +2 -3
  277. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  278. package/dist/elements/SelectRow/index.d.ts +4 -3
  279. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  280. package/dist/elements/SelectRow/index.js +10 -7
  281. package/dist/elements/SelectRow/index.js.map +1 -1
  282. package/dist/elements/SidebarToggle/index.css +0 -17
  283. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  284. package/dist/elements/SortColumn/index.js +42 -38
  285. package/dist/elements/SortColumn/index.js.map +1 -1
  286. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  287. package/dist/elements/SortHeader/index.js +29 -26
  288. package/dist/elements/SortHeader/index.js.map +1 -1
  289. package/dist/elements/Status/index.d.ts.map +1 -1
  290. package/dist/elements/Status/index.js +2 -3
  291. package/dist/elements/Status/index.js.map +1 -1
  292. package/dist/elements/StepNav/index.css +64 -14
  293. package/dist/elements/StepNav/index.d.ts.map +1 -1
  294. package/dist/elements/StepNav/index.js +143 -69
  295. package/dist/elements/StepNav/index.js.map +1 -1
  296. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  297. package/dist/elements/Table/DefaultCell/index.js +3 -11
  298. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  299. package/dist/elements/Table/OrderableRow.d.ts +3 -1
  300. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  301. package/dist/elements/Table/OrderableRow.js +17 -1
  302. package/dist/elements/Table/OrderableRow.js.map +1 -1
  303. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  304. package/dist/elements/Table/OrderableTable.js +20 -4
  305. package/dist/elements/Table/OrderableTable.js.map +1 -1
  306. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  307. package/dist/elements/Table/RelationshipProvider/index.js +2 -3
  308. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  309. package/dist/elements/Table/index.css +2 -0
  310. package/dist/elements/TableSection/index.css +1 -1
  311. package/dist/elements/Tabs/index.css +1 -0
  312. package/dist/elements/Thumbnail/index.css +1 -0
  313. package/dist/elements/Thumbnail/index.d.ts +1 -1
  314. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  315. package/dist/elements/Thumbnail/index.js.map +1 -1
  316. package/dist/elements/TimezonePicker/index.css +1 -0
  317. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  318. package/dist/elements/TimezonePicker/index.js +5 -1
  319. package/dist/elements/TimezonePicker/index.js.map +1 -1
  320. package/dist/elements/Tooltip/index.css +22 -34
  321. package/dist/elements/Tooltip/index.d.ts +11 -3
  322. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  323. package/dist/elements/Tooltip/index.js +151 -85
  324. package/dist/elements/Tooltip/index.js.map +1 -1
  325. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  326. package/dist/elements/UnpublishButton/index.js +3 -4
  327. package/dist/elements/UnpublishButton/index.js.map +1 -1
  328. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  329. package/dist/elements/UnpublishMany/DrawerContent.js +2 -3
  330. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  331. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
  332. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
  333. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
  334. package/dist/elements/Upload/index.css +39 -37
  335. package/dist/elements/Upload/index.d.ts.map +1 -1
  336. package/dist/elements/Upload/index.js +37 -99
  337. package/dist/elements/Upload/index.js.map +1 -1
  338. package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
  339. package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
  340. package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
  341. package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
  342. package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
  343. package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
  344. package/dist/elements/Upload/useUploadFromUrl.js +201 -0
  345. package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
  346. package/dist/elements/UploadDropzoneContent/index.css +31 -0
  347. package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
  348. package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
  349. package/dist/elements/UploadDropzoneContent/index.js +62 -0
  350. package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
  351. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +1 -1
  352. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  353. package/dist/elements/WhereBuilder/Condition/index.css +1 -0
  354. package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
  355. package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
  356. package/dist/elements/WhereBuilder/conditionValue.js +32 -0
  357. package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
  358. package/dist/elements/WhereBuilder/index.css +2 -0
  359. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  360. package/dist/elements/WhereBuilder/index.js +15 -4
  361. package/dist/elements/WhereBuilder/index.js.map +1 -1
  362. package/dist/exports/client/index.d.ts +7 -1
  363. package/dist/exports/client/index.d.ts.map +1 -1
  364. package/dist/exports/client/index.js +1 -1
  365. package/dist/exports/client/index.js.map +3 -3
  366. package/dist/exports/layouts.d.ts +1 -0
  367. package/dist/exports/layouts.d.ts.map +1 -1
  368. package/dist/exports/layouts.js +1 -0
  369. package/dist/exports/layouts.js.map +1 -1
  370. package/dist/exports/rsc/index.d.ts +2 -0
  371. package/dist/exports/rsc/index.d.ts.map +1 -1
  372. package/dist/exports/rsc/index.js +2 -0
  373. package/dist/exports/rsc/index.js.map +1 -1
  374. package/dist/exports/shared/index.d.ts +1 -0
  375. package/dist/exports/shared/index.d.ts.map +1 -1
  376. package/dist/exports/shared/index.js +2 -2
  377. package/dist/exports/shared/index.js.map +4 -4
  378. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  379. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  380. package/dist/fields/Array/ArrayRow.js +99 -160
  381. package/dist/fields/Array/ArrayRow.js.map +1 -1
  382. package/dist/fields/Array/index.css +1 -0
  383. package/dist/fields/Array/index.d.ts.map +1 -1
  384. package/dist/fields/Array/index.js +40 -13
  385. package/dist/fields/Array/index.js.map +1 -1
  386. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  387. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  388. package/dist/fields/Blocks/BlockRow.js +136 -195
  389. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  390. package/dist/fields/Blocks/RowActions.d.ts +3 -0
  391. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  392. package/dist/fields/Blocks/RowActions.js +26 -20
  393. package/dist/fields/Blocks/RowActions.js.map +1 -1
  394. package/dist/fields/Blocks/index.css +1 -0
  395. package/dist/fields/Blocks/index.d.ts.map +1 -1
  396. package/dist/fields/Blocks/index.js +40 -13
  397. package/dist/fields/Blocks/index.js.map +1 -1
  398. package/dist/fields/Checkbox/Input.d.ts +4 -2
  399. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  400. package/dist/fields/Checkbox/Input.js +32 -26
  401. package/dist/fields/Checkbox/Input.js.map +1 -1
  402. package/dist/fields/Checkbox/index.css +62 -117
  403. package/dist/fields/FieldDescription/index.css +5 -0
  404. package/dist/fields/FieldError/index.css +0 -9
  405. package/dist/fields/FieldError/index.d.ts.map +1 -1
  406. package/dist/fields/FieldError/index.js +19 -9
  407. package/dist/fields/FieldError/index.js.map +1 -1
  408. package/dist/fields/FieldLabel/index.css +22 -28
  409. package/dist/fields/FieldLabel/index.js +7 -8
  410. package/dist/fields/FieldLabel/index.js.map +1 -1
  411. package/dist/fields/Group/index.css +11 -4
  412. package/dist/fields/Join/index.css +9 -0
  413. package/dist/fields/Join/index.d.ts.map +1 -1
  414. package/dist/fields/Join/index.js +13 -9
  415. package/dist/fields/Join/index.js.map +1 -1
  416. package/dist/fields/RadioGroup/Radio/index.css +42 -19
  417. package/dist/fields/RadioGroup/index.css +2 -27
  418. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  419. package/dist/fields/Relationship/Input.js +34 -17
  420. package/dist/fields/Relationship/Input.js.map +1 -1
  421. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  422. package/dist/fields/Row/index.css +2 -0
  423. package/dist/fields/Slug/index.css +0 -1
  424. package/dist/fields/Slug/index.d.ts.map +1 -1
  425. package/dist/fields/Slug/index.js +74 -111
  426. package/dist/fields/Slug/index.js.map +1 -1
  427. package/dist/fields/Tabs/index.css +9 -0
  428. package/dist/fields/Textarea/index.css +1 -1
  429. package/dist/fields/Upload/Input.d.ts.map +1 -1
  430. package/dist/fields/Upload/Input.js +46 -19
  431. package/dist/fields/Upload/Input.js.map +1 -1
  432. package/dist/fields/Upload/index.css +19 -4
  433. package/dist/fields/shared/index.d.ts +1 -1
  434. package/dist/fields/shared/index.d.ts.map +1 -1
  435. package/dist/fields/shared/index.js.map +1 -1
  436. package/dist/forms/Form/context.d.ts +3 -1
  437. package/dist/forms/Form/context.d.ts.map +1 -1
  438. package/dist/forms/Form/context.js +3 -1
  439. package/dist/forms/Form/context.js.map +1 -1
  440. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  441. package/dist/forms/Form/fieldReducer.js +3 -1
  442. package/dist/forms/Form/fieldReducer.js.map +1 -1
  443. package/dist/forms/Form/index.d.ts.map +1 -1
  444. package/dist/forms/Form/index.js +27 -22
  445. package/dist/forms/Form/index.js.map +1 -1
  446. package/dist/forms/Form/types.d.ts +1 -1
  447. package/dist/forms/Form/types.d.ts.map +1 -1
  448. package/dist/forms/Form/types.js.map +1 -1
  449. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  450. package/dist/forms/NullifyField/index.js +2 -3
  451. package/dist/forms/NullifyField/index.js.map +1 -1
  452. package/dist/forms/RenderFields/index.css +10 -2
  453. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  454. package/dist/forms/WatchChildErrors/index.js +2 -2
  455. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  456. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  457. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +2 -1
  458. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  459. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  460. package/dist/forms/fieldSchemasToFormState/renderField.js +4 -5
  461. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  462. package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.d.ts +12 -0
  463. package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.d.ts.map +1 -0
  464. package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.js +42 -0
  465. package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.js.map +1 -0
  466. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts +8 -6
  467. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +1 -1
  468. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +22 -9
  469. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
  470. package/dist/forms/fieldSchemasToFormState/types.d.ts +1 -0
  471. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  472. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  473. package/dist/hooks/useControllableState.js +3 -3
  474. package/dist/hooks/useControllableState.js.map +1 -1
  475. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  476. package/dist/hooks/usePayloadAPI.js +2 -3
  477. package/dist/hooks/usePayloadAPI.js.map +1 -1
  478. package/dist/icons/Edit/index.d.ts +0 -1
  479. package/dist/icons/Edit/index.d.ts.map +1 -1
  480. package/dist/icons/Edit/index.js +4 -4
  481. package/dist/icons/Edit/index.js.map +1 -1
  482. package/dist/layouts/Root/index.d.ts +1 -1
  483. package/dist/layouts/Root/index.d.ts.map +1 -1
  484. package/dist/layouts/Root/index.js +30 -7
  485. package/dist/layouts/Root/index.js.map +1 -1
  486. package/dist/layouts/Root/viewport.d.ts +1 -0
  487. package/dist/layouts/Root/viewport.d.ts.map +1 -1
  488. package/dist/layouts/Root/viewport.js +4 -1
  489. package/dist/layouts/Root/viewport.js.map +1 -1
  490. package/dist/providers/Actions/index.d.ts +1 -0
  491. package/dist/providers/Actions/index.d.ts.map +1 -1
  492. package/dist/providers/Actions/index.js +43 -11
  493. package/dist/providers/Actions/index.js.map +1 -1
  494. package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
  495. package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
  496. package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
  497. package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
  498. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
  499. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
  500. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
  501. package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
  502. package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
  503. package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
  504. package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
  505. package/dist/providers/Auth/authSessionRequests.js +119 -0
  506. package/dist/providers/Auth/authSessionRequests.js.map +1 -0
  507. package/dist/providers/Auth/index.d.ts +2 -56
  508. package/dist/providers/Auth/index.d.ts.map +1 -1
  509. package/dist/providers/Auth/index.js +283 -135
  510. package/dist/providers/Auth/index.js.map +1 -1
  511. package/dist/providers/Auth/sessionActivity.d.ts +23 -0
  512. package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
  513. package/dist/providers/Auth/sessionActivity.js +49 -0
  514. package/dist/providers/Auth/sessionActivity.js.map +1 -0
  515. package/dist/providers/Auth/sessionTiming.d.ts +11 -0
  516. package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
  517. package/dist/providers/Auth/sessionTiming.js +18 -0
  518. package/dist/providers/Auth/sessionTiming.js.map +1 -0
  519. package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
  520. package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
  521. package/dist/providers/Auth/tabSessionSync/index.js +263 -0
  522. package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
  523. package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
  524. package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
  525. package/dist/providers/Auth/tabSessionSync/types.js +6 -0
  526. package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
  527. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
  528. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
  529. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
  530. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
  531. package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
  532. package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
  533. package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
  534. package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
  535. package/dist/providers/Auth/types.d.ts +65 -0
  536. package/dist/providers/Auth/types.d.ts.map +1 -0
  537. package/dist/providers/Auth/types.js +2 -0
  538. package/dist/providers/Auth/types.js.map +1 -0
  539. package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
  540. package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
  541. package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
  542. package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
  543. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  544. package/dist/providers/DocumentInfo/index.js +32 -22
  545. package/dist/providers/DocumentInfo/index.js.map +1 -1
  546. package/dist/providers/DocumentTitle/index.d.ts +1 -0
  547. package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
  548. package/dist/providers/DocumentTitle/index.js +2 -0
  549. package/dist/providers/DocumentTitle/index.js.map +1 -1
  550. package/dist/providers/Embed/index.d.ts +24 -0
  551. package/dist/providers/Embed/index.d.ts.map +1 -0
  552. package/dist/providers/Embed/index.js +105 -0
  553. package/dist/providers/Embed/index.js.map +1 -0
  554. package/dist/providers/FormErrorHandler/index.d.ts +24 -0
  555. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
  556. package/dist/providers/FormErrorHandler/index.js +6 -0
  557. package/dist/providers/FormErrorHandler/index.js.map +1 -0
  558. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  559. package/dist/providers/LivePreview/index.js +13 -6
  560. package/dist/providers/LivePreview/index.js.map +1 -1
  561. package/dist/providers/Locale/index.d.ts +1 -5
  562. package/dist/providers/Locale/index.d.ts.map +1 -1
  563. package/dist/providers/Locale/index.js +64 -138
  564. package/dist/providers/Locale/index.js.map +1 -1
  565. package/dist/providers/Root/index.d.ts +6 -1
  566. package/dist/providers/Root/index.d.ts.map +1 -1
  567. package/dist/providers/Root/index.js +49 -31
  568. package/dist/providers/Root/index.js.map +1 -1
  569. package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
  570. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  571. package/dist/providers/RouteTransition/index.d.ts +2 -0
  572. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  573. package/dist/providers/RouteTransition/index.js +42 -14
  574. package/dist/providers/RouteTransition/index.js.map +1 -1
  575. package/dist/providers/Selection/index.d.ts.map +1 -1
  576. package/dist/providers/Selection/index.js +2 -3
  577. package/dist/providers/Selection/index.js.map +1 -1
  578. package/dist/providers/ServerFunctions/index.d.ts +5 -1
  579. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  580. package/dist/providers/ServerFunctions/index.js +15 -0
  581. package/dist/providers/ServerFunctions/index.js.map +1 -1
  582. package/dist/providers/SidebarTabs/index.d.ts +3 -2
  583. package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
  584. package/dist/providers/SidebarTabs/index.js.map +1 -1
  585. package/dist/providers/TableColumns/buildColumnState/index.js +1 -2
  586. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  587. package/dist/providers/Theme/index.d.ts +25 -1
  588. package/dist/providers/Theme/index.d.ts.map +1 -1
  589. package/dist/providers/Theme/index.js +331 -90
  590. package/dist/providers/Theme/index.js.map +1 -1
  591. package/dist/providers/Theme/shared.d.ts +8 -0
  592. package/dist/providers/Theme/shared.d.ts.map +1 -1
  593. package/dist/providers/Theme/shared.js +6 -0
  594. package/dist/providers/Theme/shared.js.map +1 -1
  595. package/dist/providers/UploadHandlers/index.d.ts +2 -7
  596. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  597. package/dist/providers/UploadHandlers/index.js +102 -42
  598. package/dist/providers/UploadHandlers/index.js.map +1 -1
  599. package/dist/styles.css +208 -30
  600. package/dist/templates/Default/Wrapper/index.css +2 -0
  601. package/dist/templates/Default/index.css +1 -0
  602. package/dist/templates/Default/index.d.ts +1 -0
  603. package/dist/templates/Default/index.d.ts.map +1 -1
  604. package/dist/templates/Default/index.js +2 -0
  605. package/dist/templates/Default/index.js.map +1 -1
  606. package/dist/utilities/buildFormState.d.ts.map +1 -1
  607. package/dist/utilities/buildFormState.js +6 -2
  608. package/dist/utilities/buildFormState.js.map +1 -1
  609. package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
  610. package/dist/utilities/combineFieldLabel.js +5 -1
  611. package/dist/utilities/combineFieldLabel.js.map +1 -1
  612. package/dist/utilities/formatAbsoluteURL.d.ts +1 -1
  613. package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
  614. package/dist/utilities/formatAbsoluteURL.js +18 -8
  615. package/dist/utilities/formatAbsoluteURL.js.map +1 -1
  616. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  617. package/dist/utilities/formatMetadata.js +0 -5
  618. package/dist/utilities/formatMetadata.js.map +1 -1
  619. package/dist/utilities/generateFieldID.d.ts +1 -1
  620. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  621. package/dist/utilities/generateFieldID.js +2 -2
  622. package/dist/utilities/generateFieldID.js.map +1 -1
  623. package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
  624. package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
  625. package/dist/utilities/getFilesFromClipboard.js +49 -0
  626. package/dist/utilities/getFilesFromClipboard.js.map +1 -0
  627. package/dist/utilities/getHasScheduledPublish.d.ts +2 -3
  628. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  629. package/dist/utilities/getHasScheduledPublish.js +2 -5
  630. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  631. package/dist/utilities/getRequestEmbed.d.ts +14 -0
  632. package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
  633. package/dist/utilities/getRequestEmbed.js +10 -0
  634. package/dist/utilities/getRequestEmbed.js.map +1 -0
  635. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  636. package/dist/utilities/handleAuthRedirect.js +4 -1
  637. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  638. package/dist/utilities/handleServerFunctions.d.ts +32 -8
  639. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  640. package/dist/utilities/handleServerFunctions.js +21 -39
  641. package/dist/utilities/handleServerFunctions.js.map +1 -1
  642. package/dist/utilities/initReq.d.ts.map +1 -1
  643. package/dist/utilities/initReq.js +40 -5
  644. package/dist/utilities/initReq.js.map +1 -1
  645. package/dist/utilities/isAbsoluteURL.d.ts +3 -0
  646. package/dist/utilities/isAbsoluteURL.d.ts.map +1 -0
  647. package/dist/utilities/isAbsoluteURL.js +15 -0
  648. package/dist/utilities/isAbsoluteURL.js.map +1 -0
  649. package/dist/utilities/isHttpURL.d.ts +3 -0
  650. package/dist/utilities/isHttpURL.d.ts.map +1 -0
  651. package/dist/utilities/isHttpURL.js +12 -0
  652. package/dist/utilities/isHttpURL.js.map +1 -0
  653. package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
  654. package/dist/utilities/isPathMatchingRoute.js +7 -5
  655. package/dist/utilities/isPathMatchingRoute.js.map +1 -1
  656. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
  657. package/dist/utilities/isPublicAdminRoute.js +9 -6
  658. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  659. package/dist/utilities/renderTable.d.ts.map +1 -1
  660. package/dist/utilities/renderTable.js +18 -2
  661. package/dist/utilities/renderTable.js.map +1 -1
  662. package/dist/utilities/schedulePublishHandler.d.ts +8 -1
  663. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  664. package/dist/utilities/schedulePublishHandler.js +72 -5
  665. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  666. package/dist/utilities/serverFunctionRegistry.d.ts +12 -7
  667. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  668. package/dist/utilities/serverFunctionRegistry.js +27 -8
  669. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  670. package/dist/utilities/slugify.d.ts.map +1 -1
  671. package/dist/utilities/slugify.js +52 -6
  672. package/dist/utilities/slugify.js.map +1 -1
  673. package/dist/views/API/index.client.d.ts.map +1 -1
  674. package/dist/views/API/index.client.js +2 -3
  675. package/dist/views/API/index.client.js.map +1 -1
  676. package/dist/views/API/index.css +9 -0
  677. package/dist/views/Account/index.d.ts +1 -1
  678. package/dist/views/Account/index.d.ts.map +1 -1
  679. package/dist/views/Account/index.js +8 -5
  680. package/dist/views/Account/index.js.map +1 -1
  681. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  682. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
  683. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  684. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  685. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
  686. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  687. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  688. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
  689. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  690. package/dist/views/Dashboard/Default/ModularDashboard/index.css +31 -144
  691. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts.map +1 -1
  692. package/dist/views/Dashboard/Default/ModularDashboard/index.js +1 -0
  693. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  694. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +4 -4
  695. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  696. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts.map +1 -1
  697. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +3 -1
  698. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
  699. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts.map +1 -1
  700. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +12 -10
  701. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  702. package/dist/views/Dashboard/index.d.ts.map +1 -1
  703. package/dist/views/Dashboard/index.js +2 -3
  704. package/dist/views/Dashboard/index.js.map +1 -1
  705. package/dist/views/Document/handleServerFunction.d.ts.map +1 -1
  706. package/dist/views/Document/handleServerFunction.js +2 -0
  707. package/dist/views/Document/handleServerFunction.js.map +1 -1
  708. package/dist/views/Document/index.d.ts +1 -1
  709. package/dist/views/Document/index.d.ts.map +1 -1
  710. package/dist/views/Document/index.js +10 -6
  711. package/dist/views/Document/index.js.map +1 -1
  712. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  713. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  714. package/dist/views/Document/renderDocumentSlots.js +7 -4
  715. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  716. package/dist/views/Edit/Auth/APIKey.d.ts +1 -1
  717. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  718. package/dist/views/Edit/Auth/APIKey.js +233 -59
  719. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  720. package/dist/views/Edit/Auth/APIKeyGenerationModal.d.ts +12 -0
  721. package/dist/views/Edit/Auth/APIKeyGenerationModal.d.ts.map +1 -0
  722. package/dist/views/Edit/Auth/APIKeyGenerationModal.js +117 -0
  723. package/dist/views/Edit/Auth/APIKeyGenerationModal.js.map +1 -0
  724. package/dist/views/Edit/Auth/index.css +91 -0
  725. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  726. package/dist/views/Edit/Auth/index.js +10 -28
  727. package/dist/views/Edit/Auth/index.js.map +1 -1
  728. package/dist/views/Edit/Auth/types.d.ts +3 -1
  729. package/dist/views/Edit/Auth/types.d.ts.map +1 -1
  730. package/dist/views/Edit/Auth/types.js.map +1 -1
  731. package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
  732. package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
  733. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  734. package/dist/views/Edit/index.css +80 -53
  735. package/dist/views/Edit/index.d.ts.map +1 -1
  736. package/dist/views/Edit/index.js +16 -2
  737. package/dist/views/Edit/index.js.map +1 -1
  738. package/dist/views/Edit/useEditViewWidth.d.ts +8 -0
  739. package/dist/views/Edit/useEditViewWidth.d.ts.map +1 -0
  740. package/dist/views/Edit/useEditViewWidth.js +56 -0
  741. package/dist/views/Edit/useEditViewWidth.js.map +1 -0
  742. package/dist/views/ForgotPassword/ForgotPasswordForm/index.css +14 -0
  743. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  744. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +209 -161
  745. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  746. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  747. package/dist/views/ForgotPassword/index.js +2 -11
  748. package/dist/views/ForgotPassword/index.js.map +1 -1
  749. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +1 -0
  750. package/dist/views/HierarchyList/index.css +17 -1
  751. package/dist/views/List/ListHeader/index.css +6 -0
  752. package/dist/views/List/ListHeader/index.d.ts +1 -11
  753. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  754. package/dist/views/List/ListHeader/index.js +3 -9
  755. package/dist/views/List/ListHeader/index.js.map +1 -1
  756. package/dist/views/List/handleServerFunction.d.ts.map +1 -1
  757. package/dist/views/List/handleServerFunction.js +3 -1
  758. package/dist/views/List/handleServerFunction.js.map +1 -1
  759. package/dist/views/List/index.client.d.ts.map +1 -1
  760. package/dist/views/List/index.client.js +3 -16
  761. package/dist/views/List/index.client.js.map +1 -1
  762. package/dist/views/List/index.css +20 -1
  763. package/dist/views/List/index.d.ts.map +1 -1
  764. package/dist/views/List/index.js +6 -1
  765. package/dist/views/List/index.js.map +1 -1
  766. package/dist/views/Logout/index.d.ts.map +1 -1
  767. package/dist/views/Logout/index.js +11 -0
  768. package/dist/views/Logout/index.js.map +1 -1
  769. package/dist/views/NotFound/client.d.ts +2 -0
  770. package/dist/views/NotFound/client.d.ts.map +1 -0
  771. package/dist/views/NotFound/client.js +4 -0
  772. package/dist/views/NotFound/client.js.map +1 -0
  773. package/dist/views/NotFound/page.d.ts.map +1 -1
  774. package/dist/views/NotFound/page.js +4 -3
  775. package/dist/views/NotFound/page.js.map +1 -1
  776. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  777. package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
  778. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  779. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
  780. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  781. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  782. package/dist/views/Root/index.d.ts +12 -1
  783. package/dist/views/Root/index.d.ts.map +1 -1
  784. package/dist/views/Root/index.js +42 -25
  785. package/dist/views/Root/index.js.map +1 -1
  786. package/dist/views/Verify/index.d.ts +1 -1
  787. package/dist/views/Verify/index.d.ts.map +1 -1
  788. package/dist/views/Verify/index.js +4 -4
  789. package/dist/views/Verify/index.js.map +1 -1
  790. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  791. package/dist/views/Version/Default/SetStepNav.js +10 -13
  792. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  793. package/dist/views/Version/Default/index.css +29 -9
  794. package/dist/views/Version/Default/index.d.ts.map +1 -1
  795. package/dist/views/Version/Default/index.js +16 -13
  796. package/dist/views/Version/Default/index.js.map +1 -1
  797. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +1 -0
  798. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
  799. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +56 -50
  800. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  801. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  802. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +41 -27
  803. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  804. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.css +8 -0
  805. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  806. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +10 -0
  807. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  808. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +1 -0
  809. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.css +1 -0
  810. package/dist/views/Version/RenderFieldsToDiff/index.css +2 -0
  811. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  812. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +33 -1
  813. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  814. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +8 -2
  815. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
  816. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +17 -19
  817. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  818. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  819. package/dist/views/Version/Restore/index.js +9 -6
  820. package/dist/views/Version/Restore/index.js.map +1 -1
  821. package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
  822. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
  823. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js +2 -3
  824. package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
  825. package/dist/views/Versions/VersionPillLabel/index.css +1 -0
  826. package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
  827. package/dist/views/Versions/index.css +7 -0
  828. package/dist/widgets/CollectionCards/index.client.js +1 -1
  829. package/dist/widgets/CollectionCards/index.client.js.map +1 -1
  830. package/dist/widgets/CollectionCards/index.css +40 -35
  831. package/dist/widgets/CollectionCards/index.js +1 -1
  832. package/dist/widgets/CollectionCards/index.js.map +1 -1
  833. package/dist/widgets/RecentlyViewed/DocumentActivity/index.css +184 -0
  834. package/dist/widgets/RecentlyViewed/DocumentActivity/index.d.ts +5 -0
  835. package/dist/widgets/RecentlyViewed/DocumentActivity/index.d.ts.map +1 -0
  836. package/dist/widgets/RecentlyViewed/DocumentActivity/index.js +225 -0
  837. package/dist/widgets/RecentlyViewed/DocumentActivity/index.js.map +1 -0
  838. package/dist/widgets/RecentlyViewed/DocumentItem/index.css +180 -0
  839. package/dist/widgets/RecentlyViewed/DocumentItem/index.d.ts +11 -0
  840. package/dist/widgets/RecentlyViewed/DocumentItem/index.d.ts.map +1 -0
  841. package/dist/widgets/RecentlyViewed/DocumentItem/index.js +104 -0
  842. package/dist/widgets/RecentlyViewed/DocumentItem/index.js.map +1 -0
  843. package/dist/widgets/RecentlyViewed/getDocumentThumbnail.d.ts +10 -0
  844. package/dist/widgets/RecentlyViewed/getDocumentThumbnail.d.ts.map +1 -0
  845. package/dist/widgets/RecentlyViewed/getDocumentThumbnail.js +85 -0
  846. package/dist/widgets/RecentlyViewed/getDocumentThumbnail.js.map +1 -0
  847. package/dist/widgets/RecentlyViewed/getDocumentWidgetData.d.ts +7 -0
  848. package/dist/widgets/RecentlyViewed/getDocumentWidgetData.d.ts.map +1 -0
  849. package/dist/widgets/RecentlyViewed/getDocumentWidgetData.js +206 -0
  850. package/dist/widgets/RecentlyViewed/getDocumentWidgetData.js.map +1 -0
  851. package/dist/widgets/RecentlyViewed/index.d.ts +3 -5
  852. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -1
  853. package/dist/widgets/RecentlyViewed/index.js +10 -140
  854. package/dist/widgets/RecentlyViewed/index.js.map +1 -1
  855. package/dist/widgets/RecentlyViewed/shared.d.ts +38 -0
  856. package/dist/widgets/RecentlyViewed/shared.d.ts.map +1 -0
  857. package/dist/widgets/RecentlyViewed/shared.js +70 -0
  858. package/dist/widgets/RecentlyViewed/shared.js.map +1 -0
  859. package/dist/widgets/UploadDropzone/index.client.d.ts +7 -0
  860. package/dist/widgets/UploadDropzone/index.client.d.ts.map +1 -0
  861. package/dist/widgets/UploadDropzone/index.client.js +134 -0
  862. package/dist/widgets/UploadDropzone/index.client.js.map +1 -0
  863. package/dist/widgets/UploadDropzone/index.css +50 -0
  864. package/dist/widgets/UploadDropzone/index.d.ts +8 -0
  865. package/dist/widgets/UploadDropzone/index.d.ts.map +1 -0
  866. package/dist/widgets/UploadDropzone/index.js +29 -0
  867. package/dist/widgets/UploadDropzone/index.js.map +1 -0
  868. package/dist/widgets/Welcome/index.css +13 -0
  869. package/dist/widgets/Welcome/index.d.ts +5 -0
  870. package/dist/widgets/Welcome/index.d.ts.map +1 -0
  871. package/dist/widgets/Welcome/index.js +26 -0
  872. package/dist/widgets/Welcome/index.js.map +1 -0
  873. package/dist/widgets/WidgetIcon/assets/images.svg +3 -0
  874. package/dist/widgets/WidgetIcon/assets/pin-solid.svg +3 -0
  875. package/dist/widgets/WidgetIcon/assets/pin.svg +3 -0
  876. package/dist/widgets/WidgetIcon/assets/table.svg +3 -0
  877. package/dist/widgets/WidgetIcon/index.css +23 -0
  878. package/dist/widgets/WidgetIcon/index.d.ts +6 -0
  879. package/dist/widgets/WidgetIcon/index.d.ts.map +1 -0
  880. package/dist/widgets/WidgetIcon/index.js +10 -0
  881. package/dist/widgets/WidgetIcon/index.js.map +1 -0
  882. package/package.json +14 -12
  883. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +0 -541
  884. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +0 -1
  885. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js +0 -87
  886. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +0 -1
  887. package/dist/elements/CommandPalette/buildActions.spec.js +0 -158
  888. package/dist/elements/CommandPalette/buildActions.spec.js.map +0 -1
  889. package/dist/elements/CommandPalette/highlightLabel.spec.js +0 -78
  890. package/dist/elements/CommandPalette/highlightLabel.spec.js.map +0 -1
  891. package/dist/elements/RelationshipTable/Pagination.css +0 -39
  892. package/dist/elements/Toasts/fieldErrors.spec.js +0 -46
  893. package/dist/elements/Toasts/fieldErrors.spec.js.map +0 -1
  894. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.spec.js +0 -152
  895. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.spec.js.map +0 -1
  896. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.d.ts +0 -2
  897. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.d.ts.map +0 -1
  898. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +0 -67
  899. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +0 -1
  900. package/dist/layouts/Root/index.spec.js +0 -20
  901. package/dist/layouts/Root/index.spec.js.map +0 -1
  902. package/dist/scss/app.scss +0 -183
  903. package/dist/scss/colors.scss +0 -191
  904. package/dist/scss/custom.css +0 -1
  905. package/dist/scss/queries.scss +0 -27
  906. package/dist/scss/styles.scss +0 -9
  907. package/dist/scss/svg.scss +0 -10
  908. package/dist/scss/toastify.scss +0 -61
  909. package/dist/scss/vars.scss +0 -192
  910. package/dist/scss/z-index.scss +0 -9
  911. package/dist/utilities/appendCacheTag.spec.js +0 -34
  912. package/dist/utilities/appendCacheTag.spec.js.map +0 -1
  913. package/dist/utilities/formatMetadata.spec.js +0 -83
  914. package/dist/utilities/formatMetadata.spec.js.map +0 -1
  915. package/dist/utilities/fuzzyMatch.spec.js +0 -38
  916. package/dist/utilities/fuzzyMatch.spec.js.map +0 -1
  917. package/dist/utilities/isCustomAdminView.spec.js +0 -90
  918. package/dist/utilities/isCustomAdminView.spec.js.map +0 -1
  919. package/dist/utilities/isPathMatchingRoute.spec.js +0 -178
  920. package/dist/utilities/isPathMatchingRoute.spec.js.map +0 -1
  921. package/dist/utilities/normalizeRelationshipValue.spec.js +0 -373
  922. package/dist/utilities/normalizeRelationshipValue.spec.js.map +0 -1
  923. package/dist/utilities/recentlyViewed.spec.js +0 -92
  924. package/dist/utilities/recentlyViewed.spec.js.map +0 -1
  925. package/dist/views/Root/getCustomCollectionViewByRoute.spec.js +0 -168
  926. package/dist/views/Root/getCustomCollectionViewByRoute.spec.js.map +0 -1
  927. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +0 -861
  928. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +0 -1
  929. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +0 -47
  930. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +0 -1
  931. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +0 -135
  932. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +0 -1
  933. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +0 -100
  934. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","ShouldRenderTabs","RenderServerComponent","DefaultDocumentTab","getTabs","baseClass","DocumentTabs","collectionConfig","globalConfig","permissions","req","config","payload","tabs","_jsx","className","map","tab","tabConfig","viewPath","index","condition","meetsCondition","Component","clientProps","path","importMap","key","serverProps","i18n","server","user"],"sources":["../../../../src/elements/DocumentHeader/Tabs/index.tsx"],"sourcesContent":["import type {\n DocumentTabClientProps,\n DocumentTabServerPropsOnly,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n SanitizedPermissions,\n} from 'payload'\n\nimport React from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary\nimport { ShouldRenderTabs } from '../../../exports/client/index.js'\nimport { RenderServerComponent } from '../../RenderServerComponent/index.js'\nimport { DefaultDocumentTab } from './Tab/index.js'\nimport { getTabs } from './tabs/index.js'\nimport './index.css'\n\nconst baseClass = 'doc-tabs'\n\nexport const DocumentTabs: React.FC<{\n collectionConfig: SanitizedCollectionConfig\n globalConfig: SanitizedGlobalConfig\n permissions: SanitizedPermissions\n req: PayloadRequest\n}> = ({ collectionConfig, globalConfig, permissions, req }) => {\n const { config } = req.payload\n\n const tabs = getTabs({\n collectionConfig,\n globalConfig,\n })\n\n return (\n <ShouldRenderTabs>\n <div className={baseClass}>\n <div className={`${baseClass}__tabs-container`}>\n <ul className={`${baseClass}__tabs`}>\n {tabs?.map(({ tab: tabConfig, viewPath }, index) => {\n const { condition } = tabConfig || {}\n\n const meetsCondition =\n !condition ||\n condition({ collectionConfig, config, globalConfig, permissions, req })\n\n if (!meetsCondition) {\n return null\n }\n\n if (tabConfig?.Component) {\n return RenderServerComponent({\n clientProps: {\n path: viewPath,\n } satisfies DocumentTabClientProps,\n Component: tabConfig.Component,\n importMap: req.payload.importMap,\n key: `tab-${index}`,\n serverProps: {\n collectionConfig,\n globalConfig,\n i18n: req.i18n,\n payload: req.payload,\n permissions,\n req,\n server: req.server,\n user: req.user,\n } satisfies DocumentTabServerPropsOnly,\n })\n }\n\n return (\n <DefaultDocumentTab\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n key={`tab-${index}`}\n path={viewPath}\n permissions={permissions}\n req={req}\n tabConfig={tabConfig}\n />\n )\n })}\n </ul>\n </div>\n </div>\n </ShouldRenderTabs>\n )\n}\n"],"mappings":";AASA,OAAOA,KAAA,MAAW;AAElB;AACA,SAASC,gBAAgB,QAAQ;AACjC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,OAAO,QAAQ;AACxB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,YAAA,GAKRA,CAAC;EAAEC,gBAAgB;EAAEC,YAAY;EAAEC,WAAW;EAAEC;AAAG,CAAE;EACxD,MAAM;IAAEC;EAAM,CAAE,GAAGD,GAAA,CAAIE,OAAO;EAE9B,MAAMC,IAAA,GAAOT,OAAA,CAAQ;IACnBG,gBAAA;IACAC;EACF;EAEA,oBACEM,IAAA,CAACb,gBAAA;cACC,aAAAa,IAAA,CAAC;MAAIC,SAAA,EAAWV,SAAA;gBACd,aAAAS,IAAA,CAAC;QAAIC,SAAA,EAAW,GAAGV,SAAA,kBAA2B;kBAC5C,aAAAS,IAAA,CAAC;UAAGC,SAAA,EAAW,GAAGV,SAAA,QAAiB;oBAChCQ,IAAA,EAAMG,GAAA,CAAI,CAAC;YAAEC,GAAA,EAAKC,SAAS;YAAEC;UAAQ,CAAE,EAAEC,KAAA;YACxC,MAAM;cAAEC;YAAS,CAAE,GAAGH,SAAA,IAAa,CAAC;YAEpC,MAAMI,cAAA,GACJ,CAACD,SAAA,IACDA,SAAA,CAAU;cAAEd,gBAAA;cAAkBI,MAAA;cAAQH,YAAA;cAAcC,WAAA;cAAaC;YAAI;YAEvE,IAAI,CAACY,cAAA,EAAgB;cACnB,OAAO;YACT;YAEA,IAAIJ,SAAA,EAAWK,SAAA,EAAW;cACxB,OAAOrB,qBAAA,CAAsB;gBAC3BsB,WAAA,EAAa;kBACXC,IAAA,EAAMN;gBACR;gBACAI,SAAA,EAAWL,SAAA,CAAUK,SAAS;gBAC9BG,SAAA,EAAWhB,GAAA,CAAIE,OAAO,CAACc,SAAS;gBAChCC,GAAA,EAAK,OAAOP,KAAA,EAAO;gBACnBQ,WAAA,EAAa;kBACXrB,gBAAA;kBACAC,YAAA;kBACAqB,IAAA,EAAMnB,GAAA,CAAImB,IAAI;kBACdjB,OAAA,EAASF,GAAA,CAAIE,OAAO;kBACpBH,WAAA;kBACAC,GAAA;kBACAoB,MAAA,EAAQpB,GAAA,CAAIoB,MAAM;kBAClBC,IAAA,EAAMrB,GAAA,CAAIqB;gBACZ;cACF;YACF;YAEA,oBACEjB,IAAA,CAACX,kBAAA;cACCI,gBAAA,EAAkBA,gBAAA;cAClBC,YAAA,EAAcA,YAAA;cAEdiB,IAAA,EAAMN,QAAA;cACNV,WAAA,EAAaA,WAAA;cACbC,GAAA,EAAKA,GAAA;cACLQ,SAAA,EAAWA;eAJN,OAAOE,KAAA,EAAO;UAOzB;;;;;AAMZ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","ShouldRenderTabs","RenderServerComponent","DefaultDocumentTab","getTabs","baseClass","DocumentTabs","collectionConfig","globalConfig","permissions","req","user","config","payload","tabs","_jsx","className","map","tab","tabConfig","viewPath","index","condition","meetsCondition","Component","clientProps","path","importMap","key","serverProps","i18n","server"],"sources":["../../../../src/elements/DocumentHeader/Tabs/index.tsx"],"sourcesContent":["import type {\n DocumentTabClientProps,\n DocumentTabServerPropsOnly,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n SanitizedPermissions,\n} from 'payload'\n\nimport React from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary\nimport { ShouldRenderTabs } from '../../../exports/client/index.js'\nimport { RenderServerComponent } from '../../RenderServerComponent/index.js'\nimport { DefaultDocumentTab } from './Tab/index.js'\nimport { getTabs } from './tabs/index.js'\nimport './index.css'\n\nconst baseClass = 'doc-tabs'\n\nexport const DocumentTabs: React.FC<{\n collectionConfig: SanitizedCollectionConfig\n globalConfig: SanitizedGlobalConfig\n permissions: SanitizedPermissions\n req: PayloadRequest\n user?: PayloadRequest['user']\n}> = ({ collectionConfig, globalConfig, permissions, req, user }) => {\n const { config } = req.payload\n\n const tabs = getTabs({\n collectionConfig,\n globalConfig,\n })\n\n return (\n <ShouldRenderTabs>\n <div className={baseClass}>\n <div className={`${baseClass}__tabs-container`}>\n <ul className={`${baseClass}__tabs`}>\n {tabs?.map(({ tab: tabConfig, viewPath }, index) => {\n const { condition } = tabConfig || {}\n\n const meetsCondition =\n !condition ||\n condition({ collectionConfig, config, globalConfig, permissions, req })\n\n if (!meetsCondition) {\n return null\n }\n\n if (tabConfig?.Component) {\n return RenderServerComponent({\n clientProps: {\n path: viewPath,\n } satisfies DocumentTabClientProps,\n Component: tabConfig.Component,\n importMap: req.payload.importMap,\n key: `tab-${index}`,\n serverProps: {\n collectionConfig,\n globalConfig,\n i18n: req.i18n,\n payload: req.payload,\n permissions,\n req,\n server: req.server,\n user,\n } satisfies DocumentTabServerPropsOnly,\n })\n }\n\n return (\n <DefaultDocumentTab\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n key={`tab-${index}`}\n path={viewPath}\n permissions={permissions}\n req={req}\n tabConfig={tabConfig}\n user={user}\n />\n )\n })}\n </ul>\n </div>\n </div>\n </ShouldRenderTabs>\n )\n}\n"],"mappings":";AASA,OAAOA,KAAA,MAAW;AAElB;AACA,SAASC,gBAAgB,QAAQ;AACjC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,OAAO,QAAQ;AACxB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,YAAA,GAMRA,CAAC;EAAEC,gBAAgB;EAAEC,YAAY;EAAEC,WAAW;EAAEC,GAAG;EAAEC;AAAI,CAAE;EAC9D,MAAM;IAAEC;EAAM,CAAE,GAAGF,GAAA,CAAIG,OAAO;EAE9B,MAAMC,IAAA,GAAOV,OAAA,CAAQ;IACnBG,gBAAA;IACAC;EACF;EAEA,oBACEO,IAAA,CAACd,gBAAA;cACC,aAAAc,IAAA,CAAC;MAAIC,SAAA,EAAWX,SAAA;gBACd,aAAAU,IAAA,CAAC;QAAIC,SAAA,EAAW,GAAGX,SAAA,kBAA2B;kBAC5C,aAAAU,IAAA,CAAC;UAAGC,SAAA,EAAW,GAAGX,SAAA,QAAiB;oBAChCS,IAAA,EAAMG,GAAA,CAAI,CAAC;YAAEC,GAAA,EAAKC,SAAS;YAAEC;UAAQ,CAAE,EAAEC,KAAA;YACxC,MAAM;cAAEC;YAAS,CAAE,GAAGH,SAAA,IAAa,CAAC;YAEpC,MAAMI,cAAA,GACJ,CAACD,SAAA,IACDA,SAAA,CAAU;cAAEf,gBAAA;cAAkBK,MAAA;cAAQJ,YAAA;cAAcC,WAAA;cAAaC;YAAI;YAEvE,IAAI,CAACa,cAAA,EAAgB;cACnB,OAAO;YACT;YAEA,IAAIJ,SAAA,EAAWK,SAAA,EAAW;cACxB,OAAOtB,qBAAA,CAAsB;gBAC3BuB,WAAA,EAAa;kBACXC,IAAA,EAAMN;gBACR;gBACAI,SAAA,EAAWL,SAAA,CAAUK,SAAS;gBAC9BG,SAAA,EAAWjB,GAAA,CAAIG,OAAO,CAACc,SAAS;gBAChCC,GAAA,EAAK,OAAOP,KAAA,EAAO;gBACnBQ,WAAA,EAAa;kBACXtB,gBAAA;kBACAC,YAAA;kBACAsB,IAAA,EAAMpB,GAAA,CAAIoB,IAAI;kBACdjB,OAAA,EAASH,GAAA,CAAIG,OAAO;kBACpBJ,WAAA;kBACAC,GAAA;kBACAqB,MAAA,EAAQrB,GAAA,CAAIqB,MAAM;kBAClBpB;gBACF;cACF;YACF;YAEA,oBACEI,IAAA,CAACZ,kBAAA;cACCI,gBAAA,EAAkBA,gBAAA;cAClBC,YAAA,EAAcA,YAAA;cAEdkB,IAAA,EAAMN,QAAA;cACNX,WAAA,EAAaA,WAAA;cACbC,GAAA,EAAKA,GAAA;cACLS,SAAA,EAAWA,SAAA;cACXR,IAAA,EAAMA;eALD,OAAOU,KAAA,EAAO;UAQzB;;;;;AAMZ","ignoreList":[]}
@@ -1,15 +1,34 @@
1
1
  @layer payload-default {
2
2
  .doc-header {
3
3
  width: 100%;
4
- padding: var(--spacer-2-5) var(--gutter-h);
5
4
  position: relative;
6
5
  border-bottom: var(--stroke-width-small) solid var(--color-border);
6
+ }
7
+
8
+ .doc-header__content {
9
+ width: 100%;
10
+ padding: var(--spacer-2-5) var(--gutter-h);
7
11
  display: flex;
8
12
  flex-wrap: wrap;
9
13
  align-items: center;
10
14
  gap: var(--spacer-2-5);
11
15
  }
12
16
 
17
+ .template-default__wrap:has(> :is(.versions, .view-version, .query-inspector))
18
+ > .doc-header
19
+ > .doc-header__content {
20
+ max-inline-size: var(--edit-view-max-width);
21
+ margin-inline: auto;
22
+ }
23
+
24
+ :root[data-edit-view-width='full']
25
+ .template-default__wrap:has(> :is(.versions, .view-version, .query-inspector))
26
+ > .doc-header
27
+ > .doc-header__content,
28
+ .template-default__wrap:has(> .query-inspector--fullscreen) > .doc-header > .doc-header__content {
29
+ max-inline-size: none;
30
+ }
31
+
13
32
  .doc-header__title {
14
33
  flex-grow: 1;
15
34
  white-space: nowrap;
@@ -23,8 +42,9 @@
23
42
  width: 100%;
24
43
  }
25
44
 
45
+ /* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
26
46
  @media (max-width: 768px) {
27
- .doc-header {
47
+ .doc-header__content {
28
48
  flex-direction: column;
29
49
  padding: var(--spacer-2) var(--gutter-h);
30
50
  gap: var(--spacer-2);
@@ -11,5 +11,6 @@ export declare const DocumentHeader: React.FC<{
11
11
  hideTabs?: boolean;
12
12
  permissions: SanitizedPermissions;
13
13
  req: PayloadRequest;
14
+ user?: PayloadRequest['user'];
14
15
  }>;
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,aAAa,CAAA;AAIpB;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,oBAAoB,CAAA;IACjC,GAAG,EAAE,cAAc,CAAA;CACpB,CAiBA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,aAAa,CAAA;AAIpB;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,oBAAoB,CAAA;IACjC,GAAG,EAAE,cAAc,CAAA;IACnB,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;CAC9B,CAqBA,CAAA"}
@@ -15,16 +15,19 @@ export const DocumentHeader = props => {
15
15
  globalConfig,
16
16
  hideTabs,
17
17
  permissions,
18
- req
18
+ req,
19
+ user
19
20
  } = props;
20
21
  return /*#__PURE__*/_jsxs(DocumentHeaderRoot, {
21
22
  children: [/*#__PURE__*/_jsx(RenderTitle, {
22
- className: `${baseClass}__title`
23
+ className: `${baseClass}__title`,
24
+ focusFieldOnPlaceholder: collectionConfig?.admin?.useAsTitle
23
25
  }), !hideTabs && /*#__PURE__*/_jsx(DocumentTabs, {
24
26
  collectionConfig: collectionConfig,
25
27
  globalConfig: globalConfig,
26
28
  permissions: permissions,
27
- req: req
29
+ req: req,
30
+ user: user
28
31
  }), AfterHeader ? /*#__PURE__*/_jsx("div", {
29
32
  className: `${baseClass}__after-header`,
30
33
  children: AfterHeader
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","DocumentHeaderRoot","RenderTitle","DocumentTabs","baseClass","DocumentHeader","props","AfterHeader","collectionConfig","globalConfig","hideTabs","permissions","req","_jsxs","_jsx","className"],"sources":["../../../src/elements/DocumentHeader/index.tsx"],"sourcesContent":["import type {\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n SanitizedPermissions,\n} from 'payload'\n\nimport React from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary\nimport { DocumentHeaderRoot, Gutter, RenderTitle } from '../../exports/client/index.js'\nimport { DocumentTabs } from './Tabs/index.js'\nimport './index.css'\n\nconst baseClass = `doc-header`\n\n/**\n * @internal\n */\nexport const DocumentHeader: React.FC<{\n AfterHeader?: React.ReactNode\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n hideTabs?: boolean\n permissions: SanitizedPermissions\n req: PayloadRequest\n}> = (props) => {\n const { AfterHeader, collectionConfig, globalConfig, hideTabs, permissions, req } = props\n\n return (\n <DocumentHeaderRoot>\n <RenderTitle className={`${baseClass}__title`} />\n {!hideTabs && (\n <DocumentTabs\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n permissions={permissions}\n req={req}\n />\n )}\n {AfterHeader ? <div className={`${baseClass}__after-header`}>{AfterHeader}</div> : null}\n </DocumentHeaderRoot>\n )\n}\n"],"mappings":";AAOA,OAAOA,KAAA,MAAW;AAElB;AACA,SAASC,kBAAkB,EAAUC,WAAW,QAAQ;AACxD,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAEP,MAAMC,SAAA,GAAY,YAAY;AAE9B;;;AAGA,OAAO,MAAMC,cAAA,GAOPC,KAAA;EACJ,MAAM;IAAEC,WAAW;IAAEC,gBAAgB;IAAEC,YAAY;IAAEC,QAAQ;IAAEC,WAAW;IAAEC;EAAG,CAAE,GAAGN,KAAA;EAEpF,oBACEO,KAAA,CAACZ,kBAAA;4BACCa,IAAA,CAACZ,WAAA;MAAYa,SAAA,EAAW,GAAGX,SAAA;QAC1B,CAACM,QAAA,iBACAI,IAAA,CAACX,YAAA;MACCK,gBAAA,EAAkBA,gBAAA;MAClBC,YAAA,EAAcA,YAAA;MACdE,WAAA,EAAaA,WAAA;MACbC,GAAA,EAAKA;QAGRL,WAAA,gBAAcO,IAAA,CAAC;MAAIC,SAAA,EAAW,GAAGX,SAAA,gBAAyB;gBAAGG;SAAqB;;AAGzF","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","DocumentHeaderRoot","RenderTitle","DocumentTabs","baseClass","DocumentHeader","props","AfterHeader","collectionConfig","globalConfig","hideTabs","permissions","req","user","_jsxs","_jsx","className","focusFieldOnPlaceholder","admin","useAsTitle"],"sources":["../../../src/elements/DocumentHeader/index.tsx"],"sourcesContent":["import type {\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n SanitizedPermissions,\n} from 'payload'\n\nimport React from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary\nimport { DocumentHeaderRoot, RenderTitle } from '../../exports/client/index.js'\nimport { DocumentTabs } from './Tabs/index.js'\nimport './index.css'\n\nconst baseClass = `doc-header`\n\n/**\n * @internal\n */\nexport const DocumentHeader: React.FC<{\n AfterHeader?: React.ReactNode\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n hideTabs?: boolean\n permissions: SanitizedPermissions\n req: PayloadRequest\n user?: PayloadRequest['user']\n}> = (props) => {\n const { AfterHeader, collectionConfig, globalConfig, hideTabs, permissions, req, user } = props\n\n return (\n <DocumentHeaderRoot>\n <RenderTitle\n className={`${baseClass}__title`}\n focusFieldOnPlaceholder={collectionConfig?.admin?.useAsTitle}\n />\n {!hideTabs && (\n <DocumentTabs\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n permissions={permissions}\n req={req}\n user={user}\n />\n )}\n {AfterHeader ? <div className={`${baseClass}__after-header`}>{AfterHeader}</div> : null}\n </DocumentHeaderRoot>\n )\n}\n"],"mappings":";AAOA,OAAOA,KAAA,MAAW;AAElB;AACA,SAASC,kBAAkB,EAAEC,WAAW,QAAQ;AAChD,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAEP,MAAMC,SAAA,GAAY,YAAY;AAE9B;;;AAGA,OAAO,MAAMC,cAAA,GAQPC,KAAA;EACJ,MAAM;IAAEC,WAAW;IAAEC,gBAAgB;IAAEC,YAAY;IAAEC,QAAQ;IAAEC,WAAW;IAAEC,GAAG;IAAEC;EAAI,CAAE,GAAGP,KAAA;EAE1F,oBACEQ,KAAA,CAACb,kBAAA;4BACCc,IAAA,CAACb,WAAA;MACCc,SAAA,EAAW,GAAGZ,SAAA,SAAkB;MAChCa,uBAAA,EAAyBT,gBAAA,EAAkBU,KAAA,EAAOC;QAEnD,CAACT,QAAA,iBACAK,IAAA,CAACZ,YAAA;MACCK,gBAAA,EAAkBA,gBAAA;MAClBC,YAAA,EAAcA,YAAA;MACdE,WAAA,EAAaA,WAAA;MACbC,GAAA,EAAKA,GAAA;MACLC,IAAA,EAAMA;QAGTN,WAAA,gBAAcQ,IAAA,CAAC;MAAIC,SAAA,EAAW,GAAGZ,SAAA,gBAAyB;gBAAGG;SAAqB;;AAGzF","ignoreList":[]}
@@ -6,13 +6,13 @@
6
6
  position: fixed;
7
7
  inset: 0;
8
8
 
9
- --gutter-h: var(--spacer-4);
9
+ --gutter-h: var(--spacer-3);
10
10
  --gutter-v: var(--spacer-4);
11
11
  }
12
12
 
13
- @media (max-width: 768px) {
13
+ @media (min-width: 768px) {
14
14
  .drawer {
15
- --gutter-h: var(--spacer-3);
15
+ --gutter-h: var(--spacer-4);
16
16
  }
17
17
  }
18
18
 
@@ -33,7 +33,7 @@
33
33
  position: relative;
34
34
  z-index: 2;
35
35
  width: clamp(600px, 40vw, 1080px);
36
- max-width: 100vw;
36
+ max-width: calc(100vw - var(--spacer-3));
37
37
  background-color: var(--color-bg);
38
38
  box-shadow: var(--elevation-400-menu-panel);
39
39
  container: drawer / inline-size;
@@ -41,6 +41,12 @@
41
41
  transition: transform 100ms ease-out;
42
42
  }
43
43
 
44
+ @media (min-width: 768px) {
45
+ .drawer__content {
46
+ max-width: 100vw;
47
+ }
48
+ }
49
+
44
50
  .drawer__content-children {
45
51
  position: relative;
46
52
  z-index: 1;
@@ -1,7 +1,8 @@
1
1
  @layer payload-default {
2
2
  .dropzone {
3
3
  position: relative;
4
- display: flex;
4
+ display: block;
5
+ text-align: center;
5
6
  align-items: flex-start;
6
7
  background-color: var(--color-bg-secondary);
7
8
  border: var(--stroke-width-small) dashed var(--special-border-translucent);
@@ -17,6 +18,11 @@
17
18
  background: var(--color-bg-hover);
18
19
  }
19
20
 
21
+ &:focus {
22
+ outline: var(--accessibility-outline);
23
+ outline-offset: calc(-2 * var(--accessibility-outline-offset));
24
+ }
25
+
20
26
  &.dragging {
21
27
  background: var(--color-bg-brand-tertiary);
22
28
 
@@ -25,9 +31,9 @@
25
31
  }
26
32
  }
27
33
 
28
- @media (max-width: 768px) {
29
- display: block;
30
- text-align: center;
34
+ @media (min-width: 768px) {
35
+ display: flex;
36
+ text-align: start;
31
37
  }
32
38
 
33
39
  &.dropzone--style-default {
@@ -31,6 +31,7 @@ export const SelectLocalesDrawer = ({
31
31
  t
32
32
  } = useTranslation();
33
33
  const {
34
+ closeModal,
34
35
  toggleModal
35
36
  } = useModal();
36
37
  const [selectedLocales, setSelectedLocales] = useState([]);
@@ -50,8 +51,8 @@ export const SelectLocalesDrawer = ({
50
51
  await onConfirm({
51
52
  selectedLocales
52
53
  });
53
- toggleModal(slug);
54
- }, [onConfirm, selectedLocales, slug, toggleModal]);
54
+ closeModal(slug);
55
+ }, [closeModal, onConfirm, selectedLocales, slug]);
55
56
  return /*#__PURE__*/_jsxs(Drawer, {
56
57
  className: baseClass,
57
58
  Header: /*#__PURE__*/_jsx(DrawerHeader, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","getTranslation","setsAreEqual","React","useCallback","useMemo","useState","CheckboxInput","useTranslation","Button","Drawer","DrawerHeader","getLocaleOptions","i18n","localization","locales","map","locale","label","value","code","baseClass","SelectLocalesDrawer","slug","onConfirm","t","toggleModal","selectedLocales","setSelectedLocales","localeOptions","allLocales","allLocalesSelected","Set","handleSelectAll","handleToggleLocale","localeValue","prev","includes","filter","l","handleConfirm","_jsxs","className","Header","_jsx","onClose","title","buttonStyle","disabled","length","iconPosition","id","onClick","size","checked","count","onToggle"],"sources":["../../../../src/elements/DuplicateDocument/SelectLocalesDrawer/index.tsx"],"sourcesContent":["'use client'\n\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { ClientConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { setsAreEqual } from 'payload/shared'\nimport React, { useCallback, useMemo, useState } from 'react'\n\nimport { CheckboxInput } from '../../../fields/Checkbox/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { Drawer } from '../../Drawer/index.js'\nimport { DrawerHeader } from '../../DrawerHeader/index.js'\nimport './index.css'\n\nexport type LocaleOption = {\n label: string\n value: string\n}\n\nexport type SelectLocalesDrawerProps = {\n readonly localization: Exclude<ClientConfig['localization'], false>\n readonly onConfirm: (args: { selectedLocales: string[] }) => Promise<void> | void\n readonly slug: string\n}\n\nconst getLocaleOptions = ({\n i18n,\n localization,\n}: {\n i18n: I18nClient\n localization: SelectLocalesDrawerProps['localization']\n}): LocaleOption[] => {\n return localization.locales.map((locale) => ({\n label: getTranslation(locale.label, i18n),\n value: locale.code,\n }))\n}\n\nconst baseClass = 'select-locales-drawer'\n\nexport const SelectLocalesDrawer: React.FC<SelectLocalesDrawerProps> = ({\n slug,\n localization,\n onConfirm,\n}) => {\n const { i18n, t } = useTranslation()\n const { toggleModal } = useModal()\n const [selectedLocales, setSelectedLocales] = useState<string[]>([])\n\n const localeOptions = useMemo(\n () => getLocaleOptions({ i18n, localization }),\n [localization, i18n],\n )\n const allLocales = useMemo(() => localeOptions.map((locale) => locale.value), [localeOptions])\n const allLocalesSelected = useMemo(\n () => setsAreEqual(new Set(selectedLocales), new Set(allLocales)),\n [selectedLocales, allLocales],\n )\n\n const handleSelectAll = useCallback(() => {\n setSelectedLocales(allLocalesSelected ? [] : [...allLocales])\n }, [allLocalesSelected, allLocales])\n\n const handleToggleLocale = useCallback((localeValue: string) => {\n setSelectedLocales((prev) =>\n prev.includes(localeValue) ? prev.filter((l) => l !== localeValue) : [...prev, localeValue],\n )\n }, [])\n\n const handleConfirm = useCallback(async () => {\n await onConfirm({ selectedLocales })\n toggleModal(slug)\n }, [onConfirm, selectedLocales, slug, toggleModal])\n\n return (\n <Drawer\n className={baseClass}\n Header={\n <DrawerHeader\n onClose={() => {\n toggleModal(slug)\n }}\n title={`${t('general:duplicate')} ${t('localization:selectedLocales')}`}\n />\n }\n slug={slug}\n >\n <div className={`${baseClass}__sub-header`}>\n <span>{t('localization:selectLocaleToDuplicate')}</span>\n <Button\n buttonStyle=\"primary\"\n disabled={selectedLocales.length === 0}\n iconPosition=\"left\"\n id=\"#action-duplicate-confirm\"\n onClick={handleConfirm}\n size=\"medium\"\n >\n {t('general:duplicate')}\n </Button>\n </div>\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__item`}>\n <CheckboxInput\n checked={allLocalesSelected}\n id=\"select-locale-all\"\n label={t('general:selectAll', {\n count: allLocales.length,\n label: t('general:locales'),\n })}\n onToggle={handleSelectAll}\n />\n </div>\n {localeOptions.map((locale) => (\n <div className={`${baseClass}__item`} key={locale.value}>\n <CheckboxInput\n checked={selectedLocales.includes(locale.value)}\n id={`select-locale-${locale.value}`}\n label={locale.label}\n onToggle={() => handleToggleLocale(locale.value)}\n />\n </div>\n ))}\n </div>\n </Drawer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","getTranslation","setsAreEqual","React","useCallback","useMemo","useState","CheckboxInput","useTranslation","Button","Drawer","DrawerHeader","getLocaleOptions","i18n","localization","locales","map","locale","label","value","code","baseClass","SelectLocalesDrawer","slug","onConfirm","t","closeModal","toggleModal","selectedLocales","setSelectedLocales","localeOptions","allLocales","allLocalesSelected","Set","handleSelectAll","handleToggleLocale","localeValue","prev","includes","filter","l","handleConfirm","_jsxs","className","Header","_jsx","onClose","title","buttonStyle","disabled","length","iconPosition","id","onClick","size","checked","count","onToggle"],"sources":["../../../../src/elements/DuplicateDocument/SelectLocalesDrawer/index.tsx"],"sourcesContent":["'use client'\n\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { ClientConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { setsAreEqual } from 'payload/shared'\nimport React, { useCallback, useMemo, useState } from 'react'\n\nimport { CheckboxInput } from '../../../fields/Checkbox/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { Drawer } from '../../Drawer/index.js'\nimport { DrawerHeader } from '../../DrawerHeader/index.js'\nimport './index.css'\n\nexport type LocaleOption = {\n label: string\n value: string\n}\n\nexport type SelectLocalesDrawerProps = {\n readonly localization: Exclude<ClientConfig['localization'], false>\n readonly onConfirm: (args: { selectedLocales: string[] }) => Promise<void> | void\n readonly slug: string\n}\n\nconst getLocaleOptions = ({\n i18n,\n localization,\n}: {\n i18n: I18nClient\n localization: SelectLocalesDrawerProps['localization']\n}): LocaleOption[] => {\n return localization.locales.map((locale) => ({\n label: getTranslation(locale.label, i18n),\n value: locale.code,\n }))\n}\n\nconst baseClass = 'select-locales-drawer'\n\nexport const SelectLocalesDrawer: React.FC<SelectLocalesDrawerProps> = ({\n slug,\n localization,\n onConfirm,\n}) => {\n const { i18n, t } = useTranslation()\n const { closeModal, toggleModal } = useModal()\n const [selectedLocales, setSelectedLocales] = useState<string[]>([])\n\n const localeOptions = useMemo(\n () => getLocaleOptions({ i18n, localization }),\n [localization, i18n],\n )\n const allLocales = useMemo(() => localeOptions.map((locale) => locale.value), [localeOptions])\n const allLocalesSelected = useMemo(\n () => setsAreEqual(new Set(selectedLocales), new Set(allLocales)),\n [selectedLocales, allLocales],\n )\n\n const handleSelectAll = useCallback(() => {\n setSelectedLocales(allLocalesSelected ? [] : [...allLocales])\n }, [allLocalesSelected, allLocales])\n\n const handleToggleLocale = useCallback((localeValue: string) => {\n setSelectedLocales((prev) =>\n prev.includes(localeValue) ? prev.filter((l) => l !== localeValue) : [...prev, localeValue],\n )\n }, [])\n\n const handleConfirm = useCallback(async () => {\n await onConfirm({ selectedLocales })\n closeModal(slug)\n }, [closeModal, onConfirm, selectedLocales, slug])\n\n return (\n <Drawer\n className={baseClass}\n Header={\n <DrawerHeader\n onClose={() => {\n toggleModal(slug)\n }}\n title={`${t('general:duplicate')} ${t('localization:selectedLocales')}`}\n />\n }\n slug={slug}\n >\n <div className={`${baseClass}__sub-header`}>\n <span>{t('localization:selectLocaleToDuplicate')}</span>\n <Button\n buttonStyle=\"primary\"\n disabled={selectedLocales.length === 0}\n iconPosition=\"left\"\n id=\"#action-duplicate-confirm\"\n onClick={handleConfirm}\n size=\"medium\"\n >\n {t('general:duplicate')}\n </Button>\n </div>\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__item`}>\n <CheckboxInput\n checked={allLocalesSelected}\n id=\"select-locale-all\"\n label={t('general:selectAll', {\n count: allLocales.length,\n label: t('general:locales'),\n })}\n onToggle={handleSelectAll}\n />\n </div>\n {localeOptions.map((locale) => (\n <div className={`${baseClass}__item`} key={locale.value}>\n <CheckboxInput\n checked={selectedLocales.includes(locale.value)}\n id={`select-locale-${locale.value}`}\n label={locale.label}\n onToggle={() => handleToggleLocale(locale.value)}\n />\n </div>\n ))}\n </div>\n </Drawer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DuplicateDocument/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMxD,OAAO,KAA+B,MAAM,OAAO,CAAA;AAGnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAc9E,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAA;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA2K7C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DuplicateDocument/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMxD,OAAO,KAA+B,MAAM,OAAO,CAAA;AAGnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAc9E,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAA;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA4K7C,CAAA"}
@@ -31,9 +31,8 @@ export const DuplicateDocument = ({
31
31
  const {
32
32
  openModal
33
33
  } = useModal();
34
- const {
35
- code: localeCode
36
- } = useLocale();
34
+ const locale = useLocale();
35
+ const localeCode = locale?.code;
37
36
  const {
38
37
  setModified
39
38
  } = useForm();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","hasDraftsEnabled","qs","React","useCallback","useMemo","toast","useForm","useFormModified","useConfig","useLocale","useRouter","useRouteTransition","useTranslation","requests","traverseForLocalizedFields","ConfirmationModal","PopupList","SelectLocalesDrawer","DuplicateDocument","id","slug","onDuplicate","redirectAfterDuplicate","selectLocales","singularLabel","router","modified","openModal","code","localeCode","setModified","startRouteTransition","config","localization","routes","admin","adminRoute","api","apiRoute","getEntityConfig","collectionConfig","collectionSlug","i18n","t","modalSlug","drawerSlug","isDuplicateByLocaleEnabled","fields","handleDuplicate","args","selectedLocales","hasSelectedLocales","length","queryParams","locale","headers","language","credentials","res","post","path","stringify","addQueryPrefix","body","JSON","_status","doc","errors","message","json","status","success","label","push","error","_error","handleConfirmWithoutSaving","buttonLabel","_jsxs","Fragment","_jsx","Button","onClick","confirmLabel","heading","onConfirm"],"sources":["../../../src/elements/DuplicateDocument/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, hasDraftsEnabled } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouter } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { traverseForLocalizedFields } from '../../utilities/traverseForLocalizedFields.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { SelectLocalesDrawer } from './SelectLocalesDrawer/index.js'\n\nexport type Props = {\n readonly id: number | string\n readonly onDuplicate?: DocumentDrawerContextType['onDuplicate']\n readonly redirectAfterDuplicate?: boolean\n readonly selectLocales?: boolean\n readonly singularLabel: SanitizedCollectionConfig['labels']['singular']\n readonly slug: string\n}\n\nexport const DuplicateDocument: React.FC<Props> = ({\n id,\n slug,\n onDuplicate,\n redirectAfterDuplicate = true,\n selectLocales,\n singularLabel,\n}) => {\n const router = useRouter()\n const modified = useFormModified()\n const { openModal } = useModal()\n const { code: localeCode } = useLocale()\n const { setModified } = useForm()\n const { startRouteTransition } = useRouteTransition()\n\n const {\n config: {\n localization,\n routes: { admin: adminRoute, api: apiRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: slug })\n\n const { i18n, t } = useTranslation()\n\n const modalSlug = `duplicate-${id}`\n const drawerSlug = `duplicate-locales-${id}`\n\n const isDuplicateByLocaleEnabled = useMemo(() => {\n if (selectLocales && collectionConfig) {\n return traverseForLocalizedFields(collectionConfig.fields)\n }\n return false\n }, [collectionConfig, selectLocales])\n\n const handleDuplicate = useCallback(\n async (args?: { selectedLocales?: string[] }) => {\n const { selectedLocales } = args || {}\n const hasSelectedLocales = selectedLocales && selectedLocales.length > 0\n\n const queryParams: Record<string, string | string[]> = {}\n if (localeCode) {\n queryParams.locale = localeCode\n }\n if (hasSelectedLocales) {\n queryParams.selectedLocales = selectedLocales\n }\n\n const headers = {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n credentials: 'include',\n }\n\n try {\n const res = await requests.post(\n formatAdminURL({\n apiRoute,\n path: `/${slug}/${id}/duplicate${qs.stringify(queryParams, {\n addQueryPrefix: true,\n })}`,\n }),\n {\n body: JSON.stringify(hasDraftsEnabled(collectionConfig) ? { _status: 'draft' } : {}),\n headers,\n },\n )\n\n const { doc, errors, message } = await res.json()\n\n if (res.status < 400) {\n toast.success(\n message ||\n t('general:successfullyDuplicated', { label: getTranslation(singularLabel, i18n) }),\n )\n\n setModified(false)\n\n if (redirectAfterDuplicate) {\n return startRouteTransition(() =>\n router.push(\n formatAdminURL({\n adminRoute,\n path: `/collections/${slug}/${doc.id}${localeCode ? `?locale=${localeCode}` : ''}`,\n }),\n ),\n )\n }\n\n if (typeof onDuplicate === 'function') {\n void onDuplicate({ collectionConfig, doc })\n }\n } else {\n toast.error(\n errors?.[0].message ||\n message ||\n t('error:unspecific', { label: getTranslation(singularLabel, i18n) }),\n )\n }\n } catch (_error) {\n toast.error(t('error:unspecific', { label: getTranslation(singularLabel, i18n) }))\n }\n },\n [\n adminRoute,\n apiRoute,\n collectionConfig,\n i18n,\n id,\n localeCode,\n onDuplicate,\n redirectAfterDuplicate,\n router,\n setModified,\n singularLabel,\n slug,\n startRouteTransition,\n t,\n ],\n )\n\n const handleConfirmWithoutSaving = useCallback(async () => {\n if (selectLocales) {\n openModal(drawerSlug)\n } else {\n await handleDuplicate()\n }\n }, [handleDuplicate, drawerSlug, selectLocales, openModal])\n\n const buttonLabel = selectLocales\n ? `${t('general:duplicate')} ${t('localization:selectedLocales')}`\n : t('general:duplicate')\n\n if (!selectLocales || isDuplicateByLocaleEnabled) {\n return (\n <React.Fragment>\n <PopupList.Button\n id={`action-duplicate${isDuplicateByLocaleEnabled ? `-locales` : ''}`}\n onClick={() => {\n if (modified) {\n openModal(modalSlug)\n } else if (selectLocales) {\n openModal(drawerSlug)\n } else {\n void handleDuplicate()\n }\n }}\n >\n {buttonLabel}\n </PopupList.Button>\n <ConfirmationModal\n body={t('general:unsavedChangesDuplicate')}\n confirmLabel={t('general:duplicateWithoutSaving')}\n heading={t('general:unsavedChanges')}\n modalSlug={modalSlug}\n onConfirm={handleConfirmWithoutSaving}\n />\n {selectLocales && localization && (\n <SelectLocalesDrawer\n localization={localization}\n onConfirm={handleDuplicate}\n slug={drawerSlug}\n />\n )}\n </React.Fragment>\n )\n }\n\n return null\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,EAAEC,gBAAgB,QAAQ;AACjD,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,IAASC,WAAW,EAAEC,OAAO,QAAQ;AAC5C,SAASC,KAAK,QAAQ;AAItB,SAASC,OAAO,EAAEC,eAAe,QAAQ;AACzC,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,0BAA0B,QAAQ;AAC3C,SAASC,iBAAiB,QAAQ;AAClC,SAASC,SAAS,QAAQ;AAC1B,SAASC,mBAAmB,QAAQ;AAWpC,OAAO,MAAMC,iBAAA,GAAqCA,CAAC;EACjDC,EAAE;EACFC,IAAI;EACJC,WAAW;EACXC,sBAAA,GAAyB,IAAI;EAC7BC,aAAa;EACbC;AAAa,CACd;EACC,MAAMC,MAAA,GAASf,SAAA;EACf,MAAMgB,QAAA,GAAWnB,eAAA;EACjB,MAAM;IAAEoB;EAAS,CAAE,GAAG9B,QAAA;EACtB,MAAM;IAAE+B,IAAA,EAAMC;EAAU,CAAE,GAAGpB,SAAA;EAC7B,MAAM;IAAEqB;EAAW,CAAE,GAAGxB,OAAA;EACxB,MAAM;IAAEyB;EAAoB,CAAE,GAAGpB,kBAAA;EAEjC,MAAM;IACJqB,MAAA,EAAQ;MACNC,YAAY;MACZC,MAAA,EAAQ;QAAEC,KAAA,EAAOC,UAAU;QAAEC,GAAA,EAAKC;MAAQ;IAAE,CAC7C;IACDC;EAAe,CAChB,GAAG/B,SAAA;EAEJ,MAAMgC,gBAAA,GAAmBD,eAAA,CAAgB;IAAEE,cAAA,EAAgBrB;EAAK;EAEhE,MAAM;IAAEsB,IAAI;IAAEC;EAAC,CAAE,GAAG/B,cAAA;EAEpB,MAAMgC,SAAA,GAAY,aAAazB,EAAA,EAAI;EACnC,MAAM0B,UAAA,GAAa,qBAAqB1B,EAAA,EAAI;EAE5C,MAAM2B,0BAAA,GAA6B1C,OAAA,CAAQ;IACzC,IAAImB,aAAA,IAAiBiB,gBAAA,EAAkB;MACrC,OAAO1B,0BAAA,CAA2B0B,gBAAA,CAAiBO,MAAM;IAC3D;IACA,OAAO;EACT,GAAG,CAACP,gBAAA,EAAkBjB,aAAA,CAAc;EAEpC,MAAMyB,eAAA,GAAkB7C,WAAA,CACtB,MAAO8C,IAAA;IACL,MAAM;MAAEC;IAAe,CAAE,GAAGD,IAAA,IAAQ,CAAC;IACrC,MAAME,kBAAA,GAAqBD,eAAA,IAAmBA,eAAA,CAAgBE,MAAM,GAAG;IAEvE,MAAMC,WAAA,GAAiD,CAAC;IACxD,IAAIxB,UAAA,EAAY;MACdwB,WAAA,CAAYC,MAAM,GAAGzB,UAAA;IACvB;IACA,IAAIsB,kBAAA,EAAoB;MACtBE,WAAA,CAAYH,eAAe,GAAGA,eAAA;IAChC;IAEA,MAAMK,OAAA,GAAU;MACd,mBAAmBb,IAAA,CAAKc,QAAQ;MAChC,gBAAgB;MAChBC,WAAA,EAAa;IACf;IAEA,IAAI;MACF,MAAMC,GAAA,GAAM,MAAM7C,QAAA,CAAS8C,IAAI,CAC7B5D,cAAA,CAAe;QACbuC,QAAA;QACAsB,IAAA,EAAM,IAAIxC,IAAA,IAAQD,EAAA,aAAelB,EAAA,CAAG4D,SAAS,CAACR,WAAA,EAAa;UACzDS,cAAA,EAAgB;QAClB;MACF,IACA;QACEC,IAAA,EAAMC,IAAA,CAAKH,SAAS,CAAC7D,gBAAA,CAAiBwC,gBAAA,IAAoB;UAAEyB,OAAA,EAAS;QAAQ,IAAI,CAAC;QAClFV;MACF;MAGF,MAAM;QAAEW,GAAG;QAAEC,MAAM;QAAEC;MAAO,CAAE,GAAG,MAAMV,GAAA,CAAIW,IAAI;MAE/C,IAAIX,GAAA,CAAIY,MAAM,GAAG,KAAK;QACpBjE,KAAA,CAAMkE,OAAO,CACXH,OAAA,IACEzB,CAAA,CAAE,kCAAkC;UAAE6B,KAAA,EAAO1E,cAAA,CAAe0B,aAAA,EAAekB,IAAA;QAAM;QAGrFZ,WAAA,CAAY;QAEZ,IAAIR,sBAAA,EAAwB;UAC1B,OAAOS,oBAAA,CAAqB,MAC1BN,MAAA,CAAOgD,IAAI,CACT1E,cAAA,CAAe;YACbqC,UAAA;YACAwB,IAAA,EAAM,gBAAgBxC,IAAA,IAAQ8C,GAAA,CAAI/C,EAAE,GAAGU,UAAA,GAAa,WAAWA,UAAA,EAAY,GAAG;UAChF;QAGN;QAEA,IAAI,OAAOR,WAAA,KAAgB,YAAY;UACrC,KAAKA,WAAA,CAAY;YAAEmB,gBAAA;YAAkB0B;UAAI;QAC3C;MACF,OAAO;QACL7D,KAAA,CAAMqE,KAAK,CACTP,MAAA,GAAS,EAAE,CAACC,OAAA,IACVA,OAAA,IACAzB,CAAA,CAAE,oBAAoB;UAAE6B,KAAA,EAAO1E,cAAA,CAAe0B,aAAA,EAAekB,IAAA;QAAM;MAEzE;IACF,EAAE,OAAOiC,MAAA,EAAQ;MACftE,KAAA,CAAMqE,KAAK,CAAC/B,CAAA,CAAE,oBAAoB;QAAE6B,KAAA,EAAO1E,cAAA,CAAe0B,aAAA,EAAekB,IAAA;MAAM;IACjF;EACF,GACA,CACEN,UAAA,EACAE,QAAA,EACAE,gBAAA,EACAE,IAAA,EACAvB,EAAA,EACAU,UAAA,EACAR,WAAA,EACAC,sBAAA,EACAG,MAAA,EACAK,WAAA,EACAN,aAAA,EACAJ,IAAA,EACAW,oBAAA,EACAY,CAAA,CACD;EAGH,MAAMiC,0BAAA,GAA6BzE,WAAA,CAAY;IAC7C,IAAIoB,aAAA,EAAe;MACjBI,SAAA,CAAUkB,UAAA;IACZ,OAAO;MACL,MAAMG,eAAA;IACR;EACF,GAAG,CAACA,eAAA,EAAiBH,UAAA,EAAYtB,aAAA,EAAeI,SAAA,CAAU;EAE1D,MAAMkD,WAAA,GAActD,aAAA,GAChB,GAAGoB,CAAA,CAAE,wBAAwBA,CAAA,CAAE,iCAAiC,GAChEA,CAAA,CAAE;EAEN,IAAI,CAACpB,aAAA,IAAiBuB,0BAAA,EAA4B;IAChD,oBACEgC,KAAA,CAAC5E,KAAA,CAAM6E,QAAQ;8BACbC,IAAA,CAAChE,SAAA,CAAUiE,MAAM;QACf9D,EAAA,EAAI,mBAAmB2B,0BAAA,GAA6B,UAAU,GAAG,IAAI;QACrEoC,OAAA,EAASA,CAAA;UACP,IAAIxD,QAAA,EAAU;YACZC,SAAA,CAAUiB,SAAA;UACZ,OAAO,IAAIrB,aAAA,EAAe;YACxBI,SAAA,CAAUkB,UAAA;UACZ,OAAO;YACL,KAAKG,eAAA;UACP;QACF;kBAEC6B;uBAEHG,IAAA,CAACjE,iBAAA;QACCgD,IAAA,EAAMpB,CAAA,CAAE;QACRwC,YAAA,EAAcxC,CAAA,CAAE;QAChByC,OAAA,EAASzC,CAAA,CAAE;QACXC,SAAA,EAAWA,SAAA;QACXyC,SAAA,EAAWT;UAEZrD,aAAA,IAAiBU,YAAA,iBAChB+C,IAAA,CAAC/D,mBAAA;QACCgB,YAAA,EAAcA,YAAA;QACdoD,SAAA,EAAWrC,eAAA;QACX5B,IAAA,EAAMyB;;;EAKhB;EAEA,OAAO;AACT","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","getTranslation","formatAdminURL","hasDraftsEnabled","qs","React","useCallback","useMemo","toast","useForm","useFormModified","useConfig","useLocale","useRouter","useRouteTransition","useTranslation","requests","traverseForLocalizedFields","ConfirmationModal","PopupList","SelectLocalesDrawer","DuplicateDocument","id","slug","onDuplicate","redirectAfterDuplicate","selectLocales","singularLabel","router","modified","openModal","locale","localeCode","code","setModified","startRouteTransition","config","localization","routes","admin","adminRoute","api","apiRoute","getEntityConfig","collectionConfig","collectionSlug","i18n","t","modalSlug","drawerSlug","isDuplicateByLocaleEnabled","fields","handleDuplicate","args","selectedLocales","hasSelectedLocales","length","queryParams","headers","language","credentials","res","post","path","stringify","addQueryPrefix","body","JSON","_status","doc","errors","message","json","status","success","label","push","error","_error","handleConfirmWithoutSaving","buttonLabel","_jsxs","Fragment","_jsx","Button","onClick","confirmLabel","heading","onConfirm"],"sources":["../../../src/elements/DuplicateDocument/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL, hasDraftsEnabled } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouter } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { traverseForLocalizedFields } from '../../utilities/traverseForLocalizedFields.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { SelectLocalesDrawer } from './SelectLocalesDrawer/index.js'\n\nexport type Props = {\n readonly id: number | string\n readonly onDuplicate?: DocumentDrawerContextType['onDuplicate']\n readonly redirectAfterDuplicate?: boolean\n readonly selectLocales?: boolean\n readonly singularLabel: SanitizedCollectionConfig['labels']['singular']\n readonly slug: string\n}\n\nexport const DuplicateDocument: React.FC<Props> = ({\n id,\n slug,\n onDuplicate,\n redirectAfterDuplicate = true,\n selectLocales,\n singularLabel,\n}) => {\n const router = useRouter()\n const modified = useFormModified()\n const { openModal } = useModal()\n const locale = useLocale()\n const localeCode = locale?.code\n const { setModified } = useForm()\n const { startRouteTransition } = useRouteTransition()\n\n const {\n config: {\n localization,\n routes: { admin: adminRoute, api: apiRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: slug })\n\n const { i18n, t } = useTranslation()\n\n const modalSlug = `duplicate-${id}`\n const drawerSlug = `duplicate-locales-${id}`\n\n const isDuplicateByLocaleEnabled = useMemo(() => {\n if (selectLocales && collectionConfig) {\n return traverseForLocalizedFields(collectionConfig.fields)\n }\n return false\n }, [collectionConfig, selectLocales])\n\n const handleDuplicate = useCallback(\n async (args?: { selectedLocales?: string[] }) => {\n const { selectedLocales } = args || {}\n const hasSelectedLocales = selectedLocales && selectedLocales.length > 0\n\n const queryParams: Record<string, string | string[]> = {}\n if (localeCode) {\n queryParams.locale = localeCode\n }\n if (hasSelectedLocales) {\n queryParams.selectedLocales = selectedLocales\n }\n\n const headers = {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n credentials: 'include',\n }\n\n try {\n const res = await requests.post(\n formatAdminURL({\n apiRoute,\n path: `/${slug}/${id}/duplicate${qs.stringify(queryParams, {\n addQueryPrefix: true,\n })}`,\n }),\n {\n body: JSON.stringify(hasDraftsEnabled(collectionConfig) ? { _status: 'draft' } : {}),\n headers,\n },\n )\n\n const { doc, errors, message } = await res.json()\n\n if (res.status < 400) {\n toast.success(\n message ||\n t('general:successfullyDuplicated', { label: getTranslation(singularLabel, i18n) }),\n )\n\n setModified(false)\n\n if (redirectAfterDuplicate) {\n return startRouteTransition(() =>\n router.push(\n formatAdminURL({\n adminRoute,\n path: `/collections/${slug}/${doc.id}${localeCode ? `?locale=${localeCode}` : ''}`,\n }),\n ),\n )\n }\n\n if (typeof onDuplicate === 'function') {\n void onDuplicate({ collectionConfig, doc })\n }\n } else {\n toast.error(\n errors?.[0].message ||\n message ||\n t('error:unspecific', { label: getTranslation(singularLabel, i18n) }),\n )\n }\n } catch (_error) {\n toast.error(t('error:unspecific', { label: getTranslation(singularLabel, i18n) }))\n }\n },\n [\n adminRoute,\n apiRoute,\n collectionConfig,\n i18n,\n id,\n localeCode,\n onDuplicate,\n redirectAfterDuplicate,\n router,\n setModified,\n singularLabel,\n slug,\n startRouteTransition,\n t,\n ],\n )\n\n const handleConfirmWithoutSaving = useCallback(async () => {\n if (selectLocales) {\n openModal(drawerSlug)\n } else {\n await handleDuplicate()\n }\n }, [handleDuplicate, drawerSlug, selectLocales, openModal])\n\n const buttonLabel = selectLocales\n ? `${t('general:duplicate')} ${t('localization:selectedLocales')}`\n : t('general:duplicate')\n\n if (!selectLocales || isDuplicateByLocaleEnabled) {\n return (\n <React.Fragment>\n <PopupList.Button\n id={`action-duplicate${isDuplicateByLocaleEnabled ? `-locales` : ''}`}\n onClick={() => {\n if (modified) {\n openModal(modalSlug)\n } else if (selectLocales) {\n openModal(drawerSlug)\n } else {\n void handleDuplicate()\n }\n }}\n >\n {buttonLabel}\n </PopupList.Button>\n <ConfirmationModal\n body={t('general:unsavedChangesDuplicate')}\n confirmLabel={t('general:duplicateWithoutSaving')}\n heading={t('general:unsavedChanges')}\n modalSlug={modalSlug}\n onConfirm={handleConfirmWithoutSaving}\n />\n {selectLocales && localization && (\n <SelectLocalesDrawer\n localization={localization}\n onConfirm={handleDuplicate}\n slug={drawerSlug}\n />\n )}\n </React.Fragment>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,KAAK,EAAE,MAAM,SAAS,CAAA;AAWhD,OAAO,KAAoD,MAAM,OAAO,CAAA;AAIxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAoB/C,OAAO,aAAa,CAAA;AACpB,OAAO,oCAAoC,CAAA;AAqF3C,KAAK,0BAA0B,GAAG;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,cAAc,EAAE,WAAW,EAAE,CAAA;IAC7B;;OAEG;IACH,iBAAiB,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;IAClD,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,aAAa,CAAA;AAEjB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA+QtE,CAAA"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAc,KAAK,EAAE,MAAM,SAAS,CAAA;AAWhD,OAAO,KAAoD,MAAM,OAAO,CAAA;AAIxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAoB/C,OAAO,aAAa,CAAA;AACpB,OAAO,oCAAoC,CAAA;AAqF3C,KAAK,0BAA0B,GAAG;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,cAAc,EAAE,WAAW,EAAE,CAAA;IAC7B;;OAEG;IACH,iBAAiB,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;IAClD,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,aAAa,CAAA;AAEjB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAgRtE,CAAA"}
@@ -195,9 +195,8 @@ export const EditManyDrawerContent = props => {
195
195
  permissions,
196
196
  user
197
197
  } = useAuth();
198
- const {
199
- code: locale
200
- } = useLocale();
198
+ const currentLocale = useLocale();
199
+ const locale = currentLocale?.code;
201
200
  const {
202
201
  closeModal
203
202
  } = useModal();
@@ -324,8 +323,8 @@ export const EditManyDrawerContent = props => {
324
323
  skipValidation: true
325
324
  });
326
325
  dispatchFields({
327
- type: 'UPDATE_MANY',
328
- formState: state_0
326
+ type: 'MERGE_SERVER_STATE',
327
+ serverState: state_0
329
328
  });
330
329
  setIsInitializing(false);
331
330
  }, [getFormState, collection.slug, collectionPermissions, setSelectedFields]);
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","getTranslation","combineWhereConstraints","formatAdminURL","mergeListSearchAndWhere","unflatten","qs","React","useCallback","useEffect","useMemo","useState","useForm","Form","RenderField","FormSubmit","ChevronIcon","useAuth","useConfig","DocumentInfoProvider","useLocale","OperationContext","useRouter","useSearchParams","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","parseSearchParams","Button","FieldSelect","baseClass","Submit","t0","$","action","disabled","submit","t","t1","method","skipValidation","save","t2","_jsx","className","onClick","size","children","PublishButton","overrides","_status","SaveDraftButton","buttonStyle","EditManyDrawerContent","props","collection","fields","labels","plural","singular","count","drawerSlug","ids","onSuccess","onSuccessFromProps","selectAll","selectedFields","setSelectedFields","where","permissions","user","code","locale","closeModal","config","routes","api","apiRoute","getFormState","i18n","isInitializing","setIsInitializing","router","abortFormStateRef","useRef","collectionPermissions","collections","slug","searchParams","select","reduce","acc","option","value","path","onChange","formState","prevFormState","submitted","controller","state","collectionSlug","docPermissions","docPreferences","operation","schemaPath","signal","current","abortFormState","queryString","whereConstraints","push","queryWithSearch","collectionConfig","search","get","id","not_equals","in","stringify","addQueryPrefix","replace","_r","Date","now","page","undefined","onFieldSelect","dispatchFields","selected","type","title","label","currentEditor","hasPublishedDoc","initialData","isLocked","lastUpdateTime","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","_jsxs","icon","direction","versions","drafts","Fragment","length","map","i","field","fieldPermissions","clientFieldConfig","indexPath","parentPath","parentSchemaPath"],"sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport type { SelectType, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n combineWhereConstraints,\n formatAdminURL,\n mergeListSearchAndWhere,\n unflatten,\n} from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { OnFieldSelect } from '../FieldSelect/index.js'\nimport type { FieldOption } from '../FieldSelect/reduceFieldOptions.js'\nimport type { EditManyProps } from './index.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { RenderField } from '../../forms/RenderFields/RenderField.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { OperationContext } from '../../providers/Operation/index.js'\nimport { useRouter, useSearchParams } from '../../providers/RouterAdapter/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { Button } from '../Button/index.js'\nimport { FieldSelect } from '../FieldSelect/index.js'\nimport { baseClass } from './index.js'\nimport './index.css'\nimport '../../forms/RenderFields/index.css'\n\nconst Submit: React.FC<{\n readonly action: string\n readonly disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__save`} disabled={disabled} onClick={save} size=\"medium\">\n {t('general:save')}\n </FormSubmit>\n )\n}\n\nconst PublishButton: React.FC<{\n action: string\n disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'published',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit\n className={`${baseClass}__publish`}\n disabled={disabled}\n onClick={save}\n size=\"medium\"\n >\n {t('version:publishChanges')}\n </FormSubmit>\n )\n}\n\nconst SaveDraftButton: React.FC<{\n action: string\n disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit\n buttonStyle=\"secondary\"\n className={`${baseClass}__draft`}\n disabled={disabled}\n onClick={save}\n size=\"medium\"\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n\ntype EditManyDrawerContentProps = {\n /**\n * The total count of selected items\n */\n count?: number\n /**\n * The slug of the drawer\n */\n drawerSlug: string\n /**\n * The IDs of the selected items\n */\n ids?: (number | string)[]\n /**\n * The function to call after a successful action\n */\n onSuccess?: () => void\n /**\n * Whether all items are selected\n */\n selectAll?: boolean\n /**\n * The fields that are selected to bulk edit\n */\n selectedFields: FieldOption[]\n /**\n * The function to set the selected fields to bulk edit\n */\n setSelectedFields: (fields: FieldOption[]) => void\n where?: Where\n} & EditManyProps\n\nexport const EditManyDrawerContent: React.FC<EditManyDrawerContentProps> = (props) => {\n const {\n collection,\n collection: { fields, labels: { plural, singular } } = {},\n count,\n drawerSlug,\n ids,\n onSuccess: onSuccessFromProps,\n selectAll,\n selectedFields,\n setSelectedFields,\n where,\n } = props\n\n const { permissions, user } = useAuth()\n const { code: locale } = useLocale()\n\n const { closeModal } = useModal()\n\n const {\n config: {\n routes: { api: apiRoute },\n },\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { i18n, t } = useTranslation()\n\n const [isInitializing, setIsInitializing] = useState(false)\n\n const router = useRouter()\n const abortFormStateRef = React.useRef<AbortController>(null)\n const collectionPermissions = permissions?.collections?.[collection.slug]\n const searchParams = useSearchParams()\n\n const select = useMemo<SelectType>(() => {\n return unflatten(\n selectedFields.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n )\n }, [selectedFields])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortFormStateRef)\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: collection.slug,\n select,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortFormStateRef.current = null\n\n return state\n },\n [getFormState, collection, collectionPermissions, select],\n )\n\n useEffect(() => {\n const abortFormState = abortFormStateRef.current\n\n return () => {\n abortAndIgnore(abortFormState)\n }\n }, [])\n\n const queryString = useMemo((): string => {\n const whereConstraints: Where[] = []\n\n if (where) {\n whereConstraints.push(where)\n }\n\n const queryWithSearch = mergeListSearchAndWhere({\n collectionConfig: collection,\n search: searchParams.get('search'),\n })\n\n if (queryWithSearch) {\n whereConstraints.push(queryWithSearch)\n }\n\n if (selectAll) {\n // Match the current filter/search, or default to all docs\n whereConstraints.push(\n (parseSearchParams(searchParams)?.where as Where) || {\n id: {\n not_equals: '',\n },\n },\n )\n } else {\n // If we're not selecting all, we need to select specific docs\n whereConstraints.push({\n id: {\n in: ids || [],\n },\n })\n }\n\n return qs.stringify(\n {\n locale,\n select: {},\n where: combineWhereConstraints(whereConstraints),\n },\n { addQueryPrefix: true },\n )\n }, [collection, searchParams, selectAll, ids, locale, where])\n\n const onSuccess = () => {\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n _r: Date.now(), // Cache buster to force fresh data fetch. Prevents an e2e race condition where sometimes the data is not updated.\n page: selectAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n closeModal(drawerSlug)\n\n if (typeof onSuccessFromProps === 'function') {\n onSuccessFromProps()\n }\n }\n\n const onFieldSelect = useCallback<OnFieldSelect>(\n async ({ dispatchFields, formState, selected }) => {\n setIsInitializing(true)\n\n setSelectedFields(selected || [])\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState,\n operation: 'update',\n schemaPath: collection.slug,\n select: unflatten(\n selected.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n ),\n skipValidation: true,\n })\n\n dispatchFields({\n type: 'UPDATE_MANY',\n formState: state,\n })\n\n setIsInitializing(false)\n },\n [getFormState, collection.slug, collectionPermissions, setSelectedFields],\n )\n\n const title = t('general:editingLabel', {\n count,\n label: getTranslation(count > 1 ? plural : singular, i18n),\n })\n\n return (\n <DocumentInfoProvider\n collectionSlug={collection.slug}\n currentEditor={user}\n hasPublishedDoc={false}\n id={null}\n initialData={{}}\n isLocked={false}\n lastUpdateTime={0}\n mostRecentVersionIsAutosaved={false}\n unpublishedVersionCount={0}\n versionCount={0}\n >\n <OperationContext value=\"update\">\n <Form\n className={`${baseClass}__form`}\n isInitializing={isInitializing}\n onChange={[onChange]}\n onSuccess={onSuccess}\n >\n <div className={`${baseClass}__header`}>\n <Button\n aria-label={t('general:close')}\n buttonStyle=\"ghost\"\n className={`${baseClass}__header__close`}\n icon={<ChevronIcon direction=\"left\" size={24} />}\n onClick={() => closeModal(drawerSlug)}\n />\n <h2 className={`${baseClass}__header__title`} title={title}>\n {title}\n </h2>\n <div className={`${baseClass}__header__actions`}>\n {collection?.versions?.drafts ? (\n <React.Fragment>\n <SaveDraftButton\n action={formatAdminURL({\n apiRoute,\n path: `/${collection.slug}${queryString}&draft=true`,\n })}\n disabled={selectedFields.length === 0}\n />\n <PublishButton\n action={formatAdminURL({\n apiRoute,\n path: `/${collection.slug}${queryString}&draft=true`,\n })}\n disabled={selectedFields.length === 0}\n />\n </React.Fragment>\n ) : (\n <Submit\n action={formatAdminURL({\n apiRoute,\n path: `/${collection.slug}${queryString}`,\n })}\n disabled={selectedFields.length === 0}\n />\n )}\n </div>\n </div>\n <div className={`${baseClass}__body`}>\n <div className={`${baseClass}__select-fields`}>\n <FieldSelect\n fields={fields}\n onChange={onFieldSelect}\n permissions={collectionPermissions.fields}\n />\n </div>\n {selectedFields.length === 0 ? null : (\n <div className={`${baseClass}__edit`}>\n <div className=\"render-fields\">\n {selectedFields.map((option, i) => {\n const {\n value: { field, fieldPermissions, path },\n } = option\n\n return (\n <RenderField\n clientFieldConfig={field}\n indexPath=\"\"\n key={`${path}-${i}`}\n parentPath=\"\"\n parentSchemaPath=\"\"\n path={path}\n permissions={fieldPermissions}\n />\n )\n })}\n </div>\n </div>\n )}\n </div>\n </Form>\n </OperationContext>\n </DocumentInfoProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","getTranslation","combineWhereConstraints","formatAdminURL","mergeListSearchAndWhere","unflatten","qs","React","useCallback","useEffect","useMemo","useState","useForm","Form","RenderField","FormSubmit","ChevronIcon","useAuth","useConfig","DocumentInfoProvider","useLocale","OperationContext","useRouter","useSearchParams","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","parseSearchParams","Button","FieldSelect","baseClass","Submit","t0","$","action","disabled","submit","t","t1","method","skipValidation","save","t2","_jsx","className","onClick","size","children","PublishButton","overrides","_status","SaveDraftButton","buttonStyle","EditManyDrawerContent","props","collection","fields","labels","plural","singular","count","drawerSlug","ids","onSuccess","onSuccessFromProps","selectAll","selectedFields","setSelectedFields","where","permissions","user","currentLocale","locale","code","closeModal","config","routes","api","apiRoute","getFormState","i18n","isInitializing","setIsInitializing","router","abortFormStateRef","useRef","collectionPermissions","collections","slug","searchParams","select","reduce","acc","option","value","path","onChange","formState","prevFormState","submitted","controller","state","collectionSlug","docPermissions","docPreferences","operation","schemaPath","signal","current","abortFormState","queryString","whereConstraints","push","queryWithSearch","collectionConfig","search","get","id","not_equals","in","stringify","addQueryPrefix","replace","_r","Date","now","page","undefined","onFieldSelect","dispatchFields","selected","type","serverState","title","label","currentEditor","hasPublishedDoc","initialData","isLocked","lastUpdateTime","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","_jsxs","icon","direction","versions","drafts","Fragment","length","map","i","field","fieldPermissions","clientFieldConfig","indexPath","parentPath","parentSchemaPath"],"sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport type { SelectType, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n combineWhereConstraints,\n formatAdminURL,\n mergeListSearchAndWhere,\n unflatten,\n} from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { OnFieldSelect } from '../FieldSelect/index.js'\nimport type { FieldOption } from '../FieldSelect/reduceFieldOptions.js'\nimport type { EditManyProps } from './index.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { RenderField } from '../../forms/RenderFields/RenderField.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { OperationContext } from '../../providers/Operation/index.js'\nimport { useRouter, useSearchParams } from '../../providers/RouterAdapter/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { Button } from '../Button/index.js'\nimport { FieldSelect } from '../FieldSelect/index.js'\nimport { baseClass } from './index.js'\nimport './index.css'\nimport '../../forms/RenderFields/index.css'\n\nconst Submit: React.FC<{\n readonly action: string\n readonly disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__save`} disabled={disabled} onClick={save} size=\"medium\">\n {t('general:save')}\n </FormSubmit>\n )\n}\n\nconst PublishButton: React.FC<{\n action: string\n disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'published',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit\n className={`${baseClass}__publish`}\n disabled={disabled}\n onClick={save}\n size=\"medium\"\n >\n {t('version:publishChanges')}\n </FormSubmit>\n )\n}\n\nconst SaveDraftButton: React.FC<{\n action: string\n disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit\n buttonStyle=\"secondary\"\n className={`${baseClass}__draft`}\n disabled={disabled}\n onClick={save}\n size=\"medium\"\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n\ntype EditManyDrawerContentProps = {\n /**\n * The total count of selected items\n */\n count?: number\n /**\n * The slug of the drawer\n */\n drawerSlug: string\n /**\n * The IDs of the selected items\n */\n ids?: (number | string)[]\n /**\n * The function to call after a successful action\n */\n onSuccess?: () => void\n /**\n * Whether all items are selected\n */\n selectAll?: boolean\n /**\n * The fields that are selected to bulk edit\n */\n selectedFields: FieldOption[]\n /**\n * The function to set the selected fields to bulk edit\n */\n setSelectedFields: (fields: FieldOption[]) => void\n where?: Where\n} & EditManyProps\n\nexport const EditManyDrawerContent: React.FC<EditManyDrawerContentProps> = (props) => {\n const {\n collection,\n collection: { fields, labels: { plural, singular } } = {},\n count,\n drawerSlug,\n ids,\n onSuccess: onSuccessFromProps,\n selectAll,\n selectedFields,\n setSelectedFields,\n where,\n } = props\n\n const { permissions, user } = useAuth()\n const currentLocale = useLocale()\n const locale = currentLocale?.code\n\n const { closeModal } = useModal()\n\n const {\n config: {\n routes: { api: apiRoute },\n },\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { i18n, t } = useTranslation()\n\n const [isInitializing, setIsInitializing] = useState(false)\n\n const router = useRouter()\n const abortFormStateRef = React.useRef<AbortController>(null)\n const collectionPermissions = permissions?.collections?.[collection.slug]\n const searchParams = useSearchParams()\n\n const select = useMemo<SelectType>(() => {\n return unflatten(\n selectedFields.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n )\n }, [selectedFields])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortFormStateRef)\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: collection.slug,\n select,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortFormStateRef.current = null\n\n return state\n },\n [getFormState, collection, collectionPermissions, select],\n )\n\n useEffect(() => {\n const abortFormState = abortFormStateRef.current\n\n return () => {\n abortAndIgnore(abortFormState)\n }\n }, [])\n\n const queryString = useMemo((): string => {\n const whereConstraints: Where[] = []\n\n if (where) {\n whereConstraints.push(where)\n }\n\n const queryWithSearch = mergeListSearchAndWhere({\n collectionConfig: collection,\n search: searchParams.get('search'),\n })\n\n if (queryWithSearch) {\n whereConstraints.push(queryWithSearch)\n }\n\n if (selectAll) {\n // Match the current filter/search, or default to all docs\n whereConstraints.push(\n (parseSearchParams(searchParams)?.where as Where) || {\n id: {\n not_equals: '',\n },\n },\n )\n } else {\n // If we're not selecting all, we need to select specific docs\n whereConstraints.push({\n id: {\n in: ids || [],\n },\n })\n }\n\n return qs.stringify(\n {\n locale,\n select: {},\n where: combineWhereConstraints(whereConstraints),\n },\n { addQueryPrefix: true },\n )\n }, [collection, searchParams, selectAll, ids, locale, where])\n\n const onSuccess = () => {\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n _r: Date.now(), // Cache buster to force fresh data fetch. Prevents an e2e race condition where sometimes the data is not updated.\n page: selectAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n closeModal(drawerSlug)\n\n if (typeof onSuccessFromProps === 'function') {\n onSuccessFromProps()\n }\n }\n\n const onFieldSelect = useCallback<OnFieldSelect>(\n async ({ dispatchFields, formState, selected }) => {\n setIsInitializing(true)\n\n setSelectedFields(selected || [])\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState,\n operation: 'update',\n schemaPath: collection.slug,\n select: unflatten(\n selected.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n ),\n skipValidation: true,\n })\n\n dispatchFields({\n type: 'MERGE_SERVER_STATE',\n serverState: state,\n })\n\n setIsInitializing(false)\n },\n [getFormState, collection.slug, collectionPermissions, setSelectedFields],\n )\n\n const title = t('general:editingLabel', {\n count,\n label: getTranslation(count > 1 ? plural : singular, i18n),\n })\n\n return (\n <DocumentInfoProvider\n collectionSlug={collection.slug}\n currentEditor={user}\n hasPublishedDoc={false}\n id={null}\n initialData={{}}\n isLocked={false}\n lastUpdateTime={0}\n mostRecentVersionIsAutosaved={false}\n unpublishedVersionCount={0}\n versionCount={0}\n >\n <OperationContext value=\"update\">\n <Form\n className={`${baseClass}__form`}\n isInitializing={isInitializing}\n onChange={[onChange]}\n onSuccess={onSuccess}\n >\n <div className={`${baseClass}__header`}>\n <Button\n aria-label={t('general:close')}\n buttonStyle=\"ghost\"\n className={`${baseClass}__header__close`}\n icon={<ChevronIcon direction=\"left\" size={24} />}\n onClick={() => closeModal(drawerSlug)}\n />\n <h2 className={`${baseClass}__header__title`} title={title}>\n {title}\n </h2>\n <div className={`${baseClass}__header__actions`}>\n {collection?.versions?.drafts ? (\n <React.Fragment>\n <SaveDraftButton\n action={formatAdminURL({\n apiRoute,\n path: `/${collection.slug}${queryString}&draft=true`,\n })}\n disabled={selectedFields.length === 0}\n />\n <PublishButton\n action={formatAdminURL({\n apiRoute,\n path: `/${collection.slug}${queryString}&draft=true`,\n })}\n disabled={selectedFields.length === 0}\n />\n </React.Fragment>\n ) : (\n <Submit\n action={formatAdminURL({\n apiRoute,\n path: `/${collection.slug}${queryString}`,\n })}\n disabled={selectedFields.length === 0}\n />\n )}\n </div>\n </div>\n <div className={`${baseClass}__body`}>\n <div className={`${baseClass}__select-fields`}>\n <FieldSelect\n fields={fields}\n onChange={onFieldSelect}\n permissions={collectionPermissions.fields}\n />\n </div>\n {selectedFields.length === 0 ? null : (\n <div className={`${baseClass}__edit`}>\n <div className=\"render-fields\">\n {selectedFields.map((option, i) => {\n const {\n value: { field, fieldPermissions, path },\n } = option\n\n return (\n <RenderField\n clientFieldConfig={field}\n indexPath=\"\"\n key={`${path}-${i}`}\n parentPath=\"\"\n parentSchemaPath=\"\"\n path={path}\n permissions={fieldPermissions}\n />\n )\n })}\n </div>\n </div>\n )}\n </div>\n </Form>\n </OperationContext>\n </DocumentInfoProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,6 @@
10
10
  display: flex;
11
11
  flex-direction: column;
12
12
  overflow: visible;
13
- border-bottom: var(--stroke-width-small) solid var(--color-border);
14
13
  }
15
14
 
16
15
  .edit-upload__content {
@@ -150,6 +149,7 @@
150
149
  }
151
150
  }
152
151
 
152
+ /* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
153
153
  @media (max-width: 768px) {
154
154
  .edit-upload__content {
155
155
  flex-direction: column;
@@ -23,6 +23,7 @@
23
23
  padding-inline: var(--spacer-2-5);
24
24
  }
25
25
 
26
+ /* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
26
27
  @media (max-width: 768px) {
27
28
  .field-diff-container .field-diff-content {
28
29
  grid-template-columns: 1fr;
@@ -13,6 +13,7 @@
13
13
  color: var(--color-text);
14
14
  }
15
15
 
16
+ /* stylelint-disable-next-line plugin/no-max-width-media-query -- TODO: pre-existing; migrate to a mobile-first min-width query */
16
17
  @media (max-width: 768px) {
17
18
  .field-diff-label {
18
19
  height: min-content;
@@ -1 +1 @@
1
- {"version":3,"file":"reduceFieldOptions.d.ts","sourceRoot":"","sources":["../../../src/elements/FieldSelect/reduceFieldOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAahF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,WAAW,CAAA;IAClB,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,KAAK,EAAE,aAAa,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,kBAAkB,UAAW,WAAW,KAAG,OAOrD,CAAA;AAEH,eAAO,MAAM,kBAAkB,uEAO5B;IACD,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,EAChB;QACE,CAAC,SAAS,EAAE,MAAM,GAAG,yBAAyB,CAAA;KAC/C,GACD,yBAAyB,CAAA;CAC9B,KAAG,WAAW,EAkFd,CAAA"}
1
+ {"version":3,"file":"reduceFieldOptions.d.ts","sourceRoot":"","sources":["../../../src/elements/FieldSelect/reduceFieldOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAahF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,WAAW,CAAA;IAClB,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,KAAK,EAAE,aAAa,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,kBAAkB,UAAW,WAAW,KAAG,OAOrD,CAAA;AAEH,eAAO,MAAM,kBAAkB,uEAO5B;IACD,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,EAChB;QACE,CAAC,SAAS,EAAE,MAAM,GAAG,yBAAyB,CAAA;KAC/C,GACD,yBAAyB,CAAA;CAC9B,KAAG,WAAW,EA8Fd,CAAA"}
@@ -47,12 +47,14 @@ export const reduceFieldOptions = ({
47
47
  return [...fieldsToUse, ...field.tabs.reduce((tabFields, tab) => {
48
48
  if ('fields' in tab) {
49
49
  const isNamedTab = 'name' in tab && tab.name;
50
+ const namedTabPermissions = isNamedTab && fieldPermissions && fieldPermissions !== true ? fieldPermissions[tab.name] : undefined;
51
+ const tabPermissions = isNamedTab ? namedTabPermissions === true ? true : namedTabPermissions?.fields ?? fieldPermissions : fieldPermissions;
50
52
  return [...tabFields, ...reduceFieldOptions({
51
53
  fields: tab.fields,
52
54
  labelPrefix,
53
55
  parentPath: path,
54
56
  path: isNamedTab ? createNestedClientFieldPath(path, tab) : path,
55
- permissions: fieldPermissions
57
+ permissions: tabPermissions
56
58
  })];
57
59
  }
58
60
  }, [])];
@@ -1 +1 @@
1
- {"version":3,"file":"reduceFieldOptions.js","names":["fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","getFieldPermissions","isFieldDisabled","createNestedClientFieldPath","combineFieldLabel","ignoreFromBulkEdit","field","Boolean","type","unique","readOnly","reduceFieldOptions","fields","formState","labelPrefix","parentPath","path","permissions","CustomLabel","customComponents","Label","reduce","fieldsToUse","operation","hasOperationPermission","fieldPermissions","read","hasReadPermission","parentName","includes","split","length","fieldHasLabel","label","prefix","tabs","tabFields","tab","isNamedTab","name","formattedField","value"],"sources":["../../../src/elements/FieldSelect/reduceFieldOptions.ts"],"sourcesContent":["import type { ClientField, FormState, SanitizedFieldPermissions } from 'payload'\n\nimport {\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsHiddenOrDisabled,\n getFieldPermissions,\n isFieldDisabled,\n} from 'payload/shared'\n\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { combineFieldLabel } from '../../utilities/combineFieldLabel.js'\n\nexport type SelectedField = {\n field: ClientField\n fieldPermissions: SanitizedFieldPermissions\n path: string\n}\n\nexport type FieldOption = {\n label: React.ReactNode\n value: SelectedField\n}\n\nexport const ignoreFromBulkEdit = (field: ClientField): boolean =>\n Boolean(\n (fieldAffectsData(field) || field.type === 'ui') &&\n (isFieldDisabled(field, 'bulkEdit') ||\n field.unique ||\n fieldIsHiddenOrDisabled(field) ||\n ('readOnly' in field && field.readOnly)),\n )\n\nexport const reduceFieldOptions = ({\n fields,\n formState,\n labelPrefix = null,\n parentPath = '',\n path = '',\n permissions,\n}: {\n readonly fields: ClientField[]\n readonly formState?: FormState\n readonly labelPrefix?: React.ReactNode\n readonly parentPath?: string\n readonly path?: string\n readonly permissions:\n | {\n [fieldName: string]: SanitizedFieldPermissions\n }\n | SanitizedFieldPermissions\n}): FieldOption[] => {\n if (!fields) {\n return []\n }\n\n const CustomLabel = formState?.[path]?.customComponents?.Label\n\n return fields?.reduce((fieldsToUse, field) => {\n const {\n operation: hasOperationPermission,\n permissions: fieldPermissions,\n read: hasReadPermission,\n } = getFieldPermissions({\n field,\n operation: 'update',\n parentName: parentPath?.includes('.')\n ? parentPath.split('.')[parentPath.split('.').length - 1]\n : parentPath,\n permissions,\n })\n\n // escape for a variety of reasons, include ui fields as they have `name`.\n if (\n (fieldAffectsData(field) || field.type === 'ui') &&\n (isFieldDisabled(field, 'bulkEdit') ||\n field.unique ||\n fieldIsHiddenOrDisabled(field) ||\n ('readOnly' in field && field.readOnly) ||\n !hasOperationPermission ||\n !hasReadPermission)\n ) {\n return fieldsToUse\n }\n\n if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {\n const fieldHasLabel = 'label' in field && field.label\n return [\n ...fieldsToUse,\n ...reduceFieldOptions({\n fields: field.fields,\n labelPrefix: fieldHasLabel\n ? combineFieldLabel({ CustomLabel, field, prefix: labelPrefix })\n : labelPrefix,\n parentPath: path,\n path: createNestedClientFieldPath(path, field),\n permissions: fieldPermissions,\n }),\n ]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...fieldsToUse,\n ...field.tabs.reduce((tabFields, tab) => {\n if ('fields' in tab) {\n const isNamedTab = 'name' in tab && tab.name\n return [\n ...tabFields,\n ...reduceFieldOptions({\n fields: tab.fields,\n labelPrefix,\n parentPath: path,\n path: isNamedTab ? createNestedClientFieldPath(path, tab as ClientField) : path,\n permissions: fieldPermissions,\n }),\n ]\n }\n }, []),\n ]\n }\n\n const formattedField: FieldOption = {\n label: combineFieldLabel({ CustomLabel, field, prefix: labelPrefix }),\n value: {\n field,\n fieldPermissions: fieldPermissions as SanitizedFieldPermissions,\n path: createNestedClientFieldPath(path, field),\n },\n }\n\n return [...fieldsToUse, formattedField]\n }, [])\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"reduceFieldOptions.js","names":["fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","getFieldPermissions","isFieldDisabled","createNestedClientFieldPath","combineFieldLabel","ignoreFromBulkEdit","field","Boolean","type","unique","readOnly","reduceFieldOptions","fields","formState","labelPrefix","parentPath","path","permissions","CustomLabel","customComponents","Label","reduce","fieldsToUse","operation","hasOperationPermission","fieldPermissions","read","hasReadPermission","parentName","includes","split","length","fieldHasLabel","label","prefix","tabs","tabFields","tab","isNamedTab","name","namedTabPermissions","undefined","tabPermissions","formattedField","value"],"sources":["../../../src/elements/FieldSelect/reduceFieldOptions.ts"],"sourcesContent":["import type { ClientField, FormState, SanitizedFieldPermissions } from 'payload'\n\nimport {\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsHiddenOrDisabled,\n getFieldPermissions,\n isFieldDisabled,\n} from 'payload/shared'\n\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { combineFieldLabel } from '../../utilities/combineFieldLabel.js'\n\nexport type SelectedField = {\n field: ClientField\n fieldPermissions: SanitizedFieldPermissions\n path: string\n}\n\nexport type FieldOption = {\n label: React.ReactNode\n value: SelectedField\n}\n\nexport const ignoreFromBulkEdit = (field: ClientField): boolean =>\n Boolean(\n (fieldAffectsData(field) || field.type === 'ui') &&\n (isFieldDisabled(field, 'bulkEdit') ||\n field.unique ||\n fieldIsHiddenOrDisabled(field) ||\n ('readOnly' in field && field.readOnly)),\n )\n\nexport const reduceFieldOptions = ({\n fields,\n formState,\n labelPrefix = null,\n parentPath = '',\n path = '',\n permissions,\n}: {\n readonly fields: ClientField[]\n readonly formState?: FormState\n readonly labelPrefix?: React.ReactNode\n readonly parentPath?: string\n readonly path?: string\n readonly permissions:\n | {\n [fieldName: string]: SanitizedFieldPermissions\n }\n | SanitizedFieldPermissions\n}): FieldOption[] => {\n if (!fields) {\n return []\n }\n\n const CustomLabel = formState?.[path]?.customComponents?.Label\n\n return fields?.reduce((fieldsToUse, field) => {\n const {\n operation: hasOperationPermission,\n permissions: fieldPermissions,\n read: hasReadPermission,\n } = getFieldPermissions({\n field,\n operation: 'update',\n parentName: parentPath?.includes('.')\n ? parentPath.split('.')[parentPath.split('.').length - 1]\n : parentPath,\n permissions,\n })\n\n // escape for a variety of reasons, include ui fields as they have `name`.\n if (\n (fieldAffectsData(field) || field.type === 'ui') &&\n (isFieldDisabled(field, 'bulkEdit') ||\n field.unique ||\n fieldIsHiddenOrDisabled(field) ||\n ('readOnly' in field && field.readOnly) ||\n !hasOperationPermission ||\n !hasReadPermission)\n ) {\n return fieldsToUse\n }\n\n if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {\n const fieldHasLabel = 'label' in field && field.label\n return [\n ...fieldsToUse,\n ...reduceFieldOptions({\n fields: field.fields,\n labelPrefix: fieldHasLabel\n ? combineFieldLabel({ CustomLabel, field, prefix: labelPrefix })\n : labelPrefix,\n parentPath: path,\n path: createNestedClientFieldPath(path, field),\n permissions: fieldPermissions,\n }),\n ]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...fieldsToUse,\n ...field.tabs.reduce((tabFields, tab) => {\n if ('fields' in tab) {\n const isNamedTab = 'name' in tab && tab.name\n\n const namedTabPermissions =\n isNamedTab && fieldPermissions && fieldPermissions !== true\n ? fieldPermissions[tab.name]\n : undefined\n\n const tabPermissions = isNamedTab\n ? namedTabPermissions === true\n ? true\n : (namedTabPermissions?.fields ?? fieldPermissions)\n : fieldPermissions\n\n return [\n ...tabFields,\n ...reduceFieldOptions({\n fields: tab.fields,\n labelPrefix,\n parentPath: path,\n path: isNamedTab ? createNestedClientFieldPath(path, tab as ClientField) : path,\n permissions: tabPermissions,\n }),\n ]\n }\n }, []),\n ]\n }\n\n const formattedField: FieldOption = {\n label: combineFieldLabel({ CustomLabel, field, prefix: labelPrefix }),\n value: {\n field,\n fieldPermissions: fieldPermissions as SanitizedFieldPermissions,\n path: createNestedClientFieldPath(path, field),\n },\n }\n\n return [...fieldsToUse, formattedField]\n }, [])\n}\n"],"mappings":"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","ignoreList":[]}