@payloadcms/ui 4.0.0-internal.a7ca468 → 4.0.0-internal.af6aad0

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 (558) hide show
  1. package/dist/elements/AddNewRelation/index.css +0 -4
  2. package/dist/elements/AddNewRelation/index.js +2 -2
  3. package/dist/elements/AddNewRelation/index.js.map +1 -1
  4. package/dist/elements/AppHeader/index.css +5 -0
  5. package/dist/elements/AppHeader/index.d.ts +1 -8
  6. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  7. package/dist/elements/AppHeader/index.js +4 -13
  8. package/dist/elements/AppHeader/index.js.map +1 -1
  9. package/dist/elements/ArrayAction/index.d.ts +1 -0
  10. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  11. package/dist/elements/ArrayAction/index.js +45 -32
  12. package/dist/elements/ArrayAction/index.js.map +1 -1
  13. package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
  14. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  15. package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
  16. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  17. package/dist/elements/Button/index.css +25 -2
  18. package/dist/elements/Button/index.d.ts.map +1 -1
  19. package/dist/elements/Button/index.js +2 -0
  20. package/dist/elements/Button/index.js.map +1 -1
  21. package/dist/elements/Button/types.d.ts +1 -1
  22. package/dist/elements/Button/types.d.ts.map +1 -1
  23. package/dist/elements/Button/types.js.map +1 -1
  24. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
  25. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  26. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
  27. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  28. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +345 -1
  29. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
  30. package/dist/elements/DefaultListViewTabs/index.css +1 -0
  31. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  32. package/dist/elements/DefaultListViewTabs/index.js +84 -62
  33. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  34. package/dist/elements/DocumentDrawer/types.d.ts +1 -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/Drawer/index.css +10 -4
  38. package/dist/elements/Drawer/types.d.ts +2 -2
  39. package/dist/elements/Drawer/types.d.ts.map +1 -1
  40. package/dist/elements/Drawer/types.js.map +1 -1
  41. package/dist/elements/Dropzone/index.css +10 -4
  42. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
  43. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  44. package/dist/elements/FileManager/index.css +0 -30
  45. package/dist/elements/FileManager/index.d.ts.map +1 -1
  46. package/dist/elements/FileManager/index.js +379 -287
  47. package/dist/elements/FileManager/index.js.map +1 -1
  48. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +22 -4
  49. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -1
  50. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +68 -49
  51. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  52. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +100 -15
  53. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  54. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +97 -137
  55. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  56. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +1 -1
  57. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  58. package/dist/elements/Hierarchy/ColumnBrowser/index.js +51 -23
  59. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  60. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +26 -3
  61. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  62. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  63. package/dist/elements/Hierarchy/CreateNewButton/index.css +9 -0
  64. package/dist/elements/Hierarchy/CreateNewButton/index.d.ts +9 -0
  65. package/dist/elements/Hierarchy/CreateNewButton/index.d.ts.map +1 -0
  66. package/dist/elements/Hierarchy/CreateNewButton/index.js +111 -0
  67. package/dist/elements/Hierarchy/CreateNewButton/index.js.map +1 -0
  68. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  69. package/dist/elements/Hierarchy/DocHeaderButton/index.js +6 -1
  70. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  71. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +1 -3
  72. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +1 -1
  73. package/dist/elements/Hierarchy/Field/index.client.d.ts +5 -0
  74. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  75. package/dist/elements/Hierarchy/Field/index.client.js +120 -95
  76. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  77. package/dist/elements/Hierarchy/Field/index.css +3 -34
  78. package/dist/elements/Hierarchy/Modal/Footer/index.css +45 -0
  79. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +28 -0
  80. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
  81. package/dist/elements/Hierarchy/Modal/Footer/index.js +166 -0
  82. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
  83. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +18 -4
  84. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  85. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +88 -24
  86. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  87. package/dist/elements/Hierarchy/Modal/index.css +4 -53
  88. package/dist/elements/Hierarchy/Modal/index.d.ts +5 -2
  89. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  90. package/dist/elements/Hierarchy/Modal/index.js +136 -99
  91. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  92. package/dist/elements/Hierarchy/Modal/types.d.ts +15 -0
  93. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
  94. package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
  95. package/dist/elements/Hierarchy/MoveMany/index.d.ts +7 -3
  96. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  97. package/dist/elements/Hierarchy/MoveMany/index.js +43 -170
  98. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  99. package/dist/elements/Hierarchy/Search/index.css +2 -9
  100. package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
  101. package/dist/elements/Hierarchy/Search/index.js +6 -73
  102. package/dist/elements/Hierarchy/Search/index.js.map +1 -1
  103. package/dist/elements/Hierarchy/Search/types.d.ts +2 -6
  104. package/dist/elements/Hierarchy/Search/types.d.ts.map +1 -1
  105. package/dist/elements/Hierarchy/Search/types.js.map +1 -1
  106. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +0 -4
  107. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  108. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +101 -186
  109. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  110. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  111. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +1 -21
  112. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  113. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +3 -3
  114. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +59 -29
  115. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +1 -1
  116. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  117. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +54 -10
  118. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  119. package/dist/elements/Hierarchy/Tree/index.css +8 -9
  120. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  121. package/dist/elements/Hierarchy/Tree/index.js +29 -47
  122. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  123. package/dist/elements/Hierarchy/Tree/types.d.ts +9 -1
  124. package/dist/elements/Hierarchy/Tree/types.d.ts.map +1 -1
  125. package/dist/elements/Hierarchy/Tree/types.js.map +1 -1
  126. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  127. package/dist/elements/Hierarchy/Tree/useChildren.js +11 -1
  128. package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
  129. package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts +22 -0
  130. package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts.map +1 -0
  131. package/dist/elements/Hierarchy/getFolderHierarchySlug.js +17 -0
  132. package/dist/elements/Hierarchy/getFolderHierarchySlug.js.map +1 -0
  133. package/dist/elements/Hierarchy/move/moveDocuments.d.ts +34 -0
  134. package/dist/elements/Hierarchy/move/moveDocuments.d.ts.map +1 -0
  135. package/dist/elements/Hierarchy/move/moveDocuments.js +94 -0
  136. package/dist/elements/Hierarchy/move/moveDocuments.js.map +1 -0
  137. package/dist/elements/IDLabel/index.css +6 -0
  138. package/dist/elements/IDLabel/index.d.ts +1 -1
  139. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  140. package/dist/elements/IDLabel/index.js +16 -21
  141. package/dist/elements/IDLabel/index.js.map +1 -1
  142. package/dist/elements/ListControls/index.d.ts.map +1 -1
  143. package/dist/elements/ListControls/index.js +3 -2
  144. package/dist/elements/ListControls/index.js.map +1 -1
  145. package/dist/elements/ListControls/types.d.ts +4 -0
  146. package/dist/elements/ListControls/types.d.ts.map +1 -1
  147. package/dist/elements/ListControls/types.js.map +1 -1
  148. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
  149. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
  150. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
  151. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  152. package/dist/elements/Nav/NavSidebarToggle/index.js +1 -1
  153. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
  154. package/dist/elements/Nav/NavWrapper/index.d.ts +1 -0
  155. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  156. package/dist/elements/Nav/NavWrapper/index.js +12 -18
  157. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  158. package/dist/elements/Nav/SidebarTabs/index.css +1 -2
  159. package/dist/elements/Nav/context.d.ts +0 -1
  160. package/dist/elements/Nav/context.d.ts.map +1 -1
  161. package/dist/elements/Nav/context.js +92 -67
  162. package/dist/elements/Nav/context.js.map +1 -1
  163. package/dist/elements/Nav/index.css +47 -42
  164. package/dist/elements/Nav/index.d.ts +4 -0
  165. package/dist/elements/Nav/index.d.ts.map +1 -1
  166. package/dist/elements/Nav/index.js +16 -1
  167. package/dist/elements/Nav/index.js.map +1 -1
  168. package/dist/elements/NavGroup/index.css +29 -15
  169. package/dist/elements/Popup/PopupButtonList/index.css +33 -17
  170. package/dist/elements/Popup/index.css +6 -0
  171. package/dist/elements/Popup/index.d.ts +10 -0
  172. package/dist/elements/Popup/index.d.ts.map +1 -1
  173. package/dist/elements/Popup/index.js +13 -6
  174. package/dist/elements/Popup/index.js.map +1 -1
  175. package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
  176. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  177. package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
  178. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  179. package/dist/elements/ReactSelect/types.d.ts +5 -0
  180. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  181. package/dist/elements/ReactSelect/types.js.map +1 -1
  182. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  183. package/dist/elements/RelationshipTable/index.js +5 -2
  184. package/dist/elements/RelationshipTable/index.js.map +1 -1
  185. package/dist/elements/SegmentedControl/index.css +58 -0
  186. package/dist/elements/SegmentedControl/index.d.ts +19 -0
  187. package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
  188. package/dist/elements/SegmentedControl/index.js +104 -0
  189. package/dist/elements/SegmentedControl/index.js.map +1 -0
  190. package/dist/elements/SelectAll/index.d.ts.map +1 -1
  191. package/dist/elements/SelectAll/index.js +1 -2
  192. package/dist/elements/SelectAll/index.js.map +1 -1
  193. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  194. package/dist/elements/SelectRow/index.js +1 -2
  195. package/dist/elements/SelectRow/index.js.map +1 -1
  196. package/dist/elements/SidebarRow/index.css +1 -5
  197. package/dist/elements/SidebarToggle/index.css +3 -1
  198. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  199. package/dist/elements/SortHeader/index.js +29 -26
  200. package/dist/elements/SortHeader/index.js.map +1 -1
  201. package/dist/elements/StepNav/DropTarget/index.css +20 -0
  202. package/dist/elements/StepNav/DropTarget/index.d.ts +16 -0
  203. package/dist/elements/StepNav/DropTarget/index.d.ts.map +1 -0
  204. package/dist/elements/StepNav/DropTarget/index.js +71 -0
  205. package/dist/elements/StepNav/DropTarget/index.js.map +1 -0
  206. package/dist/elements/StepNav/index.css +64 -14
  207. package/dist/elements/StepNav/index.d.ts.map +1 -1
  208. package/dist/elements/StepNav/index.js +147 -69
  209. package/dist/elements/StepNav/index.js.map +1 -1
  210. package/dist/elements/StepNav/types.d.ts +6 -0
  211. package/dist/elements/StepNav/types.d.ts.map +1 -1
  212. package/dist/elements/StepNav/types.js.map +1 -1
  213. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +5 -7
  214. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  215. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +14 -3
  216. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  217. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  218. package/dist/elements/Table/DefaultCell/index.js +3 -11
  219. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  220. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
  221. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
  222. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
  223. package/dist/elements/Upload/index.css +39 -32
  224. package/dist/elements/Upload/index.d.ts.map +1 -1
  225. package/dist/elements/Upload/index.js +37 -99
  226. package/dist/elements/Upload/index.js.map +1 -1
  227. package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
  228. package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
  229. package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
  230. package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
  231. package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
  232. package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
  233. package/dist/elements/Upload/useUploadFromUrl.js +201 -0
  234. package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
  235. package/dist/elements/UploadDropzoneContent/index.css +31 -0
  236. package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
  237. package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
  238. package/dist/elements/UploadDropzoneContent/index.js +62 -0
  239. package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
  240. package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts +18 -0
  241. package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts.map +1 -0
  242. package/dist/elements/UserMenu/HoverSubmenuGroup.js +38 -0
  243. package/dist/elements/UserMenu/HoverSubmenuGroup.js.map +1 -0
  244. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
  245. package/dist/elements/UserMenu/LanguageMenu/index.js +83 -39
  246. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  247. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
  248. package/dist/elements/UserMenu/SettingsMenu/index.js +57 -21
  249. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  250. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
  251. package/dist/elements/UserMenu/ThemeMenu/index.js +83 -39
  252. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  253. package/dist/elements/UserMenu/index.css +32 -2
  254. package/dist/elements/UserMenu/index.d.ts +1 -0
  255. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  256. package/dist/elements/UserMenu/index.js +77 -51
  257. package/dist/elements/UserMenu/index.js.map +1 -1
  258. package/dist/elements/UserMenu/useHoverSubmenu.d.ts +21 -0
  259. package/dist/elements/UserMenu/useHoverSubmenu.d.ts.map +1 -0
  260. package/dist/elements/UserMenu/useHoverSubmenu.js +260 -0
  261. package/dist/elements/UserMenu/useHoverSubmenu.js.map +1 -0
  262. package/dist/elements/ViewModeToggle/index.d.ts +8 -0
  263. package/dist/elements/ViewModeToggle/index.d.ts.map +1 -0
  264. package/dist/elements/ViewModeToggle/index.js +29 -0
  265. package/dist/elements/ViewModeToggle/index.js.map +1 -0
  266. package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
  267. package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
  268. package/dist/elements/WhereBuilder/conditionValue.js +32 -0
  269. package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
  270. package/dist/elements/WhereBuilder/conditionValue.spec.js +65 -0
  271. package/dist/elements/WhereBuilder/conditionValue.spec.js.map +1 -0
  272. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  273. package/dist/elements/WhereBuilder/index.js +15 -4
  274. package/dist/elements/WhereBuilder/index.js.map +1 -1
  275. package/dist/exports/client/index.d.ts +6 -1
  276. package/dist/exports/client/index.d.ts.map +1 -1
  277. package/dist/exports/client/index.js +1 -1
  278. package/dist/exports/client/index.js.map +3 -3
  279. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  280. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  281. package/dist/fields/Array/ArrayRow.js +2 -0
  282. package/dist/fields/Array/ArrayRow.js.map +1 -1
  283. package/dist/fields/Array/index.d.ts.map +1 -1
  284. package/dist/fields/Array/index.js +38 -10
  285. package/dist/fields/Array/index.js.map +1 -1
  286. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  287. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  288. package/dist/fields/Blocks/BlockRow.js +2 -0
  289. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  290. package/dist/fields/Blocks/RowActions.d.ts +1 -0
  291. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  292. package/dist/fields/Blocks/RowActions.js +22 -19
  293. package/dist/fields/Blocks/RowActions.js.map +1 -1
  294. package/dist/fields/Blocks/index.d.ts.map +1 -1
  295. package/dist/fields/Blocks/index.js +35 -7
  296. package/dist/fields/Blocks/index.js.map +1 -1
  297. package/dist/fields/Checkbox/Input.d.ts +2 -2
  298. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  299. package/dist/fields/Checkbox/Input.js +134 -152
  300. package/dist/fields/Checkbox/Input.js.map +1 -1
  301. package/dist/fields/Checkbox/index.css +168 -155
  302. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  303. package/dist/fields/Relationship/Input.js +24 -6
  304. package/dist/fields/Relationship/Input.js.map +1 -1
  305. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  306. package/dist/fields/Relationship/optionsReducer.js +2 -0
  307. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  308. package/dist/fields/Relationship/types.d.ts +24 -0
  309. package/dist/fields/Relationship/types.d.ts.map +1 -1
  310. package/dist/fields/Relationship/types.js.map +1 -1
  311. package/dist/fields/Upload/Input.d.ts.map +1 -1
  312. package/dist/fields/Upload/Input.js +44 -16
  313. package/dist/fields/Upload/Input.js.map +1 -1
  314. package/dist/fields/Upload/Input.spec.js +241 -0
  315. package/dist/fields/Upload/Input.spec.js.map +1 -0
  316. package/dist/forms/Form/index.d.ts.map +1 -1
  317. package/dist/forms/Form/index.js +4 -1
  318. package/dist/forms/Form/index.js.map +1 -1
  319. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  320. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -0
  321. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  322. package/dist/icons/CollapseLayers/index.css +5 -0
  323. package/dist/icons/CollapseLayers/index.d.ts +7 -0
  324. package/dist/icons/CollapseLayers/index.d.ts.map +1 -0
  325. package/dist/icons/CollapseLayers/index.js +23 -0
  326. package/dist/icons/CollapseLayers/index.js.map +1 -0
  327. package/dist/icons/Edit/index.d.ts +0 -1
  328. package/dist/icons/Edit/index.d.ts.map +1 -1
  329. package/dist/icons/Edit/index.js +4 -4
  330. package/dist/icons/Edit/index.js.map +1 -1
  331. package/dist/icons/Table/index.css +5 -0
  332. package/dist/icons/Table/index.d.ts +7 -0
  333. package/dist/icons/Table/index.d.ts.map +1 -0
  334. package/dist/icons/Table/index.js +25 -0
  335. package/dist/icons/Table/index.js.map +1 -0
  336. package/dist/providers/Actions/index.d.ts +1 -0
  337. package/dist/providers/Actions/index.d.ts.map +1 -1
  338. package/dist/providers/Actions/index.js +43 -11
  339. package/dist/providers/Actions/index.js.map +1 -1
  340. package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
  341. package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
  342. package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
  343. package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
  344. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
  345. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
  346. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
  347. package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
  348. package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
  349. package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
  350. package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
  351. package/dist/providers/Auth/authSessionRequests.js +119 -0
  352. package/dist/providers/Auth/authSessionRequests.js.map +1 -0
  353. package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
  354. package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
  355. package/dist/providers/Auth/index.d.ts +2 -56
  356. package/dist/providers/Auth/index.d.ts.map +1 -1
  357. package/dist/providers/Auth/index.js +283 -135
  358. package/dist/providers/Auth/index.js.map +1 -1
  359. package/dist/providers/Auth/sessionActivity.d.ts +23 -0
  360. package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
  361. package/dist/providers/Auth/sessionActivity.js +49 -0
  362. package/dist/providers/Auth/sessionActivity.js.map +1 -0
  363. package/dist/providers/Auth/sessionActivity.spec.js +44 -0
  364. package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
  365. package/dist/providers/Auth/sessionTiming.d.ts +11 -0
  366. package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
  367. package/dist/providers/Auth/sessionTiming.js +18 -0
  368. package/dist/providers/Auth/sessionTiming.js.map +1 -0
  369. package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
  370. package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
  371. package/dist/providers/Auth/tabSessionSync/index.js +263 -0
  372. package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
  373. package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
  374. package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
  375. package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
  376. package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
  377. package/dist/providers/Auth/tabSessionSync/types.js +6 -0
  378. package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
  379. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
  380. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
  381. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
  382. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
  383. package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
  384. package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
  385. package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
  386. package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
  387. package/dist/providers/Auth/types.d.ts +65 -0
  388. package/dist/providers/Auth/types.d.ts.map +1 -0
  389. package/dist/providers/Auth/types.js +2 -0
  390. package/dist/providers/Auth/types.js.map +1 -0
  391. package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
  392. package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
  393. package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
  394. package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
  395. package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
  396. package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
  397. package/dist/providers/FormErrorHandler/index.d.ts +5 -1
  398. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -1
  399. package/dist/providers/FormErrorHandler/index.js.map +1 -1
  400. package/dist/providers/Hierarchy/index.d.ts.map +1 -1
  401. package/dist/providers/Hierarchy/index.js +53 -24
  402. package/dist/providers/Hierarchy/index.js.map +1 -1
  403. package/dist/providers/Hierarchy/types.d.ts +2 -0
  404. package/dist/providers/Hierarchy/types.d.ts.map +1 -1
  405. package/dist/providers/Hierarchy/types.js.map +1 -1
  406. package/dist/providers/HierarchyDnd/index.css +51 -0
  407. package/dist/providers/HierarchyDnd/index.d.ts +21 -0
  408. package/dist/providers/HierarchyDnd/index.d.ts.map +1 -0
  409. package/dist/providers/HierarchyDnd/index.js +163 -0
  410. package/dist/providers/HierarchyDnd/index.js.map +1 -0
  411. package/dist/providers/HierarchyDnd/types.d.ts +56 -0
  412. package/dist/providers/HierarchyDnd/types.d.ts.map +1 -0
  413. package/dist/providers/HierarchyDnd/types.js +21 -0
  414. package/dist/providers/HierarchyDnd/types.js.map +1 -0
  415. package/dist/providers/Locale/index.d.ts.map +1 -1
  416. package/dist/providers/Locale/index.js +41 -36
  417. package/dist/providers/Locale/index.js.map +1 -1
  418. package/dist/providers/Root/index.js +4 -4
  419. package/dist/providers/Root/index.js.map +1 -1
  420. package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
  421. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  422. package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
  423. package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
  424. package/dist/providers/RouteTransition/index.d.ts +2 -0
  425. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  426. package/dist/providers/RouteTransition/index.js +42 -14
  427. package/dist/providers/RouteTransition/index.js.map +1 -1
  428. package/dist/styles.css +1 -1
  429. package/dist/templates/Default/Wrapper/index.css +2 -1
  430. package/dist/templates/Default/Wrapper/index.d.ts +2 -0
  431. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  432. package/dist/templates/Default/Wrapper/index.js +12 -6
  433. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  434. package/dist/templates/Default/index.css +3 -1
  435. package/dist/templates/Default/index.d.ts +1 -0
  436. package/dist/templates/Default/index.d.ts.map +1 -1
  437. package/dist/templates/Default/index.js +19 -15
  438. package/dist/templates/Default/index.js.map +1 -1
  439. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  440. package/dist/utilities/formatMetadata.js +0 -5
  441. package/dist/utilities/formatMetadata.js.map +1 -1
  442. package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
  443. package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
  444. package/dist/utilities/getFilesFromClipboard.js +49 -0
  445. package/dist/utilities/getFilesFromClipboard.js.map +1 -0
  446. package/dist/utilities/slugify.d.ts.map +1 -1
  447. package/dist/utilities/slugify.js +1 -0
  448. package/dist/utilities/slugify.js.map +1 -1
  449. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  450. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
  451. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  452. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  453. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
  454. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  455. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  456. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
  457. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  458. package/dist/views/Dashboard/Default/ModularDashboard/index.css +33 -140
  459. package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
  460. package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
  461. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  462. package/dist/views/Edit/index.d.ts.map +1 -1
  463. package/dist/views/Edit/index.js +3 -2
  464. package/dist/views/Edit/index.js.map +1 -1
  465. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  466. package/dist/views/HierarchyList/DocumentListSelection/index.js +100 -105
  467. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  468. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.css +216 -0
  469. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts +20 -0
  470. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts.map +1 -0
  471. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js +182 -0
  472. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js.map +1 -0
  473. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.css +38 -0
  474. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts +15 -0
  475. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts.map +1 -0
  476. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js +85 -0
  477. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js.map +1 -0
  478. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.css +98 -0
  479. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts +27 -0
  480. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts.map +1 -0
  481. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js +84 -0
  482. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js.map +1 -0
  483. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts +19 -0
  484. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts.map +1 -0
  485. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js +100 -0
  486. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js.map +1 -0
  487. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts +53 -0
  488. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts.map +1 -0
  489. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js +145 -0
  490. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js.map +1 -0
  491. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts +8 -0
  492. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts.map +1 -0
  493. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js +21 -0
  494. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js.map +1 -0
  495. package/dist/views/HierarchyList/HierarchyCards/index.css +115 -0
  496. package/dist/views/HierarchyList/HierarchyCards/index.d.ts +80 -0
  497. package/dist/views/HierarchyList/HierarchyCards/index.d.ts.map +1 -0
  498. package/dist/views/HierarchyList/HierarchyCards/index.js +457 -0
  499. package/dist/views/HierarchyList/HierarchyCards/index.js.map +1 -0
  500. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +6 -1
  501. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
  502. package/dist/views/HierarchyList/HierarchyListHeader/index.js +10 -8
  503. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
  504. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
  505. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +11 -10
  506. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  507. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  508. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +3 -6
  509. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  510. package/dist/views/HierarchyList/HierarchyTable/index.css +51 -0
  511. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +13 -1
  512. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  513. package/dist/views/HierarchyList/HierarchyTable/index.js +156 -38
  514. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  515. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +6 -0
  516. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
  517. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
  518. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  519. package/dist/views/HierarchyList/index.js +103 -20
  520. package/dist/views/HierarchyList/index.js.map +1 -1
  521. package/dist/views/List/ListHeader/index.d.ts +1 -10
  522. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  523. package/dist/views/List/ListHeader/index.js +1 -3
  524. package/dist/views/List/ListHeader/index.js.map +1 -1
  525. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  526. package/dist/views/List/ListSelection/index.js +138 -122
  527. package/dist/views/List/ListSelection/index.js.map +1 -1
  528. package/dist/views/List/handleHierarchy.d.ts +6 -1
  529. package/dist/views/List/handleHierarchy.d.ts.map +1 -1
  530. package/dist/views/List/handleHierarchy.js +34 -3
  531. package/dist/views/List/handleHierarchy.js.map +1 -1
  532. package/dist/views/List/index.client.d.ts.map +1 -1
  533. package/dist/views/List/index.client.js +128 -18
  534. package/dist/views/List/index.client.js.map +1 -1
  535. package/dist/views/List/index.css +5 -0
  536. package/dist/views/List/index.d.ts.map +1 -1
  537. package/dist/views/List/index.js +27 -16
  538. package/dist/views/List/index.js.map +1 -1
  539. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  540. package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
  541. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  542. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
  543. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  544. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  545. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  546. package/dist/views/Root/getRouteData.js +8 -2
  547. package/dist/views/Root/getRouteData.js.map +1 -1
  548. package/dist/views/Root/index.d.ts.map +1 -1
  549. package/dist/views/Root/index.js +1 -0
  550. package/dist/views/Root/index.js.map +1 -1
  551. package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
  552. package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
  553. package/package.json +4 -4
  554. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +0 -36
  555. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +0 -13
  556. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +0 -1
  557. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +0 -141
  558. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +0 -1
@@ -0,0 +1,98 @@
1
+ @layer payload-default {
2
+ /*
3
+ * Single-row card: the folder icon leads, the title fills the remaining width and truncates.
4
+ *
5
+ * State rings are spread-only box-shadows rather than borders, matching DocumentCard. Widening a
6
+ * border on selection would grow the card's auto height by 2px (border-box sizing does not absorb
7
+ * a border when no explicit height is set), which would grow the whole grid row and shift
8
+ * everything below it. Focus is left to the inner link's standard app-wide :focus-visible ring, so
9
+ * it stays distinguishable from the selected state.
10
+ */
11
+ .hierarchy-folder-card {
12
+ display: flex;
13
+ align-items: stretch;
14
+ min-width: 0;
15
+ background: var(--color-bg);
16
+ border-radius: var(--radius-large);
17
+ box-shadow: 0 0 0 var(--stroke-width-small) var(--color-border);
18
+ }
19
+
20
+ .hierarchy-folder-card:not(.hierarchy-folder-card--selected):hover {
21
+ box-shadow: 0 0 0 var(--stroke-width-small) var(--special-border-translucent-strong);
22
+ }
23
+
24
+ .hierarchy-folder-card--selected {
25
+ box-shadow: 0 0 0 var(--stroke-width-medium) var(--color-border-selected);
26
+ }
27
+
28
+ .hierarchy-folder-card--selected:hover {
29
+ box-shadow: 0 0 0 var(--stroke-width-medium) var(--color-border-selected-strong);
30
+ }
31
+
32
+ /*
33
+ * Drop invitation. Reuses the selected ring's token and width so hovering a drag over a card never
34
+ * changes its geometry, and wins over the selected/hover rings above by being declared later.
35
+ */
36
+ .hierarchy-folder-card--drop-over {
37
+ background: color-mix(in srgb, var(--color-border-selected) 8%, var(--color-bg));
38
+ box-shadow: 0 0 0 var(--stroke-width-medium) var(--color-border-selected);
39
+ }
40
+
41
+ .hierarchy-folder-card--drop-invalid {
42
+ cursor: not-allowed;
43
+ }
44
+
45
+ .hierarchy-folder-card__link {
46
+ display: flex;
47
+ flex: 1 1 auto;
48
+ align-items: center;
49
+ gap: var(--spacer-1);
50
+ min-width: 0;
51
+ padding: var(--spacer-2-5);
52
+ border-radius: var(--radius-large);
53
+ color: var(--color-text);
54
+ text-decoration: none;
55
+ cursor: pointer;
56
+
57
+ &:hover {
58
+ color: var(--color-text);
59
+ text-decoration: none;
60
+ }
61
+ }
62
+
63
+ /* Trailing slot (lock indicator) supplies its own end padding. */
64
+ .hierarchy-folder-card--has-corner-slot .hierarchy-folder-card__link {
65
+ padding-inline-end: var(--spacer-2);
66
+ }
67
+
68
+ .hierarchy-folder-card__icon {
69
+ display: flex;
70
+ flex-shrink: 0;
71
+ color: var(--color-icon);
72
+
73
+ svg {
74
+ width: var(--spacer-4);
75
+ height: var(--spacer-4);
76
+ }
77
+ }
78
+
79
+ .hierarchy-folder-card__title {
80
+ flex: 1 1 auto;
81
+ min-width: 0;
82
+ overflow: hidden;
83
+ text-overflow: ellipsis;
84
+ white-space: nowrap;
85
+ font-family: var(--text-body-large-strong-font-family);
86
+ font-size: var(--text-body-large-strong-font-size);
87
+ font-weight: var(--text-body-large-strong-font-weight);
88
+ line-height: var(--text-body-large-strong-line-height);
89
+ letter-spacing: var(--text-body-large-strong-letter-spacing);
90
+ }
91
+
92
+ .hierarchy-folder-card__corner-slot {
93
+ display: flex;
94
+ flex-shrink: 0;
95
+ align-items: center;
96
+ padding-inline-end: var(--spacer-2-5);
97
+ }
98
+ }
@@ -0,0 +1,27 @@
1
+ import type { User } from 'payload';
2
+ import React from 'react';
3
+ import './index.css';
4
+ export type FolderCardProps = {
5
+ /**
6
+ * Hover state while a hierarchy drag is over this card: `over` invites the drop, `invalid` marks a
7
+ * destination that would reject it (wrong collection type, or the folder's own subtree).
8
+ */
9
+ dropState?: 'invalid' | 'over';
10
+ /**
11
+ * Admin URL the card navigates to when clicked.
12
+ */
13
+ href: string;
14
+ /**
15
+ * Overrides the default folder icon rendered on the leading side.
16
+ */
17
+ icon?: React.ReactNode;
18
+ isSelected?: boolean;
19
+ /**
20
+ * The user currently editing this document. When set, a lock indicator is shown and the card
21
+ * cannot be selected.
22
+ */
23
+ lockedUser?: User;
24
+ title: string;
25
+ };
26
+ export declare const FolderCard: React.FC<FolderCardProps>;
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/HierarchyList/HierarchyCards/FolderCard/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEnC,OAAO,KAAgB,MAAM,OAAO,CAAA;AAKpC,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IAC9B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAmDhD,CAAA"}
@@ -0,0 +1,84 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ import React, { useId } from 'react';
6
+ import { Link } from '../../../../elements/Link/index.js';
7
+ import { Locked } from '../../../../elements/Locked/index.js';
8
+ import { FolderIcon } from '../../../../icons/Folder/index.js';
9
+ import './index.css';
10
+ const baseClass = 'hierarchy-folder-card';
11
+ export const FolderCard = t0 => {
12
+ const $ = _c(14);
13
+ const {
14
+ dropState,
15
+ href,
16
+ icon,
17
+ isSelected: t1,
18
+ lockedUser,
19
+ title
20
+ } = t0;
21
+ const isSelected = t1 === undefined ? false : t1;
22
+ const selectedStatusID = useId();
23
+ const shouldAnnounceSelection = isSelected && !lockedUser;
24
+ const t2 = isSelected && `${baseClass}--selected`;
25
+ const t3 = dropState && `${baseClass}--drop-${dropState}`;
26
+ const t4 = lockedUser && `${baseClass}--has-corner-slot`;
27
+ let t5;
28
+ if ($[0] !== t2 || $[1] !== t3 || $[2] !== t4) {
29
+ t5 = [baseClass, t2, t3, t4].filter(Boolean);
30
+ $[0] = t2;
31
+ $[1] = t3;
32
+ $[2] = t4;
33
+ $[3] = t5;
34
+ } else {
35
+ t5 = $[3];
36
+ }
37
+ const t6 = t5.join(" ");
38
+ const t7 = isSelected ? "true" : undefined;
39
+ const t8 = shouldAnnounceSelection ? selectedStatusID : undefined;
40
+ let t9;
41
+ if ($[4] !== href || $[5] !== icon || $[6] !== lockedUser || $[7] !== selectedStatusID || $[8] !== shouldAnnounceSelection || $[9] !== t6 || $[10] !== t7 || $[11] !== t8 || $[12] !== title) {
42
+ t9 = _jsxs("div", {
43
+ className: t6,
44
+ "data-selected": t7,
45
+ children: [_jsxs(Link, {
46
+ "aria-describedby": t8,
47
+ className: `${baseClass}__link`,
48
+ draggable: false,
49
+ href,
50
+ children: [_jsx("span", {
51
+ className: `${baseClass}__icon`,
52
+ children: icon || _jsx(FolderIcon, {})
53
+ }), _jsx("span", {
54
+ className: `${baseClass}__title`,
55
+ title,
56
+ children: title
57
+ })]
58
+ }), shouldAnnounceSelection && _jsx("span", {
59
+ className: "sr-only",
60
+ id: selectedStatusID,
61
+ children: "Selected"
62
+ }), lockedUser && _jsx("div", {
63
+ className: `${baseClass}__corner-slot`,
64
+ children: _jsx(Locked, {
65
+ user: lockedUser
66
+ })
67
+ })]
68
+ });
69
+ $[4] = href;
70
+ $[5] = icon;
71
+ $[6] = lockedUser;
72
+ $[7] = selectedStatusID;
73
+ $[8] = shouldAnnounceSelection;
74
+ $[9] = t6;
75
+ $[10] = t7;
76
+ $[11] = t8;
77
+ $[12] = title;
78
+ $[13] = t9;
79
+ } else {
80
+ t9 = $[13];
81
+ }
82
+ return t9;
83
+ };
84
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useId","Link","Locked","FolderIcon","baseClass","FolderCard","t0","$","dropState","href","icon","isSelected","t1","lockedUser","title","undefined","selectedStatusID","shouldAnnounceSelection","t2","t3","t4","t5","filter","Boolean","t6","join","t7","t8","t9","_jsxs","className","children","draggable","_jsx","id","user"],"sources":["../../../../../src/views/HierarchyList/HierarchyCards/FolderCard/index.tsx"],"sourcesContent":["'use client'\n\nimport type { User } from 'payload'\n\nimport React, { useId } from 'react'\n\nimport { Link } from '../../../../elements/Link/index.js'\nimport { Locked } from '../../../../elements/Locked/index.js'\nimport { FolderIcon } from '../../../../icons/Folder/index.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-folder-card'\n\nexport type FolderCardProps = {\n /**\n * Hover state while a hierarchy drag is over this card: `over` invites the drop, `invalid` marks a\n * destination that would reject it (wrong collection type, or the folder's own subtree).\n */\n dropState?: 'invalid' | 'over'\n /**\n * Admin URL the card navigates to when clicked.\n */\n href: string\n /**\n * Overrides the default folder icon rendered on the leading side.\n */\n icon?: React.ReactNode\n isSelected?: boolean\n /**\n * The user currently editing this document. When set, a lock indicator is shown and the card\n * cannot be selected.\n */\n lockedUser?: User\n title: string\n}\n\nexport const FolderCard: React.FC<FolderCardProps> = ({\n dropState,\n href,\n icon,\n isSelected = false,\n lockedUser,\n title,\n}) => {\n const selectedStatusID = useId()\n\n // The selected state is otherwise only conveyed by the accent border. Suppressed when locked, so\n // this never contradicts the lock indicator's own announcement.\n const shouldAnnounceSelection = isSelected && !lockedUser\n\n return (\n <div\n className={[\n baseClass,\n isSelected && `${baseClass}--selected`,\n dropState && `${baseClass}--drop-${dropState}`,\n // The trailing slot holds the lock indicator.\n lockedUser && `${baseClass}--has-corner-slot`,\n ]\n .filter(Boolean)\n .join(' ')}\n data-selected={isSelected ? 'true' : undefined}\n >\n <Link\n aria-describedby={shouldAnnounceSelection ? selectedStatusID : undefined}\n className={`${baseClass}__link`}\n // The card itself is the drag handle; a link's native drag would fight the pointer sensor.\n draggable={false}\n href={href}\n >\n <span className={`${baseClass}__icon`}>{icon || <FolderIcon />}</span>\n <span className={`${baseClass}__title`} title={title}>\n {title}\n </span>\n </Link>\n {shouldAnnounceSelection && (\n <span className=\"sr-only\" id={selectedStatusID}>\n Selected\n </span>\n )}\n {lockedUser && (\n <div className={`${baseClass}__corner-slot`}>\n <Locked user={lockedUser} />\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,OAAOC,KAAA,IAASC,KAAK,QAAQ;AAE7B,SAASC,IAAI,QAAQ;AACrB,SAASC,MAAM,QAAQ;AACvB,SAASC,UAAU,QAAQ;AAC3B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAyBlB,OAAO,MAAMC,UAAA,GAAwCC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU,SAAA;IAAAC,IAAA;IAAAC,IAAA;IAAAC,UAAA,EAAAC,EAAA;IAAAC,UAAA;IAAAC;EAAA,IAAAR,EAOrD;EAHC,MAAAK,UAAA,GAAAC,EAAkB,KAAAG,SAAA,WAAlBH,EAAkB;EAIlB,MAAAI,gBAAA,GAAyBhB,KAAA;EAIzB,MAAAiB,uBAAA,GAAgCN,UAAA,KAAeE,UAAA;EAMzC,MAAAK,EAAA,GAAAP,UAAA,IAAc,GAAAP,SAAA,YAAwB;EACtC,MAAAe,EAAA,GAAAX,SAAA,IAAa,GAAAJ,SAAA,UAAsBI,SAAA,EAAW;EAE9C,MAAAY,EAAA,GAAAP,UAAA,IAAc,GAAAT,SAAA,mBAA+B;EAAA,IAAAiB,EAAA;EAAA,IAAAd,CAAA,QAAAW,EAAA,IAAAX,CAAA,QAAAY,EAAA,IAAAZ,CAAA,QAAAa,EAAA;IALpCC,EAAA,IAAAjB,SAAA,EAETc,EAAsC,EACtCC,EAA8C,EAE9CC,EAA6C,EAAAE,MAAA,CAAAC,OAErC;IAAAhB,CAAA,MAAAW,EAAA;IAAAX,CAAA,MAAAY,EAAA;IAAAZ,CAAA,MAAAa,EAAA;IAAAb,CAAA,MAAAc,EAAA;EAAA;IAAAA,EAAA,GAAAd,CAAA;EAAA;EAPC,MAAAiB,EAAA,GAAAH,EAOD,CAAAI,IAAA,CACF;EACO,MAAAC,EAAA,GAAAf,UAAA,GAAa,SAAAI,SAAS;EAGjB,MAAAY,EAAA,GAAAV,uBAAA,GAA0BD,gBAAA,GAAAD,SAAmB;EAAA,IAAAa,EAAA;EAAA,IAAArB,CAAA,QAAAE,IAAA,IAAAF,CAAA,QAAAG,IAAA,IAAAH,CAAA,QAAAM,UAAA,IAAAN,CAAA,QAAAS,gBAAA,IAAAT,CAAA,QAAAU,uBAAA,IAAAV,CAAA,QAAAiB,EAAA,IAAAjB,CAAA,SAAAmB,EAAA,IAAAnB,CAAA,SAAAoB,EAAA,IAAApB,CAAA,SAAAO,KAAA;IAbnEc,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EACYN,EAQH;MAAA,iBACOE,EAAsB;MAAAK,QAAA,GAErCF,KAAA,CAAA5B,IAAA;QAAA,oBACoB0B,EAA6C;QAAAG,SAAA,EACpD,GAAA1B,SAAA,QAAoB;QAAA4B,SAAA;QAAAvB,IAAA;QAAAsB,QAAA,GAK/BE,IAAA,CAAC;UAAAH,SAAA,EAAgB,GAAA1B,SAAA,QAAoB;UAAA2B,QAAA,EAAGrB,IAAA,IAAQuB,IAAA,CAAA9B,UAAA,IAAC;QAAA,C,GACjD8B,IAAA,CAAC;UAAAH,SAAA,EAAgB,GAAA1B,SAAA,SAAqB;UAAAU,KAAA;UAAAiB,QAAA,EACnCjB;QAAA,C;UAGJG,uBAAA,IACCgB,IAAA,CAAC;QAAAH,SAAA,EAAe;QAAAI,EAAA,EAAclB,gBAAA;QAAAe,QAAA,EAAkB;MAAA,C,GAIjDlB,UAAA,IACCoB,IAAA,CAAC;QAAAH,SAAA,EAAe,GAAA1B,SAAA,eAA2B;QAAA2B,QAAA,EACzCE,IAAA,CAAA/B,MAAA;UAAAiC,IAAA,EAActB;QAAA,C;;;;;;;;;;;;;;;;SA/BpBe,E;CAoCJ","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ import type { User } from 'payload';
2
+ import React from 'react';
3
+ import type { TableRow } from '../../HierarchyTable/types.js';
4
+ export type HierarchyCardProps = {
5
+ dropState?: 'invalid' | 'over';
6
+ href: string;
7
+ isHierarchyGroup: boolean;
8
+ isSelected?: boolean;
9
+ lockedUser?: User;
10
+ row: TableRow;
11
+ showTypePill?: boolean;
12
+ title: string;
13
+ };
14
+ /**
15
+ * Picks the card that suits a row and supplies its labels. Extracted so the drag overlay can render
16
+ * the very cards being dragged rather than an approximation of them.
17
+ */
18
+ export declare const HierarchyCard: React.FC<HierarchyCardProps>;
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/HierarchyList/HierarchyCards/HierarchyCard/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAGnC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAO7D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB,EAAE,OAAO,CAAA;IACzB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,GAAG,EAAE,QAAQ,CAAA;IACb,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA0CtD,CAAA"}
@@ -0,0 +1,100 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ import { getTranslation } from '@payloadcms/translations';
6
+ import React from 'react';
7
+ import { useConfig } from '../../../../providers/Config/index.js';
8
+ import { useTranslation } from '../../../../providers/Translation/index.js';
9
+ import { DocumentCard } from '../DocumentCard/index.js';
10
+ import { FolderCard } from '../FolderCard/index.js';
11
+ /**
12
+ * Picks the card that suits a row and supplies its labels. Extracted so the drag overlay can render
13
+ * the very cards being dragged rather than an approximation of them.
14
+ */
15
+ export const HierarchyCard = t0 => {
16
+ const $ = _c(19);
17
+ const {
18
+ dropState,
19
+ href,
20
+ isHierarchyGroup,
21
+ isSelected: t1,
22
+ lockedUser,
23
+ row,
24
+ showTypePill: t2,
25
+ title
26
+ } = t0;
27
+ const isSelected = t1 === undefined ? false : t1;
28
+ const showTypePill = t2 === undefined ? false : t2;
29
+ const {
30
+ getEntityConfig
31
+ } = useConfig();
32
+ const {
33
+ i18n
34
+ } = useTranslation();
35
+ const t3 = row._collectionSlug;
36
+ let t4;
37
+ let t5;
38
+ if ($[0] !== dropState || $[1] !== getEntityConfig || $[2] !== href || $[3] !== i18n || $[4] !== isHierarchyGroup || $[5] !== isSelected || $[6] !== lockedUser || $[7] !== row || $[8] !== showTypePill || $[9] !== title) {
39
+ t5 = Symbol.for("react.early_return_sentinel");
40
+ bb0: {
41
+ const collectionConfig = getEntityConfig({
42
+ collectionSlug: t3
43
+ });
44
+ if (isHierarchyGroup) {
45
+ let t6;
46
+ if ($[12] !== dropState || $[13] !== href || $[14] !== isSelected || $[15] !== lockedUser || $[16] !== row._hierarchyIcon || $[17] !== title) {
47
+ t6 = _jsx(FolderCard, {
48
+ dropState,
49
+ href,
50
+ icon: row._hierarchyIcon,
51
+ isSelected,
52
+ lockedUser,
53
+ title
54
+ });
55
+ $[12] = dropState;
56
+ $[13] = href;
57
+ $[14] = isSelected;
58
+ $[15] = lockedUser;
59
+ $[16] = row._hierarchyIcon;
60
+ $[17] = title;
61
+ $[18] = t6;
62
+ } else {
63
+ t6 = $[18];
64
+ }
65
+ t5 = t6;
66
+ break bb0;
67
+ }
68
+ t4 = _jsx(DocumentCard, {
69
+ collectionSlug: row._collectionSlug,
70
+ doc: row,
71
+ href,
72
+ isSelected,
73
+ lockedUser,
74
+ showType: showTypePill,
75
+ typeLabel: getTranslation(collectionConfig?.labels?.singular, i18n) || row._collectionLabel,
76
+ updatedAt: typeof row.updatedAt === "string" ? row.updatedAt : undefined
77
+ });
78
+ }
79
+ $[0] = dropState;
80
+ $[1] = getEntityConfig;
81
+ $[2] = href;
82
+ $[3] = i18n;
83
+ $[4] = isHierarchyGroup;
84
+ $[5] = isSelected;
85
+ $[6] = lockedUser;
86
+ $[7] = row;
87
+ $[8] = showTypePill;
88
+ $[9] = title;
89
+ $[10] = t4;
90
+ $[11] = t5;
91
+ } else {
92
+ t4 = $[10];
93
+ t5 = $[11];
94
+ }
95
+ if (t5 !== Symbol.for("react.early_return_sentinel")) {
96
+ return t5;
97
+ }
98
+ return t4;
99
+ };
100
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useConfig","useTranslation","DocumentCard","FolderCard","HierarchyCard","t0","$","dropState","href","isHierarchyGroup","isSelected","t1","lockedUser","row","showTypePill","t2","title","undefined","getEntityConfig","i18n","t3","_collectionSlug","t4","t5","Symbol","for","collectionConfig","collectionSlug","t6","_hierarchyIcon","_jsx","icon","doc","showType","typeLabel","labels","singular","_collectionLabel","updatedAt"],"sources":["../../../../../src/views/HierarchyList/HierarchyCards/HierarchyCard/index.tsx"],"sourcesContent":["'use client'\n\nimport type { User } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { TableRow } from '../../HierarchyTable/types.js'\n\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { DocumentCard } from '../DocumentCard/index.js'\nimport { FolderCard } from '../FolderCard/index.js'\n\nexport type HierarchyCardProps = {\n dropState?: 'invalid' | 'over'\n href: string\n isHierarchyGroup: boolean\n isSelected?: boolean\n lockedUser?: User\n row: TableRow\n showTypePill?: boolean\n title: string\n}\n\n/**\n * Picks the card that suits a row and supplies its labels. Extracted so the drag overlay can render\n * the very cards being dragged rather than an approximation of them.\n */\nexport const HierarchyCard: React.FC<HierarchyCardProps> = ({\n dropState,\n href,\n isHierarchyGroup,\n isSelected = false,\n lockedUser,\n row,\n showTypePill = false,\n title,\n}) => {\n const { getEntityConfig } = useConfig()\n const { i18n } = useTranslation()\n\n const collectionConfig = getEntityConfig({ collectionSlug: row._collectionSlug })\n\n if (isHierarchyGroup) {\n return (\n <FolderCard\n dropState={dropState}\n href={href}\n icon={row._hierarchyIcon}\n isSelected={isSelected}\n lockedUser={lockedUser}\n title={title}\n />\n )\n }\n\n return (\n <DocumentCard\n collectionSlug={row._collectionSlug}\n doc={row}\n href={href}\n isSelected={isSelected}\n lockedUser={lockedUser}\n showType={showTypePill}\n // The pill labels a single document, so the singular label reads correctly (\"Media\");\n // _collectionLabel is the plural used for the table column heading.\n typeLabel={getTranslation(collectionConfig?.labels?.singular, i18n) || row._collectionLabel}\n updatedAt={typeof row.updatedAt === 'string' ? row.updatedAt : undefined}\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAIlB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,YAAY,QAAQ;AAC7B,SAASC,UAAU,QAAQ;AAa3B;;;;AAIA,OAAO,MAAMC,aAAA,GAA8CC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU,SAAA;IAAAC,IAAA;IAAAC,gBAAA;IAAAC,UAAA,EAAAC,EAAA;IAAAC,UAAA;IAAAC,GAAA;IAAAC,YAAA,EAAAC,EAAA;IAAAC;EAAA,IAAAX,EAS3D;EALC,MAAAK,UAAA,GAAAC,EAAkB,KAAAM,SAAA,WAAlBN,EAAkB;EAGlB,MAAAG,YAAA,GAAAC,EAAoB,KAAAE,SAAA,WAApBF,EAAoB;EAGpB;IAAAG;EAAA,IAA4BlB,SAAA;EAC5B;IAAAmB;EAAA,IAAiBlB,cAAA;EAE0C,MAAAmB,EAAA,GAAAP,GAAA,CAAAQ,eAAA;EAAmB,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAjB,CAAA,QAAAC,SAAA,IAAAD,CAAA,QAAAY,eAAA,IAAAZ,CAAA,QAAAE,IAAA,IAAAF,CAAA,QAAAa,IAAA,IAAAb,CAAA,QAAAG,gBAAA,IAAAH,CAAA,QAAAI,UAAA,IAAAJ,CAAA,QAAAM,UAAA,IAAAN,CAAA,QAAAO,GAAA,IAAAP,CAAA,QAAAQ,YAAA,IAAAR,CAAA,QAAAU,KAAA;IAI1EO,EAAA,GAAAC,MAAA,CAAAC,GAAA,8B;;MAJJ,MAAAC,gBAAA,GAAyBR,eAAA;QAAAS,cAAA,EAAkCP;MAAmB,CAAC;MAAA,IAE3EX,gBAAA;QAAA,IAAAmB,EAAA;QAAA,IAAAtB,CAAA,SAAAC,SAAA,IAAAD,CAAA,SAAAE,IAAA,IAAAF,CAAA,SAAAI,UAAA,IAAAJ,CAAA,SAAAM,UAAA,IAAAN,CAAA,SAAAO,GAAA,CAAAgB,cAAA,IAAAvB,CAAA,SAAAU,KAAA;UAEAY,EAAA,GAAAE,IAAA,CAAA3B,UAAA;YAAAI,SAAA;YAAAC,IAAA;YAAAuB,IAAA,EAGQlB,GAAA,CAAAgB,cAAA;YAAAnB,UAAA;YAAAE,UAAA;YAAAI;UAAA,C;;;;;;;;;;;QAHRO,EAAA,GAAAK,E;;;MAYFN,EAAA,GAAAQ,IAAA,CAAA5B,YAAA;QAAAyB,cAAA,EACkBd,GAAA,CAAAQ,eAAA;QAAAW,GAAA,EACXnB,GAAA;QAAAL,IAAA;QAAAE,UAAA;QAAAE,UAAA;QAAAqB,QAAA,EAIKnB,YAAA;QAAAoB,SAAA,EAGCpC,cAAA,CAAe4B,gBAAA,EAAAS,MAAA,EAAAC,QAAA,EAAoCjB,IAAA,KAASN,GAAA,CAAAwB,gBAAoB;QAAAC,SAAA,EAChF,OAAOzB,GAAA,CAAAyB,SAAA,KAAkB,WAAWzB,GAAA,CAAAyB,SAAA,GAAArB;MAAgB,C;;;;;;;;;;;;;;;;;;;;;SAVjEK,E;CAaJ","ignoreList":[]}
@@ -0,0 +1,53 @@
1
+ import type { User } from 'payload';
2
+ import React from 'react';
3
+ import type { HierarchyDragData } from '../../../../providers/HierarchyDnd/types.js';
4
+ import type { TableRow } from '../../HierarchyTable/types.js';
5
+ export type PlaneItemProps = {
6
+ /**
7
+ * Ids of the folders between the root and the folder currently open, so a folder can't be dropped
8
+ * into its own subtree.
9
+ */
10
+ ancestorIds: (number | string)[];
11
+ baseClass: string;
12
+ /** Flat index across every band, which is the space selection gestures operate in. */
13
+ flatIndex: number;
14
+ hierarchySlug: string;
15
+ href: string;
16
+ /**
17
+ * Turns the card into a plain selectable tile: no drag activation and no dragging treatment. Set
18
+ * by planes that have nowhere to drop, such as the flat collection grid.
19
+ */
20
+ isDragDisabled: boolean;
21
+ isHierarchyGroup: boolean;
22
+ isSelected: boolean;
23
+ lockedUser?: User;
24
+ onClickCapture: (event: React.MouseEvent, flatIndex: number) => void;
25
+ onDoubleClick: (event: React.MouseEvent, href: string) => void;
26
+ onKeyDown: (event: React.KeyboardEvent, flatIndex: number) => void;
27
+ /**
28
+ * Called on pointer-down over an unselected card, so dragging one collapses the selection onto it
29
+ * before the drag payload is read - the way a file browser behaves.
30
+ */
31
+ onPointerDownUnselected: (flatIndex: number) => void;
32
+ parentFieldName: string;
33
+ /**
34
+ * Hands the card element to the plane, which hit-tests it during marquee selection.
35
+ */
36
+ registerNode: (flatIndex: number, node: HTMLElement | null) => void;
37
+ row: TableRow;
38
+ /**
39
+ * Payload for dragging the whole current selection. Shared by every selected card, so it is built
40
+ * once per render rather than per card.
41
+ */
42
+ selectionDragData: HierarchyDragData;
43
+ showTypePill: boolean;
44
+ title: string;
45
+ };
46
+ /**
47
+ * One card in the plane: a drag source always, and a drop target when it is a folder.
48
+ *
49
+ * Exists as its own component because `useDraggable`/`useDroppable` are hooks and so cannot be
50
+ * called inside the plane's row loop.
51
+ */
52
+ export declare const PlaneItem: React.FC<PlaneItemProps>;
53
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/HierarchyList/HierarchyCards/PlaneItem/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAGnC,OAAO,KAAkB,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,6CAA6C,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAM7D,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,sFAAsF;IACtF,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAA;IACvB,gBAAgB,EAAE,OAAO,CAAA;IACzB,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACpE,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9D,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IAClE;;;OAGG;IACH,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACpD,eAAe,EAAE,MAAM,CAAA;IACvB;;OAEG;IACH,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;IACnE,GAAG,EAAE,QAAQ,CAAA;IACb;;;OAGG;IACH,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,YAAY,EAAE,OAAO,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAmJ9C,CAAA"}
@@ -0,0 +1,145 @@
1
+ 'use client';
2
+
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ import { useDraggable, useDroppable } from '@dnd-kit/core';
5
+ import React, { useMemo } from 'react';
6
+ import { useHierarchyDnd } from '../../../../providers/HierarchyDnd/index.js';
7
+ import { DragPreviewItem } from '../DragPreviewItem/index.js';
8
+ import { HierarchyCard } from '../HierarchyCard/index.js';
9
+ /**
10
+ * One card in the plane: a drag source always, and a drop target when it is a folder.
11
+ *
12
+ * Exists as its own component because `useDraggable`/`useDroppable` are hooks and so cannot be
13
+ * called inside the plane's row loop.
14
+ */
15
+ export const PlaneItem = ({
16
+ ancestorIds,
17
+ baseClass,
18
+ flatIndex,
19
+ hierarchySlug,
20
+ href,
21
+ isDragDisabled,
22
+ isHierarchyGroup,
23
+ isSelected,
24
+ lockedUser,
25
+ onClickCapture,
26
+ onDoubleClick,
27
+ onKeyDown,
28
+ onPointerDownUnselected,
29
+ parentFieldName,
30
+ registerNode,
31
+ row,
32
+ selectionDragData,
33
+ showTypePill,
34
+ title
35
+ }) => {
36
+ const {
37
+ activeDrag,
38
+ canDrop
39
+ } = useHierarchyDnd();
40
+ const rowDragData = useMemo(() => ({
41
+ type: 'hierarchy-items',
42
+ items: [{
43
+ id: row.id,
44
+ collectionSlug: row._collectionSlug,
45
+ title
46
+ }],
47
+ onMoveSuccess: selectionDragData.onMoveSuccess,
48
+ preview: [/*#__PURE__*/_jsx(DragPreviewItem, {
49
+ isHierarchyGroup: isHierarchyGroup,
50
+ row: row
51
+ }, "preview")]
52
+ }), [isHierarchyGroup, row, selectionDragData.onMoveSuccess, title]);
53
+ // Dragging a card that is part of the selection moves the whole selection; dragging an unselected
54
+ // one moves just it.
55
+ const dragData = isSelected ? selectionDragData : rowDragData;
56
+ const dropData = useMemo(() => isHierarchyGroup ? {
57
+ type: 'hierarchy-folder',
58
+ allowedCollections: row._allowedCollections,
59
+ ancestorIds,
60
+ folderId: row.id,
61
+ hierarchySlug,
62
+ parentFieldName,
63
+ title
64
+ } : undefined, [ancestorIds, hierarchySlug, isHierarchyGroup, parentFieldName, row, title]);
65
+ const rowKey = `${row._collectionSlug}-${row.id}`;
66
+ const {
67
+ attributes,
68
+ isDragging,
69
+ listeners,
70
+ setNodeRef: setDragRef
71
+ } = useDraggable({
72
+ id: `hierarchy-card-${rowKey}`,
73
+ data: dragData,
74
+ disabled: isDragDisabled || Boolean(lockedUser)
75
+ });
76
+ const {
77
+ isOver,
78
+ setNodeRef: setDropRef
79
+ } = useDroppable({
80
+ id: `hierarchy-card-drop-${rowKey}`,
81
+ data: dropData,
82
+ disabled: isDragDisabled || !dropData
83
+ });
84
+ const dropState = isOver && dropData ? canDrop(dropData) ? 'over' : 'invalid' : undefined;
85
+ // A folder is both a drag source and a drop target, and the plane needs the same node for marquee
86
+ // hit-testing, so one callback fans it out to all three.
87
+ const setNodeRef = node => {
88
+ setDragRef(node);
89
+ setDropRef(node);
90
+ registerNode(flatIndex, node);
91
+ };
92
+ /*
93
+ * Every card in the active drag fades, not just the one under the pointer, so a multi-card move
94
+ * shows what is travelling. Membership is tested against the drag's own items rather than by
95
+ * comparing payload identity, which would silently stop matching the moment the plane re-rendered
96
+ * and rebuilt the shared selection payload mid-drag.
97
+ */
98
+ const isBeingDragged = !isDragDisabled && (isDragging || Boolean(activeDrag?.items.some(item => item.collectionSlug === row._collectionSlug && String(item.id) === String(row.id))));
99
+ /*
100
+ * dnd-kit's sensors activate through listeners named exactly `onPointerDown` and `onKeyDown`, which
101
+ * are also the events this card needs for selection. Spreading `listeners` and then declaring
102
+ * either prop would silently overwrite the activator and no drag would ever start, so the two are
103
+ * composed by hand and the rest of the listeners spread as-is.
104
+ */
105
+ const {
106
+ onKeyDown: onDragKeyDown,
107
+ onPointerDown: onDragPointerDown,
108
+ ...remainingListeners
109
+ } = listeners ?? {};
110
+ return (
111
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions -- the card's own link remains the keyboard-operable control; these handlers only layer pointer selection and drag gestures on top of it
112
+ /*#__PURE__*/
113
+ _jsx("li", {
114
+ ...attributes,
115
+ ...remainingListeners,
116
+ className: [`${baseClass}__item`, isBeingDragged && `${baseClass}__item--dragging`].filter(Boolean).join(' '),
117
+ onClickCapture: event => onClickCapture(event, flatIndex),
118
+ onDoubleClick: event_0 => onDoubleClick(event_0, href),
119
+ onKeyDown: event_1 => {
120
+ onDragKeyDown?.(event_1);
121
+ onKeyDown(event_1, flatIndex);
122
+ },
123
+ onPointerDown: event_2 => {
124
+ // The sensor goes first so it sees the untouched event; the selection collapse that follows
125
+ // only schedules React state, which the sensor never reads.
126
+ onDragPointerDown?.(event_2);
127
+ if (!isSelected) {
128
+ onPointerDownUnselected(flatIndex);
129
+ }
130
+ },
131
+ ref: setNodeRef,
132
+ children: /*#__PURE__*/_jsx(HierarchyCard, {
133
+ dropState: dropState,
134
+ href: href,
135
+ isHierarchyGroup: isHierarchyGroup,
136
+ isSelected: isSelected,
137
+ lockedUser: lockedUser,
138
+ row: row,
139
+ showTypePill: showTypePill,
140
+ title: title
141
+ })
142
+ })
143
+ );
144
+ };
145
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["useDraggable","useDroppable","React","useMemo","useHierarchyDnd","DragPreviewItem","HierarchyCard","PlaneItem","ancestorIds","baseClass","flatIndex","hierarchySlug","href","isDragDisabled","isHierarchyGroup","isSelected","lockedUser","onClickCapture","onDoubleClick","onKeyDown","onPointerDownUnselected","parentFieldName","registerNode","row","selectionDragData","showTypePill","title","activeDrag","canDrop","rowDragData","type","items","id","collectionSlug","_collectionSlug","onMoveSuccess","preview","_jsx","dragData","dropData","allowedCollections","_allowedCollections","folderId","undefined","rowKey","attributes","isDragging","listeners","setNodeRef","setDragRef","data","disabled","Boolean","isOver","setDropRef","dropState","node","isBeingDragged","some","item","String","onDragKeyDown","onPointerDown","onDragPointerDown","remainingListeners","className","filter","join","event","ref"],"sources":["../../../../../src/views/HierarchyList/HierarchyCards/PlaneItem/index.tsx"],"sourcesContent":["'use client'\n\nimport type { User } from 'payload'\n\nimport { useDraggable, useDroppable } from '@dnd-kit/core'\nimport React, { useMemo } from 'react'\n\nimport type {\n HierarchyDragData,\n HierarchyDropData,\n} from '../../../../providers/HierarchyDnd/types.js'\nimport type { TableRow } from '../../HierarchyTable/types.js'\n\nimport { useHierarchyDnd } from '../../../../providers/HierarchyDnd/index.js'\nimport { DragPreviewItem } from '../DragPreviewItem/index.js'\nimport { HierarchyCard } from '../HierarchyCard/index.js'\n\nexport type PlaneItemProps = {\n /**\n * Ids of the folders between the root and the folder currently open, so a folder can't be dropped\n * into its own subtree.\n */\n ancestorIds: (number | string)[]\n baseClass: string\n /** Flat index across every band, which is the space selection gestures operate in. */\n flatIndex: number\n hierarchySlug: string\n href: string\n /**\n * Turns the card into a plain selectable tile: no drag activation and no dragging treatment. Set\n * by planes that have nowhere to drop, such as the flat collection grid.\n */\n isDragDisabled: boolean\n isHierarchyGroup: boolean\n isSelected: boolean\n lockedUser?: User\n onClickCapture: (event: React.MouseEvent, flatIndex: number) => void\n onDoubleClick: (event: React.MouseEvent, href: string) => void\n onKeyDown: (event: React.KeyboardEvent, flatIndex: number) => void\n /**\n * Called on pointer-down over an unselected card, so dragging one collapses the selection onto it\n * before the drag payload is read - the way a file browser behaves.\n */\n onPointerDownUnselected: (flatIndex: number) => void\n parentFieldName: string\n /**\n * Hands the card element to the plane, which hit-tests it during marquee selection.\n */\n registerNode: (flatIndex: number, node: HTMLElement | null) => void\n row: TableRow\n /**\n * Payload for dragging the whole current selection. Shared by every selected card, so it is built\n * once per render rather than per card.\n */\n selectionDragData: HierarchyDragData\n showTypePill: boolean\n title: string\n}\n\n/**\n * One card in the plane: a drag source always, and a drop target when it is a folder.\n *\n * Exists as its own component because `useDraggable`/`useDroppable` are hooks and so cannot be\n * called inside the plane's row loop.\n */\nexport const PlaneItem: React.FC<PlaneItemProps> = ({\n ancestorIds,\n baseClass,\n flatIndex,\n hierarchySlug,\n href,\n isDragDisabled,\n isHierarchyGroup,\n isSelected,\n lockedUser,\n onClickCapture,\n onDoubleClick,\n onKeyDown,\n onPointerDownUnselected,\n parentFieldName,\n registerNode,\n row,\n selectionDragData,\n showTypePill,\n title,\n}) => {\n const { activeDrag, canDrop } = useHierarchyDnd()\n\n const rowDragData = useMemo<HierarchyDragData>(\n () => ({\n type: 'hierarchy-items',\n items: [{ id: row.id, collectionSlug: row._collectionSlug, title }],\n onMoveSuccess: selectionDragData.onMoveSuccess,\n preview: [<DragPreviewItem isHierarchyGroup={isHierarchyGroup} key=\"preview\" row={row} />],\n }),\n [isHierarchyGroup, row, selectionDragData.onMoveSuccess, title],\n )\n\n // Dragging a card that is part of the selection moves the whole selection; dragging an unselected\n // one moves just it.\n const dragData = isSelected ? selectionDragData : rowDragData\n\n const dropData = useMemo<HierarchyDropData | undefined>(\n () =>\n isHierarchyGroup\n ? {\n type: 'hierarchy-folder',\n allowedCollections: row._allowedCollections as string[] | undefined,\n ancestorIds,\n folderId: row.id,\n hierarchySlug,\n parentFieldName,\n title,\n }\n : undefined,\n [ancestorIds, hierarchySlug, isHierarchyGroup, parentFieldName, row, title],\n )\n\n const rowKey = `${row._collectionSlug}-${row.id}`\n\n const {\n attributes,\n isDragging,\n listeners,\n setNodeRef: setDragRef,\n } = useDraggable({\n id: `hierarchy-card-${rowKey}`,\n data: dragData,\n disabled: isDragDisabled || Boolean(lockedUser),\n })\n\n const { isOver, setNodeRef: setDropRef } = useDroppable({\n id: `hierarchy-card-drop-${rowKey}`,\n data: dropData,\n disabled: isDragDisabled || !dropData,\n })\n\n const dropState = isOver && dropData ? (canDrop(dropData) ? 'over' : 'invalid') : undefined\n\n // A folder is both a drag source and a drop target, and the plane needs the same node for marquee\n // hit-testing, so one callback fans it out to all three.\n const setNodeRef = (node: HTMLElement | null) => {\n setDragRef(node)\n setDropRef(node)\n registerNode(flatIndex, node)\n }\n\n /*\n * Every card in the active drag fades, not just the one under the pointer, so a multi-card move\n * shows what is travelling. Membership is tested against the drag's own items rather than by\n * comparing payload identity, which would silently stop matching the moment the plane re-rendered\n * and rebuilt the shared selection payload mid-drag.\n */\n const isBeingDragged =\n !isDragDisabled &&\n (isDragging ||\n Boolean(\n activeDrag?.items.some(\n (item) =>\n item.collectionSlug === row._collectionSlug && String(item.id) === String(row.id),\n ),\n ))\n\n /*\n * dnd-kit's sensors activate through listeners named exactly `onPointerDown` and `onKeyDown`, which\n * are also the events this card needs for selection. Spreading `listeners` and then declaring\n * either prop would silently overwrite the activator and no drag would ever start, so the two are\n * composed by hand and the rest of the listeners spread as-is.\n */\n const {\n onKeyDown: onDragKeyDown,\n onPointerDown: onDragPointerDown,\n ...remainingListeners\n } = listeners ?? {}\n\n return (\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions -- the card's own link remains the keyboard-operable control; these handlers only layer pointer selection and drag gestures on top of it\n <li\n {...attributes}\n {...remainingListeners}\n className={[`${baseClass}__item`, isBeingDragged && `${baseClass}__item--dragging`]\n .filter(Boolean)\n .join(' ')}\n onClickCapture={(event) => onClickCapture(event, flatIndex)}\n onDoubleClick={(event) => onDoubleClick(event, href)}\n onKeyDown={(event) => {\n onDragKeyDown?.(event)\n onKeyDown(event, flatIndex)\n }}\n onPointerDown={(event) => {\n // The sensor goes first so it sees the untouched event; the selection collapse that follows\n // only schedules React state, which the sensor never reads.\n onDragPointerDown?.(event)\n\n if (!isSelected) {\n onPointerDownUnselected(flatIndex)\n }\n }}\n ref={setNodeRef}\n >\n <HierarchyCard\n dropState={dropState}\n href={href}\n isHierarchyGroup={isHierarchyGroup}\n isSelected={isSelected}\n lockedUser={lockedUser}\n row={row}\n showTypePill={showTypePill}\n title={title}\n />\n </li>\n )\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,YAAY,EAAEC,YAAY,QAAQ;AAC3C,OAAOC,KAAA,IAASC,OAAO,QAAQ;AAQ/B,SAASC,eAAe,QAAQ;AAChC,SAASC,eAAe,QAAQ;AAChC,SAASC,aAAa,QAAQ;AA4C9B;;;;;;AAMA,OAAO,MAAMC,SAAA,GAAsCA,CAAC;EAClDC,WAAW;EACXC,SAAS;EACTC,SAAS;EACTC,aAAa;EACbC,IAAI;EACJC,cAAc;EACdC,gBAAgB;EAChBC,UAAU;EACVC,UAAU;EACVC,cAAc;EACdC,aAAa;EACbC,SAAS;EACTC,uBAAuB;EACvBC,eAAe;EACfC,YAAY;EACZC,GAAG;EACHC,iBAAiB;EACjBC,YAAY;EACZC;AAAK,CACN;EACC,MAAM;IAAEC,UAAU;IAAEC;EAAO,CAAE,GAAGxB,eAAA;EAEhC,MAAMyB,WAAA,GAAc1B,OAAA,CAClB,OAAO;IACL2B,IAAA,EAAM;IACNC,KAAA,EAAO,CAAC;MAAEC,EAAA,EAAIT,GAAA,CAAIS,EAAE;MAAEC,cAAA,EAAgBV,GAAA,CAAIW,eAAe;MAAER;IAAM,EAAE;IACnES,aAAA,EAAeX,iBAAA,CAAkBW,aAAa;IAC9CC,OAAA,EAAS,C,aAACC,IAAA,CAAChC,eAAA;MAAgBS,gBAAA,EAAkBA,gBAAA;MAAgCS,GAAA,EAAKA;OAAf;EACrE,IACA,CAACT,gBAAA,EAAkBS,GAAA,EAAKC,iBAAA,CAAkBW,aAAa,EAAET,KAAA,CAAM;EAGjE;EACA;EACA,MAAMY,QAAA,GAAWvB,UAAA,GAAaS,iBAAA,GAAoBK,WAAA;EAElD,MAAMU,QAAA,GAAWpC,OAAA,CACf,MACEW,gBAAA,GACI;IACEgB,IAAA,EAAM;IACNU,kBAAA,EAAoBjB,GAAA,CAAIkB,mBAAmB;IAC3CjC,WAAA;IACAkC,QAAA,EAAUnB,GAAA,CAAIS,EAAE;IAChBrB,aAAA;IACAU,eAAA;IACAK;EACF,IACAiB,SAAA,EACN,CAACnC,WAAA,EAAaG,aAAA,EAAeG,gBAAA,EAAkBO,eAAA,EAAiBE,GAAA,EAAKG,KAAA,CAAM;EAG7E,MAAMkB,MAAA,GAAS,GAAGrB,GAAA,CAAIW,eAAe,IAAIX,GAAA,CAAIS,EAAE,EAAE;EAEjD,MAAM;IACJa,UAAU;IACVC,UAAU;IACVC,SAAS;IACTC,UAAA,EAAYC;EAAU,CACvB,GAAGjD,YAAA,CAAa;IACfgC,EAAA,EAAI,kBAAkBY,MAAA,EAAQ;IAC9BM,IAAA,EAAMZ,QAAA;IACNa,QAAA,EAAUtC,cAAA,IAAkBuC,OAAA,CAAQpC,UAAA;EACtC;EAEA,MAAM;IAAEqC,MAAM;IAAEL,UAAA,EAAYM;EAAU,CAAE,GAAGrD,YAAA,CAAa;IACtD+B,EAAA,EAAI,uBAAuBY,MAAA,EAAQ;IACnCM,IAAA,EAAMX,QAAA;IACNY,QAAA,EAAUtC,cAAA,IAAkB,CAAC0B;EAC/B;EAEA,MAAMgB,SAAA,GAAYF,MAAA,IAAUd,QAAA,GAAYX,OAAA,CAAQW,QAAA,IAAY,SAAS,YAAaI,SAAA;EAElF;EACA;EACA,MAAMK,UAAA,GAAcQ,IAAA;IAClBP,UAAA,CAAWO,IAAA;IACXF,UAAA,CAAWE,IAAA;IACXlC,YAAA,CAAaZ,SAAA,EAAW8C,IAAA;EAC1B;EAEA;;;;;;EAMA,MAAMC,cAAA,GACJ,CAAC5C,cAAA,KACAiC,UAAA,IACCM,OAAA,CACEzB,UAAA,EAAYI,KAAA,CAAM2B,IAAA,CACfC,IAAA,IACCA,IAAA,CAAK1B,cAAc,KAAKV,GAAA,CAAIW,eAAe,IAAI0B,MAAA,CAAOD,IAAA,CAAK3B,EAAE,MAAM4B,MAAA,CAAOrC,GAAA,CAAIS,EAAE,GAEtF;EAEJ;;;;;;EAMA,MAAM;IACJb,SAAA,EAAW0C,aAAa;IACxBC,aAAA,EAAeC,iBAAiB;IAChC,GAAGC;EAAA,CACJ,GAAGjB,SAAA,IAAa,CAAC;EAElB;IACE;;IACAV,IAAA,CAAC;MACE,GAAGQ,UAAU;MACb,GAAGmB,kBAAkB;MACtBC,SAAA,EAAW,CAAC,GAAGxD,SAAA,QAAiB,EAAEgD,cAAA,IAAkB,GAAGhD,SAAA,kBAA2B,CAAC,CAChFyD,MAAM,CAACd,OAAA,EACPe,IAAI,CAAC;MACRlD,cAAA,EAAiBmD,KAAA,IAAUnD,cAAA,CAAemD,KAAA,EAAO1D,SAAA;MACjDQ,aAAA,EAAgBkD,OAAA,IAAUlD,aAAA,CAAckD,OAAA,EAAOxD,IAAA;MAC/CO,SAAA,EAAYiD,OAAA;QACVP,aAAA,GAAgBO,OAAA;QAChBjD,SAAA,CAAUiD,OAAA,EAAO1D,SAAA;MACnB;MACAoD,aAAA,EAAgBM,OAAA;QACd;QACA;QACAL,iBAAA,GAAoBK,OAAA;QAEpB,IAAI,CAACrD,UAAA,EAAY;UACfK,uBAAA,CAAwBV,SAAA;QAC1B;MACF;MACA2D,GAAA,EAAKrB,UAAA;gBAEL,aAAAX,IAAA,CAAC/B,aAAA;QACCiD,SAAA,EAAWA,SAAA;QACX3C,IAAA,EAAMA,IAAA;QACNE,gBAAA,EAAkBA,gBAAA;QAClBC,UAAA,EAAYA,UAAA;QACZC,UAAA,EAAYA,UAAA;QACZO,GAAA,EAAKA,GAAA;QACLE,YAAA,EAAcA,YAAA;QACdC,KAAA,EAAOA;;;;AAIf","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Matches the upload thumbnail derivation used by the hierarchy table cells: images resolve to the
3
+ * best fit from the generated sizes, everything else falls back to the configured thumbnail URL.
4
+ */
5
+ export declare function getThumbnailSrc({ doc }: {
6
+ doc: Record<string, unknown>;
7
+ }): string | undefined;
8
+ //# sourceMappingURL=getThumbnailSrc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getThumbnailSrc.d.ts","sourceRoot":"","sources":["../../../../src/views/HierarchyList/HierarchyCards/getThumbnailSrc.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAc7F"}
@@ -0,0 +1,21 @@
1
+ import { getBestFitFromSizes, isImage } from 'payload/shared';
2
+ /**
3
+ * Matches the upload thumbnail derivation used by the hierarchy table cells: images resolve to the
4
+ * best fit from the generated sizes, everything else falls back to the configured thumbnail URL.
5
+ */
6
+ export function getThumbnailSrc({
7
+ doc
8
+ }) {
9
+ const mimeType = doc.mimeType;
10
+ const isFileImage = mimeType ? isImage(mimeType) : false;
11
+ if (!isFileImage) {
12
+ return doc.thumbnailURL;
13
+ }
14
+ return getBestFitFromSizes({
15
+ sizes: doc.sizes,
16
+ thumbnailURL: doc.thumbnailURL,
17
+ url: doc.url,
18
+ width: doc.width
19
+ });
20
+ }
21
+ //# sourceMappingURL=getThumbnailSrc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getThumbnailSrc.js","names":["getBestFitFromSizes","isImage","getThumbnailSrc","doc","mimeType","isFileImage","thumbnailURL","sizes","url","width"],"sources":["../../../../src/views/HierarchyList/HierarchyCards/getThumbnailSrc.ts"],"sourcesContent":["import { getBestFitFromSizes, isImage } from 'payload/shared'\n\n/**\n * Matches the upload thumbnail derivation used by the hierarchy table cells: images resolve to the\n * best fit from the generated sizes, everything else falls back to the configured thumbnail URL.\n */\nexport function getThumbnailSrc({ doc }: { doc: Record<string, unknown> }): string | undefined {\n const mimeType = doc.mimeType as string | undefined\n const isFileImage = mimeType ? isImage(mimeType) : false\n\n if (!isFileImage) {\n return doc.thumbnailURL as string\n }\n\n return getBestFitFromSizes({\n sizes: doc.sizes as Record<string, { url?: string; width?: number }>,\n thumbnailURL: doc.thumbnailURL as string,\n url: doc.url as string,\n width: doc.width as number,\n })\n}\n"],"mappings":"AAAA,SAASA,mBAAmB,EAAEC,OAAO,QAAQ;AAE7C;;;;AAIA,OAAO,SAASC,gBAAgB;EAAEC;AAAG,CAAoC;EACvE,MAAMC,QAAA,GAAWD,GAAA,CAAIC,QAAQ;EAC7B,MAAMC,WAAA,GAAcD,QAAA,GAAWH,OAAA,CAAQG,QAAA,IAAY;EAEnD,IAAI,CAACC,WAAA,EAAa;IAChB,OAAOF,GAAA,CAAIG,YAAY;EACzB;EAEA,OAAON,mBAAA,CAAoB;IACzBO,KAAA,EAAOJ,GAAA,CAAII,KAAK;IAChBD,YAAA,EAAcH,GAAA,CAAIG,YAAY;IAC9BE,GAAA,EAAKL,GAAA,CAAIK,GAAG;IACZC,KAAA,EAAON,GAAA,CAAIM;EACb;AACF","ignoreList":[]}