@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,216 @@
1
+ @layer payload-default {
2
+ /*
3
+ * Every state ring is a spread-only box-shadow rather than a border, so the selected state can
4
+ * double the stroke width without taking layout space - a widening border would grow the card's
5
+ * auto height and shift the whole grid row below it. The ring is drawn outside the card box, so
6
+ * it also never crops the thumbnail it surrounds.
7
+ */
8
+ .hierarchy-document-card {
9
+ position: relative;
10
+ display: flex;
11
+ flex-direction: column;
12
+ background: var(--color-bg);
13
+ border-radius: var(--radius-large);
14
+ overflow: hidden;
15
+ box-shadow: 0 0 0 var(--stroke-width-small) var(--color-border);
16
+ }
17
+
18
+ /*
19
+ * :not(--selected) so the hover ring cannot win over the accent ring on a selected card - both
20
+ * rules live in the same layer and file, and the hover selector would otherwise have the higher
21
+ * specificity.
22
+ */
23
+ .hierarchy-document-card:not(.hierarchy-document-card--selected):hover {
24
+ box-shadow: 0 0 0 var(--stroke-width-small) var(--special-border-translucent-strong);
25
+ }
26
+
27
+ .hierarchy-document-card--selected {
28
+ box-shadow: 0 0 0 var(--stroke-width-medium) var(--color-border-selected);
29
+ }
30
+
31
+ /* Thumbnail */
32
+
33
+ .hierarchy-document-card__thumbnail-wrap {
34
+ position: relative;
35
+ width: 100%;
36
+ aspect-ratio: 4 / 3;
37
+ overflow: hidden;
38
+ background: var(--color-bg-secondary);
39
+ }
40
+
41
+ .hierarchy-document-card__thumbnail {
42
+ width: 100%;
43
+ height: 100%;
44
+ }
45
+
46
+ /* Type badge, overlaid on the thumbnail */
47
+
48
+ .hierarchy-document-card__type {
49
+ position: absolute;
50
+ inset-block-start: var(--spacer-2-5);
51
+ inset-inline-start: var(--spacer-2-5);
52
+ display: inline-flex;
53
+ align-items: center;
54
+ /* Leaves room for the lock indicator in the opposite corner */
55
+ max-width: calc(100% - var(--spacer-6));
56
+ padding-inline: var(--spacer-1);
57
+ padding-block: var(--spacer-0);
58
+ border-radius: var(--radius-medium);
59
+ background: var(--color-bg);
60
+ color: black;
61
+ border: var(--stroke-width-small) solid var(--color-border);
62
+ font-family: var(--text-body-medium-font-family);
63
+ font-size: var(--text-body-medium-font-size);
64
+ font-weight: var(--text-body-medium-font-weight);
65
+ line-height: var(--text-body-medium-line-height);
66
+ letter-spacing: var(--text-body-medium-letter-spacing);
67
+ white-space: nowrap;
68
+ overflow: hidden;
69
+ text-overflow: ellipsis;
70
+ }
71
+
72
+ /* Content */
73
+
74
+ .hierarchy-document-card__content {
75
+ display: flex;
76
+ flex-direction: column;
77
+ gap: var(--spacer-1);
78
+ padding-inline: var(--spacer-3);
79
+ padding-block-start: var(--spacer-2-5);
80
+ padding-block-end: var(--spacer-3);
81
+ min-width: 0;
82
+ border-block-start: var(--stroke-width-small) solid var(--color-border);
83
+ }
84
+
85
+ .hierarchy-document-card__link {
86
+ display: block;
87
+ min-width: 0;
88
+ color: inherit;
89
+ text-decoration: none;
90
+ }
91
+
92
+ /* Stretches the title link across the card so the whole surface navigates */
93
+ .hierarchy-document-card__link::after {
94
+ content: '';
95
+ position: absolute;
96
+ inset: 0;
97
+ z-index: 1;
98
+ }
99
+
100
+ /*
101
+ * The stretched overlay above is intentionally hit-testable, but left alone it also swallows
102
+ * hover on the title - suppressing the truncated-title tooltip, because a native `title`
103
+ * tooltip only resolves against ancestors of the hit element and the attribute sits on this
104
+ * span. Lifting just the title restores it; the title still navigates because it lives inside
105
+ * the anchor. The metadata rows are deliberately NOT lifted, so the whole card stays navigable.
106
+ */
107
+ .hierarchy-document-card__title {
108
+ position: relative;
109
+ z-index: 2;
110
+ }
111
+
112
+ /*
113
+ * Custom property rows may contain their own controls, so they alone are lifted above the
114
+ * overlay. Clicks here will not navigate.
115
+ */
116
+ .hierarchy-document-card__extra {
117
+ position: relative;
118
+ z-index: 2;
119
+ }
120
+
121
+ .hierarchy-document-card__title {
122
+ display: block;
123
+ overflow: hidden;
124
+ white-space: nowrap;
125
+ text-overflow: ellipsis;
126
+ color: var(--color-text);
127
+ font-family: var(--text-body-medium-strong-font-family);
128
+ font-size: var(--text-body-medium-strong-font-size);
129
+ font-weight: var(--text-body-medium-strong-font-weight);
130
+ line-height: var(--text-body-medium-strong-line-height);
131
+ letter-spacing: var(--text-body-medium-strong-letter-spacing);
132
+ }
133
+
134
+ /* Properties */
135
+
136
+ .hierarchy-document-card__properties {
137
+ display: flex;
138
+ flex-direction: column;
139
+ gap: var(--spacer-1);
140
+ }
141
+
142
+ .hierarchy-document-card__property {
143
+ display: flex;
144
+ align-items: center;
145
+ gap: var(--spacer-0-5, 2px);
146
+ min-width: 0;
147
+ font-family: var(--text-body-medium-font-family);
148
+ font-size: var(--text-body-medium-font-size);
149
+ font-weight: var(--text-body-medium-font-weight);
150
+ line-height: var(--text-body-medium-line-height);
151
+ letter-spacing: var(--text-body-medium-letter-spacing);
152
+ color: var(--color-text-secondary);
153
+ }
154
+
155
+ .hierarchy-document-card__property-label {
156
+ color: var(--color-text-secondary);
157
+ white-space: nowrap;
158
+ }
159
+
160
+ .hierarchy-document-card__property-value {
161
+ min-width: 0;
162
+ overflow: hidden;
163
+ white-space: nowrap;
164
+ text-overflow: ellipsis;
165
+ color: var(--color-text-secondary);
166
+ }
167
+
168
+ /* Status pill - mirrors the token pairs used by the table status cell */
169
+
170
+ .hierarchy-document-card__status {
171
+ display: inline-flex;
172
+ /* The pill is a direct child of the stretch-aligned properties column, so it shrink-wraps here */
173
+ align-self: flex-start;
174
+ align-items: center;
175
+ justify-content: center;
176
+ padding-inline: var(--spacer-1);
177
+ padding-block: var(--spacer-0);
178
+ border-radius: var(--radius-medium);
179
+ white-space: nowrap;
180
+ font-family: var(--text-body-medium-font-family);
181
+ font-size: var(--text-body-medium-font-size);
182
+ font-weight: var(--text-body-medium-font-weight);
183
+ line-height: var(--text-body-medium-line-height);
184
+ letter-spacing: var(--text-body-medium-letter-spacing);
185
+ }
186
+
187
+ .hierarchy-document-card__status--published {
188
+ background: var(--color-bg-selected);
189
+ color: var(--color-text-brand);
190
+ }
191
+
192
+ .hierarchy-document-card__status--draft {
193
+ background: var(--color-bg-tertiary);
194
+ color: var(--color-text);
195
+ }
196
+
197
+ .hierarchy-document-card__status--changed {
198
+ background: var(--color-bg-warning-tertiary);
199
+ color: var(--color-text-warning);
200
+ }
201
+
202
+ .hierarchy-document-card__status--previously-published {
203
+ background: var(--color-bg-tertiary);
204
+ color: var(--color-text);
205
+ }
206
+
207
+ /* Lock indicator */
208
+
209
+ .hierarchy-document-card__corner-slot {
210
+ position: absolute;
211
+ inset-block-start: var(--spacer-2);
212
+ inset-inline-end: var(--spacer-2);
213
+ /* Above both the stretched link and the raised text, so selecting never navigates */
214
+ z-index: 3;
215
+ }
216
+ }
@@ -0,0 +1,20 @@
1
+ import type { User } from 'payload';
2
+ import React from 'react';
3
+ import './index.css';
4
+ export type DocumentCardProps = {
5
+ children?: React.ReactNode;
6
+ collectionSlug: string;
7
+ doc: Record<string, unknown>;
8
+ href: string;
9
+ isSelected?: boolean;
10
+ /**
11
+ * The user currently editing this document. When set, a lock indicator is shown and the card
12
+ * cannot be selected.
13
+ */
14
+ lockedUser?: User;
15
+ showType?: boolean;
16
+ typeLabel?: string;
17
+ updatedAt?: string;
18
+ };
19
+ export declare const DocumentCard: React.FC<DocumentCardProps>;
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/HierarchyList/HierarchyCards/DocumentCard/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEnC,OAAO,KAAkB,MAAM,OAAO,CAAA;AAStC,OAAO,aAAa,CAAA;AAsBpB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,cAAc,EAAE,MAAM,CAAA;IACtB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAwHpD,CAAA"}
@@ -0,0 +1,182 @@
1
+ 'use client';
2
+
3
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
+ import React, { useMemo } from 'react';
5
+ import { Link } from '../../../../elements/Link/index.js';
6
+ import { Locked } from '../../../../elements/Locked/index.js';
7
+ import { Thumbnail } from '../../../../elements/Thumbnail/index.js';
8
+ import { useConfig } from '../../../../providers/Config/index.js';
9
+ import { useTranslation } from '../../../../providers/Translation/index.js';
10
+ import { formatRelativeDate } from '../../../../utilities/formatRelativeDate.js';
11
+ import { getThumbnailSrc } from '../getThumbnailSrc.js';
12
+ import './index.css';
13
+ const baseClass = 'hierarchy-document-card';
14
+ /**
15
+ * Mirrors the labels and modifier classes of the table `StatusCell` so cards and rows read the
16
+ * same. Unknown statuses fall back to the raw value with the neutral `draft` treatment.
17
+ */
18
+ const statusLabels = {
19
+ changed: 'Changed',
20
+ draft: 'Draft',
21
+ previouslyPublished: 'Previously Published',
22
+ published: 'Published'
23
+ };
24
+ const statusModifiers = {
25
+ changed: 'changed',
26
+ draft: 'draft',
27
+ previouslyPublished: 'previously-published',
28
+ published: 'published'
29
+ };
30
+ export const DocumentCard = ({
31
+ children,
32
+ collectionSlug,
33
+ doc,
34
+ href,
35
+ isSelected = false,
36
+ lockedUser,
37
+ showType = false,
38
+ typeLabel,
39
+ updatedAt
40
+ }) => {
41
+ const {
42
+ getEntityConfig
43
+ } = useConfig();
44
+ const {
45
+ i18n
46
+ } = useTranslation();
47
+ const collectionConfig = getEntityConfig({
48
+ collectionSlug
49
+ });
50
+ const uploadConfig = collectionConfig?.upload;
51
+ const isPreviewAllowed = uploadConfig?.displayPreview ?? true;
52
+ const hasOwnFile = typeof doc.filename === 'string' && doc.filename.length > 0;
53
+ const isOwnUpload = Boolean(uploadConfig) && isPreviewAllowed && hasOwnFile;
54
+ // Falls back to the first field of type `upload` on the collection (resolved server-side), so a
55
+ // card can surface a thumbnail even when the collection itself isn't upload-enabled.
56
+ const useAsThumbnail = collectionConfig?.admin?.useAsThumbnail;
57
+ const relatedUploadDoc = !isOwnUpload && useAsThumbnail && typeof doc[useAsThumbnail] === 'object' && doc[useAsThumbnail] ? doc[useAsThumbnail] : undefined;
58
+ const thumbnailDoc = isOwnUpload ? doc : relatedUploadDoc;
59
+ const thumbnailSrc = thumbnailDoc ? getThumbnailSrc({
60
+ doc: thumbnailDoc
61
+ }) : undefined;
62
+ const hasThumbnailImage = Boolean(thumbnailSrc);
63
+ const title = getDocTitle({
64
+ doc,
65
+ titleField: collectionConfig?.admin?.useAsTitle || 'id'
66
+ });
67
+ const status = getDocStatus({
68
+ doc
69
+ });
70
+ const hasTypePill = showType && Boolean(typeLabel);
71
+ // Creating the formatter is expensive, so build one per language rather than one per render.
72
+ const relativeTimeFormat = useMemo(() => getLongRelativeTimeFormat(i18n.language), [i18n.language]);
73
+ const updatedLabel = useMemo(() => updatedAt ? formatRelativeDate({
74
+ relativeTimeFormat,
75
+ value: updatedAt
76
+ }) : undefined, [relativeTimeFormat, updatedAt]);
77
+ return /*#__PURE__*/_jsxs("div", {
78
+ className: [baseClass,
79
+ // The corner slot holds the lock indicator, and content below it must reserve space for it.
80
+ lockedUser && `${baseClass}--has-corner-slot`, isSelected && `${baseClass}--selected`].filter(Boolean).join(' '),
81
+ "data-selected": isSelected ? 'true' : undefined,
82
+ children: [/*#__PURE__*/_jsxs("div", {
83
+ className: `${baseClass}__thumbnail-wrap`,
84
+ children: [hasThumbnailImage && /*#__PURE__*/_jsx(Thumbnail, {
85
+ className: `${baseClass}__thumbnail`,
86
+ collectionSlug: isOwnUpload ? collectionConfig?.slug : undefined,
87
+ doc: thumbnailDoc,
88
+ fileSrc: thumbnailSrc,
89
+ imageCacheTag: isOwnUpload && uploadConfig?.cacheTags ? doc.updatedAt : undefined,
90
+ size: "expand",
91
+ uploadConfig: isOwnUpload ? uploadConfig : undefined
92
+ }), hasTypePill && /*#__PURE__*/_jsx("span", {
93
+ className: `${baseClass}__type`,
94
+ children: typeLabel
95
+ })]
96
+ }), /*#__PURE__*/_jsxs("div", {
97
+ className: `${baseClass}__content`,
98
+ children: [/*#__PURE__*/_jsx(Link, {
99
+ className: `${baseClass}__link`,
100
+ draggable: false,
101
+ href: href,
102
+ children: /*#__PURE__*/_jsx("span", {
103
+ className: `${baseClass}__title`,
104
+ title: title,
105
+ children: title
106
+ })
107
+ }), /*#__PURE__*/_jsxs("div", {
108
+ className: `${baseClass}__properties`,
109
+ children: [updatedLabel && /*#__PURE__*/_jsxs("div", {
110
+ className: `${baseClass}__property`,
111
+ children: [/*#__PURE__*/_jsx("span", {
112
+ className: `${baseClass}__property-label`,
113
+ children: "Updated"
114
+ }), /*#__PURE__*/_jsx("time", {
115
+ className: `${baseClass}__property-value`,
116
+ dateTime: updatedAt,
117
+ children: updatedLabel
118
+ })]
119
+ }), status && /*#__PURE__*/_jsx("span", {
120
+ className: `${baseClass}__status ${baseClass}__status--${statusModifiers[status] || 'draft'}`,
121
+ children: statusLabels[status] || status
122
+ }), children ? /*#__PURE__*/_jsx("div", {
123
+ className: `${baseClass}__extra`,
124
+ children: children
125
+ }) : null]
126
+ })]
127
+ }), lockedUser && /*#__PURE__*/_jsx("div", {
128
+ className: `${baseClass}__corner-slot`,
129
+ children: /*#__PURE__*/_jsx(Locked, {
130
+ user: lockedUser
131
+ })
132
+ }), isSelected && !lockedUser && /*#__PURE__*/_jsx("span", {
133
+ className: "sr-only",
134
+ children: "Selected"
135
+ })]
136
+ });
137
+ };
138
+ /**
139
+ * Cards spell the unit out ("2 days ago") per the design, whereas the shared
140
+ * `getRelativeTimeFormat` helper is deliberately `narrow` ("2d ago") for the dense dashboard
141
+ * widgets. Falls back to English on locales Intl does not recognise.
142
+ */
143
+ function getLongRelativeTimeFormat(language) {
144
+ try {
145
+ return new Intl.RelativeTimeFormat(language, {
146
+ numeric: 'auto',
147
+ style: 'long'
148
+ });
149
+ } catch {
150
+ return new Intl.RelativeTimeFormat('en', {
151
+ numeric: 'auto',
152
+ style: 'long'
153
+ });
154
+ }
155
+ }
156
+ function getDocTitle({
157
+ doc,
158
+ titleField
159
+ }) {
160
+ const rawTitle = doc[titleField];
161
+ if (typeof rawTitle === 'string' || typeof rawTitle === 'number') {
162
+ return String(rawTitle);
163
+ }
164
+ const {
165
+ id
166
+ } = doc;
167
+ if (typeof id === 'string' || typeof id === 'number') {
168
+ return String(id);
169
+ }
170
+ return '';
171
+ }
172
+ /**
173
+ * Prefers `_displayStatus` because the list view enriches docs with it to surface `changed`,
174
+ * falling back to the persisted `_status`.
175
+ */
176
+ function getDocStatus({
177
+ doc
178
+ }) {
179
+ const rawStatus = doc._displayStatus ?? doc._status;
180
+ return typeof rawStatus === 'string' && rawStatus.length > 0 ? rawStatus : undefined;
181
+ }
182
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","useMemo","Link","Locked","Thumbnail","useConfig","useTranslation","formatRelativeDate","getThumbnailSrc","baseClass","statusLabels","changed","draft","previouslyPublished","published","statusModifiers","DocumentCard","children","collectionSlug","doc","href","isSelected","lockedUser","showType","typeLabel","updatedAt","getEntityConfig","i18n","collectionConfig","uploadConfig","upload","isPreviewAllowed","displayPreview","hasOwnFile","filename","length","isOwnUpload","Boolean","useAsThumbnail","admin","relatedUploadDoc","undefined","thumbnailDoc","thumbnailSrc","hasThumbnailImage","title","getDocTitle","titleField","useAsTitle","status","getDocStatus","hasTypePill","relativeTimeFormat","getLongRelativeTimeFormat","language","updatedLabel","value","_jsxs","className","filter","join","_jsx","slug","fileSrc","imageCacheTag","cacheTags","size","draggable","dateTime","user","Intl","RelativeTimeFormat","numeric","style","rawTitle","String","id","rawStatus","_displayStatus","_status"],"sources":["../../../../../src/views/HierarchyList/HierarchyCards/DocumentCard/index.tsx"],"sourcesContent":["'use client'\n\nimport type { User } from 'payload'\n\nimport React, { useMemo } from 'react'\n\nimport { Link } from '../../../../elements/Link/index.js'\nimport { Locked } from '../../../../elements/Locked/index.js'\nimport { Thumbnail } from '../../../../elements/Thumbnail/index.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { formatRelativeDate } from '../../../../utilities/formatRelativeDate.js'\nimport { getThumbnailSrc } from '../getThumbnailSrc.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-document-card'\n\n/**\n * Mirrors the labels and modifier classes of the table `StatusCell` so cards and rows read the\n * same. Unknown statuses fall back to the raw value with the neutral `draft` treatment.\n */\nconst statusLabels: Record<string, string> = {\n changed: 'Changed',\n draft: 'Draft',\n previouslyPublished: 'Previously Published',\n published: 'Published',\n}\n\nconst statusModifiers: Record<string, string> = {\n changed: 'changed',\n draft: 'draft',\n previouslyPublished: 'previously-published',\n published: 'published',\n}\n\nexport type DocumentCardProps = {\n children?: React.ReactNode\n collectionSlug: string\n doc: Record<string, unknown>\n href: string\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 showType?: boolean\n typeLabel?: string\n updatedAt?: string\n}\n\nexport const DocumentCard: React.FC<DocumentCardProps> = ({\n children,\n collectionSlug,\n doc,\n href,\n isSelected = false,\n lockedUser,\n showType = false,\n typeLabel,\n updatedAt,\n}) => {\n const { getEntityConfig } = useConfig()\n const { i18n } = useTranslation()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const uploadConfig = collectionConfig?.upload\n const isPreviewAllowed = uploadConfig?.displayPreview ?? true\n const hasOwnFile = typeof doc.filename === 'string' && doc.filename.length > 0\n const isOwnUpload = Boolean(uploadConfig) && isPreviewAllowed && hasOwnFile\n\n // Falls back to the first field of type `upload` on the collection (resolved server-side), so a\n // card can surface a thumbnail even when the collection itself isn't upload-enabled.\n const useAsThumbnail = collectionConfig?.admin?.useAsThumbnail\n const relatedUploadDoc =\n !isOwnUpload && useAsThumbnail && typeof doc[useAsThumbnail] === 'object' && doc[useAsThumbnail]\n ? (doc[useAsThumbnail] as Record<string, unknown>)\n : undefined\n const thumbnailDoc = isOwnUpload ? doc : relatedUploadDoc\n\n const thumbnailSrc = thumbnailDoc ? getThumbnailSrc({ doc: thumbnailDoc }) : undefined\n const hasThumbnailImage = Boolean(thumbnailSrc)\n\n const title = getDocTitle({ doc, titleField: collectionConfig?.admin?.useAsTitle || 'id' })\n const status = getDocStatus({ doc })\n const hasTypePill = showType && Boolean(typeLabel)\n\n // Creating the formatter is expensive, so build one per language rather than one per render.\n const relativeTimeFormat = useMemo(\n () => getLongRelativeTimeFormat(i18n.language),\n [i18n.language],\n )\n\n const updatedLabel = useMemo(\n () => (updatedAt ? formatRelativeDate({ relativeTimeFormat, value: updatedAt }) : undefined),\n [relativeTimeFormat, updatedAt],\n )\n\n return (\n <div\n className={[\n baseClass,\n // The corner slot holds the lock indicator, and content below it must reserve space for it.\n lockedUser && `${baseClass}--has-corner-slot`,\n isSelected && `${baseClass}--selected`,\n ]\n .filter(Boolean)\n .join(' ')}\n data-selected={isSelected ? 'true' : undefined}\n >\n <div className={`${baseClass}__thumbnail-wrap`}>\n {hasThumbnailImage && (\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n collectionSlug={isOwnUpload ? collectionConfig?.slug : undefined}\n doc={thumbnailDoc}\n fileSrc={thumbnailSrc}\n imageCacheTag={\n isOwnUpload && uploadConfig?.cacheTags ? (doc.updatedAt as string) : undefined\n }\n size=\"expand\"\n uploadConfig={isOwnUpload ? uploadConfig : undefined}\n />\n )}\n {hasTypePill && <span className={`${baseClass}__type`}>{typeLabel}</span>}\n </div>\n\n <div className={`${baseClass}__content`}>\n {/* The link is a sibling of the checkbox and stretches over the whole card via ::after */}\n {/* The card itself is the drag handle; a link's native drag would fight the pointer sensor. */}\n <Link className={`${baseClass}__link`} draggable={false} href={href}>\n <span className={`${baseClass}__title`} title={title}>\n {title}\n </span>\n </Link>\n\n <div className={`${baseClass}__properties`}>\n {updatedLabel && (\n <div className={`${baseClass}__property`}>\n <span className={`${baseClass}__property-label`}>Updated</span>\n <time className={`${baseClass}__property-value`} dateTime={updatedAt}>\n {updatedLabel}\n </time>\n </div>\n )}\n\n {status && (\n <span\n className={`${baseClass}__status ${baseClass}__status--${statusModifiers[status] || 'draft'}`}\n >\n {statusLabels[status] || status}\n </span>\n )}\n\n {children ? <div className={`${baseClass}__extra`}>{children}</div> : null}\n </div>\n </div>\n\n {lockedUser && (\n <div className={`${baseClass}__corner-slot`}>\n <Locked user={lockedUser} />\n </div>\n )}\n\n {/*\n The accent border is the only visual signal that the card is selected. Suppressed when\n locked, so this never contradicts the lock indicator's own announcement.\n */}\n {isSelected && !lockedUser && <span className=\"sr-only\">Selected</span>}\n </div>\n )\n}\n\n/**\n * Cards spell the unit out (\"2 days ago\") per the design, whereas the shared\n * `getRelativeTimeFormat` helper is deliberately `narrow` (\"2d ago\") for the dense dashboard\n * widgets. Falls back to English on locales Intl does not recognise.\n */\nfunction getLongRelativeTimeFormat(language: string): Intl.RelativeTimeFormat {\n try {\n return new Intl.RelativeTimeFormat(language, { numeric: 'auto', style: 'long' })\n } catch {\n return new Intl.RelativeTimeFormat('en', { numeric: 'auto', style: 'long' })\n }\n}\n\nfunction getDocTitle({\n doc,\n titleField,\n}: {\n doc: Record<string, unknown>\n titleField: string\n}): string {\n const rawTitle = doc[titleField]\n\n if (typeof rawTitle === 'string' || typeof rawTitle === 'number') {\n return String(rawTitle)\n }\n\n const { id } = doc\n\n if (typeof id === 'string' || typeof id === 'number') {\n return String(id)\n }\n\n return ''\n}\n\n/**\n * Prefers `_displayStatus` because the list view enriches docs with it to surface `changed`,\n * falling back to the persisted `_status`.\n */\nfunction getDocStatus({ doc }: { doc: Record<string, unknown> }): string | undefined {\n const rawStatus = doc._displayStatus ?? doc._status\n\n return typeof rawStatus === 'string' && rawStatus.length > 0 ? rawStatus : undefined\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,38 @@
1
+ @layer payload-default {
2
+ /*
3
+ * A fixed 40px square, so a stack of these has a predictable footprint regardless of the aspect
4
+ * ratio of whatever was picked up.
5
+ */
6
+ .hierarchy-drag-preview-item {
7
+ display: flex;
8
+ align-items: center;
9
+ justify-content: center;
10
+ width: var(--spacer-6);
11
+ height: var(--spacer-6);
12
+ overflow: hidden;
13
+ border-radius: var(--radius-medium);
14
+ background: var(--color-bg);
15
+ }
16
+
17
+ /* Fills the square and crops, rather than letter-boxing a wide image inside it. */
18
+ .hierarchy-drag-preview-item__thumbnail {
19
+ width: 100%;
20
+ height: 100%;
21
+
22
+ img {
23
+ width: 100%;
24
+ height: 100%;
25
+ object-fit: cover;
26
+ }
27
+ }
28
+
29
+ .hierarchy-drag-preview-item__icon {
30
+ display: flex;
31
+ color: var(--color-icon);
32
+
33
+ svg {
34
+ width: var(--spacer-4);
35
+ height: var(--spacer-4);
36
+ }
37
+ }
38
+ }
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import type { TableRow } from '../../HierarchyTable/types.js';
3
+ import './index.css';
4
+ /**
5
+ * One tile in the drag stack: a small square thumbnail rather than a full card, so a multi-item drag
6
+ * stays legible under the cursor instead of covering the folders it is aiming for.
7
+ *
8
+ * `Thumbnail` already falls back to the generic file graphic when a document has no image, so
9
+ * non-upload collections need no special case here - only folders, which have an icon instead.
10
+ */
11
+ export declare const DragPreviewItem: React.FC<{
12
+ isHierarchyGroup: boolean;
13
+ row: TableRow;
14
+ }>;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/HierarchyList/HierarchyCards/DragPreviewItem/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAM7D,OAAO,aAAa,CAAA;AAIpB;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,gBAAgB,EAAE,OAAO,CAAA;IACzB,GAAG,EAAE,QAAQ,CAAA;CACd,CA2BA,CAAA"}
@@ -0,0 +1,85 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ import React from 'react';
6
+ import { Thumbnail } from '../../../../elements/Thumbnail/index.js';
7
+ import { FolderIcon } from '../../../../icons/Folder/index.js';
8
+ import { useConfig } from '../../../../providers/Config/index.js';
9
+ import { getThumbnailSrc } from '../getThumbnailSrc.js';
10
+ import './index.css';
11
+ const baseClass = 'hierarchy-drag-preview-item';
12
+ /**
13
+ * One tile in the drag stack: a small square thumbnail rather than a full card, so a multi-item drag
14
+ * stays legible under the cursor instead of covering the folders it is aiming for.
15
+ *
16
+ * `Thumbnail` already falls back to the generic file graphic when a document has no image, so
17
+ * non-upload collections need no special case here - only folders, which have an icon instead.
18
+ */
19
+ export const DragPreviewItem = t0 => {
20
+ const $ = _c(7);
21
+ const {
22
+ isHierarchyGroup,
23
+ row
24
+ } = t0;
25
+ const {
26
+ getEntityConfig
27
+ } = useConfig();
28
+ const t1 = row._collectionSlug;
29
+ let t2;
30
+ let t3;
31
+ if ($[0] !== getEntityConfig || $[1] !== isHierarchyGroup || $[2] !== row) {
32
+ t3 = Symbol.for("react.early_return_sentinel");
33
+ bb0: {
34
+ const collectionConfig = getEntityConfig({
35
+ collectionSlug: t1
36
+ });
37
+ const uploadConfig = collectionConfig?.upload;
38
+ if (isHierarchyGroup) {
39
+ let t4;
40
+ if ($[5] !== row._hierarchyIcon) {
41
+ t4 = _jsx("div", {
42
+ className: baseClass,
43
+ children: _jsx("span", {
44
+ className: `${baseClass}__icon`,
45
+ children: row._hierarchyIcon || _jsx(FolderIcon, {})
46
+ })
47
+ });
48
+ $[5] = row._hierarchyIcon;
49
+ $[6] = t4;
50
+ } else {
51
+ t4 = $[6];
52
+ }
53
+ t3 = t4;
54
+ break bb0;
55
+ }
56
+ t2 = _jsx("div", {
57
+ className: baseClass,
58
+ children: _jsx(Thumbnail, {
59
+ className: `${baseClass}__thumbnail`,
60
+ collectionSlug: collectionConfig?.slug,
61
+ doc: row,
62
+ fileSrc: getThumbnailSrc({
63
+ doc: row
64
+ }),
65
+ imageCacheTag: uploadConfig?.cacheTags ? row.updatedAt : undefined,
66
+ size: "expand",
67
+ uploadConfig
68
+ })
69
+ });
70
+ }
71
+ $[0] = getEntityConfig;
72
+ $[1] = isHierarchyGroup;
73
+ $[2] = row;
74
+ $[3] = t2;
75
+ $[4] = t3;
76
+ } else {
77
+ t2 = $[3];
78
+ t3 = $[4];
79
+ }
80
+ if (t3 !== Symbol.for("react.early_return_sentinel")) {
81
+ return t3;
82
+ }
83
+ return t2;
84
+ };
85
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","React","Thumbnail","FolderIcon","useConfig","getThumbnailSrc","baseClass","DragPreviewItem","t0","$","isHierarchyGroup","row","getEntityConfig","t1","_collectionSlug","t2","t3","Symbol","for","collectionConfig","collectionSlug","uploadConfig","upload","t4","_hierarchyIcon","_jsx","className","children","slug","doc","fileSrc","imageCacheTag","cacheTags","updatedAt","undefined","size"],"sources":["../../../../../src/views/HierarchyList/HierarchyCards/DragPreviewItem/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport type { TableRow } from '../../HierarchyTable/types.js'\n\nimport { Thumbnail } from '../../../../elements/Thumbnail/index.js'\nimport { FolderIcon } from '../../../../icons/Folder/index.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { getThumbnailSrc } from '../getThumbnailSrc.js'\nimport './index.css'\n\nconst baseClass = 'hierarchy-drag-preview-item'\n\n/**\n * One tile in the drag stack: a small square thumbnail rather than a full card, so a multi-item drag\n * stays legible under the cursor instead of covering the folders it is aiming for.\n *\n * `Thumbnail` already falls back to the generic file graphic when a document has no image, so\n * non-upload collections need no special case here - only folders, which have an icon instead.\n */\nexport const DragPreviewItem: React.FC<{\n isHierarchyGroup: boolean\n row: TableRow\n}> = ({ isHierarchyGroup, row }) => {\n const { getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: row._collectionSlug })\n const uploadConfig = collectionConfig?.upload\n\n if (isHierarchyGroup) {\n return (\n <div className={baseClass}>\n <span className={`${baseClass}__icon`}>{row._hierarchyIcon || <FolderIcon />}</span>\n </div>\n )\n }\n\n return (\n <div className={baseClass}>\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n collectionSlug={collectionConfig?.slug}\n doc={row}\n fileSrc={getThumbnailSrc({ doc: row })}\n imageCacheTag={uploadConfig?.cacheTags ? (row.updatedAt as string) : undefined}\n size=\"expand\"\n uploadConfig={uploadConfig}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,MAAW;AAIlB,SAASC,SAAS,QAAQ;AAC1B,SAASC,UAAU,QAAQ;AAC3B,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB;;;;;;;AAOA,OAAO,MAAMC,eAAA,GAGRC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU,gBAAA;IAAAC;EAAA,IAAAH,EAAyB;EAC7B;IAAAI;EAAA,IAA4BR,SAAA;EAE+B,MAAAS,EAAA,GAAAF,GAAA,CAAAG,eAAA;EAAmB,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAP,CAAA,QAAAG,eAAA,IAAAH,CAAA,QAAAC,gBAAA,IAAAD,CAAA,QAAAE,GAAA;IAK1EK,EAAA,GAAAC,MAAA,CAAAC,GAAA,8B;;MALJ,MAAAC,gBAAA,GAAyBP,eAAA;QAAAQ,cAAA,EAAkCP;MAAmB,CAAC;MAC/E,MAAAQ,YAAA,GAAqBF,gBAAA,EAAAG,MAAA;MAAkB,IAEnCZ,gBAAA;QAAA,IAAAa,EAAA;QAAA,IAAAd,CAAA,QAAAE,GAAA,CAAAa,cAAA;UAEAD,EAAA,GAAAE,IAAA,CAAC;YAAAC,SAAA,EAAApB,SAAA;YAAAqB,QAAA,EACCF,IAAA,CAAC;cAAAC,SAAA,EAAgB,GAAApB,SAAA,QAAoB;cAAAqB,QAAA,EAAGhB,GAAA,CAAAa,cAAA,IAAsBC,IAAA,CAAAtB,UAAA,IAAC;YAAA,C;;;;;;;QADjEa,EAAA,GAAAO,E;;;MAOFR,EAAA,GAAAU,IAAA,CAAC;QAAAC,SAAA,EAAApB,SAAA;QAAAqB,QAAA,EACCF,IAAA,CAAAvB,SAAA;UAAAwB,SAAA,EACa,GAAApB,SAAA,aAAyB;UAAAc,cAAA,EACpBD,gBAAA,EAAAS,IAAA;UAAAC,GAAA,EACXlB,GAAA;UAAAmB,OAAA,EACIzB,eAAA;YAAAwB,GAAA,EAAuBlB;UAAA,CAAI;UAAAoB,aAAA,EACrBV,YAAA,EAAAW,SAAA,GAA2BrB,GAAA,CAAAsB,SAAA,GAAAC,SAA2B;UAAAC,IAAA,EAChE;UAAAd;QAAA,C;;;;;;;;;;;;;;;SAPTN,E;CAYJ","ignoreList":[]}