@payloadcms/ui 3.0.0-alpha.49 → 3.0.0-alpha.50

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 (442) hide show
  1. package/dist/elements/Autosave/index.d.ts.map +1 -1
  2. package/dist/elements/Autosave/index.js +2 -43
  3. package/dist/elements/Autosave/index.js.map +1 -1
  4. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  5. package/dist/elements/ColumnSelector/index.js +2 -5
  6. package/dist/elements/ColumnSelector/index.js.map +1 -1
  7. package/dist/elements/DeleteDocument/index.js +2 -2
  8. package/dist/elements/DeleteDocument/index.js.map +1 -1
  9. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  10. package/dist/elements/DocumentControls/index.js +13 -4
  11. package/dist/elements/DocumentControls/index.js.map +1 -1
  12. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  13. package/dist/elements/DocumentDrawer/DrawerContent.js +31 -112
  14. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  15. package/dist/elements/DocumentDrawer/types.d.ts +0 -2
  16. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  17. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  18. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts +1 -0
  19. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  20. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +8 -2
  21. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  22. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  23. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +1 -0
  24. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  25. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  26. package/dist/elements/DocumentHeader/Tabs/index.js +4 -0
  27. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  28. package/dist/elements/EditMany/index.d.ts.map +1 -1
  29. package/dist/elements/EditMany/index.js +3 -25
  30. package/dist/elements/EditMany/index.js.map +1 -1
  31. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  32. package/dist/elements/FieldSelect/index.js +39 -12
  33. package/dist/elements/FieldSelect/index.js.map +1 -1
  34. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  35. package/dist/elements/FileDetails/index.js +2 -1
  36. package/dist/elements/FileDetails/index.js.map +1 -1
  37. package/dist/elements/ListControls/index.d.ts +0 -1
  38. package/dist/elements/ListControls/index.d.ts.map +1 -1
  39. package/dist/elements/ListControls/index.js +7 -6
  40. package/dist/elements/ListControls/index.js.map +1 -1
  41. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  42. package/dist/elements/ListDrawer/DrawerContent.js +5 -9
  43. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  44. package/dist/elements/Nav/index.client.d.ts +3 -0
  45. package/dist/elements/Nav/index.client.d.ts.map +1 -0
  46. package/dist/elements/Nav/index.client.js +77 -0
  47. package/dist/elements/Nav/index.client.js.map +1 -0
  48. package/dist/elements/Nav/index.d.ts +3 -7
  49. package/dist/elements/Nav/index.d.ts.map +1 -1
  50. package/dist/elements/Nav/index.js +4 -66
  51. package/dist/elements/Nav/index.js.map +1 -1
  52. package/dist/elements/PerPage/index.d.ts +1 -0
  53. package/dist/elements/PerPage/index.d.ts.map +1 -1
  54. package/dist/elements/PerPage/index.js +6 -4
  55. package/dist/elements/PerPage/index.js.map +1 -1
  56. package/dist/elements/PreviewButton/index.d.ts +4 -6
  57. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  58. package/dist/elements/PreviewButton/index.js +11 -65
  59. package/dist/elements/PreviewButton/index.js.map +1 -1
  60. package/dist/elements/PreviewButton/usePreviewURL.d.ts +9 -0
  61. package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -0
  62. package/dist/elements/PreviewButton/usePreviewURL.js +57 -0
  63. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -0
  64. package/dist/elements/Publish/index.d.ts +4 -2
  65. package/dist/elements/Publish/index.d.ts.map +1 -1
  66. package/dist/elements/Publish/index.js +15 -25
  67. package/dist/elements/Publish/index.js.map +1 -1
  68. package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
  69. package/dist/elements/ReactSelect/MultiValue/index.js +2 -1
  70. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  71. package/dist/elements/ReactSelect/ValueContainer/index.scss +4 -0
  72. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  73. package/dist/elements/ReactSelect/index.js +4 -1
  74. package/dist/elements/ReactSelect/index.js.map +1 -1
  75. package/dist/elements/ReactSelect/types.d.ts +2 -0
  76. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  77. package/dist/elements/ReactSelect/types.js.map +1 -1
  78. package/dist/elements/Save/index.d.ts +4 -2
  79. package/dist/elements/Save/index.d.ts.map +1 -1
  80. package/dist/elements/Save/index.js +7 -14
  81. package/dist/elements/Save/index.js.map +1 -1
  82. package/dist/elements/SaveDraft/index.d.ts +1 -2
  83. package/dist/elements/SaveDraft/index.d.ts.map +1 -1
  84. package/dist/elements/SaveDraft/index.js +33 -42
  85. package/dist/elements/SaveDraft/index.js.map +1 -1
  86. package/dist/elements/SortColumn/index.d.ts +3 -1
  87. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  88. package/dist/elements/SortColumn/index.js +5 -6
  89. package/dist/elements/SortColumn/index.js.map +1 -1
  90. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts +3 -3
  91. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
  92. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  93. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +4 -4
  94. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  95. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  96. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts +2 -2
  97. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
  98. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  99. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +2 -2
  100. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
  101. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  102. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts +2 -5
  103. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
  104. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  105. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +2 -2
  106. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  107. package/dist/elements/Table/DefaultCell/fields/File/index.js +4 -3
  108. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  109. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts +2 -2
  110. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
  111. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  112. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +4 -4
  113. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  114. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  115. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts +3 -3
  116. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +1 -1
  117. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  118. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts +2 -2
  119. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts.map +1 -1
  120. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  121. package/dist/elements/Table/DefaultCell/fields/index.d.ts +4 -4
  122. package/dist/elements/Table/DefaultCell/index.d.ts +2 -2
  123. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  124. package/dist/elements/Table/DefaultCell/index.js +4 -2
  125. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  126. package/dist/elements/Table/TableCellProvider/index.d.ts +11 -11
  127. package/dist/elements/Table/TableCellProvider/index.d.ts.map +1 -1
  128. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  129. package/dist/elements/Table/index.d.ts +8 -4
  130. package/dist/elements/Table/index.d.ts.map +1 -1
  131. package/dist/elements/Table/index.js +1 -0
  132. package/dist/elements/Table/index.js.map +1 -1
  133. package/dist/elements/TableColumns/{buildColumns.d.ts → buildColumnState.d.ts} +8 -6
  134. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -0
  135. package/dist/elements/TableColumns/{buildColumns.js → buildColumnState.js} +37 -13
  136. package/dist/elements/TableColumns/buildColumnState.js.map +1 -0
  137. package/dist/elements/TableColumns/filterFields.d.ts +3 -0
  138. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -0
  139. package/dist/elements/TableColumns/filterFields.js +27 -0
  140. package/dist/elements/TableColumns/filterFields.js.map +1 -0
  141. package/dist/elements/TableColumns/getInitialColumns.d.ts +5 -0
  142. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -0
  143. package/dist/elements/TableColumns/getInitialColumns.js +48 -0
  144. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -0
  145. package/dist/elements/TableColumns/index.d.ts +2 -2
  146. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  147. package/dist/elements/TableColumns/index.js +11 -7
  148. package/dist/elements/TableColumns/index.js.map +1 -1
  149. package/dist/elements/Thumbnail/index.d.ts +6 -0
  150. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  151. package/dist/elements/Thumbnail/index.js +32 -16
  152. package/dist/elements/Thumbnail/index.js.map +1 -1
  153. package/dist/elements/ThumbnailCard/index.d.ts +1 -1
  154. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  155. package/dist/elements/ThumbnailCard/index.js +2 -6
  156. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  157. package/dist/elements/Tooltip/index.scss +4 -4
  158. package/dist/elements/Translation/index.d.ts.map +1 -1
  159. package/dist/elements/Translation/index.js +12 -9
  160. package/dist/elements/Translation/index.js.map +1 -1
  161. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  162. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +11 -7
  163. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  164. package/dist/elements/WhereBuilder/Condition/index.d.ts +21 -4
  165. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  166. package/dist/elements/WhereBuilder/Condition/index.js +45 -61
  167. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  168. package/dist/elements/WhereBuilder/Condition/index.scss +6 -0
  169. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  170. package/dist/elements/WhereBuilder/index.js +134 -55
  171. package/dist/elements/WhereBuilder/index.js.map +1 -1
  172. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +3 -0
  173. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -0
  174. package/dist/elements/WhereBuilder/reduceFieldMap.js +36 -0
  175. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -0
  176. package/dist/elements/withMergedProps/index.js +1 -1
  177. package/dist/elements/withMergedProps/index.js.map +1 -1
  178. package/dist/fields/Array/ArrayRow.d.ts +2 -0
  179. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  180. package/dist/fields/Array/ArrayRow.js +3 -3
  181. package/dist/fields/Array/ArrayRow.js.map +1 -1
  182. package/dist/fields/Array/index.d.ts +1 -1
  183. package/dist/fields/Array/index.d.ts.map +1 -1
  184. package/dist/fields/Array/index.js +23 -8
  185. package/dist/fields/Array/index.js.map +1 -1
  186. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  187. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  188. package/dist/fields/Blocks/BlockRow.js +2 -3
  189. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  190. package/dist/fields/Blocks/index.d.ts +0 -1
  191. package/dist/fields/Blocks/index.d.ts.map +1 -1
  192. package/dist/fields/Blocks/index.js +17 -5
  193. package/dist/fields/Blocks/index.js.map +1 -1
  194. package/dist/fields/Checkbox/Input.d.ts +2 -1
  195. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  196. package/dist/fields/Checkbox/Input.js +3 -1
  197. package/dist/fields/Checkbox/Input.js.map +1 -1
  198. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  199. package/dist/fields/Checkbox/index.js +6 -2
  200. package/dist/fields/Checkbox/index.js.map +1 -1
  201. package/dist/fields/Code/index.d.ts.map +1 -1
  202. package/dist/fields/Code/index.js +8 -3
  203. package/dist/fields/Code/index.js.map +1 -1
  204. package/dist/fields/Collapsible/index.d.ts +2 -1
  205. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  206. package/dist/fields/Collapsible/index.js +4 -3
  207. package/dist/fields/Collapsible/index.js.map +1 -1
  208. package/dist/fields/DateTime/index.d.ts.map +1 -1
  209. package/dist/fields/DateTime/index.js +7 -2
  210. package/dist/fields/DateTime/index.js.map +1 -1
  211. package/dist/fields/Email/index.d.ts.map +1 -1
  212. package/dist/fields/Email/index.js +7 -2
  213. package/dist/fields/Email/index.js.map +1 -1
  214. package/dist/fields/Group/index.d.ts +0 -1
  215. package/dist/fields/Group/index.d.ts.map +1 -1
  216. package/dist/fields/Group/index.js +9 -8
  217. package/dist/fields/Group/index.js.map +1 -1
  218. package/dist/fields/HiddenInput/index.d.ts +1 -0
  219. package/dist/fields/HiddenInput/index.d.ts.map +1 -1
  220. package/dist/fields/HiddenInput/index.js +4 -2
  221. package/dist/fields/HiddenInput/index.js.map +1 -1
  222. package/dist/fields/JSON/index.d.ts.map +1 -1
  223. package/dist/fields/JSON/index.js +8 -4
  224. package/dist/fields/JSON/index.js.map +1 -1
  225. package/dist/fields/Number/index.d.ts.map +1 -1
  226. package/dist/fields/Number/index.js +7 -2
  227. package/dist/fields/Number/index.js.map +1 -1
  228. package/dist/fields/Password/index.d.ts +0 -1
  229. package/dist/fields/Password/index.d.ts.map +1 -1
  230. package/dist/fields/Password/index.js +5 -2
  231. package/dist/fields/Password/index.js.map +1 -1
  232. package/dist/fields/Point/index.d.ts.map +1 -1
  233. package/dist/fields/Point/index.js +15 -10
  234. package/dist/fields/Point/index.js.map +1 -1
  235. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  236. package/dist/fields/RadioGroup/index.js +7 -2
  237. package/dist/fields/RadioGroup/index.js.map +1 -1
  238. package/dist/fields/Relationship/index.d.ts.map +1 -1
  239. package/dist/fields/Relationship/index.js +45 -14
  240. package/dist/fields/Relationship/index.js.map +1 -1
  241. package/dist/fields/Relationship/types.d.ts +3 -1
  242. package/dist/fields/Relationship/types.d.ts.map +1 -1
  243. package/dist/fields/Relationship/types.js.map +1 -1
  244. package/dist/fields/RichText/index.d.ts +2 -0
  245. package/dist/fields/RichText/index.d.ts.map +1 -1
  246. package/dist/fields/RichText/index.js.map +1 -1
  247. package/dist/fields/Row/index.d.ts.map +1 -1
  248. package/dist/fields/Row/index.js +2 -1
  249. package/dist/fields/Row/index.js.map +1 -1
  250. package/dist/fields/Select/index.d.ts +0 -1
  251. package/dist/fields/Select/index.d.ts.map +1 -1
  252. package/dist/fields/Select/index.js +8 -3
  253. package/dist/fields/Select/index.js.map +1 -1
  254. package/dist/fields/Tabs/index.d.ts +0 -1
  255. package/dist/fields/Tabs/index.d.ts.map +1 -1
  256. package/dist/fields/Tabs/index.js +2 -2
  257. package/dist/fields/Tabs/index.js.map +1 -1
  258. package/dist/fields/Text/Input.d.ts.map +1 -1
  259. package/dist/fields/Text/Input.js +4 -1
  260. package/dist/fields/Text/Input.js.map +1 -1
  261. package/dist/fields/Text/index.d.ts.map +1 -1
  262. package/dist/fields/Text/index.js +3 -1
  263. package/dist/fields/Text/index.js.map +1 -1
  264. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  265. package/dist/fields/Textarea/Input.js +4 -1
  266. package/dist/fields/Textarea/Input.js.map +1 -1
  267. package/dist/fields/Textarea/index.d.ts.map +1 -1
  268. package/dist/fields/Textarea/index.js +3 -1
  269. package/dist/fields/Textarea/index.js.map +1 -1
  270. package/dist/fields/Upload/Input.d.ts.map +1 -1
  271. package/dist/fields/Upload/Input.js +10 -8
  272. package/dist/fields/Upload/Input.js.map +1 -1
  273. package/dist/fields/Upload/index.d.ts.map +1 -1
  274. package/dist/fields/Upload/index.js +6 -2
  275. package/dist/fields/Upload/index.js.map +1 -1
  276. package/dist/fields/shared/index.d.ts +1 -2
  277. package/dist/fields/shared/index.d.ts.map +1 -1
  278. package/dist/fields/shared/index.js.map +1 -1
  279. package/dist/forms/FieldDescription/index.d.ts +1 -2
  280. package/dist/forms/FieldDescription/index.d.ts.map +1 -1
  281. package/dist/forms/FieldDescription/index.js.map +1 -1
  282. package/dist/forms/FieldError/index.js +1 -1
  283. package/dist/forms/FieldError/index.js.map +1 -1
  284. package/dist/forms/FieldLabel/index.d.ts.map +1 -1
  285. package/dist/forms/FieldLabel/index.js +4 -4
  286. package/dist/forms/FieldLabel/index.js.map +1 -1
  287. package/dist/forms/FieldLabel/index.scss +1 -1
  288. package/dist/forms/FieldPropsProvider/index.d.ts +5 -0
  289. package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
  290. package/dist/forms/FieldPropsProvider/index.js +5 -1
  291. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  292. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  293. package/dist/forms/Form/fieldReducer.js +6 -8
  294. package/dist/forms/Form/fieldReducer.js.map +1 -1
  295. package/dist/forms/Form/index.d.ts.map +1 -1
  296. package/dist/forms/Form/index.js +37 -20
  297. package/dist/forms/Form/index.js.map +1 -1
  298. package/dist/forms/Form/initContextState.d.ts.map +1 -1
  299. package/dist/forms/Form/initContextState.js +1 -0
  300. package/dist/forms/Form/initContextState.js.map +1 -1
  301. package/dist/forms/Form/mergeErrorPaths.d.ts +5 -0
  302. package/dist/forms/Form/mergeErrorPaths.d.ts.map +1 -0
  303. package/dist/forms/Form/mergeErrorPaths.js +29 -0
  304. package/dist/forms/Form/mergeErrorPaths.js.map +1 -0
  305. package/dist/forms/Form/mergeServerFormState.d.ts +1 -1
  306. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  307. package/dist/forms/Form/mergeServerFormState.js +36 -19
  308. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  309. package/dist/forms/Form/types.d.ts +8 -2
  310. package/dist/forms/Form/types.d.ts.map +1 -1
  311. package/dist/forms/Form/types.js.map +1 -1
  312. package/dist/forms/RenderFields/RenderField.d.ts +1 -0
  313. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  314. package/dist/forms/RenderFields/RenderField.js +12 -4
  315. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  316. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  317. package/dist/forms/RenderFields/index.js +3 -3
  318. package/dist/forms/RenderFields/index.js.map +1 -1
  319. package/dist/forms/RenderFields/types.d.ts +1 -0
  320. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  321. package/dist/forms/RenderFields/types.js.map +1 -1
  322. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts +4 -3
  323. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  324. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +67 -42
  325. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  326. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts +11 -0
  327. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -0
  328. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js +13 -0
  329. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -0
  330. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts +11 -0
  331. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -0
  332. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js +16 -0
  333. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -0
  334. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts +12 -0
  335. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -0
  336. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +122 -0
  337. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -0
  338. package/dist/forms/buildStateFromSchema/index.d.ts +1 -0
  339. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  340. package/dist/forms/buildStateFromSchema/index.js +10 -2
  341. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  342. package/dist/forms/buildStateFromSchema/iterateFields.d.ts +2 -2
  343. package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
  344. package/dist/forms/buildStateFromSchema/iterateFields.js +4 -3
  345. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  346. package/dist/forms/useField/index.d.ts.map +1 -1
  347. package/dist/forms/useField/index.js +32 -12
  348. package/dist/forms/useField/index.js.map +1 -1
  349. package/dist/forms/useField/types.d.ts +1 -0
  350. package/dist/forms/useField/types.d.ts.map +1 -1
  351. package/dist/forms/useField/types.js.map +1 -1
  352. package/dist/forms/withCondition/WatchCondition.d.ts +3 -0
  353. package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
  354. package/dist/forms/withCondition/WatchCondition.js +10 -2
  355. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  356. package/dist/forms/withCondition/index.js +4 -2
  357. package/dist/forms/withCondition/index.js.map +1 -1
  358. package/dist/hooks/usePayloadAPI.js +1 -1
  359. package/dist/hooks/usePayloadAPI.js.map +1 -1
  360. package/dist/hooks/useUseAsTitle.d.ts +3 -2
  361. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  362. package/dist/hooks/useUseAsTitle.js +5 -6
  363. package/dist/hooks/useUseAsTitle.js.map +1 -1
  364. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  365. package/dist/providers/ClientFunction/index.js +27 -5
  366. package/dist/providers/ClientFunction/index.js.map +1 -1
  367. package/dist/providers/ComponentMap/buildComponentMap/{mapActions.d.ts → actions.d.ts} +1 -1
  368. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +1 -0
  369. package/dist/providers/ComponentMap/buildComponentMap/{mapActions.js → actions.js} +1 -1
  370. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -0
  371. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +13 -0
  372. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -0
  373. package/dist/providers/ComponentMap/buildComponentMap/collections.js +74 -0
  374. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -0
  375. package/dist/providers/ComponentMap/buildComponentMap/{mapFields.d.ts → fields.d.ts} +1 -1
  376. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -0
  377. package/dist/providers/ComponentMap/buildComponentMap/{mapFields.js → fields.js} +43 -23
  378. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -0
  379. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +12 -0
  380. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -0
  381. package/dist/providers/ComponentMap/buildComponentMap/globals.js +49 -0
  382. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -0
  383. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +2 -2
  384. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
  385. package/dist/providers/ComponentMap/buildComponentMap/index.js +16 -83
  386. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  387. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +8 -3
  388. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  389. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  390. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  391. package/dist/providers/DocumentInfo/index.js +120 -96
  392. package/dist/providers/DocumentInfo/index.js.map +1 -1
  393. package/dist/providers/DocumentInfo/types.d.ts +12 -13
  394. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  395. package/dist/providers/DocumentInfo/types.js.map +1 -1
  396. package/dist/providers/EntityVisibility/index.d.ts +16 -0
  397. package/dist/providers/EntityVisibility/index.d.ts.map +1 -0
  398. package/dist/providers/EntityVisibility/index.js +25 -0
  399. package/dist/providers/EntityVisibility/index.js.map +1 -0
  400. package/dist/providers/ListInfo/index.d.ts +0 -1
  401. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  402. package/dist/providers/ListInfo/index.js +2 -7
  403. package/dist/providers/ListInfo/index.js.map +1 -1
  404. package/dist/templates/Default/index.d.ts +2 -7
  405. package/dist/templates/Default/index.d.ts.map +1 -1
  406. package/dist/templates/Default/index.js +10 -12
  407. package/dist/templates/Default/index.js.map +1 -1
  408. package/dist/utilities/buildComponentMap.d.ts +1 -1
  409. package/dist/utilities/buildComponentMap.d.ts.map +1 -1
  410. package/dist/utilities/buildComponentMap.js +1 -1
  411. package/dist/utilities/buildComponentMap.js.map +1 -1
  412. package/dist/utilities/flattenFieldMap.d.ts +10 -0
  413. package/dist/utilities/flattenFieldMap.d.ts.map +1 -0
  414. package/dist/utilities/flattenFieldMap.js +33 -0
  415. package/dist/utilities/flattenFieldMap.js.map +1 -0
  416. package/dist/utilities/getFormState.d.ts +2 -0
  417. package/dist/utilities/getFormState.d.ts.map +1 -1
  418. package/dist/utilities/getFormState.js +8 -3
  419. package/dist/utilities/getFormState.js.map +1 -1
  420. package/package.json +10 -4
  421. package/dist/elements/TableColumns/buildColumns.d.ts.map +0 -1
  422. package/dist/elements/TableColumns/buildColumns.js.map +0 -1
  423. package/dist/elements/WhereBuilder/reducer.d.ts +0 -5
  424. package/dist/elements/WhereBuilder/reducer.d.ts.map +0 -1
  425. package/dist/elements/WhereBuilder/reducer.js +0 -78
  426. package/dist/elements/WhereBuilder/reducer.js.map +0 -1
  427. package/dist/forms/FieldDescription/types.d.ts +0 -8
  428. package/dist/forms/FieldDescription/types.d.ts.map +0 -1
  429. package/dist/forms/FieldDescription/types.js +0 -3
  430. package/dist/forms/FieldDescription/types.js.map +0 -1
  431. package/dist/hooks/useAdminThumbnail.d.ts +0 -3
  432. package/dist/hooks/useAdminThumbnail.d.ts.map +0 -1
  433. package/dist/hooks/useAdminThumbnail.js +0 -8
  434. package/dist/hooks/useAdminThumbnail.js.map +0 -1
  435. package/dist/hooks/useThumbnail.d.ts +0 -3
  436. package/dist/hooks/useThumbnail.d.ts.map +0 -1
  437. package/dist/hooks/useThumbnail.js +0 -45
  438. package/dist/hooks/useThumbnail.js.map +0 -1
  439. package/dist/providers/ComponentMap/buildComponentMap/mapActions.d.ts.map +0 -1
  440. package/dist/providers/ComponentMap/buildComponentMap/mapActions.js.map +0 -1
  441. package/dist/providers/ComponentMap/buildComponentMap/mapFields.d.ts.map +0 -1
  442. package/dist/providers/ComponentMap/buildComponentMap/mapFields.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/FileDetails/index.tsx"],"sourcesContent":["import { isImage } from 'payload/utilities'\nimport React from 'react'\n\nimport { UploadActions } from '../../elements/Upload/index.js'\nimport { Button } from '../Button/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport { FileMeta } from './FileMeta/index.js'\nimport './index.scss'\n\nconst baseClass = 'file-details'\n\nimport type { Data, FileSizes, SanitizedCollectionConfig } from 'payload/types'\n\nexport type FileDetailsProps = {\n canEdit?: boolean\n collectionSlug: string\n doc: Data & {\n sizes?: FileSizes\n }\n handleRemove?: () => void\n hasImageSizes?: boolean\n imageCacheTag?: string\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const FileDetails: React.FC<FileDetailsProps> = (props) => {\n const { canEdit, collectionSlug, doc, handleRemove, hasImageSizes, imageCacheTag, uploadConfig } =\n props\n\n const { id, filename, filesize, height, mimeType, url, width } = doc\n\n return (\n <div className={baseClass}>\n <header>\n <Thumbnail\n collectionSlug={collectionSlug}\n doc={doc}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n <div className={`${baseClass}__main-detail`}>\n <FileMeta\n collection={collectionSlug}\n filename={filename as string}\n filesize={filesize as number}\n height={height as number}\n id={id as string}\n mimeType={mimeType as string}\n url={url as string}\n width={width as number}\n />\n\n {isImage(mimeType as string) && mimeType !== 'image/svg+xml' && (\n <UploadActions canEdit={canEdit} showSizePreviews={hasImageSizes && doc.filename} />\n )}\n </div>\n {handleRemove && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleRemove}\n round\n />\n )}\n </header>\n </div>\n )\n}\n"],"names":["isImage","React","UploadActions","Button","Thumbnail","FileMeta","baseClass","FileDetails","props","canEdit","collectionSlug","doc","handleRemove","hasImageSizes","imageCacheTag","uploadConfig","id","filename","filesize","height","mimeType","url","width","div","className","header","collection","showSizePreviews","buttonStyle","icon","iconStyle","onClick","round"],"mappings":"AAAA,SAASA,OAAO,QAAQ,oBAAmB;AAC3C,OAAOC,WAAW,QAAO;AAEzB,SAASC,aAAa,QAAQ,iCAAgC;AAC9D,SAASC,MAAM,QAAQ,qBAAoB;AAC3C,SAASC,SAAS,QAAQ,wBAAuB;AACjD,SAASC,QAAQ,QAAQ,sBAAqB;AAG9C,MAAMC,YAAY;AAgBlB,OAAO,MAAMC,cAA0C,CAACC;IACtD,MAAM,EAAEC,OAAO,EAAEC,cAAc,EAAEC,GAAG,EAAEC,YAAY,EAAEC,aAAa,EAAEC,aAAa,EAAEC,YAAY,EAAE,GAC9FP;IAEF,MAAM,EAAEQ,EAAE,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,KAAK,EAAE,GAAGX;IAEjE,qBACE,oBAACY;QAAIC,WAAWlB;qBACd,oBAACmB,8BACC,oBAACrB;QACCM,gBAAgBA;QAChBC,KAAKA;QACLG,eAAeA;QACfC,cAAcA;sBAEhB,oBAACQ;QAAIC,WAAW,CAAC,EAAElB,UAAU,aAAa,CAAC;qBACzC,oBAACD;QACCqB,YAAYhB;QACZO,UAAUA;QACVC,UAAUA;QACVC,QAAQA;QACRH,IAAIA;QACJI,UAAUA;QACVC,KAAKA;QACLC,OAAOA;QAGRtB,QAAQoB,aAAuBA,aAAa,iCAC3C,oBAAClB;QAAcO,SAASA;QAASkB,kBAAkBd,iBAAiBF,IAAIM,QAAQ;SAGnFL,8BACC,oBAACT;QACCyB,aAAY;QACZJ,WAAW,CAAC,EAAElB,UAAU,QAAQ,CAAC;QACjCuB,MAAK;QACLC,WAAU;QACVC,SAASnB;QACToB,OAAAA;;AAMZ,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/FileDetails/index.tsx"],"sourcesContent":["import { isImage } from 'payload/utilities'\nimport React from 'react'\n\nimport { UploadActions } from '../../elements/Upload/index.js'\nimport { Button } from '../Button/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport { FileMeta } from './FileMeta/index.js'\nimport './index.scss'\n\nconst baseClass = 'file-details'\n\nimport type { Data, FileSizes, SanitizedCollectionConfig } from 'payload/types'\n\nexport type FileDetailsProps = {\n canEdit?: boolean\n collectionSlug: string\n doc: Data & {\n sizes?: FileSizes\n }\n handleRemove?: () => void\n hasImageSizes?: boolean\n imageCacheTag?: string\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const FileDetails: React.FC<FileDetailsProps> = (props) => {\n const { canEdit, collectionSlug, doc, handleRemove, hasImageSizes, imageCacheTag, uploadConfig } =\n props\n\n const { id, filename, filesize, height, mimeType, thumbnailURL, url, width } = doc\n\n return (\n <div className={baseClass}>\n <header>\n <Thumbnail\n collectionSlug={collectionSlug}\n doc={doc}\n fileSrc={thumbnailURL}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n <div className={`${baseClass}__main-detail`}>\n <FileMeta\n collection={collectionSlug}\n filename={filename as string}\n filesize={filesize as number}\n height={height as number}\n id={id as string}\n mimeType={mimeType as string}\n url={url as string}\n width={width as number}\n />\n\n {isImage(mimeType as string) && mimeType !== 'image/svg+xml' && (\n <UploadActions canEdit={canEdit} showSizePreviews={hasImageSizes && doc.filename} />\n )}\n </div>\n {handleRemove && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleRemove}\n round\n />\n )}\n </header>\n </div>\n )\n}\n"],"names":["isImage","React","UploadActions","Button","Thumbnail","FileMeta","baseClass","FileDetails","props","canEdit","collectionSlug","doc","handleRemove","hasImageSizes","imageCacheTag","uploadConfig","id","filename","filesize","height","mimeType","thumbnailURL","url","width","div","className","header","fileSrc","collection","showSizePreviews","buttonStyle","icon","iconStyle","onClick","round"],"mappings":"AAAA,SAASA,OAAO,QAAQ,oBAAmB;AAC3C,OAAOC,WAAW,QAAO;AAEzB,SAASC,aAAa,QAAQ,iCAAgC;AAC9D,SAASC,MAAM,QAAQ,qBAAoB;AAC3C,SAASC,SAAS,QAAQ,wBAAuB;AACjD,SAASC,QAAQ,QAAQ,sBAAqB;AAG9C,MAAMC,YAAY;AAgBlB,OAAO,MAAMC,cAA0C,CAACC;IACtD,MAAM,EAAEC,OAAO,EAAEC,cAAc,EAAEC,GAAG,EAAEC,YAAY,EAAEC,aAAa,EAAEC,aAAa,EAAEC,YAAY,EAAE,GAC9FP;IAEF,MAAM,EAAEQ,EAAE,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,GAAG,EAAEC,KAAK,EAAE,GAAGZ;IAE/E,qBACE,oBAACa;QAAIC,WAAWnB;qBACd,oBAACoB,8BACC,oBAACtB;QACCM,gBAAgBA;QAChBC,KAAKA;QACLgB,SAASN;QACTP,eAAeA;QACfC,cAAcA;sBAEhB,oBAACS;QAAIC,WAAW,CAAC,EAAEnB,UAAU,aAAa,CAAC;qBACzC,oBAACD;QACCuB,YAAYlB;QACZO,UAAUA;QACVC,UAAUA;QACVC,QAAQA;QACRH,IAAIA;QACJI,UAAUA;QACVE,KAAKA;QACLC,OAAOA;QAGRvB,QAAQoB,aAAuBA,aAAa,iCAC3C,oBAAClB;QAAcO,SAASA;QAASoB,kBAAkBhB,iBAAiBF,IAAIM,QAAQ;SAGnFL,8BACC,oBAACT;QACC2B,aAAY;QACZL,WAAW,CAAC,EAAEnB,UAAU,QAAQ,CAAC;QACjCyB,MAAK;QACLC,WAAU;QACVC,SAASrB;QACTsB,OAAAA;;AAMZ,EAAC"}
@@ -11,7 +11,6 @@ export type ListControlsProps = {
11
11
  handleSortChange?: (sort: string) => void;
12
12
  handleWhereChange?: (where: Where) => void;
13
13
  textFieldsToBeSearched?: FieldAffectingData[];
14
- titleField: FieldAffectingData;
15
14
  };
16
15
  /**
17
16
  * The ListControls component is used to render the controls (search, filter, where)
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAKtF,OAAO,KAAmB,MAAM,OAAO,CAAA;AAMvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAA;AAepE,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAClB,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAC1C,sBAAsB,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAC7C,UAAU,EAAE,kBAAkB,CAAA;CAC/B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA2HpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAItF,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAA;AAepE,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAClB,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAC1C,sBAAsB,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAC9C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAmIpD,CAAA"}
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import * as facelessUIImport from '@faceless-ui/window-info';
3
3
  import { getTranslation } from '@payloadcms/translations';
4
- import { fieldAffectsData } from 'payload/types';
5
4
  import React, { useState } from 'react';
6
5
  import AnimateHeightImport from 'react-animate-height';
7
6
  const AnimateHeight = AnimateHeightImport.default || AnimateHeightImport;
7
+ import { useUseTitleField } from '@payloadcms/ui/hooks/useUseAsTitle';
8
8
  import { Chevron } from '../../icons/Chevron/index.js';
9
9
  import { useListQuery } from '../../providers/ListQuery/index.js';
10
10
  import { useSearchParams } from '../../providers/SearchParams/index.js';
@@ -24,21 +24,22 @@ const baseClass = 'list-controls';
24
24
  * for a collection's list view. You can find those directly above the table which lists
25
25
  * the collection's documents.
26
26
  */ export const ListControls = (props)=>{
27
- const { collectionConfig, enableColumns = true, enableSort = false, fieldMap, textFieldsToBeSearched, titleField } = props;
27
+ const { collectionConfig, enableColumns = true, enableSort = false, fieldMap, textFieldsToBeSearched } = props;
28
28
  const { useWindowInfo } = facelessUIImport;
29
29
  const { handleSearchChange } = useListQuery();
30
30
  const { searchParams } = useSearchParams();
31
- const shouldInitializeWhereOpened = validateWhereQuery(searchParams?.where);
32
- const [visibleDrawer, setVisibleDrawer] = useState(shouldInitializeWhereOpened ? 'where' : undefined);
31
+ const titleField = useUseTitleField(collectionConfig, fieldMap);
33
32
  const { i18n, t } = useTranslation();
34
33
  const { breakpoints: { s: smallBreak } } = useWindowInfo();
34
+ const shouldInitializeWhereOpened = validateWhereQuery(searchParams?.where);
35
+ const [visibleDrawer, setVisibleDrawer] = useState(shouldInitializeWhereOpened ? 'where' : undefined);
35
36
  return /*#__PURE__*/ React.createElement("div", {
36
37
  className: baseClass
37
38
  }, /*#__PURE__*/ React.createElement("div", {
38
39
  className: `${baseClass}__wrap`
39
40
  }, /*#__PURE__*/ React.createElement(SearchFilter, {
40
- fieldLabel: (titleField && getTranslation(titleField.label || titleField.name, i18n)) ?? undefined,
41
- fieldName: titleField && fieldAffectsData(titleField) ? titleField.name : undefined,
41
+ fieldLabel: (titleField && getTranslation('label' in titleField.fieldComponentProps && typeof titleField.fieldComponentProps.label === 'string' ? titleField.fieldComponentProps.label : titleField.name, i18n)) ?? undefined,
42
+ fieldName: titleField.name,
42
43
  handleChange: handleSearchChange,
43
44
  listSearchableFields: textFieldsToBeSearched
44
45
  }), /*#__PURE__*/ React.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, FieldAffectingData, Where } from 'payload/types'\n\nimport * as facelessUIImport from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport { fieldAffectsData } from 'payload/types'\nimport React, { useState } from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nconst AnimateHeight = (AnimateHeightImport.default ||\n AnimateHeightImport) as typeof AnimateHeightImport.default\n\nimport type { FieldMap } from '../../utilities/buildComponentMap.js'\n\nimport { Chevron } from '../../icons/Chevron/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { DeleteMany } from '../DeleteMany/index.js'\nimport { EditMany } from '../EditMany/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { PublishMany } from '../PublishMany/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { UnpublishMany } from '../UnpublishMany/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport validateWhereQuery from '../WhereBuilder/validateWhereQuery.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\nexport type ListControlsProps = {\n collectionConfig: ClientCollectionConfig\n enableColumns?: boolean\n enableSort?: boolean\n fieldMap: FieldMap\n handleSearchChange?: (search: string) => void\n handleSortChange?: (sort: string) => void\n handleWhereChange?: (where: Where) => void\n textFieldsToBeSearched?: FieldAffectingData[]\n titleField: FieldAffectingData\n}\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const {\n collectionConfig,\n enableColumns = true,\n enableSort = false,\n fieldMap,\n textFieldsToBeSearched,\n titleField,\n } = props\n\n const { useWindowInfo } = facelessUIImport\n const { handleSearchChange } = useListQuery()\n\n const { searchParams } = useSearchParams()\n const shouldInitializeWhereOpened = validateWhereQuery(searchParams?.where)\n\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchFilter\n fieldLabel={\n (titleField && getTranslation(titleField.label || titleField.name, i18n)) ?? undefined\n }\n fieldName={titleField && fieldAffectsData(titleField) ? titleField.name : undefined}\n handleChange={handleSearchChange}\n listSearchableFields={textFieldsToBeSearched}\n />\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && (\n <React.Fragment>\n <EditMany collection={collectionConfig} fieldMap={fieldMap} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n <DeleteMany collection={collectionConfig} />\n </React.Fragment>\n )}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns ${\n visibleDrawer === 'columns' ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<Chevron />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where ${\n visibleDrawer === 'where' ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<Chevron />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<Chevron />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n />\n </AnimateHeight>\n {enableSort && (\n <AnimateHeight\n className={`${baseClass}__sort`}\n height={visibleDrawer === 'sort' ? 'auto' : 0}\n id={`${baseClass}-sort`}\n >\n <p>Sort Complex</p>\n {/* <SortComplex\n collection={collection}\n handleChange={handleSortChange}\n modifySearchQuery={modifySearchQuery}\n /> */}\n </AnimateHeight>\n )}\n </div>\n )\n}\n"],"names":["facelessUIImport","getTranslation","fieldAffectsData","React","useState","AnimateHeightImport","AnimateHeight","default","Chevron","useListQuery","useSearchParams","useTranslation","ColumnSelector","DeleteMany","EditMany","Pill","PublishMany","SearchFilter","UnpublishMany","WhereBuilder","validateWhereQuery","baseClass","ListControls","props","collectionConfig","enableColumns","enableSort","fieldMap","textFieldsToBeSearched","titleField","useWindowInfo","handleSearchChange","searchParams","shouldInitializeWhereOpened","where","visibleDrawer","setVisibleDrawer","undefined","i18n","t","breakpoints","s","smallBreak","div","className","fieldLabel","label","name","fieldName","handleChange","listSearchableFields","Fragment","collection","aria-controls","aria-expanded","icon","onClick","pillStyle","height","id","collectionSlug","slug","collectionPluralLabel","labels","plural","p"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, FieldAffectingData, Where } from 'payload/types'\n\nimport * as facelessUIImport from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useState } from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nconst AnimateHeight = (AnimateHeightImport.default ||\n AnimateHeightImport) as typeof AnimateHeightImport.default\n\nimport { useUseTitleField } from '@payloadcms/ui/hooks/useUseAsTitle'\n\nimport type { FieldMap } from '../../utilities/buildComponentMap.js'\n\nimport { Chevron } from '../../icons/Chevron/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { DeleteMany } from '../DeleteMany/index.js'\nimport { EditMany } from '../EditMany/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { PublishMany } from '../PublishMany/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { UnpublishMany } from '../UnpublishMany/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport validateWhereQuery from '../WhereBuilder/validateWhereQuery.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\nexport type ListControlsProps = {\n collectionConfig: ClientCollectionConfig\n enableColumns?: boolean\n enableSort?: boolean\n fieldMap: FieldMap\n handleSearchChange?: (search: string) => void\n handleSortChange?: (sort: string) => void\n handleWhereChange?: (where: Where) => void\n textFieldsToBeSearched?: FieldAffectingData[]\n}\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const {\n collectionConfig,\n enableColumns = true,\n enableSort = false,\n fieldMap,\n textFieldsToBeSearched,\n } = props\n\n const { useWindowInfo } = facelessUIImport\n\n const { handleSearchChange } = useListQuery()\n const { searchParams } = useSearchParams()\n const titleField = useUseTitleField(collectionConfig, fieldMap)\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const shouldInitializeWhereOpened = validateWhereQuery(searchParams?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchFilter\n fieldLabel={\n (titleField &&\n getTranslation(\n 'label' in titleField.fieldComponentProps &&\n typeof titleField.fieldComponentProps.label === 'string'\n ? titleField.fieldComponentProps.label\n : titleField.name,\n i18n,\n )) ??\n undefined\n }\n fieldName={titleField.name}\n handleChange={handleSearchChange}\n listSearchableFields={textFieldsToBeSearched}\n />\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && (\n <React.Fragment>\n <EditMany collection={collectionConfig} fieldMap={fieldMap} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n <DeleteMany collection={collectionConfig} />\n </React.Fragment>\n )}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns ${\n visibleDrawer === 'columns' ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<Chevron />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where ${\n visibleDrawer === 'where' ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<Chevron />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<Chevron />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n />\n </AnimateHeight>\n {enableSort && (\n <AnimateHeight\n className={`${baseClass}__sort`}\n height={visibleDrawer === 'sort' ? 'auto' : 0}\n id={`${baseClass}-sort`}\n >\n <p>Sort Complex</p>\n {/* <SortComplex\n collection={collection}\n handleChange={handleSortChange}\n modifySearchQuery={modifySearchQuery}\n /> */}\n </AnimateHeight>\n )}\n </div>\n )\n}\n"],"names":["facelessUIImport","getTranslation","React","useState","AnimateHeightImport","AnimateHeight","default","useUseTitleField","Chevron","useListQuery","useSearchParams","useTranslation","ColumnSelector","DeleteMany","EditMany","Pill","PublishMany","SearchFilter","UnpublishMany","WhereBuilder","validateWhereQuery","baseClass","ListControls","props","collectionConfig","enableColumns","enableSort","fieldMap","textFieldsToBeSearched","useWindowInfo","handleSearchChange","searchParams","titleField","i18n","t","breakpoints","s","smallBreak","shouldInitializeWhereOpened","where","visibleDrawer","setVisibleDrawer","undefined","div","className","fieldLabel","fieldComponentProps","label","name","fieldName","handleChange","listSearchableFields","Fragment","collection","aria-controls","aria-expanded","icon","onClick","pillStyle","height","id","collectionSlug","slug","collectionPluralLabel","labels","plural","p"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAuD,MAAM,OAAO,CAAA;AAE3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAqCjD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAqRvD,CAAA"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAuD,MAAM,OAAO,CAAA;AAE3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAoCjD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA2QvD,CAAA"}
@@ -4,7 +4,6 @@ import { getTranslation } from '@payloadcms/translations';
4
4
  import React, { useCallback, useEffect, useReducer, useState } from 'react';
5
5
  import { FieldLabel } from '../../forms/FieldLabel/index.js';
6
6
  import usePayloadAPI from '../../hooks/usePayloadAPI.js';
7
- import { useUseTitleField } from '../../hooks/useUseAsTitle.js';
8
7
  import { X } from '../../icons/X/index.js';
9
8
  import { useAuth } from '../../providers/Auth/index.js';
10
9
  import { useComponentMap } from '../../providers/ComponentMap/index.js';
@@ -44,7 +43,7 @@ export const ListDrawerContent = ({ collectionSlugs, customHeader, drawerSlug, f
44
43
  const { useModal } = facelessUIImport;
45
44
  const { i18n, t } = useTranslation();
46
45
  const { permissions } = useAuth();
47
- const { getPreference, setPreference } = usePreferences();
46
+ const { setPreference } = usePreferences();
48
47
  const { closeModal, isModalOpen } = useModal();
49
48
  const [limit, setLimit] = useState();
50
49
  const [sort, setSort] = useState(null);
@@ -65,7 +64,6 @@ export const ListDrawerContent = ({ collectionSlugs, customHeader, drawerSlug, f
65
64
  value: selectedCollectionConfig.slug
66
65
  } : undefined);
67
66
  // const [fields, setFields] = useState<Field[]>(() => formatFields(selectedCollectionConfig))
68
- const titleField = useUseTitleField(selectedCollectionConfig);
69
67
  useEffect(()=>{
70
68
  // setFields(formatFields(selectedCollectionConfig))
71
69
  }, [
@@ -107,7 +105,7 @@ export const ListDrawerContent = ({ collectionSlugs, customHeader, drawerSlug, f
107
105
  const [{ data, isError, isLoading: isLoadingList }, { setParams }] = usePayloadAPI(apiURL, {});
108
106
  const moreThanOneAvailableCollection = enabledCollectionConfigs.length > 1;
109
107
  useEffect(()=>{
110
- const { slug, admin: { listSearchableFields } = {}, versions } = selectedCollectionConfig;
108
+ const { slug, admin: { listSearchableFields, useAsTitle } = {}, versions } = selectedCollectionConfig;
111
109
  const params = {};
112
110
  let copyOfWhere = {
113
111
  ...where || {}
@@ -118,7 +116,7 @@ export const ListDrawerContent = ({ collectionSlugs, customHeader, drawerSlug, f
118
116
  }
119
117
  if (search) {
120
118
  const searchAsConditions = (listSearchableFields || [
121
- titleField?.name
119
+ useAsTitle
122
120
  ]).map((fieldName)=>{
123
121
  return {
124
122
  [fieldName]: {
@@ -150,8 +148,7 @@ export const ListDrawerContent = ({ collectionSlugs, customHeader, drawerSlug, f
150
148
  filterOptions,
151
149
  selectedCollectionConfig,
152
150
  t,
153
- setParams,
154
- titleField?.name
151
+ setParams
155
152
  ]);
156
153
  useEffect(()=>{
157
154
  const newPreferences = {
@@ -226,8 +223,7 @@ export const ListDrawerContent = ({ collectionSlugs, customHeader, drawerSlug, f
226
223
  collectionConfig: selectedCollectionConfig,
227
224
  collectionSlug: selectedCollectionConfig.slug,
228
225
  hasCreatePermission: hasCreatePermission,
229
- newDocumentURL: null,
230
- titleField: titleField
226
+ newDocumentURL: null
231
227
  }, /*#__PURE__*/ React.createElement(ListQueryProvider, {
232
228
  data: data,
233
229
  defaultLimit: limit || selectedCollectionConfig?.admin?.pagination?.defaultLimit,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload/types'\nimport type { Where } from 'payload/types'\n\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport usePayloadAPI from '../../hooks/usePayloadAPI.js'\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { X } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useComponentMap } from '../../providers/ComponentMap/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListInfoProvider } from '../../providers/ListInfo/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport { ViewDescription } from '../ViewDescription/index.js'\nimport { baseClass } from './index.js'\n\nconst hoistQueryParamsToAnd = (where: Where, queryParams: Where) => {\n if ('and' in where) {\n where.and.push(queryParams)\n } else if ('or' in where) {\n where = {\n and: [where, queryParams],\n }\n } else {\n where = {\n and: [where, queryParams],\n }\n }\n\n return where\n}\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n collectionSlugs,\n customHeader,\n drawerSlug,\n filterOptions,\n onSelect,\n selectedCollection,\n}) => {\n const { useModal } = facelessUIImport\n\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { getPreference, setPreference } = usePreferences()\n const { closeModal, isModalOpen } = useModal()\n const [limit, setLimit] = useState<number>()\n const [sort, setSort] = useState<string>(null)\n const [page, setPage] = useState<number>(1)\n const [where, setWhere] = useState<Where>(null)\n const [search, setSearch] = useState<string>('')\n\n const { componentMap } = useComponentMap()\n\n const {\n collections,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const enabledCollectionConfigs = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedCollectionConfig, setSelectedCollectionConfig] = useState<ClientCollectionConfig>(\n () => {\n return (\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n )\n },\n )\n\n const { List } = componentMap.collections?.[selectedCollectionConfig?.slug] || {}\n\n const [selectedOption, setSelectedOption] = useState<{ label: string; value: string }>(() =>\n selectedCollectionConfig\n ? {\n label: getTranslation(selectedCollectionConfig.labels.singular, i18n),\n value: selectedCollectionConfig.slug,\n }\n : undefined,\n )\n\n // const [fields, setFields] = useState<Field[]>(() => formatFields(selectedCollectionConfig))\n\n const titleField = useUseTitleField(selectedCollectionConfig)\n\n useEffect(() => {\n // setFields(formatFields(selectedCollectionConfig))\n }, [selectedCollectionConfig])\n\n // allow external control of selected collection, same as the initial state logic above\n useEffect(() => {\n if (selectedCollection) {\n // if passed a selection, find it and check if it's enabled\n const selectedConfig =\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n setSelectedCollectionConfig(selectedConfig)\n }\n }, [selectedCollection, enabledCollectionConfigs, onSelect, t])\n\n const preferenceKey = `${selectedCollectionConfig.slug}-list`\n\n // this is the 'create new' drawer\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedCollectionConfig.slug,\n })\n\n useEffect(() => {\n if (selectedOption) {\n setSelectedCollectionConfig(\n enabledCollectionConfigs.find(({ slug }) => selectedOption.value === slug),\n )\n }\n }, [selectedOption, enabledCollectionConfigs])\n\n const collectionPermissions = permissions?.collections?.[selectedCollectionConfig?.slug]\n const hasCreatePermission = collectionPermissions?.create?.permission\n\n // If modal is open, get active page of upload gallery\n const isOpen = isModalOpen(drawerSlug)\n const apiURL = isOpen ? `${serverURL}${api}/${selectedCollectionConfig.slug}` : null\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0) // used to force a re-fetch even when apiURL is unchanged\n const [{ data, isError, isLoading: isLoadingList }, { setParams }] = usePayloadAPI(apiURL, {})\n const moreThanOneAvailableCollection = enabledCollectionConfigs.length > 1\n\n useEffect(() => {\n const { slug, admin: { listSearchableFields } = {}, versions } = selectedCollectionConfig\n const params: {\n cacheBust?: number\n draft?: string\n limit?: number\n page?: number\n search?: string\n sort?: string\n where?: unknown\n } = {}\n\n let copyOfWhere = { ...(where || {}) }\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, filterOption)\n }\n\n if (search) {\n const searchAsConditions = (listSearchableFields || [titleField?.name]).map((fieldName) => {\n return {\n [fieldName]: {\n like: search,\n },\n }\n }, [])\n\n if (searchAsConditions.length > 0) {\n const searchFilter: Where = {\n or: [...searchAsConditions],\n }\n\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, searchFilter)\n }\n }\n\n if (page) params.page = page\n if (sort) params.sort = sort\n if (cacheBust) params.cacheBust = cacheBust\n if (copyOfWhere) params.where = copyOfWhere\n if (versions?.drafts) params.draft = 'true'\n\n setParams(params)\n }, [\n page,\n sort,\n where,\n search,\n cacheBust,\n filterOptions,\n selectedCollectionConfig,\n t,\n setParams,\n titleField?.name,\n ])\n\n useEffect(() => {\n const newPreferences = {\n limit,\n sort,\n }\n\n void setPreference(preferenceKey, newPreferences, true)\n }, [sort, limit, setPreference, preferenceKey])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedCollectionConfig.slug,\n docID: doc.id,\n })\n }\n dispatchCacheBust()\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedCollectionConfig],\n )\n\n if (!selectedCollectionConfig || isError) {\n return null\n }\n\n if (isLoadingList) {\n return <LoadingOverlay />\n }\n\n return (\n <ListInfoProvider\n Header={\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {!customHeader\n ? getTranslation(selectedCollectionConfig?.labels?.plural, i18n)\n : customHeader}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${baseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <X />\n </button>\n </div>\n {selectedCollectionConfig?.admin?.description && (\n <div className={`${baseClass}__sub-header`}>\n <ViewDescription description={selectedCollectionConfig.admin.description} />\n </div>\n )}\n {moreThanOneAvailableCollection && (\n <div className={`${baseClass}__select-collection-wrap`}>\n <FieldLabel label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption} // this is only changing the options which is not rerunning my effect\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={selectedOption}\n />\n </div>\n )}\n </header>\n }\n collectionConfig={selectedCollectionConfig}\n collectionSlug={selectedCollectionConfig.slug}\n hasCreatePermission={hasCreatePermission}\n newDocumentURL={null}\n titleField={titleField}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || selectedCollectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n handlePageChange={setPage}\n handlePerPageChange={setLimit}\n handleSearchChange={setSearch}\n handleSortChange={setSort}\n handleWhereChange={setWhere}\n modifySearchParams={false}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n cellProps={[\n {\n className: `${baseClass}__first-cell`,\n link: false,\n onClick: ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n docID: rowData.id as string,\n })\n }\n },\n },\n ]}\n collectionSlug={selectedCollectionConfig.slug}\n preferenceKey={preferenceKey}\n >\n {List}\n <DocumentDrawer onSave={onCreateNew} />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n )\n}\n"],"names":["facelessUIImport","getTranslation","React","useCallback","useEffect","useReducer","useState","FieldLabel","usePayloadAPI","useUseTitleField","X","useAuth","useComponentMap","useConfig","ListInfoProvider","ListQueryProvider","usePreferences","useTranslation","useDocumentDrawer","LoadingOverlay","Pill","ReactSelect","TableColumnsProvider","ViewDescription","baseClass","hoistQueryParamsToAnd","where","queryParams","and","push","ListDrawerContent","collectionSlugs","customHeader","drawerSlug","filterOptions","onSelect","selectedCollection","useModal","i18n","t","permissions","getPreference","setPreference","closeModal","isModalOpen","limit","setLimit","sort","setSort","page","setPage","setWhere","search","setSearch","componentMap","collections","routes","api","serverURL","enabledCollectionConfigs","filter","slug","includes","selectedCollectionConfig","setSelectedCollectionConfig","find","List","selectedOption","setSelectedOption","label","labels","singular","value","undefined","titleField","selectedConfig","preferenceKey","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","collectionSlug","collectionPermissions","hasCreatePermission","create","permission","isOpen","apiURL","cacheBust","dispatchCacheBust","state","data","isError","isLoading","isLoadingList","setParams","moreThanOneAvailableCollection","length","admin","listSearchableFields","versions","params","copyOfWhere","filterOption","searchAsConditions","name","map","fieldName","like","searchFilter","or","drafts","draft","newPreferences","onCreateNew","doc","docID","id","Header","header","className","div","h2","plural","button","aria-label","onClick","type","description","onChange","options","coll","collectionConfig","newDocumentURL","defaultLimit","pagination","defaultSort","handlePageChange","handlePerPageChange","handleSearchChange","handleSortChange","handleWhereChange","modifySearchParams","cellProps","link","rowColl","rowData","onSave"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload/types'\nimport type { Where } from 'payload/types'\n\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport usePayloadAPI from '../../hooks/usePayloadAPI.js'\nimport { X } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useComponentMap } from '../../providers/ComponentMap/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListInfoProvider } from '../../providers/ListInfo/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport { ViewDescription } from '../ViewDescription/index.js'\nimport { baseClass } from './index.js'\n\nconst hoistQueryParamsToAnd = (where: Where, queryParams: Where) => {\n if ('and' in where) {\n where.and.push(queryParams)\n } else if ('or' in where) {\n where = {\n and: [where, queryParams],\n }\n } else {\n where = {\n and: [where, queryParams],\n }\n }\n\n return where\n}\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n collectionSlugs,\n customHeader,\n drawerSlug,\n filterOptions,\n onSelect,\n selectedCollection,\n}) => {\n const { useModal } = facelessUIImport\n\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { setPreference } = usePreferences()\n const { closeModal, isModalOpen } = useModal()\n const [limit, setLimit] = useState<number>()\n const [sort, setSort] = useState<string>(null)\n const [page, setPage] = useState<number>(1)\n const [where, setWhere] = useState<Where>(null)\n const [search, setSearch] = useState<string>('')\n\n const { componentMap } = useComponentMap()\n\n const {\n collections,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const enabledCollectionConfigs = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedCollectionConfig, setSelectedCollectionConfig] = useState<ClientCollectionConfig>(\n () => {\n return (\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n )\n },\n )\n\n const { List } = componentMap.collections?.[selectedCollectionConfig?.slug] || {}\n\n const [selectedOption, setSelectedOption] = useState<{ label: string; value: string }>(() =>\n selectedCollectionConfig\n ? {\n label: getTranslation(selectedCollectionConfig.labels.singular, i18n),\n value: selectedCollectionConfig.slug,\n }\n : undefined,\n )\n\n // const [fields, setFields] = useState<Field[]>(() => formatFields(selectedCollectionConfig))\n\n useEffect(() => {\n // setFields(formatFields(selectedCollectionConfig))\n }, [selectedCollectionConfig])\n\n // allow external control of selected collection, same as the initial state logic above\n useEffect(() => {\n if (selectedCollection) {\n // if passed a selection, find it and check if it's enabled\n const selectedConfig =\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n setSelectedCollectionConfig(selectedConfig)\n }\n }, [selectedCollection, enabledCollectionConfigs, onSelect, t])\n\n const preferenceKey = `${selectedCollectionConfig.slug}-list`\n\n // this is the 'create new' drawer\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedCollectionConfig.slug,\n })\n\n useEffect(() => {\n if (selectedOption) {\n setSelectedCollectionConfig(\n enabledCollectionConfigs.find(({ slug }) => selectedOption.value === slug),\n )\n }\n }, [selectedOption, enabledCollectionConfigs])\n\n const collectionPermissions = permissions?.collections?.[selectedCollectionConfig?.slug]\n const hasCreatePermission = collectionPermissions?.create?.permission\n\n // If modal is open, get active page of upload gallery\n const isOpen = isModalOpen(drawerSlug)\n const apiURL = isOpen ? `${serverURL}${api}/${selectedCollectionConfig.slug}` : null\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0) // used to force a re-fetch even when apiURL is unchanged\n const [{ data, isError, isLoading: isLoadingList }, { setParams }] = usePayloadAPI(apiURL, {})\n const moreThanOneAvailableCollection = enabledCollectionConfigs.length > 1\n\n useEffect(() => {\n const {\n slug,\n admin: { listSearchableFields, useAsTitle } = {},\n versions,\n } = selectedCollectionConfig\n const params: {\n cacheBust?: number\n draft?: string\n limit?: number\n page?: number\n search?: string\n sort?: string\n where?: unknown\n } = {}\n\n let copyOfWhere = { ...(where || {}) }\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, filterOption)\n }\n\n if (search) {\n const searchAsConditions = (listSearchableFields || [useAsTitle]).map((fieldName) => {\n return {\n [fieldName]: {\n like: search,\n },\n }\n }, [])\n\n if (searchAsConditions.length > 0) {\n const searchFilter: Where = {\n or: [...searchAsConditions],\n }\n\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, searchFilter)\n }\n }\n\n if (page) params.page = page\n if (sort) params.sort = sort\n if (cacheBust) params.cacheBust = cacheBust\n if (copyOfWhere) params.where = copyOfWhere\n if (versions?.drafts) params.draft = 'true'\n\n setParams(params)\n }, [page, sort, where, search, cacheBust, filterOptions, selectedCollectionConfig, t, setParams])\n\n useEffect(() => {\n const newPreferences = {\n limit,\n sort,\n }\n\n void setPreference(preferenceKey, newPreferences, true)\n }, [sort, limit, setPreference, preferenceKey])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedCollectionConfig.slug,\n docID: doc.id,\n })\n }\n dispatchCacheBust()\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedCollectionConfig],\n )\n\n if (!selectedCollectionConfig || isError) {\n return null\n }\n\n if (isLoadingList) {\n return <LoadingOverlay />\n }\n\n return (\n <ListInfoProvider\n Header={\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {!customHeader\n ? getTranslation(selectedCollectionConfig?.labels?.plural, i18n)\n : customHeader}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${baseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <X />\n </button>\n </div>\n {selectedCollectionConfig?.admin?.description && (\n <div className={`${baseClass}__sub-header`}>\n <ViewDescription description={selectedCollectionConfig.admin.description} />\n </div>\n )}\n {moreThanOneAvailableCollection && (\n <div className={`${baseClass}__select-collection-wrap`}>\n <FieldLabel label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption} // this is only changing the options which is not rerunning my effect\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={selectedOption}\n />\n </div>\n )}\n </header>\n }\n collectionConfig={selectedCollectionConfig}\n collectionSlug={selectedCollectionConfig.slug}\n hasCreatePermission={hasCreatePermission}\n newDocumentURL={null}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || selectedCollectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n handlePageChange={setPage}\n handlePerPageChange={setLimit}\n handleSearchChange={setSearch}\n handleSortChange={setSort}\n handleWhereChange={setWhere}\n modifySearchParams={false}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n cellProps={[\n {\n className: `${baseClass}__first-cell`,\n link: false,\n onClick: ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n docID: rowData.id as string,\n })\n }\n },\n },\n ]}\n collectionSlug={selectedCollectionConfig.slug}\n preferenceKey={preferenceKey}\n >\n {List}\n <DocumentDrawer onSave={onCreateNew} />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n )\n}\n"],"names":["facelessUIImport","getTranslation","React","useCallback","useEffect","useReducer","useState","FieldLabel","usePayloadAPI","X","useAuth","useComponentMap","useConfig","ListInfoProvider","ListQueryProvider","usePreferences","useTranslation","useDocumentDrawer","LoadingOverlay","Pill","ReactSelect","TableColumnsProvider","ViewDescription","baseClass","hoistQueryParamsToAnd","where","queryParams","and","push","ListDrawerContent","collectionSlugs","customHeader","drawerSlug","filterOptions","onSelect","selectedCollection","useModal","i18n","t","permissions","setPreference","closeModal","isModalOpen","limit","setLimit","sort","setSort","page","setPage","setWhere","search","setSearch","componentMap","collections","routes","api","serverURL","enabledCollectionConfigs","filter","slug","includes","selectedCollectionConfig","setSelectedCollectionConfig","find","List","selectedOption","setSelectedOption","label","labels","singular","value","undefined","selectedConfig","preferenceKey","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","collectionSlug","collectionPermissions","hasCreatePermission","create","permission","isOpen","apiURL","cacheBust","dispatchCacheBust","state","data","isError","isLoading","isLoadingList","setParams","moreThanOneAvailableCollection","length","admin","listSearchableFields","useAsTitle","versions","params","copyOfWhere","filterOption","searchAsConditions","map","fieldName","like","searchFilter","or","drafts","draft","newPreferences","onCreateNew","doc","docID","id","Header","header","className","div","h2","plural","button","aria-label","onClick","type","description","onChange","options","coll","collectionConfig","newDocumentURL","defaultLimit","pagination","defaultSort","handlePageChange","handlePerPageChange","handleSearchChange","handleSortChange","handleWhereChange","modifySearchParams","cellProps","link","rowColl","rowData","onSave"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare const DefaultNavClient: React.FC;
3
+ //# sourceMappingURL=index.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.client.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAcvC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAuFpC,CAAA"}
@@ -0,0 +1,77 @@
1
+ 'use client';
2
+ import { getTranslation } from '@payloadcms/translations';
3
+ import { useEntityVisibility } from '@payloadcms/ui/providers/EntityVisibility';
4
+ import LinkWithDefault from 'next/link.js';
5
+ import React, { Fragment } from 'react';
6
+ import { Chevron } from '../../icons/Chevron/index.js';
7
+ import { useAuth } from '../../providers/Auth/index.js';
8
+ import { useConfig } from '../../providers/Config/index.js';
9
+ import { useTranslation } from '../../providers/Translation/index.js';
10
+ import { EntityType, groupNavItems } from '../../utilities/groupNavItems.js';
11
+ import { NavGroup } from '../NavGroup/index.js';
12
+ import { useNav } from './context.js';
13
+ const baseClass = 'nav';
14
+ export const DefaultNavClient = ()=>{
15
+ const { permissions } = useAuth();
16
+ const { isEntityVisible } = useEntityVisibility();
17
+ const { collections, globals, routes: { admin } } = useConfig();
18
+ const { i18n } = useTranslation();
19
+ const { navOpen } = useNav();
20
+ const groups = groupNavItems([
21
+ ...collections.filter(({ slug })=>isEntityVisible({
22
+ collectionSlug: slug
23
+ })).map((collection)=>{
24
+ const entityToGroup = {
25
+ type: EntityType.collection,
26
+ entity: collection
27
+ };
28
+ return entityToGroup;
29
+ }),
30
+ ...globals.filter(({ slug })=>isEntityVisible({
31
+ globalSlug: slug
32
+ })).map((global)=>{
33
+ const entityToGroup = {
34
+ type: EntityType.global,
35
+ entity: global
36
+ };
37
+ return entityToGroup;
38
+ })
39
+ ], permissions, i18n);
40
+ return /*#__PURE__*/ React.createElement(Fragment, null, groups.map(({ entities, label }, key)=>{
41
+ return /*#__PURE__*/ React.createElement(NavGroup, {
42
+ key: key,
43
+ label: label
44
+ }, entities.map(({ type, entity }, i)=>{
45
+ let entityLabel;
46
+ let href;
47
+ let id;
48
+ if (type === EntityType.collection) {
49
+ href = `${admin}/collections/${entity.slug}`;
50
+ entityLabel = getTranslation(entity.labels.plural, i18n);
51
+ id = `nav-${entity.slug}`;
52
+ }
53
+ if (type === EntityType.global) {
54
+ href = `${admin}/globals/${entity.slug}`;
55
+ entityLabel = getTranslation(entity.label, i18n);
56
+ id = `nav-global-${entity.slug}`;
57
+ }
58
+ const Link = LinkWithDefault.default || LinkWithDefault;
59
+ const LinkElement = Link || 'a';
60
+ return /*#__PURE__*/ React.createElement(LinkElement, {
61
+ className: `${baseClass}__link`,
62
+ href: href,
63
+ id: id,
64
+ key: i,
65
+ tabIndex: !navOpen ? -1 : undefined
66
+ }, /*#__PURE__*/ React.createElement("span", {
67
+ className: `${baseClass}__link-icon`
68
+ }, /*#__PURE__*/ React.createElement(Chevron, {
69
+ direction: "right"
70
+ })), /*#__PURE__*/ React.createElement("span", {
71
+ className: `${baseClass}__link-label`
72
+ }, entityLabel));
73
+ }));
74
+ }));
75
+ };
76
+
77
+ //# sourceMappingURL=index.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/elements/Nav/index.client.tsx"],"sourcesContent":["'use client'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useEntityVisibility } from '@payloadcms/ui/providers/EntityVisibility'\nimport LinkWithDefault from 'next/link.js'\nimport React, { Fragment } from 'react'\n\nimport type { EntityToGroup } from '../../utilities/groupNavItems.js'\n\nimport { Chevron } from '../../icons/Chevron/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { EntityType, groupNavItems } from '../../utilities/groupNavItems.js'\nimport { NavGroup } from '../NavGroup/index.js'\nimport { useNav } from './context.js'\n\nconst baseClass = 'nav'\n\nexport const DefaultNavClient: React.FC = () => {\n const { permissions } = useAuth()\n const { isEntityVisible } = useEntityVisibility()\n\n const {\n collections,\n globals,\n routes: { admin },\n } = useConfig()\n\n const { i18n } = useTranslation()\n const { navOpen } = useNav()\n\n const groups = groupNavItems(\n [\n ...collections\n .filter(({ slug }) => isEntityVisible({ collectionSlug: slug }))\n .map((collection) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.collection,\n entity: collection,\n }\n\n return entityToGroup\n }),\n ...globals\n .filter(({ slug }) => isEntityVisible({ globalSlug: slug }))\n .map((global) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.global,\n entity: global,\n }\n\n return entityToGroup\n }),\n ],\n permissions,\n i18n,\n )\n\n return (\n <Fragment>\n {groups.map(({ entities, label }, key) => {\n return (\n <NavGroup key={key} label={label}>\n {entities.map(({ type, entity }, i) => {\n let entityLabel: string\n let href: string\n let id: string\n\n if (type === EntityType.collection) {\n href = `${admin}/collections/${entity.slug}`\n entityLabel = getTranslation(entity.labels.plural, i18n)\n id = `nav-${entity.slug}`\n }\n\n if (type === EntityType.global) {\n href = `${admin}/globals/${entity.slug}`\n entityLabel = getTranslation(entity.label, i18n)\n id = `nav-global-${entity.slug}`\n }\n\n const Link = (LinkWithDefault.default ||\n LinkWithDefault) as typeof LinkWithDefault.default\n\n const LinkElement = Link || 'a'\n\n return (\n <LinkElement\n className={`${baseClass}__link`}\n href={href}\n id={id}\n key={i}\n tabIndex={!navOpen ? -1 : undefined}\n >\n <span className={`${baseClass}__link-icon`}>\n <Chevron direction=\"right\" />\n </span>\n <span className={`${baseClass}__link-label`}>{entityLabel}</span>\n </LinkElement>\n )\n })}\n </NavGroup>\n )\n })}\n </Fragment>\n )\n}\n"],"names":["getTranslation","useEntityVisibility","LinkWithDefault","React","Fragment","Chevron","useAuth","useConfig","useTranslation","EntityType","groupNavItems","NavGroup","useNav","baseClass","DefaultNavClient","permissions","isEntityVisible","collections","globals","routes","admin","i18n","navOpen","groups","filter","slug","collectionSlug","map","collection","entityToGroup","type","entity","globalSlug","global","entities","label","key","i","entityLabel","href","id","labels","plural","Link","default","LinkElement","className","tabIndex","undefined","span","direction"],"mappings":"AAAA;AAEA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,mBAAmB,QAAQ,4CAA2C;AAC/E,OAAOC,qBAAqB,eAAc;AAC1C,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAIvC,SAASC,OAAO,QAAQ,+BAA8B;AACtD,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,UAAU,EAAEC,aAAa,QAAQ,mCAAkC;AAC5E,SAASC,QAAQ,QAAQ,uBAAsB;AAC/C,SAASC,MAAM,QAAQ,eAAc;AAErC,MAAMC,YAAY;AAElB,OAAO,MAAMC,mBAA6B;IACxC,MAAM,EAAEC,WAAW,EAAE,GAAGT;IACxB,MAAM,EAAEU,eAAe,EAAE,GAAGf;IAE5B,MAAM,EACJgB,WAAW,EACXC,OAAO,EACPC,QAAQ,EAAEC,KAAK,EAAE,EAClB,GAAGb;IAEJ,MAAM,EAAEc,IAAI,EAAE,GAAGb;IACjB,MAAM,EAAEc,OAAO,EAAE,GAAGV;IAEpB,MAAMW,SAASb,cACb;WACKO,YACAO,MAAM,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKT,gBAAgB;gBAAEU,gBAAgBD;YAAK,IAC5DE,GAAG,CAAC,CAACC;YACJ,MAAMC,gBAA+B;gBACnCC,MAAMrB,WAAWmB,UAAU;gBAC3BG,QAAQH;YACV;YAEA,OAAOC;QACT;WACCX,QACAM,MAAM,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKT,gBAAgB;gBAAEgB,YAAYP;YAAK,IACxDE,GAAG,CAAC,CAACM;YACJ,MAAMJ,gBAA+B;gBACnCC,MAAMrB,WAAWwB,MAAM;gBACvBF,QAAQE;YACV;YAEA,OAAOJ;QACT;KACH,EACDd,aACAM;IAGF,qBACE,oBAACjB,gBACEmB,OAAOI,GAAG,CAAC,CAAC,EAAEO,QAAQ,EAAEC,KAAK,EAAE,EAAEC;QAChC,qBACE,oBAACzB;YAASyB,KAAKA;YAAKD,OAAOA;WACxBD,SAASP,GAAG,CAAC,CAAC,EAAEG,IAAI,EAAEC,MAAM,EAAE,EAAEM;YAC/B,IAAIC;YACJ,IAAIC;YACJ,IAAIC;YAEJ,IAAIV,SAASrB,WAAWmB,UAAU,EAAE;gBAClCW,OAAO,CAAC,EAAEnB,MAAM,aAAa,EAAEW,OAAON,IAAI,CAAC,CAAC;gBAC5Ca,cAActC,eAAe+B,OAAOU,MAAM,CAACC,MAAM,EAAErB;gBACnDmB,KAAK,CAAC,IAAI,EAAET,OAAON,IAAI,CAAC,CAAC;YAC3B;YAEA,IAAIK,SAASrB,WAAWwB,MAAM,EAAE;gBAC9BM,OAAO,CAAC,EAAEnB,MAAM,SAAS,EAAEW,OAAON,IAAI,CAAC,CAAC;gBACxCa,cAActC,eAAe+B,OAAOI,KAAK,EAAEd;gBAC3CmB,KAAK,CAAC,WAAW,EAAET,OAAON,IAAI,CAAC,CAAC;YAClC;YAEA,MAAMkB,OAAQzC,gBAAgB0C,OAAO,IACnC1C;YAEF,MAAM2C,cAAcF,QAAQ;YAE5B,qBACE,oBAACE;gBACCC,WAAW,CAAC,EAAEjC,UAAU,MAAM,CAAC;gBAC/B0B,MAAMA;gBACNC,IAAIA;gBACJJ,KAAKC;gBACLU,UAAU,CAACzB,UAAU,CAAC,IAAI0B;6BAE1B,oBAACC;gBAAKH,WAAW,CAAC,EAAEjC,UAAU,WAAW,CAAC;6BACxC,oBAACR;gBAAQ6C,WAAU;+BAErB,oBAACD;gBAAKH,WAAW,CAAC,EAAEjC,UAAU,YAAY,CAAC;eAAGyB;QAGpD;IAGN;AAGN,EAAC"}
@@ -1,12 +1,8 @@
1
- import type { I18n } from '@payloadcms/translations';
2
- import type { Permissions, User } from 'payload/auth';
3
1
  import type { SanitizedConfig } from 'payload/types';
4
2
  import React from 'react';
5
3
  import './index.scss';
6
- export declare const DefaultNav: React.FC<{
4
+ export type NavProps = {
7
5
  config: SanitizedConfig;
8
- i18n: I18n;
9
- permissions: Permissions;
10
- user: User;
11
- }>;
6
+ };
7
+ export declare const DefaultNav: React.FC<NavProps>;
12
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAKpD,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,WAAW,CAAA;IACxB,IAAI,EAAE,IAAI,CAAA;CACX,CAwGA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAMrB,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,eAAe,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CA+BzC,CAAA"}
@@ -1,84 +1,22 @@
1
- import { getTranslation } from '@payloadcms/translations';
2
- import LinkWithDefault from 'next/link.js';
3
- import { isEntityHidden } from 'payload/utilities';
4
1
  import React from 'react';
5
- import { Chevron } from '../../icons/Chevron/index.js';
6
- import { EntityType, groupNavItems } from '../../utilities/groupNavItems.js';
7
2
  import { Logout } from '../Logout/index.js';
8
- import { NavGroup } from '../NavGroup/index.js';
9
3
  import { NavHamburger } from './NavHamburger/index.js';
10
4
  import { NavWrapper } from './NavWrapper/index.js';
11
5
  const baseClass = 'nav';
6
+ import { DefaultNavClient } from './index.client.js';
12
7
  export const DefaultNav = (props)=>{
13
- const { config, i18n, permissions, user } = props;
8
+ const { config } = props;
14
9
  if (!config) {
15
10
  return null;
16
11
  }
17
- const { admin: { components: { afterNavLinks, beforeNavLinks } }, collections, globals, routes: { admin } } = config;
18
- const groups = groupNavItems([
19
- ...collections.filter(({ admin: { hidden } })=>!isEntityHidden({
20
- hidden,
21
- user
22
- })).map((collection)=>{
23
- const entityToGroup = {
24
- type: EntityType.collection,
25
- entity: collection
26
- };
27
- return entityToGroup;
28
- }),
29
- ...globals.filter(({ admin: { hidden } })=>!isEntityHidden({
30
- hidden,
31
- user
32
- })).map((global)=>{
33
- const entityToGroup = {
34
- type: EntityType.global,
35
- entity: global
36
- };
37
- return entityToGroup;
38
- })
39
- ], permissions, i18n);
12
+ const { admin: { components: { afterNavLinks, beforeNavLinks } } } = config;
40
13
  return /*#__PURE__*/ React.createElement(NavWrapper, {
41
14
  baseClass: baseClass
42
15
  }, /*#__PURE__*/ React.createElement("nav", {
43
16
  className: `${baseClass}__wrap`
44
17
  }, Array.isArray(beforeNavLinks) && beforeNavLinks.map((Component, i)=>/*#__PURE__*/ React.createElement(Component, {
45
18
  key: i
46
- })), groups.map(({ entities, label }, key)=>{
47
- return /*#__PURE__*/ React.createElement(NavGroup, {
48
- key: key,
49
- label: label
50
- }, entities.map(({ type, entity }, i)=>{
51
- let entityLabel;
52
- let href;
53
- let id;
54
- if (type === EntityType.collection) {
55
- href = `${admin}/collections/${entity.slug}`;
56
- entityLabel = getTranslation(entity.labels.plural, i18n);
57
- id = `nav-${entity.slug}`;
58
- }
59
- if (type === EntityType.global) {
60
- href = `${admin}/globals/${entity.slug}`;
61
- entityLabel = getTranslation(entity.label, i18n);
62
- id = `nav-global-${entity.slug}`;
63
- }
64
- const Link = LinkWithDefault.default || LinkWithDefault;
65
- const LinkElement = Link || 'a';
66
- return /*#__PURE__*/ React.createElement(LinkElement, {
67
- // activeClassName="active"
68
- className: `${baseClass}__link`,
69
- href: href,
70
- id: id,
71
- // tabIndex={!navOpen ? -1 : undefined}
72
- key: i
73
- }, /*#__PURE__*/ React.createElement("span", {
74
- className: `${baseClass}__link-icon`
75
- }, /*#__PURE__*/ React.createElement(Chevron, {
76
- direction: "right"
77
- })), /*#__PURE__*/ React.createElement("span", {
78
- className: `${baseClass}__link-label`
79
- }, entityLabel));
80
- }));
81
- }), Array.isArray(afterNavLinks) && afterNavLinks.map((Component, i)=>/*#__PURE__*/ React.createElement(Component, {
19
+ })), /*#__PURE__*/ React.createElement(DefaultNavClient, null), Array.isArray(afterNavLinks) && afterNavLinks.map((Component, i)=>/*#__PURE__*/ React.createElement(Component, {
82
20
  key: i
83
21
  })), /*#__PURE__*/ React.createElement("div", {
84
22
  className: `${baseClass}__controls`
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Nav/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Permissions, User } from 'payload/auth'\nimport type { SanitizedConfig } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport LinkWithDefault from 'next/link.js'\nimport { isEntityHidden } from 'payload/utilities'\nimport React from 'react'\n\nimport type { EntityToGroup } from '../../utilities/groupNavItems.js'\n\nimport { Chevron } from '../../icons/Chevron/index.js'\nimport { EntityType, groupNavItems } from '../../utilities/groupNavItems.js'\nimport { Logout } from '../Logout/index.js'\nimport { NavGroup } from '../NavGroup/index.js'\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { NavWrapper } from './NavWrapper/index.js'\nimport './index.scss'\n\nconst baseClass = 'nav'\n\nexport const DefaultNav: React.FC<{\n config: SanitizedConfig\n i18n: I18n\n permissions: Permissions\n user: User\n}> = (props) => {\n const { config, i18n, permissions, user } = props\n\n if (!config) {\n return null\n }\n\n const {\n admin: {\n components: { afterNavLinks, beforeNavLinks },\n },\n collections,\n globals,\n routes: { admin },\n } = config\n\n const groups = groupNavItems(\n [\n ...collections\n .filter(({ admin: { hidden } }) => !isEntityHidden({ hidden, user }))\n .map((collection) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.collection,\n entity: collection,\n }\n\n return entityToGroup\n }),\n ...globals\n .filter(({ admin: { hidden } }) => !isEntityHidden({ hidden, user }))\n .map((global) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.global,\n entity: global,\n }\n\n return entityToGroup\n }),\n ],\n permissions,\n i18n,\n )\n\n return (\n <NavWrapper baseClass={baseClass}>\n <nav className={`${baseClass}__wrap`}>\n {Array.isArray(beforeNavLinks) &&\n beforeNavLinks.map((Component, i) => <Component key={i} />)}\n {groups.map(({ entities, label }, key) => {\n return (\n <NavGroup key={key} label={label}>\n {entities.map(({ type, entity }, i) => {\n let entityLabel: string\n let href: string\n let id: string\n\n if (type === EntityType.collection) {\n href = `${admin}/collections/${entity.slug}`\n entityLabel = getTranslation(entity.labels.plural, i18n)\n id = `nav-${entity.slug}`\n }\n\n if (type === EntityType.global) {\n href = `${admin}/globals/${entity.slug}`\n entityLabel = getTranslation(entity.label, i18n)\n id = `nav-global-${entity.slug}`\n }\n\n const Link = (LinkWithDefault.default ||\n LinkWithDefault) as typeof LinkWithDefault.default\n\n const LinkElement = Link || 'a'\n\n return (\n <LinkElement\n // activeClassName=\"active\"\n className={`${baseClass}__link`}\n href={href}\n id={id}\n // tabIndex={!navOpen ? -1 : undefined}\n key={i}\n >\n <span className={`${baseClass}__link-icon`}>\n <Chevron direction=\"right\" />\n </span>\n <span className={`${baseClass}__link-label`}>{entityLabel}</span>\n </LinkElement>\n )\n })}\n </NavGroup>\n )\n })}\n {Array.isArray(afterNavLinks) && afterNavLinks.map((Component, i) => <Component key={i} />)}\n <div className={`${baseClass}__controls`}>\n <Logout />\n </div>\n </nav>\n <div className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-content`}>\n <NavHamburger baseClass={baseClass} />\n </div>\n </div>\n </NavWrapper>\n )\n}\n"],"names":["getTranslation","LinkWithDefault","isEntityHidden","React","Chevron","EntityType","groupNavItems","Logout","NavGroup","NavHamburger","NavWrapper","baseClass","DefaultNav","props","config","i18n","permissions","user","admin","components","afterNavLinks","beforeNavLinks","collections","globals","routes","groups","filter","hidden","map","collection","entityToGroup","type","entity","global","nav","className","Array","isArray","Component","i","key","entities","label","entityLabel","href","id","slug","labels","plural","Link","default","LinkElement","span","direction","div"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/Nav/index.tsx"],"sourcesContent":["import type { SanitizedConfig } from 'payload/types'\n\nimport React from 'react'\n\nimport { Logout } from '../Logout/index.js'\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { NavWrapper } from './NavWrapper/index.js'\nimport './index.scss'\n\nconst baseClass = 'nav'\n\nimport { DefaultNavClient } from './index.client.js'\n\nexport type NavProps = {\n config: SanitizedConfig\n}\n\nexport const DefaultNav: React.FC<NavProps> = (props) => {\n const { config } = props\n\n if (!config) {\n return null\n }\n\n const {\n admin: {\n components: { afterNavLinks, beforeNavLinks },\n },\n } = config\n\n return (\n <NavWrapper baseClass={baseClass}>\n <nav className={`${baseClass}__wrap`}>\n {Array.isArray(beforeNavLinks) &&\n beforeNavLinks.map((Component, i) => <Component key={i} />)}\n <DefaultNavClient />\n {Array.isArray(afterNavLinks) && afterNavLinks.map((Component, i) => <Component key={i} />)}\n <div className={`${baseClass}__controls`}>\n <Logout />\n </div>\n </nav>\n <div className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-content`}>\n <NavHamburger baseClass={baseClass} />\n </div>\n </div>\n </NavWrapper>\n )\n}\n"],"names":["React","Logout","NavHamburger","NavWrapper","baseClass","DefaultNavClient","DefaultNav","props","config","admin","components","afterNavLinks","beforeNavLinks","nav","className","Array","isArray","map","Component","i","key","div"],"mappings":"AAEA,OAAOA,WAAW,QAAO;AAEzB,SAASC,MAAM,QAAQ,qBAAoB;AAC3C,SAASC,YAAY,QAAQ,0BAAyB;AACtD,SAASC,UAAU,QAAQ,wBAAuB;AAGlD,MAAMC,YAAY;AAElB,SAASC,gBAAgB,QAAQ,oBAAmB;AAMpD,OAAO,MAAMC,aAAiC,CAACC;IAC7C,MAAM,EAAEC,MAAM,EAAE,GAAGD;IAEnB,IAAI,CAACC,QAAQ;QACX,OAAO;IACT;IAEA,MAAM,EACJC,OAAO,EACLC,YAAY,EAAEC,aAAa,EAAEC,cAAc,EAAE,EAC9C,EACF,GAAGJ;IAEJ,qBACE,oBAACL;QAAWC,WAAWA;qBACrB,oBAACS;QAAIC,WAAW,CAAC,EAAEV,UAAU,MAAM,CAAC;OACjCW,MAAMC,OAAO,CAACJ,mBACbA,eAAeK,GAAG,CAAC,CAACC,WAAWC,kBAAM,oBAACD;YAAUE,KAAKD;2BACvD,oBAACd,yBACAU,MAAMC,OAAO,CAACL,kBAAkBA,cAAcM,GAAG,CAAC,CAACC,WAAWC,kBAAM,oBAACD;YAAUE,KAAKD;2BACrF,oBAACE;QAAIP,WAAW,CAAC,EAAEV,UAAU,UAAU,CAAC;qBACtC,oBAACH,+BAGL,oBAACoB;QAAIP,WAAW,CAAC,EAAEV,UAAU,QAAQ,CAAC;qBACpC,oBAACiB;QAAIP,WAAW,CAAC,EAAEV,UAAU,gBAAgB,CAAC;qBAC5C,oBAACF;QAAaE,WAAWA;;AAKnC,EAAC"}
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import './index.scss';
3
3
  export type PerPageProps = {
4
+ defaultLimit?: number;
4
5
  handleChange?: (limit: number) => void;
5
6
  limit: number;
6
7
  limits: number[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PerPage/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAMrB,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAiD1C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PerPage/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAMrB,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAoD1C,CAAA"}
@@ -1,21 +1,23 @@
1
1
  'use client';
2
2
  // TODO: abstract the `next/navigation` dependency out from this component
3
3
  import { collectionDefaults } from 'payload/config';
4
+ import { isNumber } from 'payload/utilities';
4
5
  import React from 'react';
5
6
  import { Chevron } from '../../icons/Chevron/index.js';
6
7
  import { useTranslation } from '../../providers/Translation/index.js';
7
8
  import { Popup, PopupList } from '../Popup/index.js';
8
9
  const baseClass = 'per-page';
9
10
  const defaultLimits = collectionDefaults.admin.pagination.limits;
10
- export const PerPage = ({ handleChange, limit, limits = defaultLimits })=>{
11
+ export const PerPage = ({ defaultLimit = 10, handleChange, limit, limits = defaultLimits })=>{
11
12
  const { t } = useTranslation();
13
+ const limitToUse = isNumber(limit) ? limit : defaultLimit;
12
14
  return /*#__PURE__*/ React.createElement("div", {
13
15
  className: baseClass
14
16
  }, /*#__PURE__*/ React.createElement(Popup, {
15
17
  button: /*#__PURE__*/ React.createElement("div", {
16
18
  className: `${baseClass}__base-button`
17
19
  }, /*#__PURE__*/ React.createElement("span", null, t('general:perPage', {
18
- limit
20
+ limit: limitToUse
19
21
  })), " ", /*#__PURE__*/ React.createElement(Chevron, {
20
22
  className: `${baseClass}__icon`
21
23
  })),
@@ -23,14 +25,14 @@ export const PerPage = ({ handleChange, limit, limits = defaultLimits })=>{
23
25
  render: ({ close })=>/*#__PURE__*/ React.createElement(PopupList.ButtonGroup, null, limits.map((limitNumber, i)=>/*#__PURE__*/ React.createElement(PopupList.Button, {
24
26
  className: [
25
27
  `${baseClass}__button`,
26
- limitNumber === Number(limit) && `${baseClass}__button-active`
28
+ limitNumber === limitToUse && `${baseClass}__button-active`
27
29
  ].filter(Boolean).join(' '),
28
30
  key: i,
29
31
  onClick: ()=>{
30
32
  close();
31
33
  if (handleChange) handleChange(limitNumber);
32
34
  }
33
- }, limitNumber === Number(limit) && /*#__PURE__*/ React.createElement("div", {
35
+ }, limitNumber === limitToUse && /*#__PURE__*/ React.createElement("div", {
34
36
  className: `${baseClass}__chevron`
35
37
  }, /*#__PURE__*/ React.createElement(Chevron, {
36
38
  direction: "right"