@payloadcms/ui 3.68.0-internal-debug.2eb12b9 → 3.68.0-internal-debug.dafc24d

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 (871) hide show
  1. package/dist/elements/AddNewRelation/index.js +83 -27
  2. package/dist/elements/AddNewRelation/index.js.map +1 -1
  3. package/dist/elements/AnimateHeight/index.js +13 -5
  4. package/dist/elements/AnimateHeight/index.js.map +1 -1
  5. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +2 -2
  6. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
  7. package/dist/elements/AppHeader/index.js +107 -35
  8. package/dist/elements/AppHeader/index.js.map +1 -1
  9. package/dist/elements/ArrayAction/index.js +116 -36
  10. package/dist/elements/ArrayAction/index.js.map +1 -1
  11. package/dist/elements/Autosave/index.js +19 -6
  12. package/dist/elements/Autosave/index.js.map +1 -1
  13. package/dist/elements/Banner/index.js +25 -9
  14. package/dist/elements/Banner/index.js.map +1 -1
  15. package/dist/elements/BulkUpload/ActionsBar/index.js +97 -33
  16. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  17. package/dist/elements/BulkUpload/AddFilesView/index.js +43 -15
  18. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  19. package/dist/elements/BulkUpload/AddingFilesView/index.js +47 -15
  20. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +7 -3
  22. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +12 -4
  24. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  25. package/dist/elements/BulkUpload/EditForm/index.js +53 -17
  26. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  27. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +90 -30
  28. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  29. package/dist/elements/BulkUpload/EditMany/index.js +33 -13
  30. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  31. package/dist/elements/BulkUpload/FileSidebar/index.js +214 -70
  32. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  33. package/dist/elements/BulkUpload/FormsManager/index.js +21 -13
  34. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  35. package/dist/elements/BulkUpload/Header/index.js +19 -7
  36. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  37. package/dist/elements/BulkUpload/index.js +70 -19
  38. package/dist/elements/BulkUpload/index.js.map +1 -1
  39. package/dist/elements/Button/index.js +103 -35
  40. package/dist/elements/Button/index.js.map +1 -1
  41. package/dist/elements/Button/types.js +13 -1
  42. package/dist/elements/Button/types.js.map +1 -1
  43. package/dist/elements/Card/index.js +30 -10
  44. package/dist/elements/Card/index.js.map +1 -1
  45. package/dist/elements/CheckboxPopup/index.js +19 -7
  46. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  47. package/dist/elements/ClipboardAction/ClipboardActionLabel.js +16 -4
  48. package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
  49. package/dist/elements/ClipboardAction/index.js +42 -14
  50. package/dist/elements/ClipboardAction/index.js.map +1 -1
  51. package/dist/elements/CloseModalButton/index.js +12 -4
  52. package/dist/elements/CloseModalButton/index.js.map +1 -1
  53. package/dist/elements/CodeEditor/CodeEditor.js +15 -7
  54. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  55. package/dist/elements/CodeEditor/index.js +18 -6
  56. package/dist/elements/CodeEditor/index.js.map +1 -1
  57. package/dist/elements/CodeEditor/types.js +3 -1
  58. package/dist/elements/CodeEditor/types.js.map +1 -1
  59. package/dist/elements/Collapsible/index.js +92 -29
  60. package/dist/elements/Collapsible/index.js.map +1 -1
  61. package/dist/elements/Collapsible/provider.js +7 -3
  62. package/dist/elements/Collapsible/provider.js.map +1 -1
  63. package/dist/elements/ColumnSelector/index.js +13 -5
  64. package/dist/elements/ColumnSelector/index.js.map +1 -1
  65. package/dist/elements/Combobox/index.js +43 -13
  66. package/dist/elements/Combobox/index.js.map +1 -1
  67. package/dist/elements/ConfirmationModal/index.js +49 -17
  68. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  69. package/dist/elements/CopyLocaleData/index.js +73 -25
  70. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  71. package/dist/elements/CopyToClipboard/index.js +18 -6
  72. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  73. package/dist/elements/DatePicker/DatePicker.js +42 -13
  74. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  75. package/dist/elements/DatePicker/getFormattedLocale.js +1 -0
  76. package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
  77. package/dist/elements/DatePicker/index.js +19 -7
  78. package/dist/elements/DatePicker/index.js.map +1 -1
  79. package/dist/elements/DefaultListViewTabs/index.js +25 -9
  80. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  81. package/dist/elements/DeleteDocument/index.js +49 -17
  82. package/dist/elements/DeleteDocument/index.js.map +1 -1
  83. package/dist/elements/DeleteMany/index.js +98 -26
  84. package/dist/elements/DeleteMany/index.js.map +1 -1
  85. package/dist/elements/DocumentControls/index.js +304 -96
  86. package/dist/elements/DocumentControls/index.js.map +1 -1
  87. package/dist/elements/DocumentDrawer/DrawerContent.js +12 -4
  88. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  89. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +59 -19
  90. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  91. package/dist/elements/DocumentDrawer/Provider.js +12 -4
  92. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  93. package/dist/elements/DocumentDrawer/index.js +32 -10
  94. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  95. package/dist/elements/DocumentDrawer/types.js +11 -1
  96. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  97. package/dist/elements/DocumentFields/index.js +54 -18
  98. package/dist/elements/DocumentFields/index.js.map +1 -1
  99. package/dist/elements/DocumentLocked/index.js +73 -25
  100. package/dist/elements/DocumentLocked/index.js.map +1 -1
  101. package/dist/elements/DocumentTakeOver/index.js +49 -17
  102. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  103. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +7 -3
  104. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  105. package/dist/elements/DraggableSortable/index.js +19 -7
  106. package/dist/elements/DraggableSortable/index.js.map +1 -1
  107. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +1 -0
  108. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  109. package/dist/elements/Drawer/index.js +80 -26
  110. package/dist/elements/Drawer/index.js.map +1 -1
  111. package/dist/elements/DrawerActionHeader/index.js +37 -13
  112. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  113. package/dist/elements/DrawerContentContainer/index.js +7 -3
  114. package/dist/elements/DrawerContentContainer/index.js.map +1 -1
  115. package/dist/elements/Dropzone/index.js +7 -3
  116. package/dist/elements/Dropzone/index.js.map +1 -1
  117. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +61 -21
  118. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  119. package/dist/elements/DuplicateDocument/index.js +25 -9
  120. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  121. package/dist/elements/EditMany/DrawerContent.js +146 -44
  122. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  123. package/dist/elements/EditMany/index.js +40 -14
  124. package/dist/elements/EditMany/index.js.map +1 -1
  125. package/dist/elements/EditUpload/index.js +232 -76
  126. package/dist/elements/EditUpload/index.js.map +1 -1
  127. package/dist/elements/EmailAndUsername/index.js +31 -11
  128. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  129. package/dist/elements/ErrorPill/index.js +19 -7
  130. package/dist/elements/ErrorPill/index.js.map +1 -1
  131. package/dist/elements/FieldDiffContainer/index.js +25 -9
  132. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  133. package/dist/elements/FieldDiffLabel/index.js +7 -3
  134. package/dist/elements/FieldDiffLabel/index.js.map +1 -1
  135. package/dist/elements/FieldSelect/index.js +19 -7
  136. package/dist/elements/FieldSelect/index.js.map +1 -1
  137. package/dist/elements/FileDetails/DraggableFileDetails/index.js +70 -22
  138. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  139. package/dist/elements/FileDetails/FileMeta/index.js +43 -15
  140. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  141. package/dist/elements/FileDetails/StaticFileDetails/index.js +43 -15
  142. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  143. package/dist/elements/FileDetails/index.js +13 -5
  144. package/dist/elements/FileDetails/index.js.map +1 -1
  145. package/dist/elements/FolderView/Breadcrumbs/index.js +31 -11
  146. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
  147. package/dist/elements/FolderView/BrowseByFolderButton/index.js +12 -4
  148. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
  149. package/dist/elements/FolderView/Cell/index.client.js +7 -3
  150. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  151. package/dist/elements/FolderView/Cell/index.server.js +7 -3
  152. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  153. package/dist/elements/FolderView/ColoredFolderIcon/index.js +7 -3
  154. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
  155. package/dist/elements/FolderView/CurrentFolderActions/index.js +68 -24
  156. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  157. package/dist/elements/FolderView/DragOverlaySelection/index.js +31 -11
  158. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
  159. package/dist/elements/FolderView/DraggableTableRow/index.js +25 -9
  160. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
  161. package/dist/elements/FolderView/DraggableWithClick/index.js +7 -3
  162. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
  163. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +15 -7
  164. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
  165. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +189 -62
  166. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  167. package/dist/elements/FolderView/FilterFolderTypePill/index.js +19 -7
  168. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
  169. package/dist/elements/FolderView/FolderField/index.server.js +7 -3
  170. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
  171. package/dist/elements/FolderView/FolderFileCard/index.js +104 -31
  172. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  173. package/dist/elements/FolderView/FolderFileTable/index.js +49 -17
  174. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
  175. package/dist/elements/FolderView/FolderTypeField/index.js +7 -3
  176. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
  177. package/dist/elements/FolderView/ItemCardGrid/index.js +21 -9
  178. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
  179. package/dist/elements/FolderView/MoveDocToFolder/index.js +28 -13
  180. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  181. package/dist/elements/FolderView/SimpleTable/index.js +67 -23
  182. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
  183. package/dist/elements/FolderView/SortByPill/index.js +86 -30
  184. package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
  185. package/dist/elements/FolderView/ToggleViewButtons/index.js +25 -9
  186. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
  187. package/dist/elements/FullscreenModal/index.js +7 -3
  188. package/dist/elements/FullscreenModal/index.js.map +1 -1
  189. package/dist/elements/GenerateConfirmation/index.js +31 -11
  190. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  191. package/dist/elements/GroupByBuilder/index.js +43 -15
  192. package/dist/elements/GroupByBuilder/index.js.map +1 -1
  193. package/dist/elements/Gutter/index.js +7 -3
  194. package/dist/elements/Gutter/index.js.map +1 -1
  195. package/dist/elements/HTMLDiff/diff/index.js +24 -3
  196. package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
  197. package/dist/elements/HTMLDiff/index.js +13 -5
  198. package/dist/elements/HTMLDiff/index.js.map +1 -1
  199. package/dist/elements/Hamburger/index.js +35 -11
  200. package/dist/elements/Hamburger/index.js.map +1 -1
  201. package/dist/elements/HydrateAuthProvider/index.js +6 -1
  202. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  203. package/dist/elements/IDLabel/index.js +13 -5
  204. package/dist/elements/IDLabel/index.js.map +1 -1
  205. package/dist/elements/LeaveWithoutSaving/index.js +13 -5
  206. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  207. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +3 -1
  208. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  209. package/dist/elements/Link/index.js +12 -4
  210. package/dist/elements/Link/index.js.map +1 -1
  211. package/dist/elements/ListControls/index.js +126 -42
  212. package/dist/elements/ListControls/index.js.map +1 -1
  213. package/dist/elements/ListControls/types.js +7 -1
  214. package/dist/elements/ListControls/types.js.map +1 -1
  215. package/dist/elements/ListDrawer/DrawerContent.js +20 -8
  216. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  217. package/dist/elements/ListDrawer/Provider.js +15 -4
  218. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  219. package/dist/elements/ListDrawer/index.js +34 -11
  220. package/dist/elements/ListDrawer/index.js.map +1 -1
  221. package/dist/elements/ListDrawer/types.js +5 -1
  222. package/dist/elements/ListDrawer/types.js.map +1 -1
  223. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +19 -7
  224. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  225. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +13 -5
  226. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  227. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +12 -4
  228. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  229. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +7 -3
  230. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
  231. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +48 -16
  232. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  233. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +37 -13
  234. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  235. package/dist/elements/ListHeader/index.js +43 -15
  236. package/dist/elements/ListHeader/index.js.map +1 -1
  237. package/dist/elements/ListSelection/index.js +66 -20
  238. package/dist/elements/ListSelection/index.js.map +1 -1
  239. package/dist/elements/LivePreview/Device/index.js +13 -5
  240. package/dist/elements/LivePreview/Device/index.js.map +1 -1
  241. package/dist/elements/LivePreview/DeviceContainer/index.js +7 -3
  242. package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
  243. package/dist/elements/LivePreview/IFrame/index.js +7 -3
  244. package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
  245. package/dist/elements/LivePreview/Toggler/index.js +13 -5
  246. package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
  247. package/dist/elements/LivePreview/Toolbar/Controls/index.js +137 -45
  248. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  249. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +7 -3
  250. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  251. package/dist/elements/LivePreview/Toolbar/index.js +48 -16
  252. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  253. package/dist/elements/LivePreview/ToolbarArea/index.js +7 -3
  254. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  255. package/dist/elements/LivePreview/Window/index.js +41 -13
  256. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  257. package/dist/elements/Loading/index.js +55 -19
  258. package/dist/elements/Loading/index.js.map +1 -1
  259. package/dist/elements/LoadingOverlay/index.js +13 -5
  260. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  261. package/dist/elements/Localizer/LocalizerLabel/index.js +31 -11
  262. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  263. package/dist/elements/Localizer/index.js +47 -15
  264. package/dist/elements/Localizer/index.js.map +1 -1
  265. package/dist/elements/Locked/index.js +18 -6
  266. package/dist/elements/Locked/index.js.map +1 -1
  267. package/dist/elements/Logout/index.js +17 -5
  268. package/dist/elements/Logout/index.js.map +1 -1
  269. package/dist/elements/Nav/NavToggler/index.js +7 -3
  270. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  271. package/dist/elements/Nav/context.js +7 -3
  272. package/dist/elements/Nav/context.js.map +1 -1
  273. package/dist/elements/NavGroup/index.js +49 -17
  274. package/dist/elements/NavGroup/index.js.map +1 -1
  275. package/dist/elements/NoListResults/index.js +19 -7
  276. package/dist/elements/NoListResults/index.js.map +1 -1
  277. package/dist/elements/PageControls/GroupByPageControls.js +7 -3
  278. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  279. package/dist/elements/PageControls/index.js +37 -13
  280. package/dist/elements/PageControls/index.js.map +1 -1
  281. package/dist/elements/Pagination/ClickableArrow/index.js +12 -4
  282. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  283. package/dist/elements/Pagination/Page/index.js +7 -3
  284. package/dist/elements/Pagination/Page/index.js.map +1 -1
  285. package/dist/elements/Pagination/Separator/index.js +7 -3
  286. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  287. package/dist/elements/Pagination/index.js +19 -7
  288. package/dist/elements/Pagination/index.js.map +1 -1
  289. package/dist/elements/PerPage/index.js +61 -21
  290. package/dist/elements/PerPage/index.js.map +1 -1
  291. package/dist/elements/PermanentlyDeleteButton/index.js +31 -11
  292. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  293. package/dist/elements/Pill/index.js +42 -15
  294. package/dist/elements/Pill/index.js.map +1 -1
  295. package/dist/elements/PillSelector/index.js +34 -10
  296. package/dist/elements/PillSelector/index.js.map +1 -1
  297. package/dist/elements/Popup/PopupButtonList/index.js +25 -9
  298. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  299. package/dist/elements/Popup/PopupDivider/index.js +7 -3
  300. package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
  301. package/dist/elements/Popup/PopupGroupLabel/index.js +7 -3
  302. package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
  303. package/dist/elements/Popup/PopupTrigger/index.js +13 -5
  304. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  305. package/dist/elements/Popup/index.js +60 -20
  306. package/dist/elements/Popup/index.js.map +1 -1
  307. package/dist/elements/PreviewButton/index.js +12 -4
  308. package/dist/elements/PreviewButton/index.js.map +1 -1
  309. package/dist/elements/PreviewSizes/index.js +97 -33
  310. package/dist/elements/PreviewSizes/index.js.map +1 -1
  311. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +67 -23
  312. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  313. package/dist/elements/PublishButton/ScheduleDrawer/index.js +165 -53
  314. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  315. package/dist/elements/PublishButton/index.js +49 -17
  316. package/dist/elements/PublishButton/index.js.map +1 -1
  317. package/dist/elements/PublishMany/DrawerContent.js +7 -3
  318. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  319. package/dist/elements/PublishMany/index.js +28 -10
  320. package/dist/elements/PublishMany/index.js.map +1 -1
  321. package/dist/elements/QueryPresets/QueryPresetBar/index.js +109 -38
  322. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  323. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +42 -14
  324. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  325. package/dist/elements/QueryPresets/cells/AccessCell/index.js +25 -9
  326. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
  327. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +13 -5
  328. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  329. package/dist/elements/QueryPresets/cells/GroupByCell/index.js +13 -5
  330. package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
  331. package/dist/elements/QueryPresets/cells/WhereCell/index.js +7 -3
  332. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
  333. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +25 -9
  334. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  335. package/dist/elements/QueryPresets/fields/GroupByField/index.js +31 -11
  336. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  337. package/dist/elements/QueryPresets/fields/WhereField/index.js +79 -27
  338. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  339. package/dist/elements/ReactSelect/ClearIndicator/index.js +13 -5
  340. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  341. package/dist/elements/ReactSelect/Control/index.js +13 -5
  342. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  343. package/dist/elements/ReactSelect/DropdownIndicator/index.js +13 -5
  344. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  345. package/dist/elements/ReactSelect/Input/index.js +13 -5
  346. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  347. package/dist/elements/ReactSelect/MultiValue/index.js +13 -5
  348. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  349. package/dist/elements/ReactSelect/MultiValueLabel/index.js +13 -5
  350. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  351. package/dist/elements/ReactSelect/MultiValueRemove/index.js +19 -7
  352. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  353. package/dist/elements/ReactSelect/SingleValue/index.js +13 -5
  354. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  355. package/dist/elements/ReactSelect/ValueContainer/index.js +19 -7
  356. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  357. package/dist/elements/ReactSelect/index.js +45 -17
  358. package/dist/elements/ReactSelect/index.js.map +1 -1
  359. package/dist/elements/ReactSelect/types.js +8 -1
  360. package/dist/elements/ReactSelect/types.js.map +1 -1
  361. package/dist/elements/RelationshipTable/AddNewButton.js +37 -13
  362. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  363. package/dist/elements/RelationshipTable/Pagination.js +7 -3
  364. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  365. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +24 -8
  366. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  367. package/dist/elements/RelationshipTable/index.js +121 -41
  368. package/dist/elements/RelationshipTable/index.js.map +1 -1
  369. package/dist/elements/RenderComponent/index.js +19 -7
  370. package/dist/elements/RenderComponent/index.js.map +1 -1
  371. package/dist/elements/RenderIfInViewport/index.js +7 -3
  372. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  373. package/dist/elements/RenderServerComponent/index.js +13 -5
  374. package/dist/elements/RenderServerComponent/index.js.map +1 -1
  375. package/dist/elements/RenderTitle/index.js +25 -9
  376. package/dist/elements/RenderTitle/index.js.map +1 -1
  377. package/dist/elements/RestoreButton/index.js +49 -17
  378. package/dist/elements/RestoreButton/index.js.map +1 -1
  379. package/dist/elements/RestoreMany/index.js +38 -13
  380. package/dist/elements/RestoreMany/index.js.map +1 -1
  381. package/dist/elements/SaveButton/index.js +8 -5
  382. package/dist/elements/SaveButton/index.js.map +1 -1
  383. package/dist/elements/SaveDraftButton/index.js +8 -5
  384. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  385. package/dist/elements/SearchBar/index.js +24 -8
  386. package/dist/elements/SearchBar/index.js.map +1 -1
  387. package/dist/elements/SearchFilter/index.js +13 -5
  388. package/dist/elements/SearchFilter/index.js.map +1 -1
  389. package/dist/elements/SearchFilter/types.js +19 -1
  390. package/dist/elements/SearchFilter/types.js.map +1 -1
  391. package/dist/elements/SelectAll/index.js +7 -3
  392. package/dist/elements/SelectAll/index.js.map +1 -1
  393. package/dist/elements/SelectMany/index.js +7 -3
  394. package/dist/elements/SelectMany/index.js.map +1 -1
  395. package/dist/elements/SelectRow/index.js +13 -5
  396. package/dist/elements/SelectRow/index.js.map +1 -1
  397. package/dist/elements/ShimmerEffect/index.js +31 -11
  398. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  399. package/dist/elements/SortColumn/index.js +48 -16
  400. package/dist/elements/SortColumn/index.js.map +1 -1
  401. package/dist/elements/SortComplex/index.js +55 -19
  402. package/dist/elements/SortComplex/index.js.map +1 -1
  403. package/dist/elements/SortHeader/index.js +24 -8
  404. package/dist/elements/SortHeader/index.js.map +1 -1
  405. package/dist/elements/SortRow/index.js +13 -5
  406. package/dist/elements/SortRow/index.js.map +1 -1
  407. package/dist/elements/Status/index.js +63 -23
  408. package/dist/elements/Status/index.js.map +1 -1
  409. package/dist/elements/StayLoggedIn/index.js +7 -3
  410. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  411. package/dist/elements/StepNav/context.js +7 -3
  412. package/dist/elements/StepNav/context.js.map +1 -1
  413. package/dist/elements/StepNav/index.js +109 -33
  414. package/dist/elements/StepNav/index.js.map +1 -1
  415. package/dist/elements/StickyToolbar/index.js +7 -3
  416. package/dist/elements/StickyToolbar/index.js.map +1 -1
  417. package/dist/elements/Table/DefaultCell/fields/Array/index.js +7 -3
  418. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  419. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +7 -3
  420. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  421. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +13 -5
  422. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  423. package/dist/elements/Table/DefaultCell/fields/Code/index.js +13 -5
  424. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  425. package/dist/elements/Table/DefaultCell/fields/Date/index.js +7 -3
  426. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  427. package/dist/elements/Table/DefaultCell/fields/File/index.js +21 -9
  428. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  429. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +13 -5
  430. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  431. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +19 -7
  432. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  433. package/dist/elements/Table/DefaultCell/fields/Select/index.js +11 -7
  434. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  435. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +7 -3
  436. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  437. package/dist/elements/Table/DefaultCell/index.js +45 -16
  438. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  439. package/dist/elements/Table/OrderableRow.js +25 -9
  440. package/dist/elements/Table/OrderableRow.js.map +1 -1
  441. package/dist/elements/Table/OrderableRowDragPreview.js +19 -7
  442. package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
  443. package/dist/elements/Table/OrderableTable.js +79 -27
  444. package/dist/elements/Table/OrderableTable.js.map +1 -1
  445. package/dist/elements/Table/RelationshipProvider/index.js +10 -3
  446. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  447. package/dist/elements/Table/index.js +55 -19
  448. package/dist/elements/Table/index.js.map +1 -1
  449. package/dist/elements/Thumbnail/createThumbnail.js +12 -12
  450. package/dist/elements/Thumbnail/createThumbnail.js.map +1 -1
  451. package/dist/elements/Thumbnail/index.js +47 -15
  452. package/dist/elements/Thumbnail/index.js.map +1 -1
  453. package/dist/elements/ThumbnailCard/index.js +19 -7
  454. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  455. package/dist/elements/TimezonePicker/index.js +19 -7
  456. package/dist/elements/TimezonePicker/index.js.map +1 -1
  457. package/dist/elements/Toasts/fieldErrors.js +24 -8
  458. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  459. package/dist/elements/Tooltip/index.js +34 -12
  460. package/dist/elements/Tooltip/index.js.map +1 -1
  461. package/dist/elements/Translation/index.js +25 -9
  462. package/dist/elements/Translation/index.js.map +1 -1
  463. package/dist/elements/TrashBanner/index.js +18 -6
  464. package/dist/elements/TrashBanner/index.js.map +1 -1
  465. package/dist/elements/UnpublishMany/DrawerContent.js +7 -3
  466. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  467. package/dist/elements/UnpublishMany/index.js +28 -10
  468. package/dist/elements/UnpublishMany/index.js.map +1 -1
  469. package/dist/elements/Upload/index.js +235 -83
  470. package/dist/elements/Upload/index.js.map +1 -1
  471. package/dist/elements/ViewDescription/index.js +7 -3
  472. package/dist/elements/ViewDescription/index.js.map +1 -1
  473. package/dist/elements/WhereBuilder/Condition/Date/index.js +13 -5
  474. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  475. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +37 -13
  476. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  477. package/dist/elements/WhereBuilder/Condition/Number/index.js +13 -4
  478. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  479. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +23 -12
  480. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  481. package/dist/elements/WhereBuilder/Condition/Select/index.js +7 -3
  482. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  483. package/dist/elements/WhereBuilder/Condition/Text/index.js +13 -4
  484. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  485. package/dist/elements/WhereBuilder/Condition/index.js +73 -25
  486. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  487. package/dist/elements/WhereBuilder/index.js +87 -31
  488. package/dist/elements/WhereBuilder/index.js.map +1 -1
  489. package/dist/elements/WithServerSideProps/index.js +7 -3
  490. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  491. package/dist/elements/withMergedProps/index.js +7 -3
  492. package/dist/elements/withMergedProps/index.js.map +1 -1
  493. package/dist/exports/client/index.js +26 -2
  494. package/dist/exports/client/index.js.map +1 -1
  495. package/dist/exports/shared/index.js +2 -1
  496. package/dist/exports/shared/index.js.map +1 -1
  497. package/dist/fields/Array/ArrayRow.js +52 -16
  498. package/dist/fields/Array/ArrayRow.js.map +1 -1
  499. package/dist/fields/Array/index.js +169 -57
  500. package/dist/fields/Array/index.js.map +1 -1
  501. package/dist/fields/Blocks/BlockRow.js +72 -24
  502. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  503. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +18 -6
  504. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  505. package/dist/fields/Blocks/BlockSelector/index.js +74 -24
  506. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  507. package/dist/fields/Blocks/BlocksDrawer/index.js +13 -5
  508. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  509. package/dist/fields/Blocks/RowActions.js +19 -7
  510. package/dist/fields/Blocks/RowActions.js.map +1 -1
  511. package/dist/fields/Blocks/SectionTitle/index.js +13 -5
  512. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  513. package/dist/fields/Blocks/index.js +187 -63
  514. package/dist/fields/Blocks/index.js.map +1 -1
  515. package/dist/fields/Checkbox/Input.js +47 -15
  516. package/dist/fields/Checkbox/Input.js.map +1 -1
  517. package/dist/fields/Checkbox/index.js +37 -13
  518. package/dist/fields/Checkbox/index.js.map +1 -1
  519. package/dist/fields/Code/index.js +55 -19
  520. package/dist/fields/Code/index.js.map +1 -1
  521. package/dist/fields/Collapsible/index.js +61 -21
  522. package/dist/fields/Collapsible/index.js.map +1 -1
  523. package/dist/fields/ConfirmPassword/index.js +31 -11
  524. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  525. package/dist/fields/DateTime/index.js +61 -21
  526. package/dist/fields/DateTime/index.js.map +1 -1
  527. package/dist/fields/Email/index.js +55 -19
  528. package/dist/fields/Email/index.js.map +1 -1
  529. package/dist/fields/FieldDescription/index.js +7 -3
  530. package/dist/fields/FieldDescription/index.js.map +1 -1
  531. package/dist/fields/FieldError/index.js +7 -3
  532. package/dist/fields/FieldError/index.js.map +1 -1
  533. package/dist/fields/FieldLabel/index.js +19 -7
  534. package/dist/fields/FieldLabel/index.js.map +1 -1
  535. package/dist/fields/Group/index.js +78 -26
  536. package/dist/fields/Group/index.js.map +1 -1
  537. package/dist/fields/Group/provider.js +7 -3
  538. package/dist/fields/Group/provider.js.map +1 -1
  539. package/dist/fields/Hidden/index.js +7 -3
  540. package/dist/fields/Hidden/index.js.map +1 -1
  541. package/dist/fields/JSON/index.js +55 -19
  542. package/dist/fields/JSON/index.js.map +1 -1
  543. package/dist/fields/Join/index.js +49 -17
  544. package/dist/fields/Join/index.js.map +1 -1
  545. package/dist/fields/Number/index.js +71 -25
  546. package/dist/fields/Number/index.js.map +1 -1
  547. package/dist/fields/Password/index.js +7 -3
  548. package/dist/fields/Password/index.js.map +1 -1
  549. package/dist/fields/Password/input.js +61 -21
  550. package/dist/fields/Password/input.js.map +1 -1
  551. package/dist/fields/Password/types.js +11 -1
  552. package/dist/fields/Password/types.js.map +1 -1
  553. package/dist/fields/Point/index.js +97 -33
  554. package/dist/fields/Point/index.js.map +1 -1
  555. package/dist/fields/RadioGroup/Radio/index.js +31 -11
  556. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  557. package/dist/fields/RadioGroup/index.js +67 -23
  558. package/dist/fields/RadioGroup/index.js.map +1 -1
  559. package/dist/fields/Relationship/Input.js +84 -28
  560. package/dist/fields/Relationship/Input.js.map +1 -1
  561. package/dist/fields/Relationship/index.js +7 -3
  562. package/dist/fields/Relationship/index.js.map +1 -1
  563. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +47 -16
  564. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  565. package/dist/fields/Relationship/select-components/SingleValue/index.js +52 -17
  566. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  567. package/dist/fields/Row/index.js +19 -7
  568. package/dist/fields/Row/index.js.map +1 -1
  569. package/dist/fields/Row/provider.js +7 -3
  570. package/dist/fields/Row/provider.js.map +1 -1
  571. package/dist/fields/Select/Input.js +55 -19
  572. package/dist/fields/Select/Input.js.map +1 -1
  573. package/dist/fields/Select/index.js +7 -3
  574. package/dist/fields/Select/index.js.map +1 -1
  575. package/dist/fields/Slug/index.js +37 -13
  576. package/dist/fields/Slug/index.js.map +1 -1
  577. package/dist/fields/Tabs/Tab/index.js +25 -9
  578. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  579. package/dist/fields/Tabs/index.js +67 -23
  580. package/dist/fields/Tabs/index.js.map +1 -1
  581. package/dist/fields/Tabs/provider.js +7 -3
  582. package/dist/fields/Tabs/provider.js.map +1 -1
  583. package/dist/fields/Text/Input.js +60 -20
  584. package/dist/fields/Text/Input.js.map +1 -1
  585. package/dist/fields/Text/index.js +10 -5
  586. package/dist/fields/Text/index.js.map +1 -1
  587. package/dist/fields/Textarea/Input.js +61 -21
  588. package/dist/fields/Textarea/Input.js.map +1 -1
  589. package/dist/fields/Textarea/index.js +7 -3
  590. package/dist/fields/Textarea/index.js.map +1 -1
  591. package/dist/fields/Upload/HasMany/index.js +48 -16
  592. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  593. package/dist/fields/Upload/HasOne/index.js +13 -5
  594. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  595. package/dist/fields/Upload/Input.js +154 -56
  596. package/dist/fields/Upload/Input.js.map +1 -1
  597. package/dist/fields/Upload/RelationshipContent/index.js +73 -25
  598. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  599. package/dist/fields/Upload/UploadCard/index.js +7 -3
  600. package/dist/fields/Upload/UploadCard/index.js.map +1 -1
  601. package/dist/fields/Upload/index.js +13 -5
  602. package/dist/fields/Upload/index.js.map +1 -1
  603. package/dist/fields/Upload/types.js +1 -0
  604. package/dist/fields/Upload/types.js.map +1 -1
  605. package/dist/fields/shared/index.js +2 -3
  606. package/dist/fields/shared/index.js.map +1 -1
  607. package/dist/forms/Form/fieldReducer.js +2 -1
  608. package/dist/forms/Form/fieldReducer.js.map +1 -1
  609. package/dist/forms/Form/index.js +78 -31
  610. package/dist/forms/Form/index.js.map +1 -1
  611. package/dist/forms/Form/mergeServerFormState.js +11 -3
  612. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  613. package/dist/forms/Form/reduceToSerializableFields.js +2 -2
  614. package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
  615. package/dist/forms/Form/types.js +52 -1
  616. package/dist/forms/Form/types.js.map +1 -1
  617. package/dist/forms/NullifyField/index.js +15 -6
  618. package/dist/forms/NullifyField/index.js.map +1 -1
  619. package/dist/forms/RenderFields/RenderField.js +138 -46
  620. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  621. package/dist/forms/RenderFields/index.js +19 -7
  622. package/dist/forms/RenderFields/index.js.map +1 -1
  623. package/dist/forms/RowLabel/Context/index.js +7 -3
  624. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  625. package/dist/forms/RowLabel/index.js +19 -7
  626. package/dist/forms/RowLabel/index.js.map +1 -1
  627. package/dist/forms/Submit/index.js +13 -5
  628. package/dist/forms/Submit/index.js.map +1 -1
  629. package/dist/forms/WatchChildErrors/index.js +6 -1
  630. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  631. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +20 -0
  632. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  633. package/dist/forms/fieldSchemasToFormState/index.js +33 -1
  634. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  635. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js +2 -2
  636. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js.map +1 -1
  637. package/dist/forms/fieldSchemasToFormState/iterateFields.js +16 -0
  638. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  639. package/dist/forms/fieldSchemasToFormState/renderField.js +21 -9
  640. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  641. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +22 -1
  642. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
  643. package/dist/forms/fieldSchemasToFormState/types.js +5 -1
  644. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  645. package/dist/forms/useField/index.js +1 -0
  646. package/dist/forms/useField/index.js.map +1 -1
  647. package/dist/forms/useField/types.js +19 -1
  648. package/dist/forms/useField/types.js.map +1 -1
  649. package/dist/forms/withCondition/index.js +13 -5
  650. package/dist/forms/withCondition/index.js.map +1 -1
  651. package/dist/graphics/Account/Default/index.js +25 -9
  652. package/dist/graphics/Account/Default/index.js.map +1 -1
  653. package/dist/graphics/Account/Gravatar/index.js +7 -3
  654. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  655. package/dist/graphics/Account/index.js +12 -4
  656. package/dist/graphics/Account/index.js.map +1 -1
  657. package/dist/graphics/DefaultBlockImage/index.js +67 -23
  658. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  659. package/dist/graphics/File/index.js +19 -7
  660. package/dist/graphics/File/index.js.map +1 -1
  661. package/dist/graphics/Icon/index.js +19 -7
  662. package/dist/graphics/Icon/index.js.map +1 -1
  663. package/dist/graphics/Logo/index.js +85 -29
  664. package/dist/graphics/Logo/index.js.map +1 -1
  665. package/dist/hooks/useControllableState.js +9 -1
  666. package/dist/hooks/useControllableState.js.map +1 -1
  667. package/dist/hooks/useDelayedRender.js +3 -1
  668. package/dist/hooks/useDelayedRender.js.map +1 -1
  669. package/dist/hooks/useHotkey.js +2 -2
  670. package/dist/hooks/useHotkey.js.map +1 -1
  671. package/dist/hooks/usePayloadAPI.js +3 -4
  672. package/dist/hooks/usePayloadAPI.js.map +1 -1
  673. package/dist/hooks/usePopupWindow.js +2 -2
  674. package/dist/hooks/usePopupWindow.js.map +1 -1
  675. package/dist/hooks/useQueue.js +15 -7
  676. package/dist/hooks/useQueue.js.map +1 -1
  677. package/dist/hooks/useResize.js +4 -3
  678. package/dist/hooks/useResize.js.map +1 -1
  679. package/dist/icons/Calendar/index.js +13 -5
  680. package/dist/icons/Calendar/index.js.map +1 -1
  681. package/dist/icons/Check/index.js +13 -5
  682. package/dist/icons/Check/index.js.map +1 -1
  683. package/dist/icons/Chevron/index.js +13 -5
  684. package/dist/icons/Chevron/index.js.map +1 -1
  685. package/dist/icons/CloseMenu/index.js +13 -5
  686. package/dist/icons/CloseMenu/index.js.map +1 -1
  687. package/dist/icons/CodeBlock/index.js +13 -5
  688. package/dist/icons/CodeBlock/index.js.map +1 -1
  689. package/dist/icons/Copy/index.js +13 -5
  690. package/dist/icons/Copy/index.js.map +1 -1
  691. package/dist/icons/Document/index.js +13 -5
  692. package/dist/icons/Document/index.js.map +1 -1
  693. package/dist/icons/Dots/index.js +22 -6
  694. package/dist/icons/Dots/index.js.map +1 -1
  695. package/dist/icons/DragHandle/index.js +43 -15
  696. package/dist/icons/DragHandle/index.js.map +1 -1
  697. package/dist/icons/Edit/index.js +13 -5
  698. package/dist/icons/Edit/index.js.map +1 -1
  699. package/dist/icons/ExternalLink/index.js +13 -5
  700. package/dist/icons/ExternalLink/index.js.map +1 -1
  701. package/dist/icons/Eye/index.js +36 -12
  702. package/dist/icons/Eye/index.js.map +1 -1
  703. package/dist/icons/Folder/index.js +13 -5
  704. package/dist/icons/Folder/index.js.map +1 -1
  705. package/dist/icons/Gear/index.js +19 -7
  706. package/dist/icons/Gear/index.js.map +1 -1
  707. package/dist/icons/GridView/index.js +31 -11
  708. package/dist/icons/GridView/index.js.map +1 -1
  709. package/dist/icons/Line/index.js +13 -5
  710. package/dist/icons/Line/index.js.map +1 -1
  711. package/dist/icons/Link/index.js +13 -5
  712. package/dist/icons/Link/index.js.map +1 -1
  713. package/dist/icons/ListView/index.js +13 -5
  714. package/dist/icons/ListView/index.js.map +1 -1
  715. package/dist/icons/Lock/index.js +19 -7
  716. package/dist/icons/Lock/index.js.map +1 -1
  717. package/dist/icons/LogOut/index.js +13 -5
  718. package/dist/icons/LogOut/index.js.map +1 -1
  719. package/dist/icons/Menu/index.js +13 -5
  720. package/dist/icons/Menu/index.js.map +1 -1
  721. package/dist/icons/MinimizeMaximize/index.js +18 -6
  722. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  723. package/dist/icons/More/index.js +25 -9
  724. package/dist/icons/More/index.js.map +1 -1
  725. package/dist/icons/MoveFolder/index.js +37 -13
  726. package/dist/icons/MoveFolder/index.js.map +1 -1
  727. package/dist/icons/People/index.js +13 -5
  728. package/dist/icons/People/index.js.map +1 -1
  729. package/dist/icons/Plus/index.js +13 -5
  730. package/dist/icons/Plus/index.js.map +1 -1
  731. package/dist/icons/Search/index.js +13 -5
  732. package/dist/icons/Search/index.js.map +1 -1
  733. package/dist/icons/Sort/index.js +25 -9
  734. package/dist/icons/Sort/index.js.map +1 -1
  735. package/dist/icons/Swap/index.js +13 -5
  736. package/dist/icons/Swap/index.js.map +1 -1
  737. package/dist/icons/ThreeDots/index.js +22 -6
  738. package/dist/icons/ThreeDots/index.js.map +1 -1
  739. package/dist/icons/Trash/index.js +13 -5
  740. package/dist/icons/Trash/index.js.map +1 -1
  741. package/dist/icons/X/index.js +13 -5
  742. package/dist/icons/X/index.js.map +1 -1
  743. package/dist/providers/Actions/index.js +7 -3
  744. package/dist/providers/Actions/index.js.map +1 -1
  745. package/dist/providers/Auth/index.js +42 -6
  746. package/dist/providers/Auth/index.js.map +1 -1
  747. package/dist/providers/ClickOutside/index.js +7 -3
  748. package/dist/providers/ClickOutside/index.js.map +1 -1
  749. package/dist/providers/ClientFunction/index.js +13 -5
  750. package/dist/providers/ClientFunction/index.js.map +1 -1
  751. package/dist/providers/Config/index.js +23 -6
  752. package/dist/providers/Config/index.js.map +1 -1
  753. package/dist/providers/DocumentEvents/index.js +7 -3
  754. package/dist/providers/DocumentEvents/index.js.map +1 -1
  755. package/dist/providers/DocumentInfo/index.js +31 -16
  756. package/dist/providers/DocumentInfo/index.js.map +1 -1
  757. package/dist/providers/DocumentInfo/types.js +25 -1
  758. package/dist/providers/DocumentInfo/types.js.map +1 -1
  759. package/dist/providers/DocumentTitle/index.js +7 -3
  760. package/dist/providers/DocumentTitle/index.js.map +1 -1
  761. package/dist/providers/EditDepth/index.js +7 -3
  762. package/dist/providers/EditDepth/index.js.map +1 -1
  763. package/dist/providers/EntityVisibility/index.js +7 -3
  764. package/dist/providers/EntityVisibility/index.js.map +1 -1
  765. package/dist/providers/Folders/index.js +51 -5
  766. package/dist/providers/Folders/index.js.map +1 -1
  767. package/dist/providers/ListQuery/index.js +13 -5
  768. package/dist/providers/ListQuery/index.js.map +1 -1
  769. package/dist/providers/ListQuery/types.js +5 -1
  770. package/dist/providers/ListQuery/types.js.map +1 -1
  771. package/dist/providers/LivePreview/context.js +11 -1
  772. package/dist/providers/LivePreview/context.js.map +1 -1
  773. package/dist/providers/LivePreview/index.js +20 -9
  774. package/dist/providers/LivePreview/index.js.map +1 -1
  775. package/dist/providers/Locale/index.js +13 -5
  776. package/dist/providers/Locale/index.js.map +1 -1
  777. package/dist/providers/Operation/index.js +7 -3
  778. package/dist/providers/Operation/index.js.map +1 -1
  779. package/dist/providers/Params/index.js +7 -3
  780. package/dist/providers/Params/index.js.map +1 -1
  781. package/dist/providers/Preferences/index.js +14 -5
  782. package/dist/providers/Preferences/index.js.map +1 -1
  783. package/dist/providers/Root/index.js +154 -50
  784. package/dist/providers/Root/index.js.map +1 -1
  785. package/dist/providers/RouteCache/index.js +7 -3
  786. package/dist/providers/RouteCache/index.js.map +1 -1
  787. package/dist/providers/RouteTransition/ProgressBar/index.js +13 -5
  788. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  789. package/dist/providers/RouteTransition/index.js +16 -12
  790. package/dist/providers/RouteTransition/index.js.map +1 -1
  791. package/dist/providers/SearchParams/index.js +7 -3
  792. package/dist/providers/SearchParams/index.js.map +1 -1
  793. package/dist/providers/Selection/index.js +14 -5
  794. package/dist/providers/Selection/index.js.map +1 -1
  795. package/dist/providers/ServerFunctions/index.js +32 -25
  796. package/dist/providers/ServerFunctions/index.js.map +1 -1
  797. package/dist/providers/TableColumns/RenderDefaultCell/index.js +13 -5
  798. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  799. package/dist/providers/TableColumns/buildColumnState/index.js +17 -12
  800. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  801. package/dist/providers/TableColumns/buildColumnState/renderCell.js +17 -8
  802. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  803. package/dist/providers/TableColumns/index.js +7 -3
  804. package/dist/providers/TableColumns/index.js.map +1 -1
  805. package/dist/providers/TableColumns/types.js +17 -1
  806. package/dist/providers/TableColumns/types.js.map +1 -1
  807. package/dist/providers/Theme/index.js +7 -3
  808. package/dist/providers/Theme/index.js.map +1 -1
  809. package/dist/providers/ToastContainer/icons/Error.js +19 -7
  810. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  811. package/dist/providers/ToastContainer/icons/Info.js +19 -7
  812. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  813. package/dist/providers/ToastContainer/icons/Success.js +19 -7
  814. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  815. package/dist/providers/ToastContainer/icons/Warning.js +19 -7
  816. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  817. package/dist/providers/ToastContainer/index.js +27 -7
  818. package/dist/providers/ToastContainer/index.js.map +1 -1
  819. package/dist/providers/Translation/index.js +7 -3
  820. package/dist/providers/Translation/index.js.map +1 -1
  821. package/dist/providers/UploadControls/index.js +7 -3
  822. package/dist/providers/UploadControls/index.js.map +1 -1
  823. package/dist/providers/UploadEdits/index.js +7 -3
  824. package/dist/providers/UploadEdits/index.js.map +1 -1
  825. package/dist/providers/UploadHandlers/index.js +7 -3
  826. package/dist/providers/UploadHandlers/index.js.map +1 -1
  827. package/dist/utilities/abortAndIgnore.js +4 -6
  828. package/dist/utilities/abortAndIgnore.js.map +1 -1
  829. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +2 -2
  830. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  831. package/dist/utilities/combineFieldLabel.js +37 -13
  832. package/dist/utilities/combineFieldLabel.js.map +1 -1
  833. package/dist/utilities/copyDataFromLocale.js +6 -2
  834. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  835. package/dist/utilities/getDisplayedFieldValue.js +8 -8
  836. package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
  837. package/dist/utilities/getFolderResultsComponentAndData.js +31 -14
  838. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
  839. package/dist/utilities/handleFormStateLocking.js +2 -2
  840. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  841. package/dist/utilities/hasSavePermission.js +5 -1
  842. package/dist/utilities/hasSavePermission.js.map +1 -1
  843. package/dist/utilities/isURLAllowed.js +6 -6
  844. package/dist/utilities/isURLAllowed.js.map +1 -1
  845. package/dist/utilities/renderTable.js +84 -27
  846. package/dist/utilities/renderTable.js.map +1 -1
  847. package/dist/utilities/schedulePublishHandler.js +3 -1
  848. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  849. package/dist/utilities/upsertPreferences.js +1 -0
  850. package/dist/utilities/upsertPreferences.js.map +1 -1
  851. package/dist/views/BrowseByFolder/index.js +168 -56
  852. package/dist/views/BrowseByFolder/index.js.map +1 -1
  853. package/dist/views/CollectionFolder/ListSelection/index.js +67 -23
  854. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  855. package/dist/views/CollectionFolder/index.js +147 -47
  856. package/dist/views/CollectionFolder/index.js.map +1 -1
  857. package/dist/views/Edit/Auth/APIKey.js +67 -23
  858. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  859. package/dist/views/Edit/Auth/index.js +91 -31
  860. package/dist/views/Edit/Auth/index.js.map +1 -1
  861. package/dist/views/Edit/index.js +124 -48
  862. package/dist/views/Edit/index.js.map +1 -1
  863. package/dist/views/List/GroupByHeader/index.js +19 -7
  864. package/dist/views/List/GroupByHeader/index.js.map +1 -1
  865. package/dist/views/List/ListHeader/index.js +68 -23
  866. package/dist/views/List/ListHeader/index.js.map +1 -1
  867. package/dist/views/List/ListSelection/index.js +49 -17
  868. package/dist/views/List/ListSelection/index.js.map +1 -1
  869. package/dist/views/List/index.js +162 -54
  870. package/dist/views/List/index.js.map +1 -1
  871. package/package.json +7 -6
@@ -1,7 +1,8 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsxDEV as _jsxDEV, Fragment as _Fragment } from "react/jsx-dev-runtime";
2
2
  import { APIError, formatErrors, getFolderData } from 'payload';
3
3
  import { buildFolderWhereConstraints, combineWhereConstraints } from 'payload/shared';
4
- import { FolderFileTable, ItemCardGrid } from '../exports/client/index.js';
4
+ import { FolderFileTable, ItemCardGrid } from // eslint-disable-next-line payload/no-imports-from-exports-dir -- This component is returned via server functions, it must reference the exports dir
5
+ '../exports/client/index.js';
5
6
  export const getFolderResultsComponentAndDataHandler = async (args)=>{
6
7
  const { req } = args;
7
8
  try {
@@ -95,29 +96,45 @@ export const getFolderResultsComponentAndDataHandler = async (args)=>{
95
96
  });
96
97
  let FolderResultsComponent = null;
97
98
  if (displayAs === 'grid') {
98
- FolderResultsComponent = /*#__PURE__*/ _jsxs("div", {
99
+ FolderResultsComponent = /*#__PURE__*/ _jsxDEV("div", {
99
100
  children: [
100
- folderData.subfolders.length ? /*#__PURE__*/ _jsx(_Fragment, {
101
- children: /*#__PURE__*/ _jsx(ItemCardGrid, {
101
+ folderData.subfolders.length ? /*#__PURE__*/ _jsxDEV(_Fragment, {
102
+ children: /*#__PURE__*/ _jsxDEV(ItemCardGrid, {
102
103
  items: folderData.subfolders,
103
104
  title: 'Folders',
104
105
  type: "folder"
105
- })
106
- }) : null,
107
- folderData.documents.length ? /*#__PURE__*/ _jsx(_Fragment, {
108
- children: /*#__PURE__*/ _jsx(ItemCardGrid, {
106
+ }, void 0, false, {
107
+ fileName: "src/utilities/getFolderResultsComponentAndData.tsx",
108
+ lineNumber: 169,
109
+ columnNumber: 13
110
+ }, this)
111
+ }, void 0, false) : null,
112
+ folderData.documents.length ? /*#__PURE__*/ _jsxDEV(_Fragment, {
113
+ children: /*#__PURE__*/ _jsxDEV(ItemCardGrid, {
109
114
  items: folderData.documents,
110
115
  subfolderCount: folderData.subfolders.length,
111
116
  title: 'Documents',
112
117
  type: "file"
113
- })
114
- }) : null
118
+ }, void 0, false, {
119
+ fileName: "src/utilities/getFolderResultsComponentAndData.tsx",
120
+ lineNumber: 175,
121
+ columnNumber: 13
122
+ }, this)
123
+ }, void 0, false) : null
115
124
  ]
116
- });
125
+ }, void 0, true, {
126
+ fileName: "src/utilities/getFolderResultsComponentAndData.tsx",
127
+ lineNumber: 166,
128
+ columnNumber: 7
129
+ }, this);
117
130
  } else {
118
- FolderResultsComponent = /*#__PURE__*/ _jsx(FolderFileTable, {
131
+ FolderResultsComponent = /*#__PURE__*/ _jsxDEV(FolderFileTable, {
119
132
  showRelationCell: browseByFolder
120
- });
133
+ }, void 0, false, {
134
+ fileName: "src/utilities/getFolderResultsComponentAndData.tsx",
135
+ lineNumber: 186,
136
+ columnNumber: 30
137
+ }, this);
121
138
  }
122
139
  return {
123
140
  breadcrumbs: folderData.breadcrumbs,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getFolderResultsComponentAndData.tsx"],"sourcesContent":["import type {\n CollectionSlug,\n ErrorResult,\n GetFolderResultsComponentAndDataArgs,\n ServerFunction,\n Where,\n} from 'payload'\nimport type { FolderBreadcrumb, FolderOrDocument } from 'payload/shared'\n\nimport { APIError, formatErrors, getFolderData } from 'payload'\nimport { buildFolderWhereConstraints, combineWhereConstraints } from 'payload/shared'\n\nimport {\n FolderFileTable,\n ItemCardGrid,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- This component is returned via server functions, it must reference the exports dir\n} from '../exports/client/index.js'\n\ntype GetFolderResultsComponentAndDataResult = {\n breadcrumbs?: FolderBreadcrumb[]\n documents?: FolderOrDocument[]\n folderAssignedCollections?: CollectionSlug[]\n FolderResultsComponent: React.ReactNode\n subfolders?: FolderOrDocument[]\n}\n\ntype GetFolderResultsComponentAndDataErrorResult = {\n breadcrumbs?: never\n documents?: never\n FolderResultsComponent?: never\n subfolders?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport const getFolderResultsComponentAndDataHandler: ServerFunction<\n GetFolderResultsComponentAndDataArgs,\n Promise<GetFolderResultsComponentAndDataErrorResult | GetFolderResultsComponentAndDataResult>\n> = async (args) => {\n const { req } = args\n\n try {\n const res = await getFolderResultsComponentAndData(args)\n return res\n } catch (err) {\n req.payload.logger.error({\n err,\n msg: `There was an error getting the folder results component and data`,\n })\n\n return formatErrors(err)\n }\n}\n\n/**\n * This function is responsible for fetching folder data, building the results component\n * and returns the data and component together.\n */\nexport const getFolderResultsComponentAndData = async ({\n browseByFolder = false,\n collectionsToDisplay: activeCollectionSlugs,\n displayAs,\n folderAssignedCollections,\n folderID = undefined,\n req,\n sort,\n}: GetFolderResultsComponentAndDataArgs): Promise<GetFolderResultsComponentAndDataResult> => {\n const { payload } = req\n\n if (!payload.config.folders) {\n throw new APIError('Folders are not enabled in the configuration.')\n }\n\n const emptyQuery = {\n id: {\n exists: false,\n },\n }\n\n let collectionSlug: CollectionSlug | undefined = undefined\n let documentWhere: undefined | Where =\n Array.isArray(activeCollectionSlugs) && !activeCollectionSlugs.length ? emptyQuery : undefined\n let folderWhere: undefined | Where =\n Array.isArray(activeCollectionSlugs) && !activeCollectionSlugs.length ? emptyQuery : undefined\n\n // todo(perf): - collect promises and resolve them in parallel\n for (const activeCollectionSlug of activeCollectionSlugs) {\n if (activeCollectionSlug === payload.config.folders.slug) {\n const folderCollectionConstraints = await buildFolderWhereConstraints({\n collectionConfig: payload.collections[activeCollectionSlug].config,\n folderID,\n localeCode: req?.locale,\n req,\n search: typeof req?.query?.search === 'string' ? req.query.search : undefined,\n sort,\n })\n\n if (folderCollectionConstraints) {\n folderWhere = folderCollectionConstraints\n }\n\n folderWhere = combineWhereConstraints([\n folderWhere,\n Array.isArray(folderAssignedCollections) &&\n folderAssignedCollections.length &&\n payload.config.folders.collectionSpecific\n ? {\n or: [\n {\n folderType: {\n in: folderAssignedCollections,\n },\n },\n // if the folderType is not set, it means it accepts all collections and should appear in the results\n {\n folderType: {\n exists: false,\n },\n },\n ],\n }\n : undefined,\n ])\n } else if ((browseByFolder && folderID) || !browseByFolder) {\n if (!browseByFolder) {\n collectionSlug = activeCollectionSlug\n }\n\n if (!documentWhere) {\n documentWhere = {\n or: [],\n }\n }\n\n const collectionConstraints = await buildFolderWhereConstraints({\n collectionConfig: payload.collections[activeCollectionSlug].config,\n folderID,\n localeCode: req?.locale,\n req,\n search: typeof req?.query?.search === 'string' ? req.query.search : undefined,\n sort,\n })\n\n if (collectionConstraints) {\n documentWhere.or.push(collectionConstraints)\n }\n }\n }\n\n const folderData = await getFolderData({\n collectionSlug,\n documentWhere,\n folderID,\n folderWhere,\n req,\n sort,\n })\n\n let FolderResultsComponent = null\n\n if (displayAs === 'grid') {\n FolderResultsComponent = (\n <div>\n {folderData.subfolders.length ? (\n <>\n <ItemCardGrid items={folderData.subfolders} title={'Folders'} type=\"folder\" />\n </>\n ) : null}\n\n {folderData.documents.length ? (\n <>\n <ItemCardGrid\n items={folderData.documents}\n subfolderCount={folderData.subfolders.length}\n title={'Documents'}\n type=\"file\"\n />\n </>\n ) : null}\n </div>\n )\n } else {\n FolderResultsComponent = <FolderFileTable showRelationCell={browseByFolder} />\n }\n\n return {\n breadcrumbs: folderData.breadcrumbs,\n documents: folderData.documents,\n folderAssignedCollections: folderData.folderAssignedCollections,\n FolderResultsComponent,\n subfolders: folderData.subfolders,\n }\n}\n"],"names":["APIError","formatErrors","getFolderData","buildFolderWhereConstraints","combineWhereConstraints","FolderFileTable","ItemCardGrid","getFolderResultsComponentAndDataHandler","args","req","res","getFolderResultsComponentAndData","err","payload","logger","error","msg","browseByFolder","collectionsToDisplay","activeCollectionSlugs","displayAs","folderAssignedCollections","folderID","undefined","sort","config","folders","emptyQuery","id","exists","collectionSlug","documentWhere","Array","isArray","length","folderWhere","activeCollectionSlug","slug","folderCollectionConstraints","collectionConfig","collections","localeCode","locale","search","query","collectionSpecific","or","folderType","in","collectionConstraints","push","folderData","FolderResultsComponent","div","subfolders","items","title","type","documents","subfolderCount","showRelationCell","breadcrumbs"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utilities/getFolderResultsComponentAndData.tsx"],"sourcesContent":["import type {\n CollectionSlug,\n ErrorResult,\n GetFolderResultsComponentAndDataArgs,\n ServerFunction,\n Where,\n} from 'payload'\nimport type { FolderBreadcrumb, FolderOrDocument } from 'payload/shared'\n\nimport { APIError, formatErrors, getFolderData } from 'payload'\nimport { buildFolderWhereConstraints, combineWhereConstraints } from 'payload/shared'\n\nimport {\n FolderFileTable,\n ItemCardGrid,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- This component is returned via server functions, it must reference the exports dir\n} from '../exports/client/index.js'\n\ntype GetFolderResultsComponentAndDataResult = {\n breadcrumbs?: FolderBreadcrumb[]\n documents?: FolderOrDocument[]\n folderAssignedCollections?: CollectionSlug[]\n FolderResultsComponent: React.ReactNode\n subfolders?: FolderOrDocument[]\n}\n\ntype GetFolderResultsComponentAndDataErrorResult = {\n breadcrumbs?: never\n documents?: never\n FolderResultsComponent?: never\n subfolders?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport const getFolderResultsComponentAndDataHandler: ServerFunction<\n GetFolderResultsComponentAndDataArgs,\n Promise<GetFolderResultsComponentAndDataErrorResult | GetFolderResultsComponentAndDataResult>\n> = async (args) => {\n const { req } = args\n\n try {\n const res = await getFolderResultsComponentAndData(args)\n return res\n } catch (err) {\n req.payload.logger.error({\n err,\n msg: `There was an error getting the folder results component and data`,\n })\n\n return formatErrors(err)\n }\n}\n\n/**\n * This function is responsible for fetching folder data, building the results component\n * and returns the data and component together.\n */\nexport const getFolderResultsComponentAndData = async ({\n browseByFolder = false,\n collectionsToDisplay: activeCollectionSlugs,\n displayAs,\n folderAssignedCollections,\n folderID = undefined,\n req,\n sort,\n}: GetFolderResultsComponentAndDataArgs): Promise<GetFolderResultsComponentAndDataResult> => {\n const { payload } = req\n\n if (!payload.config.folders) {\n throw new APIError('Folders are not enabled in the configuration.')\n }\n\n const emptyQuery = {\n id: {\n exists: false,\n },\n }\n\n let collectionSlug: CollectionSlug | undefined = undefined\n let documentWhere: undefined | Where =\n Array.isArray(activeCollectionSlugs) && !activeCollectionSlugs.length ? emptyQuery : undefined\n let folderWhere: undefined | Where =\n Array.isArray(activeCollectionSlugs) && !activeCollectionSlugs.length ? emptyQuery : undefined\n\n // todo(perf): - collect promises and resolve them in parallel\n for (const activeCollectionSlug of activeCollectionSlugs) {\n if (activeCollectionSlug === payload.config.folders.slug) {\n const folderCollectionConstraints = await buildFolderWhereConstraints({\n collectionConfig: payload.collections[activeCollectionSlug].config,\n folderID,\n localeCode: req?.locale,\n req,\n search: typeof req?.query?.search === 'string' ? req.query.search : undefined,\n sort,\n })\n\n if (folderCollectionConstraints) {\n folderWhere = folderCollectionConstraints\n }\n\n folderWhere = combineWhereConstraints([\n folderWhere,\n Array.isArray(folderAssignedCollections) &&\n folderAssignedCollections.length &&\n payload.config.folders.collectionSpecific\n ? {\n or: [\n {\n folderType: {\n in: folderAssignedCollections,\n },\n },\n // if the folderType is not set, it means it accepts all collections and should appear in the results\n {\n folderType: {\n exists: false,\n },\n },\n ],\n }\n : undefined,\n ])\n } else if ((browseByFolder && folderID) || !browseByFolder) {\n if (!browseByFolder) {\n collectionSlug = activeCollectionSlug\n }\n\n if (!documentWhere) {\n documentWhere = {\n or: [],\n }\n }\n\n const collectionConstraints = await buildFolderWhereConstraints({\n collectionConfig: payload.collections[activeCollectionSlug].config,\n folderID,\n localeCode: req?.locale,\n req,\n search: typeof req?.query?.search === 'string' ? req.query.search : undefined,\n sort,\n })\n\n if (collectionConstraints) {\n documentWhere.or.push(collectionConstraints)\n }\n }\n }\n\n const folderData = await getFolderData({\n collectionSlug,\n documentWhere,\n folderID,\n folderWhere,\n req,\n sort,\n })\n\n let FolderResultsComponent = null\n\n if (displayAs === 'grid') {\n FolderResultsComponent = (\n <div>\n {folderData.subfolders.length ? (\n <>\n <ItemCardGrid items={folderData.subfolders} title={'Folders'} type=\"folder\" />\n </>\n ) : null}\n\n {folderData.documents.length ? (\n <>\n <ItemCardGrid\n items={folderData.documents}\n subfolderCount={folderData.subfolders.length}\n title={'Documents'}\n type=\"file\"\n />\n </>\n ) : null}\n </div>\n )\n } else {\n FolderResultsComponent = <FolderFileTable showRelationCell={browseByFolder} />\n }\n\n return {\n breadcrumbs: folderData.breadcrumbs,\n documents: folderData.documents,\n folderAssignedCollections: folderData.folderAssignedCollections,\n FolderResultsComponent,\n subfolders: folderData.subfolders,\n }\n}\n"],"names":["APIError","formatErrors","getFolderData","buildFolderWhereConstraints","combineWhereConstraints","FolderFileTable","ItemCardGrid","getFolderResultsComponentAndDataHandler","args","req","res","getFolderResultsComponentAndData","err","payload","logger","error","msg","browseByFolder","collectionsToDisplay","activeCollectionSlugs","displayAs","folderAssignedCollections","folderID","undefined","sort","config","folders","emptyQuery","id","exists","collectionSlug","documentWhere","Array","isArray","length","folderWhere","activeCollectionSlug","slug","folderCollectionConstraints","collectionConfig","collections","localeCode","locale","search","query","collectionSpecific","or","folderType","in","collectionConstraints","push","folderData","FolderResultsComponent","div","subfolders","items","title","type","documents","subfolderCount","showRelationCell","breadcrumbs"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- const lockDurationDefault = 300 // Default 5 minutes in seconds
2
- ;
1
+ const lockDurationDefault = 300;
2
+ // Default 5 minutes in seconds
3
3
  export const handleFormStateLocking = async ({ id, collectionSlug, globalSlug, req, updateLastEdited })=>{
4
4
  let result;
5
5
  if (id || globalSlug) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/handleFormStateLocking.ts"],"sourcesContent":["import type { PayloadRequest, TypedUser } from 'payload'\n\ntype Args = {\n collectionSlug?: string\n globalSlug?: string\n id?: number | string\n req: PayloadRequest\n updateLastEdited?: boolean\n}\n\ntype Result = {\n isLocked: boolean\n lastEditedAt: string\n user: TypedUser\n}\n\nconst lockDurationDefault = 300 // Default 5 minutes in seconds\n\nexport const handleFormStateLocking = async ({\n id,\n collectionSlug,\n globalSlug,\n req,\n updateLastEdited,\n}: Args): Promise<Result> => {\n let result: Result\n\n if (id || globalSlug) {\n let lockedDocumentQuery\n\n if (collectionSlug) {\n lockedDocumentQuery = {\n and: [\n { 'document.relationTo': { equals: collectionSlug } },\n { 'document.value': { equals: id } },\n ],\n }\n } else if (globalSlug) {\n lockedDocumentQuery = {\n and: [{ globalSlug: { equals: globalSlug } }],\n }\n }\n\n const lockDocumentsProp = collectionSlug\n ? req.payload.collections?.[collectionSlug]?.config.lockDocuments\n : req.payload.config.globals.find((g) => g.slug === globalSlug)?.lockDocuments\n\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n const now = new Date().getTime()\n\n if (lockedDocumentQuery) {\n // Query where the lock is newer than the current time minus the lock duration\n lockedDocumentQuery.and.push({\n updatedAt: {\n greater_than: new Date(now - lockDurationInMilliseconds).toISOString(),\n },\n })\n\n const lockedDocument = await req.payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n limit: 1,\n overrideAccess: false,\n pagination: false,\n user: req.user,\n where: lockedDocumentQuery,\n })\n\n if (lockedDocument.docs && lockedDocument.docs.length > 0) {\n result = {\n isLocked: true,\n lastEditedAt: lockedDocument.docs[0]?.updatedAt,\n user: lockedDocument.docs[0]?.user?.value,\n }\n\n const lockOwnerID =\n typeof lockedDocument.docs[0]?.user?.value === 'object'\n ? lockedDocument.docs[0]?.user?.value?.id\n : lockedDocument.docs[0]?.user?.value\n // Should only update doc if the incoming / current user is also the owner of the locked doc\n if (updateLastEdited && req.user && lockOwnerID === req.user.id) {\n await req.payload.db.updateOne({\n id: lockedDocument.docs[0].id,\n collection: 'payload-locked-documents',\n data: {},\n returning: false,\n })\n }\n } else {\n // If NO ACTIVE lock document exists, first delete any expired locks and then create a fresh lock\n // Where updatedAt is older than the duration that is specified in the config\n let deleteExpiredLocksQuery\n\n if (collectionSlug) {\n deleteExpiredLocksQuery = {\n and: [\n { 'document.relationTo': { equals: collectionSlug } },\n {\n updatedAt: {\n less_than: new Date(now - lockDurationInMilliseconds).toISOString(),\n },\n },\n ],\n }\n } else if (globalSlug) {\n deleteExpiredLocksQuery = {\n and: [\n { globalSlug: { equals: globalSlug } },\n {\n updatedAt: {\n less_than: new Date(now - lockDurationInMilliseconds).toISOString(),\n },\n },\n ],\n }\n }\n\n await req.payload.db.deleteMany({\n collection: 'payload-locked-documents',\n where: deleteExpiredLocksQuery,\n })\n\n await req.payload.db.create({\n collection: 'payload-locked-documents',\n data: {\n document: collectionSlug\n ? {\n relationTo: collectionSlug,\n value: id,\n }\n : undefined,\n globalSlug: globalSlug ? globalSlug : undefined,\n user: {\n relationTo: req.user.collection,\n value: req.user.id,\n },\n },\n returning: false,\n })\n\n result = {\n isLocked: true,\n lastEditedAt: new Date().toISOString(),\n user: req.user,\n }\n }\n }\n }\n\n return result\n}\n"],"names":["lockDurationDefault","handleFormStateLocking","id","collectionSlug","globalSlug","req","updateLastEdited","result","lockedDocumentQuery","and","equals","lockDocumentsProp","payload","collections","config","lockDocuments","globals","find","g","slug","lockDuration","duration","lockDurationInMilliseconds","now","Date","getTime","push","updatedAt","greater_than","toISOString","lockedDocument","collection","depth","limit","overrideAccess","pagination","user","where","docs","length","isLocked","lastEditedAt","value","lockOwnerID","db","updateOne","data","returning","deleteExpiredLocksQuery","less_than","deleteMany","create","document","relationTo","undefined"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utilities/handleFormStateLocking.ts"],"sourcesContent":["import type { PayloadRequest, TypedUser } from 'payload'\n\ntype Args = {\n collectionSlug?: string\n globalSlug?: string\n id?: number | string\n req: PayloadRequest\n updateLastEdited?: boolean\n}\n\ntype Result = {\n isLocked: boolean\n lastEditedAt: string\n user: TypedUser\n}\n\nconst lockDurationDefault = 300 // Default 5 minutes in seconds\n\nexport const handleFormStateLocking = async ({\n id,\n collectionSlug,\n globalSlug,\n req,\n updateLastEdited,\n}: Args): Promise<Result> => {\n let result: Result\n\n if (id || globalSlug) {\n let lockedDocumentQuery\n\n if (collectionSlug) {\n lockedDocumentQuery = {\n and: [\n { 'document.relationTo': { equals: collectionSlug } },\n { 'document.value': { equals: id } },\n ],\n }\n } else if (globalSlug) {\n lockedDocumentQuery = {\n and: [{ globalSlug: { equals: globalSlug } }],\n }\n }\n\n const lockDocumentsProp = collectionSlug\n ? req.payload.collections?.[collectionSlug]?.config.lockDocuments\n : req.payload.config.globals.find((g) => g.slug === globalSlug)?.lockDocuments\n\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n const now = new Date().getTime()\n\n if (lockedDocumentQuery) {\n // Query where the lock is newer than the current time minus the lock duration\n lockedDocumentQuery.and.push({\n updatedAt: {\n greater_than: new Date(now - lockDurationInMilliseconds).toISOString(),\n },\n })\n\n const lockedDocument = await req.payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n limit: 1,\n overrideAccess: false,\n pagination: false,\n user: req.user,\n where: lockedDocumentQuery,\n })\n\n if (lockedDocument.docs && lockedDocument.docs.length > 0) {\n result = {\n isLocked: true,\n lastEditedAt: lockedDocument.docs[0]?.updatedAt,\n user: lockedDocument.docs[0]?.user?.value,\n }\n\n const lockOwnerID =\n typeof lockedDocument.docs[0]?.user?.value === 'object'\n ? lockedDocument.docs[0]?.user?.value?.id\n : lockedDocument.docs[0]?.user?.value\n // Should only update doc if the incoming / current user is also the owner of the locked doc\n if (updateLastEdited && req.user && lockOwnerID === req.user.id) {\n await req.payload.db.updateOne({\n id: lockedDocument.docs[0].id,\n collection: 'payload-locked-documents',\n data: {},\n returning: false,\n })\n }\n } else {\n // If NO ACTIVE lock document exists, first delete any expired locks and then create a fresh lock\n // Where updatedAt is older than the duration that is specified in the config\n let deleteExpiredLocksQuery\n\n if (collectionSlug) {\n deleteExpiredLocksQuery = {\n and: [\n { 'document.relationTo': { equals: collectionSlug } },\n {\n updatedAt: {\n less_than: new Date(now - lockDurationInMilliseconds).toISOString(),\n },\n },\n ],\n }\n } else if (globalSlug) {\n deleteExpiredLocksQuery = {\n and: [\n { globalSlug: { equals: globalSlug } },\n {\n updatedAt: {\n less_than: new Date(now - lockDurationInMilliseconds).toISOString(),\n },\n },\n ],\n }\n }\n\n await req.payload.db.deleteMany({\n collection: 'payload-locked-documents',\n where: deleteExpiredLocksQuery,\n })\n\n await req.payload.db.create({\n collection: 'payload-locked-documents',\n data: {\n document: collectionSlug\n ? {\n relationTo: collectionSlug,\n value: id,\n }\n : undefined,\n globalSlug: globalSlug ? globalSlug : undefined,\n user: {\n relationTo: req.user.collection,\n value: req.user.id,\n },\n },\n returning: false,\n })\n\n result = {\n isLocked: true,\n lastEditedAt: new Date().toISOString(),\n user: req.user,\n }\n }\n }\n }\n\n return result\n}\n"],"names":["lockDurationDefault","handleFormStateLocking","id","collectionSlug","globalSlug","req","updateLastEdited","result","lockedDocumentQuery","and","equals","lockDocumentsProp","payload","collections","config","lockDocuments","globals","find","g","slug","lockDuration","duration","lockDurationInMilliseconds","now","Date","getTime","push","updatedAt","greater_than","toISOString","lockedDocument","collection","depth","limit","overrideAccess","pagination","user","where","docs","length","isLocked","lastEditedAt","value","lockOwnerID","db","updateOne","data","returning","deleteExpiredLocksQuery","less_than","deleteMany","create","document","relationTo","undefined"],"mappings":"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"}
@@ -1,4 +1,8 @@
1
- export const hasSavePermission = (args)=>{
1
+ export const hasSavePermission = (args)=>/*
2
+ * Pass either `collectionSlug` or `globalSlug`
3
+ */ /*
4
+ * Pass either `collectionSlug` or `globalSlug`
5
+ */ {
2
6
  const { collectionSlug, docPermissions, globalSlug, isEditing } = args;
3
7
  if (collectionSlug) {
4
8
  return Boolean(isEditing && docPermissions?.update || !isEditing && docPermissions?.create);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/hasSavePermission.ts"],"sourcesContent":["import type {\n SanitizedCollectionPermission,\n SanitizedDocumentPermissions,\n SanitizedGlobalPermission,\n} from 'payload'\n\nexport const hasSavePermission = (args: {\n /*\n * Pass either `collectionSlug` or `globalSlug`\n */\n collectionSlug?: string\n docPermissions: SanitizedDocumentPermissions\n /*\n * Pass either `collectionSlug` or `globalSlug`\n */\n globalSlug?: string\n isEditing: boolean\n}) => {\n const { collectionSlug, docPermissions, globalSlug, isEditing } = args\n\n if (collectionSlug) {\n return Boolean(\n (isEditing && docPermissions?.update) ||\n (!isEditing && (docPermissions as SanitizedCollectionPermission)?.create),\n )\n }\n\n if (globalSlug) {\n return Boolean((docPermissions as SanitizedGlobalPermission)?.update)\n }\n\n return false\n}\n"],"names":["hasSavePermission","args","collectionSlug","docPermissions","globalSlug","isEditing","Boolean","update","create"],"mappings":"AAMA,OAAO,MAAMA,oBAAoB,CAACC;IAYhC,MAAM,EAAEC,cAAc,EAAEC,cAAc,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGJ;IAElE,IAAIC,gBAAgB;QAClB,OAAOI,QACL,AAACD,aAAaF,gBAAgBI,UAC3B,CAACF,aAAcF,gBAAkDK;IAExE;IAEA,IAAIJ,YAAY;QACd,OAAOE,QAASH,gBAA8CI;IAChE;IAEA,OAAO;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/hasSavePermission.ts"],"sourcesContent":["import type {\n SanitizedCollectionPermission,\n SanitizedDocumentPermissions,\n SanitizedGlobalPermission,\n} from 'payload'\n\nexport const hasSavePermission = (args: {\n /*\n * Pass either `collectionSlug` or `globalSlug`\n */\n collectionSlug?: string\n docPermissions: SanitizedDocumentPermissions\n /*\n * Pass either `collectionSlug` or `globalSlug`\n */\n globalSlug?: string\n isEditing: boolean\n}) => {\n const { collectionSlug, docPermissions, globalSlug, isEditing } = args\n\n if (collectionSlug) {\n return Boolean(\n (isEditing && docPermissions?.update) ||\n (!isEditing && (docPermissions as SanitizedCollectionPermission)?.create),\n )\n }\n\n if (globalSlug) {\n return Boolean((docPermissions as SanitizedGlobalPermission)?.update)\n }\n\n return false\n}\n"],"names":["hasSavePermission","args","collectionSlug","docPermissions","globalSlug","isEditing","Boolean","update","create"],"mappings":"AAMA,OAAO,MAAMA,oBAAoB,CAACC,OAChC;;GAEC,GAGD;;GAEC;IAID,MAAM,EAAEC,cAAc,EAAEC,cAAc,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGJ;IAElE,IAAIC,gBAAgB;QAClB,OAAOI,QACL,AAACD,aAAaF,gBAAgBI,UAC3B,CAACF,aAAcF,gBAAkDK;IAExE;IAEA,IAAIJ,YAAY;QACd,OAAOE,QAASH,gBAA8CI;IAChE;IAEA,OAAO;AACT,EAAC"}
@@ -13,9 +13,9 @@ export const isURLAllowed = (url, allowList)=>{
13
13
  }
14
14
  if (key === 'pathname') {
15
15
  // Convert wildcards to a regex
16
- const regexPattern = value.replace(/\*\*/g, '.*') // Match any path
17
- .replace(/\*/g, '[^/]*') // Match any part of a path segment
18
- ;
16
+ const regexPattern = value.replace(/\*\*/g, '.*').// Match any path
17
+ replace(/\*/g, '[^/]*');
18
+ // Match any part of a path segment
19
19
  const regex = new RegExp(`^${regexPattern}$`);
20
20
  return regex.test(parsedUrl.pathname);
21
21
  }
@@ -24,9 +24,9 @@ export const isURLAllowed = (url, allowList)=>{
24
24
  });
25
25
  });
26
26
  } catch {
27
- return false // If the URL is invalid, deny by default
28
- ;
27
+ return false;
29
28
  }
30
- };
29
+ } // If the URL is invalid, deny by default
30
+ ;
31
31
 
32
32
  //# sourceMappingURL=isURLAllowed.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/isURLAllowed.ts"],"sourcesContent":["import type { AllowList } from 'payload'\n\nexport const isURLAllowed = (url: string, allowList: AllowList): boolean => {\n try {\n const parsedUrl = new URL(url)\n\n return allowList.some((allowItem) => {\n return Object.entries(allowItem).every(([key, value]) => {\n // Skip undefined or null values\n if (!value) {\n return true\n }\n // Compare protocol with colon\n if (key === 'protocol') {\n return typeof value === 'string' && parsedUrl.protocol === `${value}:`\n }\n\n if (key === 'pathname') {\n // Convert wildcards to a regex\n const regexPattern = value\n .replace(/\\*\\*/g, '.*') // Match any path\n .replace(/\\*/g, '[^/]*') // Match any part of a path segment\n const regex = new RegExp(`^${regexPattern}$`)\n return regex.test(parsedUrl.pathname)\n }\n\n // Default comparison for all other properties (hostname, port, search)\n return parsedUrl[key as keyof URL] === value\n })\n })\n } catch {\n return false // If the URL is invalid, deny by default\n }\n}\n"],"names":["isURLAllowed","url","allowList","parsedUrl","URL","some","allowItem","Object","entries","every","key","value","protocol","regexPattern","replace","regex","RegExp","test","pathname"],"mappings":"AAEA,OAAO,MAAMA,eAAe,CAACC,KAAaC;IACxC,IAAI;QACF,MAAMC,YAAY,IAAIC,IAAIH;QAE1B,OAAOC,UAAUG,IAAI,CAAC,CAACC;YACrB,OAAOC,OAAOC,OAAO,CAACF,WAAWG,KAAK,CAAC,CAAC,CAACC,KAAKC,MAAM;gBAClD,gCAAgC;gBAChC,IAAI,CAACA,OAAO;oBACV,OAAO;gBACT;gBACA,8BAA8B;gBAC9B,IAAID,QAAQ,YAAY;oBACtB,OAAO,OAAOC,UAAU,YAAYR,UAAUS,QAAQ,KAAK,GAAGD,MAAM,CAAC,CAAC;gBACxE;gBAEA,IAAID,QAAQ,YAAY;oBACtB,+BAA+B;oBAC/B,MAAMG,eAAeF,MAClBG,OAAO,CAAC,SAAS,MAAM,iBAAiB;qBACxCA,OAAO,CAAC,OAAO,SAAS,mCAAmC;;oBAC9D,MAAMC,QAAQ,IAAIC,OAAO,CAAC,CAAC,EAAEH,aAAa,CAAC,CAAC;oBAC5C,OAAOE,MAAME,IAAI,CAACd,UAAUe,QAAQ;gBACtC;gBAEA,uEAAuE;gBACvE,OAAOf,SAAS,CAACO,IAAiB,KAAKC;YACzC;QACF;IACF,EAAE,OAAM;QACN,OAAO,MAAM,yCAAyC;;IACxD;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/isURLAllowed.ts"],"sourcesContent":["import type { AllowList } from 'payload'\n\nexport const isURLAllowed = (url: string, allowList: AllowList): boolean => {\n try {\n const parsedUrl = new URL(url)\n\n return allowList.some((allowItem) => {\n return Object.entries(allowItem).every(([key, value]) => {\n // Skip undefined or null values\n if (!value) {\n return true\n }\n // Compare protocol with colon\n if (key === 'protocol') {\n return typeof value === 'string' && parsedUrl.protocol === `${value}:`\n }\n\n if (key === 'pathname') {\n // Convert wildcards to a regex\n const regexPattern = value\n .replace(/\\*\\*/g, '.*') // Match any path\n .replace(/\\*/g, '[^/]*') // Match any part of a path segment\n const regex = new RegExp(`^${regexPattern}$`)\n return regex.test(parsedUrl.pathname)\n }\n\n // Default comparison for all other properties (hostname, port, search)\n return parsedUrl[key as keyof URL] === value\n })\n })\n } catch {\n return false // If the URL is invalid, deny by default\n }\n}\n"],"names":["isURLAllowed","url","allowList","parsedUrl","URL","some","allowItem","Object","entries","every","key","value","protocol","regexPattern","replace","regex","RegExp","test","pathname"],"mappings":"AAEA,OAAO,MAAMA,eAAe,CAACC,KAAaC;IACxC,IAAI;QACF,MAAMC,YAAY,IAAIC,IAAIH;QAE1B,OAAOC,UAAUG,IAAI,CAAC,CAACC;YACrB,OAAOC,OAAOC,OAAO,CAACF,WAAWG,KAAK,CAAC,CAAC,CAACC,KAAKC,MAAM;gBAClD,gCAAgC;gBAChC,IAAI,CAACA,OAAO;oBACV,OAAO;gBACT;gBACA,8BAA8B;gBAC9B,IAAID,QAAQ,YAAY;oBACtB,OAAO,OAAOC,UAAU,YAAYR,UAAUS,QAAQ,KAAK,GAAGD,MAAM,CAAC,CAAC;gBACxE;gBAEA,IAAID,QAAQ,YAAY;oBACtB,+BAA+B;oBAC/B,MAAMG,eAAeF,MAClBG,OAAO,CAAC,SAAS,MAAM,iBAAiB;oBACxCA,OAAO,CAAC,OAAO;oBAAS,mCAAmC;oBAC9D,MAAMC,QAAQ,IAAIC,OAAO,CAAC,CAAC,EAAEH,aAAa,CAAC,CAAC;oBAC5C,OAAOE,MAAME,IAAI,CAACd,UAAUe,QAAQ;gBACtC;gBAEA,uEAAuE;gBACvE,OAAOf,SAAS,CAACO,IAAiB,KAAKC;YACzC;QACF;IACF,EAAE,OAAM;QACN,OAAO;IACT;AACF,EAFiB,yCAAyC;CAEzD"}
@@ -1,9 +1,10 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
2
2
  import { getTranslation } from '@payloadcms/translations';
3
3
  import { fieldAffectsData, fieldIsHiddenOrDisabled } from 'payload/shared';
4
4
  import React from 'react';
5
5
  import { RenderServerComponent } from '../elements/RenderServerComponent/index.js';
6
- import { GroupByHeader, GroupByPageControls, OrderableTable, Pill, SelectAll, SelectionProvider, SelectRow, SortHeader, SortRow, Table } from '../exports/client/index.js';
6
+ import { GroupByHeader, GroupByPageControls, OrderableTable, Pill, SelectAll, SelectionProvider, SelectRow, SortHeader, SortRow, Table } from // eslint-disable-next-line payload/no-imports-from-exports-dir -- these MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587
7
+ '../exports/client/index.js';
7
8
  import { filterFieldsWithPermissions } from '../providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js';
8
9
  import { buildColumnState } from '../providers/TableColumns/buildColumnState/index.js';
9
10
  export const renderFilters = (fields, importMap)=>fields.reduce((acc, field)=>{
@@ -98,10 +99,14 @@ export const renderTable = ({ clientCollectionConfig, clientConfig, collectionCo
98
99
  hidden: true
99
100
  },
100
101
  Heading: i18n.t('version:type'),
101
- renderedCells: (data?.docs || []).map((doc, i)=>/*#__PURE__*/ _jsx(Pill, {
102
+ renderedCells: (data?.docs || []).map((doc, i)=>/*#__PURE__*/ _jsxDEV(Pill, {
102
103
  size: "small",
103
104
  children: getTranslation(collections ? payload.collections[doc.relationTo].config.labels.singular : clientCollectionConfig.labels.singular, i18n)
104
- }, i))
105
+ }, i, false, {
106
+ fileName: "src/utilities/renderTable.tsx",
107
+ lineNumber: 224,
108
+ columnNumber: 9
109
+ }, this))
105
110
  });
106
111
  }
107
112
  if (enableRowSelections) {
@@ -114,58 +119,94 @@ export const renderTable = ({ clientCollectionConfig, clientConfig, collectionCo
114
119
  },
115
120
  hidden: true
116
121
  },
117
- Heading: /*#__PURE__*/ _jsx(SelectAll, {}),
118
- renderedCells: (data?.docs || []).map((_, i)=>/*#__PURE__*/ _jsx(SelectRow, {
122
+ Heading: /*#__PURE__*/ _jsxDEV(SelectAll, {}, void 0, false, {
123
+ fileName: "src/utilities/renderTable.tsx",
124
+ lineNumber: 246,
125
+ columnNumber: 16
126
+ }, this),
127
+ renderedCells: (data?.docs || []).map((_, i)=>/*#__PURE__*/ _jsxDEV(SelectRow, {
119
128
  rowData: data?.docs[i]
120
- }, i))
129
+ }, i, false, {
130
+ fileName: "src/utilities/renderTable.tsx",
131
+ lineNumber: 248,
132
+ columnNumber: 9
133
+ }, this))
121
134
  });
122
135
  }
123
136
  if (isGroupingBy) {
124
137
  return {
125
138
  columnState,
126
139
  // key is required since Next.js 15.2.0 to prevent React key error
127
- Table: /*#__PURE__*/ _jsx("div", {
140
+ Table: /*#__PURE__*/ _jsxDEV("div", {
128
141
  className: [
129
142
  'table-wrap',
130
143
  groupByValue !== undefined && `table-wrap--group-by`
131
144
  ].filter(Boolean).join(' '),
132
- children: /*#__PURE__*/ _jsxs(SelectionProvider, {
145
+ children: /*#__PURE__*/ _jsxDEV(SelectionProvider, {
133
146
  docs: data?.docs || [],
134
147
  totalDocs: data?.totalDocs || 0,
135
148
  children: [
136
- /*#__PURE__*/ _jsx(GroupByHeader, {
149
+ /*#__PURE__*/ _jsxDEV(GroupByHeader, {
137
150
  collectionConfig: clientCollectionConfig,
138
151
  groupByFieldPath: groupByFieldPath,
139
152
  groupByValue: groupByValue,
140
153
  heading: heading
141
- }),
142
- /*#__PURE__*/ _jsx(Table, {
154
+ }, void 0, false, {
155
+ fileName: "src/utilities/renderTable.tsx",
156
+ lineNumber: 265,
157
+ columnNumber: 13
158
+ }, this),
159
+ /*#__PURE__*/ _jsxDEV(Table, {
143
160
  appearance: tableAppearance,
144
161
  columns: columnsToUse,
145
162
  data: data?.docs || []
146
- }),
147
- /*#__PURE__*/ _jsx(GroupByPageControls, {
163
+ }, void 0, false, {
164
+ fileName: "src/utilities/renderTable.tsx",
165
+ lineNumber: 271,
166
+ columnNumber: 13
167
+ }, this),
168
+ /*#__PURE__*/ _jsxDEV(GroupByPageControls, {
148
169
  collectionConfig: clientCollectionConfig,
149
170
  data: data,
150
171
  groupByValue: groupByValue
151
- })
172
+ }, void 0, false, {
173
+ fileName: "src/utilities/renderTable.tsx",
174
+ lineNumber: 272,
175
+ columnNumber: 13
176
+ }, this)
152
177
  ]
153
- })
154
- }, key)
178
+ }, void 0, true, {
179
+ fileName: "src/utilities/renderTable.tsx",
180
+ lineNumber: 264,
181
+ columnNumber: 11
182
+ }, this)
183
+ }, key, false, {
184
+ fileName: "src/utilities/renderTable.tsx",
185
+ lineNumber: 258,
186
+ columnNumber: 9
187
+ }, this)
155
188
  };
156
189
  }
157
190
  if (!orderableFieldName) {
158
191
  return {
159
192
  columnState,
160
193
  // key is required since Next.js 15.2.0 to prevent React key error
161
- Table: /*#__PURE__*/ _jsx("div", {
194
+ Table: /*#__PURE__*/ _jsxDEV("div", {
162
195
  className: "table-wrap",
163
- children: /*#__PURE__*/ _jsx(Table, {
196
+ children: /*#__PURE__*/ _jsxDEV(Table, {
164
197
  appearance: tableAppearance,
165
198
  columns: columnsToUse,
166
199
  data: data?.docs || []
167
- })
168
- }, key)
200
+ }, void 0, false, {
201
+ fileName: "src/utilities/renderTable.tsx",
202
+ lineNumber: 289,
203
+ columnNumber: 11
204
+ }, this)
205
+ }, key, false, {
206
+ fileName: "src/utilities/renderTable.tsx",
207
+ lineNumber: 288,
208
+ columnNumber: 9
209
+ }, this)
169
210
  };
170
211
  }
171
212
  columnsToUse.unshift({
@@ -177,21 +218,37 @@ export const renderTable = ({ clientCollectionConfig, clientConfig, collectionCo
177
218
  },
178
219
  hidden: true
179
220
  },
180
- Heading: /*#__PURE__*/ _jsx(SortHeader, {}),
181
- renderedCells: (data?.docs || []).map((_, i)=>/*#__PURE__*/ _jsx(SortRow, {}, i))
221
+ Heading: /*#__PURE__*/ _jsxDEV(SortHeader, {}, void 0, false, {
222
+ fileName: "src/utilities/renderTable.tsx",
223
+ lineNumber: 304,
224
+ columnNumber: 14
225
+ }, this),
226
+ renderedCells: (data?.docs || []).map((_, i)=>/*#__PURE__*/ _jsxDEV(SortRow, {}, i, false, {
227
+ fileName: "src/utilities/renderTable.tsx",
228
+ lineNumber: 305,
229
+ columnNumber: 53
230
+ }, this))
182
231
  });
183
232
  return {
184
233
  columnState,
185
234
  // key is required since Next.js 15.2.0 to prevent React key error
186
- Table: /*#__PURE__*/ _jsx("div", {
235
+ Table: /*#__PURE__*/ _jsxDEV("div", {
187
236
  className: "table-wrap",
188
- children: /*#__PURE__*/ _jsx(OrderableTable, {
237
+ children: /*#__PURE__*/ _jsxDEV(OrderableTable, {
189
238
  appearance: tableAppearance,
190
239
  collection: clientCollectionConfig,
191
240
  columns: columnsToUse,
192
241
  data: data?.docs || []
193
- })
194
- }, key)
242
+ }, void 0, false, {
243
+ fileName: "src/utilities/renderTable.tsx",
244
+ lineNumber: 313,
245
+ columnNumber: 9
246
+ }, this)
247
+ }, key, false, {
248
+ fileName: "src/utilities/renderTable.tsx",
249
+ lineNumber: 312,
250
+ columnNumber: 7
251
+ }, this)
195
252
  };
196
253
  };
197
254
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/renderTable.tsx"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n CollectionConfig,\n Column,\n ColumnPreference,\n Field,\n ImportMap,\n ListQuery,\n PaginatedDocs,\n Payload,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedFieldsPermissions,\n ViewTypes,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled } from 'payload/shared'\nimport React from 'react'\n\nimport type { BuildColumnStateArgs } from '../providers/TableColumns/buildColumnState/index.js'\n\nimport { RenderServerComponent } from '../elements/RenderServerComponent/index.js'\nimport {\n GroupByHeader,\n GroupByPageControls,\n OrderableTable,\n Pill,\n SelectAll,\n SelectionProvider,\n SelectRow,\n SortHeader,\n SortRow,\n Table,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- these MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../exports/client/index.js'\nimport { filterFieldsWithPermissions } from '../providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js'\nimport { buildColumnState } from '../providers/TableColumns/buildColumnState/index.js'\n\nexport const renderFilters = (\n fields: Field[],\n importMap: ImportMap,\n): Map<string, React.ReactNode> =>\n fields.reduce(\n (acc, field) => {\n if (fieldIsHiddenOrDisabled(field)) {\n return acc\n }\n\n if ('name' in field && field.admin?.components?.Filter) {\n acc.set(\n field.name,\n RenderServerComponent({\n Component: field.admin.components?.Filter,\n importMap,\n }),\n )\n }\n\n return acc\n },\n new Map() as Map<string, React.ReactNode>,\n )\n\nexport const renderTable = ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collections,\n columns,\n customCellProps,\n data,\n enableRowSelections,\n fieldPermissions,\n groupByFieldPath,\n groupByValue,\n heading,\n i18n,\n key = 'table',\n orderableFieldName,\n payload,\n query,\n renderRowTypes,\n req,\n tableAppearance,\n useAsTitle,\n viewType,\n}: {\n clientCollectionConfig?: ClientCollectionConfig\n clientConfig?: ClientConfig\n collectionConfig?: SanitizedCollectionConfig\n collections?: string[]\n columns: ColumnPreference[]\n customCellProps?: Record<string, unknown>\n data?: PaginatedDocs | undefined\n drawerSlug?: string\n enableRowSelections: boolean\n fieldPermissions?: SanitizedFieldsPermissions\n groupByFieldPath?: string\n groupByValue?: string\n heading?: string\n i18n: I18nClient\n key?: string\n orderableFieldName: string\n payload: Payload\n query?: ListQuery\n renderRowTypes?: boolean\n req?: PayloadRequest\n tableAppearance?: 'condensed' | 'default'\n useAsTitle: CollectionConfig['admin']['useAsTitle']\n viewType?: ViewTypes\n}): {\n columnState: Column[]\n Table: React.ReactNode\n} => {\n // Ensure that columns passed as args comply with the field config, i.e. `hidden`, `disableListColumn`, etc.\n\n let columnState: Column[]\n let clientFields: ClientField[] = clientCollectionConfig?.fields || []\n let serverFields: Field[] = collectionConfig?.fields || []\n const isPolymorphic = collections\n\n const isGroupingBy = Boolean(collectionConfig?.admin?.groupBy && query?.groupBy)\n\n if (isPolymorphic) {\n clientFields = []\n serverFields = []\n\n for (const collection of collections) {\n const clientCollectionConfig = clientConfig.collections.find(\n (each) => each.slug === collection,\n )\n\n for (const field of filterFieldsWithPermissions({\n fieldPermissions,\n fields: clientCollectionConfig.fields,\n })) {\n if (fieldAffectsData(field)) {\n if (clientFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n clientFields.push(field)\n }\n\n const serverCollectionConfig = payload.collections[collection].config\n\n for (const field of filterFieldsWithPermissions<Field>({\n fieldPermissions,\n fields: serverCollectionConfig.fields,\n })) {\n if (fieldAffectsData(field)) {\n if (serverFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n serverFields.push(field)\n }\n }\n }\n\n const sharedArgs: Pick<\n BuildColumnStateArgs,\n | 'clientFields'\n | 'columns'\n | 'customCellProps'\n | 'enableRowSelections'\n | 'fieldPermissions'\n | 'i18n'\n | 'payload'\n | 'req'\n | 'serverFields'\n | 'useAsTitle'\n | 'viewType'\n > = {\n clientFields,\n columns,\n enableRowSelections,\n fieldPermissions,\n i18n,\n // sortColumnProps,\n customCellProps,\n payload,\n req,\n serverFields,\n useAsTitle,\n viewType,\n }\n\n if (isPolymorphic) {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: undefined,\n dataType: 'polymorphic',\n docs: data?.docs || [],\n })\n } else {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: clientCollectionConfig.slug,\n dataType: 'monomorphic',\n docs: data?.docs || [],\n })\n }\n\n const columnsToUse = [...columnState]\n\n if (renderRowTypes) {\n columnsToUse.unshift({\n accessor: 'collection',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: i18n.t('version:type'),\n renderedCells: (data?.docs || []).map((doc, i) => (\n <Pill key={i} size=\"small\">\n {getTranslation(\n collections\n ? payload.collections[doc.relationTo].config.labels.singular\n : clientCollectionConfig.labels.singular,\n i18n,\n )}\n </Pill>\n )),\n } as Column)\n }\n\n if (enableRowSelections) {\n columnsToUse.unshift({\n accessor: '_select',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SelectAll />,\n renderedCells: (data?.docs || []).map((_, i) => (\n <SelectRow key={i} rowData={data?.docs[i]} />\n )),\n } as Column)\n }\n\n if (isGroupingBy) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div\n className={['table-wrap', groupByValue !== undefined && `table-wrap--group-by`]\n .filter(Boolean)\n .join(' ')}\n key={key}\n >\n <SelectionProvider docs={data?.docs || []} totalDocs={data?.totalDocs || 0}>\n <GroupByHeader\n collectionConfig={clientCollectionConfig}\n groupByFieldPath={groupByFieldPath}\n groupByValue={groupByValue}\n heading={heading}\n />\n <Table appearance={tableAppearance} columns={columnsToUse} data={data?.docs || []} />\n <GroupByPageControls\n collectionConfig={clientCollectionConfig}\n data={data}\n groupByValue={groupByValue}\n />\n </SelectionProvider>\n </div>\n ),\n }\n }\n\n if (!orderableFieldName) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div className=\"table-wrap\" key={key}>\n <Table appearance={tableAppearance} columns={columnsToUse} data={data?.docs || []} />\n </div>\n ),\n }\n }\n\n columnsToUse.unshift({\n accessor: '_dragHandle',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SortHeader />,\n renderedCells: (data?.docs || []).map((_, i) => <SortRow key={i} />),\n } as Column)\n\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div className=\"table-wrap\" key={key}>\n <OrderableTable\n appearance={tableAppearance}\n collection={clientCollectionConfig}\n columns={columnsToUse}\n data={data?.docs || []}\n />\n </div>\n ),\n }\n}\n"],"names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","React","RenderServerComponent","GroupByHeader","GroupByPageControls","OrderableTable","Pill","SelectAll","SelectionProvider","SelectRow","SortHeader","SortRow","Table","filterFieldsWithPermissions","buildColumnState","renderFilters","fields","importMap","reduce","acc","field","admin","components","Filter","set","name","Component","Map","renderTable","clientCollectionConfig","clientConfig","collectionConfig","collections","columns","customCellProps","data","enableRowSelections","fieldPermissions","groupByFieldPath","groupByValue","heading","i18n","key","orderableFieldName","payload","query","renderRowTypes","req","tableAppearance","useAsTitle","viewType","columnState","clientFields","serverFields","isPolymorphic","isGroupingBy","Boolean","groupBy","collection","find","each","slug","some","push","serverCollectionConfig","config","sharedArgs","collectionSlug","undefined","dataType","docs","columnsToUse","unshift","accessor","active","disabled","hidden","Heading","t","renderedCells","map","doc","i","size","relationTo","labels","singular","_","rowData","div","className","filter","join","totalDocs","appearance"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utilities/renderTable.tsx"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n CollectionConfig,\n Column,\n ColumnPreference,\n Field,\n ImportMap,\n ListQuery,\n PaginatedDocs,\n Payload,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedFieldsPermissions,\n ViewTypes,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled } from 'payload/shared'\nimport React from 'react'\n\nimport type { BuildColumnStateArgs } from '../providers/TableColumns/buildColumnState/index.js'\n\nimport { RenderServerComponent } from '../elements/RenderServerComponent/index.js'\nimport {\n GroupByHeader,\n GroupByPageControls,\n OrderableTable,\n Pill,\n SelectAll,\n SelectionProvider,\n SelectRow,\n SortHeader,\n SortRow,\n Table,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- these MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../exports/client/index.js'\nimport { filterFieldsWithPermissions } from '../providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js'\nimport { buildColumnState } from '../providers/TableColumns/buildColumnState/index.js'\n\nexport const renderFilters = (\n fields: Field[],\n importMap: ImportMap,\n): Map<string, React.ReactNode> =>\n fields.reduce(\n (acc, field) => {\n if (fieldIsHiddenOrDisabled(field)) {\n return acc\n }\n\n if ('name' in field && field.admin?.components?.Filter) {\n acc.set(\n field.name,\n RenderServerComponent({\n Component: field.admin.components?.Filter,\n importMap,\n }),\n )\n }\n\n return acc\n },\n new Map() as Map<string, React.ReactNode>,\n )\n\nexport const renderTable = ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collections,\n columns,\n customCellProps,\n data,\n enableRowSelections,\n fieldPermissions,\n groupByFieldPath,\n groupByValue,\n heading,\n i18n,\n key = 'table',\n orderableFieldName,\n payload,\n query,\n renderRowTypes,\n req,\n tableAppearance,\n useAsTitle,\n viewType,\n}: {\n clientCollectionConfig?: ClientCollectionConfig\n clientConfig?: ClientConfig\n collectionConfig?: SanitizedCollectionConfig\n collections?: string[]\n columns: ColumnPreference[]\n customCellProps?: Record<string, unknown>\n data?: PaginatedDocs | undefined\n drawerSlug?: string\n enableRowSelections: boolean\n fieldPermissions?: SanitizedFieldsPermissions\n groupByFieldPath?: string\n groupByValue?: string\n heading?: string\n i18n: I18nClient\n key?: string\n orderableFieldName: string\n payload: Payload\n query?: ListQuery\n renderRowTypes?: boolean\n req?: PayloadRequest\n tableAppearance?: 'condensed' | 'default'\n useAsTitle: CollectionConfig['admin']['useAsTitle']\n viewType?: ViewTypes\n}): {\n columnState: Column[]\n Table: React.ReactNode\n} => {\n // Ensure that columns passed as args comply with the field config, i.e. `hidden`, `disableListColumn`, etc.\n\n let columnState: Column[]\n let clientFields: ClientField[] = clientCollectionConfig?.fields || []\n let serverFields: Field[] = collectionConfig?.fields || []\n const isPolymorphic = collections\n\n const isGroupingBy = Boolean(collectionConfig?.admin?.groupBy && query?.groupBy)\n\n if (isPolymorphic) {\n clientFields = []\n serverFields = []\n\n for (const collection of collections) {\n const clientCollectionConfig = clientConfig.collections.find(\n (each) => each.slug === collection,\n )\n\n for (const field of filterFieldsWithPermissions({\n fieldPermissions,\n fields: clientCollectionConfig.fields,\n })) {\n if (fieldAffectsData(field)) {\n if (clientFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n clientFields.push(field)\n }\n\n const serverCollectionConfig = payload.collections[collection].config\n\n for (const field of filterFieldsWithPermissions<Field>({\n fieldPermissions,\n fields: serverCollectionConfig.fields,\n })) {\n if (fieldAffectsData(field)) {\n if (serverFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n serverFields.push(field)\n }\n }\n }\n\n const sharedArgs: Pick<\n BuildColumnStateArgs,\n | 'clientFields'\n | 'columns'\n | 'customCellProps'\n | 'enableRowSelections'\n | 'fieldPermissions'\n | 'i18n'\n | 'payload'\n | 'req'\n | 'serverFields'\n | 'useAsTitle'\n | 'viewType'\n > = {\n clientFields,\n columns,\n enableRowSelections,\n fieldPermissions,\n i18n,\n // sortColumnProps,\n customCellProps,\n payload,\n req,\n serverFields,\n useAsTitle,\n viewType,\n }\n\n if (isPolymorphic) {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: undefined,\n dataType: 'polymorphic',\n docs: data?.docs || [],\n })\n } else {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: clientCollectionConfig.slug,\n dataType: 'monomorphic',\n docs: data?.docs || [],\n })\n }\n\n const columnsToUse = [...columnState]\n\n if (renderRowTypes) {\n columnsToUse.unshift({\n accessor: 'collection',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: i18n.t('version:type'),\n renderedCells: (data?.docs || []).map((doc, i) => (\n <Pill key={i} size=\"small\">\n {getTranslation(\n collections\n ? payload.collections[doc.relationTo].config.labels.singular\n : clientCollectionConfig.labels.singular,\n i18n,\n )}\n </Pill>\n )),\n } as Column)\n }\n\n if (enableRowSelections) {\n columnsToUse.unshift({\n accessor: '_select',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SelectAll />,\n renderedCells: (data?.docs || []).map((_, i) => (\n <SelectRow key={i} rowData={data?.docs[i]} />\n )),\n } as Column)\n }\n\n if (isGroupingBy) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div\n className={['table-wrap', groupByValue !== undefined && `table-wrap--group-by`]\n .filter(Boolean)\n .join(' ')}\n key={key}\n >\n <SelectionProvider docs={data?.docs || []} totalDocs={data?.totalDocs || 0}>\n <GroupByHeader\n collectionConfig={clientCollectionConfig}\n groupByFieldPath={groupByFieldPath}\n groupByValue={groupByValue}\n heading={heading}\n />\n <Table appearance={tableAppearance} columns={columnsToUse} data={data?.docs || []} />\n <GroupByPageControls\n collectionConfig={clientCollectionConfig}\n data={data}\n groupByValue={groupByValue}\n />\n </SelectionProvider>\n </div>\n ),\n }\n }\n\n if (!orderableFieldName) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div className=\"table-wrap\" key={key}>\n <Table appearance={tableAppearance} columns={columnsToUse} data={data?.docs || []} />\n </div>\n ),\n }\n }\n\n columnsToUse.unshift({\n accessor: '_dragHandle',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SortHeader />,\n renderedCells: (data?.docs || []).map((_, i) => <SortRow key={i} />),\n } as Column)\n\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div className=\"table-wrap\" key={key}>\n <OrderableTable\n appearance={tableAppearance}\n collection={clientCollectionConfig}\n columns={columnsToUse}\n data={data?.docs || []}\n />\n </div>\n ),\n }\n}\n"],"names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","React","RenderServerComponent","GroupByHeader","GroupByPageControls","OrderableTable","Pill","SelectAll","SelectionProvider","SelectRow","SortHeader","SortRow","Table","filterFieldsWithPermissions","buildColumnState","renderFilters","fields","importMap","reduce","acc","field","admin","components","Filter","set","name","Component","Map","renderTable","clientCollectionConfig","clientConfig","collectionConfig","collections","columns","customCellProps","data","enableRowSelections","fieldPermissions","groupByFieldPath","groupByValue","heading","i18n","key","orderableFieldName","payload","query","renderRowTypes","req","tableAppearance","useAsTitle","viewType","columnState","clientFields","serverFields","isPolymorphic","isGroupingBy","Boolean","groupBy","collection","find","each","slug","some","push","serverCollectionConfig","config","sharedArgs","collectionSlug","undefined","dataType","docs","columnsToUse","unshift","accessor","active","disabled","hidden","Heading","t","renderedCells","map","doc","i","size","relationTo","labels","singular","_","rowData","div","className","filter","join","totalDocs","appearance"],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { canAccessAdmin } from 'payload';
2
- export const schedulePublishHandler = async ({ type, date, deleteID, doc, global, locale, req, timezone })=>{
2
+ /**
3
+ * The job id to delete to remove a scheduled publish event
4
+ */ export const schedulePublishHandler = async ({ type, date, deleteID, doc, global, locale, req, timezone })=>{
3
5
  const { i18n, payload, user } = req;
4
6
  await canAccessAdmin({
5
7
  req
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/schedulePublishHandler.ts"],"sourcesContent":["import { canAccessAdmin, type PayloadRequest, type SchedulePublishTaskInput } from 'payload'\n\nexport type SchedulePublishHandlerArgs = {\n date?: Date\n /**\n * The job id to delete to remove a scheduled publish event\n */\n deleteID?: number | string\n req: PayloadRequest\n timezone?: string\n} & SchedulePublishTaskInput\n\nexport const schedulePublishHandler = async ({\n type,\n date,\n deleteID,\n doc,\n global,\n locale,\n req,\n timezone,\n}: SchedulePublishHandlerArgs) => {\n const { i18n, payload, user } = req\n\n await canAccessAdmin({ req })\n\n try {\n if (deleteID) {\n await payload.delete({\n collection: 'payload-jobs',\n req,\n where: { id: { equals: deleteID } },\n })\n }\n\n await payload.jobs.queue({\n input: {\n type,\n doc,\n global,\n locale,\n timezone,\n user: user.id,\n },\n task: 'schedulePublish',\n waitUntil: date,\n })\n } catch (err) {\n let error\n\n if (deleteID) {\n error = `Error deleting scheduled publish event with ID ${deleteID}`\n } else {\n error = `Error scheduling ${type} for `\n if (doc) {\n error += `document with ID ${doc.value} in collection ${doc.relationTo}`\n }\n }\n\n payload.logger.error(error)\n payload.logger.error(err)\n\n return {\n error,\n }\n }\n\n return { message: i18n.t('general:success') }\n}\n"],"names":["canAccessAdmin","schedulePublishHandler","type","date","deleteID","doc","global","locale","req","timezone","i18n","payload","user","delete","collection","where","id","equals","jobs","queue","input","task","waitUntil","err","error","value","relationTo","logger","message","t"],"mappings":"AAAA,SAASA,cAAc,QAA4D,UAAS;AAY5F,OAAO,MAAMC,yBAAyB,OAAO,EAC3CC,IAAI,EACJC,IAAI,EACJC,QAAQ,EACRC,GAAG,EACHC,MAAM,EACNC,MAAM,EACNC,GAAG,EACHC,QAAQ,EACmB;IAC3B,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAGJ;IAEhC,MAAMR,eAAe;QAAEQ;IAAI;IAE3B,IAAI;QACF,IAAIJ,UAAU;YACZ,MAAMO,QAAQE,MAAM,CAAC;gBACnBC,YAAY;gBACZN;gBACAO,OAAO;oBAAEC,IAAI;wBAAEC,QAAQb;oBAAS;gBAAE;YACpC;QACF;QAEA,MAAMO,QAAQO,IAAI,CAACC,KAAK,CAAC;YACvBC,OAAO;gBACLlB;gBACAG;gBACAC;gBACAC;gBACAE;gBACAG,MAAMA,KAAKI,EAAE;YACf;YACAK,MAAM;YACNC,WAAWnB;QACb;IACF,EAAE,OAAOoB,KAAK;QACZ,IAAIC;QAEJ,IAAIpB,UAAU;YACZoB,QAAQ,CAAC,+CAA+C,EAAEpB,UAAU;QACtE,OAAO;YACLoB,QAAQ,CAAC,iBAAiB,EAAEtB,KAAK,KAAK,CAAC;YACvC,IAAIG,KAAK;gBACPmB,SAAS,CAAC,iBAAiB,EAAEnB,IAAIoB,KAAK,CAAC,eAAe,EAAEpB,IAAIqB,UAAU,EAAE;YAC1E;QACF;QAEAf,QAAQgB,MAAM,CAACH,KAAK,CAACA;QACrBb,QAAQgB,MAAM,CAACH,KAAK,CAACD;QAErB,OAAO;YACLC;QACF;IACF;IAEA,OAAO;QAAEI,SAASlB,KAAKmB,CAAC,CAAC;IAAmB;AAC9C,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/schedulePublishHandler.ts"],"sourcesContent":["import { canAccessAdmin, type PayloadRequest, type SchedulePublishTaskInput } from 'payload'\n\nexport type SchedulePublishHandlerArgs = {\n date?: Date\n /**\n * The job id to delete to remove a scheduled publish event\n */\n deleteID?: number | string\n req: PayloadRequest\n timezone?: string\n} & SchedulePublishTaskInput\n\nexport const schedulePublishHandler = async ({\n type,\n date,\n deleteID,\n doc,\n global,\n locale,\n req,\n timezone,\n}: SchedulePublishHandlerArgs) => {\n const { i18n, payload, user } = req\n\n await canAccessAdmin({ req })\n\n try {\n if (deleteID) {\n await payload.delete({\n collection: 'payload-jobs',\n req,\n where: { id: { equals: deleteID } },\n })\n }\n\n await payload.jobs.queue({\n input: {\n type,\n doc,\n global,\n locale,\n timezone,\n user: user.id,\n },\n task: 'schedulePublish',\n waitUntil: date,\n })\n } catch (err) {\n let error\n\n if (deleteID) {\n error = `Error deleting scheduled publish event with ID ${deleteID}`\n } else {\n error = `Error scheduling ${type} for `\n if (doc) {\n error += `document with ID ${doc.value} in collection ${doc.relationTo}`\n }\n }\n\n payload.logger.error(error)\n payload.logger.error(err)\n\n return {\n error,\n }\n }\n\n return { message: i18n.t('general:success') }\n}\n"],"names":["canAccessAdmin","schedulePublishHandler","type","date","deleteID","doc","global","locale","req","timezone","i18n","payload","user","delete","collection","where","id","equals","jobs","queue","input","task","waitUntil","err","error","value","relationTo","logger","message","t"],"mappings":"AAAA,SAASA,cAAc,QAA4D,UAAS;AAI1F;;GAEC,GAMH,OAAO,MAAMC,yBAAyB,OAAO,EAC3CC,IAAI,EACJC,IAAI,EACJC,QAAQ,EACRC,GAAG,EACHC,MAAM,EACNC,MAAM,EACNC,GAAG,EACHC,QAAQ,EACmB;IAC3B,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAGJ;IAEhC,MAAMR,eAAe;QAAEQ;IAAI;IAE3B,IAAI;QACF,IAAIJ,UAAU;YACZ,MAAMO,QAAQE,MAAM,CAAC;gBACnBC,YAAY;gBACZN;gBACAO,OAAO;oBAAEC,IAAI;wBAAEC,QAAQb;oBAAS;gBAAE;YACpC;QACF;QAEA,MAAMO,QAAQO,IAAI,CAACC,KAAK,CAAC;YACvBC,OAAO;gBACLlB;gBACAG;gBACAC;gBACAC;gBACAE;gBACAG,MAAMA,KAAKI,EAAE;YACf;YACAK,MAAM;YACNC,WAAWnB;QACb;IACF,EAAE,OAAOoB,KAAK;QACZ,IAAIC;QAEJ,IAAIpB,UAAU;YACZoB,QAAQ,CAAC,+CAA+C,EAAEpB,UAAU;QACtE,OAAO;YACLoB,QAAQ,CAAC,iBAAiB,EAAEtB,KAAK,KAAK,CAAC;YACvC,IAAIG,KAAK;gBACPmB,SAAS,CAAC,iBAAiB,EAAEnB,IAAIoB,KAAK,CAAC,eAAe,EAAEpB,IAAIqB,UAAU,EAAE;YAC1E;QACF;QAEAf,QAAQgB,MAAM,CAACH,KAAK,CAACA;QACrBb,QAAQgB,MAAM,CAACH,KAAK,CAACD;QAErB,OAAO;YACLC;QACF;IACF;IAEA,OAAO;QAAEI,SAASlB,KAAKmB,CAAC,CAAC;IAAmB;AAC9C,EAAC"}
@@ -3,6 +3,7 @@ import { cache } from 'react';
3
3
  import { removeUndefined } from './removeUndefined.js';
4
4
  const defaultMerge = (existingValue, incomingValue)=>({
5
5
  ...typeof existingValue === 'object' ? existingValue : {},
6
+ // Shallow merge existing prefs to acquire any missing keys from incoming value
6
7
  ...removeUndefined(incomingValue || {})
7
8
  });
8
9
  export const getPreferences = cache(async (key, payload, userID, userSlug)=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/upsertPreferences.ts"],"sourcesContent":["import type { DefaultDocumentIDType, Payload, PayloadRequest } from 'payload'\n\nimport { dequal } from 'dequal/lite'\nimport { cache } from 'react'\n\nimport { removeUndefined } from './removeUndefined.js'\n\ntype PreferenceDoc<T> = {\n id: DefaultDocumentIDType | undefined\n value?: T | undefined\n}\n\ntype DefaultMerge = <T>(existingValue: T, incomingValue: T | undefined) => T\n\nconst defaultMerge: DefaultMerge = <T>(existingValue: T, incomingValue: T | undefined) =>\n ({\n ...(typeof existingValue === 'object' ? existingValue : {}), // Shallow merge existing prefs to acquire any missing keys from incoming value\n ...removeUndefined(incomingValue || {}),\n }) as T\n\nexport const getPreferences = cache(\n async <T>(\n key: string,\n payload: Payload,\n userID: DefaultDocumentIDType,\n userSlug: string,\n ): Promise<PreferenceDoc<T>> => {\n const result = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n and: [\n {\n key: {\n equals: key,\n },\n },\n {\n 'user.relationTo': {\n equals: userSlug,\n },\n },\n {\n 'user.value': {\n equals: userID,\n },\n },\n ],\n },\n })\n .then((res) => res.docs?.[0])) as { id: DefaultDocumentIDType; value: T }\n\n return result\n },\n)\n\n/**\n * Will update the given preferences by key, creating a new record if it doesn't already exist, or merging existing preferences with the new value.\n * This is not possible to do with the existing `db.upsert` operation because it stores on the `value` key and does not perform a deep merge beyond the first level.\n * I.e. if you have a preferences record with a `value` key, `db.upsert` will overwrite the existing value. In the future if this supported we should use that instead.\n * @param req - The PayloadRequest object\n * @param key - The key of the preferences to update\n * @param value - The new value to merge with the existing preferences\n */\nexport const upsertPreferences = async <T extends Record<string, unknown> | string>({\n customMerge,\n key,\n req,\n value: incomingValue,\n}: {\n customMerge?: (existingValue: T, incomingValue: T, defaultMerge: DefaultMerge) => T\n key: string\n req: PayloadRequest\n value: T\n}): Promise<T> => {\n const existingPrefs: PreferenceDoc<T> = req.user\n ? await getPreferences<T>(key, req.payload, req.user.id, req.user.collection)\n : ({} as PreferenceDoc<T>)\n\n let newPrefs = existingPrefs?.value\n\n if (!existingPrefs?.id) {\n await req.payload.create({\n collection: 'payload-preferences',\n data: {\n key,\n user: {\n collection: req.user.collection,\n value: req.user.id,\n },\n value: incomingValue,\n },\n depth: 0,\n disableTransaction: true,\n user: req.user,\n })\n } else {\n let mergedPrefs: T\n\n if (typeof customMerge === 'function') {\n mergedPrefs = customMerge(existingPrefs.value, incomingValue, defaultMerge)\n } else {\n // Strings are valid JSON, i.e. `locale` saved as a string to the locale preferences\n mergedPrefs =\n typeof incomingValue === 'object'\n ? defaultMerge<T>(existingPrefs.value, incomingValue)\n : incomingValue\n }\n\n if (!dequal(mergedPrefs, existingPrefs.value)) {\n newPrefs = await req.payload\n .update({\n id: existingPrefs.id,\n collection: 'payload-preferences',\n data: {\n key,\n user: {\n collection: req.user.collection,\n value: req.user.id,\n },\n value: mergedPrefs,\n },\n depth: 0,\n disableTransaction: true,\n user: req.user,\n })\n ?.then((res) => res.value)\n }\n }\n\n return newPrefs\n}\n"],"names":["dequal","cache","removeUndefined","defaultMerge","existingValue","incomingValue","getPreferences","key","payload","userID","userSlug","result","find","collection","depth","limit","pagination","where","and","equals","then","res","docs","upsertPreferences","customMerge","req","value","existingPrefs","user","id","newPrefs","create","data","disableTransaction","mergedPrefs","update"],"mappings":"AAEA,SAASA,MAAM,QAAQ,cAAa;AACpC,SAASC,KAAK,QAAQ,QAAO;AAE7B,SAASC,eAAe,QAAQ,uBAAsB;AAStD,MAAMC,eAA6B,CAAIC,eAAkBC,gBACtD,CAAA;QACC,GAAI,OAAOD,kBAAkB,WAAWA,gBAAgB,CAAC,CAAC;QAC1D,GAAGF,gBAAgBG,iBAAiB,CAAC,EAAE;IACzC,CAAA;AAEF,OAAO,MAAMC,iBAAiBL,MAC5B,OACEM,KACAC,SACAC,QACAC;IAEA,MAAMC,SAAU,MAAMH,QACnBI,IAAI,CAAC;QACJC,YAAY;QACZC,OAAO;QACPC,OAAO;QACPC,YAAY;QACZC,OAAO;YACLC,KAAK;gBACH;oBACEX,KAAK;wBACHY,QAAQZ;oBACV;gBACF;gBACA;oBACE,mBAAmB;wBACjBY,QAAQT;oBACV;gBACF;gBACA;oBACE,cAAc;wBACZS,QAAQV;oBACV;gBACF;aACD;QACH;IACF,GACCW,IAAI,CAAC,CAACC,MAAQA,IAAIC,IAAI,EAAE,CAAC,EAAE;IAE9B,OAAOX;AACT,GACD;AAED;;;;;;;CAOC,GACD,OAAO,MAAMY,oBAAoB,OAAmD,EAClFC,WAAW,EACXjB,GAAG,EACHkB,GAAG,EACHC,OAAOrB,aAAa,EAMrB;IACC,MAAMsB,gBAAkCF,IAAIG,IAAI,GAC5C,MAAMtB,eAAkBC,KAAKkB,IAAIjB,OAAO,EAAEiB,IAAIG,IAAI,CAACC,EAAE,EAAEJ,IAAIG,IAAI,CAACf,UAAU,IACzE,CAAC;IAEN,IAAIiB,WAAWH,eAAeD;IAE9B,IAAI,CAACC,eAAeE,IAAI;QACtB,MAAMJ,IAAIjB,OAAO,CAACuB,MAAM,CAAC;YACvBlB,YAAY;YACZmB,MAAM;gBACJzB;gBACAqB,MAAM;oBACJf,YAAYY,IAAIG,IAAI,CAACf,UAAU;oBAC/Ba,OAAOD,IAAIG,IAAI,CAACC,EAAE;gBACpB;gBACAH,OAAOrB;YACT;YACAS,OAAO;YACPmB,oBAAoB;YACpBL,MAAMH,IAAIG,IAAI;QAChB;IACF,OAAO;QACL,IAAIM;QAEJ,IAAI,OAAOV,gBAAgB,YAAY;YACrCU,cAAcV,YAAYG,cAAcD,KAAK,EAAErB,eAAeF;QAChE,OAAO;YACL,oFAAoF;YACpF+B,cACE,OAAO7B,kBAAkB,WACrBF,aAAgBwB,cAAcD,KAAK,EAAErB,iBACrCA;QACR;QAEA,IAAI,CAACL,OAAOkC,aAAaP,cAAcD,KAAK,GAAG;YAC7CI,WAAW,MAAML,IAAIjB,OAAO,CACzB2B,MAAM,CAAC;gBACNN,IAAIF,cAAcE,EAAE;gBACpBhB,YAAY;gBACZmB,MAAM;oBACJzB;oBACAqB,MAAM;wBACJf,YAAYY,IAAIG,IAAI,CAACf,UAAU;wBAC/Ba,OAAOD,IAAIG,IAAI,CAACC,EAAE;oBACpB;oBACAH,OAAOQ;gBACT;gBACApB,OAAO;gBACPmB,oBAAoB;gBACpBL,MAAMH,IAAIG,IAAI;YAChB,IACER,KAAK,CAACC,MAAQA,IAAIK,KAAK;QAC7B;IACF;IAEA,OAAOI;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/upsertPreferences.ts"],"sourcesContent":["import type { DefaultDocumentIDType, Payload, PayloadRequest } from 'payload'\n\nimport { dequal } from 'dequal/lite'\nimport { cache } from 'react'\n\nimport { removeUndefined } from './removeUndefined.js'\n\ntype PreferenceDoc<T> = {\n id: DefaultDocumentIDType | undefined\n value?: T | undefined\n}\n\ntype DefaultMerge = <T>(existingValue: T, incomingValue: T | undefined) => T\n\nconst defaultMerge: DefaultMerge = <T>(existingValue: T, incomingValue: T | undefined) =>\n ({\n ...(typeof existingValue === 'object' ? existingValue : {}), // Shallow merge existing prefs to acquire any missing keys from incoming value\n ...removeUndefined(incomingValue || {}),\n }) as T\n\nexport const getPreferences = cache(\n async <T>(\n key: string,\n payload: Payload,\n userID: DefaultDocumentIDType,\n userSlug: string,\n ): Promise<PreferenceDoc<T>> => {\n const result = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n and: [\n {\n key: {\n equals: key,\n },\n },\n {\n 'user.relationTo': {\n equals: userSlug,\n },\n },\n {\n 'user.value': {\n equals: userID,\n },\n },\n ],\n },\n })\n .then((res) => res.docs?.[0])) as { id: DefaultDocumentIDType; value: T }\n\n return result\n },\n)\n\n/**\n * Will update the given preferences by key, creating a new record if it doesn't already exist, or merging existing preferences with the new value.\n * This is not possible to do with the existing `db.upsert` operation because it stores on the `value` key and does not perform a deep merge beyond the first level.\n * I.e. if you have a preferences record with a `value` key, `db.upsert` will overwrite the existing value. In the future if this supported we should use that instead.\n * @param req - The PayloadRequest object\n * @param key - The key of the preferences to update\n * @param value - The new value to merge with the existing preferences\n */\nexport const upsertPreferences = async <T extends Record<string, unknown> | string>({\n customMerge,\n key,\n req,\n value: incomingValue,\n}: {\n customMerge?: (existingValue: T, incomingValue: T, defaultMerge: DefaultMerge) => T\n key: string\n req: PayloadRequest\n value: T\n}): Promise<T> => {\n const existingPrefs: PreferenceDoc<T> = req.user\n ? await getPreferences<T>(key, req.payload, req.user.id, req.user.collection)\n : ({} as PreferenceDoc<T>)\n\n let newPrefs = existingPrefs?.value\n\n if (!existingPrefs?.id) {\n await req.payload.create({\n collection: 'payload-preferences',\n data: {\n key,\n user: {\n collection: req.user.collection,\n value: req.user.id,\n },\n value: incomingValue,\n },\n depth: 0,\n disableTransaction: true,\n user: req.user,\n })\n } else {\n let mergedPrefs: T\n\n if (typeof customMerge === 'function') {\n mergedPrefs = customMerge(existingPrefs.value, incomingValue, defaultMerge)\n } else {\n // Strings are valid JSON, i.e. `locale` saved as a string to the locale preferences\n mergedPrefs =\n typeof incomingValue === 'object'\n ? defaultMerge<T>(existingPrefs.value, incomingValue)\n : incomingValue\n }\n\n if (!dequal(mergedPrefs, existingPrefs.value)) {\n newPrefs = await req.payload\n .update({\n id: existingPrefs.id,\n collection: 'payload-preferences',\n data: {\n key,\n user: {\n collection: req.user.collection,\n value: req.user.id,\n },\n value: mergedPrefs,\n },\n depth: 0,\n disableTransaction: true,\n user: req.user,\n })\n ?.then((res) => res.value)\n }\n }\n\n return newPrefs\n}\n"],"names":["dequal","cache","removeUndefined","defaultMerge","existingValue","incomingValue","getPreferences","key","payload","userID","userSlug","result","find","collection","depth","limit","pagination","where","and","equals","then","res","docs","upsertPreferences","customMerge","req","value","existingPrefs","user","id","newPrefs","create","data","disableTransaction","mergedPrefs","update"],"mappings":"AAEA,SAASA,MAAM,QAAQ,cAAa;AACpC,SAASC,KAAK,QAAQ,QAAO;AAE7B,SAASC,eAAe,QAAQ,uBAAsB;AAStD,MAAMC,eAA6B,CAAIC,eAAkBC,gBACtD,CAAA;QACC,GAAI,OAAOD,kBAAkB,WAAWA,gBAAgB,CAAC,CAAC;QAAG,+EAA+E;QAC5I,GAAGF,gBAAgBG,iBAAiB,CAAC,EAAE;IACzC,CAAA;AAEF,OAAO,MAAMC,iBAAiBL,MAC5B,OACEM,KACAC,SACAC,QACAC;IAEA,MAAMC,SAAU,MAAMH,QACnBI,IAAI,CAAC;QACJC,YAAY;QACZC,OAAO;QACPC,OAAO;QACPC,YAAY;QACZC,OAAO;YACLC,KAAK;gBACH;oBACEX,KAAK;wBACHY,QAAQZ;oBACV;gBACF;gBACA;oBACE,mBAAmB;wBACjBY,QAAQT;oBACV;gBACF;gBACA;oBACE,cAAc;wBACZS,QAAQV;oBACV;gBACF;aACD;QACH;IACF,GACCW,IAAI,CAAC,CAACC,MAAQA,IAAIC,IAAI,EAAE,CAAC,EAAE;IAE9B,OAAOX;AACT,GACD;AAED;;;;;;;CAOC,GACD,OAAO,MAAMY,oBAAoB,OAAmD,EAClFC,WAAW,EACXjB,GAAG,EACHkB,GAAG,EACHC,OAAOrB,aAAa,EAMrB;IACC,MAAMsB,gBAAkCF,IAAIG,IAAI,GAC5C,MAAMtB,eAAkBC,KAAKkB,IAAIjB,OAAO,EAAEiB,IAAIG,IAAI,CAACC,EAAE,EAAEJ,IAAIG,IAAI,CAACf,UAAU,IACzE,CAAC;IAEN,IAAIiB,WAAWH,eAAeD;IAE9B,IAAI,CAACC,eAAeE,IAAI;QACtB,MAAMJ,IAAIjB,OAAO,CAACuB,MAAM,CAAC;YACvBlB,YAAY;YACZmB,MAAM;gBACJzB;gBACAqB,MAAM;oBACJf,YAAYY,IAAIG,IAAI,CAACf,UAAU;oBAC/Ba,OAAOD,IAAIG,IAAI,CAACC,EAAE;gBACpB;gBACAH,OAAOrB;YACT;YACAS,OAAO;YACPmB,oBAAoB;YACpBL,MAAMH,IAAIG,IAAI;QAChB;IACF,OAAO;QACL,IAAIM;QAEJ,IAAI,OAAOV,gBAAgB,YAAY;YACrCU,cAAcV,YAAYG,cAAcD,KAAK,EAAErB,eAAeF;QAChE,OAAO;YACL,oFAAoF;YACpF+B,cACE,OAAO7B,kBAAkB,WACrBF,aAAgBwB,cAAcD,KAAK,EAAErB,iBACrCA;QACR;QAEA,IAAI,CAACL,OAAOkC,aAAaP,cAAcD,KAAK,GAAG;YAC7CI,WAAW,MAAML,IAAIjB,OAAO,CACzB2B,MAAM,CAAC;gBACNN,IAAIF,cAAcE,EAAE;gBACpBhB,YAAY;gBACZmB,MAAM;oBACJzB;oBACAqB,MAAM;wBACJf,YAAYY,IAAIG,IAAI,CAACf,UAAU;wBAC/Ba,OAAOD,IAAIG,IAAI,CAACC,EAAE;oBACpB;oBACAH,OAAOQ;gBACT;gBACApB,OAAO;gBACPmB,oBAAoB;gBACpBL,MAAMH,IAAIG,IAAI;YAChB,IACER,KAAK,CAACC,MAAQA,IAAIK,KAAK;QAC7B;IACF;IAEA,OAAOI;AACT,EAAC"}