@payloadcms/ui 3.0.0-beta.85 → 3.0.0-beta.86

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 (777) hide show
  1. package/dist/@types/assets.d.js.map +1 -1
  2. package/dist/assets/index.js +0 -1
  3. package/dist/assets/index.js.map +1 -1
  4. package/dist/elements/AppHeader/index.js +132 -95
  5. package/dist/elements/AppHeader/index.js.map +1 -1
  6. package/dist/elements/ArrayAction/index.js +93 -83
  7. package/dist/elements/ArrayAction/index.js.map +1 -1
  8. package/dist/elements/Autosave/index.js +277 -199
  9. package/dist/elements/Autosave/index.js.map +1 -1
  10. package/dist/elements/Banner/index.js +27 -31
  11. package/dist/elements/Banner/index.js.map +1 -1
  12. package/dist/elements/Button/index.js +212 -101
  13. package/dist/elements/Button/index.js.map +1 -1
  14. package/dist/elements/Button/types.js +1 -2
  15. package/dist/elements/Button/types.js.map +1 -1
  16. package/dist/elements/Card/index.js +33 -32
  17. package/dist/elements/Card/index.js.map +1 -1
  18. package/dist/elements/CodeEditor/CodeEditor.js +77 -28
  19. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  20. package/dist/elements/CodeEditor/index.js +15 -13
  21. package/dist/elements/CodeEditor/index.js.map +1 -1
  22. package/dist/elements/CodeEditor/types.js +1 -2
  23. package/dist/elements/CodeEditor/types.js.map +1 -1
  24. package/dist/elements/Collapsible/index.js +167 -84
  25. package/dist/elements/Collapsible/index.js.map +1 -1
  26. package/dist/elements/Collapsible/provider.js +31 -27
  27. package/dist/elements/Collapsible/provider.js.map +1 -1
  28. package/dist/elements/ColumnSelector/index.js +94 -41
  29. package/dist/elements/ColumnSelector/index.js.map +1 -1
  30. package/dist/elements/CopyToClipboard/index.js +78 -45
  31. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  32. package/dist/elements/DatePicker/DatePicker.js +132 -81
  33. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  34. package/dist/elements/DatePicker/getFormattedLocale.d.ts.map +1 -1
  35. package/dist/elements/DatePicker/getFormattedLocale.js +11 -10
  36. package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
  37. package/dist/elements/DatePicker/index.js +10 -10
  38. package/dist/elements/DatePicker/index.js.map +1 -1
  39. package/dist/elements/DatePicker/types.js +1 -2
  40. package/dist/elements/DatePicker/types.js.map +1 -1
  41. package/dist/elements/DeleteDocument/index.js +127 -130
  42. package/dist/elements/DeleteDocument/index.js.map +1 -1
  43. package/dist/elements/DeleteMany/index.js +119 -114
  44. package/dist/elements/DeleteMany/index.js.map +1 -1
  45. package/dist/elements/DocumentControls/index.js +179 -201
  46. package/dist/elements/DocumentControls/index.js.map +1 -1
  47. package/dist/elements/DocumentDrawer/DrawerContent.js +169 -82
  48. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  49. package/dist/elements/DocumentDrawer/index.js +251 -107
  50. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  51. package/dist/elements/DocumentDrawer/types.js +1 -2
  52. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  53. package/dist/elements/DocumentFields/index.js +53 -56
  54. package/dist/elements/DocumentFields/index.js.map +1 -1
  55. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +59 -21
  56. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  57. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +1 -2
  58. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  59. package/dist/elements/DraggableSortable/index.js +96 -40
  60. package/dist/elements/DraggableSortable/index.js.map +1 -1
  61. package/dist/elements/DraggableSortable/types.js +1 -2
  62. package/dist/elements/DraggableSortable/types.js.map +1 -1
  63. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +85 -24
  64. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  65. package/dist/elements/DraggableSortable/useDraggableSortable/types.js +1 -2
  66. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  67. package/dist/elements/Drawer/index.js +217 -103
  68. package/dist/elements/Drawer/index.js.map +1 -1
  69. package/dist/elements/Drawer/types.js +1 -2
  70. package/dist/elements/Drawer/types.js.map +1 -1
  71. package/dist/elements/Drawer/useDrawerSlug.js +19 -7
  72. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  73. package/dist/elements/Dropzone/index.js +157 -113
  74. package/dist/elements/Dropzone/index.js.map +1 -1
  75. package/dist/elements/DuplicateDocument/index.js +165 -97
  76. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  77. package/dist/elements/EditMany/index.js +399 -211
  78. package/dist/elements/EditMany/index.js.map +1 -1
  79. package/dist/elements/EditUpload/index.js +452 -401
  80. package/dist/elements/EditUpload/index.js.map +1 -1
  81. package/dist/elements/ErrorPill/index.js +21 -23
  82. package/dist/elements/ErrorPill/index.js.map +1 -1
  83. package/dist/elements/FieldSelect/index.js +164 -135
  84. package/dist/elements/FieldSelect/index.js.map +1 -1
  85. package/dist/elements/FileDetails/FileMeta/index.js +92 -61
  86. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  87. package/dist/elements/FileDetails/index.js +60 -49
  88. package/dist/elements/FileDetails/index.js.map +1 -1
  89. package/dist/elements/GenerateConfirmation/index.js +62 -59
  90. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  91. package/dist/elements/Gutter/index.d.ts.map +1 -1
  92. package/dist/elements/Gutter/index.js +18 -16
  93. package/dist/elements/Gutter/index.js.map +1 -1
  94. package/dist/elements/Hamburger/index.js +38 -25
  95. package/dist/elements/Hamburger/index.js.map +1 -1
  96. package/dist/elements/HydrateAuthProvider/index.js +27 -10
  97. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  98. package/dist/elements/IDLabel/index.js +10 -13
  99. package/dist/elements/IDLabel/index.js.map +1 -1
  100. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
  101. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +8 -7
  102. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  103. package/dist/elements/ListControls/index.js +248 -150
  104. package/dist/elements/ListControls/index.js.map +1 -1
  105. package/dist/elements/ListDrawer/DrawerContent.js +507 -263
  106. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  107. package/dist/elements/ListDrawer/index.js +227 -120
  108. package/dist/elements/ListDrawer/index.js.map +1 -1
  109. package/dist/elements/ListDrawer/types.js +1 -2
  110. package/dist/elements/ListDrawer/types.js.map +1 -1
  111. package/dist/elements/ListSelection/index.js +54 -36
  112. package/dist/elements/ListSelection/index.js.map +1 -1
  113. package/dist/elements/Loading/index.js +150 -73
  114. package/dist/elements/Loading/index.js.map +1 -1
  115. package/dist/elements/LoadingOverlay/index.js +120 -59
  116. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  117. package/dist/elements/LoadingOverlay/reducer.d.ts.map +1 -1
  118. package/dist/elements/LoadingOverlay/reducer.js +30 -27
  119. package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
  120. package/dist/elements/LoadingOverlay/types.js +1 -2
  121. package/dist/elements/LoadingOverlay/types.js.map +1 -1
  122. package/dist/elements/Localizer/LocalizerLabel/index.js +56 -27
  123. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  124. package/dist/elements/Localizer/index.js +85 -40
  125. package/dist/elements/Localizer/index.js.map +1 -1
  126. package/dist/elements/Logout/index.js +94 -26
  127. package/dist/elements/Logout/index.js.map +1 -1
  128. package/dist/elements/Modal/index.d.ts.map +1 -1
  129. package/dist/elements/Modal/index.js +2 -1
  130. package/dist/elements/Modal/index.js.map +1 -1
  131. package/dist/elements/Nav/NavToggler/index.js +78 -28
  132. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  133. package/dist/elements/Nav/context.js +126 -88
  134. package/dist/elements/Nav/context.js.map +1 -1
  135. package/dist/elements/NavGroup/index.js +141 -73
  136. package/dist/elements/NavGroup/index.js.map +1 -1
  137. package/dist/elements/Pagination/ClickableArrow/index.js +15 -15
  138. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  139. package/dist/elements/Pagination/Page/index.js +15 -14
  140. package/dist/elements/Pagination/Page/index.js.map +1 -1
  141. package/dist/elements/Pagination/Separator/index.js +5 -5
  142. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  143. package/dist/elements/Pagination/index.js +90 -81
  144. package/dist/elements/Pagination/index.js.map +1 -1
  145. package/dist/elements/PerPage/index.js +77 -48
  146. package/dist/elements/PerPage/index.js.map +1 -1
  147. package/dist/elements/Pill/index.js +108 -64
  148. package/dist/elements/Pill/index.js.map +1 -1
  149. package/dist/elements/Popup/PopupButtonList/index.js +51 -48
  150. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  151. package/dist/elements/Popup/PopupTrigger/index.js +34 -32
  152. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  153. package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
  154. package/dist/elements/Popup/index.js +143 -145
  155. package/dist/elements/Popup/index.js.map +1 -1
  156. package/dist/elements/PreviewButton/index.js +44 -21
  157. package/dist/elements/PreviewButton/index.js.map +1 -1
  158. package/dist/elements/PreviewButton/usePreviewURL.js +57 -48
  159. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  160. package/dist/elements/PreviewSizes/index.js +118 -129
  161. package/dist/elements/PreviewSizes/index.js.map +1 -1
  162. package/dist/elements/PublishButton/index.js +108 -44
  163. package/dist/elements/PublishButton/index.js.map +1 -1
  164. package/dist/elements/PublishMany/index.js +120 -115
  165. package/dist/elements/PublishMany/index.js.map +1 -1
  166. package/dist/elements/ReactSelect/ClearIndicator/index.js +26 -20
  167. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  168. package/dist/elements/ReactSelect/Control/index.js +40 -31
  169. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  170. package/dist/elements/ReactSelect/DropdownIndicator/index.js +20 -15
  171. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  172. package/dist/elements/ReactSelect/Input/index.js +12 -11
  173. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  174. package/dist/elements/ReactSelect/MultiValue/index.js +124 -38
  175. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  176. package/dist/elements/ReactSelect/MultiValueLabel/index.js +20 -14
  177. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  178. package/dist/elements/ReactSelect/MultiValueRemove/index.js +84 -35
  179. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  180. package/dist/elements/ReactSelect/SingleValue/index.js +13 -13
  181. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  182. package/dist/elements/ReactSelect/ValueContainer/index.js +15 -11
  183. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  184. package/dist/elements/ReactSelect/index.js +180 -165
  185. package/dist/elements/ReactSelect/index.js.map +1 -1
  186. package/dist/elements/ReactSelect/types.js +1 -2
  187. package/dist/elements/ReactSelect/types.js.map +1 -1
  188. package/dist/elements/RenderTitle/index.js +53 -23
  189. package/dist/elements/RenderTitle/index.js.map +1 -1
  190. package/dist/elements/SaveButton/index.js +98 -41
  191. package/dist/elements/SaveButton/index.js.map +1 -1
  192. package/dist/elements/SaveDraftButton/index.js +143 -73
  193. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  194. package/dist/elements/SearchFilter/index.js +85 -27
  195. package/dist/elements/SearchFilter/index.js.map +1 -1
  196. package/dist/elements/SelectAll/index.js +44 -15
  197. package/dist/elements/SelectAll/index.js.map +1 -1
  198. package/dist/elements/SelectRow/index.js +41 -11
  199. package/dist/elements/SelectRow/index.js.map +1 -1
  200. package/dist/elements/ShimmerEffect/index.js +61 -31
  201. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  202. package/dist/elements/SortColumn/index.js +107 -65
  203. package/dist/elements/SortColumn/index.js.map +1 -1
  204. package/dist/elements/SortComplex/index.js +172 -101
  205. package/dist/elements/SortComplex/index.js.map +1 -1
  206. package/dist/elements/Status/index.js +233 -176
  207. package/dist/elements/Status/index.js.map +1 -1
  208. package/dist/elements/StayLoggedIn/index.js +98 -52
  209. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  210. package/dist/elements/StepNav/SetStepNav.js +27 -10
  211. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  212. package/dist/elements/StepNav/context.d.ts.map +1 -1
  213. package/dist/elements/StepNav/context.js +35 -11
  214. package/dist/elements/StepNav/context.js.map +1 -1
  215. package/dist/elements/StepNav/index.js +89 -67
  216. package/dist/elements/StepNav/index.js.map +1 -1
  217. package/dist/elements/StepNav/types.js +1 -2
  218. package/dist/elements/StepNav/types.js.map +1 -1
  219. package/dist/elements/Table/DefaultCell/fields/Array/index.js +26 -7
  220. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  221. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +51 -24
  222. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  223. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +25 -8
  224. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  225. package/dist/elements/Table/DefaultCell/fields/Code/index.js +16 -13
  226. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  227. package/dist/elements/Table/DefaultCell/fields/Date/index.js +59 -11
  228. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  229. package/dist/elements/Table/DefaultCell/fields/File/index.js +27 -23
  230. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  231. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +11 -9
  232. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  233. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +182 -89
  234. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  235. package/dist/elements/Table/DefaultCell/fields/Select/index.js +58 -17
  236. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  237. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +8 -6
  238. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  239. package/dist/elements/Table/DefaultCell/fields/index.js +13 -13
  240. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  241. package/dist/elements/Table/DefaultCell/index.js +158 -72
  242. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  243. package/dist/elements/Table/RelationshipProvider/index.js +144 -82
  244. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  245. package/dist/elements/Table/RelationshipProvider/reducer.js +42 -42
  246. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  247. package/dist/elements/Table/TableCellProvider/index.js +41 -18
  248. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  249. package/dist/elements/Table/index.js +83 -46
  250. package/dist/elements/Table/index.js.map +1 -1
  251. package/dist/elements/TableColumns/buildColumnState.js +104 -97
  252. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  253. package/dist/elements/TableColumns/filterFields.js +17 -20
  254. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  255. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
  256. package/dist/elements/TableColumns/getInitialColumns.js +29 -42
  257. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  258. package/dist/elements/TableColumns/index.js +248 -125
  259. package/dist/elements/TableColumns/index.js.map +1 -1
  260. package/dist/elements/Thumbnail/index.js +100 -43
  261. package/dist/elements/Thumbnail/index.js.map +1 -1
  262. package/dist/elements/ThumbnailCard/index.js +77 -35
  263. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  264. package/dist/elements/Tooltip/index.js +131 -69
  265. package/dist/elements/Tooltip/index.js.map +1 -1
  266. package/dist/elements/Translation/index.d.ts.map +1 -1
  267. package/dist/elements/Translation/index.js +40 -31
  268. package/dist/elements/Translation/index.js.map +1 -1
  269. package/dist/elements/UnpublishMany/index.js +121 -116
  270. package/dist/elements/UnpublishMany/index.js.map +1 -1
  271. package/dist/elements/Upload/index.js +455 -291
  272. package/dist/elements/Upload/index.js.map +1 -1
  273. package/dist/elements/ViewDescription/index.js +37 -14
  274. package/dist/elements/ViewDescription/index.js.map +1 -1
  275. package/dist/elements/ViewDescription/types.js.map +1 -1
  276. package/dist/elements/WhereBuilder/Condition/Date/index.js +19 -12
  277. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  278. package/dist/elements/WhereBuilder/Condition/Date/types.js +1 -2
  279. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  280. package/dist/elements/WhereBuilder/Condition/Number/index.js +38 -10
  281. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  282. package/dist/elements/WhereBuilder/Condition/Number/types.js +1 -2
  283. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  284. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +272 -300
  285. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  286. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.d.ts.map +1 -1
  287. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +68 -83
  288. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  289. package/dist/elements/WhereBuilder/Condition/Relationship/types.js +1 -2
  290. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  291. package/dist/elements/WhereBuilder/Condition/Select/index.js +159 -68
  292. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  293. package/dist/elements/WhereBuilder/Condition/Select/types.js +1 -2
  294. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  295. package/dist/elements/WhereBuilder/Condition/Text/index.js +38 -10
  296. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  297. package/dist/elements/WhereBuilder/Condition/Text/types.js +1 -2
  298. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  299. package/dist/elements/WhereBuilder/Condition/index.js +296 -140
  300. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  301. package/dist/elements/WhereBuilder/Condition/types.js +1 -2
  302. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  303. package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
  304. package/dist/elements/WhereBuilder/field-types.js +103 -163
  305. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  306. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  307. package/dist/elements/WhereBuilder/index.js +274 -229
  308. package/dist/elements/WhereBuilder/index.js.map +1 -1
  309. package/dist/elements/WhereBuilder/reduceClientFields.js +95 -89
  310. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
  311. package/dist/elements/WhereBuilder/transformWhereQuery.d.ts.map +1 -1
  312. package/dist/elements/WhereBuilder/transformWhereQuery.js +39 -45
  313. package/dist/elements/WhereBuilder/transformWhereQuery.js.map +1 -1
  314. package/dist/elements/WhereBuilder/types.js +1 -2
  315. package/dist/elements/WhereBuilder/types.js.map +1 -1
  316. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts.map +1 -1
  317. package/dist/elements/WhereBuilder/validateWhereQuery.js +30 -29
  318. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
  319. package/dist/elements/WindowInfo/index.d.ts.map +1 -1
  320. package/dist/elements/WindowInfo/index.js +2 -1
  321. package/dist/elements/WindowInfo/index.js.map +1 -1
  322. package/dist/elements/WithServerSideProps/index.js +20 -17
  323. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  324. package/dist/elements/withMergedProps/index.js +25 -21
  325. package/dist/elements/withMergedProps/index.js.map +1 -1
  326. package/dist/exports/client/CodeEditor-C4FLUUO7.js +24 -0
  327. package/dist/exports/client/CodeEditor-C4FLUUO7.js.map +8 -0
  328. package/dist/exports/client/{DatePicker-QKRYICNS.js → DatePicker-E6IJFDN2.js} +2 -2
  329. package/dist/exports/client/{chunk-HR5HEGNB.js → chunk-OBXEO4WP.js} +3 -3
  330. package/dist/exports/client/{chunk-HR5HEGNB.js.map → chunk-OBXEO4WP.js.map} +3 -3
  331. package/dist/exports/client/chunk-UGBVRIVY.js +14 -0
  332. package/dist/exports/client/chunk-UGBVRIVY.js.map +8 -0
  333. package/dist/exports/client/index.js +19 -19
  334. package/dist/exports/client/index.js.map +4 -4
  335. package/dist/fields/Array/ArrayRow.js +163 -67
  336. package/dist/fields/Array/ArrayRow.js.map +1 -1
  337. package/dist/fields/Array/index.js +471 -291
  338. package/dist/fields/Array/index.js.map +1 -1
  339. package/dist/fields/Blocks/BlockRow.js +155 -80
  340. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  341. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js +36 -16
  342. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
  343. package/dist/fields/Blocks/BlocksDrawer/index.js +121 -68
  344. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  345. package/dist/fields/Blocks/RowActions.js +98 -34
  346. package/dist/fields/Blocks/RowActions.js.map +1 -1
  347. package/dist/fields/Blocks/SectionTitle/index.js +77 -27
  348. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  349. package/dist/fields/Blocks/index.js +473 -307
  350. package/dist/fields/Blocks/index.js.map +1 -1
  351. package/dist/fields/Checkbox/Input.js +47 -51
  352. package/dist/fields/Checkbox/Input.js.map +1 -1
  353. package/dist/fields/Checkbox/index.js +212 -76
  354. package/dist/fields/Checkbox/index.js.map +1 -1
  355. package/dist/fields/Code/index.js +198 -71
  356. package/dist/fields/Code/index.js.map +1 -1
  357. package/dist/fields/Collapsible/index.js +212 -124
  358. package/dist/fields/Collapsible/index.js.map +1 -1
  359. package/dist/fields/ConfirmPassword/index.js +80 -46
  360. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  361. package/dist/fields/DateTime/index.js +191 -72
  362. package/dist/fields/DateTime/index.js.map +1 -1
  363. package/dist/fields/Email/index.js +190 -74
  364. package/dist/fields/Email/index.js.map +1 -1
  365. package/dist/fields/FieldDescription/index.js +57 -26
  366. package/dist/fields/FieldDescription/index.js.map +1 -1
  367. package/dist/fields/FieldError/index.js +73 -29
  368. package/dist/fields/FieldError/index.js.map +1 -1
  369. package/dist/fields/FieldLabel/index.js +82 -30
  370. package/dist/fields/FieldLabel/index.js.map +1 -1
  371. package/dist/fields/Group/index.js +176 -80
  372. package/dist/fields/Group/index.js.map +1 -1
  373. package/dist/fields/Group/provider.js +13 -8
  374. package/dist/fields/Group/provider.js.map +1 -1
  375. package/dist/fields/Hidden/index.js +73 -22
  376. package/dist/fields/Hidden/index.js.map +1 -1
  377. package/dist/fields/JSON/index.js +114 -114
  378. package/dist/fields/JSON/index.js.map +1 -1
  379. package/dist/fields/Number/index.js +315 -165
  380. package/dist/fields/Number/index.js.map +1 -1
  381. package/dist/fields/Password/index.js +173 -68
  382. package/dist/fields/Password/index.js.map +1 -1
  383. package/dist/fields/Password/input.js +131 -62
  384. package/dist/fields/Password/input.js.map +1 -1
  385. package/dist/fields/Password/types.js +1 -2
  386. package/dist/fields/Password/types.js.map +1 -1
  387. package/dist/fields/Point/index.js +255 -133
  388. package/dist/fields/Point/index.js.map +1 -1
  389. package/dist/fields/RadioGroup/Radio/index.js +79 -34
  390. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  391. package/dist/fields/RadioGroup/index.js +241 -94
  392. package/dist/fields/RadioGroup/index.js.map +1 -1
  393. package/dist/fields/Relationship/AddNew/index.js +246 -158
  394. package/dist/fields/Relationship/AddNew/index.js.map +1 -1
  395. package/dist/fields/Relationship/AddNew/types.js +1 -2
  396. package/dist/fields/Relationship/AddNew/types.js.map +1 -1
  397. package/dist/fields/Relationship/AddNew/useRelatedCollections.d.ts.map +1 -1
  398. package/dist/fields/Relationship/AddNew/useRelatedCollections.js +25 -13
  399. package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +1 -1
  400. package/dist/fields/Relationship/createRelationMap.d.ts.map +1 -1
  401. package/dist/fields/Relationship/createRelationMap.js +48 -45
  402. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  403. package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
  404. package/dist/fields/Relationship/findOptionsByValue.js +33 -29
  405. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  406. package/dist/fields/Relationship/index.js +642 -471
  407. package/dist/fields/Relationship/index.js.map +1 -1
  408. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  409. package/dist/fields/Relationship/optionsReducer.js +110 -113
  410. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  411. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +168 -66
  412. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  413. package/dist/fields/Relationship/select-components/SingleValue/index.js +173 -67
  414. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  415. package/dist/fields/Relationship/types.js +1 -2
  416. package/dist/fields/Relationship/types.js.map +1 -1
  417. package/dist/fields/RichText/index.d.ts.map +1 -1
  418. package/dist/fields/RichText/index.js +4 -3
  419. package/dist/fields/RichText/index.js.map +1 -1
  420. package/dist/fields/Row/index.js +69 -22
  421. package/dist/fields/Row/index.js.map +1 -1
  422. package/dist/fields/Row/provider.js +13 -8
  423. package/dist/fields/Row/provider.js.map +1 -1
  424. package/dist/fields/Select/Input.js +193 -70
  425. package/dist/fields/Select/Input.js.map +1 -1
  426. package/dist/fields/Select/index.js +99 -79
  427. package/dist/fields/Select/index.js.map +1 -1
  428. package/dist/fields/Tabs/Tab/index.js +65 -30
  429. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  430. package/dist/fields/Tabs/index.js +234 -118
  431. package/dist/fields/Tabs/index.js.map +1 -1
  432. package/dist/fields/Tabs/provider.js +13 -8
  433. package/dist/fields/Tabs/provider.js.map +1 -1
  434. package/dist/fields/Text/Input.js +171 -82
  435. package/dist/fields/Text/Input.js.map +1 -1
  436. package/dist/fields/Text/index.js +194 -95
  437. package/dist/fields/Text/index.js.map +1 -1
  438. package/dist/fields/Text/types.js +1 -2
  439. package/dist/fields/Text/types.js.map +1 -1
  440. package/dist/fields/Textarea/Input.js +144 -69
  441. package/dist/fields/Textarea/Input.js.map +1 -1
  442. package/dist/fields/Textarea/index.js +132 -53
  443. package/dist/fields/Textarea/index.js.map +1 -1
  444. package/dist/fields/Textarea/types.js +1 -2
  445. package/dist/fields/Textarea/types.js.map +1 -1
  446. package/dist/fields/UI/index.d.ts.map +1 -1
  447. package/dist/fields/UI/index.js +4 -3
  448. package/dist/fields/UI/index.js.map +1 -1
  449. package/dist/fields/Upload/Input.js +296 -143
  450. package/dist/fields/Upload/Input.js.map +1 -1
  451. package/dist/fields/Upload/index.js +142 -63
  452. package/dist/fields/Upload/index.js.map +1 -1
  453. package/dist/fields/index.d.ts.map +1 -1
  454. package/dist/fields/index.js +26 -25
  455. package/dist/fields/index.js.map +1 -1
  456. package/dist/fields/shared/index.d.ts.map +1 -1
  457. package/dist/fields/shared/index.js +17 -8
  458. package/dist/fields/shared/index.js.map +1 -1
  459. package/dist/forms/FieldPropsProvider/index.js +37 -27
  460. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  461. package/dist/forms/Form/context.js +30 -14
  462. package/dist/forms/Form/context.js.map +1 -1
  463. package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -1
  464. package/dist/forms/Form/createNestedClientFieldPath.js +11 -10
  465. package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -1
  466. package/dist/forms/Form/errorMessages.d.ts.map +1 -1
  467. package/dist/forms/Form/errorMessages.js +3 -2
  468. package/dist/forms/Form/errorMessages.js.map +1 -1
  469. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  470. package/dist/forms/Form/fieldReducer.js +319 -288
  471. package/dist/forms/Form/fieldReducer.js.map +1 -1
  472. package/dist/forms/Form/index.js +510 -528
  473. package/dist/forms/Form/index.js.map +1 -1
  474. package/dist/forms/Form/initContextState.d.ts.map +1 -1
  475. package/dist/forms/Form/initContextState.js +34 -33
  476. package/dist/forms/Form/initContextState.js.map +1 -1
  477. package/dist/forms/Form/mergeErrorPaths.d.ts.map +1 -1
  478. package/dist/forms/Form/mergeErrorPaths.js +25 -24
  479. package/dist/forms/Form/mergeErrorPaths.js.map +1 -1
  480. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  481. package/dist/forms/Form/mergeServerFormState.js +52 -51
  482. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  483. package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
  484. package/dist/forms/Form/rowHelpers.js +29 -21
  485. package/dist/forms/Form/rowHelpers.js.map +1 -1
  486. package/dist/forms/Form/rows.d.ts.map +1 -1
  487. package/dist/forms/Form/rows.js +33 -32
  488. package/dist/forms/Form/rows.js.map +1 -1
  489. package/dist/forms/Form/types.js +1 -2
  490. package/dist/forms/Form/types.js.map +1 -1
  491. package/dist/forms/NullifyField/index.js +57 -27
  492. package/dist/forms/NullifyField/index.js.map +1 -1
  493. package/dist/forms/RenderFields/RenderField.js +65 -61
  494. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  495. package/dist/forms/RenderFields/index.js +112 -51
  496. package/dist/forms/RenderFields/index.js.map +1 -1
  497. package/dist/forms/RenderFields/types.js +1 -2
  498. package/dist/forms/RenderFields/types.js.map +1 -1
  499. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  500. package/dist/forms/RowLabel/Context/index.js +29 -20
  501. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  502. package/dist/forms/RowLabel/index.d.ts.map +1 -1
  503. package/dist/forms/RowLabel/index.js +29 -24
  504. package/dist/forms/RowLabel/index.js.map +1 -1
  505. package/dist/forms/RowLabel/types.js +1 -2
  506. package/dist/forms/RowLabel/types.js.map +1 -1
  507. package/dist/forms/Submit/index.js +40 -17
  508. package/dist/forms/Submit/index.js.map +1 -1
  509. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  510. package/dist/forms/WatchChildErrors/buildPathSegments.js +33 -32
  511. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  512. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.d.ts.map +1 -1
  513. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js +26 -22
  514. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js.map +1 -1
  515. package/dist/forms/WatchChildErrors/getNestedFieldState.d.ts.map +1 -1
  516. package/dist/forms/WatchChildErrors/getNestedFieldState.js +19 -14
  517. package/dist/forms/WatchChildErrors/getNestedFieldState.js.map +1 -1
  518. package/dist/forms/WatchChildErrors/index.d.ts +1 -1
  519. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  520. package/dist/forms/WatchChildErrors/index.js +54 -19
  521. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  522. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +395 -368
  523. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  524. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js +54 -61
  525. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +1 -1
  526. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js +16 -11
  527. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
  528. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js +20 -14
  529. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
  530. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +127 -121
  531. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  532. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js +26 -27
  533. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +1 -1
  534. package/dist/forms/buildStateFromSchema/index.js +37 -30
  535. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  536. package/dist/forms/buildStateFromSchema/iterateFields.js +56 -36
  537. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  538. package/dist/forms/useField/index.js +162 -173
  539. package/dist/forms/useField/index.js.map +1 -1
  540. package/dist/forms/useField/types.js +1 -2
  541. package/dist/forms/useField/types.js.map +1 -1
  542. package/dist/forms/withCondition/WatchCondition.js +56 -18
  543. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  544. package/dist/forms/withCondition/index.js +37 -17
  545. package/dist/forms/withCondition/index.js.map +1 -1
  546. package/dist/graphics/Account/Default/index.js +21 -29
  547. package/dist/graphics/Account/Default/index.js.map +1 -1
  548. package/dist/graphics/Account/Gravatar/index.js +32 -19
  549. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  550. package/dist/graphics/Account/index.js +71 -19
  551. package/dist/graphics/Account/index.js.map +1 -1
  552. package/dist/graphics/DefaultBlockImage/index.js +31 -38
  553. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  554. package/dist/graphics/ExternalLink/index.js +18 -17
  555. package/dist/graphics/ExternalLink/index.js.map +1 -1
  556. package/dist/graphics/File/index.js +18 -23
  557. package/dist/graphics/File/index.js.map +1 -1
  558. package/dist/graphics/Icon/index.js +18 -20
  559. package/dist/graphics/Icon/index.js.map +1 -1
  560. package/dist/graphics/Logo/index.js +29 -41
  561. package/dist/graphics/Logo/index.js.map +1 -1
  562. package/dist/hooks/useDebounce.js +26 -15
  563. package/dist/hooks/useDebounce.js.map +1 -1
  564. package/dist/hooks/useDebouncedCallback.d.ts.map +1 -1
  565. package/dist/hooks/useDebouncedCallback.js +24 -15
  566. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  567. package/dist/hooks/useDebouncedEffect.d.ts.map +1 -1
  568. package/dist/hooks/useDebouncedEffect.js +54 -18
  569. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  570. package/dist/hooks/useDelay.d.ts.map +1 -1
  571. package/dist/hooks/useDelay.js +53 -27
  572. package/dist/hooks/useDelay.js.map +1 -1
  573. package/dist/hooks/useDelayedRender.d.ts.map +1 -1
  574. package/dist/hooks/useDelayedRender.js +77 -40
  575. package/dist/hooks/useDelayedRender.js.map +1 -1
  576. package/dist/hooks/useHotkey.js +105 -91
  577. package/dist/hooks/useHotkey.js.map +1 -1
  578. package/dist/hooks/useIntersect.d.ts +1 -0
  579. package/dist/hooks/useIntersect.d.ts.map +1 -1
  580. package/dist/hooks/useIntersect.js +83 -26
  581. package/dist/hooks/useIntersect.js.map +1 -1
  582. package/dist/hooks/usePayloadAPI.d.ts +1 -0
  583. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  584. package/dist/hooks/usePayloadAPI.js +180 -79
  585. package/dist/hooks/usePayloadAPI.js.map +1 -1
  586. package/dist/hooks/useResize.d.ts.map +1 -1
  587. package/dist/hooks/useResize.js +70 -41
  588. package/dist/hooks/useResize.js.map +1 -1
  589. package/dist/hooks/useThrottledEffect.d.ts +1 -0
  590. package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
  591. package/dist/hooks/useThrottledEffect.js +51 -17
  592. package/dist/hooks/useThrottledEffect.js.map +1 -1
  593. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  594. package/dist/hooks/useUseAsTitle.js +10 -5
  595. package/dist/hooks/useUseAsTitle.js.map +1 -1
  596. package/dist/icons/Calendar/index.js +10 -11
  597. package/dist/icons/Calendar/index.js.map +1 -1
  598. package/dist/icons/Check/index.js +10 -11
  599. package/dist/icons/Check/index.js.map +1 -1
  600. package/dist/icons/Chevron/index.js +19 -20
  601. package/dist/icons/Chevron/index.js.map +1 -1
  602. package/dist/icons/CloseMenu/index.js +10 -11
  603. package/dist/icons/CloseMenu/index.js.map +1 -1
  604. package/dist/icons/CodeBlock/index.js +12 -13
  605. package/dist/icons/CodeBlock/index.js.map +1 -1
  606. package/dist/icons/Copy/index.js +16 -15
  607. package/dist/icons/Copy/index.js.map +1 -1
  608. package/dist/icons/DragHandle/index.js +32 -41
  609. package/dist/icons/DragHandle/index.js.map +1 -1
  610. package/dist/icons/Edit/index.js +12 -14
  611. package/dist/icons/Edit/index.js.map +1 -1
  612. package/dist/icons/Line/index.js +13 -14
  613. package/dist/icons/Line/index.js.map +1 -1
  614. package/dist/icons/Link/index.js +15 -16
  615. package/dist/icons/Link/index.js.map +1 -1
  616. package/dist/icons/LogOut/index.js +13 -14
  617. package/dist/icons/LogOut/index.js.map +1 -1
  618. package/dist/icons/Menu/index.js +13 -14
  619. package/dist/icons/Menu/index.js.map +1 -1
  620. package/dist/icons/MinimizeMaximize/index.js +18 -20
  621. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  622. package/dist/icons/More/index.js +20 -26
  623. package/dist/icons/More/index.js.map +1 -1
  624. package/dist/icons/Plus/index.js +12 -13
  625. package/dist/icons/Plus/index.js.map +1 -1
  626. package/dist/icons/Search/index.js +11 -12
  627. package/dist/icons/Search/index.js.map +1 -1
  628. package/dist/icons/Swap/index.js +10 -11
  629. package/dist/icons/Swap/index.js.map +1 -1
  630. package/dist/icons/X/index.js +14 -16
  631. package/dist/icons/X/index.js.map +1 -1
  632. package/dist/providers/Actions/SetViewActions/index.d.ts +1 -1
  633. package/dist/providers/Actions/SetViewActions/index.d.ts.map +1 -1
  634. package/dist/providers/Actions/SetViewActions/index.js +31 -14
  635. package/dist/providers/Actions/SetViewActions/index.js.map +1 -1
  636. package/dist/providers/Actions/index.js +89 -24
  637. package/dist/providers/Actions/index.js.map +1 -1
  638. package/dist/providers/Auth/index.js +226 -256
  639. package/dist/providers/Auth/index.js.map +1 -1
  640. package/dist/providers/ClientFunction/index.js +103 -54
  641. package/dist/providers/ClientFunction/index.js.map +1 -1
  642. package/dist/providers/Config/RenderComponent.js +66 -61
  643. package/dist/providers/Config/RenderComponent.js.map +1 -1
  644. package/dist/providers/Config/createClientConfig/collections.js +165 -156
  645. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  646. package/dist/providers/Config/createClientConfig/fields.js +285 -279
  647. package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
  648. package/dist/providers/Config/createClientConfig/getComponent.js +31 -23
  649. package/dist/providers/Config/createClientConfig/getComponent.js.map +1 -1
  650. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +86 -84
  651. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +1 -1
  652. package/dist/providers/Config/createClientConfig/globals.js +97 -90
  653. package/dist/providers/Config/createClientConfig/globals.js.map +1 -1
  654. package/dist/providers/Config/createClientConfig/index.js +92 -82
  655. package/dist/providers/Config/createClientConfig/index.js.map +1 -1
  656. package/dist/providers/Config/index.js +50 -21
  657. package/dist/providers/Config/index.js.map +1 -1
  658. package/dist/providers/DocumentEvents/index.js +29 -13
  659. package/dist/providers/DocumentEvents/index.js.map +1 -1
  660. package/dist/providers/DocumentInfo/index.js +403 -448
  661. package/dist/providers/DocumentInfo/index.js.map +1 -1
  662. package/dist/providers/DocumentInfo/types.js +1 -2
  663. package/dist/providers/DocumentInfo/types.js.map +1 -1
  664. package/dist/providers/EditDepth/index.js +12 -7
  665. package/dist/providers/EditDepth/index.js.map +1 -1
  666. package/dist/providers/EntityVisibility/index.js +49 -20
  667. package/dist/providers/EntityVisibility/index.js.map +1 -1
  668. package/dist/providers/FieldComponents/index.js +13 -8
  669. package/dist/providers/FieldComponents/index.js.map +1 -1
  670. package/dist/providers/ListInfo/index.js +13 -8
  671. package/dist/providers/ListInfo/index.js.map +1 -1
  672. package/dist/providers/ListQuery/index.js +122 -131
  673. package/dist/providers/ListQuery/index.js.map +1 -1
  674. package/dist/providers/Locale/index.js +124 -56
  675. package/dist/providers/Locale/index.js.map +1 -1
  676. package/dist/providers/Operation/index.js +12 -7
  677. package/dist/providers/Operation/index.js.map +1 -1
  678. package/dist/providers/Params/index.js +24 -8
  679. package/dist/providers/Params/index.js.map +1 -1
  680. package/dist/providers/Preferences/index.js +111 -109
  681. package/dist/providers/Preferences/index.js.map +1 -1
  682. package/dist/providers/Root/index.js +72 -66
  683. package/dist/providers/Root/index.js.map +1 -1
  684. package/dist/providers/RouteCache/index.js +58 -22
  685. package/dist/providers/RouteCache/index.js.map +1 -1
  686. package/dist/providers/ScrollInfo/index.d.ts.map +1 -1
  687. package/dist/providers/ScrollInfo/index.js +10 -5
  688. package/dist/providers/ScrollInfo/index.js.map +1 -1
  689. package/dist/providers/SearchParams/index.js +84 -35
  690. package/dist/providers/SearchParams/index.js.map +1 -1
  691. package/dist/providers/Selection/index.js +212 -128
  692. package/dist/providers/Selection/index.js.map +1 -1
  693. package/dist/providers/Theme/index.js +97 -57
  694. package/dist/providers/Theme/index.js.map +1 -1
  695. package/dist/providers/ToastContainer/icons/Error.d.ts.map +1 -1
  696. package/dist/providers/ToastContainer/icons/Error.js +19 -21
  697. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  698. package/dist/providers/ToastContainer/icons/Info.d.ts.map +1 -1
  699. package/dist/providers/ToastContainer/icons/Info.js +19 -21
  700. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  701. package/dist/providers/ToastContainer/icons/Success.d.ts.map +1 -1
  702. package/dist/providers/ToastContainer/icons/Success.js +19 -21
  703. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  704. package/dist/providers/ToastContainer/icons/Warning.d.ts.map +1 -1
  705. package/dist/providers/ToastContainer/icons/Warning.js +19 -21
  706. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  707. package/dist/providers/ToastContainer/index.js +31 -31
  708. package/dist/providers/ToastContainer/index.js.map +1 -1
  709. package/dist/providers/Translation/index.js +114 -58
  710. package/dist/providers/Translation/index.js.map +1 -1
  711. package/dist/providers/UploadEdits/index.d.ts.map +1 -1
  712. package/dist/providers/UploadEdits/index.js +53 -22
  713. package/dist/providers/UploadEdits/index.js.map +1 -1
  714. package/dist/providers/WindowInfo/index.d.ts.map +1 -1
  715. package/dist/providers/WindowInfo/index.js +10 -5
  716. package/dist/providers/WindowInfo/index.js.map +1 -1
  717. package/dist/styles.css +1 -1
  718. package/dist/utilities/api.js +77 -78
  719. package/dist/utilities/api.js.map +1 -1
  720. package/dist/utilities/arraysHaveSameStrings.js +13 -14
  721. package/dist/utilities/arraysHaveSameStrings.js.map +1 -1
  722. package/dist/utilities/buildFieldSchemaMap/index.js +40 -44
  723. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  724. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +76 -71
  725. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  726. package/dist/utilities/buildFieldSchemaMap/types.js +1 -2
  727. package/dist/utilities/buildFieldSchemaMap/types.js.map +1 -1
  728. package/dist/utilities/buildFormState.js +158 -154
  729. package/dist/utilities/buildFormState.js.map +1 -1
  730. package/dist/utilities/canUseDOM.js +0 -1
  731. package/dist/utilities/canUseDOM.js.map +1 -1
  732. package/dist/utilities/dateLocales.js +26 -27
  733. package/dist/utilities/dateLocales.js.map +1 -1
  734. package/dist/utilities/findLocaleFromCode.js +5 -6
  735. package/dist/utilities/findLocaleFromCode.js.map +1 -1
  736. package/dist/utilities/flattenFieldMap.js +16 -25
  737. package/dist/utilities/flattenFieldMap.js.map +1 -1
  738. package/dist/utilities/formatAdminURL.js +16 -12
  739. package/dist/utilities/formatAdminURL.js.map +1 -1
  740. package/dist/utilities/formatDate.js +17 -11
  741. package/dist/utilities/formatDate.js.map +1 -1
  742. package/dist/utilities/formatDocTitle.js +32 -26
  743. package/dist/utilities/formatDocTitle.js.map +1 -1
  744. package/dist/utilities/formatFields.js +1 -2
  745. package/dist/utilities/formatFields.js.map +1 -1
  746. package/dist/utilities/generateFieldID.js +2 -3
  747. package/dist/utilities/generateFieldID.js.map +1 -1
  748. package/dist/utilities/getFormState.js +29 -23
  749. package/dist/utilities/getFormState.js.map +1 -1
  750. package/dist/utilities/getOffsetTop.js +13 -14
  751. package/dist/utilities/getOffsetTop.js.map +1 -1
  752. package/dist/utilities/getRequestLanguage.js +8 -5
  753. package/dist/utilities/getRequestLanguage.js.map +1 -1
  754. package/dist/utilities/getSupportedMonacoLocale.js +13 -14
  755. package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
  756. package/dist/utilities/groupNavItems.js +31 -35
  757. package/dist/utilities/groupNavItems.js.map +1 -1
  758. package/dist/utilities/hasSavePermission.js +14 -10
  759. package/dist/utilities/hasSavePermission.js.map +1 -1
  760. package/dist/utilities/isEditing.js +5 -2
  761. package/dist/utilities/isEditing.js.map +1 -1
  762. package/dist/utilities/reduceFieldsToValuesWithValidation.js +16 -16
  763. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  764. package/dist/utilities/scrollToID.js +9 -10
  765. package/dist/utilities/scrollToID.js.map +1 -1
  766. package/dist/utilities/setsAreEqual.js +2 -3
  767. package/dist/utilities/setsAreEqual.js.map +1 -1
  768. package/package.json +14 -12
  769. package/dist/exports/client/CodeEditor-MODTAQNB.js +0 -24
  770. package/dist/exports/client/CodeEditor-MODTAQNB.js.map +0 -8
  771. package/dist/exports/client/chunk-QJ5EJH4V.js +0 -14
  772. package/dist/exports/client/chunk-QJ5EJH4V.js.map +0 -8
  773. package/dist/fields/Number/Input.d.ts +0 -2
  774. package/dist/fields/Number/Input.d.ts.map +0 -1
  775. package/dist/fields/Number/Input.js +0 -2
  776. package/dist/fields/Number/Input.js.map +0 -1
  777. /package/dist/exports/client/{DatePicker-QKRYICNS.js.map → DatePicker-E6IJFDN2.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { Option } from '../../../ReactSelect/types.js'\nimport type { 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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"}
1
+ {"version":3,"file":"index.js","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","_jsxs","className","_jsx","isMulti","selected","onInputChange","onMenuScrollToBottom","placeholder"],"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"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"optionsReducer.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/optionsReducer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAWhD,QAAA,MAAM,cAAc,UAAW,MAAM,EAAE,UAAU,MAAM,KAAG,MAAM,EAuE/D,CAAA;AAED,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"optionsReducer.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/optionsReducer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAWhD,QAAA,MAAM,cAAc,UAAW,MAAM,EAAE,UAAU,MAAM,KAAG,MAAM,EAuE/D,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -1,88 +1,73 @@
1
+ 'use client';
2
+
1
3
  import { getTranslation } from '@payloadcms/translations';
2
- const reduceToIDs = (options)=>options.reduce((ids, option)=>{
3
- if (option.options) {
4
- return [
5
- ...ids,
6
- ...reduceToIDs(option.options)
7
- ];
8
- }
9
- return [
10
- ...ids,
11
- option.id
12
- ];
13
- }, []);
14
- const optionsReducer = (state, action)=>{
15
- switch(action.type){
16
- case 'CLEAR':
17
- {
18
- return action.required ? [] : [
19
- {
20
- label: action.i18n.t('general:none'),
21
- value: 'null'
22
- }
23
- ];
24
- }
25
- case 'ADD':
26
- {
27
- const { collection, data, hasMultipleRelations, i18n, relation } = action;
28
- const labelKey = collection.admin.useAsTitle || 'id';
29
- const loadedIDs = reduceToIDs(state);
30
- if (!hasMultipleRelations) {
31
- return [
32
- ...state,
33
- ...data.docs.reduce((docs, doc)=>{
34
- if (loadedIDs.indexOf(doc.id) === -1) {
35
- loadedIDs.push(doc.id);
36
- return [
37
- ...docs,
38
- {
39
- label: doc[labelKey],
40
- value: doc.id
41
- }
42
- ];
43
- }
44
- return docs;
45
- }, [])
46
- ];
47
- }
48
- const newOptions = [
49
- ...state
50
- ];
51
- const optionsToAddTo = newOptions.find((optionGroup)=>optionGroup.label === getTranslation(collection.labels.plural, i18n));
52
- const newSubOptions = data.docs.reduce((docs, doc)=>{
53
- if (loadedIDs.indexOf(doc.id) === -1) {
54
- loadedIDs.push(doc.id);
55
- return [
56
- ...docs,
57
- {
58
- label: doc[labelKey],
59
- relationTo: relation,
60
- value: doc.id
61
- }
62
- ];
63
- }
64
- return docs;
65
- }, []);
66
- if (optionsToAddTo) {
67
- optionsToAddTo.options = [
68
- ...optionsToAddTo.options,
69
- ...newSubOptions
70
- ];
71
- } else {
72
- newOptions.push({
73
- label: getTranslation(collection.labels.plural, i18n),
74
- options: newSubOptions,
75
- value: undefined
76
- });
77
- }
78
- return newOptions;
79
- }
80
- default:
81
- {
82
- return state;
4
+ const reduceToIDs = options => options.reduce((ids, option) => {
5
+ if (option.options) {
6
+ return [...ids, ...reduceToIDs(option.options)];
7
+ }
8
+ return [...ids, option.id];
9
+ }, []);
10
+ const optionsReducer = (state, action) => {
11
+ switch (action.type) {
12
+ case 'CLEAR':
13
+ {
14
+ return action.required ? [] : [{
15
+ label: action.i18n.t('general:none'),
16
+ value: 'null'
17
+ }];
18
+ }
19
+ case 'ADD':
20
+ {
21
+ const {
22
+ collection,
23
+ data,
24
+ hasMultipleRelations,
25
+ i18n,
26
+ relation
27
+ } = action;
28
+ const labelKey = collection.admin.useAsTitle || 'id';
29
+ const loadedIDs = reduceToIDs(state);
30
+ if (!hasMultipleRelations) {
31
+ return [...state, ...data.docs.reduce((docs, doc) => {
32
+ if (loadedIDs.indexOf(doc.id) === -1) {
33
+ loadedIDs.push(doc.id);
34
+ return [...docs, {
35
+ label: doc[labelKey],
36
+ value: doc.id
37
+ }];
83
38
  }
84
- }
39
+ return docs;
40
+ }, [])];
41
+ }
42
+ const newOptions = [...state];
43
+ const optionsToAddTo = newOptions.find(optionGroup => optionGroup.label === getTranslation(collection.labels.plural, i18n));
44
+ const newSubOptions = data.docs.reduce((docs, doc) => {
45
+ if (loadedIDs.indexOf(doc.id) === -1) {
46
+ loadedIDs.push(doc.id);
47
+ return [...docs, {
48
+ label: doc[labelKey],
49
+ relationTo: relation,
50
+ value: doc.id
51
+ }];
52
+ }
53
+ return docs;
54
+ }, []);
55
+ if (optionsToAddTo) {
56
+ optionsToAddTo.options = [...optionsToAddTo.options, ...newSubOptions];
57
+ } else {
58
+ newOptions.push({
59
+ label: getTranslation(collection.labels.plural, i18n),
60
+ options: newSubOptions,
61
+ value: undefined
62
+ });
63
+ }
64
+ return newOptions;
65
+ }
66
+ default:
67
+ {
68
+ return state;
69
+ }
70
+ }
85
71
  };
86
72
  export default optionsReducer;
87
-
88
73
  //# sourceMappingURL=optionsReducer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/optionsReducer.ts"],"sourcesContent":["import { getTranslation } from '@payloadcms/translations'\n\nimport type { Action, Option } from './types.js'\n\nconst reduceToIDs = (options) =>\n options.reduce((ids, option) => {\n if (option.options) {\n return [...ids, ...reduceToIDs(option.options)]\n }\n\n return [...ids, option.id]\n }, [])\n\nconst optionsReducer = (state: Option[], action: Action): Option[] => {\n switch (action.type) {\n case 'CLEAR': {\n return action.required ? [] : [{ label: action.i18n.t('general:none'), value: 'null' }]\n }\n\n case 'ADD': {\n const { collection, data, hasMultipleRelations, i18n, relation } = action\n\n const labelKey = collection.admin.useAsTitle || 'id'\n\n const loadedIDs = reduceToIDs(state)\n\n if (!hasMultipleRelations) {\n return [\n ...state,\n ...data.docs.reduce((docs, doc) => {\n if (loadedIDs.indexOf(doc.id) === -1) {\n loadedIDs.push(doc.id)\n return [\n ...docs,\n {\n label: doc[labelKey],\n value: doc.id,\n },\n ]\n }\n return docs\n }, []),\n ]\n }\n\n const newOptions = [...state]\n const optionsToAddTo = newOptions.find(\n (optionGroup) => optionGroup.label === getTranslation(collection.labels.plural, i18n),\n )\n\n const newSubOptions = data.docs.reduce((docs, doc) => {\n if (loadedIDs.indexOf(doc.id) === -1) {\n loadedIDs.push(doc.id)\n\n return [\n ...docs,\n {\n label: doc[labelKey],\n relationTo: relation,\n value: doc.id,\n },\n ]\n }\n\n return docs\n }, [])\n\n if (optionsToAddTo) {\n optionsToAddTo.options = [...optionsToAddTo.options, ...newSubOptions]\n } else {\n newOptions.push({\n label: getTranslation(collection.labels.plural, i18n),\n options: newSubOptions,\n value: undefined,\n })\n }\n\n return newOptions\n }\n\n default: {\n return state\n }\n }\n}\n\nexport default optionsReducer\n"],"names":["getTranslation","reduceToIDs","options","reduce","ids","option","id","optionsReducer","state","action","type","required","label","i18n","t","value","collection","data","hasMultipleRelations","relation","labelKey","admin","useAsTitle","loadedIDs","docs","doc","indexOf","push","newOptions","optionsToAddTo","find","optionGroup","labels","plural","newSubOptions","relationTo","undefined"],"mappings":"AAAA,SAASA,cAAc,QAAQ,2BAA0B;AAIzD,MAAMC,cAAc,CAACC,UACnBA,QAAQC,MAAM,CAAC,CAACC,KAAKC;QACnB,IAAIA,OAAOH,OAAO,EAAE;YAClB,OAAO;mBAAIE;mBAAQH,YAAYI,OAAOH,OAAO;aAAE;QACjD;QAEA,OAAO;eAAIE;YAAKC,OAAOC,EAAE;SAAC;IAC5B,GAAG,EAAE;AAEP,MAAMC,iBAAiB,CAACC,OAAiBC;IACvC,OAAQA,OAAOC,IAAI;QACjB,KAAK;YAAS;gBACZ,OAAOD,OAAOE,QAAQ,GAAG,EAAE,GAAG;oBAAC;wBAAEC,OAAOH,OAAOI,IAAI,CAACC,CAAC,CAAC;wBAAiBC,OAAO;oBAAO;iBAAE;YACzF;QAEA,KAAK;YAAO;gBACV,MAAM,EAAEC,UAAU,EAAEC,IAAI,EAAEC,oBAAoB,EAAEL,IAAI,EAAEM,QAAQ,EAAE,GAAGV;gBAEnE,MAAMW,WAAWJ,WAAWK,KAAK,CAACC,UAAU,IAAI;gBAEhD,MAAMC,YAAYtB,YAAYO;gBAE9B,IAAI,CAACU,sBAAsB;oBACzB,OAAO;2BACFV;2BACAS,KAAKO,IAAI,CAACrB,MAAM,CAAC,CAACqB,MAAMC;4BACzB,IAAIF,UAAUG,OAAO,CAACD,IAAInB,EAAE,MAAM,CAAC,GAAG;gCACpCiB,UAAUI,IAAI,CAACF,IAAInB,EAAE;gCACrB,OAAO;uCACFkB;oCACH;wCACEZ,OAAOa,GAAG,CAACL,SAAS;wCACpBL,OAAOU,IAAInB,EAAE;oCACf;iCACD;4BACH;4BACA,OAAOkB;wBACT,GAAG,EAAE;qBACN;gBACH;gBAEA,MAAMI,aAAa;uBAAIpB;iBAAM;gBAC7B,MAAMqB,iBAAiBD,WAAWE,IAAI,CACpC,CAACC,cAAgBA,YAAYnB,KAAK,KAAKZ,eAAegB,WAAWgB,MAAM,CAACC,MAAM,EAAEpB;gBAGlF,MAAMqB,gBAAgBjB,KAAKO,IAAI,CAACrB,MAAM,CAAC,CAACqB,MAAMC;oBAC5C,IAAIF,UAAUG,OAAO,CAACD,IAAInB,EAAE,MAAM,CAAC,GAAG;wBACpCiB,UAAUI,IAAI,CAACF,IAAInB,EAAE;wBAErB,OAAO;+BACFkB;4BACH;gCACEZ,OAAOa,GAAG,CAACL,SAAS;gCACpBe,YAAYhB;gCACZJ,OAAOU,IAAInB,EAAE;4BACf;yBACD;oBACH;oBAEA,OAAOkB;gBACT,GAAG,EAAE;gBAEL,IAAIK,gBAAgB;oBAClBA,eAAe3B,OAAO,GAAG;2BAAI2B,eAAe3B,OAAO;2BAAKgC;qBAAc;gBACxE,OAAO;oBACLN,WAAWD,IAAI,CAAC;wBACdf,OAAOZ,eAAegB,WAAWgB,MAAM,CAACC,MAAM,EAAEpB;wBAChDX,SAASgC;wBACTnB,OAAOqB;oBACT;gBACF;gBAEA,OAAOR;YACT;QAEA;YAAS;gBACP,OAAOpB;YACT;IACF;AACF;AAEA,eAAeD,eAAc"}
1
+ {"version":3,"file":"optionsReducer.js","names":["getTranslation","reduceToIDs","options","reduce","ids","option","id","optionsReducer","state","action","type","required","label","i18n","t","value","collection","data","hasMultipleRelations","relation","labelKey","admin","useAsTitle","loadedIDs","docs","doc","indexOf","push","newOptions","optionsToAddTo","find","optionGroup","labels","plural","newSubOptions","relationTo","undefined"],"sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/optionsReducer.ts"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { Action, Option } from './types.js'\n\nconst reduceToIDs = (options) =>\n options.reduce((ids, option) => {\n if (option.options) {\n return [...ids, ...reduceToIDs(option.options)]\n }\n\n return [...ids, option.id]\n }, [])\n\nconst optionsReducer = (state: Option[], action: Action): Option[] => {\n switch (action.type) {\n case 'CLEAR': {\n return action.required ? [] : [{ label: action.i18n.t('general:none'), value: 'null' }]\n }\n\n case 'ADD': {\n const { collection, data, hasMultipleRelations, i18n, relation } = action\n\n const labelKey = collection.admin.useAsTitle || 'id'\n\n const loadedIDs = reduceToIDs(state)\n\n if (!hasMultipleRelations) {\n return [\n ...state,\n ...data.docs.reduce((docs, doc) => {\n if (loadedIDs.indexOf(doc.id) === -1) {\n loadedIDs.push(doc.id)\n return [\n ...docs,\n {\n label: doc[labelKey],\n value: doc.id,\n },\n ]\n }\n return docs\n }, []),\n ]\n }\n\n const newOptions = [...state]\n const optionsToAddTo = newOptions.find(\n (optionGroup) => optionGroup.label === getTranslation(collection.labels.plural, i18n),\n )\n\n const newSubOptions = data.docs.reduce((docs, doc) => {\n if (loadedIDs.indexOf(doc.id) === -1) {\n loadedIDs.push(doc.id)\n\n return [\n ...docs,\n {\n label: doc[labelKey],\n relationTo: relation,\n value: doc.id,\n },\n ]\n }\n\n return docs\n }, [])\n\n if (optionsToAddTo) {\n optionsToAddTo.options = [...optionsToAddTo.options, ...newSubOptions]\n } else {\n newOptions.push({\n label: getTranslation(collection.labels.plural, i18n),\n options: newSubOptions,\n value: undefined,\n })\n }\n\n return newOptions\n }\n\n default: {\n return state\n }\n }\n}\n\nexport default optionsReducer\n"],"mappings":"AAAA;;AACA,SAASA,cAAc,QAAQ;AAI/B,MAAMC,WAAA,GAAeC,OAAA,IACnBA,OAAA,CAAQC,MAAM,CAAC,CAACC,GAAA,EAAKC,MAAA;EACnB,IAAIA,MAAA,CAAOH,OAAO,EAAE;IAClB,OAAO,C,GAAIE,GAAA,E,GAAQH,WAAA,CAAYI,MAAA,CAAOH,OAAO,EAAE;EACjD;EAEA,OAAO,C,GAAIE,GAAA,EAAKC,MAAA,CAAOC,EAAE,CAAC;AAC5B,GAAG,EAAE;AAEP,MAAMC,cAAA,GAAiBA,CAACC,KAAA,EAAiBC,MAAA;EACvC,QAAQA,MAAA,CAAOC,IAAI;IACjB,KAAK;MAAS;QACZ,OAAOD,MAAA,CAAOE,QAAQ,GAAG,EAAE,GAAG,CAAC;UAAEC,KAAA,EAAOH,MAAA,CAAOI,IAAI,CAACC,CAAC,CAAC;UAAiBC,KAAA,EAAO;QAAO,EAAE;MACzF;IAEA,KAAK;MAAO;QACV,MAAM;UAAEC,UAAU;UAAEC,IAAI;UAAEC,oBAAoB;UAAEL,IAAI;UAAEM;QAAQ,CAAE,GAAGV,MAAA;QAEnE,MAAMW,QAAA,GAAWJ,UAAA,CAAWK,KAAK,CAACC,UAAU,IAAI;QAEhD,MAAMC,SAAA,GAAYtB,WAAA,CAAYO,KAAA;QAE9B,IAAI,CAACU,oBAAA,EAAsB;UACzB,OAAO,C,GACFV,KAAA,E,GACAS,IAAA,CAAKO,IAAI,CAACrB,MAAM,CAAC,CAACqB,IAAA,EAAMC,GAAA;YACzB,IAAIF,SAAA,CAAUG,OAAO,CAACD,GAAA,CAAInB,EAAE,MAAM,CAAC,GAAG;cACpCiB,SAAA,CAAUI,IAAI,CAACF,GAAA,CAAInB,EAAE;cACrB,OAAO,C,GACFkB,IAAA,EACH;gBACEZ,KAAA,EAAOa,GAAG,CAACL,QAAA,CAAS;gBACpBL,KAAA,EAAOU,GAAA,CAAInB;cACb,EACD;YACH;YACA,OAAOkB,IAAA;UACT,GAAG,EAAE,EACN;QACH;QAEA,MAAMI,UAAA,GAAa,C,GAAIpB,KAAA,CAAM;QAC7B,MAAMqB,cAAA,GAAiBD,UAAA,CAAWE,IAAI,CACnCC,WAAA,IAAgBA,WAAA,CAAYnB,KAAK,KAAKZ,cAAA,CAAegB,UAAA,CAAWgB,MAAM,CAACC,MAAM,EAAEpB,IAAA;QAGlF,MAAMqB,aAAA,GAAgBjB,IAAA,CAAKO,IAAI,CAACrB,MAAM,CAAC,CAACqB,IAAA,EAAMC,GAAA;UAC5C,IAAIF,SAAA,CAAUG,OAAO,CAACD,GAAA,CAAInB,EAAE,MAAM,CAAC,GAAG;YACpCiB,SAAA,CAAUI,IAAI,CAACF,GAAA,CAAInB,EAAE;YAErB,OAAO,C,GACFkB,IAAA,EACH;cACEZ,KAAA,EAAOa,GAAG,CAACL,QAAA,CAAS;cACpBe,UAAA,EAAYhB,QAAA;cACZJ,KAAA,EAAOU,GAAA,CAAInB;YACb,EACD;UACH;UAEA,OAAOkB,IAAA;QACT,GAAG,EAAE;QAEL,IAAIK,cAAA,EAAgB;UAClBA,cAAA,CAAe3B,OAAO,GAAG,C,GAAI2B,cAAA,CAAe3B,OAAO,E,GAAKgC,aAAA,CAAc;QACxE,OAAO;UACLN,UAAA,CAAWD,IAAI,CAAC;YACdf,KAAA,EAAOZ,cAAA,CAAegB,UAAA,CAAWgB,MAAM,CAACC,MAAM,EAAEpB,IAAA;YAChDX,OAAA,EAASgC,aAAA;YACTnB,KAAA,EAAOqB;UACT;QACF;QAEA,OAAOR,UAAA;MACT;IAEA;MAAS;QACP,OAAOpB,KAAA;MACT;EACF;AACF;AAEA,eAAeD,cAAA","ignoreList":[]}
@@ -1,3 +1,2 @@
1
- export { };
2
-
1
+ export {};
3
2
  //# sourceMappingURL=types.js.map
@@ -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 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
+ {"version":3,"file":"types.js","names":[],"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"],"mappings":"AAsCA","ignoreList":[]}
@@ -1,83 +1,174 @@
1
1
  'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
2
4
  import { jsx as _jsx } from "react/jsx-runtime";
3
5
  import { getTranslation } from '@payloadcms/translations';
4
6
  import React from 'react';
5
7
  import { useTranslation } from '../../../../providers/Translation/index.js';
6
8
  import { ReactSelect } from '../../../ReactSelect/index.js';
7
- const formatOptions = (options)=>options.map((option)=>{
8
- if (typeof option === 'object' && (option.value || option.value === '')) {
9
- return option;
10
- }
9
+ const formatOptions = options => options.map(option => {
10
+ if (typeof option === 'object' && (option.value || option.value === '')) {
11
+ return option;
12
+ }
13
+ return {
14
+ label: option,
15
+ value: option
16
+ };
17
+ });
18
+ export const Select = t0 => {
19
+ const $ = _c(26);
20
+ const {
21
+ disabled,
22
+ onChange,
23
+ operator,
24
+ options: optionsFromProps,
25
+ value
26
+ } = t0;
27
+ const {
28
+ i18n
29
+ } = useTranslation();
30
+ let t1;
31
+ if ($[0] !== optionsFromProps) {
32
+ t1 = formatOptions(optionsFromProps);
33
+ $[0] = optionsFromProps;
34
+ $[1] = t1;
35
+ } else {
36
+ t1 = $[1];
37
+ }
38
+ const [options, setOptions] = React.useState(t1);
39
+ let t2;
40
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
41
+ t2 = ["in", "not_in"];
42
+ $[2] = t2;
43
+ } else {
44
+ t2 = $[2];
45
+ }
46
+ const isMulti = t2.includes(operator);
47
+ let valueToRender;
48
+ if (isMulti && Array.isArray(value)) {
49
+ let t3;
50
+ if ($[3] !== options || $[4] !== i18n) {
51
+ t3 = val => {
52
+ const matchingOption = options.find(option => option.value === val);
11
53
  return {
12
- label: option,
13
- value: option
14
- };
15
- });
16
- export const Select = ({ disabled, onChange, operator, options: optionsFromProps, value })=>{
17
- const { i18n } = useTranslation();
18
- const [options, setOptions] = React.useState(formatOptions(optionsFromProps));
19
- const isMulti = [
20
- 'in',
21
- 'not_in'
22
- ].includes(operator);
23
- let valueToRender;
24
- if (isMulti && Array.isArray(value)) {
25
- valueToRender = value.map((val)=>{
26
- const matchingOption = options.find((option)=>option.value === val);
27
- return {
28
- label: matchingOption ? getTranslation(matchingOption.label, i18n) : val,
29
- value: matchingOption?.value ?? val
30
- };
31
- });
32
- } else if (value) {
33
- const matchingOption = options.find((option)=>option.value === value);
34
- valueToRender = {
35
- label: matchingOption ? getTranslation(matchingOption.label, i18n) : value,
36
- value: matchingOption?.value ?? value
54
+ label: matchingOption ? getTranslation(matchingOption.label, i18n) : val,
55
+ value: matchingOption?.value ?? val
37
56
  };
57
+ };
58
+ $[3] = options;
59
+ $[4] = i18n;
60
+ $[5] = t3;
61
+ } else {
62
+ t3 = $[5];
38
63
  }
39
- const onSelect = React.useCallback((selectedOption)=>{
40
- let newValue;
41
- if (!selectedOption) {
42
- newValue = null;
43
- } else if (isMulti) {
44
- if (Array.isArray(selectedOption)) {
45
- newValue = selectedOption.map((option)=>option.value);
46
- } else {
47
- newValue = [];
48
- }
64
+ valueToRender = value.map(t3);
65
+ } else {
66
+ if (value) {
67
+ let matchingOption_0;
68
+ let t3;
69
+ if ($[6] !== value || $[7] !== options || $[8] !== i18n) {
70
+ let t4;
71
+ if ($[11] !== value) {
72
+ t4 = option_0 => option_0.value === value;
73
+ $[11] = value;
74
+ $[12] = t4;
49
75
  } else {
50
- newValue = selectedOption.value;
76
+ t4 = $[12];
51
77
  }
52
- onChange(newValue);
53
- }, [
54
- isMulti,
55
- onChange
56
- ]);
57
- React.useEffect(()=>{
58
- setOptions(formatOptions(optionsFromProps));
59
- }, [
60
- optionsFromProps
61
- ]);
62
- React.useEffect(()=>{
63
- if (!isMulti && Array.isArray(value)) {
64
- onChange(value[0]);
78
+ matchingOption_0 = options.find(t4);
79
+ t3 = matchingOption_0 ? getTranslation(matchingOption_0.label, i18n) : value;
80
+ $[6] = value;
81
+ $[7] = options;
82
+ $[8] = i18n;
83
+ $[9] = matchingOption_0;
84
+ $[10] = t3;
85
+ } else {
86
+ matchingOption_0 = $[9];
87
+ t3 = $[10];
88
+ }
89
+ valueToRender = {
90
+ label: t3,
91
+ value: matchingOption_0?.value ?? value
92
+ };
93
+ }
94
+ }
95
+ let t3;
96
+ if ($[13] !== isMulti || $[14] !== onChange) {
97
+ t3 = selectedOption => {
98
+ let newValue;
99
+ if (!selectedOption) {
100
+ newValue = null;
101
+ } else {
102
+ if (isMulti) {
103
+ if (Array.isArray(selectedOption)) {
104
+ newValue = selectedOption.map(option_1 => option_1.value);
105
+ } else {
106
+ newValue = [];
107
+ }
108
+ } else {
109
+ newValue = selectedOption.value;
65
110
  }
66
- }, [
67
- isMulti,
68
- onChange,
69
- value
70
- ]);
71
- return /*#__PURE__*/ _jsx(ReactSelect, {
72
- disabled: disabled,
73
- isMulti: isMulti,
74
- onChange: onSelect,
75
- options: options.map((option)=>({
76
- ...option,
77
- label: getTranslation(option.label, i18n)
78
- })),
79
- value: valueToRender
111
+ }
112
+ onChange(newValue);
113
+ };
114
+ $[13] = isMulti;
115
+ $[14] = onChange;
116
+ $[15] = t3;
117
+ } else {
118
+ t3 = $[15];
119
+ }
120
+ const onSelect = t3;
121
+ let t4;
122
+ let t5;
123
+ if ($[16] !== optionsFromProps) {
124
+ t4 = () => {
125
+ setOptions(formatOptions(optionsFromProps));
126
+ };
127
+ t5 = [optionsFromProps];
128
+ $[16] = optionsFromProps;
129
+ $[17] = t4;
130
+ $[18] = t5;
131
+ } else {
132
+ t4 = $[17];
133
+ t5 = $[18];
134
+ }
135
+ React.useEffect(t4, t5);
136
+ let t6;
137
+ let t7;
138
+ if ($[19] !== isMulti || $[20] !== value || $[21] !== onChange) {
139
+ t6 = () => {
140
+ if (!isMulti && Array.isArray(value)) {
141
+ onChange(value[0]);
142
+ }
143
+ };
144
+ t7 = [isMulti, onChange, value];
145
+ $[19] = isMulti;
146
+ $[20] = value;
147
+ $[21] = onChange;
148
+ $[22] = t6;
149
+ $[23] = t7;
150
+ } else {
151
+ t6 = $[22];
152
+ t7 = $[23];
153
+ }
154
+ React.useEffect(t6, t7);
155
+ let t8;
156
+ if ($[24] !== i18n) {
157
+ t8 = option_2 => ({
158
+ ...option_2,
159
+ label: getTranslation(option_2.label, i18n)
80
160
  });
161
+ $[24] = i18n;
162
+ $[25] = t8;
163
+ } else {
164
+ t8 = $[25];
165
+ }
166
+ return _jsx(ReactSelect, {
167
+ disabled,
168
+ isMulti,
169
+ onChange: onSelect,
170
+ options: options.map(t8),
171
+ value: valueToRender
172
+ });
81
173
  };
82
-
83
174
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Select/index.tsx"],"sourcesContent":["'use client'\nimport type { Option, OptionObject } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { ReactSelect } from '../../../ReactSelect/index.js'\n\nconst formatOptions = (options: Option[]): OptionObject[] =>\n options.map((option) => {\n if (typeof option === 'object' && (option.value || option.value === '')) {\n return option\n }\n\n return {\n label: option,\n value: option,\n } as OptionObject\n })\n\nexport const Select: React.FC<Props> = ({\n disabled,\n onChange,\n operator,\n options: optionsFromProps,\n value,\n}) => {\n const { i18n } = useTranslation()\n const [options, setOptions] = React.useState(formatOptions(optionsFromProps))\n\n const isMulti = ['in', 'not_in'].includes(operator)\n let valueToRender\n\n if (isMulti && Array.isArray(value)) {\n valueToRender = value.map((val) => {\n const matchingOption = options.find((option) => option.value === val)\n return {\n label: matchingOption ? getTranslation(matchingOption.label, i18n) : val,\n value: matchingOption?.value ?? val,\n }\n })\n } else if (value) {\n const matchingOption = options.find((option) => option.value === value)\n valueToRender = {\n label: matchingOption ? getTranslation(matchingOption.label, i18n) : value,\n value: matchingOption?.value ?? value,\n }\n }\n\n const onSelect = React.useCallback(\n (selectedOption) => {\n let newValue\n if (!selectedOption) {\n newValue = null\n } else if (isMulti) {\n if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => option.value)\n } else {\n newValue = []\n }\n } else {\n newValue = selectedOption.value\n }\n\n onChange(newValue)\n },\n [isMulti, onChange],\n )\n\n React.useEffect(() => {\n setOptions(formatOptions(optionsFromProps))\n }, [optionsFromProps])\n\n React.useEffect(() => {\n if (!isMulti && Array.isArray(value)) {\n onChange(value[0])\n }\n }, [isMulti, onChange, value])\n\n return (\n <ReactSelect\n disabled={disabled}\n isMulti={isMulti}\n onChange={onSelect}\n options={options.map((option) => ({ ...option, label: getTranslation(option.label, i18n) }))}\n value={valueToRender}\n />\n )\n}\n"],"names":["getTranslation","React","useTranslation","ReactSelect","formatOptions","options","map","option","value","label","Select","disabled","onChange","operator","optionsFromProps","i18n","setOptions","useState","isMulti","includes","valueToRender","Array","isArray","val","matchingOption","find","onSelect","useCallback","selectedOption","newValue","useEffect"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAIzB,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,SAASC,WAAW,QAAQ,gCAA+B;AAE3D,MAAMC,gBAAgB,CAACC,UACrBA,QAAQC,GAAG,CAAC,CAACC;QACX,IAAI,OAAOA,WAAW,YAAaA,CAAAA,OAAOC,KAAK,IAAID,OAAOC,KAAK,KAAK,EAAC,GAAI;YACvE,OAAOD;QACT;QAEA,OAAO;YACLE,OAAOF;YACPC,OAAOD;QACT;IACF;AAEF,OAAO,MAAMG,SAA0B,CAAC,EACtCC,QAAQ,EACRC,QAAQ,EACRC,QAAQ,EACRR,SAASS,gBAAgB,EACzBN,KAAK,EACN;IACC,MAAM,EAAEO,IAAI,EAAE,GAAGb;IACjB,MAAM,CAACG,SAASW,WAAW,GAAGf,MAAMgB,QAAQ,CAACb,cAAcU;IAE3D,MAAMI,UAAU;QAAC;QAAM;KAAS,CAACC,QAAQ,CAACN;IAC1C,IAAIO;IAEJ,IAAIF,WAAWG,MAAMC,OAAO,CAACd,QAAQ;QACnCY,gBAAgBZ,MAAMF,GAAG,CAAC,CAACiB;YACzB,MAAMC,iBAAiBnB,QAAQoB,IAAI,CAAC,CAAClB,SAAWA,OAAOC,KAAK,KAAKe;YACjE,OAAO;gBACLd,OAAOe,iBAAiBxB,eAAewB,eAAef,KAAK,EAAEM,QAAQQ;gBACrEf,OAAOgB,gBAAgBhB,SAASe;YAClC;QACF;IACF,OAAO,IAAIf,OAAO;QAChB,MAAMgB,iBAAiBnB,QAAQoB,IAAI,CAAC,CAAClB,SAAWA,OAAOC,KAAK,KAAKA;QACjEY,gBAAgB;YACdX,OAAOe,iBAAiBxB,eAAewB,eAAef,KAAK,EAAEM,QAAQP;YACrEA,OAAOgB,gBAAgBhB,SAASA;QAClC;IACF;IAEA,MAAMkB,WAAWzB,MAAM0B,WAAW,CAChC,CAACC;QACC,IAAIC;QACJ,IAAI,CAACD,gBAAgB;YACnBC,WAAW;QACb,OAAO,IAAIX,SAAS;YAClB,IAAIG,MAAMC,OAAO,CAACM,iBAAiB;gBACjCC,WAAWD,eAAetB,GAAG,CAAC,CAACC,SAAWA,OAAOC,KAAK;YACxD,OAAO;gBACLqB,WAAW,EAAE;YACf;QACF,OAAO;YACLA,WAAWD,eAAepB,KAAK;QACjC;QAEAI,SAASiB;IACX,GACA;QAACX;QAASN;KAAS;IAGrBX,MAAM6B,SAAS,CAAC;QACdd,WAAWZ,cAAcU;IAC3B,GAAG;QAACA;KAAiB;IAErBb,MAAM6B,SAAS,CAAC;QACd,IAAI,CAACZ,WAAWG,MAAMC,OAAO,CAACd,QAAQ;YACpCI,SAASJ,KAAK,CAAC,EAAE;QACnB;IACF,GAAG;QAACU;QAASN;QAAUJ;KAAM;IAE7B,qBACE,KAACL;QACCQ,UAAUA;QACVO,SAASA;QACTN,UAAUc;QACVrB,SAASA,QAAQC,GAAG,CAAC,CAACC,SAAY,CAAA;gBAAE,GAAGA,MAAM;gBAAEE,OAAOT,eAAeO,OAAOE,KAAK,EAAEM;YAAM,CAAA;QACzFP,OAAOY;;AAGb,EAAC"}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useTranslation","ReactSelect","formatOptions","options","map","option","value","label","Select","t0","$","disabled","onChange","operator","optionsFromProps","i18n","t1","setOptions","useState","t2","Symbol","for","isMulti","includes","valueToRender","Array","isArray","t3","val","matchingOption","find","matchingOption_0","t4","option_0","selectedOption","newValue","option_1","onSelect","t5","useEffect","t6","t7","t8","option_2","_jsx"],"sources":["../../../../../src/elements/WhereBuilder/Condition/Select/index.tsx"],"sourcesContent":["'use client'\nimport type { Option, OptionObject } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { ReactSelect } from '../../../ReactSelect/index.js'\n\nconst formatOptions = (options: Option[]): OptionObject[] =>\n options.map((option) => {\n if (typeof option === 'object' && (option.value || option.value === '')) {\n return option\n }\n\n return {\n label: option,\n value: option,\n } as OptionObject\n })\n\nexport const Select: React.FC<Props> = ({\n disabled,\n onChange,\n operator,\n options: optionsFromProps,\n value,\n}) => {\n const { i18n } = useTranslation()\n const [options, setOptions] = React.useState(formatOptions(optionsFromProps))\n\n const isMulti = ['in', 'not_in'].includes(operator)\n let valueToRender\n\n if (isMulti && Array.isArray(value)) {\n valueToRender = value.map((val) => {\n const matchingOption = options.find((option) => option.value === val)\n return {\n label: matchingOption ? getTranslation(matchingOption.label, i18n) : val,\n value: matchingOption?.value ?? val,\n }\n })\n } else if (value) {\n const matchingOption = options.find((option) => option.value === value)\n valueToRender = {\n label: matchingOption ? getTranslation(matchingOption.label, i18n) : value,\n value: matchingOption?.value ?? value,\n }\n }\n\n const onSelect = React.useCallback(\n (selectedOption) => {\n let newValue\n if (!selectedOption) {\n newValue = null\n } else if (isMulti) {\n if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => option.value)\n } else {\n newValue = []\n }\n } else {\n newValue = selectedOption.value\n }\n\n onChange(newValue)\n },\n [isMulti, onChange],\n )\n\n React.useEffect(() => {\n setOptions(formatOptions(optionsFromProps))\n }, [optionsFromProps])\n\n React.useEffect(() => {\n if (!isMulti && Array.isArray(value)) {\n onChange(value[0])\n }\n }, [isMulti, onChange, value])\n\n return (\n <ReactSelect\n disabled={disabled}\n isMulti={isMulti}\n onChange={onSelect}\n options={options.map((option) => ({ ...option, label: getTranslation(option.label, i18n) }))}\n value={valueToRender}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,2 @@
1
- export { };
2
-
1
+ export {};
3
2
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Select/types.ts"],"sourcesContent":["import type { Operator, Option } from 'payload'\n\nexport type Props = {\n disabled?: boolean\n onChange: (val: string) => void\n operator: Operator\n options: Option[]\n value: string\n}\n"],"names":[],"mappings":"AAEA,WAMC"}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/elements/WhereBuilder/Condition/Select/types.ts"],"sourcesContent":["import type { Operator, Option } from 'payload'\n\nexport type Props = {\n disabled?: boolean\n onChange: (val: string) => void\n operator: Operator\n options: Option[]\n value: string\n}\n"],"mappings":"AAEA","ignoreList":[]}