@payloadcms/ui 3.0.0-canary.926cbeb → 3.0.0-canary.93a7bbd

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 (936) hide show
  1. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  2. package/dist/elements/AppHeader/index.js +10 -3
  3. package/dist/elements/AppHeader/index.js.map +1 -1
  4. package/dist/elements/AppHeader/index.scss +5 -3
  5. package/dist/elements/ArrayAction/index.d.ts +1 -1
  6. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  7. package/dist/elements/ArrayAction/index.js +1 -1
  8. package/dist/elements/ArrayAction/index.js.map +1 -1
  9. package/dist/elements/ArrayAction/index.scss +0 -13
  10. package/dist/elements/Autosave/index.d.ts.map +1 -1
  11. package/dist/elements/Autosave/index.js +54 -29
  12. package/dist/elements/Autosave/index.js.map +1 -1
  13. package/dist/elements/Banner/index.scss +5 -5
  14. package/dist/elements/Button/index.js +1 -1
  15. package/dist/elements/Button/index.js.map +1 -1
  16. package/dist/elements/Button/index.scss +112 -118
  17. package/dist/elements/Button/types.d.ts +1 -1
  18. package/dist/elements/Button/types.d.ts.map +1 -1
  19. package/dist/elements/Button/types.js.map +1 -1
  20. package/dist/elements/Card/index.scss +37 -8
  21. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  22. package/dist/elements/CodeEditor/CodeEditor.js +2 -1
  23. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  24. package/dist/elements/CodeEditor/types.d.ts +2 -2
  25. package/dist/elements/CodeEditor/types.d.ts.map +1 -1
  26. package/dist/elements/CodeEditor/types.js.map +1 -1
  27. package/dist/elements/Collapsible/index.d.ts +1 -1
  28. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  29. package/dist/elements/Collapsible/index.js +1 -1
  30. package/dist/elements/Collapsible/index.js.map +1 -1
  31. package/dist/elements/Collapsible/index.scss +77 -77
  32. package/dist/elements/ColumnSelector/index.d.ts +1 -1
  33. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  34. package/dist/elements/ColumnSelector/index.js +2 -2
  35. package/dist/elements/ColumnSelector/index.js.map +1 -1
  36. package/dist/elements/ColumnSelector/index.scss +20 -2
  37. package/dist/elements/DatePicker/index.scss +3 -1
  38. package/dist/elements/DatePicker/types.d.ts +2 -2
  39. package/dist/elements/DatePicker/types.d.ts.map +1 -1
  40. package/dist/elements/DatePicker/types.js.map +1 -1
  41. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  42. package/dist/elements/DeleteDocument/index.js +7 -3
  43. package/dist/elements/DeleteDocument/index.js.map +1 -1
  44. package/dist/elements/DeleteDocument/index.scss +1 -0
  45. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  46. package/dist/elements/DeleteMany/index.js +5 -3
  47. package/dist/elements/DeleteMany/index.js.map +1 -1
  48. package/dist/elements/DeleteMany/index.scss +1 -0
  49. package/dist/elements/DocumentControls/index.d.ts +10 -10
  50. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  51. package/dist/elements/DocumentControls/index.js +16 -14
  52. package/dist/elements/DocumentControls/index.js.map +1 -1
  53. package/dist/elements/DocumentControls/index.scss +20 -9
  54. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  55. package/dist/elements/DocumentDrawer/DrawerContent.js +6 -11
  56. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  57. package/dist/elements/DocumentDrawer/index.scss +4 -6
  58. package/dist/elements/DocumentDrawer/types.d.ts +14 -14
  59. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  60. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  61. package/dist/elements/DocumentFields/index.d.ts +9 -10
  62. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  63. package/dist/elements/DocumentFields/index.js +50 -51
  64. package/dist/elements/DocumentFields/index.js.map +1 -1
  65. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts +2 -2
  66. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
  67. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +4 -2
  68. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  69. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +4 -4
  70. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
  71. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  72. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  73. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +10 -4
  74. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  75. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts +6 -5
  76. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts.map +1 -1
  77. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  78. package/dist/elements/Drawer/index.d.ts.map +1 -1
  79. package/dist/elements/Drawer/index.js +3 -0
  80. package/dist/elements/Drawer/index.js.map +1 -1
  81. package/dist/elements/Drawer/index.scss +13 -8
  82. package/dist/elements/Drawer/types.d.ts +9 -9
  83. package/dist/elements/Drawer/types.d.ts.map +1 -1
  84. package/dist/elements/Drawer/types.js.map +1 -1
  85. package/dist/elements/Dropzone/index.d.ts +1 -0
  86. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  87. package/dist/elements/Dropzone/index.js +9 -2
  88. package/dist/elements/Dropzone/index.js.map +1 -1
  89. package/dist/elements/Dropzone/index.scss +7 -3
  90. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  91. package/dist/elements/DuplicateDocument/index.js +9 -6
  92. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  93. package/dist/elements/DuplicateDocument/index.scss +1 -0
  94. package/dist/elements/EditMany/index.d.ts +3 -4
  95. package/dist/elements/EditMany/index.d.ts.map +1 -1
  96. package/dist/elements/EditMany/index.js +4 -4
  97. package/dist/elements/EditMany/index.js.map +1 -1
  98. package/dist/elements/EditMany/index.scss +6 -12
  99. package/dist/elements/EditUpload/index.d.ts +3 -6
  100. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  101. package/dist/elements/EditUpload/index.js +20 -25
  102. package/dist/elements/EditUpload/index.js.map +1 -1
  103. package/dist/elements/EditUpload/index.scss +4 -1
  104. package/dist/elements/ErrorPill/index.scss +2 -14
  105. package/dist/elements/FieldSelect/index.d.ts +4 -5
  106. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  107. package/dist/elements/FieldSelect/index.js +32 -21
  108. package/dist/elements/FieldSelect/index.js.map +1 -1
  109. package/dist/elements/FileDetails/FileMeta/index.scss +1 -0
  110. package/dist/elements/FileDetails/index.d.ts +2 -2
  111. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  112. package/dist/elements/FileDetails/index.js +3 -1
  113. package/dist/elements/FileDetails/index.js.map +1 -1
  114. package/dist/elements/FileDetails/index.scss +28 -12
  115. package/dist/elements/GenerateConfirmation/index.scss +2 -0
  116. package/dist/elements/Hamburger/index.d.ts.map +1 -1
  117. package/dist/elements/Hamburger/index.js +17 -41
  118. package/dist/elements/Hamburger/index.js.map +1 -1
  119. package/dist/elements/Hamburger/index.scss +22 -102
  120. package/dist/elements/HydrateAuthProvider/index.d.ts +13 -0
  121. package/dist/elements/HydrateAuthProvider/index.d.ts.map +1 -0
  122. package/dist/elements/{HydrateClientUser → HydrateAuthProvider}/index.js +3 -6
  123. package/dist/elements/HydrateAuthProvider/index.js.map +1 -0
  124. package/dist/elements/IDLabel/index.js +1 -1
  125. package/dist/elements/IDLabel/index.js.map +1 -1
  126. package/dist/elements/IDLabel/index.scss +2 -2
  127. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts +2 -2
  128. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
  129. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +4 -3
  130. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  131. package/dist/elements/ListControls/index.d.ts +2 -3
  132. package/dist/elements/ListControls/index.d.ts.map +1 -1
  133. package/dist/elements/ListControls/index.js +48 -9
  134. package/dist/elements/ListControls/index.js.map +1 -1
  135. package/dist/elements/ListControls/index.scss +20 -17
  136. package/dist/elements/ListDrawer/DrawerContent.js +6 -5
  137. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  138. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  139. package/dist/elements/ListDrawer/index.js +1 -1
  140. package/dist/elements/ListDrawer/index.js.map +1 -1
  141. package/dist/elements/ListDrawer/index.scss +4 -4
  142. package/dist/elements/ListDrawer/types.d.ts +8 -8
  143. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  144. package/dist/elements/ListDrawer/types.js.map +1 -1
  145. package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
  146. package/dist/elements/Localizer/LocalizerLabel/index.js +5 -4
  147. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  148. package/dist/elements/Localizer/LocalizerLabel/index.scss +6 -0
  149. package/dist/elements/Localizer/index.d.ts.map +1 -1
  150. package/dist/elements/Localizer/index.js +7 -14
  151. package/dist/elements/Localizer/index.js.map +1 -1
  152. package/dist/elements/Logout/index.d.ts.map +1 -1
  153. package/dist/elements/Logout/index.js +13 -8
  154. package/dist/elements/Logout/index.js.map +1 -1
  155. package/dist/elements/NavGroup/index.scss +2 -2
  156. package/dist/elements/Pill/index.d.ts +2 -2
  157. package/dist/elements/Pill/index.d.ts.map +1 -1
  158. package/dist/elements/Pill/index.js +1 -5
  159. package/dist/elements/Pill/index.js.map +1 -1
  160. package/dist/elements/Pill/index.scss +17 -42
  161. package/dist/elements/Popup/index.d.ts +1 -1
  162. package/dist/elements/Popup/index.d.ts.map +1 -1
  163. package/dist/elements/Popup/index.js.map +1 -1
  164. package/dist/elements/Popup/index.scss +6 -0
  165. package/dist/elements/PreviewButton/index.d.ts +2 -1
  166. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  167. package/dist/elements/PreviewButton/index.js +9 -2
  168. package/dist/elements/PreviewButton/index.js.map +1 -1
  169. package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -1
  170. package/dist/elements/PreviewButton/usePreviewURL.js +1 -1
  171. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  172. package/dist/elements/PreviewSizes/index.d.ts +4 -4
  173. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  174. package/dist/elements/PreviewSizes/index.js.map +1 -1
  175. package/dist/elements/PublishButton/index.d.ts +2 -1
  176. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  177. package/dist/elements/PublishButton/index.js +21 -2
  178. package/dist/elements/PublishButton/index.js.map +1 -1
  179. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  180. package/dist/elements/PublishMany/index.js +1 -1
  181. package/dist/elements/PublishMany/index.js.map +1 -1
  182. package/dist/elements/PublishMany/index.scss +1 -0
  183. package/dist/elements/ReactSelect/Control/index.js +0 -1
  184. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  185. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts +2 -2
  186. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  187. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  188. package/dist/elements/ReactSelect/MultiValue/index.scss +25 -3
  189. package/dist/elements/ReactSelect/MultiValueLabel/index.scss +1 -1
  190. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts +2 -2
  191. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts.map +1 -1
  192. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  193. package/dist/elements/ReactSelect/MultiValueRemove/index.scss +3 -3
  194. package/dist/elements/ReactSelect/ValueContainer/index.scss +5 -12
  195. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  196. package/dist/elements/ReactSelect/index.js +0 -1
  197. package/dist/elements/ReactSelect/index.js.map +1 -1
  198. package/dist/elements/ReactSelect/index.scss +11 -5
  199. package/dist/elements/ReactSelect/types.d.ts +1 -1
  200. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  201. package/dist/elements/ReactSelect/types.js.map +1 -1
  202. package/dist/elements/RenderTitle/index.scss +1 -1
  203. package/dist/elements/SaveButton/index.d.ts +2 -1
  204. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  205. package/dist/elements/SaveButton/index.js +8 -3
  206. package/dist/elements/SaveButton/index.js.map +1 -1
  207. package/dist/elements/SaveDraftButton/index.d.ts +2 -1
  208. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  209. package/dist/elements/SaveDraftButton/index.js +9 -4
  210. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  211. package/dist/elements/SearchFilter/index.d.ts +5 -3
  212. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  213. package/dist/elements/SearchFilter/index.js +20 -63
  214. package/dist/elements/SearchFilter/index.js.map +1 -1
  215. package/dist/elements/SearchFilter/index.scss +2 -1
  216. package/dist/elements/SelectRow/index.scss +1 -0
  217. package/dist/elements/SortColumn/index.d.ts +2 -2
  218. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  219. package/dist/elements/SortColumn/index.js +4 -4
  220. package/dist/elements/SortColumn/index.js.map +1 -1
  221. package/dist/elements/SortComplex/index.js +1 -1
  222. package/dist/elements/SortComplex/index.js.map +1 -1
  223. package/dist/elements/Status/index.d.ts.map +1 -1
  224. package/dist/elements/Status/index.js +1 -1
  225. package/dist/elements/Status/index.js.map +1 -1
  226. package/dist/elements/Status/index.scss +2 -0
  227. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  228. package/dist/elements/StayLoggedIn/index.js +9 -3
  229. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  230. package/dist/elements/StayLoggedIn/index.scss +1 -0
  231. package/dist/elements/StepNav/index.d.ts +2 -2
  232. package/dist/elements/StepNav/index.d.ts.map +1 -1
  233. package/dist/elements/StepNav/index.js +11 -8
  234. package/dist/elements/StepNav/index.js.map +1 -1
  235. package/dist/elements/StepNav/index.scss +1 -1
  236. package/dist/elements/StepNav/types.d.ts +2 -2
  237. package/dist/elements/StepNav/types.d.ts.map +1 -1
  238. package/dist/elements/StepNav/types.js.map +1 -1
  239. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts +2 -3
  240. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
  241. package/dist/elements/Table/DefaultCell/fields/Array/index.js +2 -2
  242. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  243. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +2 -4
  244. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  245. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +1 -1
  246. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  247. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts +2 -2
  248. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
  249. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  250. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +3 -3
  251. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
  252. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  253. package/dist/elements/Table/DefaultCell/fields/Code/index.scss +1 -1
  254. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts +2 -2
  255. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
  256. package/dist/elements/Table/DefaultCell/fields/Date/index.js +4 -4
  257. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  258. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +2 -2
  259. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  260. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  261. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts +2 -2
  262. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
  263. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  264. package/dist/elements/Table/DefaultCell/fields/JSON/index.scss +1 -1
  265. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +2 -4
  266. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  267. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +18 -5
  268. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  269. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts +2 -3
  270. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +1 -1
  271. package/dist/elements/Table/DefaultCell/fields/Select/index.js +1 -1
  272. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  273. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts +2 -2
  274. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts.map +1 -1
  275. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  276. package/dist/elements/Table/DefaultCell/fields/index.d.ts +4 -4
  277. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  278. package/dist/elements/Table/DefaultCell/index.js +21 -13
  279. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  280. package/dist/elements/Table/RelationshipProvider/index.d.ts +1 -1
  281. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  282. package/dist/elements/Table/RelationshipProvider/index.js +1 -2
  283. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  284. package/dist/elements/Table/TableCellProvider/index.d.ts +6 -6
  285. package/dist/elements/Table/TableCellProvider/index.d.ts.map +1 -1
  286. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  287. package/dist/elements/Table/index.d.ts +11 -15
  288. package/dist/elements/Table/index.d.ts.map +1 -1
  289. package/dist/elements/Table/index.js +7 -1
  290. package/dist/elements/Table/index.js.map +1 -1
  291. package/dist/elements/Table/index.scss +10 -1
  292. package/dist/elements/TableColumns/buildColumnState.d.ts +2 -3
  293. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  294. package/dist/elements/TableColumns/buildColumnState.js +30 -33
  295. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  296. package/dist/elements/TableColumns/filterFields.d.ts +2 -2
  297. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
  298. package/dist/elements/TableColumns/filterFields.js +8 -11
  299. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  300. package/dist/elements/TableColumns/getInitialColumns.d.ts +2 -3
  301. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
  302. package/dist/elements/TableColumns/getInitialColumns.js +9 -11
  303. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  304. package/dist/elements/TableColumns/index.d.ts +6 -6
  305. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  306. package/dist/elements/TableColumns/index.js +8 -11
  307. package/dist/elements/TableColumns/index.js.map +1 -1
  308. package/dist/elements/ThumbnailCard/index.d.ts +4 -4
  309. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  310. package/dist/elements/ThumbnailCard/index.js +1 -1
  311. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  312. package/dist/elements/ThumbnailCard/index.scss +10 -1
  313. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  314. package/dist/elements/UnpublishMany/index.js +2 -2
  315. package/dist/elements/UnpublishMany/index.js.map +1 -1
  316. package/dist/elements/UnpublishMany/index.scss +1 -0
  317. package/dist/elements/Upload/index.d.ts.map +1 -1
  318. package/dist/elements/Upload/index.js +106 -35
  319. package/dist/elements/Upload/index.js.map +1 -1
  320. package/dist/elements/Upload/index.scss +8 -4
  321. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  322. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +17 -11
  323. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  324. package/dist/elements/WhereBuilder/Condition/Relationship/index.scss +2 -2
  325. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts +3 -3
  326. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
  327. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  328. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts +1 -2
  329. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
  330. package/dist/elements/WhereBuilder/Condition/Text/index.js +1 -2
  331. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  332. package/dist/elements/WhereBuilder/Condition/index.d.ts +9 -9
  333. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  334. package/dist/elements/WhereBuilder/Condition/index.js +35 -22
  335. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  336. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  337. package/dist/elements/WhereBuilder/index.js +21 -12
  338. package/dist/elements/WhereBuilder/index.js.map +1 -1
  339. package/dist/elements/WhereBuilder/reduceClientFields.d.ts +15 -0
  340. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -0
  341. package/dist/elements/WhereBuilder/reduceClientFields.js +104 -0
  342. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -0
  343. package/dist/elements/WhereBuilder/types.d.ts +6 -6
  344. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  345. package/dist/elements/WhereBuilder/types.js.map +1 -1
  346. package/dist/elements/WhereBuilder/validateWhereQuery.js +0 -1
  347. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
  348. package/dist/elements/withMergedProps/index.js +8 -2
  349. package/dist/elements/withMergedProps/index.js.map +1 -1
  350. package/dist/exports/client/{CodeEditor-UTZFZWZG.js → CodeEditor-UPOVAXRP.js} +2 -2
  351. package/dist/exports/client/{CodeEditor-UTZFZWZG.js.map → CodeEditor-UPOVAXRP.js.map} +3 -3
  352. package/dist/exports/client/{DatePicker-BN5AOAME.js → DatePicker-BEV27TZK.js} +2 -2
  353. package/dist/exports/client/chunk-B4RA26U5.js +30 -0
  354. package/dist/exports/client/{chunk-3X2D2TP2.js.map → chunk-B4RA26U5.js.map} +4 -4
  355. package/dist/exports/client/index.d.ts +16 -9
  356. package/dist/exports/client/index.d.ts.map +1 -1
  357. package/dist/exports/client/index.js +26 -39
  358. package/dist/exports/client/index.js.map +4 -4
  359. package/dist/exports/shared/index.d.ts +5 -2
  360. package/dist/exports/shared/index.d.ts.map +1 -1
  361. package/dist/exports/shared/index.js +2 -12
  362. package/dist/exports/shared/index.js.map +4 -4
  363. package/dist/fields/Array/ArrayRow.d.ts +23 -24
  364. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  365. package/dist/fields/Array/ArrayRow.js +6 -4
  366. package/dist/fields/Array/ArrayRow.js.map +1 -1
  367. package/dist/fields/Array/index.d.ts +2 -15
  368. package/dist/fields/Array/index.d.ts.map +1 -1
  369. package/dist/fields/Array/index.js +36 -17
  370. package/dist/fields/Array/index.js.map +1 -1
  371. package/dist/fields/Array/index.scss +3 -1
  372. package/dist/fields/Blocks/BlockRow.d.ts +6 -7
  373. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  374. package/dist/fields/Blocks/BlockRow.js +10 -3
  375. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  376. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.scss +3 -4
  377. package/dist/fields/Blocks/BlocksDrawer/index.d.ts +6 -7
  378. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  379. package/dist/fields/Blocks/BlocksDrawer/index.js +1 -1
  380. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  381. package/dist/fields/Blocks/RowActions.d.ts +13 -14
  382. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  383. package/dist/fields/Blocks/RowActions.js +1 -1
  384. package/dist/fields/Blocks/RowActions.js.map +1 -1
  385. package/dist/fields/Blocks/SectionTitle/index.scss +13 -2
  386. package/dist/fields/Blocks/index.d.ts +2 -15
  387. package/dist/fields/Blocks/index.d.ts.map +1 -1
  388. package/dist/fields/Blocks/index.js +29 -12
  389. package/dist/fields/Blocks/index.js.map +1 -1
  390. package/dist/fields/Blocks/index.scss +1 -0
  391. package/dist/fields/Checkbox/Input.d.ts +15 -15
  392. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  393. package/dist/fields/Checkbox/Input.js +9 -4
  394. package/dist/fields/Checkbox/Input.js.map +1 -1
  395. package/dist/fields/Checkbox/index.d.ts +1 -1
  396. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  397. package/dist/fields/Checkbox/index.js +13 -9
  398. package/dist/fields/Checkbox/index.js.map +1 -1
  399. package/dist/fields/Checkbox/index.scss +9 -9
  400. package/dist/fields/Code/index.d.ts +1 -9
  401. package/dist/fields/Code/index.d.ts.map +1 -1
  402. package/dist/fields/Code/index.js +17 -9
  403. package/dist/fields/Code/index.js.map +1 -1
  404. package/dist/fields/Code/index.scss +6 -18
  405. package/dist/fields/Collapsible/index.d.ts +1 -7
  406. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  407. package/dist/fields/Collapsible/index.js +9 -7
  408. package/dist/fields/Collapsible/index.js.map +1 -1
  409. package/dist/fields/Collapsible/index.scss +0 -4
  410. package/dist/fields/ConfirmPassword/index.d.ts +2 -1
  411. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  412. package/dist/fields/ConfirmPassword/index.js +12 -19
  413. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  414. package/dist/fields/DateTime/index.d.ts +1 -9
  415. package/dist/fields/DateTime/index.d.ts.map +1 -1
  416. package/dist/fields/DateTime/index.js +17 -9
  417. package/dist/fields/DateTime/index.js.map +1 -1
  418. package/dist/fields/Email/index.d.ts +1 -9
  419. package/dist/fields/Email/index.d.ts.map +1 -1
  420. package/dist/fields/Email/index.js +17 -8
  421. package/dist/fields/Email/index.js.map +1 -1
  422. package/dist/fields/FieldDescription/index.d.ts +2 -2
  423. package/dist/fields/FieldDescription/index.d.ts.map +1 -1
  424. package/dist/fields/FieldDescription/index.js +8 -4
  425. package/dist/fields/FieldDescription/index.js.map +1 -1
  426. package/dist/fields/FieldError/index.d.ts +2 -2
  427. package/dist/fields/FieldError/index.d.ts.map +1 -1
  428. package/dist/fields/FieldError/index.js +8 -4
  429. package/dist/fields/FieldError/index.js.map +1 -1
  430. package/dist/fields/FieldError/index.scss +6 -5
  431. package/dist/fields/FieldLabel/index.d.ts +2 -2
  432. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  433. package/dist/fields/FieldLabel/index.js +8 -4
  434. package/dist/fields/FieldLabel/index.js.map +1 -1
  435. package/dist/fields/Group/index.d.ts +2 -10
  436. package/dist/fields/Group/index.d.ts.map +1 -1
  437. package/dist/fields/Group/index.js +65 -58
  438. package/dist/fields/Group/index.js.map +1 -1
  439. package/dist/fields/Hidden/index.d.ts +2 -9
  440. package/dist/fields/Hidden/index.d.ts.map +1 -1
  441. package/dist/fields/Hidden/index.js +3 -3
  442. package/dist/fields/Hidden/index.js.map +1 -1
  443. package/dist/fields/JSON/index.d.ts +1 -9
  444. package/dist/fields/JSON/index.d.ts.map +1 -1
  445. package/dist/fields/JSON/index.js +16 -13
  446. package/dist/fields/JSON/index.js.map +1 -1
  447. package/dist/fields/JSON/index.scss +6 -25
  448. package/dist/fields/Number/Input.d.ts +2 -0
  449. package/dist/fields/Number/Input.d.ts.map +1 -0
  450. package/dist/fields/Number/Input.js +2 -0
  451. package/dist/fields/Number/Input.js.map +1 -0
  452. package/dist/fields/Number/index.d.ts +1 -14
  453. package/dist/fields/Number/index.d.ts.map +1 -1
  454. package/dist/fields/Number/index.js +17 -11
  455. package/dist/fields/Number/index.js.map +1 -1
  456. package/dist/fields/Password/index.d.ts +1 -14
  457. package/dist/fields/Password/index.d.ts.map +1 -1
  458. package/dist/fields/Password/index.js +59 -45
  459. package/dist/fields/Password/index.js.map +1 -1
  460. package/dist/fields/Password/input.d.ts +5 -0
  461. package/dist/fields/Password/input.d.ts.map +1 -0
  462. package/dist/fields/Password/input.js +75 -0
  463. package/dist/fields/Password/input.js.map +1 -0
  464. package/dist/fields/Password/types.d.ts +36 -0
  465. package/dist/fields/Password/types.d.ts.map +1 -0
  466. package/dist/fields/Password/types.js.map +1 -0
  467. package/dist/fields/Point/index.d.ts +2 -9
  468. package/dist/fields/Point/index.d.ts.map +1 -1
  469. package/dist/fields/Point/index.js +30 -16
  470. package/dist/fields/Point/index.js.map +1 -1
  471. package/dist/fields/Point/index.scss +4 -0
  472. package/dist/fields/RadioGroup/Radio/index.d.ts +2 -3
  473. package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  474. package/dist/fields/RadioGroup/Radio/index.js +4 -1
  475. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  476. package/dist/fields/RadioGroup/Radio/index.scss +13 -6
  477. package/dist/fields/RadioGroup/index.d.ts +1 -12
  478. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  479. package/dist/fields/RadioGroup/index.js +15 -11
  480. package/dist/fields/RadioGroup/index.js.map +1 -1
  481. package/dist/fields/RadioGroup/index.scss +12 -1
  482. package/dist/fields/Relationship/AddNew/index.scss +3 -0
  483. package/dist/fields/Relationship/AddNew/useRelatedCollections.js +1 -1
  484. package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +1 -1
  485. package/dist/fields/Relationship/index.d.ts +1 -2
  486. package/dist/fields/Relationship/index.d.ts.map +1 -1
  487. package/dist/fields/Relationship/index.js +13 -9
  488. package/dist/fields/Relationship/index.js.map +1 -1
  489. package/dist/fields/Relationship/index.scss +9 -2
  490. package/dist/fields/Relationship/select-components/MultiValueLabel/index.scss +8 -5
  491. package/dist/fields/Relationship/types.d.ts +1 -11
  492. package/dist/fields/Relationship/types.d.ts.map +1 -1
  493. package/dist/fields/Relationship/types.js.map +1 -1
  494. package/dist/fields/RichText/index.d.ts +1 -7
  495. package/dist/fields/RichText/index.d.ts.map +1 -1
  496. package/dist/fields/RichText/index.js.map +1 -1
  497. package/dist/fields/Row/index.d.ts +1 -2
  498. package/dist/fields/Row/index.d.ts.map +1 -1
  499. package/dist/fields/Row/index.js +8 -10
  500. package/dist/fields/Row/index.js.map +1 -1
  501. package/dist/fields/Row/index.scss +1 -5
  502. package/dist/fields/Select/Input.d.ts +26 -7
  503. package/dist/fields/Select/Input.d.ts.map +1 -1
  504. package/dist/fields/Select/Input.js +13 -11
  505. package/dist/fields/Select/Input.js.map +1 -1
  506. package/dist/fields/Select/index.d.ts +1 -13
  507. package/dist/fields/Select/index.d.ts.map +1 -1
  508. package/dist/fields/Select/index.js +11 -12
  509. package/dist/fields/Select/index.js.map +1 -1
  510. package/dist/fields/Tabs/Tab/index.d.ts +5 -5
  511. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  512. package/dist/fields/Tabs/Tab/index.js +4 -5
  513. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  514. package/dist/fields/Tabs/index.d.ts +1 -9
  515. package/dist/fields/Tabs/index.d.ts.map +1 -1
  516. package/dist/fields/Tabs/index.js +30 -29
  517. package/dist/fields/Tabs/index.js.map +1 -1
  518. package/dist/fields/Text/Input.d.ts.map +1 -1
  519. package/dist/fields/Text/Input.js +24 -21
  520. package/dist/fields/Text/Input.js.map +1 -1
  521. package/dist/fields/Text/index.d.ts +3 -2
  522. package/dist/fields/Text/index.d.ts.map +1 -1
  523. package/dist/fields/Text/index.js +11 -12
  524. package/dist/fields/Text/index.js.map +1 -1
  525. package/dist/fields/Text/index.scss +6 -0
  526. package/dist/fields/Text/types.d.ts +33 -28
  527. package/dist/fields/Text/types.d.ts.map +1 -1
  528. package/dist/fields/Text/types.js.map +1 -1
  529. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  530. package/dist/fields/Textarea/Input.js +13 -6
  531. package/dist/fields/Textarea/Input.js.map +1 -1
  532. package/dist/fields/Textarea/index.d.ts +3 -2
  533. package/dist/fields/Textarea/index.d.ts.map +1 -1
  534. package/dist/fields/Textarea/index.js +12 -13
  535. package/dist/fields/Textarea/index.js.map +1 -1
  536. package/dist/fields/Textarea/index.scss +1 -6
  537. package/dist/fields/Textarea/types.d.ts +28 -16
  538. package/dist/fields/Textarea/types.d.ts.map +1 -1
  539. package/dist/fields/Textarea/types.js.map +1 -1
  540. package/dist/fields/Upload/Input.d.ts +28 -12
  541. package/dist/fields/Upload/Input.d.ts.map +1 -1
  542. package/dist/fields/Upload/Input.js +6 -5
  543. package/dist/fields/Upload/Input.js.map +1 -1
  544. package/dist/fields/Upload/index.d.ts +1 -1
  545. package/dist/fields/Upload/index.d.ts.map +1 -1
  546. package/dist/fields/Upload/index.js +26 -14
  547. package/dist/fields/Upload/index.js.map +1 -1
  548. package/dist/fields/Upload/index.scss +10 -3
  549. package/dist/fields/index.d.ts +5 -1
  550. package/dist/fields/index.d.ts.map +1 -1
  551. package/dist/fields/index.js.map +1 -1
  552. package/dist/fields/shared/index.d.ts +1 -25
  553. package/dist/fields/shared/index.d.ts.map +1 -1
  554. package/dist/fields/shared/index.js.map +1 -1
  555. package/dist/forms/FieldPropsProvider/index.d.ts +11 -11
  556. package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
  557. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  558. package/dist/forms/Form/createNestedClientFieldPath.d.ts +3 -0
  559. package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -0
  560. package/dist/forms/Form/{createNestedFieldPath.js → createNestedClientFieldPath.js} +2 -13
  561. package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -0
  562. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  563. package/dist/forms/Form/fieldReducer.js +11 -38
  564. package/dist/forms/Form/fieldReducer.js.map +1 -1
  565. package/dist/forms/Form/index.d.ts.map +1 -1
  566. package/dist/forms/Form/index.js +24 -29
  567. package/dist/forms/Form/index.js.map +1 -1
  568. package/dist/forms/Form/rowHelpers.d.ts +17 -0
  569. package/dist/forms/Form/rowHelpers.d.ts.map +1 -0
  570. package/dist/forms/Form/rowHelpers.js +24 -0
  571. package/dist/forms/Form/rowHelpers.js.map +1 -0
  572. package/dist/forms/Form/types.d.ts +12 -19
  573. package/dist/forms/Form/types.d.ts.map +1 -1
  574. package/dist/forms/Form/types.js.map +1 -1
  575. package/dist/forms/NullifyField/index.d.ts +3 -3
  576. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  577. package/dist/forms/NullifyField/index.js +5 -15
  578. package/dist/forms/NullifyField/index.js.map +1 -1
  579. package/dist/forms/RenderFields/RenderField.d.ts +13 -15
  580. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  581. package/dist/forms/RenderFields/RenderField.js +35 -16
  582. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  583. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  584. package/dist/forms/RenderFields/index.js +7 -14
  585. package/dist/forms/RenderFields/index.js.map +1 -1
  586. package/dist/forms/RenderFields/index.scss +8 -5
  587. package/dist/forms/RenderFields/types.d.ts +11 -12
  588. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  589. package/dist/forms/RenderFields/types.js.map +1 -1
  590. package/dist/forms/RowLabel/Context/index.d.ts +6 -6
  591. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  592. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  593. package/dist/forms/RowLabel/index.d.ts.map +1 -1
  594. package/dist/forms/RowLabel/index.js +8 -2
  595. package/dist/forms/RowLabel/index.js.map +1 -1
  596. package/dist/forms/RowLabel/types.d.ts +7 -8
  597. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  598. package/dist/forms/RowLabel/types.js.map +1 -1
  599. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts +2 -2
  600. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  601. package/dist/forms/WatchChildErrors/buildPathSegments.js +11 -10
  602. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  603. package/dist/forms/WatchChildErrors/index.d.ts +2 -2
  604. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  605. package/dist/forms/WatchChildErrors/index.js +3 -3
  606. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  607. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts +1 -0
  608. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  609. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +42 -20
  610. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  611. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js +1 -1
  612. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +1 -1
  613. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts +2 -2
  614. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts.map +1 -1
  615. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +1 -1
  616. package/dist/forms/buildStateFromSchema/index.d.ts +1 -0
  617. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  618. package/dist/forms/buildStateFromSchema/index.js +2 -1
  619. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  620. package/dist/forms/buildStateFromSchema/iterateFields.d.ts +2 -1
  621. package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
  622. package/dist/forms/buildStateFromSchema/iterateFields.js +2 -1
  623. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  624. package/dist/forms/useField/index.d.ts.map +1 -1
  625. package/dist/forms/useField/index.js +15 -8
  626. package/dist/forms/useField/index.js.map +1 -1
  627. package/dist/forms/useField/types.d.ts +3 -3
  628. package/dist/forms/useField/types.d.ts.map +1 -1
  629. package/dist/forms/useField/types.js.map +1 -1
  630. package/dist/forms/withCondition/WatchCondition.d.ts +1 -1
  631. package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
  632. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  633. package/dist/graphics/Account/index.d.ts.map +1 -1
  634. package/dist/graphics/Account/index.js +18 -8
  635. package/dist/graphics/Account/index.js.map +1 -1
  636. package/dist/hooks/useDelayedRender.d.ts.map +1 -1
  637. package/dist/hooks/useDelayedRender.js.map +1 -1
  638. package/dist/hooks/useHotkey.js +1 -1
  639. package/dist/hooks/useHotkey.js.map +1 -1
  640. package/dist/hooks/useIntersect.js +1 -1
  641. package/dist/hooks/useIntersect.js.map +1 -1
  642. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  643. package/dist/hooks/usePayloadAPI.js +6 -2
  644. package/dist/hooks/usePayloadAPI.js.map +1 -1
  645. package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
  646. package/dist/hooks/useThrottledEffect.js +1 -1
  647. package/dist/hooks/useThrottledEffect.js.map +1 -1
  648. package/dist/hooks/useUseAsTitle.d.ts +2 -3
  649. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  650. package/dist/hooks/useUseAsTitle.js +3 -3
  651. package/dist/hooks/useUseAsTitle.js.map +1 -1
  652. package/dist/icons/Calendar/index.d.ts.map +1 -1
  653. package/dist/icons/Calendar/index.js +8 -33
  654. package/dist/icons/Calendar/index.js.map +1 -1
  655. package/dist/icons/Calendar/index.scss +1 -1
  656. package/dist/icons/Check/index.d.ts.map +1 -1
  657. package/dist/icons/Check/index.js +8 -17
  658. package/dist/icons/Check/index.js.map +1 -1
  659. package/dist/icons/Check/index.scss +1 -1
  660. package/dist/icons/Chevron/index.js +5 -4
  661. package/dist/icons/Chevron/index.js.map +1 -1
  662. package/dist/icons/Chevron/index.scss +2 -5
  663. package/dist/icons/CloseMenu/index.d.ts.map +1 -1
  664. package/dist/icons/CloseMenu/index.js +8 -22
  665. package/dist/icons/CloseMenu/index.js.map +1 -1
  666. package/dist/icons/CloseMenu/index.scss +2 -2
  667. package/dist/icons/CodeBlock/index.d.ts.map +1 -1
  668. package/dist/icons/CodeBlock/index.js +8 -14
  669. package/dist/icons/CodeBlock/index.js.map +1 -1
  670. package/dist/icons/Copy/index.d.ts.map +1 -1
  671. package/dist/icons/Copy/index.js +12 -16
  672. package/dist/icons/Copy/index.js.map +1 -1
  673. package/dist/icons/Copy/index.scss +1 -1
  674. package/dist/icons/DragHandle/index.d.ts.map +1 -1
  675. package/dist/icons/DragHandle/index.js +19 -25
  676. package/dist/icons/DragHandle/index.js.map +1 -1
  677. package/dist/icons/DragHandle/index.scss +2 -0
  678. package/dist/icons/Edit/index.d.ts.map +1 -1
  679. package/dist/icons/Edit/index.js +8 -21
  680. package/dist/icons/Edit/index.js.map +1 -1
  681. package/dist/icons/Edit/index.scss +3 -3
  682. package/dist/icons/Line/index.d.ts.map +1 -1
  683. package/dist/icons/Line/index.js +7 -6
  684. package/dist/icons/Line/index.js.map +1 -1
  685. package/dist/icons/Line/index.scss +1 -1
  686. package/dist/icons/Link/index.d.ts.map +1 -1
  687. package/dist/icons/Link/index.js +11 -14
  688. package/dist/icons/Link/index.js.map +1 -1
  689. package/dist/icons/Link/index.scss +1 -1
  690. package/dist/icons/LogOut/index.d.ts.map +1 -1
  691. package/dist/icons/LogOut/index.js +9 -24
  692. package/dist/icons/LogOut/index.js.map +1 -1
  693. package/dist/icons/LogOut/index.scss +1 -1
  694. package/dist/icons/Menu/index.d.ts.map +1 -1
  695. package/dist/icons/Menu/index.js +10 -28
  696. package/dist/icons/Menu/index.js.map +1 -1
  697. package/dist/icons/Menu/index.scss +3 -2
  698. package/dist/icons/MinimizeMaximize/index.d.ts.map +1 -1
  699. package/dist/icons/MinimizeMaximize/index.js +8 -35
  700. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  701. package/dist/icons/More/index.d.ts.map +1 -1
  702. package/dist/icons/More/index.js +10 -13
  703. package/dist/icons/More/index.js.map +1 -1
  704. package/dist/icons/More/index.scss +1 -0
  705. package/dist/icons/Plus/index.d.ts.map +1 -1
  706. package/dist/icons/Plus/index.js +10 -20
  707. package/dist/icons/Plus/index.js.map +1 -1
  708. package/dist/icons/Plus/index.scss +1 -1
  709. package/dist/icons/Search/index.d.ts.map +1 -1
  710. package/dist/icons/Search/index.js +8 -18
  711. package/dist/icons/Search/index.js.map +1 -1
  712. package/dist/icons/Search/index.scss +1 -1
  713. package/dist/icons/Swap/index.d.ts.map +1 -1
  714. package/dist/icons/Swap/index.js +8 -28
  715. package/dist/icons/Swap/index.js.map +1 -1
  716. package/dist/icons/Swap/index.scss +2 -2
  717. package/dist/icons/X/index.d.ts.map +1 -1
  718. package/dist/icons/X/index.js +10 -21
  719. package/dist/icons/X/index.js.map +1 -1
  720. package/dist/icons/X/index.scss +3 -3
  721. package/dist/providers/Actions/SetViewActions/index.d.ts +3 -3
  722. package/dist/providers/Actions/SetViewActions/index.d.ts.map +1 -1
  723. package/dist/providers/Actions/SetViewActions/index.js +1 -1
  724. package/dist/providers/Actions/SetViewActions/index.js.map +1 -1
  725. package/dist/providers/Actions/index.d.ts +3 -3
  726. package/dist/providers/Actions/index.d.ts.map +1 -1
  727. package/dist/providers/Actions/index.js +2 -2
  728. package/dist/providers/Actions/index.js.map +1 -1
  729. package/dist/providers/Auth/index.d.ts +7 -3
  730. package/dist/providers/Auth/index.d.ts.map +1 -1
  731. package/dist/providers/Auth/index.js +53 -82
  732. package/dist/providers/Auth/index.js.map +1 -1
  733. package/dist/providers/Config/RenderComponent.d.ts +12 -0
  734. package/dist/providers/Config/RenderComponent.d.ts.map +1 -0
  735. package/dist/providers/Config/RenderComponent.js +69 -0
  736. package/dist/providers/Config/RenderComponent.js.map +1 -0
  737. package/dist/providers/Config/createClientConfig/collections.d.ts +24 -0
  738. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -0
  739. package/dist/providers/Config/createClientConfig/collections.js +173 -0
  740. package/dist/providers/Config/createClientConfig/collections.js.map +1 -0
  741. package/dist/providers/Config/createClientConfig/fields.d.ts +22 -0
  742. package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -0
  743. package/dist/providers/Config/createClientConfig/fields.js +299 -0
  744. package/dist/providers/Config/createClientConfig/fields.js.map +1 -0
  745. package/dist/providers/Config/createClientConfig/getComponent.d.ts +11 -0
  746. package/dist/providers/Config/createClientConfig/getComponent.d.ts.map +1 -0
  747. package/dist/providers/Config/createClientConfig/getComponent.js +29 -0
  748. package/dist/providers/Config/createClientConfig/getComponent.js.map +1 -0
  749. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts +11 -0
  750. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +1 -0
  751. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +86 -0
  752. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +1 -0
  753. package/dist/providers/Config/createClientConfig/globals.d.ts +22 -0
  754. package/dist/providers/Config/createClientConfig/globals.d.ts.map +1 -0
  755. package/dist/providers/Config/createClientConfig/globals.js +103 -0
  756. package/dist/providers/Config/createClientConfig/globals.js.map +1 -0
  757. package/dist/providers/Config/createClientConfig/index.d.ts +21 -0
  758. package/dist/providers/Config/createClientConfig/index.d.ts.map +1 -0
  759. package/dist/providers/Config/createClientConfig/index.js +98 -0
  760. package/dist/providers/Config/createClientConfig/index.js.map +1 -0
  761. package/dist/providers/Config/index.d.ts +10 -3
  762. package/dist/providers/Config/index.d.ts.map +1 -1
  763. package/dist/providers/Config/index.js +17 -3
  764. package/dist/providers/Config/index.js.map +1 -1
  765. package/dist/providers/DocumentInfo/index.d.ts +2 -2
  766. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  767. package/dist/providers/DocumentInfo/index.js +70 -28
  768. package/dist/providers/DocumentInfo/index.js.map +1 -1
  769. package/dist/providers/DocumentInfo/types.d.ts +6 -6
  770. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  771. package/dist/providers/DocumentInfo/types.js.map +1 -1
  772. package/dist/providers/FieldComponents/index.d.ts +4 -3
  773. package/dist/providers/FieldComponents/index.d.ts.map +1 -1
  774. package/dist/providers/FieldComponents/index.js +2 -3
  775. package/dist/providers/FieldComponents/index.js.map +1 -1
  776. package/dist/providers/ListInfo/index.d.ts +14 -14
  777. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  778. package/dist/providers/ListInfo/index.js.map +1 -1
  779. package/dist/providers/ListQuery/index.d.ts +17 -10
  780. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  781. package/dist/providers/ListQuery/index.js +9 -7
  782. package/dist/providers/ListQuery/index.js.map +1 -1
  783. package/dist/providers/Locale/index.d.ts.map +1 -1
  784. package/dist/providers/Locale/index.js +1 -1
  785. package/dist/providers/Locale/index.js.map +1 -1
  786. package/dist/providers/Params/index.d.ts +2 -1
  787. package/dist/providers/Params/index.d.ts.map +1 -1
  788. package/dist/providers/Params/index.js.map +1 -1
  789. package/dist/providers/Preferences/index.js +1 -1
  790. package/dist/providers/Preferences/index.js.map +1 -1
  791. package/dist/providers/Root/index.d.ts +3 -3
  792. package/dist/providers/Root/index.d.ts.map +1 -1
  793. package/dist/providers/Root/index.js +46 -46
  794. package/dist/providers/Root/index.js.map +1 -1
  795. package/dist/providers/SearchParams/index.d.ts +1 -1
  796. package/dist/providers/SearchParams/index.d.ts.map +1 -1
  797. package/dist/providers/SearchParams/index.js +1 -1
  798. package/dist/providers/SearchParams/index.js.map +1 -1
  799. package/dist/providers/Selection/index.js +1 -1
  800. package/dist/providers/Selection/index.js.map +1 -1
  801. package/dist/providers/ToastContainer/icons/Error.js +2 -2
  802. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  803. package/dist/providers/ToastContainer/icons/Info.js +2 -2
  804. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  805. package/dist/providers/ToastContainer/icons/Success.js +2 -2
  806. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  807. package/dist/providers/ToastContainer/icons/Warning.js +2 -2
  808. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  809. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  810. package/dist/providers/ToastContainer/index.js +3 -1
  811. package/dist/providers/ToastContainer/index.js.map +1 -1
  812. package/dist/providers/UploadEdits/index.d.ts +12 -0
  813. package/dist/providers/UploadEdits/index.d.ts.map +1 -0
  814. package/dist/providers/UploadEdits/index.js +30 -0
  815. package/dist/providers/UploadEdits/index.js.map +1 -0
  816. package/dist/scss/app.scss +8 -7
  817. package/dist/scss/colors.scss +76 -76
  818. package/dist/scss/toasts.scss +75 -45
  819. package/dist/scss/type.scss +15 -23
  820. package/dist/scss/vars.scss +27 -48
  821. package/dist/styles.css +1 -1
  822. package/dist/utilities/api.d.ts +2 -2
  823. package/dist/utilities/api.d.ts.map +1 -1
  824. package/dist/utilities/api.js +1 -1
  825. package/dist/utilities/api.js.map +1 -1
  826. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  827. package/dist/utilities/buildFieldSchemaMap/index.js +24 -0
  828. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  829. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  830. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +1 -0
  831. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  832. package/dist/utilities/buildFormState.d.ts.map +1 -1
  833. package/dist/utilities/buildFormState.js +23 -17
  834. package/dist/utilities/buildFormState.js.map +1 -1
  835. package/dist/utilities/flattenFieldMap.d.ts +2 -2
  836. package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
  837. package/dist/utilities/flattenFieldMap.js +8 -8
  838. package/dist/utilities/flattenFieldMap.js.map +1 -1
  839. package/dist/utilities/formatAdminURL.d.ts +9 -0
  840. package/dist/utilities/formatAdminURL.d.ts.map +1 -0
  841. package/dist/utilities/formatAdminURL.js +15 -0
  842. package/dist/utilities/formatAdminURL.js.map +1 -0
  843. package/dist/utilities/groupNavItems.d.ts +3 -3
  844. package/dist/utilities/groupNavItems.d.ts.map +1 -1
  845. package/dist/utilities/groupNavItems.js.map +1 -1
  846. package/dist/utilities/reduceFieldsToValuesWithValidation.js +1 -1
  847. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  848. package/package.json +23 -26
  849. package/dist/elements/HydrateClientUser/index.d.ts +0 -6
  850. package/dist/elements/HydrateClientUser/index.d.ts.map +0 -1
  851. package/dist/elements/HydrateClientUser/index.js.map +0 -1
  852. package/dist/elements/RenderCustomClientComponent/index.d.ts +0 -8
  853. package/dist/elements/RenderCustomClientComponent/index.d.ts.map +0 -1
  854. package/dist/elements/RenderCustomClientComponent/index.js +0 -19
  855. package/dist/elements/RenderCustomClientComponent/index.js.map +0 -1
  856. package/dist/elements/RenderCustomComponent/index.d.ts +0 -17
  857. package/dist/elements/RenderCustomComponent/index.d.ts.map +0 -1
  858. package/dist/elements/RenderCustomComponent/index.js +0 -26
  859. package/dist/elements/RenderCustomComponent/index.js.map +0 -1
  860. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +0 -3
  861. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +0 -1
  862. package/dist/elements/WhereBuilder/reduceFieldMap.js +0 -56
  863. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +0 -1
  864. package/dist/exports/client/chunk-3X2D2TP2.js +0 -30
  865. package/dist/fields/Checkbox/types.d.ts +0 -12
  866. package/dist/fields/Checkbox/types.d.ts.map +0 -1
  867. package/dist/fields/Checkbox/types.js.map +0 -1
  868. package/dist/fields/Row/types.d.ts +0 -12
  869. package/dist/fields/Row/types.d.ts.map +0 -1
  870. package/dist/fields/Row/types.js +0 -3
  871. package/dist/fields/Row/types.js.map +0 -1
  872. package/dist/fields/Upload/types.d.ts +0 -10
  873. package/dist/fields/Upload/types.d.ts.map +0 -1
  874. package/dist/fields/Upload/types.js +0 -3
  875. package/dist/fields/Upload/types.js.map +0 -1
  876. package/dist/forms/Form/createNestedFieldPath.d.ts +0 -5
  877. package/dist/forms/Form/createNestedFieldPath.d.ts.map +0 -1
  878. package/dist/forms/Form/createNestedFieldPath.js.map +0 -1
  879. package/dist/forms/Form/getDataByPath.d.ts +0 -3
  880. package/dist/forms/Form/getDataByPath.d.ts.map +0 -1
  881. package/dist/forms/Form/getDataByPath.js +0 -18
  882. package/dist/forms/Form/getDataByPath.js.map +0 -1
  883. package/dist/forms/Form/getSiblingData.d.ts +0 -3
  884. package/dist/forms/Form/getSiblingData.d.ts.map +0 -1
  885. package/dist/forms/Form/getSiblingData.js +0 -33
  886. package/dist/forms/Form/getSiblingData.js.map +0 -1
  887. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts +0 -9
  888. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +0 -1
  889. package/dist/providers/ComponentMap/buildComponentMap/actions.js +0 -45
  890. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +0 -1
  891. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +0 -17
  892. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +0 -1
  893. package/dist/providers/ComponentMap/buildComponentMap/collections.js +0 -117
  894. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +0 -1
  895. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +0 -18
  896. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +0 -1
  897. package/dist/providers/ComponentMap/buildComponentMap/fields.js +0 -672
  898. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +0 -1
  899. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +0 -18
  900. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +0 -1
  901. package/dist/providers/ComponentMap/buildComponentMap/globals.js +0 -80
  902. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +0 -1
  903. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +0 -16
  904. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +0 -1
  905. package/dist/providers/ComponentMap/buildComponentMap/index.js +0 -77
  906. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +0 -1
  907. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +0 -93
  908. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +0 -1
  909. package/dist/providers/ComponentMap/buildComponentMap/types.js +0 -3
  910. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +0 -1
  911. package/dist/providers/ComponentMap/index.d.ts +0 -24
  912. package/dist/providers/ComponentMap/index.d.ts.map +0 -1
  913. package/dist/providers/ComponentMap/index.js +0 -53
  914. package/dist/providers/ComponentMap/index.js.map +0 -1
  915. package/dist/providers/FormQueryParams/index.d.ts +0 -13
  916. package/dist/providers/FormQueryParams/index.d.ts.map +0 -1
  917. package/dist/providers/FormQueryParams/index.js +0 -53
  918. package/dist/providers/FormQueryParams/index.js.map +0 -1
  919. package/dist/providers/FormQueryParams/types.d.ts +0 -16
  920. package/dist/providers/FormQueryParams/types.d.ts.map +0 -1
  921. package/dist/providers/FormQueryParams/types.js +0 -3
  922. package/dist/providers/FormQueryParams/types.js.map +0 -1
  923. package/dist/utilities/buildComponentMap.d.ts +0 -4
  924. package/dist/utilities/buildComponentMap.d.ts.map +0 -1
  925. package/dist/utilities/buildComponentMap.js +0 -4
  926. package/dist/utilities/buildComponentMap.js.map +0 -1
  927. package/dist/utilities/reduceFieldsToValues.d.ts +0 -10
  928. package/dist/utilities/reduceFieldsToValues.d.ts.map +0 -1
  929. package/dist/utilities/reduceFieldsToValues.js +0 -22
  930. package/dist/utilities/reduceFieldsToValues.js.map +0 -1
  931. package/dist/utilities/unflatten.d.ts +0 -9
  932. package/dist/utilities/unflatten.d.ts.map +0 -1
  933. package/dist/utilities/unflatten.js +0 -58
  934. package/dist/utilities/unflatten.js.map +0 -1
  935. /package/dist/exports/client/{DatePicker-BN5AOAME.js.map → DatePicker-BEV27TZK.js.map} +0 -0
  936. /package/dist/fields/{Checkbox → Password}/types.js +0 -0
@@ -1,15 +1,14 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { isImage } from 'payload/shared';
4
- import React, { useCallback, useEffect, useState } from 'react';
3
+ import { useForm, useUploadEdits } from '@payloadcms/ui';
4
+ import { isImage, reduceFieldsToValues } from 'payload/shared';
5
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
6
+ import { toast } from 'sonner';
5
7
  import { FieldError } from '../../fields/FieldError/index.js';
6
8
  import { fieldBaseClass } from '../../fields/shared/index.js';
7
- import { useForm } from '../../forms/Form/context.js';
8
9
  import { useField } from '../../forms/useField/index.js';
9
10
  import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
10
- import { useFormQueryParams } from '../../providers/FormQueryParams/index.js';
11
11
  import { useTranslation } from '../../providers/Translation/index.js';
12
- import { reduceFieldsToValues } from '../../utilities/reduceFieldsToValues.js';
13
12
  import { Button } from '../Button/index.js';
14
13
  import { Drawer, DrawerToggler } from '../Drawer/index.js';
15
14
  import { Dropzone } from '../Dropzone/index.js';
@@ -62,18 +61,18 @@ export const Upload = (props)=>{
62
61
  const [fileSrc, setFileSrc] = useState(null);
63
62
  const { t } = useTranslation();
64
63
  const { setModified } = useForm();
65
- const { dispatchFormQueryParams, formQueryParams } = useFormQueryParams();
64
+ const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits();
66
65
  const [doc, setDoc] = useState(reduceFieldsToValues(initialState || {}, true));
67
66
  const { docPermissions } = useDocumentInfo();
68
67
  const { errorMessage, setValue, showError, value } = useField({
69
68
  path: 'file',
70
69
  validate
71
70
  });
72
- const [_crop, setCrop] = useState({
73
- x: 0,
74
- y: 0
75
- });
76
- const handleFileChange = React.useCallback((newFile)=>{
71
+ const [showUrlInput, setShowUrlInput] = useState(false);
72
+ const [fileUrl, setFileUrl] = useState('');
73
+ const cursorPositionRef = useRef(null);
74
+ const urlInputRef = useRef(null);
75
+ const handleFileChange = useCallback((newFile)=>{
77
76
  if (newFile instanceof File) {
78
77
  const fileReader = new FileReader();
79
78
  fileReader.onload = (e)=>{
@@ -85,6 +84,7 @@ export const Upload = (props)=>{
85
84
  fileReader.readAsDataURL(newFile);
86
85
  }
87
86
  setValue(newFile);
87
+ setShowUrlInput(false);
88
88
  if (typeof onChange === 'function') {
89
89
  onChange(newFile);
90
90
  }
@@ -94,6 +94,8 @@ export const Upload = (props)=>{
94
94
  ]);
95
95
  const handleFileNameChange = (e)=>{
96
96
  const updatedFileName = e.target.value;
97
+ const cursorPosition = e.target.selectionStart;
98
+ cursorPositionRef.current = cursorPosition;
97
99
  if (value) {
98
100
  const fileValue = value;
99
101
  // Creating a new File object with updated properties
@@ -105,7 +107,16 @@ export const Upload = (props)=>{
105
107
  handleFileChange(newFile);
106
108
  }
107
109
  };
108
- const handleFileSelection = React.useCallback((files)=>{
110
+ useEffect(()=>{
111
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
112
+ const inputElement = document.querySelector(`.${baseClass}__filename`);
113
+ if (inputElement && cursorPositionRef.current !== null) {
114
+ inputElement.setSelectionRange(cursorPositionRef.current, cursorPositionRef.current);
115
+ }
116
+ }, [
117
+ value
118
+ ]);
119
+ const handleFileSelection = useCallback((files)=>{
109
120
  const fileToUpload = files?.[0];
110
121
  handleFileChange(fileToUpload);
111
122
  }, [
@@ -115,34 +126,57 @@ export const Upload = (props)=>{
115
126
  setReplacingFile(true);
116
127
  handleFileChange(null);
117
128
  setFileSrc('');
129
+ setFileUrl('');
130
+ setDoc({});
131
+ resetUploadEdits();
132
+ setShowUrlInput(false);
118
133
  }, [
119
- handleFileChange
134
+ handleFileChange,
135
+ resetUploadEdits
120
136
  ]);
121
- const onEditsSave = React.useCallback(({ crop, focalPosition })=>{
122
- setCrop({
123
- x: crop.x || 0,
124
- y: crop.y || 0
125
- });
137
+ const onEditsSave = useCallback((args)=>{
126
138
  setModified(true);
127
- dispatchFormQueryParams({
128
- type: 'SET',
129
- params: {
130
- uploadEdits: crop || focalPosition ? {
131
- crop: crop || null,
132
- focalPoint: focalPosition ? focalPosition : null
133
- } : null
134
- }
135
- });
139
+ updateUploadEdits(args);
136
140
  }, [
137
- dispatchFormQueryParams,
138
- setModified
141
+ setModified,
142
+ updateUploadEdits
139
143
  ]);
144
+ const handlePasteUrlClick = ()=>{
145
+ setShowUrlInput((prev)=>!prev);
146
+ };
147
+ const handleUrlSubmit = async ()=>{
148
+ if (fileUrl) {
149
+ try {
150
+ const response = await fetch(fileUrl);
151
+ const data = await response.blob();
152
+ // Extract the file name from the URL
153
+ const fileName = fileUrl.split('/').pop();
154
+ // Create a new File object from the Blob data
155
+ const file = new File([
156
+ data
157
+ ], fileName, {
158
+ type: data.type
159
+ });
160
+ handleFileChange(file);
161
+ } catch (e) {
162
+ toast.error(e.message);
163
+ }
164
+ }
165
+ };
140
166
  useEffect(()=>{
141
167
  setDoc(reduceFieldsToValues(initialState || {}, true));
142
168
  setReplacingFile(false);
143
169
  }, [
144
170
  initialState
145
171
  ]);
172
+ useEffect(()=>{
173
+ if (showUrlInput && urlInputRef.current) {
174
+ urlInputRef.current.focus() // Focus on the remote-url input field when showUrlInput is true
175
+ ;
176
+ }
177
+ }, [
178
+ showUrlInput
179
+ ]);
146
180
  const canRemoveUpload = docPermissions?.update?.permission && 'delete' in docPermissions && docPermissions?.delete?.permission;
147
181
  const hasImageSizes = uploadConfig?.imageSizes?.length > 0;
148
182
  const hasResizeOptions = Boolean(uploadConfig?.resizeOptions);
@@ -173,10 +207,47 @@ export const Upload = (props)=>{
173
207
  (!doc.filename || replacingFile) && /*#__PURE__*/ _jsxs("div", {
174
208
  className: `${baseClass}__upload`,
175
209
  children: [
176
- !value && /*#__PURE__*/ _jsx(Dropzone, {
210
+ !value && !showUrlInput && /*#__PURE__*/ _jsx(Dropzone, {
177
211
  className: `${baseClass}__dropzone`,
178
212
  mimeTypes: uploadConfig?.mimeTypes,
179
- onChange: handleFileSelection
213
+ onChange: handleFileSelection,
214
+ onPasteUrlClick: handlePasteUrlClick
215
+ }),
216
+ showUrlInput && /*#__PURE__*/ _jsxs(React.Fragment, {
217
+ children: [
218
+ /*#__PURE__*/ _jsxs("div", {
219
+ className: `${baseClass}__remote-file-wrap`,
220
+ children: [
221
+ /*#__PURE__*/ _jsx("input", {
222
+ className: `${baseClass}__remote-file`,
223
+ onChange: (e)=>{
224
+ setFileUrl(e.target.value);
225
+ },
226
+ ref: urlInputRef,
227
+ type: "text",
228
+ value: fileUrl
229
+ }),
230
+ /*#__PURE__*/ _jsx("div", {
231
+ className: `${baseClass}__add-file-wrap`,
232
+ children: /*#__PURE__*/ _jsx("button", {
233
+ className: `${baseClass}__add-file`,
234
+ onClick: handleUrlSubmit,
235
+ type: "button",
236
+ children: t('upload:addFile')
237
+ })
238
+ })
239
+ ]
240
+ }),
241
+ /*#__PURE__*/ _jsx(Button, {
242
+ buttonStyle: "icon-label",
243
+ className: `${baseClass}__remove`,
244
+ icon: "x",
245
+ iconStyle: "with-border",
246
+ onClick: handleFileRemoval,
247
+ round: true,
248
+ tooltip: t('general:cancel')
249
+ })
250
+ ]
180
251
  }),
181
252
  value && fileSrc && /*#__PURE__*/ _jsxs(React.Fragment, {
182
253
  children: [
@@ -222,12 +293,12 @@ export const Upload = (props)=>{
222
293
  slug: editDrawerSlug,
223
294
  children: /*#__PURE__*/ _jsx(EditUpload, {
224
295
  fileName: value?.name || doc?.filename,
225
- fileSrc: fileSrc || doc?.url,
296
+ fileSrc: doc?.url || fileSrc,
226
297
  imageCacheTag: doc.updatedAt,
227
- initialCrop: formQueryParams?.uploadEdits?.crop ?? {},
298
+ initialCrop: uploadEdits?.crop ?? undefined,
228
299
  initialFocalPoint: {
229
- x: formQueryParams?.uploadEdits?.focalPoint.x || doc.focalX || 50,
230
- y: formQueryParams?.uploadEdits?.focalPoint.y || doc.focalY || 50
300
+ x: uploadEdits?.focalPoint?.x || doc.focalX || 50,
301
+ y: uploadEdits?.focalPoint?.y || doc.focalY || 50
231
302
  },
232
303
  onSave: onEditsSave,
233
304
  showCrop: showCrop,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig } from 'payload'\n\nimport { isImage } from 'payload/shared'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useFormQueryParams } from '../../providers/FormQueryParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { reduceFieldsToValues } from '../../utilities/reduceFieldsToValues.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n customActions?: React.ReactNode[]\n enableAdjustments: boolean\n enablePreviewSizes: boolean\n mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n\n const fileTypeIsAdjustable = isImage(mimeType) && mimeType !== 'image/svg+xml'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) return null\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <DrawerToggler className={`${baseClass}__previewSizes`} slug={sizePreviewSlug}>\n {t('upload:previewSizes')}\n </DrawerToggler>\n )}\n {enableAdjustments && (\n <DrawerToggler className={`${baseClass}__edit`} slug={editDrawerSlug}>\n {t('upload:editImage')}\n </DrawerToggler>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n collectionSlug: string\n customActions?: React.ReactNode[]\n initialState?: FormState\n onChange?: (file?: File) => void\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { collectionSlug, customActions, initialState, onChange, uploadConfig } = props\n\n const [replacingFile, setReplacingFile] = useState(false)\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { dispatchFormQueryParams, formQueryParams } = useFormQueryParams()\n const [doc, setDoc] = useState(reduceFieldsToValues(initialState || {}, true))\n const { docPermissions } = useDocumentInfo()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n const [_crop, setCrop] = useState({ x: 0, y: 0 })\n\n const handleFileChange = React.useCallback(\n (newFile: File) => {\n if (newFile instanceof File) {\n const fileReader = new FileReader()\n fileReader.onload = (e) => {\n const imgSrc = e.target?.result\n\n if (typeof imgSrc === 'string') {\n setFileSrc(imgSrc)\n }\n }\n fileReader.readAsDataURL(newFile)\n }\n\n setValue(newFile)\n\n if (typeof onChange === 'function') {\n onChange(newFile)\n }\n },\n [onChange, setValue],\n )\n\n const handleFileNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n if (value) {\n const fileValue = value\n // Creating a new File object with updated properties\n const newFile = new File([fileValue], updatedFileName, { type: fileValue.type })\n handleFileChange(newFile)\n }\n }\n\n const handleFileSelection = React.useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange(fileToUpload)\n },\n [handleFileChange],\n )\n\n const handleFileRemoval = useCallback(() => {\n setReplacingFile(true)\n handleFileChange(null)\n setFileSrc('')\n }, [handleFileChange])\n\n const onEditsSave = React.useCallback(\n ({ crop, focalPosition }) => {\n setCrop({\n x: crop.x || 0,\n y: crop.y || 0,\n })\n\n setModified(true)\n dispatchFormQueryParams({\n type: 'SET',\n params: {\n uploadEdits:\n crop || focalPosition\n ? {\n crop: crop || null,\n focalPoint: focalPosition ? focalPosition : null,\n }\n : null,\n },\n })\n },\n [dispatchFormQueryParams, setModified],\n )\n\n useEffect(() => {\n setDoc(reduceFieldsToValues(initialState || {}, true))\n setReplacingFile(false)\n }, [initialState])\n\n const canRemoveUpload =\n docPermissions?.update?.permission &&\n 'delete' in docPermissions &&\n docPermissions?.delete?.permission\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {doc.filename && !replacingFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={doc}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasImageSizes}\n imageCacheTag={doc.updatedAt}\n uploadConfig={uploadConfig}\n />\n )}\n {(!doc.filename || replacingFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && (\n <Dropzone\n className={`${baseClass}__dropzone`}\n mimeTypes={uploadConfig?.mimeTypes}\n onChange={handleFileSelection}\n />\n )}\n\n {value && fileSrc && (\n <React.Fragment>\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n <input\n className={`${baseClass}__filename`}\n onChange={handleFileNameChange}\n type=\"text\"\n value={value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasImageSizes && doc.filename && !replacingFile}\n mimeType={value.type}\n />\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n </div>\n )}\n {(value || doc.filename) && (\n <Drawer Header={null} slug={editDrawerSlug}>\n <EditUpload\n fileName={value?.name || doc?.filename}\n fileSrc={fileSrc || doc?.url}\n imageCacheTag={doc.updatedAt}\n initialCrop={formQueryParams?.uploadEdits?.crop ?? {}}\n initialFocalPoint={{\n x: formQueryParams?.uploadEdits?.focalPoint.x || doc.focalX || 50,\n y: formQueryParams?.uploadEdits?.focalPoint.y || doc.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </Drawer>\n )}\n {doc && hasImageSizes && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: doc?.filename })}\n >\n <PreviewSizes doc={doc} imageCacheTag={doc.updatedAt} uploadConfig={uploadConfig} />\n </Drawer>\n )}\n </div>\n )\n}\n"],"names":["isImage","React","useCallback","useEffect","useState","FieldError","fieldBaseClass","useForm","useField","useDocumentInfo","useFormQueryParams","useTranslation","reduceFieldsToValues","Button","Drawer","DrawerToggler","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","UploadActions","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","fileTypeIsAdjustable","length","div","className","Fragment","slug","map","CustomAction","i","Upload","props","collectionSlug","initialState","onChange","uploadConfig","replacingFile","setReplacingFile","fileSrc","setFileSrc","setModified","dispatchFormQueryParams","formQueryParams","doc","setDoc","docPermissions","errorMessage","setValue","showError","path","_crop","setCrop","x","y","handleFileChange","newFile","File","fileReader","FileReader","onload","e","imgSrc","target","result","readAsDataURL","handleFileNameChange","updatedFileName","fileValue","type","handleFileSelection","files","fileToUpload","handleFileRemoval","onEditsSave","crop","focalPosition","params","uploadEdits","focalPoint","canRemoveUpload","update","permission","delete","hasImageSizes","imageSizes","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","showCrop","showFocalPoint","filter","join","message","filename","customUploadActions","handleRemove","imageCacheTag","updatedAt","mimeTypes","input","name","buttonStyle","icon","iconStyle","onClick","round","tooltip","Header","fileName","url","initialCrop","initialFocalPoint","focalX","focalY","onSave","hoverTitle","title","label"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { useForm, useUploadEdits } from '@payloadcms/ui'\nimport { isImage, reduceFieldsToValues } from 'payload/shared'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n customActions?: React.ReactNode[]\n enableAdjustments: boolean\n enablePreviewSizes: boolean\n mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n\n const fileTypeIsAdjustable = isImage(mimeType) && mimeType !== 'image/svg+xml'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) return null\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <DrawerToggler className={`${baseClass}__previewSizes`} slug={sizePreviewSlug}>\n {t('upload:previewSizes')}\n </DrawerToggler>\n )}\n {enableAdjustments && (\n <DrawerToggler className={`${baseClass}__edit`} slug={editDrawerSlug}>\n {t('upload:editImage')}\n </DrawerToggler>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n collectionSlug: string\n customActions?: React.ReactNode[]\n initialState?: FormState\n onChange?: (file?: File) => void\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { collectionSlug, customActions, initialState, onChange, uploadConfig } = props\n\n const [replacingFile, setReplacingFile] = useState(false)\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n const [doc, setDoc] = useState(reduceFieldsToValues(initialState || {}, true))\n const { docPermissions } = useDocumentInfo()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [showUrlInput, setShowUrlInput] = useState(false)\n const [fileUrl, setFileUrl] = useState<string>('')\n\n const cursorPositionRef = useRef(null)\n const urlInputRef = useRef<HTMLInputElement>(null)\n\n const handleFileChange = useCallback(\n (newFile: File) => {\n if (newFile instanceof File) {\n const fileReader = new FileReader()\n fileReader.onload = (e) => {\n const imgSrc = e.target?.result\n\n if (typeof imgSrc === 'string') {\n setFileSrc(imgSrc)\n }\n }\n fileReader.readAsDataURL(newFile)\n }\n\n setValue(newFile)\n setShowUrlInput(false)\n\n if (typeof onChange === 'function') {\n onChange(newFile)\n }\n },\n [onChange, setValue],\n )\n\n const handleFileNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n const cursorPosition = e.target.selectionStart\n\n cursorPositionRef.current = cursorPosition\n\n if (value) {\n const fileValue = value\n // Creating a new File object with updated properties\n const newFile = new File([fileValue], updatedFileName, { type: fileValue.type })\n handleFileChange(newFile)\n }\n }\n\n useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const inputElement = document.querySelector(`.${baseClass}__filename`) as HTMLInputElement\n if (inputElement && cursorPositionRef.current !== null) {\n inputElement.setSelectionRange(cursorPositionRef.current, cursorPositionRef.current)\n }\n }, [value])\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange(fileToUpload)\n },\n [handleFileChange],\n )\n\n const handleFileRemoval = useCallback(() => {\n setReplacingFile(true)\n handleFileChange(null)\n setFileSrc('')\n setFileUrl('')\n setDoc({})\n resetUploadEdits()\n setShowUrlInput(false)\n }, [handleFileChange, resetUploadEdits])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n const handlePasteUrlClick = () => {\n setShowUrlInput((prev) => !prev)\n }\n\n const handleUrlSubmit = async () => {\n if (fileUrl) {\n try {\n const response = await fetch(fileUrl)\n const data = await response.blob()\n\n // Extract the file name from the URL\n const fileName = fileUrl.split('/').pop()\n\n // Create a new File object from the Blob data\n const file = new File([data], fileName, { type: data.type })\n handleFileChange(file)\n } catch (e) {\n toast.error(e.message)\n }\n }\n }\n\n useEffect(() => {\n setDoc(reduceFieldsToValues(initialState || {}, true))\n setReplacingFile(false)\n }, [initialState])\n\n useEffect(() => {\n if (showUrlInput && urlInputRef.current) {\n urlInputRef.current.focus() // Focus on the remote-url input field when showUrlInput is true\n }\n }, [showUrlInput])\n\n const canRemoveUpload =\n docPermissions?.update?.permission &&\n 'delete' in docPermissions &&\n docPermissions?.delete?.permission\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {doc.filename && !replacingFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={doc}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasImageSizes}\n imageCacheTag={doc.updatedAt}\n uploadConfig={uploadConfig}\n />\n )}\n {(!doc.filename || replacingFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && !showUrlInput && (\n <Dropzone\n className={`${baseClass}__dropzone`}\n mimeTypes={uploadConfig?.mimeTypes}\n onChange={handleFileSelection}\n onPasteUrlClick={handlePasteUrlClick}\n />\n )}\n {showUrlInput && (\n <React.Fragment>\n <div className={`${baseClass}__remote-file-wrap`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__remote-file`}\n onChange={(e) => {\n setFileUrl(e.target.value)\n }}\n ref={urlInputRef}\n type=\"text\"\n value={fileUrl}\n />\n <div className={`${baseClass}__add-file-wrap`}>\n <button\n className={`${baseClass}__add-file`}\n onClick={handleUrlSubmit}\n type=\"button\"\n >\n {t('upload:addFile')}\n </button>\n </div>\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__filename`}\n onChange={handleFileNameChange}\n type=\"text\"\n value={value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasImageSizes && doc.filename && !replacingFile}\n mimeType={value.type}\n />\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n </div>\n )}\n {(value || doc.filename) && (\n <Drawer Header={null} slug={editDrawerSlug}>\n <EditUpload\n fileName={value?.name || doc?.filename}\n fileSrc={doc?.url || fileSrc}\n imageCacheTag={doc.updatedAt}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || doc.focalX || 50,\n y: uploadEdits?.focalPoint?.y || doc.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </Drawer>\n )}\n {doc && hasImageSizes && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: doc?.filename })}\n >\n <PreviewSizes doc={doc} imageCacheTag={doc.updatedAt} uploadConfig={uploadConfig} />\n </Drawer>\n )}\n </div>\n )\n}\n"],"names":["useForm","useUploadEdits","isImage","reduceFieldsToValues","React","useCallback","useEffect","useRef","useState","toast","FieldError","fieldBaseClass","useField","useDocumentInfo","useTranslation","Button","Drawer","DrawerToggler","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","UploadActions","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","fileTypeIsAdjustable","length","div","className","Fragment","slug","map","CustomAction","i","Upload","props","collectionSlug","initialState","onChange","uploadConfig","replacingFile","setReplacingFile","fileSrc","setFileSrc","setModified","resetUploadEdits","updateUploadEdits","uploadEdits","doc","setDoc","docPermissions","errorMessage","setValue","showError","path","showUrlInput","setShowUrlInput","fileUrl","setFileUrl","cursorPositionRef","urlInputRef","handleFileChange","newFile","File","fileReader","FileReader","onload","e","imgSrc","target","result","readAsDataURL","handleFileNameChange","updatedFileName","cursorPosition","selectionStart","current","fileValue","type","inputElement","document","querySelector","setSelectionRange","handleFileSelection","files","fileToUpload","handleFileRemoval","onEditsSave","args","handlePasteUrlClick","prev","handleUrlSubmit","response","fetch","data","blob","fileName","split","pop","file","error","message","focus","canRemoveUpload","update","permission","delete","hasImageSizes","imageSizes","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","focalPoint","crop","showCrop","showFocalPoint","filter","join","filename","customUploadActions","handleRemove","imageCacheTag","updatedAt","mimeTypes","onPasteUrlClick","input","ref","button","onClick","buttonStyle","icon","iconStyle","round","tooltip","name","Header","url","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","title","label"],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  position: relative;
5
5
  margin-bottom: var(--base);
6
6
  background: var(--theme-elevation-50);
7
+ border-radius: var(--style-radius-s);
7
8
 
8
9
  &__upload {
9
10
  display: flex;
@@ -35,7 +36,8 @@
35
36
  place-self: flex-start;
36
37
  }
37
38
 
38
- &__file-adjustments {
39
+ &__file-adjustments,
40
+ &__remote-file-wrap {
39
41
  padding: $baseline;
40
42
  width: 100%;
41
43
  display: flex;
@@ -43,12 +45,14 @@
43
45
  gap: calc(var(--base) / 2);
44
46
  }
45
47
 
46
- &__filename {
48
+ &__filename,
49
+ &__remote-file {
47
50
  @include formInput;
48
51
  background-color: var(--theme-bg);
49
52
  }
50
53
 
51
- &__upload-actions {
54
+ &__upload-actions,
55
+ &__add-file-wrap {
52
56
  display: flex;
53
57
  gap: calc(var(--base) / 2);
54
58
  flex-wrap: wrap;
@@ -57,7 +61,7 @@
57
61
  cursor: pointer;
58
62
  background-color: var(--theme-elevation-150);
59
63
  border: none;
60
- border-radius: $style-radius-s;
64
+ border-radius: $style-radius-m;
61
65
  padding: base(0.25) base(0.5);
62
66
  text-wrap: nowrap;
63
67
  overflow: hidden;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAuD,MAAM,OAAO,CAAA;AAG3E,OAAO,KAAK,EAAE,KAAK,EAAqB,MAAM,YAAY,CAAA;AAM1D,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAwU7C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAuD,MAAM,OAAO,CAAA;AAG3E,OAAO,KAAK,EAAE,KAAK,EAAqB,MAAM,YAAY,CAAA;AAM1D,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgV7C,CAAA"}
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import qs from 'qs';
3
+ import * as qs from 'qs-esm';
4
4
  import React, { useCallback, useEffect, useReducer, useState } from 'react';
5
5
  import { useDebounce } from '../../../../hooks/useDebounce.js';
6
6
  import { useConfig } from '../../../../providers/Config/index.js';
@@ -12,7 +12,7 @@ const baseClass = 'condition-value-relationship';
12
12
  const maxResultsPerRequest = 10;
13
13
  export const RelationshipField = (props)=>{
14
14
  const { admin: { isSortable } = {}, disabled, hasMany, onChange, relationTo, value } = props;
15
- const { collections, routes: { api }, serverURL } = useConfig();
15
+ const { config: { collections, routes: { api }, serverURL } } = useConfig();
16
16
  const hasMultipleRelations = Array.isArray(relationTo);
17
17
  const [options, dispatchOptions] = useReducer(optionsReducer, []);
18
18
  const [search, setSearch] = useState('');
@@ -48,10 +48,10 @@ export const RelationshipField = (props)=>{
48
48
  i18n
49
49
  ]);
50
50
  const loadRelationOptions = React.useCallback(async ({ abortController, relationSlug })=>{
51
- const collection = collections.find((coll)=>coll.slug === relationSlug);
52
- const fieldToSearch = collection?.admin?.useAsTitle || 'id';
53
- const pageIndex = nextPageByRelationshipRef.current.get(relationSlug);
54
- if (partiallyLoadedRelationshipSlugs.current.includes(relationSlug)) {
51
+ if (relationSlug && partiallyLoadedRelationshipSlugs.current.includes(relationSlug)) {
52
+ const collection = collections.find((coll)=>coll.slug === relationSlug);
53
+ const fieldToSearch = collection?.admin?.useAsTitle || 'id';
54
+ const pageIndex = nextPageByRelationshipRef.current.get(relationSlug);
55
55
  const query = {
56
56
  depth: 0,
57
57
  limit: maxResultsPerRequest,
@@ -129,7 +129,7 @@ export const RelationshipField = (props)=>{
129
129
  options.forEach((opt)=>{
130
130
  if (opt.options) {
131
131
  opt.options.some((subOpt)=>{
132
- if (subOpt?.value === val.value) {
132
+ if (subOpt?.value == val.value) {
133
133
  matchedOption = subOpt;
134
134
  return true;
135
135
  }
@@ -139,7 +139,7 @@ export const RelationshipField = (props)=>{
139
139
  });
140
140
  return matchedOption;
141
141
  }
142
- return options.find((opt)=>opt.value === val);
142
+ return options.find((opt)=>opt.value == val);
143
143
  });
144
144
  }
145
145
  return undefined;
@@ -150,7 +150,7 @@ export const RelationshipField = (props)=>{
150
150
  options.forEach((opt)=>{
151
151
  if (opt?.options) {
152
152
  opt.options.some((subOpt)=>{
153
- if (subOpt?.value === valueWithRelation.value) {
153
+ if (subOpt?.value == valueWithRelation.value) {
154
154
  matchedOption = subOpt;
155
155
  return true;
156
156
  }
@@ -160,7 +160,7 @@ export const RelationshipField = (props)=>{
160
160
  });
161
161
  return matchedOption;
162
162
  }
163
- return options.find((opt)=>opt.value === value);
163
+ return options.find((opt)=>opt.value == value);
164
164
  }
165
165
  return undefined;
166
166
  }, [
@@ -225,7 +225,13 @@ export const RelationshipField = (props)=>{
225
225
  });
226
226
  return ()=>{
227
227
  abortControllers.forEach((controller)=>{
228
- if (controller.signal) controller.abort();
228
+ if (controller.signal) {
229
+ try {
230
+ controller.abort();
231
+ } catch (error) {
232
+ // swallow error
233
+ }
234
+ }
229
235
  });
230
236
  };
231
237
  }, [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport qs from 'qs'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { Option } from '../../../ReactSelect/types.js'\nimport type { Props, ValueWithRelation } from './types.js'\n\nimport { useDebounce } from '../../../../hooks/useDebounce.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { ReactSelect } from '../../../ReactSelect/index.js'\nimport './index.scss'\nimport optionsReducer from './optionsReducer.js'\n\nconst baseClass = 'condition-value-relationship'\n\nconst maxResultsPerRequest = 10\n\nexport const RelationshipField: React.FC<Props> = (props) => {\n const { admin: { isSortable } = {}, disabled, hasMany, onChange, relationTo, value } = props\n\n const {\n collections,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const hasMultipleRelations = Array.isArray(relationTo)\n const [options, dispatchOptions] = useReducer(optionsReducer, [])\n const [search, setSearch] = useState('')\n const [errorLoading, setErrorLoading] = useState('')\n const [hasLoadedFirstOptions, setHasLoadedFirstOptions] = useState(false)\n const debouncedSearch = useDebounce(search, 300)\n const { i18n, t } = useTranslation()\n const relationSlugs = hasMultipleRelations ? relationTo : [relationTo]\n const initialRelationMap = () => {\n const map: Map<string, number> = new Map()\n relationSlugs.forEach((relation) => {\n map.set(relation, 1)\n })\n return map\n }\n const nextPageByRelationshipRef = React.useRef<Map<string, number>>(initialRelationMap())\n const partiallyLoadedRelationshipSlugs = React.useRef<string[]>(relationSlugs)\n\n const addOptions = useCallback(\n (data, relation) => {\n const collection = collections.find((coll) => coll.slug === relation)\n dispatchOptions({ type: 'ADD', collection, data, hasMultipleRelations, i18n, relation })\n },\n [collections, hasMultipleRelations, i18n],\n )\n\n const loadRelationOptions = React.useCallback(\n async ({\n abortController,\n relationSlug,\n }: {\n abortController: AbortController\n relationSlug: string\n }) => {\n const collection = collections.find((coll) => coll.slug === relationSlug)\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n const pageIndex = nextPageByRelationshipRef.current.get(relationSlug)\n\n if (partiallyLoadedRelationshipSlugs.current.includes(relationSlug)) {\n const query: {\n depth?: number\n limit?: number\n page?: number\n where: Where\n } = {\n depth: 0,\n limit: maxResultsPerRequest,\n page: pageIndex,\n where: {\n and: [],\n },\n }\n\n if (debouncedSearch) {\n query.where.and.push({\n [fieldToSearch]: {\n like: debouncedSearch,\n },\n })\n }\n\n try {\n const response = await fetch(\n `${serverURL}${api}/${relationSlug}${qs.stringify(query, { addQueryPrefix: true })}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n signal: abortController.signal,\n },\n )\n\n if (response.ok) {\n const data: PaginatedDocs = await response.json()\n if (data.docs.length > 0) {\n addOptions(data, relationSlug)\n\n if (!debouncedSearch) {\n if (data.nextPage) {\n nextPageByRelationshipRef.current.set(relationSlug, data.nextPage)\n } else {\n partiallyLoadedRelationshipSlugs.current =\n partiallyLoadedRelationshipSlugs.current.filter(\n (partiallyLoadedRelation) => partiallyLoadedRelation !== relationSlug,\n )\n }\n }\n }\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n } catch (e) {\n if (!abortController.signal.aborted) {\n console.error(e)\n }\n }\n }\n\n setHasLoadedFirstOptions(true)\n },\n [addOptions, api, collections, debouncedSearch, i18n.language, serverURL, t],\n )\n\n const loadMoreOptions = React.useCallback(() => {\n if (partiallyLoadedRelationshipSlugs.current.length > 0) {\n const abortController = new AbortController()\n void loadRelationOptions({\n abortController,\n relationSlug: partiallyLoadedRelationshipSlugs.current[0],\n })\n }\n }, [loadRelationOptions])\n\n const findOptionsByValue = useCallback((): Option | Option[] => {\n if (value) {\n if (hasMany) {\n if (Array.isArray(value)) {\n return value.map((val) => {\n if (hasMultipleRelations) {\n let matchedOption: Option\n\n options.forEach((opt) => {\n if (opt.options) {\n opt.options.some((subOpt) => {\n if (subOpt?.value === val.value) {\n matchedOption = subOpt\n return true\n }\n\n return false\n })\n }\n })\n\n return matchedOption\n }\n\n return options.find((opt) => opt.value === val)\n })\n }\n\n return undefined\n }\n\n if (hasMultipleRelations) {\n let matchedOption: Option\n\n const valueWithRelation = value as ValueWithRelation\n\n options.forEach((opt) => {\n if (opt?.options) {\n opt.options.some((subOpt) => {\n if (subOpt?.value === valueWithRelation.value) {\n matchedOption = subOpt\n return true\n }\n return false\n })\n }\n })\n\n return matchedOption\n }\n\n return options.find((opt) => opt.value === value)\n }\n\n return undefined\n }, [hasMany, hasMultipleRelations, value, options])\n\n const handleInputChange = useCallback(\n (newSearch) => {\n if (search !== newSearch) {\n setSearch(newSearch)\n }\n },\n [search],\n )\n\n const addOptionByID = useCallback(\n async (id, relation) => {\n if (!errorLoading && id !== 'null' && id && relation) {\n const response = await fetch(`${serverURL}${api}/${relation}/${id}?depth=0`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (response.ok) {\n const data = await response.json()\n addOptions({ docs: [data] }, relation)\n } else {\n // eslint-disable-next-line no-console\n console.error(t('error:loadingDocument', { id }))\n }\n }\n },\n [i18n, addOptions, api, errorLoading, serverURL, t],\n )\n\n /**\n * 1. Trigger initial relationship options fetch\n * 2. When search changes, loadRelationOptions will\n * fire off again\n */\n useEffect(() => {\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const abortControllers: AbortController[] = []\n relations.forEach((relation) => {\n const abortController = new AbortController()\n void loadRelationOptions({\n abortController,\n relationSlug: relation,\n })\n abortControllers.push(abortController)\n })\n\n return () => {\n abortControllers.forEach((controller) => {\n if (controller.signal) controller.abort()\n })\n }\n }, [i18n, loadRelationOptions, relationTo])\n\n /**\n * Load any options that were not returned\n * in the first 10 of each relation fetch\n */\n useEffect(() => {\n if (value && hasLoadedFirstOptions) {\n if (hasMany) {\n const matchedOptions = findOptionsByValue()\n\n ;((matchedOptions as Option[]) || []).forEach((option, i) => {\n if (!option) {\n if (hasMultipleRelations) {\n void addOptionByID(value[i].value, value[i].relationTo)\n } else {\n void addOptionByID(value[i], relationTo)\n }\n }\n })\n } else {\n const matchedOption = findOptionsByValue()\n\n if (!matchedOption) {\n if (hasMultipleRelations) {\n const valueWithRelation = value as ValueWithRelation\n void addOptionByID(valueWithRelation.value, valueWithRelation.relationTo)\n } else {\n void addOptionByID(value, relationTo)\n }\n }\n }\n }\n }, [\n addOptionByID,\n findOptionsByValue,\n hasMany,\n hasMultipleRelations,\n relationTo,\n value,\n hasLoadedFirstOptions,\n ])\n\n const classes = ['field-type', baseClass, errorLoading && 'error-loading']\n .filter(Boolean)\n .join(' ')\n\n const valueToRender = (findOptionsByValue() || value) as Option\n\n return (\n <div className={classes}>\n {!errorLoading && (\n <ReactSelect\n disabled={disabled}\n isMulti={hasMany}\n isSortable={isSortable}\n onChange={(selected) => {\n if (!selected) {\n onChange(null)\n return\n }\n if (hasMany && Array.isArray(selected)) {\n onChange(\n selected\n ? selected.map((option) => {\n if (hasMultipleRelations) {\n return {\n relationTo: option?.relationTo,\n value: option?.value,\n }\n }\n\n return option?.value\n })\n : null,\n )\n } else if (hasMultipleRelations && !Array.isArray(selected)) {\n onChange({\n relationTo: selected?.relationTo,\n value: selected?.value,\n })\n } else if (!Array.isArray(selected)) {\n onChange(selected?.value)\n }\n }}\n onInputChange={handleInputChange}\n onMenuScrollToBottom={loadMoreOptions}\n options={options}\n placeholder={t('general:selectValue')}\n value={valueToRender}\n />\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n </div>\n )\n}\n"],"names":["qs","React","useCallback","useEffect","useReducer","useState","useDebounce","useConfig","useTranslation","ReactSelect","optionsReducer","baseClass","maxResultsPerRequest","RelationshipField","props","admin","isSortable","disabled","hasMany","onChange","relationTo","value","collections","routes","api","serverURL","hasMultipleRelations","Array","isArray","options","dispatchOptions","search","setSearch","errorLoading","setErrorLoading","hasLoadedFirstOptions","setHasLoadedFirstOptions","debouncedSearch","i18n","t","relationSlugs","initialRelationMap","map","Map","forEach","relation","set","nextPageByRelationshipRef","useRef","partiallyLoadedRelationshipSlugs","addOptions","data","collection","find","coll","slug","type","loadRelationOptions","abortController","relationSlug","fieldToSearch","useAsTitle","pageIndex","current","get","includes","query","depth","limit","page","where","and","push","like","response","fetch","stringify","addQueryPrefix","credentials","headers","language","signal","ok","json","docs","length","nextPage","filter","partiallyLoadedRelation","e","aborted","console","error","loadMoreOptions","AbortController","findOptionsByValue","val","matchedOption","opt","some","subOpt","undefined","valueWithRelation","handleInputChange","newSearch","addOptionByID","id","relations","abortControllers","controller","abort","matchedOptions","option","i","classes","Boolean","join","valueToRender","div","className","isMulti","selected","onInputChange","onMenuScrollToBottom","placeholder"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { Option } from '../../../ReactSelect/types.js'\nimport type { Props, ValueWithRelation } from './types.js'\n\nimport { useDebounce } from '../../../../hooks/useDebounce.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { ReactSelect } from '../../../ReactSelect/index.js'\nimport './index.scss'\nimport optionsReducer from './optionsReducer.js'\n\nconst baseClass = 'condition-value-relationship'\n\nconst maxResultsPerRequest = 10\n\nexport const RelationshipField: React.FC<Props> = (props) => {\n const { admin: { isSortable } = {}, disabled, hasMany, onChange, relationTo, value } = props\n\n const {\n config: {\n collections,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const hasMultipleRelations = Array.isArray(relationTo)\n const [options, dispatchOptions] = useReducer(optionsReducer, [])\n const [search, setSearch] = useState('')\n const [errorLoading, setErrorLoading] = useState('')\n const [hasLoadedFirstOptions, setHasLoadedFirstOptions] = useState(false)\n const debouncedSearch = useDebounce(search, 300)\n const { i18n, t } = useTranslation()\n const relationSlugs = hasMultipleRelations ? relationTo : [relationTo]\n const initialRelationMap = () => {\n const map: Map<string, number> = new Map()\n relationSlugs.forEach((relation) => {\n map.set(relation, 1)\n })\n return map\n }\n const nextPageByRelationshipRef = React.useRef<Map<string, number>>(initialRelationMap())\n const partiallyLoadedRelationshipSlugs = React.useRef<string[]>(relationSlugs)\n\n const addOptions = useCallback(\n (data, relation) => {\n const collection = collections.find((coll) => coll.slug === relation)\n dispatchOptions({ type: 'ADD', collection, data, hasMultipleRelations, i18n, relation })\n },\n [collections, hasMultipleRelations, i18n],\n )\n\n const loadRelationOptions = React.useCallback(\n async ({\n abortController,\n relationSlug,\n }: {\n abortController: AbortController\n relationSlug: string\n }) => {\n if (relationSlug && partiallyLoadedRelationshipSlugs.current.includes(relationSlug)) {\n const collection = collections.find((coll) => coll.slug === relationSlug)\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n const pageIndex = nextPageByRelationshipRef.current.get(relationSlug)\n\n const query: {\n depth?: number\n limit?: number\n page?: number\n where: Where\n } = {\n depth: 0,\n limit: maxResultsPerRequest,\n page: pageIndex,\n where: {\n and: [],\n },\n }\n\n if (debouncedSearch) {\n query.where.and.push({\n [fieldToSearch]: {\n like: debouncedSearch,\n },\n })\n }\n\n try {\n const response = await fetch(\n `${serverURL}${api}/${relationSlug}${qs.stringify(query, { addQueryPrefix: true })}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n signal: abortController.signal,\n },\n )\n\n if (response.ok) {\n const data: PaginatedDocs = await response.json()\n if (data.docs.length > 0) {\n addOptions(data, relationSlug)\n\n if (!debouncedSearch) {\n if (data.nextPage) {\n nextPageByRelationshipRef.current.set(relationSlug, data.nextPage)\n } else {\n partiallyLoadedRelationshipSlugs.current =\n partiallyLoadedRelationshipSlugs.current.filter(\n (partiallyLoadedRelation) => partiallyLoadedRelation !== relationSlug,\n )\n }\n }\n }\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n } catch (e) {\n if (!abortController.signal.aborted) {\n console.error(e)\n }\n }\n }\n\n setHasLoadedFirstOptions(true)\n },\n [addOptions, api, collections, debouncedSearch, i18n.language, serverURL, t],\n )\n\n const loadMoreOptions = React.useCallback(() => {\n if (partiallyLoadedRelationshipSlugs.current.length > 0) {\n const abortController = new AbortController()\n void loadRelationOptions({\n abortController,\n relationSlug: partiallyLoadedRelationshipSlugs.current[0],\n })\n }\n }, [loadRelationOptions])\n\n const findOptionsByValue = useCallback((): Option | Option[] => {\n if (value) {\n if (hasMany) {\n if (Array.isArray(value)) {\n return value.map((val) => {\n if (hasMultipleRelations) {\n let matchedOption: Option\n\n options.forEach((opt) => {\n if (opt.options) {\n opt.options.some((subOpt) => {\n if (subOpt?.value == val.value) {\n matchedOption = subOpt\n return true\n }\n\n return false\n })\n }\n })\n\n return matchedOption\n }\n\n return options.find((opt) => opt.value == val)\n })\n }\n\n return undefined\n }\n\n if (hasMultipleRelations) {\n let matchedOption: Option\n\n const valueWithRelation = value as ValueWithRelation\n\n options.forEach((opt) => {\n if (opt?.options) {\n opt.options.some((subOpt) => {\n if (subOpt?.value == valueWithRelation.value) {\n matchedOption = subOpt\n return true\n }\n return false\n })\n }\n })\n\n return matchedOption\n }\n\n return options.find((opt) => opt.value == value)\n }\n\n return undefined\n }, [hasMany, hasMultipleRelations, value, options])\n\n const handleInputChange = useCallback(\n (newSearch) => {\n if (search !== newSearch) {\n setSearch(newSearch)\n }\n },\n [search],\n )\n\n const addOptionByID = useCallback(\n async (id, relation) => {\n if (!errorLoading && id !== 'null' && id && relation) {\n const response = await fetch(`${serverURL}${api}/${relation}/${id}?depth=0`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (response.ok) {\n const data = await response.json()\n addOptions({ docs: [data] }, relation)\n } else {\n // eslint-disable-next-line no-console\n console.error(t('error:loadingDocument', { id }))\n }\n }\n },\n [i18n, addOptions, api, errorLoading, serverURL, t],\n )\n\n /**\n * 1. Trigger initial relationship options fetch\n * 2. When search changes, loadRelationOptions will\n * fire off again\n */\n useEffect(() => {\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const abortControllers: AbortController[] = []\n relations.forEach((relation) => {\n const abortController = new AbortController()\n void loadRelationOptions({\n abortController,\n relationSlug: relation,\n })\n abortControllers.push(abortController)\n })\n\n return () => {\n abortControllers.forEach((controller) => {\n if (controller.signal) {\n try {\n controller.abort()\n } catch (error) {\n // swallow error\n }\n }\n })\n }\n }, [i18n, loadRelationOptions, relationTo])\n\n /**\n * Load any options that were not returned\n * in the first 10 of each relation fetch\n */\n useEffect(() => {\n if (value && hasLoadedFirstOptions) {\n if (hasMany) {\n const matchedOptions = findOptionsByValue()\n\n ;((matchedOptions as Option[]) || []).forEach((option, i) => {\n if (!option) {\n if (hasMultipleRelations) {\n void addOptionByID(value[i].value, value[i].relationTo)\n } else {\n void addOptionByID(value[i], relationTo)\n }\n }\n })\n } else {\n const matchedOption = findOptionsByValue()\n\n if (!matchedOption) {\n if (hasMultipleRelations) {\n const valueWithRelation = value as ValueWithRelation\n void addOptionByID(valueWithRelation.value, valueWithRelation.relationTo)\n } else {\n void addOptionByID(value, relationTo)\n }\n }\n }\n }\n }, [\n addOptionByID,\n findOptionsByValue,\n hasMany,\n hasMultipleRelations,\n relationTo,\n value,\n hasLoadedFirstOptions,\n ])\n\n const classes = ['field-type', baseClass, errorLoading && 'error-loading']\n .filter(Boolean)\n .join(' ')\n\n const valueToRender = (findOptionsByValue() || value) as Option\n\n return (\n <div className={classes}>\n {!errorLoading && (\n <ReactSelect\n disabled={disabled}\n isMulti={hasMany}\n isSortable={isSortable}\n onChange={(selected) => {\n if (!selected) {\n onChange(null)\n return\n }\n if (hasMany && Array.isArray(selected)) {\n onChange(\n selected\n ? selected.map((option) => {\n if (hasMultipleRelations) {\n return {\n relationTo: option?.relationTo,\n value: option?.value,\n }\n }\n\n return option?.value\n })\n : null,\n )\n } else if (hasMultipleRelations && !Array.isArray(selected)) {\n onChange({\n relationTo: selected?.relationTo,\n value: selected?.value,\n })\n } else if (!Array.isArray(selected)) {\n onChange(selected?.value)\n }\n }}\n onInputChange={handleInputChange}\n onMenuScrollToBottom={loadMoreOptions}\n options={options}\n placeholder={t('general:selectValue')}\n value={valueToRender}\n />\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n </div>\n )\n}\n"],"names":["qs","React","useCallback","useEffect","useReducer","useState","useDebounce","useConfig","useTranslation","ReactSelect","optionsReducer","baseClass","maxResultsPerRequest","RelationshipField","props","admin","isSortable","disabled","hasMany","onChange","relationTo","value","config","collections","routes","api","serverURL","hasMultipleRelations","Array","isArray","options","dispatchOptions","search","setSearch","errorLoading","setErrorLoading","hasLoadedFirstOptions","setHasLoadedFirstOptions","debouncedSearch","i18n","t","relationSlugs","initialRelationMap","map","Map","forEach","relation","set","nextPageByRelationshipRef","useRef","partiallyLoadedRelationshipSlugs","addOptions","data","collection","find","coll","slug","type","loadRelationOptions","abortController","relationSlug","current","includes","fieldToSearch","useAsTitle","pageIndex","get","query","depth","limit","page","where","and","push","like","response","fetch","stringify","addQueryPrefix","credentials","headers","language","signal","ok","json","docs","length","nextPage","filter","partiallyLoadedRelation","e","aborted","console","error","loadMoreOptions","AbortController","findOptionsByValue","val","matchedOption","opt","some","subOpt","undefined","valueWithRelation","handleInputChange","newSearch","addOptionByID","id","relations","abortControllers","controller","abort","matchedOptions","option","i","classes","Boolean","join","valueToRender","div","className","isMulti","selected","onInputChange","onMenuScrollToBottom","placeholder"],"mappings":"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"}
@@ -2,10 +2,10 @@
2
2
 
3
3
  .condition-value-relationship {
4
4
  &__error-loading {
5
- border: 1px solid var(--theme-error-500);
5
+ border: 1px solid var(--theme-error-600);
6
6
  min-height: base(2);
7
7
  padding: base(0.5) base(0.75);
8
- background-color: var(--theme-error-500);
8
+ background-color: var(--theme-error-100);
9
9
  color: var(--theme-elevation-0);
10
10
  }
11
11
  }
@@ -1,9 +1,9 @@
1
1
  import type { I18nClient } from '@payloadcms/translations';
2
2
  import type { ClientCollectionConfig, PaginatedDocs, RelationshipField } from 'payload';
3
3
  export type Props = {
4
- disabled?: boolean;
5
- onChange: (val: unknown) => void;
6
- value: unknown;
4
+ readonly disabled?: boolean;
5
+ readonly onChange: (val: unknown) => void;
6
+ readonly value: unknown;
7
7
  } & RelationshipField;
8
8
  export type Option = {
9
9
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEvF,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;IAChC,KAAK,EAAE,OAAO,CAAA;CACf,GAAG,iBAAiB,CAAA;AAErB,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,KAAK,GAAG,GAAG;IACT,UAAU,EAAE,sBAAsB,CAAA;IAClC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;IACxB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAA;AAEhC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEvF,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACxB,GAAG,iBAAiB,CAAA;AAErB,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,KAAK,GAAG,GAAG;IACT,UAAU,EAAE,sBAAsB,CAAA;IAClC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;IACxB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAA;AAEhC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, PaginatedDocs, RelationshipField } from 'payload'\n\nexport type Props = {\n disabled?: boolean\n onChange: (val: unknown) => void\n value: unknown\n} & RelationshipField\n\nexport type Option = {\n label: string\n options?: Option[]\n relationTo?: string\n value: string\n}\n\ntype CLEAR = {\n i18n: I18nClient\n required: boolean\n type: 'CLEAR'\n}\n\ntype ADD = {\n collection: ClientCollectionConfig\n data: PaginatedDocs<any>\n hasMultipleRelations: boolean\n i18n: I18nClient\n relation: string\n type: 'ADD'\n}\n\nexport type Action = ADD | CLEAR\n\nexport type ValueWithRelation = {\n relationTo: string\n value: string\n}\n\nexport type GetResults = (args: {\n lastFullyLoadedRelation?: number\n lastLoadedPage?: number\n search?: string\n}) => Promise<void>\n"],"names":[],"mappings":"AAsCA,WAImB"}
1
+ {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, PaginatedDocs, RelationshipField } from 'payload'\n\nexport type Props = {\n readonly disabled?: boolean\n readonly onChange: (val: unknown) => void\n readonly value: unknown\n} & RelationshipField\n\nexport type Option = {\n label: string\n options?: Option[]\n relationTo?: string\n value: string\n}\n\ntype CLEAR = {\n i18n: I18nClient\n required: boolean\n type: 'CLEAR'\n}\n\ntype ADD = {\n collection: ClientCollectionConfig\n data: PaginatedDocs<any>\n hasMultipleRelations: boolean\n i18n: I18nClient\n relation: string\n type: 'ADD'\n}\n\nexport type Action = ADD | CLEAR\n\nexport type ValueWithRelation = {\n relationTo: string\n value: string\n}\n\nexport type GetResults = (args: {\n lastFullyLoadedRelation?: number\n lastLoadedPage?: number\n search?: string\n}) => Promise<void>\n"],"names":[],"mappings":"AAsCA,WAImB"}
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import type { Props } from './types.js';
3
3
  import './index.scss';
4
- declare const Text: React.FC<Props>;
5
- export default Text;
4
+ export declare const Text: React.FC<Props>;
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Text/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,cAAc,CAAA;AAIrB,QAAA,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAYzB,CAAA;AAED,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Text/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAYhC,CAAA"}
@@ -4,7 +4,7 @@ import React from 'react';
4
4
  import { useTranslation } from '../../../../providers/Translation/index.js';
5
5
  import './index.scss';
6
6
  const baseClass = 'condition-value-text';
7
- const Text = ({ disabled, onChange, value })=>{
7
+ export const Text = ({ disabled, onChange, value })=>{
8
8
  const { t } = useTranslation();
9
9
  return /*#__PURE__*/ _jsx("input", {
10
10
  className: baseClass,
@@ -15,6 +15,5 @@ const Text = ({ disabled, onChange, value })=>{
15
15
  value: value || ''
16
16
  });
17
17
  };
18
- export default Text;
19
18
 
20
19
  //# sourceMappingURL=index.js.map