@altinn/altinn-components 0.54.2 → 0.55.0

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 (302) hide show
  1. package/dist/{PersonCircle-DlX_3kRO.js → ChevronUpDown-DqGsU4MC.js} +5 -5
  2. package/dist/Eye-BrbjRZJp.js +24 -0
  3. package/dist/InboxFill-vGck_zM_.js +81 -0
  4. package/dist/InformationSquare-D3WAxfVw.js +24 -0
  5. package/dist/Trash-DBcymOP9.js +81 -0
  6. package/dist/assets/AccountMenuButton.css +1 -1
  7. package/dist/assets/AccountSelector.css +1 -1
  8. package/dist/assets/AutocompleteBase.css +1 -1
  9. package/dist/assets/ButtonGroup.css +1 -1
  10. package/dist/assets/ButtonIcon.css +1 -1
  11. package/dist/assets/DashboardCard.css +1 -0
  12. package/dist/assets/DashboardHeader.css +1 -0
  13. package/dist/assets/DialogListItem.css +1 -1
  14. package/dist/assets/Dropdown.css +1 -0
  15. package/dist/assets/DropdownBase.css +1 -1
  16. package/dist/assets/GlobalHeader.css +1 -1
  17. package/dist/assets/ItemControls.css +1 -0
  18. package/dist/assets/ItemLabel.css +1 -0
  19. package/dist/assets/ItemMedia.css +1 -0
  20. package/dist/assets/MenuItem.css +1 -1
  21. package/dist/assets/MenuListDivider.css +1 -0
  22. package/dist/assets/MenuListHeading.css +1 -0
  23. package/dist/assets/MenuListItem.css +1 -0
  24. package/dist/assets/MenuListSearch.css +1 -0
  25. package/dist/assets/MetaItemIcon.css +1 -1
  26. package/dist/assets/SearchField.css +1 -1
  27. package/dist/assets/SeenByLogButton.css +1 -0
  28. package/dist/assets/Switch.css +1 -0
  29. package/dist/assets/TabMenu.css +1 -0
  30. package/dist/assets/Tooltip.css +1 -0
  31. package/dist/assets/menuList.css +1 -0
  32. package/dist/components/Account/AccountList.js +1 -1
  33. package/dist/components/Account/AccountListVirtual.js +4 -4
  34. package/dist/components/Account/AccountMenu.js +14 -11
  35. package/dist/components/Account/AccountMenuButton.js +58 -56
  36. package/dist/components/Attachment/AttachmentLink.js +47 -41
  37. package/dist/components/Avatar/Avatar.js +11 -12
  38. package/dist/components/Avatar/AvatarGroup.js +38 -28
  39. package/dist/components/Banner/Banner.js +20 -38
  40. package/dist/components/Button/ButtonGroup.js +28 -12
  41. package/dist/components/Button/ButtonIcon.js +15 -15
  42. package/dist/components/Button/FloatingActionButton.js +22 -19
  43. package/dist/components/Byline/Byline.js +1 -1
  44. package/dist/components/ContextMenu/ContextMenu.js +73 -67
  45. package/dist/components/Dashboard/DashboardCard.js +24 -21
  46. package/dist/components/Dashboard/DashboardHeader.js +16 -14
  47. package/dist/components/Dashboard/index.js +2 -4
  48. package/dist/components/Datepicker/Datepicker.js +16 -14
  49. package/dist/components/Datepicker/DatepickerHeader.js +13 -13
  50. package/dist/components/Dialog/DialogActions.js +9 -9
  51. package/dist/components/Dialog/DialogAttachments.js +1 -1
  52. package/dist/components/Dialog/DialogListItem.js +113 -112
  53. package/dist/components/Dialog/DialogMetadata.js +83 -154
  54. package/dist/components/Dialog/DialogSeenBy.js +24 -41
  55. package/dist/components/Dialog/DialogTabs.js +4 -4
  56. package/dist/components/Dialog/SeenByLog.js +7 -7
  57. package/dist/components/Dialog/SeenByLogButton.js +12 -6
  58. package/dist/components/Dropdown/DrawerOrDropdown.js +1 -1
  59. package/dist/components/Dropdown/Dropdown.js +160 -0
  60. package/dist/components/Dropdown/DropdownBase.js +12 -12
  61. package/dist/components/Dropdown/FloatingDropdown.js +119 -74
  62. package/dist/components/Dropdown/index.js +18 -16
  63. package/dist/components/DsComponents/index.js +2 -2
  64. package/dist/components/Forms/SearchField.js +44 -29
  65. package/dist/components/Forms/Switch.js +10 -8
  66. package/dist/components/GlobalHeader/AccountSelector.js +55 -55
  67. package/dist/components/GlobalHeader/GlobalHeader.js +55 -54
  68. package/dist/components/GlobalHeader/GlobalSearch.js +1 -1
  69. package/dist/components/GlobalHeader/GlobalSearchButton.js +1 -0
  70. package/dist/components/GlobalMenu/BackButton.js +1 -1
  71. package/dist/components/GlobalMenu/GlobalMenu.js +52 -43
  72. package/dist/components/GlobalMenu/GlobalMenuButton.js +15 -14
  73. package/dist/components/GlobalMenu/LocaleSwitcher.js +30 -24
  74. package/dist/components/GlobalMenu_old/BackButton.js +1 -1
  75. package/dist/components/GlobalMenu_old/CurrentAccount.js +8 -9
  76. package/dist/components/GlobalMenu_old/EndUserLabel.js +29 -10
  77. package/dist/components/GlobalMenu_old/GlobalMenu.js +15 -8
  78. package/dist/components/GlobalMenu_old/GlobalMenuButton.js +1 -1
  79. package/dist/components/Header/Header.js +6 -6
  80. package/dist/components/Header/HeaderBase.js +1 -1
  81. package/dist/components/Header/LocaleSwitcher.js +10 -10
  82. package/dist/components/Icon/Icon.js +19 -20
  83. package/dist/components/Icon/ProgressIcon.js +1 -0
  84. package/dist/components/Icon/index.js +4 -6
  85. package/dist/components/Item/ItemControls.js +8 -0
  86. package/dist/components/Item/ItemLabel.js +34 -0
  87. package/dist/components/Item/ItemMedia.js +33 -0
  88. package/dist/components/Item/index.js +8 -0
  89. package/dist/components/Layout/Layout.js +4 -4
  90. package/dist/components/Menu/Menu.js +67 -45
  91. package/dist/components/Menu/MenuItem.js +192 -66
  92. package/dist/components/Menu/MenuItems.js +154 -71
  93. package/dist/components/Menu/MenuList.js +39 -0
  94. package/dist/components/Menu/MenuListDivider.js +8 -0
  95. package/dist/components/Menu/MenuListGroup.js +7 -0
  96. package/dist/components/Menu/MenuListHeading.js +7 -0
  97. package/dist/components/Menu/MenuListItem.js +34 -0
  98. package/dist/components/Menu/MenuListSearch.js +83 -0
  99. package/dist/components/Menu/MenuOption.js +4 -87
  100. package/dist/components/Menu/TabMenu.js +15 -0
  101. package/dist/components/Menu/VirtualizedMenuItems.js +227 -0
  102. package/dist/components/Menu/aria.js +9 -0
  103. package/dist/components/Menu/example.data.js +373 -0
  104. package/dist/components/Menu/example.hooks.js +75 -0
  105. package/dist/components/Menu/index.js +24 -25
  106. package/dist/components/Menu/types.js +1 -0
  107. package/dist/components/Menu/useDropdownMenuController.js +43 -0
  108. package/dist/components/Menu/useMenuSearch.js +146 -0
  109. package/dist/components/Menu/useMenuVirtualization.js +5 -0
  110. package/dist/components/Metadata/MetaItemIcon.js +4 -4
  111. package/dist/components/Notifications/NotificationItemBase.js +49 -50
  112. package/dist/components/Page/ContactButtons.js +13 -10
  113. package/dist/components/Page/PageTabs.js +4 -13
  114. package/dist/components/Searchbar/Autocomplete.js +34 -32
  115. package/dist/components/Searchbar/AutocompleteBase.js +3 -3
  116. package/dist/components/Searchbar/AutocompleteItem.js +29 -42
  117. package/dist/components/Settings/SettingsItemBase.js +25 -26
  118. package/dist/components/Settings/UsedByLog.js +6 -6
  119. package/dist/components/Toolbar/DatepickerFilter.js +87 -0
  120. package/dist/components/Toolbar/SelectDateFilter.js +51 -0
  121. package/dist/components/Toolbar/Toolbar.js +18 -104
  122. package/dist/components/Toolbar/ToolbarFilter.js +69 -73
  123. package/dist/components/Toolbar/ToolbarFilterAddMenu.js +82 -0
  124. package/dist/components/Toolbar/ToolbarFilterButton.js +46 -0
  125. package/dist/components/Toolbar/ToolbarFilterMenu.js +117 -0
  126. package/dist/components/Toolbar/ToolbarMenu.js +58 -21
  127. package/dist/components/Toolbar/ToolbarSearch.js +15 -10
  128. package/dist/components/Toolbar/example.data.js +388 -0
  129. package/dist/components/Toolbar/example.hooks.js +68 -0
  130. package/dist/components/Toolbar/formatDateRange.js +19 -0
  131. package/dist/components/Toolbar/index.js +12 -14
  132. package/dist/components/Toolbar/useFilter.js +63 -0
  133. package/dist/components/Tooltip/Tooltip.js +101 -0
  134. package/dist/components/Tooltip/index.js +4 -0
  135. package/dist/components/UserListItem/UserListItem.js +15 -13
  136. package/dist/components/index.js +389 -386
  137. package/dist/floating-ui.dom-bEgaHJCq.js +997 -0
  138. package/dist/global.css +1 -1
  139. package/dist/hooks/useAccountSelector.js +9 -9
  140. package/dist/hooks/useMenu.js +48 -47
  141. package/dist/index--jNxJmA8.js +2000 -0
  142. package/dist/index.js +402 -399
  143. package/dist/menuList.module-DFH60CqT.js +6 -0
  144. package/dist/{textfield-DAuYWtUj.js → textfield-Drdr9bio.js} +40 -39
  145. package/dist/types/lib/components/Account/AccountList.d.ts +2 -2
  146. package/dist/types/lib/components/Account/AccountList.stories.d.ts +3 -4
  147. package/dist/types/lib/components/Account/AccountMenu.d.ts +3 -3
  148. package/dist/types/lib/components/Account/AccountMenu.stories.d.ts +1 -1
  149. package/dist/types/lib/components/Account/AccountMenuButton.stories.d.ts +10 -2
  150. package/dist/types/lib/components/Attachment/AttachmentLink.d.ts +3 -1
  151. package/dist/types/lib/components/Attachment/AttachmentLink.stories.d.ts +1 -1
  152. package/dist/types/lib/components/Button/ButtonGroup.d.ts +3 -1
  153. package/dist/types/lib/components/Button/ButtonGroup.stories.d.ts +1 -1
  154. package/dist/types/lib/components/Button/FloatingActionButton.d.ts +1 -6
  155. package/dist/types/lib/components/ContextMenu/ContextMenu.d.ts +7 -8
  156. package/dist/types/lib/components/Dashboard/DashboardCard.d.ts +2 -2
  157. package/dist/types/lib/components/Dashboard/DashboardHeader.d.ts +2 -2
  158. package/dist/types/lib/components/Dashboard/index.d.ts +0 -1
  159. package/dist/types/lib/components/Dialog/DialogTabs.d.ts +2 -4
  160. package/dist/types/lib/components/Dialog/SeenByLogButton.d.ts +8 -5
  161. package/dist/types/lib/components/Dropdown/Dropdown.d.ts +22 -0
  162. package/dist/types/lib/components/Dropdown/Dropdown.stories.d.ts +14 -0
  163. package/dist/types/lib/components/Dropdown/DropdownBase.d.ts +3 -2
  164. package/dist/types/lib/components/Dropdown/index.d.ts +1 -0
  165. package/dist/types/lib/components/Forms/SearchField.d.ts +2 -1
  166. package/dist/types/lib/components/Forms/SearchField.stories.d.ts +1 -1
  167. package/dist/types/lib/components/Forms/Switch.d.ts +2 -1
  168. package/dist/types/lib/components/Forms/Switch.stories.d.ts +1 -1
  169. package/dist/types/lib/components/GlobalMenu/GlobalMenu.d.ts +1 -1
  170. package/dist/types/lib/components/GlobalMenu/GlobalMenu.stories.d.ts +1 -3
  171. package/dist/types/lib/components/GlobalMenu/LocaleSwitcher.d.ts +1 -1
  172. package/dist/types/lib/components/Header/HeaderButton.d.ts +0 -4
  173. package/dist/types/lib/components/Header/HeaderButton.stories.d.ts +0 -1
  174. package/dist/types/lib/components/Icon/Icon.d.ts +3 -2
  175. package/dist/types/lib/components/Icon/index.d.ts +0 -1
  176. package/dist/types/lib/components/Item/ItemControls.d.ts +7 -0
  177. package/dist/types/lib/components/Item/ItemLabel.d.ts +14 -0
  178. package/dist/types/lib/components/Item/ItemMedia.d.ts +9 -0
  179. package/dist/types/lib/components/Item/index.d.ts +3 -0
  180. package/dist/types/lib/components/Menu/Menu.d.ts +4 -7
  181. package/dist/types/lib/components/Menu/Menu.stories.d.ts +64 -4
  182. package/dist/types/lib/components/Menu/MenuItem.d.ts +53 -21
  183. package/dist/types/lib/components/Menu/MenuItems.d.ts +21 -14
  184. package/dist/types/lib/components/Menu/MenuList.d.ts +21 -0
  185. package/dist/types/lib/components/Menu/MenuListDivider.d.ts +6 -0
  186. package/dist/types/lib/components/Menu/MenuListGroup.d.ts +8 -0
  187. package/dist/types/lib/components/Menu/MenuListHeading.d.ts +8 -0
  188. package/dist/types/lib/components/Menu/MenuListItem.d.ts +9 -0
  189. package/dist/types/lib/components/Menu/MenuListSearch.d.ts +15 -0
  190. package/dist/types/lib/components/Menu/MenuListSearch.stories.d.ts +18 -0
  191. package/dist/types/lib/components/Menu/MenuOption.d.ts +5 -16
  192. package/dist/types/lib/components/Menu/TabMenu.d.ts +8 -0
  193. package/dist/types/lib/components/Menu/VirtualizedMenu.stories.d.ts +22 -0
  194. package/dist/types/lib/components/Menu/VirtualizedMenuItems.d.ts +2 -0
  195. package/dist/types/lib/components/Menu/aria.d.ts +1 -0
  196. package/dist/types/lib/components/Menu/example.hooks.d.ts +24 -0
  197. package/dist/types/lib/components/Menu/index.d.ts +10 -9
  198. package/dist/types/lib/components/Menu/types.d.ts +1 -0
  199. package/dist/types/lib/components/Menu/useDropdownMenuController.d.ts +27 -0
  200. package/dist/types/lib/components/Menu/useMenuSearch.d.ts +129 -0
  201. package/dist/types/lib/components/Menu/useMenuVirtualization.d.ts +35 -0
  202. package/dist/types/lib/components/Page/ContactButtons.d.ts +6 -2
  203. package/dist/types/lib/components/Page/PageTabs.d.ts +3 -10
  204. package/dist/types/lib/components/Page/PageTabs.stories.d.ts +1 -1
  205. package/dist/types/lib/components/Searchbar/AutocompleteItem.d.ts +3 -3
  206. package/dist/types/lib/components/Searchbar/Searchbar.stories.d.ts +1 -1
  207. package/dist/types/lib/components/Toolbar/DatepickerFilter.d.ts +15 -0
  208. package/dist/types/lib/components/Toolbar/SelectDateFilter.d.ts +8 -0
  209. package/dist/types/lib/components/Toolbar/SelectDateFilter.stories.d.ts +9 -0
  210. package/dist/types/lib/components/Toolbar/Toolbar.d.ts +6 -19
  211. package/dist/types/lib/components/Toolbar/Toolbar.stories.d.ts +21 -19
  212. package/dist/types/lib/components/Toolbar/ToolbarFilter.d.ts +11 -23
  213. package/dist/types/lib/components/Toolbar/ToolbarFilter.stories.d.ts +6 -13
  214. package/dist/types/lib/components/Toolbar/ToolbarFilterAddMenu.d.ts +8 -0
  215. package/dist/types/lib/components/Toolbar/ToolbarFilterButton.d.ts +15 -0
  216. package/dist/types/lib/components/Toolbar/ToolbarFilterMenu.d.ts +15 -0
  217. package/dist/types/lib/components/Toolbar/ToolbarMenu.d.ts +5 -10
  218. package/dist/types/lib/components/Toolbar/ToolbarSearch.d.ts +3 -5
  219. package/dist/types/lib/components/Toolbar/ToolbarSearch.stories.d.ts +635 -1
  220. package/dist/types/lib/components/Toolbar/example.hooks.d.ts +41 -0
  221. package/dist/types/lib/components/Toolbar/formatDateRange.d.ts +10 -0
  222. package/dist/types/lib/components/Toolbar/index.d.ts +4 -5
  223. package/dist/types/lib/components/Toolbar/useFilter.d.ts +173 -0
  224. package/dist/types/lib/components/Tooltip/Tooltip.d.ts +8 -0
  225. package/dist/types/lib/components/Tooltip/Tooltip.stories.d.ts +9 -0
  226. package/dist/types/lib/components/Tooltip/index.d.ts +1 -0
  227. package/dist/types/lib/components/Transmission/Transmission.stories.d.ts +2 -2
  228. package/dist/types/lib/components/Typography/Heading.d.ts +2 -2
  229. package/dist/types/lib/components/UserListItem/UserListItem.d.ts +3 -1
  230. package/dist/types/lib/components/UserListItem/UserListItem.stories.d.ts +7 -1
  231. package/dist/types/lib/components/index.d.ts +2 -0
  232. package/dist/types/lib/hooks/useAccountSelector.d.ts +2 -2
  233. package/dist/types/lib/hooks/useMenu.d.ts +3 -1
  234. package/dist/{index-De5bF0Gf.js → useMenuVirtualization-DpvWCsyD.js} +216 -165
  235. package/package.json +1 -1
  236. package/dist/assets/ContextMenu.css +0 -1
  237. package/dist/assets/IconOrAvatar.css +0 -1
  238. package/dist/assets/MenuBase.css +0 -1
  239. package/dist/assets/MenuHeader.css +0 -1
  240. package/dist/assets/MenuInputField.css +0 -1
  241. package/dist/assets/MenuItemBase.css +0 -1
  242. package/dist/assets/MenuItemIcon.css +0 -1
  243. package/dist/assets/MenuItemLabel.css +0 -1
  244. package/dist/assets/MenuItemsVirtual.css +0 -1
  245. package/dist/assets/MenuOption.css +0 -1
  246. package/dist/assets/MenuSearch.css +0 -1
  247. package/dist/assets/PageTabs.css +0 -1
  248. package/dist/assets/ToolbarBase.css +0 -1
  249. package/dist/assets/ToolbarButton.css +0 -1
  250. package/dist/assets/ToolbarDaterange.css +0 -1
  251. package/dist/assets/ToolbarFilterBase.css +0 -1
  252. package/dist/components/Dashboard/DashboardIcon.js +0 -11
  253. package/dist/components/Datepicker/DatepickerBase.js +0 -8
  254. package/dist/components/GlobalMenu/EndUserLabel.js +0 -13
  255. package/dist/components/GlobalMenu/LocaleButton.js +0 -13
  256. package/dist/components/Icon/IconOrAvatar.js +0 -33
  257. package/dist/components/Menu/MenuBase.js +0 -56
  258. package/dist/components/Menu/MenuHeader.js +0 -8
  259. package/dist/components/Menu/MenuInputField.js +0 -31
  260. package/dist/components/Menu/MenuItemBase.js +0 -58
  261. package/dist/components/Menu/MenuItemIcon.js +0 -27
  262. package/dist/components/Menu/MenuItemLabel.js +0 -76
  263. package/dist/components/Menu/MenuItemsVirtual.js +0 -168
  264. package/dist/components/Menu/MenuSearch.js +0 -41
  265. package/dist/components/Toolbar/ToolbarAccountMenu.js +0 -52
  266. package/dist/components/Toolbar/ToolbarAdd.js +0 -24
  267. package/dist/components/Toolbar/ToolbarBase.js +0 -8
  268. package/dist/components/Toolbar/ToolbarButton.js +0 -115
  269. package/dist/components/Toolbar/ToolbarDaterange.js +0 -58
  270. package/dist/components/Toolbar/ToolbarFilterBase.js +0 -17
  271. package/dist/components/Toolbar/ToolbarOptions.js +0 -84
  272. package/dist/index-DttADHE1.js +0 -2993
  273. package/dist/types/lib/components/ContextMenu/ContextMenu.stories.d.ts +0 -8
  274. package/dist/types/lib/components/Dashboard/DashboardIcon.d.ts +0 -7
  275. package/dist/types/lib/components/Datepicker/DatepickerBase.d.ts +0 -6
  276. package/dist/types/lib/components/GlobalMenu/EndUserLabel.d.ts +0 -5
  277. package/dist/types/lib/components/GlobalMenu/LocaleButton.d.ts +0 -3
  278. package/dist/types/lib/components/Icon/IconOrAvatar.d.ts +0 -13
  279. package/dist/types/lib/components/Menu/MenuBase.d.ts +0 -42
  280. package/dist/types/lib/components/Menu/MenuHeader.d.ts +0 -4
  281. package/dist/types/lib/components/Menu/MenuInputField.d.ts +0 -12
  282. package/dist/types/lib/components/Menu/MenuItemBase.d.ts +0 -28
  283. package/dist/types/lib/components/Menu/MenuItemIcon.d.ts +0 -10
  284. package/dist/types/lib/components/Menu/MenuItemLabel.d.ts +0 -15
  285. package/dist/types/lib/components/Menu/MenuItemsVirtual.d.ts +0 -2
  286. package/dist/types/lib/components/Menu/MenuSearch.d.ts +0 -10
  287. package/dist/types/lib/components/Menu/MenuSearch.stories.d.ts +0 -18
  288. package/dist/types/lib/components/Toolbar/ToolbarAccountMenu.d.ts +0 -8
  289. package/dist/types/lib/components/Toolbar/ToolbarAdd.d.ts +0 -8
  290. package/dist/types/lib/components/Toolbar/ToolbarAdd.stories.d.ts +0 -13
  291. package/dist/types/lib/components/Toolbar/ToolbarBase.d.ts +0 -5
  292. package/dist/types/lib/components/Toolbar/ToolbarButton.d.ts +0 -16
  293. package/dist/types/lib/components/Toolbar/ToolbarButton.stories.d.ts +0 -15
  294. package/dist/types/lib/components/Toolbar/ToolbarDate.stories.d.ts +0 -26
  295. package/dist/types/lib/components/Toolbar/ToolbarDaterange.d.ts +0 -11
  296. package/dist/types/lib/components/Toolbar/ToolbarDaterange.stories.d.ts +0 -15
  297. package/dist/types/lib/components/Toolbar/ToolbarFilterBase.d.ts +0 -8
  298. package/dist/types/lib/components/Toolbar/ToolbarMenu.stories.d.ts +0 -19
  299. package/dist/types/lib/components/Toolbar/ToolbarOptions.d.ts +0 -22
  300. package/dist/types/lib/components/Toolbar/ToolbarOptions.stories.d.ts +0 -12
  301. /package/dist/assets/{DatepickerBase.css → Datepicker.css} +0 -0
  302. /package/dist/types/lib/components/GlobalHeader/{AccountSector.stories.d.ts → AccountSelector.stories.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import { CSSProperties } from 'react';
1
+ import { CSSProperties, ReactNode } from 'react';
2
2
  import { Color, Size, Theme } from '..';
3
3
  export type SvgElement = React.ComponentType<React.SVGProps<SVGSVGElement>>;
4
4
  export type IconSize = Size | undefined;
@@ -6,6 +6,7 @@ export type IconColor = Color;
6
6
  export type IconTheme = Theme;
7
7
  export interface IconProps {
8
8
  svgElement?: SvgElement | undefined | null | string;
9
+ children?: ReactNode;
9
10
  iconUrl?: string;
10
11
  altText?: string;
11
12
  loading?: boolean;
@@ -16,4 +17,4 @@ export interface IconProps {
16
17
  style?: CSSProperties;
17
18
  }
18
19
  export declare const isIconProps: (icon: unknown) => icon is IconProps;
19
- export declare const Icon: ({ loading, altText, svgElement: SvgElement, size, color, theme, iconUrl, className, style, }: IconProps) => import("react/jsx-runtime").JSX.Element;
20
+ export declare const Icon: ({ loading, altText, svgElement: SvgElement, size, color, iconUrl, className, style, children, }: IconProps) => import("react/jsx-runtime").JSX.Element;
@@ -2,4 +2,3 @@ export * from './Icon';
2
2
  export * from './CheckboxIcon';
3
3
  export * from './RadioIcon';
4
4
  export * from './ProgressIcon';
5
- export * from './IconOrAvatar';
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ interface ItemControlsProps {
3
+ className?: string;
4
+ children?: ReactNode;
5
+ }
6
+ export declare const ItemControls: ({ className, children }: ItemControlsProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,14 @@
1
+ import { ReactNode } from 'react';
2
+ import { HeadingProps } from '../Typography';
3
+ export interface MenuItemLabelProps {
4
+ className?: string;
5
+ label?: string;
6
+ loading?: boolean;
7
+ highlightWords?: string[];
8
+ title?: ReactNode | string;
9
+ titleProps?: HeadingProps;
10
+ description?: ReactNode | string;
11
+ descriptionProps?: HeadingProps;
12
+ children?: ReactNode;
13
+ }
14
+ export declare const ItemLabel: ({ className, title, titleProps, description, descriptionProps, highlightWords, loading, children, }: MenuItemLabelProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ import { AvatarGroupProps, AvatarProps, SvgElement } from '..';
3
+ export interface ItemMediaProps {
4
+ className?: string;
5
+ loading?: boolean;
6
+ icon?: SvgElement | AvatarProps | AvatarGroupProps | ReactNode;
7
+ children?: ReactNode;
8
+ }
9
+ export declare const ItemMedia: ({ className, loading, icon, children }: ItemMediaProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,3 @@
1
+ export * from './ItemMedia';
2
+ export * from './ItemLabel';
3
+ export * from './ItemControls';
@@ -1,10 +1,7 @@
1
- import { MenuVariant } from './MenuBase';
2
- import { MenuItemColor } from './MenuItemBase';
3
1
  import { MenuItemsProps } from './MenuItems';
4
2
  export interface MenuProps extends MenuItemsProps {
5
- color?: MenuItemColor;
6
- variant?: MenuVariant;
7
- isVirtualized?: boolean;
8
- keyboardEvents?: boolean;
3
+ searchable?: boolean;
4
+ virtualized?: boolean;
5
+ id?: string;
9
6
  }
10
- export declare const Menu: ({ color, variant, defaultItemColor, defaultItemVariant, defaultItemSize, defaultIconTheme, groups, items, search, isVirtualized, keyboardEvents, scrollRefStyles, }: MenuProps) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const Menu: ({ searchable, search, items, groups, variant, size, level, maxLevels, virtualized, keyboardEvents, scrollRefStyles, onActiveItemIdChange, a11yMode, open, scrollToTopOnOpen, id, }: MenuProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,17 +1,77 @@
1
1
  import { StoryObj } from '@storybook/react-vite';
2
+ import { MenuItemProps } from './';
2
3
  declare const meta: {
3
4
  title: string;
4
- component: ({ color, variant, defaultItemColor, defaultItemVariant, defaultItemSize, defaultIconTheme, groups, items, search, isVirtualized, keyboardEvents, scrollRefStyles, }: import('./Menu').MenuProps) => import("react/jsx-runtime").JSX.Element;
5
+ component: ({ searchable, search, items, groups, variant, size, level, maxLevels, virtualized, keyboardEvents, scrollRefStyles, onActiveItemIdChange, a11yMode, open, scrollToTopOnOpen, id, }: import('./Menu').MenuProps) => import("react/jsx-runtime").JSX.Element;
5
6
  parameters: {};
6
- args: {};
7
+ decorators: ((Story: import('storybook/internal/csf').PartialStoryFn<import('@storybook/react-vite').ReactRenderer, {
8
+ searchable?: boolean | undefined;
9
+ virtualized?: boolean | undefined;
10
+ id?: string | undefined;
11
+ level?: number | undefined;
12
+ maxLevels?: number | undefined;
13
+ expanded?: boolean | undefined;
14
+ a11yMode?: "menu" | "combobox" | undefined;
15
+ open?: boolean | undefined;
16
+ scrollToTopOnOpen?: boolean | undefined;
17
+ autoActivateFirstItem?: boolean | undefined;
18
+ announceNoResults?: boolean | undefined;
19
+ search?: import('./MenuListSearch').MenuListSearchProps | undefined;
20
+ items: MenuItemProps[];
21
+ groups?: import('./MenuItems').MenuItemGroups | undefined;
22
+ size?: import('./MenuItem').MenuItemSize | undefined;
23
+ variant?: import('./MenuItem').MenuItemVariant | undefined;
24
+ color?: import('..').Color | undefined;
25
+ as?: React.ElementType | undefined;
26
+ keyboardEvents?: boolean | undefined;
27
+ onSelect?: (() => void) | undefined;
28
+ scrollRefStyles?: React.CSSProperties | undefined;
29
+ onActiveItemIdChange?: ((id: string | undefined) => void) | undefined;
30
+ }>, { args }: import('storybook/internal/csf').StoryContext<import('@storybook/react-vite').ReactRenderer, {
31
+ searchable?: boolean | undefined;
32
+ virtualized?: boolean | undefined;
33
+ id?: string | undefined;
34
+ level?: number | undefined;
35
+ maxLevels?: number | undefined;
36
+ expanded?: boolean | undefined;
37
+ a11yMode?: "menu" | "combobox" | undefined;
38
+ open?: boolean | undefined;
39
+ scrollToTopOnOpen?: boolean | undefined;
40
+ autoActivateFirstItem?: boolean | undefined;
41
+ announceNoResults?: boolean | undefined;
42
+ search?: import('./MenuListSearch').MenuListSearchProps | undefined;
43
+ items: MenuItemProps[];
44
+ groups?: import('./MenuItems').MenuItemGroups | undefined;
45
+ size?: import('./MenuItem').MenuItemSize | undefined;
46
+ variant?: import('./MenuItem').MenuItemVariant | undefined;
47
+ color?: import('..').Color | undefined;
48
+ as?: React.ElementType | undefined;
49
+ keyboardEvents?: boolean | undefined;
50
+ onSelect?: (() => void) | undefined;
51
+ scrollRefStyles?: React.CSSProperties | undefined;
52
+ onActiveItemIdChange?: ((id: string | undefined) => void) | undefined;
53
+ }>) => import("react/jsx-runtime").JSX.Element)[];
54
+ args: {
55
+ variant: "default";
56
+ };
7
57
  };
8
58
  export default meta;
9
59
  type Story = StoryObj<typeof meta>;
10
60
  export declare const Default: Story;
61
+ export declare const MediumSize: Story;
62
+ export declare const LargeSize: Story;
63
+ export declare const CustomLabel: Story;
11
64
  export declare const CreatingHiearchy: Story;
12
- export declare const AddingBadges: Story;
13
65
  export declare const NestingItems: Story;
14
- export declare const AccountRelationships: Story;
66
+ export declare const GlobalMenu: Story;
67
+ export declare const GlobalMenuAccount: Story;
15
68
  export declare const PersonMenu: Story;
16
69
  export declare const InboxMenu: Story;
17
70
  export declare const CompanyMenu: Story;
71
+ export declare const InboxContextMenu: Story;
72
+ export declare const AccountMenu: Story;
73
+ export declare const SearchableAccountMenu: Story;
74
+ export declare const AddFilterMenu: Story;
75
+ export declare const StatusFilterOptions: Story;
76
+ export declare const TimeFilterOptions: Story;
77
+ export declare const NestedMenuItems: Story;
@@ -1,27 +1,59 @@
1
- import { ReactElement, ReactNode } from 'react';
2
- import { BadgeProps, MenuItemBaseProps, MenuItemIconProps, MenuItemLabelProps } from '../';
3
- export interface MenuItemProps extends MenuItemBaseProps {
1
+ import { AriaAttributes, ElementType, KeyboardEventHandler, MouseEventHandler, ReactElement, ReactNode } from 'react';
2
+ import { AvatarGroupProps, AvatarProps, Color, IconProps, SvgElement } from '..';
3
+ import { BadgeProps } from '../Badge';
4
+ export type MenuItemSize = 'sm' | 'md' | 'lg';
5
+ export type MenuItemColor = Color;
6
+ export type MenuItemVariant = 'default' | 'tinted';
7
+ export type MenuItemRole = 'menuItem' | 'radio' | 'checkbox' | string;
8
+ export interface MenuItemProps extends AriaAttributes {
4
9
  id?: string;
5
- type?: string;
6
- groupId?: string | number;
7
- loading?: boolean;
8
- collapsible?: boolean;
10
+ groupId?: string;
11
+ role?: MenuItemRole;
12
+ as?: ElementType;
13
+ /** Size, default is sm */
14
+ size?: MenuItemSize;
15
+ /** Variant, default is undefined */
16
+ variant?: MenuItemVariant;
17
+ /** Color, default is undefined */
18
+ color?: MenuItemColor;
19
+ /** Icon: SvgElement or AvatarProps or AvatarGroupProps */
20
+ icon?: IconProps | SvgElement | AvatarProps | AvatarGroupProps;
21
+ /** Title */
22
+ title?: string;
23
+ /** Description */
24
+ description?: string;
25
+ /** Custom label */
26
+ label?: ReactNode | (() => ReactElement);
27
+ /** Optional badge */
28
+ badge?: BadgeProps;
29
+ /** Optional controls */
30
+ controls?: ReactNode;
31
+ /** Optional count */
32
+ count?: number;
33
+ searchWords?: string[];
34
+ highlightWords?: string[];
35
+ /** items = child elements */
36
+ items?: MenuItemProps[];
37
+ tabIndex?: number;
9
38
  expanded?: boolean;
10
- selected?: boolean;
39
+ hidden?: boolean;
11
40
  disabled?: boolean;
12
- title?: MenuItemLabelProps['title'];
13
- description?: MenuItemLabelProps['description'];
14
- highlightWords?: MenuItemLabelProps['highlightWords'];
15
- icon?: MenuItemIconProps['icon'];
16
- iconTheme?: MenuItemIconProps['theme'];
17
- iconBadge?: MenuItemIconProps['badge'];
18
- badge?: BadgeProps | ReactNode | undefined;
19
- /** Custom controls */
20
- controls?: ReactNode;
21
- linkIcon?: boolean;
41
+ selected?: boolean;
42
+ active?: boolean;
22
43
  className?: string;
23
- label?: ReactNode | (() => ReactElement);
24
- items?: MenuItemProps[];
44
+ /** linkIcon */
45
+ linkIcon?: boolean;
46
+ /** link or button */
47
+ href?: string;
48
+ onClick?: () => void;
49
+ onKeyPress?: KeyboardEventHandler;
50
+ onMouseEnter?: MouseEventHandler;
51
+ /** radio or checkbox */
52
+ name?: string;
53
+ value?: string | number;
54
+ checked?: boolean;
55
+ onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
56
+ /** data-testid */
25
57
  'data-testid'?: string;
26
58
  }
27
- export declare const MenuItem: ({ as, size, color, variant, collapsible, expanded, icon, iconTheme, iconBadge, title, description, highlightWords, badge, controls, loading, linkIcon, label, ariaLabel, ...rest }: MenuItemProps) => import("react/jsx-runtime").JSX.Element;
59
+ export declare const MenuItem: ({ id, groupId, role, as, href, onClick, onChange, onKeyPress, onMouseEnter, size, variant, color, name, value, checked, icon, label, badge, controls, title, description, highlightWords, count, linkIcon, disabled, selected, active, tabIndex, className, "data-testid": dataTestId, ...attributes }: MenuItemProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,28 +1,35 @@
1
- import { ElementType } from 'react';
2
- import { IconTheme, MenuItemColor, MenuItemProps, MenuItemSize, MenuItemVariant } from '../';
3
- import { MenuSearchProps } from './MenuSearch';
1
+ import { CSSProperties, ElementType } from 'react';
2
+ import { MenuItemProps } from '../';
3
+ import { MenuListSearchProps } from './MenuListSearch.tsx';
4
4
  export interface MenuGroupProps {
5
5
  title?: string;
6
+ hidden?: boolean;
6
7
  divider?: boolean;
7
- defaultItemSize?: MenuItemSize;
8
- defaultItemColor?: MenuItemColor;
9
- defaultItemVariant?: MenuItemVariant;
10
- defaultIconTheme?: IconTheme;
8
+ size?: MenuItemProps['size'];
9
+ variant?: MenuItemProps['variant'];
10
+ color?: MenuItemProps['color'];
11
11
  }
12
12
  export type MenuItemGroups = Record<string, MenuGroupProps>;
13
13
  export interface MenuItemsProps {
14
+ id?: string;
14
15
  level?: number;
16
+ maxLevels?: number;
15
17
  expanded?: boolean;
16
- search?: MenuSearchProps;
18
+ a11yMode?: 'menu' | 'combobox';
19
+ open?: boolean;
20
+ scrollToTopOnOpen?: boolean;
21
+ autoActivateFirstItem?: boolean;
22
+ announceNoResults?: boolean;
23
+ search?: MenuListSearchProps;
17
24
  items: MenuItemProps[];
18
25
  groups?: MenuItemGroups;
19
- defaultItemSize?: MenuItemSize;
20
- defaultItemColor?: MenuItemColor;
21
- defaultItemVariant?: MenuItemVariant;
22
- defaultIconTheme?: IconTheme;
26
+ size?: MenuItemProps['size'];
27
+ variant?: MenuItemProps['variant'];
28
+ color?: MenuItemProps['color'];
23
29
  as?: ElementType;
24
30
  keyboardEvents?: boolean;
25
31
  onSelect?: () => void;
26
- scrollRefStyles?: React.CSSProperties;
32
+ scrollRefStyles?: CSSProperties;
33
+ onActiveItemIdChange?: (id: string | undefined) => void;
27
34
  }
28
- export declare const MenuItems: ({ level, expanded, search, items, groups, defaultItemSize, defaultItemColor, defaultItemVariant, defaultIconTheme, as, keyboardEvents, onSelect, }: MenuItemsProps) => import("react/jsx-runtime").JSX.Element;
35
+ export declare const MenuItems: ({ level, maxLevels, expanded, a11yMode, open, scrollToTopOnOpen, autoActivateFirstItem, announceNoResults, search, items, groups, size, id, color, variant, scrollRefStyles, keyboardEvents, onSelect, onActiveItemIdChange, }: MenuItemsProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,21 @@
1
+ import { CSSProperties, ElementType, MouseEventHandler, ReactNode } from 'react';
2
+ import { MenuItemProps } from './MenuItem.tsx';
3
+ import { MenuListRole } from './types.ts';
4
+ export interface MenuListProps {
5
+ id?: string;
6
+ ref?: React.Ref<HTMLUListElement>;
7
+ as?: ElementType;
8
+ variant?: MenuItemProps['variant'];
9
+ color?: MenuItemProps['color'];
10
+ role?: MenuListRole;
11
+ expanded?: boolean;
12
+ className?: string;
13
+ style?: CSSProperties;
14
+ tabIndex?: number;
15
+ children?: ReactNode;
16
+ onMouseEnter?: MouseEventHandler;
17
+ onMouseLeave?: MouseEventHandler;
18
+ onBlurCapture?: React.FocusEventHandler<HTMLElement>;
19
+ onScroll?: React.UIEventHandler<HTMLUListElement>;
20
+ }
21
+ export declare const MenuList: ({ ref, id, as, role, variant, color, className, style, tabIndex, children, onMouseEnter, onMouseLeave, onBlurCapture, onScroll, }: MenuListProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ export interface MenuListDividerProps {
2
+ ref?: React.Ref<HTMLLIElement>;
3
+ style?: React.CSSProperties;
4
+ index?: number;
5
+ }
6
+ export declare const MenuListDivider: ({ ref, style, index }: MenuListDividerProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ export interface MenuListGroupProps {
2
+ ref?: React.Ref<HTMLLIElement>;
3
+ hidden?: boolean;
4
+ index?: number;
5
+ style?: React.CSSProperties;
6
+ children?: React.ReactNode;
7
+ }
8
+ export declare const MenuListGroup: ({ ref, hidden, index, style, children }: MenuListGroupProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ export interface MenuListHeadingProps {
2
+ ref?: React.Ref<HTMLLIElement>;
3
+ title: string;
4
+ level: number;
5
+ index?: number;
6
+ style?: React.CSSProperties;
7
+ }
8
+ export declare const MenuListHeading: ({ ref, title, level, index, style }: MenuListHeadingProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { ElementType } from 'react';
2
+ export interface MenuListItemProps extends React.ComponentProps<'li'> {
3
+ as?: ElementType;
4
+ expanded?: boolean;
5
+ index?: number;
6
+ disabled?: boolean;
7
+ ref?: React.Ref<HTMLLIElement>;
8
+ }
9
+ export declare const MenuListItem: ({ ref, as, role, className, children, style, index, disabled, onMouseEnter, onMouseLeave, "aria-checked": ariaChecked, }: MenuListItemProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,15 @@
1
+ import { ChangeEventHandler } from 'react';
2
+ export interface MenuListSearchProps extends React.ComponentProps<'input'> {
3
+ style?: React.CSSProperties;
4
+ index?: number;
5
+ placeholder?: string;
6
+ name: string;
7
+ clearButtonAltText?: string;
8
+ value?: string;
9
+ onChange?: ChangeEventHandler;
10
+ onClear?: () => void;
11
+ onNavigate?: () => void;
12
+ combobox?: boolean;
13
+ listId?: string;
14
+ }
15
+ export declare const MenuListSearch: ({ style, index, name, value, placeholder, clearButtonAltText, onChange, onClear, onNavigate, combobox, listId, "aria-activedescendant": activeDescendantId, onKeyDown, onInput, onFocus, ...props }: MenuListSearchProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,18 @@
1
+ import { StoryObj } from '@storybook/react-vite';
2
+ import { MenuListSearchProps } from './MenuListSearch.tsx';
3
+ declare const meta: {
4
+ title: string;
5
+ component: ({ style, index, name, value, placeholder, clearButtonAltText, onChange, onClear, onNavigate, combobox, listId, "aria-activedescendant": activeDescendantId, onKeyDown, onInput, onFocus, ...props }: MenuListSearchProps) => import("react/jsx-runtime").JSX.Element;
6
+ tags: string[];
7
+ parameters: {};
8
+ args: {
9
+ name: string;
10
+ placeholder: string;
11
+ onClear: () => void;
12
+ onChange: () => void;
13
+ };
14
+ };
15
+ export default meta;
16
+ type Story = StoryObj<typeof meta>;
17
+ export declare const Default: Story;
18
+ export declare const WithState: (args: MenuListSearchProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,20 +1,9 @@
1
- import { MenuItemProps } from '..';
2
- import { MenuItemBaseProps, MenuItemSize } from './MenuItemBase';
1
+ import { MenuItemProps } from './MenuItem';
3
2
  export type MenuOptionType = 'checkbox' | 'radio';
4
- export interface MenuOptionProps extends MenuItemBaseProps {
5
- value: string | number;
6
- label: string;
7
- icon?: MenuItemProps['icon'];
8
- title?: MenuItemProps['title'];
9
- description?: MenuItemProps['description'];
10
- groupId?: string;
11
- size?: MenuItemSize;
3
+ export interface MenuOptionProps extends MenuItemProps {
12
4
  name?: string;
13
- count?: number;
14
- checked?: boolean;
15
- disabled?: boolean;
16
5
  type?: MenuOptionType;
17
- hidden?: boolean;
18
- role?: string;
6
+ value: string | number;
7
+ checked?: boolean;
19
8
  }
20
- export declare const MenuOption: ({ size, type, name, active, value, label, title, description, icon, count, checked, disabled, onMouseEnter, onClick, role, ...rest }: MenuOptionProps) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const MenuOption: ({ name, type, value, checked, ...rest }: MenuOptionProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { MenuItemProps } from '.';
2
+ export interface TabMenuProps {
3
+ id?: string;
4
+ items?: MenuItemProps[];
5
+ variant?: MenuItemProps['variant'];
6
+ size?: MenuItemProps['size'];
7
+ }
8
+ export declare const TabMenu: ({ items, variant, size }: TabMenuProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,22 @@
1
+ export interface RawDataItem {
2
+ id: string;
3
+ groupId: string;
4
+ name: string;
5
+ orgNumber?: string;
6
+ birthdate?: string;
7
+ parentId?: string;
8
+ }
9
+ declare const meta: {
10
+ title: string;
11
+ component: ({ searchable, search, items, groups, variant, size, level, maxLevels, virtualized, keyboardEvents, scrollRefStyles, onActiveItemIdChange, a11yMode, open, scrollToTopOnOpen, id, }: import('./Menu').MenuProps) => import("react/jsx-runtime").JSX.Element;
12
+ parameters: {
13
+ layout: string;
14
+ };
15
+ args: {
16
+ variant: "default";
17
+ };
18
+ };
19
+ export default meta;
20
+ export declare const NotVirtualized: () => import("react/jsx-runtime").JSX.Element;
21
+ export declare const Virtualized: () => import("react/jsx-runtime").JSX.Element;
22
+ export declare const ToolbarVirtualizedMenu: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { MenuItemsProps } from './MenuItems';
2
+ export declare const VirtualizedMenuItems: (props: MenuItemsProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare function pickAriaProps(obj: Record<string, unknown>): Record<string, unknown>;
@@ -0,0 +1,24 @@
1
+ import { AvatarProps } from '../Avatar';
2
+ import { MenuProps } from './';
3
+ export declare const useRandomMenuItems: (limit?: number) => {
4
+ items: ({
5
+ searchWords: string[];
6
+ title: string;
7
+ description: string;
8
+ icon: AvatarProps;
9
+ id: string;
10
+ groupId?: string;
11
+ name: string;
12
+ orgNumber?: string;
13
+ birthdate?: string;
14
+ parentId?: string;
15
+ } | {
16
+ id: string;
17
+ groupId: string;
18
+ title: string;
19
+ description: string;
20
+ searchWords: string[];
21
+ icon: AvatarProps;
22
+ })[];
23
+ groups: MenuProps["groups"];
24
+ };
@@ -1,11 +1,12 @@
1
- export * from './MenuItemBase';
2
- export * from './MenuItemLabel';
3
- export * from './MenuItemIcon';
1
+ export * from './Menu';
4
2
  export * from './MenuItem';
5
- export * from './MenuInputField';
6
- export * from './MenuOption';
7
- export * from './MenuSearch';
8
- export * from './MenuHeader';
9
3
  export * from './MenuItems';
10
- export * from './MenuBase';
11
- export * from './Menu';
4
+ export * from './MenuList';
5
+ export * from './MenuListItem';
6
+ export * from './MenuListGroup';
7
+ export * from './MenuListDivider';
8
+ export * from './MenuListHeading';
9
+ export * from './MenuListSearch';
10
+ export * from './MenuOption';
11
+ export * from './TabMenu';
12
+ export * from './VirtualizedMenuItems';
@@ -0,0 +1 @@
1
+ export type MenuListRole = 'presentation' | 'group' | 'list' | 'listbox';
@@ -0,0 +1,27 @@
1
+ type UseDropdownMenuControllerOptions = {
2
+ id?: string;
3
+ focusPanelOnOpen?: boolean;
4
+ returnFocusOnClose?: boolean;
5
+ };
6
+ export declare function useDropdownMenuController(options?: UseDropdownMenuControllerOptions): {
7
+ open: boolean;
8
+ setOpen: React.Dispatch<React.SetStateAction<boolean>>;
9
+ openMenu: () => void;
10
+ closeMenu: () => void;
11
+ toggleMenu: () => void;
12
+ menuId: string;
13
+ activeDescendantId: string | undefined;
14
+ setActiveDescendantId: React.Dispatch<React.SetStateAction<string | undefined>>;
15
+ triggerRef: React.RefObject<HTMLElement | null>;
16
+ panelRef: React.RefObject<HTMLElement | null>;
17
+ dropdownA11yProps: {
18
+ menuId: string;
19
+ activeDescendantId: string | undefined;
20
+ panelRef: React.RefObject<HTMLElement | null>;
21
+ };
22
+ menuA11yProps: {
23
+ id: string;
24
+ onActiveItemIdChange: React.Dispatch<React.SetStateAction<string | undefined>>;
25
+ };
26
+ };
27
+ export {};