@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
@@ -4,7 +4,7 @@ import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
5
  import { createElement as _createElement } from "react";
6
6
  import { useModal } from '@faceless-ui/modal';
7
- import React, { useCallback, useEffect, useId, useMemo, useState } from 'react';
7
+ import React, { useCallback, useId, useMemo, useRef } from 'react';
8
8
  import { useRelatedCollections } from '../../hooks/useRelatedCollections.js';
9
9
  import { useEditDepth } from '../../providers/EditDepth/index.js';
10
10
  import { useTranslation } from '../../providers/Translation/index.js';
@@ -88,157 +88,70 @@ export const DocumentDrawer = props => {
88
88
  * <DocumentDrawer collectionSlug="posts" id={postId} />
89
89
  * </div>
90
90
  */
91
- export const useDocumentDrawer = t0 => {
92
- const $ = _c(38);
93
- const {
94
- id,
95
- collectionSlug,
96
- overrideEntityVisibility
97
- } = t0;
91
+ export const useDocumentDrawer = ({
92
+ id,
93
+ collectionSlug,
94
+ drawerSlug: drawerSlugFromProps,
95
+ overrideEntityVisibility
96
+ }) => {
98
97
  const editDepth = useEditDepth();
99
98
  const uuid = useId();
100
99
  const {
101
100
  closeModal,
102
- modalState,
103
101
  openModal,
104
102
  toggleModal
105
103
  } = useModal();
106
- const [isOpen, setIsOpen] = useState(false);
107
- let t1;
108
- if ($[0] !== collectionSlug || $[1] !== editDepth || $[2] !== id || $[3] !== uuid) {
109
- t1 = formatDocumentDrawerSlug({
110
- id,
111
- collectionSlug,
112
- depth: editDepth,
113
- uuid
114
- });
115
- $[0] = collectionSlug;
116
- $[1] = editDepth;
117
- $[2] = id;
118
- $[3] = uuid;
119
- $[4] = t1;
120
- } else {
121
- t1 = $[4];
122
- }
123
- const drawerSlug = t1;
124
- let t2;
125
- let t3;
126
- if ($[5] !== drawerSlug || $[6] !== modalState) {
127
- t2 = () => {
128
- setIsOpen(Boolean(modalState[drawerSlug]?.isOpen));
129
- };
130
- t3 = [modalState, drawerSlug];
131
- $[5] = drawerSlug;
132
- $[6] = modalState;
133
- $[7] = t2;
134
- $[8] = t3;
135
- } else {
136
- t2 = $[7];
137
- t3 = $[8];
138
- }
139
- useEffect(t2, t3);
140
- let t4;
141
- if ($[9] !== drawerSlug || $[10] !== toggleModal) {
142
- t4 = () => {
143
- toggleModal(drawerSlug);
144
- };
145
- $[9] = drawerSlug;
146
- $[10] = toggleModal;
147
- $[11] = t4;
148
- } else {
149
- t4 = $[11];
150
- }
151
- const toggleDrawer = t4;
152
- let t5;
153
- if ($[12] !== closeModal || $[13] !== drawerSlug) {
154
- t5 = () => {
155
- closeModal(drawerSlug);
156
- };
157
- $[12] = closeModal;
158
- $[13] = drawerSlug;
159
- $[14] = t5;
160
- } else {
161
- t5 = $[14];
162
- }
163
- const closeDrawer = t5;
164
- let t6;
165
- if ($[15] !== drawerSlug || $[16] !== openModal) {
166
- t6 = () => {
167
- openModal(drawerSlug);
168
- };
169
- $[15] = drawerSlug;
170
- $[16] = openModal;
171
- $[17] = t6;
172
- } else {
173
- t6 = $[17];
174
- }
175
- const openDrawer = t6;
176
- let t7;
177
- if ($[18] !== collectionSlug || $[19] !== drawerSlug || $[20] !== id || $[21] !== overrideEntityVisibility) {
178
- t7 = props => _createElement(DocumentDrawer, {
104
+ // Use provided slug or generate one
105
+ const drawerSlug = drawerSlugFromProps || formatDocumentDrawerSlug({
106
+ id,
107
+ collectionSlug,
108
+ depth: editDepth,
109
+ uuid
110
+ });
111
+ // Store modal functions in refs to ensure stable callbacks
112
+ // This prevents re-renders when other modals change state
113
+ const closeModalRef = useRef(closeModal);
114
+ const openModalRef = useRef(openModal);
115
+ const toggleModalRef = useRef(toggleModal);
116
+ closeModalRef.current = closeModal;
117
+ openModalRef.current = openModal;
118
+ toggleModalRef.current = toggleModal;
119
+ const toggleDrawer = useCallback(() => {
120
+ toggleModalRef.current(drawerSlug);
121
+ }, [drawerSlug]);
122
+ const closeDrawer = useCallback(() => {
123
+ closeModalRef.current(drawerSlug);
124
+ }, [drawerSlug]);
125
+ const openDrawer = useCallback(() => {
126
+ openModalRef.current(drawerSlug);
127
+ }, [drawerSlug]);
128
+ const MemoizedDrawer = useMemo(() => {
129
+ return props => /*#__PURE__*/_createElement(DocumentDrawer, {
179
130
  ...props,
180
- collectionSlug,
181
- drawerSlug,
182
- id,
131
+ collectionSlug: collectionSlug,
132
+ drawerSlug: drawerSlug,
133
+ id: id,
183
134
  key: drawerSlug,
184
- overrideEntityVisibility
135
+ overrideEntityVisibility: overrideEntityVisibility
185
136
  });
186
- $[18] = collectionSlug;
187
- $[19] = drawerSlug;
188
- $[20] = id;
189
- $[21] = overrideEntityVisibility;
190
- $[22] = t7;
191
- } else {
192
- t7 = $[22];
193
- }
194
- const MemoizedDrawer = t7;
195
- let t8;
196
- if ($[23] !== collectionSlug || $[24] !== drawerSlug || $[25] !== id) {
197
- t8 = props_0 => _jsx(DocumentDrawerToggler, {
137
+ }, [id, drawerSlug, collectionSlug, overrideEntityVisibility]);
138
+ const MemoizedDrawerToggler = useMemo(() => {
139
+ return props_0 => /*#__PURE__*/_jsx(DocumentDrawerToggler, {
198
140
  ...props_0,
199
- collectionSlug,
200
- drawerSlug,
201
- operation: !id ? "create" : "update"
141
+ collectionSlug: collectionSlug,
142
+ drawerSlug: drawerSlug,
143
+ operation: !id ? 'create' : 'update'
202
144
  });
203
- $[23] = collectionSlug;
204
- $[24] = drawerSlug;
205
- $[25] = id;
206
- $[26] = t8;
207
- } else {
208
- t8 = $[26];
209
- }
210
- const MemoizedDrawerToggler = t8;
211
- let t9;
212
- if ($[27] !== closeDrawer || $[28] !== drawerSlug || $[29] !== editDepth || $[30] !== isOpen || $[31] !== openDrawer || $[32] !== toggleDrawer) {
213
- t9 = {
214
- closeDrawer,
215
- drawerDepth: editDepth,
216
- drawerSlug,
217
- isDrawerOpen: isOpen,
218
- openDrawer,
219
- toggleDrawer
220
- };
221
- $[27] = closeDrawer;
222
- $[28] = drawerSlug;
223
- $[29] = editDepth;
224
- $[30] = isOpen;
225
- $[31] = openDrawer;
226
- $[32] = toggleDrawer;
227
- $[33] = t9;
228
- } else {
229
- t9 = $[33];
230
- }
231
- const MemoizedDrawerState = t9;
232
- let t10;
233
- if ($[34] !== MemoizedDrawer || $[35] !== MemoizedDrawerState || $[36] !== MemoizedDrawerToggler) {
234
- t10 = [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState];
235
- $[34] = MemoizedDrawer;
236
- $[35] = MemoizedDrawerState;
237
- $[36] = MemoizedDrawerToggler;
238
- $[37] = t10;
239
- } else {
240
- t10 = $[37];
241
- }
242
- return t10;
145
+ }, [id, drawerSlug, collectionSlug]);
146
+ const MemoizedDrawerState = useMemo(() => ({
147
+ closeDrawer,
148
+ drawerDepth: editDepth,
149
+ drawerSlug,
150
+ // Note: Not tracking isDrawerOpen to prevent re-renders when modals change state
151
+ isDrawerOpen: false,
152
+ openDrawer,
153
+ toggleDrawer
154
+ }), [editDepth, drawerSlug, toggleDrawer, closeDrawer, openDrawer]);
155
+ return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState];
243
156
  };
244
157
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","React","useCallback","useEffect","useId","useMemo","useState","useRelatedCollections","useEditDepth","useTranslation","Drawer","DrawerToggler","DocumentDrawerContent","documentDrawerBaseClass","formatDocumentDrawerSlug","id","collectionSlug","depth","uuid","DocumentDrawerToggler","t0","$","children","className","disabled","drawerSlug","onClick","operation","rest","t","collectionConfig","t1","label","labels","singular","t2","filter","Boolean","_jsx","join","slug","DocumentDrawer","props","gutter","Header","useDocumentDrawer","overrideEntityVisibility","editDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","t3","t4","toggleDrawer","t5","closeDrawer","t6","openDrawer","t7","_createElement","key","MemoizedDrawer","t8","props_0","MemoizedDrawerToggler","t9","drawerDepth","isDrawerOpen","MemoizedDrawerState","t10"],"sources":["../../../src/elements/DocumentDrawer/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type {\n DocumentDrawerProps,\n DocumentTogglerProps,\n UseDocumentDrawer,\n UseDocumentDrawerContext,\n} from './types.js'\n\nimport { useRelatedCollections } from '../../hooks/useRelatedCollections.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { DocumentDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const documentDrawerBaseClass = 'doc-drawer'\n\nconst formatDocumentDrawerSlug = ({\n id,\n collectionSlug,\n depth,\n uuid,\n}: {\n collectionSlug: string\n depth: number\n id?: number | string\n uuid: string\n}) => `doc-drawer_${collectionSlug}_${depth}${id ? `_${id}` : ''}_${uuid}`\n\nexport const DocumentDrawerToggler: React.FC<DocumentTogglerProps> = ({\n children,\n className,\n collectionSlug,\n disabled,\n drawerSlug,\n onClick,\n operation,\n ...rest\n}) => {\n const { t } = useTranslation()\n const [collectionConfig] = useRelatedCollections(collectionSlug)\n\n return (\n <DrawerToggler\n aria-label={t(operation === 'create' ? 'fields:addNewLabel' : 'general:editLabel', {\n label: collectionConfig?.labels.singular,\n })}\n className={[className, `${documentDrawerBaseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n onClick={onClick}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const DocumentDrawer: React.FC<DocumentDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer className={documentDrawerBaseClass} gutter={false} Header={null} slug={drawerSlug}>\n <DocumentDrawerContent {...props} />\n </Drawer>\n )\n}\n\n/**\n * A hook to manage documents from a drawer modal.\n * It provides the components and methods needed to open, close, and interact with the drawer.\n * @example\n * const [DocumentDrawer, DocumentDrawerToggler, { openDrawer, closeDrawer }] = useDocumentDrawer({\n * collectionSlug: 'posts',\n * id: postId, // optional, if not provided, it will render the \"create new\" view\n * })\n *\n * // ...\n *\n * return (\n * <div>\n * <DocumentDrawerToggler collectionSlug=\"posts\" id={postId}>\n * Edit Post\n * </DocumentDrawerToggler>\n * <DocumentDrawer collectionSlug=\"posts\" id={postId} />\n * </div>\n */\nexport const useDocumentDrawer: UseDocumentDrawer = ({\n id,\n collectionSlug,\n overrideEntityVisibility,\n}) => {\n const editDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n\n const drawerSlug = formatDocumentDrawerSlug({\n id,\n collectionSlug,\n depth: editDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [closeModal, drawerSlug])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [openModal, drawerSlug])\n\n const MemoizedDrawer = useMemo<React.FC<DocumentDrawerProps>>(() => {\n return (props) => (\n <DocumentDrawer\n {...props}\n collectionSlug={collectionSlug}\n drawerSlug={drawerSlug}\n id={id}\n key={drawerSlug}\n overrideEntityVisibility={overrideEntityVisibility}\n />\n )\n }, [id, drawerSlug, collectionSlug, overrideEntityVisibility])\n\n const MemoizedDrawerToggler = useMemo<React.FC<DocumentTogglerProps>>(() => {\n return (props) => (\n <DocumentDrawerToggler\n {...props}\n collectionSlug={collectionSlug}\n drawerSlug={drawerSlug}\n operation={!id ? 'create' : 'update'}\n />\n )\n }, [id, drawerSlug, collectionSlug])\n\n const MemoizedDrawerState = useMemo<UseDocumentDrawerContext>(\n () => ({\n closeDrawer,\n drawerDepth: editDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n toggleDrawer,\n }),\n [editDepth, drawerSlug, isOpen, toggleDrawer, closeDrawer, openDrawer],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;;AACA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,KAAK,EAAEC,OAAO,EAAEC,QAAQ,QAAQ;AASxE,SAASC,qBAAqB,QAAQ;AACtC,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,EAAEC,aAAa,QAAQ;AACtC,SAASC,qBAAqB,QAAQ;AACtC,OAAO;AAEP,OAAO,MAAMC,uBAAA,GAA0B;AAEvC,MAAMC,wBAAA,GAA2BA,CAAC;EAChCC,EAAE;EACFC,cAAc;EACdC,KAAK;EACLC;AAAI,CAML,KAAK,cAAcF,cAAA,IAAkBC,KAAA,GAAQF,EAAA,GAAK,IAAIA,EAAA,EAAI,GAAG,MAAMG,IAAA,EAAM;AAE1E,OAAO,MAAMC,qBAAA,GAAwDC,EAAA;EAAA,MAAAC,CAAA,GAAAtB,EAAA;EAAC;IAAAuB,QAAA;IAAAC,SAAA;IAAAP,cAAA;IAAAQ,QAAA;IAAAC,UAAA;IAAAC,OAAA;IAAAC,SAAA;IAAA,GAAAC;EAAA,IAAAR,EASrE;EACC;IAAAS;EAAA,IAAcpB,cAAA;EACd,OAAAqB,gBAAA,IAA2BvB,qBAAA,CAAsBS,cAAA;EAIjC,MAAAe,EAAA,GAAAF,CAAA,CAAEF,SAAA,KAAc,WAAW,uBAAuB;IAAAK,KAAA,EACrDF,gBAAA,EAAAG,MAAA,CAAAC;EAAA,CACT;EAAA,IAAAC,EAAA;EAAA,IAAAd,CAAA,QAAAE,SAAA;IACWY,EAAA,IAACZ,SAAA,EAAW,GAAAV,uBAAA,WAAqC,EAAAuB,MAAA,CAAAC,OAAS;IAAAhB,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAc,EAAA;EAAA;IAAAA,EAAA,GAAAd,CAAA;EAAA;EAAA,OAJvEiB,IAAA,CAAA3B,aAAA;IAAA,cACcoB,EAEZ;IAAAR,SAAA,EACWY,EAA0D,CAAAI,IAAA,CAAc;IAAAf,QAAA;IAAAE,OAAA;IAAAc,IAAA,EAG7Ef,UAAA;IAAA,GACFG,IAAI;IAAAN;EAAA,C;CAKd;AAEA,OAAO,MAAMmB,cAAA,GAAiDC,KAAA;EAC5D,MAAM;IAAEjB;EAAU,CAAE,GAAGiB,KAAA;EAEvB,oBACEJ,IAAA,CAAC5B,MAAA;IAAOa,SAAA,EAAWV,uBAAA;IAAyB8B,MAAA,EAAQ;IAAOC,MAAA,EAAQ;IAAMJ,IAAA,EAAMf,UAAA;cAC7E,aAAAa,IAAA,CAAC1B,qBAAA;MAAuB,GAAG8B;;;AAGjC;AAEA;;;;;;;;;;;;;;;;;;;AAmBA,OAAO,MAAMG,iBAAA,GAAuCzB,EAAA;EAAA,MAAAC,CAAA,GAAAtB,EAAA;EAAC;IAAAgB,EAAA;IAAAC,cAAA;IAAA8B;EAAA,IAAA1B,EAIpD;EACC,MAAA2B,SAAA,GAAkBvC,YAAA;EAClB,MAAAU,IAAA,GAAad,KAAA;EACb;IAAA4C,UAAA;IAAAC,UAAA;IAAAC,SAAA;IAAAC;EAAA,IAA2DnD,QAAA;EAC3D,OAAAoD,MAAA,EAAAC,SAAA,IAA4B/C,QAAA,MAAS;EAAA,IAAAyB,EAAA;EAAA,IAAAV,CAAA,QAAAL,cAAA,IAAAK,CAAA,QAAA0B,SAAA,IAAA1B,CAAA,QAAAN,EAAA,IAAAM,CAAA,QAAAH,IAAA;IAElBa,EAAA,GAAAjB,wBAAA;MAAAC,EAAA;MAAAC,cAAA;MAAAC,KAAA,EAGV8B,SAAA;MAAA7B;IAAA,CAET;IAAAG,CAAA,MAAAL,cAAA;IAAAK,CAAA,MAAA0B,SAAA;IAAA1B,CAAA,MAAAN,EAAA;IAAAM,CAAA,MAAAH,IAAA;IAAAG,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EALA,MAAAI,UAAA,GAAmBM,EAKnB;EAAA,IAAAI,EAAA;EAAA,IAAAmB,EAAA;EAAA,IAAAjC,CAAA,QAAAI,UAAA,IAAAJ,CAAA,QAAA4B,UAAA;IAEUd,EAAA,GAAAA,CAAA;MACRkB,SAAA,CAAUhB,OAAA,CAAQY,UAAU,CAACxB,UAAA,GAAA2B,MAAa;IAAA;IACzCE,EAAA,IAACL,UAAA,EAAYxB,UAAA;IAAWJ,CAAA,MAAAI,UAAA;IAAAJ,CAAA,MAAA4B,UAAA;IAAA5B,CAAA,MAAAc,EAAA;IAAAd,CAAA,MAAAiC,EAAA;EAAA;IAAAnB,EAAA,GAAAd,CAAA;IAAAiC,EAAA,GAAAjC,CAAA;EAAA;EAF3BlB,SAAA,CAAUgC,EAEV,EAAGmB,EAAwB;EAAA,IAAAC,EAAA;EAAA,IAAAlC,CAAA,QAAAI,UAAA,IAAAJ,CAAA,SAAA8B,WAAA;IAEMI,EAAA,GAAAA,CAAA;MAC/BJ,WAAA,CAAY1B,UAAA;IAAA;IACdJ,CAAA,MAAAI,UAAA;IAAAJ,CAAA,OAAA8B,WAAA;IAAA9B,CAAA,OAAAkC,EAAA;EAAA;IAAAA,EAAA,GAAAlC,CAAA;EAAA;EAFA,MAAAmC,YAAA,GAAqBD,EAEO;EAAA,IAAAE,EAAA;EAAA,IAAApC,CAAA,SAAA2B,UAAA,IAAA3B,CAAA,SAAAI,UAAA;IAEIgC,EAAA,GAAAA,CAAA;MAC9BT,UAAA,CAAWvB,UAAA;IAAA;IACbJ,CAAA,OAAA2B,UAAA;IAAA3B,CAAA,OAAAI,UAAA;IAAAJ,CAAA,OAAAoC,EAAA;EAAA;IAAAA,EAAA,GAAApC,CAAA;EAAA;EAFA,MAAAqC,WAAA,GAAoBD,EAEO;EAAA,IAAAE,EAAA;EAAA,IAAAtC,CAAA,SAAAI,UAAA,IAAAJ,CAAA,SAAA6B,SAAA;IAEIS,EAAA,GAAAA,CAAA;MAC7BT,SAAA,CAAUzB,UAAA;IAAA;IACZJ,CAAA,OAAAI,UAAA;IAAAJ,CAAA,OAAA6B,SAAA;IAAA7B,CAAA,OAAAsC,EAAA;EAAA;IAAAA,EAAA,GAAAtC,CAAA;EAAA;EAFA,MAAAuC,UAAA,GAAmBD,EAEO;EAAA,IAAAE,EAAA;EAAA,IAAAxC,CAAA,SAAAL,cAAA,IAAAK,CAAA,SAAAI,UAAA,IAAAJ,CAAA,SAAAN,EAAA,IAAAM,CAAA,SAAAyB,wBAAA;IAGjBe,EAAA,GAAAnB,KAAA,IACLoB,cAAA,CAAArB,cAAA;MAAA,GACMC,KAAK;MAAA1B,cAAA;MAAAS,UAAA;MAAAV,EAAA;MAAAgD,GAAA,EAIJtC,UAAA;MAAAqB;IAAA,C;;;;;;;;;EAPX,MAAAkB,cAAA,GACSH,E;EAUoD,IAAAI,EAAA;EAAA,IAAA5C,CAAA,SAAAL,cAAA,IAAAK,CAAA,SAAAI,UAAA,IAAAJ,CAAA,SAAAN,EAAA;IAGpDkD,EAAA,GAAAC,OAAA,IACL5B,IAAA,CAAAnB,qBAAA;MAAA,GACMuB,OAAK;MAAA1B,cAAA;MAAAS,UAAA;MAAAE,SAAA,EAGE,CAACZ,EAAA,GAAK,WAAW;IAAA,C;;;;;;;;EANlC,MAAAoD,qBAAA,GACSF,E;EAQ0B,IAAAG,EAAA;EAAA,IAAA/C,CAAA,SAAAqC,WAAA,IAAArC,CAAA,SAAAI,UAAA,IAAAJ,CAAA,SAAA0B,SAAA,IAAA1B,CAAA,SAAA+B,MAAA,IAAA/B,CAAA,SAAAuC,UAAA,IAAAvC,CAAA,SAAAmC,YAAA;IAG1BY,EAAA;MAAAV,WAAA;MAAAW,WAAA,EAEQtB,SAAA;MAAAtB,UAAA;MAAA6C,YAAA,EAEClB,MAAA;MAAAQ,UAAA;MAAAJ;IAAA;IAGhBnC,CAAA,OAAAqC,WAAA;IAAArC,CAAA,OAAAI,UAAA;IAAAJ,CAAA,OAAA0B,SAAA;IAAA1B,CAAA,OAAA+B,MAAA;IAAA/B,CAAA,OAAAuC,UAAA;IAAAvC,CAAA,OAAAmC,YAAA;IAAAnC,CAAA,OAAA+C,EAAA;EAAA;IAAAA,EAAA,GAAA/C,CAAA;EAAA;EARF,MAAAkD,mBAAA,GACSH,EAOP;EACsE,IAAAI,GAAA;EAAA,IAAAnD,CAAA,SAAA2C,cAAA,IAAA3C,CAAA,SAAAkD,mBAAA,IAAAlD,CAAA,SAAA8C,qBAAA;IAGjEK,GAAA,IAACR,cAAA,EAAgBG,qBAAA,EAAuBI,mBAAA;IAAoBlD,CAAA,OAAA2C,cAAA;IAAA3C,CAAA,OAAAkD,mBAAA;IAAAlD,CAAA,OAAA8C,qBAAA;IAAA9C,CAAA,OAAAmD,GAAA;EAAA;IAAAA,GAAA,GAAAnD,CAAA;EAAA;EAAA,OAA5DmD,GAA4D;AAAA,CACrE","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","React","useCallback","useId","useMemo","useRef","useRelatedCollections","useEditDepth","useTranslation","Drawer","DrawerToggler","DocumentDrawerContent","documentDrawerBaseClass","formatDocumentDrawerSlug","id","collectionSlug","depth","uuid","DocumentDrawerToggler","t0","$","children","className","disabled","drawerSlug","onClick","operation","rest","t","collectionConfig","t1","label","labels","singular","t2","filter","Boolean","_jsx","join","slug","DocumentDrawer","props","gutter","Header","useDocumentDrawer","drawerSlugFromProps","overrideEntityVisibility","editDepth","closeModal","openModal","toggleModal","closeModalRef","openModalRef","toggleModalRef","current","toggleDrawer","closeDrawer","openDrawer","MemoizedDrawer","_createElement","key","MemoizedDrawerToggler","MemoizedDrawerState","drawerDepth","isDrawerOpen"],"sources":["../../../src/elements/DocumentDrawer/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useId, useMemo, useRef } from 'react'\n\nimport type {\n DocumentDrawerProps,\n DocumentTogglerProps,\n UseDocumentDrawer,\n UseDocumentDrawerContext,\n} from './types.js'\n\nimport { useRelatedCollections } from '../../hooks/useRelatedCollections.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { DocumentDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const documentDrawerBaseClass = 'doc-drawer'\n\nconst formatDocumentDrawerSlug = ({\n id,\n collectionSlug,\n depth,\n uuid,\n}: {\n collectionSlug: string\n depth: number\n id?: number | string\n uuid: string\n}) => `doc-drawer_${collectionSlug}_${depth}${id ? `_${id}` : ''}_${uuid}`\n\nexport const DocumentDrawerToggler: React.FC<DocumentTogglerProps> = ({\n children,\n className,\n collectionSlug,\n disabled,\n drawerSlug,\n onClick,\n operation,\n ...rest\n}) => {\n const { t } = useTranslation()\n const [collectionConfig] = useRelatedCollections(collectionSlug)\n\n return (\n <DrawerToggler\n aria-label={t(operation === 'create' ? 'fields:addNewLabel' : 'general:editLabel', {\n label: collectionConfig?.labels.singular,\n })}\n className={[className, `${documentDrawerBaseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n onClick={onClick}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const DocumentDrawer: React.FC<DocumentDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer className={documentDrawerBaseClass} gutter={false} Header={null} slug={drawerSlug}>\n <DocumentDrawerContent {...props} />\n </Drawer>\n )\n}\n\n/**\n * A hook to manage documents from a drawer modal.\n * It provides the components and methods needed to open, close, and interact with the drawer.\n * @example\n * const [DocumentDrawer, DocumentDrawerToggler, { openDrawer, closeDrawer }] = useDocumentDrawer({\n * collectionSlug: 'posts',\n * id: postId, // optional, if not provided, it will render the \"create new\" view\n * })\n *\n * // ...\n *\n * return (\n * <div>\n * <DocumentDrawerToggler collectionSlug=\"posts\" id={postId}>\n * Edit Post\n * </DocumentDrawerToggler>\n * <DocumentDrawer collectionSlug=\"posts\" id={postId} />\n * </div>\n */\nexport const useDocumentDrawer: UseDocumentDrawer = ({\n id,\n collectionSlug,\n drawerSlug: drawerSlugFromProps,\n overrideEntityVisibility,\n}) => {\n const editDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, openModal, toggleModal } = useModal()\n\n // Use provided slug or generate one\n const drawerSlug =\n drawerSlugFromProps ||\n formatDocumentDrawerSlug({\n id,\n collectionSlug,\n depth: editDepth,\n uuid,\n })\n\n // Store modal functions in refs to ensure stable callbacks\n // This prevents re-renders when other modals change state\n const closeModalRef = useRef(closeModal)\n const openModalRef = useRef(openModal)\n const toggleModalRef = useRef(toggleModal)\n closeModalRef.current = closeModal\n openModalRef.current = openModal\n toggleModalRef.current = toggleModal\n\n const toggleDrawer = useCallback(() => {\n toggleModalRef.current(drawerSlug)\n }, [drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModalRef.current(drawerSlug)\n }, [drawerSlug])\n\n const openDrawer = useCallback(() => {\n openModalRef.current(drawerSlug)\n }, [drawerSlug])\n\n const MemoizedDrawer = useMemo<React.FC<DocumentDrawerProps>>(() => {\n return (props) => (\n <DocumentDrawer\n {...props}\n collectionSlug={collectionSlug}\n drawerSlug={drawerSlug}\n id={id}\n key={drawerSlug}\n overrideEntityVisibility={overrideEntityVisibility}\n />\n )\n }, [id, drawerSlug, collectionSlug, overrideEntityVisibility])\n\n const MemoizedDrawerToggler = useMemo<React.FC<DocumentTogglerProps>>(() => {\n return (props) => (\n <DocumentDrawerToggler\n {...props}\n collectionSlug={collectionSlug}\n drawerSlug={drawerSlug}\n operation={!id ? 'create' : 'update'}\n />\n )\n }, [id, drawerSlug, collectionSlug])\n\n const MemoizedDrawerState = useMemo<UseDocumentDrawerContext>(\n () => ({\n closeDrawer,\n drawerDepth: editDepth,\n drawerSlug,\n // Note: Not tracking isDrawerOpen to prevent re-renders when modals change state\n isDrawerOpen: false,\n openDrawer,\n toggleDrawer,\n }),\n [editDepth, drawerSlug, toggleDrawer, closeDrawer, openDrawer],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"mappings":"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","ignoreList":[]}
@@ -45,7 +45,13 @@ export type UseDocumentDrawerContext = {
45
45
  openDrawer: () => void;
46
46
  toggleDrawer: () => void;
47
47
  };
48
- export type UseDocumentDrawer = (args: Pick<DocumentDrawerProps, 'collectionSlug' | 'id' | 'overrideEntityVisibility'>) => [
48
+ export type UseDocumentDrawer = (args: {
49
+ /**
50
+ * Optional custom drawer slug. If provided, this will be used instead of auto-generating one.
51
+ * Useful for ensuring stable slugs in contexts where component remounting can cause issues.
52
+ */
53
+ drawerSlug?: string;
54
+ } & Pick<DocumentDrawerProps, 'collectionSlug' | 'id' | 'overrideEntityVisibility'>) => [
49
55
  React.FC<{
50
56
  children?: React.ReactNode;
51
57
  } & Omit<DocumentDrawerProps, 'collectionSlug' | 'operation'>>,
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAChF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAA;AAE/D,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAA;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,CAAA;IAC3B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAC3C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;CACxC,GAAG,IAAI,CAAC,0BAA0B,EAAE,UAAU,GAAG,aAAa,GAAG,QAAQ,CAAC,GACzE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AAE7B,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAC9B,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAE/C,MAAM,MAAM,wBAAwB,GAAG;IACrC,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,OAAO,CAAA;IACrB,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,YAAY,EAAE,MAAM,IAAI,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,GAAG,IAAI,GAAG,0BAA0B,CAAC,KAClF;IAEH,KAAK,CAAC,EAAE,CACN;QACE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAC3B,GAAG,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,GAAG,WAAW,CAAC,CAC9D;IAED,KAAK,CAAC,EAAE,CACN;QACE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAC3B,GAAG,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,GAAG,WAAW,CAAC,CAC/D;IAED,wBAAwB;CACzB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAChF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAA;AAE/D,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAA;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,CAAA;IAC3B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAC3C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;CACxC,GAAG,IAAI,CAAC,0BAA0B,EAAE,UAAU,GAAG,aAAa,GAAG,QAAQ,CAAC,GACzE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AAE7B,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAC9B,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAE/C,MAAM,MAAM,wBAAwB,GAAG;IACrC,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,OAAO,CAAA;IACrB,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,YAAY,EAAE,MAAM,IAAI,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,IAAI,EAAE;IACJ;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,GAAG,IAAI,GAAG,0BAA0B,CAAC,KAChF;IAEH,KAAK,CAAC,EAAE,CACN;QACE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAC3B,GAAG,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,GAAG,WAAW,CAAC,CAC9D;IAED,KAAK,CAAC,EAAE,CACN;QACE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAC3B,GAAG,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,GAAG,WAAW,CAAC,CAC/D;IAED,wBAAwB;CACzB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/DocumentDrawer/types.ts"],"sourcesContent":["import type { Data, DefaultDocumentIDType, FormState, Operation } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { Props as DrawerProps } from '../Drawer/types.js'\nimport type { DocumentDrawerContextProps } from './Provider.js'\n\nexport type DocumentDrawerProps = {\n readonly AfterFields?: React.ReactNode\n /**\n * The slug of the collection to which the document belongs.\n */\n readonly collectionSlug: string\n readonly disableActions?: boolean\n readonly drawerSlug?: string\n /**\n * The ID of the document to be edited.\n * When provided, will be fetched and displayed in the drawer.\n * If omitted, will render the \"create new\" view for the given collection.\n */\n readonly id?: DefaultDocumentIDType | null\n readonly initialData?: Data\n /**\n * @deprecated\n */\n readonly initialState?: FormState\n readonly overrideEntityVisibility?: boolean\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly redirectAfterRestore?: boolean\n} & Pick<DocumentDrawerContextProps, 'onDelete' | 'onDuplicate' | 'onSave'> &\n Pick<DrawerProps, 'Header'>\n\nexport type DocumentTogglerProps = {\n readonly children?: React.ReactNode\n readonly className?: string\n readonly collectionSlug: string\n readonly disabled?: boolean\n readonly drawerSlug?: string\n readonly onClick?: () => void\n readonly operation: Operation\n} & Readonly<HTMLAttributes<HTMLButtonElement>>\n\nexport type UseDocumentDrawerContext = {\n closeDrawer: () => void\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n toggleDrawer: () => void\n}\n\nexport type UseDocumentDrawer = (\n args: Pick<DocumentDrawerProps, 'collectionSlug' | 'id' | 'overrideEntityVisibility'>,\n) => [\n // drawer\n React.FC<\n {\n children?: React.ReactNode\n } & Omit<DocumentDrawerProps, 'collectionSlug' | 'operation'>\n >,\n // toggler\n React.FC<\n {\n children?: React.ReactNode\n } & Omit<DocumentTogglerProps, 'collectionSlug' | 'operation'>\n >,\n // context\n UseDocumentDrawerContext,\n]\n"],"mappings":"AAqDA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/DocumentDrawer/types.ts"],"sourcesContent":["import type { Data, DefaultDocumentIDType, FormState, Operation } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { Props as DrawerProps } from '../Drawer/types.js'\nimport type { DocumentDrawerContextProps } from './Provider.js'\n\nexport type DocumentDrawerProps = {\n readonly AfterFields?: React.ReactNode\n /**\n * The slug of the collection to which the document belongs.\n */\n readonly collectionSlug: string\n readonly disableActions?: boolean\n readonly drawerSlug?: string\n /**\n * The ID of the document to be edited.\n * When provided, will be fetched and displayed in the drawer.\n * If omitted, will render the \"create new\" view for the given collection.\n */\n readonly id?: DefaultDocumentIDType | null\n readonly initialData?: Data\n /**\n * @deprecated\n */\n readonly initialState?: FormState\n readonly overrideEntityVisibility?: boolean\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly redirectAfterRestore?: boolean\n} & Pick<DocumentDrawerContextProps, 'onDelete' | 'onDuplicate' | 'onSave'> &\n Pick<DrawerProps, 'Header'>\n\nexport type DocumentTogglerProps = {\n readonly children?: React.ReactNode\n readonly className?: string\n readonly collectionSlug: string\n readonly disabled?: boolean\n readonly drawerSlug?: string\n readonly onClick?: () => void\n readonly operation: Operation\n} & Readonly<HTMLAttributes<HTMLButtonElement>>\n\nexport type UseDocumentDrawerContext = {\n closeDrawer: () => void\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n toggleDrawer: () => void\n}\n\nexport type UseDocumentDrawer = (\n args: {\n /**\n * Optional custom drawer slug. If provided, this will be used instead of auto-generating one.\n * Useful for ensuring stable slugs in contexts where component remounting can cause issues.\n */\n drawerSlug?: string\n } & Pick<DocumentDrawerProps, 'collectionSlug' | 'id' | 'overrideEntityVisibility'>,\n) => [\n // drawer\n React.FC<\n {\n children?: React.ReactNode\n } & Omit<DocumentDrawerProps, 'collectionSlug' | 'operation'>\n >,\n // toggler\n React.FC<\n {\n children?: React.ReactNode\n } & Omit<DocumentTogglerProps, 'collectionSlug' | 'operation'>\n >,\n // context\n UseDocumentDrawerContext,\n]\n"],"mappings":"AAqDA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DrawerActionHeader/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAIrB,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAA;CACzC,CAAA;AACD,eAAO,MAAM,kBAAkB,oEAO5B,sBAAsB,sBAoBxB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DrawerActionHeader/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAIrB,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAA;CACzC,CAAA;AACD,eAAO,MAAM,kBAAkB,oEAO5B,sBAAsB,sBAyBxB,CAAA"}
@@ -44,10 +44,12 @@ export const DrawerActionHeader = t0 => {
44
44
  children: [_jsx(Button, {
45
45
  "aria-label": t("general:cancel"),
46
46
  buttonStyle: "secondary",
47
+ margin: false,
47
48
  onClick: onCancel,
48
49
  children: cancelLabel || t("general:cancel")
49
50
  }), _jsx(FormSubmit, {
50
51
  "aria-label": t("general:applyChanges"),
52
+ margin: false,
51
53
  onClick: onSave,
52
54
  children: saveLabel || t("general:applyChanges")
53
55
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","FormSubmit","useTranslation","Button","baseClass","DrawerActionHeader","t0","$","cancelLabel","className","onCancel","onSave","saveLabel","title","t","t1","filter","Boolean","t2","join","t3","_jsx","children","_jsxs","buttonStyle","onClick"],"sources":["../../../src/elements/DrawerActionHeader/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst baseClass = 'drawer-action-header'\n\ntype DrawerActionHeaderArgs = {\n readonly cancelLabel?: string\n className?: string\n readonly onCancel?: () => void\n readonly onSave?: () => void\n readonly saveLabel?: string\n readonly title: React.ReactNode | string\n}\nexport const DrawerActionHeader = ({\n cancelLabel,\n className,\n onCancel,\n onSave,\n saveLabel,\n title,\n}: DrawerActionHeaderArgs) => {\n const { t } = useTranslation()\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__content`}>\n <h1 className={`${baseClass}__title`}>{title}</h1>\n\n <div className={`${baseClass}__actions`}>\n <Button aria-label={t('general:cancel')} buttonStyle=\"secondary\" onClick={onCancel}>\n {cancelLabel || t('general:cancel')}\n </Button>\n\n <FormSubmit aria-label={t('general:applyChanges')} onClick={onSave}>\n {saveLabel || t('general:applyChanges')}\n </FormSubmit>\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAC3B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAUlB,OAAO,MAAMC,kBAAA,GAAqBC,EAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EAAC;IAAAS,WAAA;IAAAC,SAAA;IAAAC,QAAA;IAAAC,MAAA;IAAAC,SAAA;IAAAC;EAAA,IAAAP,EAOV;EACvB;IAAAQ;EAAA,IAAcZ,cAAA;EAAA,IAAAa,EAAA;EAAA,IAAAR,CAAA,QAAAE,SAAA;IAGIM,EAAA,IAAAX,SAAA,EAAYK,SAAA,EAAAO,MAAA,CAAAC,OAAkB;IAAAV,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAA9B,MAAAW,EAAA,GAAAH,EAA8B,CAAAI,IAAA,CAAc;EAAA,IAAAC,EAAA;EAAA,IAAAb,CAAA,QAAAC,WAAA,IAAAD,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAI,MAAA,IAAAJ,CAAA,QAAAK,SAAA,IAAAL,CAAA,QAAAO,CAAA,IAAAP,CAAA,QAAAW,EAAA,IAAAX,CAAA,QAAAM,KAAA;IAA5DO,EAAA,GAAAC,IAAA,CAAC;MAAAZ,SAAA,EAAeS,EAA4C;MAAAI,QAAA,EAC1DC,KAAA,CAAC;QAAAd,SAAA,EAAe,GAAAL,SAAA,WAAuB;QAAAkB,QAAA,GACrCD,IAAA,CAAC;UAAAZ,SAAA,EAAc,GAAAL,SAAA,SAAqB;UAAAkB,QAAA,EAAGT;QAAA,C,GAEvCU,KAAA,CAAC;UAAAd,SAAA,EAAe,GAAAL,SAAA,WAAuB;UAAAkB,QAAA,GACrCD,IAAA,CAAAlB,MAAA;YAAA,cAAoBW,CAAA,CAAE;YAAAU,WAAA,EAA+B;YAAAC,OAAA,EAAqBf,QAAA;YAAAY,QAAA,EACvEd,WAAA,IAAeM,CAAA,CAAE;UAAA,C,GAGpBO,IAAA,CAAApB,UAAA;YAAA,cAAwBa,CAAA,CAAE;YAAAW,OAAA,EAAkCd,MAAA;YAAAW,QAAA,EACzDV,SAAA,IAAaE,CAAA,CAAE;UAAA,C;;;;;;;;;;;;;;;SAVxBM,E;CAgBJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","FormSubmit","useTranslation","Button","baseClass","DrawerActionHeader","t0","$","cancelLabel","className","onCancel","onSave","saveLabel","title","t","t1","filter","Boolean","t2","join","t3","_jsx","children","_jsxs","buttonStyle","margin","onClick"],"sources":["../../../src/elements/DrawerActionHeader/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst baseClass = 'drawer-action-header'\n\ntype DrawerActionHeaderArgs = {\n readonly cancelLabel?: string\n className?: string\n readonly onCancel?: () => void\n readonly onSave?: () => void\n readonly saveLabel?: string\n readonly title: React.ReactNode | string\n}\nexport const DrawerActionHeader = ({\n cancelLabel,\n className,\n onCancel,\n onSave,\n saveLabel,\n title,\n}: DrawerActionHeaderArgs) => {\n const { t } = useTranslation()\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__content`}>\n <h1 className={`${baseClass}__title`}>{title}</h1>\n\n <div className={`${baseClass}__actions`}>\n <Button\n aria-label={t('general:cancel')}\n buttonStyle=\"secondary\"\n margin={false}\n onClick={onCancel}\n >\n {cancelLabel || t('general:cancel')}\n </Button>\n\n <FormSubmit aria-label={t('general:applyChanges')} margin={false} onClick={onSave}>\n {saveLabel || t('general:applyChanges')}\n </FormSubmit>\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAC3B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAUlB,OAAO,MAAMC,kBAAA,GAAqBC,EAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EAAC;IAAAS,WAAA;IAAAC,SAAA;IAAAC,QAAA;IAAAC,MAAA;IAAAC,SAAA;IAAAC;EAAA,IAAAP,EAOV;EACvB;IAAAQ;EAAA,IAAcZ,cAAA;EAAA,IAAAa,EAAA;EAAA,IAAAR,CAAA,QAAAE,SAAA;IAGIM,EAAA,IAAAX,SAAA,EAAYK,SAAA,EAAAO,MAAA,CAAAC,OAAkB;IAAAV,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAA9B,MAAAW,EAAA,GAAAH,EAA8B,CAAAI,IAAA,CAAc;EAAA,IAAAC,EAAA;EAAA,IAAAb,CAAA,QAAAC,WAAA,IAAAD,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAI,MAAA,IAAAJ,CAAA,QAAAK,SAAA,IAAAL,CAAA,QAAAO,CAAA,IAAAP,CAAA,QAAAW,EAAA,IAAAX,CAAA,QAAAM,KAAA;IAA5DO,EAAA,GAAAC,IAAA,CAAC;MAAAZ,SAAA,EAAeS,EAA4C;MAAAI,QAAA,EAC1DC,KAAA,CAAC;QAAAd,SAAA,EAAe,GAAAL,SAAA,WAAuB;QAAAkB,QAAA,GACrCD,IAAA,CAAC;UAAAZ,SAAA,EAAc,GAAAL,SAAA,SAAqB;UAAAkB,QAAA,EAAGT;QAAA,C,GAEvCU,KAAA,CAAC;UAAAd,SAAA,EAAe,GAAAL,SAAA,WAAuB;UAAAkB,QAAA,GACrCD,IAAA,CAAAlB,MAAA;YAAA,cACcW,CAAA,CAAE;YAAAU,WAAA,EACF;YAAAC,MAAA;YAAAC,OAAA,EAEHhB,QAAA;YAAAY,QAAA,EAERd,WAAA,IAAeM,CAAA,CAAE;UAAA,C,GAGpBO,IAAA,CAAApB,UAAA;YAAA,cAAwBa,CAAA,CAAE;YAAAW,MAAA;YAAAC,OAAA,EAAiDf,MAAA;YAAAW,QAAA,EACxEV,SAAA,IAAaE,CAAA,CAAE;UAAA,C;;;;;;;;;;;;;;;SAfxBM,E;CAqBJ","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  .drawer-action-header {
2
2
  padding-top: calc(var(--base) * 2);
3
- padding-bottom: calc(var(--base) * 1);
3
+ padding-bottom: calc(var(--base) * 1.2);
4
4
  border-bottom: 1px solid var(--theme-elevation-100);
5
5
 
6
6
  &__content {
@@ -19,6 +19,6 @@
19
19
  display: flex;
20
20
  margin-left: auto;
21
21
  padding-left: var(--base);
22
- gap: var(--base);
22
+ gap: calc(var(--base) * 0.4);
23
23
  }
24
24
  }
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import './index.scss';
3
+ export type HierarchyButtonClientProps = {
4
+ fieldName: string;
5
+ hasMany?: boolean;
6
+ hierarchyCollectionSlug: string;
7
+ Icon?: React.ReactNode;
8
+ readOnly?: boolean;
9
+ };
10
+ export declare const HierarchyButtonClient: React.FC<HierarchyButtonClientProps>;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/HierarchyButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAUxE,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA+HtE,CAAA"}
@@ -0,0 +1,126 @@
1
+ 'use client';
2
+
3
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
4
+ import { formatAdminURL } from 'payload/shared';
5
+ import React, { useCallback, useEffect, useMemo, useState } from 'react';
6
+ import { useForm, useFormFields } from '../../forms/Form/context.js';
7
+ import { useConfig } from '../../providers/Config/index.js';
8
+ import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
9
+ import { useTranslation } from '../../providers/Translation/index.js';
10
+ import { Button } from '../Button/index.js';
11
+ import { useHierarchyDrawer } from '../HierarchyDrawer/index.js';
12
+ import './index.scss';
13
+ const baseClass = 'hierarchy-button';
14
+ export const HierarchyButtonClient = ({
15
+ fieldName,
16
+ hasMany = false,
17
+ hierarchyCollectionSlug,
18
+ Icon,
19
+ readOnly
20
+ }) => {
21
+ const {
22
+ t
23
+ } = useTranslation();
24
+ const {
25
+ config,
26
+ getEntityConfig
27
+ } = useConfig();
28
+ const {
29
+ collectionSlug: documentCollectionSlug
30
+ } = useDocumentInfo();
31
+ const {
32
+ setModified
33
+ } = useForm();
34
+ const dispatchField = useFormFields(([_, dispatch]) => dispatch);
35
+ const currentFieldValue = useFormFields(([fields]) => fields && fields?.[fieldName] || null);
36
+ const currentId = currentFieldValue?.value;
37
+ const [displayName, setDisplayName] = useState('');
38
+ const [isLoading, setIsLoading] = useState(true);
39
+ const collectionConfig = getEntityConfig({
40
+ collectionSlug: hierarchyCollectionSlug
41
+ });
42
+ const useAsTitle = collectionConfig?.admin?.useAsTitle || 'name';
43
+ const isHierarchyCollection = documentCollectionSlug === hierarchyCollectionSlug;
44
+ // When in hierarchy collection, let the drawer use allowedCollections from context
45
+ // When in other collections, filter by that collection's slug
46
+ // Memoize to prevent new array references on every render
47
+ const filterByCollection = useMemo(() => isHierarchyCollection || !documentCollectionSlug ? undefined : [documentCollectionSlug], [isHierarchyCollection, documentCollectionSlug]);
48
+ const [HierarchyDrawer,, {
49
+ openDrawer
50
+ }] = useHierarchyDrawer({
51
+ filterByCollection,
52
+ hierarchyCollectionSlug,
53
+ Icon
54
+ });
55
+ // Fetch item name when currentId changes
56
+ useEffect(() => {
57
+ const fetchItemName = async () => {
58
+ if (currentId && (typeof currentId === 'string' || typeof currentId === 'number')) {
59
+ setIsLoading(true);
60
+ try {
61
+ const response = await fetch(formatAdminURL({
62
+ apiRoute: config.routes.api,
63
+ path: `/${hierarchyCollectionSlug}/${currentId}`,
64
+ serverURL: config.serverURL
65
+ }), {
66
+ credentials: 'include'
67
+ });
68
+ if (response.ok) {
69
+ const itemData = await response.json();
70
+ const title = itemData?.[useAsTitle] || itemData?.name || itemData?.id;
71
+ setDisplayName(String(title));
72
+ } else {
73
+ setDisplayName(t('general:none'));
74
+ }
75
+ } catch {
76
+ setDisplayName(t('general:none'));
77
+ } finally {
78
+ setIsLoading(false);
79
+ }
80
+ } else {
81
+ setDisplayName(t('general:none'));
82
+ setIsLoading(false);
83
+ }
84
+ };
85
+ void fetchItemName();
86
+ }, [currentId, hierarchyCollectionSlug, config.routes.api, config.serverURL, useAsTitle, t]);
87
+ const handleDrawerSave = useCallback(({
88
+ closeDrawer,
89
+ selections
90
+ }) => {
91
+ const ids = Array.from(selections.keys());
92
+ const newValue = hasMany ? ids : ids[0] ?? null;
93
+ if (currentFieldValue?.value !== newValue) {
94
+ dispatchField({
95
+ type: 'UPDATE',
96
+ path: fieldName,
97
+ value: newValue
98
+ });
99
+ setModified(true);
100
+ }
101
+ closeDrawer();
102
+ }, [currentFieldValue?.value, dispatchField, fieldName, hasMany, setModified]);
103
+ const handleClick = useCallback(() => {
104
+ if (!readOnly) {
105
+ openDrawer();
106
+ }
107
+ }, [openDrawer, readOnly]);
108
+ const label = isLoading ? `${t('general:loading')}...` : displayName;
109
+ return /*#__PURE__*/_jsxs(_Fragment, {
110
+ children: [/*#__PURE__*/_jsx(Button, {
111
+ buttonStyle: "subtle",
112
+ className: [baseClass, readOnly && `${baseClass}--read-only`].filter(Boolean).join(' '),
113
+ disabled: readOnly,
114
+ icon: Icon,
115
+ iconPosition: "left",
116
+ margin: false,
117
+ onClick: handleClick,
118
+ children: label
119
+ }), /*#__PURE__*/_jsx(HierarchyDrawer, {
120
+ hasMany: hasMany,
121
+ initialSelections: currentId ? [currentId] : undefined,
122
+ onSave: handleDrawerSave
123
+ })]
124
+ });
125
+ };
126
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["formatAdminURL","React","useCallback","useEffect","useMemo","useState","useForm","useFormFields","useConfig","useDocumentInfo","useTranslation","Button","useHierarchyDrawer","baseClass","HierarchyButtonClient","fieldName","hasMany","hierarchyCollectionSlug","Icon","readOnly","t","config","getEntityConfig","collectionSlug","documentCollectionSlug","setModified","dispatchField","_","dispatch","currentFieldValue","fields","currentId","value","displayName","setDisplayName","isLoading","setIsLoading","collectionConfig","useAsTitle","admin","isHierarchyCollection","filterByCollection","undefined","HierarchyDrawer","openDrawer","fetchItemName","response","fetch","apiRoute","routes","api","path","serverURL","credentials","ok","itemData","json","title","name","id","String","handleDrawerSave","closeDrawer","selections","ids","Array","from","keys","newValue","type","handleClick","label","_jsxs","_Fragment","_jsx","buttonStyle","className","filter","Boolean","join","disabled","icon","iconPosition","margin","onClick","initialSelections","onSave"],"sources":["../../../src/elements/HierarchyButton/index.tsx"],"sourcesContent":["'use client'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { SelectionWithPath } from '../HierarchyDrawer/types.js'\n\nimport { useForm, useFormFields } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { useHierarchyDrawer } from '../HierarchyDrawer/index.js'\nimport './index.scss'\n\nconst baseClass = 'hierarchy-button'\n\nexport type HierarchyButtonClientProps = {\n fieldName: string\n hasMany?: boolean\n hierarchyCollectionSlug: string\n Icon?: React.ReactNode\n readOnly?: boolean\n}\n\nexport const HierarchyButtonClient: React.FC<HierarchyButtonClientProps> = ({\n fieldName,\n hasMany = false,\n hierarchyCollectionSlug,\n Icon,\n readOnly,\n}) => {\n const { t } = useTranslation()\n const { config, getEntityConfig } = useConfig()\n const { collectionSlug: documentCollectionSlug } = useDocumentInfo()\n const { setModified } = useForm()\n const dispatchField = useFormFields(([_, dispatch]) => dispatch)\n\n const currentFieldValue = useFormFields(([fields]) => (fields && fields?.[fieldName]) || null)\n const currentId = currentFieldValue?.value as null | number | string\n\n const [displayName, setDisplayName] = useState<string>('')\n const [isLoading, setIsLoading] = useState(true)\n\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n const useAsTitle = collectionConfig?.admin?.useAsTitle || 'name'\n\n const isHierarchyCollection = documentCollectionSlug === hierarchyCollectionSlug\n\n // When in hierarchy collection, let the drawer use allowedCollections from context\n // When in other collections, filter by that collection's slug\n // Memoize to prevent new array references on every render\n const filterByCollection = useMemo(\n () => (isHierarchyCollection || !documentCollectionSlug ? undefined : [documentCollectionSlug]),\n [isHierarchyCollection, documentCollectionSlug],\n )\n\n const [HierarchyDrawer, , { openDrawer }] = useHierarchyDrawer({\n filterByCollection,\n hierarchyCollectionSlug,\n Icon,\n })\n\n // Fetch item name when currentId changes\n useEffect(() => {\n const fetchItemName = async () => {\n if (currentId && (typeof currentId === 'string' || typeof currentId === 'number')) {\n setIsLoading(true)\n try {\n const response = await fetch(\n formatAdminURL({\n apiRoute: config.routes.api,\n path: `/${hierarchyCollectionSlug}/${currentId}`,\n serverURL: config.serverURL,\n }),\n { credentials: 'include' },\n )\n\n if (response.ok) {\n const itemData = await response.json()\n const title = itemData?.[useAsTitle] || itemData?.name || itemData?.id\n\n setDisplayName(String(title))\n } else {\n setDisplayName(t('general:none'))\n }\n } catch {\n setDisplayName(t('general:none'))\n } finally {\n setIsLoading(false)\n }\n } else {\n setDisplayName(t('general:none'))\n setIsLoading(false)\n }\n }\n\n void fetchItemName()\n }, [currentId, hierarchyCollectionSlug, config.routes.api, config.serverURL, useAsTitle, t])\n\n const handleDrawerSave = useCallback(\n ({\n closeDrawer,\n selections,\n }: {\n closeDrawer: () => void\n selections: Map<number | string, SelectionWithPath>\n }) => {\n const ids = Array.from(selections.keys())\n const newValue = hasMany ? ids : (ids[0] ?? null)\n\n if (currentFieldValue?.value !== newValue) {\n dispatchField({\n type: 'UPDATE',\n path: fieldName,\n value: newValue,\n })\n setModified(true)\n }\n closeDrawer()\n },\n [currentFieldValue?.value, dispatchField, fieldName, hasMany, setModified],\n )\n\n const handleClick = useCallback(() => {\n if (!readOnly) {\n openDrawer()\n }\n }, [openDrawer, readOnly])\n\n const label = isLoading ? `${t('general:loading')}...` : displayName\n\n return (\n <>\n <Button\n buttonStyle=\"subtle\"\n className={[baseClass, readOnly && `${baseClass}--read-only`].filter(Boolean).join(' ')}\n disabled={readOnly}\n icon={Icon}\n iconPosition=\"left\"\n margin={false}\n onClick={handleClick}\n >\n {label}\n </Button>\n <HierarchyDrawer\n hasMany={hasMany}\n initialSelections={currentId ? [currentId] : undefined}\n onSave={handleDrawerSave}\n />\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  @layer payload-default {
2
- .move-doc-to-folder {
2
+ .hierarchy-button {
3
3
  margin: 0;
4
+
4
5
  .btn__icon {
5
6
  color: var(--theme-elevation-300);
6
7
  }
@@ -8,5 +9,10 @@
8
9
  .btn__label {
9
10
  font-weight: 600;
10
11
  }
12
+
13
+ &--read-only {
14
+ cursor: default;
15
+ opacity: 0.7;
16
+ }
11
17
  }
12
18
  }
@@ -0,0 +1,10 @@
1
+ import type { Payload } from 'payload';
2
+ import React from 'react';
3
+ export type HierarchyButtonServerProps = {
4
+ fieldName: string;
5
+ hasMany?: boolean;
6
+ hierarchyCollectionSlug: string;
7
+ payload: Payload;
8
+ };
9
+ export declare const HierarchyButton: React.FC<HierarchyButtonServerProps>;
10
+ //# sourceMappingURL=index.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.server.d.ts","sourceRoot":"","sources":["../../../src/elements/HierarchyButton/index.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAqChE,CAAA"}
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { FolderIcon } from '../../icons/Folder/index.js';
4
+ import { RenderServerComponent } from '../RenderServerComponent/index.js';
5
+ // eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary
6
+ import { HierarchyButtonClient } from '../../exports/client/index.js';
7
+ export const HierarchyButton = ({
8
+ fieldName,
9
+ hasMany,
10
+ hierarchyCollectionSlug,
11
+ payload
12
+ }) => {
13
+ const hierarchyCollectionConfig = payload.config.collections.find(c => c.slug === hierarchyCollectionSlug);
14
+ const hierarchyConfig = hierarchyCollectionConfig?.hierarchy && typeof hierarchyCollectionConfig.hierarchy === 'object' ? hierarchyCollectionConfig.hierarchy : undefined;
15
+ const IconComponent = hierarchyConfig?.admin.components.Icon;
16
+ // Render the custom icon if provided, otherwise use FolderIcon directly
17
+ // Important: Must render the icon here on server to avoid hydration mismatch
18
+ // For default FolderIcon path, render directly to avoid import map requirement
19
+ const isDefaultFolderIcon = !IconComponent || IconComponent === '@payloadcms/ui#FolderIcon';
20
+ const renderedIcon = isDefaultFolderIcon ? /*#__PURE__*/_jsx(FolderIcon, {
21
+ color: "muted"
22
+ }) : RenderServerComponent({
23
+ Component: IconComponent,
24
+ importMap: payload.importMap,
25
+ key: `hierarchy-button-icon-${hierarchyCollectionSlug}`
26
+ });
27
+ return /*#__PURE__*/_jsx(HierarchyButtonClient, {
28
+ fieldName: fieldName,
29
+ hasMany: hasMany,
30
+ hierarchyCollectionSlug: hierarchyCollectionSlug,
31
+ Icon: renderedIcon
32
+ });
33
+ };
34
+ //# sourceMappingURL=index.server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.server.js","names":["React","FolderIcon","RenderServerComponent","HierarchyButtonClient","HierarchyButton","fieldName","hasMany","hierarchyCollectionSlug","payload","hierarchyCollectionConfig","config","collections","find","c","slug","hierarchyConfig","hierarchy","undefined","IconComponent","admin","components","Icon","isDefaultFolderIcon","renderedIcon","_jsx","color","Component","importMap","key"],"sources":["../../../src/elements/HierarchyButton/index.server.tsx"],"sourcesContent":["import type { Payload } from 'payload'\n\nimport React from 'react'\n\nimport { FolderIcon } from '../../icons/Folder/index.js'\nimport { RenderServerComponent } from '../RenderServerComponent/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary\nimport { HierarchyButtonClient } from '../../exports/client/index.js'\n\nexport type HierarchyButtonServerProps = {\n fieldName: string\n hasMany?: boolean\n hierarchyCollectionSlug: string\n payload: Payload\n}\n\nexport const HierarchyButton: React.FC<HierarchyButtonServerProps> = ({\n fieldName,\n hasMany,\n hierarchyCollectionSlug,\n payload,\n}) => {\n const hierarchyCollectionConfig = payload.config.collections.find(\n (c) => c.slug === hierarchyCollectionSlug,\n )\n const hierarchyConfig =\n hierarchyCollectionConfig?.hierarchy && typeof hierarchyCollectionConfig.hierarchy === 'object'\n ? hierarchyCollectionConfig.hierarchy\n : undefined\n const IconComponent = hierarchyConfig?.admin.components.Icon\n\n // Render the custom icon if provided, otherwise use FolderIcon directly\n // Important: Must render the icon here on server to avoid hydration mismatch\n // For default FolderIcon path, render directly to avoid import map requirement\n const isDefaultFolderIcon = !IconComponent || IconComponent === '@payloadcms/ui#FolderIcon'\n const renderedIcon = isDefaultFolderIcon ? (\n <FolderIcon color=\"muted\" />\n ) : (\n RenderServerComponent({\n Component: IconComponent,\n importMap: payload.importMap,\n key: `hierarchy-button-icon-${hierarchyCollectionSlug}`,\n })\n )\n\n return (\n <HierarchyButtonClient\n fieldName={fieldName}\n hasMany={hasMany}\n hierarchyCollectionSlug={hierarchyCollectionSlug}\n Icon={renderedIcon}\n />\n )\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAC3B,SAASC,qBAAqB,QAAQ;AACtC;AACA,SAASC,qBAAqB,QAAQ;AAStC,OAAO,MAAMC,eAAA,GAAwDA,CAAC;EACpEC,SAAS;EACTC,OAAO;EACPC,uBAAuB;EACvBC;AAAO,CACR;EACC,MAAMC,yBAAA,GAA4BD,OAAA,CAAQE,MAAM,CAACC,WAAW,CAACC,IAAI,CAC9DC,CAAA,IAAMA,CAAA,CAAEC,IAAI,KAAKP,uBAAA;EAEpB,MAAMQ,eAAA,GACJN,yBAAA,EAA2BO,SAAA,IAAa,OAAOP,yBAAA,CAA0BO,SAAS,KAAK,WACnFP,yBAAA,CAA0BO,SAAS,GACnCC,SAAA;EACN,MAAMC,aAAA,GAAgBH,eAAA,EAAiBI,KAAA,CAAMC,UAAA,CAAWC,IAAA;EAExD;EACA;EACA;EACA,MAAMC,mBAAA,GAAsB,CAACJ,aAAA,IAAiBA,aAAA,KAAkB;EAChE,MAAMK,YAAA,GAAeD,mBAAA,gBACnBE,IAAA,CAACvB,UAAA;IAAWwB,KAAA,EAAM;OAElBvB,qBAAA,CAAsB;IACpBwB,SAAA,EAAWR,aAAA;IACXS,SAAA,EAAWnB,OAAA,CAAQmB,SAAS;IAC5BC,GAAA,EAAK,yBAAyBrB,uBAAA;EAChC;EAGF,oBACEiB,IAAA,CAACrB,qBAAA;IACCE,SAAA,EAAWA,SAAA;IACXC,OAAA,EAASA,OAAA;IACTC,uBAAA,EAAyBA,uBAAA;IACzBc,IAAA,EAAME;;AAGZ","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { ColumnProps } from '../types.js';
3
+ import './index.scss';
4
+ export declare const Column: React.FC<ColumnProps>;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/HierarchyColumnBrowser/Column/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAQ9C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA2FxC,CAAA"}