@payloadcms/ui 3.0.0-beta.70 → 3.0.0-beta.72

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 (301) hide show
  1. package/dist/elements/ArrayAction/index.d.ts +1 -1
  2. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  3. package/dist/elements/ArrayAction/index.js +1 -1
  4. package/dist/elements/ArrayAction/index.js.map +1 -1
  5. package/dist/elements/Autosave/index.d.ts.map +1 -1
  6. package/dist/elements/Autosave/index.js +7 -1
  7. package/dist/elements/Autosave/index.js.map +1 -1
  8. package/dist/elements/Collapsible/index.d.ts +1 -1
  9. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  10. package/dist/elements/Collapsible/index.js +1 -1
  11. package/dist/elements/Collapsible/index.js.map +1 -1
  12. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  13. package/dist/elements/DeleteMany/index.js +4 -2
  14. package/dist/elements/DeleteMany/index.js.map +1 -1
  15. package/dist/elements/DocumentFields/index.d.ts +1 -2
  16. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  17. package/dist/elements/DocumentFields/index.js.map +1 -1
  18. package/dist/elements/Drawer/index.d.ts.map +1 -1
  19. package/dist/elements/Drawer/index.js +3 -0
  20. package/dist/elements/Drawer/index.js.map +1 -1
  21. package/dist/elements/Drawer/index.scss +2 -1
  22. package/dist/elements/EditMany/index.d.ts +1 -2
  23. package/dist/elements/EditMany/index.d.ts.map +1 -1
  24. package/dist/elements/EditMany/index.js.map +1 -1
  25. package/dist/elements/FieldSelect/index.d.ts +1 -2
  26. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  27. package/dist/elements/FieldSelect/index.js.map +1 -1
  28. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts +1 -1
  29. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
  30. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  31. package/dist/elements/ListControls/index.d.ts +1 -2
  32. package/dist/elements/ListControls/index.d.ts.map +1 -1
  33. package/dist/elements/ListControls/index.js.map +1 -1
  34. package/dist/elements/Logout/index.d.ts.map +1 -1
  35. package/dist/elements/Logout/index.js +2 -0
  36. package/dist/elements/Logout/index.js.map +1 -1
  37. package/dist/elements/SortColumn/index.d.ts +2 -2
  38. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  39. package/dist/elements/SortColumn/index.js +4 -4
  40. package/dist/elements/SortColumn/index.js.map +1 -1
  41. package/dist/elements/StepNav/types.d.ts +2 -2
  42. package/dist/elements/StepNav/types.d.ts.map +1 -1
  43. package/dist/elements/StepNav/types.js.map +1 -1
  44. package/dist/elements/Table/index.d.ts +1 -2
  45. package/dist/elements/Table/index.d.ts.map +1 -1
  46. package/dist/elements/Table/index.js.map +1 -1
  47. package/dist/elements/TableColumns/buildColumnState.d.ts +1 -2
  48. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  49. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  50. package/dist/elements/TableColumns/filterFields.d.ts +1 -1
  51. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
  52. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  53. package/dist/elements/TableColumns/getInitialColumns.d.ts +1 -1
  54. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
  55. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  56. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  57. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +7 -1
  58. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  59. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  60. package/dist/elements/WhereBuilder/index.js +7 -4
  61. package/dist/elements/WhereBuilder/index.js.map +1 -1
  62. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +1 -1
  63. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -1
  64. package/dist/elements/WhereBuilder/reduceFieldMap.js +3 -3
  65. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
  66. package/dist/elements/WhereBuilder/types.d.ts +1 -2
  67. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  68. package/dist/elements/WhereBuilder/types.js.map +1 -1
  69. package/dist/exports/client/index.d.ts +5 -6
  70. package/dist/exports/client/index.d.ts.map +1 -1
  71. package/dist/exports/client/index.js +19 -18
  72. package/dist/exports/client/index.js.map +4 -4
  73. package/dist/exports/shared/index.js +1 -1
  74. package/dist/exports/shared/index.js.map +3 -3
  75. package/dist/fields/Array/ArrayRow.d.ts +2 -3
  76. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  77. package/dist/fields/Array/ArrayRow.js.map +1 -1
  78. package/dist/fields/Array/index.d.ts +2 -15
  79. package/dist/fields/Array/index.d.ts.map +1 -1
  80. package/dist/fields/Array/index.js +25 -8
  81. package/dist/fields/Array/index.js.map +1 -1
  82. package/dist/fields/Blocks/BlockRow.d.ts +2 -3
  83. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  84. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  85. package/dist/fields/Blocks/BlocksDrawer/index.d.ts +2 -3
  86. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  87. package/dist/fields/Blocks/BlocksDrawer/index.js +1 -1
  88. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  89. package/dist/fields/Blocks/RowActions.d.ts +2 -3
  90. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  91. package/dist/fields/Blocks/RowActions.js +1 -1
  92. package/dist/fields/Blocks/RowActions.js.map +1 -1
  93. package/dist/fields/Blocks/index.d.ts +1 -14
  94. package/dist/fields/Blocks/index.d.ts.map +1 -1
  95. package/dist/fields/Blocks/index.js +22 -9
  96. package/dist/fields/Blocks/index.js.map +1 -1
  97. package/dist/fields/Checkbox/Input.d.ts +1 -1
  98. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  99. package/dist/fields/Checkbox/Input.js.map +1 -1
  100. package/dist/fields/Checkbox/index.d.ts +1 -1
  101. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  102. package/dist/fields/Checkbox/index.js +2 -2
  103. package/dist/fields/Checkbox/index.js.map +1 -1
  104. package/dist/fields/Code/index.d.ts +1 -9
  105. package/dist/fields/Code/index.d.ts.map +1 -1
  106. package/dist/fields/Code/index.js +2 -2
  107. package/dist/fields/Code/index.js.map +1 -1
  108. package/dist/fields/Collapsible/index.d.ts +1 -7
  109. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  110. package/dist/fields/Collapsible/index.js +2 -2
  111. package/dist/fields/Collapsible/index.js.map +1 -1
  112. package/dist/fields/ConfirmPassword/index.d.ts +1 -0
  113. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  114. package/dist/fields/ConfirmPassword/index.js +2 -3
  115. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  116. package/dist/fields/DateTime/index.d.ts +1 -9
  117. package/dist/fields/DateTime/index.d.ts.map +1 -1
  118. package/dist/fields/DateTime/index.js +2 -2
  119. package/dist/fields/DateTime/index.js.map +1 -1
  120. package/dist/fields/Email/index.d.ts +1 -9
  121. package/dist/fields/Email/index.d.ts.map +1 -1
  122. package/dist/fields/Email/index.js +2 -2
  123. package/dist/fields/Email/index.js.map +1 -1
  124. package/dist/fields/FieldDescription/index.d.ts +2 -2
  125. package/dist/fields/FieldDescription/index.d.ts.map +1 -1
  126. package/dist/fields/FieldDescription/index.js.map +1 -1
  127. package/dist/fields/FieldError/index.d.ts +2 -2
  128. package/dist/fields/FieldError/index.d.ts.map +1 -1
  129. package/dist/fields/FieldError/index.js.map +1 -1
  130. package/dist/fields/FieldLabel/index.d.ts +2 -2
  131. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  132. package/dist/fields/FieldLabel/index.js.map +1 -1
  133. package/dist/fields/Group/index.d.ts +2 -10
  134. package/dist/fields/Group/index.d.ts.map +1 -1
  135. package/dist/fields/Group/index.js +2 -2
  136. package/dist/fields/Group/index.js.map +1 -1
  137. package/dist/fields/Hidden/index.d.ts +2 -9
  138. package/dist/fields/Hidden/index.d.ts.map +1 -1
  139. package/dist/fields/Hidden/index.js +2 -2
  140. package/dist/fields/Hidden/index.js.map +1 -1
  141. package/dist/fields/JSON/index.d.ts +1 -9
  142. package/dist/fields/JSON/index.d.ts.map +1 -1
  143. package/dist/fields/JSON/index.js +2 -2
  144. package/dist/fields/JSON/index.js.map +1 -1
  145. package/dist/fields/Number/index.d.ts +1 -14
  146. package/dist/fields/Number/index.d.ts.map +1 -1
  147. package/dist/fields/Number/index.js +2 -2
  148. package/dist/fields/Number/index.js.map +1 -1
  149. package/dist/fields/Password/index.d.ts +12 -2
  150. package/dist/fields/Password/index.d.ts.map +1 -1
  151. package/dist/fields/Password/index.js +58 -45
  152. package/dist/fields/Password/index.js.map +1 -1
  153. package/dist/fields/Password/input.d.ts +5 -0
  154. package/dist/fields/Password/input.d.ts.map +1 -0
  155. package/dist/fields/Password/input.js +65 -0
  156. package/dist/fields/Password/input.js.map +1 -0
  157. package/dist/fields/Password/types.d.ts +27 -0
  158. package/dist/fields/Password/types.d.ts.map +1 -0
  159. package/dist/fields/Password/types.js.map +1 -0
  160. package/dist/fields/Point/index.d.ts +2 -9
  161. package/dist/fields/Point/index.d.ts.map +1 -1
  162. package/dist/fields/Point/index.js +2 -2
  163. package/dist/fields/Point/index.js.map +1 -1
  164. package/dist/fields/RadioGroup/Radio/index.d.ts +2 -3
  165. package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  166. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  167. package/dist/fields/RadioGroup/index.d.ts +1 -12
  168. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  169. package/dist/fields/RadioGroup/index.js +2 -2
  170. package/dist/fields/RadioGroup/index.js.map +1 -1
  171. package/dist/fields/Relationship/index.d.ts +1 -2
  172. package/dist/fields/Relationship/index.d.ts.map +1 -1
  173. package/dist/fields/Relationship/index.js +2 -2
  174. package/dist/fields/Relationship/index.js.map +1 -1
  175. package/dist/fields/Relationship/types.d.ts +1 -11
  176. package/dist/fields/Relationship/types.d.ts.map +1 -1
  177. package/dist/fields/Relationship/types.js.map +1 -1
  178. package/dist/fields/RichText/index.d.ts +2 -8
  179. package/dist/fields/RichText/index.d.ts.map +1 -1
  180. package/dist/fields/RichText/index.js.map +1 -1
  181. package/dist/fields/Row/index.d.ts +1 -2
  182. package/dist/fields/Row/index.d.ts.map +1 -1
  183. package/dist/fields/Row/index.js +2 -2
  184. package/dist/fields/Row/index.js.map +1 -1
  185. package/dist/fields/Row/index.scss +1 -5
  186. package/dist/fields/Select/Input.d.ts +1 -2
  187. package/dist/fields/Select/Input.d.ts.map +1 -1
  188. package/dist/fields/Select/Input.js.map +1 -1
  189. package/dist/fields/Select/index.d.ts +1 -13
  190. package/dist/fields/Select/index.d.ts.map +1 -1
  191. package/dist/fields/Select/index.js +2 -2
  192. package/dist/fields/Select/index.js.map +1 -1
  193. package/dist/fields/Tabs/Tab/index.d.ts +1 -1
  194. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  195. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  196. package/dist/fields/Tabs/index.d.ts +1 -9
  197. package/dist/fields/Tabs/index.d.ts.map +1 -1
  198. package/dist/fields/Tabs/index.js +24 -24
  199. package/dist/fields/Tabs/index.js.map +1 -1
  200. package/dist/fields/Text/index.d.ts +3 -2
  201. package/dist/fields/Text/index.d.ts.map +1 -1
  202. package/dist/fields/Text/index.js +2 -2
  203. package/dist/fields/Text/index.js.map +1 -1
  204. package/dist/fields/Text/types.d.ts +1 -15
  205. package/dist/fields/Text/types.d.ts.map +1 -1
  206. package/dist/fields/Text/types.js.map +1 -1
  207. package/dist/fields/Textarea/index.d.ts +3 -2
  208. package/dist/fields/Textarea/index.d.ts.map +1 -1
  209. package/dist/fields/Textarea/index.js +2 -2
  210. package/dist/fields/Textarea/index.js.map +1 -1
  211. package/dist/fields/Textarea/types.d.ts +1 -11
  212. package/dist/fields/Textarea/types.d.ts.map +1 -1
  213. package/dist/fields/Textarea/types.js.map +1 -1
  214. package/dist/fields/Upload/Input.d.ts +1 -2
  215. package/dist/fields/Upload/Input.d.ts.map +1 -1
  216. package/dist/fields/Upload/Input.js.map +1 -1
  217. package/dist/fields/Upload/index.d.ts +1 -1
  218. package/dist/fields/Upload/index.d.ts.map +1 -1
  219. package/dist/fields/Upload/index.js +2 -2
  220. package/dist/fields/Upload/index.js.map +1 -1
  221. package/dist/fields/shared/index.d.ts +1 -25
  222. package/dist/fields/shared/index.d.ts.map +1 -1
  223. package/dist/fields/shared/index.js.map +1 -1
  224. package/dist/forms/Form/createNestedFieldPath.d.ts +1 -2
  225. package/dist/forms/Form/createNestedFieldPath.d.ts.map +1 -1
  226. package/dist/forms/Form/createNestedFieldPath.js.map +1 -1
  227. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  228. package/dist/forms/Form/fieldReducer.js +5 -35
  229. package/dist/forms/Form/fieldReducer.js.map +1 -1
  230. package/dist/forms/Form/rowHelpers.d.ts +17 -0
  231. package/dist/forms/Form/rowHelpers.d.ts.map +1 -0
  232. package/dist/forms/Form/rowHelpers.js +24 -0
  233. package/dist/forms/Form/rowHelpers.js.map +1 -0
  234. package/dist/forms/Form/types.d.ts +3 -10
  235. package/dist/forms/Form/types.d.ts.map +1 -1
  236. package/dist/forms/Form/types.js.map +1 -1
  237. package/dist/forms/RenderFields/RenderField.d.ts +4 -3
  238. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  239. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  240. package/dist/forms/RenderFields/types.d.ts +1 -2
  241. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  242. package/dist/forms/RenderFields/types.js.map +1 -1
  243. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts +1 -1
  244. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  245. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  246. package/dist/forms/WatchChildErrors/index.d.ts +1 -1
  247. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  248. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  249. package/dist/forms/useField/index.d.ts.map +1 -1
  250. package/dist/forms/useField/index.js +2 -1
  251. package/dist/forms/useField/index.js.map +1 -1
  252. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  253. package/dist/hooks/usePayloadAPI.js +5 -1
  254. package/dist/hooks/usePayloadAPI.js.map +1 -1
  255. package/dist/hooks/useUseAsTitle.d.ts +1 -2
  256. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  257. package/dist/hooks/useUseAsTitle.js.map +1 -1
  258. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +1 -2
  259. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  260. package/dist/providers/ComponentMap/buildComponentMap/fields.js +126 -95
  261. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  262. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +1 -56
  263. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  264. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  265. package/dist/providers/ComponentMap/index.d.ts +2 -1
  266. package/dist/providers/ComponentMap/index.d.ts.map +1 -1
  267. package/dist/providers/ComponentMap/index.js.map +1 -1
  268. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  269. package/dist/providers/DocumentInfo/index.js +5 -1
  270. package/dist/providers/DocumentInfo/index.js.map +1 -1
  271. package/dist/providers/ListQuery/index.d.ts +16 -9
  272. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  273. package/dist/providers/ListQuery/index.js +8 -6
  274. package/dist/providers/ListQuery/index.js.map +1 -1
  275. package/dist/styles.css +1 -1
  276. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  277. package/dist/utilities/buildFieldSchemaMap/index.js +24 -0
  278. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  279. package/dist/utilities/buildFormState.d.ts.map +1 -1
  280. package/dist/utilities/buildFormState.js +0 -2
  281. package/dist/utilities/buildFormState.js.map +1 -1
  282. package/dist/utilities/flattenFieldMap.d.ts +1 -1
  283. package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
  284. package/dist/utilities/flattenFieldMap.js.map +1 -1
  285. package/dist/utilities/formatAdminURL.d.ts +1 -0
  286. package/dist/utilities/formatAdminURL.d.ts.map +1 -1
  287. package/dist/utilities/formatAdminURL.js +4 -4
  288. package/dist/utilities/formatAdminURL.js.map +1 -1
  289. package/package.json +5 -5
  290. package/dist/fields/Checkbox/types.d.ts +0 -12
  291. package/dist/fields/Checkbox/types.d.ts.map +0 -1
  292. package/dist/fields/Checkbox/types.js.map +0 -1
  293. package/dist/fields/Row/types.d.ts +0 -12
  294. package/dist/fields/Row/types.d.ts.map +0 -1
  295. package/dist/fields/Row/types.js +0 -3
  296. package/dist/fields/Row/types.js.map +0 -1
  297. package/dist/fields/Upload/types.d.ts +0 -10
  298. package/dist/fields/Upload/types.d.ts.map +0 -1
  299. package/dist/fields/Upload/types.js +0 -3
  300. package/dist/fields/Upload/types.js.map +0 -1
  301. /package/dist/fields/{Checkbox → Password}/types.js +0 -0
@@ -15,6 +15,8 @@ export const ListQueryProvider = ({ children, data, defaultLimit, defaultSort, h
15
15
  const { searchParams: currentQuery } = useSearchParams();
16
16
  const refineListData = React.useCallback(async (query)=>{
17
17
  if (!modifySearchParams) return;
18
+ let pageQuery = 'page' in query ? query.page : currentQuery?.page;
19
+ if ('where' in query || 'search' in query) pageQuery = '1';
18
20
  const updatedPreferences = {};
19
21
  let updatePreferences = false;
20
22
  if ('limit' in query) {
@@ -30,7 +32,7 @@ export const ListQueryProvider = ({ children, data, defaultLimit, defaultSort, h
30
32
  }
31
33
  const params = {
32
34
  limit: 'limit' in query ? query.limit : currentQuery?.limit,
33
- page: 'page' in query ? query.page : currentQuery?.page,
35
+ page: pageQuery,
34
36
  search: 'search' in query ? query.search : currentQuery?.search,
35
37
  sort: 'sort' in query ? query.sort : currentQuery?.sort,
36
38
  where: 'where' in query ? query.where : currentQuery?.where
@@ -47,7 +49,7 @@ export const ListQueryProvider = ({ children, data, defaultLimit, defaultSort, h
47
49
  ]);
48
50
  const handlePageChange = React.useCallback(async (arg)=>{
49
51
  if (typeof handlePageChangeFromProps === 'function') {
50
- handlePageChangeFromProps(arg);
52
+ await handlePageChangeFromProps(arg);
51
53
  }
52
54
  await refineListData({
53
55
  page: String(arg)
@@ -58,7 +60,7 @@ export const ListQueryProvider = ({ children, data, defaultLimit, defaultSort, h
58
60
  ]);
59
61
  const handlePerPageChange = React.useCallback(async (arg)=>{
60
62
  if (typeof handlePerPageChangeFromProps === 'function') {
61
- handlePerPageChangeFromProps(arg);
63
+ await handlePerPageChangeFromProps(arg);
62
64
  }
63
65
  await refineListData({
64
66
  limit: String(arg)
@@ -69,7 +71,7 @@ export const ListQueryProvider = ({ children, data, defaultLimit, defaultSort, h
69
71
  ]);
70
72
  const handleSearchChange = React.useCallback(async (arg)=>{
71
73
  if (typeof handleSearchChangeFromProps === 'function') {
72
- handleSearchChangeFromProps(arg);
74
+ await handleSearchChangeFromProps(arg);
73
75
  }
74
76
  await refineListData({
75
77
  search: arg
@@ -80,7 +82,7 @@ export const ListQueryProvider = ({ children, data, defaultLimit, defaultSort, h
80
82
  ]);
81
83
  const handleSortChange = React.useCallback(async (arg)=>{
82
84
  if (typeof handleSortChangeFromProps === 'function') {
83
- handleSortChangeFromProps(arg);
85
+ await handleSortChangeFromProps(arg);
84
86
  }
85
87
  await refineListData({
86
88
  sort: arg
@@ -91,7 +93,7 @@ export const ListQueryProvider = ({ children, data, defaultLimit, defaultSort, h
91
93
  ]);
92
94
  const handleWhereChange = React.useCallback(async (arg)=>{
93
95
  if (typeof handleWhereChangeFromProps === 'function') {
94
- handleWhereChangeFromProps(arg);
96
+ await handleWhereChangeFromProps(arg);
95
97
  }
96
98
  await refineListData({
97
99
  where: arg
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/providers/ListQuery/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport { useRouter } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useContext } from 'react'\n\nimport type { Column } from '../../elements/Table/index.js'\n\nimport { usePreferences } from '../Preferences/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nexport type ColumnPreferences = Pick<Column, 'accessor' | 'active'>[]\n\ntype Handlers = {\n handlePageChange?: (page: number) => void\n handlePerPageChange?: (limit: number) => void\n handleSearchChange?: (search: string) => void\n handleSortChange?: (sort: string) => void\n handleWhereChange?: (where: Where) => void\n}\n\nexport type ListQueryProps = {\n children: React.ReactNode\n data: PaginatedDocs\n defaultLimit?: number\n defaultSort?: string\n modifySearchParams?: boolean\n preferenceKey?: string\n} & Handlers\n\nexport type ListQueryContext = {\n data: PaginatedDocs\n defaultLimit?: number\n defaultSort?: string\n refineListData: (args: RefineOverrides) => void\n} & Handlers\n\nconst Context = createContext({} as ListQueryContext)\n\nexport const useListQuery = (): ListQueryContext => useContext(Context)\n\ntype RefineOverrides = {\n limit?: string\n page?: string\n search?: string\n sort?: string\n where?: Where\n}\n\nexport const ListQueryProvider: React.FC<ListQueryProps> = ({\n children,\n data,\n defaultLimit,\n defaultSort,\n handlePageChange: handlePageChangeFromProps,\n handlePerPageChange: handlePerPageChangeFromProps,\n handleSearchChange: handleSearchChangeFromProps,\n handleSortChange: handleSortChangeFromProps,\n handleWhereChange: handleWhereChangeFromProps,\n modifySearchParams,\n preferenceKey,\n}) => {\n const router = useRouter()\n const { setPreference } = usePreferences()\n const hasSetInitialParams = React.useRef(false)\n const { searchParams: currentQuery } = useSearchParams()\n\n const refineListData = React.useCallback(\n async (query: RefineOverrides) => {\n if (!modifySearchParams) return\n\n const updatedPreferences: Record<string, unknown> = {}\n let updatePreferences = false\n\n if ('limit' in query) {\n updatedPreferences.limit = query.limit\n updatePreferences = true\n }\n if ('sort' in query) {\n updatedPreferences.sort = query.sort\n updatePreferences = true\n }\n if (updatePreferences && preferenceKey) {\n await setPreference(preferenceKey, updatedPreferences)\n }\n\n const params = {\n limit: 'limit' in query ? query.limit : currentQuery?.limit,\n page: 'page' in query ? query.page : currentQuery?.page,\n search: 'search' in query ? query.search : currentQuery?.search,\n sort: 'sort' in query ? query.sort : currentQuery?.sort,\n where: 'where' in query ? query.where : currentQuery?.where,\n }\n\n router.replace(`${qs.stringify(params, { addQueryPrefix: true })}`)\n },\n [preferenceKey, modifySearchParams, router, setPreference, currentQuery],\n )\n\n const handlePageChange = React.useCallback(\n async (arg: number) => {\n if (typeof handlePageChangeFromProps === 'function') {\n handlePageChangeFromProps(arg)\n }\n await refineListData({ page: String(arg) })\n },\n [refineListData, handlePageChangeFromProps],\n )\n const handlePerPageChange = React.useCallback(\n async (arg: number) => {\n if (typeof handlePerPageChangeFromProps === 'function') {\n handlePerPageChangeFromProps(arg)\n }\n await refineListData({ limit: String(arg) })\n },\n [refineListData, handlePerPageChangeFromProps],\n )\n const handleSearchChange = React.useCallback(\n async (arg: string) => {\n if (typeof handleSearchChangeFromProps === 'function') {\n handleSearchChangeFromProps(arg)\n }\n await refineListData({ search: arg })\n },\n [refineListData, handleSearchChangeFromProps],\n )\n const handleSortChange = React.useCallback(\n async (arg: string) => {\n if (typeof handleSortChangeFromProps === 'function') {\n handleSortChangeFromProps(arg)\n }\n await refineListData({ sort: arg })\n },\n [refineListData, handleSortChangeFromProps],\n )\n const handleWhereChange = React.useCallback(\n async (arg: Where) => {\n if (typeof handleWhereChangeFromProps === 'function') {\n handleWhereChangeFromProps(arg)\n }\n await refineListData({ where: arg })\n },\n [refineListData, handleWhereChangeFromProps],\n )\n\n React.useEffect(() => {\n if (!hasSetInitialParams.current) {\n if (modifySearchParams) {\n let shouldUpdateQueryString = false\n\n if (isNumber(defaultLimit) && !('limit' in currentQuery)) {\n currentQuery.limit = String(defaultLimit)\n shouldUpdateQueryString = true\n }\n if (defaultSort && !('sort' in currentQuery)) {\n currentQuery.sort = defaultSort\n shouldUpdateQueryString = true\n }\n if (shouldUpdateQueryString) {\n router.replace(`?${qs.stringify(currentQuery)}`)\n }\n }\n\n hasSetInitialParams.current = true\n }\n }, [defaultSort, defaultLimit, router, modifySearchParams, currentQuery])\n\n return (\n <Context.Provider\n value={{\n data,\n handlePageChange,\n handlePerPageChange,\n handleSearchChange,\n handleSortChange,\n handleWhereChange,\n refineListData,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n"],"names":["useRouter","isNumber","qs","React","createContext","useContext","usePreferences","useSearchParams","Context","useListQuery","ListQueryProvider","children","data","defaultLimit","defaultSort","handlePageChange","handlePageChangeFromProps","handlePerPageChange","handlePerPageChangeFromProps","handleSearchChange","handleSearchChangeFromProps","handleSortChange","handleSortChangeFromProps","handleWhereChange","handleWhereChangeFromProps","modifySearchParams","preferenceKey","router","setPreference","hasSetInitialParams","useRef","searchParams","currentQuery","refineListData","useCallback","query","updatedPreferences","updatePreferences","limit","sort","params","page","search","where","replace","stringify","addQueryPrefix","arg","String","useEffect","current","shouldUpdateQueryString","Provider","value"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/providers/ListQuery/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport { useRouter } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useContext } from 'react'\n\nimport type { Column } from '../../elements/Table/index.js'\n\nimport { usePreferences } from '../Preferences/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nexport type ColumnPreferences = Pick<Column, 'accessor' | 'active'>[]\n\ntype PropHandlers = {\n handlePageChange?: (page: number) => Promise<void> | void\n handlePerPageChange?: (limit: number) => Promise<void> | void\n handleSearchChange?: (search: string) => Promise<void> | void\n handleSortChange?: (sort: string) => Promise<void> | void\n handleWhereChange?: (where: Where) => Promise<void> | void\n}\ntype ContextHandlers = {\n handlePageChange?: (page: number) => Promise<void>\n handlePerPageChange?: (limit: number) => Promise<void>\n handleSearchChange?: (search: string) => Promise<void>\n handleSortChange?: (sort: string) => Promise<void>\n handleWhereChange?: (where: Where) => Promise<void>\n}\n\nexport type ListQueryProps = {\n children: React.ReactNode\n data: PaginatedDocs\n defaultLimit?: number\n defaultSort?: string\n modifySearchParams?: boolean\n preferenceKey?: string\n} & PropHandlers\n\nexport type ListQueryContext = {\n data: PaginatedDocs\n defaultLimit?: number\n defaultSort?: string\n refineListData: (args: RefineOverrides) => Promise<void>\n} & ContextHandlers\n\nconst Context = createContext({} as ListQueryContext)\n\nexport const useListQuery = (): ListQueryContext => useContext(Context)\n\ntype RefineOverrides = {\n limit?: string\n page?: string\n search?: string\n sort?: string\n where?: Where\n}\n\nexport const ListQueryProvider: React.FC<ListQueryProps> = ({\n children,\n data,\n defaultLimit,\n defaultSort,\n handlePageChange: handlePageChangeFromProps,\n handlePerPageChange: handlePerPageChangeFromProps,\n handleSearchChange: handleSearchChangeFromProps,\n handleSortChange: handleSortChangeFromProps,\n handleWhereChange: handleWhereChangeFromProps,\n modifySearchParams,\n preferenceKey,\n}) => {\n const router = useRouter()\n const { setPreference } = usePreferences()\n const hasSetInitialParams = React.useRef(false)\n const { searchParams: currentQuery } = useSearchParams()\n\n const refineListData = React.useCallback(\n async (query: RefineOverrides) => {\n if (!modifySearchParams) return\n\n let pageQuery = 'page' in query ? query.page : currentQuery?.page\n if ('where' in query || 'search' in query) pageQuery = '1'\n\n const updatedPreferences: Record<string, unknown> = {}\n let updatePreferences = false\n\n if ('limit' in query) {\n updatedPreferences.limit = query.limit\n updatePreferences = true\n }\n if ('sort' in query) {\n updatedPreferences.sort = query.sort\n updatePreferences = true\n }\n if (updatePreferences && preferenceKey) {\n await setPreference(preferenceKey, updatedPreferences)\n }\n\n const params = {\n limit: 'limit' in query ? query.limit : currentQuery?.limit,\n page: pageQuery,\n search: 'search' in query ? query.search : currentQuery?.search,\n sort: 'sort' in query ? query.sort : currentQuery?.sort,\n where: 'where' in query ? query.where : currentQuery?.where,\n }\n\n router.replace(`${qs.stringify(params, { addQueryPrefix: true })}`)\n },\n [preferenceKey, modifySearchParams, router, setPreference, currentQuery],\n )\n\n const handlePageChange = React.useCallback(\n async (arg: number) => {\n if (typeof handlePageChangeFromProps === 'function') {\n await handlePageChangeFromProps(arg)\n }\n await refineListData({ page: String(arg) })\n },\n [refineListData, handlePageChangeFromProps],\n )\n const handlePerPageChange = React.useCallback(\n async (arg: number) => {\n if (typeof handlePerPageChangeFromProps === 'function') {\n await handlePerPageChangeFromProps(arg)\n }\n await refineListData({ limit: String(arg) })\n },\n [refineListData, handlePerPageChangeFromProps],\n )\n const handleSearchChange = React.useCallback(\n async (arg: string) => {\n if (typeof handleSearchChangeFromProps === 'function') {\n await handleSearchChangeFromProps(arg)\n }\n await refineListData({ search: arg })\n },\n [refineListData, handleSearchChangeFromProps],\n )\n const handleSortChange = React.useCallback(\n async (arg: string) => {\n if (typeof handleSortChangeFromProps === 'function') {\n await handleSortChangeFromProps(arg)\n }\n await refineListData({ sort: arg })\n },\n [refineListData, handleSortChangeFromProps],\n )\n const handleWhereChange = React.useCallback(\n async (arg: Where) => {\n if (typeof handleWhereChangeFromProps === 'function') {\n await handleWhereChangeFromProps(arg)\n }\n await refineListData({ where: arg })\n },\n [refineListData, handleWhereChangeFromProps],\n )\n\n React.useEffect(() => {\n if (!hasSetInitialParams.current) {\n if (modifySearchParams) {\n let shouldUpdateQueryString = false\n\n if (isNumber(defaultLimit) && !('limit' in currentQuery)) {\n currentQuery.limit = String(defaultLimit)\n shouldUpdateQueryString = true\n }\n if (defaultSort && !('sort' in currentQuery)) {\n currentQuery.sort = defaultSort\n shouldUpdateQueryString = true\n }\n if (shouldUpdateQueryString) {\n router.replace(`?${qs.stringify(currentQuery)}`)\n }\n }\n\n hasSetInitialParams.current = true\n }\n }, [defaultSort, defaultLimit, router, modifySearchParams, currentQuery])\n\n return (\n <Context.Provider\n value={{\n data,\n handlePageChange,\n handlePerPageChange,\n handleSearchChange,\n handleSortChange,\n handleWhereChange,\n refineListData,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n"],"names":["useRouter","isNumber","qs","React","createContext","useContext","usePreferences","useSearchParams","Context","useListQuery","ListQueryProvider","children","data","defaultLimit","defaultSort","handlePageChange","handlePageChangeFromProps","handlePerPageChange","handlePerPageChangeFromProps","handleSearchChange","handleSearchChangeFromProps","handleSortChange","handleSortChangeFromProps","handleWhereChange","handleWhereChangeFromProps","modifySearchParams","preferenceKey","router","setPreference","hasSetInitialParams","useRef","searchParams","currentQuery","refineListData","useCallback","query","pageQuery","page","updatedPreferences","updatePreferences","limit","sort","params","search","where","replace","stringify","addQueryPrefix","arg","String","useEffect","current","shouldUpdateQueryString","Provider","value"],"mappings":"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"}