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

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 (874) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/css/app.css +121 -0
  3. package/dist/css/forms.css +6 -9
  4. package/dist/css/spacing.css +11 -3
  5. package/dist/css/theme.css +2 -1
  6. package/dist/css/z-index.css +10 -0
  7. package/dist/elements/APIKeyInput/index.css +4 -4
  8. package/dist/elements/AddNewRelation/index.css +27 -28
  9. package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -1
  10. package/dist/elements/AppHeader/index.css +2 -18
  11. package/dist/elements/AppHeader/index.d.ts +2 -1
  12. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  13. package/dist/elements/AppHeader/index.js +10 -8
  14. package/dist/elements/AppHeader/index.js.map +1 -1
  15. package/dist/elements/ArrayAction/index.d.ts +2 -0
  16. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  17. package/dist/elements/ArrayAction/index.js +65 -23
  18. package/dist/elements/ArrayAction/index.js.map +1 -1
  19. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +2 -2
  20. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  21. package/dist/elements/BulkUpload/FileSidebar/index.css +4 -0
  22. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +2 -2
  23. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
  24. package/dist/elements/BulkUpload/FormsManager/createFormData.js +4 -15
  25. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  26. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  27. package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
  28. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  29. package/dist/elements/Button/index.d.ts.map +1 -1
  30. package/dist/elements/Button/index.js +5 -0
  31. package/dist/elements/Button/index.js.map +1 -1
  32. package/dist/elements/ClipboardAction/ClipboardActionLabel.d.ts.map +1 -1
  33. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts +8 -1
  34. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts.map +1 -1
  35. package/dist/elements/ClipboardAction/clipboardUtilities.js +40 -8
  36. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  37. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +120 -0
  38. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +1 -0
  39. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  40. package/dist/elements/ClipboardAction/index.js +18 -1
  41. package/dist/elements/ClipboardAction/index.js.map +1 -1
  42. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +144 -0
  43. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +1 -0
  44. package/dist/elements/ClipboardAction/types.d.ts +3 -0
  45. package/dist/elements/ClipboardAction/types.d.ts.map +1 -1
  46. package/dist/elements/ClipboardAction/types.js.map +1 -1
  47. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts +10 -0
  48. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts.map +1 -0
  49. package/dist/elements/ClipboardAction/useCanPasteClipboard.js +21 -0
  50. package/dist/elements/ClipboardAction/useCanPasteClipboard.js.map +1 -0
  51. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  52. package/dist/elements/CodeEditor/index.css +5 -5
  53. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  54. package/dist/elements/Collapsible/index.js +2 -0
  55. package/dist/elements/Collapsible/index.js.map +1 -1
  56. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
  57. package/dist/elements/ColumnSelection/Popup.js +6 -6
  58. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  59. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts +10 -0
  60. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts.map +1 -0
  61. package/dist/elements/ColumnSelection/matchesColumnSearch.js +21 -0
  62. package/dist/elements/ColumnSelection/matchesColumnSearch.js.map +1 -0
  63. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js +87 -0
  64. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +1 -0
  65. package/dist/elements/CommandPalette/index.css +0 -7
  66. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  67. package/dist/elements/CreateDocumentButton/index.js +4 -1
  68. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  69. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  70. package/dist/elements/DatePicker/DatePicker.js +1 -0
  71. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  72. package/dist/elements/DatePicker/getFormattedLocale.d.ts.map +1 -1
  73. package/dist/elements/DatePicker/index.css +4 -4
  74. package/dist/elements/DatePicker/index.js +1 -1
  75. package/dist/elements/DatePicker/index.js.map +1 -1
  76. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  77. package/dist/elements/DeleteDocument/index.js +16 -1
  78. package/dist/elements/DeleteDocument/index.js.map +1 -1
  79. package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -1
  80. package/dist/elements/DocumentControls/index.css +0 -2
  81. package/dist/elements/DocumentControls/index.d.ts +2 -2
  82. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  83. package/dist/elements/DocumentControls/index.js +1 -0
  84. package/dist/elements/DocumentControls/index.js.map +1 -1
  85. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +2 -2
  86. package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
  87. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  88. package/dist/elements/DocumentFields/index.css +9 -0
  89. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  90. package/dist/elements/DocumentLocked/index.d.ts +2 -2
  91. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  92. package/dist/elements/DocumentLocked/index.js.map +1 -1
  93. package/dist/elements/DraggableSortable/DragOverlayPreview/index.css +1 -1
  94. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  95. package/dist/elements/Drawer/index.d.ts.map +1 -1
  96. package/dist/elements/Drawer/index.js +1 -0
  97. package/dist/elements/Drawer/index.js.map +1 -1
  98. package/dist/elements/Drawer/useDrawerSlug.d.ts.map +1 -1
  99. package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
  100. package/dist/elements/EditMany/DrawerContent.js +2 -2
  101. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  102. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  103. package/dist/elements/EditUpload/index.js +4 -0
  104. package/dist/elements/EditUpload/index.js.map +1 -1
  105. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  106. package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
  107. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  108. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
  109. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
  110. package/dist/elements/FileDetails/StaticFileDetails/index.css +8 -9
  111. package/dist/elements/FileManager/FilePreview/index.css +3 -3
  112. package/dist/elements/FileManager/index.css +36 -23
  113. package/dist/elements/FileManager/index.d.ts +1 -1
  114. package/dist/elements/FileManager/index.d.ts.map +1 -1
  115. package/dist/elements/FileManager/index.js +15 -4
  116. package/dist/elements/FileManager/index.js.map +1 -1
  117. package/dist/elements/HTMLDiff/diff/index.d.ts.map +1 -1
  118. package/dist/elements/HTMLDiff/index.d.ts.map +1 -1
  119. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +3 -1
  120. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +1 -1
  121. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  122. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +1 -1
  123. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  124. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  125. package/dist/elements/Hierarchy/DocHeaderButton/index.js +12 -12
  126. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  127. package/dist/elements/Hierarchy/Field/index.client.js +14 -14
  128. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  129. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -0
  130. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -0
  131. package/dist/elements/Hierarchy/Modal/index.css +88 -0
  132. package/dist/elements/Hierarchy/Modal/index.d.ts +20 -0
  133. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -0
  134. package/dist/elements/Hierarchy/{Drawer → Modal}/index.js +105 -81
  135. package/dist/elements/Hierarchy/Modal/index.js.map +1 -0
  136. package/dist/elements/Hierarchy/{Drawer → Modal}/types.d.ts +22 -18
  137. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -0
  138. package/dist/elements/Hierarchy/Modal/types.js.map +1 -0
  139. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts +30 -0
  140. package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -0
  141. package/dist/elements/Hierarchy/{Drawer/useHierarchyDrawer.js → Modal/useHierarchyModal.js} +51 -50
  142. package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -0
  143. package/dist/elements/Hierarchy/MoveMany/index.d.ts +2 -2
  144. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  145. package/dist/elements/Hierarchy/MoveMany/index.js +9 -9
  146. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  147. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  148. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  149. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +109 -89
  150. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  151. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  152. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +2 -0
  153. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  154. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +1 -1
  155. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  156. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +38 -14
  157. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  158. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +37 -31
  159. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  160. package/dist/elements/Hierarchy/Tree/index.css +1 -1
  161. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  162. package/dist/elements/Hierarchy/Tree/index.js +18 -5
  163. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  164. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  165. package/dist/elements/InputStepper/index.css +0 -1
  166. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  167. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  168. package/dist/elements/ListControls/index.js +1 -1
  169. package/dist/elements/ListControls/index.js.map +1 -1
  170. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  171. package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  172. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +1 -0
  173. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  174. package/dist/elements/LivePreview/Window/index.css +6 -0
  175. package/dist/elements/LoadingOverlay/reducer.d.ts.map +1 -1
  176. package/dist/elements/Locked/index.css +0 -5
  177. package/dist/elements/Locked/index.d.ts +2 -2
  178. package/dist/elements/Locked/index.d.ts.map +1 -1
  179. package/dist/elements/Locked/index.js +38 -19
  180. package/dist/elements/Locked/index.js.map +1 -1
  181. package/dist/elements/MiniCarousel/index.css +39 -37
  182. package/dist/elements/Nav/SettingsMenuButton/index.css +5 -0
  183. package/dist/elements/Nav/SettingsMenuButton/index.d.ts +1 -1
  184. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  185. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -1
  186. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  187. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  188. package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
  189. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  190. package/dist/elements/Nav/SidebarTabs/index.css +0 -5
  191. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
  192. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
  193. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
  194. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
  195. package/dist/elements/Nav/index.css +0 -5
  196. package/dist/elements/NavGroup/index.css +0 -1
  197. package/dist/elements/Pagination/index.css +5 -0
  198. package/dist/elements/Pagination/index.d.ts.map +1 -1
  199. package/dist/elements/Pagination/index.js +21 -21
  200. package/dist/elements/Pagination/index.js.map +1 -1
  201. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  202. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  203. package/dist/elements/Popup/PopupTrigger/index.js +3 -0
  204. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  205. package/dist/elements/Popup/index.d.ts +6 -0
  206. package/dist/elements/Popup/index.d.ts.map +1 -1
  207. package/dist/elements/Popup/index.js +2 -0
  208. package/dist/elements/Popup/index.js.map +1 -1
  209. package/dist/elements/PreviewButton/index.d.ts +1 -2
  210. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  211. package/dist/elements/PreviewButton/index.js +11 -5
  212. package/dist/elements/PreviewButton/index.js.map +1 -1
  213. package/dist/elements/PreviewSizes/index.css +8 -9
  214. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  215. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -1
  216. package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
  217. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts +7 -0
  218. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -0
  219. package/dist/elements/ReactSelect/DefaultMenuPortal.js +120 -0
  220. package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -0
  221. package/dist/elements/ReactSelect/DropdownIndicator/index.css +1 -1
  222. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  223. package/dist/elements/ReactSelect/DropdownIndicator/index.js +19 -12
  224. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  225. package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
  226. package/dist/elements/ReactSelect/MultiValueLabel/index.css +2 -2
  227. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -1
  228. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +1 -1
  229. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -1
  230. package/dist/elements/ReactSelect/getMenuListStyles.js +13 -5
  231. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -1
  232. package/dist/elements/ReactSelect/getMenuStyles.d.ts +10 -0
  233. package/dist/elements/ReactSelect/getMenuStyles.d.ts.map +1 -0
  234. package/dist/elements/ReactSelect/getMenuStyles.js +21 -0
  235. package/dist/elements/ReactSelect/getMenuStyles.js.map +1 -0
  236. package/dist/elements/ReactSelect/index.css +10 -6
  237. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  238. package/dist/elements/ReactSelect/index.js +25 -102
  239. package/dist/elements/ReactSelect/index.js.map +1 -1
  240. package/dist/elements/ReactSelect/types.d.ts +2 -2
  241. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  242. package/dist/elements/ReactSelect/types.js.map +1 -1
  243. package/dist/elements/RelationshipTable/AddNewButton.d.ts +2 -2
  244. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  245. package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
  246. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
  247. package/dist/elements/RelationshipTable/Pagination.js +27 -77
  248. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  249. package/dist/elements/RelationshipTable/index.css +1 -4
  250. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  251. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  252. package/dist/elements/RelationshipTable/index.js +36 -3
  253. package/dist/elements/RelationshipTable/index.js.map +1 -1
  254. package/dist/elements/RenderTitle/index.css +4 -0
  255. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  256. package/dist/elements/RenderTitle/index.js +18 -13
  257. package/dist/elements/RenderTitle/index.js.map +1 -1
  258. package/dist/elements/Search/ListSearchFilter/index.d.ts.map +1 -1
  259. package/dist/elements/Search/ListSearchFilter/index.js +1 -0
  260. package/dist/elements/Search/ListSearchFilter/index.js.map +1 -1
  261. package/dist/elements/Search/SearchInput/index.d.ts +2 -0
  262. package/dist/elements/Search/SearchInput/index.d.ts.map +1 -1
  263. package/dist/elements/Search/SearchInput/index.js +22 -19
  264. package/dist/elements/Search/SearchInput/index.js.map +1 -1
  265. package/dist/elements/SelectAll/index.css +3 -1
  266. package/dist/elements/SelectRow/index.d.ts +5 -4
  267. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  268. package/dist/elements/SelectRow/index.js +10 -7
  269. package/dist/elements/SelectRow/index.js.map +1 -1
  270. package/dist/elements/SidebarRow/index.css +0 -2
  271. package/dist/elements/SidebarToggle/index.css +0 -17
  272. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  273. package/dist/elements/SortColumn/index.js +42 -38
  274. package/dist/elements/SortColumn/index.js.map +1 -1
  275. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +24 -24
  276. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  277. package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -1
  278. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  279. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  280. package/dist/elements/Table/OrderableRowDragPreview.d.ts.map +1 -1
  281. package/dist/elements/Table/index.css +26 -2
  282. package/dist/elements/TableSection/index.css +0 -1
  283. package/dist/elements/Tabs/index.d.ts.map +1 -1
  284. package/dist/elements/Thumbnail/createThumbnail.d.ts.map +1 -1
  285. package/dist/elements/Thumbnail/index.d.ts +1 -1
  286. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  287. package/dist/elements/Thumbnail/index.js.map +1 -1
  288. package/dist/elements/TimezonePicker/index.css +1 -1
  289. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  290. package/dist/elements/TimezonePicker/index.js +5 -1
  291. package/dist/elements/TimezonePicker/index.js.map +1 -1
  292. package/dist/elements/Tooltip/index.css +15 -34
  293. package/dist/elements/Tooltip/index.d.ts +11 -3
  294. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  295. package/dist/elements/Tooltip/index.js +151 -85
  296. package/dist/elements/Tooltip/index.js.map +1 -1
  297. package/dist/elements/Upload/index.css +0 -5
  298. package/dist/elements/Upload/index.d.ts.map +1 -1
  299. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -1
  300. package/dist/elements/UserMenu/SubMenuHeader/index.js +8 -9
  301. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -1
  302. package/dist/elements/UserMenu/index.css +26 -1
  303. package/dist/elements/UserMenu/index.d.ts +1 -0
  304. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  305. package/dist/elements/UserMenu/index.js +2 -1
  306. package/dist/elements/UserMenu/index.js.map +1 -1
  307. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.d.ts.map +1 -1
  308. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.d.ts.map +1 -1
  309. package/dist/elements/WhereBuilder/Condition/validOperators.d.ts.map +1 -1
  310. package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
  311. package/dist/exports/client/index.d.ts +7 -3
  312. package/dist/exports/client/index.d.ts.map +1 -1
  313. package/dist/exports/client/index.js +1 -1
  314. package/dist/exports/client/index.js.map +3 -3
  315. package/dist/exports/layouts.d.ts +1 -0
  316. package/dist/exports/layouts.d.ts.map +1 -1
  317. package/dist/exports/layouts.js +1 -0
  318. package/dist/exports/layouts.js.map +1 -1
  319. package/dist/exports/rsc/index.d.ts +3 -0
  320. package/dist/exports/rsc/index.d.ts.map +1 -1
  321. package/dist/exports/rsc/index.js +3 -0
  322. package/dist/exports/rsc/index.js.map +1 -1
  323. package/dist/exports/shared/index.d.ts +1 -0
  324. package/dist/exports/shared/index.d.ts.map +1 -1
  325. package/dist/exports/shared/index.js +2 -2
  326. package/dist/exports/shared/index.js.map +4 -4
  327. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  328. package/dist/fields/Array/ArrayRow.js +97 -160
  329. package/dist/fields/Array/ArrayRow.js.map +1 -1
  330. package/dist/fields/Array/index.d.ts +1 -1
  331. package/dist/fields/Array/index.d.ts.map +1 -1
  332. package/dist/fields/Array/index.js +7 -4
  333. package/dist/fields/Array/index.js.map +1 -1
  334. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  335. package/dist/fields/Blocks/BlockRow.js +134 -195
  336. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  337. package/dist/fields/Blocks/RowActions.d.ts +2 -0
  338. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  339. package/dist/fields/Blocks/RowActions.js +23 -20
  340. package/dist/fields/Blocks/RowActions.js.map +1 -1
  341. package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  342. package/dist/fields/Blocks/SectionTitle/index.js +1 -0
  343. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  344. package/dist/fields/Blocks/index.d.ts +1 -1
  345. package/dist/fields/Blocks/index.d.ts.map +1 -1
  346. package/dist/fields/Blocks/index.js +9 -6
  347. package/dist/fields/Blocks/index.js.map +1 -1
  348. package/dist/fields/Checkbox/Input.d.ts +2 -0
  349. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  350. package/dist/fields/Checkbox/Input.js +32 -26
  351. package/dist/fields/Checkbox/Input.js.map +1 -1
  352. package/dist/fields/Checkbox/index.css +37 -73
  353. package/dist/fields/Checkbox/index.d.ts +1 -1
  354. package/dist/fields/Code/index.css +1 -1
  355. package/dist/fields/Code/index.d.ts +2 -2
  356. package/dist/fields/Collapsible/index.d.ts +1 -1
  357. package/dist/fields/ConfirmPassword/index.d.ts +4 -0
  358. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  359. package/dist/fields/ConfirmPassword/index.js +37 -33
  360. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  361. package/dist/fields/DateTime/index.d.ts +1 -1
  362. package/dist/fields/Email/index.d.ts +1 -1
  363. package/dist/fields/FieldError/index.css +0 -9
  364. package/dist/fields/FieldError/index.d.ts.map +1 -1
  365. package/dist/fields/FieldError/index.js +19 -9
  366. package/dist/fields/FieldError/index.js.map +1 -1
  367. package/dist/fields/Group/index.css +1 -7
  368. package/dist/fields/Group/index.d.ts +2 -2
  369. package/dist/fields/JSON/index.d.ts +1 -1
  370. package/dist/fields/Join/index.css +9 -0
  371. package/dist/fields/Join/index.d.ts +1 -1
  372. package/dist/fields/Join/index.d.ts.map +1 -1
  373. package/dist/fields/Join/index.js +13 -9
  374. package/dist/fields/Join/index.js.map +1 -1
  375. package/dist/fields/Number/Input.d.ts.map +1 -1
  376. package/dist/fields/Number/Input.js +29 -25
  377. package/dist/fields/Number/Input.js.map +1 -1
  378. package/dist/fields/Number/index.d.ts +1 -1
  379. package/dist/fields/Number/types.d.ts +4 -0
  380. package/dist/fields/Number/types.d.ts.map +1 -1
  381. package/dist/fields/Number/types.js.map +1 -1
  382. package/dist/fields/Password/input.d.ts.map +1 -1
  383. package/dist/fields/Password/input.js +33 -29
  384. package/dist/fields/Password/input.js.map +1 -1
  385. package/dist/fields/Password/types.d.ts +7 -3
  386. package/dist/fields/Password/types.d.ts.map +1 -1
  387. package/dist/fields/Password/types.js.map +1 -1
  388. package/dist/fields/Point/index.d.ts +1 -1
  389. package/dist/fields/RadioGroup/index.css +0 -7
  390. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  391. package/dist/fields/Relationship/Input.js +36 -14
  392. package/dist/fields/Relationship/Input.js.map +1 -1
  393. package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
  394. package/dist/fields/Relationship/index.d.ts +1 -1
  395. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  396. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +2 -2
  397. package/dist/fields/Relationship/types.d.ts +4 -0
  398. package/dist/fields/Relationship/types.d.ts.map +1 -1
  399. package/dist/fields/Relationship/types.js.map +1 -1
  400. package/dist/fields/Row/index.d.ts +1 -1
  401. package/dist/fields/Select/Input.d.ts +4 -0
  402. package/dist/fields/Select/Input.d.ts.map +1 -1
  403. package/dist/fields/Select/Input.js +45 -40
  404. package/dist/fields/Select/Input.js.map +1 -1
  405. package/dist/fields/Select/index.d.ts +1 -1
  406. package/dist/fields/Select/index.d.ts.map +1 -1
  407. package/dist/fields/Slug/index.css +0 -1
  408. package/dist/fields/Slug/index.d.ts +7 -5
  409. package/dist/fields/Slug/index.d.ts.map +1 -1
  410. package/dist/fields/Slug/index.js +79 -113
  411. package/dist/fields/Slug/index.js.map +1 -1
  412. package/dist/fields/Tabs/index.d.ts +1 -1
  413. package/dist/fields/Text/Input.d.ts.map +1 -1
  414. package/dist/fields/Text/Input.js +25 -21
  415. package/dist/fields/Text/Input.js.map +1 -1
  416. package/dist/fields/Text/index.d.ts +1 -1
  417. package/dist/fields/Text/types.d.ts +6 -2
  418. package/dist/fields/Text/types.d.ts.map +1 -1
  419. package/dist/fields/Text/types.js.map +1 -1
  420. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  421. package/dist/fields/Textarea/Input.js +27 -23
  422. package/dist/fields/Textarea/Input.js.map +1 -1
  423. package/dist/fields/Textarea/index.css +1 -1
  424. package/dist/fields/Textarea/index.d.ts +1 -1
  425. package/dist/fields/Textarea/types.d.ts +4 -0
  426. package/dist/fields/Textarea/types.d.ts.map +1 -1
  427. package/dist/fields/Textarea/types.js.map +1 -1
  428. package/dist/fields/Upload/index.css +19 -4
  429. package/dist/fields/index.d.ts.map +1 -1
  430. package/dist/fields/index.js +2 -0
  431. package/dist/fields/index.js.map +1 -1
  432. package/dist/fields/mergeFieldStyles.d.ts +1 -1
  433. package/dist/fields/mergeFieldStyles.d.ts.map +1 -1
  434. package/dist/forms/Form/context.d.ts.map +1 -1
  435. package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -1
  436. package/dist/forms/Form/errorMessages.d.ts.map +1 -1
  437. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  438. package/dist/forms/Form/fieldReducer.js +3 -1
  439. package/dist/forms/Form/fieldReducer.js.map +1 -1
  440. package/dist/forms/Form/index.d.ts.map +1 -1
  441. package/dist/forms/Form/index.js +9 -15
  442. package/dist/forms/Form/index.js.map +1 -1
  443. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  444. package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -1
  445. package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
  446. package/dist/forms/Form/rows.d.ts.map +1 -1
  447. package/dist/forms/Form/types.d.ts +3 -3
  448. package/dist/forms/Form/types.d.ts.map +1 -1
  449. package/dist/forms/Form/types.js.map +1 -1
  450. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  451. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  452. package/dist/forms/RenderFields/RenderField.js +10 -0
  453. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  454. package/dist/forms/RenderFields/index.css +17 -3
  455. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  456. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  457. package/dist/forms/WatchChildErrors/index.js +2 -2
  458. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  459. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
  460. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  461. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +22 -6
  462. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  463. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +2 -2
  464. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  465. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  466. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +2 -2
  467. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  468. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  469. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +2 -2
  470. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  471. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  472. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
  473. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  474. package/dist/forms/fieldSchemasToFormState/index.js +2 -0
  475. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  476. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
  477. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  478. package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
  479. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  480. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  481. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
  482. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  483. package/dist/forms/useField/index.d.ts.map +1 -1
  484. package/dist/forms/withCondition/index.d.ts +1 -1
  485. package/dist/forms/withCondition/index.d.ts.map +1 -1
  486. package/dist/graphics/Icon/index.js +1 -1
  487. package/dist/graphics/Icon/index.js.map +1 -1
  488. package/dist/hooks/useDebouncedCallback.d.ts.map +1 -1
  489. package/dist/hooks/useDelay.d.ts.map +1 -1
  490. package/dist/hooks/useElementHeightVariable.d.ts.map +1 -1
  491. package/dist/hooks/useHotkey.d.ts.map +1 -1
  492. package/dist/hooks/useIntersect.d.ts.map +1 -1
  493. package/dist/hooks/usePopupWindow.d.ts +1 -1
  494. package/dist/hooks/usePopupWindow.d.ts.map +1 -1
  495. package/dist/hooks/useRelatedCollections.d.ts.map +1 -1
  496. package/dist/hooks/useResize.d.ts.map +1 -1
  497. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  498. package/dist/layouts/Root/index.d.ts +1 -1
  499. package/dist/layouts/Root/index.d.ts.map +1 -1
  500. package/dist/layouts/Root/index.js +15 -5
  501. package/dist/layouts/Root/index.js.map +1 -1
  502. package/dist/layouts/Root/index.spec.js +20 -0
  503. package/dist/layouts/Root/index.spec.js.map +1 -0
  504. package/dist/layouts/Root/viewport.d.ts +5 -0
  505. package/dist/layouts/Root/viewport.d.ts.map +1 -0
  506. package/dist/layouts/Root/viewport.js +17 -0
  507. package/dist/layouts/Root/viewport.js.map +1 -0
  508. package/dist/providers/Auth/index.d.ts +8 -10
  509. package/dist/providers/Auth/index.d.ts.map +1 -1
  510. package/dist/providers/Auth/index.js +3 -8
  511. package/dist/providers/Auth/index.js.map +1 -1
  512. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  513. package/dist/providers/DocumentInfo/index.js.map +1 -1
  514. package/dist/providers/DocumentInfo/types.d.ts +6 -6
  515. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  516. package/dist/providers/DocumentInfo/types.js.map +1 -1
  517. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
  518. package/dist/providers/DocumentTitle/index.d.ts +1 -0
  519. package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
  520. package/dist/providers/DocumentTitle/index.js +2 -0
  521. package/dist/providers/DocumentTitle/index.js.map +1 -1
  522. package/dist/providers/Embed/index.d.ts +24 -0
  523. package/dist/providers/Embed/index.d.ts.map +1 -0
  524. package/dist/providers/Embed/index.js +105 -0
  525. package/dist/providers/Embed/index.js.map +1 -0
  526. package/dist/providers/FormErrorHandler/index.d.ts +20 -0
  527. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
  528. package/dist/providers/FormErrorHandler/index.js +6 -0
  529. package/dist/providers/FormErrorHandler/index.js.map +1 -0
  530. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  531. package/dist/providers/ListQuery/index.js +8 -1
  532. package/dist/providers/ListQuery/index.js.map +1 -1
  533. package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
  534. package/dist/providers/ListQuery/sanitizeQuery.d.ts.map +1 -1
  535. package/dist/providers/LivePreview/sizeReducer.d.ts +1 -1
  536. package/dist/providers/LivePreview/sizeReducer.d.ts.map +1 -1
  537. package/dist/providers/Root/index.d.ts +3 -2
  538. package/dist/providers/Root/index.d.ts.map +1 -1
  539. package/dist/providers/Root/index.js +33 -27
  540. package/dist/providers/Root/index.js.map +1 -1
  541. package/dist/providers/SidebarTabs/index.d.ts +3 -2
  542. package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
  543. package/dist/providers/SidebarTabs/index.js.map +1 -1
  544. package/dist/providers/TableColumns/buildColumnState/filterFields.d.ts.map +1 -1
  545. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.d.ts.map +1 -1
  546. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts.map +1 -1
  547. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  548. package/dist/providers/TableColumns/buildColumnState/index.js +1 -1
  549. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  550. package/dist/providers/TableColumns/buildColumnState/index.spec.js +40 -0
  551. package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +1 -0
  552. package/dist/providers/TableColumns/getInitialColumns.d.ts +1 -1
  553. package/dist/providers/TableColumns/getInitialColumns.d.ts.map +1 -1
  554. package/dist/providers/Theme/index.d.ts +5 -2
  555. package/dist/providers/Theme/index.d.ts.map +1 -1
  556. package/dist/providers/Theme/index.js +109 -96
  557. package/dist/providers/Theme/index.js.map +1 -1
  558. package/dist/providers/Theme/shared.d.ts +3 -0
  559. package/dist/providers/Theme/shared.d.ts.map +1 -0
  560. package/dist/providers/Theme/shared.js +2 -0
  561. package/dist/providers/Theme/shared.js.map +1 -0
  562. package/dist/providers/UploadEdits/index.d.ts.map +1 -1
  563. package/dist/providers/UploadHandlers/index.d.ts +2 -7
  564. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  565. package/dist/providers/UploadHandlers/index.js +102 -42
  566. package/dist/providers/UploadHandlers/index.js.map +1 -1
  567. package/dist/styles.css +31 -14
  568. package/dist/templates/Default/index.d.ts.map +1 -1
  569. package/dist/templates/Default/index.js +6 -0
  570. package/dist/templates/Default/index.js.map +1 -1
  571. package/dist/utilities/api.d.ts.map +1 -1
  572. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
  573. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
  574. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  575. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  576. package/dist/utilities/buildFormState.d.ts +2 -2
  577. package/dist/utilities/buildFormState.d.ts.map +1 -1
  578. package/dist/utilities/buildFormState.js +1 -0
  579. package/dist/utilities/buildFormState.js.map +1 -1
  580. package/dist/utilities/checkDependencies.d.ts.map +1 -1
  581. package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
  582. package/dist/utilities/combineFieldLabel.js +5 -1
  583. package/dist/utilities/combineFieldLabel.js.map +1 -1
  584. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  585. package/dist/utilities/copyDataFromLocale.js +1 -0
  586. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  587. package/dist/utilities/filterOutUploadFields.d.ts.map +1 -1
  588. package/dist/utilities/findLocaleFromCode.d.ts.map +1 -1
  589. package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
  590. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
  591. package/dist/utilities/formatDocTitle/formatRelationshipTitle.d.ts.map +1 -1
  592. package/dist/utilities/formatDocTitle/index.d.ts +1 -1
  593. package/dist/utilities/formatDocTitle/index.d.ts.map +1 -1
  594. package/dist/utilities/formatDocTitle/index.js +1 -1
  595. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  596. package/dist/utilities/formatFields.d.ts.map +1 -1
  597. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  598. package/dist/utilities/formatRelativeDate.d.ts +15 -0
  599. package/dist/utilities/formatRelativeDate.d.ts.map +1 -0
  600. package/dist/utilities/formatRelativeDate.js +62 -0
  601. package/dist/utilities/formatRelativeDate.js.map +1 -0
  602. package/dist/utilities/generateFieldID.d.ts +1 -1
  603. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  604. package/dist/utilities/generateFieldID.js +2 -2
  605. package/dist/utilities/generateFieldID.js.map +1 -1
  606. package/dist/utilities/getColumns.d.ts.map +1 -1
  607. package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
  608. package/dist/utilities/getDocPreferences.d.ts +2 -2
  609. package/dist/utilities/getDocPreferences.d.ts.map +1 -1
  610. package/dist/utilities/getDocPreferences.js.map +1 -1
  611. package/dist/utilities/getDocumentData.d.ts +2 -2
  612. package/dist/utilities/getDocumentData.d.ts.map +1 -1
  613. package/dist/utilities/getDocumentData.js.map +1 -1
  614. package/dist/utilities/getDocumentPermissions.d.ts.map +1 -1
  615. package/dist/utilities/getGlobalData.d.ts +2 -2
  616. package/dist/utilities/getGlobalData.d.ts.map +1 -1
  617. package/dist/utilities/getGlobalData.js.map +1 -1
  618. package/dist/utilities/getHasScheduledPublish.d.ts +2 -2
  619. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  620. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  621. package/dist/utilities/getIsLocked.d.ts +2 -2
  622. package/dist/utilities/getIsLocked.d.ts.map +1 -1
  623. package/dist/utilities/getIsLocked.js.map +1 -1
  624. package/dist/utilities/getLanguageDir.d.ts +12 -0
  625. package/dist/utilities/getLanguageDir.d.ts.map +1 -0
  626. package/dist/utilities/getLanguageDir.js +12 -0
  627. package/dist/utilities/getLanguageDir.js.map +1 -0
  628. package/dist/utilities/getOffsetTop.d.ts.map +1 -1
  629. package/dist/utilities/getRequestEmbed.d.ts +14 -0
  630. package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
  631. package/dist/utilities/getRequestEmbed.js +10 -0
  632. package/dist/utilities/getRequestEmbed.js.map +1 -0
  633. package/dist/utilities/getRequestHighContrast.d.ts.map +1 -1
  634. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  635. package/dist/utilities/getRequestTheme.d.ts +1 -1
  636. package/dist/utilities/getRequestTheme.d.ts.map +1 -1
  637. package/dist/utilities/getRequestTheme.js +1 -1
  638. package/dist/utilities/getRequestTheme.js.map +1 -1
  639. package/dist/utilities/getRouteWithoutAdmin.d.ts.map +1 -1
  640. package/dist/utilities/getSupportedMonacoLocale.d.ts.map +1 -1
  641. package/dist/utilities/getVersions.d.ts +2 -2
  642. package/dist/utilities/getVersions.d.ts.map +1 -1
  643. package/dist/utilities/getVersions.js +2 -5
  644. package/dist/utilities/getVersions.js.map +1 -1
  645. package/dist/utilities/handleAuthRedirect.d.ts +2 -2
  646. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  647. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  648. package/dist/utilities/handleBackToDashboard.d.ts.map +1 -1
  649. package/dist/utilities/handleFormStateLocking.d.ts +2 -2
  650. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  651. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  652. package/dist/utilities/handleGoBack.d.ts.map +1 -1
  653. package/dist/utilities/handleLivePreview.d.ts +1 -0
  654. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  655. package/dist/utilities/handlePreview.d.ts.map +1 -1
  656. package/dist/utilities/handleServerFunctions.d.ts +32 -8
  657. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  658. package/dist/utilities/handleServerFunctions.js +17 -37
  659. package/dist/utilities/handleServerFunctions.js.map +1 -1
  660. package/dist/utilities/handleStaleDataCheck.d.ts.map +1 -1
  661. package/dist/utilities/handleTakeOver.d.ts +5 -5
  662. package/dist/utilities/handleTakeOver.d.ts.map +1 -1
  663. package/dist/utilities/handleTakeOver.js.map +1 -1
  664. package/dist/utilities/hasOptionLabelJSXElement.d.ts.map +1 -1
  665. package/dist/utilities/hasSavePermission.d.ts.map +1 -1
  666. package/dist/utilities/initReq.d.ts.map +1 -1
  667. package/dist/utilities/isClientUserObject.d.ts +2 -2
  668. package/dist/utilities/isClientUserObject.d.ts.map +1 -1
  669. package/dist/utilities/isClientUserObject.js.map +1 -1
  670. package/dist/utilities/isCustomAdminView.d.ts.map +1 -1
  671. package/dist/utilities/isEditing.d.ts.map +1 -1
  672. package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
  673. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
  674. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  675. package/dist/utilities/isURLAllowed.js +9 -3
  676. package/dist/utilities/isURLAllowed.js.map +1 -1
  677. package/dist/utilities/recentlyViewed.d.ts +16 -0
  678. package/dist/utilities/recentlyViewed.d.ts.map +1 -0
  679. package/dist/utilities/recentlyViewed.js +21 -0
  680. package/dist/utilities/recentlyViewed.js.map +1 -0
  681. package/dist/utilities/recentlyViewed.spec.js +92 -0
  682. package/dist/utilities/recentlyViewed.spec.js.map +1 -0
  683. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
  684. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  685. package/dist/utilities/renderTable.d.ts +2 -2
  686. package/dist/utilities/renderTable.d.ts.map +1 -1
  687. package/dist/utilities/renderTable.js +18 -2
  688. package/dist/utilities/renderTable.js.map +1 -1
  689. package/dist/utilities/resolveFilterOptions.d.ts +1 -1
  690. package/dist/utilities/resolveFilterOptions.d.ts.map +1 -1
  691. package/dist/utilities/sanitizeFilterOptionsQuery.d.ts.map +1 -1
  692. package/dist/utilities/scrollToID.d.ts.map +1 -1
  693. package/dist/utilities/selectiveCache.d.ts.map +1 -1
  694. package/dist/utilities/serverFunctionRegistry.d.ts +12 -7
  695. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  696. package/dist/utilities/serverFunctionRegistry.js +25 -7
  697. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  698. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  699. package/dist/utilities/slugify.d.ts +1 -1
  700. package/dist/utilities/slugify.d.ts.map +1 -1
  701. package/dist/utilities/slugify.js +50 -7
  702. package/dist/utilities/slugify.js.map +1 -1
  703. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  704. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  705. package/dist/views/Account/ResetPreferences/index.d.ts +2 -2
  706. package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -1
  707. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  708. package/dist/views/Account/Settings/index.d.ts +2 -2
  709. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  710. package/dist/views/Account/Settings/index.js.map +1 -1
  711. package/dist/views/CollectionTrash/generateCollectionTrashMetadata.d.ts.map +1 -1
  712. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
  713. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +27 -23
  714. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
  715. package/dist/views/Dashboard/Default/ModularDashboard/index.css +2 -8
  716. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +5 -5
  717. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  718. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
  719. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  720. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +2 -2
  721. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -1
  722. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -1
  723. package/dist/views/Dashboard/Default/index.d.ts +2 -2
  724. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  725. package/dist/views/Dashboard/Default/index.js.map +1 -1
  726. package/dist/views/Document/getCustomDocumentViewByKey.d.ts +1 -1
  727. package/dist/views/Document/getCustomDocumentViewByKey.d.ts.map +1 -1
  728. package/dist/views/Document/getCustomViewByRoute.d.ts +1 -1
  729. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  730. package/dist/views/Document/getDocumentView.d.ts.map +1 -1
  731. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  732. package/dist/views/Document/index.d.ts +1 -1
  733. package/dist/views/Document/index.d.ts.map +1 -1
  734. package/dist/views/Document/index.js +17 -1
  735. package/dist/views/Document/index.js.map +1 -1
  736. package/dist/views/Document/recordRecentlyViewed.d.ts +12 -0
  737. package/dist/views/Document/recordRecentlyViewed.d.ts.map +1 -0
  738. package/dist/views/Document/recordRecentlyViewed.js +40 -0
  739. package/dist/views/Document/recordRecentlyViewed.js.map +1 -0
  740. package/dist/views/Edit/index.css +61 -53
  741. package/dist/views/Edit/index.d.ts.map +1 -1
  742. package/dist/views/Edit/index.js +1 -1
  743. package/dist/views/Edit/index.js.map +1 -1
  744. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +2 -2
  745. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  746. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  747. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +2 -2
  748. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
  749. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
  750. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -1
  751. package/dist/views/HierarchyList/TypeFilter/index.js +3 -0
  752. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
  753. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  754. package/dist/views/HierarchyList/index.js +2 -6
  755. package/dist/views/HierarchyList/index.js.map +1 -1
  756. package/dist/views/List/createSerializableValue.d.ts.map +1 -1
  757. package/dist/views/List/extractRelationshipDisplayValue.d.ts.map +1 -1
  758. package/dist/views/List/extractValueOrRelationshipID.d.ts.map +1 -1
  759. package/dist/views/List/generateListViewMetadata.d.ts.map +1 -1
  760. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  761. package/dist/views/List/handleHierarchy.d.ts +1 -1
  762. package/dist/views/List/handleHierarchy.d.ts.map +1 -1
  763. package/dist/views/List/index.d.ts.map +1 -1
  764. package/dist/views/List/index.js +5 -7
  765. package/dist/views/List/index.js.map +1 -1
  766. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  767. package/dist/views/List/resolveAllFilterOptions.d.ts.map +1 -1
  768. package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -1
  769. package/dist/views/Logout/LogoutClient.js +28 -32
  770. package/dist/views/Logout/LogoutClient.js.map +1 -1
  771. package/dist/views/Logout/index.d.ts.map +1 -1
  772. package/dist/views/Logout/index.js +11 -0
  773. package/dist/views/Logout/index.js.map +1 -1
  774. package/dist/views/NotFound/page.d.ts.map +1 -1
  775. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -1
  776. package/dist/views/Root/generatePageMetadata.d.ts.map +1 -1
  777. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts +1 -1
  778. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  779. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts +1 -1
  780. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  781. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  782. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  783. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  784. package/dist/views/Root/index.d.ts +12 -1
  785. package/dist/views/Root/index.d.ts.map +1 -1
  786. package/dist/views/Root/index.js +10 -3
  787. package/dist/views/Root/index.js.map +1 -1
  788. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  789. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
  790. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  791. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
  792. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  793. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +1 -0
  794. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  795. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  796. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  797. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +1 -0
  798. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  799. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  800. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  801. package/dist/views/Version/SelectComparison/index.js +1 -0
  802. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  803. package/dist/views/Versions/buildColumns.d.ts +1 -1
  804. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  805. package/dist/views/Versions/fetchVersions.d.ts +8 -8
  806. package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
  807. package/dist/views/Versions/fetchVersions.js.map +1 -1
  808. package/dist/views/Versions/types.d.ts +2 -2
  809. package/dist/views/Versions/types.d.ts.map +1 -1
  810. package/dist/views/Versions/types.js.map +1 -1
  811. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts +2 -2
  812. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts.map +1 -1
  813. package/dist/widgets/CollectionCards/getCollectionCardsData.js.map +1 -1
  814. package/dist/widgets/CollectionCards/index.client.js.map +1 -1
  815. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
  816. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -0
  817. package/dist/widgets/CollectionQuery/SortField/index.js +118 -0
  818. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -0
  819. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts +18 -0
  820. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts.map +1 -0
  821. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js +91 -0
  822. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js.map +1 -0
  823. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +100 -0
  824. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +1 -0
  825. package/dist/widgets/CollectionQuery/index.css +64 -0
  826. package/dist/widgets/CollectionQuery/index.d.ts +16 -0
  827. package/dist/widgets/CollectionQuery/index.d.ts.map +1 -0
  828. package/dist/widgets/CollectionQuery/index.js +328 -0
  829. package/dist/widgets/CollectionQuery/index.js.map +1 -0
  830. package/dist/widgets/RecentlyViewed/CollectionsField/index.css +14 -0
  831. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +10 -0
  832. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -0
  833. package/dist/widgets/RecentlyViewed/CollectionsField/index.js +76 -0
  834. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -0
  835. package/dist/widgets/RecentlyViewed/index.d.ts +10 -0
  836. package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -0
  837. package/dist/widgets/RecentlyViewed/index.js +148 -0
  838. package/dist/widgets/RecentlyViewed/index.js.map +1 -0
  839. package/dist/widgets/WidgetCard/index.css +155 -0
  840. package/dist/widgets/WidgetCard/index.d.ts +19 -0
  841. package/dist/widgets/WidgetCard/index.d.ts.map +1 -0
  842. package/dist/widgets/WidgetCard/index.js +49 -0
  843. package/dist/widgets/WidgetCard/index.js.map +1 -0
  844. package/package.json +7 -515
  845. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +0 -1
  846. package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +0 -1
  847. package/dist/elements/Hierarchy/Drawer/index.css +0 -90
  848. package/dist/elements/Hierarchy/Drawer/index.d.ts +0 -20
  849. package/dist/elements/Hierarchy/Drawer/index.d.ts.map +0 -1
  850. package/dist/elements/Hierarchy/Drawer/index.js.map +0 -1
  851. package/dist/elements/Hierarchy/Drawer/types.d.ts.map +0 -1
  852. package/dist/elements/Hierarchy/Drawer/types.js.map +0 -1
  853. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +0 -30
  854. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +0 -1
  855. package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +0 -1
  856. package/dist/elements/Nav/NavToggler/index.css +0 -12
  857. package/dist/elements/Nav/NavToggler/index.d.ts +0 -9
  858. package/dist/elements/Nav/NavToggler/index.d.ts.map +0 -1
  859. package/dist/elements/Nav/NavToggler/index.js +0 -91
  860. package/dist/elements/Nav/NavToggler/index.js.map +0 -1
  861. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  862. package/dist/elements/RelationshipTable/Pagination.css +0 -39
  863. package/dist/scss/app.scss +0 -183
  864. package/dist/scss/colors.scss +0 -191
  865. package/dist/scss/custom.css +0 -1
  866. package/dist/scss/queries.scss +0 -27
  867. package/dist/scss/styles.scss +0 -9
  868. package/dist/scss/svg.scss +0 -10
  869. package/dist/scss/toastify.scss +0 -61
  870. package/dist/scss/vars.scss +0 -192
  871. package/dist/scss/z-index.scss +0 -9
  872. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.d.ts +0 -0
  873. /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.js +0 -0
  874. /package/dist/elements/Hierarchy/{Drawer → Modal}/types.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useState","LockIcon","useTranslation","isClientUserObject","Tooltip","baseClass","Locked","t0","$","className","user","hovered","setHovered","t","userToUse","email","id","t1","filter","Boolean","t2","join","t3","t4","Symbol","for","t5","t6","_jsxs","onMouseEnter","onMouseLeave","role","tabIndex","children","_jsx","alignCaret","position","show","staticPositioning"],"sources":["../../../src/elements/Locked/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser } from 'payload'\n\nimport React, { useState } from 'react'\n\nimport { LockIcon } from '../../icons/Lock/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { isClientUserObject } from '../../utilities/isClientUserObject.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.css'\n\nconst baseClass = 'locked'\n\nexport const Locked: React.FC<{\n className?: string\n user: ClientUser\n}> = ({ className, user }) => {\n const [hovered, setHovered] = useState(false)\n const { t } = useTranslation()\n\n const userToUse = isClientUserObject(user) ? (user.email ?? user.id) : t('general:anotherUser')\n\n return (\n <div\n className={[baseClass, className].filter(Boolean).join(' ')}\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n role=\"button\"\n tabIndex={0}\n >\n <Tooltip\n alignCaret=\"left\"\n className={`${baseClass}__tooltip`}\n position=\"bottom\"\n show={hovered}\n staticPositioning\n >{`${userToUse} ${t('general:isEditing')}`}</Tooltip>\n <LockIcon />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,OAAO,QAAQ;AACxB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,MAAA,GAGRC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW,SAAA;IAAAC;EAAA,IAAAH,EAAmB;EACvB,OAAAI,OAAA,EAAAC,UAAA,IAA8BZ,QAAA,MAAS;EACvC;IAAAa;EAAA,IAAcX,cAAA;EAEd,MAAAY,SAAA,GAAkBX,kBAAA,CAAmBO,IAAA,IAASA,IAAA,CAAAK,KAAA,IAAcL,IAAA,CAAAM,EAAO,GAAIH,CAAA,CAAE;EAAA,IAAAI,EAAA;EAAA,IAAAT,CAAA,QAAAC,SAAA;IAI1DQ,EAAA,IAAAZ,SAAA,EAAYI,SAAA,EAAAS,MAAA,CAAAC,OAAkB;IAAAX,CAAA,MAAAC,SAAA;IAAAD,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EAA9B,MAAAY,EAAA,GAAAH,EAA8B,CAAAI,IAAA,CAAc;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAf,CAAA,QAAAgB,MAAA,CAAAC,GAAA;IACzCH,EAAA,GAAAA,CAAA,KAAMV,UAAA,KAAW;IACjBW,EAAA,GAAAA,CAAA,KAAMX,UAAA,MAAW;IAAAJ,CAAA,MAAAc,EAAA;IAAAd,CAAA,MAAAe,EAAA;EAAA;IAAAD,EAAA,GAAAd,CAAA;IAAAe,EAAA,GAAAf,CAAA;EAAA;EAU7B,MAAAkB,EAAA,MAAGZ,SAAA,IAAaD,CAAA,CAAE,sBAAsB;EAAA,IAAAc,EAAA;EAAA,IAAAnB,CAAA,QAAAG,OAAA,IAAAH,CAAA,QAAAY,EAAA,IAAAZ,CAAA,QAAAkB,EAAA;IAb5CC,EAAA,GAAAC,KAAA,CAAC;MAAAnB,SAAA,EACYW,EAA4C;MAAAS,YAAA,EACzCP,EAAiB;MAAAQ,YAAA,EACjBP,EAAiB;MAAAQ,IAAA,EAC1B;MAAAC,QAAA;MAAAC,QAAA,GAGLC,IAAA,CAAA9B,OAAA;QAAA+B,UAAA,EACa;QAAA1B,SAAA,EACA,GAAAJ,SAAA,WAAuB;QAAA+B,QAAA,EACzB;QAAAC,IAAA,EACH1B,OAAA;QAAA2B,iBAAA;QAAAL,QAAA,EAENP;MAAwC,C,GAC1CQ,IAAA,CAAAjC,QAAA,IAAC;IAAA,C;;;;;;;;SAdH0B,E;CAiBJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useState","LockIcon","useTranslation","isClientUserObject","Tooltip","baseClass","Locked","t0","$","className","user","hovered","setHovered","t","userToUse","email","id","tooltipLabel","t1","filter","Boolean","t2","join","t3","t4","Symbol","for","t5","t6","t7","_jsxs","onBlur","onFocus","onKeyDown","_temp","onMouseEnter","onMouseLeave","role","tabIndex","children","_jsx","alignCaret","position","show","e","key","preventDefault"],"sources":["../../../src/elements/Locked/index.tsx"],"sourcesContent":["'use client'\nimport type { User } from 'payload'\n\nimport React, { useState } from 'react'\n\nimport { LockIcon } from '../../icons/Lock/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { isClientUserObject } from '../../utilities/isClientUserObject.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.css'\n\nconst baseClass = 'locked'\n\nexport const Locked: React.FC<{\n className?: string\n user: User\n}> = ({ className, user }) => {\n const [hovered, setHovered] = useState(false)\n const { t } = useTranslation()\n\n const userToUse = isClientUserObject(user) ? (user.email ?? user.id) : t('general:anotherUser')\n const tooltipLabel = `${userToUse} ${t('general:isEditing')}`\n\n return (\n <div\n aria-label={tooltipLabel}\n className={[baseClass, className].filter(Boolean).join(' ')}\n onBlur={() => setHovered(false)}\n onFocus={() => setHovered(true)}\n onKeyDown={(e) => {\n if (e.key === ' ') {\n e.preventDefault() // prevent page scroll when focused\n }\n }}\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n role=\"button\"\n tabIndex={0}\n >\n <LockIcon />\n <Tooltip\n alignCaret=\"center\"\n className={`${baseClass}__tooltip`}\n position=\"bottom\"\n show={hovered}\n >\n {tooltipLabel}\n </Tooltip>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,OAAO,QAAQ;AACxB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,MAAA,GAGRC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW,SAAA;IAAAC;EAAA,IAAAH,EAAmB;EACvB,OAAAI,OAAA,EAAAC,UAAA,IAA8BZ,QAAA,MAAS;EACvC;IAAAa;EAAA,IAAcX,cAAA;EAEd,MAAAY,SAAA,GAAkBX,kBAAA,CAAmBO,IAAA,IAASA,IAAA,CAAAK,KAAA,IAAcL,IAAA,CAAAM,EAAO,GAAIH,CAAA,CAAE;EACzE,MAAAI,YAAA,GAAqB,GAAGH,SAAA,IAAaD,CAAA,CAAE,sBAAsB;EAAA,IAAAK,EAAA;EAAA,IAAAV,CAAA,QAAAC,SAAA;IAK9CS,EAAA,IAAAb,SAAA,EAAYI,SAAA,EAAAU,MAAA,CAAAC,OAAkB;IAAAZ,CAAA,MAAAC,SAAA;IAAAD,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAA9B,MAAAa,EAAA,GAAAH,EAA8B,CAAAI,IAAA,CAAc;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAhB,CAAA,QAAAiB,MAAA,CAAAC,GAAA;IAC/CH,EAAA,GAAAA,CAAA,KAAMX,UAAA,MAAW;IAChBY,EAAA,GAAAA,CAAA,KAAMZ,UAAA,KAAW;IAAAJ,CAAA,MAAAe,EAAA;IAAAf,CAAA,MAAAgB,EAAA;EAAA;IAAAD,EAAA,GAAAf,CAAA;IAAAgB,EAAA,GAAAhB,CAAA;EAAA;EAAA,IAAAmB,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAApB,CAAA,QAAAiB,MAAA,CAAAC,GAAA;IAMZC,EAAA,GAAAA,CAAA,KAAMf,UAAA,KAAW;IACjBgB,EAAA,GAAAA,CAAA,KAAMhB,UAAA,MAAW;IAAAJ,CAAA,MAAAmB,EAAA;IAAAnB,CAAA,MAAAoB,EAAA;EAAA;IAAAD,EAAA,GAAAnB,CAAA;IAAAoB,EAAA,GAAApB,CAAA;EAAA;EAAA,IAAAqB,EAAA;EAAA,IAAArB,CAAA,QAAAG,OAAA,IAAAH,CAAA,QAAAa,EAAA,IAAAb,CAAA,QAAAS,YAAA;IAXjCY,EAAA,GAAAC,KAAA,CAAC;MAAA,cACab,YAAA;MAAAR,SAAA,EACDY,EAA4C;MAAAU,MAAA,EAC/CR,EAAiB;MAAAS,OAAA,EAChBR,EAAiB;MAAAS,SAAA,EAAAC,KAAA;MAAAC,YAAA,EAMZR,EAAiB;MAAAS,YAAA,EACjBR,EAAiB;MAAAS,IAAA,EAC1B;MAAAC,QAAA;MAAAC,QAAA,GAGLC,IAAA,CAAAvC,QAAA,IAAC,GACDuC,IAAA,CAAApC,OAAA;QAAAqC,UAAA,EACa;QAAAhC,SAAA,EACA,GAAAJ,SAAA,WAAuB;QAAAqC,QAAA,EACzB;QAAAC,IAAA,EACHhC,OAAA;QAAA4B,QAAA,EAELtB;MAAA,C;;;;;;;;;SAtBLY,E;CA0BJ;AAlCK,SAAAK,MAAAU,CAAA;EAAA,IAcOA,CAAA,CAAAC,GAAA,KAAU;IACZD,CAAA,CAAAE,cAAA,CAAgB;EAAA;AAAA","ignoreList":[]}
@@ -1,21 +1,23 @@
1
1
  @layer payload-default {
2
2
  .mini-carousel {
3
+ --carousel-item-width: 48px;
4
+ --carousel-item-height: 48px;
5
+ --carousel-divider-height: 48px;
3
6
  display: flex;
4
- flex-direction: column;
5
- align-items: stretch;
7
+ flex-direction: row;
8
+ align-items: center;
6
9
  gap: var(--spacer-3);
7
10
  padding: var(--spacer-2-5);
8
- height: 100%;
11
+ width: 100%;
12
+ height: auto;
9
13
  flex-shrink: 0;
10
- overflow-y: auto;
14
+ overflow-x: auto;
15
+ overflow-y: hidden;
11
16
  background: var(--color-bg-secondary);
12
- border-right: var(--stroke-width-small) solid var(--color-border);
13
- /* Honor the scroll-driven height below instead of stretching to the flex line. */
14
- align-self: flex-start;
15
- /* Scroll-driven: grow to fill the gap as the header scrolls away. Falls back to static height. */
16
- animation: mini-carousel-fill-scrolled-chrome linear both;
17
- animation-timeline: scroll(root block);
18
- animation-range: 0 calc(var(--app-header-height) + var(--doc-header-height));
17
+ border-top: var(--stroke-width-small) solid var(--color-border);
18
+ /* Stacked layout: no scroll-driven growth, fill via stretch instead. */
19
+ align-self: stretch;
20
+ animation: none;
19
21
  }
20
22
 
21
23
  @keyframes mini-carousel-fill-scrolled-chrome {
@@ -36,8 +38,8 @@
36
38
  background: var(--color-bg-secondary);
37
39
  cursor: pointer;
38
40
  overflow: hidden;
39
- width: 48px;
40
- height: 48px;
41
+ width: var(--carousel-item-width);
42
+ height: var(--carousel-item-height);
41
43
  }
42
44
 
43
45
  .mini-carousel__item img {
@@ -55,40 +57,40 @@
55
57
  }
56
58
 
57
59
  .mini-carousel__divider {
58
- width: 100%;
59
- height: var(--stroke-width-small);
60
+ width: var(--stroke-width-small);
61
+ height: var(--carousel-divider-height);
62
+ margin: 0 var(--spacer-2);
60
63
  background: var(--color-border);
61
64
  flex-shrink: 0;
62
65
  }
63
66
 
64
- /* Stacked layout: disable scroll-driven growth and fill via stretch. */
65
- @container edit-main (max-width: 1024px) {
67
+ @container edit-main (min-width: 768px) {
66
68
  .mini-carousel {
67
- align-self: stretch;
68
- height: auto;
69
- animation: none;
69
+ flex-direction: column;
70
+ align-items: stretch;
71
+ width: auto;
72
+ overflow-x: visible;
73
+ overflow-y: auto;
74
+ border-top: none;
75
+ border-right: var(--stroke-width-small) solid var(--color-border);
70
76
  }
71
- }
72
77
 
73
- @container edit-main (max-width: 768px) {
74
- .mini-carousel {
75
- flex-direction: row;
76
- align-items: center;
78
+ .mini-carousel__divider {
77
79
  width: 100%;
78
- overflow-x: auto;
79
- overflow-y: hidden;
80
- border-right: 0;
81
- border-top: var(--stroke-width-small) solid var(--color-border);
82
- }
83
-
84
- .mini-carousel__item {
85
- width: 48px;
80
+ height: var(--stroke-width-small);
81
+ margin: 0;
86
82
  }
83
+ }
87
84
 
88
- .mini-carousel__divider {
89
- width: var(--stroke-width-small);
90
- height: 48px;
91
- margin: 0 var(--spacer-2);
85
+ @container edit-main (min-width: 1024px) {
86
+ .mini-carousel {
87
+ height: 100%;
88
+ /* Honor the scroll-driven height below instead of stretching to the flex line. */
89
+ align-self: flex-start;
90
+ /* Scroll-driven: grow to fill the gap as the header scrolls away. Falls back to static height. */
91
+ animation: mini-carousel-fill-scrolled-chrome linear both;
92
+ animation-timeline: scroll(root block);
93
+ animation-range: 0 calc(var(--app-header-height) + var(--doc-header-height));
92
94
  }
93
95
  }
94
96
  }
@@ -0,0 +1,5 @@
1
+ @layer payload-default {
2
+ .settings-menu-button.popup--h-align-left .popup__content {
3
+ left: calc(var(--nav-padding-inline-start) * -0.5);
4
+ }
5
+ }
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import './index.scss';
2
+ import './index.css';
3
3
  export type SettingsMenuButtonProps = {
4
4
  settingsMenu?: React.ReactNode[];
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Nav/SettingsMenuButton/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAKvC,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAqBhE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Nav/SettingsMenuButton/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAKvC,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAqBhE,CAAA"}
@@ -6,7 +6,7 @@ import React, { Fragment } from 'react';
6
6
  import { GearIcon } from '../../../icons/Gear/index.js';
7
7
  import { useTranslation } from '../../../providers/Translation/index.js';
8
8
  import { Popup } from '../../Popup/index.js';
9
- import './index.scss';
9
+ import './index.css';
10
10
  const baseClass = 'settings-menu-button';
11
11
  export const SettingsMenuButton = t0 => {
12
12
  const $ = _c(3);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","Fragment","GearIcon","useTranslation","Popup","baseClass","SettingsMenuButton","t0","$","settingsMenu","t","length","t1","_jsx","button","ariaLabel","id","size","verticalAlign","children","map","_temp","item","i"],"sources":["../../../../src/elements/Nav/SettingsMenuButton/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment } from 'react'\n\nimport { GearIcon } from '../../../icons/Gear/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Popup } from '../../Popup/index.js'\nimport './index.scss'\n\nconst baseClass = 'settings-menu-button'\n\nexport type SettingsMenuButtonProps = {\n settingsMenu?: React.ReactNode[]\n}\n\nexport const SettingsMenuButton: React.FC<SettingsMenuButtonProps> = ({ settingsMenu }) => {\n const { t } = useTranslation()\n\n if (!settingsMenu || settingsMenu.length === 0) {\n return null\n }\n\n return (\n <Popup\n button={<GearIcon ariaLabel={t('general:menu')} />}\n className={baseClass}\n horizontalAlign=\"left\"\n id=\"settings-menu\"\n size=\"small\"\n verticalAlign=\"bottom\"\n >\n {settingsMenu.map((item, i) => (\n <Fragment key={`settings-menu-item-${i}`}>{item}</Fragment>\n ))}\n </Popup>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,KAAK,QAAQ;AACtB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAMlB,OAAO,MAAMC,kBAAA,GAAwDC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU;EAAA,IAAAF,EAAgB;EACpF;IAAAG;EAAA,IAAcP,cAAA;EAAA,IAEV,CAACM,YAAA,IAAgBA,YAAA,CAAAE,MAAA,MAAwB;IAAA;EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAJ,CAAA,QAAAC,YAAA,IAAAD,CAAA,QAAAE,CAAA;IAK3CE,EAAA,GAAAC,IAAA,CAAAT,KAAA;MAAAU,MAAA,EACUD,IAAA,CAAAX,QAAA;QAAAa,SAAA,EAAqBL,CAAA,CAAE;MAAA,C;;uBAEf;MAAAM,EAAA,EACb;MAAAC,IAAA,EACE;MAAAC,aAAA,EACS;MAAAC,QAAA,EAEbV,YAAA,CAAAW,GAAA,CAAAC,KACyC;IAAA,C;;;;;;;SAT5CT,E;CAaJ;AArBqE,SAAAS,MAAAC,IAAA,EAAAC,CAAA;EAAA,OAiB7DV,IAAA,CAAAZ,QAAA;IAAAkB,QAAA,EAA2CG;EAAA,GAA5B,sBAAsBC,CAAA,EAAG;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","Fragment","GearIcon","useTranslation","Popup","baseClass","SettingsMenuButton","t0","$","settingsMenu","t","length","t1","_jsx","button","ariaLabel","id","size","verticalAlign","children","map","_temp","item","i"],"sources":["../../../../src/elements/Nav/SettingsMenuButton/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment } from 'react'\n\nimport { GearIcon } from '../../../icons/Gear/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Popup } from '../../Popup/index.js'\nimport './index.css'\n\nconst baseClass = 'settings-menu-button'\n\nexport type SettingsMenuButtonProps = {\n settingsMenu?: React.ReactNode[]\n}\n\nexport const SettingsMenuButton: React.FC<SettingsMenuButtonProps> = ({ settingsMenu }) => {\n const { t } = useTranslation()\n\n if (!settingsMenu || settingsMenu.length === 0) {\n return null\n }\n\n return (\n <Popup\n button={<GearIcon ariaLabel={t('general:menu')} />}\n className={baseClass}\n horizontalAlign=\"left\"\n id=\"settings-menu\"\n size=\"small\"\n verticalAlign=\"bottom\"\n >\n {settingsMenu.map((item, i) => (\n <Fragment key={`settings-menu-item-${i}`}>{item}</Fragment>\n ))}\n </Popup>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,KAAK,QAAQ;AACtB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAMlB,OAAO,MAAMC,kBAAA,GAAwDC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU;EAAA,IAAAF,EAAgB;EACpF;IAAAG;EAAA,IAAcP,cAAA;EAAA,IAEV,CAACM,YAAA,IAAgBA,YAAA,CAAAE,MAAA,MAAwB;IAAA;EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAJ,CAAA,QAAAC,YAAA,IAAAD,CAAA,QAAAE,CAAA;IAK3CE,EAAA,GAAAC,IAAA,CAAAT,KAAA;MAAAU,MAAA,EACUD,IAAA,CAAAX,QAAA;QAAAa,SAAA,EAAqBL,CAAA,CAAE;MAAA,C;;uBAEf;MAAAM,EAAA,EACb;MAAAC,IAAA,EACE;MAAAC,aAAA,EACS;MAAAC,QAAA,EAEbV,YAAA,CAAAW,GAAA,CAAAC,KACyC;IAAA,C;;;;;;;SAT5CT,E;CAaJ;AArBqE,SAAAS,MAAAC,IAAA,EAAAC,CAAA;EAAA,OAiB7DV,IAAA,CAAAZ,QAAA;IAAAkB,QAAA,EAA2CG;EAAA,GAA5B,sBAAsBC,CAAA,EAAG;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../../src/elements/Nav/SidebarTabs/index.client.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAA;AAW5D,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IACnD;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,WAAW,EAAE,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA4L9D,CAAA"}
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../../src/elements/Nav/SidebarTabs/index.client.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwC,MAAM,OAAO,CAAA;AAW5D,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IACnD;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,WAAW,EAAE,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAmM9D,CAAA"}
@@ -41,7 +41,8 @@ export const SidebarTabsClient = ({
41
41
  }));
42
42
  }, [initialTabContents]);
43
43
  const loadTabContent = useCallback(async (tabSlug, {
44
- revalidate = false
44
+ revalidate = false,
45
+ serverArgs
45
46
  } = {}) => {
46
47
  const hasCachedContent = Boolean(tabContentRef.current[tabSlug]);
47
48
  // Skip if already loaded (unless revalidating) or currently loading
@@ -57,6 +58,7 @@ export const SidebarTabsClient = ({
57
58
  const result = await serverFunction({
58
59
  name: 'render-tab',
59
60
  args: {
61
+ ...serverArgs,
60
62
  tabSlug
61
63
  }
62
64
  });
@@ -73,14 +75,17 @@ export const SidebarTabsClient = ({
73
75
  }
74
76
  const errorMessage = error instanceof Error ? error.message : 'Unknown error';
75
77
  const handleRetry = () => {
76
- // Clear the error and retry loading
78
+ // Clear the error and retry loading, threading the original serverArgs through so the
79
+ // retry doesn't silently fall back to req.query-based rendering (the stale-tree bug).
77
80
  const clearedContent = {
78
81
  ...tabContentRef.current
79
82
  };
80
83
  delete clearedContent[tabSlug];
81
84
  tabContentRef.current = clearedContent;
82
85
  setTabContent(clearedContent);
83
- void loadTabContent(tabSlug);
86
+ void loadTabContent(tabSlug, {
87
+ serverArgs
88
+ });
84
89
  };
85
90
  const newContent = {
86
91
  ...tabContentRef.current,
@@ -96,7 +101,7 @@ export const SidebarTabsClient = ({
96
101
  setLoadingTab(null);
97
102
  }
98
103
  }, [serverFunction]);
99
- const reloadTabContent = useCallback(tabSlug_0 => {
104
+ const reloadTabContent = useCallback((tabSlug_0, serverArgs_0) => {
100
105
  // Clear cached content to force reload
101
106
  const clearedContent_0 = {
102
107
  ...tabContentRef.current
@@ -104,7 +109,9 @@ export const SidebarTabsClient = ({
104
109
  delete clearedContent_0[tabSlug_0];
105
110
  tabContentRef.current = clearedContent_0;
106
111
  setTabContent(clearedContent_0);
107
- void loadTabContent(tabSlug_0);
112
+ void loadTabContent(tabSlug_0, {
113
+ serverArgs: serverArgs_0
114
+ });
108
115
  }, [loadTabContent]);
109
116
  const handleTabChange = useCallback(slug => {
110
117
  setActiveTabID(slug);
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.js","names":["PREFERENCE_KEYS","React","useCallback","useRef","useState","usePreferences","useServerFunctions","SidebarTabsProvider","DelayedSpinner","Tooltip","TabError","SidebarTabsClient","baseClass","initialActiveTabID","initialTabContents","loadingDelay","tabs","setPreference","serverFunction","activeTabID","setActiveTabID","tabContent","setTabContent","loadingTab","setLoadingTab","hoveredTab","setHoveredTab","loadingTabsRef","Set","tabContentRef","useEffect","current","prev","loadTabContent","tabSlug","revalidate","hasCachedContent","Boolean","has","add","result","name","args","newContent","component","error","errorMessage","Error","message","handleRetry","clearedContent","_jsx","onRetry","delete","reloadTabContent","handleTabChange","slug","NAV_SIDEBAR_ACTIVE_TAB","activeTab","tab","find","t","lazyLoadable","handleTabKeyDown","e","currentIndex","key","preventDefault","direction","newIndex","length","newTab","setTimeout","document","querySelector","focus","activeContent","_Fragment","activeTabSlug","_jsxs","className","role","map","index","isActive","onClick","onKeyDown","onMouseEnter","onMouseLeave","tabIndex","type","position","show","label","icon","delay","isLoading","content","style","undefined","display"],"sources":["../../../../src/elements/Nav/SidebarTabs/index.client.tsx"],"sourcesContent":["'use client'\n\nimport { PREFERENCE_KEYS } from 'payload/shared'\nimport React, { useCallback, useRef, useState } from 'react'\n\nimport type { RenderTabServerFnArgs, RenderTabServerFnReturnType } from './renderTabServerFn.js'\n\nimport { usePreferences } from '../../../providers/Preferences/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { SidebarTabsProvider } from '../../../providers/SidebarTabs/index.js'\nimport { DelayedSpinner } from '../../DelayedSpinner/index.js'\nimport { Tooltip } from '../../Tooltip/index.js'\nimport { TabError } from './TabError/index.js'\n\nexport type TabMetadata = {\n icon: React.ReactNode\n isDefaultActive?: boolean\n label: string\n /** Whether this tab can be loaded/revalidated via serverFunction */\n lazyLoadable?: boolean\n slug: string\n}\n\nexport type SidebarTabsClientProps = {\n baseClass: string\n initialActiveTabID: string\n initialTabContents: Record<string, React.ReactNode>\n /**\n * Delay before showing loading spinner (in ms), prevents flashing on fast loads\n * @default 200\n */\n loadingDelay?: number\n tabs: TabMetadata[]\n}\n\nexport const SidebarTabsClient: React.FC<SidebarTabsClientProps> = ({\n baseClass,\n initialActiveTabID,\n initialTabContents,\n loadingDelay = 200,\n tabs,\n}) => {\n const { setPreference } = usePreferences()\n const { serverFunction } = useServerFunctions()\n\n const [activeTabID, setActiveTabID] = useState(initialActiveTabID)\n const [tabContent, setTabContent] = useState<Record<string, React.ReactNode>>(initialTabContents)\n const [loadingTab, setLoadingTab] = useState<null | string>(null)\n const [hoveredTab, setHoveredTab] = useState<null | string>(null)\n const loadingTabsRef = useRef<Set<string>>(new Set())\n const tabContentRef = useRef(initialTabContents)\n\n // Update cached content when server provides new initialTabContents\n // This is needed because useState only uses initialValue on first mount\n React.useEffect(() => {\n tabContentRef.current = { ...tabContentRef.current, ...initialTabContents }\n setTabContent((prev) => ({ ...prev, ...initialTabContents }))\n }, [initialTabContents])\n\n const loadTabContent = useCallback(\n async (tabSlug: string, { revalidate = false }: { revalidate?: boolean } = {}) => {\n const hasCachedContent = Boolean(tabContentRef.current[tabSlug])\n\n // Skip if already loaded (unless revalidating) or currently loading\n if ((hasCachedContent && !revalidate) || loadingTabsRef.current.has(tabSlug)) {\n return\n }\n\n // Mark as loading - only show spinner if no cached content\n loadingTabsRef.current.add(tabSlug)\n if (!hasCachedContent) {\n setLoadingTab(tabSlug)\n }\n\n try {\n const result = (await serverFunction({\n name: 'render-tab',\n args: { tabSlug } as RenderTabServerFnArgs,\n })) as RenderTabServerFnReturnType\n\n const newContent = {\n ...tabContentRef.current,\n [tabSlug]: result.component,\n }\n\n tabContentRef.current = newContent\n setTabContent(newContent)\n } catch (error) {\n // On revalidate failure, keep showing cached content\n if (hasCachedContent && revalidate) {\n return\n }\n\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n\n const handleRetry = () => {\n // Clear the error and retry loading\n const clearedContent = { ...tabContentRef.current }\n delete clearedContent[tabSlug]\n tabContentRef.current = clearedContent\n setTabContent(clearedContent)\n void loadTabContent(tabSlug)\n }\n\n const newContent = {\n ...tabContentRef.current,\n [tabSlug]: <TabError message={errorMessage} onRetry={handleRetry} />,\n }\n\n tabContentRef.current = newContent\n setTabContent(newContent)\n } finally {\n loadingTabsRef.current.delete(tabSlug)\n setLoadingTab(null)\n }\n },\n [serverFunction],\n )\n\n const reloadTabContent = useCallback(\n (tabSlug: string) => {\n // Clear cached content to force reload\n const clearedContent = { ...tabContentRef.current }\n delete clearedContent[tabSlug]\n tabContentRef.current = clearedContent\n setTabContent(clearedContent)\n\n void loadTabContent(tabSlug)\n },\n [loadTabContent],\n )\n\n const handleTabChange = useCallback(\n (slug: string) => {\n setActiveTabID(slug)\n void setPreference(PREFERENCE_KEYS.NAV_SIDEBAR_ACTIVE_TAB, { activeTab: slug })\n // Only revalidate tabs that can be loaded via serverFunction\n // Pre-rendered React elements (like default nav) can't be revalidated\n const tab = tabs.find((t) => t.slug === slug)\n void loadTabContent(slug, { revalidate: tab?.lazyLoadable ?? false })\n },\n [setPreference, loadTabContent, tabs],\n )\n\n const handleTabKeyDown = useCallback(\n (e: React.KeyboardEvent, currentIndex: number) => {\n if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') {\n e.preventDefault()\n const direction = e.key === 'ArrowLeft' ? -1 : 1\n const newIndex = (currentIndex + direction + tabs.length) % tabs.length\n const newTab = tabs[newIndex]\n handleTabChange(newTab.slug)\n // Focus will be handled by the tabIndex change\n setTimeout(() => {\n document.querySelector<HTMLButtonElement>(`.${baseClass}__tab--active`)?.focus()\n }, 0)\n }\n },\n [baseClass, handleTabChange, tabs],\n )\n\n const activeContent = tabContent[activeTabID]\n\n // If there's only one tab (the default nav), render it without tab UI\n if (tabs.length === 1) {\n return <>{activeContent}</>\n }\n\n return (\n <SidebarTabsProvider activeTabSlug={activeTabID} reloadTabContent={reloadTabContent}>\n <div className={baseClass}>\n <div className={`${baseClass}__tabs`} role=\"tablist\">\n {tabs.map((tab, index) => {\n const isActive = tab.slug === activeTabID\n\n return (\n <button\n aria-selected={isActive}\n className={`${baseClass}__tab ${isActive ? `${baseClass}__tab--active` : ''}`}\n key={tab.slug}\n onClick={() => handleTabChange(tab.slug)}\n onKeyDown={(e) => handleTabKeyDown(e, index)}\n onMouseEnter={() => setHoveredTab(tab.slug)}\n onMouseLeave={() => setHoveredTab(null)}\n role=\"tab\"\n tabIndex={isActive ? 0 : -1}\n type=\"button\"\n >\n <Tooltip\n className={`${baseClass}__tooltip`}\n position=\"bottom\"\n show={hoveredTab === tab.slug}\n >\n {tab.label}\n </Tooltip>\n <span className={`${baseClass}__tab-icon`}>{tab.icon}</span>\n <span className={`${baseClass}__tab-label`}>{tab.label}</span>\n </button>\n )\n })}\n </div>\n <div className={`${baseClass}__content`} role=\"tabpanel\">\n <DelayedSpinner\n baseClass={baseClass}\n delay={loadingDelay}\n isLoading={loadingTab === activeTabID}\n />\n {tabs.map((tab) => {\n const content = tabContent[tab.slug]\n if (!content) {\n return null\n }\n const isActive = tab.slug === activeTabID && loadingTab !== activeTabID\n return (\n <div key={tab.slug} style={isActive ? undefined : { display: 'none' }}>\n {content}\n </div>\n )\n })}\n </div>\n </div>\n </SidebarTabsProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.client.js","names":["PREFERENCE_KEYS","React","useCallback","useRef","useState","usePreferences","useServerFunctions","SidebarTabsProvider","DelayedSpinner","Tooltip","TabError","SidebarTabsClient","baseClass","initialActiveTabID","initialTabContents","loadingDelay","tabs","setPreference","serverFunction","activeTabID","setActiveTabID","tabContent","setTabContent","loadingTab","setLoadingTab","hoveredTab","setHoveredTab","loadingTabsRef","Set","tabContentRef","useEffect","current","prev","loadTabContent","tabSlug","revalidate","serverArgs","hasCachedContent","Boolean","has","add","result","name","args","newContent","component","error","errorMessage","Error","message","handleRetry","clearedContent","_jsx","onRetry","delete","reloadTabContent","handleTabChange","slug","NAV_SIDEBAR_ACTIVE_TAB","activeTab","tab","find","t","lazyLoadable","handleTabKeyDown","e","currentIndex","key","preventDefault","direction","newIndex","length","newTab","setTimeout","document","querySelector","focus","activeContent","_Fragment","activeTabSlug","_jsxs","className","role","map","index","isActive","onClick","onKeyDown","onMouseEnter","onMouseLeave","tabIndex","type","position","show","label","icon","delay","isLoading","content","style","undefined","display"],"sources":["../../../../src/elements/Nav/SidebarTabs/index.client.tsx"],"sourcesContent":["'use client'\n\nimport { PREFERENCE_KEYS } from 'payload/shared'\nimport React, { useCallback, useRef, useState } from 'react'\n\nimport type { RenderTabServerFnArgs, RenderTabServerFnReturnType } from './renderTabServerFn.js'\n\nimport { usePreferences } from '../../../providers/Preferences/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { SidebarTabsProvider } from '../../../providers/SidebarTabs/index.js'\nimport { DelayedSpinner } from '../../DelayedSpinner/index.js'\nimport { Tooltip } from '../../Tooltip/index.js'\nimport { TabError } from './TabError/index.js'\n\nexport type TabMetadata = {\n icon: React.ReactNode\n isDefaultActive?: boolean\n label: string\n /** Whether this tab can be loaded/revalidated via serverFunction */\n lazyLoadable?: boolean\n slug: string\n}\n\nexport type SidebarTabsClientProps = {\n baseClass: string\n initialActiveTabID: string\n initialTabContents: Record<string, React.ReactNode>\n /**\n * Delay before showing loading spinner (in ms), prevents flashing on fast loads\n * @default 200\n */\n loadingDelay?: number\n tabs: TabMetadata[]\n}\n\nexport const SidebarTabsClient: React.FC<SidebarTabsClientProps> = ({\n baseClass,\n initialActiveTabID,\n initialTabContents,\n loadingDelay = 200,\n tabs,\n}) => {\n const { setPreference } = usePreferences()\n const { serverFunction } = useServerFunctions()\n\n const [activeTabID, setActiveTabID] = useState(initialActiveTabID)\n const [tabContent, setTabContent] = useState<Record<string, React.ReactNode>>(initialTabContents)\n const [loadingTab, setLoadingTab] = useState<null | string>(null)\n const [hoveredTab, setHoveredTab] = useState<null | string>(null)\n const loadingTabsRef = useRef<Set<string>>(new Set())\n const tabContentRef = useRef(initialTabContents)\n\n // Update cached content when server provides new initialTabContents\n // This is needed because useState only uses initialValue on first mount\n React.useEffect(() => {\n tabContentRef.current = { ...tabContentRef.current, ...initialTabContents }\n setTabContent((prev) => ({ ...prev, ...initialTabContents }))\n }, [initialTabContents])\n\n const loadTabContent = useCallback(\n async (\n tabSlug: string,\n {\n revalidate = false,\n serverArgs,\n }: { revalidate?: boolean; serverArgs?: Partial<RenderTabServerFnArgs> } = {},\n ) => {\n const hasCachedContent = Boolean(tabContentRef.current[tabSlug])\n\n // Skip if already loaded (unless revalidating) or currently loading\n if ((hasCachedContent && !revalidate) || loadingTabsRef.current.has(tabSlug)) {\n return\n }\n\n // Mark as loading - only show spinner if no cached content\n loadingTabsRef.current.add(tabSlug)\n if (!hasCachedContent) {\n setLoadingTab(tabSlug)\n }\n\n try {\n const result = (await serverFunction({\n name: 'render-tab',\n args: { ...serverArgs, tabSlug } as RenderTabServerFnArgs,\n })) as RenderTabServerFnReturnType\n\n const newContent = {\n ...tabContentRef.current,\n [tabSlug]: result.component,\n }\n\n tabContentRef.current = newContent\n setTabContent(newContent)\n } catch (error) {\n // On revalidate failure, keep showing cached content\n if (hasCachedContent && revalidate) {\n return\n }\n\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n\n const handleRetry = () => {\n // Clear the error and retry loading, threading the original serverArgs through so the\n // retry doesn't silently fall back to req.query-based rendering (the stale-tree bug).\n const clearedContent = { ...tabContentRef.current }\n delete clearedContent[tabSlug]\n tabContentRef.current = clearedContent\n setTabContent(clearedContent)\n void loadTabContent(tabSlug, { serverArgs })\n }\n\n const newContent = {\n ...tabContentRef.current,\n [tabSlug]: <TabError message={errorMessage} onRetry={handleRetry} />,\n }\n\n tabContentRef.current = newContent\n setTabContent(newContent)\n } finally {\n loadingTabsRef.current.delete(tabSlug)\n setLoadingTab(null)\n }\n },\n [serverFunction],\n )\n\n const reloadTabContent = useCallback(\n (tabSlug: string, serverArgs?: Partial<RenderTabServerFnArgs>) => {\n // Clear cached content to force reload\n const clearedContent = { ...tabContentRef.current }\n delete clearedContent[tabSlug]\n tabContentRef.current = clearedContent\n setTabContent(clearedContent)\n\n void loadTabContent(tabSlug, { serverArgs })\n },\n [loadTabContent],\n )\n\n const handleTabChange = useCallback(\n (slug: string) => {\n setActiveTabID(slug)\n void setPreference(PREFERENCE_KEYS.NAV_SIDEBAR_ACTIVE_TAB, { activeTab: slug })\n // Only revalidate tabs that can be loaded via serverFunction\n // Pre-rendered React elements (like default nav) can't be revalidated\n const tab = tabs.find((t) => t.slug === slug)\n void loadTabContent(slug, { revalidate: tab?.lazyLoadable ?? false })\n },\n [setPreference, loadTabContent, tabs],\n )\n\n const handleTabKeyDown = useCallback(\n (e: React.KeyboardEvent, currentIndex: number) => {\n if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') {\n e.preventDefault()\n const direction = e.key === 'ArrowLeft' ? -1 : 1\n const newIndex = (currentIndex + direction + tabs.length) % tabs.length\n const newTab = tabs[newIndex]\n handleTabChange(newTab.slug)\n // Focus will be handled by the tabIndex change\n setTimeout(() => {\n document.querySelector<HTMLButtonElement>(`.${baseClass}__tab--active`)?.focus()\n }, 0)\n }\n },\n [baseClass, handleTabChange, tabs],\n )\n\n const activeContent = tabContent[activeTabID]\n\n // If there's only one tab (the default nav), render it without tab UI\n if (tabs.length === 1) {\n return <>{activeContent}</>\n }\n\n return (\n <SidebarTabsProvider activeTabSlug={activeTabID} reloadTabContent={reloadTabContent}>\n <div className={baseClass}>\n <div className={`${baseClass}__tabs`} role=\"tablist\">\n {tabs.map((tab, index) => {\n const isActive = tab.slug === activeTabID\n\n return (\n <button\n aria-selected={isActive}\n className={`${baseClass}__tab ${isActive ? `${baseClass}__tab--active` : ''}`}\n key={tab.slug}\n onClick={() => handleTabChange(tab.slug)}\n onKeyDown={(e) => handleTabKeyDown(e, index)}\n onMouseEnter={() => setHoveredTab(tab.slug)}\n onMouseLeave={() => setHoveredTab(null)}\n role=\"tab\"\n tabIndex={isActive ? 0 : -1}\n type=\"button\"\n >\n <Tooltip\n className={`${baseClass}__tooltip`}\n position=\"bottom\"\n show={hoveredTab === tab.slug}\n >\n {tab.label}\n </Tooltip>\n <span className={`${baseClass}__tab-icon`}>{tab.icon}</span>\n <span className={`${baseClass}__tab-label`}>{tab.label}</span>\n </button>\n )\n })}\n </div>\n <div className={`${baseClass}__content`} role=\"tabpanel\">\n <DelayedSpinner\n baseClass={baseClass}\n delay={loadingDelay}\n isLoading={loadingTab === activeTabID}\n />\n {tabs.map((tab) => {\n const content = tabContent[tab.slug]\n if (!content) {\n return null\n }\n const isActive = tab.slug === activeTabID && loadingTab !== activeTabID\n return (\n <div key={tab.slug} style={isActive ? undefined : { display: 'none' }}>\n {content}\n </div>\n )\n })}\n </div>\n </div>\n </SidebarTabsProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -29,10 +29,6 @@
29
29
  border: var(--stroke-width-small) solid transparent;
30
30
  background-color: transparent;
31
31
  color: var(--color-icon-secondary);
32
- transition:
33
- background-color 0.15s ease,
34
- border-color 0.15s ease,
35
- color 0.15s ease;
36
32
  position: relative;
37
33
 
38
34
  &:hover {
@@ -56,7 +52,6 @@
56
52
  display: flex;
57
53
  align-items: center;
58
54
  justify-content: center;
59
- transition: opacity 0.15s ease;
60
55
  }
61
56
 
62
57
  /* Visually hidden but still accessible for screen readers */
@@ -1,6 +1,7 @@
1
1
  import type { ServerFunction } from 'payload';
2
2
  import type React from 'react';
3
3
  export type RenderTabServerFnArgs = {
4
+ searchParams?: Record<string, unknown>;
4
5
  tabSlug: string;
5
6
  };
6
7
  export type RenderTabServerFnReturnType = {
@@ -1 +1 @@
1
- {"version":3,"file":"renderTabServerFn.d.ts","sourceRoot":"","sources":["../../../../src/elements/Nav/SidebarTabs/renderTabServerFn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAC3C,qBAAqB,EACrB,2BAA2B,CA6C5B,CAAA"}
1
+ {"version":3,"file":"renderTabServerFn.d.ts","sourceRoot":"","sources":["../../../../src/elements/Nav/SidebarTabs/renderTabServerFn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAC3C,qBAAqB,EACrB,2BAA2B,CA6C5B,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { RenderServerComponent } from '../../RenderServerComponent/index.js';
2
2
  export const renderTabHandler = ({
3
3
  req,
4
+ searchParams,
4
5
  tabSlug
5
6
  }) => {
6
7
  if (!req.user) {
@@ -33,7 +34,7 @@ export const renderTabHandler = ({
33
34
  params: req.routeParams,
34
35
  payload: req.payload,
35
36
  req,
36
- searchParams: req.query,
37
+ searchParams: searchParams ?? req.query,
37
38
  user: req.user
38
39
  }
39
40
  });
@@ -1 +1 @@
1
- {"version":3,"file":"renderTabServerFn.js","names":["RenderServerComponent","renderTabHandler","req","tabSlug","user","Error","importMap","payload","tabs","config","admin","components","sidebar","component","tabConfig","find","tab","slug","Component","Content","serverProps","i18n","locale","params","routeParams","searchParams","query","error","errorMessage","message","String","logger","err","msg"],"sources":["../../../../src/elements/Nav/SidebarTabs/renderTabServerFn.ts"],"sourcesContent":["import type { ServerFunction } from 'payload'\nimport type React from 'react'\n\nimport { RenderServerComponent } from '../../RenderServerComponent/index.js'\n\nexport type RenderTabServerFnArgs = {\n tabSlug: string\n}\n\nexport type RenderTabServerFnReturnType = {\n component: React.ReactNode\n}\n\nexport const renderTabHandler: ServerFunction<\n RenderTabServerFnArgs,\n RenderTabServerFnReturnType\n> = ({ req, tabSlug }) => {\n if (!req.user) {\n throw new Error('Unauthorized')\n }\n\n const { importMap } = req.payload\n const { tabs } = req.payload.config.admin.components?.sidebar || {}\n\n if (!tabs) {\n return { component: null }\n }\n\n const tabConfig = tabs.find((tab) => tab.slug === tabSlug)\n\n if (!tabConfig) {\n return { component: null }\n }\n\n try {\n const component = RenderServerComponent({\n Component: tabConfig.components.Content,\n importMap,\n serverProps: {\n i18n: req.i18n,\n locale: req.locale,\n params: req.routeParams,\n payload: req.payload,\n req,\n searchParams: req.query,\n user: req.user,\n },\n })\n\n return { component }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error)\n\n req.payload.logger.error({\n err: error,\n msg: `Error rendering tab \"${tabSlug}\": ${errorMessage}`,\n })\n\n return { component: null }\n }\n}\n"],"mappings":"AAGA,SAASA,qBAAqB,QAAQ;AAUtC,OAAO,MAAMC,gBAAA,GAGTA,CAAC;EAAEC,GAAG;EAAEC;AAAO,CAAE;EACnB,IAAI,CAACD,GAAA,CAAIE,IAAI,EAAE;IACb,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,MAAM;IAAEC;EAAS,CAAE,GAAGJ,GAAA,CAAIK,OAAO;EACjC,MAAM;IAAEC;EAAI,CAAE,GAAGN,GAAA,CAAIK,OAAO,CAACE,MAAM,CAACC,KAAK,CAACC,UAAU,EAAEC,OAAA,IAAW,CAAC;EAElE,IAAI,CAACJ,IAAA,EAAM;IACT,OAAO;MAAEK,SAAA,EAAW;IAAK;EAC3B;EAEA,MAAMC,SAAA,GAAYN,IAAA,CAAKO,IAAI,CAAEC,GAAA,IAAQA,GAAA,CAAIC,IAAI,KAAKd,OAAA;EAElD,IAAI,CAACW,SAAA,EAAW;IACd,OAAO;MAAED,SAAA,EAAW;IAAK;EAC3B;EAEA,IAAI;IACF,MAAMA,SAAA,GAAYb,qBAAA,CAAsB;MACtCkB,SAAA,EAAWJ,SAAA,CAAUH,UAAU,CAACQ,OAAO;MACvCb,SAAA;MACAc,WAAA,EAAa;QACXC,IAAA,EAAMnB,GAAA,CAAImB,IAAI;QACdC,MAAA,EAAQpB,GAAA,CAAIoB,MAAM;QAClBC,MAAA,EAAQrB,GAAA,CAAIsB,WAAW;QACvBjB,OAAA,EAASL,GAAA,CAAIK,OAAO;QACpBL,GAAA;QACAuB,YAAA,EAAcvB,GAAA,CAAIwB,KAAK;QACvBtB,IAAA,EAAMF,GAAA,CAAIE;MACZ;IACF;IAEA,OAAO;MAAES;IAAU;EACrB,EAAE,OAAOc,KAAA,EAAO;IACd,MAAMC,YAAA,GAAeD,KAAA,YAAiBtB,KAAA,GAAQsB,KAAA,CAAME,OAAO,GAAGC,MAAA,CAAOH,KAAA;IAErEzB,GAAA,CAAIK,OAAO,CAACwB,MAAM,CAACJ,KAAK,CAAC;MACvBK,GAAA,EAAKL,KAAA;MACLM,GAAA,EAAK,wBAAwB9B,OAAA,MAAayB,YAAA;IAC5C;IAEA,OAAO;MAAEf,SAAA,EAAW;IAAK;EAC3B;AACF","ignoreList":[]}
1
+ {"version":3,"file":"renderTabServerFn.js","names":["RenderServerComponent","renderTabHandler","req","searchParams","tabSlug","user","Error","importMap","payload","tabs","config","admin","components","sidebar","component","tabConfig","find","tab","slug","Component","Content","serverProps","i18n","locale","params","routeParams","query","error","errorMessage","message","String","logger","err","msg"],"sources":["../../../../src/elements/Nav/SidebarTabs/renderTabServerFn.ts"],"sourcesContent":["import type { ServerFunction } from 'payload'\nimport type React from 'react'\n\nimport { RenderServerComponent } from '../../RenderServerComponent/index.js'\n\nexport type RenderTabServerFnArgs = {\n searchParams?: Record<string, unknown>\n tabSlug: string\n}\n\nexport type RenderTabServerFnReturnType = {\n component: React.ReactNode\n}\n\nexport const renderTabHandler: ServerFunction<\n RenderTabServerFnArgs,\n RenderTabServerFnReturnType\n> = ({ req, searchParams, tabSlug }) => {\n if (!req.user) {\n throw new Error('Unauthorized')\n }\n\n const { importMap } = req.payload\n const { tabs } = req.payload.config.admin.components?.sidebar || {}\n\n if (!tabs) {\n return { component: null }\n }\n\n const tabConfig = tabs.find((tab) => tab.slug === tabSlug)\n\n if (!tabConfig) {\n return { component: null }\n }\n\n try {\n const component = RenderServerComponent({\n Component: tabConfig.components.Content,\n importMap,\n serverProps: {\n i18n: req.i18n,\n locale: req.locale,\n params: req.routeParams,\n payload: req.payload,\n req,\n searchParams: searchParams ?? req.query,\n user: req.user,\n },\n })\n\n return { component }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error)\n\n req.payload.logger.error({\n err: error,\n msg: `Error rendering tab \"${tabSlug}\": ${errorMessage}`,\n })\n\n return { component: null }\n }\n}\n"],"mappings":"AAGA,SAASA,qBAAqB,QAAQ;AAWtC,OAAO,MAAMC,gBAAA,GAGTA,CAAC;EAAEC,GAAG;EAAEC,YAAY;EAAEC;AAAO,CAAE;EACjC,IAAI,CAACF,GAAA,CAAIG,IAAI,EAAE;IACb,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,MAAM;IAAEC;EAAS,CAAE,GAAGL,GAAA,CAAIM,OAAO;EACjC,MAAM;IAAEC;EAAI,CAAE,GAAGP,GAAA,CAAIM,OAAO,CAACE,MAAM,CAACC,KAAK,CAACC,UAAU,EAAEC,OAAA,IAAW,CAAC;EAElE,IAAI,CAACJ,IAAA,EAAM;IACT,OAAO;MAAEK,SAAA,EAAW;IAAK;EAC3B;EAEA,MAAMC,SAAA,GAAYN,IAAA,CAAKO,IAAI,CAAEC,GAAA,IAAQA,GAAA,CAAIC,IAAI,KAAKd,OAAA;EAElD,IAAI,CAACW,SAAA,EAAW;IACd,OAAO;MAAED,SAAA,EAAW;IAAK;EAC3B;EAEA,IAAI;IACF,MAAMA,SAAA,GAAYd,qBAAA,CAAsB;MACtCmB,SAAA,EAAWJ,SAAA,CAAUH,UAAU,CAACQ,OAAO;MACvCb,SAAA;MACAc,WAAA,EAAa;QACXC,IAAA,EAAMpB,GAAA,CAAIoB,IAAI;QACdC,MAAA,EAAQrB,GAAA,CAAIqB,MAAM;QAClBC,MAAA,EAAQtB,GAAA,CAAIuB,WAAW;QACvBjB,OAAA,EAASN,GAAA,CAAIM,OAAO;QACpBN,GAAA;QACAC,YAAA,EAAcA,YAAA,IAAgBD,GAAA,CAAIwB,KAAK;QACvCrB,IAAA,EAAMH,GAAA,CAAIG;MACZ;IACF;IAEA,OAAO;MAAES;IAAU;EACrB,EAAE,OAAOa,KAAA,EAAO;IACd,MAAMC,YAAA,GAAeD,KAAA,YAAiBrB,KAAA,GAAQqB,KAAA,CAAME,OAAO,GAAGC,MAAA,CAAOH,KAAA;IAErEzB,GAAA,CAAIM,OAAO,CAACuB,MAAM,CAACJ,KAAK,CAAC;MACvBK,GAAA,EAAKL,KAAA;MACLM,GAAA,EAAK,wBAAwB7B,OAAA,MAAawB,YAAA;IAC5C;IAEA,OAAO;MAAEd,SAAA,EAAW;IAAK;EAC3B;AACF","ignoreList":[]}
@@ -119,11 +119,6 @@
119
119
  --nav-padding-inline-end: var(--gutter-h);
120
120
  }
121
121
 
122
- .nav__link {
123
- font-size: var(--text-body-small-font-size);
124
- line-height: var(--spacer-4);
125
- }
126
-
127
122
  .nav__mobile-close {
128
123
  display: flex;
129
124
  align-items: center;
@@ -57,7 +57,6 @@
57
57
  color: var(--color-icon-tertiary);
58
58
  left: calc(-1 * var(--spacer-1));
59
59
  opacity: 0;
60
- transition: opacity 150ms ease;
61
60
  }
62
61
 
63
62
  .nav-group--collapsed .collapsible__toggle {
@@ -37,6 +37,11 @@
37
37
  &:focus-visible {
38
38
  outline: none;
39
39
  }
40
+
41
+ &:disabled {
42
+ cursor: not-allowed;
43
+ opacity: 0.5;
44
+ }
40
45
  }
41
46
 
42
47
  .paginator__page-total {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Pagination/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAGpD,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsGhD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Pagination/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAGpD,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAqGhD,CAAA"}
@@ -7,7 +7,7 @@ import { ClickableArrow } from './ClickableArrow/index.js';
7
7
  import './index.css';
8
8
  const baseClass = 'paginator';
9
9
  export const Pagination = props => {
10
- const $ = _c(34);
10
+ const $ = _c(35);
11
11
  const {
12
12
  hasNextPage: t0,
13
13
  hasPrevPage: t1,
@@ -122,10 +122,8 @@ export const Pagination = props => {
122
122
  t11 = $[14];
123
123
  }
124
124
  const handleInputKeyDown = t11;
125
- if (!totalPages || totalPages <= 1) {
126
- return null;
127
- }
128
- const t12 = !hasPrevPage;
125
+ const isSinglePage = !totalPages || totalPages <= 1;
126
+ const t12 = isSinglePage || !hasPrevPage;
129
127
  let t13;
130
128
  if ($[15] !== currentPage || $[16] !== prevPage || $[17] !== updatePage) {
131
129
  t13 = () => updatePage(prevPage ?? Math.max(1, currentPage - 1));
@@ -137,16 +135,16 @@ export const Pagination = props => {
137
135
  t13 = $[18];
138
136
  }
139
137
  let t14;
140
- if ($[19] !== currentPage || $[20] !== handleInputBlur || $[21] !== handleInputKeyDown || $[22] !== hasNextPage || $[23] !== inputValue || $[24] !== nextPage || $[25] !== t12 || $[26] !== t13 || $[27] !== totalPages || $[28] !== updatePage) {
138
+ if ($[19] !== currentPage || $[20] !== handleInputBlur || $[21] !== handleInputKeyDown || $[22] !== hasNextPage || $[23] !== inputValue || $[24] !== isSinglePage || $[25] !== nextPage || $[26] !== t12 || $[27] !== t13 || $[28] !== totalPages || $[29] !== updatePage) {
141
139
  let t15;
142
- if ($[30] !== currentPage || $[31] !== nextPage || $[32] !== updatePage) {
140
+ if ($[31] !== currentPage || $[32] !== nextPage || $[33] !== updatePage) {
143
141
  t15 = () => updatePage(nextPage ?? currentPage + 1);
144
- $[30] = currentPage;
145
- $[31] = nextPage;
146
- $[32] = updatePage;
147
- $[33] = t15;
142
+ $[31] = currentPage;
143
+ $[32] = nextPage;
144
+ $[33] = updatePage;
145
+ $[34] = t15;
148
146
  } else {
149
- t15 = $[33];
147
+ t15 = $[34];
150
148
  }
151
149
  t14 = _jsxs("div", {
152
150
  className: baseClass,
@@ -156,13 +154,14 @@ export const Pagination = props => {
156
154
  updatePage: t13
157
155
  }), _jsx(ClickableArrow, {
158
156
  direction: "right",
159
- isDisabled: !hasNextPage,
157
+ isDisabled: isSinglePage || !hasNextPage,
160
158
  updatePage: t15
161
159
  }), _jsxs("div", {
162
160
  className: `${baseClass}__page-input-wrapper`,
163
161
  children: [_jsx("input", {
164
162
  "aria-label": "Go to page",
165
163
  className: `${baseClass}__page-input`,
164
+ disabled: isSinglePage,
166
165
  inputMode: "numeric",
167
166
  max: totalPages,
168
167
  min: 1,
@@ -176,7 +175,7 @@ export const Pagination = props => {
176
175
  value: inputValue
177
176
  }), _jsxs("span", {
178
177
  className: `${baseClass}__page-total`,
179
- children: ["of ", totalPages]
178
+ children: ["of ", isSinglePage ? 1 : totalPages]
180
179
  })]
181
180
  })]
182
181
  });
@@ -185,14 +184,15 @@ export const Pagination = props => {
185
184
  $[21] = handleInputKeyDown;
186
185
  $[22] = hasNextPage;
187
186
  $[23] = inputValue;
188
- $[24] = nextPage;
189
- $[25] = t12;
190
- $[26] = t13;
191
- $[27] = totalPages;
192
- $[28] = updatePage;
193
- $[29] = t14;
187
+ $[24] = isSinglePage;
188
+ $[25] = nextPage;
189
+ $[26] = t12;
190
+ $[27] = t13;
191
+ $[28] = totalPages;
192
+ $[29] = updatePage;
193
+ $[30] = t14;
194
194
  } else {
195
- t14 = $[29];
195
+ t14 = $[30];
196
196
  }
197
197
  return t14;
198
198
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useState","ClickableArrow","baseClass","Pagination","props","$","hasNextPage","t0","hasPrevPage","t1","nextPage","t2","onChange","page","t3","prevPage","t4","totalPages","t5","undefined","currentPage","inputValue","setInputValue","String","t6","t7","useEffect","t8","updatePage","t9","Symbol","for","e","target","value","handleInputChange","t10","parsed","parseInt","isNaN","clamped","Math","max","min","handleInputBlur","t11","e_0","key","currentTarget","blur","preventDefault","parsed_0","parsed_1","handleInputKeyDown","t12","t13","t14","t15","_jsxs","className","children","_jsx","direction","isDisabled","inputMode","onBlur","onKeyDown","style","width","length","type"],"sources":["../../../src/elements/Pagination/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useState } from 'react'\n\nimport { ClickableArrow } from './ClickableArrow/index.js'\nimport './index.css'\n\nconst baseClass = 'paginator'\n\nexport type PaginationProps = {\n hasNextPage?: boolean\n hasPrevPage?: boolean\n limit?: number\n nextPage?: number\n numberOfNeighbors?: number\n onChange?: (page: number) => void\n page?: number\n prevPage?: number\n totalPages?: number\n}\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n const {\n hasNextPage = false,\n hasPrevPage = false,\n nextPage = null,\n onChange,\n page: currentPage = 1,\n prevPage = null,\n totalPages = 1,\n } = props\n\n const [inputValue, setInputValue] = useState(String(currentPage))\n\n // Sync input value when currentPage changes externally\n React.useEffect(() => {\n setInputValue(String(currentPage))\n }, [currentPage])\n\n const updatePage = useCallback(\n (page: number) => {\n if (typeof onChange === 'function') {\n onChange(page)\n }\n },\n [onChange],\n )\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setInputValue(e.target.value)\n }\n\n const handleInputBlur = () => {\n const parsed = parseInt(inputValue, 10)\n if (!isNaN(parsed)) {\n // Clamp to valid range\n const clamped = Math.max(1, Math.min(parsed, totalPages))\n if (clamped !== currentPage) {\n updatePage(clamped)\n } else {\n setInputValue(String(currentPage))\n }\n } else {\n // Reset to current page if not a number\n setInputValue(String(currentPage))\n }\n }\n\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n e.currentTarget.blur()\n } else if (e.key === 'Escape') {\n setInputValue(String(currentPage))\n e.currentTarget.blur()\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n const parsed = parseInt(inputValue, 10)\n if (!isNaN(parsed) && parsed < totalPages) {\n setInputValue(String(parsed + 1))\n }\n } else if (e.key === 'ArrowDown') {\n e.preventDefault()\n const parsed = parseInt(inputValue, 10)\n if (!isNaN(parsed) && parsed > 1) {\n setInputValue(String(parsed - 1))\n }\n }\n }\n\n if (!totalPages || totalPages <= 1) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <ClickableArrow\n direction=\"left\"\n isDisabled={!hasPrevPage}\n updatePage={() => updatePage(prevPage ?? Math.max(1, currentPage - 1))}\n />\n <ClickableArrow\n direction=\"right\"\n isDisabled={!hasNextPage}\n updatePage={() => updatePage(nextPage ?? currentPage + 1)}\n />\n <div className={`${baseClass}__page-input-wrapper`}>\n <input\n aria-label=\"Go to page\"\n className={`${baseClass}__page-input`}\n inputMode=\"numeric\"\n max={totalPages}\n min={1}\n onBlur={handleInputBlur}\n onChange={handleInputChange}\n onKeyDown={handleInputKeyDown}\n style={{ width: `${Math.max(inputValue.length, 1)}ch` }}\n type=\"text\"\n value={inputValue}\n />\n <span className={`${baseClass}__page-total`}>of {totalPages}</span>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useState","ClickableArrow","baseClass","Pagination","props","$","hasNextPage","t0","hasPrevPage","t1","nextPage","t2","onChange","page","t3","prevPage","t4","totalPages","t5","undefined","currentPage","inputValue","setInputValue","String","t6","t7","useEffect","t8","updatePage","t9","Symbol","for","e","target","value","handleInputChange","t10","parsed","parseInt","isNaN","clamped","Math","max","min","handleInputBlur","t11","e_0","key","currentTarget","blur","preventDefault","parsed_0","parsed_1","handleInputKeyDown","isSinglePage","t12","t13","t14","t15","_jsxs","className","children","_jsx","direction","isDisabled","disabled","inputMode","onBlur","onKeyDown","style","width","length","type"],"sources":["../../../src/elements/Pagination/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback, useState } from 'react'\n\nimport { ClickableArrow } from './ClickableArrow/index.js'\nimport './index.css'\n\nconst baseClass = 'paginator'\n\nexport type PaginationProps = {\n hasNextPage?: boolean\n hasPrevPage?: boolean\n limit?: number\n nextPage?: number\n numberOfNeighbors?: number\n onChange?: (page: number) => void\n page?: number\n prevPage?: number\n totalPages?: number\n}\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n const {\n hasNextPage = false,\n hasPrevPage = false,\n nextPage = null,\n onChange,\n page: currentPage = 1,\n prevPage = null,\n totalPages = 1,\n } = props\n\n const [inputValue, setInputValue] = useState(String(currentPage))\n\n // Sync input value when currentPage changes externally\n React.useEffect(() => {\n setInputValue(String(currentPage))\n }, [currentPage])\n\n const updatePage = useCallback(\n (page: number) => {\n if (typeof onChange === 'function') {\n onChange(page)\n }\n },\n [onChange],\n )\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setInputValue(e.target.value)\n }\n\n const handleInputBlur = () => {\n const parsed = parseInt(inputValue, 10)\n if (!isNaN(parsed)) {\n // Clamp to valid range\n const clamped = Math.max(1, Math.min(parsed, totalPages))\n if (clamped !== currentPage) {\n updatePage(clamped)\n } else {\n setInputValue(String(currentPage))\n }\n } else {\n // Reset to current page if not a number\n setInputValue(String(currentPage))\n }\n }\n\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n e.currentTarget.blur()\n } else if (e.key === 'Escape') {\n setInputValue(String(currentPage))\n e.currentTarget.blur()\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n const parsed = parseInt(inputValue, 10)\n if (!isNaN(parsed) && parsed < totalPages) {\n setInputValue(String(parsed + 1))\n }\n } else if (e.key === 'ArrowDown') {\n e.preventDefault()\n const parsed = parseInt(inputValue, 10)\n if (!isNaN(parsed) && parsed > 1) {\n setInputValue(String(parsed - 1))\n }\n }\n }\n\n const isSinglePage = !totalPages || totalPages <= 1\n\n return (\n <div className={baseClass}>\n <ClickableArrow\n direction=\"left\"\n isDisabled={isSinglePage || !hasPrevPage}\n updatePage={() => updatePage(prevPage ?? Math.max(1, currentPage - 1))}\n />\n <ClickableArrow\n direction=\"right\"\n isDisabled={isSinglePage || !hasNextPage}\n updatePage={() => updatePage(nextPage ?? currentPage + 1)}\n />\n <div className={`${baseClass}__page-input-wrapper`}>\n <input\n aria-label=\"Go to page\"\n className={`${baseClass}__page-input`}\n disabled={isSinglePage}\n inputMode=\"numeric\"\n max={totalPages}\n min={1}\n onBlur={handleInputBlur}\n onChange={handleInputChange}\n onKeyDown={handleInputKeyDown}\n style={{ width: `${Math.max(inputValue.length, 1)}ch` }}\n type=\"text\"\n value={inputValue}\n />\n <span className={`${baseClass}__page-total`}>of {isSinglePage ? 1 : totalPages}</span>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,6 +10,7 @@ export type PopupButtonRenderProps = {
10
10
  export type PopupTriggerProps = {
11
11
  active: boolean;
12
12
  button?: React.ReactNode;
13
+ buttonAriaLabel?: string;
13
14
  buttonType: 'custom' | 'default';
14
15
  className?: string;
15
16
  disabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Popup/PopupTrigger/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,OAAO,CAAA;IACf,eAAe,EAAE,OAAO,CAAA;IACxB,eAAe,EAAE,IAAI,CAAA;IACrB,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAA;IAChC,SAAS,EAAE,KAAK,CAAC,oBAAoB,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,UAAU,EAAE,QAAQ,GAAG,SAAS,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,KAAK,CAAC,SAAS,CAAA;IACjE,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAC3D,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA6EpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Popup/PopupTrigger/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,OAAO,CAAA;IACf,eAAe,EAAE,OAAO,CAAA;IACxB,eAAe,EAAE,IAAI,CAAA;IACrB,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAA;IAChC,SAAS,EAAE,KAAK,CAAC,oBAAoB,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,QAAQ,GAAG,SAAS,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,KAAK,CAAC,SAAS,CAAA;IACjE,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAC3D,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAgFpD,CAAA"}
@@ -8,6 +8,7 @@ export const PopupTrigger = props => {
8
8
  const {
9
9
  active,
10
10
  button,
11
+ buttonAriaLabel,
11
12
  buttonType,
12
13
  className,
13
14
  disabled,
@@ -40,6 +41,7 @@ export const PopupTrigger = props => {
40
41
  }
41
42
  if (buttonType === 'custom') {
42
43
  return /*#__PURE__*/_jsx("div", {
44
+ "aria-label": buttonAriaLabel,
43
45
  className: classes,
44
46
  onClick: handleClick,
45
47
  onKeyDown: handleKeyDown,
@@ -49,6 +51,7 @@ export const PopupTrigger = props => {
49
51
  });
50
52
  }
51
53
  return /*#__PURE__*/_jsx("button", {
54
+ "aria-label": buttonAriaLabel,
52
55
  className: classes,
53
56
  disabled: disabled,
54
57
  onClick: handleClick,