@payloadcms/ui 3.80.0-internal.cdd7ef7 → 3.80.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  2. package/dist/elements/BulkUpload/EditForm/index.js +12 -0
  3. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  5. package/dist/elements/BulkUpload/FormsManager/index.js +29 -7
  6. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  7. package/dist/elements/Button/index.d.ts.map +1 -1
  8. package/dist/elements/Button/index.js +3 -5
  9. package/dist/elements/Button/index.js.map +1 -1
  10. package/dist/elements/Button/index.scss +5 -38
  11. package/dist/elements/Button/types.d.ts +1 -1
  12. package/dist/elements/Button/types.d.ts.map +1 -1
  13. package/dist/elements/Button/types.js.map +1 -1
  14. package/dist/elements/CheckboxPopup/index.d.ts.map +1 -1
  15. package/dist/elements/CheckboxPopup/index.js +1 -0
  16. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  17. package/dist/elements/CheckboxPopup/index.scss +0 -1
  18. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  19. package/dist/elements/DefaultListViewTabs/index.js +54 -28
  20. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  21. package/dist/elements/DocumentControls/index.d.ts +0 -1
  22. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  23. package/dist/elements/DocumentControls/index.js +10 -6
  24. package/dist/elements/DocumentControls/index.js.map +1 -1
  25. package/dist/elements/DocumentControls/index.scss +1 -1
  26. package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
  27. package/dist/elements/DocumentDrawer/index.js +141 -54
  28. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  29. package/dist/elements/DocumentDrawer/types.d.ts +1 -7
  30. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  31. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  32. package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
  33. package/dist/elements/DrawerActionHeader/index.js +0 -2
  34. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  35. package/dist/elements/DrawerActionHeader/index.scss +2 -2
  36. package/dist/elements/FolderView/Breadcrumbs/index.d.ts +19 -0
  37. package/dist/elements/FolderView/Breadcrumbs/index.d.ts.map +1 -0
  38. package/dist/elements/FolderView/Breadcrumbs/index.js +96 -0
  39. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -0
  40. package/dist/elements/FolderView/Breadcrumbs/index.scss +56 -0
  41. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts +6 -0
  42. package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts.map +1 -0
  43. package/dist/elements/FolderView/BrowseByFolderButton/index.js +40 -0
  44. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -0
  45. package/dist/elements/FolderView/BrowseByFolderButton/index.scss +30 -0
  46. package/dist/elements/FolderView/Cell/index.client.d.ts +13 -0
  47. package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -0
  48. package/dist/elements/FolderView/Cell/index.client.js +95 -0
  49. package/dist/elements/FolderView/Cell/index.client.js.map +1 -0
  50. package/dist/elements/FolderView/Cell/index.server.d.ts +4 -0
  51. package/dist/elements/FolderView/Cell/index.server.d.ts.map +1 -0
  52. package/dist/elements/FolderView/Cell/index.server.js +18 -0
  53. package/dist/elements/FolderView/Cell/index.server.js.map +1 -0
  54. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts +3 -0
  55. package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts.map +1 -0
  56. package/dist/elements/FolderView/ColoredFolderIcon/index.js +9 -0
  57. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -0
  58. package/dist/elements/FolderView/ColoredFolderIcon/index.scss +5 -0
  59. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts +7 -0
  60. package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +1 -0
  61. package/dist/elements/FolderView/CurrentFolderActions/index.js +162 -0
  62. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -0
  63. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts +11 -0
  64. package/dist/elements/FolderView/DragOverlaySelection/index.d.ts.map +1 -0
  65. package/dist/elements/FolderView/DragOverlaySelection/index.js +62 -0
  66. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -0
  67. package/dist/elements/FolderView/DragOverlaySelection/index.scss +35 -0
  68. package/dist/elements/FolderView/DraggableTableRow/index.d.ts +18 -0
  69. package/dist/elements/FolderView/DraggableTableRow/index.d.ts.map +1 -0
  70. package/dist/elements/FolderView/DraggableTableRow/index.js +63 -0
  71. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -0
  72. package/dist/elements/FolderView/DraggableTableRow/index.scss +135 -0
  73. package/dist/elements/FolderView/DraggableWithClick/index.d.ts +15 -0
  74. package/dist/elements/FolderView/DraggableWithClick/index.d.ts.map +1 -0
  75. package/dist/elements/FolderView/DraggableWithClick/index.js +86 -0
  76. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -0
  77. package/dist/elements/FolderView/DraggableWithClick/index.scss +5 -0
  78. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts +7 -0
  79. package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts.map +1 -0
  80. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +39 -0
  81. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -0
  82. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +37 -0
  83. package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +1 -0
  84. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +609 -0
  85. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -0
  86. package/dist/elements/FolderView/Drawers/MoveToFolder/index.scss +30 -0
  87. package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts +4 -0
  88. package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts.map +1 -0
  89. package/dist/elements/FolderView/FilterFolderTypePill/index.js +102 -0
  90. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -0
  91. package/dist/elements/FolderView/FilterFolderTypePill/index.scss +16 -0
  92. package/dist/elements/FolderView/FolderField/index.scss +12 -0
  93. package/dist/elements/FolderView/FolderField/index.server.d.ts +4 -0
  94. package/dist/elements/FolderView/FolderField/index.server.d.ts.map +1 -0
  95. package/dist/elements/FolderView/FolderField/index.server.js +16 -0
  96. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -0
  97. package/dist/elements/FolderView/FolderFileCard/index.d.ts +30 -0
  98. package/dist/elements/FolderView/FolderFileCard/index.d.ts.map +1 -0
  99. package/dist/elements/FolderView/FolderFileCard/index.js +209 -0
  100. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -0
  101. package/dist/elements/FolderView/FolderFileCard/index.scss +247 -0
  102. package/dist/elements/FolderView/FolderFileTable/index.d.ts +8 -0
  103. package/dist/elements/FolderView/FolderFileTable/index.d.ts.map +1 -0
  104. package/dist/elements/FolderView/FolderFileTable/index.js +284 -0
  105. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -0
  106. package/dist/elements/FolderView/FolderFileTable/index.scss +11 -0
  107. package/dist/elements/FolderView/FolderTypeField/index.d.ts +4 -0
  108. package/dist/elements/FolderView/FolderTypeField/index.d.ts.map +1 -0
  109. package/dist/elements/FolderView/FolderTypeField/index.js +123 -0
  110. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -0
  111. package/dist/elements/FolderView/ItemCardGrid/index.d.ts +16 -0
  112. package/dist/elements/FolderView/ItemCardGrid/index.d.ts.map +1 -0
  113. package/dist/elements/FolderView/ItemCardGrid/index.js +34 -0
  114. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -0
  115. package/dist/elements/FolderView/ItemCardGrid/index.scss +16 -0
  116. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts +37 -0
  117. package/dist/elements/FolderView/MoveDocToFolder/index.d.ts.map +1 -0
  118. package/dist/elements/FolderView/MoveDocToFolder/index.js +292 -0
  119. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -0
  120. package/dist/elements/{Hierarchy/DocHeaderButton → FolderView/MoveDocToFolder}/index.scss +1 -7
  121. package/dist/elements/FolderView/SimpleTable/index.d.ts +19 -0
  122. package/dist/elements/FolderView/SimpleTable/index.d.ts.map +1 -0
  123. package/dist/elements/FolderView/SimpleTable/index.js +95 -0
  124. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -0
  125. package/dist/elements/FolderView/SimpleTable/index.scss +59 -0
  126. package/dist/elements/FolderView/SortByPill/index.d.ts +4 -0
  127. package/dist/elements/FolderView/SortByPill/index.d.ts.map +1 -0
  128. package/dist/elements/FolderView/SortByPill/index.js +112 -0
  129. package/dist/elements/FolderView/SortByPill/index.js.map +1 -0
  130. package/dist/elements/FolderView/SortByPill/index.scss +16 -0
  131. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts +8 -0
  132. package/dist/elements/FolderView/ToggleViewButtons/index.d.ts.map +1 -0
  133. package/dist/elements/FolderView/ToggleViewButtons/index.js +31 -0
  134. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -0
  135. package/dist/elements/FolderView/ToggleViewButtons/index.scss +17 -0
  136. package/dist/elements/Link/index.d.ts +0 -4
  137. package/dist/elements/Link/index.d.ts.map +1 -1
  138. package/dist/elements/Link/index.js +0 -5
  139. package/dist/elements/Link/index.js.map +1 -1
  140. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts +15 -0
  141. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +1 -0
  142. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +182 -0
  143. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -0
  144. package/dist/elements/ListHeader/TitleActions/index.d.ts +1 -0
  145. package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -1
  146. package/dist/elements/ListHeader/TitleActions/index.js +1 -0
  147. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  148. package/dist/elements/ListHeader/index.js +2 -2
  149. package/dist/elements/ListHeader/index.js.map +1 -1
  150. package/dist/elements/ListSelection/index.scss +1 -2
  151. package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
  152. package/dist/elements/LivePreview/Window/index.js +9 -7
  153. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  154. package/dist/elements/Locked/index.scss +1 -1
  155. package/dist/elements/RelationshipTable/index.js +3 -3
  156. package/dist/elements/RelationshipTable/index.js.map +1 -1
  157. package/dist/elements/StepNav/index.d.ts.map +1 -1
  158. package/dist/elements/StepNav/index.js +1 -10
  159. package/dist/elements/StepNav/index.js.map +1 -1
  160. package/dist/elements/StepNav/types.d.ts +0 -1
  161. package/dist/elements/StepNav/types.d.ts.map +1 -1
  162. package/dist/elements/StepNav/types.js.map +1 -1
  163. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  164. package/dist/elements/Table/DefaultCell/index.js +0 -20
  165. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  166. package/dist/elements/Tooltip/index.js +1 -1
  167. package/dist/elements/Tooltip/index.js.map +1 -1
  168. package/dist/elements/Tooltip/index.scss +15 -1
  169. package/dist/exports/client/index.d.ts +10 -27
  170. package/dist/exports/client/index.d.ts.map +1 -1
  171. package/dist/exports/client/index.js +24 -26
  172. package/dist/exports/client/index.js.map +4 -4
  173. package/dist/exports/rsc/index.d.ts +3 -3
  174. package/dist/exports/rsc/index.d.ts.map +1 -1
  175. package/dist/exports/rsc/index.js +3 -3
  176. package/dist/exports/rsc/index.js.map +1 -1
  177. package/dist/fields/Join/index.d.ts.map +1 -1
  178. package/dist/fields/Join/index.js +1 -1
  179. package/dist/fields/Join/index.js.map +1 -1
  180. package/dist/fields/shared/index.d.ts +2 -2
  181. package/dist/fields/shared/index.d.ts.map +1 -1
  182. package/dist/fields/shared/index.js.map +1 -1
  183. package/dist/icons/Chevron/index.d.ts.map +1 -1
  184. package/dist/icons/Chevron/index.js +1 -5
  185. package/dist/icons/Chevron/index.js.map +1 -1
  186. package/dist/icons/Document/index.d.ts +1 -3
  187. package/dist/icons/Document/index.d.ts.map +1 -1
  188. package/dist/icons/Document/index.js +2 -4
  189. package/dist/icons/Document/index.js.map +1 -1
  190. package/dist/icons/Document/index.scss +0 -4
  191. package/dist/icons/Folder/index.d.ts +2 -4
  192. package/dist/icons/Folder/index.d.ts.map +1 -1
  193. package/dist/icons/Folder/index.js +2 -4
  194. package/dist/icons/Folder/index.js.map +1 -1
  195. package/dist/icons/Folder/index.scss +0 -8
  196. package/dist/icons/Lock/index.scss +1 -1
  197. package/dist/icons/Plus/index.d.ts.map +1 -1
  198. package/dist/icons/Plus/index.js +1 -2
  199. package/dist/icons/Plus/index.js.map +1 -1
  200. package/dist/providers/Folders/groupItemIDsByRelation.d.ts +3 -0
  201. package/dist/providers/Folders/groupItemIDsByRelation.d.ts.map +1 -0
  202. package/dist/providers/Folders/groupItemIDsByRelation.js +10 -0
  203. package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -0
  204. package/dist/providers/Folders/index.d.ts +143 -0
  205. package/dist/providers/Folders/index.d.ts.map +1 -0
  206. package/dist/providers/Folders/index.js +641 -0
  207. package/dist/providers/Folders/index.js.map +1 -0
  208. package/dist/providers/LivePreview/context.d.ts +6 -0
  209. package/dist/providers/LivePreview/context.d.ts.map +1 -1
  210. package/dist/providers/LivePreview/context.js +1 -0
  211. package/dist/providers/LivePreview/context.js.map +1 -1
  212. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  213. package/dist/providers/LivePreview/index.js +13 -1
  214. package/dist/providers/LivePreview/index.js.map +1 -1
  215. package/dist/providers/Root/index.d.ts.map +1 -1
  216. package/dist/providers/Root/index.js +15 -18
  217. package/dist/providers/Root/index.js.map +1 -1
  218. package/dist/providers/ServerFunctions/index.d.ts +6 -1
  219. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  220. package/dist/providers/ServerFunctions/index.js +18 -0
  221. package/dist/providers/ServerFunctions/index.js.map +1 -1
  222. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +1 -2
  223. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  224. package/dist/providers/TableColumns/buildColumnState/renderCell.js +1 -34
  225. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  226. package/dist/styles.css +1 -1
  227. package/dist/utilities/getFolderResultsComponentAndData.d.ts +25 -0
  228. package/dist/utilities/getFolderResultsComponentAndData.d.ts.map +1 -0
  229. package/dist/utilities/getFolderResultsComponentAndData.js +135 -0
  230. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -0
  231. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  232. package/dist/utilities/renderTable.d.ts +1 -3
  233. package/dist/utilities/renderTable.d.ts.map +1 -1
  234. package/dist/utilities/renderTable.js +3 -9
  235. package/dist/utilities/renderTable.js.map +1 -1
  236. package/dist/views/BrowseByFolder/index.d.ts +5 -0
  237. package/dist/views/BrowseByFolder/index.d.ts.map +1 -0
  238. package/dist/views/BrowseByFolder/index.js +342 -0
  239. package/dist/views/BrowseByFolder/index.js.map +1 -0
  240. package/dist/views/BrowseByFolder/index.scss +174 -0
  241. package/dist/views/CollectionFolder/ListSelection/index.d.ts +9 -0
  242. package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -0
  243. package/dist/views/CollectionFolder/ListSelection/index.js +180 -0
  244. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -0
  245. package/dist/views/CollectionFolder/index.d.ts +5 -0
  246. package/dist/views/CollectionFolder/index.d.ts.map +1 -0
  247. package/dist/views/CollectionFolder/index.js +325 -0
  248. package/dist/views/CollectionFolder/index.js.map +1 -0
  249. package/dist/views/CollectionFolder/index.scss +162 -0
  250. package/dist/views/Edit/index.d.ts +1 -1
  251. package/dist/views/Edit/index.d.ts.map +1 -1
  252. package/dist/views/Edit/index.js +10 -8
  253. package/dist/views/Edit/index.js.map +1 -1
  254. package/dist/views/List/index.d.ts.map +1 -1
  255. package/dist/views/List/index.js +7 -51
  256. package/dist/views/List/index.js.map +1 -1
  257. package/package.json +4 -4
  258. package/dist/elements/CreateDocumentButton/index.d.ts +0 -26
  259. package/dist/elements/CreateDocumentButton/index.d.ts.map +0 -1
  260. package/dist/elements/CreateDocumentButton/index.js +0 -182
  261. package/dist/elements/CreateDocumentButton/index.js.map +0 -1
  262. package/dist/elements/DelayedSpinner/index.d.ts +0 -23
  263. package/dist/elements/DelayedSpinner/index.d.ts.map +0 -1
  264. package/dist/elements/DelayedSpinner/index.js +0 -61
  265. package/dist/elements/DelayedSpinner/index.js.map +0 -1
  266. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts +0 -5
  267. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +0 -1
  268. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +0 -166
  269. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +0 -1
  270. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.scss +0 -63
  271. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts +0 -5
  272. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +0 -1
  273. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +0 -161
  274. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +0 -1
  275. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.scss +0 -105
  276. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +0 -8
  277. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +0 -1
  278. package/dist/elements/Hierarchy/ColumnBrowser/index.js +0 -473
  279. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +0 -1
  280. package/dist/elements/Hierarchy/ColumnBrowser/index.scss +0 -20
  281. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +0 -106
  282. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +0 -1
  283. package/dist/elements/Hierarchy/ColumnBrowser/types.js +0 -2
  284. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +0 -1
  285. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts +0 -11
  286. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +0 -1
  287. package/dist/elements/Hierarchy/DocHeaderButton/index.js +0 -126
  288. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +0 -1
  289. package/dist/elements/Hierarchy/DocHeaderButton/index.server.d.ts +0 -10
  290. package/dist/elements/Hierarchy/DocHeaderButton/index.server.d.ts.map +0 -1
  291. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +0 -34
  292. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +0 -1
  293. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts +0 -15
  294. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +0 -1
  295. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js +0 -60
  296. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +0 -1
  297. package/dist/elements/Hierarchy/Drawer/index.d.ts +0 -20
  298. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +0 -1
  299. package/dist/elements/Hierarchy/Drawer/index.js +0 -291
  300. package/dist/elements/Hierarchy/Drawer/index.js.map +0 -1
  301. package/dist/elements/Hierarchy/Drawer/index.scss +0 -81
  302. package/dist/elements/Hierarchy/Drawer/types.d.ts +0 -68
  303. package/dist/elements/Hierarchy/Drawer/types.d.ts.map +0 -1
  304. package/dist/elements/Hierarchy/Drawer/types.js +0 -3
  305. package/dist/elements/Hierarchy/Drawer/types.js.map +0 -1
  306. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +0 -30
  307. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +0 -1
  308. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js +0 -148
  309. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +0 -1
  310. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +0 -13
  311. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +0 -1
  312. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +0 -185
  313. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +0 -1
  314. package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +0 -78
  315. package/dist/elements/Hierarchy/Field/index.client.d.ts +0 -8
  316. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +0 -1
  317. package/dist/elements/Hierarchy/Field/index.client.js +0 -186
  318. package/dist/elements/Hierarchy/Field/index.client.js.map +0 -1
  319. package/dist/elements/Hierarchy/Field/index.scss +0 -35
  320. package/dist/elements/Hierarchy/Field/index.server.d.ts +0 -3
  321. package/dist/elements/Hierarchy/Field/index.server.d.ts.map +0 -1
  322. package/dist/elements/Hierarchy/Field/index.server.js +0 -30
  323. package/dist/elements/Hierarchy/Field/index.server.js.map +0 -1
  324. package/dist/elements/Hierarchy/HydrateProvider/index.d.ts +0 -4
  325. package/dist/elements/Hierarchy/HydrateProvider/index.d.ts.map +0 -1
  326. package/dist/elements/Hierarchy/HydrateProvider/index.js +0 -70
  327. package/dist/elements/Hierarchy/HydrateProvider/index.js.map +0 -1
  328. package/dist/elements/Hierarchy/MoveMany/index.d.ts +0 -22
  329. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +0 -1
  330. package/dist/elements/Hierarchy/MoveMany/index.js +0 -278
  331. package/dist/elements/Hierarchy/MoveMany/index.js.map +0 -1
  332. package/dist/elements/Hierarchy/MoveMany/index.scss +0 -7
  333. package/dist/elements/Hierarchy/Search/HierarchySearchInput.d.ts +0 -18
  334. package/dist/elements/Hierarchy/Search/HierarchySearchInput.d.ts.map +0 -1
  335. package/dist/elements/Hierarchy/Search/HierarchySearchInput.js +0 -115
  336. package/dist/elements/Hierarchy/Search/HierarchySearchInput.js.map +0 -1
  337. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.d.ts +0 -13
  338. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.d.ts.map +0 -1
  339. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js +0 -88
  340. package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js.map +0 -1
  341. package/dist/elements/Hierarchy/Search/HierarchySearchResults.d.ts +0 -17
  342. package/dist/elements/Hierarchy/Search/HierarchySearchResults.d.ts.map +0 -1
  343. package/dist/elements/Hierarchy/Search/HierarchySearchResults.js +0 -85
  344. package/dist/elements/Hierarchy/Search/HierarchySearchResults.js.map +0 -1
  345. package/dist/elements/Hierarchy/Search/index.d.ts +0 -10
  346. package/dist/elements/Hierarchy/Search/index.d.ts.map +0 -1
  347. package/dist/elements/Hierarchy/Search/index.js +0 -144
  348. package/dist/elements/Hierarchy/Search/index.js.map +0 -1
  349. package/dist/elements/Hierarchy/Search/index.scss +0 -212
  350. package/dist/elements/Hierarchy/Search/types.d.ts +0 -21
  351. package/dist/elements/Hierarchy/Search/types.d.ts.map +0 -1
  352. package/dist/elements/Hierarchy/Search/types.js +0 -2
  353. package/dist/elements/Hierarchy/Search/types.js.map +0 -1
  354. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts +0 -20
  355. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +0 -1
  356. package/dist/elements/Hierarchy/Search/useHierarchySearch.js +0 -122
  357. package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +0 -1
  358. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +0 -21
  359. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +0 -1
  360. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +0 -162
  361. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +0 -1
  362. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts +0 -7
  363. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +0 -1
  364. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +0 -177
  365. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +0 -1
  366. package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.d.ts +0 -8
  367. package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.d.ts.map +0 -1
  368. package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.js +0 -36
  369. package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.js.map +0 -1
  370. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +0 -12
  371. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +0 -1
  372. package/dist/elements/Hierarchy/Tree/LoadMore/index.js +0 -29
  373. package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +0 -1
  374. package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +0 -26
  375. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +0 -7
  376. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +0 -1
  377. package/dist/elements/Hierarchy/Tree/TreeConnector.js +0 -23
  378. package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +0 -1
  379. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +0 -28
  380. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +0 -1
  381. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +0 -140
  382. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +0 -1
  383. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +0 -5
  384. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +0 -1
  385. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +0 -225
  386. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +0 -1
  387. package/dist/elements/Hierarchy/Tree/TreeNode/index.scss +0 -110
  388. package/dist/elements/Hierarchy/Tree/index.d.ts +0 -5
  389. package/dist/elements/Hierarchy/Tree/index.d.ts.map +0 -1
  390. package/dist/elements/Hierarchy/Tree/index.js +0 -270
  391. package/dist/elements/Hierarchy/Tree/index.js.map +0 -1
  392. package/dist/elements/Hierarchy/Tree/index.scss +0 -60
  393. package/dist/elements/Hierarchy/Tree/types.d.ts +0 -76
  394. package/dist/elements/Hierarchy/Tree/types.d.ts.map +0 -1
  395. package/dist/elements/Hierarchy/Tree/types.js +0 -2
  396. package/dist/elements/Hierarchy/Tree/types.js.map +0 -1
  397. package/dist/elements/Hierarchy/Tree/useChildren.d.ts +0 -32
  398. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +0 -1
  399. package/dist/elements/Hierarchy/Tree/useChildren.js +0 -229
  400. package/dist/elements/Hierarchy/Tree/useChildren.js.map +0 -1
  401. package/dist/elements/LoadMoreRow/index.d.ts +0 -15
  402. package/dist/elements/LoadMoreRow/index.d.ts.map +0 -1
  403. package/dist/elements/LoadMoreRow/index.js +0 -75
  404. package/dist/elements/LoadMoreRow/index.js.map +0 -1
  405. package/dist/elements/LoadMoreRow/index.scss +0 -42
  406. package/dist/elements/Spinner/index.d.ts +0 -16
  407. package/dist/elements/Spinner/index.d.ts.map +0 -1
  408. package/dist/elements/Spinner/index.js +0 -49
  409. package/dist/elements/Spinner/index.js.map +0 -1
  410. package/dist/elements/Spinner/index.scss +0 -39
  411. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts +0 -6
  412. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +0 -1
  413. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +0 -187
  414. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +0 -1
  415. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.scss +0 -29
  416. package/dist/fields/Null/index.d.ts +0 -11
  417. package/dist/fields/Null/index.d.ts.map +0 -1
  418. package/dist/fields/Null/index.js +0 -13
  419. package/dist/fields/Null/index.js.map +0 -1
  420. package/dist/icons/Filter/index.d.ts +0 -4
  421. package/dist/icons/Filter/index.d.ts.map +0 -1
  422. package/dist/icons/Filter/index.js +0 -15
  423. package/dist/icons/Filter/index.js.map +0 -1
  424. package/dist/icons/Filter/index.scss +0 -13
  425. package/dist/icons/TableView/index.d.ts +0 -3
  426. package/dist/icons/TableView/index.d.ts.map +0 -1
  427. package/dist/icons/TableView/index.js +0 -16
  428. package/dist/icons/TableView/index.js.map +0 -1
  429. package/dist/icons/Tag/index.d.ts +0 -8
  430. package/dist/icons/Tag/index.d.ts.map +0 -1
  431. package/dist/icons/Tag/index.js +0 -22
  432. package/dist/icons/Tag/index.js.map +0 -1
  433. package/dist/icons/Tag/index.scss +0 -14
  434. package/dist/providers/DocumentSelection/index.d.ts +0 -8
  435. package/dist/providers/DocumentSelection/index.d.ts.map +0 -1
  436. package/dist/providers/DocumentSelection/index.js +0 -239
  437. package/dist/providers/DocumentSelection/index.js.map +0 -1
  438. package/dist/providers/DocumentSelection/types.d.ts +0 -122
  439. package/dist/providers/DocumentSelection/types.d.ts.map +0 -1
  440. package/dist/providers/DocumentSelection/types.js +0 -5
  441. package/dist/providers/DocumentSelection/types.js.map +0 -1
  442. package/dist/providers/Hierarchy/index.d.ts +0 -5
  443. package/dist/providers/Hierarchy/index.d.ts.map +0 -1
  444. package/dist/providers/Hierarchy/index.js +0 -350
  445. package/dist/providers/Hierarchy/index.js.map +0 -1
  446. package/dist/providers/Hierarchy/types.d.ts +0 -106
  447. package/dist/providers/Hierarchy/types.d.ts.map +0 -1
  448. package/dist/providers/Hierarchy/types.js +0 -2
  449. package/dist/providers/Hierarchy/types.js.map +0 -1
  450. package/dist/providers/SidebarTabs/index.d.ts +0 -19
  451. package/dist/providers/SidebarTabs/index.d.ts.map +0 -1
  452. package/dist/providers/SidebarTabs/index.js +0 -24
  453. package/dist/providers/SidebarTabs/index.js.map +0 -1
  454. package/dist/utilities/isSuperset.d.ts +0 -6
  455. package/dist/utilities/isSuperset.d.ts.map +0 -1
  456. package/dist/utilities/isSuperset.js +0 -10
  457. package/dist/utilities/isSuperset.js.map +0 -1
  458. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts +0 -10
  459. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +0 -1
  460. package/dist/views/HierarchyList/DocumentListSelection/index.js +0 -194
  461. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +0 -1
  462. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +0 -21
  463. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +0 -1
  464. package/dist/views/HierarchyList/HierarchyListHeader/index.js +0 -67
  465. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +0 -1
  466. package/dist/views/HierarchyList/HierarchyListHeader/index.scss +0 -9
  467. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts +0 -4
  468. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +0 -1
  469. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +0 -104
  470. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +0 -1
  471. package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts +0 -4
  472. package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts.map +0 -1
  473. package/dist/views/HierarchyList/HierarchyTable/DateCell.js +0 -53
  474. package/dist/views/HierarchyList/HierarchyTable/DateCell.js.map +0 -1
  475. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts +0 -4
  476. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts.map +0 -1
  477. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +0 -128
  478. package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +0 -1
  479. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +0 -99
  480. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +0 -1
  481. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +0 -118
  482. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +0 -1
  483. package/dist/views/HierarchyList/HierarchyTable/SlotTable.scss +0 -214
  484. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +0 -27
  485. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +0 -1
  486. package/dist/views/HierarchyList/HierarchyTable/index.js +0 -388
  487. package/dist/views/HierarchyList/HierarchyTable/index.js.map +0 -1
  488. package/dist/views/HierarchyList/HierarchyTable/index.scss +0 -148
  489. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +0 -20
  490. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +0 -1
  491. package/dist/views/HierarchyList/HierarchyTable/types.js +0 -2
  492. package/dist/views/HierarchyList/HierarchyTable/types.js.map +0 -1
  493. package/dist/views/HierarchyList/TypeFilter/index.d.ts +0 -15
  494. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +0 -1
  495. package/dist/views/HierarchyList/TypeFilter/index.js +0 -37
  496. package/dist/views/HierarchyList/TypeFilter/index.js.map +0 -1
  497. package/dist/views/HierarchyList/TypeFilter/index.scss +0 -32
  498. package/dist/views/HierarchyList/index.d.ts +0 -5
  499. package/dist/views/HierarchyList/index.d.ts.map +0 -1
  500. package/dist/views/HierarchyList/index.js +0 -305
  501. package/dist/views/HierarchyList/index.js.map +0 -1
  502. package/dist/views/HierarchyList/index.scss +0 -72
@@ -1,270 +0,0 @@
1
- 'use client';
2
-
3
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
- import { getTranslation } from '@payloadcms/translations';
5
- import { useRouter } from 'next/navigation.js';
6
- import { DEFAULT_HIERARCHY_TREE_LIMIT } from 'payload/shared';
7
- import React, { useCallback, useId, useMemo, useRef } from 'react';
8
- import { TagIcon } from '../../../icons/Tag/index.js';
9
- import { useConfig } from '../../../providers/Config/index.js';
10
- import { useHierarchy } from '../../../providers/Hierarchy/index.js';
11
- import { useTranslation } from '../../../providers/Translation/index.js';
12
- import { CreateDocumentButton } from '../../CreateDocumentButton/index.js';
13
- import { DelayedSpinner } from '../../DelayedSpinner/index.js';
14
- import { LoadMore } from './LoadMore/index.js';
15
- import { TreeFocusProvider, useTreeFocus } from './TreeFocusContext.js';
16
- import { TreeNode } from './TreeNode/index.js';
17
- import { useChildren } from './useChildren.js';
18
- import './index.scss';
19
- const baseClass = 'tree';
20
- const getDocumentTitle = (doc, useAsTitle) => {
21
- const docId = doc.id;
22
- const idStr = typeof docId === 'number' ? String(docId) : docId;
23
- if (!useAsTitle) {
24
- return idStr;
25
- }
26
- const value = doc[useAsTitle];
27
- if (value && (typeof value === 'string' || typeof value === 'number')) {
28
- return String(value);
29
- }
30
- return idStr;
31
- };
32
- const HierarchyTreeInner = ({
33
- baseFilter,
34
- collectionSlug,
35
- filterByCollections,
36
- icon,
37
- initialData: initialDataProp,
38
- initialExpandedNodes: initialExpandedNodesProp,
39
- onNodeClick,
40
- selectedNodeId,
41
- useAsTitle: useAsTitleProp
42
- }) => {
43
- const {
44
- moveFocus
45
- } = useTreeFocus();
46
- const router = useRouter();
47
- const {
48
- i18n,
49
- t
50
- } = useTranslation();
51
- const {
52
- getEntityConfig
53
- } = useConfig();
54
- const createDrawerSlug = `tree-create-${useId()}`;
55
- const {
56
- getExpandedNodesForCollection,
57
- getTreeDataForCollection,
58
- toggleNodeForCollection,
59
- typeFieldName
60
- } = useHierarchy();
61
- const collectionConfig = getEntityConfig({
62
- collectionSlug
63
- });
64
- const hierarchyConfig = collectionConfig.hierarchy && typeof collectionConfig.hierarchy === 'object' ? collectionConfig.hierarchy : undefined;
65
- const parentFieldName = hierarchyConfig?.parentFieldName;
66
- const treeLimit = hierarchyConfig?.admin?.treeLimit ?? DEFAULT_HIERARCHY_TREE_LIMIT;
67
- const useAsTitle = useAsTitleProp ?? collectionConfig.admin?.useAsTitle;
68
- const allPossibleTypeValues = useMemo(() => hierarchyConfig?.relatedCollections ? Object.keys(hierarchyConfig.relatedCollections) : undefined, [hierarchyConfig?.relatedCollections]);
69
- const contextData = getTreeDataForCollection(collectionSlug);
70
- const baseFilterKey = baseFilter ? JSON.stringify(baseFilter) : '';
71
- const contextBaseFilterKey = contextData?.baseFilter ? JSON.stringify(contextData.baseFilter) : '';
72
- const initialData = baseFilterKey === contextBaseFilterKey ? contextData ?? initialDataProp : initialDataProp;
73
- const expandedNodes = useMemo(() => {
74
- const contextExpanded = getExpandedNodesForCollection(collectionSlug);
75
- if (contextExpanded.size > 0) {
76
- return contextExpanded;
77
- }
78
- return initialExpandedNodesProp ? new Set(initialExpandedNodesProp) : contextExpanded;
79
- }, [collectionSlug, getExpandedNodesForCollection, initialExpandedNodesProp]);
80
- const handleToggleNode = useCallback(({
81
- id
82
- }) => {
83
- toggleNodeForCollection(collectionSlug, id);
84
- }, [collectionSlug, toggleNodeForCollection]);
85
- // Pre-populate cache with initialData synchronously before first render
86
- const childrenCache = useRef(new Map());
87
- const prevBaseFilterKeyRef = useRef(baseFilterKey);
88
- if (prevBaseFilterKeyRef.current !== baseFilterKey) {
89
- prevBaseFilterKeyRef.current = baseFilterKey;
90
- childrenCache.current.clear();
91
- }
92
- useMemo(() => {
93
- if (!initialData || initialData.docs.length === 0) {
94
- return;
95
- }
96
- const docsByParent = new Map();
97
- for (const doc of initialData.docs) {
98
- const parentId = doc[parentFieldName] || 'null';
99
- const parentKey = String(parentId);
100
- if (!docsByParent.has(parentKey)) {
101
- docsByParent.set(parentKey, []);
102
- }
103
- docsByParent.get(parentKey).push(doc);
104
- }
105
- const filterKey = filterByCollections?.length ? filterByCollections.slice().sort().join(',') : '';
106
- for (const [parentKey_0, docs] of docsByParent) {
107
- const cacheKey = `${collectionSlug}-${parentKey_0}-${filterKey}-${baseFilterKey}`;
108
- const parentMeta = initialData.loadedParents[parentKey_0];
109
- if (parentMeta) {
110
- const loadedCount = parentMeta.loadedCount ?? docs.length;
111
- childrenCache.current.set(cacheKey, {
112
- children: docs,
113
- hasMore: parentMeta.hasMore,
114
- page: Math.ceil(loadedCount / treeLimit) || 1,
115
- totalDocs: parentMeta.totalDocs
116
- });
117
- } else {
118
- childrenCache.current.set(cacheKey, {
119
- children: docs,
120
- hasMore: false,
121
- page: 1,
122
- totalDocs: docs.length
123
- });
124
- }
125
- }
126
- }, [initialData, filterByCollections, parentFieldName, collectionSlug, treeLimit, baseFilterKey]);
127
- const treeRef = useRef(null);
128
- const {
129
- children: rootNodes,
130
- hasMore,
131
- isLoading,
132
- loadMore: loadMoreFromHook,
133
- refresh,
134
- totalDocs
135
- } = useChildren({
136
- allPossibleTypeValues,
137
- baseFilter,
138
- cache: childrenCache,
139
- collectionSlug,
140
- enabled: true,
141
- filterByCollections,
142
- initialData,
143
- limit: treeLimit,
144
- parentFieldName,
145
- parentId: 'null',
146
- typeFieldName,
147
- useAsTitle
148
- });
149
- const handleLoadMore = useCallback(async () => {
150
- await loadMoreFromHook();
151
- }, [loadMoreFromHook]);
152
- const handleNodeClick = useCallback(({
153
- id: id_0
154
- }) => {
155
- onNodeClick?.({
156
- id: id_0
157
- });
158
- }, [onNodeClick]);
159
- const handleTreeKeyDown = useCallback(e => {
160
- if (e.key === 'ArrowDown') {
161
- e.preventDefault();
162
- moveFocus('down');
163
- } else if (e.key === 'ArrowUp') {
164
- e.preventDefault();
165
- moveFocus('up');
166
- }
167
- }, [moveFocus]);
168
- if (isLoading && !rootNodes) {
169
- return /*#__PURE__*/_jsx("div", {
170
- className: baseClass,
171
- children: /*#__PURE__*/_jsx(DelayedSpinner, {
172
- baseClass: baseClass,
173
- isLoading: true
174
- })
175
- });
176
- }
177
- if (!rootNodes || rootNodes.length === 0) {
178
- const collectionLabel = getEntityConfig({
179
- collectionSlug
180
- });
181
- return /*#__PURE__*/_jsx("div", {
182
- className: baseClass,
183
- children: /*#__PURE__*/_jsx(CreateDocumentButton, {
184
- buttonStyle: "primary",
185
- collections: [{
186
- collectionSlug
187
- }],
188
- drawerSlug: createDrawerSlug,
189
- label: t('general:createNewLabel', {
190
- label: getTranslation(collectionLabel.labels.singular, i18n)
191
- }),
192
- onSave: async () => {
193
- await refresh();
194
- router.refresh();
195
- }
196
- })
197
- });
198
- }
199
- const isAllSelected = selectedNodeId === null;
200
- const handleAllClick = () => onNodeClick?.({
201
- id: null
202
- });
203
- return /*#__PURE__*/_jsxs("div", {
204
- className: baseClass,
205
- onKeyDown: handleTreeKeyDown,
206
- ref: treeRef,
207
- role: "tree",
208
- tabIndex: -1,
209
- children: [/*#__PURE__*/_jsxs("div", {
210
- "aria-selected": isAllSelected,
211
- className: [`${baseClass}__all-option`, isAllSelected && `${baseClass}__all-option--selected`].filter(Boolean).join(' '),
212
- onClick: handleAllClick,
213
- onKeyDown: e_0 => {
214
- if (e_0.key === 'Enter' || e_0.key === ' ') {
215
- e_0.preventDefault();
216
- handleAllClick();
217
- }
218
- },
219
- role: "treeitem",
220
- tabIndex: 0,
221
- children: [icon || /*#__PURE__*/_jsx(TagIcon, {
222
- color: "muted"
223
- }), /*#__PURE__*/_jsxs("span", {
224
- children: [t('general:all'), ' ', getTranslation(getEntityConfig({
225
- collectionSlug
226
- })?.labels?.plural, i18n)]
227
- })]
228
- }), rootNodes.map(node => {
229
- const nodeId = node.id;
230
- const nodeIdStr = typeof nodeId === 'number' ? String(nodeId) : nodeId;
231
- const nodeTitle = getDocumentTitle(node, useAsTitle);
232
- return /*#__PURE__*/_jsx(TreeNode, {
233
- allPossibleTypeValues: allPossibleTypeValues,
234
- baseFilter: baseFilter,
235
- cache: childrenCache,
236
- collectionSlug: collectionSlug,
237
- depth: 0,
238
- expandedNodes: expandedNodes,
239
- filterByCollections: filterByCollections,
240
- limit: treeLimit,
241
- node: {
242
- id: nodeId,
243
- hasChildren: true,
244
- title: nodeTitle
245
- },
246
- onSelect: handleNodeClick,
247
- onToggle: handleToggleNode,
248
- parentFieldName: parentFieldName,
249
- selected: nodeIdStr === String(selectedNodeId),
250
- selectedNodeId: selectedNodeId,
251
- typeFieldName: typeFieldName,
252
- useAsTitle: useAsTitle
253
- }, nodeIdStr);
254
- }), hasMore && /*#__PURE__*/_jsx(LoadMore, {
255
- currentCount: rootNodes.length,
256
- depth: 0,
257
- id: "load-more-root",
258
- onLoadMore: handleLoadMore,
259
- totalDocs: totalDocs
260
- })]
261
- });
262
- };
263
- export const HierarchyTree = props => {
264
- return /*#__PURE__*/_jsx(TreeFocusProvider, {
265
- children: /*#__PURE__*/_jsx(HierarchyTreeInner, {
266
- ...props
267
- })
268
- });
269
- };
270
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","useRouter","DEFAULT_HIERARCHY_TREE_LIMIT","React","useCallback","useId","useMemo","useRef","TagIcon","useConfig","useHierarchy","useTranslation","CreateDocumentButton","DelayedSpinner","LoadMore","TreeFocusProvider","useTreeFocus","TreeNode","useChildren","baseClass","getDocumentTitle","doc","useAsTitle","docId","id","idStr","String","value","HierarchyTreeInner","baseFilter","collectionSlug","filterByCollections","icon","initialData","initialDataProp","initialExpandedNodes","initialExpandedNodesProp","onNodeClick","selectedNodeId","useAsTitleProp","moveFocus","router","i18n","t","getEntityConfig","createDrawerSlug","getExpandedNodesForCollection","getTreeDataForCollection","toggleNodeForCollection","typeFieldName","collectionConfig","hierarchyConfig","hierarchy","undefined","parentFieldName","treeLimit","admin","allPossibleTypeValues","relatedCollections","Object","keys","contextData","baseFilterKey","JSON","stringify","contextBaseFilterKey","expandedNodes","contextExpanded","size","Set","handleToggleNode","childrenCache","Map","prevBaseFilterKeyRef","current","clear","docs","length","docsByParent","parentId","parentKey","has","set","get","push","filterKey","slice","sort","join","cacheKey","parentMeta","loadedParents","loadedCount","children","hasMore","page","Math","ceil","totalDocs","treeRef","rootNodes","isLoading","loadMore","loadMoreFromHook","refresh","cache","enabled","limit","handleLoadMore","handleNodeClick","handleTreeKeyDown","e","key","preventDefault","_jsx","className","collectionLabel","buttonStyle","collections","drawerSlug","label","labels","singular","onSave","isAllSelected","handleAllClick","_jsxs","onKeyDown","ref","role","tabIndex","filter","Boolean","onClick","color","plural","map","node","nodeId","nodeIdStr","nodeTitle","depth","hasChildren","title","onSelect","onToggle","selected","currentCount","onLoadMore","HierarchyTree","props"],"sources":["../../../../src/elements/Hierarchy/Tree/index.tsx"],"sourcesContent":["'use client'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport { DEFAULT_HIERARCHY_TREE_LIMIT } from 'payload/shared'\nimport React, { useCallback, useId, useMemo, useRef } from 'react'\n\nimport type { CachedChildren, HierarchyTreeProps, TreeDocument } from './types.js'\n\nimport { TagIcon } from '../../../icons/Tag/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useHierarchy } from '../../../providers/Hierarchy/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { CreateDocumentButton } from '../../CreateDocumentButton/index.js'\nimport { DelayedSpinner } from '../../DelayedSpinner/index.js'\nimport { LoadMore } from './LoadMore/index.js'\nimport { TreeFocusProvider, useTreeFocus } from './TreeFocusContext.js'\nimport { TreeNode } from './TreeNode/index.js'\nimport { useChildren } from './useChildren.js'\nimport './index.scss'\n\nconst baseClass = 'tree'\n\nconst getDocumentTitle = (doc: TreeDocument, useAsTitle: string | undefined): string => {\n const docId: number | string = doc.id\n const idStr = typeof docId === 'number' ? String(docId) : docId\n\n if (!useAsTitle) {\n return idStr\n }\n\n const value = doc[useAsTitle]\n if (value && (typeof value === 'string' || typeof value === 'number')) {\n return String(value)\n }\n return idStr\n}\n\nconst HierarchyTreeInner: React.FC<HierarchyTreeProps> = ({\n baseFilter,\n collectionSlug,\n filterByCollections,\n icon,\n initialData: initialDataProp,\n initialExpandedNodes: initialExpandedNodesProp,\n onNodeClick,\n selectedNodeId,\n useAsTitle: useAsTitleProp,\n}) => {\n const { moveFocus } = useTreeFocus()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const { getEntityConfig } = useConfig()\n const createDrawerSlug = `tree-create-${useId()}`\n\n const {\n getExpandedNodesForCollection,\n getTreeDataForCollection,\n toggleNodeForCollection,\n typeFieldName,\n } = useHierarchy()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const hierarchyConfig =\n collectionConfig.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n const parentFieldName = hierarchyConfig?.parentFieldName\n const treeLimit = hierarchyConfig?.admin?.treeLimit ?? DEFAULT_HIERARCHY_TREE_LIMIT\n const useAsTitle = useAsTitleProp ?? collectionConfig.admin?.useAsTitle\n\n const allPossibleTypeValues = useMemo(\n () =>\n hierarchyConfig?.relatedCollections\n ? Object.keys(hierarchyConfig.relatedCollections)\n : undefined,\n [hierarchyConfig?.relatedCollections],\n )\n\n const contextData = getTreeDataForCollection(collectionSlug)\n const baseFilterKey = baseFilter ? JSON.stringify(baseFilter) : ''\n const contextBaseFilterKey = contextData?.baseFilter ? JSON.stringify(contextData.baseFilter) : ''\n const initialData =\n baseFilterKey === contextBaseFilterKey ? (contextData ?? initialDataProp) : initialDataProp\n\n const expandedNodes = useMemo(() => {\n const contextExpanded = getExpandedNodesForCollection(collectionSlug)\n if (contextExpanded.size > 0) {\n return contextExpanded\n }\n return initialExpandedNodesProp ? new Set(initialExpandedNodesProp) : contextExpanded\n }, [collectionSlug, getExpandedNodesForCollection, initialExpandedNodesProp])\n\n const handleToggleNode = useCallback(\n ({ id }: { id: number | string }) => {\n toggleNodeForCollection(collectionSlug, id)\n },\n [collectionSlug, toggleNodeForCollection],\n )\n\n // Pre-populate cache with initialData synchronously before first render\n const childrenCache = useRef<Map<string, CachedChildren>>(new Map())\n\n const prevBaseFilterKeyRef = useRef(baseFilterKey)\n if (prevBaseFilterKeyRef.current !== baseFilterKey) {\n prevBaseFilterKeyRef.current = baseFilterKey\n childrenCache.current.clear()\n }\n\n useMemo(() => {\n if (!initialData || initialData.docs.length === 0) {\n return\n }\n\n const docsByParent = new Map<string, TreeDocument[]>()\n for (const doc of initialData.docs) {\n const parentId = doc[parentFieldName] || 'null'\n const parentKey = String(parentId)\n if (!docsByParent.has(parentKey)) {\n docsByParent.set(parentKey, [])\n }\n docsByParent.get(parentKey).push(doc)\n }\n\n const filterKey = filterByCollections?.length\n ? filterByCollections.slice().sort().join(',')\n : ''\n for (const [parentKey, docs] of docsByParent) {\n const cacheKey = `${collectionSlug}-${parentKey}-${filterKey}-${baseFilterKey}`\n const parentMeta = initialData.loadedParents[parentKey]\n\n if (parentMeta) {\n const loadedCount = parentMeta.loadedCount ?? docs.length\n childrenCache.current.set(cacheKey, {\n children: docs,\n hasMore: parentMeta.hasMore,\n page: Math.ceil(loadedCount / treeLimit) || 1,\n totalDocs: parentMeta.totalDocs,\n })\n } else {\n childrenCache.current.set(cacheKey, {\n children: docs,\n hasMore: false,\n page: 1,\n totalDocs: docs.length,\n })\n }\n }\n }, [initialData, filterByCollections, parentFieldName, collectionSlug, treeLimit, baseFilterKey])\n\n const treeRef = useRef<HTMLDivElement>(null)\n\n const {\n children: rootNodes,\n hasMore,\n isLoading,\n loadMore: loadMoreFromHook,\n refresh,\n totalDocs,\n } = useChildren({\n allPossibleTypeValues,\n baseFilter,\n cache: childrenCache,\n collectionSlug,\n enabled: true,\n filterByCollections,\n initialData,\n limit: treeLimit,\n parentFieldName,\n parentId: 'null',\n typeFieldName,\n useAsTitle,\n })\n\n const handleLoadMore = useCallback(async () => {\n await loadMoreFromHook()\n }, [loadMoreFromHook])\n\n const handleNodeClick = useCallback(\n ({ id }: { id: number | string }) => {\n onNodeClick?.({ id })\n },\n [onNodeClick],\n )\n\n const handleTreeKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n moveFocus('down')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n moveFocus('up')\n }\n },\n [moveFocus],\n )\n\n if (isLoading && !rootNodes) {\n return (\n <div className={baseClass}>\n <DelayedSpinner baseClass={baseClass} isLoading={true} />\n </div>\n )\n }\n\n if (!rootNodes || rootNodes.length === 0) {\n const collectionLabel = getEntityConfig({ collectionSlug })\n return (\n <div className={baseClass}>\n <CreateDocumentButton\n buttonStyle=\"primary\"\n collections={[{ collectionSlug }]}\n drawerSlug={createDrawerSlug}\n label={t('general:createNewLabel', {\n label: getTranslation(collectionLabel.labels.singular, i18n),\n })}\n onSave={async () => {\n await refresh()\n router.refresh()\n }}\n />\n </div>\n )\n }\n\n const isAllSelected = selectedNodeId === null\n const handleAllClick = () => onNodeClick?.({ id: null })\n\n return (\n <div\n className={baseClass}\n onKeyDown={handleTreeKeyDown}\n ref={treeRef}\n role=\"tree\"\n tabIndex={-1}\n >\n <div\n aria-selected={isAllSelected}\n className={[\n `${baseClass}__all-option`,\n isAllSelected && `${baseClass}__all-option--selected`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={handleAllClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n handleAllClick()\n }\n }}\n role=\"treeitem\"\n tabIndex={0}\n >\n {icon || <TagIcon color=\"muted\" />}\n <span>\n {t('general:all')}{' '}\n {getTranslation(getEntityConfig({ collectionSlug })?.labels?.plural, i18n)}\n </span>\n </div>\n {rootNodes.map((node) => {\n const nodeId: number | string = node.id\n const nodeIdStr = typeof nodeId === 'number' ? String(nodeId) : nodeId\n const nodeTitle = getDocumentTitle(node, useAsTitle)\n\n return (\n <TreeNode\n allPossibleTypeValues={allPossibleTypeValues}\n baseFilter={baseFilter}\n cache={childrenCache}\n collectionSlug={collectionSlug}\n depth={0}\n expandedNodes={expandedNodes}\n filterByCollections={filterByCollections}\n key={nodeIdStr}\n limit={treeLimit}\n node={{ id: nodeId, hasChildren: true, title: nodeTitle }}\n onSelect={handleNodeClick}\n onToggle={handleToggleNode}\n parentFieldName={parentFieldName}\n selected={nodeIdStr === String(selectedNodeId)}\n selectedNodeId={selectedNodeId}\n typeFieldName={typeFieldName}\n useAsTitle={useAsTitle}\n />\n )\n })}\n {hasMore && (\n <LoadMore\n currentCount={rootNodes.length}\n depth={0}\n id=\"load-more-root\"\n onLoadMore={handleLoadMore}\n totalDocs={totalDocs}\n />\n )}\n </div>\n )\n}\n\nexport const HierarchyTree: React.FC<HierarchyTreeProps> = (props) => {\n return (\n <TreeFocusProvider>\n <HierarchyTreeInner {...props} />\n </TreeFocusProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,60 +0,0 @@
1
- @import '../../../scss/styles.scss';
2
-
3
- .tree {
4
- --tree-indent: 20px;
5
- --tree-chevron-width: 16px;
6
- --tree-chevron-spacing: 8px;
7
- --tree-node-padding-y: calc(var(--base) / 4);
8
- --tree-node-content-height: 24px;
9
- --tree-row-gap: 8px;
10
- --tree-font-size: 13px;
11
-
12
- padding: 0;
13
- margin: 0;
14
- margin-top: 2px; // account for accessibility outline
15
-
16
- &__all-option {
17
- display: flex;
18
- align-items: center;
19
- gap: 8px;
20
- padding: var(--tree-node-padding-y) 0;
21
- font-size: var(--tree-font-size);
22
- line-height: var(--tree-node-content-height);
23
- height: var(--tree-node-content-height);
24
- margin-bottom: var(--tree-row-gap);
25
- cursor: pointer;
26
- user-select: none;
27
- color: var(--theme-text);
28
- border-radius: var(--style-radius-s);
29
-
30
- &:hover {
31
- text-decoration: underline;
32
- }
33
- &:focus-visible {
34
- outline: var(--accessibility-outline);
35
- }
36
- &--selected {
37
- font-weight: 600;
38
- }
39
-
40
- svg {
41
- width: 16px;
42
- height: 16px;
43
- flex-shrink: 0;
44
- }
45
- }
46
-
47
- &__loading {
48
- display: flex;
49
- align-items: center;
50
- justify-content: center;
51
- padding: var(--base);
52
- min-height: 100px;
53
- }
54
-
55
- &__empty {
56
- padding: 12px 16px;
57
- color: var(--theme-elevation-500);
58
- font-size: var(--tree-font-size);
59
- }
60
- }
@@ -1,76 +0,0 @@
1
- import type { TypeWithID, Where } from 'payload';
2
- import type { ReactNode, RefObject } from 'react';
3
- export type HierarchyDocument = {
4
- [key: string]: unknown;
5
- } & TypeWithID;
6
- export type HierarchyInitialData = {
7
- baseFilter?: null | Where;
8
- docs: HierarchyDocument[];
9
- loadedParents: Record<string, {
10
- hasMore: boolean;
11
- loadedCount?: number;
12
- totalDocs: number;
13
- }>;
14
- };
15
- export type HierarchyTreeProps = {
16
- baseFilter?: null | Where;
17
- collectionSlug: string;
18
- filterByCollections?: string[];
19
- icon?: ReactNode;
20
- /** Initial data for first render (before context hydration). After hydration, context data takes precedence. */
21
- initialData?: HierarchyInitialData | null;
22
- /** Initial expanded nodes for first render (before context hydration). After hydration, context takes precedence. */
23
- initialExpandedNodes?: (number | string)[];
24
- onNodeClick?: ({ id }: {
25
- id: null | number | string;
26
- }) => void;
27
- selectedNodeId?: null | number | string;
28
- useAsTitle?: string;
29
- };
30
- export type TreeDocument = {
31
- [key: string]: unknown;
32
- id: number | string;
33
- };
34
- export type TreeNodeData = {
35
- hasChildren: boolean;
36
- id: number | string;
37
- title: string;
38
- };
39
- export type CachedChildren = {
40
- children: TreeDocument[];
41
- hasMore: boolean;
42
- page: number;
43
- totalDocs: number;
44
- };
45
- export type TreeCache = RefObject<Map<string, CachedChildren>>;
46
- export type TreeInitialData = {
47
- docs: TreeDocument[];
48
- loadedParents: Record<string, {
49
- hasMore: boolean;
50
- loadedCount?: number;
51
- totalDocs: number;
52
- }>;
53
- };
54
- export type TreeNodeProps = {
55
- allPossibleTypeValues?: string[];
56
- baseFilter?: null | Where;
57
- cache: TreeCache;
58
- collectionSlug: string;
59
- depth: number;
60
- expandedNodes: Set<number | string>;
61
- filterByCollections?: string[];
62
- limit: number;
63
- node: TreeNodeData;
64
- onSelect?: ({ id }: {
65
- id: number | string;
66
- }) => void;
67
- onToggle: ({ id }: {
68
- id: number | string;
69
- }) => void;
70
- parentFieldName: string;
71
- selected?: boolean;
72
- selectedNodeId?: number | string;
73
- typeFieldName?: null | string;
74
- useAsTitle?: string;
75
- };
76
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Tree/types.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/elements/Hierarchy/Tree/types.ts"],"sourcesContent":["import type { TypeWithID, Where } from 'payload'\nimport type { ReactNode, RefObject } from 'react'\n\nexport type HierarchyDocument = {\n [key: string]: unknown\n} & TypeWithID\n\nexport type HierarchyInitialData = {\n baseFilter?: null | Where\n docs: HierarchyDocument[]\n // Metadata about what was loaded - keyed by parent ID ('null' for root)\n loadedParents: Record<string, { hasMore: boolean; loadedCount?: number; totalDocs: number }>\n}\n\nexport type HierarchyTreeProps = {\n baseFilter?: null | Where\n collectionSlug: string\n filterByCollections?: string[]\n icon?: ReactNode\n /** Initial data for first render (before context hydration). After hydration, context data takes precedence. */\n initialData?: HierarchyInitialData | null\n /** Initial expanded nodes for first render (before context hydration). After hydration, context takes precedence. */\n initialExpandedNodes?: (number | string)[]\n onNodeClick?: ({ id }: { id: null | number | string }) => void\n selectedNodeId?: null | number | string\n useAsTitle?: string\n}\n\n// Tree primitive types (used by TreeNode, useChildren, HierarchyTree)\n\nexport type TreeDocument = {\n [key: string]: unknown\n id: number | string\n}\n\nexport type TreeNodeData = {\n hasChildren: boolean\n id: number | string\n title: string\n}\n\nexport type CachedChildren = {\n children: TreeDocument[]\n hasMore: boolean\n page: number\n totalDocs: number\n}\n\nexport type TreeCache = RefObject<Map<string, CachedChildren>>\n\nexport type TreeInitialData = {\n docs: TreeDocument[]\n loadedParents: Record<string, { hasMore: boolean; loadedCount?: number; totalDocs: number }>\n}\n\nexport type TreeNodeProps = {\n allPossibleTypeValues?: string[]\n baseFilter?: null | Where\n cache: TreeCache\n collectionSlug: string\n depth: number\n expandedNodes: Set<number | string>\n filterByCollections?: string[]\n limit: number\n node: TreeNodeData\n onSelect?: ({ id }: { id: number | string }) => void\n onToggle: ({ id }: { id: number | string }) => void\n parentFieldName: string\n selected?: boolean\n selectedNodeId?: number | string\n typeFieldName?: null | string\n useAsTitle?: string\n}\n"],"mappings":"AAuDA","ignoreList":[]}
@@ -1,32 +0,0 @@
1
- import type { Where } from 'payload';
2
- import type { TreeCache, TreeDocument, TreeInitialData } from './types.js';
3
- type UseChildrenArgs = {
4
- allPossibleTypeValues?: string[];
5
- /** Base filter to apply to all queries (e.g., tenant filter) */
6
- baseFilter?: null | Where;
7
- cache?: TreeCache;
8
- /** Pre-computed cache key to ensure consistency with cache population */
9
- cacheKey?: string;
10
- collectionSlug: string;
11
- enabled?: boolean;
12
- filterByCollections?: string[];
13
- initialData?: null | TreeInitialData;
14
- limit?: number;
15
- parentFieldName: string;
16
- parentId: number | string;
17
- typeFieldName?: null | string;
18
- useAsTitle?: string;
19
- };
20
- type UseChildrenReturn = {
21
- children: null | TreeDocument[];
22
- hasMore: boolean;
23
- isLoading: boolean;
24
- /** Explicitly load children. Safe to call multiple times — no-ops if already loaded. */
25
- load: () => Promise<TreeDocument[]>;
26
- loadMore: () => Promise<TreeDocument[]>;
27
- refresh: () => Promise<TreeDocument[]>;
28
- totalDocs: number;
29
- };
30
- export declare const useChildren: ({ allPossibleTypeValues, baseFilter, cache, cacheKey: cacheKeyProp, collectionSlug, enabled, filterByCollections, initialData, limit, parentFieldName, parentId, typeFieldName, useAsTitle, }: UseChildrenArgs) => UseChildrenReturn;
31
- export {};
32
- //# sourceMappingURL=useChildren.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useChildren.d.ts","sourceRoot":"","sources":["../../../../src/elements/Hierarchy/Tree/useChildren.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAMpC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAK1E,KAAK,eAAe,GAAG;IACrB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;IAChC,gEAAgE;IAChE,UAAU,CAAC,EAAE,IAAI,GAAG,KAAK,CAAA;IACzB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B,WAAW,CAAC,EAAE,IAAI,GAAG,eAAe,CAAA;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,IAAI,GAAG,YAAY,EAAE,CAAA;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,wFAAwF;IACxF,IAAI,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IACnC,QAAQ,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IACvC,OAAO,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IACtC,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,WAAW,kMAcrB,eAAe,KAAG,iBAqPpB,CAAA"}