@payloadcms/ui 3.80.0-internal.60d6f94 → 3.80.0-internal.8d9ec7c

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 (522) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  2. package/dist/elements/BulkUpload/EditForm/index.js +0 -12
  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 +5 -3
  6. package/dist/elements/Button/index.js.map +1 -1
  7. package/dist/elements/Button/index.scss +38 -5
  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 +0 -1
  13. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  14. package/dist/elements/CheckboxPopup/index.scss +1 -0
  15. package/dist/elements/CreateDocumentButton/index.d.ts +26 -0
  16. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -0
  17. package/dist/elements/CreateDocumentButton/index.js +182 -0
  18. package/dist/elements/CreateDocumentButton/index.js.map +1 -0
  19. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  20. package/dist/elements/DefaultListViewTabs/index.js +28 -54
  21. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  22. package/dist/elements/DelayedSpinner/index.d.ts +23 -0
  23. package/dist/elements/DelayedSpinner/index.d.ts.map +1 -0
  24. package/dist/elements/DelayedSpinner/index.js +61 -0
  25. package/dist/elements/DelayedSpinner/index.js.map +1 -0
  26. package/dist/elements/DocumentControls/index.d.ts +1 -0
  27. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  28. package/dist/elements/DocumentControls/index.js +6 -10
  29. package/dist/elements/DocumentControls/index.js.map +1 -1
  30. package/dist/elements/DocumentControls/index.scss +1 -1
  31. package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
  32. package/dist/elements/DocumentDrawer/index.js +54 -141
  33. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  34. package/dist/elements/DocumentDrawer/types.d.ts +7 -1
  35. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  36. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  37. package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
  38. package/dist/elements/DrawerActionHeader/index.js +2 -0
  39. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  40. package/dist/elements/DrawerActionHeader/index.scss +2 -2
  41. package/dist/elements/HierarchyButton/index.d.ts +11 -0
  42. package/dist/elements/HierarchyButton/index.d.ts.map +1 -0
  43. package/dist/elements/HierarchyButton/index.js +126 -0
  44. package/dist/elements/HierarchyButton/index.js.map +1 -0
  45. package/dist/elements/{FolderView/MoveDocToFolder → HierarchyButton}/index.scss +7 -1
  46. package/dist/elements/HierarchyButton/index.server.d.ts +10 -0
  47. package/dist/elements/HierarchyButton/index.server.d.ts.map +1 -0
  48. package/dist/elements/HierarchyButton/index.server.js +34 -0
  49. package/dist/elements/HierarchyButton/index.server.js.map +1 -0
  50. package/dist/elements/HierarchyColumnBrowser/Column/index.d.ts +5 -0
  51. package/dist/elements/HierarchyColumnBrowser/Column/index.d.ts.map +1 -0
  52. package/dist/elements/HierarchyColumnBrowser/Column/index.js +166 -0
  53. package/dist/elements/HierarchyColumnBrowser/Column/index.js.map +1 -0
  54. package/dist/elements/HierarchyColumnBrowser/Column/index.scss +63 -0
  55. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.d.ts +5 -0
  56. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.d.ts.map +1 -0
  57. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.js +161 -0
  58. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.js.map +1 -0
  59. package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.scss +105 -0
  60. package/dist/elements/HierarchyColumnBrowser/index.d.ts +8 -0
  61. package/dist/elements/HierarchyColumnBrowser/index.d.ts.map +1 -0
  62. package/dist/elements/HierarchyColumnBrowser/index.js +473 -0
  63. package/dist/elements/HierarchyColumnBrowser/index.js.map +1 -0
  64. package/dist/elements/HierarchyColumnBrowser/index.scss +20 -0
  65. package/dist/elements/HierarchyColumnBrowser/types.d.ts +106 -0
  66. package/dist/elements/HierarchyColumnBrowser/types.d.ts.map +1 -0
  67. package/dist/elements/HierarchyColumnBrowser/types.js +2 -0
  68. package/dist/elements/HierarchyColumnBrowser/types.js.map +1 -0
  69. package/dist/elements/HierarchyDrawer/Drawer/index.d.ts +20 -0
  70. package/dist/elements/HierarchyDrawer/Drawer/index.d.ts.map +1 -0
  71. package/dist/elements/HierarchyDrawer/Drawer/index.js +291 -0
  72. package/dist/elements/HierarchyDrawer/Drawer/index.js.map +1 -0
  73. package/dist/elements/HierarchyDrawer/Drawer/index.scss +81 -0
  74. package/dist/elements/HierarchyDrawer/fetchAncestorPath.d.ts +15 -0
  75. package/dist/elements/HierarchyDrawer/fetchAncestorPath.d.ts.map +1 -0
  76. package/dist/elements/HierarchyDrawer/fetchAncestorPath.js +60 -0
  77. package/dist/elements/HierarchyDrawer/fetchAncestorPath.js.map +1 -0
  78. package/dist/elements/HierarchyDrawer/index.d.ts +30 -0
  79. package/dist/elements/HierarchyDrawer/index.d.ts.map +1 -0
  80. package/dist/elements/HierarchyDrawer/index.js +148 -0
  81. package/dist/elements/HierarchyDrawer/index.js.map +1 -0
  82. package/dist/elements/HierarchyDrawer/types.d.ts +68 -0
  83. package/dist/elements/HierarchyDrawer/types.d.ts.map +1 -0
  84. package/dist/elements/HierarchyDrawer/types.js +3 -0
  85. package/dist/elements/HierarchyDrawer/types.js.map +1 -0
  86. package/dist/elements/HierarchyField/SelectedHierarchies.d.ts +13 -0
  87. package/dist/elements/HierarchyField/SelectedHierarchies.d.ts.map +1 -0
  88. package/dist/elements/HierarchyField/SelectedHierarchies.js +194 -0
  89. package/dist/elements/HierarchyField/SelectedHierarchies.js.map +1 -0
  90. package/dist/elements/HierarchyField/SelectedHierarchies.scss +78 -0
  91. package/dist/elements/HierarchyField/index.client.d.ts +8 -0
  92. package/dist/elements/HierarchyField/index.client.d.ts.map +1 -0
  93. package/dist/elements/HierarchyField/index.client.js +198 -0
  94. package/dist/elements/HierarchyField/index.client.js.map +1 -0
  95. package/dist/elements/HierarchyField/index.scss +35 -0
  96. package/dist/elements/HierarchyField/index.server.d.ts +3 -0
  97. package/dist/elements/HierarchyField/index.server.d.ts.map +1 -0
  98. package/dist/elements/HierarchyField/index.server.js +30 -0
  99. package/dist/elements/HierarchyField/index.server.js.map +1 -0
  100. package/dist/elements/HierarchySearch/HierarchySearchInput.d.ts +18 -0
  101. package/dist/elements/HierarchySearch/HierarchySearchInput.d.ts.map +1 -0
  102. package/dist/elements/HierarchySearch/HierarchySearchInput.js +115 -0
  103. package/dist/elements/HierarchySearch/HierarchySearchInput.js.map +1 -0
  104. package/dist/elements/HierarchySearch/HierarchySearchResultItem.d.ts +13 -0
  105. package/dist/elements/HierarchySearch/HierarchySearchResultItem.d.ts.map +1 -0
  106. package/dist/elements/HierarchySearch/HierarchySearchResultItem.js +88 -0
  107. package/dist/elements/HierarchySearch/HierarchySearchResultItem.js.map +1 -0
  108. package/dist/elements/HierarchySearch/HierarchySearchResults.d.ts +17 -0
  109. package/dist/elements/HierarchySearch/HierarchySearchResults.d.ts.map +1 -0
  110. package/dist/elements/HierarchySearch/HierarchySearchResults.js +85 -0
  111. package/dist/elements/HierarchySearch/HierarchySearchResults.js.map +1 -0
  112. package/dist/elements/HierarchySearch/index.d.ts +10 -0
  113. package/dist/elements/HierarchySearch/index.d.ts.map +1 -0
  114. package/dist/elements/HierarchySearch/index.js +144 -0
  115. package/dist/elements/HierarchySearch/index.js.map +1 -0
  116. package/dist/elements/HierarchySearch/index.scss +212 -0
  117. package/dist/elements/HierarchySearch/types.d.ts +21 -0
  118. package/dist/elements/HierarchySearch/types.d.ts.map +1 -0
  119. package/dist/elements/HierarchySearch/types.js +2 -0
  120. package/dist/elements/HierarchySearch/types.js.map +1 -0
  121. package/dist/elements/HierarchySearch/useHierarchySearch.d.ts +20 -0
  122. package/dist/elements/HierarchySearch/useHierarchySearch.d.ts.map +1 -0
  123. package/dist/elements/HierarchySearch/useHierarchySearch.js +122 -0
  124. package/dist/elements/HierarchySearch/useHierarchySearch.js.map +1 -0
  125. package/dist/elements/HierarchyTree/HierarchySidebarTab.d.ts +21 -0
  126. package/dist/elements/HierarchyTree/HierarchySidebarTab.d.ts.map +1 -0
  127. package/dist/elements/HierarchyTree/HierarchySidebarTab.js +167 -0
  128. package/dist/elements/HierarchyTree/HierarchySidebarTab.js.map +1 -0
  129. package/dist/elements/HierarchyTree/HierarchySidebarTab.server.d.ts +7 -0
  130. package/dist/elements/HierarchyTree/HierarchySidebarTab.server.d.ts.map +1 -0
  131. package/dist/elements/HierarchyTree/HierarchySidebarTab.server.js +176 -0
  132. package/dist/elements/HierarchyTree/HierarchySidebarTab.server.js.map +1 -0
  133. package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.d.ts +8 -0
  134. package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.d.ts.map +1 -0
  135. package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.js +36 -0
  136. package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.js.map +1 -0
  137. package/dist/elements/HierarchyTree/LoadMore/index.d.ts +12 -0
  138. package/dist/elements/HierarchyTree/LoadMore/index.d.ts.map +1 -0
  139. package/dist/elements/HierarchyTree/LoadMore/index.js +29 -0
  140. package/dist/elements/HierarchyTree/LoadMore/index.js.map +1 -0
  141. package/dist/elements/HierarchyTree/LoadMore/index.scss +26 -0
  142. package/dist/elements/HierarchyTree/TreeConnector.d.ts +7 -0
  143. package/dist/elements/HierarchyTree/TreeConnector.d.ts.map +1 -0
  144. package/dist/elements/HierarchyTree/TreeConnector.js +23 -0
  145. package/dist/elements/HierarchyTree/TreeConnector.js.map +1 -0
  146. package/dist/elements/HierarchyTree/TreeFocusContext.d.ts +28 -0
  147. package/dist/elements/HierarchyTree/TreeFocusContext.d.ts.map +1 -0
  148. package/dist/elements/HierarchyTree/TreeFocusContext.js +140 -0
  149. package/dist/elements/HierarchyTree/TreeFocusContext.js.map +1 -0
  150. package/dist/elements/HierarchyTree/TreeNode/index.d.ts +5 -0
  151. package/dist/elements/HierarchyTree/TreeNode/index.d.ts.map +1 -0
  152. package/dist/elements/HierarchyTree/TreeNode/index.js +201 -0
  153. package/dist/elements/HierarchyTree/TreeNode/index.js.map +1 -0
  154. package/dist/elements/HierarchyTree/TreeNode/index.scss +99 -0
  155. package/dist/elements/HierarchyTree/index.d.ts +4 -0
  156. package/dist/elements/HierarchyTree/index.d.ts.map +1 -0
  157. package/dist/elements/HierarchyTree/index.js +66 -0
  158. package/dist/elements/HierarchyTree/index.js.map +1 -0
  159. package/dist/elements/HierarchyTree/index.scss +42 -0
  160. package/dist/elements/HierarchyTree/types.d.ts +57 -0
  161. package/dist/elements/HierarchyTree/types.d.ts.map +1 -0
  162. package/dist/elements/HierarchyTree/types.js +2 -0
  163. package/dist/elements/HierarchyTree/types.js.map +1 -0
  164. package/dist/elements/HierarchyTree/useChildren.d.ts +26 -0
  165. package/dist/elements/HierarchyTree/useChildren.d.ts.map +1 -0
  166. package/dist/elements/HierarchyTree/useChildren.js +150 -0
  167. package/dist/elements/HierarchyTree/useChildren.js.map +1 -0
  168. package/dist/elements/HierarchyTree/useTreeState.d.ts +9 -0
  169. package/dist/elements/HierarchyTree/useTreeState.d.ts.map +1 -0
  170. package/dist/elements/HierarchyTree/useTreeState.js +50 -0
  171. package/dist/elements/HierarchyTree/useTreeState.js.map +1 -0
  172. package/dist/elements/HydrateHierarchyProvider/index.d.ts +4 -0
  173. package/dist/elements/HydrateHierarchyProvider/index.d.ts.map +1 -0
  174. package/dist/elements/HydrateHierarchyProvider/index.js +70 -0
  175. package/dist/elements/HydrateHierarchyProvider/index.js.map +1 -0
  176. package/dist/elements/Link/index.d.ts +4 -0
  177. package/dist/elements/Link/index.d.ts.map +1 -1
  178. package/dist/elements/Link/index.js +5 -0
  179. package/dist/elements/Link/index.js.map +1 -1
  180. package/dist/elements/ListHeader/TitleActions/index.d.ts +0 -1
  181. package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -1
  182. package/dist/elements/ListHeader/TitleActions/index.js +0 -1
  183. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  184. package/dist/elements/ListHeader/index.js +2 -2
  185. package/dist/elements/ListHeader/index.js.map +1 -1
  186. package/dist/elements/ListSelection/index.scss +2 -1
  187. package/dist/elements/LoadMoreRow/index.d.ts +15 -0
  188. package/dist/elements/LoadMoreRow/index.d.ts.map +1 -0
  189. package/dist/elements/LoadMoreRow/index.js +75 -0
  190. package/dist/elements/LoadMoreRow/index.js.map +1 -0
  191. package/dist/elements/LoadMoreRow/index.scss +42 -0
  192. package/dist/elements/Locked/index.scss +1 -1
  193. package/dist/elements/MoveMany/index.d.ts +22 -0
  194. package/dist/elements/MoveMany/index.d.ts.map +1 -0
  195. package/dist/elements/MoveMany/index.js +278 -0
  196. package/dist/elements/MoveMany/index.js.map +1 -0
  197. package/dist/elements/MoveMany/index.scss +7 -0
  198. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  199. package/dist/elements/RelationshipTable/index.js +12 -17
  200. package/dist/elements/RelationshipTable/index.js.map +1 -1
  201. package/dist/elements/Spinner/index.d.ts +16 -0
  202. package/dist/elements/Spinner/index.d.ts.map +1 -0
  203. package/dist/elements/Spinner/index.js +49 -0
  204. package/dist/elements/Spinner/index.js.map +1 -0
  205. package/dist/elements/Spinner/index.scss +39 -0
  206. package/dist/elements/StepNav/index.d.ts.map +1 -1
  207. package/dist/elements/StepNav/index.js +10 -1
  208. package/dist/elements/StepNav/index.js.map +1 -1
  209. package/dist/elements/StepNav/types.d.ts +1 -0
  210. package/dist/elements/StepNav/types.d.ts.map +1 -1
  211. package/dist/elements/StepNav/types.js.map +1 -1
  212. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts +6 -0
  213. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -0
  214. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +187 -0
  215. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -0
  216. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.scss +29 -0
  217. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  218. package/dist/elements/Table/DefaultCell/index.js +20 -0
  219. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  220. package/dist/elements/Tooltip/index.js +1 -1
  221. package/dist/elements/Tooltip/index.js.map +1 -1
  222. package/dist/elements/Tooltip/index.scss +1 -15
  223. package/dist/elements/Tree/LoadMore/LoadMoreButton.d.ts +8 -0
  224. package/dist/elements/Tree/LoadMore/LoadMoreButton.d.ts.map +1 -0
  225. package/dist/elements/Tree/LoadMore/LoadMoreButton.js +36 -0
  226. package/dist/elements/Tree/LoadMore/LoadMoreButton.js.map +1 -0
  227. package/dist/elements/Tree/LoadMore/index.d.ts +12 -0
  228. package/dist/elements/Tree/LoadMore/index.d.ts.map +1 -0
  229. package/dist/elements/Tree/LoadMore/index.js +29 -0
  230. package/dist/elements/Tree/LoadMore/index.js.map +1 -0
  231. package/dist/elements/Tree/LoadMore/index.scss +26 -0
  232. package/dist/elements/Tree/TreeConnector.d.ts +7 -0
  233. package/dist/elements/Tree/TreeConnector.d.ts.map +1 -0
  234. package/dist/elements/Tree/TreeConnector.js +23 -0
  235. package/dist/elements/Tree/TreeConnector.js.map +1 -0
  236. package/dist/elements/Tree/TreeFocusContext.d.ts +28 -0
  237. package/dist/elements/Tree/TreeFocusContext.d.ts.map +1 -0
  238. package/dist/elements/Tree/TreeFocusContext.js +140 -0
  239. package/dist/elements/Tree/TreeFocusContext.js.map +1 -0
  240. package/dist/elements/Tree/TreeNode/index.d.ts +5 -0
  241. package/dist/elements/Tree/TreeNode/index.d.ts.map +1 -0
  242. package/dist/elements/Tree/TreeNode/index.js +221 -0
  243. package/dist/elements/Tree/TreeNode/index.js.map +1 -0
  244. package/dist/elements/Tree/TreeNode/index.scss +110 -0
  245. package/dist/elements/Tree/index.d.ts +5 -0
  246. package/dist/elements/Tree/index.d.ts.map +1 -0
  247. package/dist/elements/Tree/index.js +270 -0
  248. package/dist/elements/Tree/index.js.map +1 -0
  249. package/dist/elements/Tree/index.scss +63 -0
  250. package/dist/elements/Tree/types.d.ts +70 -0
  251. package/dist/elements/Tree/types.d.ts.map +1 -0
  252. package/dist/elements/Tree/types.js +2 -0
  253. package/dist/elements/Tree/types.js.map +1 -0
  254. package/dist/elements/Tree/useChildren.d.ts +28 -0
  255. package/dist/elements/Tree/useChildren.d.ts.map +1 -0
  256. package/dist/elements/Tree/useChildren.js +213 -0
  257. package/dist/elements/Tree/useChildren.js.map +1 -0
  258. package/dist/elements/withMergedProps/index.d.ts +1 -1
  259. package/dist/elements/withMergedProps/index.js +1 -1
  260. package/dist/elements/withMergedProps/index.js.map +1 -1
  261. package/dist/exports/client/index.d.ts +30 -9
  262. package/dist/exports/client/index.d.ts.map +1 -1
  263. package/dist/exports/client/index.js +14 -12
  264. package/dist/exports/client/index.js.map +4 -4
  265. package/dist/exports/rsc/index.d.ts +3 -3
  266. package/dist/exports/rsc/index.d.ts.map +1 -1
  267. package/dist/exports/rsc/index.js +3 -3
  268. package/dist/exports/rsc/index.js.map +1 -1
  269. package/dist/exports/shared/index.js.map +1 -1
  270. package/dist/fields/Join/index.d.ts.map +1 -1
  271. package/dist/fields/Join/index.js +1 -1
  272. package/dist/fields/Join/index.js.map +1 -1
  273. package/dist/fields/Null/index.d.ts +11 -0
  274. package/dist/fields/Null/index.d.ts.map +1 -0
  275. package/dist/fields/Null/index.js +13 -0
  276. package/dist/fields/Null/index.js.map +1 -0
  277. package/dist/icons/Chevron/index.d.ts.map +1 -1
  278. package/dist/icons/Chevron/index.js +5 -1
  279. package/dist/icons/Chevron/index.js.map +1 -1
  280. package/dist/icons/Document/index.d.ts +3 -1
  281. package/dist/icons/Document/index.d.ts.map +1 -1
  282. package/dist/icons/Document/index.js +4 -2
  283. package/dist/icons/Document/index.js.map +1 -1
  284. package/dist/icons/Document/index.scss +4 -0
  285. package/dist/icons/Filter/index.d.ts +4 -0
  286. package/dist/icons/Filter/index.d.ts.map +1 -0
  287. package/dist/icons/Filter/index.js +15 -0
  288. package/dist/icons/Filter/index.js.map +1 -0
  289. package/dist/icons/Filter/index.scss +13 -0
  290. package/dist/icons/Folder/index.d.ts +4 -2
  291. package/dist/icons/Folder/index.d.ts.map +1 -1
  292. package/dist/icons/Folder/index.js +4 -2
  293. package/dist/icons/Folder/index.js.map +1 -1
  294. package/dist/icons/Folder/index.scss +8 -0
  295. package/dist/icons/Lock/index.scss +1 -1
  296. package/dist/icons/Plus/index.d.ts.map +1 -1
  297. package/dist/icons/Plus/index.js +2 -1
  298. package/dist/icons/Plus/index.js.map +1 -1
  299. package/dist/icons/Tag/index.d.ts +8 -0
  300. package/dist/icons/Tag/index.d.ts.map +1 -0
  301. package/dist/icons/Tag/index.js +22 -0
  302. package/dist/icons/Tag/index.js.map +1 -0
  303. package/dist/icons/Tag/index.scss +14 -0
  304. package/dist/providers/DocumentSelection/index.d.ts +8 -0
  305. package/dist/providers/DocumentSelection/index.d.ts.map +1 -0
  306. package/dist/providers/DocumentSelection/index.js +239 -0
  307. package/dist/providers/DocumentSelection/index.js.map +1 -0
  308. package/dist/providers/DocumentSelection/types.d.ts +122 -0
  309. package/dist/providers/DocumentSelection/types.d.ts.map +1 -0
  310. package/dist/providers/DocumentSelection/types.js +5 -0
  311. package/dist/providers/DocumentSelection/types.js.map +1 -0
  312. package/dist/providers/Hierarchy/index.d.ts +5 -0
  313. package/dist/providers/Hierarchy/index.d.ts.map +1 -0
  314. package/dist/providers/Hierarchy/index.js +346 -0
  315. package/dist/providers/Hierarchy/index.js.map +1 -0
  316. package/dist/providers/Hierarchy/types.d.ts +105 -0
  317. package/dist/providers/Hierarchy/types.d.ts.map +1 -0
  318. package/dist/providers/Hierarchy/types.js +2 -0
  319. package/dist/providers/Hierarchy/types.js.map +1 -0
  320. package/dist/providers/Root/index.d.ts.map +1 -1
  321. package/dist/providers/Root/index.js +18 -15
  322. package/dist/providers/Root/index.js.map +1 -1
  323. package/dist/providers/ServerFunctions/index.d.ts +1 -6
  324. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  325. package/dist/providers/ServerFunctions/index.js +0 -18
  326. package/dist/providers/ServerFunctions/index.js.map +1 -1
  327. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +2 -1
  328. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  329. package/dist/providers/TableColumns/buildColumnState/renderCell.js +34 -1
  330. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  331. package/dist/styles.css +1 -1
  332. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  333. package/dist/utilities/isSuperset.d.ts +6 -0
  334. package/dist/utilities/isSuperset.d.ts.map +1 -0
  335. package/dist/utilities/isSuperset.js +10 -0
  336. package/dist/utilities/isSuperset.js.map +1 -0
  337. package/dist/utilities/renderTable.d.ts +3 -1
  338. package/dist/utilities/renderTable.d.ts.map +1 -1
  339. package/dist/utilities/renderTable.js +9 -3
  340. package/dist/utilities/renderTable.js.map +1 -1
  341. package/dist/views/Edit/index.d.ts +1 -1
  342. package/dist/views/Edit/index.d.ts.map +1 -1
  343. package/dist/views/Edit/index.js +4 -2
  344. package/dist/views/Edit/index.js.map +1 -1
  345. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts +10 -0
  346. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -0
  347. package/dist/views/HierarchyList/DocumentListSelection/index.js +135 -0
  348. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -0
  349. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +21 -0
  350. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -0
  351. package/dist/views/HierarchyList/HierarchyListHeader/index.js +67 -0
  352. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -0
  353. package/dist/views/HierarchyList/HierarchyListHeader/index.scss +9 -0
  354. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts +4 -0
  355. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -0
  356. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +104 -0
  357. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -0
  358. package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts +4 -0
  359. package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts.map +1 -0
  360. package/dist/views/HierarchyList/HierarchyTable/DateCell.js +53 -0
  361. package/dist/views/HierarchyList/HierarchyTable/DateCell.js.map +1 -0
  362. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts +4 -0
  363. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts.map +1 -0
  364. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +128 -0
  365. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -0
  366. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +99 -0
  367. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -0
  368. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +118 -0
  369. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -0
  370. package/dist/views/HierarchyList/HierarchyTable/SlotTable.scss +214 -0
  371. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +27 -0
  372. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -0
  373. package/dist/views/HierarchyList/HierarchyTable/index.js +388 -0
  374. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -0
  375. package/dist/views/HierarchyList/HierarchyTable/index.scss +148 -0
  376. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +20 -0
  377. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -0
  378. package/dist/views/HierarchyList/HierarchyTable/types.js +2 -0
  379. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -0
  380. package/dist/views/HierarchyList/TypeFilter/index.d.ts +15 -0
  381. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -0
  382. package/dist/views/HierarchyList/TypeFilter/index.js +37 -0
  383. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -0
  384. package/dist/views/HierarchyList/TypeFilter/index.scss +32 -0
  385. package/dist/views/HierarchyList/index.d.ts +5 -0
  386. package/dist/views/HierarchyList/index.d.ts.map +1 -0
  387. package/dist/views/HierarchyList/index.js +305 -0
  388. package/dist/views/HierarchyList/index.js.map +1 -0
  389. package/dist/views/HierarchyList/index.scss +72 -0
  390. package/dist/views/List/index.d.ts.map +1 -1
  391. package/dist/views/List/index.js +51 -7
  392. package/dist/views/List/index.js.map +1 -1
  393. package/package.json +5 -5
  394. package/dist/elements/FolderView/Breadcrumbs/index.d.ts +0 -19
  395. package/dist/elements/FolderView/Breadcrumbs/index.d.ts.map +0 -1
  396. package/dist/elements/FolderView/Breadcrumbs/index.js +0 -96
  397. package/dist/elements/FolderView/Breadcrumbs/index.js.map +0 -1
  398. package/dist/elements/FolderView/Breadcrumbs/index.scss +0 -56
  399. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts +0 -6
  400. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts.map +0 -1
  401. package/dist/elements/FolderView/BrowseByFolderButton/index.js +0 -40
  402. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +0 -1
  403. package/dist/elements/FolderView/BrowseByFolderButton/index.scss +0 -30
  404. package/dist/elements/FolderView/Cell/index.client.d.ts +0 -13
  405. package/dist/elements/FolderView/Cell/index.client.d.ts.map +0 -1
  406. package/dist/elements/FolderView/Cell/index.client.js +0 -95
  407. package/dist/elements/FolderView/Cell/index.client.js.map +0 -1
  408. package/dist/elements/FolderView/Cell/index.server.d.ts +0 -4
  409. package/dist/elements/FolderView/Cell/index.server.d.ts.map +0 -1
  410. package/dist/elements/FolderView/Cell/index.server.js +0 -18
  411. package/dist/elements/FolderView/Cell/index.server.js.map +0 -1
  412. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts +0 -3
  413. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts.map +0 -1
  414. package/dist/elements/FolderView/ColoredFolderIcon/index.js +0 -9
  415. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +0 -1
  416. package/dist/elements/FolderView/ColoredFolderIcon/index.scss +0 -5
  417. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts +0 -7
  418. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +0 -1
  419. package/dist/elements/FolderView/CurrentFolderActions/index.js +0 -162
  420. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +0 -1
  421. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts +0 -11
  422. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts.map +0 -1
  423. package/dist/elements/FolderView/DragOverlaySelection/index.js +0 -62
  424. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +0 -1
  425. package/dist/elements/FolderView/DragOverlaySelection/index.scss +0 -35
  426. package/dist/elements/FolderView/DraggableTableRow/index.d.ts +0 -18
  427. package/dist/elements/FolderView/DraggableTableRow/index.d.ts.map +0 -1
  428. package/dist/elements/FolderView/DraggableTableRow/index.js +0 -63
  429. package/dist/elements/FolderView/DraggableTableRow/index.js.map +0 -1
  430. package/dist/elements/FolderView/DraggableTableRow/index.scss +0 -135
  431. package/dist/elements/FolderView/DraggableWithClick/index.d.ts +0 -15
  432. package/dist/elements/FolderView/DraggableWithClick/index.d.ts.map +0 -1
  433. package/dist/elements/FolderView/DraggableWithClick/index.js +0 -86
  434. package/dist/elements/FolderView/DraggableWithClick/index.js.map +0 -1
  435. package/dist/elements/FolderView/DraggableWithClick/index.scss +0 -5
  436. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts +0 -7
  437. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts.map +0 -1
  438. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +0 -39
  439. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +0 -1
  440. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +0 -37
  441. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +0 -1
  442. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +0 -609
  443. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +0 -1
  444. package/dist/elements/FolderView/Drawers/MoveToFolder/index.scss +0 -30
  445. package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts +0 -4
  446. package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts.map +0 -1
  447. package/dist/elements/FolderView/FilterFolderTypePill/index.js +0 -102
  448. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +0 -1
  449. package/dist/elements/FolderView/FilterFolderTypePill/index.scss +0 -16
  450. package/dist/elements/FolderView/FolderField/index.scss +0 -12
  451. package/dist/elements/FolderView/FolderField/index.server.d.ts +0 -4
  452. package/dist/elements/FolderView/FolderField/index.server.d.ts.map +0 -1
  453. package/dist/elements/FolderView/FolderField/index.server.js +0 -16
  454. package/dist/elements/FolderView/FolderField/index.server.js.map +0 -1
  455. package/dist/elements/FolderView/FolderFileCard/index.d.ts +0 -30
  456. package/dist/elements/FolderView/FolderFileCard/index.d.ts.map +0 -1
  457. package/dist/elements/FolderView/FolderFileCard/index.js +0 -209
  458. package/dist/elements/FolderView/FolderFileCard/index.js.map +0 -1
  459. package/dist/elements/FolderView/FolderFileCard/index.scss +0 -247
  460. package/dist/elements/FolderView/FolderFileTable/index.d.ts +0 -8
  461. package/dist/elements/FolderView/FolderFileTable/index.d.ts.map +0 -1
  462. package/dist/elements/FolderView/FolderFileTable/index.js +0 -284
  463. package/dist/elements/FolderView/FolderFileTable/index.js.map +0 -1
  464. package/dist/elements/FolderView/FolderFileTable/index.scss +0 -11
  465. package/dist/elements/FolderView/FolderTypeField/index.d.ts +0 -4
  466. package/dist/elements/FolderView/FolderTypeField/index.d.ts.map +0 -1
  467. package/dist/elements/FolderView/FolderTypeField/index.js +0 -123
  468. package/dist/elements/FolderView/FolderTypeField/index.js.map +0 -1
  469. package/dist/elements/FolderView/ItemCardGrid/index.d.ts +0 -16
  470. package/dist/elements/FolderView/ItemCardGrid/index.d.ts.map +0 -1
  471. package/dist/elements/FolderView/ItemCardGrid/index.js +0 -34
  472. package/dist/elements/FolderView/ItemCardGrid/index.js.map +0 -1
  473. package/dist/elements/FolderView/ItemCardGrid/index.scss +0 -16
  474. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts +0 -37
  475. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts.map +0 -1
  476. package/dist/elements/FolderView/MoveDocToFolder/index.js +0 -292
  477. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +0 -1
  478. package/dist/elements/FolderView/SimpleTable/index.d.ts +0 -19
  479. package/dist/elements/FolderView/SimpleTable/index.d.ts.map +0 -1
  480. package/dist/elements/FolderView/SimpleTable/index.js +0 -95
  481. package/dist/elements/FolderView/SimpleTable/index.js.map +0 -1
  482. package/dist/elements/FolderView/SimpleTable/index.scss +0 -59
  483. package/dist/elements/FolderView/SortByPill/index.d.ts +0 -4
  484. package/dist/elements/FolderView/SortByPill/index.d.ts.map +0 -1
  485. package/dist/elements/FolderView/SortByPill/index.js +0 -112
  486. package/dist/elements/FolderView/SortByPill/index.js.map +0 -1
  487. package/dist/elements/FolderView/SortByPill/index.scss +0 -16
  488. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts +0 -8
  489. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts.map +0 -1
  490. package/dist/elements/FolderView/ToggleViewButtons/index.js +0 -31
  491. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +0 -1
  492. package/dist/elements/FolderView/ToggleViewButtons/index.scss +0 -17
  493. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts +0 -15
  494. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +0 -1
  495. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +0 -182
  496. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +0 -1
  497. package/dist/providers/Folders/groupItemIDsByRelation.d.ts +0 -3
  498. package/dist/providers/Folders/groupItemIDsByRelation.d.ts.map +0 -1
  499. package/dist/providers/Folders/groupItemIDsByRelation.js +0 -10
  500. package/dist/providers/Folders/groupItemIDsByRelation.js.map +0 -1
  501. package/dist/providers/Folders/index.d.ts +0 -143
  502. package/dist/providers/Folders/index.d.ts.map +0 -1
  503. package/dist/providers/Folders/index.js +0 -641
  504. package/dist/providers/Folders/index.js.map +0 -1
  505. package/dist/utilities/getFolderResultsComponentAndData.d.ts +0 -25
  506. package/dist/utilities/getFolderResultsComponentAndData.d.ts.map +0 -1
  507. package/dist/utilities/getFolderResultsComponentAndData.js +0 -135
  508. package/dist/utilities/getFolderResultsComponentAndData.js.map +0 -1
  509. package/dist/views/BrowseByFolder/index.d.ts +0 -5
  510. package/dist/views/BrowseByFolder/index.d.ts.map +0 -1
  511. package/dist/views/BrowseByFolder/index.js +0 -342
  512. package/dist/views/BrowseByFolder/index.js.map +0 -1
  513. package/dist/views/BrowseByFolder/index.scss +0 -174
  514. package/dist/views/CollectionFolder/ListSelection/index.d.ts +0 -9
  515. package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +0 -1
  516. package/dist/views/CollectionFolder/ListSelection/index.js +0 -180
  517. package/dist/views/CollectionFolder/ListSelection/index.js.map +0 -1
  518. package/dist/views/CollectionFolder/index.d.ts +0 -5
  519. package/dist/views/CollectionFolder/index.d.ts.map +0 -1
  520. package/dist/views/CollectionFolder/index.js +0 -325
  521. package/dist/views/CollectionFolder/index.js.map +0 -1
  522. package/dist/views/CollectionFolder/index.scss +0 -162
@@ -2,5 +2,9 @@
2
2
  .icon--document {
3
3
  height: var(--base);
4
4
  width: var(--base);
5
+
6
+ &.icon--muted {
7
+ color: var(--theme-elevation-400);
8
+ }
5
9
  }
6
10
  }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import './index.scss';
3
+ export declare const FilterIcon: React.FC;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Filter/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAS9B,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import './index.scss';
4
+ export const FilterIcon = () => /*#__PURE__*/_jsx("svg", {
5
+ className: "icon icon--filter",
6
+ fill: "none",
7
+ viewBox: "0 0 20 20",
8
+ xmlns: "http://www.w3.org/2000/svg",
9
+ children: /*#__PURE__*/_jsx("path", {
10
+ className: "stroke",
11
+ d: "M3 5H17M6 10H14M9 15H11",
12
+ strokeLinecap: "square"
13
+ })
14
+ });
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","FilterIcon","_jsx","className","fill","viewBox","xmlns","d","strokeLinecap"],"sources":["../../../src/icons/Filter/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nexport const FilterIcon: React.FC = () => (\n <svg\n className=\"icon icon--filter\"\n fill=\"none\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path className=\"stroke\" d=\"M3 5H17M6 10H14M9 15H11\" strokeLinecap=\"square\" />\n </svg>\n)\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,OAAO,MAAMC,UAAA,GAAuBA,CAAA,kBAClCC,IAAA,CAAC;EACCC,SAAA,EAAU;EACVC,IAAA,EAAK;EACLC,OAAA,EAAQ;EACRC,KAAA,EAAM;YAEN,aAAAJ,IAAA,CAAC;IAAKC,SAAA,EAAU;IAASI,CAAA,EAAE;IAA0BC,aAAA,EAAc","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ @import '../../scss/styles';
2
+
3
+ @layer payload-default {
4
+ .icon--filter {
5
+ height: $baseline;
6
+ width: $baseline;
7
+
8
+ .stroke {
9
+ stroke: currentColor;
10
+ stroke-width: 2px;
11
+ }
12
+ }
13
+ }
@@ -1,6 +1,8 @@
1
1
  import React from 'react';
2
2
  import './index.scss';
3
- export declare function FolderIcon({ className }: {
3
+ export type FolderIconProps = {
4
4
  className?: string;
5
- }): React.JSX.Element;
5
+ color?: 'dark' | 'default' | 'muted';
6
+ };
7
+ export declare function FolderIcon({ className, color }: FolderIconProps): React.JSX.Element;
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Folder/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAErB,wBAAgB,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,qBAgB/D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Folder/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;CACrC,CAAA;AAED,wBAAgB,UAAU,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,qBAkB/D"}
@@ -2,10 +2,12 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React from 'react';
3
3
  import './index.scss';
4
4
  export function FolderIcon({
5
- className
5
+ className,
6
+ color
6
7
  }) {
8
+ const colorClass = color ? `icon--folder--${color}` : '';
7
9
  return /*#__PURE__*/_jsx("svg", {
8
- className: [className, 'icon icon--folder'].filter(Boolean).join(' '),
10
+ className: [className, 'icon icon--folder', colorClass].filter(Boolean).join(' '),
9
11
  fill: "none",
10
12
  height: "16",
11
13
  viewBox: "0 0 16 16",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","FolderIcon","className","_jsx","filter","Boolean","join","fill","height","viewBox","width","xmlns","d"],"sources":["../../../src/icons/Folder/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nexport function FolderIcon({ className }: { className?: string }) {\n return (\n <svg\n className={[className, 'icon icon--folder'].filter(Boolean).join(' ')}\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13.3333 13.3333C13.6869 13.3333 14.026 13.1929 14.2761 12.9428C14.5261 12.6928 14.6666 12.3536 14.6666 12V5.33333C14.6666 4.97971 14.5261 4.64057 14.2761 4.39052C14.026 4.14048 13.6869 4 13.3333 4H8.06659C7.84359 4.00219 7.62362 3.94841 7.42679 3.84359C7.22996 3.73877 7.06256 3.58625 6.93992 3.4L6.39992 2.6C6.27851 2.41565 6.11323 2.26432 5.91892 2.1596C5.7246 2.05488 5.50732 2.00004 5.28659 2H2.66659C2.31296 2 1.97382 2.14048 1.72378 2.39052C1.47373 2.64057 1.33325 2.97971 1.33325 3.33333V12C1.33325 12.3536 1.47373 12.6928 1.72378 12.9428C1.97382 13.1929 2.31296 13.3333 2.66659 13.3333H13.3333Z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n}\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,OAAO,SAASC,WAAW;EAAEC;AAAS,CAA0B;EAC9D,oBACEC,IAAA,CAAC;IACCD,SAAA,EAAW,CAACA,SAAA,EAAW,oBAAoB,CAACE,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;IACjEC,IAAA,EAAK;IACLC,MAAA,EAAO;IACPC,OAAA,EAAQ;IACRC,KAAA,EAAM;IACNC,KAAA,EAAM;cAEN,aAAAR,IAAA,CAAC;MACCS,CAAA,EAAE;MACFL,IAAA,EAAK;;;AAIb","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","FolderIcon","className","color","colorClass","_jsx","filter","Boolean","join","fill","height","viewBox","width","xmlns","d"],"sources":["../../../src/icons/Folder/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nexport type FolderIconProps = {\n className?: string\n color?: 'dark' | 'default' | 'muted'\n}\n\nexport function FolderIcon({ className, color }: FolderIconProps) {\n const colorClass = color ? `icon--folder--${color}` : ''\n\n return (\n <svg\n className={[className, 'icon icon--folder', colorClass].filter(Boolean).join(' ')}\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13.3333 13.3333C13.6869 13.3333 14.026 13.1929 14.2761 12.9428C14.5261 12.6928 14.6666 12.3536 14.6666 12V5.33333C14.6666 4.97971 14.5261 4.64057 14.2761 4.39052C14.026 4.14048 13.6869 4 13.3333 4H8.06659C7.84359 4.00219 7.62362 3.94841 7.42679 3.84359C7.22996 3.73877 7.06256 3.58625 6.93992 3.4L6.39992 2.6C6.27851 2.41565 6.11323 2.26432 5.91892 2.1596C5.7246 2.05488 5.50732 2.00004 5.28659 2H2.66659C2.31296 2 1.97382 2.14048 1.72378 2.39052C1.47373 2.64057 1.33325 2.97971 1.33325 3.33333V12C1.33325 12.3536 1.47373 12.6928 1.72378 12.9428C1.97382 13.1929 2.31296 13.3333 2.66659 13.3333H13.3333Z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n}\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAOP,OAAO,SAASC,WAAW;EAAEC,SAAS;EAAEC;AAAK,CAAmB;EAC9D,MAAMC,UAAA,GAAaD,KAAA,GAAQ,iBAAiBA,KAAA,EAAO,GAAG;EAEtD,oBACEE,IAAA,CAAC;IACCH,SAAA,EAAW,CAACA,SAAA,EAAW,qBAAqBE,UAAA,CAAW,CAACE,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;IAC7EC,IAAA,EAAK;IACLC,MAAA,EAAO;IACPC,OAAA,EAAQ;IACRC,KAAA,EAAM;IACNC,KAAA,EAAM;cAEN,aAAAR,IAAA,CAAC;MACCS,CAAA,EAAE;MACFL,IAAA,EAAK;;;AAIb","ignoreList":[]}
@@ -2,5 +2,13 @@
2
2
  .icon--folder {
3
3
  height: var(--base);
4
4
  width: var(--base);
5
+
6
+ &--muted {
7
+ color: var(--theme-elevation-300);
8
+ }
9
+
10
+ &--dark {
11
+ color: var(--theme-elevation-800);
12
+ }
5
13
  }
6
14
  }
@@ -3,7 +3,7 @@
3
3
  @layer payload-default {
4
4
  .icon--lock {
5
5
  .stroke {
6
- stroke: currentColor;
6
+ stroke: var(--theme-text);
7
7
  stroke-width: $style-stroke-width;
8
8
  }
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Plus/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAc5B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Plus/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAe5B,CAAA"}
@@ -10,7 +10,8 @@ export const PlusIcon = () => /*#__PURE__*/_jsx("svg", {
10
10
  children: /*#__PURE__*/_jsx("path", {
11
11
  className: "stroke",
12
12
  d: "M5.33333 9.99998H14.6667M9.99999 5.33331V14.6666",
13
- strokeLinecap: "square"
13
+ strokeLinecap: "round",
14
+ strokeLinejoin: "round"
14
15
  })
15
16
  });
16
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PlusIcon","_jsx","className","height","viewBox","width","xmlns","d","strokeLinecap"],"sources":["../../../src/icons/Plus/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nexport const PlusIcon: React.FC = () => (\n <svg\n className=\"icon icon--plus\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n width=\"20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n className=\"stroke\"\n d=\"M5.33333 9.99998H14.6667M9.99999 5.33331V14.6666\"\n strokeLinecap=\"square\"\n />\n </svg>\n)\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,OAAO,MAAMC,QAAA,GAAqBA,CAAA,kBAChCC,IAAA,CAAC;EACCC,SAAA,EAAU;EACVC,MAAA,EAAO;EACPC,OAAA,EAAQ;EACRC,KAAA,EAAM;EACNC,KAAA,EAAM;YAEN,aAAAL,IAAA,CAAC;IACCC,SAAA,EAAU;IACVK,CAAA,EAAE;IACFC,aAAA,EAAc","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","PlusIcon","_jsx","className","height","viewBox","width","xmlns","d","strokeLinecap","strokeLinejoin"],"sources":["../../../src/icons/Plus/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nexport const PlusIcon: React.FC = () => (\n <svg\n className=\"icon icon--plus\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n width=\"20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n className=\"stroke\"\n d=\"M5.33333 9.99998H14.6667M9.99999 5.33331V14.6666\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n)\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,OAAO,MAAMC,QAAA,GAAqBA,CAAA,kBAChCC,IAAA,CAAC;EACCC,SAAA,EAAU;EACVC,MAAA,EAAO;EACPC,OAAA,EAAQ;EACRC,KAAA,EAAM;EACNC,KAAA,EAAM;YAEN,aAAAL,IAAA,CAAC;IACCC,SAAA,EAAU;IACVK,CAAA,EAAE;IACFC,aAAA,EAAc;IACdC,cAAA,EAAe","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import './index.scss';
3
+ export type TagIconProps = {
4
+ className?: string;
5
+ color?: 'dark' | 'default' | 'muted';
6
+ };
7
+ export declare function TagIcon({ className, color }: TagIconProps): React.JSX.Element;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Tag/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;CACrC,CAAA;AAED,wBAAgB,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,YAAY,qBAkBzD"}
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import './index.scss';
4
+ export function TagIcon({
5
+ className,
6
+ color
7
+ }) {
8
+ const colorClass = color ? `icon--tag--${color}` : '';
9
+ return /*#__PURE__*/_jsx("svg", {
10
+ className: [className, 'icon icon--tag', colorClass].filter(Boolean).join(' '),
11
+ fill: "none",
12
+ height: "16",
13
+ viewBox: "0 0 16 16",
14
+ width: "16",
15
+ xmlns: "http://www.w3.org/2000/svg",
16
+ children: /*#__PURE__*/_jsx("path", {
17
+ d: "M8.39065 1.72401C8.14066 1.47394 7.80157 1.33342 7.44798 1.33334H2.66665C2.31302 1.33334 1.97389 1.47382 1.72384 1.72387C1.47379 1.97392 1.33331 2.31305 1.33331 2.66668V7.44801C1.33339 7.8016 1.47391 8.14069 1.72398 8.39068L7.52665 14.1933C7.82966 14.4944 8.23948 14.6634 8.66665 14.6634C9.09382 14.6634 9.50364 14.4944 9.80665 14.1933L14.1933 9.80668C14.4944 9.50367 14.6634 9.09385 14.6634 8.66668C14.6634 8.23951 14.4944 7.82969 14.1933 7.52668L8.39065 1.72401ZM4.99998 5.66668C4.63179 5.66668 4.33331 5.3682 4.33331 5.00001C4.33331 4.63182 4.63179 4.33334 4.99998 4.33334C5.36817 4.33334 5.66665 4.63182 5.66665 5.00001C5.66665 5.3682 5.36817 5.66668 4.99998 5.66668Z",
18
+ fill: "currentColor"
19
+ })
20
+ });
21
+ }
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","TagIcon","className","color","colorClass","_jsx","filter","Boolean","join","fill","height","viewBox","width","xmlns","d"],"sources":["../../../src/icons/Tag/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nexport type TagIconProps = {\n className?: string\n color?: 'dark' | 'default' | 'muted'\n}\n\nexport function TagIcon({ className, color }: TagIconProps) {\n const colorClass = color ? `icon--tag--${color}` : ''\n\n return (\n <svg\n className={[className, 'icon icon--tag', colorClass].filter(Boolean).join(' ')}\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.39065 1.72401C8.14066 1.47394 7.80157 1.33342 7.44798 1.33334H2.66665C2.31302 1.33334 1.97389 1.47382 1.72384 1.72387C1.47379 1.97392 1.33331 2.31305 1.33331 2.66668V7.44801C1.33339 7.8016 1.47391 8.14069 1.72398 8.39068L7.52665 14.1933C7.82966 14.4944 8.23948 14.6634 8.66665 14.6634C9.09382 14.6634 9.50364 14.4944 9.80665 14.1933L14.1933 9.80668C14.4944 9.50367 14.6634 9.09385 14.6634 8.66668C14.6634 8.23951 14.4944 7.82969 14.1933 7.52668L8.39065 1.72401ZM4.99998 5.66668C4.63179 5.66668 4.33331 5.3682 4.33331 5.00001C4.33331 4.63182 4.63179 4.33334 4.99998 4.33334C5.36817 4.33334 5.66665 4.63182 5.66665 5.00001C5.66665 5.3682 5.36817 5.66668 4.99998 5.66668Z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n}\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAOP,OAAO,SAASC,QAAQ;EAAEC,SAAS;EAAEC;AAAK,CAAgB;EACxD,MAAMC,UAAA,GAAaD,KAAA,GAAQ,cAAcA,KAAA,EAAO,GAAG;EAEnD,oBACEE,IAAA,CAAC;IACCH,SAAA,EAAW,CAACA,SAAA,EAAW,kBAAkBE,UAAA,CAAW,CAACE,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;IAC1EC,IAAA,EAAK;IACLC,MAAA,EAAO;IACPC,OAAA,EAAQ;IACRC,KAAA,EAAM;IACNC,KAAA,EAAM;cAEN,aAAAR,IAAA,CAAC;MACCS,CAAA,EAAE;MACFL,IAAA,EAAK;;;AAIb","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ @layer payload-default {
2
+ .icon--tag {
3
+ height: var(--base);
4
+ width: var(--base);
5
+
6
+ &--muted {
7
+ color: var(--theme-elevation-300);
8
+ }
9
+
10
+ &--dark {
11
+ color: var(--theme-elevation-800);
12
+ }
13
+ }
14
+ }
@@ -0,0 +1,8 @@
1
+ import type React from 'react';
2
+ import type { CollectionData, CollectionSelectionState, DocumentSelectionContextValue, DocumentSelectionProviderProps, SelectableDocument, SelectionMetadata, SelectionState } from './types.js';
3
+ import { SelectAllStatus } from '../Selection/index.js';
4
+ export { SelectAllStatus };
5
+ export type { CollectionData, CollectionSelectionState, DocumentSelectionContextValue, DocumentSelectionProviderProps, SelectableDocument, SelectionMetadata, SelectionState, };
6
+ export declare const DocumentSelectionProvider: React.FC<DocumentSelectionProviderProps>;
7
+ export declare const useDocumentSelection: () => DocumentSelectionContextValue;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentSelection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EACV,cAAc,EACd,wBAAwB,EACxB,6BAA6B,EAC7B,8BAA8B,EAC9B,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACf,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,eAAe,EAAE,CAAA;AAC1B,YAAY,EACV,cAAc,EACd,wBAAwB,EACxB,6BAA6B,EAC7B,8BAA8B,EAC9B,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,CAAA;AAkCD,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,8BAA8B,CA6Q9E,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,6BAQvC,CAAA"}
@@ -0,0 +1,239 @@
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
@@ -0,0 +1 @@
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":[]}
@@ -0,0 +1,122 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentSelection/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Props for the DocumentSelectionProvider component.
3
+ * @template TDoc - The document type, must extend SelectableDocument
4
+ */export {};
5
+ //# sourceMappingURL=types.js.map