@payloadcms/ui 3.68.0-internal-debug.e9b66ee → 3.68.0-internal-debug.654e4ad

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 (779) hide show
  1. package/dist/elements/AddNewRelation/index.js +126 -37
  2. package/dist/elements/AddNewRelation/index.js.map +1 -1
  3. package/dist/elements/AnimateHeight/index.js +33 -17
  4. package/dist/elements/AnimateHeight/index.js.map +1 -1
  5. package/dist/elements/AppHeader/index.js +147 -35
  6. package/dist/elements/AppHeader/index.js.map +1 -1
  7. package/dist/elements/ArrayAction/index.d.ts +6 -6
  8. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  9. package/dist/elements/ArrayAction/index.js +184 -58
  10. package/dist/elements/ArrayAction/index.js.map +1 -1
  11. package/dist/elements/Autosave/index.js +28 -12
  12. package/dist/elements/Autosave/index.js.map +1 -1
  13. package/dist/elements/Banner/index.js +34 -5
  14. package/dist/elements/Banner/index.js.map +1 -1
  15. package/dist/elements/BulkUpload/ActionsBar/index.js +160 -56
  16. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  17. package/dist/elements/BulkUpload/AddFilesView/index.js +80 -23
  18. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  19. package/dist/elements/BulkUpload/AddingFilesView/index.js +78 -13
  20. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +14 -1
  22. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  23. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +17 -3
  24. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  25. package/dist/elements/BulkUpload/EditForm/index.js +89 -19
  26. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  27. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +134 -35
  28. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  29. package/dist/elements/BulkUpload/EditMany/index.js +44 -10
  30. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  31. package/dist/elements/BulkUpload/FileSidebar/index.js +326 -91
  32. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  33. package/dist/elements/BulkUpload/FormsManager/index.js +42 -25
  34. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  35. package/dist/elements/BulkUpload/Header/index.js +26 -4
  36. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  37. package/dist/elements/BulkUpload/index.js +94 -43
  38. package/dist/elements/BulkUpload/index.js.map +1 -1
  39. package/dist/elements/Button/index.js +155 -38
  40. package/dist/elements/Button/index.js.map +1 -1
  41. package/dist/elements/Card/index.js +40 -5
  42. package/dist/elements/Card/index.js.map +1 -1
  43. package/dist/elements/CheckboxPopup/index.js +41 -15
  44. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  45. package/dist/elements/ClipboardAction/ClipboardActionLabel.js +20 -3
  46. package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
  47. package/dist/elements/ClipboardAction/index.js +64 -14
  48. package/dist/elements/ClipboardAction/index.js.map +1 -1
  49. package/dist/elements/CloseModalButton/index.js +21 -8
  50. package/dist/elements/CloseModalButton/index.js.map +1 -1
  51. package/dist/elements/CodeEditor/CodeEditor.js +48 -27
  52. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  53. package/dist/elements/CodeEditor/index.js +21 -5
  54. package/dist/elements/CodeEditor/index.js.map +1 -1
  55. package/dist/elements/Collapsible/index.js +128 -40
  56. package/dist/elements/Collapsible/index.js.map +1 -1
  57. package/dist/elements/Collapsible/provider.js +10 -2
  58. package/dist/elements/Collapsible/provider.js.map +1 -1
  59. package/dist/elements/ColumnSelector/index.js +28 -12
  60. package/dist/elements/ColumnSelector/index.js.map +1 -1
  61. package/dist/elements/Combobox/index.js +71 -23
  62. package/dist/elements/Combobox/index.js.map +1 -1
  63. package/dist/elements/ConfirmationModal/index.js +81 -22
  64. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  65. package/dist/elements/CopyLocaleData/index.js +148 -56
  66. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  67. package/dist/elements/CopyToClipboard/index.js +41 -17
  68. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  69. package/dist/elements/DatePicker/DatePicker.js +56 -11
  70. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  71. package/dist/elements/DatePicker/index.js +23 -5
  72. package/dist/elements/DatePicker/index.js.map +1 -1
  73. package/dist/elements/DefaultListViewTabs/index.js +62 -22
  74. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  75. package/dist/elements/DeleteDocument/index.js +79 -19
  76. package/dist/elements/DeleteDocument/index.js.map +1 -1
  77. package/dist/elements/DeleteMany/index.js +131 -45
  78. package/dist/elements/DeleteMany/index.js.map +1 -1
  79. package/dist/elements/DocumentControls/index.js +442 -95
  80. package/dist/elements/DocumentControls/index.js.map +1 -1
  81. package/dist/elements/DocumentDrawer/DrawerContent.js +18 -4
  82. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  83. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +76 -15
  84. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  85. package/dist/elements/DocumentDrawer/Provider.js +12 -4
  86. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  87. package/dist/elements/DocumentDrawer/index.js +62 -14
  88. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  89. package/dist/elements/DocumentFields/index.js +86 -22
  90. package/dist/elements/DocumentFields/index.js.map +1 -1
  91. package/dist/elements/DocumentLocked/index.js +126 -41
  92. package/dist/elements/DocumentLocked/index.js.map +1 -1
  93. package/dist/elements/DocumentTakeOver/index.js +81 -24
  94. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  95. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +21 -16
  96. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  97. package/dist/elements/DraggableSortable/index.js +29 -8
  98. package/dist/elements/DraggableSortable/index.js.map +1 -1
  99. package/dist/elements/Drawer/index.js +135 -38
  100. package/dist/elements/Drawer/index.js.map +1 -1
  101. package/dist/elements/DrawerActionHeader/index.js +57 -18
  102. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  103. package/dist/elements/DrawerContentContainer/index.js +13 -4
  104. package/dist/elements/DrawerContentContainer/index.js.map +1 -1
  105. package/dist/elements/Dropzone/index.js +22 -15
  106. package/dist/elements/Dropzone/index.js.map +1 -1
  107. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +98 -22
  108. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  109. package/dist/elements/DuplicateDocument/index.js +46 -15
  110. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  111. package/dist/elements/EditMany/DrawerContent.js +204 -49
  112. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  113. package/dist/elements/EditMany/index.js +66 -18
  114. package/dist/elements/EditMany/index.js.map +1 -1
  115. package/dist/elements/EditUpload/index.js +388 -105
  116. package/dist/elements/EditUpload/index.js.map +1 -1
  117. package/dist/elements/EmailAndUsername/index.js +64 -25
  118. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  119. package/dist/elements/ErrorPill/index.js +27 -6
  120. package/dist/elements/ErrorPill/index.js.map +1 -1
  121. package/dist/elements/FieldDiffContainer/index.js +47 -17
  122. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  123. package/dist/elements/FieldDiffLabel/index.js +10 -1
  124. package/dist/elements/FieldDiffLabel/index.js.map +1 -1
  125. package/dist/elements/FieldSelect/index.js +37 -14
  126. package/dist/elements/FieldSelect/index.js.map +1 -1
  127. package/dist/elements/FileDetails/DraggableFileDetails/index.js +107 -26
  128. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  129. package/dist/elements/FileDetails/FileMeta/index.js +69 -19
  130. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  131. package/dist/elements/FileDetails/StaticFileDetails/index.js +72 -12
  132. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  133. package/dist/elements/FileDetails/index.js +16 -2
  134. package/dist/elements/FileDetails/index.js.map +1 -1
  135. package/dist/elements/FolderView/Breadcrumbs/index.js +51 -15
  136. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
  137. package/dist/elements/FolderView/BrowseByFolderButton/index.js +26 -10
  138. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
  139. package/dist/elements/FolderView/Cell/index.client.js +22 -4
  140. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  141. package/dist/elements/FolderView/Cell/index.server.js +14 -1
  142. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  143. package/dist/elements/FolderView/ColoredFolderIcon/index.js +8 -1
  144. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
  145. package/dist/elements/FolderView/CurrentFolderActions/index.js +138 -58
  146. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  147. package/dist/elements/FolderView/DragOverlaySelection/index.js +56 -18
  148. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
  149. package/dist/elements/FolderView/DraggableTableRow/index.js +47 -20
  150. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
  151. package/dist/elements/FolderView/DraggableWithClick/index.js +28 -16
  152. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
  153. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +24 -10
  154. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
  155. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +327 -105
  156. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  157. package/dist/elements/FolderView/FilterFolderTypePill/index.js +39 -11
  158. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
  159. package/dist/elements/FolderView/FolderField/index.server.js +10 -1
  160. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
  161. package/dist/elements/FolderView/FolderFileCard/index.js +168 -50
  162. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  163. package/dist/elements/FolderView/FolderFileTable/index.js +166 -97
  164. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
  165. package/dist/elements/FolderView/FolderTypeField/index.js +30 -1
  166. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
  167. package/dist/elements/FolderView/ItemCardGrid/index.js +34 -10
  168. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
  169. package/dist/elements/FolderView/MoveDocToFolder/index.js +104 -54
  170. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  171. package/dist/elements/FolderView/SimpleTable/index.js +98 -31
  172. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
  173. package/dist/elements/FolderView/SortByPill/index.js +135 -46
  174. package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
  175. package/dist/elements/FolderView/ToggleViewButtons/index.js +45 -14
  176. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
  177. package/dist/elements/FullscreenModal/index.js +15 -5
  178. package/dist/elements/FullscreenModal/index.js.map +1 -1
  179. package/dist/elements/GenerateConfirmation/index.js +48 -10
  180. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  181. package/dist/elements/GroupByBuilder/index.js +113 -54
  182. package/dist/elements/GroupByBuilder/index.js.map +1 -1
  183. package/dist/elements/Gutter/index.js +18 -10
  184. package/dist/elements/Gutter/index.js.map +1 -1
  185. package/dist/elements/HTMLDiff/index.js +22 -6
  186. package/dist/elements/HTMLDiff/index.js.map +1 -1
  187. package/dist/elements/Hamburger/index.js +48 -9
  188. package/dist/elements/Hamburger/index.js.map +1 -1
  189. package/dist/elements/IDLabel/index.js +25 -8
  190. package/dist/elements/IDLabel/index.js.map +1 -1
  191. package/dist/elements/LeaveWithoutSaving/index.js +23 -2
  192. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  193. package/dist/elements/Link/index.js +36 -26
  194. package/dist/elements/Link/index.js.map +1 -1
  195. package/dist/elements/ListControls/index.js +199 -32
  196. package/dist/elements/ListControls/index.js.map +1 -1
  197. package/dist/elements/ListDrawer/DrawerContent.js +34 -6
  198. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  199. package/dist/elements/ListDrawer/Provider.js +13 -7
  200. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  201. package/dist/elements/ListDrawer/index.js +59 -12
  202. package/dist/elements/ListDrawer/index.js.map +1 -1
  203. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +34 -10
  204. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  205. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +16 -3
  206. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  207. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +12 -3
  208. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  209. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +17 -5
  210. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
  211. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +110 -52
  212. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  213. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +64 -16
  214. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  215. package/dist/elements/ListHeader/index.js +64 -15
  216. package/dist/elements/ListHeader/index.js.map +1 -1
  217. package/dist/elements/ListSelection/index.js +79 -20
  218. package/dist/elements/ListSelection/index.js.map +1 -1
  219. package/dist/elements/LivePreview/Device/index.js +26 -13
  220. package/dist/elements/LivePreview/Device/index.js.map +1 -1
  221. package/dist/elements/LivePreview/DeviceContainer/index.js +15 -8
  222. package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
  223. package/dist/elements/LivePreview/IFrame/index.js +18 -5
  224. package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
  225. package/dist/elements/LivePreview/Toggler/index.js +26 -8
  226. package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
  227. package/dist/elements/LivePreview/Toolbar/Controls/index.js +197 -50
  228. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  229. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +14 -1
  230. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  231. package/dist/elements/LivePreview/Toolbar/index.js +75 -23
  232. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  233. package/dist/elements/LivePreview/ToolbarArea/index.js +11 -3
  234. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  235. package/dist/elements/LivePreview/Window/index.js +53 -13
  236. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  237. package/dist/elements/Loading/index.js +79 -18
  238. package/dist/elements/Loading/index.js.map +1 -1
  239. package/dist/elements/LoadingOverlay/index.js +25 -8
  240. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  241. package/dist/elements/Localizer/LocalizerLabel/index.js +51 -12
  242. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  243. package/dist/elements/Localizer/index.js +88 -39
  244. package/dist/elements/Localizer/index.js.map +1 -1
  245. package/dist/elements/Locked/index.js +34 -8
  246. package/dist/elements/Locked/index.js.map +1 -1
  247. package/dist/elements/Logout/index.js +22 -6
  248. package/dist/elements/Logout/index.js.map +1 -1
  249. package/dist/elements/Nav/NavToggler/index.js +28 -16
  250. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  251. package/dist/elements/Nav/context.js +16 -10
  252. package/dist/elements/Nav/context.js.map +1 -1
  253. package/dist/elements/NavGroup/index.js +76 -19
  254. package/dist/elements/NavGroup/index.js.map +1 -1
  255. package/dist/elements/NoListResults/index.js +25 -6
  256. package/dist/elements/NoListResults/index.js.map +1 -1
  257. package/dist/elements/PageControls/GroupByPageControls.js +13 -2
  258. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  259. package/dist/elements/PageControls/index.js +73 -14
  260. package/dist/elements/PageControls/index.js.map +1 -1
  261. package/dist/elements/Pagination/ClickableArrow/index.js +17 -3
  262. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  263. package/dist/elements/Pagination/Page/index.js +12 -3
  264. package/dist/elements/Pagination/Page/index.js.map +1 -1
  265. package/dist/elements/Pagination/Separator/index.js +10 -1
  266. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  267. package/dist/elements/Pagination/index.js +30 -9
  268. package/dist/elements/Pagination/index.js.map +1 -1
  269. package/dist/elements/PerPage/index.js +90 -25
  270. package/dist/elements/PerPage/index.js.map +1 -1
  271. package/dist/elements/PermanentlyDeleteButton/index.js +53 -14
  272. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  273. package/dist/elements/Pill/index.js +68 -16
  274. package/dist/elements/Pill/index.js.map +1 -1
  275. package/dist/elements/PillSelector/index.js +63 -21
  276. package/dist/elements/PillSelector/index.js.map +1 -1
  277. package/dist/elements/Popup/PopupButtonList/index.js +50 -18
  278. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  279. package/dist/elements/Popup/PopupDivider/index.js +9 -1
  280. package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
  281. package/dist/elements/Popup/PopupGroupLabel/index.js +10 -1
  282. package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
  283. package/dist/elements/Popup/PopupTrigger/index.js +33 -13
  284. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  285. package/dist/elements/Popup/index.js +102 -40
  286. package/dist/elements/Popup/index.js.map +1 -1
  287. package/dist/elements/PreviewButton/index.js +19 -3
  288. package/dist/elements/PreviewButton/index.js.map +1 -1
  289. package/dist/elements/PreviewSizes/index.js +160 -43
  290. package/dist/elements/PreviewSizes/index.js.map +1 -1
  291. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +96 -24
  292. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  293. package/dist/elements/PublishButton/ScheduleDrawer/index.js +244 -44
  294. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  295. package/dist/elements/PublishButton/index.js +78 -26
  296. package/dist/elements/PublishButton/index.js.map +1 -1
  297. package/dist/elements/PublishMany/DrawerContent.js +16 -3
  298. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  299. package/dist/elements/PublishMany/index.js +43 -9
  300. package/dist/elements/PublishMany/index.js.map +1 -1
  301. package/dist/elements/QueryPresets/QueryPresetBar/index.js +202 -68
  302. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  303. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +75 -28
  304. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  305. package/dist/elements/QueryPresets/cells/AccessCell/index.js +40 -15
  306. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
  307. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +25 -12
  308. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  309. package/dist/elements/QueryPresets/cells/GroupByCell/index.js +21 -5
  310. package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
  311. package/dist/elements/QueryPresets/cells/WhereCell/index.js +9 -1
  312. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
  313. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +40 -11
  314. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  315. package/dist/elements/QueryPresets/fields/GroupByField/index.js +49 -8
  316. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  317. package/dist/elements/QueryPresets/fields/WhereField/index.js +110 -21
  318. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  319. package/dist/elements/ReactSelect/ClearIndicator/index.js +27 -9
  320. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  321. package/dist/elements/ReactSelect/Control/index.js +36 -25
  322. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  323. package/dist/elements/ReactSelect/DropdownIndicator/index.js +24 -7
  324. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  325. package/dist/elements/ReactSelect/Input/index.js +16 -4
  326. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  327. package/dist/elements/ReactSelect/MultiValue/index.js +32 -19
  328. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  329. package/dist/elements/ReactSelect/MultiValueLabel/index.js +22 -7
  330. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  331. package/dist/elements/ReactSelect/MultiValueRemove/index.js +44 -16
  332. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  333. package/dist/elements/ReactSelect/SingleValue/index.js +19 -8
  334. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  335. package/dist/elements/ReactSelect/ValueContainer/index.js +28 -4
  336. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  337. package/dist/elements/ReactSelect/index.js +127 -36
  338. package/dist/elements/ReactSelect/index.js.map +1 -1
  339. package/dist/elements/RelationshipTable/AddNewButton.js +60 -20
  340. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  341. package/dist/elements/RelationshipTable/Pagination.js +19 -3
  342. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  343. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +37 -8
  344. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  345. package/dist/elements/RelationshipTable/index.js +189 -39
  346. package/dist/elements/RelationshipTable/index.js.map +1 -1
  347. package/dist/elements/RenderComponent/index.js +24 -3
  348. package/dist/elements/RenderComponent/index.js.map +1 -1
  349. package/dist/elements/RenderIfInViewport/index.js +10 -3
  350. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  351. package/dist/elements/RenderServerComponent/index.js +16 -2
  352. package/dist/elements/RenderServerComponent/index.js.map +1 -1
  353. package/dist/elements/RenderTitle/index.js +36 -11
  354. package/dist/elements/RenderTitle/index.js.map +1 -1
  355. package/dist/elements/RestoreButton/index.js +80 -19
  356. package/dist/elements/RestoreButton/index.js.map +1 -1
  357. package/dist/elements/RestoreMany/index.js +62 -16
  358. package/dist/elements/RestoreMany/index.js.map +1 -1
  359. package/dist/elements/SaveButton/index.js +15 -4
  360. package/dist/elements/SaveButton/index.js.map +1 -1
  361. package/dist/elements/SaveDraftButton/index.js +19 -6
  362. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  363. package/dist/elements/SearchBar/index.js +35 -8
  364. package/dist/elements/SearchBar/index.js.map +1 -1
  365. package/dist/elements/SearchFilter/index.js +25 -7
  366. package/dist/elements/SearchFilter/index.js.map +1 -1
  367. package/dist/elements/SelectAll/index.js +18 -4
  368. package/dist/elements/SelectAll/index.js.map +1 -1
  369. package/dist/elements/SelectMany/index.js +20 -7
  370. package/dist/elements/SelectMany/index.js.map +1 -1
  371. package/dist/elements/SelectRow/index.js +21 -5
  372. package/dist/elements/SelectRow/index.js.map +1 -1
  373. package/dist/elements/ShimmerEffect/index.js +51 -18
  374. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  375. package/dist/elements/SortColumn/index.js +83 -28
  376. package/dist/elements/SortColumn/index.js.map +1 -1
  377. package/dist/elements/SortComplex/index.js +77 -16
  378. package/dist/elements/SortComplex/index.js.map +1 -1
  379. package/dist/elements/SortHeader/index.js +37 -13
  380. package/dist/elements/SortHeader/index.js.map +1 -1
  381. package/dist/elements/SortRow/index.js +18 -3
  382. package/dist/elements/SortRow/index.js.map +1 -1
  383. package/dist/elements/Status/index.js +99 -20
  384. package/dist/elements/Status/index.js.map +1 -1
  385. package/dist/elements/StayLoggedIn/index.js +15 -2
  386. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  387. package/dist/elements/StepNav/context.js +14 -8
  388. package/dist/elements/StepNav/context.js.map +1 -1
  389. package/dist/elements/StepNav/index.js +139 -36
  390. package/dist/elements/StepNav/index.js.map +1 -1
  391. package/dist/elements/StickyToolbar/index.js +10 -1
  392. package/dist/elements/StickyToolbar/index.js.map +1 -1
  393. package/dist/elements/Table/DefaultCell/fields/Array/index.js +9 -1
  394. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  395. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +9 -1
  396. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  397. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +16 -3
  398. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  399. package/dist/elements/Table/DefaultCell/fields/Code/index.js +17 -3
  400. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  401. package/dist/elements/Table/DefaultCell/fields/Date/index.js +14 -8
  402. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  403. package/dist/elements/Table/DefaultCell/fields/File/index.js +37 -8
  404. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  405. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +16 -3
  406. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  407. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +62 -36
  408. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  409. package/dist/elements/Table/DefaultCell/fields/Select/index.js +9 -1
  410. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  411. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +9 -1
  412. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  413. package/dist/elements/Table/DefaultCell/index.js +76 -20
  414. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  415. package/dist/elements/Table/OrderableRow.js +40 -18
  416. package/dist/elements/Table/OrderableRow.js.map +1 -1
  417. package/dist/elements/Table/OrderableRowDragPreview.js +23 -5
  418. package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
  419. package/dist/elements/Table/OrderableTable.js +120 -37
  420. package/dist/elements/Table/OrderableTable.js.map +1 -1
  421. package/dist/elements/Table/RelationshipProvider/index.js +14 -6
  422. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  423. package/dist/elements/Table/index.js +79 -28
  424. package/dist/elements/Table/index.js.map +1 -1
  425. package/dist/elements/Thumbnail/index.js +69 -18
  426. package/dist/elements/Thumbnail/index.js.map +1 -1
  427. package/dist/elements/ThumbnailCard/index.js +30 -4
  428. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  429. package/dist/elements/TimezonePicker/index.js +38 -8
  430. package/dist/elements/TimezonePicker/index.js.map +1 -1
  431. package/dist/elements/Toasts/fieldErrors.js +33 -8
  432. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  433. package/dist/elements/Tooltip/index.js +56 -21
  434. package/dist/elements/Tooltip/index.js.map +1 -1
  435. package/dist/elements/Translation/index.js +39 -16
  436. package/dist/elements/Translation/index.js.map +1 -1
  437. package/dist/elements/TrashBanner/index.js +25 -8
  438. package/dist/elements/TrashBanner/index.js.map +1 -1
  439. package/dist/elements/UnpublishMany/DrawerContent.js +14 -3
  440. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  441. package/dist/elements/UnpublishMany/index.js +43 -9
  442. package/dist/elements/UnpublishMany/index.js.map +1 -1
  443. package/dist/elements/Upload/index.js +401 -109
  444. package/dist/elements/Upload/index.js.map +1 -1
  445. package/dist/elements/ViewDescription/index.js +10 -2
  446. package/dist/elements/ViewDescription/index.js.map +1 -1
  447. package/dist/elements/WhereBuilder/Condition/Date/index.js +20 -3
  448. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  449. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +72 -6
  450. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  451. package/dist/elements/WhereBuilder/Condition/Number/index.js +28 -1
  452. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  453. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +52 -25
  454. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  455. package/dist/elements/WhereBuilder/Condition/Select/index.js +17 -4
  456. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  457. package/dist/elements/WhereBuilder/Condition/Text/index.js +27 -1
  458. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  459. package/dist/elements/WhereBuilder/Condition/index.js +128 -30
  460. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  461. package/dist/elements/WhereBuilder/index.js +159 -54
  462. package/dist/elements/WhereBuilder/index.js.map +1 -1
  463. package/dist/elements/WithServerSideProps/index.js +9 -1
  464. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  465. package/dist/elements/withMergedProps/index.d.ts +1 -1
  466. package/dist/elements/withMergedProps/index.js +10 -2
  467. package/dist/elements/withMergedProps/index.js.map +1 -1
  468. package/dist/exports/client/index.d.ts +2 -0
  469. package/dist/exports/client/index.d.ts.map +1 -1
  470. package/dist/exports/client/index.js +2 -0
  471. package/dist/exports/client/index.js.map +1 -1
  472. package/dist/fields/Array/ArrayRow.d.ts +18 -7
  473. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  474. package/dist/fields/Array/ArrayRow.js +101 -17
  475. package/dist/fields/Array/ArrayRow.js.map +1 -1
  476. package/dist/fields/Array/index.d.ts.map +1 -1
  477. package/dist/fields/Array/index.js +297 -69
  478. package/dist/fields/Array/index.js.map +1 -1
  479. package/dist/fields/Blocks/BlockRow.js +130 -22
  480. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  481. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +25 -4
  482. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  483. package/dist/fields/Blocks/BlockSelector/index.js +101 -29
  484. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  485. package/dist/fields/Blocks/BlocksDrawer/index.js +23 -8
  486. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  487. package/dist/fields/Blocks/RowActions.js +44 -12
  488. package/dist/fields/Blocks/RowActions.js.map +1 -1
  489. package/dist/fields/Blocks/SectionTitle/index.js +24 -3
  490. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  491. package/dist/fields/Blocks/index.js +326 -83
  492. package/dist/fields/Blocks/index.js.map +1 -1
  493. package/dist/fields/Checkbox/Input.js +83 -21
  494. package/dist/fields/Checkbox/Input.js.map +1 -1
  495. package/dist/fields/Checkbox/index.js +68 -13
  496. package/dist/fields/Checkbox/index.js.map +1 -1
  497. package/dist/fields/Code/index.js +92 -18
  498. package/dist/fields/Code/index.js.map +1 -1
  499. package/dist/fields/Collapsible/index.js +103 -21
  500. package/dist/fields/Collapsible/index.js.map +1 -1
  501. package/dist/fields/ConfirmPassword/index.js +54 -11
  502. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  503. package/dist/fields/DateTime/index.js +102 -19
  504. package/dist/fields/DateTime/index.js.map +1 -1
  505. package/dist/fields/Email/index.js +91 -19
  506. package/dist/fields/Email/index.js.map +1 -1
  507. package/dist/fields/FieldDescription/index.js +15 -8
  508. package/dist/fields/FieldDescription/index.js.map +1 -1
  509. package/dist/fields/FieldError/index.js +13 -3
  510. package/dist/fields/FieldError/index.js.map +1 -1
  511. package/dist/fields/FieldLabel/index.js +32 -7
  512. package/dist/fields/FieldLabel/index.js.map +1 -1
  513. package/dist/fields/Group/index.js +132 -31
  514. package/dist/fields/Group/index.js.map +1 -1
  515. package/dist/fields/Group/provider.js +11 -3
  516. package/dist/fields/Group/provider.js.map +1 -1
  517. package/dist/fields/Hidden/index.js +13 -2
  518. package/dist/fields/Hidden/index.js.map +1 -1
  519. package/dist/fields/JSON/index.js +93 -18
  520. package/dist/fields/JSON/index.js.map +1 -1
  521. package/dist/fields/Join/index.js +88 -20
  522. package/dist/fields/Join/index.js.map +1 -1
  523. package/dist/fields/Number/index.js +134 -36
  524. package/dist/fields/Number/index.js.map +1 -1
  525. package/dist/fields/Password/index.js +29 -4
  526. package/dist/fields/Password/index.js.map +1 -1
  527. package/dist/fields/Password/input.js +105 -21
  528. package/dist/fields/Password/input.js.map +1 -1
  529. package/dist/fields/Point/index.js +157 -33
  530. package/dist/fields/Point/index.js.map +1 -1
  531. package/dist/fields/RadioGroup/Radio/index.js +51 -13
  532. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  533. package/dist/fields/RadioGroup/index.js +124 -42
  534. package/dist/fields/RadioGroup/index.js.map +1 -1
  535. package/dist/fields/Relationship/Input.js +242 -119
  536. package/dist/fields/Relationship/Input.js.map +1 -1
  537. package/dist/fields/Relationship/index.js +44 -11
  538. package/dist/fields/Relationship/index.js.map +1 -1
  539. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +85 -33
  540. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  541. package/dist/fields/Relationship/select-components/SingleValue/index.js +88 -32
  542. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  543. package/dist/fields/Row/index.js +35 -9
  544. package/dist/fields/Row/index.js.map +1 -1
  545. package/dist/fields/Row/provider.js +11 -3
  546. package/dist/fields/Row/provider.js.map +1 -1
  547. package/dist/fields/Select/Input.js +98 -19
  548. package/dist/fields/Select/Input.js.map +1 -1
  549. package/dist/fields/Select/index.js +30 -1
  550. package/dist/fields/Select/index.js.map +1 -1
  551. package/dist/fields/Slug/index.js +58 -13
  552. package/dist/fields/Slug/index.js.map +1 -1
  553. package/dist/fields/Tabs/Tab/index.js +43 -12
  554. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  555. package/dist/fields/Tabs/index.js +117 -31
  556. package/dist/fields/Tabs/index.js.map +1 -1
  557. package/dist/fields/Tabs/provider.js +11 -3
  558. package/dist/fields/Tabs/provider.js.map +1 -1
  559. package/dist/fields/Text/Input.js +129 -31
  560. package/dist/fields/Text/Input.js.map +1 -1
  561. package/dist/fields/Text/index.js +36 -6
  562. package/dist/fields/Text/index.js.map +1 -1
  563. package/dist/fields/Textarea/Input.js +101 -20
  564. package/dist/fields/Textarea/Input.js.map +1 -1
  565. package/dist/fields/Textarea/index.js +29 -4
  566. package/dist/fields/Textarea/index.js.map +1 -1
  567. package/dist/fields/Upload/HasMany/index.js +117 -52
  568. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  569. package/dist/fields/Upload/HasOne/index.js +34 -6
  570. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  571. package/dist/fields/Upload/Input.js +248 -60
  572. package/dist/fields/Upload/Input.js.map +1 -1
  573. package/dist/fields/Upload/RelationshipContent/index.js +112 -23
  574. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  575. package/dist/fields/Upload/UploadCard/index.js +14 -7
  576. package/dist/fields/Upload/UploadCard/index.js.map +1 -1
  577. package/dist/fields/Upload/index.js +39 -3
  578. package/dist/fields/Upload/index.js.map +1 -1
  579. package/dist/forms/Form/index.js +87 -26
  580. package/dist/forms/Form/index.js.map +1 -1
  581. package/dist/forms/NullifyField/index.js +23 -6
  582. package/dist/forms/NullifyField/index.js.map +1 -1
  583. package/dist/forms/RenderFields/RenderField.js +203 -23
  584. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  585. package/dist/forms/RenderFields/index.js +72 -45
  586. package/dist/forms/RenderFields/index.js.map +1 -1
  587. package/dist/forms/RowLabel/Context/index.js +10 -2
  588. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  589. package/dist/forms/RowLabel/index.js +31 -10
  590. package/dist/forms/RowLabel/index.js.map +1 -1
  591. package/dist/forms/Submit/index.js +22 -5
  592. package/dist/forms/Submit/index.js.map +1 -1
  593. package/dist/forms/fieldSchemasToFormState/renderField.js +44 -26
  594. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  595. package/dist/forms/useField/index.js +1 -1
  596. package/dist/forms/useField/index.js.map +1 -1
  597. package/dist/forms/withCondition/index.js +16 -3
  598. package/dist/forms/withCondition/index.js.map +1 -1
  599. package/dist/graphics/Account/Default/index.js +46 -8
  600. package/dist/graphics/Account/Default/index.js.map +1 -1
  601. package/dist/graphics/Account/Gravatar/index.js +16 -3
  602. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  603. package/dist/graphics/Account/index.js +14 -2
  604. package/dist/graphics/Account/index.js.map +1 -1
  605. package/dist/graphics/DefaultBlockImage/index.js +115 -16
  606. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  607. package/dist/graphics/File/index.js +33 -6
  608. package/dist/graphics/File/index.js.map +1 -1
  609. package/dist/graphics/Icon/index.js +31 -4
  610. package/dist/graphics/Icon/index.js.map +1 -1
  611. package/dist/graphics/Logo/index.js +112 -17
  612. package/dist/graphics/Logo/index.js.map +1 -1
  613. package/dist/icons/Calendar/index.js +20 -3
  614. package/dist/icons/Calendar/index.js.map +1 -1
  615. package/dist/icons/Check/index.js +20 -3
  616. package/dist/icons/Check/index.js.map +1 -1
  617. package/dist/icons/Chevron/index.js +30 -9
  618. package/dist/icons/Chevron/index.js.map +1 -1
  619. package/dist/icons/CloseMenu/index.js +20 -3
  620. package/dist/icons/CloseMenu/index.js.map +1 -1
  621. package/dist/icons/CodeBlock/index.js +22 -3
  622. package/dist/icons/CodeBlock/index.js.map +1 -1
  623. package/dist/icons/Copy/index.js +24 -3
  624. package/dist/icons/Copy/index.js.map +1 -1
  625. package/dist/icons/Document/index.js +24 -3
  626. package/dist/icons/Document/index.js.map +1 -1
  627. package/dist/icons/Dots/index.js +32 -10
  628. package/dist/icons/Dots/index.js.map +1 -1
  629. package/dist/icons/DragHandle/index.js +70 -11
  630. package/dist/icons/DragHandle/index.js.map +1 -1
  631. package/dist/icons/Edit/index.js +23 -6
  632. package/dist/icons/Edit/index.js.map +1 -1
  633. package/dist/icons/ExternalLink/index.js +23 -6
  634. package/dist/icons/ExternalLink/index.js.map +1 -1
  635. package/dist/icons/Eye/index.js +53 -12
  636. package/dist/icons/Eye/index.js.map +1 -1
  637. package/dist/icons/Folder/index.js +25 -6
  638. package/dist/icons/Folder/index.js.map +1 -1
  639. package/dist/icons/Gear/index.js +34 -8
  640. package/dist/icons/Gear/index.js.map +1 -1
  641. package/dist/icons/GridView/index.js +56 -6
  642. package/dist/icons/GridView/index.js.map +1 -1
  643. package/dist/icons/Line/index.js +23 -3
  644. package/dist/icons/Line/index.js.map +1 -1
  645. package/dist/icons/Link/index.js +25 -3
  646. package/dist/icons/Link/index.js.map +1 -1
  647. package/dist/icons/ListView/index.js +24 -3
  648. package/dist/icons/ListView/index.js.map +1 -1
  649. package/dist/icons/Lock/index.js +41 -7
  650. package/dist/icons/Lock/index.js.map +1 -1
  651. package/dist/icons/LogOut/index.js +23 -3
  652. package/dist/icons/LogOut/index.js.map +1 -1
  653. package/dist/icons/Menu/index.js +23 -3
  654. package/dist/icons/Menu/index.js.map +1 -1
  655. package/dist/icons/MinimizeMaximize/index.js +27 -3
  656. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  657. package/dist/icons/More/index.js +43 -8
  658. package/dist/icons/More/index.js.map +1 -1
  659. package/dist/icons/MoveFolder/index.js +62 -10
  660. package/dist/icons/MoveFolder/index.js.map +1 -1
  661. package/dist/icons/People/index.js +28 -7
  662. package/dist/icons/People/index.js.map +1 -1
  663. package/dist/icons/Plus/index.js +22 -3
  664. package/dist/icons/Plus/index.js.map +1 -1
  665. package/dist/icons/Search/index.js +21 -3
  666. package/dist/icons/Search/index.js.map +1 -1
  667. package/dist/icons/Sort/index.js +48 -6
  668. package/dist/icons/Sort/index.js.map +1 -1
  669. package/dist/icons/Swap/index.js +20 -3
  670. package/dist/icons/Swap/index.js.map +1 -1
  671. package/dist/icons/ThreeDots/index.js +26 -5
  672. package/dist/icons/ThreeDots/index.js.map +1 -1
  673. package/dist/icons/Trash/index.js +27 -6
  674. package/dist/icons/Trash/index.js.map +1 -1
  675. package/dist/icons/X/index.js +25 -6
  676. package/dist/icons/X/index.js.map +1 -1
  677. package/dist/providers/Actions/index.js +16 -10
  678. package/dist/providers/Actions/index.js.map +1 -1
  679. package/dist/providers/Auth/index.js +22 -16
  680. package/dist/providers/Auth/index.js.map +1 -1
  681. package/dist/providers/ClickOutside/index.js +14 -6
  682. package/dist/providers/ClickOutside/index.js.map +1 -1
  683. package/dist/providers/ClientFunction/index.js +21 -8
  684. package/dist/providers/ClientFunction/index.js.map +1 -1
  685. package/dist/providers/Config/index.js +19 -4
  686. package/dist/providers/Config/index.js.map +1 -1
  687. package/dist/providers/DocumentEvents/index.js +14 -6
  688. package/dist/providers/DocumentEvents/index.js.map +1 -1
  689. package/dist/providers/DocumentInfo/index.js +29 -7
  690. package/dist/providers/DocumentInfo/index.js.map +1 -1
  691. package/dist/providers/DocumentTitle/index.js +13 -5
  692. package/dist/providers/DocumentTitle/index.js.map +1 -1
  693. package/dist/providers/EditDepth/index.js +11 -3
  694. package/dist/providers/EditDepth/index.js.map +1 -1
  695. package/dist/providers/EntityVisibility/index.js +14 -8
  696. package/dist/providers/EntityVisibility/index.js.map +1 -1
  697. package/dist/providers/Folders/index.js +48 -42
  698. package/dist/providers/Folders/index.js.map +1 -1
  699. package/dist/providers/ListQuery/index.js +30 -17
  700. package/dist/providers/ListQuery/index.js.map +1 -1
  701. package/dist/providers/LivePreview/index.js +51 -39
  702. package/dist/providers/LivePreview/index.js.map +1 -1
  703. package/dist/providers/Locale/index.js +21 -10
  704. package/dist/providers/Locale/index.js.map +1 -1
  705. package/dist/providers/Operation/index.js +11 -3
  706. package/dist/providers/Operation/index.js.map +1 -1
  707. package/dist/providers/Params/index.js +11 -3
  708. package/dist/providers/Params/index.js.map +1 -1
  709. package/dist/providers/Preferences/index.js +11 -3
  710. package/dist/providers/Preferences/index.js.map +1 -1
  711. package/dist/providers/Root/index.js +187 -54
  712. package/dist/providers/Root/index.js.map +1 -1
  713. package/dist/providers/RouteCache/index.js +14 -6
  714. package/dist/providers/RouteCache/index.js.map +1 -1
  715. package/dist/providers/RouteTransition/ProgressBar/index.js +25 -11
  716. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  717. package/dist/providers/RouteTransition/index.js +14 -8
  718. package/dist/providers/RouteTransition/index.js.map +1 -1
  719. package/dist/providers/SearchParams/index.js +13 -5
  720. package/dist/providers/SearchParams/index.js.map +1 -1
  721. package/dist/providers/Selection/index.js +11 -3
  722. package/dist/providers/Selection/index.js.map +1 -1
  723. package/dist/providers/ServerFunctions/index.js +21 -15
  724. package/dist/providers/ServerFunctions/index.js.map +1 -1
  725. package/dist/providers/TableColumns/RenderDefaultCell/index.js +16 -4
  726. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  727. package/dist/providers/TableColumns/buildColumnState/index.js +13 -1
  728. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  729. package/dist/providers/TableColumns/buildColumnState/renderCell.js +18 -1
  730. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  731. package/dist/providers/TableColumns/index.js +17 -11
  732. package/dist/providers/TableColumns/index.js.map +1 -1
  733. package/dist/providers/Theme/index.js +15 -7
  734. package/dist/providers/Theme/index.js.map +1 -1
  735. package/dist/providers/ToastContainer/icons/Error.js +33 -4
  736. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  737. package/dist/providers/ToastContainer/icons/Info.js +33 -4
  738. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  739. package/dist/providers/ToastContainer/icons/Success.js +33 -4
  740. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  741. package/dist/providers/ToastContainer/icons/Warning.js +33 -4
  742. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  743. package/dist/providers/ToastContainer/index.js +53 -19
  744. package/dist/providers/ToastContainer/index.js.map +1 -1
  745. package/dist/providers/Translation/index.js +21 -15
  746. package/dist/providers/Translation/index.js.map +1 -1
  747. package/dist/providers/UploadControls/index.js +18 -12
  748. package/dist/providers/UploadControls/index.js.map +1 -1
  749. package/dist/providers/UploadEdits/index.js +15 -9
  750. package/dist/providers/UploadEdits/index.js.map +1 -1
  751. package/dist/providers/UploadHandlers/index.js +13 -5
  752. package/dist/providers/UploadHandlers/index.js.map +1 -1
  753. package/dist/utilities/combineFieldLabel.js +51 -13
  754. package/dist/utilities/combineFieldLabel.js.map +1 -1
  755. package/dist/utilities/getFolderResultsComponentAndData.js +39 -10
  756. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
  757. package/dist/utilities/renderTable.js +113 -23
  758. package/dist/utilities/renderTable.js.map +1 -1
  759. package/dist/views/BrowseByFolder/index.js +273 -74
  760. package/dist/views/BrowseByFolder/index.js.map +1 -1
  761. package/dist/views/CollectionFolder/ListSelection/index.js +130 -44
  762. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  763. package/dist/views/CollectionFolder/index.js +268 -84
  764. package/dist/views/CollectionFolder/index.js.map +1 -1
  765. package/dist/views/Edit/Auth/APIKey.js +103 -23
  766. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  767. package/dist/views/Edit/Auth/index.js +165 -48
  768. package/dist/views/Edit/Auth/index.js.map +1 -1
  769. package/dist/views/Edit/index.js +272 -85
  770. package/dist/views/Edit/index.js.map +1 -1
  771. package/dist/views/List/GroupByHeader/index.js +34 -10
  772. package/dist/views/List/GroupByHeader/index.js.map +1 -1
  773. package/dist/views/List/ListHeader/index.js +103 -18
  774. package/dist/views/List/ListHeader/index.js.map +1 -1
  775. package/dist/views/List/ListSelection/index.js +93 -20
  776. package/dist/views/List/ListSelection/index.js.map +1 -1
  777. package/dist/views/List/index.js +243 -58
  778. package/dist/views/List/index.js.map +1 -1
  779. package/package.json +4 -4
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
2
3
  import React, { useCallback, useEffect, useMemo, useState } from 'react';
3
4
  import { v4 as uuidv4 } from 'uuid';
4
5
  import { defaultOptions } from '../../elements/CodeEditor/constants.js';
@@ -106,24 +107,98 @@ const JSONFieldComponent = (props)=>{
106
107
  const styles = useMemo(()=>mergeFieldStyles(field), [
107
108
  field
108
109
  ]);
109
- return <div className={[
110
- fieldBaseClass,
111
- baseClass,
112
- className,
113
- showError && 'error',
114
- (readOnly || disabled) && 'read-only'
115
- ].filter(Boolean).join(' ')} style={styles}>
116
- <RenderCustomComponent CustomComponent={Label} Fallback={<FieldLabel label={label} localized={localized} path={path} required={required}/>}/>
117
- <div className={`${fieldBaseClass}__wrap`}>
118
- <RenderCustomComponent CustomComponent={Error} Fallback={<FieldError message={jsonError} path={path} showError={showError}/>}/>
119
- {BeforeInput}
120
- <CodeEditor defaultLanguage="json" maxHeight={maxHeight} onChange={handleChange} onMount={handleMount} options={editorOptions} readOnly={readOnly || disabled} recalculatedHeightAt={recalculatedHeightAt} value={stringValueRef.current} wrapperProps={{
121
- id: `field-${path?.replace(/\./g, '__')}`
122
- }}/>
123
- {AfterInput}
124
- </div>
125
- <RenderCustomComponent CustomComponent={Description} Fallback={<FieldDescription description={description} path={path}/>}/>
126
- </div>;
110
+ return /*#__PURE__*/ _jsxDEV("div", {
111
+ className: [
112
+ fieldBaseClass,
113
+ baseClass,
114
+ className,
115
+ showError && 'error',
116
+ (readOnly || disabled) && 'read-only'
117
+ ].filter(Boolean).join(' '),
118
+ style: styles,
119
+ children: [
120
+ /*#__PURE__*/ _jsxDEV(RenderCustomComponent, {
121
+ CustomComponent: Label,
122
+ Fallback: /*#__PURE__*/ _jsxDEV(FieldLabel, {
123
+ label: label,
124
+ localized: localized,
125
+ path: path,
126
+ required: required
127
+ }, void 0, false, {
128
+ fileName: "src/fields/JSON/index.tsx",
129
+ lineNumber: 158,
130
+ columnNumber: 11
131
+ }, void 0)
132
+ }, void 0, false, {
133
+ fileName: "src/fields/JSON/index.tsx",
134
+ lineNumber: 155,
135
+ columnNumber: 7
136
+ }, this),
137
+ /*#__PURE__*/ _jsxDEV("div", {
138
+ className: `${fieldBaseClass}__wrap`,
139
+ children: [
140
+ /*#__PURE__*/ _jsxDEV(RenderCustomComponent, {
141
+ CustomComponent: Error,
142
+ Fallback: /*#__PURE__*/ _jsxDEV(FieldError, {
143
+ message: jsonError,
144
+ path: path,
145
+ showError: showError
146
+ }, void 0, false, {
147
+ fileName: "src/fields/JSON/index.tsx",
148
+ lineNumber: 164,
149
+ columnNumber: 21
150
+ }, void 0)
151
+ }, void 0, false, {
152
+ fileName: "src/fields/JSON/index.tsx",
153
+ lineNumber: 162,
154
+ columnNumber: 9
155
+ }, this),
156
+ BeforeInput,
157
+ /*#__PURE__*/ _jsxDEV(CodeEditor, {
158
+ defaultLanguage: "json",
159
+ maxHeight: maxHeight,
160
+ onChange: handleChange,
161
+ onMount: handleMount,
162
+ options: editorOptions,
163
+ readOnly: readOnly || disabled,
164
+ recalculatedHeightAt: recalculatedHeightAt,
165
+ value: stringValueRef.current,
166
+ wrapperProps: {
167
+ id: `field-${path?.replace(/\./g, '__')}`
168
+ }
169
+ }, void 0, false, {
170
+ fileName: "src/fields/JSON/index.tsx",
171
+ lineNumber: 167,
172
+ columnNumber: 9
173
+ }, this),
174
+ AfterInput
175
+ ]
176
+ }, void 0, true, {
177
+ fileName: "src/fields/JSON/index.tsx",
178
+ lineNumber: 161,
179
+ columnNumber: 7
180
+ }, this),
181
+ /*#__PURE__*/ _jsxDEV(RenderCustomComponent, {
182
+ CustomComponent: Description,
183
+ Fallback: /*#__PURE__*/ _jsxDEV(FieldDescription, {
184
+ description: description,
185
+ path: path
186
+ }, void 0, false, {
187
+ fileName: "src/fields/JSON/index.tsx",
188
+ lineNumber: 184,
189
+ columnNumber: 19
190
+ }, void 0)
191
+ }, void 0, false, {
192
+ fileName: "src/fields/JSON/index.tsx",
193
+ lineNumber: 182,
194
+ columnNumber: 7
195
+ }, this)
196
+ ]
197
+ }, void 0, true, {
198
+ fileName: "src/fields/JSON/index.tsx",
199
+ lineNumber: 143,
200
+ columnNumber: 5
201
+ }, this);
127
202
  };
128
203
  export const JSONField = withCondition(JSONFieldComponent);
129
204
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/JSON/index.tsx"],"sourcesContent":["'use client'\nimport type { JSONFieldClientComponent, JsonObject } from 'payload'\n\nimport { type OnMount } from '@monaco-editor/react'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { defaultOptions } from '../../elements/CodeEditor/constants.js'\nimport { CodeEditor } from '../../elements/CodeEditor/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'json-field'\n\nconst JSONFieldComponent: JSONFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { className, description, editorOptions, maxHeight } = {},\n jsonSchema,\n label,\n localized,\n required,\n },\n path: pathFromProps,\n readOnly,\n validate,\n } = props\n\n const { insertSpaces = defaultOptions.insertSpaces, tabSize = defaultOptions.tabSize } =\n editorOptions || {}\n\n const formatJSON = useCallback(\n (value: JsonObject | undefined): string | undefined => {\n if (value === undefined) {\n return undefined\n }\n if (value === null) {\n return ''\n }\n return insertSpaces ? JSON.stringify(value, null, tabSize) : JSON.stringify(value, null, '\\t')\n },\n [tabSize, insertSpaces],\n )\n\n const [jsonError, setJsonError] = useState<string>()\n const inputChangeFromRef = React.useRef<'formState' | 'internalEditor'>('formState')\n const [recalculatedHeightAt, setRecalculatedHeightAt] = useState<number | undefined>(Date.now())\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, jsonError, required })\n }\n },\n [validate, required, jsonError],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n initialValue,\n path,\n setValue,\n showError,\n value,\n } = useField<JsonObject>({\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const stringValueRef = React.useRef<string>(formatJSON(value ?? initialValue))\n\n const handleMount = useCallback<OnMount>(\n (editor, monaco) => {\n if (!jsonSchema) {\n return\n }\n\n monaco.languages.json.jsonDefaults.setDiagnosticsOptions({\n enableSchemaRequest: true,\n schemas: [\n ...(monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas || []),\n jsonSchema,\n ],\n validate: true,\n })\n\n const uri = jsonSchema.uri\n const newUri = uri.includes('?')\n ? `${uri}&${crypto.randomUUID ? crypto.randomUUID() : uuidv4()}`\n : `${uri}?${crypto.randomUUID ? crypto.randomUUID() : uuidv4()}`\n\n editor.setModel(\n monaco.editor.createModel(formatJSON(value) || '', 'json', monaco.Uri.parse(newUri)),\n )\n },\n [jsonSchema, formatJSON, value],\n )\n\n const handleChange = useCallback(\n (val: string) => {\n if (readOnly || disabled) {\n return\n }\n inputChangeFromRef.current = 'internalEditor'\n\n try {\n setValue(val ? JSON.parse(val) : null)\n stringValueRef.current = val\n setJsonError(undefined)\n } catch (e) {\n setValue(val ? val : null)\n stringValueRef.current = val\n setJsonError(e)\n }\n },\n [readOnly, disabled, setValue],\n )\n\n useEffect(() => {\n if (inputChangeFromRef.current === 'formState') {\n const newStringValue = formatJSON(value ?? initialValue)\n if (newStringValue !== stringValueRef.current) {\n stringValueRef.current = newStringValue\n setRecalculatedHeightAt(Date.now())\n }\n }\n\n inputChangeFromRef.current = 'formState'\n }, [initialValue, path, formatJSON, value])\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError message={jsonError} path={path} showError={showError} />}\n />\n {BeforeInput}\n <CodeEditor\n defaultLanguage=\"json\"\n maxHeight={maxHeight}\n onChange={handleChange}\n onMount={handleMount}\n options={editorOptions}\n readOnly={readOnly || disabled}\n recalculatedHeightAt={recalculatedHeightAt}\n value={stringValueRef.current}\n wrapperProps={{\n id: `field-${path?.replace(/\\./g, '__')}`,\n }}\n />\n {AfterInput}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const JSONField = withCondition(JSONFieldComponent)\n"],"names":["React","useCallback","useEffect","useMemo","useState","v4","uuidv4","defaultOptions","CodeEditor","RenderCustomComponent","useField","withCondition","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","baseClass","JSONFieldComponent","props","field","admin","className","description","editorOptions","maxHeight","jsonSchema","label","localized","required","path","pathFromProps","readOnly","validate","insertSpaces","tabSize","formatJSON","value","undefined","JSON","stringify","jsonError","setJsonError","inputChangeFromRef","useRef","recalculatedHeightAt","setRecalculatedHeightAt","Date","now","memoizedValidate","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","initialValue","setValue","showError","potentiallyStalePath","stringValueRef","handleMount","editor","monaco","languages","json","jsonDefaults","setDiagnosticsOptions","enableSchemaRequest","schemas","diagnosticsOptions","uri","newUri","includes","crypto","randomUUID","setModel","createModel","Uri","parse","handleChange","val","current","e","newStringValue","styles","div","filter","Boolean","join","style","CustomComponent","Fallback","message","defaultLanguage","onChange","onMount","wrapperProps","id","replace","JSONField"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/JSON/index.tsx"],"sourcesContent":["'use client'\nimport type { JSONFieldClientComponent, JsonObject } from 'payload'\n\nimport { type OnMount } from '@monaco-editor/react'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { defaultOptions } from '../../elements/CodeEditor/constants.js'\nimport { CodeEditor } from '../../elements/CodeEditor/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'json-field'\n\nconst JSONFieldComponent: JSONFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { className, description, editorOptions, maxHeight } = {},\n jsonSchema,\n label,\n localized,\n required,\n },\n path: pathFromProps,\n readOnly,\n validate,\n } = props\n\n const { insertSpaces = defaultOptions.insertSpaces, tabSize = defaultOptions.tabSize } =\n editorOptions || {}\n\n const formatJSON = useCallback(\n (value: JsonObject | undefined): string | undefined => {\n if (value === undefined) {\n return undefined\n }\n if (value === null) {\n return ''\n }\n return insertSpaces ? JSON.stringify(value, null, tabSize) : JSON.stringify(value, null, '\\t')\n },\n [tabSize, insertSpaces],\n )\n\n const [jsonError, setJsonError] = useState<string>()\n const inputChangeFromRef = React.useRef<'formState' | 'internalEditor'>('formState')\n const [recalculatedHeightAt, setRecalculatedHeightAt] = useState<number | undefined>(Date.now())\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, jsonError, required })\n }\n },\n [validate, required, jsonError],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n initialValue,\n path,\n setValue,\n showError,\n value,\n } = useField<JsonObject>({\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const stringValueRef = React.useRef<string>(formatJSON(value ?? initialValue))\n\n const handleMount = useCallback<OnMount>(\n (editor, monaco) => {\n if (!jsonSchema) {\n return\n }\n\n monaco.languages.json.jsonDefaults.setDiagnosticsOptions({\n enableSchemaRequest: true,\n schemas: [\n ...(monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas || []),\n jsonSchema,\n ],\n validate: true,\n })\n\n const uri = jsonSchema.uri\n const newUri = uri.includes('?')\n ? `${uri}&${crypto.randomUUID ? crypto.randomUUID() : uuidv4()}`\n : `${uri}?${crypto.randomUUID ? crypto.randomUUID() : uuidv4()}`\n\n editor.setModel(\n monaco.editor.createModel(formatJSON(value) || '', 'json', monaco.Uri.parse(newUri)),\n )\n },\n [jsonSchema, formatJSON, value],\n )\n\n const handleChange = useCallback(\n (val: string) => {\n if (readOnly || disabled) {\n return\n }\n inputChangeFromRef.current = 'internalEditor'\n\n try {\n setValue(val ? JSON.parse(val) : null)\n stringValueRef.current = val\n setJsonError(undefined)\n } catch (e) {\n setValue(val ? val : null)\n stringValueRef.current = val\n setJsonError(e)\n }\n },\n [readOnly, disabled, setValue],\n )\n\n useEffect(() => {\n if (inputChangeFromRef.current === 'formState') {\n const newStringValue = formatJSON(value ?? initialValue)\n if (newStringValue !== stringValueRef.current) {\n stringValueRef.current = newStringValue\n setRecalculatedHeightAt(Date.now())\n }\n }\n\n inputChangeFromRef.current = 'formState'\n }, [initialValue, path, formatJSON, value])\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError message={jsonError} path={path} showError={showError} />}\n />\n {BeforeInput}\n <CodeEditor\n defaultLanguage=\"json\"\n maxHeight={maxHeight}\n onChange={handleChange}\n onMount={handleMount}\n options={editorOptions}\n readOnly={readOnly || disabled}\n recalculatedHeightAt={recalculatedHeightAt}\n value={stringValueRef.current}\n wrapperProps={{\n id: `field-${path?.replace(/\\./g, '__')}`,\n }}\n />\n {AfterInput}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const JSONField = withCondition(JSONFieldComponent)\n"],"names":["React","useCallback","useEffect","useMemo","useState","v4","uuidv4","defaultOptions","CodeEditor","RenderCustomComponent","useField","withCondition","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","baseClass","JSONFieldComponent","props","field","admin","className","description","editorOptions","maxHeight","jsonSchema","label","localized","required","path","pathFromProps","readOnly","validate","insertSpaces","tabSize","formatJSON","value","undefined","JSON","stringify","jsonError","setJsonError","inputChangeFromRef","useRef","recalculatedHeightAt","setRecalculatedHeightAt","Date","now","memoizedValidate","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","initialValue","setValue","showError","potentiallyStalePath","stringValueRef","handleMount","editor","monaco","languages","json","jsonDefaults","setDiagnosticsOptions","enableSchemaRequest","schemas","diagnosticsOptions","uri","newUri","includes","crypto","randomUUID","setModel","createModel","Uri","parse","handleChange","val","current","e","newStringValue","styles","div","filter","Boolean","join","style","CustomComponent","Fallback","message","defaultLanguage","onChange","onMount","wrapperProps","id","replace","JSONField"],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  'use client';
2
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
2
3
  import ObjectIdImport from 'bson-objectid';
3
4
  import { fieldAffectsData, flattenTopLevelFields } from 'payload/shared';
4
- import { useMemo } from 'react';
5
+ import React, { useMemo } from 'react';
5
6
  import { RelationshipTable } from '../../elements/RelationshipTable/index.js';
6
7
  import { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js';
7
8
  import { useField } from '../../forms/useField/index.js';
@@ -149,25 +150,92 @@ const JoinFieldComponent = (props)=>{
149
150
  if (!docConfig) {
150
151
  return null;
151
152
  }
152
- return <div className={[
153
- fieldBaseClass,
154
- showError && 'error',
155
- 'join'
156
- ].filter(Boolean).join(' ')} id={`field-${path?.replace(/\./g, '__')}`}>
157
- <RenderCustomComponent CustomComponent={Error} Fallback={<FieldError path={path} showError={showError}/>}/>
158
- <RelationshipTable AfterInput={AfterInput} allowCreate={typeof docID !== 'undefined' && allowCreate} BeforeInput={BeforeInput} disableTable={filterOptions === null} field={field} fieldPath={path} filterOptions={filterOptions} initialData={docID && value ? value : {
159
- docs: []
160
- }} initialDrawerData={initialDrawerData} Label={<h4 style={{
161
- margin: 0
162
- }}>
163
- {Label || <FieldLabel label={label} localized={localized} path={path} required={required}/>}
164
- </h4>} parent={Array.isArray(collection) ? {
165
- id: docID,
166
- collectionSlug: docConfig.slug,
167
- joinPath: path
168
- } : undefined} relationTo={collection}/>
169
- <RenderCustomComponent CustomComponent={Description} Fallback={<FieldDescription description={description} path={path}/>}/>
170
- </div>;
153
+ return /*#__PURE__*/ _jsxDEV("div", {
154
+ className: [
155
+ fieldBaseClass,
156
+ showError && 'error',
157
+ 'join'
158
+ ].filter(Boolean).join(' '),
159
+ id: `field-${path?.replace(/\./g, '__')}`,
160
+ children: [
161
+ /*#__PURE__*/ _jsxDEV(RenderCustomComponent, {
162
+ CustomComponent: Error,
163
+ Fallback: /*#__PURE__*/ _jsxDEV(FieldError, {
164
+ path: path,
165
+ showError: showError
166
+ }, void 0, false, {
167
+ fileName: "src/fields/Join/index.tsx",
168
+ lineNumber: 207,
169
+ columnNumber: 19
170
+ }, void 0)
171
+ }, void 0, false, {
172
+ fileName: "src/fields/Join/index.tsx",
173
+ lineNumber: 205,
174
+ columnNumber: 7
175
+ }, this),
176
+ /*#__PURE__*/ _jsxDEV(RelationshipTable, {
177
+ AfterInput: AfterInput,
178
+ allowCreate: typeof docID !== 'undefined' && allowCreate,
179
+ BeforeInput: BeforeInput,
180
+ disableTable: filterOptions === null,
181
+ field: field,
182
+ fieldPath: path,
183
+ filterOptions: filterOptions,
184
+ initialData: docID && value ? value : {
185
+ docs: []
186
+ },
187
+ initialDrawerData: initialDrawerData,
188
+ Label: /*#__PURE__*/ _jsxDEV("h4", {
189
+ style: {
190
+ margin: 0
191
+ },
192
+ children: Label || /*#__PURE__*/ _jsxDEV(FieldLabel, {
193
+ label: label,
194
+ localized: localized,
195
+ path: path,
196
+ required: required
197
+ }, void 0, false, {
198
+ fileName: "src/fields/Join/index.tsx",
199
+ lineNumber: 222,
200
+ columnNumber: 15
201
+ }, void 0)
202
+ }, void 0, false, {
203
+ fileName: "src/fields/Join/index.tsx",
204
+ lineNumber: 220,
205
+ columnNumber: 11
206
+ }, void 0),
207
+ parent: Array.isArray(collection) ? {
208
+ id: docID,
209
+ collectionSlug: docConfig.slug,
210
+ joinPath: path
211
+ } : undefined,
212
+ relationTo: collection
213
+ }, void 0, false, {
214
+ fileName: "src/fields/Join/index.tsx",
215
+ lineNumber: 209,
216
+ columnNumber: 7
217
+ }, this),
218
+ /*#__PURE__*/ _jsxDEV(RenderCustomComponent, {
219
+ CustomComponent: Description,
220
+ Fallback: /*#__PURE__*/ _jsxDEV(FieldDescription, {
221
+ description: description,
222
+ path: path
223
+ }, void 0, false, {
224
+ fileName: "src/fields/Join/index.tsx",
225
+ lineNumber: 239,
226
+ columnNumber: 19
227
+ }, void 0)
228
+ }, void 0, false, {
229
+ fileName: "src/fields/Join/index.tsx",
230
+ lineNumber: 237,
231
+ columnNumber: 7
232
+ }, this)
233
+ ]
234
+ }, void 0, true, {
235
+ fileName: "src/fields/Join/index.tsx",
236
+ lineNumber: 201,
237
+ columnNumber: 5
238
+ }, this);
171
239
  };
172
240
  export const JoinField = withCondition(JoinFieldComponent);
173
241
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Join/index.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientConfig,\n ClientField,\n JoinFieldClient,\n JoinFieldClientComponent,\n PaginatedDocs,\n Where,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { fieldAffectsData, flattenTopLevelFields } from 'payload/shared'\nimport React, { useMemo } from 'react'\n\nimport { RelationshipTable } from '../../elements/RelationshipTable/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../index.js'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\n/**\n * Recursively builds the default data for joined collection\n */\nconst getInitialDrawerData = ({\n collectionSlug,\n config,\n docID,\n fields,\n segments,\n}: {\n collectionSlug: string\n config: ClientConfig\n docID: number | string\n fields: ClientField[]\n segments: string[]\n}) => {\n const flattenedFields = flattenTopLevelFields(fields, {\n keepPresentationalFields: true,\n })\n\n const path = segments[0]\n\n const field = flattenedFields.find((field) => field.name === path)\n\n if (!field) {\n return null\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n let value: { relationTo: string; value: number | string } | number | string = docID\n if (Array.isArray(field.relationTo)) {\n value = {\n relationTo: collectionSlug,\n value: docID,\n }\n }\n return {\n [field.name]: field.hasMany ? [value] : value,\n }\n }\n\n const nextSegments = segments.slice(1, segments.length)\n\n if (field.type === 'tab' || (field.type === 'group' && fieldAffectsData(field))) {\n return {\n [field.name]: getInitialDrawerData({\n collectionSlug,\n config,\n docID,\n fields: field.fields,\n segments: nextSegments,\n }),\n }\n }\n\n if (field.type === 'array') {\n const initialData = getInitialDrawerData({\n collectionSlug,\n config,\n docID,\n fields: field.fields,\n segments: nextSegments,\n })\n\n initialData.id = ObjectId().toHexString()\n\n return {\n [field.name]: [initialData],\n }\n }\n\n if (field.type === 'blocks') {\n for (const _block of field.blockReferences ?? field.blocks) {\n const block = typeof _block === 'string' ? config.blocksMap[_block] : _block\n\n const blockInitialData = getInitialDrawerData({\n collectionSlug,\n config,\n docID,\n fields: block.fields,\n segments: nextSegments,\n })\n\n if (blockInitialData) {\n blockInitialData.id = ObjectId().toHexString()\n blockInitialData.blockType = block.slug\n\n return {\n [field.name]: [blockInitialData],\n }\n }\n }\n }\n}\n\nconst JoinFieldComponent: JoinFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { allowCreate, description },\n collection,\n label,\n localized,\n on,\n required,\n },\n path: pathFromProps,\n } = props\n\n const { id: docID, docConfig } = useDocumentInfo()\n\n const { config, getEntityConfig } = useConfig()\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n path,\n showError,\n value,\n } = useField<PaginatedDocs>({\n potentiallyStalePath: pathFromProps,\n })\n\n const filterOptions: null | Where = useMemo(() => {\n if (!docID) {\n return null\n }\n\n let value: { relationTo: string; value: number | string } | number | string = docID\n\n if (Array.isArray(field.targetField.relationTo)) {\n value = {\n relationTo: docConfig.slug,\n value,\n }\n }\n\n const where = Array.isArray(collection)\n ? {}\n : {\n [on]: {\n equals: value,\n },\n }\n\n if (field.where) {\n return {\n and: [where, field.where],\n }\n }\n\n return where\n }, [docID, collection, field.targetField.relationTo, field.where, on, docConfig?.slug])\n\n const initialDrawerData = useMemo(() => {\n const relatedCollection = getEntityConfig({\n collectionSlug: Array.isArray(field.collection) ? field.collection[0] : field.collection,\n })\n\n return getInitialDrawerData({\n collectionSlug: docConfig?.slug,\n config,\n docID,\n fields: relatedCollection?.fields,\n segments: field.on.split('.'),\n })\n }, [getEntityConfig, field.collection, field.on, docConfig?.slug, docID, config])\n\n if (!docConfig) {\n return null\n }\n\n return (\n <div\n className={[fieldBaseClass, showError && 'error', 'join'].filter(Boolean).join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n >\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n <RelationshipTable\n AfterInput={AfterInput}\n allowCreate={typeof docID !== 'undefined' && allowCreate}\n BeforeInput={BeforeInput}\n disableTable={filterOptions === null}\n field={field as JoinFieldClient}\n fieldPath={path}\n filterOptions={filterOptions}\n initialData={docID && value ? value : ({ docs: [] } as PaginatedDocs)}\n initialDrawerData={initialDrawerData}\n Label={\n <h4 style={{ margin: 0 }}>\n {Label || (\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n )}\n </h4>\n }\n parent={\n Array.isArray(collection)\n ? {\n id: docID,\n collectionSlug: docConfig.slug,\n joinPath: path,\n }\n : undefined\n }\n relationTo={collection}\n />\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const JoinField = withCondition(JoinFieldComponent)\n"],"names":["ObjectIdImport","fieldAffectsData","flattenTopLevelFields","useMemo","RelationshipTable","RenderCustomComponent","useField","withCondition","useConfig","useDocumentInfo","FieldDescription","FieldError","FieldLabel","fieldBaseClass","ObjectId","default","getInitialDrawerData","collectionSlug","config","docID","fields","segments","flattenedFields","keepPresentationalFields","path","field","find","name","type","value","Array","isArray","relationTo","hasMany","nextSegments","slice","length","initialData","id","toHexString","_block","blockReferences","blocks","block","blocksMap","blockInitialData","blockType","slug","JoinFieldComponent","props","admin","allowCreate","description","collection","label","localized","on","required","pathFromProps","docConfig","getEntityConfig","customComponents","AfterInput","BeforeInput","Description","Error","Label","showError","potentiallyStalePath","filterOptions","targetField","where","equals","and","initialDrawerData","relatedCollection","split","div","className","filter","Boolean","join","replace","CustomComponent","Fallback","disableTable","fieldPath","docs","h4","style","margin","parent","joinPath","undefined","JoinField"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/Join/index.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientConfig,\n ClientField,\n JoinFieldClient,\n JoinFieldClientComponent,\n PaginatedDocs,\n Where,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { fieldAffectsData, flattenTopLevelFields } from 'payload/shared'\nimport React, { useMemo } from 'react'\n\nimport { RelationshipTable } from '../../elements/RelationshipTable/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../index.js'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\n/**\n * Recursively builds the default data for joined collection\n */\nconst getInitialDrawerData = ({\n collectionSlug,\n config,\n docID,\n fields,\n segments,\n}: {\n collectionSlug: string\n config: ClientConfig\n docID: number | string\n fields: ClientField[]\n segments: string[]\n}) => {\n const flattenedFields = flattenTopLevelFields(fields, {\n keepPresentationalFields: true,\n })\n\n const path = segments[0]\n\n const field = flattenedFields.find((field) => field.name === path)\n\n if (!field) {\n return null\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n let value: { relationTo: string; value: number | string } | number | string = docID\n if (Array.isArray(field.relationTo)) {\n value = {\n relationTo: collectionSlug,\n value: docID,\n }\n }\n return {\n [field.name]: field.hasMany ? [value] : value,\n }\n }\n\n const nextSegments = segments.slice(1, segments.length)\n\n if (field.type === 'tab' || (field.type === 'group' && fieldAffectsData(field))) {\n return {\n [field.name]: getInitialDrawerData({\n collectionSlug,\n config,\n docID,\n fields: field.fields,\n segments: nextSegments,\n }),\n }\n }\n\n if (field.type === 'array') {\n const initialData = getInitialDrawerData({\n collectionSlug,\n config,\n docID,\n fields: field.fields,\n segments: nextSegments,\n })\n\n initialData.id = ObjectId().toHexString()\n\n return {\n [field.name]: [initialData],\n }\n }\n\n if (field.type === 'blocks') {\n for (const _block of field.blockReferences ?? field.blocks) {\n const block = typeof _block === 'string' ? config.blocksMap[_block] : _block\n\n const blockInitialData = getInitialDrawerData({\n collectionSlug,\n config,\n docID,\n fields: block.fields,\n segments: nextSegments,\n })\n\n if (blockInitialData) {\n blockInitialData.id = ObjectId().toHexString()\n blockInitialData.blockType = block.slug\n\n return {\n [field.name]: [blockInitialData],\n }\n }\n }\n }\n}\n\nconst JoinFieldComponent: JoinFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { allowCreate, description },\n collection,\n label,\n localized,\n on,\n required,\n },\n path: pathFromProps,\n } = props\n\n const { id: docID, docConfig } = useDocumentInfo()\n\n const { config, getEntityConfig } = useConfig()\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n path,\n showError,\n value,\n } = useField<PaginatedDocs>({\n potentiallyStalePath: pathFromProps,\n })\n\n const filterOptions: null | Where = useMemo(() => {\n if (!docID) {\n return null\n }\n\n let value: { relationTo: string; value: number | string } | number | string = docID\n\n if (Array.isArray(field.targetField.relationTo)) {\n value = {\n relationTo: docConfig.slug,\n value,\n }\n }\n\n const where = Array.isArray(collection)\n ? {}\n : {\n [on]: {\n equals: value,\n },\n }\n\n if (field.where) {\n return {\n and: [where, field.where],\n }\n }\n\n return where\n }, [docID, collection, field.targetField.relationTo, field.where, on, docConfig?.slug])\n\n const initialDrawerData = useMemo(() => {\n const relatedCollection = getEntityConfig({\n collectionSlug: Array.isArray(field.collection) ? field.collection[0] : field.collection,\n })\n\n return getInitialDrawerData({\n collectionSlug: docConfig?.slug,\n config,\n docID,\n fields: relatedCollection?.fields,\n segments: field.on.split('.'),\n })\n }, [getEntityConfig, field.collection, field.on, docConfig?.slug, docID, config])\n\n if (!docConfig) {\n return null\n }\n\n return (\n <div\n className={[fieldBaseClass, showError && 'error', 'join'].filter(Boolean).join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n >\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n <RelationshipTable\n AfterInput={AfterInput}\n allowCreate={typeof docID !== 'undefined' && allowCreate}\n BeforeInput={BeforeInput}\n disableTable={filterOptions === null}\n field={field as JoinFieldClient}\n fieldPath={path}\n filterOptions={filterOptions}\n initialData={docID && value ? value : ({ docs: [] } as PaginatedDocs)}\n initialDrawerData={initialDrawerData}\n Label={\n <h4 style={{ margin: 0 }}>\n {Label || (\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n )}\n </h4>\n }\n parent={\n Array.isArray(collection)\n ? {\n id: docID,\n collectionSlug: docConfig.slug,\n joinPath: path,\n }\n : undefined\n }\n relationTo={collection}\n />\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const JoinField = withCondition(JoinFieldComponent)\n"],"names":["ObjectIdImport","fieldAffectsData","flattenTopLevelFields","React","useMemo","RelationshipTable","RenderCustomComponent","useField","withCondition","useConfig","useDocumentInfo","FieldDescription","FieldError","FieldLabel","fieldBaseClass","ObjectId","default","getInitialDrawerData","collectionSlug","config","docID","fields","segments","flattenedFields","keepPresentationalFields","path","field","find","name","type","value","Array","isArray","relationTo","hasMany","nextSegments","slice","length","initialData","id","toHexString","_block","blockReferences","blocks","block","blocksMap","blockInitialData","blockType","slug","JoinFieldComponent","props","admin","allowCreate","description","collection","label","localized","on","required","pathFromProps","docConfig","getEntityConfig","customComponents","AfterInput","BeforeInput","Description","Error","Label","showError","potentiallyStalePath","filterOptions","targetField","where","equals","and","initialDrawerData","relatedCollection","split","div","className","filter","Boolean","join","replace","CustomComponent","Fallback","disableTable","fieldPath","docs","h4","style","margin","parent","joinPath","undefined","JoinField"],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  'use client';
2
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
2
3
  import { getTranslation } from '@payloadcms/translations';
3
4
  import { isNumber } from 'payload/shared';
4
- import { useCallback, useEffect, useMemo, useState } from 'react';
5
+ import React, { useCallback, useEffect, useMemo, useState } from 'react';
5
6
  import { ReactSelect } from '../../elements/ReactSelect/index.js';
6
7
  import { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js';
7
8
  import { useField } from '../../forms/useField/index.js';
@@ -94,41 +95,138 @@ const NumberFieldComponent = (props)=>{
94
95
  field
95
96
  ]);
96
97
  const placeholder = getTranslation(placeholderFromProps, i18n);
97
- return <div className={[
98
- fieldBaseClass,
99
- 'number',
100
- className,
101
- showError && 'error',
102
- (readOnly || disabled) && 'read-only',
103
- hasMany && 'has-many'
104
- ].filter(Boolean).join(' ')} style={styles}>
105
- <RenderCustomComponent CustomComponent={Label} Fallback={<FieldLabel label={label} localized={localized} path={path} required={required}/>}/>
106
- <div className={`${fieldBaseClass}__wrap`}>
107
- <RenderCustomComponent CustomComponent={Error} Fallback={<FieldError path={path} showError={showError}/>}/>
108
- {BeforeInput}
109
- {hasMany ? <ReactSelect className={`field-${path.replace(/\./g, '__')}`} disabled={readOnly || disabled} filterOption={(_, rawInput)=>{
110
- const isOverHasMany = Array.isArray(value) && value.length >= maxRows;
111
- return isNumber(rawInput) && !isOverHasMany;
112
- }} isClearable isCreatable isMulti isSortable noOptionsMessage={()=>{
113
- const isOverHasMany = Array.isArray(value) && value.length >= maxRows;
114
- if (isOverHasMany) {
115
- return t('validation:limitReached', {
116
- max: maxRows,
117
- value: value.length + 1
118
- });
119
- }
120
- return null;
121
- }} // numberOnly
122
- onChange={handleHasManyChange} options={[]} placeholder={placeholder} showError={showError} value={valueToRender}/> : <div>
123
- <input disabled={readOnly || disabled} id={`field-${path.replace(/\./g, '__')}`} max={max} min={min} name={path} onChange={handleChange} onWheel={(e)=>{
124
- // @ts-expect-error
125
- e.target.blur();
126
- }} placeholder={placeholder} step={step} type="number" value={typeof value === 'number' ? value : ''}/>
127
- </div>}
128
- {AfterInput}
129
- <RenderCustomComponent CustomComponent={Description} Fallback={<FieldDescription description={description} path={path}/>}/>
130
- </div>
131
- </div>;
98
+ return /*#__PURE__*/ _jsxDEV("div", {
99
+ className: [
100
+ fieldBaseClass,
101
+ 'number',
102
+ className,
103
+ showError && 'error',
104
+ (readOnly || disabled) && 'read-only',
105
+ hasMany && 'has-many'
106
+ ].filter(Boolean).join(' '),
107
+ style: styles,
108
+ children: [
109
+ /*#__PURE__*/ _jsxDEV(RenderCustomComponent, {
110
+ CustomComponent: Label,
111
+ Fallback: /*#__PURE__*/ _jsxDEV(FieldLabel, {
112
+ label: label,
113
+ localized: localized,
114
+ path: path,
115
+ required: required
116
+ }, void 0, false, {
117
+ fileName: "src/fields/Number/index.tsx",
118
+ lineNumber: 148,
119
+ columnNumber: 11
120
+ }, void 0)
121
+ }, void 0, false, {
122
+ fileName: "src/fields/Number/index.tsx",
123
+ lineNumber: 145,
124
+ columnNumber: 7
125
+ }, this),
126
+ /*#__PURE__*/ _jsxDEV("div", {
127
+ className: `${fieldBaseClass}__wrap`,
128
+ children: [
129
+ /*#__PURE__*/ _jsxDEV(RenderCustomComponent, {
130
+ CustomComponent: Error,
131
+ Fallback: /*#__PURE__*/ _jsxDEV(FieldError, {
132
+ path: path,
133
+ showError: showError
134
+ }, void 0, false, {
135
+ fileName: "src/fields/Number/index.tsx",
136
+ lineNumber: 154,
137
+ columnNumber: 21
138
+ }, void 0)
139
+ }, void 0, false, {
140
+ fileName: "src/fields/Number/index.tsx",
141
+ lineNumber: 152,
142
+ columnNumber: 9
143
+ }, this),
144
+ BeforeInput,
145
+ hasMany ? /*#__PURE__*/ _jsxDEV(ReactSelect, {
146
+ className: `field-${path.replace(/\./g, '__')}`,
147
+ disabled: readOnly || disabled,
148
+ filterOption: (_, rawInput)=>{
149
+ const isOverHasMany = Array.isArray(value) && value.length >= maxRows;
150
+ return isNumber(rawInput) && !isOverHasMany;
151
+ },
152
+ isClearable: true,
153
+ isCreatable: true,
154
+ isMulti: true,
155
+ isSortable: true,
156
+ noOptionsMessage: ()=>{
157
+ const isOverHasMany = Array.isArray(value) && value.length >= maxRows;
158
+ if (isOverHasMany) {
159
+ return t('validation:limitReached', {
160
+ max: maxRows,
161
+ value: value.length + 1
162
+ });
163
+ }
164
+ return null;
165
+ },
166
+ // numberOnly
167
+ onChange: handleHasManyChange,
168
+ options: [],
169
+ placeholder: placeholder,
170
+ showError: showError,
171
+ value: valueToRender
172
+ }, void 0, false, {
173
+ fileName: "src/fields/Number/index.tsx",
174
+ lineNumber: 158,
175
+ columnNumber: 11
176
+ }, this) : /*#__PURE__*/ _jsxDEV("div", {
177
+ children: /*#__PURE__*/ _jsxDEV("input", {
178
+ disabled: readOnly || disabled,
179
+ id: `field-${path.replace(/\./g, '__')}`,
180
+ max: max,
181
+ min: min,
182
+ name: path,
183
+ onChange: handleChange,
184
+ onWheel: (e)=>{
185
+ // @ts-expect-error
186
+ e.target.blur();
187
+ },
188
+ placeholder: placeholder,
189
+ step: step,
190
+ type: "number",
191
+ value: typeof value === 'number' ? value : ''
192
+ }, void 0, false, {
193
+ fileName: "src/fields/Number/index.tsx",
194
+ lineNumber: 185,
195
+ columnNumber: 13
196
+ }, this)
197
+ }, void 0, false, {
198
+ fileName: "src/fields/Number/index.tsx",
199
+ lineNumber: 184,
200
+ columnNumber: 11
201
+ }, this),
202
+ AfterInput,
203
+ /*#__PURE__*/ _jsxDEV(RenderCustomComponent, {
204
+ CustomComponent: Description,
205
+ Fallback: /*#__PURE__*/ _jsxDEV(FieldDescription, {
206
+ description: description,
207
+ path: path
208
+ }, void 0, false, {
209
+ fileName: "src/fields/Number/index.tsx",
210
+ lineNumber: 206,
211
+ columnNumber: 21
212
+ }, void 0)
213
+ }, void 0, false, {
214
+ fileName: "src/fields/Number/index.tsx",
215
+ lineNumber: 204,
216
+ columnNumber: 9
217
+ }, this)
218
+ ]
219
+ }, void 0, true, {
220
+ fileName: "src/fields/Number/index.tsx",
221
+ lineNumber: 151,
222
+ columnNumber: 7
223
+ }, this)
224
+ ]
225
+ }, void 0, true, {
226
+ fileName: "src/fields/Number/index.tsx",
227
+ lineNumber: 132,
228
+ columnNumber: 5
229
+ }, this);
132
230
  };
133
231
  export const NumberField = withCondition(NumberFieldComponent);
134
232
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Number/index.tsx"],"sourcesContent":["'use client'\nimport type { NumberFieldClientComponent, NumberFieldClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { isNumber } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport './index.scss'\nimport { fieldBaseClass } from '../shared/index.js'\n\nconst NumberFieldComponent: NumberFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: {\n className,\n description,\n placeholder: placeholderFromProps,\n step = 1,\n } = {} as NumberFieldClientProps['field']['admin'],\n hasMany = false,\n label,\n localized,\n max = Infinity,\n maxRows = Infinity,\n min = -Infinity,\n required,\n },\n onChange: onChangeFromProps,\n path: pathFromProps,\n readOnly,\n validate,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, max, min, required })\n }\n },\n [validate, min, max, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n path,\n setValue,\n showError,\n value,\n } = useField<number | number[]>({\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e) => {\n const val = parseFloat(e.target.value)\n let newVal = val\n\n if (Number.isNaN(val)) {\n newVal = null\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newVal)\n }\n\n setValue(newVal)\n },\n [onChangeFromProps, setValue],\n )\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!(readOnly || disabled)) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else 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 setValue(newValue)\n }\n },\n [readOnly, disabled, setValue],\n )\n\n // useEffect update valueToRender:\n useEffect(() => {\n if (hasMany && 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 unknown as Record<string, number>)?.value || val,\n }, // You're probably wondering, why the hell is this done that way? Well, React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n }\n }),\n )\n }\n }, [value, hasMany])\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n const placeholder = getTranslation(placeholderFromProps, i18n)\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'number',\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n hasMany && 'has-many',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n disabled={readOnly || disabled}\n filterOption={(_, rawInput) => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n return isNumber(rawInput) && !isOverHasMany\n }}\n isClearable\n isCreatable\n isMulti\n isSortable\n noOptionsMessage={() => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n if (isOverHasMany) {\n return t('validation:limitReached', { max: maxRows, value: value.length + 1 })\n }\n return null\n }}\n // numberOnly\n onChange={handleHasManyChange}\n options={[]}\n placeholder={placeholder}\n showError={showError}\n value={valueToRender as Option[]}\n />\n ) : (\n <div>\n <input\n disabled={readOnly || disabled}\n id={`field-${path.replace(/\\./g, '__')}`}\n max={max}\n min={min}\n name={path}\n onChange={handleChange}\n onWheel={(e) => {\n // @ts-expect-error\n e.target.blur()\n }}\n placeholder={placeholder}\n step={step}\n type=\"number\"\n value={typeof value === 'number' ? value : ''}\n />\n </div>\n )}\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n </div>\n )\n}\n\nexport const NumberField = withCondition(NumberFieldComponent)\n"],"names":["getTranslation","isNumber","useCallback","useEffect","useMemo","useState","ReactSelect","RenderCustomComponent","useField","withCondition","useTranslation","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","NumberFieldComponent","props","field","admin","className","description","placeholder","placeholderFromProps","step","hasMany","label","localized","max","Infinity","maxRows","min","required","onChange","onChangeFromProps","path","pathFromProps","readOnly","validate","i18n","t","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","potentiallyStalePath","handleChange","e","val","parseFloat","target","newVal","Number","isNaN","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","index","id","toString","styles","div","filter","Boolean","join","style","CustomComponent","Fallback","replace","filterOption","_","rawInput","isOverHasMany","length","isClearable","isCreatable","isMulti","isSortable","noOptionsMessage","input","name","onWheel","blur","type","NumberField"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/Number/index.tsx"],"sourcesContent":["'use client'\nimport type { NumberFieldClientComponent, NumberFieldClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { isNumber } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport './index.scss'\nimport { fieldBaseClass } from '../shared/index.js'\n\nconst NumberFieldComponent: NumberFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: {\n className,\n description,\n placeholder: placeholderFromProps,\n step = 1,\n } = {} as NumberFieldClientProps['field']['admin'],\n hasMany = false,\n label,\n localized,\n max = Infinity,\n maxRows = Infinity,\n min = -Infinity,\n required,\n },\n onChange: onChangeFromProps,\n path: pathFromProps,\n readOnly,\n validate,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, max, min, required })\n }\n },\n [validate, min, max, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n path,\n setValue,\n showError,\n value,\n } = useField<number | number[]>({\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e) => {\n const val = parseFloat(e.target.value)\n let newVal = val\n\n if (Number.isNaN(val)) {\n newVal = null\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newVal)\n }\n\n setValue(newVal)\n },\n [onChangeFromProps, setValue],\n )\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!(readOnly || disabled)) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else 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 setValue(newValue)\n }\n },\n [readOnly, disabled, setValue],\n )\n\n // useEffect update valueToRender:\n useEffect(() => {\n if (hasMany && 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 unknown as Record<string, number>)?.value || val,\n }, // You're probably wondering, why the hell is this done that way? Well, React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n }\n }),\n )\n }\n }, [value, hasMany])\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n const placeholder = getTranslation(placeholderFromProps, i18n)\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'number',\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n hasMany && 'has-many',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n disabled={readOnly || disabled}\n filterOption={(_, rawInput) => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n return isNumber(rawInput) && !isOverHasMany\n }}\n isClearable\n isCreatable\n isMulti\n isSortable\n noOptionsMessage={() => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n if (isOverHasMany) {\n return t('validation:limitReached', { max: maxRows, value: value.length + 1 })\n }\n return null\n }}\n // numberOnly\n onChange={handleHasManyChange}\n options={[]}\n placeholder={placeholder}\n showError={showError}\n value={valueToRender as Option[]}\n />\n ) : (\n <div>\n <input\n disabled={readOnly || disabled}\n id={`field-${path.replace(/\\./g, '__')}`}\n max={max}\n min={min}\n name={path}\n onChange={handleChange}\n onWheel={(e) => {\n // @ts-expect-error\n e.target.blur()\n }}\n placeholder={placeholder}\n step={step}\n type=\"number\"\n value={typeof value === 'number' ? value : ''}\n />\n </div>\n )}\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n </div>\n )\n}\n\nexport const NumberField = withCondition(NumberFieldComponent)\n"],"names":["getTranslation","isNumber","React","useCallback","useEffect","useMemo","useState","ReactSelect","RenderCustomComponent","useField","withCondition","useTranslation","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","NumberFieldComponent","props","field","admin","className","description","placeholder","placeholderFromProps","step","hasMany","label","localized","max","Infinity","maxRows","min","required","onChange","onChangeFromProps","path","pathFromProps","readOnly","validate","i18n","t","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","potentiallyStalePath","handleChange","e","val","parseFloat","target","newVal","Number","isNaN","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","index","id","toString","styles","div","filter","Boolean","join","style","CustomComponent","Fallback","replace","filterOption","_","rawInput","isOverHasMany","length","isClearable","isCreatable","isMulti","isSortable","noOptionsMessage","input","name","onWheel","blur","type","NumberField"],"mappings":"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"}