@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,22 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import './index.scss';
4
+ export function TrashIcon({
5
+ className
6
+ }) {
7
+ return /*#__PURE__*/_jsx("svg", {
8
+ className: [className, 'icon icon--trash'].filter(Boolean).join(' '),
9
+ fill: "none",
10
+ height: "20",
11
+ viewBox: "0 0 20 20",
12
+ width: "20",
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ children: /*#__PURE__*/_jsx("path", {
15
+ d: "M4.1499 6.1H15.8499M14.5499 6.1V15.2C14.5499 15.85 13.8999 16.5 13.2499 16.5H6.7499C6.0999 16.5 5.4499 15.85 5.4499 15.2V6.1M7.3999 6.1V4.8C7.3999 4.15 8.0499 3.5 8.6999 3.5H11.2999C11.9499 3.5 12.5999 4.15 12.5999 4.8V6.1M8.6999 9.35V13.25M11.2999 9.35V13.25",
16
+ stroke: "currentColor",
17
+ strokeLinecap: "round",
18
+ strokeLinejoin: "round"
19
+ })
20
+ });
21
+ }
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","TrashIcon","className","_jsx","filter","Boolean","join","fill","height","viewBox","width","xmlns","d","stroke","strokeLinecap","strokeLinejoin"],"sources":["../../../src/icons/Trash/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nexport function TrashIcon({ className }: { className?: string }) {\n return (\n <svg\n className={[className, 'icon icon--trash'].filter(Boolean).join(' ')}\n fill=\"none\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n width=\"20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4.1499 6.1H15.8499M14.5499 6.1V15.2C14.5499 15.85 13.8999 16.5 13.2499 16.5H6.7499C6.0999 16.5 5.4499 15.85 5.4499 15.2V6.1M7.3999 6.1V4.8C7.3999 4.15 8.0499 3.5 8.6999 3.5H11.2999C11.9499 3.5 12.5999 4.15 12.5999 4.8V6.1M8.6999 9.35V13.25M11.2999 9.35V13.25\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n}\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,OAAO,SAASC,UAAU;EAAEC;AAAS,CAA0B;EAC7D,oBACEC,IAAA,CAAC;IACCD,SAAA,EAAW,CAACA,SAAA,EAAW,mBAAmB,CAACE,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;IAChEC,IAAA,EAAK;IACLC,MAAA,EAAO;IACPC,OAAA,EAAQ;IACRC,KAAA,EAAM;IACNC,KAAA,EAAM;cAEN,aAAAR,IAAA,CAAC;MACCS,CAAA,EAAE;MACFC,MAAA,EAAO;MACPC,aAAA,EAAc;MACdC,cAAA,EAAe;;;AAIvB","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ @layer payload-default {
2
+ .icon--trash {
3
+ height: var(--base);
4
+ width: var(--base);
5
+ }
6
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAgF,MAAM,OAAO,CAAA;AAYpG,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAK7E,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAAmC,CAAA;AAyWtE,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,GAAG,iBAAiB,CAOtB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAgF,MAAM,OAAO,CAAA;AAYpG,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAK7E,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAAmC,CAAA;AAoXtE,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,GAAG,iBAAiB,CAOtB,CAAA"}
@@ -93,6 +93,11 @@ const DocumentInfo = ({
93
93
  const [lastUpdateTime, setLastUpdateTime] = useControllableState(lastUpdateTimeFromProps);
94
94
  const [savedDocumentData, setSavedDocumentData] = useControllableState(initialData);
95
95
  const [uploadStatus, setUploadStatus] = useControllableState('idle');
96
+ const documentLockState = useRef({
97
+ hasShownLockedModal: false,
98
+ isLocked: false,
99
+ user: null
100
+ });
96
101
  const updateUploadStatus = useCallback(status => {
97
102
  setUploadStatus(status);
98
103
  }, [setUploadStatus]);
@@ -288,6 +293,7 @@ const DocumentInfo = ({
288
293
  docConfig,
289
294
  docPermissions,
290
295
  documentIsLocked,
296
+ documentLockState,
291
297
  getDocPermissions,
292
298
  getDocPreferences,
293
299
  hasPublishedDoc,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["qs","React","createContext","use","useCallback","useEffect","useMemo","useRef","useState","useControllableState","useAuth","requests","formatDocTitle","useConfig","DocumentTitleProvider","useLocale","useLocaleLoading","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","useGetDocPermissions","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","currentEditor","currentEditorFromProps","docPermissions","docPermissionsFromProps","globalSlug","hasPublishedDoc","hasPublishedDocFromProps","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermission","hasSavePermissionFromProps","initialData","initialState","isLocked","isLockedFromProps","lastUpdateTime","lastUpdateTimeFromProps","mostRecentVersionIsAutosaved","mostRecentVersionIsAutosavedFromProps","unpublishedVersionCount","unpublishedVersionCountFromProps","versionCount","versionCountFromProps","setDocPermissions","setHasSavePermission","setHasPublishPermission","permissions","config","admin","dateFormat","routes","api","serverURL","getEntityConfig","collectionConfig","globalConfig","abortControllerRef","AbortController","docConfig","i18n","uploadEdits","title","setDocumentTitle","data","fallback","toString","setMostRecentVersionIsAutosaved","setVersionCount","setHasPublishedDoc","setUnpublishedVersionCount","documentIsLocked","setDocumentIsLocked","setCurrentEditor","setLastUpdateTime","savedDocumentData","setSavedDocumentData","uploadStatus","setUploadStatus","updateUploadStatus","status","getPreference","setPreference","code","locale","localeIsLoading","isInitializing","undefined","baseURL","slug","pluralType","preferencesKey","unlockDocument","docID","isGlobal","query","request","get","credentials","docs","json","length","lockID","delete","headers","error","console","updateDocumentEditor","user","userData","relationTo","collection","value","patch","body","JSON","stringify","getDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","incrementVersionCount","newCount","versions","maxPerDoc","Math","min","max","updateSavedDocumentData","re1","current","abort","_err","action","docURL","params","depth","addQueryPrefix","_jsx","DocumentInfoProvider"],"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser, DocumentPreferences } from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport { useControllableState } from '../../hooks/useControllableState.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatDocTitle } from '../../utilities/formatDocTitle/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { DocumentTitleProvider } from '../DocumentTitle/index.js'\nimport { useLocale, useLocaleLoading } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\nimport { type DocumentInfoContext, type DocumentInfoProps } from './types.js'\nimport { useGetDocPermissions } from './useGetDocPermissions.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => use(Context)\n\nconst DocumentInfo: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n currentEditor: currentEditorFromProps,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishedDoc: hasPublishedDocFromProps,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData,\n initialState,\n isLocked: isLockedFromProps,\n lastUpdateTime: lastUpdateTimeFromProps,\n mostRecentVersionIsAutosaved: mostRecentVersionIsAutosavedFromProps,\n unpublishedVersionCount: unpublishedVersionCountFromProps,\n versionCount: versionCountFromProps,\n } = props\n\n const [docPermissions, setDocPermissions] = useControllableState(docPermissionsFromProps)\n\n const [hasSavePermission, setHasSavePermission] = useControllableState(hasSavePermissionFromProps)\n\n const [hasPublishPermission, setHasPublishPermission] = useControllableState(\n hasPublishPermissionFromProps,\n )\n\n const { permissions } = useAuth()\n\n const {\n config: {\n admin: { dateFormat },\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const abortControllerRef = useRef(new AbortController())\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n /**\n * @deprecated This state will be removed in v4.\n * This is for performance reasons. Use the `DocumentTitleContext` instead.\n */\n const [title, setDocumentTitle] = useState(() =>\n formatDocTitle({\n collectionConfig,\n data: { ...(initialData || {}), id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n\n const [mostRecentVersionIsAutosaved, setMostRecentVersionIsAutosaved] = useState(\n mostRecentVersionIsAutosavedFromProps,\n )\n\n const [versionCount, setVersionCount] = useState(versionCountFromProps)\n\n const [hasPublishedDoc, setHasPublishedDoc] = useState(hasPublishedDocFromProps)\n const [unpublishedVersionCount, setUnpublishedVersionCount] = useState(\n unpublishedVersionCountFromProps,\n )\n\n const [documentIsLocked, setDocumentIsLocked] = useControllableState<boolean | undefined>(\n isLockedFromProps,\n )\n const [currentEditor, setCurrentEditor] = useControllableState<ClientUser | null>(\n currentEditorFromProps,\n )\n const [lastUpdateTime, setLastUpdateTime] = useControllableState<number>(lastUpdateTimeFromProps)\n const [savedDocumentData, setSavedDocumentData] = useControllableState(initialData)\n const [uploadStatus, setUploadStatus] = useControllableState<'failed' | 'idle' | 'uploading'>(\n 'idle',\n )\n\n const updateUploadStatus = useCallback(\n (status: 'failed' | 'idle' | 'uploading') => {\n setUploadStatus(status)\n },\n [setUploadStatus],\n )\n\n const { getPreference, setPreference } = usePreferences()\n const { code: locale } = useLocale()\n const { localeIsLoading } = useLocaleLoading()\n\n const isInitializing = useMemo(\n () => initialState === undefined || initialData === undefined || localeIsLoading,\n [initialData, initialState, localeIsLoading],\n )\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const unlockDocument = useCallback(\n async (docID: number | string, slug: string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`, {\n credentials: 'include',\n })\n\n const { docs } = await request.json()\n\n if (docs?.length > 0) {\n const lockID = docs[0].id\n await requests.delete(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n setDocumentIsLocked(false)\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to unlock the document', error)\n }\n },\n [serverURL, api, globalSlug, setDocumentIsLocked],\n )\n\n const updateDocumentEditor = useCallback(\n async (docID: number | string, slug: string, user: ClientUser | number | string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n // Check if the document is already locked\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`, {\n credentials: 'include',\n })\n\n const { docs } = await request.json()\n\n if (docs?.length > 0) {\n const lockID = docs[0].id\n\n const userData =\n typeof user === 'object'\n ? { relationTo: user.collection, value: user.id }\n : { relationTo: 'users', value: user }\n\n // Send a patch request to update the _lastEdited info\n await requests.patch(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n body: JSON.stringify({\n user: userData,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to update the document editor', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const getDocPermissions = useGetDocPermissions({\n id: id as string,\n api,\n collectionSlug,\n globalSlug,\n i18n,\n locale,\n permissions,\n serverURL,\n setDocPermissions,\n setHasPublishPermission,\n setHasSavePermission,\n })\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const incrementVersionCount = useCallback(() => {\n const newCount = versionCount + 1\n if (collectionConfig && collectionConfig.versions) {\n if (collectionConfig.versions.maxPerDoc > 0) {\n setVersionCount(Math.min(newCount, collectionConfig.versions.maxPerDoc))\n } else {\n setVersionCount(newCount)\n }\n } else if (globalConfig && globalConfig.versions) {\n if (globalConfig.versions.max > 0) {\n setVersionCount(Math.min(newCount, globalConfig.versions.max))\n } else {\n setVersionCount(newCount)\n }\n }\n }, [collectionConfig, globalConfig, versionCount])\n\n const updateSavedDocumentData = React.useCallback<DocumentInfoContext['updateSavedDocumentData']>(\n (json) => {\n setSavedDocumentData(json)\n },\n [setSavedDocumentData],\n )\n\n /**\n * @todo: Remove this in v4\n * Users should use the `DocumentTitleContext` instead.\n */\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...savedDocumentData, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, globalConfig, savedDocumentData, dateFormat, i18n, id])\n\n // clean on unmount\n useEffect(() => {\n const re1 = abortControllerRef.current\n\n return () => {\n if (re1) {\n try {\n re1.abort()\n } catch (_err) {\n // swallow error\n }\n }\n }\n }, [])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n currentEditor,\n docConfig,\n docPermissions,\n documentIsLocked,\n getDocPermissions,\n getDocPreferences,\n hasPublishedDoc,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialData,\n initialState,\n isInitializing,\n lastUpdateTime,\n mostRecentVersionIsAutosaved,\n preferencesKey,\n savedDocumentData,\n setCurrentEditor,\n setDocFieldPreferences,\n setDocumentIsLocked,\n setDocumentTitle,\n setHasPublishedDoc,\n setLastUpdateTime,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n setUploadStatus: updateUploadStatus,\n title,\n unlockDocument,\n unpublishedVersionCount,\n updateDocumentEditor,\n updateSavedDocumentData,\n uploadStatus,\n versionCount,\n }\n\n return (\n <Context value={value}>\n <DocumentTitleProvider>{children}</DocumentTitleProvider>\n </Context>\n )\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["qs","React","createContext","use","useCallback","useEffect","useMemo","useRef","useState","useControllableState","useAuth","requests","formatDocTitle","useConfig","DocumentTitleProvider","useLocale","useLocaleLoading","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","useGetDocPermissions","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","currentEditor","currentEditorFromProps","docPermissions","docPermissionsFromProps","globalSlug","hasPublishedDoc","hasPublishedDocFromProps","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermission","hasSavePermissionFromProps","initialData","initialState","isLocked","isLockedFromProps","lastUpdateTime","lastUpdateTimeFromProps","mostRecentVersionIsAutosaved","mostRecentVersionIsAutosavedFromProps","unpublishedVersionCount","unpublishedVersionCountFromProps","versionCount","versionCountFromProps","setDocPermissions","setHasSavePermission","setHasPublishPermission","permissions","config","admin","dateFormat","routes","api","serverURL","getEntityConfig","collectionConfig","globalConfig","abortControllerRef","AbortController","docConfig","i18n","uploadEdits","title","setDocumentTitle","data","fallback","toString","setMostRecentVersionIsAutosaved","setVersionCount","setHasPublishedDoc","setUnpublishedVersionCount","documentIsLocked","setDocumentIsLocked","setCurrentEditor","setLastUpdateTime","savedDocumentData","setSavedDocumentData","uploadStatus","setUploadStatus","documentLockState","hasShownLockedModal","user","updateUploadStatus","status","getPreference","setPreference","code","locale","localeIsLoading","isInitializing","undefined","baseURL","slug","pluralType","preferencesKey","unlockDocument","docID","isGlobal","query","request","get","credentials","docs","json","length","lockID","delete","headers","error","console","updateDocumentEditor","userData","relationTo","collection","value","patch","body","JSON","stringify","getDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","incrementVersionCount","newCount","versions","maxPerDoc","Math","min","max","updateSavedDocumentData","re1","current","abort","_err","action","docURL","params","depth","addQueryPrefix","_jsx","DocumentInfoProvider"],"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser, DocumentPreferences } from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport { useControllableState } from '../../hooks/useControllableState.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatDocTitle } from '../../utilities/formatDocTitle/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { DocumentTitleProvider } from '../DocumentTitle/index.js'\nimport { useLocale, useLocaleLoading } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\nimport { type DocumentInfoContext, type DocumentInfoProps } from './types.js'\nimport { useGetDocPermissions } from './useGetDocPermissions.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => use(Context)\n\nconst DocumentInfo: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n currentEditor: currentEditorFromProps,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishedDoc: hasPublishedDocFromProps,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData,\n initialState,\n isLocked: isLockedFromProps,\n lastUpdateTime: lastUpdateTimeFromProps,\n mostRecentVersionIsAutosaved: mostRecentVersionIsAutosavedFromProps,\n unpublishedVersionCount: unpublishedVersionCountFromProps,\n versionCount: versionCountFromProps,\n } = props\n\n const [docPermissions, setDocPermissions] = useControllableState(docPermissionsFromProps)\n\n const [hasSavePermission, setHasSavePermission] = useControllableState(hasSavePermissionFromProps)\n\n const [hasPublishPermission, setHasPublishPermission] = useControllableState(\n hasPublishPermissionFromProps,\n )\n\n const { permissions } = useAuth()\n\n const {\n config: {\n admin: { dateFormat },\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const abortControllerRef = useRef(new AbortController())\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n /**\n * @deprecated This state will be removed in v4.\n * This is for performance reasons. Use the `DocumentTitleContext` instead.\n */\n const [title, setDocumentTitle] = useState(() =>\n formatDocTitle({\n collectionConfig,\n data: { ...(initialData || {}), id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n\n const [mostRecentVersionIsAutosaved, setMostRecentVersionIsAutosaved] = useState(\n mostRecentVersionIsAutosavedFromProps,\n )\n\n const [versionCount, setVersionCount] = useState(versionCountFromProps)\n\n const [hasPublishedDoc, setHasPublishedDoc] = useState(hasPublishedDocFromProps)\n const [unpublishedVersionCount, setUnpublishedVersionCount] = useState(\n unpublishedVersionCountFromProps,\n )\n\n const [documentIsLocked, setDocumentIsLocked] = useControllableState<boolean | undefined>(\n isLockedFromProps,\n )\n const [currentEditor, setCurrentEditor] = useControllableState<ClientUser | null>(\n currentEditorFromProps,\n )\n const [lastUpdateTime, setLastUpdateTime] = useControllableState<number>(lastUpdateTimeFromProps)\n const [savedDocumentData, setSavedDocumentData] = useControllableState(initialData)\n const [uploadStatus, setUploadStatus] = useControllableState<'failed' | 'idle' | 'uploading'>(\n 'idle',\n )\n\n const documentLockState = useRef<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\n } | null>({\n hasShownLockedModal: false,\n isLocked: false,\n user: null,\n })\n\n const updateUploadStatus = useCallback(\n (status: 'failed' | 'idle' | 'uploading') => {\n setUploadStatus(status)\n },\n [setUploadStatus],\n )\n\n const { getPreference, setPreference } = usePreferences()\n const { code: locale } = useLocale()\n const { localeIsLoading } = useLocaleLoading()\n\n const isInitializing = useMemo(\n () => initialState === undefined || initialData === undefined || localeIsLoading,\n [initialData, initialState, localeIsLoading],\n )\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const unlockDocument = useCallback(\n async (docID: number | string, slug: string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`, {\n credentials: 'include',\n })\n\n const { docs } = await request.json()\n\n if (docs?.length > 0) {\n const lockID = docs[0].id\n await requests.delete(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n setDocumentIsLocked(false)\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to unlock the document', error)\n }\n },\n [serverURL, api, globalSlug, setDocumentIsLocked],\n )\n\n const updateDocumentEditor = useCallback(\n async (docID: number | string, slug: string, user: ClientUser | number | string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n // Check if the document is already locked\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`, {\n credentials: 'include',\n })\n\n const { docs } = await request.json()\n\n if (docs?.length > 0) {\n const lockID = docs[0].id\n\n const userData =\n typeof user === 'object'\n ? { relationTo: user.collection, value: user.id }\n : { relationTo: 'users', value: user }\n\n // Send a patch request to update the _lastEdited info\n await requests.patch(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n body: JSON.stringify({\n user: userData,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to update the document editor', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const getDocPermissions = useGetDocPermissions({\n id: id as string,\n api,\n collectionSlug,\n globalSlug,\n i18n,\n locale,\n permissions,\n serverURL,\n setDocPermissions,\n setHasPublishPermission,\n setHasSavePermission,\n })\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const incrementVersionCount = useCallback(() => {\n const newCount = versionCount + 1\n if (collectionConfig && collectionConfig.versions) {\n if (collectionConfig.versions.maxPerDoc > 0) {\n setVersionCount(Math.min(newCount, collectionConfig.versions.maxPerDoc))\n } else {\n setVersionCount(newCount)\n }\n } else if (globalConfig && globalConfig.versions) {\n if (globalConfig.versions.max > 0) {\n setVersionCount(Math.min(newCount, globalConfig.versions.max))\n } else {\n setVersionCount(newCount)\n }\n }\n }, [collectionConfig, globalConfig, versionCount])\n\n const updateSavedDocumentData = React.useCallback<DocumentInfoContext['updateSavedDocumentData']>(\n (json) => {\n setSavedDocumentData(json)\n },\n [setSavedDocumentData],\n )\n\n /**\n * @todo: Remove this in v4\n * Users should use the `DocumentTitleContext` instead.\n */\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...savedDocumentData, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, globalConfig, savedDocumentData, dateFormat, i18n, id])\n\n // clean on unmount\n useEffect(() => {\n const re1 = abortControllerRef.current\n\n return () => {\n if (re1) {\n try {\n re1.abort()\n } catch (_err) {\n // swallow error\n }\n }\n }\n }, [])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n currentEditor,\n docConfig,\n docPermissions,\n documentIsLocked,\n documentLockState,\n getDocPermissions,\n getDocPreferences,\n hasPublishedDoc,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialData,\n initialState,\n isInitializing,\n lastUpdateTime,\n mostRecentVersionIsAutosaved,\n preferencesKey,\n savedDocumentData,\n setCurrentEditor,\n setDocFieldPreferences,\n setDocumentIsLocked,\n setDocumentTitle,\n setHasPublishedDoc,\n setLastUpdateTime,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n setUploadStatus: updateUploadStatus,\n title,\n unlockDocument,\n unpublishedVersionCount,\n updateDocumentEditor,\n updateSavedDocumentData,\n uploadStatus,\n versionCount,\n }\n\n return (\n <Context value={value}>\n <DocumentTitleProvider>{children}</DocumentTitleProvider>\n </Context>\n )\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -21,11 +21,13 @@ export type DocumentInfoProps = {
21
21
  readonly initialState?: FormState;
22
22
  readonly isEditing?: boolean;
23
23
  readonly isLocked: boolean;
24
+ readonly isTrashed?: boolean;
24
25
  readonly lastUpdateTime: number;
25
26
  readonly mostRecentVersionIsAutosaved: boolean;
26
27
  readonly redirectAfterCreate?: boolean;
27
28
  readonly redirectAfterDelete?: boolean;
28
29
  readonly redirectAfterDuplicate?: boolean;
30
+ readonly redirectAfterRestore?: boolean;
29
31
  readonly unpublishedVersionCount: number;
30
32
  readonly Upload?: React.ReactNode;
31
33
  readonly versionCount: number;
@@ -34,6 +36,11 @@ export type DocumentInfoContext = {
34
36
  currentEditor?: ClientUser | null | number | string;
35
37
  docConfig?: ClientCollectionConfig | ClientGlobalConfig;
36
38
  documentIsLocked?: boolean;
39
+ documentLockState: React.RefObject<{
40
+ hasShownLockedModal: boolean;
41
+ isLocked: boolean;
42
+ user: ClientUser | number | string;
43
+ } | null>;
37
44
  getDocPermissions: (data?: Data) => Promise<void>;
38
45
  getDocPreferences: () => Promise<DocumentPreferences>;
39
46
  incrementVersionCount: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,UAAU,EACV,IAAI,EACJ,mBAAmB,EACnB,SAAS,EACT,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACrB,SAAS,EACV,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAC3D,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAA;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,4BAA4B,CAAA;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IACnD,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,CAAA;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,4BAA4B,EAAE,OAAO,CAAA;IAC9C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAA;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IACnD,SAAS,CAAC,EAAE,sBAAsB,GAAG,kBAAkB,CAAA;IACvD,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,iBAAiB,EAAE,KAAK,CAAC,SAAS,CAAC;QACjC,mBAAmB,EAAE,OAAO,CAAA;QAC5B,QAAQ,EAAE,OAAO,CAAA;QACjB,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;KACnC,GAAG,IAAI,CAAC,CAAA;IACT,iBAAiB,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,iBAAiB,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACrD,qBAAqB,EAAE,MAAM,IAAI,CAAA;IACjC,cAAc,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iBAAiB,CAAC,EAAE,IAAI,CAAA;IACxB,gBAAgB,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAA;IACnE,sBAAsB,EAAE,CACtB,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,KAC5E,IAAI,CAAA;IACT,mBAAmB,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;IACnE;;;;;;;;;OASG;IACH,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9D,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;IACjE,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/D,+BAA+B,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;IAC9E,0BAA0B,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;IACxE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,KAAK,IAAI,CAAA;IACnE;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvE,uBAAuB,EAAE,MAAM,CAAA;IAC/B,oBAAoB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/F,uBAAuB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC7C,YAAY,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAA;IAC9C,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,iBAAiB,CAAA;AAErB,eAAO,MAAM,oBAAoB,uBAAkC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["React","DocumentTitleContext","createContext"],"sources":["../../../src/providers/DocumentInfo/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n ClientUser,\n Data,\n DocumentPreferences,\n FormState,\n InsideFieldsPreferences,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n TypedUser,\n} from 'payload'\n\nimport React from 'react'\n\nexport type DocumentInfoProps = {\n readonly action?: string\n readonly AfterDocument?: React.ReactNode\n readonly AfterFields?: React.ReactNode\n readonly apiURL?: string\n readonly BeforeFields?: React.ReactNode\n readonly collectionSlug?: SanitizedCollectionConfig['slug']\n readonly currentEditor: TypedUser\n readonly disableActions?: boolean\n readonly disableCreate?: boolean\n readonly disableLeaveWithoutSaving?: boolean\n readonly docPermissions?: SanitizedDocumentPermissions\n readonly globalSlug?: SanitizedGlobalConfig['slug']\n readonly hasPublishedDoc: boolean\n readonly hasPublishPermission?: boolean\n readonly hasSavePermission?: boolean\n readonly id?: number | string\n readonly initialData?: Data\n readonly initialState?: FormState\n readonly isEditing?: boolean\n readonly isLocked: boolean\n readonly lastUpdateTime: number\n readonly mostRecentVersionIsAutosaved: boolean\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly unpublishedVersionCount: number\n readonly Upload?: React.ReactNode\n readonly versionCount: number\n}\n\nexport type DocumentInfoContext = {\n currentEditor?: ClientUser | null | number | string\n docConfig?: ClientCollectionConfig | ClientGlobalConfig\n documentIsLocked?: boolean\n getDocPermissions: (data?: Data) => Promise<void>\n getDocPreferences: () => Promise<DocumentPreferences>\n incrementVersionCount: () => void\n isInitializing: boolean\n preferencesKey?: string\n savedDocumentData?: Data\n setCurrentEditor?: React.Dispatch<React.SetStateAction<ClientUser>>\n setDocFieldPreferences: (\n field: string,\n fieldPreferences: { [key: string]: unknown } & Partial<InsideFieldsPreferences>,\n ) => void\n setDocumentIsLocked?: React.Dispatch<React.SetStateAction<boolean>>\n /**\n *\n * @deprecated This property is deprecated and will be removed in v4.\n * This is for performance reasons. Use the `DocumentTitleContext` instead.\n * @example\n * ```tsx\n * import { useDocumentTitle } from '@payloadcms/ui'\n * const { setDocumentTitle } = useDocumentTitle()\n * ```\n */\n setDocumentTitle: React.Dispatch<React.SetStateAction<string>>\n setHasPublishedDoc: React.Dispatch<React.SetStateAction<boolean>>\n setLastUpdateTime: React.Dispatch<React.SetStateAction<number>>\n setMostRecentVersionIsAutosaved: React.Dispatch<React.SetStateAction<boolean>>\n setUnpublishedVersionCount: React.Dispatch<React.SetStateAction<number>>\n setUploadStatus?: (status: 'failed' | 'idle' | 'uploading') => void\n /**\n * @deprecated This property is deprecated and will be removed in v4.\n * This is for performance reasons. Use the `DocumentTitleContext` instead.\n * @example\n * ```tsx\n * import { useDocumentTitle } from '@payloadcms/ui'\n * const { title } = useDocumentTitle()\n * ```\n */\n title: string\n unlockDocument: (docID: number | string, slug: string) => Promise<void>\n unpublishedVersionCount: number\n updateDocumentEditor: (docID: number | string, slug: string, user: ClientUser) => Promise<void>\n updateSavedDocumentData: (data: Data) => void\n uploadStatus?: 'failed' | 'idle' | 'uploading'\n versionCount: number\n} & DocumentInfoProps\n\nexport const DocumentTitleContext = React.createContext<string>('')\n"],"mappings":"AAcA,OAAOA,KAAA,MAAW;AAmFlB,OAAO,MAAMC,oBAAA,GAAuBD,KAAA,CAAME,aAAa,CAAS","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":["React","DocumentTitleContext","createContext"],"sources":["../../../src/providers/DocumentInfo/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n ClientUser,\n Data,\n DocumentPreferences,\n FormState,\n InsideFieldsPreferences,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n TypedUser,\n} from 'payload'\n\nimport React from 'react'\n\nexport type DocumentInfoProps = {\n readonly action?: string\n readonly AfterDocument?: React.ReactNode\n readonly AfterFields?: React.ReactNode\n readonly apiURL?: string\n readonly BeforeFields?: React.ReactNode\n readonly collectionSlug?: SanitizedCollectionConfig['slug']\n readonly currentEditor: TypedUser\n readonly disableActions?: boolean\n readonly disableCreate?: boolean\n readonly disableLeaveWithoutSaving?: boolean\n readonly docPermissions?: SanitizedDocumentPermissions\n readonly globalSlug?: SanitizedGlobalConfig['slug']\n readonly hasPublishedDoc: boolean\n readonly hasPublishPermission?: boolean\n readonly hasSavePermission?: boolean\n readonly id?: number | string\n readonly initialData?: Data\n readonly initialState?: FormState\n readonly isEditing?: boolean\n readonly isLocked: boolean\n readonly isTrashed?: boolean\n readonly lastUpdateTime: number\n readonly mostRecentVersionIsAutosaved: boolean\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly redirectAfterRestore?: boolean\n readonly unpublishedVersionCount: number\n readonly Upload?: React.ReactNode\n readonly versionCount: number\n}\n\nexport type DocumentInfoContext = {\n currentEditor?: ClientUser | null | number | string\n docConfig?: ClientCollectionConfig | ClientGlobalConfig\n documentIsLocked?: boolean\n documentLockState: React.RefObject<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\n } | null>\n getDocPermissions: (data?: Data) => Promise<void>\n getDocPreferences: () => Promise<DocumentPreferences>\n incrementVersionCount: () => void\n isInitializing: boolean\n preferencesKey?: string\n savedDocumentData?: Data\n setCurrentEditor?: React.Dispatch<React.SetStateAction<ClientUser>>\n setDocFieldPreferences: (\n field: string,\n fieldPreferences: { [key: string]: unknown } & Partial<InsideFieldsPreferences>,\n ) => void\n setDocumentIsLocked?: React.Dispatch<React.SetStateAction<boolean>>\n /**\n *\n * @deprecated This property is deprecated and will be removed in v4.\n * This is for performance reasons. Use the `DocumentTitleContext` instead.\n * @example\n * ```tsx\n * import { useDocumentTitle } from '@payloadcms/ui'\n * const { setDocumentTitle } = useDocumentTitle()\n * ```\n */\n setDocumentTitle: React.Dispatch<React.SetStateAction<string>>\n setHasPublishedDoc: React.Dispatch<React.SetStateAction<boolean>>\n setLastUpdateTime: React.Dispatch<React.SetStateAction<number>>\n setMostRecentVersionIsAutosaved: React.Dispatch<React.SetStateAction<boolean>>\n setUnpublishedVersionCount: React.Dispatch<React.SetStateAction<number>>\n setUploadStatus?: (status: 'failed' | 'idle' | 'uploading') => void\n /**\n * @deprecated This property is deprecated and will be removed in v4.\n * This is for performance reasons. Use the `DocumentTitleContext` instead.\n * @example\n * ```tsx\n * import { useDocumentTitle } from '@payloadcms/ui'\n * const { title } = useDocumentTitle()\n * ```\n */\n title: string\n unlockDocument: (docID: number | string, slug: string) => Promise<void>\n unpublishedVersionCount: number\n updateDocumentEditor: (docID: number | string, slug: string, user: ClientUser) => Promise<void>\n updateSavedDocumentData: (data: Data) => void\n uploadStatus?: 'failed' | 'idle' | 'uploading'\n versionCount: number\n} & DocumentInfoProps\n\nexport const DocumentTitleContext = React.createContext<string>('')\n"],"mappings":"AAcA,OAAOA,KAAA,MAAW;AA0FlB,OAAO,MAAMC,oBAAA,GAAuBD,KAAA,CAAME,aAAa,CAAS","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAEhF,OAAO,KAAK,EAAqB,cAAc,EAAE,MAAM,YAAY,CAAA;AAUnE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAuKtD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAEhF,OAAO,KAAK,EAAqB,cAAc,EAAE,MAAM,YAAY,CAAA;AAWnE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA+KtD,CAAA"}
@@ -8,6 +8,7 @@ import { useListDrawerContext } from '../../elements/ListDrawer/Provider.js';
8
8
  import { useEffectEvent } from '../../hooks/useEffectEvent.js';
9
9
  import { useRouteTransition } from '../../providers/RouteTransition/index.js';
10
10
  import { parseSearchParams } from '../../utilities/parseSearchParams.js';
11
+ import { useConfig } from '../Config/index.js';
11
12
  import { ListQueryContext, ListQueryModifiedContext } from './context.js';
12
13
  import { mergeQuery } from './mergeQuery.js';
13
14
  import { sanitizeQuery } from './sanitizeQuery.js';
@@ -24,19 +25,26 @@ export const ListQueryProvider = ({
24
25
  // TODO: Investigate if this is still needed
25
26
  'use no memo';
26
27
 
28
+ // TODO: Investigate if this is still needed
27
29
  const router = useRouter();
28
30
  const rawSearchParams = useSearchParams();
29
31
  const {
30
32
  startRouteTransition
31
33
  } = useRouteTransition();
32
34
  const [modified, setModified] = useState(false);
35
+ const {
36
+ getEntityConfig
37
+ } = useConfig();
38
+ const collectionConfig = getEntityConfig({
39
+ collectionSlug
40
+ });
33
41
  const searchParams = useMemo(() => sanitizeQuery(parseSearchParams(rawSearchParams)), [rawSearchParams]);
34
42
  const contextRef = useRef({});
35
43
  contextRef.current.modified = modified;
36
44
  const {
37
45
  onQueryChange
38
46
  } = useListDrawerContext();
39
- const [currentQuery, setCurrentQuery] = useState(() => {
47
+ const [query, setQuery] = useState(() => {
40
48
  if (modifySearchParams) {
41
49
  return searchParams;
42
50
  } else {
@@ -54,7 +62,7 @@ export const ListQueryProvider = ({
54
62
  } else {
55
63
  setModified(true);
56
64
  }
57
- const newQuery = mergeQuery(currentQuery, incomingQuery, {
65
+ const newQuery = mergeQuery(query, incomingQuery, {
58
66
  defaults: {
59
67
  limit: queryFromProps.limit,
60
68
  sort: queryFromProps.sort
@@ -63,7 +71,8 @@ export const ListQueryProvider = ({
63
71
  if (modifySearchParams) {
64
72
  startRouteTransition(() => router.replace(`${qs.stringify({
65
73
  ...newQuery,
66
- columns: JSON.stringify(newQuery.columns)
74
+ columns: JSON.stringify(newQuery.columns),
75
+ queryByGroup: JSON.stringify(newQuery.queryByGroup)
67
76
  }, {
68
77
  addQueryPrefix: true
69
78
  })}`));
@@ -71,8 +80,8 @@ export const ListQueryProvider = ({
71
80
  const onChangeFn = onQueryChange || onQueryChangeFromProps;
72
81
  onChangeFn(newQuery);
73
82
  }
74
- setCurrentQuery(newQuery);
75
- }, [currentQuery, queryFromProps.limit, queryFromProps.sort, modifySearchParams, onQueryChange, onQueryChangeFromProps, startRouteTransition, router]);
83
+ setQuery(newQuery);
84
+ }, [query, queryFromProps.limit, queryFromProps.sort, modifySearchParams, onQueryChange, onQueryChangeFromProps, startRouteTransition, router]);
76
85
  const handlePageChange = useCallback(async arg => {
77
86
  await refineListData({
78
87
  page: arg
@@ -90,27 +99,28 @@ export const ListQueryProvider = ({
90
99
  search
91
100
  });
92
101
  }, [refineListData]);
93
- const handleSortChange = useCallback(async arg_2 => {
102
+ const handleSortChange = useCallback(async sort => {
94
103
  await refineListData({
95
- sort: arg_2
104
+ sort
96
105
  });
97
106
  }, [refineListData]);
98
- const handleWhereChange = useCallback(async arg_3 => {
107
+ const handleWhereChange = useCallback(async where => {
99
108
  await refineListData({
100
- where: arg_3
109
+ where
101
110
  });
102
111
  }, [refineListData]);
103
112
  const mergeQueryFromPropsAndSyncToURL = useEffectEvent(() => {
104
113
  const newQuery_0 = sanitizeQuery({
105
- ...(currentQuery || {}),
114
+ ...(query || {}),
106
115
  ...(queryFromProps || {})
107
116
  });
108
117
  const search_0 = `?${qs.stringify({
109
118
  ...newQuery_0,
110
- columns: JSON.stringify(newQuery_0.columns)
119
+ columns: JSON.stringify(newQuery_0.columns),
120
+ queryByGroup: JSON.stringify(newQuery_0.queryByGroup)
111
121
  })}`;
112
122
  if (window.location.search !== search_0) {
113
- setCurrentQuery(newQuery_0);
123
+ setQuery(newQuery_0);
114
124
  // Important: do not use router.replace here to avoid re-rendering on initial load
115
125
  window.history.replaceState(null, '', search_0);
116
126
  }
@@ -131,8 +141,9 @@ export const ListQueryProvider = ({
131
141
  handleSearchChange,
132
142
  handleSortChange,
133
143
  handleWhereChange,
144
+ isGroupingBy: Boolean(collectionConfig?.admin?.groupBy && query?.groupBy),
134
145
  orderableFieldName,
135
- query: currentQuery,
146
+ query,
136
147
  refineListData,
137
148
  setModified,
138
149
  ...contextRef.current
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useRouter","useSearchParams","qs","React","useCallback","useEffect","useMemo","useRef","useState","useListDrawerContext","useEffectEvent","useRouteTransition","parseSearchParams","ListQueryContext","ListQueryModifiedContext","mergeQuery","sanitizeQuery","useListQuery","ListQueryProvider","children","collectionSlug","data","modifySearchParams","onQueryChange","onQueryChangeFromProps","orderableFieldName","query","queryFromProps","router","rawSearchParams","startRouteTransition","modified","setModified","searchParams","contextRef","current","currentQuery","setCurrentQuery","limit","sort","refineListData","incomingQuery","undefined","newQuery","defaults","replace","stringify","columns","JSON","addQueryPrefix","onChangeFn","handlePageChange","arg","page","handlePerPageChange","handleSearchChange","search","handleSortChange","handleWhereChange","where","mergeQueryFromPropsAndSyncToURL","window","location","history","replaceState","_jsx","value"],"sources":["../../../src/providers/ListQuery/index.tsx"],"sourcesContent":["'use client'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { type ListQuery, type Where } from 'payload'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { IListQueryContext, ListQueryProps } from './types.js'\n\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { ListQueryContext, ListQueryModifiedContext } from './context.js'\nimport { mergeQuery } from './mergeQuery.js'\nimport { sanitizeQuery } from './sanitizeQuery.js'\n\nexport { useListQuery } from './context.js'\n\nexport const ListQueryProvider: React.FC<ListQueryProps> = ({\n children,\n collectionSlug,\n data,\n modifySearchParams,\n onQueryChange: onQueryChangeFromProps,\n orderableFieldName,\n query: queryFromProps,\n}) => {\n // TODO: Investigate if this is still needed\n\n 'use no memo'\n const router = useRouter()\n const rawSearchParams = useSearchParams()\n const { startRouteTransition } = useRouteTransition()\n const [modified, setModified] = useState(false)\n\n const searchParams = useMemo<ListQuery>(\n () => sanitizeQuery(parseSearchParams(rawSearchParams)),\n [rawSearchParams],\n )\n\n const contextRef = useRef({} as IListQueryContext)\n\n contextRef.current.modified = modified\n\n const { onQueryChange } = useListDrawerContext()\n\n const [currentQuery, setCurrentQuery] = useState<ListQuery>(() => {\n if (modifySearchParams) {\n return searchParams\n } else {\n return {\n limit: queryFromProps.limit,\n sort: queryFromProps.sort,\n }\n }\n })\n\n const refineListData = useCallback(\n // eslint-disable-next-line @typescript-eslint/require-await\n async (incomingQuery: ListQuery, modified?: boolean) => {\n if (modified !== undefined) {\n setModified(modified)\n } else {\n setModified(true)\n }\n\n const newQuery = mergeQuery(currentQuery, incomingQuery, {\n defaults: {\n limit: queryFromProps.limit,\n sort: queryFromProps.sort,\n },\n })\n\n if (modifySearchParams) {\n startRouteTransition(() =>\n router.replace(\n `${qs.stringify(\n {\n ...newQuery,\n columns: JSON.stringify(newQuery.columns),\n },\n { addQueryPrefix: true },\n )}`,\n ),\n )\n } else if (\n typeof onQueryChange === 'function' ||\n typeof onQueryChangeFromProps === 'function'\n ) {\n const onChangeFn = onQueryChange || onQueryChangeFromProps\n onChangeFn(newQuery)\n }\n\n setCurrentQuery(newQuery)\n },\n [\n currentQuery,\n queryFromProps.limit,\n queryFromProps.sort,\n modifySearchParams,\n onQueryChange,\n onQueryChangeFromProps,\n startRouteTransition,\n router,\n ],\n )\n\n const handlePageChange = useCallback(\n async (arg: number) => {\n await refineListData({ page: arg })\n },\n [refineListData],\n )\n\n const handlePerPageChange = React.useCallback(\n async (arg: number) => {\n await refineListData({ limit: arg, page: 1 })\n },\n [refineListData],\n )\n\n const handleSearchChange = useCallback(\n async (arg: string) => {\n const search = arg === '' ? undefined : arg\n await refineListData({ search })\n },\n [refineListData],\n )\n\n const handleSortChange = useCallback(\n async (arg: string) => {\n await refineListData({ sort: arg })\n },\n [refineListData],\n )\n\n const handleWhereChange = useCallback(\n async (arg: Where) => {\n await refineListData({ where: arg })\n },\n [refineListData],\n )\n\n const mergeQueryFromPropsAndSyncToURL = useEffectEvent(() => {\n const newQuery = sanitizeQuery({ ...(currentQuery || {}), ...(queryFromProps || {}) })\n\n const search = `?${qs.stringify({ ...newQuery, columns: JSON.stringify(newQuery.columns) })}`\n\n if (window.location.search !== search) {\n setCurrentQuery(newQuery)\n\n // Important: do not use router.replace here to avoid re-rendering on initial load\n window.history.replaceState(null, '', search)\n }\n })\n\n // If `query` is updated externally, update the local state\n // E.g. when HMR runs, these properties may be different\n useEffect(() => {\n if (modifySearchParams) {\n mergeQueryFromPropsAndSyncToURL()\n }\n }, [modifySearchParams, queryFromProps])\n\n return (\n <ListQueryContext\n value={{\n collectionSlug,\n data,\n handlePageChange,\n handlePerPageChange,\n handleSearchChange,\n handleSortChange,\n handleWhereChange,\n orderableFieldName,\n query: currentQuery,\n refineListData,\n setModified,\n\n ...contextRef.current,\n }}\n >\n <ListQueryModifiedContext value={modified}>{children}</ListQueryModifiedContext>\n </ListQueryContext>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useRouter","useSearchParams","qs","React","useCallback","useEffect","useMemo","useRef","useState","useListDrawerContext","useEffectEvent","useRouteTransition","parseSearchParams","useConfig","ListQueryContext","ListQueryModifiedContext","mergeQuery","sanitizeQuery","useListQuery","ListQueryProvider","children","collectionSlug","data","modifySearchParams","onQueryChange","onQueryChangeFromProps","orderableFieldName","query","queryFromProps","router","rawSearchParams","startRouteTransition","modified","setModified","getEntityConfig","collectionConfig","searchParams","contextRef","current","setQuery","limit","sort","refineListData","incomingQuery","undefined","newQuery","defaults","replace","stringify","columns","JSON","queryByGroup","addQueryPrefix","onChangeFn","handlePageChange","arg","page","handlePerPageChange","handleSearchChange","search","handleSortChange","handleWhereChange","where","mergeQueryFromPropsAndSyncToURL","window","location","history","replaceState","_jsx","value","isGroupingBy","Boolean","admin","groupBy"],"sources":["../../../src/providers/ListQuery/index.tsx"],"sourcesContent":["'use client'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { type ListQuery, type Where } from 'payload'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { IListQueryContext, ListQueryProps } from './types.js'\n\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { useConfig } from '../Config/index.js'\nimport { ListQueryContext, ListQueryModifiedContext } from './context.js'\nimport { mergeQuery } from './mergeQuery.js'\nimport { sanitizeQuery } from './sanitizeQuery.js'\n\nexport { useListQuery } from './context.js'\n\nexport const ListQueryProvider: React.FC<ListQueryProps> = ({\n children,\n collectionSlug,\n data,\n modifySearchParams,\n onQueryChange: onQueryChangeFromProps,\n orderableFieldName,\n query: queryFromProps,\n}) => {\n // TODO: Investigate if this is still needed\n 'use no memo'\n // TODO: Investigate if this is still needed\n\n const router = useRouter()\n const rawSearchParams = useSearchParams()\n const { startRouteTransition } = useRouteTransition()\n const [modified, setModified] = useState(false)\n const { getEntityConfig } = useConfig()\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const searchParams = useMemo<ListQuery>(\n () => sanitizeQuery(parseSearchParams(rawSearchParams)),\n [rawSearchParams],\n )\n\n const contextRef = useRef({} as IListQueryContext)\n\n contextRef.current.modified = modified\n\n const { onQueryChange } = useListDrawerContext()\n\n const [query, setQuery] = useState<ListQuery>(() => {\n if (modifySearchParams) {\n return searchParams\n } else {\n return {\n limit: queryFromProps.limit,\n sort: queryFromProps.sort,\n }\n }\n })\n\n const refineListData = useCallback(\n // eslint-disable-next-line @typescript-eslint/require-await\n async (incomingQuery: ListQuery, modified?: boolean) => {\n if (modified !== undefined) {\n setModified(modified)\n } else {\n setModified(true)\n }\n\n const newQuery = mergeQuery(query, incomingQuery, {\n defaults: {\n limit: queryFromProps.limit,\n sort: queryFromProps.sort,\n },\n })\n\n if (modifySearchParams) {\n startRouteTransition(() =>\n router.replace(\n `${qs.stringify(\n {\n ...newQuery,\n columns: JSON.stringify(newQuery.columns),\n queryByGroup: JSON.stringify(newQuery.queryByGroup),\n },\n { addQueryPrefix: true },\n )}`,\n ),\n )\n } else if (\n typeof onQueryChange === 'function' ||\n typeof onQueryChangeFromProps === 'function'\n ) {\n const onChangeFn = onQueryChange || onQueryChangeFromProps\n onChangeFn(newQuery)\n }\n\n setQuery(newQuery)\n },\n [\n query,\n queryFromProps.limit,\n queryFromProps.sort,\n modifySearchParams,\n onQueryChange,\n onQueryChangeFromProps,\n startRouteTransition,\n router,\n ],\n )\n\n const handlePageChange = useCallback(\n async (arg: number) => {\n await refineListData({ page: arg })\n },\n [refineListData],\n )\n\n const handlePerPageChange = React.useCallback(\n async (arg: number) => {\n await refineListData({ limit: arg, page: 1 })\n },\n [refineListData],\n )\n\n const handleSearchChange = useCallback(\n async (arg: string) => {\n const search = arg === '' ? undefined : arg\n await refineListData({ search })\n },\n [refineListData],\n )\n\n const handleSortChange = useCallback(\n async (sort: string) => {\n await refineListData({ sort })\n },\n [refineListData],\n )\n\n const handleWhereChange = useCallback(\n async (where: Where) => {\n await refineListData({ where })\n },\n [refineListData],\n )\n\n const mergeQueryFromPropsAndSyncToURL = useEffectEvent(() => {\n const newQuery = sanitizeQuery({ ...(query || {}), ...(queryFromProps || {}) })\n\n const search = `?${qs.stringify({\n ...newQuery,\n columns: JSON.stringify(newQuery.columns),\n queryByGroup: JSON.stringify(newQuery.queryByGroup),\n })}`\n\n if (window.location.search !== search) {\n setQuery(newQuery)\n\n // Important: do not use router.replace here to avoid re-rendering on initial load\n window.history.replaceState(null, '', search)\n }\n })\n\n // If `query` is updated externally, update the local state\n // E.g. when HMR runs, these properties may be different\n useEffect(() => {\n if (modifySearchParams) {\n mergeQueryFromPropsAndSyncToURL()\n }\n }, [modifySearchParams, queryFromProps])\n\n return (\n <ListQueryContext\n value={{\n collectionSlug,\n data,\n handlePageChange,\n handlePerPageChange,\n handleSearchChange,\n handleSortChange,\n handleWhereChange,\n isGroupingBy: Boolean(collectionConfig?.admin?.groupBy && query?.groupBy),\n orderableFieldName,\n query,\n refineListData,\n setModified,\n ...contextRef.current,\n }}\n >\n <ListQueryModifiedContext value={modified}>{children}</ListQueryModifiedContext>\n </ListQueryContext>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"mergeQuery.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/mergeQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC,eAAO,MAAM,UAAU,iBACP,SAAS,YACb,SAAS,YACT;IACR,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,KACA,SA2BF,CAAA"}
1
+ {"version":3,"file":"mergeQuery.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/mergeQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC,eAAO,MAAM,UAAU,iBACP,SAAS,YACb,SAAS,YACT;IACR,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,KACA,SAwDF,CAAA"}
@@ -1,8 +1,21 @@
1
1
  export const mergeQuery = (currentQuery, newQuery, options) => {
2
2
  let page = 'page' in newQuery ? newQuery.page : currentQuery?.page;
3
- if ('where' in newQuery || 'search' in newQuery) {
3
+ const shouldResetPage = ['where', 'search', 'groupBy']?.some(key => key in newQuery && !['limit', 'page'].includes(key));
4
+ if (shouldResetPage) {
4
5
  page = 1;
5
6
  }
7
+ const shouldResetQueryByGroup = ['where', 'search', 'page', 'limit', 'groupBy', 'sort'].some(key => key in newQuery);
8
+ let mergedQueryByGroup = undefined;
9
+ if (!shouldResetQueryByGroup) {
10
+ // Deeply merge queryByGroup so we can send a partial update for a specific group
11
+ mergedQueryByGroup = {
12
+ ...(currentQuery?.queryByGroup || {}),
13
+ ...(newQuery.queryByGroup ? Object.fromEntries(Object.entries(newQuery.queryByGroup).map(([key, value]) => [key, {
14
+ ...(currentQuery?.queryByGroup?.[key] || {}),
15
+ ...value
16
+ }])) : {})
17
+ };
18
+ }
6
19
  const mergedQuery = {
7
20
  ...currentQuery,
8
21
  ...newQuery,
@@ -11,6 +24,7 @@ export const mergeQuery = (currentQuery, newQuery, options) => {
11
24
  limit: 'limit' in newQuery ? newQuery.limit : currentQuery?.limit ?? options?.defaults?.limit,
12
25
  page,
13
26
  preset: 'preset' in newQuery ? newQuery.preset : currentQuery?.preset,
27
+ queryByGroup: mergedQueryByGroup,
14
28
  search: 'search' in newQuery ? newQuery.search : currentQuery?.search,
15
29
  sort: 'sort' in newQuery ? newQuery.sort : currentQuery?.sort ?? options?.defaults?.sort,
16
30
  where: 'where' in newQuery ? newQuery.where : currentQuery?.where
@@ -1 +1 @@
1
- {"version":3,"file":"mergeQuery.js","names":["mergeQuery","currentQuery","newQuery","options","page","mergedQuery","columns","groupBy","defaults","limit","preset","search","sort","where"],"sources":["../../../src/providers/ListQuery/mergeQuery.ts"],"sourcesContent":["import type { ListQuery } from 'payload'\n\nexport const mergeQuery = (\n currentQuery: ListQuery,\n newQuery: ListQuery,\n options?: {\n defaults?: ListQuery\n },\n): ListQuery => {\n let page = 'page' in newQuery ? newQuery.page : currentQuery?.page\n\n if ('where' in newQuery || 'search' in newQuery) {\n page = 1\n }\n\n const mergedQuery: ListQuery = {\n ...currentQuery,\n ...newQuery,\n columns: 'columns' in newQuery ? newQuery.columns : currentQuery.columns,\n groupBy:\n 'groupBy' in newQuery\n ? newQuery.groupBy\n : (currentQuery?.groupBy ?? options?.defaults?.groupBy),\n limit: 'limit' in newQuery ? newQuery.limit : (currentQuery?.limit ?? options?.defaults?.limit),\n page,\n preset: 'preset' in newQuery ? newQuery.preset : currentQuery?.preset,\n search: 'search' in newQuery ? newQuery.search : currentQuery?.search,\n sort:\n 'sort' in newQuery\n ? newQuery.sort\n : ((currentQuery?.sort as string) ?? options?.defaults?.sort),\n where: 'where' in newQuery ? newQuery.where : currentQuery?.where,\n }\n\n return mergedQuery\n}\n"],"mappings":"AAEA,OAAO,MAAMA,UAAA,GAAaA,CACxBC,YAAA,EACAC,QAAA,EACAC,OAAA;EAIA,IAAIC,IAAA,GAAO,UAAUF,QAAA,GAAWA,QAAA,CAASE,IAAI,GAAGH,YAAA,EAAcG,IAAA;EAE9D,IAAI,WAAWF,QAAA,IAAY,YAAYA,QAAA,EAAU;IAC/CE,IAAA,GAAO;EACT;EAEA,MAAMC,WAAA,GAAyB;IAC7B,GAAGJ,YAAY;IACf,GAAGC,QAAQ;IACXI,OAAA,EAAS,aAAaJ,QAAA,GAAWA,QAAA,CAASI,OAAO,GAAGL,YAAA,CAAaK,OAAO;IACxEC,OAAA,EACE,aAAaL,QAAA,GACTA,QAAA,CAASK,OAAO,GACfN,YAAA,EAAcM,OAAA,IAAWJ,OAAA,EAASK,QAAA,EAAUD,OAAA;IACnDE,KAAA,EAAO,WAAWP,QAAA,GAAWA,QAAA,CAASO,KAAK,GAAIR,YAAA,EAAcQ,KAAA,IAASN,OAAA,EAASK,QAAA,EAAUC,KAAA;IACzFL,IAAA;IACAM,MAAA,EAAQ,YAAYR,QAAA,GAAWA,QAAA,CAASQ,MAAM,GAAGT,YAAA,EAAcS,MAAA;IAC/DC,MAAA,EAAQ,YAAYT,QAAA,GAAWA,QAAA,CAASS,MAAM,GAAGV,YAAA,EAAcU,MAAA;IAC/DC,IAAA,EACE,UAAUV,QAAA,GACNA,QAAA,CAASU,IAAI,GACZX,YAAC,EAAcW,IAAA,IAAmBT,OAAA,EAASK,QAAA,EAAUI,IAAA;IAC5DC,KAAA,EAAO,WAAWX,QAAA,GAAWA,QAAA,CAASW,KAAK,GAAGZ,YAAA,EAAcY;EAC9D;EAEA,OAAOR,WAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"mergeQuery.js","names":["mergeQuery","currentQuery","newQuery","options","page","shouldResetPage","some","key","includes","shouldResetQueryByGroup","mergedQueryByGroup","undefined","queryByGroup","Object","fromEntries","entries","map","value","mergedQuery","columns","groupBy","defaults","limit","preset","search","sort","where"],"sources":["../../../src/providers/ListQuery/mergeQuery.ts"],"sourcesContent":["import type { ListQuery } from 'payload'\n\nexport const mergeQuery = (\n currentQuery: ListQuery,\n newQuery: ListQuery,\n options?: {\n defaults?: ListQuery\n },\n): ListQuery => {\n let page = 'page' in newQuery ? newQuery.page : currentQuery?.page\n\n const shouldResetPage = ['where', 'search', 'groupBy']?.some(\n (key) => key in newQuery && !['limit', 'page'].includes(key),\n )\n\n if (shouldResetPage) {\n page = 1\n }\n\n const shouldResetQueryByGroup = ['where', 'search', 'page', 'limit', 'groupBy', 'sort'].some(\n (key) => key in newQuery,\n )\n\n let mergedQueryByGroup = undefined\n\n if (!shouldResetQueryByGroup) {\n // Deeply merge queryByGroup so we can send a partial update for a specific group\n mergedQueryByGroup = {\n ...(currentQuery?.queryByGroup || {}),\n ...(newQuery.queryByGroup\n ? Object.fromEntries(\n Object.entries(newQuery.queryByGroup).map(([key, value]) => [\n key,\n {\n ...(currentQuery?.queryByGroup?.[key] || {}),\n ...value,\n },\n ]),\n )\n : {}),\n }\n }\n\n const mergedQuery: ListQuery = {\n ...currentQuery,\n ...newQuery,\n columns: 'columns' in newQuery ? newQuery.columns : currentQuery.columns,\n groupBy:\n 'groupBy' in newQuery\n ? newQuery.groupBy\n : (currentQuery?.groupBy ?? options?.defaults?.groupBy),\n limit: 'limit' in newQuery ? newQuery.limit : (currentQuery?.limit ?? options?.defaults?.limit),\n page,\n preset: 'preset' in newQuery ? newQuery.preset : currentQuery?.preset,\n queryByGroup: mergedQueryByGroup,\n search: 'search' in newQuery ? newQuery.search : currentQuery?.search,\n sort:\n 'sort' in newQuery\n ? newQuery.sort\n : ((currentQuery?.sort as string) ?? options?.defaults?.sort),\n where: 'where' in newQuery ? newQuery.where : currentQuery?.where,\n }\n\n return mergedQuery\n}\n"],"mappings":"AAEA,OAAO,MAAMA,UAAA,GAAaA,CACxBC,YAAA,EACAC,QAAA,EACAC,OAAA;EAIA,IAAIC,IAAA,GAAO,UAAUF,QAAA,GAAWA,QAAA,CAASE,IAAI,GAAGH,YAAA,EAAcG,IAAA;EAE9D,MAAMC,eAAA,GAAkB,CAAC,SAAS,UAAU,UAAU,EAAEC,IAAA,CACrDC,GAAA,IAAQA,GAAA,IAAOL,QAAA,IAAY,CAAC,CAAC,SAAS,OAAO,CAACM,QAAQ,CAACD,GAAA;EAG1D,IAAIF,eAAA,EAAiB;IACnBD,IAAA,GAAO;EACT;EAEA,MAAMK,uBAAA,GAA0B,CAAC,SAAS,UAAU,QAAQ,SAAS,WAAW,OAAO,CAACH,IAAI,CACzFC,GAAA,IAAQA,GAAA,IAAOL,QAAA;EAGlB,IAAIQ,kBAAA,GAAqBC,SAAA;EAEzB,IAAI,CAACF,uBAAA,EAAyB;IAC5B;IACAC,kBAAA,GAAqB;MACnB,IAAIT,YAAA,EAAcW,YAAA,IAAgB,CAAC,CAAC;MACpC,IAAIV,QAAA,CAASU,YAAY,GACrBC,MAAA,CAAOC,WAAW,CAChBD,MAAA,CAAOE,OAAO,CAACb,QAAA,CAASU,YAAY,EAAEI,GAAG,CAAC,CAAC,CAACT,GAAA,EAAKU,KAAA,CAAM,KAAK,CAC1DV,GAAA,EACA;QACE,IAAIN,YAAA,EAAcW,YAAA,GAAeL,GAAA,CAAI,IAAI,CAAC,CAAC;QAC3C,GAAGU;MACL,EACD,KAEH,CAAC,CAAC;IACR;EACF;EAEA,MAAMC,WAAA,GAAyB;IAC7B,GAAGjB,YAAY;IACf,GAAGC,QAAQ;IACXiB,OAAA,EAAS,aAAajB,QAAA,GAAWA,QAAA,CAASiB,OAAO,GAAGlB,YAAA,CAAakB,OAAO;IACxEC,OAAA,EACE,aAAalB,QAAA,GACTA,QAAA,CAASkB,OAAO,GACfnB,YAAA,EAAcmB,OAAA,IAAWjB,OAAA,EAASkB,QAAA,EAAUD,OAAA;IACnDE,KAAA,EAAO,WAAWpB,QAAA,GAAWA,QAAA,CAASoB,KAAK,GAAIrB,YAAA,EAAcqB,KAAA,IAASnB,OAAA,EAASkB,QAAA,EAAUC,KAAA;IACzFlB,IAAA;IACAmB,MAAA,EAAQ,YAAYrB,QAAA,GAAWA,QAAA,CAASqB,MAAM,GAAGtB,YAAA,EAAcsB,MAAA;IAC/DX,YAAA,EAAcF,kBAAA;IACdc,MAAA,EAAQ,YAAYtB,QAAA,GAAWA,QAAA,CAASsB,MAAM,GAAGvB,YAAA,EAAcuB,MAAA;IAC/DC,IAAA,EACE,UAAUvB,QAAA,GACNA,QAAA,CAASuB,IAAI,GACZxB,YAAC,EAAcwB,IAAA,IAAmBtB,OAAA,EAASkB,QAAA,EAAUI,IAAA;IAC5DC,KAAA,EAAO,WAAWxB,QAAA,GAAWA,QAAA,CAASwB,KAAK,GAAGzB,YAAA,EAAcyB;EAC9D;EAEA,OAAOR,WAAA;AACT","ignoreList":[]}
@@ -10,7 +10,7 @@ export type OnListQueryChange = (query: ListQuery) => void;
10
10
  export type ListQueryProps = {
11
11
  readonly children: React.ReactNode;
12
12
  readonly collectionSlug?: ClientCollectionConfig['slug'];
13
- readonly data: PaginatedDocs;
13
+ readonly data: PaginatedDocs | undefined;
14
14
  readonly modifySearchParams?: boolean;
15
15
  readonly onQueryChange?: OnListQueryChange;
16
16
  readonly orderableFieldName?: string;
@@ -18,13 +18,17 @@ export type ListQueryProps = {
18
18
  * @deprecated
19
19
  */
20
20
  readonly preferenceKey?: string;
21
- query?: ListQuery;
21
+ readonly query?: ListQuery;
22
22
  };
23
23
  export type IListQueryContext = {
24
24
  collectionSlug: ClientCollectionConfig['slug'];
25
- data: PaginatedDocs;
25
+ data: ListQueryProps['data'];
26
26
  defaultLimit?: number;
27
27
  defaultSort?: Sort;
28
+ /**
29
+ * @experimental This prop is subject to change. Use at your own risk.
30
+ */
31
+ isGroupingBy: boolean;
28
32
  modified: boolean;
29
33
  orderableFieldName?: string;
30
34
  query: ListQuery;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EAEtB,SAAS,EACT,aAAa,EACb,IAAI,EACJ,KAAK,EACN,MAAM,SAAS,CAAA;AAEhB,KAAK,eAAe,GAAG;IACrB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;AAE1D,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAA;IACxD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAA;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IACpC;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAA;IAC9C,IAAI,EAAE,aAAa,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,KAAK,EAAE,SAAS,CAAA;IAChB,cAAc,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACzE,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;CACzC,GAAG,eAAe,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,SAAS,EAET,aAAa,EACb,IAAI,EACJ,KAAK,EACN,MAAM,SAAS,CAAA;AAEhB,KAAK,eAAe,GAAG;IACrB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;AAE1D,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAA;IACxD,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAA;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IACpC;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAA;IAC9C,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAA;IACrB,QAAQ,EAAE,OAAO,CAAA;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,KAAK,EAAE,SAAS,CAAA;IAChB,cAAc,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACzE,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;CACzC,GAAG,eAAe,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/providers/ListQuery/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ColumnPreference,\n ListQuery,\n PaginatedDocs,\n Sort,\n Where,\n} from 'payload'\n\ntype ContextHandlers = {\n handlePageChange?: (page: number) => Promise<void>\n handlePerPageChange?: (limit: number) => Promise<void>\n handleSearchChange?: (search: string) => Promise<void>\n handleSortChange?: (sort: string) => Promise<void>\n handleWhereChange?: (where: Where) => Promise<void>\n}\n\nexport type OnListQueryChange = (query: ListQuery) => void\n\nexport type ListQueryProps = {\n readonly children: React.ReactNode\n readonly collectionSlug?: ClientCollectionConfig['slug']\n readonly data: PaginatedDocs\n readonly modifySearchParams?: boolean\n readonly onQueryChange?: OnListQueryChange\n readonly orderableFieldName?: string\n /**\n * @deprecated\n */\n readonly preferenceKey?: string\n query?: ListQuery\n}\n\nexport type IListQueryContext = {\n collectionSlug: ClientCollectionConfig['slug']\n data: PaginatedDocs\n defaultLimit?: number\n defaultSort?: Sort\n modified: boolean\n orderableFieldName?: string\n query: ListQuery\n refineListData: (args: ListQuery, setModified?: boolean) => Promise<void>\n setModified: (modified: boolean) => void\n} & ContextHandlers\n"],"mappings":"AAiCA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/providers/ListQuery/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ListQuery,\n PaginatedDistinctDocs,\n PaginatedDocs,\n Sort,\n Where,\n} from 'payload'\n\ntype ContextHandlers = {\n handlePageChange?: (page: number) => Promise<void>\n handlePerPageChange?: (limit: number) => Promise<void>\n handleSearchChange?: (search: string) => Promise<void>\n handleSortChange?: (sort: string) => Promise<void>\n handleWhereChange?: (where: Where) => Promise<void>\n}\n\nexport type OnListQueryChange = (query: ListQuery) => void\n\nexport type ListQueryProps = {\n readonly children: React.ReactNode\n readonly collectionSlug?: ClientCollectionConfig['slug']\n readonly data: PaginatedDocs | undefined\n readonly modifySearchParams?: boolean\n readonly onQueryChange?: OnListQueryChange\n readonly orderableFieldName?: string\n /**\n * @deprecated\n */\n readonly preferenceKey?: string\n readonly query?: ListQuery\n}\n\nexport type IListQueryContext = {\n collectionSlug: ClientCollectionConfig['slug']\n data: ListQueryProps['data']\n defaultLimit?: number\n defaultSort?: Sort\n /**\n * @experimental This prop is subject to change. Use at your own risk.\n */\n isGroupingBy: boolean\n modified: boolean\n orderableFieldName?: string\n query: ListQuery\n refineListData: (args: ListQuery, setModified?: boolean) => Promise<void>\n setModified: (modified: boolean) => void\n} & ContextHandlers\n"],"mappings":"AAiCA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { ClientUser, Where } from 'payload';
1
+ import type { Where } from 'payload';
2
2
  import React from 'react';
3
3
  export declare enum SelectAllStatus {
4
4
  AllAvailable = "allAvailable",
@@ -14,7 +14,12 @@ type SelectionContext = {
14
14
  getSelectedIds: () => (number | string)[];
15
15
  selectAll: SelectAllStatus;
16
16
  selected: Map<number | string, boolean>;
17
+ selectedIDs: (number | string)[];
17
18
  setSelection: (id: number | string) => void;
19
+ /**
20
+ * Selects all rows on the current page within the current query.
21
+ * If `allAvailable` is true, does not select specific IDs so that the query itself affects all rows across all pages.
22
+ */
18
23
  toggleAll: (allAvailable?: boolean) => void;
19
24
  totalDocs: number;
20
25
  };
@@ -22,7 +27,6 @@ type Props = {
22
27
  readonly children: React.ReactNode;
23
28
  readonly docs: any[];
24
29
  readonly totalDocs: number;
25
- user: ClientUser;
26
30
  };
27
31
  export declare const SelectionProvider: React.FC<Props>;
28
32
  export declare const useSelection: () => SelectionContext;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Selection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIhD,OAAO,KAAuE,MAAM,OAAO,CAAA;AAM3F,oBAAY,eAAe;IACzB,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,EAAE,CAAC,gBAAgB,CAAC,EAAE,KAAK,KAAK,MAAM,CAAA;IACpD,cAAc,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzC,SAAS,EAAE,eAAe,CAAA;IAC1B,QAAQ,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;IAC3C,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAC3C,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAID,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAElC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAA;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,IAAI,EAAE,UAAU,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAqL7C,CAAA;AAED,eAAO,MAAM,YAAY,QAAO,gBAAgC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Selection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIpC,OAAO,KAAgF,MAAM,OAAO,CAAA;AAOpG,oBAAY,eAAe;IACzB,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,EAAE,CAAC,gBAAgB,CAAC,EAAE,KAAK,KAAK,MAAM,CAAA;IACpD,cAAc,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzC,SAAS,EAAE,eAAe,CAAA;IAC1B,QAAQ,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IAChC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;IAC3C;;;OAGG;IACH,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAC3C,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAcD,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAElC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAA;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAcD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuL7C,CAAA;AAED,eAAO,MAAM,YAAY,QAAO,gBAAgC,CAAA"}