@payloadcms/ui 3.80.0-internal.0311fce → 3.80.0-internal.37a8509

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 (530) 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/Button/index.d.ts.map +1 -1
  5. package/dist/elements/Button/index.js +3 -5
  6. package/dist/elements/Button/index.js.map +1 -1
  7. package/dist/elements/Button/index.scss +5 -38
  8. package/dist/elements/Button/types.d.ts +1 -1
  9. package/dist/elements/Button/types.d.ts.map +1 -1
  10. package/dist/elements/Button/types.js.map +1 -1
  11. package/dist/elements/CheckboxPopup/index.d.ts.map +1 -1
  12. package/dist/elements/CheckboxPopup/index.js +1 -0
  13. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  14. package/dist/elements/CheckboxPopup/index.scss +0 -1
  15. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  16. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +4 -2
  17. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  18. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +157 -0
  19. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
  20. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  21. package/dist/elements/DefaultListViewTabs/index.js +54 -28
  22. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  23. package/dist/elements/DocumentControls/index.d.ts +0 -1
  24. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  25. package/dist/elements/DocumentControls/index.js +10 -6
  26. package/dist/elements/DocumentControls/index.js.map +1 -1
  27. package/dist/elements/DocumentControls/index.scss +1 -1
  28. package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
  29. package/dist/elements/DocumentDrawer/index.js +141 -54
  30. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  31. package/dist/elements/DocumentDrawer/types.d.ts +1 -7
  32. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  33. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  34. package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
  35. package/dist/elements/DrawerActionHeader/index.js +0 -2
  36. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  37. package/dist/elements/DrawerActionHeader/index.scss +2 -2
  38. package/dist/elements/FolderView/Breadcrumbs/index.d.ts +19 -0
  39. package/dist/elements/FolderView/Breadcrumbs/index.d.ts.map +1 -0
  40. package/dist/elements/FolderView/Breadcrumbs/index.js +96 -0
  41. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -0
  42. package/dist/elements/FolderView/Breadcrumbs/index.scss +56 -0
  43. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts +6 -0
  44. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts.map +1 -0
  45. package/dist/elements/FolderView/BrowseByFolderButton/index.js +40 -0
  46. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -0
  47. package/dist/elements/FolderView/BrowseByFolderButton/index.scss +30 -0
  48. package/dist/elements/FolderView/Cell/index.client.d.ts +13 -0
  49. package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -0
  50. package/dist/elements/FolderView/Cell/index.client.js +95 -0
  51. package/dist/elements/FolderView/Cell/index.client.js.map +1 -0
  52. package/dist/elements/FolderView/Cell/index.server.d.ts +4 -0
  53. package/dist/elements/FolderView/Cell/index.server.d.ts.map +1 -0
  54. package/dist/elements/FolderView/Cell/index.server.js +18 -0
  55. package/dist/elements/FolderView/Cell/index.server.js.map +1 -0
  56. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts +3 -0
  57. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts.map +1 -0
  58. package/dist/elements/FolderView/ColoredFolderIcon/index.js +9 -0
  59. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -0
  60. package/dist/elements/FolderView/ColoredFolderIcon/index.scss +5 -0
  61. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts +7 -0
  62. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +1 -0
  63. package/dist/elements/FolderView/CurrentFolderActions/index.js +162 -0
  64. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -0
  65. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts +11 -0
  66. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts.map +1 -0
  67. package/dist/elements/FolderView/DragOverlaySelection/index.js +62 -0
  68. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -0
  69. package/dist/elements/FolderView/DragOverlaySelection/index.scss +35 -0
  70. package/dist/elements/FolderView/DraggableTableRow/index.d.ts +18 -0
  71. package/dist/elements/FolderView/DraggableTableRow/index.d.ts.map +1 -0
  72. package/dist/elements/FolderView/DraggableTableRow/index.js +63 -0
  73. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -0
  74. package/dist/elements/FolderView/DraggableTableRow/index.scss +135 -0
  75. package/dist/elements/FolderView/DraggableWithClick/index.d.ts +15 -0
  76. package/dist/elements/FolderView/DraggableWithClick/index.d.ts.map +1 -0
  77. package/dist/elements/FolderView/DraggableWithClick/index.js +86 -0
  78. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -0
  79. package/dist/elements/FolderView/DraggableWithClick/index.scss +5 -0
  80. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts +7 -0
  81. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts.map +1 -0
  82. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +39 -0
  83. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -0
  84. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +37 -0
  85. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +1 -0
  86. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +609 -0
  87. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -0
  88. package/dist/elements/FolderView/Drawers/MoveToFolder/index.scss +30 -0
  89. package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts +4 -0
  90. package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts.map +1 -0
  91. package/dist/elements/FolderView/FilterFolderTypePill/index.js +102 -0
  92. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -0
  93. package/dist/elements/FolderView/FilterFolderTypePill/index.scss +16 -0
  94. package/dist/elements/FolderView/FolderField/index.scss +12 -0
  95. package/dist/elements/FolderView/FolderField/index.server.d.ts +4 -0
  96. package/dist/elements/FolderView/FolderField/index.server.d.ts.map +1 -0
  97. package/dist/elements/FolderView/FolderField/index.server.js +16 -0
  98. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -0
  99. package/dist/elements/FolderView/FolderFileCard/index.d.ts +30 -0
  100. package/dist/elements/FolderView/FolderFileCard/index.d.ts.map +1 -0
  101. package/dist/elements/FolderView/FolderFileCard/index.js +209 -0
  102. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -0
  103. package/dist/elements/FolderView/FolderFileCard/index.scss +247 -0
  104. package/dist/elements/FolderView/FolderFileTable/index.d.ts +8 -0
  105. package/dist/elements/FolderView/FolderFileTable/index.d.ts.map +1 -0
  106. package/dist/elements/FolderView/FolderFileTable/index.js +284 -0
  107. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -0
  108. package/dist/elements/FolderView/FolderFileTable/index.scss +11 -0
  109. package/dist/elements/FolderView/FolderTypeField/index.d.ts +4 -0
  110. package/dist/elements/FolderView/FolderTypeField/index.d.ts.map +1 -0
  111. package/dist/elements/FolderView/FolderTypeField/index.js +123 -0
  112. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -0
  113. package/dist/elements/FolderView/ItemCardGrid/index.d.ts +16 -0
  114. package/dist/elements/FolderView/ItemCardGrid/index.d.ts.map +1 -0
  115. package/dist/elements/FolderView/ItemCardGrid/index.js +34 -0
  116. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -0
  117. package/dist/elements/FolderView/ItemCardGrid/index.scss +16 -0
  118. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts +37 -0
  119. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts.map +1 -0
  120. package/dist/elements/FolderView/MoveDocToFolder/index.js +292 -0
  121. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -0
  122. package/dist/elements/{HierarchyButton → FolderView/MoveDocToFolder}/index.scss +1 -7
  123. package/dist/elements/FolderView/SimpleTable/index.d.ts +19 -0
  124. package/dist/elements/FolderView/SimpleTable/index.d.ts.map +1 -0
  125. package/dist/elements/FolderView/SimpleTable/index.js +95 -0
  126. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -0
  127. package/dist/elements/FolderView/SimpleTable/index.scss +59 -0
  128. package/dist/elements/FolderView/SortByPill/index.d.ts +4 -0
  129. package/dist/elements/FolderView/SortByPill/index.d.ts.map +1 -0
  130. package/dist/elements/FolderView/SortByPill/index.js +112 -0
  131. package/dist/elements/FolderView/SortByPill/index.js.map +1 -0
  132. package/dist/elements/FolderView/SortByPill/index.scss +16 -0
  133. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts +8 -0
  134. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts.map +1 -0
  135. package/dist/elements/FolderView/ToggleViewButtons/index.js +31 -0
  136. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -0
  137. package/dist/elements/FolderView/ToggleViewButtons/index.scss +17 -0
  138. package/dist/elements/Link/index.d.ts +0 -4
  139. package/dist/elements/Link/index.d.ts.map +1 -1
  140. package/dist/elements/Link/index.js +0 -5
  141. package/dist/elements/Link/index.js.map +1 -1
  142. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts +15 -0
  143. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +1 -0
  144. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +182 -0
  145. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -0
  146. package/dist/elements/ListHeader/TitleActions/index.d.ts +1 -0
  147. package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -1
  148. package/dist/elements/ListHeader/TitleActions/index.js +1 -0
  149. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  150. package/dist/elements/ListHeader/index.js +2 -2
  151. package/dist/elements/ListHeader/index.js.map +1 -1
  152. package/dist/elements/ListSelection/index.scss +1 -2
  153. package/dist/elements/Locked/index.scss +1 -1
  154. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  155. package/dist/elements/RelationshipTable/index.js +17 -12
  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/elements/withMergedProps/index.d.ts +1 -1
  170. package/dist/elements/withMergedProps/index.js +1 -1
  171. package/dist/elements/withMergedProps/index.js.map +1 -1
  172. package/dist/exports/client/index.d.ts +9 -30
  173. package/dist/exports/client/index.d.ts.map +1 -1
  174. package/dist/exports/client/index.js +24 -26
  175. package/dist/exports/client/index.js.map +4 -4
  176. package/dist/exports/rsc/index.d.ts +3 -3
  177. package/dist/exports/rsc/index.d.ts.map +1 -1
  178. package/dist/exports/rsc/index.js +3 -3
  179. package/dist/exports/rsc/index.js.map +1 -1
  180. package/dist/exports/shared/index.js.map +1 -1
  181. package/dist/fields/Join/index.d.ts.map +1 -1
  182. package/dist/fields/Join/index.js +1 -1
  183. package/dist/fields/Join/index.js.map +1 -1
  184. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  185. package/dist/forms/Form/mergeServerFormState.js +101 -24
  186. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  187. package/dist/icons/Chevron/index.d.ts.map +1 -1
  188. package/dist/icons/Chevron/index.js +1 -5
  189. package/dist/icons/Chevron/index.js.map +1 -1
  190. package/dist/icons/Document/index.d.ts +1 -3
  191. package/dist/icons/Document/index.d.ts.map +1 -1
  192. package/dist/icons/Document/index.js +2 -4
  193. package/dist/icons/Document/index.js.map +1 -1
  194. package/dist/icons/Document/index.scss +0 -4
  195. package/dist/icons/Folder/index.d.ts +2 -4
  196. package/dist/icons/Folder/index.d.ts.map +1 -1
  197. package/dist/icons/Folder/index.js +2 -4
  198. package/dist/icons/Folder/index.js.map +1 -1
  199. package/dist/icons/Folder/index.scss +0 -8
  200. package/dist/icons/Lock/index.scss +1 -1
  201. package/dist/icons/Plus/index.d.ts.map +1 -1
  202. package/dist/icons/Plus/index.js +1 -2
  203. package/dist/icons/Plus/index.js.map +1 -1
  204. package/dist/providers/Folders/groupItemIDsByRelation.d.ts +3 -0
  205. package/dist/providers/Folders/groupItemIDsByRelation.d.ts.map +1 -0
  206. package/dist/providers/Folders/groupItemIDsByRelation.js +10 -0
  207. package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -0
  208. package/dist/providers/Folders/index.d.ts +143 -0
  209. package/dist/providers/Folders/index.d.ts.map +1 -0
  210. package/dist/providers/Folders/index.js +641 -0
  211. package/dist/providers/Folders/index.js.map +1 -0
  212. package/dist/providers/Root/index.d.ts.map +1 -1
  213. package/dist/providers/Root/index.js +15 -18
  214. package/dist/providers/Root/index.js.map +1 -1
  215. package/dist/providers/ServerFunctions/index.d.ts +6 -1
  216. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  217. package/dist/providers/ServerFunctions/index.js +18 -0
  218. package/dist/providers/ServerFunctions/index.js.map +1 -1
  219. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +1 -2
  220. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  221. package/dist/providers/TableColumns/buildColumnState/renderCell.js +1 -34
  222. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  223. package/dist/styles.css +1 -1
  224. package/dist/utilities/getFolderResultsComponentAndData.d.ts +25 -0
  225. package/dist/utilities/getFolderResultsComponentAndData.d.ts.map +1 -0
  226. package/dist/utilities/getFolderResultsComponentAndData.js +135 -0
  227. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -0
  228. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  229. package/dist/utilities/renderTable.d.ts +1 -3
  230. package/dist/utilities/renderTable.d.ts.map +1 -1
  231. package/dist/utilities/renderTable.js +3 -9
  232. package/dist/utilities/renderTable.js.map +1 -1
  233. package/dist/views/BrowseByFolder/index.d.ts +5 -0
  234. package/dist/views/BrowseByFolder/index.d.ts.map +1 -0
  235. package/dist/views/BrowseByFolder/index.js +342 -0
  236. package/dist/views/BrowseByFolder/index.js.map +1 -0
  237. package/dist/views/BrowseByFolder/index.scss +174 -0
  238. package/dist/views/CollectionFolder/ListSelection/index.d.ts +9 -0
  239. package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -0
  240. package/dist/views/CollectionFolder/ListSelection/index.js +180 -0
  241. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -0
  242. package/dist/views/CollectionFolder/index.d.ts +5 -0
  243. package/dist/views/CollectionFolder/index.d.ts.map +1 -0
  244. package/dist/views/CollectionFolder/index.js +325 -0
  245. package/dist/views/CollectionFolder/index.js.map +1 -0
  246. package/dist/views/CollectionFolder/index.scss +162 -0
  247. package/dist/views/Edit/index.d.ts +1 -1
  248. package/dist/views/Edit/index.d.ts.map +1 -1
  249. package/dist/views/Edit/index.js +12 -5
  250. package/dist/views/Edit/index.js.map +1 -1
  251. package/dist/views/List/index.d.ts.map +1 -1
  252. package/dist/views/List/index.js +7 -51
  253. package/dist/views/List/index.js.map +1 -1
  254. package/package.json +5 -5
  255. package/dist/elements/CreateDocumentButton/index.d.ts +0 -26
  256. package/dist/elements/CreateDocumentButton/index.d.ts.map +0 -1
  257. package/dist/elements/CreateDocumentButton/index.js +0 -182
  258. package/dist/elements/CreateDocumentButton/index.js.map +0 -1
  259. package/dist/elements/DelayedSpinner/index.d.ts +0 -23
  260. package/dist/elements/DelayedSpinner/index.d.ts.map +0 -1
  261. package/dist/elements/DelayedSpinner/index.js +0 -61
  262. package/dist/elements/DelayedSpinner/index.js.map +0 -1
  263. package/dist/elements/HierarchyButton/index.d.ts +0 -11
  264. package/dist/elements/HierarchyButton/index.d.ts.map +0 -1
  265. package/dist/elements/HierarchyButton/index.js +0 -126
  266. package/dist/elements/HierarchyButton/index.js.map +0 -1
  267. package/dist/elements/HierarchyButton/index.server.d.ts +0 -10
  268. package/dist/elements/HierarchyButton/index.server.d.ts.map +0 -1
  269. package/dist/elements/HierarchyButton/index.server.js +0 -34
  270. package/dist/elements/HierarchyButton/index.server.js.map +0 -1
  271. package/dist/elements/HierarchyColumnBrowser/Column/index.d.ts +0 -5
  272. package/dist/elements/HierarchyColumnBrowser/Column/index.d.ts.map +0 -1
  273. package/dist/elements/HierarchyColumnBrowser/Column/index.js +0 -166
  274. package/dist/elements/HierarchyColumnBrowser/Column/index.js.map +0 -1
  275. package/dist/elements/HierarchyColumnBrowser/Column/index.scss +0 -63
  276. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.d.ts +0 -5
  277. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.d.ts.map +0 -1
  278. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.js +0 -161
  279. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.js.map +0 -1
  280. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.scss +0 -105
  281. package/dist/elements/HierarchyColumnBrowser/index.d.ts +0 -8
  282. package/dist/elements/HierarchyColumnBrowser/index.d.ts.map +0 -1
  283. package/dist/elements/HierarchyColumnBrowser/index.js +0 -470
  284. package/dist/elements/HierarchyColumnBrowser/index.js.map +0 -1
  285. package/dist/elements/HierarchyColumnBrowser/index.scss +0 -20
  286. package/dist/elements/HierarchyColumnBrowser/types.d.ts +0 -103
  287. package/dist/elements/HierarchyColumnBrowser/types.d.ts.map +0 -1
  288. package/dist/elements/HierarchyColumnBrowser/types.js +0 -2
  289. package/dist/elements/HierarchyColumnBrowser/types.js.map +0 -1
  290. package/dist/elements/HierarchyDrawer/Drawer/index.d.ts +0 -20
  291. package/dist/elements/HierarchyDrawer/Drawer/index.d.ts.map +0 -1
  292. package/dist/elements/HierarchyDrawer/Drawer/index.js +0 -289
  293. package/dist/elements/HierarchyDrawer/Drawer/index.js.map +0 -1
  294. package/dist/elements/HierarchyDrawer/Drawer/index.scss +0 -81
  295. package/dist/elements/HierarchyDrawer/fetchAncestorPath.d.ts +0 -15
  296. package/dist/elements/HierarchyDrawer/fetchAncestorPath.d.ts.map +0 -1
  297. package/dist/elements/HierarchyDrawer/fetchAncestorPath.js +0 -60
  298. package/dist/elements/HierarchyDrawer/fetchAncestorPath.js.map +0 -1
  299. package/dist/elements/HierarchyDrawer/index.d.ts +0 -30
  300. package/dist/elements/HierarchyDrawer/index.d.ts.map +0 -1
  301. package/dist/elements/HierarchyDrawer/index.js +0 -146
  302. package/dist/elements/HierarchyDrawer/index.js.map +0 -1
  303. package/dist/elements/HierarchyDrawer/types.d.ts +0 -65
  304. package/dist/elements/HierarchyDrawer/types.d.ts.map +0 -1
  305. package/dist/elements/HierarchyDrawer/types.js +0 -3
  306. package/dist/elements/HierarchyDrawer/types.js.map +0 -1
  307. package/dist/elements/HierarchyField/SelectedHierarchies.d.ts +0 -13
  308. package/dist/elements/HierarchyField/SelectedHierarchies.d.ts.map +0 -1
  309. package/dist/elements/HierarchyField/SelectedHierarchies.js +0 -194
  310. package/dist/elements/HierarchyField/SelectedHierarchies.js.map +0 -1
  311. package/dist/elements/HierarchyField/SelectedHierarchies.scss +0 -78
  312. package/dist/elements/HierarchyField/index.client.d.ts +0 -8
  313. package/dist/elements/HierarchyField/index.client.d.ts.map +0 -1
  314. package/dist/elements/HierarchyField/index.client.js +0 -198
  315. package/dist/elements/HierarchyField/index.client.js.map +0 -1
  316. package/dist/elements/HierarchyField/index.scss +0 -35
  317. package/dist/elements/HierarchyField/index.server.d.ts +0 -3
  318. package/dist/elements/HierarchyField/index.server.d.ts.map +0 -1
  319. package/dist/elements/HierarchyField/index.server.js +0 -30
  320. package/dist/elements/HierarchyField/index.server.js.map +0 -1
  321. package/dist/elements/HierarchySearch/HierarchySearchInput.d.ts +0 -18
  322. package/dist/elements/HierarchySearch/HierarchySearchInput.d.ts.map +0 -1
  323. package/dist/elements/HierarchySearch/HierarchySearchInput.js +0 -115
  324. package/dist/elements/HierarchySearch/HierarchySearchInput.js.map +0 -1
  325. package/dist/elements/HierarchySearch/HierarchySearchResultItem.d.ts +0 -13
  326. package/dist/elements/HierarchySearch/HierarchySearchResultItem.d.ts.map +0 -1
  327. package/dist/elements/HierarchySearch/HierarchySearchResultItem.js +0 -88
  328. package/dist/elements/HierarchySearch/HierarchySearchResultItem.js.map +0 -1
  329. package/dist/elements/HierarchySearch/HierarchySearchResults.d.ts +0 -17
  330. package/dist/elements/HierarchySearch/HierarchySearchResults.d.ts.map +0 -1
  331. package/dist/elements/HierarchySearch/HierarchySearchResults.js +0 -85
  332. package/dist/elements/HierarchySearch/HierarchySearchResults.js.map +0 -1
  333. package/dist/elements/HierarchySearch/index.d.ts +0 -10
  334. package/dist/elements/HierarchySearch/index.d.ts.map +0 -1
  335. package/dist/elements/HierarchySearch/index.js +0 -144
  336. package/dist/elements/HierarchySearch/index.js.map +0 -1
  337. package/dist/elements/HierarchySearch/index.scss +0 -212
  338. package/dist/elements/HierarchySearch/types.d.ts +0 -21
  339. package/dist/elements/HierarchySearch/types.d.ts.map +0 -1
  340. package/dist/elements/HierarchySearch/types.js +0 -2
  341. package/dist/elements/HierarchySearch/types.js.map +0 -1
  342. package/dist/elements/HierarchySearch/useHierarchySearch.d.ts +0 -20
  343. package/dist/elements/HierarchySearch/useHierarchySearch.d.ts.map +0 -1
  344. package/dist/elements/HierarchySearch/useHierarchySearch.js +0 -122
  345. package/dist/elements/HierarchySearch/useHierarchySearch.js.map +0 -1
  346. package/dist/elements/HierarchyTree/HierarchySidebarTab.d.ts +0 -20
  347. package/dist/elements/HierarchyTree/HierarchySidebarTab.d.ts.map +0 -1
  348. package/dist/elements/HierarchyTree/HierarchySidebarTab.js +0 -159
  349. package/dist/elements/HierarchyTree/HierarchySidebarTab.js.map +0 -1
  350. package/dist/elements/HierarchyTree/HierarchySidebarTab.server.d.ts +0 -7
  351. package/dist/elements/HierarchyTree/HierarchySidebarTab.server.d.ts.map +0 -1
  352. package/dist/elements/HierarchyTree/HierarchySidebarTab.server.js +0 -167
  353. package/dist/elements/HierarchyTree/HierarchySidebarTab.server.js.map +0 -1
  354. package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.d.ts +0 -8
  355. package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.d.ts.map +0 -1
  356. package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.js +0 -36
  357. package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.js.map +0 -1
  358. package/dist/elements/HierarchyTree/LoadMore/index.d.ts +0 -12
  359. package/dist/elements/HierarchyTree/LoadMore/index.d.ts.map +0 -1
  360. package/dist/elements/HierarchyTree/LoadMore/index.js +0 -29
  361. package/dist/elements/HierarchyTree/LoadMore/index.js.map +0 -1
  362. package/dist/elements/HierarchyTree/LoadMore/index.scss +0 -26
  363. package/dist/elements/HierarchyTree/TreeConnector.d.ts +0 -7
  364. package/dist/elements/HierarchyTree/TreeConnector.d.ts.map +0 -1
  365. package/dist/elements/HierarchyTree/TreeConnector.js +0 -23
  366. package/dist/elements/HierarchyTree/TreeConnector.js.map +0 -1
  367. package/dist/elements/HierarchyTree/TreeFocusContext.d.ts +0 -28
  368. package/dist/elements/HierarchyTree/TreeFocusContext.d.ts.map +0 -1
  369. package/dist/elements/HierarchyTree/TreeFocusContext.js +0 -140
  370. package/dist/elements/HierarchyTree/TreeFocusContext.js.map +0 -1
  371. package/dist/elements/HierarchyTree/TreeNode/index.d.ts +0 -5
  372. package/dist/elements/HierarchyTree/TreeNode/index.d.ts.map +0 -1
  373. package/dist/elements/HierarchyTree/TreeNode/index.js +0 -201
  374. package/dist/elements/HierarchyTree/TreeNode/index.js.map +0 -1
  375. package/dist/elements/HierarchyTree/TreeNode/index.scss +0 -99
  376. package/dist/elements/HierarchyTree/index.d.ts +0 -4
  377. package/dist/elements/HierarchyTree/index.d.ts.map +0 -1
  378. package/dist/elements/HierarchyTree/index.js +0 -68
  379. package/dist/elements/HierarchyTree/index.js.map +0 -1
  380. package/dist/elements/HierarchyTree/index.scss +0 -42
  381. package/dist/elements/HierarchyTree/types.d.ts +0 -57
  382. package/dist/elements/HierarchyTree/types.d.ts.map +0 -1
  383. package/dist/elements/HierarchyTree/types.js +0 -2
  384. package/dist/elements/HierarchyTree/types.js.map +0 -1
  385. package/dist/elements/HierarchyTree/useChildren.d.ts +0 -26
  386. package/dist/elements/HierarchyTree/useChildren.d.ts.map +0 -1
  387. package/dist/elements/HierarchyTree/useChildren.js +0 -150
  388. package/dist/elements/HierarchyTree/useChildren.js.map +0 -1
  389. package/dist/elements/HierarchyTree/useTreeState.d.ts +0 -9
  390. package/dist/elements/HierarchyTree/useTreeState.d.ts.map +0 -1
  391. package/dist/elements/HierarchyTree/useTreeState.js +0 -50
  392. package/dist/elements/HierarchyTree/useTreeState.js.map +0 -1
  393. package/dist/elements/HydrateHierarchyProvider/index.d.ts +0 -4
  394. package/dist/elements/HydrateHierarchyProvider/index.d.ts.map +0 -1
  395. package/dist/elements/HydrateHierarchyProvider/index.js +0 -70
  396. package/dist/elements/HydrateHierarchyProvider/index.js.map +0 -1
  397. package/dist/elements/LoadMoreRow/index.d.ts +0 -15
  398. package/dist/elements/LoadMoreRow/index.d.ts.map +0 -1
  399. package/dist/elements/LoadMoreRow/index.js +0 -75
  400. package/dist/elements/LoadMoreRow/index.js.map +0 -1
  401. package/dist/elements/LoadMoreRow/index.scss +0 -42
  402. package/dist/elements/MoveMany/index.d.ts +0 -22
  403. package/dist/elements/MoveMany/index.d.ts.map +0 -1
  404. package/dist/elements/MoveMany/index.js +0 -278
  405. package/dist/elements/MoveMany/index.js.map +0 -1
  406. package/dist/elements/MoveMany/index.scss +0 -7
  407. package/dist/elements/Spinner/index.d.ts +0 -16
  408. package/dist/elements/Spinner/index.d.ts.map +0 -1
  409. package/dist/elements/Spinner/index.js +0 -49
  410. package/dist/elements/Spinner/index.js.map +0 -1
  411. package/dist/elements/Spinner/index.scss +0 -39
  412. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts +0 -6
  413. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +0 -1
  414. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +0 -187
  415. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +0 -1
  416. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.scss +0 -29
  417. package/dist/elements/Tree/LoadMore/LoadMoreButton.d.ts +0 -8
  418. package/dist/elements/Tree/LoadMore/LoadMoreButton.d.ts.map +0 -1
  419. package/dist/elements/Tree/LoadMore/LoadMoreButton.js +0 -36
  420. package/dist/elements/Tree/LoadMore/LoadMoreButton.js.map +0 -1
  421. package/dist/elements/Tree/LoadMore/index.d.ts +0 -12
  422. package/dist/elements/Tree/LoadMore/index.d.ts.map +0 -1
  423. package/dist/elements/Tree/LoadMore/index.js +0 -29
  424. package/dist/elements/Tree/LoadMore/index.js.map +0 -1
  425. package/dist/elements/Tree/LoadMore/index.scss +0 -26
  426. package/dist/elements/Tree/TreeConnector.d.ts +0 -7
  427. package/dist/elements/Tree/TreeConnector.d.ts.map +0 -1
  428. package/dist/elements/Tree/TreeConnector.js +0 -23
  429. package/dist/elements/Tree/TreeConnector.js.map +0 -1
  430. package/dist/elements/Tree/TreeFocusContext.d.ts +0 -28
  431. package/dist/elements/Tree/TreeFocusContext.d.ts.map +0 -1
  432. package/dist/elements/Tree/TreeFocusContext.js +0 -140
  433. package/dist/elements/Tree/TreeFocusContext.js.map +0 -1
  434. package/dist/elements/Tree/TreeNode/index.d.ts +0 -5
  435. package/dist/elements/Tree/TreeNode/index.d.ts.map +0 -1
  436. package/dist/elements/Tree/TreeNode/index.js +0 -218
  437. package/dist/elements/Tree/TreeNode/index.js.map +0 -1
  438. package/dist/elements/Tree/TreeNode/index.scss +0 -110
  439. package/dist/elements/Tree/index.d.ts +0 -5
  440. package/dist/elements/Tree/index.d.ts.map +0 -1
  441. package/dist/elements/Tree/index.js +0 -258
  442. package/dist/elements/Tree/index.js.map +0 -1
  443. package/dist/elements/Tree/index.scss +0 -63
  444. package/dist/elements/Tree/types.d.ts +0 -69
  445. package/dist/elements/Tree/types.d.ts.map +0 -1
  446. package/dist/elements/Tree/types.js +0 -2
  447. package/dist/elements/Tree/types.js.map +0 -1
  448. package/dist/elements/Tree/useChildren.d.ts +0 -25
  449. package/dist/elements/Tree/useChildren.d.ts.map +0 -1
  450. package/dist/elements/Tree/useChildren.js +0 -213
  451. package/dist/elements/Tree/useChildren.js.map +0 -1
  452. package/dist/fields/Null/index.d.ts +0 -11
  453. package/dist/fields/Null/index.d.ts.map +0 -1
  454. package/dist/fields/Null/index.js +0 -13
  455. package/dist/fields/Null/index.js.map +0 -1
  456. package/dist/icons/Filter/index.d.ts +0 -4
  457. package/dist/icons/Filter/index.d.ts.map +0 -1
  458. package/dist/icons/Filter/index.js +0 -15
  459. package/dist/icons/Filter/index.js.map +0 -1
  460. package/dist/icons/Filter/index.scss +0 -13
  461. package/dist/icons/Tag/index.d.ts +0 -8
  462. package/dist/icons/Tag/index.d.ts.map +0 -1
  463. package/dist/icons/Tag/index.js +0 -22
  464. package/dist/icons/Tag/index.js.map +0 -1
  465. package/dist/icons/Tag/index.scss +0 -14
  466. package/dist/providers/DocumentSelection/index.d.ts +0 -8
  467. package/dist/providers/DocumentSelection/index.d.ts.map +0 -1
  468. package/dist/providers/DocumentSelection/index.js +0 -239
  469. package/dist/providers/DocumentSelection/index.js.map +0 -1
  470. package/dist/providers/DocumentSelection/types.d.ts +0 -122
  471. package/dist/providers/DocumentSelection/types.d.ts.map +0 -1
  472. package/dist/providers/DocumentSelection/types.js +0 -5
  473. package/dist/providers/DocumentSelection/types.js.map +0 -1
  474. package/dist/providers/Hierarchy/index.d.ts +0 -5
  475. package/dist/providers/Hierarchy/index.d.ts.map +0 -1
  476. package/dist/providers/Hierarchy/index.js +0 -346
  477. package/dist/providers/Hierarchy/index.js.map +0 -1
  478. package/dist/providers/Hierarchy/types.d.ts +0 -105
  479. package/dist/providers/Hierarchy/types.d.ts.map +0 -1
  480. package/dist/providers/Hierarchy/types.js +0 -2
  481. package/dist/providers/Hierarchy/types.js.map +0 -1
  482. package/dist/utilities/isSuperset.d.ts +0 -6
  483. package/dist/utilities/isSuperset.d.ts.map +0 -1
  484. package/dist/utilities/isSuperset.js +0 -10
  485. package/dist/utilities/isSuperset.js.map +0 -1
  486. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts +0 -10
  487. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +0 -1
  488. package/dist/views/HierarchyList/DocumentListSelection/index.js +0 -135
  489. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +0 -1
  490. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +0 -21
  491. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +0 -1
  492. package/dist/views/HierarchyList/HierarchyListHeader/index.js +0 -67
  493. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +0 -1
  494. package/dist/views/HierarchyList/HierarchyListHeader/index.scss +0 -9
  495. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts +0 -4
  496. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +0 -1
  497. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +0 -104
  498. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +0 -1
  499. package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts +0 -4
  500. package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts.map +0 -1
  501. package/dist/views/HierarchyList/HierarchyTable/DateCell.js +0 -53
  502. package/dist/views/HierarchyList/HierarchyTable/DateCell.js.map +0 -1
  503. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts +0 -4
  504. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts.map +0 -1
  505. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +0 -128
  506. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +0 -1
  507. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +0 -99
  508. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +0 -1
  509. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +0 -118
  510. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +0 -1
  511. package/dist/views/HierarchyList/HierarchyTable/SlotTable.scss +0 -214
  512. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +0 -23
  513. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +0 -1
  514. package/dist/views/HierarchyList/HierarchyTable/index.js +0 -387
  515. package/dist/views/HierarchyList/HierarchyTable/index.js.map +0 -1
  516. package/dist/views/HierarchyList/HierarchyTable/index.scss +0 -148
  517. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +0 -20
  518. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +0 -1
  519. package/dist/views/HierarchyList/HierarchyTable/types.js +0 -2
  520. package/dist/views/HierarchyList/HierarchyTable/types.js.map +0 -1
  521. package/dist/views/HierarchyList/TypeFilter/index.d.ts +0 -15
  522. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +0 -1
  523. package/dist/views/HierarchyList/TypeFilter/index.js +0 -37
  524. package/dist/views/HierarchyList/TypeFilter/index.js.map +0 -1
  525. package/dist/views/HierarchyList/TypeFilter/index.scss +0 -32
  526. package/dist/views/HierarchyList/index.d.ts +0 -5
  527. package/dist/views/HierarchyList/index.d.ts.map +0 -1
  528. package/dist/views/HierarchyList/index.js +0 -303
  529. package/dist/views/HierarchyList/index.js.map +0 -1
  530. 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,CAiZ9D,CAAA;AAED,eAAO,MAAM,YAAY,QAAO,qBAM/B,CAAA"}