@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,47 +1,69 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import { MenuBase as h } from "./MenuBase.js";
3
- import { MenuItems as w } from "./MenuItems.js";
4
- import { MenuItemsVirtual as A } from "./MenuItemsVirtual.js";
5
- const J = ({
6
- color: m,
7
- variant: n,
8
- defaultItemColor: i,
9
- defaultItemVariant: p,
10
- defaultItemSize: M,
11
- defaultIconTheme: o,
12
- groups: u,
13
- items: x = [],
14
- search: j,
15
- isVirtualized: q,
16
- keyboardEvents: B,
17
- scrollRefStyles: f
18
- }) => q ? /* @__PURE__ */ r(h, { color: m, variant: n, children: /* @__PURE__ */ r(
19
- A,
20
- {
21
- search: j,
22
- items: x,
23
- groups: u,
24
- defaultItemSize: M,
25
- defaultItemColor: i,
26
- defaultItemVariant: p,
27
- defaultIconTheme: o,
28
- keyboardEvents: B,
29
- scrollRefStyles: f
30
- }
31
- ) }) : /* @__PURE__ */ r(h, { color: m, variant: n, children: /* @__PURE__ */ r(
32
- w,
33
- {
34
- search: j,
35
- items: x,
36
- groups: u,
37
- defaultItemSize: M,
38
- defaultItemColor: i,
39
- defaultItemVariant: p,
40
- defaultIconTheme: o,
41
- keyboardEvents: B,
42
- scrollRefStyles: f
43
- }
44
- ) });
1
+ "use client";
2
+ import { jsx as F } from "react/jsx-runtime";
3
+ import { MenuItems as N } from "./MenuItems.js";
4
+ import { VirtualizedMenuItems as Q } from "./VirtualizedMenuItems.js";
5
+ import { useMenuSearch as V } from "./useMenuSearch.js";
6
+ const A = ({
7
+ searchable: u,
8
+ search: s,
9
+ items: m = [],
10
+ groups: o = {},
11
+ variant: c = "default",
12
+ size: e,
13
+ level: n = 0,
14
+ maxLevels: i = 3,
15
+ virtualized: G = !1,
16
+ keyboardEvents: p = !1,
17
+ scrollRefStyles: a = {},
18
+ onActiveItemIdChange: f,
19
+ a11yMode: r = "menu",
20
+ open: h,
21
+ scrollToTopOnOpen: l,
22
+ id: x
23
+ }) => {
24
+ const t = V({ ...s, items: m, groups: o }), I = u ? t.search : s, M = u && t.hasQuery && t.resultCount === 0, S = u ? t.items : m, b = u ? { ...o, ...t.groups } : o, j = r !== "combobox";
25
+ return G ? /* @__PURE__ */ F(
26
+ Q,
27
+ {
28
+ id: x,
29
+ search: I,
30
+ announceNoResults: M,
31
+ items: S,
32
+ groups: b,
33
+ variant: c,
34
+ size: e,
35
+ level: n,
36
+ maxLevels: i,
37
+ keyboardEvents: p,
38
+ scrollRefStyles: a,
39
+ onActiveItemIdChange: f,
40
+ a11yMode: r,
41
+ open: h,
42
+ scrollToTopOnOpen: l,
43
+ autoActivateFirstItem: j
44
+ }
45
+ ) : /* @__PURE__ */ F(
46
+ N,
47
+ {
48
+ id: x,
49
+ search: I,
50
+ announceNoResults: M,
51
+ items: S,
52
+ groups: b,
53
+ variant: c,
54
+ size: e,
55
+ level: n,
56
+ maxLevels: i,
57
+ keyboardEvents: p,
58
+ scrollRefStyles: a,
59
+ onActiveItemIdChange: f,
60
+ a11yMode: r,
61
+ open: h,
62
+ scrollToTopOnOpen: l,
63
+ autoActivateFirstItem: j
64
+ }
65
+ );
66
+ };
45
67
  export {
46
- J as Menu
68
+ A as Menu
47
69
  };
@@ -1,82 +1,208 @@
1
- import { jsxs as i, jsx as t } from "react/jsx-runtime";
2
- import { isValidElement as C } from "react";
3
- import { Badge as N } from "../Badge/Badge.js";
4
- import { Icon as d } from "../Icon/Icon.js";
5
- import "../../index-p1eeF8LQ.js";
1
+ "use client";
2
+ import { jsxs as m, jsx as l, Fragment as U } from "react/jsx-runtime";
3
+ import { c as z } from "../../index-p1eeF8LQ.js";
4
+ import { Badge as A } from "../Badge/Badge.js";
5
+ import { Icon as V } from "../Icon/Icon.js";
6
+ import h, { forwardRef as X } from "react";
6
7
  import "../Button/Button.js";
7
8
  import "../RootProvider/RootProvider.js";
8
- import { MenuItemBase as q } from "./MenuItemBase.js";
9
- import { MenuItemLabel as x } from "./MenuItemLabel.js";
10
- import { MenuItemIcon as E } from "./MenuItemIcon.js";
9
+ import { ItemMedia as C } from "../Item/ItemMedia.js";
10
+ import { ItemLabel as F } from "../Item/ItemLabel.js";
11
+ import { ItemControls as K } from "../Item/ItemControls.js";
11
12
  import "../Snackbar/useSnackbar.js";
12
- import { S as L, a as b } from "../../ChevronUp-_BBfEirx.js";
13
- import { S as D } from "../../ChevronRight-ANFWmIs1.js";
14
- import '../../assets/MenuItem.css';const R = "_controls_w98qm_46", U = "_linkIcon_w98qm_59", m = {
15
- controls: R,
16
- linkIcon: U
17
- }, Y = ({
18
- as: p = "a",
19
- size: n = "md",
20
- color: l,
21
- variant: f,
22
- collapsible: a,
23
- expanded: c,
24
- icon: I,
25
- iconTheme: h,
26
- iconBadge: u,
27
- title: v,
28
- description: S,
29
- highlightWords: _,
30
- badge: o,
31
- controls: k,
32
- loading: r,
33
- linkIcon: y,
34
- label: e,
35
- ariaLabel: M,
36
- ...j
13
+ import { pickAriaProps as Y } from "./aria.js";
14
+ import { S as Z } from "../../Checkmark-Byz_C9x4.js";
15
+ import { u as $ } from "../../useId-BVFxCjkq.js";
16
+ import { S as T } from "../../ChevronRight-ANFWmIs1.js";
17
+ import '../../assets/MenuItem.css';var W = function(e, o) {
18
+ var a = {};
19
+ for (var t in e) Object.prototype.hasOwnProperty.call(e, t) && o.indexOf(t) < 0 && (a[t] = e[t]);
20
+ if (e != null && typeof Object.getOwnPropertySymbols == "function")
21
+ for (var r = 0, t = Object.getOwnPropertySymbols(e); r < t.length; r++)
22
+ o.indexOf(t[r]) < 0 && Object.prototype.propertyIsEnumerable.call(e, t[r]) && (a[t[r]] = e[t[r]]);
23
+ return a;
24
+ };
25
+ const ee = X((e, o) => {
26
+ var { title: a, titleId: t } = e, r = W(e, ["title", "titleId"]);
27
+ let n = $();
28
+ return n = a ? t || "title-" + n : void 0, h.createElement(
29
+ "svg",
30
+ Object.assign({ xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "none", viewBox: "0 0 24 24", focusable: !1, role: "img", ref: o, "aria-labelledby": n }, r),
31
+ a ? h.createElement("title", { id: n }, a) : null,
32
+ h.createElement("path", { fill: "currentColor", fillRule: "evenodd", d: "M4.75 12a.75.75 0 0 1 .75-.75h13a.75.75 0 1 1 0 1.5h-13a.75.75 0 0 1-.75-.75", clipRule: "evenodd" })
33
+ );
34
+ }), te = "_item_ifeef_3", ae = "_media_ifeef_121", ie = "_label_ifeef_142", re = "_title_ifeef_157", le = "_description_ifeef_161", ne = "_count_ifeef_173", oe = "_linkIcon_ifeef_181", i = {
35
+ item: te,
36
+ media: ae,
37
+ label: ie,
38
+ title: re,
39
+ description: le,
40
+ count: ne,
41
+ linkIcon: oe
42
+ }, Ne = ({
43
+ id: e,
44
+ groupId: o,
45
+ role: a = "menuItem",
46
+ as: t,
47
+ href: r,
48
+ onClick: n,
49
+ onChange: v,
50
+ onKeyPress: y,
51
+ onMouseEnter: I,
52
+ size: g = "sm",
53
+ variant: w,
54
+ color: N,
55
+ name: q,
56
+ value: D,
57
+ checked: c,
58
+ icon: _,
59
+ label: b,
60
+ badge: d,
61
+ controls: O,
62
+ title: p,
63
+ description: x,
64
+ highlightWords: P,
65
+ count: f,
66
+ linkIcon: j = !1,
67
+ disabled: s,
68
+ selected: G,
69
+ active: S,
70
+ tabIndex: k = 0,
71
+ className: E,
72
+ "data-testid": R,
73
+ ...H
37
74
  }) => {
38
- const w = typeof e == "function" ? e() : e, s = a ? c ? L : b : y ? D : void 0, B = () => o && !r && typeof o == "object" && "label" in o ? /* @__PURE__ */ t(N, { ...o, className: m.badge }) : C(o) ? o : null;
39
- return /* @__PURE__ */ i(
40
- q,
75
+ const B = typeof b == "function" ? b() : b, L = Y(H);
76
+ if (a === "checkbox" || a === "radio") {
77
+ const u = _ || (c ? Z : ee);
78
+ return /* @__PURE__ */ m(
79
+ "label",
80
+ {
81
+ ...L,
82
+ className: z(i.item, E),
83
+ id: e,
84
+ "data-id": e,
85
+ "data-group-id": o,
86
+ "data-size": g,
87
+ "data-variant": w,
88
+ "data-color": N,
89
+ "data-active": S,
90
+ role: a,
91
+ "aria-disabled": s,
92
+ "aria-checked": c,
93
+ "aria-selected": c,
94
+ "aria-label": p,
95
+ "data-testid": R,
96
+ onKeyUp: (M) => {
97
+ s || (M.key === "Enter" && n?.(), y?.(M));
98
+ },
99
+ onClick: n,
100
+ onMouseEnter: I,
101
+ tabIndex: k,
102
+ children: [
103
+ /* @__PURE__ */ l(
104
+ "input",
105
+ {
106
+ name: q,
107
+ value: D,
108
+ type: a,
109
+ checked: !!c,
110
+ onChange: v,
111
+ readOnly: !v,
112
+ style: { opacity: 0, position: "absolute" },
113
+ tabIndex: -1
114
+ }
115
+ ),
116
+ /* @__PURE__ */ l(C, { icon: u, className: i.media }),
117
+ /* @__PURE__ */ l(
118
+ F,
119
+ {
120
+ className: i.label,
121
+ highlightWords: P,
122
+ title: /* @__PURE__ */ m(U, { children: [
123
+ p,
124
+ " ",
125
+ f && /* @__PURE__ */ l("i", { className: i.count, children: f })
126
+ ] }),
127
+ titleProps: {
128
+ weight: "medium",
129
+ className: i.title
130
+ },
131
+ description: x,
132
+ descriptionProps: {
133
+ weight: "normal",
134
+ variant: "subtle",
135
+ className: i.description
136
+ },
137
+ children: B
138
+ }
139
+ ),
140
+ /* @__PURE__ */ m(K, { children: [
141
+ d && /* @__PURE__ */ l(A, { ...d }),
142
+ O
143
+ ] })
144
+ ]
145
+ }
146
+ );
147
+ }
148
+ const J = t || (r ? "a" : "button"), Q = j && T;
149
+ return /* @__PURE__ */ m(
150
+ J,
41
151
  {
42
- as: p,
43
- size: n,
44
- variant: f,
45
- color: l,
46
- expanded: c,
47
- ariaLabel: M,
48
- hidden: r,
49
- ...j,
152
+ href: r,
153
+ className: z(i.item, E),
154
+ id: e,
155
+ "data-id": e,
156
+ "data-group-id": o,
157
+ "data-size": g,
158
+ "data-variant": w,
159
+ "data-color": N,
160
+ "data-active": S,
161
+ "aria-disabled": s,
162
+ "aria-selected": G,
163
+ "aria-label": p,
164
+ "data-testid": R,
165
+ onKeyUp: (u) => {
166
+ s || (u.key === "Enter" && n?.(), y?.(u));
167
+ },
168
+ onClick: n,
169
+ onMouseEnter: I,
170
+ tabIndex: s ? -1 : k ?? 0,
171
+ role: a === "menuItem" ? "menuitem" : a,
172
+ ...L,
50
173
  children: [
51
- /* @__PURE__ */ t(E, { loading: r, size: n, icon: I, theme: h, badge: u }),
52
- /* @__PURE__ */ t(
53
- x,
174
+ _ && /* @__PURE__ */ l(C, { icon: _, className: i.media }),
175
+ /* @__PURE__ */ l(
176
+ F,
54
177
  {
55
- loading: r,
56
- title: v,
57
- description: S,
58
- highlightWords: _,
59
- size: n,
60
- children: w
178
+ className: i.label,
179
+ highlightWords: P,
180
+ title: /* @__PURE__ */ m(U, { children: [
181
+ p,
182
+ " ",
183
+ f && /* @__PURE__ */ l("i", { className: i.count, children: f })
184
+ ] }),
185
+ titleProps: {
186
+ weight: "medium",
187
+ className: i.title
188
+ },
189
+ description: x,
190
+ descriptionProps: {
191
+ variant: "subtle",
192
+ className: i.description
193
+ },
194
+ children: B
61
195
  }
62
196
  ),
63
- /* @__PURE__ */ i("span", { className: m.controls, children: [
64
- !r && B(),
65
- !r && k,
66
- s && /* @__PURE__ */ t("span", { className: m.linkIcon, children: /* @__PURE__ */ t(
67
- d,
68
- {
69
- svgElement: s,
70
- style: {
71
- fontSize: "1.5rem"
72
- }
73
- }
74
- ) })
197
+ /* @__PURE__ */ m(K, { children: [
198
+ d && /* @__PURE__ */ l(A, { ...d }),
199
+ O,
200
+ j && /* @__PURE__ */ l(V, { svgElement: Q, className: i.linkIcon })
75
201
  ] })
76
202
  ]
77
203
  }
78
204
  );
79
205
  };
80
206
  export {
81
- Y as MenuItem
207
+ Ne as MenuItem
82
208
  };
@@ -1,83 +1,166 @@
1
1
  "use client";
2
- import { jsxs as n, jsx as t, Fragment as G } from "react/jsx-runtime";
3
- import { useRef as H, Fragment as K } from "react";
2
+ import { jsxs as v, jsx as c } from "react/jsx-runtime";
3
+ import { useRef as A, useState as X, useMemo as Y, useEffect as x, Fragment as Z } from "react";
4
4
  import "../../index-p1eeF8LQ.js";
5
- import { useMenu as R } from "../../hooks/useMenu.js";
5
+ import { useMenu as E } from "../../hooks/useMenu.js";
6
6
  import "../Button/Button.js";
7
7
  import "../RootProvider/RootProvider.js";
8
- import { MenuItem as S } from "./MenuItem.js";
9
- import { MenuSearch as _ } from "./MenuSearch.js";
10
- import { MenuHeader as $ } from "./MenuHeader.js";
11
- import { MenuList as q, MenuListItem as i } from "./MenuBase.js";
8
+ import { MenuListSearch as ee } from "./MenuListSearch.js";
9
+ import { MenuItem as te } from "./MenuItem.js";
10
+ import { MenuList as B } from "./MenuList.js";
11
+ import { MenuListItem as oe } from "./MenuListItem.js";
12
+ import { MenuListGroup as re } from "./MenuListGroup.js";
13
+ import { MenuListDivider as ie } from "./MenuListDivider.js";
14
+ import { MenuListHeading as ne } from "./MenuListHeading.js";
12
15
  import "../Snackbar/useSnackbar.js";
13
- const w = ({
14
- level: a = 0,
15
- expanded: L,
16
- search: c,
17
- items: b,
18
- groups: d = {},
19
- defaultItemSize: u,
20
- defaultItemColor: l,
21
- defaultItemVariant: f,
22
- defaultIconTheme: x,
23
- as: g,
24
- keyboardEvents: M = !1,
25
- onSelect: j = () => {
26
- }
16
+ const se = ({
17
+ level: d = 0,
18
+ maxLevels: M,
19
+ expanded: N,
20
+ a11yMode: O = "menu",
21
+ open: r,
22
+ scrollToTopOnOpen: L = !1,
23
+ autoActivateFirstItem: P = !0,
24
+ announceNoResults: D = !1,
25
+ search: i,
26
+ items: F,
27
+ groups: k = {},
28
+ size: K,
29
+ id: m,
30
+ color: S,
31
+ variant: b,
32
+ scrollRefStyles: q = {},
33
+ keyboardEvents: a = !1,
34
+ onSelect: G = () => {
35
+ },
36
+ onActiveItemIdChange: C
27
37
  }) => {
28
- const h = H(null), { menu: I, setActiveIndex: z } = R({
29
- items: b,
30
- groups: d,
38
+ if (M && d >= M)
39
+ return null;
40
+ const o = O === "combobox", R = o && m ? `${m}-listbox` : m, I = A(r), $ = A(r), [H, s] = X(!1), U = Y(
41
+ () => F.map((e, n) => ({
42
+ ...e,
43
+ id: e.id || `${m}-item-${n}`
44
+ })),
45
+ [F, m]
46
+ ), p = A(null), { menu: W, setActiveIndex: y, activeItem: g } = E({
47
+ items: U,
48
+ groups: k,
31
49
  groupByKey: "groupId",
32
- keyboardEvents: M,
33
- onSelect: j,
34
- ref: h
50
+ keyboardEvents: a,
51
+ autoActivateFirstItem: P,
52
+ onSelect: G,
53
+ ref: p
35
54
  });
36
- return /* @__PURE__ */ n(q, { expanded: L, as: g, ref: h, children: [
37
- c && /* @__PURE__ */ t(_, { ...c }),
38
- I.map((s, m) => {
39
- const r = s?.props || {}, { title: v, divider: P = !0 } = r, T = I[m + 1];
40
- return /* @__PURE__ */ n(K, { children: [
41
- (a > 0 || m) && P ? /* @__PURE__ */ t(i, { role: "separator" }) : "",
42
- v && /* @__PURE__ */ t(i, { children: /* @__PURE__ */ t($, { title: v }) }),
43
- s?.items.filter((o) => !o.props?.hidden).map((o, F) => {
44
- const { active: y, onMouseEnter: A } = o, { groupId: C, ...e } = o.props || {}, { expanded: p } = e, B = s?.items[F + 1];
45
- return /* @__PURE__ */ n(i, { expanded: p, onMouseLeave: () => z(-1), children: [
46
- /* @__PURE__ */ t(
47
- S,
48
- {
49
- ...e,
50
- size: e?.size || r?.defaultItemSize || u,
51
- color: e?.color || r?.defaultItemColor || l,
52
- variant: e?.variant || r?.defaultItemVariant || f,
53
- iconTheme: e?.iconTheme || r?.defaultIconTheme || x,
54
- active: y,
55
- tabIndex: e?.disabled || M ? -1 : e.tabIndex ?? 0,
56
- onMouseEnter: A
57
- }
58
- ),
59
- p && e?.items && /* @__PURE__ */ n(G, { children: [
60
- /* @__PURE__ */ t(
61
- w,
62
- {
63
- expanded: p,
64
- level: a + 1,
65
- items: e?.items,
66
- groups: d,
67
- defaultItemSize: u,
68
- defaultItemColor: l,
69
- defaultItemVariant: f,
70
- defaultIconTheme: x
71
- }
72
- ),
73
- (T || B) && /* @__PURE__ */ t(i, { role: "separator", as: "div" })
74
- ] })
75
- ] }, F);
55
+ return x(() => {
56
+ C?.(g?.id);
57
+ }, [g?.id, C]), x(() => {
58
+ if (!L) {
59
+ I.current = r;
60
+ return;
61
+ }
62
+ const e = I.current;
63
+ I.current = r, r && !e && p.current?.scrollTo({ top: 0 });
64
+ }, [r, L]), x(() => {
65
+ const e = $.current;
66
+ $.current = r, !(!a || i) && r && !e && requestAnimationFrame(() => p.current?.focus?.({ preventScroll: !0 }));
67
+ }, [r, a, i]), x(() => {
68
+ if (o && D) {
69
+ y(0), s(!0);
70
+ return;
71
+ }
72
+ }, [D, o, y]), /* @__PURE__ */ v(
73
+ B,
74
+ {
75
+ variant: b,
76
+ expanded: N,
77
+ ref: p,
78
+ style: q,
79
+ id: R,
80
+ role: o ? "listbox" : void 0,
81
+ tabIndex: a ? -1 : void 0,
82
+ children: [
83
+ i && /* @__PURE__ */ c(
84
+ ee,
85
+ {
86
+ ...i,
87
+ combobox: o,
88
+ listId: R,
89
+ "aria-activedescendant": o && H ? g?.id : void 0,
90
+ onNavigate: o ? () => s(!0) : void 0,
91
+ onChange: (e) => {
92
+ s(!1), i.onChange?.(e);
93
+ },
94
+ onFocus: (e) => {
95
+ s(!1), i.onFocus?.(e);
96
+ },
97
+ onInput: (e) => {
98
+ s(!1), i.onInput?.(e);
99
+ },
100
+ onKeyDown: (e) => {
101
+ const n = e.key === "ArrowUp" || e.key === "ArrowDown", u = e.key.length === 1 || e.key === "Backspace" || e.key === "Delete";
102
+ o && !n && u && s(!1), i.onKeyDown?.(e);
103
+ }
104
+ }
105
+ ),
106
+ W.map((e, n) => {
107
+ const u = e?.props || {}, { title: j, hidden: _ = !1, divider: J = !0 } = u;
108
+ return /* @__PURE__ */ v(Z, { children: [
109
+ (d > 0 || n) && J ? /* @__PURE__ */ c(ie, {}) : "",
110
+ /* @__PURE__ */ c(re, { hidden: _, children: /* @__PURE__ */ v(B, { role: "presentation", children: [
111
+ j && /* @__PURE__ */ c(ne, { title: j, level: d }),
112
+ e?.items.filter((l) => !l.props?.hidden).map((l, Q) => {
113
+ const { active: z, onMouseEnter: T } = l, { groupId: ue, ...t } = l.props || {}, { expanded: f } = t, h = Array.isArray(t?.items) && t.items.length > 0, w = t.role === "checkbox" || t.role === "radio", V = o && !w ? "option" : t.role;
114
+ return /* @__PURE__ */ v(
115
+ oe,
116
+ {
117
+ expanded: f,
118
+ onMouseLeave: () => y(-1),
119
+ role: o || w ? "presentation" : void 0,
120
+ children: [
121
+ /* @__PURE__ */ c(
122
+ te,
123
+ {
124
+ ...t,
125
+ size: t?.size || u?.size || K,
126
+ color: t?.color || u?.color || S,
127
+ variant: t?.variant || u?.variant || b,
128
+ active: z,
129
+ role: V,
130
+ selected: o && !w ? z : t.selected,
131
+ tabIndex: t?.disabled || a ? -1 : t.tabIndex ?? 0,
132
+ onMouseEnter: T,
133
+ "aria-haspopup": h ? "menu" : void 0,
134
+ "aria-expanded": h ? f : void 0,
135
+ "aria-controls": h ? t.id + "-menu" : void 0
136
+ }
137
+ ),
138
+ f && t?.items && /* @__PURE__ */ c(
139
+ se,
140
+ {
141
+ id: t.id + "-menu",
142
+ expanded: f,
143
+ level: d + 1,
144
+ maxLevels: M,
145
+ items: t?.items,
146
+ groups: k,
147
+ size: K,
148
+ color: S,
149
+ variant: b
150
+ }
151
+ )
152
+ ]
153
+ },
154
+ Q
155
+ );
156
+ })
157
+ ] }) }, n)
158
+ ] }, n);
76
159
  })
77
- ] }, m);
78
- })
79
- ] });
160
+ ]
161
+ }
162
+ );
80
163
  };
81
164
  export {
82
- w as MenuItems
165
+ se as MenuItems
83
166
  };
@@ -0,0 +1,39 @@
1
+ import { jsx as x } from "react/jsx-runtime";
2
+ import { c as d } from "../../index-p1eeF8LQ.js";
3
+ import { s as C } from "../../menuList.module-DFH60CqT.js";
4
+ const L = ({
5
+ ref: o,
6
+ id: t,
7
+ as: r = "ul",
8
+ role: s = "group",
9
+ variant: a,
10
+ color: m,
11
+ className: n,
12
+ style: e,
13
+ tabIndex: p,
14
+ children: c,
15
+ onMouseEnter: i,
16
+ onMouseLeave: l,
17
+ onBlurCapture: u,
18
+ onScroll: f
19
+ }) => /* @__PURE__ */ x(
20
+ r,
21
+ {
22
+ id: t,
23
+ ref: o,
24
+ className: d(C.list, n),
25
+ role: s,
26
+ "data-variant": a,
27
+ "data-color": m,
28
+ style: e,
29
+ tabIndex: p,
30
+ onMouseEnter: i,
31
+ onMouseLeave: l,
32
+ onBlurCapture: u,
33
+ onScroll: f,
34
+ children: c
35
+ }
36
+ );
37
+ export {
38
+ L as MenuList
39
+ };