@payloadcms/ui 3.80.0-internal.cdd7ef7 → 3.80.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 (502) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  2. package/dist/elements/BulkUpload/EditForm/index.js +12 -0
  3. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  5. package/dist/elements/BulkUpload/FormsManager/index.js +29 -7
  6. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  7. package/dist/elements/Button/index.d.ts.map +1 -1
  8. package/dist/elements/Button/index.js +3 -5
  9. package/dist/elements/Button/index.js.map +1 -1
  10. package/dist/elements/Button/index.scss +5 -38
  11. package/dist/elements/Button/types.d.ts +1 -1
  12. package/dist/elements/Button/types.d.ts.map +1 -1
  13. package/dist/elements/Button/types.js.map +1 -1
  14. package/dist/elements/CheckboxPopup/index.d.ts.map +1 -1
  15. package/dist/elements/CheckboxPopup/index.js +1 -0
  16. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  17. package/dist/elements/CheckboxPopup/index.scss +0 -1
  18. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  19. package/dist/elements/DefaultListViewTabs/index.js +54 -28
  20. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  21. package/dist/elements/DocumentControls/index.d.ts +0 -1
  22. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  23. package/dist/elements/DocumentControls/index.js +10 -6
  24. package/dist/elements/DocumentControls/index.js.map +1 -1
  25. package/dist/elements/DocumentControls/index.scss +1 -1
  26. package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
  27. package/dist/elements/DocumentDrawer/index.js +141 -54
  28. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  29. package/dist/elements/DocumentDrawer/types.d.ts +1 -7
  30. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  31. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  32. package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
  33. package/dist/elements/DrawerActionHeader/index.js +0 -2
  34. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  35. package/dist/elements/DrawerActionHeader/index.scss +2 -2
  36. package/dist/elements/FolderView/Breadcrumbs/index.d.ts +19 -0
  37. package/dist/elements/FolderView/Breadcrumbs/index.d.ts.map +1 -0
  38. package/dist/elements/FolderView/Breadcrumbs/index.js +96 -0
  39. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -0
  40. package/dist/elements/FolderView/Breadcrumbs/index.scss +56 -0
  41. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts +6 -0
  42. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts.map +1 -0
  43. package/dist/elements/FolderView/BrowseByFolderButton/index.js +40 -0
  44. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -0
  45. package/dist/elements/FolderView/BrowseByFolderButton/index.scss +30 -0
  46. package/dist/elements/FolderView/Cell/index.client.d.ts +13 -0
  47. package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -0
  48. package/dist/elements/FolderView/Cell/index.client.js +95 -0
  49. package/dist/elements/FolderView/Cell/index.client.js.map +1 -0
  50. package/dist/elements/FolderView/Cell/index.server.d.ts +4 -0
  51. package/dist/elements/FolderView/Cell/index.server.d.ts.map +1 -0
  52. package/dist/elements/FolderView/Cell/index.server.js +18 -0
  53. package/dist/elements/FolderView/Cell/index.server.js.map +1 -0
  54. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts +3 -0
  55. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts.map +1 -0
  56. package/dist/elements/FolderView/ColoredFolderIcon/index.js +9 -0
  57. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -0
  58. package/dist/elements/FolderView/ColoredFolderIcon/index.scss +5 -0
  59. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts +7 -0
  60. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +1 -0
  61. package/dist/elements/FolderView/CurrentFolderActions/index.js +162 -0
  62. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -0
  63. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts +11 -0
  64. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts.map +1 -0
  65. package/dist/elements/FolderView/DragOverlaySelection/index.js +62 -0
  66. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -0
  67. package/dist/elements/FolderView/DragOverlaySelection/index.scss +35 -0
  68. package/dist/elements/FolderView/DraggableTableRow/index.d.ts +18 -0
  69. package/dist/elements/FolderView/DraggableTableRow/index.d.ts.map +1 -0
  70. package/dist/elements/FolderView/DraggableTableRow/index.js +63 -0
  71. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -0
  72. package/dist/elements/FolderView/DraggableTableRow/index.scss +135 -0
  73. package/dist/elements/FolderView/DraggableWithClick/index.d.ts +15 -0
  74. package/dist/elements/FolderView/DraggableWithClick/index.d.ts.map +1 -0
  75. package/dist/elements/FolderView/DraggableWithClick/index.js +86 -0
  76. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -0
  77. package/dist/elements/FolderView/DraggableWithClick/index.scss +5 -0
  78. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts +7 -0
  79. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts.map +1 -0
  80. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +39 -0
  81. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -0
  82. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +37 -0
  83. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +1 -0
  84. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +609 -0
  85. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -0
  86. package/dist/elements/FolderView/Drawers/MoveToFolder/index.scss +30 -0
  87. package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts +4 -0
  88. package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts.map +1 -0
  89. package/dist/elements/FolderView/FilterFolderTypePill/index.js +102 -0
  90. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -0
  91. package/dist/elements/FolderView/FilterFolderTypePill/index.scss +16 -0
  92. package/dist/elements/FolderView/FolderField/index.scss +12 -0
  93. package/dist/elements/FolderView/FolderField/index.server.d.ts +4 -0
  94. package/dist/elements/FolderView/FolderField/index.server.d.ts.map +1 -0
  95. package/dist/elements/FolderView/FolderField/index.server.js +16 -0
  96. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -0
  97. package/dist/elements/FolderView/FolderFileCard/index.d.ts +30 -0
  98. package/dist/elements/FolderView/FolderFileCard/index.d.ts.map +1 -0
  99. package/dist/elements/FolderView/FolderFileCard/index.js +209 -0
  100. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -0
  101. package/dist/elements/FolderView/FolderFileCard/index.scss +247 -0
  102. package/dist/elements/FolderView/FolderFileTable/index.d.ts +8 -0
  103. package/dist/elements/FolderView/FolderFileTable/index.d.ts.map +1 -0
  104. package/dist/elements/FolderView/FolderFileTable/index.js +284 -0
  105. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -0
  106. package/dist/elements/FolderView/FolderFileTable/index.scss +11 -0
  107. package/dist/elements/FolderView/FolderTypeField/index.d.ts +4 -0
  108. package/dist/elements/FolderView/FolderTypeField/index.d.ts.map +1 -0
  109. package/dist/elements/FolderView/FolderTypeField/index.js +123 -0
  110. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -0
  111. package/dist/elements/FolderView/ItemCardGrid/index.d.ts +16 -0
  112. package/dist/elements/FolderView/ItemCardGrid/index.d.ts.map +1 -0
  113. package/dist/elements/FolderView/ItemCardGrid/index.js +34 -0
  114. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -0
  115. package/dist/elements/FolderView/ItemCardGrid/index.scss +16 -0
  116. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts +37 -0
  117. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts.map +1 -0
  118. package/dist/elements/FolderView/MoveDocToFolder/index.js +292 -0
  119. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -0
  120. package/dist/elements/{Hierarchy/DocHeaderButton → FolderView/MoveDocToFolder}/index.scss +1 -7
  121. package/dist/elements/FolderView/SimpleTable/index.d.ts +19 -0
  122. package/dist/elements/FolderView/SimpleTable/index.d.ts.map +1 -0
  123. package/dist/elements/FolderView/SimpleTable/index.js +95 -0
  124. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -0
  125. package/dist/elements/FolderView/SimpleTable/index.scss +59 -0
  126. package/dist/elements/FolderView/SortByPill/index.d.ts +4 -0
  127. package/dist/elements/FolderView/SortByPill/index.d.ts.map +1 -0
  128. package/dist/elements/FolderView/SortByPill/index.js +112 -0
  129. package/dist/elements/FolderView/SortByPill/index.js.map +1 -0
  130. package/dist/elements/FolderView/SortByPill/index.scss +16 -0
  131. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts +8 -0
  132. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts.map +1 -0
  133. package/dist/elements/FolderView/ToggleViewButtons/index.js +31 -0
  134. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -0
  135. package/dist/elements/FolderView/ToggleViewButtons/index.scss +17 -0
  136. package/dist/elements/Link/index.d.ts +0 -4
  137. package/dist/elements/Link/index.d.ts.map +1 -1
  138. package/dist/elements/Link/index.js +0 -5
  139. package/dist/elements/Link/index.js.map +1 -1
  140. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts +15 -0
  141. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +1 -0
  142. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +182 -0
  143. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -0
  144. package/dist/elements/ListHeader/TitleActions/index.d.ts +1 -0
  145. package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -1
  146. package/dist/elements/ListHeader/TitleActions/index.js +1 -0
  147. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  148. package/dist/elements/ListHeader/index.js +2 -2
  149. package/dist/elements/ListHeader/index.js.map +1 -1
  150. package/dist/elements/ListSelection/index.scss +1 -2
  151. package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
  152. package/dist/elements/LivePreview/Window/index.js +9 -7
  153. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  154. package/dist/elements/Locked/index.scss +1 -1
  155. package/dist/elements/RelationshipTable/index.js +3 -3
  156. package/dist/elements/RelationshipTable/index.js.map +1 -1
  157. package/dist/elements/StepNav/index.d.ts.map +1 -1
  158. package/dist/elements/StepNav/index.js +1 -10
  159. package/dist/elements/StepNav/index.js.map +1 -1
  160. package/dist/elements/StepNav/types.d.ts +0 -1
  161. package/dist/elements/StepNav/types.d.ts.map +1 -1
  162. package/dist/elements/StepNav/types.js.map +1 -1
  163. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  164. package/dist/elements/Table/DefaultCell/index.js +0 -20
  165. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  166. package/dist/elements/Tooltip/index.js +1 -1
  167. package/dist/elements/Tooltip/index.js.map +1 -1
  168. package/dist/elements/Tooltip/index.scss +15 -1
  169. package/dist/exports/client/index.d.ts +10 -27
  170. package/dist/exports/client/index.d.ts.map +1 -1
  171. package/dist/exports/client/index.js +24 -26
  172. package/dist/exports/client/index.js.map +4 -4
  173. package/dist/exports/rsc/index.d.ts +3 -3
  174. package/dist/exports/rsc/index.d.ts.map +1 -1
  175. package/dist/exports/rsc/index.js +3 -3
  176. package/dist/exports/rsc/index.js.map +1 -1
  177. package/dist/fields/Join/index.d.ts.map +1 -1
  178. package/dist/fields/Join/index.js +1 -1
  179. package/dist/fields/Join/index.js.map +1 -1
  180. package/dist/fields/shared/index.d.ts +2 -2
  181. package/dist/fields/shared/index.d.ts.map +1 -1
  182. package/dist/fields/shared/index.js.map +1 -1
  183. package/dist/icons/Chevron/index.d.ts.map +1 -1
  184. package/dist/icons/Chevron/index.js +1 -5
  185. package/dist/icons/Chevron/index.js.map +1 -1
  186. package/dist/icons/Document/index.d.ts +1 -3
  187. package/dist/icons/Document/index.d.ts.map +1 -1
  188. package/dist/icons/Document/index.js +2 -4
  189. package/dist/icons/Document/index.js.map +1 -1
  190. package/dist/icons/Document/index.scss +0 -4
  191. package/dist/icons/Folder/index.d.ts +2 -4
  192. package/dist/icons/Folder/index.d.ts.map +1 -1
  193. package/dist/icons/Folder/index.js +2 -4
  194. package/dist/icons/Folder/index.js.map +1 -1
  195. package/dist/icons/Folder/index.scss +0 -8
  196. package/dist/icons/Lock/index.scss +1 -1
  197. package/dist/icons/Plus/index.d.ts.map +1 -1
  198. package/dist/icons/Plus/index.js +1 -2
  199. package/dist/icons/Plus/index.js.map +1 -1
  200. package/dist/providers/Folders/groupItemIDsByRelation.d.ts +3 -0
  201. package/dist/providers/Folders/groupItemIDsByRelation.d.ts.map +1 -0
  202. package/dist/providers/Folders/groupItemIDsByRelation.js +10 -0
  203. package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -0
  204. package/dist/providers/Folders/index.d.ts +143 -0
  205. package/dist/providers/Folders/index.d.ts.map +1 -0
  206. package/dist/providers/Folders/index.js +641 -0
  207. package/dist/providers/Folders/index.js.map +1 -0
  208. package/dist/providers/LivePreview/context.d.ts +6 -0
  209. package/dist/providers/LivePreview/context.d.ts.map +1 -1
  210. package/dist/providers/LivePreview/context.js +1 -0
  211. package/dist/providers/LivePreview/context.js.map +1 -1
  212. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  213. package/dist/providers/LivePreview/index.js +13 -1
  214. package/dist/providers/LivePreview/index.js.map +1 -1
  215. package/dist/providers/Root/index.d.ts.map +1 -1
  216. package/dist/providers/Root/index.js +15 -18
  217. package/dist/providers/Root/index.js.map +1 -1
  218. package/dist/providers/ServerFunctions/index.d.ts +6 -1
  219. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  220. package/dist/providers/ServerFunctions/index.js +18 -0
  221. package/dist/providers/ServerFunctions/index.js.map +1 -1
  222. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +1 -2
  223. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  224. package/dist/providers/TableColumns/buildColumnState/renderCell.js +1 -34
  225. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  226. package/dist/styles.css +1 -1
  227. package/dist/utilities/getFolderResultsComponentAndData.d.ts +25 -0
  228. package/dist/utilities/getFolderResultsComponentAndData.d.ts.map +1 -0
  229. package/dist/utilities/getFolderResultsComponentAndData.js +135 -0
  230. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -0
  231. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  232. package/dist/utilities/renderTable.d.ts +1 -3
  233. package/dist/utilities/renderTable.d.ts.map +1 -1
  234. package/dist/utilities/renderTable.js +3 -9
  235. package/dist/utilities/renderTable.js.map +1 -1
  236. package/dist/views/BrowseByFolder/index.d.ts +5 -0
  237. package/dist/views/BrowseByFolder/index.d.ts.map +1 -0
  238. package/dist/views/BrowseByFolder/index.js +342 -0
  239. package/dist/views/BrowseByFolder/index.js.map +1 -0
  240. package/dist/views/BrowseByFolder/index.scss +174 -0
  241. package/dist/views/CollectionFolder/ListSelection/index.d.ts +9 -0
  242. package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -0
  243. package/dist/views/CollectionFolder/ListSelection/index.js +180 -0
  244. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -0
  245. package/dist/views/CollectionFolder/index.d.ts +5 -0
  246. package/dist/views/CollectionFolder/index.d.ts.map +1 -0
  247. package/dist/views/CollectionFolder/index.js +325 -0
  248. package/dist/views/CollectionFolder/index.js.map +1 -0
  249. package/dist/views/CollectionFolder/index.scss +162 -0
  250. package/dist/views/Edit/index.d.ts +1 -1
  251. package/dist/views/Edit/index.d.ts.map +1 -1
  252. package/dist/views/Edit/index.js +10 -8
  253. package/dist/views/Edit/index.js.map +1 -1
  254. package/dist/views/List/index.d.ts.map +1 -1
  255. package/dist/views/List/index.js +7 -51
  256. package/dist/views/List/index.js.map +1 -1
  257. package/package.json +4 -4
  258. package/dist/elements/CreateDocumentButton/index.d.ts +0 -26
  259. package/dist/elements/CreateDocumentButton/index.d.ts.map +0 -1
  260. package/dist/elements/CreateDocumentButton/index.js +0 -182
  261. package/dist/elements/CreateDocumentButton/index.js.map +0 -1
  262. package/dist/elements/DelayedSpinner/index.d.ts +0 -23
  263. package/dist/elements/DelayedSpinner/index.d.ts.map +0 -1
  264. package/dist/elements/DelayedSpinner/index.js +0 -61
  265. package/dist/elements/DelayedSpinner/index.js.map +0 -1
  266. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts +0 -5
  267. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +0 -1
  268. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +0 -166
  269. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +0 -1
  270. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.scss +0 -63
  271. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts +0 -5
  272. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +0 -1
  273. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +0 -161
  274. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +0 -1
  275. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.scss +0 -105
  276. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +0 -8
  277. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +0 -1
  278. package/dist/elements/Hierarchy/ColumnBrowser/index.js +0 -473
  279. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +0 -1
  280. package/dist/elements/Hierarchy/ColumnBrowser/index.scss +0 -20
  281. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +0 -106
  282. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +0 -1
  283. package/dist/elements/Hierarchy/ColumnBrowser/types.js +0 -2
  284. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +0 -1
  285. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts +0 -11
  286. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +0 -1
  287. package/dist/elements/Hierarchy/DocHeaderButton/index.js +0 -126
  288. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +0 -1
  289. package/dist/elements/Hierarchy/DocHeaderButton/index.server.d.ts +0 -10
  290. package/dist/elements/Hierarchy/DocHeaderButton/index.server.d.ts.map +0 -1
  291. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +0 -34
  292. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +0 -1
  293. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts +0 -15
  294. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +0 -1
  295. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js +0 -60
  296. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +0 -1
  297. package/dist/elements/Hierarchy/Drawer/index.d.ts +0 -20
  298. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +0 -1
  299. package/dist/elements/Hierarchy/Drawer/index.js +0 -291
  300. package/dist/elements/Hierarchy/Drawer/index.js.map +0 -1
  301. package/dist/elements/Hierarchy/Drawer/index.scss +0 -81
  302. package/dist/elements/Hierarchy/Drawer/types.d.ts +0 -68
  303. package/dist/elements/Hierarchy/Drawer/types.d.ts.map +0 -1
  304. package/dist/elements/Hierarchy/Drawer/types.js +0 -3
  305. package/dist/elements/Hierarchy/Drawer/types.js.map +0 -1
  306. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +0 -30
  307. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +0 -1
  308. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js +0 -148
  309. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +0 -1
  310. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +0 -13
  311. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +0 -1
  312. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +0 -185
  313. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +0 -1
  314. package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +0 -78
  315. package/dist/elements/Hierarchy/Field/index.client.d.ts +0 -8
  316. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +0 -1
  317. package/dist/elements/Hierarchy/Field/index.client.js +0 -186
  318. package/dist/elements/Hierarchy/Field/index.client.js.map +0 -1
  319. package/dist/elements/Hierarchy/Field/index.scss +0 -35
  320. package/dist/elements/Hierarchy/Field/index.server.d.ts +0 -3
  321. package/dist/elements/Hierarchy/Field/index.server.d.ts.map +0 -1
  322. package/dist/elements/Hierarchy/Field/index.server.js +0 -30
  323. package/dist/elements/Hierarchy/Field/index.server.js.map +0 -1
  324. package/dist/elements/Hierarchy/HydrateProvider/index.d.ts +0 -4
  325. package/dist/elements/Hierarchy/HydrateProvider/index.d.ts.map +0 -1
  326. package/dist/elements/Hierarchy/HydrateProvider/index.js +0 -70
  327. package/dist/elements/Hierarchy/HydrateProvider/index.js.map +0 -1
  328. package/dist/elements/Hierarchy/MoveMany/index.d.ts +0 -22
  329. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +0 -1
  330. package/dist/elements/Hierarchy/MoveMany/index.js +0 -278
  331. package/dist/elements/Hierarchy/MoveMany/index.js.map +0 -1
  332. package/dist/elements/Hierarchy/MoveMany/index.scss +0 -7
  333. package/dist/elements/Hierarchy/Search/HierarchySearchInput.d.ts +0 -18
  334. package/dist/elements/Hierarchy/Search/HierarchySearchInput.d.ts.map +0 -1
  335. package/dist/elements/Hierarchy/Search/HierarchySearchInput.js +0 -115
  336. package/dist/elements/Hierarchy/Search/HierarchySearchInput.js.map +0 -1
  337. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.d.ts +0 -13
  338. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.d.ts.map +0 -1
  339. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js +0 -88
  340. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js.map +0 -1
  341. package/dist/elements/Hierarchy/Search/HierarchySearchResults.d.ts +0 -17
  342. package/dist/elements/Hierarchy/Search/HierarchySearchResults.d.ts.map +0 -1
  343. package/dist/elements/Hierarchy/Search/HierarchySearchResults.js +0 -85
  344. package/dist/elements/Hierarchy/Search/HierarchySearchResults.js.map +0 -1
  345. package/dist/elements/Hierarchy/Search/index.d.ts +0 -10
  346. package/dist/elements/Hierarchy/Search/index.d.ts.map +0 -1
  347. package/dist/elements/Hierarchy/Search/index.js +0 -144
  348. package/dist/elements/Hierarchy/Search/index.js.map +0 -1
  349. package/dist/elements/Hierarchy/Search/index.scss +0 -212
  350. package/dist/elements/Hierarchy/Search/types.d.ts +0 -21
  351. package/dist/elements/Hierarchy/Search/types.d.ts.map +0 -1
  352. package/dist/elements/Hierarchy/Search/types.js +0 -2
  353. package/dist/elements/Hierarchy/Search/types.js.map +0 -1
  354. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts +0 -20
  355. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +0 -1
  356. package/dist/elements/Hierarchy/Search/useHierarchySearch.js +0 -122
  357. package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +0 -1
  358. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +0 -21
  359. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +0 -1
  360. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +0 -162
  361. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +0 -1
  362. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts +0 -7
  363. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +0 -1
  364. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +0 -177
  365. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +0 -1
  366. package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.d.ts +0 -8
  367. package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.d.ts.map +0 -1
  368. package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.js +0 -36
  369. package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.js.map +0 -1
  370. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +0 -12
  371. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +0 -1
  372. package/dist/elements/Hierarchy/Tree/LoadMore/index.js +0 -29
  373. package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +0 -1
  374. package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +0 -26
  375. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +0 -7
  376. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +0 -1
  377. package/dist/elements/Hierarchy/Tree/TreeConnector.js +0 -23
  378. package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +0 -1
  379. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +0 -28
  380. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +0 -1
  381. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +0 -140
  382. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +0 -1
  383. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +0 -5
  384. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +0 -1
  385. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +0 -225
  386. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +0 -1
  387. package/dist/elements/Hierarchy/Tree/TreeNode/index.scss +0 -110
  388. package/dist/elements/Hierarchy/Tree/index.d.ts +0 -5
  389. package/dist/elements/Hierarchy/Tree/index.d.ts.map +0 -1
  390. package/dist/elements/Hierarchy/Tree/index.js +0 -270
  391. package/dist/elements/Hierarchy/Tree/index.js.map +0 -1
  392. package/dist/elements/Hierarchy/Tree/index.scss +0 -60
  393. package/dist/elements/Hierarchy/Tree/types.d.ts +0 -76
  394. package/dist/elements/Hierarchy/Tree/types.d.ts.map +0 -1
  395. package/dist/elements/Hierarchy/Tree/types.js +0 -2
  396. package/dist/elements/Hierarchy/Tree/types.js.map +0 -1
  397. package/dist/elements/Hierarchy/Tree/useChildren.d.ts +0 -32
  398. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +0 -1
  399. package/dist/elements/Hierarchy/Tree/useChildren.js +0 -229
  400. package/dist/elements/Hierarchy/Tree/useChildren.js.map +0 -1
  401. package/dist/elements/LoadMoreRow/index.d.ts +0 -15
  402. package/dist/elements/LoadMoreRow/index.d.ts.map +0 -1
  403. package/dist/elements/LoadMoreRow/index.js +0 -75
  404. package/dist/elements/LoadMoreRow/index.js.map +0 -1
  405. package/dist/elements/LoadMoreRow/index.scss +0 -42
  406. package/dist/elements/Spinner/index.d.ts +0 -16
  407. package/dist/elements/Spinner/index.d.ts.map +0 -1
  408. package/dist/elements/Spinner/index.js +0 -49
  409. package/dist/elements/Spinner/index.js.map +0 -1
  410. package/dist/elements/Spinner/index.scss +0 -39
  411. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts +0 -6
  412. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +0 -1
  413. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +0 -187
  414. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +0 -1
  415. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.scss +0 -29
  416. package/dist/fields/Null/index.d.ts +0 -11
  417. package/dist/fields/Null/index.d.ts.map +0 -1
  418. package/dist/fields/Null/index.js +0 -13
  419. package/dist/fields/Null/index.js.map +0 -1
  420. package/dist/icons/Filter/index.d.ts +0 -4
  421. package/dist/icons/Filter/index.d.ts.map +0 -1
  422. package/dist/icons/Filter/index.js +0 -15
  423. package/dist/icons/Filter/index.js.map +0 -1
  424. package/dist/icons/Filter/index.scss +0 -13
  425. package/dist/icons/TableView/index.d.ts +0 -3
  426. package/dist/icons/TableView/index.d.ts.map +0 -1
  427. package/dist/icons/TableView/index.js +0 -16
  428. package/dist/icons/TableView/index.js.map +0 -1
  429. package/dist/icons/Tag/index.d.ts +0 -8
  430. package/dist/icons/Tag/index.d.ts.map +0 -1
  431. package/dist/icons/Tag/index.js +0 -22
  432. package/dist/icons/Tag/index.js.map +0 -1
  433. package/dist/icons/Tag/index.scss +0 -14
  434. package/dist/providers/DocumentSelection/index.d.ts +0 -8
  435. package/dist/providers/DocumentSelection/index.d.ts.map +0 -1
  436. package/dist/providers/DocumentSelection/index.js +0 -239
  437. package/dist/providers/DocumentSelection/index.js.map +0 -1
  438. package/dist/providers/DocumentSelection/types.d.ts +0 -122
  439. package/dist/providers/DocumentSelection/types.d.ts.map +0 -1
  440. package/dist/providers/DocumentSelection/types.js +0 -5
  441. package/dist/providers/DocumentSelection/types.js.map +0 -1
  442. package/dist/providers/Hierarchy/index.d.ts +0 -5
  443. package/dist/providers/Hierarchy/index.d.ts.map +0 -1
  444. package/dist/providers/Hierarchy/index.js +0 -350
  445. package/dist/providers/Hierarchy/index.js.map +0 -1
  446. package/dist/providers/Hierarchy/types.d.ts +0 -106
  447. package/dist/providers/Hierarchy/types.d.ts.map +0 -1
  448. package/dist/providers/Hierarchy/types.js +0 -2
  449. package/dist/providers/Hierarchy/types.js.map +0 -1
  450. package/dist/providers/SidebarTabs/index.d.ts +0 -19
  451. package/dist/providers/SidebarTabs/index.d.ts.map +0 -1
  452. package/dist/providers/SidebarTabs/index.js +0 -24
  453. package/dist/providers/SidebarTabs/index.js.map +0 -1
  454. package/dist/utilities/isSuperset.d.ts +0 -6
  455. package/dist/utilities/isSuperset.d.ts.map +0 -1
  456. package/dist/utilities/isSuperset.js +0 -10
  457. package/dist/utilities/isSuperset.js.map +0 -1
  458. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts +0 -10
  459. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +0 -1
  460. package/dist/views/HierarchyList/DocumentListSelection/index.js +0 -194
  461. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +0 -1
  462. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +0 -21
  463. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +0 -1
  464. package/dist/views/HierarchyList/HierarchyListHeader/index.js +0 -67
  465. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +0 -1
  466. package/dist/views/HierarchyList/HierarchyListHeader/index.scss +0 -9
  467. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts +0 -4
  468. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +0 -1
  469. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +0 -104
  470. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +0 -1
  471. package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts +0 -4
  472. package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts.map +0 -1
  473. package/dist/views/HierarchyList/HierarchyTable/DateCell.js +0 -53
  474. package/dist/views/HierarchyList/HierarchyTable/DateCell.js.map +0 -1
  475. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts +0 -4
  476. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts.map +0 -1
  477. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +0 -128
  478. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +0 -1
  479. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +0 -99
  480. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +0 -1
  481. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +0 -118
  482. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +0 -1
  483. package/dist/views/HierarchyList/HierarchyTable/SlotTable.scss +0 -214
  484. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +0 -27
  485. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +0 -1
  486. package/dist/views/HierarchyList/HierarchyTable/index.js +0 -388
  487. package/dist/views/HierarchyList/HierarchyTable/index.js.map +0 -1
  488. package/dist/views/HierarchyList/HierarchyTable/index.scss +0 -148
  489. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +0 -20
  490. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +0 -1
  491. package/dist/views/HierarchyList/HierarchyTable/types.js +0 -2
  492. package/dist/views/HierarchyList/HierarchyTable/types.js.map +0 -1
  493. package/dist/views/HierarchyList/TypeFilter/index.d.ts +0 -15
  494. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +0 -1
  495. package/dist/views/HierarchyList/TypeFilter/index.js +0 -37
  496. package/dist/views/HierarchyList/TypeFilter/index.js.map +0 -1
  497. package/dist/views/HierarchyList/TypeFilter/index.scss +0 -32
  498. package/dist/views/HierarchyList/index.d.ts +0 -5
  499. package/dist/views/HierarchyList/index.d.ts.map +0 -1
  500. package/dist/views/HierarchyList/index.js +0 -305
  501. package/dist/views/HierarchyList/index.js.map +0 -1
  502. package/dist/views/HierarchyList/index.scss +0 -72
@@ -1,239 +0,0 @@
1
- 'use client';
2
-
3
- import { jsx as _jsx } from "react/jsx-runtime";
4
- import { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react';
5
- import { SelectAllStatus } from '../Selection/index.js';
6
- export { SelectAllStatus };
7
- const Context = /*#__PURE__*/createContext(undefined);
8
- /**
9
- * Creates an initial empty selection state for a collection.
10
- */
11
- const createEmptyCollectionState = () => ({
12
- selectAllStatus: SelectAllStatus.None,
13
- selected: new Map()
14
- });
15
- /**
16
- * Computes the SelectAllStatus based on selection state and doc count.
17
- * Presence in the map = selected (metadata object is stored).
18
- */
19
- const computeSelectAllStatus = ({
20
- docCount,
21
- selected
22
- }) => {
23
- if (!selected.size || docCount === 0) {
24
- return SelectAllStatus.None;
25
- }
26
- if (selected.size === docCount) {
27
- return SelectAllStatus.AllInPage;
28
- }
29
- return SelectAllStatus.Some;
30
- };
31
- export const DocumentSelectionProvider = ({
32
- children,
33
- collectionData,
34
- currentUserId
35
- }) => {
36
- const contextRef = useRef({});
37
- const [selections, setSelections] = useState(() => {
38
- const initial = {};
39
- for (const collectionSlug of Object.keys(collectionData)) {
40
- initial[collectionSlug] = createEmptyCollectionState();
41
- }
42
- return initial;
43
- });
44
- // Reset selections when collectionData changes (new docs loaded)
45
- useEffect(() => {
46
- setSelections(() => {
47
- const reset = {};
48
- for (const collectionSlug_0 of Object.keys(collectionData)) {
49
- reset[collectionSlug_0] = createEmptyCollectionState();
50
- }
51
- return reset;
52
- });
53
- }, [collectionData]);
54
- const isLocked = useCallback(({
55
- id,
56
- collectionSlug: collectionSlug_1
57
- }) => {
58
- const docs = collectionData[collectionSlug_1]?.docs ?? [];
59
- const doc = docs.find(d => d.id === id);
60
- if (!doc) {
61
- return false;
62
- }
63
- return Boolean(doc._isLocked && doc._userEditing?.id !== currentUserId);
64
- }, [collectionData, currentUserId]);
65
- const isSelected = useCallback(({
66
- id: id_0,
67
- collectionSlug: collectionSlug_2
68
- }) => {
69
- return selections[collectionSlug_2]?.selected.has(id_0) ?? false;
70
- }, [selections]);
71
- const getSelectAllStatus = useCallback(({
72
- collectionSlug: collectionSlug_3
73
- }) => {
74
- return selections[collectionSlug_3]?.selectAllStatus ?? SelectAllStatus.None;
75
- }, [selections]);
76
- const getCollectionCount = useCallback(({
77
- collectionSlug: collectionSlug_4
78
- }) => {
79
- return selections[collectionSlug_4]?.selected.size ?? 0;
80
- }, [selections]);
81
- const getTotalCount = useCallback(() => {
82
- let total = 0;
83
- for (const collectionSlug_5 of Object.keys(selections)) {
84
- total += getCollectionCount({
85
- collectionSlug: collectionSlug_5
86
- });
87
- }
88
- return total;
89
- }, [selections, getCollectionCount]);
90
- const getSelectionsForActions = useCallback(() => {
91
- const result = {};
92
- for (const [collectionSlug_6, collectionState] of Object.entries(selections)) {
93
- const ids = Array.from(collectionState.selected.keys());
94
- if (ids.length > 0) {
95
- result[collectionSlug_6] = {
96
- ids,
97
- totalCount: ids.length
98
- };
99
- }
100
- }
101
- return result;
102
- }, [selections]);
103
- const getSelectionsWithMetadata = useCallback(() => {
104
- const result_0 = {};
105
- for (const [collectionSlug_7, collectionState_0] of Object.entries(selections)) {
106
- const selectionsArray = [];
107
- for (const [id_1, metadata] of collectionState_0.selected) {
108
- selectionsArray.push({
109
- id: id_1,
110
- metadata
111
- });
112
- }
113
- if (selectionsArray.length > 0) {
114
- result_0[collectionSlug_7] = {
115
- selections: selectionsArray,
116
- totalCount: selectionsArray.length
117
- };
118
- }
119
- }
120
- return result_0;
121
- }, [selections]);
122
- const toggleSelection = useCallback(({
123
- id: id_2,
124
- collectionSlug: collectionSlug_8,
125
- metadata: metadata_0 = {}
126
- }) => {
127
- // Check if doc is locked
128
- if (isLocked({
129
- id: id_2,
130
- collectionSlug: collectionSlug_8
131
- })) {
132
- return;
133
- }
134
- setSelections(prev => {
135
- const collectionState_1 = prev[collectionSlug_8] ?? createEmptyCollectionState();
136
- const isCurrentlySelected = collectionState_1.selected.has(id_2);
137
- const newMap = new Map(collectionState_1.selected);
138
- if (isCurrentlySelected) {
139
- newMap.delete(id_2);
140
- } else {
141
- newMap.set(id_2, metadata_0);
142
- }
143
- const docCount = collectionData[collectionSlug_8]?.docs.length ?? 0;
144
- const newSelectAllStatus = computeSelectAllStatus({
145
- docCount,
146
- selected: newMap
147
- });
148
- return {
149
- ...prev,
150
- [collectionSlug_8]: {
151
- selectAllStatus: newSelectAllStatus,
152
- selected: newMap
153
- }
154
- };
155
- });
156
- }, [collectionData, isLocked]);
157
- const toggleAllInCollection = useCallback(({
158
- collectionSlug: collectionSlug_9
159
- }) => {
160
- setSelections(prev_0 => {
161
- const collectionState_2 = prev_0[collectionSlug_9] ?? createEmptyCollectionState();
162
- const docs_0 = collectionData[collectionSlug_9]?.docs ?? [];
163
- const currentStatus = collectionState_2.selectAllStatus;
164
- // If already AllInPage, reset to None
165
- if (currentStatus === SelectAllStatus.AllInPage) {
166
- return {
167
- ...prev_0,
168
- [collectionSlug_9]: {
169
- selectAllStatus: SelectAllStatus.None,
170
- selected: new Map()
171
- }
172
- };
173
- }
174
- // Otherwise, select all non-locked docs with empty metadata
175
- const newMap_0 = new Map();
176
- for (const doc_0 of docs_0) {
177
- const docIsLocked = Boolean(doc_0._isLocked && doc_0._userEditing?.id !== currentUserId);
178
- if (!docIsLocked) {
179
- newMap_0.set(doc_0.id, {});
180
- }
181
- }
182
- const newSelectAllStatus_0 = computeSelectAllStatus({
183
- docCount: docs_0.length,
184
- selected: newMap_0
185
- });
186
- return {
187
- ...prev_0,
188
- [collectionSlug_9]: {
189
- selectAllStatus: newSelectAllStatus_0,
190
- selected: newMap_0
191
- }
192
- };
193
- });
194
- }, [collectionData, currentUserId]);
195
- const clearCollection = useCallback(({
196
- collectionSlug: collectionSlug_10
197
- }) => {
198
- setSelections(prev_1 => ({
199
- ...prev_1,
200
- [collectionSlug_10]: createEmptyCollectionState()
201
- }));
202
- }, []);
203
- const clearAll = useCallback(() => {
204
- setSelections(prev_2 => {
205
- const cleared = {};
206
- for (const collectionSlug_11 of Object.keys(prev_2)) {
207
- cleared[collectionSlug_11] = createEmptyCollectionState();
208
- }
209
- return cleared;
210
- });
211
- }, []);
212
- const contextValue = useMemo(() => ({
213
- clearAll,
214
- clearCollection,
215
- getCollectionCount,
216
- getSelectAllStatus,
217
- getSelectionsForActions,
218
- getSelectionsWithMetadata,
219
- getTotalCount,
220
- isLocked,
221
- isSelected,
222
- selections,
223
- toggleAllInCollection,
224
- toggleSelection
225
- }), [clearAll, clearCollection, getCollectionCount, getSelectAllStatus, getSelectionsForActions, getSelectionsWithMetadata, getTotalCount, isLocked, isSelected, selections, toggleAllInCollection, toggleSelection]);
226
- contextRef.current = contextValue;
227
- return /*#__PURE__*/_jsx(Context, {
228
- value: contextRef.current,
229
- children: children
230
- });
231
- };
232
- export const useDocumentSelection = () => {
233
- const context = use(Context);
234
- if (context === undefined) {
235
- throw new Error('useDocumentSelection must be used within a DocumentSelectionProvider');
236
- }
237
- return context;
238
- };
239
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["createContext","use","useCallback","useEffect","useMemo","useRef","useState","SelectAllStatus","Context","undefined","createEmptyCollectionState","selectAllStatus","None","selected","Map","computeSelectAllStatus","docCount","size","AllInPage","Some","DocumentSelectionProvider","children","collectionData","currentUserId","contextRef","selections","setSelections","initial","collectionSlug","Object","keys","reset","isLocked","id","docs","doc","find","d","Boolean","_isLocked","_userEditing","isSelected","has","getSelectAllStatus","getCollectionCount","getTotalCount","total","getSelectionsForActions","result","collectionState","entries","ids","Array","from","length","totalCount","getSelectionsWithMetadata","selectionsArray","metadata","push","toggleSelection","prev","isCurrentlySelected","newMap","delete","set","newSelectAllStatus","toggleAllInCollection","currentStatus","docIsLocked","clearCollection","clearAll","cleared","contextValue","current","_jsx","value","useDocumentSelection","context","Error"],"sources":["../../../src/providers/DocumentSelection/index.tsx"],"sourcesContent":["'use client'\nimport type React from 'react'\n\nimport { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type {\n CollectionData,\n CollectionSelectionState,\n DocumentSelectionContextValue,\n DocumentSelectionProviderProps,\n SelectableDocument,\n SelectionMetadata,\n SelectionState,\n} from './types.js'\n\nimport { SelectAllStatus } from '../Selection/index.js'\n\nexport { SelectAllStatus }\nexport type {\n CollectionData,\n CollectionSelectionState,\n DocumentSelectionContextValue,\n DocumentSelectionProviderProps,\n SelectableDocument,\n SelectionMetadata,\n SelectionState,\n}\n\nconst Context = createContext<DocumentSelectionContextValue | undefined>(undefined)\n\n/**\n * Creates an initial empty selection state for a collection.\n */\nconst createEmptyCollectionState = (): CollectionSelectionState => ({\n selectAllStatus: SelectAllStatus.None,\n selected: new Map(),\n})\n\n/**\n * Computes the SelectAllStatus based on selection state and doc count.\n * Presence in the map = selected (metadata object is stored).\n */\nconst computeSelectAllStatus = ({\n docCount,\n selected,\n}: {\n docCount: number\n selected: Map<number | string, SelectionMetadata>\n}): SelectAllStatus => {\n if (!selected.size || docCount === 0) {\n return SelectAllStatus.None\n }\n\n if (selected.size === docCount) {\n return SelectAllStatus.AllInPage\n }\n\n return SelectAllStatus.Some\n}\n\nexport const DocumentSelectionProvider: React.FC<DocumentSelectionProviderProps> = ({\n children,\n collectionData,\n currentUserId,\n}) => {\n const contextRef = useRef({} as DocumentSelectionContextValue)\n\n const [selections, setSelections] = useState<SelectionState>(() => {\n const initial: SelectionState = {}\n\n for (const collectionSlug of Object.keys(collectionData)) {\n initial[collectionSlug] = createEmptyCollectionState()\n }\n\n return initial\n })\n\n // Reset selections when collectionData changes (new docs loaded)\n useEffect(() => {\n setSelections(() => {\n const reset: SelectionState = {}\n\n for (const collectionSlug of Object.keys(collectionData)) {\n reset[collectionSlug] = createEmptyCollectionState()\n }\n\n return reset\n })\n }, [collectionData])\n\n const isLocked = useCallback(\n ({ id, collectionSlug }: { collectionSlug: string; id: number | string }): boolean => {\n const docs = collectionData[collectionSlug]?.docs ?? []\n const doc = docs.find((d) => d.id === id)\n\n if (!doc) {\n return false\n }\n\n return Boolean(doc._isLocked && doc._userEditing?.id !== currentUserId)\n },\n [collectionData, currentUserId],\n )\n\n const isSelected = useCallback(\n ({ id, collectionSlug }: { collectionSlug: string; id: number | string }): boolean => {\n return selections[collectionSlug]?.selected.has(id) ?? false\n },\n [selections],\n )\n\n const getSelectAllStatus = useCallback(\n ({ collectionSlug }: { collectionSlug: string }): SelectAllStatus => {\n return selections[collectionSlug]?.selectAllStatus ?? SelectAllStatus.None\n },\n [selections],\n )\n\n const getCollectionCount = useCallback(\n ({ collectionSlug }: { collectionSlug: string }): number => {\n return selections[collectionSlug]?.selected.size ?? 0\n },\n [selections],\n )\n\n const getTotalCount = useCallback((): number => {\n let total = 0\n\n for (const collectionSlug of Object.keys(selections)) {\n total += getCollectionCount({ collectionSlug })\n }\n\n return total\n }, [selections, getCollectionCount])\n\n const getSelectionsForActions = useCallback((): Record<\n string,\n { ids: (number | string)[]; totalCount: number }\n > => {\n const result: Record<string, { ids: (number | string)[]; totalCount: number }> = {}\n\n for (const [collectionSlug, collectionState] of Object.entries(selections)) {\n const ids = Array.from(collectionState.selected.keys())\n\n if (ids.length > 0) {\n result[collectionSlug] = {\n ids,\n totalCount: ids.length,\n }\n }\n }\n\n return result\n }, [selections])\n\n const getSelectionsWithMetadata = useCallback((): Record<\n string,\n {\n selections: Array<{ id: number | string; metadata: SelectionMetadata }>\n totalCount: number\n }\n > => {\n const result: Record<\n string,\n {\n selections: Array<{ id: number | string; metadata: SelectionMetadata }>\n totalCount: number\n }\n > = {}\n\n for (const [collectionSlug, collectionState] of Object.entries(selections)) {\n const selectionsArray: Array<{ id: number | string; metadata: SelectionMetadata }> = []\n\n for (const [id, metadata] of collectionState.selected) {\n selectionsArray.push({ id, metadata })\n }\n\n if (selectionsArray.length > 0) {\n result[collectionSlug] = {\n selections: selectionsArray,\n totalCount: selectionsArray.length,\n }\n }\n }\n\n return result\n }, [selections])\n\n const toggleSelection = useCallback(\n ({\n id,\n collectionSlug,\n metadata = {},\n }: {\n collectionSlug: string\n id: number | string\n metadata?: SelectionMetadata\n }): void => {\n // Check if doc is locked\n if (isLocked({ id, collectionSlug })) {\n return\n }\n\n setSelections((prev) => {\n const collectionState = prev[collectionSlug] ?? createEmptyCollectionState()\n const isCurrentlySelected = collectionState.selected.has(id)\n\n const newMap = new Map(collectionState.selected)\n\n if (isCurrentlySelected) {\n newMap.delete(id)\n } else {\n newMap.set(id, metadata)\n }\n\n const docCount = collectionData[collectionSlug]?.docs.length ?? 0\n const newSelectAllStatus = computeSelectAllStatus({ docCount, selected: newMap })\n\n return {\n ...prev,\n [collectionSlug]: {\n selectAllStatus: newSelectAllStatus,\n selected: newMap,\n },\n }\n })\n },\n [collectionData, isLocked],\n )\n\n const toggleAllInCollection = useCallback(\n ({ collectionSlug }: { collectionSlug: string }): void => {\n setSelections((prev) => {\n const collectionState = prev[collectionSlug] ?? createEmptyCollectionState()\n const docs = collectionData[collectionSlug]?.docs ?? []\n const currentStatus = collectionState.selectAllStatus\n\n // If already AllInPage, reset to None\n if (currentStatus === SelectAllStatus.AllInPage) {\n return {\n ...prev,\n [collectionSlug]: {\n selectAllStatus: SelectAllStatus.None,\n selected: new Map(),\n },\n }\n }\n\n // Otherwise, select all non-locked docs with empty metadata\n const newMap = new Map<number | string, SelectionMetadata>()\n\n for (const doc of docs) {\n const docIsLocked = Boolean(doc._isLocked && doc._userEditing?.id !== currentUserId)\n\n if (!docIsLocked) {\n newMap.set(doc.id, {})\n }\n }\n\n const newSelectAllStatus = computeSelectAllStatus({\n docCount: docs.length,\n selected: newMap,\n })\n\n return {\n ...prev,\n [collectionSlug]: {\n selectAllStatus: newSelectAllStatus,\n selected: newMap,\n },\n }\n })\n },\n [collectionData, currentUserId],\n )\n\n const clearCollection = useCallback(({ collectionSlug }: { collectionSlug: string }): void => {\n setSelections((prev) => ({\n ...prev,\n [collectionSlug]: createEmptyCollectionState(),\n }))\n }, [])\n\n const clearAll = useCallback((): void => {\n setSelections((prev) => {\n const cleared: SelectionState = {}\n\n for (const collectionSlug of Object.keys(prev)) {\n cleared[collectionSlug] = createEmptyCollectionState()\n }\n\n return cleared\n })\n }, [])\n\n const contextValue = useMemo<DocumentSelectionContextValue>(\n () => ({\n clearAll,\n clearCollection,\n getCollectionCount,\n getSelectAllStatus,\n getSelectionsForActions,\n getSelectionsWithMetadata,\n getTotalCount,\n isLocked,\n isSelected,\n selections,\n toggleAllInCollection,\n toggleSelection,\n }),\n [\n clearAll,\n clearCollection,\n getCollectionCount,\n getSelectAllStatus,\n getSelectionsForActions,\n getSelectionsWithMetadata,\n getTotalCount,\n isLocked,\n isSelected,\n selections,\n toggleAllInCollection,\n toggleSelection,\n ],\n )\n\n contextRef.current = contextValue\n\n return <Context value={contextRef.current}>{children}</Context>\n}\n\nexport const useDocumentSelection = (): DocumentSelectionContextValue => {\n const context = use(Context)\n\n if (context === undefined) {\n throw new Error('useDocumentSelection must be used within a DocumentSelectionProvider')\n }\n\n return context\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,122 +0,0 @@
1
- import type React from 'react';
2
- import type { SelectAllStatus } from '../Selection/index.js';
3
- /**
4
- * The minimum document shape required for selection functionality.
5
- * Supports document locking to prevent selection of locked documents.
6
- */
7
- export type SelectableDocument = {
8
- _isLocked?: boolean;
9
- _userEditing?: {
10
- id: string;
11
- };
12
- id: number | string;
13
- };
14
- /**
15
- * Collection data passed to the provider, mapping collection slugs to their documents.
16
- * @template TDoc - The document type, must extend SelectableDocument
17
- */
18
- export type CollectionData<TDoc extends SelectableDocument = SelectableDocument> = Record<string, {
19
- docs: TDoc[];
20
- }>;
21
- /**
22
- * Metadata stored alongside a selection.
23
- */
24
- export type SelectionMetadata = {
25
- /** For folder selections, the allowedCollections from the folder document */
26
- allowedCollections?: string[];
27
- };
28
- /**
29
- * Selection state for a single collection.
30
- */
31
- export type CollectionSelectionState = {
32
- /** Current selection status for this collection (None, Some, AllInPage) */
33
- selectAllStatus: SelectAllStatus;
34
- /** Map of document IDs to their selection metadata (presence = selected) */
35
- selected: Map<number | string, SelectionMetadata>;
36
- };
37
- /**
38
- * Full selection state, keyed by collection slug.
39
- */
40
- export type SelectionState = Record<string, CollectionSelectionState>;
41
- /**
42
- * Context value providing multi-collection document selection functionality.
43
- * All methods use single object parameters for backwards compatibility.
44
- */
45
- export type DocumentSelectionContextValue = {
46
- /** Clear all selections across all collections */
47
- clearAll: () => void;
48
- /** Clear all selections for a specific collection */
49
- clearCollection: (args: {
50
- collectionSlug: string;
51
- }) => void;
52
- /** Get count of selected documents in a specific collection */
53
- getCollectionCount: (args: {
54
- collectionSlug: string;
55
- }) => number;
56
- /** Get the selection status for a specific collection */
57
- getSelectAllStatus: (args: {
58
- collectionSlug: string;
59
- }) => SelectAllStatus;
60
- /**
61
- * Get selections formatted for bulk actions (e.g., DeleteMany).
62
- * Returns only collections with at least one selection.
63
- */
64
- getSelectionsForActions: () => Record<string, {
65
- ids: (number | string)[];
66
- totalCount: number;
67
- }>;
68
- /**
69
- * Get selections with metadata for computing constraints.
70
- * Returns only collections with at least one selection.
71
- */
72
- getSelectionsWithMetadata: () => Record<string, {
73
- selections: Array<{
74
- id: number | string;
75
- metadata: SelectionMetadata;
76
- }>;
77
- totalCount: number;
78
- }>;
79
- /** Get total count of selected documents across all collections */
80
- getTotalCount: () => number;
81
- /** Check if a specific document is locked (and not editable by current user) */
82
- isLocked: (args: {
83
- collectionSlug: string;
84
- id: number | string;
85
- }) => boolean;
86
- /** Check if a specific document is selected */
87
- isSelected: (args: {
88
- collectionSlug: string;
89
- id: number | string;
90
- }) => boolean;
91
- /** Raw selection state for direct access if needed */
92
- selections: SelectionState;
93
- /**
94
- * Toggle selection of all documents in a collection (current page only).
95
- * Cycles: None -> AllInPage -> None
96
- */
97
- toggleAllInCollection: (args: {
98
- collectionSlug: string;
99
- }) => void;
100
- /**
101
- * Toggle selection state of a single document.
102
- * Will not select locked documents unless the current user is editing them.
103
- */
104
- toggleSelection: (args: {
105
- collectionSlug: string;
106
- id: number | string;
107
- metadata?: SelectionMetadata;
108
- }) => void;
109
- };
110
- /**
111
- * Props for the DocumentSelectionProvider component.
112
- * @template TDoc - The document type, must extend SelectableDocument
113
- */
114
- export type DocumentSelectionProviderProps<TDoc extends SelectableDocument = SelectableDocument> = {
115
- /** React children to render within the provider */
116
- readonly children: React.ReactNode;
117
- /** Collection data mapping slugs to their documents */
118
- readonly collectionData: CollectionData<TDoc>;
119
- /** Current user ID for determining document lock status */
120
- readonly currentUserId?: string;
121
- };
122
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentSelection/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Props for the DocumentSelectionProvider component.
3
- * @template TDoc - The document type, must extend SelectableDocument
4
- */export {};
5
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/providers/DocumentSelection/types.ts"],"sourcesContent":["import type React from 'react'\n\nimport type { SelectAllStatus } from '../Selection/index.js'\n\n/**\n * The minimum document shape required for selection functionality.\n * Supports document locking to prevent selection of locked documents.\n */\nexport type SelectableDocument = {\n _isLocked?: boolean\n _userEditing?: { id: string }\n id: number | string\n}\n\n/**\n * Collection data passed to the provider, mapping collection slugs to their documents.\n * @template TDoc - The document type, must extend SelectableDocument\n */\nexport type CollectionData<TDoc extends SelectableDocument = SelectableDocument> = Record<\n string,\n { docs: TDoc[] }\n>\n\n/**\n * Metadata stored alongside a selection.\n */\nexport type SelectionMetadata = {\n /** For folder selections, the allowedCollections from the folder document */\n allowedCollections?: string[]\n}\n\n/**\n * Selection state for a single collection.\n */\nexport type CollectionSelectionState = {\n /** Current selection status for this collection (None, Some, AllInPage) */\n selectAllStatus: SelectAllStatus\n /** Map of document IDs to their selection metadata (presence = selected) */\n selected: Map<number | string, SelectionMetadata>\n}\n\n/**\n * Full selection state, keyed by collection slug.\n */\nexport type SelectionState = Record<string, CollectionSelectionState>\n\n/**\n * Context value providing multi-collection document selection functionality.\n * All methods use single object parameters for backwards compatibility.\n */\nexport type DocumentSelectionContextValue = {\n /** Clear all selections across all collections */\n clearAll: () => void\n\n /** Clear all selections for a specific collection */\n clearCollection: (args: { collectionSlug: string }) => void\n\n /** Get count of selected documents in a specific collection */\n getCollectionCount: (args: { collectionSlug: string }) => number\n\n /** Get the selection status for a specific collection */\n getSelectAllStatus: (args: { collectionSlug: string }) => SelectAllStatus\n\n /**\n * Get selections formatted for bulk actions (e.g., DeleteMany).\n * Returns only collections with at least one selection.\n */\n getSelectionsForActions: () => Record<\n string,\n {\n ids: (number | string)[]\n totalCount: number\n }\n >\n\n /**\n * Get selections with metadata for computing constraints.\n * Returns only collections with at least one selection.\n */\n getSelectionsWithMetadata: () => Record<\n string,\n {\n selections: Array<{ id: number | string; metadata: SelectionMetadata }>\n totalCount: number\n }\n >\n\n /** Get total count of selected documents across all collections */\n getTotalCount: () => number\n\n /** Check if a specific document is locked (and not editable by current user) */\n isLocked: (args: { collectionSlug: string; id: number | string }) => boolean\n\n /** Check if a specific document is selected */\n isSelected: (args: { collectionSlug: string; id: number | string }) => boolean\n\n /** Raw selection state for direct access if needed */\n selections: SelectionState\n\n /**\n * Toggle selection of all documents in a collection (current page only).\n * Cycles: None -> AllInPage -> None\n */\n toggleAllInCollection: (args: { collectionSlug: string }) => void\n\n /**\n * Toggle selection state of a single document.\n * Will not select locked documents unless the current user is editing them.\n */\n toggleSelection: (args: {\n collectionSlug: string\n id: number | string\n metadata?: SelectionMetadata\n }) => void\n}\n\n/**\n * Props for the DocumentSelectionProvider component.\n * @template TDoc - The document type, must extend SelectableDocument\n */\nexport type DocumentSelectionProviderProps<TDoc extends SelectableDocument = SelectableDocument> = {\n /** React children to render within the provider */\n readonly children: React.ReactNode\n /** Collection data mapping slugs to their documents */\n readonly collectionData: CollectionData<TDoc>\n /** Current user ID for determining document lock status */\n readonly currentUserId?: string\n}\n"],"mappings":"AAoHA;;;GAIA","ignoreList":[]}
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- import type { HierarchyContextValue, HierarchyProviderProps } from './types.js';
3
- export declare const HierarchyProvider: React.FC<HierarchyProviderProps>;
4
- export declare const useHierarchy: () => HierarchyContextValue;
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Hierarchy/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAExE,OAAO,KAAK,EAEV,qBAAqB,EAGrB,sBAAsB,EAEvB,MAAM,YAAY,CAAA;AAQnB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAkZ9D,CAAA;AAED,eAAO,MAAM,YAAY,QAAO,qBAM/B,CAAA"}