@payloadcms/ui 3.49.0-canary.7 → 3.49.0

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 (288) hide show
  1. package/dist/elements/ColumnSelector/index.js +1 -1
  2. package/dist/elements/ColumnSelector/index.js.map +1 -1
  3. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  4. package/dist/elements/DeleteDocument/index.js +65 -47
  5. package/dist/elements/DeleteDocument/index.js.map +1 -1
  6. package/dist/elements/DeleteDocument/index.scss +10 -0
  7. package/dist/elements/DeleteMany/index.d.ts +17 -2
  8. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  9. package/dist/elements/DeleteMany/index.js +162 -49
  10. package/dist/elements/DeleteMany/index.js.map +1 -1
  11. package/dist/elements/DeleteMany/index.scss +13 -0
  12. package/dist/elements/DocumentControls/index.d.ts +3 -0
  13. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  14. package/dist/elements/DocumentControls/index.js +24 -5
  15. package/dist/elements/DocumentControls/index.js.map +1 -1
  16. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  17. package/dist/elements/DocumentDrawer/DrawerContent.js +4 -2
  18. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  19. package/dist/elements/DocumentDrawer/Provider.d.ts +4 -0
  20. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
  21. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  22. package/dist/elements/DocumentDrawer/types.d.ts +1 -0
  23. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  24. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  25. package/dist/elements/DocumentFields/index.d.ts +1 -0
  26. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  27. package/dist/elements/DocumentFields/index.js +3 -1
  28. package/dist/elements/DocumentFields/index.js.map +1 -1
  29. package/dist/elements/EditMany/DrawerContent.d.ts +2 -0
  30. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  31. package/dist/elements/EditMany/DrawerContent.js +7 -3
  32. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  33. package/dist/elements/EditMany/index.d.ts +7 -2
  34. package/dist/elements/EditMany/index.d.ts.map +1 -1
  35. package/dist/elements/EditMany/index.js +39 -34
  36. package/dist/elements/EditMany/index.js.map +1 -1
  37. package/dist/elements/FolderView/Cell/index.client.d.ts +3 -2
  38. package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -1
  39. package/dist/elements/FolderView/Cell/index.client.js +3 -1
  40. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  41. package/dist/elements/FolderView/Cell/index.server.d.ts.map +1 -1
  42. package/dist/elements/FolderView/Cell/index.server.js +2 -1
  43. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  44. package/dist/elements/GroupByBuilder/index.d.ts +9 -0
  45. package/dist/elements/GroupByBuilder/index.d.ts.map +1 -0
  46. package/dist/elements/GroupByBuilder/index.js +112 -0
  47. package/dist/elements/GroupByBuilder/index.js.map +1 -0
  48. package/dist/elements/GroupByBuilder/index.scss +39 -0
  49. package/dist/elements/LeaveWithoutSaving/index.d.ts +6 -1
  50. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  51. package/dist/elements/LeaveWithoutSaving/index.js +69 -49
  52. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  53. package/dist/elements/ListControls/index.d.ts.map +1 -1
  54. package/dist/elements/ListControls/index.js +28 -4
  55. package/dist/elements/ListControls/index.js.map +1 -1
  56. package/dist/elements/ListControls/index.scss +4 -2
  57. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  58. package/dist/elements/ListDrawer/DrawerContent.js +34 -15
  59. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  60. package/dist/elements/ListDrawer/Provider.d.ts +9 -3
  61. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  62. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  63. package/dist/elements/ListDrawer/index.d.ts +19 -0
  64. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  65. package/dist/elements/ListDrawer/index.js +19 -0
  66. package/dist/elements/ListDrawer/index.js.map +1 -1
  67. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts +7 -0
  68. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -0
  69. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +164 -0
  70. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -0
  71. package/dist/elements/ListHeader/TitleActions/index.d.ts +1 -0
  72. package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -1
  73. package/dist/elements/ListHeader/TitleActions/index.js +1 -0
  74. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  75. package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts +10 -0
  76. package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts.map +1 -0
  77. package/dist/elements/ListHeaderTabs/ByFolderPill.js +70 -0
  78. package/dist/elements/ListHeaderTabs/ByFolderPill.js.map +1 -0
  79. package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts +9 -0
  80. package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts.map +1 -0
  81. package/dist/elements/ListHeaderTabs/DefaultListPill.js +68 -0
  82. package/dist/elements/ListHeaderTabs/DefaultListPill.js.map +1 -0
  83. package/dist/elements/ListHeaderTabs/TrashPill.d.ts +6 -0
  84. package/dist/elements/ListHeaderTabs/TrashPill.d.ts.map +1 -0
  85. package/dist/elements/ListHeaderTabs/TrashPill.js +53 -0
  86. package/dist/elements/ListHeaderTabs/TrashPill.js.map +1 -0
  87. package/dist/elements/{ListFolderPills → ListHeaderTabs}/index.scss +1 -2
  88. package/dist/elements/ListSelection/index.scss +1 -1
  89. package/dist/elements/PageControls/GroupByPageControls.d.ts +16 -0
  90. package/dist/elements/PageControls/GroupByPageControls.d.ts.map +1 -0
  91. package/dist/elements/PageControls/GroupByPageControls.js +83 -0
  92. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -0
  93. package/dist/elements/PageControls/index.d.ts +17 -0
  94. package/dist/elements/PageControls/index.d.ts.map +1 -0
  95. package/dist/elements/PageControls/index.js +70 -0
  96. package/dist/elements/PageControls/index.js.map +1 -0
  97. package/dist/elements/PageControls/index.scss +40 -0
  98. package/dist/elements/Pagination/ClickableArrow/index.scss +3 -3
  99. package/dist/elements/Pagination/index.js +1 -1
  100. package/dist/elements/Pagination/index.js.map +1 -1
  101. package/dist/elements/Pagination/index.scss +4 -4
  102. package/dist/elements/PermanentlyDeleteButton/index.d.ts +14 -0
  103. package/dist/elements/PermanentlyDeleteButton/index.d.ts.map +1 -0
  104. package/dist/elements/PermanentlyDeleteButton/index.js +147 -0
  105. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -0
  106. package/dist/elements/PublishMany/DrawerContent.d.ts +2 -0
  107. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  108. package/dist/elements/PublishMany/DrawerContent.js +7 -3
  109. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  110. package/dist/elements/PublishMany/index.d.ts +6 -1
  111. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  112. package/dist/elements/PublishMany/index.js +38 -33
  113. package/dist/elements/PublishMany/index.js.map +1 -1
  114. package/dist/elements/ReactSelect/types.d.ts +1 -0
  115. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  116. package/dist/elements/ReactSelect/types.js.map +1 -1
  117. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  118. package/dist/elements/RelationshipTable/index.js +16 -11
  119. package/dist/elements/RelationshipTable/index.js.map +1 -1
  120. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  121. package/dist/elements/RenderTitle/index.js +1 -0
  122. package/dist/elements/RenderTitle/index.js.map +1 -1
  123. package/dist/elements/RestoreButton/index.d.ts +15 -0
  124. package/dist/elements/RestoreButton/index.d.ts.map +1 -0
  125. package/dist/elements/RestoreButton/index.js +171 -0
  126. package/dist/elements/RestoreButton/index.js.map +1 -0
  127. package/dist/elements/RestoreButton/index.scss +25 -0
  128. package/dist/elements/RestoreMany/index.d.ts +9 -0
  129. package/dist/elements/RestoreMany/index.d.ts.map +1 -0
  130. package/dist/elements/RestoreMany/index.js +193 -0
  131. package/dist/elements/RestoreMany/index.js.map +1 -0
  132. package/dist/elements/RestoreMany/index.scss +25 -0
  133. package/dist/elements/Status/index.d.ts.map +1 -1
  134. package/dist/elements/Status/index.js +6 -4
  135. package/dist/elements/Status/index.js.map +1 -1
  136. package/dist/elements/StickyToolbar/index.d.ts +6 -0
  137. package/dist/elements/StickyToolbar/index.d.ts.map +1 -0
  138. package/dist/elements/StickyToolbar/index.js +11 -0
  139. package/dist/elements/StickyToolbar/index.js.map +1 -0
  140. package/dist/elements/StickyToolbar/index.scss +27 -0
  141. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  142. package/dist/elements/Table/DefaultCell/index.js +10 -8
  143. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  144. package/dist/elements/Table/OrderableTable.d.ts +2 -0
  145. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  146. package/dist/elements/Table/OrderableTable.js +4 -3
  147. package/dist/elements/Table/OrderableTable.js.map +1 -1
  148. package/dist/elements/Table/index.d.ts +1 -0
  149. package/dist/elements/Table/index.d.ts.map +1 -1
  150. package/dist/elements/Table/index.js +5 -4
  151. package/dist/elements/Table/index.js.map +1 -1
  152. package/dist/elements/TrashBanner/index.d.ts +4 -0
  153. package/dist/elements/TrashBanner/index.d.ts.map +1 -0
  154. package/dist/elements/TrashBanner/index.js +37 -0
  155. package/dist/elements/TrashBanner/index.js.map +1 -0
  156. package/dist/elements/TrashBanner/index.scss +20 -0
  157. package/dist/elements/UnpublishMany/DrawerContent.d.ts +2 -0
  158. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  159. package/dist/elements/UnpublishMany/DrawerContent.js +6 -2
  160. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  161. package/dist/elements/UnpublishMany/index.d.ts +6 -1
  162. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  163. package/dist/elements/UnpublishMany/index.js +38 -33
  164. package/dist/elements/UnpublishMany/index.js.map +1 -1
  165. package/dist/elements/WhereBuilder/index.js +3 -3
  166. package/dist/elements/WhereBuilder/index.js.map +1 -1
  167. package/dist/exports/client/index.d.ts +2 -0
  168. package/dist/exports/client/index.d.ts.map +1 -1
  169. package/dist/exports/client/index.js +24 -22
  170. package/dist/exports/client/index.js.map +4 -4
  171. package/dist/fields/Blocks/index.d.ts.map +1 -1
  172. package/dist/fields/Blocks/index.js +1 -0
  173. package/dist/fields/Blocks/index.js.map +1 -1
  174. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  175. package/dist/fields/Checkbox/Input.js +2 -0
  176. package/dist/fields/Checkbox/Input.js.map +1 -1
  177. package/dist/fields/Select/Input.d.ts +1 -0
  178. package/dist/fields/Select/Input.d.ts.map +1 -1
  179. package/dist/fields/Select/Input.js +48 -45
  180. package/dist/fields/Select/Input.js.map +1 -1
  181. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
  182. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  183. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +7 -0
  184. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  185. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
  186. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  187. package/dist/forms/fieldSchemasToFormState/index.js +2 -0
  188. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  189. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
  190. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  191. package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
  192. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  193. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  194. package/dist/forms/fieldSchemasToFormState/renderField.js +2 -1
  195. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  196. package/dist/forms/fieldSchemasToFormState/types.d.ts +1 -0
  197. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  198. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  199. package/dist/icons/Trash/index.d.ts +6 -0
  200. package/dist/icons/Trash/index.d.ts.map +1 -0
  201. package/dist/icons/Trash/index.js +22 -0
  202. package/dist/icons/Trash/index.js.map +1 -0
  203. package/dist/icons/Trash/index.scss +6 -0
  204. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  205. package/dist/providers/DocumentInfo/index.js +6 -0
  206. package/dist/providers/DocumentInfo/index.js.map +1 -1
  207. package/dist/providers/DocumentInfo/types.d.ts +7 -0
  208. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  209. package/dist/providers/DocumentInfo/types.js.map +1 -1
  210. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  211. package/dist/providers/ListQuery/index.js +24 -13
  212. package/dist/providers/ListQuery/index.js.map +1 -1
  213. package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
  214. package/dist/providers/ListQuery/mergeQuery.js +15 -1
  215. package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
  216. package/dist/providers/ListQuery/types.d.ts +7 -3
  217. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  218. package/dist/providers/ListQuery/types.js.map +1 -1
  219. package/dist/providers/Selection/index.d.ts +6 -2
  220. package/dist/providers/Selection/index.d.ts.map +1 -1
  221. package/dist/providers/Selection/index.js +37 -19
  222. package/dist/providers/Selection/index.js.map +1 -1
  223. package/dist/providers/ServerFunctions/index.d.ts +1 -0
  224. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  225. package/dist/providers/ServerFunctions/index.js.map +1 -1
  226. package/dist/providers/TableColumns/buildColumnState/index.d.ts +2 -1
  227. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  228. package/dist/providers/TableColumns/buildColumnState/index.js +4 -2
  229. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  230. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +3 -2
  231. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  232. package/dist/providers/TableColumns/buildColumnState/renderCell.js +4 -2
  233. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  234. package/dist/styles.css +1 -1
  235. package/dist/utilities/buildFormState.d.ts.map +1 -1
  236. package/dist/utilities/buildFormState.js +2 -0
  237. package/dist/utilities/buildFormState.js.map +1 -1
  238. package/dist/utilities/buildTableState.js +5 -7
  239. package/dist/utilities/buildTableState.js.map +1 -1
  240. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  241. package/dist/utilities/copyDataFromLocale.js +29 -19
  242. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  243. package/dist/{elements/WhereBuilder/reduceFields.d.ts → utilities/reduceFieldsToOptions.d.ts} +3 -3
  244. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -0
  245. package/dist/{elements/WhereBuilder/reduceFields.js → utilities/reduceFieldsToOptions.js} +11 -11
  246. package/dist/utilities/reduceFieldsToOptions.js.map +1 -0
  247. package/dist/utilities/renderTable.d.ts +9 -3
  248. package/dist/utilities/renderTable.d.ts.map +1 -1
  249. package/dist/utilities/renderTable.js +63 -22
  250. package/dist/utilities/renderTable.js.map +1 -1
  251. package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -1
  252. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  253. package/dist/views/CollectionFolder/index.d.ts.map +1 -1
  254. package/dist/views/CollectionFolder/index.js +15 -5
  255. package/dist/views/CollectionFolder/index.js.map +1 -1
  256. package/dist/views/Edit/Auth/index.js +5 -4
  257. package/dist/views/Edit/Auth/index.js.map +1 -1
  258. package/dist/views/Edit/SetDocumentStepNav/index.d.ts +1 -0
  259. package/dist/views/Edit/SetDocumentStepNav/index.d.ts.map +1 -1
  260. package/dist/views/Edit/SetDocumentStepNav/index.js +26 -15
  261. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  262. package/dist/views/Edit/index.d.ts.map +1 -1
  263. package/dist/views/Edit/index.js +59 -35
  264. package/dist/views/Edit/index.js.map +1 -1
  265. package/dist/views/List/GroupByHeader/index.d.ts +10 -0
  266. package/dist/views/List/GroupByHeader/index.d.ts.map +1 -0
  267. package/dist/views/List/GroupByHeader/index.js +29 -0
  268. package/dist/views/List/GroupByHeader/index.js.map +1 -0
  269. package/dist/views/List/GroupByHeader/index.scss +17 -0
  270. package/dist/views/List/ListHeader/index.d.ts +4 -2
  271. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  272. package/dist/views/List/ListHeader/index.js +30 -10
  273. package/dist/views/List/ListHeader/index.js.map +1 -1
  274. package/dist/views/List/ListSelection/index.d.ts +5 -1
  275. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  276. package/dist/views/List/ListSelection/index.js +53 -30
  277. package/dist/views/List/ListSelection/index.js.map +1 -1
  278. package/dist/views/List/index.d.ts.map +1 -1
  279. package/dist/views/List/index.js +122 -170
  280. package/dist/views/List/index.js.map +1 -1
  281. package/dist/views/List/index.scss +12 -35
  282. package/package.json +5 -5
  283. package/dist/elements/ListFolderPills/index.d.ts +0 -10
  284. package/dist/elements/ListFolderPills/index.d.ts.map +0 -1
  285. package/dist/elements/ListFolderPills/index.js +0 -97
  286. package/dist/elements/ListFolderPills/index.js.map +0 -1
  287. package/dist/elements/WhereBuilder/reduceFields.d.ts.map +0 -1
  288. package/dist/elements/WhereBuilder/reduceFields.js.map +0 -1
@@ -0,0 +1,70 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ import { formatAdminURL } from 'payload/shared';
6
+ import { useConfig } from '../../providers/Config/index.js';
7
+ import { useTranslation } from '../../providers/Translation/index.js';
8
+ import { Button } from '../Button/index.js';
9
+ import './index.scss';
10
+ const baseClass = 'list-pills';
11
+ export function ByFolderPill(t0) {
12
+ const $ = _c(10);
13
+ const {
14
+ collectionConfig,
15
+ folderCollectionSlug,
16
+ viewType
17
+ } = t0;
18
+ const {
19
+ t
20
+ } = useTranslation();
21
+ const {
22
+ config
23
+ } = useConfig();
24
+ if (!folderCollectionSlug) {
25
+ return null;
26
+ }
27
+ const t1 = viewType === "folders" && `${baseClass}__button--active`;
28
+ let t2;
29
+ if ($[0] !== t1) {
30
+ t2 = [`${baseClass}__button`, t1].filter(Boolean);
31
+ $[0] = t1;
32
+ $[1] = t2;
33
+ } else {
34
+ t2 = $[1];
35
+ }
36
+ const t3 = t2.join(" ");
37
+ const t4 = viewType === "folders";
38
+ const t5 = viewType === "list" || viewType === "trash" ? "link" : "div";
39
+ const t6 = `/collections/${collectionConfig.slug}/${folderCollectionSlug}`;
40
+ let t7;
41
+ if ($[2] !== config.routes.admin || $[3] !== config.serverURL || $[4] !== t || $[5] !== t3 || $[6] !== t4 || $[7] !== t5 || $[8] !== t6) {
42
+ t7 = _jsx("div", {
43
+ className: baseClass,
44
+ children: _jsx(Button, {
45
+ buttonStyle: "tab",
46
+ className: t3,
47
+ disabled: t4,
48
+ el: t5,
49
+ to: formatAdminURL({
50
+ adminRoute: config.routes.admin,
51
+ path: t6,
52
+ serverURL: config.serverURL
53
+ }),
54
+ children: t("folder:byFolder")
55
+ })
56
+ });
57
+ $[2] = config.routes.admin;
58
+ $[3] = config.serverURL;
59
+ $[4] = t;
60
+ $[5] = t3;
61
+ $[6] = t4;
62
+ $[7] = t5;
63
+ $[8] = t6;
64
+ $[9] = t7;
65
+ } else {
66
+ t7 = $[9];
67
+ }
68
+ return t7;
69
+ }
70
+ //# sourceMappingURL=ByFolderPill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ByFolderPill.js","names":["c","_c","formatAdminURL","useConfig","useTranslation","Button","baseClass","ByFolderPill","t0","$","collectionConfig","folderCollectionSlug","viewType","t","config","t1","t2","filter","Boolean","t3","join","t4","t5","t6","slug","t7","routes","admin","serverURL","_jsx","className","children","buttonStyle","disabled","el","to","adminRoute","path"],"sources":["../../../src/elements/ListHeaderTabs/ByFolderPill.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ViewTypes } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-pills'\n\ntype ByFolderPillProps = {\n readonly collectionConfig: ClientCollectionConfig\n readonly folderCollectionSlug: string\n readonly viewType: ViewTypes\n}\n\nexport function ByFolderPill({\n collectionConfig,\n folderCollectionSlug,\n viewType,\n}: ByFolderPillProps) {\n const { t } = useTranslation()\n const { config } = useConfig()\n\n if (!folderCollectionSlug) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <Button\n buttonStyle=\"tab\"\n className={[\n `${baseClass}__button`,\n viewType === 'folders' && `${baseClass}__button--active`,\n ]\n .filter(Boolean)\n .join(' ')}\n disabled={viewType === 'folders'}\n el={viewType === 'list' || viewType === 'trash' ? 'link' : 'div'}\n to={formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionConfig.slug}/${folderCollectionSlug}`,\n serverURL: config.serverURL,\n })}\n >\n {t('folder:byFolder')}\n </Button>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,cAAc,QAAQ;AAE/B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAQlB,OAAO,SAAAC,aAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EAAsB;IAAAS,gBAAA;IAAAC,oBAAA;IAAAC;EAAA,IAAAJ,EAIT;EAClB;IAAAK;EAAA,IAAcT,cAAA;EACd;IAAAU;EAAA,IAAmBX,SAAA;EAAA,KAEdQ,oBAAA;IAAA;EAAA;EAUG,MAAAI,EAAA,GAAAH,QAAA,KAAa,aAAa,GAAAN,SAAA,kBAA8B;EAAA,IAAAU,EAAA;EAAA,IAAAP,CAAA,QAAAM,EAAA;IAF/CC,EAAA,IACT,GAAAV,SAAA,UAAsB,EACtBS,EAAwD,EAAAE,MAAA,CAAAC,OAEhD;IAAAT,CAAA,MAAAM,EAAA;IAAAN,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAJC,MAAAU,EAAA,GAAAH,EAID,CAAAI,IAAA,CACF;EACE,MAAAC,EAAA,GAAAT,QAAA,KAAa;EACnB,MAAAU,EAAA,GAAAV,QAAA,KAAa,UAAUA,QAAA,KAAa,UAAU,SAAS;EAGnD,MAAAW,EAAA,mBAAgBb,gBAAA,CAAAc,IAAA,IAAyBb,oBAAA,EAAsB;EAAA,IAAAc,EAAA;EAAA,IAAAhB,CAAA,QAAAK,MAAA,CAAAY,MAAA,CAAAC,KAAA,IAAAlB,CAAA,QAAAK,MAAA,CAAAc,SAAA,IAAAnB,CAAA,QAAAI,CAAA,IAAAJ,CAAA,QAAAU,EAAA,IAAAV,CAAA,QAAAY,EAAA,IAAAZ,CAAA,QAAAa,EAAA,IAAAb,CAAA,QAAAc,EAAA;IAb3EE,EAAA,GAAAI,IAAA,CAAC;MAAAC,SAAA,EAAAxB,SAAA;MAAAyB,QAAA,EACCF,IAAA,CAAAxB,MAAA;QAAA2B,WAAA,EACc;QAAAF,SAAA,EACDX,EAKH;QAAAc,QAAA,EACEZ,EAAa;QAAAa,EAAA,EACnBZ,EAAuD;QAAAa,EAAA,EACvDjC,cAAA;UAAAkC,UAAA,EACUtB,MAAA,CAAAY,MAAA,CAAAC,KAAA;UAAAU,IAAA,EACNd,EAA+D;UAAAK,SAAA,EAC1Dd,MAAA,CAAAc;QAAA,CACb;QAAAG,QAAA,EAEClB,CAAA,CAAE;MAAA,C;;;;;;;;;;;;;SAjBPY,E","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { ClientCollectionConfig, ViewTypes } from 'payload';
2
+ import './index.scss';
3
+ type DefaultListPillProps = {
4
+ readonly collectionConfig: ClientCollectionConfig;
5
+ readonly viewType: ViewTypes;
6
+ };
7
+ export declare function DefaultListPill({ collectionConfig, viewType }: DefaultListPillProps): import("react").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=DefaultListPill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultListPill.d.ts","sourceRoot":"","sources":["../../../src/elements/ListHeaderTabs/DefaultListPill.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAQhE,OAAO,cAAc,CAAA;AAIrB,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;IACjD,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAC7B,CAAA;AAED,wBAAgB,eAAe,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,oBAAoB,+BA2BnF"}
@@ -0,0 +1,68 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ import { getTranslation } from '@payloadcms/translations';
6
+ import { formatAdminURL } from 'payload/shared';
7
+ import { useConfig } from '../../providers/Config/index.js';
8
+ import { useTranslation } from '../../providers/Translation/index.js';
9
+ import { Button } from '../Button/index.js';
10
+ import './index.scss';
11
+ const baseClass = 'list-pills';
12
+ export function DefaultListPill(t0) {
13
+ const $ = _c(11);
14
+ const {
15
+ collectionConfig,
16
+ viewType
17
+ } = t0;
18
+ const {
19
+ i18n,
20
+ t
21
+ } = useTranslation();
22
+ const {
23
+ config
24
+ } = useConfig();
25
+ const buttonLabel = `${t("general:all")} ${getTranslation(collectionConfig?.labels?.plural, i18n)}`;
26
+ let t1;
27
+ if ($[0] !== buttonLabel || $[1] !== collectionConfig.labels?.plural || $[2] !== collectionConfig.slug || $[3] !== config.routes.admin || $[4] !== config.serverURL || $[5] !== i18n || $[6] !== t || $[7] !== viewType) {
28
+ const buttonId = buttonLabel.toLowerCase().replace(/\s+/g, "-");
29
+ const t2 = viewType === "list" && `${baseClass}__button--active`;
30
+ let t3;
31
+ if ($[9] !== t2) {
32
+ t3 = [`${baseClass}__button`, t2].filter(Boolean);
33
+ $[9] = t2;
34
+ $[10] = t3;
35
+ } else {
36
+ t3 = $[10];
37
+ }
38
+ t1 = _jsx("div", {
39
+ className: baseClass,
40
+ children: _jsxs(Button, {
41
+ buttonStyle: "tab",
42
+ className: t3.join(" "),
43
+ disabled: viewType === "list",
44
+ el: viewType === "folders" || viewType === "trash" ? "link" : "div",
45
+ id: buttonId,
46
+ to: formatAdminURL({
47
+ adminRoute: config.routes.admin,
48
+ path: `/collections/${collectionConfig.slug}`,
49
+ serverURL: config.serverURL
50
+ }),
51
+ children: [t("general:all"), " ", getTranslation(collectionConfig?.labels?.plural, i18n)]
52
+ })
53
+ });
54
+ $[0] = buttonLabel;
55
+ $[1] = collectionConfig.labels?.plural;
56
+ $[2] = collectionConfig.slug;
57
+ $[3] = config.routes.admin;
58
+ $[4] = config.serverURL;
59
+ $[5] = i18n;
60
+ $[6] = t;
61
+ $[7] = viewType;
62
+ $[8] = t1;
63
+ } else {
64
+ t1 = $[8];
65
+ }
66
+ return t1;
67
+ }
68
+ //# sourceMappingURL=DefaultListPill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultListPill.js","names":["c","_c","getTranslation","formatAdminURL","useConfig","useTranslation","Button","baseClass","DefaultListPill","t0","$","collectionConfig","viewType","i18n","t","config","buttonLabel","labels","plural","t1","slug","routes","admin","serverURL","buttonId","toLowerCase","replace","t2","t3","filter","Boolean","_jsx","className","children","_jsxs","buttonStyle","join","disabled","el","id","to","adminRoute","path"],"sources":["../../../src/elements/ListHeaderTabs/DefaultListPill.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ViewTypes } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-pills'\n\ntype DefaultListPillProps = {\n readonly collectionConfig: ClientCollectionConfig\n readonly viewType: ViewTypes\n}\n\nexport function DefaultListPill({ collectionConfig, viewType }: DefaultListPillProps) {\n const { i18n, t } = useTranslation()\n const { config } = useConfig()\n\n const buttonLabel = `${t('general:all')} ${getTranslation(collectionConfig?.labels?.plural, i18n)}`\n const buttonId = buttonLabel.toLowerCase().replace(/\\s+/g, '-')\n\n return (\n <div className={baseClass}>\n <Button\n buttonStyle=\"tab\"\n className={[`${baseClass}__button`, viewType === 'list' && `${baseClass}__button--active`]\n .filter(Boolean)\n .join(' ')}\n disabled={viewType === 'list'}\n el={viewType === 'folders' || viewType === 'trash' ? 'link' : 'div'}\n id={buttonId}\n to={formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionConfig.slug}`,\n serverURL: config.serverURL,\n })}\n >\n {t('general:all')} {getTranslation(collectionConfig?.labels?.plural, i18n)}\n </Button>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAE/B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAOlB,OAAO,SAAAC,gBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAyB;IAAAU,gBAAA;IAAAC;EAAA,IAAAH,EAAoD;EAClF;IAAAI,IAAA;IAAAC;EAAA,IAAoBT,cAAA;EACpB;IAAAU;EAAA,IAAmBX,SAAA;EAEnB,MAAAY,WAAA,GAAoB,GAAGF,CAAA,CAAE,kBAAkBZ,cAAA,CAAeS,gBAAA,EAAAM,MAAA,EAAAC,MAAA,EAAkCL,IAAA,GAAO;EAAA,IAAAM,EAAA;EAAA,IAAAT,CAAA,QAAAM,WAAA,IAAAN,CAAA,QAAAC,gBAAA,CAAAM,MAAA,EAAAC,MAAA,IAAAR,CAAA,QAAAC,gBAAA,CAAAS,IAAA,IAAAV,CAAA,QAAAK,MAAA,CAAAM,MAAA,CAAAC,KAAA,IAAAZ,CAAA,QAAAK,MAAA,CAAAQ,SAAA,IAAAb,CAAA,QAAAG,IAAA,IAAAH,CAAA,QAAAI,CAAA,IAAAJ,CAAA,QAAAE,QAAA;IACnG,MAAAY,QAAA,GAAiBR,WAAA,CAAAS,WAAA,CAAuB,EAAAC,OAAA,SAAmB;IAMjB,MAAAC,EAAA,GAAAf,QAAA,KAAa,UAAU,GAAAL,SAAA,kBAA8B;IAAA,IAAAqB,EAAA;IAAA,IAAAlB,CAAA,QAAAiB,EAAA;MAA9EC,EAAA,IAAC,GAAArB,SAAA,UAAsB,EAAEoB,EAAqD,EAAAE,MAAA,CAAAC,OAC/E;MAAApB,CAAA,MAAAiB,EAAA;MAAAjB,CAAA,OAAAkB,EAAA;IAAA;MAAAA,EAAA,GAAAlB,CAAA;IAAA;IAJdS,EAAA,GAAAY,IAAA,CAAC;MAAAC,SAAA,EAAAzB,SAAA;MAAA0B,QAAA,EACCC,KAAA,CAAA5B,MAAA;QAAA6B,WAAA,EACc;QAAAH,SAAA,EACDJ,EACD,CAAAQ,IAAA,CACF;QAAAC,QAAA,EACEzB,QAAA,KAAa;QAAA0B,EAAA,EACnB1B,QAAA,KAAa,aAAaA,QAAA,KAAa,UAAU,SAAS;QAAA2B,EAAA,EAC1Df,QAAA;QAAAgB,EAAA,EACArC,cAAA;UAAAsC,UAAA,EACU1B,MAAA,CAAAM,MAAA,CAAAC,KAAA;UAAAoB,IAAA,EACN,gBAAgB/B,gBAAA,CAAAS,IAAA,EAAuB;UAAAG,SAAA,EAClCR,MAAA,CAAAQ;QAAA,CACb;QAAAU,QAAA,GAECnB,CAAA,CAAE,gBAAe,KAAEZ,cAAA,CAAeS,gBAAA,EAAAM,MAAA,EAAAC,MAAA,EAAkCL,IAAA;MAAA,C;;;;;;;;;;;;;;SAfzEM,E","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import type { ClientCollectionConfig, ViewTypes } from 'payload';
2
+ export declare function TrashPill({ collectionConfig, viewType, }: {
3
+ collectionConfig: ClientCollectionConfig;
4
+ readonly viewType: ViewTypes;
5
+ }): import("react").JSX.Element;
6
+ //# sourceMappingURL=TrashPill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrashPill.d.ts","sourceRoot":"","sources":["../../../src/elements/ListHeaderTabs/TrashPill.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAQhE,wBAAgB,SAAS,CAAC,EACxB,gBAAgB,EAChB,QAAQ,GACT,EAAE;IACD,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAC7B,+BAwBA"}
@@ -0,0 +1,53 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ import { formatAdminURL } from 'payload/shared';
6
+ import { useConfig } from '../../providers/Config/index.js';
7
+ import { useTranslation } from '../../providers/Translation/index.js';
8
+ import { Button } from '../Button/index.js';
9
+ export function TrashPill(t0) {
10
+ const $ = _c(7);
11
+ const {
12
+ collectionConfig,
13
+ viewType
14
+ } = t0;
15
+ const {
16
+ t
17
+ } = useTranslation();
18
+ const {
19
+ config
20
+ } = useConfig();
21
+ if (!collectionConfig.trash) {
22
+ return null;
23
+ }
24
+ const t1 = viewType === "trash";
25
+ const t2 = viewType === "list" || viewType === "folders" ? "link" : "div";
26
+ const t3 = `/collections/${collectionConfig.slug}/trash`;
27
+ let t4;
28
+ if ($[0] !== config.routes.admin || $[1] !== config.serverURL || $[2] !== t || $[3] !== t1 || $[4] !== t2 || $[5] !== t3) {
29
+ t4 = _jsx(Button, {
30
+ buttonStyle: "tab",
31
+ disabled: t1,
32
+ el: t2,
33
+ id: "trash-view-pill",
34
+ to: formatAdminURL({
35
+ adminRoute: config.routes.admin,
36
+ path: t3,
37
+ serverURL: config.serverURL
38
+ }),
39
+ children: t("general:trash")
40
+ }, "trash-view-pill");
41
+ $[0] = config.routes.admin;
42
+ $[1] = config.serverURL;
43
+ $[2] = t;
44
+ $[3] = t1;
45
+ $[4] = t2;
46
+ $[5] = t3;
47
+ $[6] = t4;
48
+ } else {
49
+ t4 = $[6];
50
+ }
51
+ return t4;
52
+ }
53
+ //# sourceMappingURL=TrashPill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrashPill.js","names":["c","_c","formatAdminURL","useConfig","useTranslation","Button","TrashPill","t0","$","collectionConfig","viewType","t","config","trash","t1","t2","t3","slug","t4","routes","admin","serverURL","_jsx","buttonStyle","disabled","el","id","to","adminRoute","path","children"],"sources":["../../../src/elements/ListHeaderTabs/TrashPill.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ViewTypes } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\n\nexport function TrashPill({\n collectionConfig,\n viewType,\n}: {\n collectionConfig: ClientCollectionConfig\n readonly viewType: ViewTypes\n}) {\n const { t } = useTranslation()\n const { config } = useConfig()\n\n if (!collectionConfig.trash) {\n return null\n }\n\n return (\n <Button\n buttonStyle=\"tab\"\n disabled={viewType === 'trash'}\n el={viewType === 'list' || viewType === 'folders' ? 'link' : 'div'}\n id=\"trash-view-pill\"\n key=\"trash-view-pill\"\n to={formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionConfig.slug}/trash`,\n serverURL: config.serverURL,\n })}\n >\n {t('general:trash')}\n </Button>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,cAAc,QAAQ;AAE/B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AAEvB,OAAO,SAAAC,UAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAAmB;IAAAQ,gBAAA;IAAAC;EAAA,IAAAH,EAMzB;EACC;IAAAI;EAAA,IAAcP,cAAA;EACd;IAAAQ;EAAA,IAAmBT,SAAA;EAAA,KAEdM,gBAAA,CAAAI,KAAA;IAAA;EAAA;EAOS,MAAAC,EAAA,GAAAJ,QAAA,KAAa;EACnB,MAAAK,EAAA,GAAAL,QAAA,KAAa,UAAUA,QAAA,KAAa,YAAY,SAAS;EAKrD,MAAAM,EAAA,mBAAgBP,gBAAA,CAAAQ,IAAA,QAA6B;EAAA,IAAAC,EAAA;EAAA,IAAAV,CAAA,QAAAI,MAAA,CAAAO,MAAA,CAAAC,KAAA,IAAAZ,CAAA,QAAAI,MAAA,CAAAS,SAAA,IAAAb,CAAA,QAAAG,CAAA,IAAAH,CAAA,QAAAM,EAAA,IAAAN,CAAA,QAAAO,EAAA,IAAAP,CAAA,QAAAQ,EAAA;IARvDE,EAAA,GAAAI,IAAA,CAAAjB,MAAA;MAAAkB,WAAA,EACc;MAAAC,QAAA,EACFV,EAAa;MAAAW,EAAA,EACnBV,EAAyD;MAAAW,EAAA,EAC1D;MAAAC,EAAA,EAECzB,cAAA;QAAA0B,UAAA,EACUhB,MAAA,CAAAO,MAAA,CAAAC,KAAA;QAAAS,IAAA,EACNb,EAA6C;QAAAK,SAAA,EACxCT,MAAA,CAAAS;MAAA,CACb;MAAAS,QAAA,EAECnB,CAAA,CAAE;IAAA,GAPC;IAAAH,CAAA,MAAAI,MAAA,CAAAO,MAAA,CAAAC,KAAA;IAAAZ,CAAA,MAAAI,MAAA,CAAAS,SAAA;IAAAb,CAAA,MAAAG,CAAA;IAAAH,CAAA,MAAAM,EAAA;IAAAN,CAAA,MAAAO,EAAA;IAAAP,CAAA,MAAAQ,EAAA;IAAAR,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAAA,OALNU,EAKM;AAAA","ignoreList":[]}
@@ -1,7 +1,6 @@
1
1
  @layer payload-default {
2
- .list-folder-pills {
2
+ .list-pills {
3
3
  display: flex;
4
4
  gap: calc(var(--base) * 0.5);
5
- margin-left: calc(var(--base) * 0.5);
6
5
  }
7
6
  }
@@ -10,7 +10,7 @@
10
10
 
11
11
  &__actions {
12
12
  display: flex;
13
- gap: calc(var(--base) * 0.3);
13
+ gap: calc(var(--base) * 0.5);
14
14
  }
15
15
 
16
16
  &__button {
@@ -0,0 +1,16 @@
1
+ import type { ClientCollectionConfig, PaginatedDocs } from 'payload';
2
+ import React from 'react';
3
+ /**
4
+ * If `groupBy` is set in the query, multiple tables will render, one for each group.
5
+ * In this case, each table needs its own `PageControls` to handle pagination.
6
+ * These page controls, however, should not modify the global `ListQuery` state.
7
+ * Instead, they should only handle the pagination for the current group.
8
+ * To do this, build a wrapper around `PageControlsComponent` that handles the pagination logic for the current group.
9
+ */
10
+ export declare const GroupByPageControls: React.FC<{
11
+ AfterPageControls?: React.ReactNode;
12
+ collectionConfig: ClientCollectionConfig;
13
+ data: PaginatedDocs;
14
+ groupByValue?: number | string;
15
+ }>;
16
+ //# sourceMappingURL=GroupByPageControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupByPageControls.d.ts","sourceRoot":"","sources":["../../../src/elements/PageControls/GroupByPageControls.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEpE,OAAO,KAAsB,MAAM,OAAO,CAAA;AAO1C;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC;IACzC,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,IAAI,EAAE,aAAa,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAC/B,CAuCA,CAAA"}
@@ -0,0 +1,83 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ import React, { useCallback } from 'react';
6
+ import { useListQuery } from '../../providers/ListQuery/context.js';
7
+ import { PageControlsComponent } from './index.js';
8
+ /**
9
+ * If `groupBy` is set in the query, multiple tables will render, one for each group.
10
+ * In this case, each table needs its own `PageControls` to handle pagination.
11
+ * These page controls, however, should not modify the global `ListQuery` state.
12
+ * Instead, they should only handle the pagination for the current group.
13
+ * To do this, build a wrapper around `PageControlsComponent` that handles the pagination logic for the current group.
14
+ */
15
+ export const GroupByPageControls = t0 => {
16
+ const $ = _c(12);
17
+ const {
18
+ AfterPageControls,
19
+ collectionConfig,
20
+ data,
21
+ groupByValue
22
+ } = t0;
23
+ const {
24
+ refineListData
25
+ } = useListQuery();
26
+ let t1;
27
+ if ($[0] !== groupByValue || $[1] !== refineListData) {
28
+ t1 = async page => {
29
+ await refineListData({
30
+ queryByGroup: {
31
+ [groupByValue]: {
32
+ page
33
+ }
34
+ }
35
+ });
36
+ };
37
+ $[0] = groupByValue;
38
+ $[1] = refineListData;
39
+ $[2] = t1;
40
+ } else {
41
+ t1 = $[2];
42
+ }
43
+ const handlePageChange = t1;
44
+ let t2;
45
+ if ($[3] !== groupByValue || $[4] !== refineListData) {
46
+ t2 = async limit => {
47
+ await refineListData({
48
+ queryByGroup: {
49
+ [groupByValue]: {
50
+ limit,
51
+ page: 1
52
+ }
53
+ }
54
+ });
55
+ };
56
+ $[3] = groupByValue;
57
+ $[4] = refineListData;
58
+ $[5] = t2;
59
+ } else {
60
+ t2 = $[5];
61
+ }
62
+ const handlePerPageChange = t2;
63
+ let t3;
64
+ if ($[6] !== AfterPageControls || $[7] !== collectionConfig || $[8] !== data || $[9] !== handlePageChange || $[10] !== handlePerPageChange) {
65
+ t3 = _jsx(PageControlsComponent, {
66
+ AfterPageControls,
67
+ collectionConfig,
68
+ data,
69
+ handlePageChange,
70
+ handlePerPageChange
71
+ });
72
+ $[6] = AfterPageControls;
73
+ $[7] = collectionConfig;
74
+ $[8] = data;
75
+ $[9] = handlePageChange;
76
+ $[10] = handlePerPageChange;
77
+ $[11] = t3;
78
+ } else {
79
+ t3 = $[11];
80
+ }
81
+ return t3;
82
+ };
83
+ //# sourceMappingURL=GroupByPageControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupByPageControls.js","names":["c","_c","React","useCallback","useListQuery","PageControlsComponent","GroupByPageControls","t0","$","AfterPageControls","collectionConfig","data","groupByValue","refineListData","t1","page","queryByGroup","handlePageChange","t2","limit","handlePerPageChange","t3","_jsx"],"sources":["../../../src/elements/PageControls/GroupByPageControls.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, PaginatedDocs } from 'payload'\n\nimport React, { useCallback } from 'react'\n\nimport type { IListQueryContext } from '../../providers/ListQuery/types.js'\n\nimport { useListQuery } from '../../providers/ListQuery/context.js'\nimport { PageControlsComponent } from './index.js'\n\n/**\n * If `groupBy` is set in the query, multiple tables will render, one for each group.\n * In this case, each table needs its own `PageControls` to handle pagination.\n * These page controls, however, should not modify the global `ListQuery` state.\n * Instead, they should only handle the pagination for the current group.\n * To do this, build a wrapper around `PageControlsComponent` that handles the pagination logic for the current group.\n */\nexport const GroupByPageControls: React.FC<{\n AfterPageControls?: React.ReactNode\n collectionConfig: ClientCollectionConfig\n data: PaginatedDocs\n groupByValue?: number | string\n}> = ({ AfterPageControls, collectionConfig, data, groupByValue }) => {\n const { refineListData } = useListQuery()\n\n const handlePageChange: IListQueryContext['handlePageChange'] = useCallback(\n async (page) => {\n await refineListData({\n queryByGroup: {\n [groupByValue]: {\n page,\n },\n },\n })\n },\n [refineListData, groupByValue],\n )\n\n const handlePerPageChange: IListQueryContext['handlePerPageChange'] = useCallback(\n async (limit) => {\n await refineListData({\n queryByGroup: {\n [groupByValue]: {\n limit,\n page: 1,\n },\n },\n })\n },\n [refineListData, groupByValue],\n )\n\n return (\n <PageControlsComponent\n AfterPageControls={AfterPageControls}\n collectionConfig={collectionConfig}\n data={data}\n handlePageChange={handlePageChange}\n handlePerPageChange={handlePerPageChange}\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,WAAW,QAAQ;AAInC,SAASC,YAAY,QAAQ;AAC7B,SAASC,qBAAqB,QAAQ;AAEtC;;;;;;;AAOA,OAAO,MAAMC,mBAAA,GAKRC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAAC;IAAAQ,iBAAA;IAAAC,gBAAA;IAAAC,IAAA;IAAAC;EAAA,IAAAL,EAA2D;EAC/D;IAAAM;EAAA,IAA2BT,YAAA;EAAA,IAAAU,EAAA;EAAA,IAAAN,CAAA,QAAAI,YAAA,IAAAJ,CAAA,QAAAK,cAAA;IAGzBC,EAAA,SAAAC,IAAA;MAAA,MACQF,cAAA;QAAAG,YAAA;UAAA,CAEDJ,YAAA;YAAAG;UAAA;QAAA;MAAA,CAIL;IAAA;IACFP,CAAA,MAAAI,YAAA;IAAAJ,CAAA,MAAAK,cAAA;IAAAL,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EATF,MAAAS,gBAAA,GAAgEH,EAUhC;EAAA,IAAAI,EAAA;EAAA,IAAAV,CAAA,QAAAI,YAAA,IAAAJ,CAAA,QAAAK,cAAA;IAI9BK,EAAA,SAAAC,KAAA;MAAA,MACQN,cAAA;QAAAG,YAAA;UAAA,CAEDJ,YAAA;YAAAO,KAAA;YAAAJ,IAAA;UAAA;QAAA;MAAA,CAKL;IAAA;IACFP,CAAA,MAAAI,YAAA;IAAAJ,CAAA,MAAAK,cAAA;IAAAL,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAVF,MAAAY,mBAAA,GAAsEF,EAWtC;EAAA,IAAAG,EAAA;EAAA,IAAAb,CAAA,QAAAC,iBAAA,IAAAD,CAAA,QAAAE,gBAAA,IAAAF,CAAA,QAAAG,IAAA,IAAAH,CAAA,QAAAS,gBAAA,IAAAT,CAAA,SAAAY,mBAAA;IAI9BC,EAAA,GAAAC,IAAA,CAAAjB,qBAAA;MAAAI,iBAAA;MAAAC,gBAAA;MAAAC,IAAA;MAAAM,gBAAA;MAAAG;IAAA,C;;;;;;;;;;SAAAC,E;CAQJ","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import type { ClientCollectionConfig, PaginatedDocs } from 'payload';
2
+ import React from 'react';
3
+ import type { IListQueryContext } from '../../providers/ListQuery/types.js';
4
+ import './index.scss';
5
+ export declare const PageControlsComponent: React.FC<{
6
+ AfterPageControls?: React.ReactNode;
7
+ collectionConfig: ClientCollectionConfig;
8
+ data: PaginatedDocs;
9
+ handlePageChange?: IListQueryContext['handlePageChange'];
10
+ handlePerPageChange?: IListQueryContext['handlePerPageChange'];
11
+ limit?: number;
12
+ }>;
13
+ export declare const PageControls: React.FC<{
14
+ AfterPageControls?: React.ReactNode;
15
+ collectionConfig: ClientCollectionConfig;
16
+ }>;
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PageControls/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAGpE,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAM3E,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3C,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,IAAI,EAAE,aAAa,CAAA;IACnB,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAA;IACxD,mBAAmB,CAAC,EAAE,iBAAiB,CAAC,qBAAqB,CAAC,CAAA;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CA2CA,CAAA;AAMD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,gBAAgB,EAAE,sBAAsB,CAAA;CACzC,CAmBA,CAAA"}
@@ -0,0 +1,70 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { isNumber } from 'payload/shared';
3
+ import React, { Fragment } from 'react';
4
+ import { Pagination } from '../../elements/Pagination/index.js';
5
+ import { PerPage } from '../../elements/PerPage/index.js';
6
+ import { useListQuery } from '../../providers/ListQuery/context.js';
7
+ import { useTranslation } from '../../providers/Translation/index.js';
8
+ import './index.scss';
9
+ const baseClass = 'page-controls';
10
+ export const PageControlsComponent = ({
11
+ AfterPageControls,
12
+ collectionConfig,
13
+ data,
14
+ handlePageChange,
15
+ handlePerPageChange,
16
+ limit
17
+ }) => {
18
+ const {
19
+ i18n
20
+ } = useTranslation();
21
+ return /*#__PURE__*/_jsxs("div", {
22
+ className: baseClass,
23
+ children: [/*#__PURE__*/_jsx(Pagination, {
24
+ hasNextPage: data.hasNextPage,
25
+ hasPrevPage: data.hasPrevPage,
26
+ limit: data.limit,
27
+ nextPage: data.nextPage,
28
+ numberOfNeighbors: 1,
29
+ onChange: handlePageChange,
30
+ page: data.page,
31
+ prevPage: data.prevPage,
32
+ totalPages: data.totalPages
33
+ }), data.totalDocs > 0 && /*#__PURE__*/_jsxs(Fragment, {
34
+ children: [/*#__PURE__*/_jsxs("div", {
35
+ className: `${baseClass}__page-info`,
36
+ children: [data.page * data.limit - (data.limit - 1), "-", data.totalPages > 1 && data.totalPages !== data.page ? data.limit * data.page : data.totalDocs, ' ', i18n.t('general:of'), " ", data.totalDocs]
37
+ }), /*#__PURE__*/_jsx(PerPage, {
38
+ handleChange: handlePerPageChange,
39
+ limit: limit,
40
+ limits: collectionConfig?.admin?.pagination?.limits,
41
+ resetPage: data.totalDocs <= data.pagingCounter
42
+ }), AfterPageControls]
43
+ })]
44
+ });
45
+ };
46
+ /*
47
+ * These page controls are controlled by the global ListQuery state.
48
+ * To override thi behavior, build your own wrapper around PageControlsComponent.
49
+ */
50
+ export const PageControls = ({
51
+ AfterPageControls,
52
+ collectionConfig
53
+ }) => {
54
+ const {
55
+ data,
56
+ defaultLimit: initialLimit,
57
+ handlePageChange,
58
+ handlePerPageChange,
59
+ query
60
+ } = useListQuery();
61
+ return /*#__PURE__*/_jsx(PageControlsComponent, {
62
+ AfterPageControls: AfterPageControls,
63
+ collectionConfig: collectionConfig,
64
+ data: data,
65
+ handlePageChange: handlePageChange,
66
+ handlePerPageChange: handlePerPageChange,
67
+ limit: isNumber(query.limit) ? query.limit : initialLimit
68
+ });
69
+ };
70
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["isNumber","React","Fragment","Pagination","PerPage","useListQuery","useTranslation","baseClass","PageControlsComponent","AfterPageControls","collectionConfig","data","handlePageChange","handlePerPageChange","limit","i18n","_jsxs","className","_jsx","hasNextPage","hasPrevPage","nextPage","numberOfNeighbors","onChange","page","prevPage","totalPages","totalDocs","t","handleChange","limits","admin","pagination","resetPage","pagingCounter","PageControls","defaultLimit","initialLimit","query"],"sources":["../../../src/elements/PageControls/index.tsx"],"sourcesContent":["import type { ClientCollectionConfig, PaginatedDocs } from 'payload'\n\nimport { isNumber } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport type { IListQueryContext } from '../../providers/ListQuery/types.js'\n\nimport { Pagination } from '../../elements/Pagination/index.js'\nimport { PerPage } from '../../elements/PerPage/index.js'\nimport { useListQuery } from '../../providers/ListQuery/context.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'page-controls'\n\nexport const PageControlsComponent: React.FC<{\n AfterPageControls?: React.ReactNode\n collectionConfig: ClientCollectionConfig\n data: PaginatedDocs\n handlePageChange?: IListQueryContext['handlePageChange']\n handlePerPageChange?: IListQueryContext['handlePerPageChange']\n limit?: number\n}> = ({\n AfterPageControls,\n collectionConfig,\n data,\n handlePageChange,\n handlePerPageChange,\n limit,\n}) => {\n const { i18n } = useTranslation()\n\n return (\n <div className={baseClass}>\n <Pagination\n hasNextPage={data.hasNextPage}\n hasPrevPage={data.hasPrevPage}\n limit={data.limit}\n nextPage={data.nextPage}\n numberOfNeighbors={1}\n onChange={handlePageChange}\n page={data.page}\n prevPage={data.prevPage}\n totalPages={data.totalPages}\n />\n {data.totalDocs > 0 && (\n <Fragment>\n <div className={`${baseClass}__page-info`}>\n {data.page * data.limit - (data.limit - 1)}-\n {data.totalPages > 1 && data.totalPages !== data.page\n ? data.limit * data.page\n : data.totalDocs}{' '}\n {i18n.t('general:of')} {data.totalDocs}\n </div>\n <PerPage\n handleChange={handlePerPageChange}\n limit={limit}\n limits={collectionConfig?.admin?.pagination?.limits}\n resetPage={data.totalDocs <= data.pagingCounter}\n />\n {AfterPageControls}\n </Fragment>\n )}\n </div>\n )\n}\n\n/*\n * These page controls are controlled by the global ListQuery state.\n * To override thi behavior, build your own wrapper around PageControlsComponent.\n */\nexport const PageControls: React.FC<{\n AfterPageControls?: React.ReactNode\n collectionConfig: ClientCollectionConfig\n}> = ({ AfterPageControls, collectionConfig }) => {\n const {\n data,\n defaultLimit: initialLimit,\n handlePageChange,\n handlePerPageChange,\n query,\n } = useListQuery()\n\n return (\n <PageControlsComponent\n AfterPageControls={AfterPageControls}\n collectionConfig={collectionConfig}\n data={data}\n handlePageChange={handlePageChange}\n handlePerPageChange={handlePerPageChange}\n limit={isNumber(query.limit) ? query.limit : initialLimit}\n />\n )\n}\n"],"mappings":";AAEA,SAASA,QAAQ,QAAQ;AACzB,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAIhC,SAASC,UAAU,QAAQ;AAC3B,SAASC,OAAO,QAAQ;AACxB,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,qBAAA,GAORA,CAAC;EACJC,iBAAiB;EACjBC,gBAAgB;EAChBC,IAAI;EACJC,gBAAgB;EAChBC,mBAAmB;EACnBC;AAAK,CACN;EACC,MAAM;IAAEC;EAAI,CAAE,GAAGT,cAAA;EAEjB,oBACEU,KAAA,CAAC;IAAIC,SAAA,EAAWV,SAAA;4BACdW,IAAA,CAACf,UAAA;MACCgB,WAAA,EAAaR,IAAA,CAAKQ,WAAW;MAC7BC,WAAA,EAAaT,IAAA,CAAKS,WAAW;MAC7BN,KAAA,EAAOH,IAAA,CAAKG,KAAK;MACjBO,QAAA,EAAUV,IAAA,CAAKU,QAAQ;MACvBC,iBAAA,EAAmB;MACnBC,QAAA,EAAUX,gBAAA;MACVY,IAAA,EAAMb,IAAA,CAAKa,IAAI;MACfC,QAAA,EAAUd,IAAA,CAAKc,QAAQ;MACvBC,UAAA,EAAYf,IAAA,CAAKe;QAElBf,IAAA,CAAKgB,SAAS,GAAG,kBAChBX,KAAA,CAACd,QAAA;8BACCc,KAAA,CAAC;QAAIC,SAAA,EAAW,GAAGV,SAAA,aAAsB;mBACtCI,IAAA,CAAKa,IAAI,GAAGb,IAAA,CAAKG,KAAK,IAAIH,IAAA,CAAKG,KAAK,GAAG,IAAG,KAC1CH,IAAA,CAAKe,UAAU,GAAG,KAAKf,IAAA,CAAKe,UAAU,KAAKf,IAAA,CAAKa,IAAI,GACjDb,IAAA,CAAKG,KAAK,GAAGH,IAAA,CAAKa,IAAI,GACtBb,IAAA,CAAKgB,SAAS,EAAE,KACnBZ,IAAA,CAAKa,CAAC,CAAC,eAAc,KAAEjB,IAAA,CAAKgB,SAAS;uBAExCT,IAAA,CAACd,OAAA;QACCyB,YAAA,EAAchB,mBAAA;QACdC,KAAA,EAAOA,KAAA;QACPgB,MAAA,EAAQpB,gBAAA,EAAkBqB,KAAA,EAAOC,UAAA,EAAYF,MAAA;QAC7CG,SAAA,EAAWtB,IAAA,CAAKgB,SAAS,IAAIhB,IAAA,CAAKuB;UAEnCzB,iBAAA;;;AAKX;AAEA;;;;AAIA,OAAO,MAAM0B,YAAA,GAGRA,CAAC;EAAE1B,iBAAiB;EAAEC;AAAgB,CAAE;EAC3C,MAAM;IACJC,IAAI;IACJyB,YAAA,EAAcC,YAAY;IAC1BzB,gBAAgB;IAChBC,mBAAmB;IACnByB;EAAK,CACN,GAAGjC,YAAA;EAEJ,oBACEa,IAAA,CAACV,qBAAA;IACCC,iBAAA,EAAmBA,iBAAA;IACnBC,gBAAA,EAAkBA,gBAAA;IAClBC,IAAA,EAAMA,IAAA;IACNC,gBAAA,EAAkBA,gBAAA;IAClBC,mBAAA,EAAqBA,mBAAA;IACrBC,KAAA,EAAOd,QAAA,CAASsC,KAAA,CAAMxB,KAAK,IAAIwB,KAAA,CAAMxB,KAAK,GAAGuB;;AAGnD","ignoreList":[]}
@@ -0,0 +1,40 @@
1
+ @import '../../scss/styles.scss';
2
+
3
+ @layer payload-default {
4
+ .page-controls {
5
+ width: 100%;
6
+ display: flex;
7
+ align-items: center;
8
+
9
+ &__page-info {
10
+ [dir='ltr'] & {
11
+ margin-right: base(1);
12
+ margin-left: auto;
13
+ }
14
+
15
+ [dir='rtl'] & {
16
+ margin-left: base(1);
17
+ margin-right: auto;
18
+ }
19
+ }
20
+
21
+ @include small-break {
22
+ flex-wrap: wrap;
23
+
24
+ &__page-info {
25
+ [dir='ltr'] & {
26
+ margin-left: base(0.5);
27
+ }
28
+
29
+ [dir='rtl'] & {
30
+ margin-right: 0;
31
+ }
32
+ }
33
+
34
+ .paginator {
35
+ width: 100%;
36
+ margin-bottom: base(0.5);
37
+ }
38
+ }
39
+ }
40
+ }
@@ -4,14 +4,14 @@
4
4
  .clickable-arrow {
5
5
  cursor: pointer;
6
6
  @extend %btn-reset;
7
- width: base(2);
8
- height: base(2);
7
+ width: base(1.5);
8
+ height: base(1.5);
9
9
  display: flex;
10
10
  justify-content: center;
11
11
  align-content: center;
12
12
  align-items: center;
13
13
  outline: 0;
14
- padding: base(0.5);
14
+ padding: base(0.25);
15
15
  color: var(--theme-elevation-800);
16
16
  line-height: base(1);
17
17
 
@@ -23,7 +23,7 @@ export const Pagination = props => {
23
23
  prevPage = null,
24
24
  totalPages = null
25
25
  } = props;
26
- if (!hasNextPage && !hasPrevPage) {
26
+ if (!hasPrevPage && !hasNextPage) {
27
27
  return null;
28
28
  }
29
29
  const updatePage = page => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","ClickableArrow","Page","Separator","nodeTypes","baseClass","Pagination","props","hasNextPage","hasPrevPage","nextPage","numberOfNeighbors","onChange","page","currentPage","prevPage","totalPages","updatePage","pages","Array","from","length","_","index","rangeStartIndex","rangeEndIndex","nodes","slice","unshift","type","isFirstPage","push","isLastPage","direction","isDisabled","Math","max","_jsx","className","map","node","i","isCurrent","NodeType"],"sources":["../../../src/elements/Pagination/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { ClickableArrow } from './ClickableArrow/index.js'\nimport './index.scss'\nimport { Page } from './Page/index.js'\nimport { Separator } from './Separator/index.js'\n\nconst nodeTypes = {\n ClickableArrow,\n Page,\n Separator,\n}\n\nconst baseClass = 'paginator'\n\nexport type PaginationProps = {\n hasNextPage?: boolean\n hasPrevPage?: boolean\n limit?: number\n nextPage?: number\n numberOfNeighbors?: number\n onChange?: (page: number) => void\n page?: number\n prevPage?: number\n totalPages?: number\n}\n\nexport type Node =\n | {\n props?: {\n direction?: 'left' | 'right'\n isDisabled?: boolean\n isFirstPage?: boolean\n isLastPage?: boolean\n page?: number\n updatePage: (page?: number) => void\n }\n type: 'ClickableArrow' | 'Page' | 'Separator'\n }\n | number\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n const {\n hasNextPage = false,\n hasPrevPage = false,\n nextPage = null,\n numberOfNeighbors = 1,\n onChange,\n page: currentPage,\n prevPage = null,\n totalPages = null,\n } = props\n\n if (!hasNextPage && !hasPrevPage) {\n return null\n }\n\n const updatePage = (page) => {\n if (typeof onChange === 'function') {\n onChange(page)\n }\n }\n\n // Create array of integers for each page\n const pages = Array.from({ length: totalPages }, (_, index) => index + 1)\n\n // Assign indices for start and end of the range of pages that should be shown in paginator\n let rangeStartIndex = currentPage - 1 - numberOfNeighbors\n\n // Sanitize rangeStartIndex in case it is less than zero for safe split\n if (rangeStartIndex <= 0) {\n rangeStartIndex = 0\n }\n\n const rangeEndIndex = currentPage - 1 + numberOfNeighbors + 1\n\n // Slice out the range of pages that we want to render\n const nodes: Node[] = pages.slice(rangeStartIndex, rangeEndIndex)\n\n // Add prev separator if necessary\n if (currentPage - numberOfNeighbors - 1 >= 2) {\n nodes.unshift({ type: 'Separator' })\n }\n\n // Add first page if necessary\n if (currentPage > numberOfNeighbors + 1) {\n nodes.unshift({\n type: 'Page',\n props: {\n isFirstPage: true,\n page: 1,\n updatePage,\n },\n })\n }\n\n // Add next separator if necessary\n if (currentPage + numberOfNeighbors + 1 < totalPages) {\n nodes.push({ type: 'Separator' })\n }\n\n // Add last page if necessary\n if (rangeEndIndex < totalPages) {\n nodes.push({\n type: 'Page',\n props: {\n isLastPage: true,\n page: totalPages,\n updatePage,\n },\n })\n }\n\n // Add prev and next arrows based on necessity\n nodes.unshift({\n type: 'ClickableArrow',\n props: {\n direction: 'right',\n isDisabled: !hasNextPage,\n updatePage: () => updatePage(nextPage ?? currentPage + 1),\n },\n })\n\n nodes.unshift({\n type: 'ClickableArrow',\n props: {\n direction: 'left',\n isDisabled: !hasPrevPage,\n updatePage: () => updatePage(prevPage ?? Math.max(1, currentPage - 1)),\n },\n })\n\n return (\n <div className={baseClass}>\n {nodes.map((node, i) => {\n if (typeof node === 'number') {\n return (\n <Page isCurrent={currentPage === node} key={i} page={node} updatePage={updatePage} />\n )\n }\n\n const NodeType = nodeTypes[node.type]\n\n return <NodeType key={i} {...node.props} />\n })}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","ClickableArrow","Page","Separator","nodeTypes","baseClass","Pagination","props","hasNextPage","hasPrevPage","nextPage","numberOfNeighbors","onChange","page","currentPage","prevPage","totalPages","updatePage","pages","Array","from","length","_","index","rangeStartIndex","rangeEndIndex","nodes","slice","unshift","type","isFirstPage","push","isLastPage","direction","isDisabled","Math","max","_jsx","className","map","node","i","isCurrent","NodeType"],"sources":["../../../src/elements/Pagination/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { ClickableArrow } from './ClickableArrow/index.js'\nimport './index.scss'\nimport { Page } from './Page/index.js'\nimport { Separator } from './Separator/index.js'\n\nconst nodeTypes = {\n ClickableArrow,\n Page,\n Separator,\n}\n\nconst baseClass = 'paginator'\n\nexport type PaginationProps = {\n hasNextPage?: boolean\n hasPrevPage?: boolean\n limit?: number\n nextPage?: number\n numberOfNeighbors?: number\n onChange?: (page: number) => void\n page?: number\n prevPage?: number\n totalPages?: number\n}\n\nexport type Node =\n | {\n props?: {\n direction?: 'left' | 'right'\n isDisabled?: boolean\n isFirstPage?: boolean\n isLastPage?: boolean\n page?: number\n updatePage: (page?: number) => void\n }\n type: 'ClickableArrow' | 'Page' | 'Separator'\n }\n | number\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n const {\n hasNextPage = false,\n hasPrevPage = false,\n nextPage = null,\n numberOfNeighbors = 1,\n onChange,\n page: currentPage,\n prevPage = null,\n totalPages = null,\n } = props\n\n if (!hasPrevPage && !hasNextPage) {\n return null\n }\n\n const updatePage = (page) => {\n if (typeof onChange === 'function') {\n onChange(page)\n }\n }\n\n // Create array of integers for each page\n const pages = Array.from({ length: totalPages }, (_, index) => index + 1)\n\n // Assign indices for start and end of the range of pages that should be shown in paginator\n let rangeStartIndex = currentPage - 1 - numberOfNeighbors\n\n // Sanitize rangeStartIndex in case it is less than zero for safe split\n if (rangeStartIndex <= 0) {\n rangeStartIndex = 0\n }\n\n const rangeEndIndex = currentPage - 1 + numberOfNeighbors + 1\n\n // Slice out the range of pages that we want to render\n const nodes: Node[] = pages.slice(rangeStartIndex, rangeEndIndex)\n\n // Add prev separator if necessary\n if (currentPage - numberOfNeighbors - 1 >= 2) {\n nodes.unshift({ type: 'Separator' })\n }\n\n // Add first page if necessary\n if (currentPage > numberOfNeighbors + 1) {\n nodes.unshift({\n type: 'Page',\n props: {\n isFirstPage: true,\n page: 1,\n updatePage,\n },\n })\n }\n\n // Add next separator if necessary\n if (currentPage + numberOfNeighbors + 1 < totalPages) {\n nodes.push({ type: 'Separator' })\n }\n\n // Add last page if necessary\n if (rangeEndIndex < totalPages) {\n nodes.push({\n type: 'Page',\n props: {\n isLastPage: true,\n page: totalPages,\n updatePage,\n },\n })\n }\n\n // Add prev and next arrows based on necessity\n nodes.unshift({\n type: 'ClickableArrow',\n props: {\n direction: 'right',\n isDisabled: !hasNextPage,\n updatePage: () => updatePage(nextPage ?? currentPage + 1),\n },\n })\n\n nodes.unshift({\n type: 'ClickableArrow',\n props: {\n direction: 'left',\n isDisabled: !hasPrevPage,\n updatePage: () => updatePage(prevPage ?? Math.max(1, currentPage - 1)),\n },\n })\n\n return (\n <div className={baseClass}>\n {nodes.map((node, i) => {\n if (typeof node === 'number') {\n return (\n <Page isCurrent={currentPage === node} key={i} page={node} updatePage={updatePage} />\n )\n }\n\n const NodeType = nodeTypes[node.type]\n\n return <NodeType key={i} {...node.props} />\n })}\n </div>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,MAAW;AAElB,SAASC,cAAc,QAAQ;AAC/B,OAAO;AACP,SAASC,IAAI,QAAQ;AACrB,SAASC,SAAS,QAAQ;AAE1B,MAAMC,SAAA,GAAY;EAChBH,cAAA;EACAC,IAAA;EACAC;AACF;AAEA,MAAME,SAAA,GAAY;AA4BlB,OAAO,MAAMC,UAAA,GAAyCC,KAAA;EACpD,MAAM;IACJC,WAAA,GAAc,KAAK;IACnBC,WAAA,GAAc,KAAK;IACnBC,QAAA,GAAW,IAAI;IACfC,iBAAA,GAAoB,CAAC;IACrBC,QAAQ;IACRC,IAAA,EAAMC,WAAW;IACjBC,QAAA,GAAW,IAAI;IACfC,UAAA,GAAa;EAAI,CAClB,GAAGT,KAAA;EAEJ,IAAI,CAACE,WAAA,IAAe,CAACD,WAAA,EAAa;IAChC,OAAO;EACT;EAEA,MAAMS,UAAA,GAAcJ,IAAA;IAClB,IAAI,OAAOD,QAAA,KAAa,YAAY;MAClCA,QAAA,CAASC,IAAA;IACX;EACF;EAEA;EACA,MAAMK,KAAA,GAAQC,KAAA,CAAMC,IAAI,CAAC;IAAEC,MAAA,EAAQL;EAAW,GAAG,CAACM,CAAA,EAAGC,KAAA,KAAUA,KAAA,GAAQ;EAEvE;EACA,IAAIC,eAAA,GAAkBV,WAAA,GAAc,IAAIH,iBAAA;EAExC;EACA,IAAIa,eAAA,IAAmB,GAAG;IACxBA,eAAA,GAAkB;EACpB;EAEA,MAAMC,aAAA,GAAgBX,WAAA,GAAc,IAAIH,iBAAA,GAAoB;EAE5D;EACA,MAAMe,KAAA,GAAgBR,KAAA,CAAMS,KAAK,CAACH,eAAA,EAAiBC,aAAA;EAEnD;EACA,IAAIX,WAAA,GAAcH,iBAAA,GAAoB,KAAK,GAAG;IAC5Ce,KAAA,CAAME,OAAO,CAAC;MAAEC,IAAA,EAAM;IAAY;EACpC;EAEA;EACA,IAAIf,WAAA,GAAcH,iBAAA,GAAoB,GAAG;IACvCe,KAAA,CAAME,OAAO,CAAC;MACZC,IAAA,EAAM;MACNtB,KAAA,EAAO;QACLuB,WAAA,EAAa;QACbjB,IAAA,EAAM;QACNI;MACF;IACF;EACF;EAEA;EACA,IAAIH,WAAA,GAAcH,iBAAA,GAAoB,IAAIK,UAAA,EAAY;IACpDU,KAAA,CAAMK,IAAI,CAAC;MAAEF,IAAA,EAAM;IAAY;EACjC;EAEA;EACA,IAAIJ,aAAA,GAAgBT,UAAA,EAAY;IAC9BU,KAAA,CAAMK,IAAI,CAAC;MACTF,IAAA,EAAM;MACNtB,KAAA,EAAO;QACLyB,UAAA,EAAY;QACZnB,IAAA,EAAMG,UAAA;QACNC;MACF;IACF;EACF;EAEA;EACAS,KAAA,CAAME,OAAO,CAAC;IACZC,IAAA,EAAM;IACNtB,KAAA,EAAO;MACL0B,SAAA,EAAW;MACXC,UAAA,EAAY,CAAC1B,WAAA;MACbS,UAAA,EAAYA,CAAA,KAAMA,UAAA,CAAWP,QAAA,IAAYI,WAAA,GAAc;IACzD;EACF;EAEAY,KAAA,CAAME,OAAO,CAAC;IACZC,IAAA,EAAM;IACNtB,KAAA,EAAO;MACL0B,SAAA,EAAW;MACXC,UAAA,EAAY,CAACzB,WAAA;MACbQ,UAAA,EAAYA,CAAA,KAAMA,UAAA,CAAWF,QAAA,IAAYoB,IAAA,CAAKC,GAAG,CAAC,GAAGtB,WAAA,GAAc;IACrE;EACF;EAEA,oBACEuB,IAAA,CAAC;IAAIC,SAAA,EAAWjC,SAAA;cACbqB,KAAA,CAAMa,GAAG,CAAC,CAACC,IAAA,EAAMC,CAAA;MAChB,IAAI,OAAOD,IAAA,KAAS,UAAU;QAC5B,oBACEH,IAAA,CAACnC,IAAA;UAAKwC,SAAA,EAAW5B,WAAA,KAAgB0B,IAAA;UAAc3B,IAAA,EAAM2B,IAAA;UAAMvB,UAAA,EAAYA;WAA3BwB,CAAA;MAEhD;MAEA,MAAME,QAAA,GAAWvC,SAAS,CAACoC,IAAA,CAAKX,IAAI,CAAC;MAErC,oBAAOQ,IAAA,CAACM,QAAA;QAAkB,GAAGH,IAAA,CAAKjC;SAAZkC,CAAA;IACxB;;AAGN","ignoreList":[]}
@@ -3,7 +3,6 @@
3
3
  @layer payload-default {
4
4
  .paginator {
5
5
  display: flex;
6
- margin-bottom: $baseline;
7
6
 
8
7
  &__page {
9
8
  cursor: pointer;
@@ -25,15 +24,16 @@
25
24
 
26
25
  &__page {
27
26
  @extend %btn-reset;
28
- width: base(2);
29
- height: base(2);
27
+ width: base(1.5);
28
+ height: base(1.5);
30
29
  display: flex;
31
30
  justify-content: center;
32
31
  align-content: center;
33
32
  outline: 0;
33
+ border-radius: var(--style-radius-s);
34
34
  padding: base(0.5);
35
35
  color: var(--theme-elevation-800);
36
- line-height: base(1);
36
+ line-height: 0.9;
37
37
 
38
38
  &:focus-visible {
39
39
  outline: var(--accessibility-outline);
@@ -0,0 +1,14 @@
1
+ import type { SanitizedCollectionConfig } from 'payload';
2
+ import React from 'react';
3
+ import type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js';
4
+ export type Props = {
5
+ readonly buttonId?: string;
6
+ readonly collectionSlug: SanitizedCollectionConfig['slug'];
7
+ readonly id?: string;
8
+ readonly onDelete?: DocumentDrawerContextType['onDelete'];
9
+ readonly redirectAfterDelete?: boolean;
10
+ readonly singularLabel: SanitizedCollectionConfig['labels']['singular'];
11
+ readonly title?: string;
12
+ };
13
+ export declare const PermanentlyDeleteButton: React.FC<Props>;
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PermanentlyDeleteButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAOxD,OAAO,KAAgC,MAAM,OAAO,CAAA;AAGpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAW9E,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAC1D,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAA;IACzD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAA;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA0InD,CAAA"}