@payloadcms/ui 3.68.0-internal-debug.185cc5f → 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 (767) 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/AppHeader/index.js +107 -35
  6. package/dist/elements/AppHeader/index.js.map +1 -1
  7. package/dist/elements/ArrayAction/index.js +116 -36
  8. package/dist/elements/ArrayAction/index.js.map +1 -1
  9. package/dist/elements/Autosave/index.js +18 -6
  10. package/dist/elements/Autosave/index.js.map +1 -1
  11. package/dist/elements/Banner/index.js +25 -9
  12. package/dist/elements/Banner/index.js.map +1 -1
  13. package/dist/elements/BulkUpload/ActionsBar/index.js +97 -33
  14. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  15. package/dist/elements/BulkUpload/AddFilesView/index.js +43 -15
  16. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  17. package/dist/elements/BulkUpload/AddingFilesView/index.js +47 -15
  18. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  19. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +7 -3
  20. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +12 -4
  22. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/EditForm/index.js +53 -17
  24. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  25. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +90 -30
  26. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  27. package/dist/elements/BulkUpload/EditMany/index.js +31 -11
  28. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  29. package/dist/elements/BulkUpload/FileSidebar/index.js +214 -70
  30. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  31. package/dist/elements/BulkUpload/FormsManager/index.js +13 -5
  32. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  33. package/dist/elements/BulkUpload/Header/index.js +19 -7
  34. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  35. package/dist/elements/BulkUpload/index.js +58 -18
  36. package/dist/elements/BulkUpload/index.js.map +1 -1
  37. package/dist/elements/Button/index.js +101 -33
  38. package/dist/elements/Button/index.js.map +1 -1
  39. package/dist/elements/Card/index.js +25 -9
  40. package/dist/elements/Card/index.js.map +1 -1
  41. package/dist/elements/CheckboxPopup/index.js +19 -7
  42. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  43. package/dist/elements/ClipboardAction/ClipboardActionLabel.js +16 -4
  44. package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
  45. package/dist/elements/ClipboardAction/index.js +42 -14
  46. package/dist/elements/ClipboardAction/index.js.map +1 -1
  47. package/dist/elements/CloseModalButton/index.js +12 -4
  48. package/dist/elements/CloseModalButton/index.js.map +1 -1
  49. package/dist/elements/CodeEditor/CodeEditor.js +13 -5
  50. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  51. package/dist/elements/CodeEditor/index.js +18 -6
  52. package/dist/elements/CodeEditor/index.js.map +1 -1
  53. package/dist/elements/Collapsible/index.js +84 -28
  54. package/dist/elements/Collapsible/index.js.map +1 -1
  55. package/dist/elements/Collapsible/provider.js +7 -3
  56. package/dist/elements/Collapsible/provider.js.map +1 -1
  57. package/dist/elements/ColumnSelector/index.js +13 -5
  58. package/dist/elements/ColumnSelector/index.js.map +1 -1
  59. package/dist/elements/Combobox/index.js +37 -13
  60. package/dist/elements/Combobox/index.js.map +1 -1
  61. package/dist/elements/ConfirmationModal/index.js +49 -17
  62. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  63. package/dist/elements/CopyLocaleData/index.js +73 -25
  64. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  65. package/dist/elements/CopyToClipboard/index.js +18 -6
  66. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  67. package/dist/elements/DatePicker/DatePicker.js +41 -13
  68. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  69. package/dist/elements/DatePicker/index.js +19 -7
  70. package/dist/elements/DatePicker/index.js.map +1 -1
  71. package/dist/elements/DefaultListViewTabs/index.js +25 -9
  72. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  73. package/dist/elements/DeleteDocument/index.js +49 -17
  74. package/dist/elements/DeleteDocument/index.js.map +1 -1
  75. package/dist/elements/DeleteMany/index.js +73 -25
  76. package/dist/elements/DeleteMany/index.js.map +1 -1
  77. package/dist/elements/DocumentControls/index.js +303 -95
  78. package/dist/elements/DocumentControls/index.js.map +1 -1
  79. package/dist/elements/DocumentDrawer/DrawerContent.js +12 -4
  80. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  81. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +59 -19
  82. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  83. package/dist/elements/DocumentDrawer/Provider.js +7 -3
  84. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  85. package/dist/elements/DocumentDrawer/index.js +32 -10
  86. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  87. package/dist/elements/DocumentFields/index.js +54 -18
  88. package/dist/elements/DocumentFields/index.js.map +1 -1
  89. package/dist/elements/DocumentLocked/index.js +73 -25
  90. package/dist/elements/DocumentLocked/index.js.map +1 -1
  91. package/dist/elements/DocumentTakeOver/index.js +49 -17
  92. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  93. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +7 -3
  94. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  95. package/dist/elements/DraggableSortable/index.js +19 -7
  96. package/dist/elements/DraggableSortable/index.js.map +1 -1
  97. package/dist/elements/Drawer/index.js +78 -26
  98. package/dist/elements/Drawer/index.js.map +1 -1
  99. package/dist/elements/DrawerActionHeader/index.js +37 -13
  100. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  101. package/dist/elements/DrawerContentContainer/index.js +7 -3
  102. package/dist/elements/DrawerContentContainer/index.js.map +1 -1
  103. package/dist/elements/Dropzone/index.js +7 -3
  104. package/dist/elements/Dropzone/index.js.map +1 -1
  105. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +61 -21
  106. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  107. package/dist/elements/DuplicateDocument/index.js +25 -9
  108. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  109. package/dist/elements/EditMany/DrawerContent.js +131 -43
  110. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  111. package/dist/elements/EditMany/index.js +37 -13
  112. package/dist/elements/EditMany/index.js.map +1 -1
  113. package/dist/elements/EditUpload/index.js +232 -76
  114. package/dist/elements/EditUpload/index.js.map +1 -1
  115. package/dist/elements/EmailAndUsername/index.js +31 -11
  116. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  117. package/dist/elements/ErrorPill/index.js +19 -7
  118. package/dist/elements/ErrorPill/index.js.map +1 -1
  119. package/dist/elements/FieldDiffContainer/index.js +25 -9
  120. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  121. package/dist/elements/FieldDiffLabel/index.js +7 -3
  122. package/dist/elements/FieldDiffLabel/index.js.map +1 -1
  123. package/dist/elements/FieldSelect/index.js +19 -7
  124. package/dist/elements/FieldSelect/index.js.map +1 -1
  125. package/dist/elements/FileDetails/DraggableFileDetails/index.js +70 -22
  126. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  127. package/dist/elements/FileDetails/FileMeta/index.js +43 -15
  128. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  129. package/dist/elements/FileDetails/StaticFileDetails/index.js +43 -15
  130. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  131. package/dist/elements/FileDetails/index.js +13 -5
  132. package/dist/elements/FileDetails/index.js.map +1 -1
  133. package/dist/elements/FolderView/Breadcrumbs/index.js +31 -11
  134. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
  135. package/dist/elements/FolderView/BrowseByFolderButton/index.js +12 -4
  136. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
  137. package/dist/elements/FolderView/Cell/index.client.js +7 -3
  138. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  139. package/dist/elements/FolderView/Cell/index.server.js +7 -3
  140. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  141. package/dist/elements/FolderView/ColoredFolderIcon/index.js +7 -3
  142. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
  143. package/dist/elements/FolderView/CurrentFolderActions/index.js +68 -24
  144. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  145. package/dist/elements/FolderView/DragOverlaySelection/index.js +31 -11
  146. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
  147. package/dist/elements/FolderView/DraggableTableRow/index.js +25 -9
  148. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
  149. package/dist/elements/FolderView/DraggableWithClick/index.js +7 -3
  150. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
  151. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +15 -7
  152. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
  153. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +181 -61
  154. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  155. package/dist/elements/FolderView/FilterFolderTypePill/index.js +19 -7
  156. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
  157. package/dist/elements/FolderView/FolderField/index.server.js +7 -3
  158. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
  159. package/dist/elements/FolderView/FolderFileCard/index.js +103 -31
  160. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  161. package/dist/elements/FolderView/FolderFileTable/index.js +49 -17
  162. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
  163. package/dist/elements/FolderView/FolderTypeField/index.js +7 -3
  164. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
  165. package/dist/elements/FolderView/ItemCardGrid/index.js +21 -9
  166. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
  167. package/dist/elements/FolderView/MoveDocToFolder/index.js +26 -10
  168. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  169. package/dist/elements/FolderView/SimpleTable/index.js +67 -23
  170. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
  171. package/dist/elements/FolderView/SortByPill/index.js +86 -30
  172. package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
  173. package/dist/elements/FolderView/ToggleViewButtons/index.js +25 -9
  174. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
  175. package/dist/elements/FullscreenModal/index.js +7 -3
  176. package/dist/elements/FullscreenModal/index.js.map +1 -1
  177. package/dist/elements/GenerateConfirmation/index.js +31 -11
  178. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  179. package/dist/elements/GroupByBuilder/index.js +43 -15
  180. package/dist/elements/GroupByBuilder/index.js.map +1 -1
  181. package/dist/elements/Gutter/index.js +7 -3
  182. package/dist/elements/Gutter/index.js.map +1 -1
  183. package/dist/elements/HTMLDiff/index.js +13 -5
  184. package/dist/elements/HTMLDiff/index.js.map +1 -1
  185. package/dist/elements/Hamburger/index.js +35 -11
  186. package/dist/elements/Hamburger/index.js.map +1 -1
  187. package/dist/elements/IDLabel/index.js +13 -5
  188. package/dist/elements/IDLabel/index.js.map +1 -1
  189. package/dist/elements/LeaveWithoutSaving/index.js +13 -5
  190. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  191. package/dist/elements/Link/index.js +7 -3
  192. package/dist/elements/Link/index.js.map +1 -1
  193. package/dist/elements/ListControls/index.js +126 -42
  194. package/dist/elements/ListControls/index.js.map +1 -1
  195. package/dist/elements/ListDrawer/DrawerContent.js +18 -6
  196. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  197. package/dist/elements/ListDrawer/Provider.js +7 -3
  198. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  199. package/dist/elements/ListDrawer/index.js +32 -10
  200. package/dist/elements/ListDrawer/index.js.map +1 -1
  201. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +19 -7
  202. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  203. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +13 -5
  204. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  205. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +7 -3
  206. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  207. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +7 -3
  208. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
  209. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +48 -16
  210. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  211. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +37 -13
  212. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  213. package/dist/elements/ListHeader/index.js +43 -15
  214. package/dist/elements/ListHeader/index.js.map +1 -1
  215. package/dist/elements/ListSelection/index.js +55 -19
  216. package/dist/elements/ListSelection/index.js.map +1 -1
  217. package/dist/elements/LivePreview/Device/index.js +13 -5
  218. package/dist/elements/LivePreview/Device/index.js.map +1 -1
  219. package/dist/elements/LivePreview/DeviceContainer/index.js +7 -3
  220. package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
  221. package/dist/elements/LivePreview/IFrame/index.js +7 -3
  222. package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
  223. package/dist/elements/LivePreview/Toggler/index.js +13 -5
  224. package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
  225. package/dist/elements/LivePreview/Toolbar/Controls/index.js +137 -45
  226. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  227. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +7 -3
  228. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  229. package/dist/elements/LivePreview/Toolbar/index.js +48 -16
  230. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  231. package/dist/elements/LivePreview/ToolbarArea/index.js +7 -3
  232. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  233. package/dist/elements/LivePreview/Window/index.js +41 -13
  234. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  235. package/dist/elements/Loading/index.js +55 -19
  236. package/dist/elements/Loading/index.js.map +1 -1
  237. package/dist/elements/LoadingOverlay/index.js +13 -5
  238. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  239. package/dist/elements/Localizer/LocalizerLabel/index.js +31 -11
  240. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  241. package/dist/elements/Localizer/index.js +47 -15
  242. package/dist/elements/Localizer/index.js.map +1 -1
  243. package/dist/elements/Locked/index.js +18 -6
  244. package/dist/elements/Locked/index.js.map +1 -1
  245. package/dist/elements/Logout/index.js +12 -4
  246. package/dist/elements/Logout/index.js.map +1 -1
  247. package/dist/elements/Nav/NavToggler/index.js +7 -3
  248. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  249. package/dist/elements/Nav/context.js +7 -3
  250. package/dist/elements/Nav/context.js.map +1 -1
  251. package/dist/elements/NavGroup/index.js +49 -17
  252. package/dist/elements/NavGroup/index.js.map +1 -1
  253. package/dist/elements/NoListResults/index.js +19 -7
  254. package/dist/elements/NoListResults/index.js.map +1 -1
  255. package/dist/elements/PageControls/GroupByPageControls.js +7 -3
  256. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  257. package/dist/elements/PageControls/index.js +37 -13
  258. package/dist/elements/PageControls/index.js.map +1 -1
  259. package/dist/elements/Pagination/ClickableArrow/index.js +12 -4
  260. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  261. package/dist/elements/Pagination/Page/index.js +7 -3
  262. package/dist/elements/Pagination/Page/index.js.map +1 -1
  263. package/dist/elements/Pagination/Separator/index.js +7 -3
  264. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  265. package/dist/elements/Pagination/index.js +19 -7
  266. package/dist/elements/Pagination/index.js.map +1 -1
  267. package/dist/elements/PerPage/index.js +61 -21
  268. package/dist/elements/PerPage/index.js.map +1 -1
  269. package/dist/elements/PermanentlyDeleteButton/index.js +31 -11
  270. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  271. package/dist/elements/Pill/index.js +37 -13
  272. package/dist/elements/Pill/index.js.map +1 -1
  273. package/dist/elements/PillSelector/index.js +34 -10
  274. package/dist/elements/PillSelector/index.js.map +1 -1
  275. package/dist/elements/Popup/PopupButtonList/index.js +25 -9
  276. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  277. package/dist/elements/Popup/PopupDivider/index.js +7 -3
  278. package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
  279. package/dist/elements/Popup/PopupGroupLabel/index.js +7 -3
  280. package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
  281. package/dist/elements/Popup/PopupTrigger/index.js +13 -5
  282. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  283. package/dist/elements/Popup/index.js +60 -20
  284. package/dist/elements/Popup/index.js.map +1 -1
  285. package/dist/elements/PreviewButton/index.js +12 -4
  286. package/dist/elements/PreviewButton/index.js.map +1 -1
  287. package/dist/elements/PreviewSizes/index.js +97 -33
  288. package/dist/elements/PreviewSizes/index.js.map +1 -1
  289. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +67 -23
  290. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  291. package/dist/elements/PublishButton/ScheduleDrawer/index.js +165 -53
  292. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  293. package/dist/elements/PublishButton/index.js +49 -17
  294. package/dist/elements/PublishButton/index.js.map +1 -1
  295. package/dist/elements/PublishMany/DrawerContent.js +7 -3
  296. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  297. package/dist/elements/PublishMany/index.js +25 -9
  298. package/dist/elements/PublishMany/index.js.map +1 -1
  299. package/dist/elements/QueryPresets/QueryPresetBar/index.js +108 -36
  300. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  301. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +42 -14
  302. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  303. package/dist/elements/QueryPresets/cells/AccessCell/index.js +25 -9
  304. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
  305. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +13 -5
  306. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  307. package/dist/elements/QueryPresets/cells/GroupByCell/index.js +13 -5
  308. package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
  309. package/dist/elements/QueryPresets/cells/WhereCell/index.js +7 -3
  310. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
  311. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +25 -9
  312. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  313. package/dist/elements/QueryPresets/fields/GroupByField/index.js +31 -11
  314. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  315. package/dist/elements/QueryPresets/fields/WhereField/index.js +79 -27
  316. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  317. package/dist/elements/ReactSelect/ClearIndicator/index.js +13 -5
  318. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  319. package/dist/elements/ReactSelect/Control/index.js +13 -5
  320. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  321. package/dist/elements/ReactSelect/DropdownIndicator/index.js +13 -5
  322. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  323. package/dist/elements/ReactSelect/Input/index.js +13 -5
  324. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  325. package/dist/elements/ReactSelect/MultiValue/index.js +13 -5
  326. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  327. package/dist/elements/ReactSelect/MultiValueLabel/index.js +13 -5
  328. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  329. package/dist/elements/ReactSelect/MultiValueRemove/index.js +19 -7
  330. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  331. package/dist/elements/ReactSelect/SingleValue/index.js +13 -5
  332. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  333. package/dist/elements/ReactSelect/ValueContainer/index.js +19 -7
  334. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  335. package/dist/elements/ReactSelect/index.js +43 -15
  336. package/dist/elements/ReactSelect/index.js.map +1 -1
  337. package/dist/elements/RelationshipTable/AddNewButton.js +37 -13
  338. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  339. package/dist/elements/RelationshipTable/Pagination.js +7 -3
  340. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  341. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +24 -8
  342. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  343. package/dist/elements/RelationshipTable/index.js +119 -39
  344. package/dist/elements/RelationshipTable/index.js.map +1 -1
  345. package/dist/elements/RenderComponent/index.js +19 -7
  346. package/dist/elements/RenderComponent/index.js.map +1 -1
  347. package/dist/elements/RenderIfInViewport/index.js +7 -3
  348. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  349. package/dist/elements/RenderServerComponent/index.js +13 -5
  350. package/dist/elements/RenderServerComponent/index.js.map +1 -1
  351. package/dist/elements/RenderTitle/index.js +25 -9
  352. package/dist/elements/RenderTitle/index.js.map +1 -1
  353. package/dist/elements/RestoreButton/index.js +49 -17
  354. package/dist/elements/RestoreButton/index.js.map +1 -1
  355. package/dist/elements/RestoreMany/index.js +37 -13
  356. package/dist/elements/RestoreMany/index.js.map +1 -1
  357. package/dist/elements/SaveButton/index.js +7 -3
  358. package/dist/elements/SaveButton/index.js.map +1 -1
  359. package/dist/elements/SaveDraftButton/index.js +7 -3
  360. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  361. package/dist/elements/SearchBar/index.js +24 -8
  362. package/dist/elements/SearchBar/index.js.map +1 -1
  363. package/dist/elements/SearchFilter/index.js +13 -5
  364. package/dist/elements/SearchFilter/index.js.map +1 -1
  365. package/dist/elements/SelectAll/index.js +7 -3
  366. package/dist/elements/SelectAll/index.js.map +1 -1
  367. package/dist/elements/SelectMany/index.js +7 -3
  368. package/dist/elements/SelectMany/index.js.map +1 -1
  369. package/dist/elements/SelectRow/index.js +13 -5
  370. package/dist/elements/SelectRow/index.js.map +1 -1
  371. package/dist/elements/ShimmerEffect/index.js +31 -11
  372. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  373. package/dist/elements/SortColumn/index.js +48 -16
  374. package/dist/elements/SortColumn/index.js.map +1 -1
  375. package/dist/elements/SortComplex/index.js +55 -19
  376. package/dist/elements/SortComplex/index.js.map +1 -1
  377. package/dist/elements/SortHeader/index.js +24 -8
  378. package/dist/elements/SortHeader/index.js.map +1 -1
  379. package/dist/elements/SortRow/index.js +13 -5
  380. package/dist/elements/SortRow/index.js.map +1 -1
  381. package/dist/elements/Status/index.js +61 -21
  382. package/dist/elements/Status/index.js.map +1 -1
  383. package/dist/elements/StayLoggedIn/index.js +7 -3
  384. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  385. package/dist/elements/StepNav/context.js +7 -3
  386. package/dist/elements/StepNav/context.js.map +1 -1
  387. package/dist/elements/StepNav/index.js +104 -32
  388. package/dist/elements/StepNav/index.js.map +1 -1
  389. package/dist/elements/StickyToolbar/index.js +7 -3
  390. package/dist/elements/StickyToolbar/index.js.map +1 -1
  391. package/dist/elements/Table/DefaultCell/fields/Array/index.js +7 -3
  392. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  393. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +7 -3
  394. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  395. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +13 -5
  396. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  397. package/dist/elements/Table/DefaultCell/fields/Code/index.js +13 -5
  398. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  399. package/dist/elements/Table/DefaultCell/fields/Date/index.js +7 -3
  400. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  401. package/dist/elements/Table/DefaultCell/fields/File/index.js +21 -9
  402. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  403. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +13 -5
  404. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  405. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +19 -7
  406. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  407. package/dist/elements/Table/DefaultCell/fields/Select/index.js +7 -3
  408. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  409. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +7 -3
  410. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  411. package/dist/elements/Table/DefaultCell/index.js +43 -15
  412. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  413. package/dist/elements/Table/OrderableRow.js +25 -9
  414. package/dist/elements/Table/OrderableRow.js.map +1 -1
  415. package/dist/elements/Table/OrderableRowDragPreview.js +19 -7
  416. package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
  417. package/dist/elements/Table/OrderableTable.js +79 -27
  418. package/dist/elements/Table/OrderableTable.js.map +1 -1
  419. package/dist/elements/Table/RelationshipProvider/index.js +7 -3
  420. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  421. package/dist/elements/Table/index.js +55 -19
  422. package/dist/elements/Table/index.js.map +1 -1
  423. package/dist/elements/Thumbnail/index.js +47 -15
  424. package/dist/elements/Thumbnail/index.js.map +1 -1
  425. package/dist/elements/ThumbnailCard/index.js +19 -7
  426. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  427. package/dist/elements/TimezonePicker/index.js +19 -7
  428. package/dist/elements/TimezonePicker/index.js.map +1 -1
  429. package/dist/elements/Toasts/fieldErrors.js +24 -8
  430. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  431. package/dist/elements/Tooltip/index.js +31 -11
  432. package/dist/elements/Tooltip/index.js.map +1 -1
  433. package/dist/elements/Translation/index.js +25 -9
  434. package/dist/elements/Translation/index.js.map +1 -1
  435. package/dist/elements/TrashBanner/index.js +18 -6
  436. package/dist/elements/TrashBanner/index.js.map +1 -1
  437. package/dist/elements/UnpublishMany/DrawerContent.js +7 -3
  438. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  439. package/dist/elements/UnpublishMany/index.js +25 -9
  440. package/dist/elements/UnpublishMany/index.js.map +1 -1
  441. package/dist/elements/Upload/index.js +229 -77
  442. package/dist/elements/Upload/index.js.map +1 -1
  443. package/dist/elements/ViewDescription/index.js +7 -3
  444. package/dist/elements/ViewDescription/index.js.map +1 -1
  445. package/dist/elements/WhereBuilder/Condition/Date/index.js +13 -5
  446. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  447. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +37 -13
  448. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  449. package/dist/elements/WhereBuilder/Condition/Number/index.js +12 -4
  450. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  451. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +18 -6
  452. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  453. package/dist/elements/WhereBuilder/Condition/Select/index.js +7 -3
  454. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  455. package/dist/elements/WhereBuilder/Condition/Text/index.js +12 -4
  456. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  457. package/dist/elements/WhereBuilder/Condition/index.js +73 -25
  458. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  459. package/dist/elements/WhereBuilder/index.js +85 -29
  460. package/dist/elements/WhereBuilder/index.js.map +1 -1
  461. package/dist/elements/WithServerSideProps/index.js +7 -3
  462. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  463. package/dist/elements/withMergedProps/index.js +7 -3
  464. package/dist/elements/withMergedProps/index.js.map +1 -1
  465. package/dist/fields/Array/ArrayRow.js +52 -16
  466. package/dist/fields/Array/ArrayRow.js.map +1 -1
  467. package/dist/fields/Array/index.js +169 -57
  468. package/dist/fields/Array/index.js.map +1 -1
  469. package/dist/fields/Blocks/BlockRow.js +72 -24
  470. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  471. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +18 -6
  472. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  473. package/dist/fields/Blocks/BlockSelector/index.js +71 -23
  474. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  475. package/dist/fields/Blocks/BlocksDrawer/index.js +13 -5
  476. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  477. package/dist/fields/Blocks/RowActions.js +19 -7
  478. package/dist/fields/Blocks/RowActions.js.map +1 -1
  479. package/dist/fields/Blocks/SectionTitle/index.js +13 -5
  480. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  481. package/dist/fields/Blocks/index.js +187 -63
  482. package/dist/fields/Blocks/index.js.map +1 -1
  483. package/dist/fields/Checkbox/Input.js +47 -15
  484. package/dist/fields/Checkbox/Input.js.map +1 -1
  485. package/dist/fields/Checkbox/index.js +37 -13
  486. package/dist/fields/Checkbox/index.js.map +1 -1
  487. package/dist/fields/Code/index.js +55 -19
  488. package/dist/fields/Code/index.js.map +1 -1
  489. package/dist/fields/Collapsible/index.js +61 -21
  490. package/dist/fields/Collapsible/index.js.map +1 -1
  491. package/dist/fields/ConfirmPassword/index.js +31 -11
  492. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  493. package/dist/fields/DateTime/index.js +61 -21
  494. package/dist/fields/DateTime/index.js.map +1 -1
  495. package/dist/fields/Email/index.js +55 -19
  496. package/dist/fields/Email/index.js.map +1 -1
  497. package/dist/fields/FieldDescription/index.js +7 -3
  498. package/dist/fields/FieldDescription/index.js.map +1 -1
  499. package/dist/fields/FieldError/index.js +7 -3
  500. package/dist/fields/FieldError/index.js.map +1 -1
  501. package/dist/fields/FieldLabel/index.js +19 -7
  502. package/dist/fields/FieldLabel/index.js.map +1 -1
  503. package/dist/fields/Group/index.js +78 -26
  504. package/dist/fields/Group/index.js.map +1 -1
  505. package/dist/fields/Group/provider.js +7 -3
  506. package/dist/fields/Group/provider.js.map +1 -1
  507. package/dist/fields/Hidden/index.js +7 -3
  508. package/dist/fields/Hidden/index.js.map +1 -1
  509. package/dist/fields/JSON/index.js +55 -19
  510. package/dist/fields/JSON/index.js.map +1 -1
  511. package/dist/fields/Join/index.js +49 -17
  512. package/dist/fields/Join/index.js.map +1 -1
  513. package/dist/fields/Number/index.js +66 -22
  514. package/dist/fields/Number/index.js.map +1 -1
  515. package/dist/fields/Password/index.js +7 -3
  516. package/dist/fields/Password/index.js.map +1 -1
  517. package/dist/fields/Password/input.js +61 -21
  518. package/dist/fields/Password/input.js.map +1 -1
  519. package/dist/fields/Point/index.js +97 -33
  520. package/dist/fields/Point/index.js.map +1 -1
  521. package/dist/fields/RadioGroup/Radio/index.js +31 -11
  522. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  523. package/dist/fields/RadioGroup/index.js +67 -23
  524. package/dist/fields/RadioGroup/index.js.map +1 -1
  525. package/dist/fields/Relationship/Input.js +84 -28
  526. package/dist/fields/Relationship/Input.js.map +1 -1
  527. package/dist/fields/Relationship/index.js +7 -3
  528. package/dist/fields/Relationship/index.js.map +1 -1
  529. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +43 -15
  530. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  531. package/dist/fields/Relationship/select-components/SingleValue/index.js +48 -16
  532. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  533. package/dist/fields/Row/index.js +19 -7
  534. package/dist/fields/Row/index.js.map +1 -1
  535. package/dist/fields/Row/provider.js +7 -3
  536. package/dist/fields/Row/provider.js.map +1 -1
  537. package/dist/fields/Select/Input.js +55 -19
  538. package/dist/fields/Select/Input.js.map +1 -1
  539. package/dist/fields/Select/index.js +7 -3
  540. package/dist/fields/Select/index.js.map +1 -1
  541. package/dist/fields/Slug/index.js +37 -13
  542. package/dist/fields/Slug/index.js.map +1 -1
  543. package/dist/fields/Tabs/Tab/index.js +25 -9
  544. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  545. package/dist/fields/Tabs/index.js +67 -23
  546. package/dist/fields/Tabs/index.js.map +1 -1
  547. package/dist/fields/Tabs/provider.js +7 -3
  548. package/dist/fields/Tabs/provider.js.map +1 -1
  549. package/dist/fields/Text/Input.js +60 -20
  550. package/dist/fields/Text/Input.js.map +1 -1
  551. package/dist/fields/Text/index.js +7 -3
  552. package/dist/fields/Text/index.js.map +1 -1
  553. package/dist/fields/Textarea/Input.js +61 -21
  554. package/dist/fields/Textarea/Input.js.map +1 -1
  555. package/dist/fields/Textarea/index.js +7 -3
  556. package/dist/fields/Textarea/index.js.map +1 -1
  557. package/dist/fields/Upload/HasMany/index.js +48 -16
  558. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  559. package/dist/fields/Upload/HasOne/index.js +13 -5
  560. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  561. package/dist/fields/Upload/Input.js +151 -55
  562. package/dist/fields/Upload/Input.js.map +1 -1
  563. package/dist/fields/Upload/RelationshipContent/index.js +73 -25
  564. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  565. package/dist/fields/Upload/UploadCard/index.js +7 -3
  566. package/dist/fields/Upload/UploadCard/index.js.map +1 -1
  567. package/dist/fields/Upload/index.js +13 -5
  568. package/dist/fields/Upload/index.js.map +1 -1
  569. package/dist/forms/Form/index.js +67 -23
  570. package/dist/forms/Form/index.js.map +1 -1
  571. package/dist/forms/NullifyField/index.js +13 -5
  572. package/dist/forms/NullifyField/index.js.map +1 -1
  573. package/dist/forms/RenderFields/RenderField.js +138 -46
  574. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  575. package/dist/forms/RenderFields/index.js +19 -7
  576. package/dist/forms/RenderFields/index.js.map +1 -1
  577. package/dist/forms/RowLabel/Context/index.js +7 -3
  578. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  579. package/dist/forms/RowLabel/index.js +19 -7
  580. package/dist/forms/RowLabel/index.js.map +1 -1
  581. package/dist/forms/Submit/index.js +13 -5
  582. package/dist/forms/Submit/index.js.map +1 -1
  583. package/dist/forms/fieldSchemasToFormState/renderField.js +19 -7
  584. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  585. package/dist/forms/withCondition/index.js +13 -5
  586. package/dist/forms/withCondition/index.js.map +1 -1
  587. package/dist/graphics/Account/Default/index.js +25 -9
  588. package/dist/graphics/Account/Default/index.js.map +1 -1
  589. package/dist/graphics/Account/Gravatar/index.js +7 -3
  590. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  591. package/dist/graphics/Account/index.js +12 -4
  592. package/dist/graphics/Account/index.js.map +1 -1
  593. package/dist/graphics/DefaultBlockImage/index.js +67 -23
  594. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  595. package/dist/graphics/File/index.js +19 -7
  596. package/dist/graphics/File/index.js.map +1 -1
  597. package/dist/graphics/Icon/index.js +19 -7
  598. package/dist/graphics/Icon/index.js.map +1 -1
  599. package/dist/graphics/Logo/index.js +85 -29
  600. package/dist/graphics/Logo/index.js.map +1 -1
  601. package/dist/icons/Calendar/index.js +13 -5
  602. package/dist/icons/Calendar/index.js.map +1 -1
  603. package/dist/icons/Check/index.js +13 -5
  604. package/dist/icons/Check/index.js.map +1 -1
  605. package/dist/icons/Chevron/index.js +13 -5
  606. package/dist/icons/Chevron/index.js.map +1 -1
  607. package/dist/icons/CloseMenu/index.js +13 -5
  608. package/dist/icons/CloseMenu/index.js.map +1 -1
  609. package/dist/icons/CodeBlock/index.js +13 -5
  610. package/dist/icons/CodeBlock/index.js.map +1 -1
  611. package/dist/icons/Copy/index.js +13 -5
  612. package/dist/icons/Copy/index.js.map +1 -1
  613. package/dist/icons/Document/index.js +13 -5
  614. package/dist/icons/Document/index.js.map +1 -1
  615. package/dist/icons/Dots/index.js +22 -6
  616. package/dist/icons/Dots/index.js.map +1 -1
  617. package/dist/icons/DragHandle/index.js +43 -15
  618. package/dist/icons/DragHandle/index.js.map +1 -1
  619. package/dist/icons/Edit/index.js +13 -5
  620. package/dist/icons/Edit/index.js.map +1 -1
  621. package/dist/icons/ExternalLink/index.js +13 -5
  622. package/dist/icons/ExternalLink/index.js.map +1 -1
  623. package/dist/icons/Eye/index.js +36 -12
  624. package/dist/icons/Eye/index.js.map +1 -1
  625. package/dist/icons/Folder/index.js +13 -5
  626. package/dist/icons/Folder/index.js.map +1 -1
  627. package/dist/icons/Gear/index.js +19 -7
  628. package/dist/icons/Gear/index.js.map +1 -1
  629. package/dist/icons/GridView/index.js +31 -11
  630. package/dist/icons/GridView/index.js.map +1 -1
  631. package/dist/icons/Line/index.js +13 -5
  632. package/dist/icons/Line/index.js.map +1 -1
  633. package/dist/icons/Link/index.js +13 -5
  634. package/dist/icons/Link/index.js.map +1 -1
  635. package/dist/icons/ListView/index.js +13 -5
  636. package/dist/icons/ListView/index.js.map +1 -1
  637. package/dist/icons/Lock/index.js +19 -7
  638. package/dist/icons/Lock/index.js.map +1 -1
  639. package/dist/icons/LogOut/index.js +13 -5
  640. package/dist/icons/LogOut/index.js.map +1 -1
  641. package/dist/icons/Menu/index.js +13 -5
  642. package/dist/icons/Menu/index.js.map +1 -1
  643. package/dist/icons/MinimizeMaximize/index.js +18 -6
  644. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  645. package/dist/icons/More/index.js +25 -9
  646. package/dist/icons/More/index.js.map +1 -1
  647. package/dist/icons/MoveFolder/index.js +37 -13
  648. package/dist/icons/MoveFolder/index.js.map +1 -1
  649. package/dist/icons/People/index.js +13 -5
  650. package/dist/icons/People/index.js.map +1 -1
  651. package/dist/icons/Plus/index.js +13 -5
  652. package/dist/icons/Plus/index.js.map +1 -1
  653. package/dist/icons/Search/index.js +13 -5
  654. package/dist/icons/Search/index.js.map +1 -1
  655. package/dist/icons/Sort/index.js +25 -9
  656. package/dist/icons/Sort/index.js.map +1 -1
  657. package/dist/icons/Swap/index.js +13 -5
  658. package/dist/icons/Swap/index.js.map +1 -1
  659. package/dist/icons/ThreeDots/index.js +22 -6
  660. package/dist/icons/ThreeDots/index.js.map +1 -1
  661. package/dist/icons/Trash/index.js +13 -5
  662. package/dist/icons/Trash/index.js.map +1 -1
  663. package/dist/icons/X/index.js +13 -5
  664. package/dist/icons/X/index.js.map +1 -1
  665. package/dist/providers/Actions/index.js +7 -3
  666. package/dist/providers/Actions/index.js.map +1 -1
  667. package/dist/providers/Auth/index.js +7 -3
  668. package/dist/providers/Auth/index.js.map +1 -1
  669. package/dist/providers/ClickOutside/index.js +7 -3
  670. package/dist/providers/ClickOutside/index.js.map +1 -1
  671. package/dist/providers/ClientFunction/index.js +13 -5
  672. package/dist/providers/ClientFunction/index.js.map +1 -1
  673. package/dist/providers/Config/index.js +13 -5
  674. package/dist/providers/Config/index.js.map +1 -1
  675. package/dist/providers/DocumentEvents/index.js +7 -3
  676. package/dist/providers/DocumentEvents/index.js.map +1 -1
  677. package/dist/providers/DocumentInfo/index.js +25 -9
  678. package/dist/providers/DocumentInfo/index.js.map +1 -1
  679. package/dist/providers/DocumentTitle/index.js +7 -3
  680. package/dist/providers/DocumentTitle/index.js.map +1 -1
  681. package/dist/providers/EditDepth/index.js +7 -3
  682. package/dist/providers/EditDepth/index.js.map +1 -1
  683. package/dist/providers/EntityVisibility/index.js +7 -3
  684. package/dist/providers/EntityVisibility/index.js.map +1 -1
  685. package/dist/providers/Folders/index.js +7 -3
  686. package/dist/providers/Folders/index.js.map +1 -1
  687. package/dist/providers/ListQuery/index.js +13 -5
  688. package/dist/providers/ListQuery/index.js.map +1 -1
  689. package/dist/providers/LivePreview/index.js +13 -5
  690. package/dist/providers/LivePreview/index.js.map +1 -1
  691. package/dist/providers/Locale/index.js +13 -5
  692. package/dist/providers/Locale/index.js.map +1 -1
  693. package/dist/providers/Operation/index.js +7 -3
  694. package/dist/providers/Operation/index.js.map +1 -1
  695. package/dist/providers/Params/index.js +7 -3
  696. package/dist/providers/Params/index.js.map +1 -1
  697. package/dist/providers/Preferences/index.js +7 -3
  698. package/dist/providers/Preferences/index.js.map +1 -1
  699. package/dist/providers/Root/index.js +154 -50
  700. package/dist/providers/Root/index.js.map +1 -1
  701. package/dist/providers/RouteCache/index.js +7 -3
  702. package/dist/providers/RouteCache/index.js.map +1 -1
  703. package/dist/providers/RouteTransition/ProgressBar/index.js +13 -5
  704. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  705. package/dist/providers/RouteTransition/index.js +7 -3
  706. package/dist/providers/RouteTransition/index.js.map +1 -1
  707. package/dist/providers/SearchParams/index.js +7 -3
  708. package/dist/providers/SearchParams/index.js.map +1 -1
  709. package/dist/providers/Selection/index.js +7 -3
  710. package/dist/providers/Selection/index.js.map +1 -1
  711. package/dist/providers/ServerFunctions/index.js +7 -3
  712. package/dist/providers/ServerFunctions/index.js.map +1 -1
  713. package/dist/providers/TableColumns/RenderDefaultCell/index.js +13 -5
  714. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  715. package/dist/providers/TableColumns/buildColumnState/index.js +7 -3
  716. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  717. package/dist/providers/TableColumns/buildColumnState/renderCell.js +13 -5
  718. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  719. package/dist/providers/TableColumns/index.js +7 -3
  720. package/dist/providers/TableColumns/index.js.map +1 -1
  721. package/dist/providers/Theme/index.js +7 -3
  722. package/dist/providers/Theme/index.js.map +1 -1
  723. package/dist/providers/ToastContainer/icons/Error.js +19 -7
  724. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  725. package/dist/providers/ToastContainer/icons/Info.js +19 -7
  726. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  727. package/dist/providers/ToastContainer/icons/Success.js +19 -7
  728. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  729. package/dist/providers/ToastContainer/icons/Warning.js +19 -7
  730. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  731. package/dist/providers/ToastContainer/index.js +27 -7
  732. package/dist/providers/ToastContainer/index.js.map +1 -1
  733. package/dist/providers/Translation/index.js +7 -3
  734. package/dist/providers/Translation/index.js.map +1 -1
  735. package/dist/providers/UploadControls/index.js +7 -3
  736. package/dist/providers/UploadControls/index.js.map +1 -1
  737. package/dist/providers/UploadEdits/index.js +7 -3
  738. package/dist/providers/UploadEdits/index.js.map +1 -1
  739. package/dist/providers/UploadHandlers/index.js +7 -3
  740. package/dist/providers/UploadHandlers/index.js.map +1 -1
  741. package/dist/utilities/combineFieldLabel.js +37 -13
  742. package/dist/utilities/combineFieldLabel.js.map +1 -1
  743. package/dist/utilities/getFolderResultsComponentAndData.js +29 -13
  744. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
  745. package/dist/utilities/renderTable.js +82 -26
  746. package/dist/utilities/renderTable.js.map +1 -1
  747. package/dist/views/BrowseByFolder/index.js +168 -56
  748. package/dist/views/BrowseByFolder/index.js.map +1 -1
  749. package/dist/views/CollectionFolder/ListSelection/index.js +67 -23
  750. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  751. package/dist/views/CollectionFolder/index.js +147 -47
  752. package/dist/views/CollectionFolder/index.js.map +1 -1
  753. package/dist/views/Edit/Auth/APIKey.js +67 -23
  754. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  755. package/dist/views/Edit/Auth/index.js +91 -31
  756. package/dist/views/Edit/Auth/index.js.map +1 -1
  757. package/dist/views/Edit/index.js +117 -41
  758. package/dist/views/Edit/index.js.map +1 -1
  759. package/dist/views/List/GroupByHeader/index.js +19 -7
  760. package/dist/views/List/GroupByHeader/index.js.map +1 -1
  761. package/dist/views/List/ListHeader/index.js +62 -22
  762. package/dist/views/List/ListHeader/index.js.map +1 -1
  763. package/dist/views/List/ListSelection/index.js +49 -17
  764. package/dist/views/List/ListSelection/index.js.map +1 -1
  765. package/dist/views/List/index.js +162 -54
  766. package/dist/views/List/index.js.map +1 -1
  767. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { isImage } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { useForm, useFormProcessing } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { UploadControlsProvider, useUploadControls } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport './index.scss'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n if (value && (!value.name || value.name === '')) {\n return 'A file name is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n readonly customActions?: React.ReactNode[]\n readonly enableAdjustments: boolean\n readonly enablePreviewSizes: boolean\n readonly mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n const { openModal } = useModal()\n\n const fileTypeIsAdjustable =\n isImage(mimeType) && mimeType !== 'image/svg+xml' && mimeType !== 'image/jxl'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) {\n return null\n }\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__previewSizes`}\n margin={false}\n onClick={() => {\n openModal(sizePreviewSlug)\n }}\n size=\"small\"\n >\n {t('upload:previewSizes')}\n </Button>\n )}\n {enableAdjustments && (\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__edit`}\n margin={false}\n onClick={() => {\n openModal(editDrawerSlug)\n }}\n size=\"small\"\n >\n {t('upload:editImage')}\n </Button>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n readonly collectionSlug: string\n readonly customActions?: React.ReactNode[]\n readonly initialState?: FormState\n readonly onChange?: (file?: File) => void\n readonly uploadConfig: SanitizedCollectionConfig['upload']\n readonly UploadControls?: React.ReactNode\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n return (\n <UploadControlsProvider>\n <Upload_v4\n {...props}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadEdits={uploadEdits}\n />\n </UploadControlsProvider>\n )\n}\n\nexport type UploadProps_v4 = {\n readonly resetUploadEdits?: () => void\n readonly updateUploadEdits?: (args: UploadEdits) => void\n readonly uploadEdits?: UploadEdits\n} & UploadProps\n\nexport const Upload_v4: React.FC<UploadProps_v4> = (props) => {\n const {\n collectionSlug,\n customActions,\n initialState,\n onChange,\n resetUploadEdits,\n updateUploadEdits,\n uploadConfig,\n UploadControls,\n uploadEdits,\n } = props\n\n const {\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n uploadControlFile,\n uploadControlFileName,\n uploadControlFileUrl,\n } = useUploadControls()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { id, data, docPermissions, setUploadStatus } = useDocumentInfo()\n const isFormSubmitting = useFormProcessing()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const [removedFile, setRemovedFile] = useState(false)\n const [filename, setFilename] = useState<string>(value?.name || '')\n const [showUrlInput, setShowUrlInput] = useState(false)\n const [fileUrl, setFileUrl] = useState<string>('')\n\n const urlInputRef = useRef<HTMLInputElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n\n const useServerSideFetch =\n typeof uploadConfig?.pasteURL === 'object' && uploadConfig.pasteURL.allowList?.length > 0\n\n const handleFileChange = useCallback(\n ({ file, isNewFile = true }: { file: File | null; isNewFile?: boolean }) => {\n if (isNewFile && file instanceof File) {\n setFileSrc(URL.createObjectURL(file))\n }\n\n setValue(file)\n setShowUrlInput(false)\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n\n if (typeof onChange === 'function') {\n onChange(file)\n }\n },\n [onChange, setValue, setUploadControlFile, setUploadControlFileName, setUploadControlFileUrl],\n )\n\n const renameFile = (fileToChange: File, newName: string): File => {\n // Creating a new File object with updated properties\n const newFile = new File([fileToChange], newName, {\n type: fileToChange.type,\n lastModified: fileToChange.lastModified,\n })\n return newFile\n }\n\n const handleFileNameChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n\n if (value) {\n handleFileChange({ file: renameFile(value, updatedFileName), isNewFile: false })\n setFilename(updatedFileName)\n }\n },\n [handleFileChange, value],\n )\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange({ file: fileToUpload })\n },\n [handleFileChange],\n )\n\n const handleFileRemoval = useCallback(() => {\n setRemovedFile(true)\n handleFileChange({ file: null })\n setFileSrc('')\n setFileUrl('')\n resetUploadEdits()\n setShowUrlInput(false)\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n }, [\n handleFileChange,\n resetUploadEdits,\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n ])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n const handleUrlSubmit = useCallback(async () => {\n if (!fileUrl || uploadConfig?.pasteURL === false) {\n return\n }\n\n setUploadStatus('uploading')\n try {\n // Attempt client-side fetch\n const clientResponse = await fetch(fileUrl)\n\n if (!clientResponse.ok) {\n throw new Error(`Fetch failed with status: ${clientResponse.status}`)\n }\n\n const blob = await clientResponse.blob()\n const fileName = uploadControlFileName || decodeURIComponent(fileUrl.split('/').pop() || '')\n const file = new File([blob], fileName, { type: blob.type })\n\n handleFileChange({ file })\n setUploadStatus('idle')\n return // Exit if client-side fetch succeeds\n } catch (_clientError) {\n if (!useServerSideFetch) {\n // If server-side fetch is not enabled, show client-side error\n toast.error('Failed to fetch the file.')\n setUploadStatus('failed')\n return\n }\n }\n\n // Attempt server-side fetch if client-side fetch fails and useServerSideFetch is true\n try {\n const pasteURL = `/${collectionSlug}/paste-url${id ? `/${id}?` : '?'}src=${encodeURIComponent(fileUrl)}`\n const serverResponse = await fetch(`${serverURL}${api}${pasteURL}`)\n\n if (!serverResponse.ok) {\n throw new Error(`Fetch failed with status: ${serverResponse.status}`)\n }\n\n const blob = await serverResponse.blob()\n const fileName = decodeURIComponent(fileUrl.split('/').pop() || '')\n const file = new File([blob], fileName, { type: blob.type })\n\n handleFileChange({ file })\n setUploadStatus('idle')\n } catch (_serverError) {\n toast.error('The provided URL is not allowed.')\n setUploadStatus('failed')\n }\n }, [\n api,\n collectionSlug,\n fileUrl,\n handleFileChange,\n id,\n serverURL,\n setUploadStatus,\n uploadConfig,\n uploadControlFileName,\n useServerSideFetch,\n ])\n\n useEffect(() => {\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n setRemovedFile(false)\n }\n }, [initialState])\n\n useEffect(() => {\n if (showUrlInput && urlInputRef.current) {\n // urlInputRef.current.focus() // Focus on the remote-url input field when showUrlInput is true\n }\n }, [showUrlInput])\n\n useEffect(() => {\n if (isFormSubmitting) {\n setRemovedFile(false)\n }\n }, [isFormSubmitting])\n\n const canRemoveUpload = docPermissions?.update\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ')\n\n const imageCacheTag = uploadConfig?.cacheTags && data?.updatedAt\n\n useEffect(() => {\n const handleControlFileUrl = async () => {\n if (uploadControlFileUrl) {\n setFileUrl(uploadControlFileUrl)\n await handleUrlSubmit()\n }\n }\n\n void handleControlFileUrl()\n }, [uploadControlFileUrl, handleUrlSubmit])\n\n useEffect(() => {\n const handleControlFile = () => {\n if (uploadControlFile) {\n handleFileChange({ file: uploadControlFile })\n }\n }\n\n void handleControlFile()\n }, [uploadControlFile, handleFileChange])\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {data && data.filename && !removedFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={data}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasImageSizes}\n hideRemoveFile={uploadConfig.hideRemoveFile}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n )}\n {((!uploadConfig.hideFileInputOnCreate && !data?.filename) || removedFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && !showUrlInput && (\n <Dropzone onChange={handleFileSelection}>\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneButtons`}>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n if (inputRef.current) {\n inputRef.current.click()\n }\n }}\n size=\"small\"\n >\n {t('upload:selectFile')}\n </Button>\n <input\n accept={acceptMimeTypes}\n aria-hidden=\"true\"\n className={`${baseClass}__hidden-input`}\n hidden\n onChange={(e) => {\n if (e.target.files && e.target.files.length > 0) {\n handleFileSelection(e.target.files)\n }\n }}\n ref={inputRef}\n type=\"file\"\n />\n {uploadConfig?.pasteURL !== false && (\n <Fragment>\n <span className={`${baseClass}__orText`}>{t('general:or')}</span>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n setShowUrlInput(true)\n setUploadControlFileUrl('')\n setUploadControlFile(null)\n setUploadControlFileName(null)\n }}\n size=\"small\"\n >\n {t('upload:pasteURL')}\n </Button>\n </Fragment>\n )}\n\n {UploadControls ? UploadControls : null}\n </div>\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n </Dropzone>\n )}\n {showUrlInput && (\n <React.Fragment>\n <div className={`${baseClass}__remote-file-wrap`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__remote-file`}\n onChange={(e) => {\n setFileUrl(e.target.value)\n }}\n ref={urlInputRef}\n title={fileUrl}\n type=\"text\"\n value={fileUrl}\n />\n <div className={`${baseClass}__add-file-wrap`}>\n <button\n className={`${baseClass}__add-file`}\n onClick={() => {\n void handleUrlSubmit()\n }}\n type=\"button\"\n >\n {t('upload:addFile')}\n </button>\n </div>\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={() => {\n setShowUrlInput(false)\n setUploadControlFileUrl('')\n setUploadControlFile(null)\n setUploadControlFileName(null)\n }}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__filename`}\n onChange={handleFileNameChange}\n title={filename || value.name}\n type=\"text\"\n value={filename || value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasImageSizes && data?.filename && !removedFile}\n mimeType={value.type}\n />\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n </div>\n )}\n {(value || data?.filename) && (\n <EditDepthProvider>\n <Drawer Header={null} slug={editDrawerSlug}>\n <EditUpload\n fileName={value?.name || data?.filename}\n fileSrc={data?.url || fileSrc}\n imageCacheTag={imageCacheTag}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || data?.focalX || 50,\n y: uploadEdits?.focalPoint?.y || data?.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </Drawer>\n </EditDepthProvider>\n )}\n {data && hasImageSizes && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: data.filename })}\n >\n <PreviewSizes doc={data} imageCacheTag={imageCacheTag} uploadConfig={uploadConfig} />\n </Drawer>\n )}\n </div>\n )\n}\n"],"names":["useModal","isImage","React","Fragment","useCallback","useEffect","useRef","useState","toast","FieldError","fieldBaseClass","useForm","useFormProcessing","useField","useConfig","useDocumentInfo","EditDepthProvider","useTranslation","UploadControlsProvider","useUploadControls","useUploadEdits","Button","Drawer","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","name","UploadActions","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","openModal","fileTypeIsAdjustable","length","div","className","buttonStyle","margin","onClick","size","map","CustomAction","i","Upload","props","resetUploadEdits","updateUploadEdits","uploadEdits","Upload_v4","collectionSlug","initialState","onChange","uploadConfig","UploadControls","setUploadControlFile","setUploadControlFileName","setUploadControlFileUrl","uploadControlFile","uploadControlFileName","uploadControlFileUrl","config","routes","api","serverURL","setModified","id","data","docPermissions","setUploadStatus","isFormSubmitting","errorMessage","setValue","showError","path","fileSrc","setFileSrc","removedFile","setRemovedFile","filename","setFilename","showUrlInput","setShowUrlInput","fileUrl","setFileUrl","urlInputRef","inputRef","useServerSideFetch","pasteURL","allowList","handleFileChange","file","isNewFile","File","URL","createObjectURL","renameFile","fileToChange","newName","newFile","type","lastModified","handleFileNameChange","e","updatedFileName","target","handleFileSelection","files","fileToUpload","handleFileRemoval","onEditsSave","args","handleUrlSubmit","clientResponse","fetch","ok","Error","status","blob","fileName","decodeURIComponent","split","pop","_clientError","error","encodeURIComponent","serverResponse","_serverError","current","canRemoveUpload","update","hasImageSizes","imageSizes","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","focalPoint","crop","showCrop","showFocalPoint","acceptMimeTypes","mimeTypes","join","imageCacheTag","cacheTags","updatedAt","handleControlFileUrl","handleControlFile","filter","message","customUploadActions","doc","handleRemove","hideRemoveFile","hideFileInputOnCreate","click","input","accept","aria-hidden","hidden","ref","span","p","title","button","icon","iconStyle","round","tooltip","Header","slug","url","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","label"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { isImage } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { useForm, useFormProcessing } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { UploadControlsProvider, useUploadControls } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport './index.scss'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n if (value && (!value.name || value.name === '')) {\n return 'A file name is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n readonly customActions?: React.ReactNode[]\n readonly enableAdjustments: boolean\n readonly enablePreviewSizes: boolean\n readonly mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n const { openModal } = useModal()\n\n const fileTypeIsAdjustable =\n isImage(mimeType) && mimeType !== 'image/svg+xml' && mimeType !== 'image/jxl'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) {\n return null\n }\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__previewSizes`}\n margin={false}\n onClick={() => {\n openModal(sizePreviewSlug)\n }}\n size=\"small\"\n >\n {t('upload:previewSizes')}\n </Button>\n )}\n {enableAdjustments && (\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__edit`}\n margin={false}\n onClick={() => {\n openModal(editDrawerSlug)\n }}\n size=\"small\"\n >\n {t('upload:editImage')}\n </Button>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n readonly collectionSlug: string\n readonly customActions?: React.ReactNode[]\n readonly initialState?: FormState\n readonly onChange?: (file?: File) => void\n readonly uploadConfig: SanitizedCollectionConfig['upload']\n readonly UploadControls?: React.ReactNode\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n return (\n <UploadControlsProvider>\n <Upload_v4\n {...props}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadEdits={uploadEdits}\n />\n </UploadControlsProvider>\n )\n}\n\nexport type UploadProps_v4 = {\n readonly resetUploadEdits?: () => void\n readonly updateUploadEdits?: (args: UploadEdits) => void\n readonly uploadEdits?: UploadEdits\n} & UploadProps\n\nexport const Upload_v4: React.FC<UploadProps_v4> = (props) => {\n const {\n collectionSlug,\n customActions,\n initialState,\n onChange,\n resetUploadEdits,\n updateUploadEdits,\n uploadConfig,\n UploadControls,\n uploadEdits,\n } = props\n\n const {\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n uploadControlFile,\n uploadControlFileName,\n uploadControlFileUrl,\n } = useUploadControls()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { id, data, docPermissions, setUploadStatus } = useDocumentInfo()\n const isFormSubmitting = useFormProcessing()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const [removedFile, setRemovedFile] = useState(false)\n const [filename, setFilename] = useState<string>(value?.name || '')\n const [showUrlInput, setShowUrlInput] = useState(false)\n const [fileUrl, setFileUrl] = useState<string>('')\n\n const urlInputRef = useRef<HTMLInputElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n\n const useServerSideFetch =\n typeof uploadConfig?.pasteURL === 'object' && uploadConfig.pasteURL.allowList?.length > 0\n\n const handleFileChange = useCallback(\n ({ file, isNewFile = true }: { file: File | null; isNewFile?: boolean }) => {\n if (isNewFile && file instanceof File) {\n setFileSrc(URL.createObjectURL(file))\n }\n\n setValue(file)\n setShowUrlInput(false)\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n\n if (typeof onChange === 'function') {\n onChange(file)\n }\n },\n [onChange, setValue, setUploadControlFile, setUploadControlFileName, setUploadControlFileUrl],\n )\n\n const renameFile = (fileToChange: File, newName: string): File => {\n // Creating a new File object with updated properties\n const newFile = new File([fileToChange], newName, {\n type: fileToChange.type,\n lastModified: fileToChange.lastModified,\n })\n return newFile\n }\n\n const handleFileNameChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n\n if (value) {\n handleFileChange({ file: renameFile(value, updatedFileName), isNewFile: false })\n setFilename(updatedFileName)\n }\n },\n [handleFileChange, value],\n )\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange({ file: fileToUpload })\n },\n [handleFileChange],\n )\n\n const handleFileRemoval = useCallback(() => {\n setRemovedFile(true)\n handleFileChange({ file: null })\n setFileSrc('')\n setFileUrl('')\n resetUploadEdits()\n setShowUrlInput(false)\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n }, [\n handleFileChange,\n resetUploadEdits,\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n ])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n const handleUrlSubmit = useCallback(async () => {\n if (!fileUrl || uploadConfig?.pasteURL === false) {\n return\n }\n\n setUploadStatus('uploading')\n try {\n // Attempt client-side fetch\n const clientResponse = await fetch(fileUrl)\n\n if (!clientResponse.ok) {\n throw new Error(`Fetch failed with status: ${clientResponse.status}`)\n }\n\n const blob = await clientResponse.blob()\n const fileName = uploadControlFileName || decodeURIComponent(fileUrl.split('/').pop() || '')\n const file = new File([blob], fileName, { type: blob.type })\n\n handleFileChange({ file })\n setUploadStatus('idle')\n return // Exit if client-side fetch succeeds\n } catch (_clientError) {\n if (!useServerSideFetch) {\n // If server-side fetch is not enabled, show client-side error\n toast.error('Failed to fetch the file.')\n setUploadStatus('failed')\n return\n }\n }\n\n // Attempt server-side fetch if client-side fetch fails and useServerSideFetch is true\n try {\n const pasteURL = `/${collectionSlug}/paste-url${id ? `/${id}?` : '?'}src=${encodeURIComponent(fileUrl)}`\n const serverResponse = await fetch(`${serverURL}${api}${pasteURL}`)\n\n if (!serverResponse.ok) {\n throw new Error(`Fetch failed with status: ${serverResponse.status}`)\n }\n\n const blob = await serverResponse.blob()\n const fileName = decodeURIComponent(fileUrl.split('/').pop() || '')\n const file = new File([blob], fileName, { type: blob.type })\n\n handleFileChange({ file })\n setUploadStatus('idle')\n } catch (_serverError) {\n toast.error('The provided URL is not allowed.')\n setUploadStatus('failed')\n }\n }, [\n api,\n collectionSlug,\n fileUrl,\n handleFileChange,\n id,\n serverURL,\n setUploadStatus,\n uploadConfig,\n uploadControlFileName,\n useServerSideFetch,\n ])\n\n useEffect(() => {\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n setRemovedFile(false)\n }\n }, [initialState])\n\n useEffect(() => {\n if (showUrlInput && urlInputRef.current) {\n // urlInputRef.current.focus() // Focus on the remote-url input field when showUrlInput is true\n }\n }, [showUrlInput])\n\n useEffect(() => {\n if (isFormSubmitting) {\n setRemovedFile(false)\n }\n }, [isFormSubmitting])\n\n const canRemoveUpload = docPermissions?.update\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ')\n\n const imageCacheTag = uploadConfig?.cacheTags && data?.updatedAt\n\n useEffect(() => {\n const handleControlFileUrl = async () => {\n if (uploadControlFileUrl) {\n setFileUrl(uploadControlFileUrl)\n await handleUrlSubmit()\n }\n }\n\n void handleControlFileUrl()\n }, [uploadControlFileUrl, handleUrlSubmit])\n\n useEffect(() => {\n const handleControlFile = () => {\n if (uploadControlFile) {\n handleFileChange({ file: uploadControlFile })\n }\n }\n\n void handleControlFile()\n }, [uploadControlFile, handleFileChange])\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {data && data.filename && !removedFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={data}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasImageSizes}\n hideRemoveFile={uploadConfig.hideRemoveFile}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n )}\n {((!uploadConfig.hideFileInputOnCreate && !data?.filename) || removedFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && !showUrlInput && (\n <Dropzone onChange={handleFileSelection}>\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneButtons`}>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n if (inputRef.current) {\n inputRef.current.click()\n }\n }}\n size=\"small\"\n >\n {t('upload:selectFile')}\n </Button>\n <input\n accept={acceptMimeTypes}\n aria-hidden=\"true\"\n className={`${baseClass}__hidden-input`}\n hidden\n onChange={(e) => {\n if (e.target.files && e.target.files.length > 0) {\n handleFileSelection(e.target.files)\n }\n }}\n ref={inputRef}\n type=\"file\"\n />\n {uploadConfig?.pasteURL !== false && (\n <Fragment>\n <span className={`${baseClass}__orText`}>{t('general:or')}</span>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n setShowUrlInput(true)\n setUploadControlFileUrl('')\n setUploadControlFile(null)\n setUploadControlFileName(null)\n }}\n size=\"small\"\n >\n {t('upload:pasteURL')}\n </Button>\n </Fragment>\n )}\n\n {UploadControls ? UploadControls : null}\n </div>\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n </Dropzone>\n )}\n {showUrlInput && (\n <React.Fragment>\n <div className={`${baseClass}__remote-file-wrap`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__remote-file`}\n onChange={(e) => {\n setFileUrl(e.target.value)\n }}\n ref={urlInputRef}\n title={fileUrl}\n type=\"text\"\n value={fileUrl}\n />\n <div className={`${baseClass}__add-file-wrap`}>\n <button\n className={`${baseClass}__add-file`}\n onClick={() => {\n void handleUrlSubmit()\n }}\n type=\"button\"\n >\n {t('upload:addFile')}\n </button>\n </div>\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={() => {\n setShowUrlInput(false)\n setUploadControlFileUrl('')\n setUploadControlFile(null)\n setUploadControlFileName(null)\n }}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__filename`}\n onChange={handleFileNameChange}\n title={filename || value.name}\n type=\"text\"\n value={filename || value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasImageSizes && data?.filename && !removedFile}\n mimeType={value.type}\n />\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n </div>\n )}\n {(value || data?.filename) && (\n <EditDepthProvider>\n <Drawer Header={null} slug={editDrawerSlug}>\n <EditUpload\n fileName={value?.name || data?.filename}\n fileSrc={data?.url || fileSrc}\n imageCacheTag={imageCacheTag}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || data?.focalX || 50,\n y: uploadEdits?.focalPoint?.y || data?.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </Drawer>\n </EditDepthProvider>\n )}\n {data && hasImageSizes && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: data.filename })}\n >\n <PreviewSizes doc={data} imageCacheTag={imageCacheTag} uploadConfig={uploadConfig} />\n </Drawer>\n )}\n </div>\n )\n}\n"],"names":["useModal","isImage","React","Fragment","useCallback","useEffect","useRef","useState","toast","FieldError","fieldBaseClass","useForm","useFormProcessing","useField","useConfig","useDocumentInfo","EditDepthProvider","useTranslation","UploadControlsProvider","useUploadControls","useUploadEdits","Button","Drawer","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","name","UploadActions","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","openModal","fileTypeIsAdjustable","length","div","className","buttonStyle","margin","onClick","size","map","CustomAction","i","Upload","props","resetUploadEdits","updateUploadEdits","uploadEdits","Upload_v4","collectionSlug","initialState","onChange","uploadConfig","UploadControls","setUploadControlFile","setUploadControlFileName","setUploadControlFileUrl","uploadControlFile","uploadControlFileName","uploadControlFileUrl","config","routes","api","serverURL","setModified","id","data","docPermissions","setUploadStatus","isFormSubmitting","errorMessage","setValue","showError","path","fileSrc","setFileSrc","removedFile","setRemovedFile","filename","setFilename","showUrlInput","setShowUrlInput","fileUrl","setFileUrl","urlInputRef","inputRef","useServerSideFetch","pasteURL","allowList","handleFileChange","file","isNewFile","File","URL","createObjectURL","renameFile","fileToChange","newName","newFile","type","lastModified","handleFileNameChange","e","updatedFileName","target","handleFileSelection","files","fileToUpload","handleFileRemoval","onEditsSave","args","handleUrlSubmit","clientResponse","fetch","ok","Error","status","blob","fileName","decodeURIComponent","split","pop","_clientError","error","encodeURIComponent","serverResponse","_serverError","current","canRemoveUpload","update","hasImageSizes","imageSizes","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","focalPoint","crop","showCrop","showFocalPoint","acceptMimeTypes","mimeTypes","join","imageCacheTag","cacheTags","updatedAt","handleControlFileUrl","handleControlFile","filter","message","customUploadActions","doc","handleRemove","hideRemoveFile","hideFileInputOnCreate","click","input","accept","aria-hidden","hidden","ref","span","p","title","button","icon","iconStyle","round","tooltip","Header","slug","url","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","label"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
3
3
  import { getTranslation } from '@payloadcms/translations';
4
4
  import React from 'react';
5
5
  import { useTranslation } from '../../providers/Translation/index.js';
@@ -10,10 +10,14 @@ export function ViewDescription(props) {
10
10
  const { i18n } = useTranslation();
11
11
  const { description } = props;
12
12
  if (description) {
13
- return /*#__PURE__*/ _jsx("div", {
13
+ return /*#__PURE__*/ _jsxDEV("div", {
14
14
  className: "custom-view-description",
15
15
  children: getTranslation(description, i18n)
16
- });
16
+ }, void 0, false, {
17
+ fileName: "src/elements/ViewDescription/index.tsx",
18
+ lineNumber: 22,
19
+ columnNumber: 12
20
+ }, this);
17
21
  }
18
22
  return null;
19
23
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/ViewDescription/index.tsx"],"sourcesContent":["'use client'\nimport type { DescriptionFunction, StaticDescription, ViewDescriptionClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nexport type ViewDescriptionComponent = React.ComponentType<any>\n\ntype Description = DescriptionFunction | StaticDescription | string | ViewDescriptionComponent\n\nexport function isComponent(description: Description): description is ViewDescriptionComponent {\n return React.isValidElement(description)\n}\n\nexport function ViewDescription(props: ViewDescriptionClientProps) {\n const { i18n } = useTranslation()\n const { description } = props\n\n if (description) {\n return <div className=\"custom-view-description\">{getTranslation(description, i18n)}</div>\n }\n\n return null\n}\n"],"names":["getTranslation","React","useTranslation","isComponent","description","isValidElement","ViewDescription","props","i18n","div","className"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,uCAAsC;AAMrE,OAAO,SAASC,YAAYC,WAAwB;IAClD,qBAAOH,MAAMI,cAAc,CAACD;AAC9B;AAEA,OAAO,SAASE,gBAAgBC,KAAiC;IAC/D,MAAM,EAAEC,IAAI,EAAE,GAAGN;IACjB,MAAM,EAAEE,WAAW,EAAE,GAAGG;IAExB,IAAIH,aAAa;QACf,qBAAO,KAACK;YAAIC,WAAU;sBAA2BV,eAAeI,aAAaI;;IAC/E;IAEA,OAAO;AACT"}
1
+ {"version":3,"sources":["../../../src/elements/ViewDescription/index.tsx"],"sourcesContent":["'use client'\nimport type { DescriptionFunction, StaticDescription, ViewDescriptionClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nexport type ViewDescriptionComponent = React.ComponentType<any>\n\ntype Description = DescriptionFunction | StaticDescription | string | ViewDescriptionComponent\n\nexport function isComponent(description: Description): description is ViewDescriptionComponent {\n return React.isValidElement(description)\n}\n\nexport function ViewDescription(props: ViewDescriptionClientProps) {\n const { i18n } = useTranslation()\n const { description } = props\n\n if (description) {\n return <div className=\"custom-view-description\">{getTranslation(description, i18n)}</div>\n }\n\n return null\n}\n"],"names":["getTranslation","React","useTranslation","isComponent","description","isValidElement","ViewDescription","props","i18n","div","className"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,uCAAsC;AAMrE,OAAO,SAASC,YAAYC,WAAwB;IAClD,qBAAOH,MAAMI,cAAc,CAACD;AAC9B;AAEA,OAAO,SAASE,gBAAgBC,KAAiC;IAC/D,MAAM,EAAEC,IAAI,EAAE,GAAGN;IACjB,MAAM,EAAEE,WAAW,EAAE,GAAGG;IAExB,IAAIH,aAAa;QACf,qBAAO,QAACK;YAAIC,WAAU;sBAA2BV,eAAeI,aAAaI;;;;;;IAC/E;IAEA,OAAO;AACT"}
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
3
3
  import { getTranslation } from '@payloadcms/translations';
4
4
  import React from 'react';
5
5
  import { useTranslation } from '../../../../providers/Translation/index.js';
@@ -8,16 +8,24 @@ const baseClass = 'condition-value-date';
8
8
  export const DateFilter = ({ disabled, field: { admin }, onChange, value })=>{
9
9
  const { date } = admin || {};
10
10
  const { i18n, t } = useTranslation();
11
- return /*#__PURE__*/ _jsx("div", {
11
+ return /*#__PURE__*/ _jsxDEV("div", {
12
12
  className: baseClass,
13
- children: /*#__PURE__*/ _jsx(DatePickerField, {
13
+ children: /*#__PURE__*/ _jsxDEV(DatePickerField, {
14
14
  ...date,
15
15
  onChange: onChange,
16
16
  placeholder: getTranslation(admin.placeholder, i18n) || t('general:enterAValue'),
17
17
  readOnly: disabled,
18
18
  value: value
19
- })
20
- });
19
+ }, void 0, false, {
20
+ fileName: "src/elements/WhereBuilder/Condition/Date/index.tsx",
21
+ lineNumber: 18,
22
+ columnNumber: 7
23
+ }, this)
24
+ }, void 0, false, {
25
+ fileName: "src/elements/WhereBuilder/Condition/Date/index.tsx",
26
+ lineNumber: 17,
27
+ columnNumber: 5
28
+ }, this);
21
29
  };
22
30
 
23
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Date/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { DateFilterProps as Props } from './types.js'\n\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { DatePickerField } from '../../../DatePicker/index.js'\n\nconst baseClass = 'condition-value-date'\n\nexport const DateFilter: React.FC<Props> = ({ disabled, field: { admin }, onChange, value }) => {\n const { date } = admin || {}\n const { i18n, t } = useTranslation()\n\n return (\n <div className={baseClass}>\n <DatePickerField\n {...date}\n onChange={onChange}\n placeholder={getTranslation(admin.placeholder, i18n) || t('general:enterAValue')}\n readOnly={disabled}\n value={value as Date}\n />\n </div>\n )\n}\n"],"names":["getTranslation","React","useTranslation","DatePickerField","baseClass","DateFilter","disabled","field","admin","onChange","value","date","i18n","t","div","className","placeholder","readOnly"],"mappings":"AAAA;;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAIzB,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,SAASC,eAAe,QAAQ,+BAA8B;AAE9D,MAAMC,YAAY;AAElB,OAAO,MAAMC,aAA8B,CAAC,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,KAAK,EAAE,EAAEC,QAAQ,EAAEC,KAAK,EAAE;IACzF,MAAM,EAAEC,IAAI,EAAE,GAAGH,SAAS,CAAC;IAC3B,MAAM,EAAEI,IAAI,EAAEC,CAAC,EAAE,GAAGX;IAEpB,qBACE,KAACY;QAAIC,WAAWX;kBACd,cAAA,KAACD;YACE,GAAGQ,IAAI;YACRF,UAAUA;YACVO,aAAahB,eAAeQ,MAAMQ,WAAW,EAAEJ,SAASC,EAAE;YAC1DI,UAAUX;YACVI,OAAOA;;;AAIf,EAAC"}
1
+ {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Date/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { DateFilterProps as Props } from './types.js'\n\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { DatePickerField } from '../../../DatePicker/index.js'\n\nconst baseClass = 'condition-value-date'\n\nexport const DateFilter: React.FC<Props> = ({ disabled, field: { admin }, onChange, value }) => {\n const { date } = admin || {}\n const { i18n, t } = useTranslation()\n\n return (\n <div className={baseClass}>\n <DatePickerField\n {...date}\n onChange={onChange}\n placeholder={getTranslation(admin.placeholder, i18n) || t('general:enterAValue')}\n readOnly={disabled}\n value={value as Date}\n />\n </div>\n )\n}\n"],"names":["getTranslation","React","useTranslation","DatePickerField","baseClass","DateFilter","disabled","field","admin","onChange","value","date","i18n","t","div","className","placeholder","readOnly"],"mappings":"AAAA;;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAIzB,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,SAASC,eAAe,QAAQ,+BAA8B;AAE9D,MAAMC,YAAY;AAElB,OAAO,MAAMC,aAA8B,CAAC,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,KAAK,EAAE,EAAEC,QAAQ,EAAEC,KAAK,EAAE;IACzF,MAAM,EAAEC,IAAI,EAAE,GAAGH,SAAS,CAAC;IAC3B,MAAM,EAAEI,IAAI,EAAEC,CAAC,EAAE,GAAGX;IAEpB,qBACE,QAACY;QAAIC,WAAWX;kBACd,cAAA,QAACD;YACE,GAAGQ,IAAI;YACRF,UAAUA;YACVO,aAAahB,eAAeQ,MAAMQ,WAAW,EAAEJ,SAASC,EAAE;YAC1DI,UAAUX;YACVI,OAAOA;;;;;;;;;;;AAIf,EAAC"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
2
2
  import React from 'react';
3
3
  import { DateFilter } from '../Date/index.js';
4
4
  import { NumberFilter } from '../Number/index.js';
@@ -10,7 +10,7 @@ export const DefaultFilter = ({ booleanSelect, disabled, filterOptions, internal
10
10
  'radio',
11
11
  'select'
12
12
  ].includes(internalField?.field?.type)) {
13
- return /*#__PURE__*/ _jsx(Select, {
13
+ return /*#__PURE__*/ _jsxDEV(Select, {
14
14
  disabled: disabled,
15
15
  field: internalField.field,
16
16
  isClearable: !booleanSelect,
@@ -18,60 +18,84 @@ export const DefaultFilter = ({ booleanSelect, disabled, filterOptions, internal
18
18
  operator: operator,
19
19
  options: options,
20
20
  value: value
21
- });
21
+ }, void 0, false, {
22
+ fileName: "src/elements/WhereBuilder/Condition/DefaultFilter/index.tsx",
23
+ lineNumber: 42,
24
+ columnNumber: 7
25
+ }, this);
22
26
  }
23
27
  switch(internalField?.field?.type){
24
28
  case 'date':
25
29
  {
26
- return /*#__PURE__*/ _jsx(DateFilter, {
30
+ return /*#__PURE__*/ _jsxDEV(DateFilter, {
27
31
  disabled: disabled,
28
32
  field: internalField.field,
29
33
  onChange: onChange,
30
34
  operator: operator,
31
35
  value: value
32
- });
36
+ }, void 0, false, {
37
+ fileName: "src/elements/WhereBuilder/Condition/DefaultFilter/index.tsx",
38
+ lineNumber: 57,
39
+ columnNumber: 9
40
+ }, this);
33
41
  }
34
42
  case 'number':
35
43
  {
36
- return /*#__PURE__*/ _jsx(NumberFilter, {
44
+ return /*#__PURE__*/ _jsxDEV(NumberFilter, {
37
45
  disabled: disabled,
38
46
  field: internalField.field,
39
47
  onChange: onChange,
40
48
  operator: operator,
41
49
  value: value
42
- });
50
+ }, void 0, false, {
51
+ fileName: "src/elements/WhereBuilder/Condition/DefaultFilter/index.tsx",
52
+ lineNumber: 69,
53
+ columnNumber: 9
54
+ }, this);
43
55
  }
44
56
  case 'relationship':
45
57
  {
46
- return /*#__PURE__*/ _jsx(RelationshipFilter, {
58
+ return /*#__PURE__*/ _jsxDEV(RelationshipFilter, {
47
59
  disabled: disabled,
48
60
  field: internalField.field,
49
61
  filterOptions: filterOptions,
50
62
  onChange: onChange,
51
63
  operator: operator,
52
64
  value: value
53
- });
65
+ }, void 0, false, {
66
+ fileName: "src/elements/WhereBuilder/Condition/DefaultFilter/index.tsx",
67
+ lineNumber: 81,
68
+ columnNumber: 9
69
+ }, this);
54
70
  }
55
71
  case 'upload':
56
72
  {
57
- return /*#__PURE__*/ _jsx(RelationshipFilter, {
73
+ return /*#__PURE__*/ _jsxDEV(RelationshipFilter, {
58
74
  disabled: disabled,
59
75
  field: internalField.field,
60
76
  filterOptions: filterOptions,
61
77
  onChange: onChange,
62
78
  operator: operator,
63
79
  value: value
64
- });
80
+ }, void 0, false, {
81
+ fileName: "src/elements/WhereBuilder/Condition/DefaultFilter/index.tsx",
82
+ lineNumber: 94,
83
+ columnNumber: 9
84
+ }, this);
65
85
  }
66
86
  default:
67
87
  {
68
- return /*#__PURE__*/ _jsx(Text, {
88
+ return /*#__PURE__*/ _jsxDEV(Text, {
69
89
  disabled: disabled,
70
90
  field: internalField?.field,
71
91
  onChange: onChange,
72
92
  operator: operator,
73
93
  value: value
74
- });
94
+ }, void 0, false, {
95
+ fileName: "src/elements/WhereBuilder/Condition/DefaultFilter/index.tsx",
96
+ lineNumber: 107,
97
+ columnNumber: 9
98
+ }, this);
75
99
  }
76
100
  }
77
101
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/DefaultFilter/index.tsx"],"sourcesContent":["import type {\n Operator,\n Option,\n ResolvedFilterOptions,\n SelectFieldClient,\n TextFieldClient,\n} from 'payload'\n\nimport React from 'react'\n\nimport type { ReducedField, Value } from '../../types.js'\n\nimport { DateFilter } from '../Date/index.js'\nimport { NumberFilter } from '../Number/index.js'\nimport { RelationshipFilter } from '../Relationship/index.js'\nimport { Select } from '../Select/index.js'\nimport { Text } from '../Text/index.js'\n\ntype Props = {\n booleanSelect: boolean\n disabled: boolean\n filterOptions: ResolvedFilterOptions\n internalField: ReducedField\n onChange: React.Dispatch<React.SetStateAction<string>>\n operator: Operator\n options: Option[]\n value: Value\n}\n\nexport const DefaultFilter: React.FC<Props> = ({\n booleanSelect,\n disabled,\n filterOptions,\n internalField,\n onChange,\n operator,\n options,\n value,\n}) => {\n if (booleanSelect || ['radio', 'select'].includes(internalField?.field?.type)) {\n return (\n <Select\n disabled={disabled}\n field={internalField.field as SelectFieldClient}\n isClearable={!booleanSelect}\n onChange={onChange}\n operator={operator}\n options={options}\n value={value as string}\n />\n )\n }\n\n switch (internalField?.field?.type) {\n case 'date': {\n return (\n <DateFilter\n disabled={disabled}\n field={internalField.field}\n onChange={onChange}\n operator={operator}\n value={value as Date | string}\n />\n )\n }\n\n case 'number': {\n return (\n <NumberFilter\n disabled={disabled}\n field={internalField.field}\n onChange={onChange}\n operator={operator}\n value={value as number | number[]}\n />\n )\n }\n\n case 'relationship': {\n return (\n <RelationshipFilter\n disabled={disabled}\n field={internalField.field}\n filterOptions={filterOptions}\n onChange={onChange}\n operator={operator}\n value={value}\n />\n )\n }\n\n case 'upload': {\n return (\n <RelationshipFilter\n disabled={disabled}\n field={internalField.field}\n filterOptions={filterOptions}\n onChange={onChange}\n operator={operator}\n value={value}\n />\n )\n }\n\n default: {\n return (\n <Text\n disabled={disabled}\n field={internalField?.field as TextFieldClient}\n onChange={onChange}\n operator={operator}\n value={value as string | string[]}\n />\n )\n }\n }\n}\n"],"names":["React","DateFilter","NumberFilter","RelationshipFilter","Select","Text","DefaultFilter","booleanSelect","disabled","filterOptions","internalField","onChange","operator","options","value","includes","field","type","isClearable"],"mappings":";AAQA,OAAOA,WAAW,QAAO;AAIzB,SAASC,UAAU,QAAQ,mBAAkB;AAC7C,SAASC,YAAY,QAAQ,qBAAoB;AACjD,SAASC,kBAAkB,QAAQ,2BAA0B;AAC7D,SAASC,MAAM,QAAQ,qBAAoB;AAC3C,SAASC,IAAI,QAAQ,mBAAkB;AAavC,OAAO,MAAMC,gBAAiC,CAAC,EAC7CC,aAAa,EACbC,QAAQ,EACRC,aAAa,EACbC,aAAa,EACbC,QAAQ,EACRC,QAAQ,EACRC,OAAO,EACPC,KAAK,EACN;IACC,IAAIP,iBAAiB;QAAC;QAAS;KAAS,CAACQ,QAAQ,CAACL,eAAeM,OAAOC,OAAO;QAC7E,qBACE,KAACb;YACCI,UAAUA;YACVQ,OAAON,cAAcM,KAAK;YAC1BE,aAAa,CAACX;YACdI,UAAUA;YACVC,UAAUA;YACVC,SAASA;YACTC,OAAOA;;IAGb;IAEA,OAAQJ,eAAeM,OAAOC;QAC5B,KAAK;YAAQ;gBACX,qBACE,KAAChB;oBACCO,UAAUA;oBACVQ,OAAON,cAAcM,KAAK;oBAC1BL,UAAUA;oBACVC,UAAUA;oBACVE,OAAOA;;YAGb;QAEA,KAAK;YAAU;gBACb,qBACE,KAACZ;oBACCM,UAAUA;oBACVQ,OAAON,cAAcM,KAAK;oBAC1BL,UAAUA;oBACVC,UAAUA;oBACVE,OAAOA;;YAGb;QAEA,KAAK;YAAgB;gBACnB,qBACE,KAACX;oBACCK,UAAUA;oBACVQ,OAAON,cAAcM,KAAK;oBAC1BP,eAAeA;oBACfE,UAAUA;oBACVC,UAAUA;oBACVE,OAAOA;;YAGb;QAEA,KAAK;YAAU;gBACb,qBACE,KAACX;oBACCK,UAAUA;oBACVQ,OAAON,cAAcM,KAAK;oBAC1BP,eAAeA;oBACfE,UAAUA;oBACVC,UAAUA;oBACVE,OAAOA;;YAGb;QAEA;YAAS;gBACP,qBACE,KAACT;oBACCG,UAAUA;oBACVQ,OAAON,eAAeM;oBACtBL,UAAUA;oBACVC,UAAUA;oBACVE,OAAOA;;YAGb;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/DefaultFilter/index.tsx"],"sourcesContent":["import type {\n Operator,\n Option,\n ResolvedFilterOptions,\n SelectFieldClient,\n TextFieldClient,\n} from 'payload'\n\nimport React from 'react'\n\nimport type { ReducedField, Value } from '../../types.js'\n\nimport { DateFilter } from '../Date/index.js'\nimport { NumberFilter } from '../Number/index.js'\nimport { RelationshipFilter } from '../Relationship/index.js'\nimport { Select } from '../Select/index.js'\nimport { Text } from '../Text/index.js'\n\ntype Props = {\n booleanSelect: boolean\n disabled: boolean\n filterOptions: ResolvedFilterOptions\n internalField: ReducedField\n onChange: React.Dispatch<React.SetStateAction<string>>\n operator: Operator\n options: Option[]\n value: Value\n}\n\nexport const DefaultFilter: React.FC<Props> = ({\n booleanSelect,\n disabled,\n filterOptions,\n internalField,\n onChange,\n operator,\n options,\n value,\n}) => {\n if (booleanSelect || ['radio', 'select'].includes(internalField?.field?.type)) {\n return (\n <Select\n disabled={disabled}\n field={internalField.field as SelectFieldClient}\n isClearable={!booleanSelect}\n onChange={onChange}\n operator={operator}\n options={options}\n value={value as string}\n />\n )\n }\n\n switch (internalField?.field?.type) {\n case 'date': {\n return (\n <DateFilter\n disabled={disabled}\n field={internalField.field}\n onChange={onChange}\n operator={operator}\n value={value as Date | string}\n />\n )\n }\n\n case 'number': {\n return (\n <NumberFilter\n disabled={disabled}\n field={internalField.field}\n onChange={onChange}\n operator={operator}\n value={value as number | number[]}\n />\n )\n }\n\n case 'relationship': {\n return (\n <RelationshipFilter\n disabled={disabled}\n field={internalField.field}\n filterOptions={filterOptions}\n onChange={onChange}\n operator={operator}\n value={value}\n />\n )\n }\n\n case 'upload': {\n return (\n <RelationshipFilter\n disabled={disabled}\n field={internalField.field}\n filterOptions={filterOptions}\n onChange={onChange}\n operator={operator}\n value={value}\n />\n )\n }\n\n default: {\n return (\n <Text\n disabled={disabled}\n field={internalField?.field as TextFieldClient}\n onChange={onChange}\n operator={operator}\n value={value as string | string[]}\n />\n )\n }\n }\n}\n"],"names":["React","DateFilter","NumberFilter","RelationshipFilter","Select","Text","DefaultFilter","booleanSelect","disabled","filterOptions","internalField","onChange","operator","options","value","includes","field","type","isClearable"],"mappings":";AAQA,OAAOA,WAAW,QAAO;AAIzB,SAASC,UAAU,QAAQ,mBAAkB;AAC7C,SAASC,YAAY,QAAQ,qBAAoB;AACjD,SAASC,kBAAkB,QAAQ,2BAA0B;AAC7D,SAASC,MAAM,QAAQ,qBAAoB;AAC3C,SAASC,IAAI,QAAQ,mBAAkB;AAavC,OAAO,MAAMC,gBAAiC,CAAC,EAC7CC,aAAa,EACbC,QAAQ,EACRC,aAAa,EACbC,aAAa,EACbC,QAAQ,EACRC,QAAQ,EACRC,OAAO,EACPC,KAAK,EACN;IACC,IAAIP,iBAAiB;QAAC;QAAS;KAAS,CAACQ,QAAQ,CAACL,eAAeM,OAAOC,OAAO;QAC7E,qBACE,QAACb;YACCI,UAAUA;YACVQ,OAAON,cAAcM,KAAK;YAC1BE,aAAa,CAACX;YACdI,UAAUA;YACVC,UAAUA;YACVC,SAASA;YACTC,OAAOA;;;;;;IAGb;IAEA,OAAQJ,eAAeM,OAAOC;QAC5B,KAAK;YAAQ;gBACX,qBACE,QAAChB;oBACCO,UAAUA;oBACVQ,OAAON,cAAcM,KAAK;oBAC1BL,UAAUA;oBACVC,UAAUA;oBACVE,OAAOA;;;;;;YAGb;QAEA,KAAK;YAAU;gBACb,qBACE,QAACZ;oBACCM,UAAUA;oBACVQ,OAAON,cAAcM,KAAK;oBAC1BL,UAAUA;oBACVC,UAAUA;oBACVE,OAAOA;;;;;;YAGb;QAEA,KAAK;YAAgB;gBACnB,qBACE,QAACX;oBACCK,UAAUA;oBACVQ,OAAON,cAAcM,KAAK;oBAC1BP,eAAeA;oBACfE,UAAUA;oBACVC,UAAUA;oBACVE,OAAOA;;;;;;YAGb;QAEA,KAAK;YAAU;gBACb,qBACE,QAACX;oBACCK,UAAUA;oBACVQ,OAAON,cAAcM,KAAK;oBAC1BP,eAAeA;oBACfE,UAAUA;oBACVC,UAAUA;oBACVE,OAAOA;;;;;;YAGb;QAEA;YAAS;gBACP,qBACE,QAACT;oBACCG,UAAUA;oBACVQ,OAAON,eAAeM;oBACtBL,UAAUA;oBACVC,UAAUA;oBACVE,OAAOA;;;;;;YAGb;IACF;AACF,EAAC"}
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
3
3
  import { getTranslation } from '@payloadcms/translations';
4
4
  import React from 'react';
5
5
  import { useTranslation } from '../../../../providers/Translation/index.js';
@@ -52,7 +52,7 @@ export const NumberFilter = (props)=>{
52
52
  value
53
53
  ]);
54
54
  const placeholder = getTranslation(admin?.placeholder, i18n) || t('general:enterAValue');
55
- return isMulti ? /*#__PURE__*/ _jsx(ReactSelect, {
55
+ return isMulti ? /*#__PURE__*/ _jsxDEV(ReactSelect, {
56
56
  disabled: disabled,
57
57
  isClearable: true,
58
58
  isCreatable: true,
@@ -63,14 +63,22 @@ export const NumberFilter = (props)=>{
63
63
  options: [],
64
64
  placeholder: placeholder,
65
65
  value: valueToRender || []
66
- }) : /*#__PURE__*/ _jsx("input", {
66
+ }, void 0, false, {
67
+ fileName: "src/elements/WhereBuilder/Condition/Number/index.tsx",
68
+ lineNumber: 70,
69
+ columnNumber: 5
70
+ }, this) : /*#__PURE__*/ _jsxDEV("input", {
67
71
  className: baseClass,
68
72
  disabled: disabled,
69
73
  onChange: (e)=>onChange(e.target.value),
70
74
  placeholder: placeholder,
71
75
  type: "number",
72
76
  value: value
73
- });
77
+ }, void 0, false, {
78
+ fileName: "src/elements/WhereBuilder/Condition/Number/index.tsx",
79
+ lineNumber: 83,
80
+ columnNumber: 5
81
+ }, this);
74
82
  };
75
83
 
76
84
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Number/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { NumberFilterProps as Props } from './types.js'\n\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { ReactSelect } from '../../../ReactSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'condition-value-number'\n\nexport const NumberFilter: React.FC<Props> = (props) => {\n const {\n disabled,\n field: { admin, hasMany },\n onChange,\n operator,\n value,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const isMulti = ['in', 'not_in'].includes(operator) || hasMany\n\n const [valueToRender, setValueToRender] = React.useState<\n { id: string; label: string; value: { value: number } }[]\n >([])\n\n const onSelect = React.useCallback(\n (selectedOption) => {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (isMulti) {\n if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => Number(option.value?.value || option.value))\n } else {\n newValue = [Number(selectedOption.value?.value || selectedOption.value)]\n }\n }\n\n onChange(newValue)\n },\n [isMulti, onChange],\n )\n\n React.useEffect(() => {\n if (Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n toString: () => `${val}${index}`,\n value: (val as any)?.value || val,\n },\n }\n }),\n )\n } else {\n setValueToRender([])\n }\n }, [value])\n\n const placeholder = getTranslation(admin?.placeholder, i18n) || t('general:enterAValue')\n\n return isMulti ? (\n <ReactSelect\n disabled={disabled}\n isClearable\n isCreatable\n isMulti={isMulti}\n isSortable\n numberOnly\n onChange={onSelect}\n options={[]}\n placeholder={placeholder}\n value={valueToRender || []}\n />\n ) : (\n <input\n className={baseClass}\n disabled={disabled}\n onChange={(e) => onChange(e.target.value)}\n placeholder={placeholder}\n type=\"number\"\n value={value as number}\n />\n )\n}\n"],"names":["getTranslation","React","useTranslation","ReactSelect","baseClass","NumberFilter","props","disabled","field","admin","hasMany","onChange","operator","value","i18n","t","isMulti","includes","valueToRender","setValueToRender","useState","onSelect","useCallback","selectedOption","newValue","Array","isArray","map","option","Number","useEffect","val","index","id","label","toString","placeholder","isClearable","isCreatable","isSortable","numberOnly","options","input","className","e","target","type"],"mappings":"AAAA;;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAIzB,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,SAASC,WAAW,QAAQ,gCAA+B;AAC3D,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,eAAgC,CAACC;IAC5C,MAAM,EACJC,QAAQ,EACRC,OAAO,EAAEC,KAAK,EAAEC,OAAO,EAAE,EACzBC,QAAQ,EACRC,QAAQ,EACRC,KAAK,EACN,GAAGP;IAEJ,MAAM,EAAEQ,IAAI,EAAEC,CAAC,EAAE,GAAGb;IAEpB,MAAMc,UAAU;QAAC;QAAM;KAAS,CAACC,QAAQ,CAACL,aAAaF;IAEvD,MAAM,CAACQ,eAAeC,iBAAiB,GAAGlB,MAAMmB,QAAQ,CAEtD,EAAE;IAEJ,MAAMC,WAAWpB,MAAMqB,WAAW,CAChC,CAACC;QACC,IAAIC;QACJ,IAAI,CAACD,gBAAgB;YACnBC,WAAW,EAAE;QACf,OAAO,IAAIR,SAAS;YAClB,IAAIS,MAAMC,OAAO,CAACH,iBAAiB;gBACjCC,WAAWD,eAAeI,GAAG,CAAC,CAACC,SAAWC,OAAOD,OAAOf,KAAK,EAAEA,SAASe,OAAOf,KAAK;YACtF,OAAO;gBACLW,WAAW;oBAACK,OAAON,eAAeV,KAAK,EAAEA,SAASU,eAAeV,KAAK;iBAAE;YAC1E;QACF;QAEAF,SAASa;IACX,GACA;QAACR;QAASL;KAAS;IAGrBV,MAAM6B,SAAS,CAAC;QACd,IAAIL,MAAMC,OAAO,CAACb,QAAQ;YACxBM,iBACEN,MAAMc,GAAG,CAAC,CAACI,KAAKC;gBACd,OAAO;oBACLC,IAAI,GAAGF,MAAMC,OAAO;oBAAE,mEAAmE;oBACzFE,OAAO,GAAGH,KAAK;oBACflB,OAAO;wBACLsB,UAAU,IAAM,GAAGJ,MAAMC,OAAO;wBAChCnB,OAAO,AAACkB,KAAalB,SAASkB;oBAChC;gBACF;YACF;QAEJ,OAAO;YACLZ,iBAAiB,EAAE;QACrB;IACF,GAAG;QAACN;KAAM;IAEV,MAAMuB,cAAcpC,eAAeS,OAAO2B,aAAatB,SAASC,EAAE;IAElE,OAAOC,wBACL,KAACb;QACCI,UAAUA;QACV8B,WAAW;QACXC,WAAW;QACXtB,SAASA;QACTuB,UAAU;QACVC,UAAU;QACV7B,UAAUU;QACVoB,SAAS,EAAE;QACXL,aAAaA;QACbvB,OAAOK,iBAAiB,EAAE;uBAG5B,KAACwB;QACCC,WAAWvC;QACXG,UAAUA;QACVI,UAAU,CAACiC,IAAMjC,SAASiC,EAAEC,MAAM,CAAChC,KAAK;QACxCuB,aAAaA;QACbU,MAAK;QACLjC,OAAOA;;AAGb,EAAC"}
1
+ {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Number/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { NumberFilterProps as Props } from './types.js'\n\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { ReactSelect } from '../../../ReactSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'condition-value-number'\n\nexport const NumberFilter: React.FC<Props> = (props) => {\n const {\n disabled,\n field: { admin, hasMany },\n onChange,\n operator,\n value,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const isMulti = ['in', 'not_in'].includes(operator) || hasMany\n\n const [valueToRender, setValueToRender] = React.useState<\n { id: string; label: string; value: { value: number } }[]\n >([])\n\n const onSelect = React.useCallback(\n (selectedOption) => {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (isMulti) {\n if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => Number(option.value?.value || option.value))\n } else {\n newValue = [Number(selectedOption.value?.value || selectedOption.value)]\n }\n }\n\n onChange(newValue)\n },\n [isMulti, onChange],\n )\n\n React.useEffect(() => {\n if (Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n toString: () => `${val}${index}`,\n value: (val as any)?.value || val,\n },\n }\n }),\n )\n } else {\n setValueToRender([])\n }\n }, [value])\n\n const placeholder = getTranslation(admin?.placeholder, i18n) || t('general:enterAValue')\n\n return isMulti ? (\n <ReactSelect\n disabled={disabled}\n isClearable\n isCreatable\n isMulti={isMulti}\n isSortable\n numberOnly\n onChange={onSelect}\n options={[]}\n placeholder={placeholder}\n value={valueToRender || []}\n />\n ) : (\n <input\n className={baseClass}\n disabled={disabled}\n onChange={(e) => onChange(e.target.value)}\n placeholder={placeholder}\n type=\"number\"\n value={value as number}\n />\n )\n}\n"],"names":["getTranslation","React","useTranslation","ReactSelect","baseClass","NumberFilter","props","disabled","field","admin","hasMany","onChange","operator","value","i18n","t","isMulti","includes","valueToRender","setValueToRender","useState","onSelect","useCallback","selectedOption","newValue","Array","isArray","map","option","Number","useEffect","val","index","id","label","toString","placeholder","isClearable","isCreatable","isSortable","numberOnly","options","input","className","e","target","type"],"mappings":"AAAA;;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAIzB,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,SAASC,WAAW,QAAQ,gCAA+B;AAC3D,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,eAAgC,CAACC;IAC5C,MAAM,EACJC,QAAQ,EACRC,OAAO,EAAEC,KAAK,EAAEC,OAAO,EAAE,EACzBC,QAAQ,EACRC,QAAQ,EACRC,KAAK,EACN,GAAGP;IAEJ,MAAM,EAAEQ,IAAI,EAAEC,CAAC,EAAE,GAAGb;IAEpB,MAAMc,UAAU;QAAC;QAAM;KAAS,CAACC,QAAQ,CAACL,aAAaF;IAEvD,MAAM,CAACQ,eAAeC,iBAAiB,GAAGlB,MAAMmB,QAAQ,CAEtD,EAAE;IAEJ,MAAMC,WAAWpB,MAAMqB,WAAW,CAChC,CAACC;QACC,IAAIC;QACJ,IAAI,CAACD,gBAAgB;YACnBC,WAAW,EAAE;QACf,OAAO,IAAIR,SAAS;YAClB,IAAIS,MAAMC,OAAO,CAACH,iBAAiB;gBACjCC,WAAWD,eAAeI,GAAG,CAAC,CAACC,SAAWC,OAAOD,OAAOf,KAAK,EAAEA,SAASe,OAAOf,KAAK;YACtF,OAAO;gBACLW,WAAW;oBAACK,OAAON,eAAeV,KAAK,EAAEA,SAASU,eAAeV,KAAK;iBAAE;YAC1E;QACF;QAEAF,SAASa;IACX,GACA;QAACR;QAASL;KAAS;IAGrBV,MAAM6B,SAAS,CAAC;QACd,IAAIL,MAAMC,OAAO,CAACb,QAAQ;YACxBM,iBACEN,MAAMc,GAAG,CAAC,CAACI,KAAKC;gBACd,OAAO;oBACLC,IAAI,GAAGF,MAAMC,OAAO;oBAAE,mEAAmE;oBACzFE,OAAO,GAAGH,KAAK;oBACflB,OAAO;wBACLsB,UAAU,IAAM,GAAGJ,MAAMC,OAAO;wBAChCnB,OAAO,AAACkB,KAAalB,SAASkB;oBAChC;gBACF;YACF;QAEJ,OAAO;YACLZ,iBAAiB,EAAE;QACrB;IACF,GAAG;QAACN;KAAM;IAEV,MAAMuB,cAAcpC,eAAeS,OAAO2B,aAAatB,SAASC,EAAE;IAElE,OAAOC,wBACL,QAACb;QACCI,UAAUA;QACV8B,WAAW;QACXC,WAAW;QACXtB,SAASA;QACTuB,UAAU;QACVC,UAAU;QACV7B,UAAUU;QACVoB,SAAS,EAAE;QACXL,aAAaA;QACbvB,OAAOK,iBAAiB,EAAE;;;;;6BAG5B,QAACwB;QACCC,WAAWvC;QACXG,UAAUA;QACVI,UAAU,CAACiC,IAAMjC,SAASiC,EAAEC,MAAM,CAAChC,KAAK;QACxCuB,aAAaA;QACbU,MAAK;QACLjC,OAAOA;;;;;;AAGb,EAAC"}
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
3
3
  import * as qs from 'qs-esm';
4
4
  import React, { useCallback, useEffect, useReducer, useState } from 'react';
5
5
  import { useDebounce } from '../../../../hooks/useDebounce.js';
@@ -323,12 +323,16 @@ export const RelationshipFilter = (props)=>{
323
323
  errorLoading && 'error-loading'
324
324
  ].filter(Boolean).join(' ');
325
325
  const valueToRender = findOptionsByValue() || value;
326
- return /*#__PURE__*/ _jsx("div", {
326
+ return /*#__PURE__*/ _jsxDEV("div", {
327
327
  className: classes,
328
- children: errorLoading ? /*#__PURE__*/ _jsx("div", {
328
+ children: errorLoading ? /*#__PURE__*/ _jsxDEV("div", {
329
329
  className: `${baseClass}__error-loading`,
330
330
  children: errorLoading
331
- }) : /*#__PURE__*/ _jsx(ReactSelect, {
331
+ }, void 0, false, {
332
+ fileName: "src/elements/WhereBuilder/Condition/Relationship/index.tsx",
333
+ lineNumber: 381,
334
+ columnNumber: 9
335
+ }, this) : /*#__PURE__*/ _jsxDEV(ReactSelect, {
332
336
  disabled: disabled,
333
337
  isMulti: hasMany,
334
338
  isSortable: isSortable,
@@ -361,8 +365,16 @@ export const RelationshipFilter = (props)=>{
361
365
  options: options,
362
366
  placeholder: placeholder,
363
367
  value: valueToRender
364
- })
365
- });
368
+ }, void 0, false, {
369
+ fileName: "src/elements/WhereBuilder/Condition/Relationship/index.tsx",
370
+ lineNumber: 383,
371
+ columnNumber: 9
372
+ }, this)
373
+ }, void 0, false, {
374
+ fileName: "src/elements/WhereBuilder/Condition/Relationship/index.tsx",
375
+ lineNumber: 379,
376
+ columnNumber: 5
377
+ }, this);
366
378
  };
367
379
 
368
380
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { Option } from '../../../ReactSelect/types.js'\nimport type { RelationshipFilterProps as Props, ValueWithRelation } from './types.js'\n\nimport { useDebounce } from '../../../../hooks/useDebounce.js'\nimport { useEffectEvent } from '../../../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { useLocale } from '../../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { ReactSelect } from '../../../ReactSelect/index.js'\nimport optionsReducer from './optionsReducer.js'\nimport './index.scss'\n\nconst baseClass = 'condition-value-relationship'\n\nconst maxResultsPerRequest = 10\n\nexport const RelationshipFilter: React.FC<Props> = (props) => {\n const {\n disabled,\n field: { admin = {}, hasMany, relationTo },\n filterOptions,\n onChange,\n value,\n } = props\n\n const placeholder = 'placeholder' in admin ? admin?.placeholder : undefined\n const isSortable = admin?.isSortable\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const hasMultipleRelations = Array.isArray(relationTo)\n const [options, dispatchOptions] = useReducer(optionsReducer, [])\n const [search, setSearch] = useState('')\n const debouncedSearch = useDebounce(search, 300)\n const [errorLoading, setErrorLoading] = useState('')\n const [hasLoadedFirstOptions, setHasLoadedFirstOptions] = useState(false)\n const { i18n, t } = useTranslation()\n const locale = useLocale()\n\n const relationSlugs = hasMultipleRelations ? relationTo : [relationTo]\n\n const loadedRelationships = React.useRef<\n Map<\n string,\n {\n hasLoadedAll: boolean\n nextPage: number\n }\n >\n >(\n new Map(\n relationSlugs.map((relation) => [\n relation,\n {\n hasLoadedAll: false,\n nextPage: 1,\n },\n ]),\n ),\n )\n\n const addOptions = useCallback(\n (data, relation) => {\n const collection = getEntityConfig({ collectionSlug: relation })\n dispatchOptions({ type: 'ADD', collection, data, hasMultipleRelations, i18n, relation })\n },\n [hasMultipleRelations, i18n, getEntityConfig],\n )\n\n const loadOptions = useEffectEvent(\n async ({\n abortController,\n relationSlug,\n }: {\n abortController: AbortController\n relationSlug: string\n }) => {\n const loadedRelationship = loadedRelationships.current.get(relationSlug)\n\n if (relationSlug && !loadedRelationship.hasLoadedAll) {\n const collection = getEntityConfig({\n collectionSlug: relationSlug,\n })\n\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n\n const where: Where = {\n and: [],\n }\n\n const query = {\n depth: 0,\n limit: maxResultsPerRequest,\n locale: locale.code,\n page: loadedRelationship.nextPage,\n select: {\n [fieldToSearch]: true,\n },\n where,\n }\n\n if (filterOptions && filterOptions?.[relationSlug]) {\n query.where.and.push(filterOptions[relationSlug])\n }\n\n if (debouncedSearch) {\n query.where.and.push({\n [fieldToSearch]: {\n like: debouncedSearch,\n },\n })\n }\n\n try {\n const response = await fetch(\n `${serverURL}${api}/${relationSlug}${qs.stringify(query, { addQueryPrefix: true })}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n signal: abortController.signal,\n },\n )\n\n if (response.ok) {\n const data: PaginatedDocs = await response.json()\n if (data.docs.length > 0) {\n addOptions(data, relationSlug)\n\n if (data.nextPage) {\n loadedRelationships.current.set(relationSlug, {\n hasLoadedAll: false,\n nextPage: data.nextPage,\n })\n } else {\n loadedRelationships.current.set(relationSlug, {\n hasLoadedAll: true,\n nextPage: null,\n })\n }\n }\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n } catch (e) {\n if (!abortController.signal.aborted) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n }\n\n setHasLoadedFirstOptions(true)\n },\n )\n\n const handleScrollToBottom = React.useCallback(() => {\n const relationshipToLoad = loadedRelationships.current.entries().next().value\n\n if (relationshipToLoad[0] && !relationshipToLoad[1].hasLoadedAll) {\n const abortController = new AbortController()\n\n void loadOptions({\n abortController,\n relationSlug: relationshipToLoad[0],\n })\n }\n }, [])\n\n const findOptionsByValue = useCallback((): Option | Option[] => {\n if (value) {\n if (hasMany) {\n if (Array.isArray(value)) {\n return value.map((val) => {\n if (hasMultipleRelations) {\n let matchedOption: Option\n\n options.forEach((opt) => {\n if (opt.options) {\n opt.options.some((subOpt) => {\n if (subOpt?.value == val.value) {\n matchedOption = subOpt\n return true\n }\n\n return false\n })\n }\n })\n\n return matchedOption\n }\n\n return options.find((opt) => opt.value == val)\n })\n }\n\n return undefined\n }\n\n if (hasMultipleRelations) {\n let matchedOption: Option\n\n const valueWithRelation = value as ValueWithRelation\n\n options.forEach((opt) => {\n if (opt?.options) {\n opt.options.some((subOpt) => {\n if (subOpt?.value == valueWithRelation.value) {\n matchedOption = subOpt\n return true\n }\n return false\n })\n }\n })\n\n return matchedOption\n }\n\n return options.find((opt) => opt.value == value)\n }\n\n return undefined\n }, [hasMany, hasMultipleRelations, value, options])\n\n const handleInputChange = useCallback(\n (input: string) => {\n if (input !== search) {\n dispatchOptions({ type: 'CLEAR', i18n, required: false })\n\n const relationSlugs = Array.isArray(relationTo) ? relationTo : [relationTo]\n\n loadedRelationships.current = new Map(\n relationSlugs.map((relation) => [\n relation,\n {\n hasLoadedAll: false,\n nextPage: 1,\n },\n ]),\n )\n\n setSearch(input)\n }\n },\n [i18n, relationTo, search],\n )\n\n const addOptionByID = useCallback(\n async (id, relation) => {\n if (!errorLoading && id !== 'null' && id && relation) {\n const response = await fetch(`${serverURL}${api}/${relation}/${id}?depth=0`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (response.ok) {\n const data = await response.json()\n addOptions({ docs: [data] }, relation)\n } else {\n // eslint-disable-next-line no-console\n console.error(t('error:loadingDocument', { id }))\n }\n }\n },\n [i18n, addOptions, api, errorLoading, serverURL, t],\n )\n\n /**\n * When `relationTo` changes externally, reset the options and reload them from scratch\n * The `loadOptions` dependency is a useEffectEvent which has no dependencies of its own\n * This means we can safely depend on it without it triggering this effect to run\n * This is useful because this effect should _only_ run when `relationTo` changes\n */\n useEffect(() => {\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n\n loadedRelationships.current = new Map(\n relations.map((relation) => [\n relation,\n {\n hasLoadedAll: false,\n nextPage: 1,\n },\n ]),\n )\n\n dispatchOptions({ type: 'CLEAR', i18n, required: false })\n setHasLoadedFirstOptions(false)\n\n const abortControllers: AbortController[] = []\n\n relations.forEach((relation) => {\n const abortController = new AbortController()\n\n void loadOptions({\n abortController,\n relationSlug: relation,\n })\n\n abortControllers.push(abortController)\n })\n\n return () => {\n abortControllers.forEach((controller) => {\n if (controller.signal) {\n try {\n controller.abort()\n } catch (_err) {\n // swallow error\n }\n }\n })\n }\n }, [i18n, relationTo, debouncedSearch, filterOptions])\n\n /**\n * Load any other options that might exist in the value that were not loaded already\n */\n useEffect(() => {\n if (value && hasLoadedFirstOptions) {\n if (hasMany) {\n const matchedOptions = findOptionsByValue()\n\n ;((matchedOptions as Option[]) || []).forEach((option, i) => {\n if (!option) {\n if (hasMultipleRelations) {\n void addOptionByID(value[i].value, value[i].relationTo)\n } else {\n void addOptionByID(value[i], relationTo)\n }\n }\n })\n } else {\n const matchedOption = findOptionsByValue()\n\n if (!matchedOption) {\n if (hasMultipleRelations) {\n const valueWithRelation = value as ValueWithRelation\n void addOptionByID(valueWithRelation.value, valueWithRelation.relationTo)\n } else {\n void addOptionByID(value, relationTo)\n }\n }\n }\n }\n }, [\n addOptionByID,\n findOptionsByValue,\n hasMany,\n hasMultipleRelations,\n relationTo,\n value,\n hasLoadedFirstOptions,\n ])\n\n const classes = ['field-type', baseClass, errorLoading && 'error-loading']\n .filter(Boolean)\n .join(' ')\n\n const valueToRender = (findOptionsByValue() || value) as Option\n\n return (\n <div className={classes}>\n {errorLoading ? (\n <div className={`${baseClass}__error-loading`}>{errorLoading}</div>\n ) : (\n <ReactSelect\n disabled={disabled}\n isMulti={hasMany}\n isSortable={isSortable}\n onChange={(selected) => {\n if (!selected) {\n onChange(null)\n return\n }\n\n if (hasMany && Array.isArray(selected)) {\n onChange(\n selected\n ? selected.map((option) => {\n if (hasMultipleRelations) {\n return {\n relationTo: option?.relationTo,\n value: option?.value,\n }\n }\n\n return option?.value\n })\n : null,\n )\n } else if (hasMultipleRelations && !Array.isArray(selected)) {\n onChange({\n relationTo: selected?.relationTo,\n value: selected?.value,\n })\n } else if (!Array.isArray(selected)) {\n onChange(selected?.value)\n }\n }}\n onInputChange={handleInputChange}\n onMenuScrollToBottom={handleScrollToBottom}\n options={options}\n placeholder={placeholder}\n value={valueToRender}\n />\n )}\n </div>\n )\n}\n"],"names":["qs","React","useCallback","useEffect","useReducer","useState","useDebounce","useEffectEvent","useConfig","useLocale","useTranslation","ReactSelect","optionsReducer","baseClass","maxResultsPerRequest","RelationshipFilter","props","disabled","field","admin","hasMany","relationTo","filterOptions","onChange","value","placeholder","undefined","isSortable","config","routes","api","serverURL","getEntityConfig","hasMultipleRelations","Array","isArray","options","dispatchOptions","search","setSearch","debouncedSearch","errorLoading","setErrorLoading","hasLoadedFirstOptions","setHasLoadedFirstOptions","i18n","t","locale","relationSlugs","loadedRelationships","useRef","Map","map","relation","hasLoadedAll","nextPage","addOptions","data","collection","collectionSlug","type","loadOptions","abortController","relationSlug","loadedRelationship","current","get","fieldToSearch","useAsTitle","where","and","query","depth","limit","code","page","select","push","like","response","fetch","stringify","addQueryPrefix","credentials","headers","language","signal","ok","json","docs","length","set","e","aborted","console","error","handleScrollToBottom","relationshipToLoad","entries","next","AbortController","findOptionsByValue","val","matchedOption","forEach","opt","some","subOpt","find","valueWithRelation","handleInputChange","input","required","addOptionByID","id","relations","abortControllers","controller","abort","_err","matchedOptions","option","i","classes","filter","Boolean","join","valueToRender","div","className","isMulti","selected","onInputChange","onMenuScrollToBottom"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { Option } from '../../../ReactSelect/types.js'\nimport type { RelationshipFilterProps as Props, ValueWithRelation } from './types.js'\n\nimport { useDebounce } from '../../../../hooks/useDebounce.js'\nimport { useEffectEvent } from '../../../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { useLocale } from '../../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { ReactSelect } from '../../../ReactSelect/index.js'\nimport optionsReducer from './optionsReducer.js'\nimport './index.scss'\n\nconst baseClass = 'condition-value-relationship'\n\nconst maxResultsPerRequest = 10\n\nexport const RelationshipFilter: React.FC<Props> = (props) => {\n const {\n disabled,\n field: { admin = {}, hasMany, relationTo },\n filterOptions,\n onChange,\n value,\n } = props\n\n const placeholder = 'placeholder' in admin ? admin?.placeholder : undefined\n const isSortable = admin?.isSortable\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const hasMultipleRelations = Array.isArray(relationTo)\n const [options, dispatchOptions] = useReducer(optionsReducer, [])\n const [search, setSearch] = useState('')\n const debouncedSearch = useDebounce(search, 300)\n const [errorLoading, setErrorLoading] = useState('')\n const [hasLoadedFirstOptions, setHasLoadedFirstOptions] = useState(false)\n const { i18n, t } = useTranslation()\n const locale = useLocale()\n\n const relationSlugs = hasMultipleRelations ? relationTo : [relationTo]\n\n const loadedRelationships = React.useRef<\n Map<\n string,\n {\n hasLoadedAll: boolean\n nextPage: number\n }\n >\n >(\n new Map(\n relationSlugs.map((relation) => [\n relation,\n {\n hasLoadedAll: false,\n nextPage: 1,\n },\n ]),\n ),\n )\n\n const addOptions = useCallback(\n (data, relation) => {\n const collection = getEntityConfig({ collectionSlug: relation })\n dispatchOptions({ type: 'ADD', collection, data, hasMultipleRelations, i18n, relation })\n },\n [hasMultipleRelations, i18n, getEntityConfig],\n )\n\n const loadOptions = useEffectEvent(\n async ({\n abortController,\n relationSlug,\n }: {\n abortController: AbortController\n relationSlug: string\n }) => {\n const loadedRelationship = loadedRelationships.current.get(relationSlug)\n\n if (relationSlug && !loadedRelationship.hasLoadedAll) {\n const collection = getEntityConfig({\n collectionSlug: relationSlug,\n })\n\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n\n const where: Where = {\n and: [],\n }\n\n const query = {\n depth: 0,\n limit: maxResultsPerRequest,\n locale: locale.code,\n page: loadedRelationship.nextPage,\n select: {\n [fieldToSearch]: true,\n },\n where,\n }\n\n if (filterOptions && filterOptions?.[relationSlug]) {\n query.where.and.push(filterOptions[relationSlug])\n }\n\n if (debouncedSearch) {\n query.where.and.push({\n [fieldToSearch]: {\n like: debouncedSearch,\n },\n })\n }\n\n try {\n const response = await fetch(\n `${serverURL}${api}/${relationSlug}${qs.stringify(query, { addQueryPrefix: true })}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n signal: abortController.signal,\n },\n )\n\n if (response.ok) {\n const data: PaginatedDocs = await response.json()\n if (data.docs.length > 0) {\n addOptions(data, relationSlug)\n\n if (data.nextPage) {\n loadedRelationships.current.set(relationSlug, {\n hasLoadedAll: false,\n nextPage: data.nextPage,\n })\n } else {\n loadedRelationships.current.set(relationSlug, {\n hasLoadedAll: true,\n nextPage: null,\n })\n }\n }\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n } catch (e) {\n if (!abortController.signal.aborted) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n }\n\n setHasLoadedFirstOptions(true)\n },\n )\n\n const handleScrollToBottom = React.useCallback(() => {\n const relationshipToLoad = loadedRelationships.current.entries().next().value\n\n if (relationshipToLoad[0] && !relationshipToLoad[1].hasLoadedAll) {\n const abortController = new AbortController()\n\n void loadOptions({\n abortController,\n relationSlug: relationshipToLoad[0],\n })\n }\n }, [])\n\n const findOptionsByValue = useCallback((): Option | Option[] => {\n if (value) {\n if (hasMany) {\n if (Array.isArray(value)) {\n return value.map((val) => {\n if (hasMultipleRelations) {\n let matchedOption: Option\n\n options.forEach((opt) => {\n if (opt.options) {\n opt.options.some((subOpt) => {\n if (subOpt?.value == val.value) {\n matchedOption = subOpt\n return true\n }\n\n return false\n })\n }\n })\n\n return matchedOption\n }\n\n return options.find((opt) => opt.value == val)\n })\n }\n\n return undefined\n }\n\n if (hasMultipleRelations) {\n let matchedOption: Option\n\n const valueWithRelation = value as ValueWithRelation\n\n options.forEach((opt) => {\n if (opt?.options) {\n opt.options.some((subOpt) => {\n if (subOpt?.value == valueWithRelation.value) {\n matchedOption = subOpt\n return true\n }\n return false\n })\n }\n })\n\n return matchedOption\n }\n\n return options.find((opt) => opt.value == value)\n }\n\n return undefined\n }, [hasMany, hasMultipleRelations, value, options])\n\n const handleInputChange = useCallback(\n (input: string) => {\n if (input !== search) {\n dispatchOptions({ type: 'CLEAR', i18n, required: false })\n\n const relationSlugs = Array.isArray(relationTo) ? relationTo : [relationTo]\n\n loadedRelationships.current = new Map(\n relationSlugs.map((relation) => [\n relation,\n {\n hasLoadedAll: false,\n nextPage: 1,\n },\n ]),\n )\n\n setSearch(input)\n }\n },\n [i18n, relationTo, search],\n )\n\n const addOptionByID = useCallback(\n async (id, relation) => {\n if (!errorLoading && id !== 'null' && id && relation) {\n const response = await fetch(`${serverURL}${api}/${relation}/${id}?depth=0`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (response.ok) {\n const data = await response.json()\n addOptions({ docs: [data] }, relation)\n } else {\n // eslint-disable-next-line no-console\n console.error(t('error:loadingDocument', { id }))\n }\n }\n },\n [i18n, addOptions, api, errorLoading, serverURL, t],\n )\n\n /**\n * When `relationTo` changes externally, reset the options and reload them from scratch\n * The `loadOptions` dependency is a useEffectEvent which has no dependencies of its own\n * This means we can safely depend on it without it triggering this effect to run\n * This is useful because this effect should _only_ run when `relationTo` changes\n */\n useEffect(() => {\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n\n loadedRelationships.current = new Map(\n relations.map((relation) => [\n relation,\n {\n hasLoadedAll: false,\n nextPage: 1,\n },\n ]),\n )\n\n dispatchOptions({ type: 'CLEAR', i18n, required: false })\n setHasLoadedFirstOptions(false)\n\n const abortControllers: AbortController[] = []\n\n relations.forEach((relation) => {\n const abortController = new AbortController()\n\n void loadOptions({\n abortController,\n relationSlug: relation,\n })\n\n abortControllers.push(abortController)\n })\n\n return () => {\n abortControllers.forEach((controller) => {\n if (controller.signal) {\n try {\n controller.abort()\n } catch (_err) {\n // swallow error\n }\n }\n })\n }\n }, [i18n, relationTo, debouncedSearch, filterOptions])\n\n /**\n * Load any other options that might exist in the value that were not loaded already\n */\n useEffect(() => {\n if (value && hasLoadedFirstOptions) {\n if (hasMany) {\n const matchedOptions = findOptionsByValue()\n\n ;((matchedOptions as Option[]) || []).forEach((option, i) => {\n if (!option) {\n if (hasMultipleRelations) {\n void addOptionByID(value[i].value, value[i].relationTo)\n } else {\n void addOptionByID(value[i], relationTo)\n }\n }\n })\n } else {\n const matchedOption = findOptionsByValue()\n\n if (!matchedOption) {\n if (hasMultipleRelations) {\n const valueWithRelation = value as ValueWithRelation\n void addOptionByID(valueWithRelation.value, valueWithRelation.relationTo)\n } else {\n void addOptionByID(value, relationTo)\n }\n }\n }\n }\n }, [\n addOptionByID,\n findOptionsByValue,\n hasMany,\n hasMultipleRelations,\n relationTo,\n value,\n hasLoadedFirstOptions,\n ])\n\n const classes = ['field-type', baseClass, errorLoading && 'error-loading']\n .filter(Boolean)\n .join(' ')\n\n const valueToRender = (findOptionsByValue() || value) as Option\n\n return (\n <div className={classes}>\n {errorLoading ? (\n <div className={`${baseClass}__error-loading`}>{errorLoading}</div>\n ) : (\n <ReactSelect\n disabled={disabled}\n isMulti={hasMany}\n isSortable={isSortable}\n onChange={(selected) => {\n if (!selected) {\n onChange(null)\n return\n }\n\n if (hasMany && Array.isArray(selected)) {\n onChange(\n selected\n ? selected.map((option) => {\n if (hasMultipleRelations) {\n return {\n relationTo: option?.relationTo,\n value: option?.value,\n }\n }\n\n return option?.value\n })\n : null,\n )\n } else if (hasMultipleRelations && !Array.isArray(selected)) {\n onChange({\n relationTo: selected?.relationTo,\n value: selected?.value,\n })\n } else if (!Array.isArray(selected)) {\n onChange(selected?.value)\n }\n }}\n onInputChange={handleInputChange}\n onMenuScrollToBottom={handleScrollToBottom}\n options={options}\n placeholder={placeholder}\n value={valueToRender}\n />\n )}\n </div>\n )\n}\n"],"names":["qs","React","useCallback","useEffect","useReducer","useState","useDebounce","useEffectEvent","useConfig","useLocale","useTranslation","ReactSelect","optionsReducer","baseClass","maxResultsPerRequest","RelationshipFilter","props","disabled","field","admin","hasMany","relationTo","filterOptions","onChange","value","placeholder","undefined","isSortable","config","routes","api","serverURL","getEntityConfig","hasMultipleRelations","Array","isArray","options","dispatchOptions","search","setSearch","debouncedSearch","errorLoading","setErrorLoading","hasLoadedFirstOptions","setHasLoadedFirstOptions","i18n","t","locale","relationSlugs","loadedRelationships","useRef","Map","map","relation","hasLoadedAll","nextPage","addOptions","data","collection","collectionSlug","type","loadOptions","abortController","relationSlug","loadedRelationship","current","get","fieldToSearch","useAsTitle","where","and","query","depth","limit","code","page","select","push","like","response","fetch","stringify","addQueryPrefix","credentials","headers","language","signal","ok","json","docs","length","set","e","aborted","console","error","handleScrollToBottom","relationshipToLoad","entries","next","AbortController","findOptionsByValue","val","matchedOption","forEach","opt","some","subOpt","find","valueWithRelation","handleInputChange","input","required","addOptionByID","id","relations","abortControllers","controller","abort","_err","matchedOptions","option","i","classes","filter","Boolean","join","valueToRender","div","className","isMulti","selected","onInputChange","onMenuScrollToBottom"],"mappings":"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"}