@payloadcms/ui 4.0.0-internal.bc5cf8c → 4.0.0-internal.c7d5de4

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 (669) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/css/forms.css +6 -3
  3. package/dist/css/theme.css +2 -1
  4. package/dist/css/z-index.css +9 -0
  5. package/dist/elements/APIKeyInput/index.css +4 -4
  6. package/dist/elements/AddNewRelation/index.css +28 -28
  7. package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -1
  8. package/dist/elements/AppHeader/index.css +2 -15
  9. package/dist/elements/AppHeader/index.d.ts +2 -1
  10. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  11. package/dist/elements/AppHeader/index.js +6 -8
  12. package/dist/elements/AppHeader/index.js.map +1 -1
  13. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  14. package/dist/elements/ArrayAction/index.js +1 -0
  15. package/dist/elements/ArrayAction/index.js.map +1 -1
  16. package/dist/elements/Button/index.d.ts.map +1 -1
  17. package/dist/elements/Button/index.js +5 -0
  18. package/dist/elements/Button/index.js.map +1 -1
  19. package/dist/elements/ClipboardAction/ClipboardActionLabel.d.ts.map +1 -1
  20. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  21. package/dist/elements/ClipboardAction/index.js +1 -0
  22. package/dist/elements/ClipboardAction/index.js.map +1 -1
  23. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  24. package/dist/elements/CodeEditor/index.css +5 -0
  25. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  26. package/dist/elements/Collapsible/index.js +2 -0
  27. package/dist/elements/Collapsible/index.js.map +1 -1
  28. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
  29. package/dist/elements/ColumnSelection/Popup.js +6 -6
  30. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  31. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts +10 -0
  32. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts.map +1 -0
  33. package/dist/elements/ColumnSelection/matchesColumnSearch.js +21 -0
  34. package/dist/elements/ColumnSelection/matchesColumnSearch.js.map +1 -0
  35. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js +87 -0
  36. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +1 -0
  37. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  38. package/dist/elements/DatePicker/getFormattedLocale.d.ts.map +1 -1
  39. package/dist/elements/DatePicker/index.css +3 -3
  40. package/dist/elements/DatePicker/index.js +1 -1
  41. package/dist/elements/DatePicker/index.js.map +1 -1
  42. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -1
  43. package/dist/elements/DocumentControls/index.css +0 -2
  44. package/dist/elements/DocumentControls/index.d.ts +2 -2
  45. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  46. package/dist/elements/DocumentControls/index.js +1 -0
  47. package/dist/elements/DocumentControls/index.js.map +1 -1
  48. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +2 -2
  49. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  50. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  51. package/dist/elements/DocumentFields/index.css +9 -0
  52. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  53. package/dist/elements/DocumentLocked/index.d.ts +2 -2
  54. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  55. package/dist/elements/DocumentLocked/index.js.map +1 -1
  56. package/dist/elements/DraggableSortable/DragOverlayPreview/index.css +1 -1
  57. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  58. package/dist/elements/Drawer/index.d.ts.map +1 -1
  59. package/dist/elements/Drawer/index.js +1 -0
  60. package/dist/elements/Drawer/index.js.map +1 -1
  61. package/dist/elements/Drawer/useDrawerSlug.d.ts.map +1 -1
  62. package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
  63. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  64. package/dist/elements/EditUpload/index.js +4 -0
  65. package/dist/elements/EditUpload/index.js.map +1 -1
  66. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  67. package/dist/elements/HTMLDiff/diff/index.d.ts.map +1 -1
  68. package/dist/elements/HTMLDiff/index.d.ts.map +1 -1
  69. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +3 -1
  70. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +1 -0
  71. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  72. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +1 -1
  73. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  74. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  75. package/dist/elements/Hierarchy/DocHeaderButton/index.js +12 -12
  76. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  77. package/dist/elements/Hierarchy/Field/index.client.js +14 -14
  78. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  79. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -0
  80. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -0
  81. package/dist/elements/Hierarchy/Modal/index.css +88 -0
  82. package/dist/elements/Hierarchy/Modal/index.d.ts +20 -0
  83. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -0
  84. package/dist/elements/Hierarchy/{Drawer → Modal}/index.js +105 -81
  85. package/dist/elements/Hierarchy/Modal/index.js.map +1 -0
  86. package/dist/elements/Hierarchy/{Drawer → Modal}/types.d.ts +22 -18
  87. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -0
  88. package/dist/elements/Hierarchy/Modal/types.js.map +1 -0
  89. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts +30 -0
  90. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -0
  91. package/dist/elements/Hierarchy/{Drawer/useHierarchyDrawer.js → Modal/useHierarchyModal.js} +51 -50
  92. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -0
  93. package/dist/elements/Hierarchy/MoveMany/index.d.ts +2 -2
  94. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  95. package/dist/elements/Hierarchy/MoveMany/index.js +9 -9
  96. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  97. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  98. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +1 -1
  99. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  100. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +38 -13
  101. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  102. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +37 -31
  103. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  104. package/dist/elements/Hierarchy/Tree/index.css +1 -1
  105. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  106. package/dist/elements/Hierarchy/Tree/index.js +18 -5
  107. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  108. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  109. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  110. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  111. package/dist/elements/ListControls/index.js +1 -1
  112. package/dist/elements/ListControls/index.js.map +1 -1
  113. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  114. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  115. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +1 -0
  116. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  117. package/dist/elements/LivePreview/Window/index.css +6 -0
  118. package/dist/elements/LoadingOverlay/reducer.d.ts.map +1 -1
  119. package/dist/elements/Locked/index.css +7 -4
  120. package/dist/elements/Locked/index.d.ts +2 -2
  121. package/dist/elements/Locked/index.d.ts.map +1 -1
  122. package/dist/elements/Locked/index.js +66 -53
  123. package/dist/elements/Locked/index.js.map +1 -1
  124. package/dist/elements/Nav/SettingsMenuButton/index.css +5 -0
  125. package/dist/elements/Nav/SettingsMenuButton/index.d.ts +1 -1
  126. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  127. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -1
  128. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  129. package/dist/elements/Nav/index.css +0 -5
  130. package/dist/elements/Pagination/index.css +5 -0
  131. package/dist/elements/Pagination/index.d.ts.map +1 -1
  132. package/dist/elements/Pagination/index.js +21 -21
  133. package/dist/elements/Pagination/index.js.map +1 -1
  134. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  135. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  136. package/dist/elements/Popup/PopupTrigger/index.js +3 -0
  137. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  138. package/dist/elements/Popup/index.d.ts +6 -0
  139. package/dist/elements/Popup/index.d.ts.map +1 -1
  140. package/dist/elements/Popup/index.js +2 -0
  141. package/dist/elements/Popup/index.js.map +1 -1
  142. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  143. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -1
  144. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts +7 -0
  145. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -0
  146. package/dist/elements/ReactSelect/DefaultMenuPortal.js +120 -0
  147. package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -0
  148. package/dist/elements/ReactSelect/DropdownIndicator/index.css +1 -1
  149. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  150. package/dist/elements/ReactSelect/DropdownIndicator/index.js +19 -12
  151. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  152. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -1
  153. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +1 -1
  154. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -1
  155. package/dist/elements/ReactSelect/getMenuListStyles.js +13 -5
  156. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -1
  157. package/dist/elements/ReactSelect/getMenuStyles.d.ts +10 -0
  158. package/dist/elements/ReactSelect/getMenuStyles.d.ts.map +1 -0
  159. package/dist/elements/ReactSelect/getMenuStyles.js +21 -0
  160. package/dist/elements/ReactSelect/getMenuStyles.js.map +1 -0
  161. package/dist/elements/ReactSelect/index.css +10 -3
  162. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  163. package/dist/elements/ReactSelect/index.js +25 -102
  164. package/dist/elements/ReactSelect/index.js.map +1 -1
  165. package/dist/elements/ReactSelect/types.d.ts +2 -2
  166. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  167. package/dist/elements/ReactSelect/types.js.map +1 -1
  168. package/dist/elements/RelationshipTable/AddNewButton.d.ts +2 -2
  169. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  170. package/dist/elements/RelationshipTable/index.css +1 -2
  171. package/dist/elements/Search/ListSearchFilter/index.d.ts.map +1 -1
  172. package/dist/elements/Search/ListSearchFilter/index.js +1 -0
  173. package/dist/elements/Search/ListSearchFilter/index.js.map +1 -1
  174. package/dist/elements/Search/SearchInput/index.d.ts +2 -0
  175. package/dist/elements/Search/SearchInput/index.d.ts.map +1 -1
  176. package/dist/elements/Search/SearchInput/index.js +22 -19
  177. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  178. package/dist/elements/SelectAll/index.css +3 -1
  179. package/dist/elements/SelectRow/index.d.ts +2 -2
  180. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  181. package/dist/elements/SelectRow/index.js.map +1 -1
  182. package/dist/elements/SidebarRow/index.css +0 -2
  183. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +24 -24
  184. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  185. package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -1
  186. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  187. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  188. package/dist/elements/Table/OrderableRowDragPreview.d.ts.map +1 -1
  189. package/dist/elements/Table/index.css +25 -2
  190. package/dist/elements/Tabs/index.d.ts.map +1 -1
  191. package/dist/elements/Thumbnail/createThumbnail.d.ts.map +1 -1
  192. package/dist/elements/TimezonePicker/index.css +1 -1
  193. package/dist/elements/Upload/index.d.ts.map +1 -1
  194. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -1
  195. package/dist/elements/UserMenu/SubMenuHeader/index.js +8 -9
  196. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -1
  197. package/dist/elements/UserMenu/index.css +26 -1
  198. package/dist/elements/UserMenu/index.d.ts +1 -0
  199. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  200. package/dist/elements/UserMenu/index.js +2 -1
  201. package/dist/elements/UserMenu/index.js.map +1 -1
  202. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.d.ts.map +1 -1
  203. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.d.ts.map +1 -1
  204. package/dist/elements/WhereBuilder/Condition/validOperators.d.ts.map +1 -1
  205. package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
  206. package/dist/exports/client/index.d.ts +4 -3
  207. package/dist/exports/client/index.d.ts.map +1 -1
  208. package/dist/exports/client/index.js +1 -1
  209. package/dist/exports/client/index.js.map +3 -3
  210. package/dist/exports/layouts.d.ts +1 -0
  211. package/dist/exports/layouts.d.ts.map +1 -1
  212. package/dist/exports/layouts.js +1 -0
  213. package/dist/exports/layouts.js.map +1 -1
  214. package/dist/exports/rsc/index.d.ts +3 -0
  215. package/dist/exports/rsc/index.d.ts.map +1 -1
  216. package/dist/exports/rsc/index.js +3 -0
  217. package/dist/exports/rsc/index.js.map +1 -1
  218. package/dist/exports/shared/index.d.ts +1 -0
  219. package/dist/exports/shared/index.d.ts.map +1 -1
  220. package/dist/exports/shared/index.js +2 -2
  221. package/dist/exports/shared/index.js.map +4 -4
  222. package/dist/fields/Array/index.d.ts +1 -1
  223. package/dist/fields/Array/index.d.ts.map +1 -1
  224. package/dist/fields/Array/index.js +7 -4
  225. package/dist/fields/Array/index.js.map +1 -1
  226. package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  227. package/dist/fields/Blocks/SectionTitle/index.js +1 -0
  228. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  229. package/dist/fields/Blocks/index.d.ts +1 -1
  230. package/dist/fields/Blocks/index.d.ts.map +1 -1
  231. package/dist/fields/Blocks/index.js +6 -3
  232. package/dist/fields/Blocks/index.js.map +1 -1
  233. package/dist/fields/Checkbox/index.d.ts +1 -1
  234. package/dist/fields/Code/index.css +1 -1
  235. package/dist/fields/Code/index.d.ts +2 -2
  236. package/dist/fields/Collapsible/index.d.ts +1 -1
  237. package/dist/fields/ConfirmPassword/index.d.ts +4 -0
  238. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  239. package/dist/fields/ConfirmPassword/index.js +37 -33
  240. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  241. package/dist/fields/DateTime/index.d.ts +1 -1
  242. package/dist/fields/Email/index.d.ts +1 -1
  243. package/dist/fields/Group/index.css +1 -7
  244. package/dist/fields/Group/index.d.ts +2 -2
  245. package/dist/fields/JSON/index.d.ts +1 -1
  246. package/dist/fields/Join/index.d.ts +1 -1
  247. package/dist/fields/Number/Input.d.ts.map +1 -1
  248. package/dist/fields/Number/Input.js +29 -25
  249. package/dist/fields/Number/Input.js.map +1 -1
  250. package/dist/fields/Number/index.d.ts +1 -1
  251. package/dist/fields/Number/types.d.ts +4 -0
  252. package/dist/fields/Number/types.d.ts.map +1 -1
  253. package/dist/fields/Number/types.js.map +1 -1
  254. package/dist/fields/Password/input.d.ts.map +1 -1
  255. package/dist/fields/Password/input.js +33 -29
  256. package/dist/fields/Password/input.js.map +1 -1
  257. package/dist/fields/Password/types.d.ts +7 -3
  258. package/dist/fields/Password/types.d.ts.map +1 -1
  259. package/dist/fields/Password/types.js.map +1 -1
  260. package/dist/fields/Point/index.d.ts +1 -1
  261. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  262. package/dist/fields/Relationship/Input.js +4 -0
  263. package/dist/fields/Relationship/Input.js.map +1 -1
  264. package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
  265. package/dist/fields/Relationship/index.d.ts +1 -1
  266. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  267. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  268. package/dist/fields/Relationship/types.d.ts +4 -0
  269. package/dist/fields/Relationship/types.d.ts.map +1 -1
  270. package/dist/fields/Relationship/types.js.map +1 -1
  271. package/dist/fields/Row/index.d.ts +1 -1
  272. package/dist/fields/Select/Input.d.ts +4 -0
  273. package/dist/fields/Select/Input.d.ts.map +1 -1
  274. package/dist/fields/Select/Input.js +45 -40
  275. package/dist/fields/Select/Input.js.map +1 -1
  276. package/dist/fields/Select/index.d.ts +1 -1
  277. package/dist/fields/Select/index.d.ts.map +1 -1
  278. package/dist/fields/Slug/index.d.ts +7 -5
  279. package/dist/fields/Slug/index.d.ts.map +1 -1
  280. package/dist/fields/Slug/index.js +6 -4
  281. package/dist/fields/Slug/index.js.map +1 -1
  282. package/dist/fields/Tabs/index.d.ts +1 -1
  283. package/dist/fields/Text/Input.d.ts.map +1 -1
  284. package/dist/fields/Text/Input.js +25 -21
  285. package/dist/fields/Text/Input.js.map +1 -1
  286. package/dist/fields/Text/index.d.ts +1 -1
  287. package/dist/fields/Text/types.d.ts +6 -2
  288. package/dist/fields/Text/types.d.ts.map +1 -1
  289. package/dist/fields/Text/types.js.map +1 -1
  290. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  291. package/dist/fields/Textarea/Input.js +27 -23
  292. package/dist/fields/Textarea/Input.js.map +1 -1
  293. package/dist/fields/Textarea/index.css +1 -1
  294. package/dist/fields/Textarea/index.d.ts +1 -1
  295. package/dist/fields/Textarea/types.d.ts +4 -0
  296. package/dist/fields/Textarea/types.d.ts.map +1 -1
  297. package/dist/fields/Textarea/types.js.map +1 -1
  298. package/dist/fields/index.d.ts.map +1 -1
  299. package/dist/fields/index.js +2 -0
  300. package/dist/fields/index.js.map +1 -1
  301. package/dist/fields/mergeFieldStyles.d.ts +1 -1
  302. package/dist/fields/mergeFieldStyles.d.ts.map +1 -1
  303. package/dist/forms/Form/context.d.ts.map +1 -1
  304. package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -1
  305. package/dist/forms/Form/errorMessages.d.ts.map +1 -1
  306. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  307. package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -1
  308. package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
  309. package/dist/forms/Form/rows.d.ts.map +1 -1
  310. package/dist/forms/Form/types.d.ts +2 -2
  311. package/dist/forms/Form/types.d.ts.map +1 -1
  312. package/dist/forms/Form/types.js.map +1 -1
  313. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  314. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  315. package/dist/forms/RenderFields/RenderField.js +10 -0
  316. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  317. package/dist/forms/RenderFields/index.css +4 -4
  318. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  319. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
  320. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  321. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +21 -5
  322. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  323. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +2 -2
  324. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  325. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  326. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +2 -2
  327. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  328. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  329. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +2 -2
  330. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  331. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  332. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
  333. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  334. package/dist/forms/fieldSchemasToFormState/index.js +2 -0
  335. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  336. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
  337. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  338. package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
  339. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  340. package/dist/forms/useField/index.d.ts.map +1 -1
  341. package/dist/forms/withCondition/index.d.ts +1 -1
  342. package/dist/forms/withCondition/index.d.ts.map +1 -1
  343. package/dist/graphics/Icon/index.js +1 -1
  344. package/dist/graphics/Icon/index.js.map +1 -1
  345. package/dist/hooks/useDebouncedCallback.d.ts.map +1 -1
  346. package/dist/hooks/useDelay.d.ts.map +1 -1
  347. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -1
  348. package/dist/hooks/useHotkey.d.ts.map +1 -1
  349. package/dist/hooks/useIntersect.d.ts.map +1 -1
  350. package/dist/hooks/usePopupWindow.d.ts +1 -1
  351. package/dist/hooks/usePopupWindow.d.ts.map +1 -1
  352. package/dist/hooks/useRelatedCollections.d.ts.map +1 -1
  353. package/dist/hooks/useResize.d.ts.map +1 -1
  354. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  355. package/dist/layouts/Root/index.d.ts.map +1 -1
  356. package/dist/layouts/Root/index.js +7 -3
  357. package/dist/layouts/Root/index.js.map +1 -1
  358. package/dist/layouts/Root/index.spec.js +20 -0
  359. package/dist/layouts/Root/index.spec.js.map +1 -0
  360. package/dist/layouts/Root/viewport.d.ts +5 -0
  361. package/dist/layouts/Root/viewport.d.ts.map +1 -0
  362. package/dist/layouts/Root/viewport.js +17 -0
  363. package/dist/layouts/Root/viewport.js.map +1 -0
  364. package/dist/providers/Auth/index.d.ts +8 -10
  365. package/dist/providers/Auth/index.d.ts.map +1 -1
  366. package/dist/providers/Auth/index.js +3 -8
  367. package/dist/providers/Auth/index.js.map +1 -1
  368. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  369. package/dist/providers/DocumentInfo/index.js.map +1 -1
  370. package/dist/providers/DocumentInfo/types.d.ts +6 -6
  371. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  372. package/dist/providers/DocumentInfo/types.js.map +1 -1
  373. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
  374. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  375. package/dist/providers/ListQuery/index.js +8 -1
  376. package/dist/providers/ListQuery/index.js.map +1 -1
  377. package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
  378. package/dist/providers/ListQuery/sanitizeQuery.d.ts.map +1 -1
  379. package/dist/providers/LivePreview/sizeReducer.d.ts +1 -1
  380. package/dist/providers/LivePreview/sizeReducer.d.ts.map +1 -1
  381. package/dist/providers/Root/index.d.ts +2 -2
  382. package/dist/providers/Root/index.d.ts.map +1 -1
  383. package/dist/providers/Root/index.js.map +1 -1
  384. package/dist/providers/TableColumns/buildColumnState/filterFields.d.ts.map +1 -1
  385. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.d.ts.map +1 -1
  386. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts.map +1 -1
  387. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  388. package/dist/providers/TableColumns/getInitialColumns.d.ts +1 -1
  389. package/dist/providers/TableColumns/getInitialColumns.d.ts.map +1 -1
  390. package/dist/providers/Theme/index.d.ts +2 -2
  391. package/dist/providers/Theme/index.d.ts.map +1 -1
  392. package/dist/providers/Theme/index.js +2 -1
  393. package/dist/providers/Theme/index.js.map +1 -1
  394. package/dist/providers/Theme/shared.d.ts +3 -0
  395. package/dist/providers/Theme/shared.d.ts.map +1 -0
  396. package/dist/providers/Theme/shared.js +2 -0
  397. package/dist/providers/Theme/shared.js.map +1 -0
  398. package/dist/providers/UploadEdits/index.d.ts.map +1 -1
  399. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  400. package/dist/styles.css +19 -5
  401. package/dist/templates/Default/index.d.ts.map +1 -1
  402. package/dist/templates/Default/index.js +6 -0
  403. package/dist/templates/Default/index.js.map +1 -1
  404. package/dist/utilities/api.d.ts.map +1 -1
  405. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
  406. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
  407. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  408. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  409. package/dist/utilities/buildFormState.d.ts +2 -2
  410. package/dist/utilities/buildFormState.d.ts.map +1 -1
  411. package/dist/utilities/buildFormState.js +1 -0
  412. package/dist/utilities/buildFormState.js.map +1 -1
  413. package/dist/utilities/checkDependencies.d.ts.map +1 -1
  414. package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
  415. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  416. package/dist/utilities/copyDataFromLocale.js +1 -0
  417. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  418. package/dist/utilities/filterOutUploadFields.d.ts.map +1 -1
  419. package/dist/utilities/findLocaleFromCode.d.ts.map +1 -1
  420. package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
  421. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  422. package/dist/utilities/formatDocTitle/formatRelationshipTitle.d.ts.map +1 -1
  423. package/dist/utilities/formatDocTitle/index.d.ts +1 -1
  424. package/dist/utilities/formatDocTitle/index.d.ts.map +1 -1
  425. package/dist/utilities/formatDocTitle/index.js +1 -1
  426. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  427. package/dist/utilities/formatFields.d.ts.map +1 -1
  428. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  429. package/dist/utilities/formatRelativeDate.d.ts +15 -0
  430. package/dist/utilities/formatRelativeDate.d.ts.map +1 -0
  431. package/dist/utilities/formatRelativeDate.js +62 -0
  432. package/dist/utilities/formatRelativeDate.js.map +1 -0
  433. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  434. package/dist/utilities/getColumns.d.ts.map +1 -1
  435. package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
  436. package/dist/utilities/getDocPreferences.d.ts +2 -2
  437. package/dist/utilities/getDocPreferences.d.ts.map +1 -1
  438. package/dist/utilities/getDocPreferences.js.map +1 -1
  439. package/dist/utilities/getDocumentData.d.ts +2 -2
  440. package/dist/utilities/getDocumentData.d.ts.map +1 -1
  441. package/dist/utilities/getDocumentData.js.map +1 -1
  442. package/dist/utilities/getDocumentPermissions.d.ts.map +1 -1
  443. package/dist/utilities/getGlobalData.d.ts +2 -2
  444. package/dist/utilities/getGlobalData.d.ts.map +1 -1
  445. package/dist/utilities/getGlobalData.js.map +1 -1
  446. package/dist/utilities/getHasScheduledPublish.d.ts +2 -2
  447. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  448. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  449. package/dist/utilities/getIsLocked.d.ts +2 -2
  450. package/dist/utilities/getIsLocked.d.ts.map +1 -1
  451. package/dist/utilities/getIsLocked.js.map +1 -1
  452. package/dist/utilities/getLanguageDir.d.ts +12 -0
  453. package/dist/utilities/getLanguageDir.d.ts.map +1 -0
  454. package/dist/utilities/getLanguageDir.js +12 -0
  455. package/dist/utilities/getLanguageDir.js.map +1 -0
  456. package/dist/utilities/getOffsetTop.d.ts.map +1 -1
  457. package/dist/utilities/getRequestHighContrast.d.ts.map +1 -1
  458. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  459. package/dist/utilities/getRequestTheme.d.ts +1 -1
  460. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  461. package/dist/utilities/getRequestTheme.js +1 -1
  462. package/dist/utilities/getRequestTheme.js.map +1 -1
  463. package/dist/utilities/getRouteWithoutAdmin.d.ts.map +1 -1
  464. package/dist/utilities/getSupportedMonacoLocale.d.ts.map +1 -1
  465. package/dist/utilities/getVersions.d.ts +2 -2
  466. package/dist/utilities/getVersions.d.ts.map +1 -1
  467. package/dist/utilities/getVersions.js +2 -5
  468. package/dist/utilities/getVersions.js.map +1 -1
  469. package/dist/utilities/handleAuthRedirect.d.ts +2 -2
  470. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  471. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  472. package/dist/utilities/handleBackToDashboard.d.ts.map +1 -1
  473. package/dist/utilities/handleFormStateLocking.d.ts +2 -2
  474. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  475. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  476. package/dist/utilities/handleGoBack.d.ts.map +1 -1
  477. package/dist/utilities/handleLivePreview.d.ts +1 -0
  478. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  479. package/dist/utilities/handlePreview.d.ts.map +1 -1
  480. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  481. package/dist/utilities/handleStaleDataCheck.d.ts.map +1 -1
  482. package/dist/utilities/handleTakeOver.d.ts +5 -5
  483. package/dist/utilities/handleTakeOver.d.ts.map +1 -1
  484. package/dist/utilities/handleTakeOver.js.map +1 -1
  485. package/dist/utilities/hasOptionLabelJSXElement.d.ts.map +1 -1
  486. package/dist/utilities/hasSavePermission.d.ts.map +1 -1
  487. package/dist/utilities/initReq.d.ts.map +1 -1
  488. package/dist/utilities/isClientUserObject.d.ts +2 -2
  489. package/dist/utilities/isClientUserObject.d.ts.map +1 -1
  490. package/dist/utilities/isClientUserObject.js.map +1 -1
  491. package/dist/utilities/isCustomAdminView.d.ts.map +1 -1
  492. package/dist/utilities/isEditing.d.ts.map +1 -1
  493. package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
  494. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
  495. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  496. package/dist/utilities/isURLAllowed.js +9 -3
  497. package/dist/utilities/isURLAllowed.js.map +1 -1
  498. package/dist/utilities/recentlyViewed.d.ts +16 -0
  499. package/dist/utilities/recentlyViewed.d.ts.map +1 -0
  500. package/dist/utilities/recentlyViewed.js +21 -0
  501. package/dist/utilities/recentlyViewed.js.map +1 -0
  502. package/dist/utilities/recentlyViewed.spec.js +92 -0
  503. package/dist/utilities/recentlyViewed.spec.js.map +1 -0
  504. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
  505. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  506. package/dist/utilities/renderTable.d.ts +2 -2
  507. package/dist/utilities/renderTable.d.ts.map +1 -1
  508. package/dist/utilities/resolveFilterOptions.d.ts +1 -1
  509. package/dist/utilities/resolveFilterOptions.d.ts.map +1 -1
  510. package/dist/utilities/sanitizeFilterOptionsQuery.d.ts.map +1 -1
  511. package/dist/utilities/scrollToID.d.ts.map +1 -1
  512. package/dist/utilities/selectiveCache.d.ts.map +1 -1
  513. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  514. package/dist/utilities/slugify.d.ts +1 -1
  515. package/dist/utilities/slugify.js +1 -1
  516. package/dist/utilities/slugify.js.map +1 -1
  517. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  518. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  519. package/dist/views/Account/ResetPreferences/index.d.ts +2 -2
  520. package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -1
  521. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  522. package/dist/views/Account/Settings/index.d.ts +2 -2
  523. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  524. package/dist/views/Account/Settings/index.js.map +1 -1
  525. package/dist/views/CollectionTrash/generateCollectionTrashMetadata.d.ts.map +1 -1
  526. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
  527. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +27 -23
  528. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  529. package/dist/views/Dashboard/Default/ModularDashboard/index.css +2 -0
  530. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +1 -1
  531. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  532. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +2 -2
  533. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -1
  534. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -1
  535. package/dist/views/Dashboard/Default/index.d.ts +2 -2
  536. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  537. package/dist/views/Dashboard/Default/index.js.map +1 -1
  538. package/dist/views/Document/getCustomDocumentViewByKey.d.ts +1 -1
  539. package/dist/views/Document/getCustomDocumentViewByKey.d.ts.map +1 -1
  540. package/dist/views/Document/getCustomViewByRoute.d.ts +1 -1
  541. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  542. package/dist/views/Document/getDocumentView.d.ts.map +1 -1
  543. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  544. package/dist/views/Document/index.d.ts +1 -1
  545. package/dist/views/Document/index.d.ts.map +1 -1
  546. package/dist/views/Document/index.js +17 -1
  547. package/dist/views/Document/index.js.map +1 -1
  548. package/dist/views/Document/recordRecentlyViewed.d.ts +12 -0
  549. package/dist/views/Document/recordRecentlyViewed.d.ts.map +1 -0
  550. package/dist/views/Document/recordRecentlyViewed.js +40 -0
  551. package/dist/views/Document/recordRecentlyViewed.js.map +1 -0
  552. package/dist/views/Edit/index.d.ts.map +1 -1
  553. package/dist/views/Edit/index.js +1 -1
  554. package/dist/views/Edit/index.js.map +1 -1
  555. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +2 -2
  556. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  557. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  558. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +2 -2
  559. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
  560. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
  561. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -1
  562. package/dist/views/HierarchyList/TypeFilter/index.js +3 -0
  563. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
  564. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  565. package/dist/views/HierarchyList/index.js +2 -6
  566. package/dist/views/HierarchyList/index.js.map +1 -1
  567. package/dist/views/List/createSerializableValue.d.ts.map +1 -1
  568. package/dist/views/List/extractRelationshipDisplayValue.d.ts.map +1 -1
  569. package/dist/views/List/extractValueOrRelationshipID.d.ts.map +1 -1
  570. package/dist/views/List/generateListViewMetadata.d.ts.map +1 -1
  571. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  572. package/dist/views/List/handleHierarchy.d.ts +1 -1
  573. package/dist/views/List/handleHierarchy.d.ts.map +1 -1
  574. package/dist/views/List/index.d.ts.map +1 -1
  575. package/dist/views/List/index.js +1 -7
  576. package/dist/views/List/index.js.map +1 -1
  577. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  578. package/dist/views/List/resolveAllFilterOptions.d.ts.map +1 -1
  579. package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -1
  580. package/dist/views/Logout/LogoutClient.js +28 -32
  581. package/dist/views/Logout/LogoutClient.js.map +1 -1
  582. package/dist/views/NotFound/page.d.ts.map +1 -1
  583. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -1
  584. package/dist/views/Root/generatePageMetadata.d.ts.map +1 -1
  585. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts +1 -1
  586. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  587. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts +1 -1
  588. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  589. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  590. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  591. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  592. package/dist/views/Root/index.d.ts.map +1 -1
  593. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  594. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
  595. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  596. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
  597. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  598. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +1 -0
  599. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  600. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  601. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  602. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +1 -0
  603. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  604. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  605. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  606. package/dist/views/Version/SelectComparison/index.js +1 -0
  607. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  608. package/dist/views/Versions/buildColumns.d.ts +1 -1
  609. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  610. package/dist/views/Versions/fetchVersions.d.ts +8 -8
  611. package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
  612. package/dist/views/Versions/fetchVersions.js.map +1 -1
  613. package/dist/views/Versions/types.d.ts +2 -2
  614. package/dist/views/Versions/types.d.ts.map +1 -1
  615. package/dist/views/Versions/types.js.map +1 -1
  616. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts +2 -2
  617. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts.map +1 -1
  618. package/dist/widgets/CollectionCards/getCollectionCardsData.js.map +1 -1
  619. package/dist/widgets/CollectionCards/index.client.js.map +1 -1
  620. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  621. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -0
  622. package/dist/widgets/CollectionQuery/SortField/index.js +118 -0
  623. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -0
  624. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts +18 -0
  625. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts.map +1 -0
  626. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js +91 -0
  627. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js.map +1 -0
  628. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +100 -0
  629. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +1 -0
  630. package/dist/widgets/CollectionQuery/index.css +64 -0
  631. package/dist/widgets/CollectionQuery/index.d.ts +16 -0
  632. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -0
  633. package/dist/widgets/CollectionQuery/index.js +328 -0
  634. package/dist/widgets/CollectionQuery/index.js.map +1 -0
  635. package/dist/widgets/RecentlyViewed/CollectionsField/index.css +14 -0
  636. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +10 -0
  637. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -0
  638. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +76 -0
  639. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -0
  640. package/dist/widgets/RecentlyViewed/index.d.ts +10 -0
  641. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -0
  642. package/dist/widgets/RecentlyViewed/index.js +148 -0
  643. package/dist/widgets/RecentlyViewed/index.js.map +1 -0
  644. package/dist/widgets/WidgetCard/index.css +155 -0
  645. package/dist/widgets/WidgetCard/index.d.ts +19 -0
  646. package/dist/widgets/WidgetCard/index.d.ts.map +1 -0
  647. package/dist/widgets/WidgetCard/index.js +49 -0
  648. package/dist/widgets/WidgetCard/index.js.map +1 -0
  649. package/package.json +6 -509
  650. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +0 -1
  651. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +0 -1
  652. package/dist/elements/Hierarchy/Drawer/index.css +0 -90
  653. package/dist/elements/Hierarchy/Drawer/index.d.ts +0 -20
  654. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +0 -1
  655. package/dist/elements/Hierarchy/Drawer/index.js.map +0 -1
  656. package/dist/elements/Hierarchy/Drawer/types.d.ts.map +0 -1
  657. package/dist/elements/Hierarchy/Drawer/types.js.map +0 -1
  658. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +0 -30
  659. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +0 -1
  660. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +0 -1
  661. package/dist/elements/Nav/NavToggler/index.css +0 -12
  662. package/dist/elements/Nav/NavToggler/index.d.ts +0 -9
  663. package/dist/elements/Nav/NavToggler/index.d.ts.map +0 -1
  664. package/dist/elements/Nav/NavToggler/index.js +0 -91
  665. package/dist/elements/Nav/NavToggler/index.js.map +0 -1
  666. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  667. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.d.ts +0 -0
  668. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.js +0 -0
  669. /package/dist/elements/Hierarchy/{Drawer → Modal}/types.js +0 -0
@@ -1,10 +1,10 @@
1
- import type { ClientUser } from 'payload';
1
+ import type { User } from 'payload';
2
2
  import React from 'react';
3
3
  import './index.css';
4
4
  export declare const SelectRow: React.FC<{
5
5
  rowData: {
6
6
  _isLocked: boolean;
7
- _userEditing: ClientUser;
7
+ _userEditing: User;
8
8
  id: string;
9
9
  };
10
10
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SelectRow/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,OAAO,EAAE;QACP,SAAS,EAAE,OAAO,CAAA;QAClB,YAAY,EAAE,UAAU,CAAA;QACxB,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;CACF,CAmBA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SelectRow/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEnC,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,OAAO,EAAE;QACP,SAAS,EAAE,OAAO,CAAA;QAClB,YAAY,EAAE,IAAI,CAAA;QAClB,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;CACF,CAmBA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","CheckboxInput","useAuth","useSelection","Locked","baseClass","SelectRow","t0","$","rowData","user","selected","setSelection","t1","id","Symbol","for","_isLocked","_userEditing","documentIsLocked","_jsx","t2","get","t3","Boolean","t4","t5","t6","checked","className","join","onToggle","variant"],"sources":["../../../src/elements/SelectRow/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser } from 'payload'\n\nimport React from 'react'\n\nimport { CheckboxInput } from '../../fields/Checkbox/Input.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useSelection } from '../../providers/Selection/index.js'\nimport { Locked } from '../Locked/index.js'\nimport './index.css'\n\nconst baseClass = 'select-row'\n\nexport const SelectRow: React.FC<{\n rowData: {\n _isLocked: boolean\n _userEditing: ClientUser\n id: string\n }\n}> = ({ rowData }) => {\n const { user } = useAuth()\n const { selected, setSelection } = useSelection()\n const { _isLocked, _userEditing } = rowData || {}\n\n const documentIsLocked = _isLocked && _userEditing\n\n if (documentIsLocked && _userEditing.id !== user?.id) {\n return <Locked user={_userEditing} />\n }\n\n return (\n <CheckboxInput\n checked={Boolean(selected.get(rowData.id))}\n className={[baseClass, `${baseClass}__checkbox`].join(' ')}\n onToggle={() => setSelection(rowData.id)}\n variant=\"muted\"\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAElB,SAASC,aAAa,QAAQ;AAC9B,SAASC,OAAO,QAAQ;AACxB,SAASC,YAAY,QAAQ;AAC7B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,SAAA,GAMRC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU;EAAA,IAAAF,EAAW;EACf;IAAAG;EAAA,IAAiBR,OAAA;EACjB;IAAAS,QAAA;IAAAC;EAAA,IAAmCT,YAAA;EAAA,IAAAU,EAAA;EAAA,IAAAL,CAAA,QAAAC,OAAA,IAAAD,CAAA,QAAAE,IAAA,EAAAI,EAAA;IAM1BD,EAAA,GAAAE,MAAA,CAAAC,GAAA,8B;;MALT;QAAAC,SAAA;QAAAC;MAAA,IAAoCT,OAAA,MAAY;MAEhD,MAAAU,gBAAA,GAAyBF,SAAA,IAAaC,YAAA;MAAA,IAElCC,gBAAA,IAAoBD,YAAA,CAAAJ,EAAA,KAAoBJ,IAAA,EAAAI,EAAM;QACzCD,EAAA,GAAAO,IAAA,CAAAhB,MAAA;UAAAM,IAAA,EAAcQ;QAAA,C;;;;;;;;;;;;;;;IAKFG,EAAA,GAAAV,QAAA,CAAAW,GAAA,CAAab,OAAA,CAAAK,EAAU;IAAAN,CAAA,MAAAC,OAAA,CAAAK,EAAA;IAAAN,CAAA,MAAAG,QAAA;IAAAH,CAAA,MAAAa,EAAA;EAAA;IAAAA,EAAA,GAAAb,CAAA;EAAA;EAA/B,MAAAe,EAAA,GAAAC,OAAA,CAAQH,EAAuB;EAAA,IAAAI,EAAA;EAAA,IAAAjB,CAAA,QAAAO,MAAA,CAAAC,GAAA;IAC7BS,EAAA,IAAApB,SAAA,EAAY,GAAAA,SAAA,YAAwB;IAACG,CAAA,MAAAiB,EAAA;EAAA;IAAAA,EAAA,GAAAjB,CAAA;EAAA;EAAA,IAAAkB,EAAA;EAAA,IAAAlB,CAAA,QAAAC,OAAA,CAAAK,EAAA,IAAAN,CAAA,QAAAI,YAAA;IACtCc,EAAA,GAAAA,CAAA,KAAMd,YAAA,CAAaH,OAAA,CAAAK,EAAU;IAAAN,CAAA,MAAAC,OAAA,CAAAK,EAAA;IAAAN,CAAA,MAAAI,YAAA;IAAAJ,CAAA,MAAAkB,EAAA;EAAA;IAAAA,EAAA,GAAAlB,CAAA;EAAA;EAAA,IAAAmB,EAAA;EAAA,IAAAnB,CAAA,SAAAe,EAAA,IAAAf,CAAA,SAAAkB,EAAA;IAHzCC,EAAA,GAAAP,IAAA,CAAAnB,aAAA;MAAA2B,OAAA,EACWL,EAA+B;MAAAM,SAAA,EAC7BJ,EAAqC,CAAAK,IAAA,CAAM;MAAAC,QAAA,EAC5CL,EAA6B;MAAAM,OAAA,EAC/B;IAAA,C;;;;;;;SAJVL,E;CAOJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","CheckboxInput","useAuth","useSelection","Locked","baseClass","SelectRow","t0","$","rowData","user","selected","setSelection","t1","id","Symbol","for","_isLocked","_userEditing","documentIsLocked","_jsx","t2","get","t3","Boolean","t4","t5","t6","checked","className","join","onToggle","variant"],"sources":["../../../src/elements/SelectRow/index.tsx"],"sourcesContent":["'use client'\nimport type { User } from 'payload'\n\nimport React from 'react'\n\nimport { CheckboxInput } from '../../fields/Checkbox/Input.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useSelection } from '../../providers/Selection/index.js'\nimport { Locked } from '../Locked/index.js'\nimport './index.css'\n\nconst baseClass = 'select-row'\n\nexport const SelectRow: React.FC<{\n rowData: {\n _isLocked: boolean\n _userEditing: User\n id: string\n }\n}> = ({ rowData }) => {\n const { user } = useAuth()\n const { selected, setSelection } = useSelection()\n const { _isLocked, _userEditing } = rowData || {}\n\n const documentIsLocked = _isLocked && _userEditing\n\n if (documentIsLocked && _userEditing.id !== user?.id) {\n return <Locked user={_userEditing} />\n }\n\n return (\n <CheckboxInput\n checked={Boolean(selected.get(rowData.id))}\n className={[baseClass, `${baseClass}__checkbox`].join(' ')}\n onToggle={() => setSelection(rowData.id)}\n variant=\"muted\"\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAElB,SAASC,aAAa,QAAQ;AAC9B,SAASC,OAAO,QAAQ;AACxB,SAASC,YAAY,QAAQ;AAC7B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,SAAA,GAMRC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU;EAAA,IAAAF,EAAW;EACf;IAAAG;EAAA,IAAiBR,OAAA;EACjB;IAAAS,QAAA;IAAAC;EAAA,IAAmCT,YAAA;EAAA,IAAAU,EAAA;EAAA,IAAAL,CAAA,QAAAC,OAAA,IAAAD,CAAA,QAAAE,IAAA,EAAAI,EAAA;IAM1BD,EAAA,GAAAE,MAAA,CAAAC,GAAA,8B;;MALT;QAAAC,SAAA;QAAAC;MAAA,IAAoCT,OAAA,MAAY;MAEhD,MAAAU,gBAAA,GAAyBF,SAAA,IAAaC,YAAA;MAAA,IAElCC,gBAAA,IAAoBD,YAAA,CAAAJ,EAAA,KAAoBJ,IAAA,EAAAI,EAAM;QACzCD,EAAA,GAAAO,IAAA,CAAAhB,MAAA;UAAAM,IAAA,EAAcQ;QAAA,C;;;;;;;;;;;;;;;IAKFG,EAAA,GAAAV,QAAA,CAAAW,GAAA,CAAab,OAAA,CAAAK,EAAU;IAAAN,CAAA,MAAAC,OAAA,CAAAK,EAAA;IAAAN,CAAA,MAAAG,QAAA;IAAAH,CAAA,MAAAa,EAAA;EAAA;IAAAA,EAAA,GAAAb,CAAA;EAAA;EAA/B,MAAAe,EAAA,GAAAC,OAAA,CAAQH,EAAuB;EAAA,IAAAI,EAAA;EAAA,IAAAjB,CAAA,QAAAO,MAAA,CAAAC,GAAA;IAC7BS,EAAA,IAAApB,SAAA,EAAY,GAAAA,SAAA,YAAwB;IAACG,CAAA,MAAAiB,EAAA;EAAA;IAAAA,EAAA,GAAAjB,CAAA;EAAA;EAAA,IAAAkB,EAAA;EAAA,IAAAlB,CAAA,QAAAC,OAAA,CAAAK,EAAA,IAAAN,CAAA,QAAAI,YAAA;IACtCc,EAAA,GAAAA,CAAA,KAAMd,YAAA,CAAaH,OAAA,CAAAK,EAAU;IAAAN,CAAA,MAAAC,OAAA,CAAAK,EAAA;IAAAN,CAAA,MAAAI,YAAA;IAAAJ,CAAA,MAAAkB,EAAA;EAAA;IAAAA,EAAA,GAAAlB,CAAA;EAAA;EAAA,IAAAmB,EAAA;EAAA,IAAAnB,CAAA,SAAAe,EAAA,IAAAf,CAAA,SAAAkB,EAAA;IAHzCC,EAAA,GAAAP,IAAA,CAAAnB,aAAA;MAAA2B,OAAA,EACWL,EAA+B;MAAAM,SAAA,EAC7BJ,EAAqC,CAAAK,IAAA,CAAM;MAAAC,QAAA,EAC5CL,EAA6B;MAAAM,OAAA,EAC/B;IAAA,C;;;;;;;SAJVL,E;CAOJ","ignoreList":[]}
@@ -23,8 +23,6 @@
23
23
  font-size: var(--text-body-medium-font-size);
24
24
  font-weight: var(--text-body-medium-font-weight);
25
25
  line-height: var(--text-body-medium-line-height);
26
- padding-block: var(--spacer-1);
27
- padding-inline: var(--spacer-2);
28
26
  position: relative;
29
27
  user-select: none;
30
28
  cursor: pointer;
@@ -10,7 +10,7 @@ import { useTranslation } from '../../../../../providers/Translation/index.js';
10
10
  import { canUseDOM } from '../../../../../utilities/canUseDOM.js';
11
11
  import { formatDocTitle } from '../../../../../utilities/formatDocTitle/index.js';
12
12
  import { Button } from '../../../../Button/index.js';
13
- import { useHierarchyDrawer } from '../../../../Hierarchy/Drawer/useHierarchyDrawer.js';
13
+ import { useHierarchyModal } from '../../../../Hierarchy/Modal/useHierarchyModal.js';
14
14
  import { useListRelationships } from '../../../RelationshipProvider/index.js';
15
15
  import './index.css';
16
16
  const baseClass = 'hierarchy-cell';
@@ -60,36 +60,36 @@ export const HierarchyCell = ({
60
60
  const IconComponent = hierarchyConfig?.allowHasMany === false ? FolderIcon : TagIcon;
61
61
  return /*#__PURE__*/_jsx(IconComponent, {});
62
62
  }, [hierarchyConfig, preRenderedIcon]);
63
- // Full icon for drawer subheader
63
+ // Full icon for modal subheader
64
64
  const drawerIcon = preRenderedIcon || fallbackIcon;
65
65
  // Small icon for compact display (pill button)
66
66
  const displayIcon = preRenderedSmallIcon ?? drawerIcon;
67
- // Set up the hierarchy drawer
68
- const [HierarchyDrawer,, {
69
- openDrawer
70
- }] = useHierarchyDrawer({
67
+ // Set up the hierarchy modal
68
+ const [HierarchyModal,, {
69
+ openModal
70
+ }] = useHierarchyModal({
71
71
  hierarchyCollectionSlug: hierarchyCollectionSlug || '',
72
72
  Icon: drawerIcon
73
73
  });
74
- // Lazy-mount the drawer so its column browser doesn't eagerly fetch root items
74
+ // Lazy-mount the modal so its column browser doesn't eagerly fetch root items
75
75
  // for every cell in the list view. Only mount once the user opens it.
76
- const [hasMountedDrawer, setHasMountedDrawer] = useState(false);
76
+ const [hasMountedModal, setHasMountedModal] = useState(false);
77
77
  const shouldOpenAfterMountRef = useRef(false);
78
- const handleOpenDrawer = useCallback(() => {
79
- if (hasMountedDrawer) {
80
- openDrawer();
78
+ const handleOpenModal = useCallback(() => {
79
+ if (hasMountedModal) {
80
+ openModal();
81
81
  return;
82
82
  }
83
83
  shouldOpenAfterMountRef.current = true;
84
- setHasMountedDrawer(true);
85
- }, [hasMountedDrawer, openDrawer]);
86
- // Open the drawer once it has mounted (state update from handleOpenDrawer).
84
+ setHasMountedModal(true);
85
+ }, [hasMountedModal, openModal]);
86
+ // Open the modal once it has mounted (state update from handleOpenModal).
87
87
  useEffect(() => {
88
- if (hasMountedDrawer && shouldOpenAfterMountRef.current) {
88
+ if (hasMountedModal && shouldOpenAfterMountRef.current) {
89
89
  shouldOpenAfterMountRef.current = false;
90
- openDrawer();
90
+ openModal();
91
91
  }
92
- }, [hasMountedDrawer, openDrawer]);
92
+ }, [hasMountedModal, openModal]);
93
93
  // Fetch relationship data when visible
94
94
  useEffect(() => {
95
95
  // Reset tracking if data changed
@@ -116,7 +116,7 @@ export const HierarchyCell = ({
116
116
  setValues(formattedValues);
117
117
  }
118
118
  }, [cellDataFromProps, relationTo, isAboveViewport, getRelationships]);
119
- // Get current selection IDs for the drawer
119
+ // Get current selection IDs for the modal
120
120
  const initialSelections = useMemo(() => {
121
121
  if (!cellDataFromProps) {
122
122
  return [];
@@ -129,9 +129,9 @@ export const HierarchyCell = ({
129
129
  return item;
130
130
  });
131
131
  }, [cellDataFromProps]);
132
- // Handle save from drawer
132
+ // Handle save from modal
133
133
  const handleSave = useCallback(async ({
134
- closeDrawer,
134
+ closeModal,
135
135
  selections
136
136
  }) => {
137
137
  // Get selected IDs
@@ -162,9 +162,9 @@ export const HierarchyCell = ({
162
162
  }
163
163
  }
164
164
  } catch (_error) {
165
- // swallow error and close drawer anyway, user can try again
165
+ // swallow error and close modal anyway, user can try again
166
166
  }
167
- closeDrawer();
167
+ closeModal();
168
168
  }, [collectionSlug, config, field.name, hasMany, rowData, relationTo, getRelationships]);
169
169
  // Build display labels
170
170
  const labels = useMemo(() => {
@@ -199,10 +199,10 @@ export const HierarchyCell = ({
199
199
  icon: displayIcon,
200
200
  iconPosition: "left",
201
201
  margin: false,
202
- onClick: handleOpenDrawer,
202
+ onClick: handleOpenModal,
203
203
  size: "medium",
204
204
  children: isLoading ? `${t('general:loading')}...` : displayText
205
- }), hierarchyCollectionSlug && hasMountedDrawer && /*#__PURE__*/_jsx(HierarchyDrawer, {
205
+ }), hierarchyCollectionSlug && hasMountedModal && /*#__PURE__*/_jsx(HierarchyModal, {
206
206
  hasMany: hasMany,
207
207
  initialSelections: initialSelections,
208
208
  onSave: handleSave
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","useIntersect","FolderIcon","TagIcon","useConfig","useTranslation","canUseDOM","formatDocTitle","Button","useHierarchyDrawer","useListRelationships","baseClass","HierarchyCell","cellData","cellDataFromProps","collectionSlug","customCellProps","field","rowData","relationTo","undefined","hasMany","config","getEntityConfig","intersectionRef","entry","values","setValues","documents","getRelationships","hasRequestedRef","prevCellDataRef","i18n","t","isAboveViewport","boundingClientRect","top","window","innerHeight","hierarchyCollectionSlug","hierarchyCollectionConfig","hierarchyConfig","hierarchy","preRenderedIcon","hierarchyIcon","preRenderedSmallIcon","hierarchySmallIcon","fallbackIcon","IconComponent","allowHasMany","_jsx","drawerIcon","displayIcon","HierarchyDrawer","openDrawer","Icon","hasMountedDrawer","setHasMountedDrawer","shouldOpenAfterMountRef","handleOpenDrawer","current","formattedValues","arrayCellData","Array","isArray","forEach","cell","push","value","initialSelections","data","map","item","handleSave","closeDrawer","selections","selectedIds","from","keys","newValue","response","fetch","serverURL","routes","api","id","body","JSON","stringify","name","credentials","headers","method","ok","newValues","length","_error","labels","rel","document","relatedCollection","collectionConfig","dateFormat","admin","fallback","displayText","join","isLoading","some","_jsxs","className","ref","buttonStyle","icon","iconPosition","margin","onClick","size","onSave"],"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Hierarchy/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps, RelationshipFieldClient } from 'payload'\n\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { SelectionWithPath } from '../../../../Hierarchy/Drawer/types.js'\n\nimport { useIntersect } from '../../../../../hooks/useIntersect.js'\nimport { FolderIcon } from '../../../../../icons/Folder/index.js'\nimport { TagIcon } from '../../../../../icons/Tag/index.js'\nimport { useConfig } from '../../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport { canUseDOM } from '../../../../../utilities/canUseDOM.js'\nimport { formatDocTitle } from '../../../../../utilities/formatDocTitle/index.js'\nimport { Button } from '../../../../Button/index.js'\nimport { useHierarchyDrawer } from '../../../../Hierarchy/Drawer/useHierarchyDrawer.js'\nimport { useListRelationships } from '../../../RelationshipProvider/index.js'\nimport './index.css'\n\ntype Value = { relationTo: string; value: number | string }\nconst baseClass = 'hierarchy-cell'\n\nexport type HierarchyCellProps = DefaultCellComponentProps<RelationshipFieldClient>\n\nexport const HierarchyCell: React.FC<HierarchyCellProps> = ({\n cellData: cellDataFromProps,\n collectionSlug,\n customCellProps,\n field,\n rowData,\n}) => {\n const relationTo = 'relationTo' in field ? field.relationTo : undefined\n const hasMany = field.hasMany ?? false\n\n const { config, getEntityConfig } = useConfig()\n const [intersectionRef, entry] = useIntersect()\n const [values, setValues] = useState<Value[]>([])\n const { documents, getRelationships } = useListRelationships()\n const hasRequestedRef = useRef(false)\n const prevCellDataRef = useRef<typeof cellDataFromProps>(undefined)\n const { i18n, t } = useTranslation()\n\n const isAboveViewport = canUseDOM ? entry?.boundingClientRect?.top < window.innerHeight : false\n\n // Get the hierarchy collection config\n const hierarchyCollectionSlug = typeof relationTo === 'string' ? relationTo : undefined\n const hierarchyCollectionConfig = hierarchyCollectionSlug\n ? getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n : undefined\n\n // Use pre-rendered icon from server if available, otherwise determine on client\n const hierarchyConfig =\n hierarchyCollectionConfig?.hierarchy && typeof hierarchyCollectionConfig.hierarchy === 'object'\n ? hierarchyCollectionConfig.hierarchy\n : undefined\n\n // Pre-rendered icons from server (supports custom icons)\n const preRenderedIcon = customCellProps?.hierarchyIcon as React.ReactNode | undefined\n const preRenderedSmallIcon = customCellProps?.hierarchySmallIcon as React.ReactNode | undefined\n\n // Fallback icon for client-side rendering\n const fallbackIcon = useMemo(() => {\n if (preRenderedIcon) {\n return null // Don't need fallback if we have pre-rendered icon\n }\n // Default based on allowHasMany: false = folder-like, true = tag-like\n const IconComponent = hierarchyConfig?.allowHasMany === false ? FolderIcon : TagIcon\n return <IconComponent />\n }, [hierarchyConfig, preRenderedIcon])\n\n // Full icon for drawer subheader\n const drawerIcon = preRenderedIcon || fallbackIcon\n // Small icon for compact display (pill button)\n const displayIcon = preRenderedSmallIcon ?? drawerIcon\n\n // Set up the hierarchy drawer\n const [HierarchyDrawer, , { openDrawer }] = useHierarchyDrawer({\n hierarchyCollectionSlug: hierarchyCollectionSlug || '',\n Icon: drawerIcon,\n })\n\n // Lazy-mount the drawer so its column browser doesn't eagerly fetch root items\n // for every cell in the list view. Only mount once the user opens it.\n const [hasMountedDrawer, setHasMountedDrawer] = useState(false)\n const shouldOpenAfterMountRef = useRef(false)\n\n const handleOpenDrawer = useCallback(() => {\n if (hasMountedDrawer) {\n openDrawer()\n return\n }\n shouldOpenAfterMountRef.current = true\n setHasMountedDrawer(true)\n }, [hasMountedDrawer, openDrawer])\n\n // Open the drawer once it has mounted (state update from handleOpenDrawer).\n useEffect(() => {\n if (hasMountedDrawer && shouldOpenAfterMountRef.current) {\n shouldOpenAfterMountRef.current = false\n openDrawer()\n }\n }, [hasMountedDrawer, openDrawer])\n\n // Fetch relationship data when visible\n useEffect(() => {\n // Reset tracking if data changed\n if (prevCellDataRef.current !== cellDataFromProps) {\n prevCellDataRef.current = cellDataFromProps\n hasRequestedRef.current = false\n }\n\n if (\n (cellDataFromProps || typeof cellDataFromProps === 'number') &&\n isAboveViewport &&\n !hasRequestedRef.current &&\n typeof relationTo === 'string'\n ) {\n const formattedValues: Value[] = []\n const arrayCellData = Array.isArray(cellDataFromProps)\n ? cellDataFromProps\n : [cellDataFromProps]\n\n arrayCellData.forEach((cell) => {\n if (typeof cell === 'object' && 'relationTo' in cell && 'value' in cell) {\n formattedValues.push(cell)\n }\n if (typeof cell === 'number' || typeof cell === 'string') {\n formattedValues.push({\n relationTo,\n value: cell,\n })\n }\n })\n\n getRelationships(formattedValues)\n hasRequestedRef.current = true\n setValues(formattedValues)\n }\n }, [cellDataFromProps, relationTo, isAboveViewport, getRelationships])\n\n // Get current selection IDs for the drawer\n const initialSelections = useMemo(() => {\n if (!cellDataFromProps) {\n return []\n }\n const data = Array.isArray(cellDataFromProps) ? cellDataFromProps : [cellDataFromProps]\n return data.map((item) => {\n if (typeof item === 'object' && 'value' in item) {\n return item.value\n }\n return item\n }) as (number | string)[]\n }, [cellDataFromProps])\n\n // Handle save from drawer\n const handleSave = useCallback(\n async ({\n closeDrawer,\n selections,\n }: {\n closeDrawer: () => void\n selections: Map<number | string, SelectionWithPath>\n }) => {\n // Get selected IDs\n const selectedIds = Array.from(selections.keys())\n const newValue = hasMany ? selectedIds : (selectedIds[0] ?? null)\n\n // Update the document via API\n try {\n const response = await fetch(\n `${config.serverURL}${config.routes.api}/${collectionSlug}/${rowData.id}`,\n {\n body: JSON.stringify({\n [field.name]: newValue,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'PATCH',\n },\n )\n\n if (response.ok && typeof relationTo === 'string') {\n // Update local state with new selection to avoid page reload\n const newValues: Value[] = selectedIds.map((id) => ({\n relationTo,\n value: id,\n }))\n setValues(newValues)\n\n // Request the new relationship docs to update the display\n if (newValues.length > 0) {\n getRelationships(newValues)\n }\n }\n } catch (_error) {\n // swallow error and close drawer anyway, user can try again\n }\n\n closeDrawer()\n },\n [collectionSlug, config, field.name, hasMany, rowData, relationTo, getRelationships],\n )\n\n // Build display labels\n const labels = useMemo(() => {\n return values.map(({ relationTo: rel, value }) => {\n const document = documents[rel]?.[value]\n const relatedCollection = getEntityConfig({ collectionSlug: rel })\n\n return formatDocTitle({\n collectionConfig: relatedCollection,\n data: document || null,\n dateFormat: config.admin.dateFormat,\n fallback: `${t('general:untitled')} - ID: ${value}`,\n i18n,\n })\n })\n }, [values, documents, getEntityConfig, config.admin.dateFormat, t, i18n])\n\n const displayText = labels.length > 0 ? labels.join(', ') : t('general:none')\n const isLoading =\n values.length > 0 &&\n values.some(({ relationTo: rel, value }) => documents[rel]?.[value] === null)\n\n return (\n <div className={baseClass} ref={intersectionRef}>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__pill`}\n icon={displayIcon}\n iconPosition=\"left\"\n margin={false}\n onClick={handleOpenDrawer}\n size=\"medium\"\n >\n {isLoading ? `${t('general:loading')}...` : displayText}\n </Button>\n {hierarchyCollectionSlug && hasMountedDrawer && (\n <HierarchyDrawer\n hasMany={hasMany}\n initialSelections={initialSelections}\n onSave={handleSave}\n />\n )}\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAIzE,SAASC,YAAY,QAAQ;AAC7B,SAASC,UAAU,QAAQ;AAC3B,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,oBAAoB,QAAQ;AACrC,OAAO;AAGP,MAAMC,SAAA,GAAY;AAIlB,OAAO,MAAMC,aAAA,GAA8CA,CAAC;EAC1DC,QAAA,EAAUC,iBAAiB;EAC3BC,cAAc;EACdC,eAAe;EACfC,KAAK;EACLC;AAAO,CACR;EACC,MAAMC,UAAA,GAAa,gBAAgBF,KAAA,GAAQA,KAAA,CAAME,UAAU,GAAGC,SAAA;EAC9D,MAAMC,OAAA,GAAUJ,KAAA,CAAMI,OAAO,IAAI;EAEjC,MAAM;IAAEC,MAAM;IAAEC;EAAe,CAAE,GAAGnB,SAAA;EACpC,MAAM,CAACoB,eAAA,EAAiBC,KAAA,CAAM,GAAGxB,YAAA;EACjC,MAAM,CAACyB,MAAA,EAAQC,SAAA,CAAU,GAAG3B,QAAA,CAAkB,EAAE;EAChD,MAAM;IAAE4B,SAAS;IAAEC;EAAgB,CAAE,GAAGnB,oBAAA;EACxC,MAAMoB,eAAA,GAAkB/B,MAAA,CAAO;EAC/B,MAAMgC,eAAA,GAAkBhC,MAAA,CAAiCqB,SAAA;EACzD,MAAM;IAAEY,IAAI;IAAEC;EAAC,CAAE,GAAG5B,cAAA;EAEpB,MAAM6B,eAAA,GAAkB5B,SAAA,GAAYmB,KAAA,EAAOU,kBAAA,EAAoBC,GAAA,GAAMC,MAAA,CAAOC,WAAW,GAAG;EAE1F;EACA,MAAMC,uBAAA,GAA0B,OAAOpB,UAAA,KAAe,WAAWA,UAAA,GAAaC,SAAA;EAC9E,MAAMoB,yBAAA,GAA4BD,uBAAA,GAC9BhB,eAAA,CAAgB;IAAER,cAAA,EAAgBwB;EAAwB,KAC1DnB,SAAA;EAEJ;EACA,MAAMqB,eAAA,GACJD,yBAAA,EAA2BE,SAAA,IAAa,OAAOF,yBAAA,CAA0BE,SAAS,KAAK,WACnFF,yBAAA,CAA0BE,SAAS,GACnCtB,SAAA;EAEN;EACA,MAAMuB,eAAA,GAAkB3B,eAAA,EAAiB4B,aAAA;EACzC,MAAMC,oBAAA,GAAuB7B,eAAA,EAAiB8B,kBAAA;EAE9C;EACA,MAAMC,YAAA,GAAejD,OAAA,CAAQ;IAC3B,IAAI6C,eAAA,EAAiB;MACnB,OAAO,KAAK;AAAA;IACd;IACA;IACA,MAAMK,aAAA,GAAgBP,eAAA,EAAiBQ,YAAA,KAAiB,QAAQ/C,UAAA,GAAaC,OAAA;IAC7E,oBAAO+C,IAAA,CAACF,aAAA;EACV,GAAG,CAACP,eAAA,EAAiBE,eAAA,CAAgB;EAErC;EACA,MAAMQ,UAAA,GAAaR,eAAA,IAAmBI,YAAA;EACtC;EACA,MAAMK,WAAA,GAAcP,oBAAA,IAAwBM,UAAA;EAE5C;EACA,MAAM,CAACE,eAAA,GAAmB;IAAEC;EAAU,CAAE,CAAC,GAAG7C,kBAAA,CAAmB;IAC7D8B,uBAAA,EAAyBA,uBAAA,IAA2B;IACpDgB,IAAA,EAAMJ;EACR;EAEA;EACA;EACA,MAAM,CAACK,gBAAA,EAAkBC,mBAAA,CAAoB,GAAGzD,QAAA,CAAS;EACzD,MAAM0D,uBAAA,GAA0B3D,MAAA,CAAO;EAEvC,MAAM4D,gBAAA,GAAmB/D,WAAA,CAAY;IACnC,IAAI4D,gBAAA,EAAkB;MACpBF,UAAA;MACA;IACF;IACAI,uBAAA,CAAwBE,OAAO,GAAG;IAClCH,mBAAA,CAAoB;EACtB,GAAG,CAACD,gBAAA,EAAkBF,UAAA,CAAW;EAEjC;EACAzD,SAAA,CAAU;IACR,IAAI2D,gBAAA,IAAoBE,uBAAA,CAAwBE,OAAO,EAAE;MACvDF,uBAAA,CAAwBE,OAAO,GAAG;MAClCN,UAAA;IACF;EACF,GAAG,CAACE,gBAAA,EAAkBF,UAAA,CAAW;EAEjC;EACAzD,SAAA,CAAU;IACR;IACA,IAAIkC,eAAA,CAAgB6B,OAAO,KAAK9C,iBAAA,EAAmB;MACjDiB,eAAA,CAAgB6B,OAAO,GAAG9C,iBAAA;MAC1BgB,eAAA,CAAgB8B,OAAO,GAAG;IAC5B;IAEA,IACE,CAAC9C,iBAAA,IAAqB,OAAOA,iBAAA,KAAsB,QAAO,KAC1DoB,eAAA,IACA,CAACJ,eAAA,CAAgB8B,OAAO,IACxB,OAAOzC,UAAA,KAAe,UACtB;MACA,MAAM0C,eAAA,GAA2B,EAAE;MACnC,MAAMC,aAAA,GAAgBC,KAAA,CAAMC,OAAO,CAAClD,iBAAA,IAChCA,iBAAA,GACA,CAACA,iBAAA,CAAkB;MAEvBgD,aAAA,CAAcG,OAAO,CAAEC,IAAA;QACrB,IAAI,OAAOA,IAAA,KAAS,YAAY,gBAAgBA,IAAA,IAAQ,WAAWA,IAAA,EAAM;UACvEL,eAAA,CAAgBM,IAAI,CAACD,IAAA;QACvB;QACA,IAAI,OAAOA,IAAA,KAAS,YAAY,OAAOA,IAAA,KAAS,UAAU;UACxDL,eAAA,CAAgBM,IAAI,CAAC;YACnBhD,UAAA;YACAiD,KAAA,EAAOF;UACT;QACF;MACF;MAEArC,gBAAA,CAAiBgC,eAAA;MACjB/B,eAAA,CAAgB8B,OAAO,GAAG;MAC1BjC,SAAA,CAAUkC,eAAA;IACZ;EACF,GAAG,CAAC/C,iBAAA,EAAmBK,UAAA,EAAYe,eAAA,EAAiBL,gBAAA,CAAiB;EAErE;EACA,MAAMwC,iBAAA,GAAoBvE,OAAA,CAAQ;IAChC,IAAI,CAACgB,iBAAA,EAAmB;MACtB,OAAO,EAAE;IACX;IACA,MAAMwD,IAAA,GAAOP,KAAA,CAAMC,OAAO,CAAClD,iBAAA,IAAqBA,iBAAA,GAAoB,CAACA,iBAAA,CAAkB;IACvF,OAAOwD,IAAA,CAAKC,GAAG,CAAEC,IAAA;MACf,IAAI,OAAOA,IAAA,KAAS,YAAY,WAAWA,IAAA,EAAM;QAC/C,OAAOA,IAAA,CAAKJ,KAAK;MACnB;MACA,OAAOI,IAAA;IACT;EACF,GAAG,CAAC1D,iBAAA,CAAkB;EAEtB;EACA,MAAM2D,UAAA,GAAa7E,WAAA,CACjB,OAAO;IACL8E,WAAW;IACXC;EAAU,CAIX;IACC;IACA,MAAMC,WAAA,GAAcb,KAAA,CAAMc,IAAI,CAACF,UAAA,CAAWG,IAAI;IAC9C,MAAMC,QAAA,GAAW1D,OAAA,GAAUuD,WAAA,GAAeA,WAAW,CAAC,EAAE,IAAI;IAE5D;IACA,IAAI;MACF,MAAMI,QAAA,GAAW,MAAMC,KAAA,CACrB,GAAG3D,MAAA,CAAO4D,SAAS,GAAG5D,MAAA,CAAO6D,MAAM,CAACC,GAAG,IAAIrE,cAAA,IAAkBG,OAAA,CAAQmE,EAAE,EAAE,EACzE;QACEC,IAAA,EAAMC,IAAA,CAAKC,SAAS,CAAC;UACnB,CAACvE,KAAA,CAAMwE,IAAI,GAAGV;QAChB;QACAW,WAAA,EAAa;QACbC,OAAA,EAAS;UACP,gBAAgB;QAClB;QACAC,MAAA,EAAQ;MACV;MAGF,IAAIZ,QAAA,CAASa,EAAE,IAAI,OAAO1E,UAAA,KAAe,UAAU;QACjD;QACA,MAAM2E,SAAA,GAAqBlB,WAAA,CAAYL,GAAG,CAAEc,EAAA,KAAQ;UAClDlE,UAAA;UACAiD,KAAA,EAAOiB;QACT;QACA1D,SAAA,CAAUmE,SAAA;QAEV;QACA,IAAIA,SAAA,CAAUC,MAAM,GAAG,GAAG;UACxBlE,gBAAA,CAAiBiE,SAAA;QACnB;MACF;IACF,EAAE,OAAOE,MAAA,EAAQ;MACf;IAAA;IAGFtB,WAAA;EACF,GACA,CAAC3D,cAAA,EAAgBO,MAAA,EAAQL,KAAA,CAAMwE,IAAI,EAAEpE,OAAA,EAASH,OAAA,EAASC,UAAA,EAAYU,gBAAA,CAAiB;EAGtF;EACA,MAAMoE,MAAA,GAASnG,OAAA,CAAQ;IACrB,OAAO4B,MAAA,CAAO6C,GAAG,CAAC,CAAC;MAAEpD,UAAA,EAAY+E,GAAG;MAAE9B;IAAK,CAAE;MAC3C,MAAM+B,QAAA,GAAWvE,SAAS,CAACsE,GAAA,CAAI,GAAG9B,KAAA,CAAM;MACxC,MAAMgC,iBAAA,GAAoB7E,eAAA,CAAgB;QAAER,cAAA,EAAgBmF;MAAI;MAEhE,OAAO3F,cAAA,CAAe;QACpB8F,gBAAA,EAAkBD,iBAAA;QAClB9B,IAAA,EAAM6B,QAAA,IAAY;QAClBG,UAAA,EAAYhF,MAAA,CAAOiF,KAAK,CAACD,UAAU;QACnCE,QAAA,EAAU,GAAGvE,CAAA,CAAE,6BAA6BmC,KAAA,EAAO;QACnDpC;MACF;IACF;EACF,GAAG,CAACN,MAAA,EAAQE,SAAA,EAAWL,eAAA,EAAiBD,MAAA,CAAOiF,KAAK,CAACD,UAAU,EAAErE,CAAA,EAAGD,IAAA,CAAK;EAEzE,MAAMyE,WAAA,GAAcR,MAAA,CAAOF,MAAM,GAAG,IAAIE,MAAA,CAAOS,IAAI,CAAC,QAAQzE,CAAA,CAAE;EAC9D,MAAM0E,SAAA,GACJjF,MAAA,CAAOqE,MAAM,GAAG,KAChBrE,MAAA,CAAOkF,IAAI,CAAC,CAAC;IAAEzF,UAAA,EAAY+E,KAAG;IAAE9B,KAAK,EAALA;EAAK,CAAE,KAAKxC,SAAS,CAACsE,KAAA,CAAI,GAAG9B,OAAA,CAAM,KAAK;EAE1E,oBACEyC,KAAA,CAAC;IAAIC,SAAA,EAAWnG,SAAA;IAAWoG,GAAA,EAAKvF,eAAA;4BAC9B0B,IAAA,CAAC1C,MAAA;MACCwG,WAAA,EAAY;MACZF,SAAA,EAAW,GAAGnG,SAAA,QAAiB;MAC/BsG,IAAA,EAAM7D,WAAA;MACN8D,YAAA,EAAa;MACbC,MAAA,EAAQ;MACRC,OAAA,EAASzD,gBAAA;MACT0D,IAAA,EAAK;gBAEJV,SAAA,GAAY,GAAG1E,CAAA,CAAE,uBAAuB,GAAGwE;QAE7ClE,uBAAA,IAA2BiB,gBAAA,iBAC1BN,IAAA,CAACG,eAAA;MACChC,OAAA,EAASA,OAAA;MACTgD,iBAAA,EAAmBA,iBAAA;MACnBiD,MAAA,EAAQ7C;;;AAKlB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","useIntersect","FolderIcon","TagIcon","useConfig","useTranslation","canUseDOM","formatDocTitle","Button","useHierarchyModal","useListRelationships","baseClass","HierarchyCell","cellData","cellDataFromProps","collectionSlug","customCellProps","field","rowData","relationTo","undefined","hasMany","config","getEntityConfig","intersectionRef","entry","values","setValues","documents","getRelationships","hasRequestedRef","prevCellDataRef","i18n","t","isAboveViewport","boundingClientRect","top","window","innerHeight","hierarchyCollectionSlug","hierarchyCollectionConfig","hierarchyConfig","hierarchy","preRenderedIcon","hierarchyIcon","preRenderedSmallIcon","hierarchySmallIcon","fallbackIcon","IconComponent","allowHasMany","_jsx","drawerIcon","displayIcon","HierarchyModal","openModal","Icon","hasMountedModal","setHasMountedModal","shouldOpenAfterMountRef","handleOpenModal","current","formattedValues","arrayCellData","Array","isArray","forEach","cell","push","value","initialSelections","data","map","item","handleSave","closeModal","selections","selectedIds","from","keys","newValue","response","fetch","serverURL","routes","api","id","body","JSON","stringify","name","credentials","headers","method","ok","newValues","length","_error","labels","rel","document","relatedCollection","collectionConfig","dateFormat","admin","fallback","displayText","join","isLoading","some","_jsxs","className","ref","buttonStyle","icon","iconPosition","margin","onClick","size","onSave"],"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Hierarchy/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps, RelationshipFieldClient } from 'payload'\n\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { SelectionWithPath } from '../../../../Hierarchy/Modal/types.js'\n\nimport { useIntersect } from '../../../../../hooks/useIntersect.js'\nimport { FolderIcon } from '../../../../../icons/Folder/index.js'\nimport { TagIcon } from '../../../../../icons/Tag/index.js'\nimport { useConfig } from '../../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport { canUseDOM } from '../../../../../utilities/canUseDOM.js'\nimport { formatDocTitle } from '../../../../../utilities/formatDocTitle/index.js'\nimport { Button } from '../../../../Button/index.js'\nimport { useHierarchyModal } from '../../../../Hierarchy/Modal/useHierarchyModal.js'\nimport { useListRelationships } from '../../../RelationshipProvider/index.js'\nimport './index.css'\n\ntype Value = { relationTo: string; value: number | string }\nconst baseClass = 'hierarchy-cell'\n\nexport type HierarchyCellProps = DefaultCellComponentProps<RelationshipFieldClient>\n\nexport const HierarchyCell: React.FC<HierarchyCellProps> = ({\n cellData: cellDataFromProps,\n collectionSlug,\n customCellProps,\n field,\n rowData,\n}) => {\n const relationTo = 'relationTo' in field ? field.relationTo : undefined\n const hasMany = field.hasMany ?? false\n\n const { config, getEntityConfig } = useConfig()\n const [intersectionRef, entry] = useIntersect()\n const [values, setValues] = useState<Value[]>([])\n const { documents, getRelationships } = useListRelationships()\n const hasRequestedRef = useRef(false)\n const prevCellDataRef = useRef<typeof cellDataFromProps>(undefined)\n const { i18n, t } = useTranslation()\n\n const isAboveViewport = canUseDOM ? entry?.boundingClientRect?.top < window.innerHeight : false\n\n // Get the hierarchy collection config\n const hierarchyCollectionSlug = typeof relationTo === 'string' ? relationTo : undefined\n const hierarchyCollectionConfig = hierarchyCollectionSlug\n ? getEntityConfig({ collectionSlug: hierarchyCollectionSlug })\n : undefined\n\n // Use pre-rendered icon from server if available, otherwise determine on client\n const hierarchyConfig =\n hierarchyCollectionConfig?.hierarchy && typeof hierarchyCollectionConfig.hierarchy === 'object'\n ? hierarchyCollectionConfig.hierarchy\n : undefined\n\n // Pre-rendered icons from server (supports custom icons)\n const preRenderedIcon = customCellProps?.hierarchyIcon as React.ReactNode | undefined\n const preRenderedSmallIcon = customCellProps?.hierarchySmallIcon as React.ReactNode | undefined\n\n // Fallback icon for client-side rendering\n const fallbackIcon = useMemo(() => {\n if (preRenderedIcon) {\n return null // Don't need fallback if we have pre-rendered icon\n }\n // Default based on allowHasMany: false = folder-like, true = tag-like\n const IconComponent = hierarchyConfig?.allowHasMany === false ? FolderIcon : TagIcon\n return <IconComponent />\n }, [hierarchyConfig, preRenderedIcon])\n\n // Full icon for modal subheader\n const drawerIcon = preRenderedIcon || fallbackIcon\n // Small icon for compact display (pill button)\n const displayIcon = preRenderedSmallIcon ?? drawerIcon\n\n // Set up the hierarchy modal\n const [HierarchyModal, , { openModal }] = useHierarchyModal({\n hierarchyCollectionSlug: hierarchyCollectionSlug || '',\n Icon: drawerIcon,\n })\n\n // Lazy-mount the modal so its column browser doesn't eagerly fetch root items\n // for every cell in the list view. Only mount once the user opens it.\n const [hasMountedModal, setHasMountedModal] = useState(false)\n const shouldOpenAfterMountRef = useRef(false)\n\n const handleOpenModal = useCallback(() => {\n if (hasMountedModal) {\n openModal()\n return\n }\n shouldOpenAfterMountRef.current = true\n setHasMountedModal(true)\n }, [hasMountedModal, openModal])\n\n // Open the modal once it has mounted (state update from handleOpenModal).\n useEffect(() => {\n if (hasMountedModal && shouldOpenAfterMountRef.current) {\n shouldOpenAfterMountRef.current = false\n openModal()\n }\n }, [hasMountedModal, openModal])\n\n // Fetch relationship data when visible\n useEffect(() => {\n // Reset tracking if data changed\n if (prevCellDataRef.current !== cellDataFromProps) {\n prevCellDataRef.current = cellDataFromProps\n hasRequestedRef.current = false\n }\n\n if (\n (cellDataFromProps || typeof cellDataFromProps === 'number') &&\n isAboveViewport &&\n !hasRequestedRef.current &&\n typeof relationTo === 'string'\n ) {\n const formattedValues: Value[] = []\n const arrayCellData = Array.isArray(cellDataFromProps)\n ? cellDataFromProps\n : [cellDataFromProps]\n\n arrayCellData.forEach((cell) => {\n if (typeof cell === 'object' && 'relationTo' in cell && 'value' in cell) {\n formattedValues.push(cell)\n }\n if (typeof cell === 'number' || typeof cell === 'string') {\n formattedValues.push({\n relationTo,\n value: cell,\n })\n }\n })\n\n getRelationships(formattedValues)\n hasRequestedRef.current = true\n setValues(formattedValues)\n }\n }, [cellDataFromProps, relationTo, isAboveViewport, getRelationships])\n\n // Get current selection IDs for the modal\n const initialSelections = useMemo(() => {\n if (!cellDataFromProps) {\n return []\n }\n const data = Array.isArray(cellDataFromProps) ? cellDataFromProps : [cellDataFromProps]\n return data.map((item) => {\n if (typeof item === 'object' && 'value' in item) {\n return item.value\n }\n return item\n }) as (number | string)[]\n }, [cellDataFromProps])\n\n // Handle save from modal\n const handleSave = useCallback(\n async ({\n closeModal,\n selections,\n }: {\n closeModal: () => void\n selections: Map<number | string, SelectionWithPath>\n }) => {\n // Get selected IDs\n const selectedIds = Array.from(selections.keys())\n const newValue = hasMany ? selectedIds : (selectedIds[0] ?? null)\n\n // Update the document via API\n try {\n const response = await fetch(\n `${config.serverURL}${config.routes.api}/${collectionSlug}/${rowData.id}`,\n {\n body: JSON.stringify({\n [field.name]: newValue,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'PATCH',\n },\n )\n\n if (response.ok && typeof relationTo === 'string') {\n // Update local state with new selection to avoid page reload\n const newValues: Value[] = selectedIds.map((id) => ({\n relationTo,\n value: id,\n }))\n setValues(newValues)\n\n // Request the new relationship docs to update the display\n if (newValues.length > 0) {\n getRelationships(newValues)\n }\n }\n } catch (_error) {\n // swallow error and close modal anyway, user can try again\n }\n\n closeModal()\n },\n [collectionSlug, config, field.name, hasMany, rowData, relationTo, getRelationships],\n )\n\n // Build display labels\n const labels = useMemo(() => {\n return values.map(({ relationTo: rel, value }) => {\n const document = documents[rel]?.[value]\n const relatedCollection = getEntityConfig({ collectionSlug: rel })\n\n return formatDocTitle({\n collectionConfig: relatedCollection,\n data: document || null,\n dateFormat: config.admin.dateFormat,\n fallback: `${t('general:untitled')} - ID: ${value}`,\n i18n,\n })\n })\n }, [values, documents, getEntityConfig, config.admin.dateFormat, t, i18n])\n\n const displayText = labels.length > 0 ? labels.join(', ') : t('general:none')\n const isLoading =\n values.length > 0 &&\n values.some(({ relationTo: rel, value }) => documents[rel]?.[value] === null)\n\n return (\n <div className={baseClass} ref={intersectionRef}>\n <Button\n buttonStyle=\"pill\"\n className={`${baseClass}__pill`}\n icon={displayIcon}\n iconPosition=\"left\"\n margin={false}\n onClick={handleOpenModal}\n size=\"medium\"\n >\n {isLoading ? `${t('general:loading')}...` : displayText}\n </Button>\n {hierarchyCollectionSlug && hasMountedModal && (\n <HierarchyModal\n hasMany={hasMany}\n initialSelections={initialSelections}\n onSave={handleSave}\n />\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,7 @@ export declare const cellComponents: {
6
6
  date: import("react").FC<import("payload").DefaultCellComponentProps<{
7
7
  accessor?: string;
8
8
  } & {
9
- admin?: import("payload").AdminClient & Pick<import("payload").DateField["admin"], "date" | "placeholder">;
9
+ admin?: import("payload").AdminClient & Pick<import("payload").DateField['admin'], 'date' | 'placeholder'>;
10
10
  timezone?: ({
11
11
  required?: boolean;
12
12
  supportedTimezones?: import("payload").Timezone[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/Table/DefaultCell/fields/index.tsx"],"names":[],"mappings":"AAaA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;CAe1B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/Table/DefaultCell/fields/index.tsx"],"names":[],"mappings":"AAaA,eAAO,MAAM,cAAc;IACzB,KAAK;IACL,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,IAAI;;;;;;;;;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,YAAY;IACZ,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;CACP,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrderableRow.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/OrderableRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IACjD,QAAQ,CAAC,aAAa,CAAC,EAAE,2BAA2B,CAAA;IACpD,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAA;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAChC,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAA;AAEvC,eAAO,MAAM,YAAY,GAAI,qEAO1B,KAAK,gCA+BP,CAAA"}
1
+ {"version":3,"file":"OrderableRow.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/OrderableRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IACjD,QAAQ,CAAC,aAAa,CAAC,EAAE,2BAA2B,CAAA;IACpD,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAA;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAChC,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAA;AAEvC,eAAO,MAAM,YAAY,wEAOtB,KAAK,gCA+BP,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrderableRowDragPreview.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/OrderableRowDragPreview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,gCAAgC,KAAK,gCAO1E,CAAA"}
1
+ {"version":3,"file":"OrderableRowDragPreview.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/OrderableRowDragPreview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,uBAAuB,mCAAoC,KAAK,gCAO1E,CAAA"}
@@ -84,6 +84,18 @@
84
84
  text-align: center;
85
85
  }
86
86
 
87
+ /* Size the locked-row lock icon to the checkbox's 16px box (keeping the column
88
+ * width stable) and center it like the checkbox; the larger icon overflows. */
89
+ .cell-_select .locked {
90
+ display: flex;
91
+ height: var(--spacer-3);
92
+ width: var(--spacer-3);
93
+
94
+ svg {
95
+ flex-shrink: 0;
96
+ }
97
+ }
98
+
87
99
  #heading-_dragHandle {
88
100
  display: flex;
89
101
  align-items: center;
@@ -99,6 +111,12 @@
99
111
  vertical-align: middle;
100
112
  }
101
113
 
114
+ .cell-_dragHandle > div {
115
+ display: flex;
116
+ align-items: center;
117
+ justify-content: center;
118
+ }
119
+
102
120
  tbody tr {
103
121
  position: relative;
104
122
  border-top: var(--stroke-width-small) solid var(--color-border);
@@ -131,6 +149,8 @@
131
149
  /* Condensed appearance */
132
150
  .table--appearance-condensed {
133
151
  border-radius: var(--radius-medium);
152
+ scrollbar-width: thin;
153
+ scrollbar-color: var(--scrollbar-color) transparent;
134
154
 
135
155
  table {
136
156
  border-collapse: collapse;
@@ -200,16 +220,19 @@
200
220
  padding: 0;
201
221
  }
202
222
 
203
- > :is(a, button) {
223
+ > :is(a, button, .drawer-link) {
204
224
  display: flex;
205
225
  align-items: center;
206
226
  width: 100%;
207
227
  padding: 0 var(--spacer-2-5);
208
228
  min-height: var(--spacer-5);
229
+ }
230
+
231
+ > :is(a, button) {
209
232
  cursor: pointer;
210
233
  }
211
234
 
212
- &:first-child > :is(a, button) {
235
+ &:first-child > :is(a, button, .drawer-link) {
213
236
  padding-inline-start: var(--spacer-2-5);
214
237
  }
215
238
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Tabs/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,OAAO,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACtD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,MAAM,SAAS,MAAM,GAAG,MAAM,EAAE,uCAKlD,SAAS,CAAC,MAAM,CAAC,sBAgBnB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,CAaA,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAiCA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Tabs/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,OAAO,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACtD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,MAAM,SAAS,MAAM,GAAG,MAAM,yCAKhD,SAAS,CAAC,MAAM,CAAC,sBAgBnB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,CAaA,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAiCA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createThumbnail.d.ts","sourceRoot":"","sources":["../../../src/elements/Thumbnail/createThumbnail.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,IAAI,KAAG,OAAO,CAAC,MAAM,CAoD1D,CAAA"}
1
+ {"version":3,"file":"createThumbnail.d.ts","sourceRoot":"","sources":["../../../src/elements/Thumbnail/createThumbnail.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,eAAe,SAAU,IAAI,KAAG,OAAO,CAAC,MAAM,CAoD1D,CAAA"}
@@ -6,7 +6,7 @@
6
6
  align-items: center;
7
7
  position: relative;
8
8
 
9
- --field-min-height: var(--text-body-medium-line-height);
9
+ --field-min-height-large: var(--text-body-medium-line-height);
10
10
 
11
11
  .shimmer-effect {
12
12
  max-width: calc(2 * var(--spacer-4));
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAyB,EAAe,MAAM,SAAS,CAAA;AAIhF,OAAO,KAA6D,MAAM,OAAO,CAAA;AAkBjF,OAAO,aAAa,CAAA;AAIpB,OAAO,EAAE,kBAAkB,EAAsB,MAAM,+BAA+B,CAAA;AAEtF,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAG7B,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAc9C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,qEAK3B,iBAAiB,sBAkDnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IAC1D,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1C,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAYxC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAyB,EAAe,MAAM,SAAS,CAAA;AAIhF,OAAO,KAA6D,MAAM,OAAO,CAAA;AAkBjF,OAAO,aAAa,CAAA;AAIpB,OAAO,EAAE,kBAAkB,EAAsB,MAAM,+BAA+B,CAAA;AAEtF,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAG7B,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAc9C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,aAAa,wEAKvB,iBAAiB,sBAkDnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IAC1D,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1C,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAYxC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/UserMenu/SubMenuHeader/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,CAgBA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/UserMenu/SubMenuHeader/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,CAiBA,CAAA"}
@@ -3,7 +3,6 @@
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import React from 'react';
5
5
  import { ChevronIcon } from '../../../icons/Chevron/index.js';
6
- import { Button } from '../../Button/index.js';
7
6
  import { MenuSeparator } from '../../MenuSeparator/index.js';
8
7
  export const SubMenuHeader = ({
9
8
  onBack,
@@ -13,18 +12,18 @@ export const SubMenuHeader = ({
13
12
  "data-popup-prevent-close": true,
14
13
  children: [/*#__PURE__*/_jsx("div", {
15
14
  className: "user-menu__submenu-header-wrap",
16
- children: /*#__PURE__*/_jsxs("div", {
15
+ children: /*#__PURE__*/_jsxs("button", {
16
+ "aria-label": title,
17
17
  className: "user-menu__submenu-header-row",
18
- children: [/*#__PURE__*/_jsx(Button, {
19
- "aria-label": title,
20
- buttonStyle: "ghost",
18
+ onClick: onBack,
19
+ type: "button",
20
+ children: [/*#__PURE__*/_jsx("span", {
21
21
  className: "user-menu__submenu-back",
22
- icon: /*#__PURE__*/_jsx(ChevronIcon, {
22
+ children: /*#__PURE__*/_jsx(ChevronIcon, {
23
23
  direction: "left",
24
24
  size: 24
25
- }),
26
- onClick: onBack
27
- }), /*#__PURE__*/_jsx("p", {
25
+ })
26
+ }), /*#__PURE__*/_jsx("span", {
28
27
  className: "user-menu__submenu-title",
29
28
  children: title
30
29
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","ChevronIcon","Button","MenuSeparator","SubMenuHeader","onBack","title","_jsxs","className","_jsx","buttonStyle","icon","direction","size","onClick"],"sources":["../../../../src/elements/UserMenu/SubMenuHeader/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { Button } from '../../Button/index.js'\nimport { MenuSeparator } from '../../MenuSeparator/index.js'\n\nexport const SubMenuHeader: React.FC<{\n readonly onBack: () => void\n readonly title: string\n}> = ({ onBack, title }) => (\n <div className=\"user-menu__submenu-header\" data-popup-prevent-close>\n <div className=\"user-menu__submenu-header-wrap\">\n <div className=\"user-menu__submenu-header-row\">\n <Button\n aria-label={title}\n buttonStyle=\"ghost\"\n className=\"user-menu__submenu-back\"\n icon={<ChevronIcon direction=\"left\" size={24} />}\n onClick={onBack}\n />\n <p className=\"user-menu__submenu-title\">{title}</p>\n </div>\n </div>\n <MenuSeparator />\n </div>\n)\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,MAAW;AAElB,SAASC,WAAW,QAAQ;AAC5B,SAASC,MAAM,QAAQ;AACvB,SAASC,aAAa,QAAQ;AAE9B,OAAO,MAAMC,aAAA,GAGRA,CAAC;EAAEC,MAAM;EAAEC;AAAK,CAAE,kBACrBC,KAAA,CAAC;EAAIC,SAAA,EAAU;EAA4B,0BAAwB;0BACjEC,IAAA,CAAC;IAAID,SAAA,EAAU;cACb,aAAAD,KAAA,CAAC;MAAIC,SAAA,EAAU;8BACbC,IAAA,CAACP,MAAA;QACC,cAAYI,KAAA;QACZI,WAAA,EAAY;QACZF,SAAA,EAAU;QACVG,IAAA,eAAMF,IAAA,CAACR,WAAA;UAAYW,SAAA,EAAU;UAAOC,IAAA,EAAM;;QAC1CC,OAAA,EAAST;uBAEXI,IAAA,CAAC;QAAED,SAAA,EAAU;kBAA4BF;;;mBAG7CG,IAAA,CAACN,aAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","ChevronIcon","MenuSeparator","SubMenuHeader","onBack","title","_jsxs","className","_jsx","onClick","type","direction","size"],"sources":["../../../../src/elements/UserMenu/SubMenuHeader/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { MenuSeparator } from '../../MenuSeparator/index.js'\n\nexport const SubMenuHeader: React.FC<{\n readonly onBack: () => void\n readonly title: string\n}> = ({ onBack, title }) => (\n <div className=\"user-menu__submenu-header\" data-popup-prevent-close>\n <div className=\"user-menu__submenu-header-wrap\">\n <button\n aria-label={title}\n className=\"user-menu__submenu-header-row\"\n onClick={onBack}\n type=\"button\"\n >\n <span className=\"user-menu__submenu-back\">\n <ChevronIcon direction=\"left\" size={24} />\n </span>\n <span className=\"user-menu__submenu-title\">{title}</span>\n </button>\n </div>\n <MenuSeparator />\n </div>\n)\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,MAAW;AAElB,SAASC,WAAW,QAAQ;AAC5B,SAASC,aAAa,QAAQ;AAE9B,OAAO,MAAMC,aAAA,GAGRA,CAAC;EAAEC,MAAM;EAAEC;AAAK,CAAE,kBACrBC,KAAA,CAAC;EAAIC,SAAA,EAAU;EAA4B,0BAAwB;0BACjEC,IAAA,CAAC;IAAID,SAAA,EAAU;cACb,aAAAD,KAAA,CAAC;MACC,cAAYD,KAAA;MACZE,SAAA,EAAU;MACVE,OAAA,EAASL,MAAA;MACTM,IAAA,EAAK;8BAELF,IAAA,CAAC;QAAKD,SAAA,EAAU;kBACd,aAAAC,IAAA,CAACP,WAAA;UAAYU,SAAA,EAAU;UAAOC,IAAA,EAAM;;uBAEtCJ,IAAA,CAAC;QAAKD,SAAA,EAAU;kBAA4BF;;;mBAGhDG,IAAA,CAACN,aAAA","ignoreList":[]}
@@ -67,11 +67,36 @@
67
67
  display: flex;
68
68
  align-items: center;
69
69
  gap: var(--spacer-1);
70
+ width: 100%;
71
+ padding: 0 var(--spacer-1);
72
+ background-color: transparent;
73
+ border: 0;
74
+ cursor: pointer;
75
+ text-align: inherit;
76
+ border-radius: var(--popup-item-radius);
77
+ color: var(--popup-item-color, var(--color-text));
78
+ }
79
+
80
+ .user-menu__submenu-header-row:focus-visible {
81
+ outline: var(--accessibility-outline);
82
+ outline-offset: -1px;
83
+ }
84
+
85
+ .user-menu__submenu-header-row:hover {
86
+ outline: none;
87
+ background-color: var(--popup-item-bg-hover, var(--color-bg-transparent-hover));
88
+ color: var(--popup-item-color-hover, var(--color-text-onselected-strong));
89
+ }
90
+
91
+ .user-menu__submenu-back {
92
+ display: flex;
93
+ align-items: center;
94
+ justify-content: center;
70
95
  }
71
96
 
72
97
  .user-menu__submenu-title {
73
98
  margin: 0;
74
- color: var(--color-text);
99
+ color: inherit;
75
100
  font-family: var(--text-body-medium-font-family);
76
101
  font-size: var(--text-body-medium-font-size);
77
102
  font-weight: var(--text-body-medium-font-weight);
@@ -3,6 +3,7 @@ import type { UserMenuSettingsGroup } from './SettingsMenu/index.js';
3
3
  import './index.css';
4
4
  type UserMenuProps = {
5
5
  CustomAvatar?: React.ReactNode;
6
+ CustomLogoutButton?: React.ReactNode;
6
7
  settingsItemGroups?: UserMenuSettingsGroup[];
7
8
  };
8
9
  export declare const UserMenu: React.FC<UserMenuProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/UserMenu/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAcpE,OAAO,aAAa,CAAA;AAIpB,KAAK,aAAa,GAAG;IACnB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,CAAA;CAC7C,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAyJ5C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/UserMenu/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAcpE,OAAO,aAAa,CAAA;AAIpB,KAAK,aAAa,GAAG;IACnB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACpC,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,CAAA;CAC7C,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA+J5C,CAAA"}
@@ -23,6 +23,7 @@ export const UserMenu = t0 => {
23
23
  const $ = _c(7);
24
24
  const {
25
25
  CustomAvatar,
26
+ CustomLogoutButton,
26
27
  settingsItemGroups: t1
27
28
  } = t0;
28
29
  const settingsItemGroups = t1 === undefined ? [] : t1;
@@ -189,7 +190,7 @@ export const UserMenu = t0 => {
189
190
  })
190
191
  }), _jsx(MenuSeparator, {})]
191
192
  }), _jsx(PopupList.MenuItem, {
192
- children: _jsx(PopupList.Button, {
193
+ children: CustomLogoutButton ?? _jsx(PopupList.Button, {
193
194
  href: logoutHref,
194
195
  icon: _jsx(LogOutIcon, {}),
195
196
  children: t("authentication:logOut")
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useWindowInfo","formatAdminURL","React","useEffect","useState","Account","LogOutIcon","useAuth","useConfig","useTranslation","MenuSeparator","Popup","PopupList","RenderCustomComponent","LanguageMenu","LanguageMenuContent","SettingsMenu","SettingsMenuContent","SubMenuHeader","ThemeMenu","ThemeMenuContent","baseClass","UserMenu","t0","$","CustomAvatar","settingsItemGroups","t1","undefined","user","languageOptions","t","config","t2","getEntityConfig","admin","t3","routes","t4","t5","theme","adminTheme","userSlug","account","accountRoute","logout","logoutRoute","adminRoute","breakpoints","t6","s","smallBreak","isMobile","Boolean","activeMobileSubmenu","setActiveMobileSubmenu","t7","t8","userCollectionConfig","collectionSlug","useAsTitle","titleValue","titleString","identifier","username","email","hasMultipleLanguages","Array","isArray","length","showThemeMenu","hasSettingsItems","some","_temp","showPreferencesGroup","logoutHref","path","accountHref","t9","Symbol","for","t10","t11","active","ariaProps","_jsx","className","filter","join","type","children","CustomComponent","Fallback","caret","horizontalAlign","onToggleClose","renderButton","verticalAlign","_jsxs","_Fragment","onBack","title","groups","href","ButtonGroup","onMobileOpen","MenuItem","Button","icon","group","items"],"sources":["../../../src/elements/UserMenu/index.tsx"],"sourcesContent":["'use client'\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useEffect, useState } from 'react'\n\nimport type { UserMenuSettingsGroup } from './SettingsMenu/index.js'\n\nimport { Account } from '../../graphics/Account/index.js'\nimport { LogOutIcon } from '../../icons/LogOut/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { MenuSeparator } from '../MenuSeparator/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { RenderCustomComponent } from '../RenderCustomComponent/index.js'\nimport { LanguageMenu, LanguageMenuContent } from './LanguageMenu/index.js'\nimport { SettingsMenu, SettingsMenuContent } from './SettingsMenu/index.js'\nimport { SubMenuHeader } from './SubMenuHeader/index.js'\nimport { ThemeMenu, ThemeMenuContent } from './ThemeMenu/index.js'\nimport './index.css'\n\nconst baseClass = 'user-menu'\n\ntype UserMenuProps = {\n CustomAvatar?: React.ReactNode\n settingsItemGroups?: UserMenuSettingsGroup[]\n}\n\nexport const UserMenu: React.FC<UserMenuProps> = ({ CustomAvatar, settingsItemGroups = [] }) => {\n const { user } = useAuth()\n const { languageOptions, t } = useTranslation()\n const {\n config: {\n admin: {\n routes: { account: accountRoute, logout: logoutRoute },\n theme: adminTheme,\n user: userSlug,\n },\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const isMobile = Boolean(smallBreak)\n\n const [activeMobileSubmenu, setActiveMobileSubmenu] = useState<\n 'language' | 'settings' | 'theme' | null\n >(null)\n\n useEffect(() => {\n if (!isMobile) {\n setActiveMobileSubmenu(null)\n }\n }, [isMobile])\n\n const userCollectionConfig = getEntityConfig({ collectionSlug: userSlug })\n const useAsTitle = userCollectionConfig?.admin?.useAsTitle ?? 'email'\n const titleValue =\n useAsTitle !== 'email' && user ? (user as Record<string, unknown>)[useAsTitle] : undefined\n const titleString = typeof titleValue === 'string' ? titleValue : undefined\n\n const identifier = user?.username ?? user?.email ?? ''\n const hasMultipleLanguages = Array.isArray(languageOptions) && languageOptions.length > 1\n const showThemeMenu = adminTheme === 'all'\n const hasSettingsItems = settingsItemGroups.some((group) => group.items.length > 0)\n const showPreferencesGroup = showThemeMenu || hasMultipleLanguages\n\n const logoutHref = formatAdminURL({ adminRoute, path: logoutRoute })\n const accountHref = formatAdminURL({ adminRoute, path: accountRoute })\n\n return (\n <Popup\n caret={false}\n className={baseClass}\n horizontalAlign=\"right\"\n onToggleClose={() => setActiveMobileSubmenu(null)}\n renderButton={({ active, ...ariaProps }) => (\n <button\n {...ariaProps}\n aria-label={t('authentication:account')}\n className={[`${baseClass}__trigger`, active && `${baseClass}__trigger--active`]\n .filter(Boolean)\n .join(' ')}\n type=\"button\"\n >\n <RenderCustomComponent CustomComponent={CustomAvatar} Fallback={<Account />} />\n </button>\n )}\n size=\"large\"\n theme=\"dark\"\n verticalAlign=\"bottom\"\n >\n {isMobile && activeMobileSubmenu ? (\n // Mobile submenu panel\n <>\n {activeMobileSubmenu === 'theme' && (\n <>\n <SubMenuHeader\n onBack={() => setActiveMobileSubmenu(null)}\n title={t('general:theme')}\n />\n <ThemeMenuContent />\n </>\n )}\n {activeMobileSubmenu === 'language' && (\n <>\n <SubMenuHeader\n onBack={() => setActiveMobileSubmenu(null)}\n title={t('general:language')}\n />\n <LanguageMenuContent />\n </>\n )}\n {activeMobileSubmenu === 'settings' && (\n <>\n <SubMenuHeader\n onBack={() => setActiveMobileSubmenu(null)}\n title={t('general:settings')}\n />\n <SettingsMenuContent groups={settingsItemGroups} />\n </>\n )}\n </>\n ) : (\n // Normal menu content (desktop always; mobile when no active submenu)\n <>\n {/* Profile header */}\n <a className={`${baseClass}__profile`} href={accountHref}>\n <div className={`${baseClass}__avatar`}>\n <RenderCustomComponent CustomComponent={CustomAvatar} Fallback={<Account />} />\n </div>\n <div>\n {titleString && <p className={`${baseClass}__name`}>{titleString}</p>}\n {identifier && <p className={`${baseClass}__identifier`}>{identifier}</p>}\n </div>\n </a>\n\n {/* Preferences group: Theme + Language */}\n {showPreferencesGroup && (\n <PopupList.ButtonGroup>\n {showThemeMenu && (\n <ThemeMenu\n onMobileOpen={isMobile ? () => setActiveMobileSubmenu('theme') : undefined}\n />\n )}\n {hasMultipleLanguages && (\n <LanguageMenu\n onMobileOpen={isMobile ? () => setActiveMobileSubmenu('language') : undefined}\n />\n )}\n </PopupList.ButtonGroup>\n )}\n\n <MenuSeparator />\n\n {/* Settings group */}\n {hasSettingsItems && (\n <>\n <PopupList.ButtonGroup>\n <SettingsMenu\n groups={settingsItemGroups}\n onMobileOpen={isMobile ? () => setActiveMobileSubmenu('settings') : undefined}\n />\n </PopupList.ButtonGroup>\n <MenuSeparator />\n </>\n )}\n\n {/* Account actions */}\n <PopupList.MenuItem>\n <PopupList.Button href={logoutHref} icon={<LogOutIcon />}>\n {t('authentication:logOut')}\n </PopupList.Button>\n </PopupList.MenuItem>\n </>\n )}\n </Popup>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useWindowInfo","formatAdminURL","React","useEffect","useState","Account","LogOutIcon","useAuth","useConfig","useTranslation","MenuSeparator","Popup","PopupList","RenderCustomComponent","LanguageMenu","LanguageMenuContent","SettingsMenu","SettingsMenuContent","SubMenuHeader","ThemeMenu","ThemeMenuContent","baseClass","UserMenu","t0","$","CustomAvatar","CustomLogoutButton","settingsItemGroups","t1","undefined","user","languageOptions","t","config","t2","getEntityConfig","admin","t3","routes","t4","t5","theme","adminTheme","userSlug","account","accountRoute","logout","logoutRoute","adminRoute","breakpoints","t6","s","smallBreak","isMobile","Boolean","activeMobileSubmenu","setActiveMobileSubmenu","t7","t8","userCollectionConfig","collectionSlug","useAsTitle","titleValue","titleString","identifier","username","email","hasMultipleLanguages","Array","isArray","length","showThemeMenu","hasSettingsItems","some","_temp","showPreferencesGroup","logoutHref","path","accountHref","t9","Symbol","for","t10","t11","active","ariaProps","_jsx","className","filter","join","type","children","CustomComponent","Fallback","caret","horizontalAlign","onToggleClose","renderButton","verticalAlign","_jsxs","_Fragment","onBack","title","groups","href","ButtonGroup","onMobileOpen","MenuItem","Button","icon","group","items"],"sources":["../../../src/elements/UserMenu/index.tsx"],"sourcesContent":["'use client'\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useEffect, useState } from 'react'\n\nimport type { UserMenuSettingsGroup } from './SettingsMenu/index.js'\n\nimport { Account } from '../../graphics/Account/index.js'\nimport { LogOutIcon } from '../../icons/LogOut/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { MenuSeparator } from '../MenuSeparator/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { RenderCustomComponent } from '../RenderCustomComponent/index.js'\nimport { LanguageMenu, LanguageMenuContent } from './LanguageMenu/index.js'\nimport { SettingsMenu, SettingsMenuContent } from './SettingsMenu/index.js'\nimport { SubMenuHeader } from './SubMenuHeader/index.js'\nimport { ThemeMenu, ThemeMenuContent } from './ThemeMenu/index.js'\nimport './index.css'\n\nconst baseClass = 'user-menu'\n\ntype UserMenuProps = {\n CustomAvatar?: React.ReactNode\n CustomLogoutButton?: React.ReactNode\n settingsItemGroups?: UserMenuSettingsGroup[]\n}\n\nexport const UserMenu: React.FC<UserMenuProps> = ({\n CustomAvatar,\n CustomLogoutButton,\n settingsItemGroups = [],\n}) => {\n const { user } = useAuth()\n const { languageOptions, t } = useTranslation()\n const {\n config: {\n admin: {\n routes: { account: accountRoute, logout: logoutRoute },\n theme: adminTheme,\n user: userSlug,\n },\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const isMobile = Boolean(smallBreak)\n\n const [activeMobileSubmenu, setActiveMobileSubmenu] = useState<\n 'language' | 'settings' | 'theme' | null\n >(null)\n\n useEffect(() => {\n if (!isMobile) {\n setActiveMobileSubmenu(null)\n }\n }, [isMobile])\n\n const userCollectionConfig = getEntityConfig({ collectionSlug: userSlug })\n const useAsTitle = userCollectionConfig?.admin?.useAsTitle ?? 'email'\n const titleValue =\n useAsTitle !== 'email' && user ? (user as Record<string, unknown>)[useAsTitle] : undefined\n const titleString = typeof titleValue === 'string' ? titleValue : undefined\n\n const identifier = user?.username ?? user?.email ?? ''\n const hasMultipleLanguages = Array.isArray(languageOptions) && languageOptions.length > 1\n const showThemeMenu = adminTheme === 'all'\n const hasSettingsItems = settingsItemGroups.some((group) => group.items.length > 0)\n const showPreferencesGroup = showThemeMenu || hasMultipleLanguages\n\n const logoutHref = formatAdminURL({ adminRoute, path: logoutRoute })\n const accountHref = formatAdminURL({ adminRoute, path: accountRoute })\n\n return (\n <Popup\n caret={false}\n className={baseClass}\n horizontalAlign=\"right\"\n onToggleClose={() => setActiveMobileSubmenu(null)}\n renderButton={({ active, ...ariaProps }) => (\n <button\n {...ariaProps}\n aria-label={t('authentication:account')}\n className={[`${baseClass}__trigger`, active && `${baseClass}__trigger--active`]\n .filter(Boolean)\n .join(' ')}\n type=\"button\"\n >\n <RenderCustomComponent CustomComponent={CustomAvatar} Fallback={<Account />} />\n </button>\n )}\n size=\"large\"\n theme=\"dark\"\n verticalAlign=\"bottom\"\n >\n {isMobile && activeMobileSubmenu ? (\n // Mobile submenu panel\n <>\n {activeMobileSubmenu === 'theme' && (\n <>\n <SubMenuHeader\n onBack={() => setActiveMobileSubmenu(null)}\n title={t('general:theme')}\n />\n <ThemeMenuContent />\n </>\n )}\n {activeMobileSubmenu === 'language' && (\n <>\n <SubMenuHeader\n onBack={() => setActiveMobileSubmenu(null)}\n title={t('general:language')}\n />\n <LanguageMenuContent />\n </>\n )}\n {activeMobileSubmenu === 'settings' && (\n <>\n <SubMenuHeader\n onBack={() => setActiveMobileSubmenu(null)}\n title={t('general:settings')}\n />\n <SettingsMenuContent groups={settingsItemGroups} />\n </>\n )}\n </>\n ) : (\n // Normal menu content (desktop always; mobile when no active submenu)\n <>\n {/* Profile header */}\n <a className={`${baseClass}__profile`} href={accountHref}>\n <div className={`${baseClass}__avatar`}>\n <RenderCustomComponent CustomComponent={CustomAvatar} Fallback={<Account />} />\n </div>\n <div>\n {titleString && <p className={`${baseClass}__name`}>{titleString}</p>}\n {identifier && <p className={`${baseClass}__identifier`}>{identifier}</p>}\n </div>\n </a>\n\n {/* Preferences group: Theme + Language */}\n {showPreferencesGroup && (\n <PopupList.ButtonGroup>\n {showThemeMenu && (\n <ThemeMenu\n onMobileOpen={isMobile ? () => setActiveMobileSubmenu('theme') : undefined}\n />\n )}\n {hasMultipleLanguages && (\n <LanguageMenu\n onMobileOpen={isMobile ? () => setActiveMobileSubmenu('language') : undefined}\n />\n )}\n </PopupList.ButtonGroup>\n )}\n\n <MenuSeparator />\n\n {/* Settings group */}\n {hasSettingsItems && (\n <>\n <PopupList.ButtonGroup>\n <SettingsMenu\n groups={settingsItemGroups}\n onMobileOpen={isMobile ? () => setActiveMobileSubmenu('settings') : undefined}\n />\n </PopupList.ButtonGroup>\n <MenuSeparator />\n </>\n )}\n\n {/* Account actions */}\n <PopupList.MenuItem>\n {CustomLogoutButton ?? (\n <PopupList.Button href={logoutHref} icon={<LogOutIcon />}>\n {t('authentication:logOut')}\n </PopupList.Button>\n )}\n </PopupList.MenuItem>\n </>\n )}\n </Popup>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"optionsReducer.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/optionsReducer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAWhD,QAAA,MAAM,cAAc,GAAI,OAAO,MAAM,EAAE,EAAE,QAAQ,MAAM,KAAG,MAAM,EAuE/D,CAAA;AAED,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"optionsReducer.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/optionsReducer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAWhD,QAAA,MAAM,cAAc,UAAW,MAAM,EAAE,UAAU,MAAM,KAAG,MAAM,EAuE/D,CAAA;eAEc,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatOptions.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Select/formatOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEnD;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,KAAG,YAAY,EAU1D,CAAA"}
1
+ {"version":3,"file":"formatOptions.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Select/formatOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEnD;;GAEG;AACH,eAAO,MAAM,aAAa,YAAa,MAAM,EAAE,KAAG,YAAY,EAU1D,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"validOperators.d.ts","sourceRoot":"","sources":["../../../../src/elements/WhereBuilder/Condition/validOperators.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,GAAI,cAAS;;;;;;;;;;;;;;;;;CAiC9C,CAAA"}
1
+ {"version":3,"file":"validOperators.d.ts","sourceRoot":"","sources":["../../../../src/elements/WhereBuilder/Condition/validOperators.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;CAiCjC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"field-types.d.ts","sourceRoot":"","sources":["../../../src/elements/WhereBuilder/field-types.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAa1C,eAAO,MAAM,cAAc;;;GAS1B,CAAA;AA8DD,eAAO,MAAM,mBAAmB,EAAE;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAC9C,CAAA;CA0DF,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,sBAGpC;IACD,KAAK,EAAE,WAAW,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,KAAG;IACF,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE;QACd,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;KACd,EAAE,CAAA;CAqBJ,CAAA"}
1
+ {"version":3,"file":"field-types.d.ts","sourceRoot":"","sources":["../../../src/elements/WhereBuilder/field-types.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAa1C,eAAO,MAAM,cAAc;;;GAS1B,CAAA;AA8DD,eAAO,MAAM,mBAAmB,EAAE;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAC9C,CAAA;CA0DF,CAAA;AAED,eAAO,MAAM,sBAAsB,yBAGhC;IACD,KAAK,EAAE,WAAW,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,KAAG;IACF,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE;QACd,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;KACd,EAAE,CAAA;CAqBJ,CAAA"}