@vector-im/compound-web 8.4.0 → 9.0.1

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 (623) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +33 -0
  2. package/dist/_virtual/_rolldown/runtime.js +13 -0
  3. package/dist/components/ActivityMarker/Pill.cjs +15 -10
  4. package/dist/components/ActivityMarker/Pill.cjs.map +1 -1
  5. package/dist/components/ActivityMarker/Pill.js +13 -10
  6. package/dist/components/ActivityMarker/Pill.js.map +1 -1
  7. package/dist/components/ActivityMarker/Pill.module.cjs +5 -0
  8. package/dist/components/ActivityMarker/Pill.module.cjs.map +1 -0
  9. package/dist/components/ActivityMarker/Pill.module.js +5 -0
  10. package/dist/components/ActivityMarker/Pill.module.js.map +1 -0
  11. package/dist/components/ActivityMarker/Unread.cjs +14 -6
  12. package/dist/components/ActivityMarker/Unread.cjs.map +1 -1
  13. package/dist/components/ActivityMarker/Unread.js +12 -6
  14. package/dist/components/ActivityMarker/Unread.js.map +1 -1
  15. package/dist/components/ActivityMarker/Unread.module.cjs +5 -0
  16. package/dist/components/ActivityMarker/Unread.module.cjs.map +1 -0
  17. package/dist/components/ActivityMarker/Unread.module.js +5 -0
  18. package/dist/components/ActivityMarker/Unread.module.js.map +1 -0
  19. package/dist/components/ActivityMarker/UnreadCounter.cjs +18 -8
  20. package/dist/components/ActivityMarker/UnreadCounter.cjs.map +1 -1
  21. package/dist/components/ActivityMarker/UnreadCounter.js +16 -8
  22. package/dist/components/ActivityMarker/UnreadCounter.js.map +1 -1
  23. package/dist/components/ActivityMarker/UnreadCounter.module.cjs +6 -0
  24. package/dist/components/ActivityMarker/UnreadCounter.module.cjs.map +1 -0
  25. package/dist/components/ActivityMarker/UnreadCounter.module.js +6 -0
  26. package/dist/components/ActivityMarker/UnreadCounter.module.js.map +1 -0
  27. package/dist/components/Alert/Alert.cjs +72 -61
  28. package/dist/components/Alert/Alert.cjs.map +1 -1
  29. package/dist/components/Alert/Alert.js +60 -56
  30. package/dist/components/Alert/Alert.js.map +1 -1
  31. package/dist/components/Alert/Alert.module.cjs +18 -0
  32. package/dist/components/Alert/Alert.module.cjs.map +1 -0
  33. package/dist/components/Alert/Alert.module.js +18 -0
  34. package/dist/components/Alert/Alert.module.js.map +1 -0
  35. package/dist/components/Avatar/Avatar.cjs +48 -55
  36. package/dist/components/Avatar/Avatar.cjs.map +1 -1
  37. package/dist/components/Avatar/Avatar.js +44 -54
  38. package/dist/components/Avatar/Avatar.js.map +1 -1
  39. package/dist/components/Avatar/Avatar.module.cjs +11 -0
  40. package/dist/components/Avatar/Avatar.module.cjs.map +1 -0
  41. package/dist/components/Avatar/Avatar.module.js +11 -0
  42. package/dist/components/Avatar/Avatar.module.js.map +1 -0
  43. package/dist/components/Avatar/AvatarStack.cjs +50 -27
  44. package/dist/components/Avatar/AvatarStack.cjs.map +1 -1
  45. package/dist/components/Avatar/AvatarStack.js +46 -26
  46. package/dist/components/Avatar/AvatarStack.js.map +1 -1
  47. package/dist/components/Avatar/avatar-clip.mask.cjs +6 -0
  48. package/dist/components/Avatar/avatar-clip.mask.cjs.map +1 -0
  49. package/dist/components/Avatar/avatar-clip.mask.js +6 -0
  50. package/dist/components/Avatar/avatar-clip.mask.js.map +1 -0
  51. package/dist/components/Avatar/useIdColorHash.cjs +13 -9
  52. package/dist/components/Avatar/useIdColorHash.cjs.map +1 -1
  53. package/dist/components/Avatar/useIdColorHash.js +14 -10
  54. package/dist/components/Avatar/useIdColorHash.js.map +1 -1
  55. package/dist/components/Badge/Badge.cjs +24 -24
  56. package/dist/components/Badge/Badge.cjs.map +1 -1
  57. package/dist/components/Badge/Badge.js +21 -24
  58. package/dist/components/Badge/Badge.js.map +1 -1
  59. package/dist/components/Badge/Badge.module.cjs +5 -0
  60. package/dist/components/Badge/Badge.module.cjs.map +1 -0
  61. package/dist/components/Badge/Badge.module.js +5 -0
  62. package/dist/components/Badge/Badge.module.js.map +1 -0
  63. package/dist/components/Breadcrumb/Breadcrumb.cjs +56 -54
  64. package/dist/components/Breadcrumb/Breadcrumb.cjs.map +1 -1
  65. package/dist/components/Breadcrumb/Breadcrumb.js +51 -53
  66. package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -1
  67. package/dist/components/Breadcrumb/Breadcrumb.module.cjs +9 -0
  68. package/dist/components/Breadcrumb/Breadcrumb.module.cjs.map +1 -0
  69. package/dist/components/Breadcrumb/Breadcrumb.module.js +9 -0
  70. package/dist/components/Breadcrumb/Breadcrumb.module.js.map +1 -0
  71. package/dist/components/Button/Button.cjs +40 -52
  72. package/dist/components/Button/Button.cjs.map +1 -1
  73. package/dist/components/Button/Button.d.ts +2 -1
  74. package/dist/components/Button/Button.d.ts.map +1 -1
  75. package/dist/components/Button/Button.js +36 -51
  76. package/dist/components/Button/Button.js.map +1 -1
  77. package/dist/components/Button/Button.module.cjs +13 -0
  78. package/dist/components/Button/Button.module.cjs.map +1 -0
  79. package/dist/components/Button/Button.module.js +13 -0
  80. package/dist/components/Button/Button.module.js.map +1 -0
  81. package/dist/components/Button/IconButton/IconButton.cjs +43 -52
  82. package/dist/components/Button/IconButton/IconButton.cjs.map +1 -1
  83. package/dist/components/Button/IconButton/IconButton.js +38 -50
  84. package/dist/components/Button/IconButton/IconButton.js.map +1 -1
  85. package/dist/components/Button/IconButton/IconButton.module.cjs +11 -0
  86. package/dist/components/Button/IconButton/IconButton.module.cjs.map +1 -0
  87. package/dist/components/Button/IconButton/IconButton.module.js +11 -0
  88. package/dist/components/Button/IconButton/IconButton.module.js.map +1 -0
  89. package/dist/components/Button/UnstyledButton.cjs +36 -45
  90. package/dist/components/Button/UnstyledButton.cjs.map +1 -1
  91. package/dist/components/Button/UnstyledButton.js +34 -45
  92. package/dist/components/Button/UnstyledButton.js.map +1 -1
  93. package/dist/components/ChatFilter/ChatFilter.cjs +23 -20
  94. package/dist/components/ChatFilter/ChatFilter.cjs.map +1 -1
  95. package/dist/components/ChatFilter/ChatFilter.js +21 -20
  96. package/dist/components/ChatFilter/ChatFilter.js.map +1 -1
  97. package/dist/components/ChatFilter/ChatFilter.module.cjs +6 -0
  98. package/dist/components/ChatFilter/ChatFilter.module.cjs.map +1 -0
  99. package/dist/components/ChatFilter/ChatFilter.module.js +6 -0
  100. package/dist/components/ChatFilter/ChatFilter.module.js.map +1 -0
  101. package/dist/components/Dropdown/Dropdown.cjs +231 -249
  102. package/dist/components/Dropdown/Dropdown.cjs.map +1 -1
  103. package/dist/components/Dropdown/Dropdown.js +225 -249
  104. package/dist/components/Dropdown/Dropdown.js.map +1 -1
  105. package/dist/components/Dropdown/Dropdown.module.cjs +13 -0
  106. package/dist/components/Dropdown/Dropdown.module.cjs.map +1 -0
  107. package/dist/components/Dropdown/Dropdown.module.js +13 -0
  108. package/dist/components/Dropdown/Dropdown.module.js.map +1 -0
  109. package/dist/components/Form/Controls/Action/Action.cjs +51 -31
  110. package/dist/components/Form/Controls/Action/Action.cjs.map +1 -1
  111. package/dist/components/Form/Controls/Action/Action.js +46 -30
  112. package/dist/components/Form/Controls/Action/Action.js.map +1 -1
  113. package/dist/components/Form/Controls/Action/Action.module.cjs +9 -0
  114. package/dist/components/Form/Controls/Action/Action.module.cjs.map +1 -0
  115. package/dist/components/Form/Controls/Action/Action.module.js +9 -0
  116. package/dist/components/Form/Controls/Action/Action.module.js.map +1 -0
  117. package/dist/components/Form/Controls/Checkbox/Checkbox.cjs +42 -20
  118. package/dist/components/Form/Controls/Checkbox/Checkbox.cjs.map +1 -1
  119. package/dist/components/Form/Controls/Checkbox/Checkbox.js +36 -19
  120. package/dist/components/Form/Controls/Checkbox/Checkbox.js.map +1 -1
  121. package/dist/components/Form/Controls/Checkbox/Checkbox.module.cjs +9 -0
  122. package/dist/components/Form/Controls/Checkbox/Checkbox.module.cjs.map +1 -0
  123. package/dist/components/Form/Controls/Checkbox/Checkbox.module.js +9 -0
  124. package/dist/components/Form/Controls/Checkbox/Checkbox.module.js.map +1 -0
  125. package/dist/components/Form/Controls/EditInPlace/EditInPlace.cjs +171 -203
  126. package/dist/components/Form/Controls/EditInPlace/EditInPlace.cjs.map +1 -1
  127. package/dist/components/Form/Controls/EditInPlace/EditInPlace.js +166 -202
  128. package/dist/components/Form/Controls/EditInPlace/EditInPlace.js.map +1 -1
  129. package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.cjs +8 -0
  130. package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.cjs.map +1 -0
  131. package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.js +8 -0
  132. package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.js.map +1 -0
  133. package/dist/components/Form/Controls/MFA/MFA.cjs +60 -65
  134. package/dist/components/Form/Controls/MFA/MFA.cjs.map +1 -1
  135. package/dist/components/Form/Controls/MFA/MFA.js +56 -65
  136. package/dist/components/Form/Controls/MFA/MFA.js.map +1 -1
  137. package/dist/components/Form/Controls/MFA/MFA.module.cjs +9 -0
  138. package/dist/components/Form/Controls/MFA/MFA.module.cjs.map +1 -0
  139. package/dist/components/Form/Controls/MFA/MFA.module.js +9 -0
  140. package/dist/components/Form/Controls/MFA/MFA.module.js.map +1 -0
  141. package/dist/components/Form/Controls/Password/Password.cjs +52 -37
  142. package/dist/components/Form/Controls/Password/Password.cjs.map +1 -1
  143. package/dist/components/Form/Controls/Password/Password.js +45 -35
  144. package/dist/components/Form/Controls/Password/Password.js.map +1 -1
  145. package/dist/components/Form/Controls/Radio/Radio.cjs +33 -16
  146. package/dist/components/Form/Controls/Radio/Radio.cjs.map +1 -1
  147. package/dist/components/Form/Controls/Radio/Radio.js +28 -15
  148. package/dist/components/Form/Controls/Radio/Radio.js.map +1 -1
  149. package/dist/components/Form/Controls/Radio/Radio.module.cjs +9 -0
  150. package/dist/components/Form/Controls/Radio/Radio.module.cjs.map +1 -0
  151. package/dist/components/Form/Controls/Radio/Radio.module.js +9 -0
  152. package/dist/components/Form/Controls/Radio/Radio.module.js.map +1 -0
  153. package/dist/components/Form/Controls/SettingsToggle/SettingsToggle.cjs +47 -29
  154. package/dist/components/Form/Controls/SettingsToggle/SettingsToggle.cjs.map +1 -1
  155. package/dist/components/Form/Controls/SettingsToggle/SettingsToggle.js +43 -28
  156. package/dist/components/Form/Controls/SettingsToggle/SettingsToggle.js.map +1 -1
  157. package/dist/components/Form/Controls/Text/Text.cjs +34 -18
  158. package/dist/components/Form/Controls/Text/Text.cjs.map +1 -1
  159. package/dist/components/Form/Controls/Text/Text.js +30 -18
  160. package/dist/components/Form/Controls/Text/Text.js.map +1 -1
  161. package/dist/components/Form/Controls/Text/Text.module.cjs +8 -0
  162. package/dist/components/Form/Controls/Text/Text.module.cjs.map +1 -0
  163. package/dist/components/Form/Controls/Text/Text.module.js +8 -0
  164. package/dist/components/Form/Controls/Text/Text.module.js.map +1 -0
  165. package/dist/components/Form/Controls/Toggle/Toggle.cjs +37 -25
  166. package/dist/components/Form/Controls/Toggle/Toggle.cjs.map +1 -1
  167. package/dist/components/Form/Controls/Toggle/Toggle.js +32 -24
  168. package/dist/components/Form/Controls/Toggle/Toggle.js.map +1 -1
  169. package/dist/components/Form/Controls/Toggle/Toggle.module.cjs +9 -0
  170. package/dist/components/Form/Controls/Toggle/Toggle.module.cjs.map +1 -0
  171. package/dist/components/Form/Controls/Toggle/Toggle.module.js +9 -0
  172. package/dist/components/Form/Controls/Toggle/Toggle.module.js.map +1 -0
  173. package/dist/components/Form/Field.cjs +25 -14
  174. package/dist/components/Form/Field.cjs.map +1 -1
  175. package/dist/components/Form/Field.js +22 -14
  176. package/dist/components/Form/Field.js.map +1 -1
  177. package/dist/components/Form/InlineField.cjs +27 -17
  178. package/dist/components/Form/InlineField.cjs.map +1 -1
  179. package/dist/components/Form/InlineField.js +23 -16
  180. package/dist/components/Form/InlineField.js.map +1 -1
  181. package/dist/components/Form/Label.cjs +24 -11
  182. package/dist/components/Form/Label.cjs.map +1 -1
  183. package/dist/components/Form/Label.js +21 -11
  184. package/dist/components/Form/Label.js.map +1 -1
  185. package/dist/components/Form/Message.cjs +61 -40
  186. package/dist/components/Form/Message.cjs.map +1 -1
  187. package/dist/components/Form/Message.js +54 -41
  188. package/dist/components/Form/Message.js.map +1 -1
  189. package/dist/components/Form/Root.cjs +25 -14
  190. package/dist/components/Form/Root.cjs.map +1 -1
  191. package/dist/components/Form/Root.js +22 -14
  192. package/dist/components/Form/Root.js.map +1 -1
  193. package/dist/components/Form/Submit.cjs +23 -12
  194. package/dist/components/Form/Submit.cjs.map +1 -1
  195. package/dist/components/Form/Submit.js +21 -12
  196. package/dist/components/Form/Submit.js.map +1 -1
  197. package/dist/components/Form/form.module.cjs +21 -0
  198. package/dist/components/Form/form.module.cjs.map +1 -0
  199. package/dist/components/Form/form.module.js +21 -0
  200. package/dist/components/Form/form.module.js.map +1 -0
  201. package/dist/components/Form/index.cjs +55 -51
  202. package/dist/components/Form/index.cjs.map +1 -1
  203. package/dist/components/Form/index.js +48 -43
  204. package/dist/components/Form/index.js.map +1 -1
  205. package/dist/components/Glass/Glass.cjs +20 -10
  206. package/dist/components/Glass/Glass.cjs.map +1 -1
  207. package/dist/components/Glass/Glass.js +17 -10
  208. package/dist/components/Glass/Glass.js.map +1 -1
  209. package/dist/components/Glass/Glass.module.cjs +5 -0
  210. package/dist/components/Glass/Glass.module.cjs.map +1 -0
  211. package/dist/components/Glass/Glass.module.js +5 -0
  212. package/dist/components/Glass/Glass.module.js.map +1 -0
  213. package/dist/components/Icon/BigIcon/BigIcon.cjs +18 -25
  214. package/dist/components/Icon/BigIcon/BigIcon.cjs.map +1 -1
  215. package/dist/components/Icon/BigIcon/BigIcon.d.ts +8 -12
  216. package/dist/components/Icon/BigIcon/BigIcon.d.ts.map +1 -1
  217. package/dist/components/Icon/BigIcon/BigIcon.js +15 -25
  218. package/dist/components/Icon/BigIcon/BigIcon.js.map +1 -1
  219. package/dist/components/Icon/BigIcon/BigIcon.module.cjs +6 -0
  220. package/dist/components/Icon/BigIcon/BigIcon.module.cjs.map +1 -0
  221. package/dist/components/Icon/BigIcon/BigIcon.module.js +6 -0
  222. package/dist/components/Icon/BigIcon/BigIcon.module.js.map +1 -0
  223. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.cjs +22 -22
  224. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.cjs.map +1 -1
  225. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.js +19 -22
  226. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.js.map +1 -1
  227. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.cjs +6 -0
  228. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.cjs.map +1 -0
  229. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.js +6 -0
  230. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.js.map +1 -0
  231. package/dist/components/InlineSpinner/InlineSpinner.cjs +24 -21
  232. package/dist/components/InlineSpinner/InlineSpinner.cjs.map +1 -1
  233. package/dist/components/InlineSpinner/InlineSpinner.js +19 -20
  234. package/dist/components/InlineSpinner/InlineSpinner.js.map +1 -1
  235. package/dist/components/InlineSpinner/InlineSpinner.module.cjs +8 -0
  236. package/dist/components/InlineSpinner/InlineSpinner.module.cjs.map +1 -0
  237. package/dist/components/InlineSpinner/InlineSpinner.module.js +8 -0
  238. package/dist/components/InlineSpinner/InlineSpinner.module.js.map +1 -0
  239. package/dist/components/Link/Link.cjs +25 -23
  240. package/dist/components/Link/Link.cjs.map +1 -1
  241. package/dist/components/Link/Link.d.ts +5 -4
  242. package/dist/components/Link/Link.d.ts.map +1 -1
  243. package/dist/components/Link/Link.js +22 -23
  244. package/dist/components/Link/Link.js.map +1 -1
  245. package/dist/components/Link/Link.module.cjs +5 -0
  246. package/dist/components/Link/Link.module.cjs.map +1 -0
  247. package/dist/components/Link/Link.module.js +5 -0
  248. package/dist/components/Link/Link.module.js.map +1 -0
  249. package/dist/components/Menu/CheckboxMenuItem.cjs +37 -39
  250. package/dist/components/Menu/CheckboxMenuItem.cjs.map +1 -1
  251. package/dist/components/Menu/CheckboxMenuItem.js +34 -38
  252. package/dist/components/Menu/CheckboxMenuItem.js.map +1 -1
  253. package/dist/components/Menu/ContextMenu.cjs +71 -62
  254. package/dist/components/Menu/ContextMenu.cjs.map +1 -1
  255. package/dist/components/Menu/ContextMenu.js +66 -60
  256. package/dist/components/Menu/ContextMenu.js.map +1 -1
  257. package/dist/components/Menu/DrawerMenu.cjs +27 -22
  258. package/dist/components/Menu/DrawerMenu.cjs.map +1 -1
  259. package/dist/components/Menu/DrawerMenu.js +23 -21
  260. package/dist/components/Menu/DrawerMenu.js.map +1 -1
  261. package/dist/components/Menu/DrawerMenu.module.cjs +9 -0
  262. package/dist/components/Menu/DrawerMenu.module.cjs.map +1 -0
  263. package/dist/components/Menu/DrawerMenu.module.js +9 -0
  264. package/dist/components/Menu/DrawerMenu.module.js.map +1 -0
  265. package/dist/components/Menu/FloatingMenu.cjs +31 -28
  266. package/dist/components/Menu/FloatingMenu.cjs.map +1 -1
  267. package/dist/components/Menu/FloatingMenu.js +27 -27
  268. package/dist/components/Menu/FloatingMenu.js.map +1 -1
  269. package/dist/components/Menu/FloatingMenu.module.cjs +14 -0
  270. package/dist/components/Menu/FloatingMenu.module.cjs.map +1 -0
  271. package/dist/components/Menu/FloatingMenu.module.js +14 -0
  272. package/dist/components/Menu/FloatingMenu.module.js.map +1 -0
  273. package/dist/components/Menu/Menu.cjs +68 -56
  274. package/dist/components/Menu/Menu.cjs.map +1 -1
  275. package/dist/components/Menu/Menu.js +63 -54
  276. package/dist/components/Menu/Menu.js.map +1 -1
  277. package/dist/components/Menu/MenuContext.cjs +10 -5
  278. package/dist/components/Menu/MenuContext.cjs.map +1 -1
  279. package/dist/components/Menu/MenuContext.js +10 -5
  280. package/dist/components/Menu/MenuContext.js.map +1 -1
  281. package/dist/components/Menu/MenuItem.cjs +83 -95
  282. package/dist/components/Menu/MenuItem.cjs.map +1 -1
  283. package/dist/components/Menu/MenuItem.js +77 -93
  284. package/dist/components/Menu/MenuItem.js.map +1 -1
  285. package/dist/components/Menu/MenuItem.module.cjs +20 -0
  286. package/dist/components/Menu/MenuItem.module.cjs.map +1 -0
  287. package/dist/components/Menu/MenuItem.module.js +20 -0
  288. package/dist/components/Menu/MenuItem.module.js.map +1 -0
  289. package/dist/components/Menu/MenuTitle.cjs +21 -14
  290. package/dist/components/Menu/MenuTitle.cjs.map +1 -1
  291. package/dist/components/Menu/MenuTitle.js +17 -13
  292. package/dist/components/Menu/MenuTitle.js.map +1 -1
  293. package/dist/components/Menu/MenuTitle.module.cjs +6 -0
  294. package/dist/components/Menu/MenuTitle.module.cjs.map +1 -0
  295. package/dist/components/Menu/MenuTitle.module.js +6 -0
  296. package/dist/components/Menu/MenuTitle.module.js.map +1 -0
  297. package/dist/components/Menu/RadioMenuItem.cjs +35 -37
  298. package/dist/components/Menu/RadioMenuItem.cjs.map +1 -1
  299. package/dist/components/Menu/RadioMenuItem.js +32 -36
  300. package/dist/components/Menu/RadioMenuItem.js.map +1 -1
  301. package/dist/components/Menu/ToggleMenuItem.cjs +39 -41
  302. package/dist/components/Menu/ToggleMenuItem.cjs.map +1 -1
  303. package/dist/components/Menu/ToggleMenuItem.js +36 -40
  304. package/dist/components/Menu/ToggleMenuItem.js.map +1 -1
  305. package/dist/components/Nav/Nav.module.cjs +11 -0
  306. package/dist/components/Nav/Nav.module.cjs.map +1 -0
  307. package/dist/components/Nav/Nav.module.js +11 -0
  308. package/dist/components/Nav/Nav.module.js.map +1 -0
  309. package/dist/components/Nav/NavBar.cjs +47 -28
  310. package/dist/components/Nav/NavBar.cjs.map +1 -1
  311. package/dist/components/Nav/NavBar.js +44 -28
  312. package/dist/components/Nav/NavBar.js.map +1 -1
  313. package/dist/components/Nav/NavItem.cjs +70 -72
  314. package/dist/components/Nav/NavItem.cjs.map +1 -1
  315. package/dist/components/Nav/NavItem.js +68 -72
  316. package/dist/components/Nav/NavItem.js.map +1 -1
  317. package/dist/components/PageHeader/PageHeader.d.ts +19 -0
  318. package/dist/components/PageHeader/PageHeader.d.ts.map +1 -0
  319. package/dist/components/Progress/Progress.cjs +43 -56
  320. package/dist/components/Progress/Progress.cjs.map +1 -1
  321. package/dist/components/Progress/Progress.d.ts +2 -1
  322. package/dist/components/Progress/Progress.d.ts.map +1 -1
  323. package/dist/components/Progress/Progress.js +40 -56
  324. package/dist/components/Progress/Progress.js.map +1 -1
  325. package/dist/components/Progress/Progress.module.cjs +11 -0
  326. package/dist/components/Progress/Progress.module.cjs.map +1 -0
  327. package/dist/components/Progress/Progress.module.js +11 -0
  328. package/dist/components/Progress/Progress.module.js.map +1 -0
  329. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.cjs +108 -115
  330. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.cjs.map +1 -1
  331. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.js +105 -114
  332. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.js.map +1 -1
  333. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.cjs +11 -0
  334. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.cjs.map +1 -0
  335. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.js +11 -0
  336. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.js.map +1 -0
  337. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncementContext.cjs +16 -12
  338. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncementContext.cjs.map +1 -1
  339. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncementContext.js +15 -13
  340. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncementContext.js.map +1 -1
  341. package/dist/components/ReleaseAnnouncement/useReleaseAnnouncement.cjs +52 -62
  342. package/dist/components/ReleaseAnnouncement/useReleaseAnnouncement.cjs.map +1 -1
  343. package/dist/components/ReleaseAnnouncement/useReleaseAnnouncement.js +52 -63
  344. package/dist/components/ReleaseAnnouncement/useReleaseAnnouncement.js.map +1 -1
  345. package/dist/components/Search/Search.cjs +43 -36
  346. package/dist/components/Search/Search.cjs.map +1 -1
  347. package/dist/components/Search/Search.js +37 -34
  348. package/dist/components/Search/Search.js.map +1 -1
  349. package/dist/components/Search/Search.module.cjs +9 -0
  350. package/dist/components/Search/Search.module.cjs.map +1 -0
  351. package/dist/components/Search/Search.module.js +9 -0
  352. package/dist/components/Search/Search.module.js.map +1 -0
  353. package/dist/components/Separator/Separator.cjs +34 -57
  354. package/dist/components/Separator/Separator.cjs.map +1 -1
  355. package/dist/components/Separator/Separator.js +29 -39
  356. package/dist/components/Separator/Separator.js.map +1 -1
  357. package/dist/components/Separator/Separator.module.cjs +5 -0
  358. package/dist/components/Separator/Separator.module.cjs.map +1 -0
  359. package/dist/components/Separator/Separator.module.js +5 -0
  360. package/dist/components/Separator/Separator.module.js.map +1 -0
  361. package/dist/components/Toast/Toast.cjs +19 -10
  362. package/dist/components/Toast/Toast.cjs.map +1 -1
  363. package/dist/components/Toast/Toast.js +15 -9
  364. package/dist/components/Toast/Toast.js.map +1 -1
  365. package/dist/components/Toast/Toast.module.cjs +6 -0
  366. package/dist/components/Toast/Toast.module.cjs.map +1 -0
  367. package/dist/components/Toast/Toast.module.js +6 -0
  368. package/dist/components/Toast/Toast.module.js.map +1 -0
  369. package/dist/components/Tooltip/Tooltip.cjs +103 -118
  370. package/dist/components/Tooltip/Tooltip.cjs.map +1 -1
  371. package/dist/components/Tooltip/Tooltip.js +99 -117
  372. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  373. package/dist/components/Tooltip/Tooltip.module.cjs +10 -0
  374. package/dist/components/Tooltip/Tooltip.module.cjs.map +1 -0
  375. package/dist/components/Tooltip/Tooltip.module.js +10 -0
  376. package/dist/components/Tooltip/Tooltip.module.js.map +1 -0
  377. package/dist/components/Tooltip/TooltipContext.cjs +16 -10
  378. package/dist/components/Tooltip/TooltipContext.cjs.map +1 -1
  379. package/dist/components/Tooltip/TooltipContext.js +15 -11
  380. package/dist/components/Tooltip/TooltipContext.js.map +1 -1
  381. package/dist/components/Tooltip/TooltipProvider.cjs +22 -7
  382. package/dist/components/Tooltip/TooltipProvider.cjs.map +1 -1
  383. package/dist/components/Tooltip/TooltipProvider.js +19 -7
  384. package/dist/components/Tooltip/TooltipProvider.js.map +1 -1
  385. package/dist/components/Tooltip/useTooltip.cjs +112 -139
  386. package/dist/components/Tooltip/useTooltip.cjs.map +1 -1
  387. package/dist/components/Tooltip/useTooltip.js +111 -139
  388. package/dist/components/Tooltip/useTooltip.js.map +1 -1
  389. package/dist/components/Typography/Body.cjs +17 -10
  390. package/dist/components/Typography/Body.cjs.map +1 -1
  391. package/dist/components/Typography/Body.js +15 -10
  392. package/dist/components/Typography/Body.js.map +1 -1
  393. package/dist/components/Typography/Heading.cjs +92 -20
  394. package/dist/components/Typography/Heading.cjs.map +1 -1
  395. package/dist/components/Typography/Heading.d.ts +2 -1
  396. package/dist/components/Typography/Heading.d.ts.map +1 -1
  397. package/dist/components/Typography/Heading.js +89 -25
  398. package/dist/components/Typography/Heading.js.map +1 -1
  399. package/dist/components/Typography/Text.cjs +20 -7
  400. package/dist/components/Typography/Text.cjs.map +1 -1
  401. package/dist/components/Typography/Text.d.ts +2 -1
  402. package/dist/components/Typography/Text.d.ts.map +1 -1
  403. package/dist/components/Typography/Text.js +18 -7
  404. package/dist/components/Typography/Text.js.map +1 -1
  405. package/dist/components/Typography/Typography.cjs +17 -28
  406. package/dist/components/Typography/Typography.cjs.map +1 -1
  407. package/dist/components/Typography/Typography.d.ts +2 -1
  408. package/dist/components/Typography/Typography.d.ts.map +1 -1
  409. package/dist/components/Typography/Typography.js +14 -28
  410. package/dist/components/Typography/Typography.js.map +1 -1
  411. package/dist/components/Typography/Typography.module.cjs +30 -0
  412. package/dist/components/Typography/Typography.module.cjs.map +1 -0
  413. package/dist/components/Typography/Typography.module.js +30 -0
  414. package/dist/components/Typography/Typography.module.js.map +1 -0
  415. package/dist/components/VisualList/VisualList.cjs +20 -12
  416. package/dist/components/VisualList/VisualList.cjs.map +1 -1
  417. package/dist/components/VisualList/VisualList.js +17 -12
  418. package/dist/components/VisualList/VisualList.js.map +1 -1
  419. package/dist/components/VisualList/VisualList.module.cjs +6 -0
  420. package/dist/components/VisualList/VisualList.module.cjs.map +1 -0
  421. package/dist/components/VisualList/VisualList.module.js +6 -0
  422. package/dist/components/VisualList/VisualList.module.js.map +1 -0
  423. package/dist/components/VisualList/VisualListItem.cjs +28 -36
  424. package/dist/components/VisualList/VisualListItem.cjs.map +1 -1
  425. package/dist/components/VisualList/VisualListItem.js +25 -36
  426. package/dist/components/VisualList/VisualListItem.js.map +1 -1
  427. package/dist/components/VisualList/VisualListItem.module.cjs +11 -0
  428. package/dist/components/VisualList/VisualListItem.module.cjs.map +1 -0
  429. package/dist/components/VisualList/VisualListItem.module.js +11 -0
  430. package/dist/components/VisualList/VisualListItem.module.js.map +1 -0
  431. package/dist/index.cjs +147 -139
  432. package/dist/index.js +36 -116
  433. package/dist/style.css +1609 -1601
  434. package/dist/utils/platform.cjs +12 -11
  435. package/dist/utils/platform.cjs.map +1 -1
  436. package/dist/utils/platform.js +13 -12
  437. package/dist/utils/platform.js.map +1 -1
  438. package/dist/utils/size.d.ts +5 -0
  439. package/dist/utils/size.d.ts.map +1 -0
  440. package/dist/utils/string.cjs +19 -19
  441. package/dist/utils/string.cjs.map +1 -1
  442. package/dist/utils/string.js +20 -20
  443. package/dist/utils/string.js.map +1 -1
  444. package/package.json +15 -15
  445. package/src/components/Avatar/Avatar.module.css +1 -1
  446. package/src/components/Avatar/avatar-clip.mask.svg +2 -6
  447. package/src/components/Breadcrumb/Breadcrumb.module.css +1 -1
  448. package/src/components/Breadcrumb/Breadcrumb.tsx +1 -1
  449. package/src/components/Button/Button.tsx +2 -1
  450. package/src/components/Dropdown/Dropdown.module.css +1 -1
  451. package/src/components/Icon/BigIcon/BigIcon.module.css +11 -8
  452. package/src/components/Icon/BigIcon/BigIcon.tsx +11 -18
  453. package/src/components/Link/Link.module.css +5 -1
  454. package/src/components/Link/Link.tsx +6 -5
  455. package/src/components/Nav/Nav.module.css +1 -1
  456. package/src/components/PageHeader/PageHeader.module.css +41 -0
  457. package/src/components/PageHeader/PageHeader.tsx +67 -0
  458. package/src/components/Progress/Progress.tsx +2 -1
  459. package/src/components/Separator/Separator.module.css +2 -2
  460. package/src/components/Typography/Heading.tsx +2 -1
  461. package/src/components/Typography/Text.tsx +2 -1
  462. package/src/components/Typography/Typography.tsx +2 -1
  463. package/src/components/VisualList/VisualList.module.css +1 -1
  464. package/src/utils/size.ts +11 -0
  465. package/tsconfig.json +1 -0
  466. package/dist/components/ActivityMarker/Pill.module.css.cjs +0 -9
  467. package/dist/components/ActivityMarker/Pill.module.css.cjs.map +0 -1
  468. package/dist/components/ActivityMarker/Pill.module.css.js +0 -9
  469. package/dist/components/ActivityMarker/Pill.module.css.js.map +0 -1
  470. package/dist/components/ActivityMarker/Unread.module.css.cjs +0 -9
  471. package/dist/components/ActivityMarker/Unread.module.css.cjs.map +0 -1
  472. package/dist/components/ActivityMarker/Unread.module.css.js +0 -9
  473. package/dist/components/ActivityMarker/Unread.module.css.js.map +0 -1
  474. package/dist/components/ActivityMarker/UnreadCounter.module.css.cjs +0 -7
  475. package/dist/components/ActivityMarker/UnreadCounter.module.css.cjs.map +0 -1
  476. package/dist/components/ActivityMarker/UnreadCounter.module.css.js +0 -7
  477. package/dist/components/ActivityMarker/UnreadCounter.module.css.js.map +0 -1
  478. package/dist/components/Alert/Alert.module.css.cjs +0 -19
  479. package/dist/components/Alert/Alert.module.css.cjs.map +0 -1
  480. package/dist/components/Alert/Alert.module.css.js +0 -19
  481. package/dist/components/Alert/Alert.module.css.js.map +0 -1
  482. package/dist/components/Avatar/Avatar.module.css.cjs +0 -15
  483. package/dist/components/Avatar/Avatar.module.css.cjs.map +0 -1
  484. package/dist/components/Avatar/Avatar.module.css.js +0 -15
  485. package/dist/components/Avatar/Avatar.module.css.js.map +0 -1
  486. package/dist/components/Avatar/avatar-clip.mask.svg.cjs +0 -5
  487. package/dist/components/Avatar/avatar-clip.mask.svg.cjs.map +0 -1
  488. package/dist/components/Avatar/avatar-clip.mask.svg.js +0 -5
  489. package/dist/components/Avatar/avatar-clip.mask.svg.js.map +0 -1
  490. package/dist/components/Badge/Badge.module.css.cjs +0 -9
  491. package/dist/components/Badge/Badge.module.css.cjs.map +0 -1
  492. package/dist/components/Badge/Badge.module.css.js +0 -9
  493. package/dist/components/Badge/Badge.module.css.js.map +0 -1
  494. package/dist/components/Breadcrumb/Breadcrumb.module.css.cjs +0 -13
  495. package/dist/components/Breadcrumb/Breadcrumb.module.css.cjs.map +0 -1
  496. package/dist/components/Breadcrumb/Breadcrumb.module.css.js +0 -13
  497. package/dist/components/Breadcrumb/Breadcrumb.module.css.js.map +0 -1
  498. package/dist/components/Button/Button.module.css.cjs +0 -14
  499. package/dist/components/Button/Button.module.css.cjs.map +0 -1
  500. package/dist/components/Button/Button.module.css.js +0 -14
  501. package/dist/components/Button/Button.module.css.js.map +0 -1
  502. package/dist/components/Button/IconButton/IconButton.module.css.cjs +0 -11
  503. package/dist/components/Button/IconButton/IconButton.module.css.cjs.map +0 -1
  504. package/dist/components/Button/IconButton/IconButton.module.css.js +0 -11
  505. package/dist/components/Button/IconButton/IconButton.module.css.js.map +0 -1
  506. package/dist/components/ChatFilter/ChatFilter.module.css.cjs +0 -7
  507. package/dist/components/ChatFilter/ChatFilter.module.css.cjs.map +0 -1
  508. package/dist/components/ChatFilter/ChatFilter.module.css.js +0 -7
  509. package/dist/components/ChatFilter/ChatFilter.module.css.js.map +0 -1
  510. package/dist/components/Dropdown/Dropdown.module.css.cjs +0 -27
  511. package/dist/components/Dropdown/Dropdown.module.css.cjs.map +0 -1
  512. package/dist/components/Dropdown/Dropdown.module.css.js +0 -27
  513. package/dist/components/Dropdown/Dropdown.module.css.js.map +0 -1
  514. package/dist/components/Form/Controls/Action/Action.module.css.cjs +0 -15
  515. package/dist/components/Form/Controls/Action/Action.module.css.cjs.map +0 -1
  516. package/dist/components/Form/Controls/Action/Action.module.css.js +0 -15
  517. package/dist/components/Form/Controls/Action/Action.module.css.js.map +0 -1
  518. package/dist/components/Form/Controls/Checkbox/Checkbox.module.css.cjs +0 -15
  519. package/dist/components/Form/Controls/Checkbox/Checkbox.module.css.cjs.map +0 -1
  520. package/dist/components/Form/Controls/Checkbox/Checkbox.module.css.js +0 -15
  521. package/dist/components/Form/Controls/Checkbox/Checkbox.module.css.js.map +0 -1
  522. package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.css.cjs +0 -10
  523. package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.css.cjs.map +0 -1
  524. package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.css.js +0 -10
  525. package/dist/components/Form/Controls/EditInPlace/EditInPlace.module.css.js.map +0 -1
  526. package/dist/components/Form/Controls/MFA/MFA.module.css.cjs +0 -15
  527. package/dist/components/Form/Controls/MFA/MFA.module.css.cjs.map +0 -1
  528. package/dist/components/Form/Controls/MFA/MFA.module.css.js +0 -15
  529. package/dist/components/Form/Controls/MFA/MFA.module.css.js.map +0 -1
  530. package/dist/components/Form/Controls/Radio/Radio.module.css.cjs +0 -15
  531. package/dist/components/Form/Controls/Radio/Radio.module.css.cjs.map +0 -1
  532. package/dist/components/Form/Controls/Radio/Radio.module.css.js +0 -15
  533. package/dist/components/Form/Controls/Radio/Radio.module.css.js.map +0 -1
  534. package/dist/components/Form/Controls/Text/Text.module.css.cjs +0 -10
  535. package/dist/components/Form/Controls/Text/Text.module.css.cjs.map +0 -1
  536. package/dist/components/Form/Controls/Text/Text.module.css.js +0 -10
  537. package/dist/components/Form/Controls/Text/Text.module.css.js.map +0 -1
  538. package/dist/components/Form/Controls/Toggle/Toggle.module.css.cjs +0 -15
  539. package/dist/components/Form/Controls/Toggle/Toggle.module.css.cjs.map +0 -1
  540. package/dist/components/Form/Controls/Toggle/Toggle.module.css.js +0 -15
  541. package/dist/components/Form/Controls/Toggle/Toggle.module.css.js.map +0 -1
  542. package/dist/components/Form/form.module.css.cjs +0 -24
  543. package/dist/components/Form/form.module.css.cjs.map +0 -1
  544. package/dist/components/Form/form.module.css.js +0 -24
  545. package/dist/components/Form/form.module.css.js.map +0 -1
  546. package/dist/components/Glass/Glass.module.css.cjs +0 -9
  547. package/dist/components/Glass/Glass.module.css.cjs.map +0 -1
  548. package/dist/components/Glass/Glass.module.css.js +0 -9
  549. package/dist/components/Glass/Glass.module.css.js.map +0 -1
  550. package/dist/components/Icon/BigIcon/BigIcon.module.css.cjs +0 -15
  551. package/dist/components/Icon/BigIcon/BigIcon.module.css.cjs.map +0 -1
  552. package/dist/components/Icon/BigIcon/BigIcon.module.css.js +0 -15
  553. package/dist/components/Icon/BigIcon/BigIcon.module.css.js.map +0 -1
  554. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.css.cjs +0 -7
  555. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.css.cjs.map +0 -1
  556. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.css.js +0 -7
  557. package/dist/components/Icon/IndicatorIcon/IndicatorIcon.module.css.js.map +0 -1
  558. package/dist/components/InlineSpinner/InlineSpinner.module.css.cjs +0 -9
  559. package/dist/components/InlineSpinner/InlineSpinner.module.css.cjs.map +0 -1
  560. package/dist/components/InlineSpinner/InlineSpinner.module.css.js +0 -9
  561. package/dist/components/InlineSpinner/InlineSpinner.module.css.js.map +0 -1
  562. package/dist/components/Link/Link.module.css.cjs +0 -9
  563. package/dist/components/Link/Link.module.css.cjs.map +0 -1
  564. package/dist/components/Link/Link.module.css.js +0 -9
  565. package/dist/components/Link/Link.module.css.js.map +0 -1
  566. package/dist/components/Menu/DrawerMenu.module.css.cjs +0 -15
  567. package/dist/components/Menu/DrawerMenu.module.css.cjs.map +0 -1
  568. package/dist/components/Menu/DrawerMenu.module.css.js +0 -15
  569. package/dist/components/Menu/DrawerMenu.module.css.js.map +0 -1
  570. package/dist/components/Menu/FloatingMenu.module.css.cjs +0 -12
  571. package/dist/components/Menu/FloatingMenu.module.css.cjs.map +0 -1
  572. package/dist/components/Menu/FloatingMenu.module.css.js +0 -12
  573. package/dist/components/Menu/FloatingMenu.module.css.js.map +0 -1
  574. package/dist/components/Menu/MenuItem.module.css.cjs +0 -24
  575. package/dist/components/Menu/MenuItem.module.css.cjs.map +0 -1
  576. package/dist/components/Menu/MenuItem.module.css.js +0 -24
  577. package/dist/components/Menu/MenuItem.module.css.js.map +0 -1
  578. package/dist/components/Menu/MenuTitle.module.css.cjs +0 -7
  579. package/dist/components/Menu/MenuTitle.module.css.cjs.map +0 -1
  580. package/dist/components/Menu/MenuTitle.module.css.js +0 -7
  581. package/dist/components/Menu/MenuTitle.module.css.js.map +0 -1
  582. package/dist/components/Nav/Nav.module.css.cjs +0 -10
  583. package/dist/components/Nav/Nav.module.css.cjs.map +0 -1
  584. package/dist/components/Nav/Nav.module.css.js +0 -10
  585. package/dist/components/Nav/Nav.module.css.js.map +0 -1
  586. package/dist/components/Progress/Progress.module.css.cjs +0 -10
  587. package/dist/components/Progress/Progress.module.css.cjs.map +0 -1
  588. package/dist/components/Progress/Progress.module.css.js +0 -10
  589. package/dist/components/Progress/Progress.module.css.js.map +0 -1
  590. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.css.cjs +0 -21
  591. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.css.cjs.map +0 -1
  592. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.css.js +0 -21
  593. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncement.module.css.js.map +0 -1
  594. package/dist/components/Search/Search.module.css.cjs +0 -15
  595. package/dist/components/Search/Search.module.css.cjs.map +0 -1
  596. package/dist/components/Search/Search.module.css.js +0 -15
  597. package/dist/components/Search/Search.module.css.js.map +0 -1
  598. package/dist/components/Separator/Separator.module.css.cjs +0 -9
  599. package/dist/components/Separator/Separator.module.css.cjs.map +0 -1
  600. package/dist/components/Separator/Separator.module.css.js +0 -9
  601. package/dist/components/Separator/Separator.module.css.js.map +0 -1
  602. package/dist/components/Toast/Toast.module.css.cjs +0 -7
  603. package/dist/components/Toast/Toast.module.css.cjs.map +0 -1
  604. package/dist/components/Toast/Toast.module.css.js +0 -7
  605. package/dist/components/Toast/Toast.module.css.js.map +0 -1
  606. package/dist/components/Tooltip/Tooltip.module.css.cjs +0 -18
  607. package/dist/components/Tooltip/Tooltip.module.css.cjs.map +0 -1
  608. package/dist/components/Tooltip/Tooltip.module.css.js +0 -18
  609. package/dist/components/Tooltip/Tooltip.module.css.js.map +0 -1
  610. package/dist/components/Typography/Typography.module.css.cjs +0 -30
  611. package/dist/components/Typography/Typography.module.css.cjs.map +0 -1
  612. package/dist/components/Typography/Typography.module.css.js +0 -30
  613. package/dist/components/Typography/Typography.module.css.js.map +0 -1
  614. package/dist/components/VisualList/VisualList.module.css.cjs +0 -7
  615. package/dist/components/VisualList/VisualList.module.css.cjs.map +0 -1
  616. package/dist/components/VisualList/VisualList.module.css.js +0 -7
  617. package/dist/components/VisualList/VisualList.module.css.js.map +0 -1
  618. package/dist/components/VisualList/VisualListItem.module.css.cjs +0 -10
  619. package/dist/components/VisualList/VisualListItem.module.css.cjs.map +0 -1
  620. package/dist/components/VisualList/VisualListItem.module.css.js +0 -10
  621. package/dist/components/VisualList/VisualListItem.module.css.js.map +0 -1
  622. package/dist/index.cjs.map +0 -1
  623. package/dist/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.js","sources":["../../../src/components/Menu/MenuItem.tsx"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport classnames from \"classnames\";\nimport React, {\n type ComponentPropsWithoutRef,\n type ComponentType,\n type ElementType,\n isValidElement,\n type ReactElement,\n type SVGAttributes,\n useCallback,\n useContext,\n type MouseEventHandler,\n} from \"react\";\nimport styles from \"./MenuItem.module.css\";\nimport { Text } from \"../Typography/Text\";\nimport ChevronRightIcon from \"@vector-im/compound-design-tokens/assets/web/icons/chevron-right\";\nimport { MenuContext } from \"./MenuContext\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\ntype MenuItemElement = \"button\" | \"a\" | \"div\";\n\ntype Props<C extends MenuItemElement> = {\n /**\n * The element type of this menu item.\n * @default button\n */\n as?: C;\n /**\n * The CSS class name.\n */\n className?: string;\n /**\n * The icon to show on this menu item.\n * When `Icon` is a ReactElement, it should spread the props\n */\n Icon?: ComponentType<SVGAttributes<SVGElement>> | ReactElement;\n /**\n * The label to show on this menu item.\n */\n // This prop is required because it's rare to not want a label\n label: string | null;\n /**\n * Additional properties to pass to the Text label component.\n */\n labelProps?: ComponentPropsWithoutRef<typeof Text>;\n /**\n * Event callback for when the item is selected via mouse, touch, or keyboard.\n * Calling event.preventDefault in this handler will prevent the menu from\n * being dismissed.\n */\n // This prop is required because it's rare to not want a selection handler\n onSelect: ((e: Event) => void) | null;\n /**\n * Event callback for when the item is clicked.\n * @param e\n */\n onClick?: MouseEventHandler<HTMLElementTagNameMap[C]>;\n /**\n * The color variant of the menu item.\n * @default primary\n */\n kind?: \"primary\" | \"critical\";\n disabled?: boolean;\n /**\n * Whether to hide the chevron navigation hint.\n */\n hideChevron?: boolean;\n} & Omit<ComponentPropsWithoutRef<C>, \"onSelect\" | \"onClick\">;\n\n/**\n * An item within a menu, acting either as a navigation button, or simply a\n * container for other interactive elements.\n * Must be used within a compound Menu or other `menu` or `menubar` aria role subtree.\n */\nexport const MenuItem = <C extends MenuItemElement = \"button\">({\n as,\n className,\n Icon,\n label,\n labelProps,\n onSelect,\n kind = \"primary\",\n children,\n onClick: onClickProp,\n disabled,\n hideChevron,\n ...props\n}: Props<C>): React.ReactElement => {\n const Component = as ?? (\"button\" as ElementType);\n const context = useContext(MenuContext);\n\n const onClick = useCallback(\n (e: Parameters<Exclude<typeof onClickProp, undefined>>[0]) => {\n (onClickProp as ((e_: typeof e) => void) | undefined)?.(e);\n // If there is no wrapper component to automatically handle onSelect, we\n // need to handle it manually, dismissing the menu as the default action\n if (onSelect !== null && context?.MenuItemWrapper == null) {\n const selectEvent = new CustomEvent(\"menu.itemSelect\", {\n bubbles: true,\n cancelable: true,\n });\n onSelect(selectEvent);\n if (!selectEvent.defaultPrevented) context?.onOpenChange(false);\n }\n },\n [context, onSelect],\n );\n\n const iconIsReactElement = isValidElement(Icon);\n const componentIcon = Icon as ReactElement;\n const SvgIcon = Icon as ComponentType<SVGAttributes<SVGElement>>;\n\n const content = (\n <Component\n role=\"menuitem\"\n {...props}\n className={classnames(className, styles.item, {\n [styles.interactive]: onSelect !== null,\n [styles[\"no-label\"]]: label === null,\n [styles[\"no-icon\"]]: !Icon,\n [styles[\"disabled\"]]: disabled,\n })}\n data-kind={kind}\n onClick={onClick}\n disabled={Component === \"button\" ? disabled : undefined}\n aria-disabled={Component === \"button\" ? undefined : disabled}\n >\n {Icon &&\n (iconIsReactElement ? (\n <Slot className={styles.icon}>{componentIcon}</Slot>\n ) : (\n <SvgIcon\n width={24}\n height={24}\n className={styles.icon}\n aria-hidden={true}\n />\n ))}\n\n {label !== null && (\n <Text\n className={styles.label}\n size=\"md\"\n weight=\"medium\"\n as=\"span\"\n {...labelProps}\n >\n {label}\n </Text>\n )}\n {/* We use CSS to swap between this navigation hint and the provided\n children on hover - see the styles module. */}\n {!hideChevron && (Component === \"button\" || Component === \"a\") && (\n <ChevronRightIcon\n width={8}\n height={24}\n className={styles[\"nav-hint\"]}\n aria-hidden={true}\n /* The SVG is a small icon in a large canvas. It probably ought to be\n cropped, but we can adjust the viewBox here to chop off the horizontal\n space to get it closer to the right hand edge.\n */\n viewBox=\"8 0 8 24\"\n />\n )}\n {children}\n </Component>\n );\n\n return context?.MenuItemWrapper == null || onSelect === null ? (\n content\n ) : (\n <context.MenuItemWrapper onSelect={onSelect}>\n {content}\n </context.MenuItemWrapper>\n );\n};\n"],"names":["classnames"],"mappings":";;;;;;;;AAgFO,MAAM,WAAW,CAAuC;AAAA,EAC7D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAoC;AAClC,QAAM,YAAY,MAAO;AACzB,QAAM,UAAU,WAAW,WAAW;AAEtC,QAAM,UAAU;AAAA,IACd,CAAC,MAA6D;AAC3D,oBAAuD,CAAC;AAGzD,UAAI,aAAa,QAAQ,SAAS,mBAAmB,MAAM;AACzD,cAAM,cAAc,IAAI,YAAY,mBAAmB;AAAA,UACrD,SAAS;AAAA,UACT,YAAY;AAAA,QAAA,CACb;AACD,iBAAS,WAAW;AACpB,YAAI,CAAC,YAAY,iBAAkB,UAAS,aAAa,KAAK;AAAA,MAChE;AAAA,IACF;AAAA,IACA,CAAC,SAAS,QAAQ;AAAA,EAAA;AAGpB,QAAM,qBAAqB,eAAe,IAAI;AAC9C,QAAM,gBAAgB;AACtB,QAAM,UAAU;AAEhB,QAAM,UACJ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACJ,GAAG;AAAA,MACJ,WAAWA,WAAW,WAAW,OAAO,MAAM;AAAA,QAC5C,CAAC,OAAO,WAAW,GAAG,aAAa;AAAA,QACnC,CAAC,OAAO,UAAU,CAAC,GAAG,UAAU;AAAA,QAChC,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC;AAAA,QACtB,CAAC,OAAO,UAAU,CAAC,GAAG;AAAA,MAAA,CACvB;AAAA,MACD,aAAW;AAAA,MACX;AAAA,MACA,UAAU,cAAc,WAAW,WAAW;AAAA,MAC9C,iBAAe,cAAc,WAAW,SAAY;AAAA,MAEnD,UAAA;AAAA,QAAA,SACE,qBACC,oBAAC,MAAA,EAAK,WAAW,OAAO,MAAO,yBAAc,IAE7C;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,WAAW,OAAO;AAAA,YAClB,eAAa;AAAA,UAAA;AAAA,QAAA;AAAA,QAIlB,UAAU,QACT;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,OAAO;AAAA,YAClB,MAAK;AAAA,YACL,QAAO;AAAA,YACP,IAAG;AAAA,YACF,GAAG;AAAA,YAEH,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAKJ,CAAC,gBAAgB,cAAc,YAAY,cAAc,QACxD;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,WAAW,OAAO,UAAU;AAAA,YAC5B,eAAa;AAAA,YAKb,SAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,QAGX;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIL,SAAO,SAAS,mBAAmB,QAAQ,aAAa,OACtD,UAEA,oBAAC,QAAQ,iBAAR,EAAwB,UACtB,UAAA,QAAA,CACH;AAEJ;"}
1
+ {"version":3,"file":"MenuItem.js","names":[],"sources":["../../../src/components/Menu/MenuItem.tsx"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport classnames from \"classnames\";\nimport React, {\n type ComponentPropsWithoutRef,\n type ComponentType,\n type ElementType,\n isValidElement,\n type ReactElement,\n type SVGAttributes,\n useCallback,\n useContext,\n type MouseEventHandler,\n} from \"react\";\nimport styles from \"./MenuItem.module.css\";\nimport { Text } from \"../Typography/Text\";\nimport ChevronRightIcon from \"@vector-im/compound-design-tokens/assets/web/icons/chevron-right\";\nimport { MenuContext } from \"./MenuContext\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\ntype MenuItemElement = \"button\" | \"a\" | \"div\";\n\ntype Props<C extends MenuItemElement> = {\n /**\n * The element type of this menu item.\n * @default button\n */\n as?: C;\n /**\n * The CSS class name.\n */\n className?: string;\n /**\n * The icon to show on this menu item.\n * When `Icon` is a ReactElement, it should spread the props\n */\n Icon?: ComponentType<SVGAttributes<SVGElement>> | ReactElement;\n /**\n * The label to show on this menu item.\n */\n // This prop is required because it's rare to not want a label\n label: string | null;\n /**\n * Additional properties to pass to the Text label component.\n */\n labelProps?: ComponentPropsWithoutRef<typeof Text>;\n /**\n * Event callback for when the item is selected via mouse, touch, or keyboard.\n * Calling event.preventDefault in this handler will prevent the menu from\n * being dismissed.\n */\n // This prop is required because it's rare to not want a selection handler\n onSelect: ((e: Event) => void) | null;\n /**\n * Event callback for when the item is clicked.\n * @param e\n */\n onClick?: MouseEventHandler<HTMLElementTagNameMap[C]>;\n /**\n * The color variant of the menu item.\n * @default primary\n */\n kind?: \"primary\" | \"critical\";\n disabled?: boolean;\n /**\n * Whether to hide the chevron navigation hint.\n */\n hideChevron?: boolean;\n} & Omit<ComponentPropsWithoutRef<C>, \"onSelect\" | \"onClick\">;\n\n/**\n * An item within a menu, acting either as a navigation button, or simply a\n * container for other interactive elements.\n * Must be used within a compound Menu or other `menu` or `menubar` aria role subtree.\n */\nexport const MenuItem = <C extends MenuItemElement = \"button\">({\n as,\n className,\n Icon,\n label,\n labelProps,\n onSelect,\n kind = \"primary\",\n children,\n onClick: onClickProp,\n disabled,\n hideChevron,\n ...props\n}: Props<C>): React.ReactElement => {\n const Component = as ?? (\"button\" as ElementType);\n const context = useContext(MenuContext);\n\n const onClick = useCallback(\n (e: Parameters<Exclude<typeof onClickProp, undefined>>[0]) => {\n (onClickProp as ((e_: typeof e) => void) | undefined)?.(e);\n // If there is no wrapper component to automatically handle onSelect, we\n // need to handle it manually, dismissing the menu as the default action\n if (onSelect !== null && context?.MenuItemWrapper == null) {\n const selectEvent = new CustomEvent(\"menu.itemSelect\", {\n bubbles: true,\n cancelable: true,\n });\n onSelect(selectEvent);\n if (!selectEvent.defaultPrevented) context?.onOpenChange(false);\n }\n },\n [context, onSelect],\n );\n\n const iconIsReactElement = isValidElement(Icon);\n const componentIcon = Icon as ReactElement;\n const SvgIcon = Icon as ComponentType<SVGAttributes<SVGElement>>;\n\n const content = (\n <Component\n role=\"menuitem\"\n {...props}\n className={classnames(className, styles.item, {\n [styles.interactive]: onSelect !== null,\n [styles[\"no-label\"]]: label === null,\n [styles[\"no-icon\"]]: !Icon,\n [styles[\"disabled\"]]: disabled,\n })}\n data-kind={kind}\n onClick={onClick}\n disabled={Component === \"button\" ? disabled : undefined}\n aria-disabled={Component === \"button\" ? undefined : disabled}\n >\n {Icon &&\n (iconIsReactElement ? (\n <Slot className={styles.icon}>{componentIcon}</Slot>\n ) : (\n <SvgIcon\n width={24}\n height={24}\n className={styles.icon}\n aria-hidden={true}\n />\n ))}\n\n {label !== null && (\n <Text\n className={styles.label}\n size=\"md\"\n weight=\"medium\"\n as=\"span\"\n {...labelProps}\n >\n {label}\n </Text>\n )}\n {/* We use CSS to swap between this navigation hint and the provided\n children on hover - see the styles module. */}\n {!hideChevron && (Component === \"button\" || Component === \"a\") && (\n <ChevronRightIcon\n width={8}\n height={24}\n className={styles[\"nav-hint\"]}\n aria-hidden={true}\n /* The SVG is a small icon in a large canvas. It probably ought to be\n cropped, but we can adjust the viewBox here to chop off the horizontal\n space to get it closer to the right hand edge.\n */\n viewBox=\"8 0 8 24\"\n />\n )}\n {children}\n </Component>\n );\n\n return context?.MenuItemWrapper == null || onSelect === null ? (\n content\n ) : (\n <context.MenuItemWrapper onSelect={onSelect}>\n {content}\n </context.MenuItemWrapper>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;AAgFA,IAAa,YAAkD,EAC7D,IACA,WACA,MACA,OACA,YACA,UACA,OAAO,WACP,UACA,SAAS,aACT,UACA,aACA,GAAG,YAC+B;CAClC,MAAM,YAAY,MAAO;CACzB,MAAM,UAAU,WAAW,YAAY;CAEvC,MAAM,UAAU,aACb,MAA6D;AAC3D,gBAAuD,EAAE;AAG1D,MAAI,aAAa,QAAQ,SAAS,mBAAmB,MAAM;GACzD,MAAM,cAAc,IAAI,YAAY,mBAAmB;IACrD,SAAS;IACT,YAAY;IACb,CAAC;AACF,YAAS,YAAY;AACrB,OAAI,CAAC,YAAY,iBAAkB,UAAS,aAAa,MAAM;;IAGnE,CAAC,SAAS,SAAS,CACpB;CAED,MAAM,qBAAqB,eAAe,KAAK;CAC/C,MAAM,gBAAgB;CACtB,MAAM,UAAU;CAEhB,MAAM,UACJ,qBAAC,WAAD;EACE,MAAK;EACL,GAAI;EACJ,WAAW,WAAW,WAAW,wBAAO,MAAM;IAC3C,wBAAO,cAAc,aAAa;IAClC,wBAAO,cAAc,UAAU;IAC/B,wBAAO,aAAa,CAAC;IACrB,wBAAO,cAAc;GACvB,CAAC;EACF,aAAW;EACF;EACT,UAAU,cAAc,WAAW,WAAW,KAAA;EAC9C,iBAAe,cAAc,WAAW,KAAA,IAAY;YAZtD;GAcG,SACE,qBACC,oBAAC,MAAD;IAAM,WAAW,wBAAO;cAAO;IAAqB,CAAA,GAEpD,oBAAC,SAAD;IACE,OAAO;IACP,QAAQ;IACR,WAAW,wBAAO;IAClB,eAAa;IACb,CAAA;GAGL,UAAU,QACT,oBAAC,MAAD;IACE,WAAW,wBAAO;IAClB,MAAK;IACL,QAAO;IACP,IAAG;IACH,GAAI;cAEH;IACI,CAAA;GAIR,CAAC,gBAAgB,cAAc,YAAY,cAAc,QACxD,oBAAC,kBAAD;IACE,OAAO;IACP,QAAQ;IACR,WAAW,wBAAO;IAClB,eAAa;IAKb,SAAQ;IACR,CAAA;GAEH;GACS;;AAGd,QAAO,SAAS,mBAAmB,QAAQ,aAAa,OACtD,UAEA,oBAAC,QAAQ,iBAAT;EAAmC;YAChC;EACuB,CAAA"}
@@ -0,0 +1,20 @@
1
+ //#region src/components/Menu/MenuItem.module.css
2
+ var item = "_item_lqfwq_8";
3
+ var interactive = "_interactive_lqfwq_26";
4
+ var label = "_label_lqfwq_34";
5
+ var icon = "_icon_lqfwq_50";
6
+ var disabled = "_disabled_lqfwq_118";
7
+ var MenuItem_module_default = {
8
+ item,
9
+ interactive,
10
+ "no-label": "_no-label_lqfwq_30",
11
+ label,
12
+ "no-icon": "_no-icon_lqfwq_41",
13
+ icon,
14
+ "nav-hint": "_nav-hint_lqfwq_59",
15
+ disabled
16
+ };
17
+ //#endregion
18
+ exports.default = MenuItem_module_default;
19
+
20
+ //# sourceMappingURL=MenuItem.module.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuItem.module.cjs","names":[],"sources":["../../../src/components/Menu/MenuItem.module.css"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\n.item {\n display: grid;\n grid-template: \"icon label .\" auto \"empty1 label empty2\" auto / auto auto minmax(\n /* Reserve space for the chevron so that the layout doesn't shift on\n hover */\n var(--cpd-space-2x),\n 1fr\n );\n place-items: center end;\n padding-block: var(--cpd-space-2x);\n padding-inline: var(--cpd-space-4x);\n box-sizing: border-box;\n inline-size: 100%;\n min-inline-size: 200px;\n color: var(--cpd-color-text-secondary);\n background: var(--cpd-color-bg-action-secondary-rest);\n}\n\n.item.interactive {\n cursor: pointer;\n}\n\n.item.no-label {\n grid-template: \"icon .\" auto / auto 1fr;\n}\n\n.label {\n grid-area: label;\n margin-inline-end: var(--cpd-space-4x);\n text-align: start;\n word-break: break-word; /* stylelint-disable-line declaration-property-value-keyword-no-deprecated */\n}\n\n.item.no-icon {\n grid-template: \"label .\" auto / auto 1fr;\n\n .label {\n /* Without icon, the height changes when hovered */\n min-block-size: 24px;\n }\n}\n\n.icon {\n grid-area: icon;\n margin-inline-end: var(--cpd-space-3x);\n}\n\n.item.no-label .icon {\n margin-inline-end: var(--cpd-space-4x);\n}\n\n.nav-hint {\n /* Hidden until the item is hovered over */\n display: none;\n flex-shrink: 0;\n}\n\nbutton.item {\n appearance: none;\n border: none;\n}\n\n.item[data-kind=\"primary\"] > .label {\n color: var(--cpd-color-text-primary);\n}\n\n.item[data-kind=\"primary\"] > .icon {\n color: var(--cpd-color-icon-primary);\n}\n\n.item[data-kind=\"primary\"] > .nav-hint {\n color: var(--cpd-color-icon-tertiary);\n}\n\n.item[data-kind=\"critical\"] > .label {\n color: var(--cpd-color-text-critical-primary);\n}\n\n.item[data-kind=\"critical\"] > .icon,\n.item[data-kind=\"critical\"] > .nav-hint {\n color: var(--cpd-color-icon-critical-primary);\n}\n\n@media (hover) {\n .item.interactive[data-kind=\"primary\"]:hover {\n background: var(--cpd-color-bg-action-secondary-hovered);\n }\n\n .item.interactive[data-kind=\"critical\"]:hover {\n background: var(--cpd-color-bg-critical-subtle);\n }\n\n /* Replace the children with the navigation hint on hover */\n .item.interactive:hover > .nav-hint {\n display: initial;\n }\n\n .item.interactive:hover > .nav-hint ~ * {\n display: none;\n }\n}\n\n.item.interactive[data-kind=\"primary\"]:active {\n background: var(--cpd-color-bg-action-secondary-pressed);\n}\n\n.item.interactive[data-kind=\"critical\"]:active {\n background: var(--cpd-color-bg-critical-subtle-hovered);\n}\n\n.item[data-kind].disabled {\n pointer-events: none;\n}\n\n.item[data-kind].disabled > .label,\n.item[data-kind].disabled > .icon,\n.item[data-kind].disabled > .nav-hint {\n color: var(--cpd-color-text-disabled);\n}\n"],"mappings":""}
@@ -0,0 +1,20 @@
1
+ //#region src/components/Menu/MenuItem.module.css
2
+ var item = "_item_lqfwq_8";
3
+ var interactive = "_interactive_lqfwq_26";
4
+ var label = "_label_lqfwq_34";
5
+ var icon = "_icon_lqfwq_50";
6
+ var disabled = "_disabled_lqfwq_118";
7
+ var MenuItem_module_default = {
8
+ item,
9
+ interactive,
10
+ "no-label": "_no-label_lqfwq_30",
11
+ label,
12
+ "no-icon": "_no-icon_lqfwq_41",
13
+ icon,
14
+ "nav-hint": "_nav-hint_lqfwq_59",
15
+ disabled
16
+ };
17
+ //#endregion
18
+ export { MenuItem_module_default as default };
19
+
20
+ //# sourceMappingURL=MenuItem.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuItem.module.js","names":[],"sources":["../../../src/components/Menu/MenuItem.module.css"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\n.item {\n display: grid;\n grid-template: \"icon label .\" auto \"empty1 label empty2\" auto / auto auto minmax(\n /* Reserve space for the chevron so that the layout doesn't shift on\n hover */\n var(--cpd-space-2x),\n 1fr\n );\n place-items: center end;\n padding-block: var(--cpd-space-2x);\n padding-inline: var(--cpd-space-4x);\n box-sizing: border-box;\n inline-size: 100%;\n min-inline-size: 200px;\n color: var(--cpd-color-text-secondary);\n background: var(--cpd-color-bg-action-secondary-rest);\n}\n\n.item.interactive {\n cursor: pointer;\n}\n\n.item.no-label {\n grid-template: \"icon .\" auto / auto 1fr;\n}\n\n.label {\n grid-area: label;\n margin-inline-end: var(--cpd-space-4x);\n text-align: start;\n word-break: break-word; /* stylelint-disable-line declaration-property-value-keyword-no-deprecated */\n}\n\n.item.no-icon {\n grid-template: \"label .\" auto / auto 1fr;\n\n .label {\n /* Without icon, the height changes when hovered */\n min-block-size: 24px;\n }\n}\n\n.icon {\n grid-area: icon;\n margin-inline-end: var(--cpd-space-3x);\n}\n\n.item.no-label .icon {\n margin-inline-end: var(--cpd-space-4x);\n}\n\n.nav-hint {\n /* Hidden until the item is hovered over */\n display: none;\n flex-shrink: 0;\n}\n\nbutton.item {\n appearance: none;\n border: none;\n}\n\n.item[data-kind=\"primary\"] > .label {\n color: var(--cpd-color-text-primary);\n}\n\n.item[data-kind=\"primary\"] > .icon {\n color: var(--cpd-color-icon-primary);\n}\n\n.item[data-kind=\"primary\"] > .nav-hint {\n color: var(--cpd-color-icon-tertiary);\n}\n\n.item[data-kind=\"critical\"] > .label {\n color: var(--cpd-color-text-critical-primary);\n}\n\n.item[data-kind=\"critical\"] > .icon,\n.item[data-kind=\"critical\"] > .nav-hint {\n color: var(--cpd-color-icon-critical-primary);\n}\n\n@media (hover) {\n .item.interactive[data-kind=\"primary\"]:hover {\n background: var(--cpd-color-bg-action-secondary-hovered);\n }\n\n .item.interactive[data-kind=\"critical\"]:hover {\n background: var(--cpd-color-bg-critical-subtle);\n }\n\n /* Replace the children with the navigation hint on hover */\n .item.interactive:hover > .nav-hint {\n display: initial;\n }\n\n .item.interactive:hover > .nav-hint ~ * {\n display: none;\n }\n}\n\n.item.interactive[data-kind=\"primary\"]:active {\n background: var(--cpd-color-bg-action-secondary-pressed);\n}\n\n.item.interactive[data-kind=\"critical\"]:active {\n background: var(--cpd-color-bg-critical-subtle-hovered);\n}\n\n.item[data-kind].disabled {\n pointer-events: none;\n}\n\n.item[data-kind].disabled > .label,\n.item[data-kind].disabled > .icon,\n.item[data-kind].disabled > .nav-hint {\n color: var(--cpd-color-text-disabled);\n}\n"],"mappings":""}
@@ -1,16 +1,23 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const Text = require("../Typography/Text.cjs");
5
- const MenuTitle_module = require("./MenuTitle.module.css.cjs");
6
- const classNames = require("classnames");
7
- const MenuTitle = ({
8
- title,
9
- id,
10
- className
11
- }) => {
12
- const classes = classNames(MenuTitle_module.default["menu-title"], className);
13
- return /* @__PURE__ */ jsxRuntime.jsx(Text.Text, { as: "h3", id, className: classes, size: "sm", weight: "semibold", children: title });
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
+ const require_Text = require("../Typography/Text.cjs");
3
+ const require_MenuTitle_module = require("./MenuTitle.module.cjs");
4
+ let classnames = require("classnames");
5
+ classnames = require_runtime.__toESM(classnames);
6
+ let react = require("react");
7
+ react = require_runtime.__toESM(react);
8
+ let react_jsx_runtime = require("react/jsx-runtime");
9
+ //#region src/components/Menu/MenuTitle.tsx
10
+ var MenuTitle = ({ title, id, className }) => {
11
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Text.Text, {
12
+ as: "h3",
13
+ id,
14
+ className: (0, classnames.default)(require_MenuTitle_module.default["menu-title"], className),
15
+ size: "sm",
16
+ weight: "semibold",
17
+ children: title
18
+ });
14
19
  };
20
+ //#endregion
15
21
  exports.MenuTitle = MenuTitle;
16
- //# sourceMappingURL=MenuTitle.cjs.map
22
+
23
+ //# sourceMappingURL=MenuTitle.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuTitle.cjs","sources":["../../../src/components/Menu/MenuTitle.tsx"],"sourcesContent":["/*\n * Copyright 2025 New Vector Ltd\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\nimport React from \"react\";\nimport { Text } from \"../Typography/Text.tsx\";\nimport styles from \"./MenuTitle.module.css\";\nimport classnames from \"classnames\";\n\ninterface MenuTitleProps {\n /**\n * The title of the menu.\n */\n title: string;\n /**\n * The id of the menu title.\n */\n id?: string;\n /**\n * The CSS class.\n */\n className?: string;\n}\n\nexport const MenuTitle: React.FC<MenuTitleProps> = ({\n title,\n id,\n className,\n}) => {\n const classes = classnames(styles[\"menu-title\"], className);\n\n return (\n <Text as=\"h3\" id={id} className={classes} size=\"sm\" weight=\"semibold\">\n {title}\n </Text>\n );\n};\n"],"names":["classnames","styles","jsx","Text"],"mappings":";;;;;;AA2BO,MAAM,YAAsC,CAAC;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,UAAUA,WAAWC,iBAAAA,QAAO,YAAY,GAAG,SAAS;AAE1D,SACEC,2BAAAA,IAACC,KAAAA,MAAA,EAAK,IAAG,MAAK,IAAQ,WAAW,SAAS,MAAK,MAAK,QAAO,YACxD,UAAA,MAAA,CACH;AAEJ;;"}
1
+ {"version":3,"file":"MenuTitle.cjs","names":[],"sources":["../../../src/components/Menu/MenuTitle.tsx"],"sourcesContent":["/*\n * Copyright 2025 New Vector Ltd\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\nimport React from \"react\";\nimport { Text } from \"../Typography/Text.tsx\";\nimport styles from \"./MenuTitle.module.css\";\nimport classnames from \"classnames\";\n\ninterface MenuTitleProps {\n /**\n * The title of the menu.\n */\n title: string;\n /**\n * The id of the menu title.\n */\n id?: string;\n /**\n * The CSS class.\n */\n className?: string;\n}\n\nexport const MenuTitle: React.FC<MenuTitleProps> = ({\n title,\n id,\n className,\n}) => {\n const classes = classnames(styles[\"menu-title\"], className);\n\n return (\n <Text as=\"h3\" id={id} className={classes} size=\"sm\" weight=\"semibold\">\n {title}\n </Text>\n );\n};\n"],"mappings":";;;;;;;;;AA2BA,IAAa,aAAuC,EAClD,OACA,IACA,gBACI;AAGJ,QACE,iBAAA,GAAA,kBAAA,KAAC,aAAA,MAAD;EAAM,IAAG;EAAS;EAAI,YAAA,GAAA,WAAA,SAHG,yBAAA,QAAO,eAAe,UAAU;EAGf,MAAK;EAAK,QAAO;YACxD;EACI,CAAA"}
@@ -1,16 +1,20 @@
1
- import { jsx } from "react/jsx-runtime";
2
1
  import { Text } from "../Typography/Text.js";
3
- import styles from "./MenuTitle.module.css.js";
2
+ import MenuTitle_module_default from "./MenuTitle.module.js";
4
3
  import classNames from "classnames";
5
- const MenuTitle = ({
6
- title,
7
- id,
8
- className
9
- }) => {
10
- const classes = classNames(styles["menu-title"], className);
11
- return /* @__PURE__ */ jsx(Text, { as: "h3", id, className: classes, size: "sm", weight: "semibold", children: title });
12
- };
13
- export {
14
- MenuTitle
4
+ import "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+ //#region src/components/Menu/MenuTitle.tsx
7
+ var MenuTitle = ({ title, id, className }) => {
8
+ return /* @__PURE__ */ jsx(Text, {
9
+ as: "h3",
10
+ id,
11
+ className: classNames(MenuTitle_module_default["menu-title"], className),
12
+ size: "sm",
13
+ weight: "semibold",
14
+ children: title
15
+ });
15
16
  };
16
- //# sourceMappingURL=MenuTitle.js.map
17
+ //#endregion
18
+ export { MenuTitle };
19
+
20
+ //# sourceMappingURL=MenuTitle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuTitle.js","sources":["../../../src/components/Menu/MenuTitle.tsx"],"sourcesContent":["/*\n * Copyright 2025 New Vector Ltd\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\nimport React from \"react\";\nimport { Text } from \"../Typography/Text.tsx\";\nimport styles from \"./MenuTitle.module.css\";\nimport classnames from \"classnames\";\n\ninterface MenuTitleProps {\n /**\n * The title of the menu.\n */\n title: string;\n /**\n * The id of the menu title.\n */\n id?: string;\n /**\n * The CSS class.\n */\n className?: string;\n}\n\nexport const MenuTitle: React.FC<MenuTitleProps> = ({\n title,\n id,\n className,\n}) => {\n const classes = classnames(styles[\"menu-title\"], className);\n\n return (\n <Text as=\"h3\" id={id} className={classes} size=\"sm\" weight=\"semibold\">\n {title}\n </Text>\n );\n};\n"],"names":["classnames"],"mappings":";;;;AA2BO,MAAM,YAAsC,CAAC;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,UAAUA,WAAW,OAAO,YAAY,GAAG,SAAS;AAE1D,SACE,oBAAC,MAAA,EAAK,IAAG,MAAK,IAAQ,WAAW,SAAS,MAAK,MAAK,QAAO,YACxD,UAAA,MAAA,CACH;AAEJ;"}
1
+ {"version":3,"file":"MenuTitle.js","names":[],"sources":["../../../src/components/Menu/MenuTitle.tsx"],"sourcesContent":["/*\n * Copyright 2025 New Vector Ltd\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\nimport React from \"react\";\nimport { Text } from \"../Typography/Text.tsx\";\nimport styles from \"./MenuTitle.module.css\";\nimport classnames from \"classnames\";\n\ninterface MenuTitleProps {\n /**\n * The title of the menu.\n */\n title: string;\n /**\n * The id of the menu title.\n */\n id?: string;\n /**\n * The CSS class.\n */\n className?: string;\n}\n\nexport const MenuTitle: React.FC<MenuTitleProps> = ({\n title,\n id,\n className,\n}) => {\n const classes = classnames(styles[\"menu-title\"], className);\n\n return (\n <Text as=\"h3\" id={id} className={classes} size=\"sm\" weight=\"semibold\">\n {title}\n </Text>\n );\n};\n"],"mappings":";;;;;;AA2BA,IAAa,aAAuC,EAClD,OACA,IACA,gBACI;AAGJ,QACE,oBAAC,MAAD;EAAM,IAAG;EAAS;EAAI,WAHR,WAAW,yBAAO,eAAe,UAAU;EAGf,MAAK;EAAK,QAAO;YACxD;EACI,CAAA"}
@@ -0,0 +1,6 @@
1
+ //#region src/components/Menu/MenuTitle.module.css
2
+ var MenuTitle_module_default = { "menu-title": "_menu-title_1sgvx_8" };
3
+ //#endregion
4
+ exports.default = MenuTitle_module_default;
5
+
6
+ //# sourceMappingURL=MenuTitle.module.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuTitle.module.cjs","names":[],"sources":["../../../src/components/Menu/MenuTitle.module.css"],"sourcesContent":["/*\n * Copyright 2025 New Vector Ltd\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\n.menu-title {\n color: var(--cpd-color-text-secondary);\n padding-inline: var(--cpd-space-4x);\n padding-block-end: calc(var(--cpd-space-2x) - var(--cpd-border-width-1));\n border-block-end: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);\n margin-block: var(--cpd-space-2x);\n}\n"],"mappings":""}
@@ -0,0 +1,6 @@
1
+ //#region src/components/Menu/MenuTitle.module.css
2
+ var MenuTitle_module_default = { "menu-title": "_menu-title_1sgvx_8" };
3
+ //#endregion
4
+ export { MenuTitle_module_default as default };
5
+
6
+ //# sourceMappingURL=MenuTitle.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuTitle.module.js","names":[],"sources":["../../../src/components/Menu/MenuTitle.module.css"],"sourcesContent":["/*\n * Copyright 2025 New Vector Ltd\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\n.menu-title {\n color: var(--cpd-color-text-secondary);\n padding-inline: var(--cpd-space-4x);\n padding-block-end: calc(var(--cpd-space-2x) - var(--cpd-border-width-1));\n border-block-end: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);\n margin-block: var(--cpd-space-2x);\n}\n"],"mappings":""}
@@ -1,38 +1,36 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const React = require("react");
5
- const MenuItem = require("./MenuItem.cjs");
6
- const Radio = require("../Form/Controls/Radio/Radio.cjs");
7
- const RadioMenuItem = React.forwardRef(
8
- function RadioMenuItem2({ className, label, onSelect, checked, disabled }, ref) {
9
- const toggleId = React.useId();
10
- const onChange = React.useCallback(() => {
11
- }, []);
12
- return /* @__PURE__ */ jsxRuntime.jsx(
13
- MenuItem.MenuItem,
14
- {
15
- as: "div",
16
- role: "menuitemradio",
17
- "aria-checked": checked,
18
- className,
19
- label,
20
- onSelect,
21
- disabled,
22
- Icon: /* @__PURE__ */ jsxRuntime.jsx(
23
- Radio.RadioInput,
24
- {
25
- id: toggleId,
26
- ref,
27
- "aria-hidden": true,
28
- checked,
29
- disabled,
30
- onChange
31
- }
32
- )
33
- }
34
- );
35
- }
36
- );
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
+ const require_MenuItem = require("./MenuItem.cjs");
3
+ const require_Radio = require("../Form/Controls/Radio/Radio.cjs");
4
+ let react = require("react");
5
+ react = require_runtime.__toESM(react);
6
+ let react_jsx_runtime = require("react/jsx-runtime");
7
+ //#region src/components/Menu/RadioMenuItem.tsx
8
+ /**
9
+ * A menu item with a radio control.
10
+ * Must be used within a compound Menu or other `menu` or `menubar` aria role subtree.
11
+ */
12
+ var RadioMenuItem = (0, react.forwardRef)(function RadioMenuItem({ className, label, onSelect, checked, disabled }, ref) {
13
+ const toggleId = (0, react.useId)();
14
+ const onChange = (0, react.useCallback)(() => {}, []);
15
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_MenuItem.MenuItem, {
16
+ as: "div",
17
+ role: "menuitemradio",
18
+ "aria-checked": checked,
19
+ className,
20
+ label,
21
+ onSelect,
22
+ disabled,
23
+ Icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Radio.RadioInput, {
24
+ id: toggleId,
25
+ ref,
26
+ "aria-hidden": true,
27
+ checked,
28
+ disabled,
29
+ onChange
30
+ })
31
+ });
32
+ });
33
+ //#endregion
37
34
  exports.RadioMenuItem = RadioMenuItem;
38
- //# sourceMappingURL=RadioMenuItem.cjs.map
35
+
36
+ //# sourceMappingURL=RadioMenuItem.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioMenuItem.cjs","sources":["../../../src/components/Menu/RadioMenuItem.tsx"],"sourcesContent":["/*\n * Copyright 2025 New Vector Ltd\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\nimport React, {\n type ComponentProps,\n forwardRef,\n useCallback,\n useId,\n} from \"react\";\nimport { MenuItem } from \"./MenuItem\";\nimport { RadioInput } from \"../Form\";\n\ntype Props = Pick<\n ComponentProps<typeof MenuItem>,\n \"className\" | \"label\" | \"onSelect\" | \"disabled\"\n> & {\n /**\n * Whether the radio is checked.\n */\n checked: boolean;\n};\n\n/**\n * A menu item with a radio control.\n * Must be used within a compound Menu or other `menu` or `menubar` aria role subtree.\n */\nexport const RadioMenuItem = forwardRef<HTMLInputElement, Props>(\n function RadioMenuItem(\n { className, label, onSelect, checked, disabled },\n ref,\n ) {\n const toggleId = useId();\n // The radio is controlled and we intend to ignore its events. We do need\n // to at least set onChange though to make React happy.\n const onChange = useCallback(() => {}, []);\n\n // <label> elements are not allowed to have a role like menuitemradio, so\n // we must instead use a plain <div> for the menu item and use aria-checked\n // etc. to communicate its state.\n return (\n <MenuItem\n as=\"div\"\n role=\"menuitemradio\"\n aria-checked={checked}\n className={className}\n label={label}\n onSelect={onSelect}\n disabled={disabled}\n Icon={\n <RadioInput\n id={toggleId}\n ref={ref}\n // This is purely cosmetic; really the whole MenuItem is the toggle.\n aria-hidden\n checked={checked}\n disabled={disabled}\n onChange={onChange}\n />\n }\n ></MenuItem>\n );\n },\n);\n"],"names":["forwardRef","RadioMenuItem","useId","useCallback","jsx","MenuItem","RadioInput"],"mappings":";;;;;;AA8BO,MAAM,gBAAgBA,MAAAA;AAAAA,EAC3B,SAASC,eACP,EAAE,WAAW,OAAO,UAAU,SAAS,SAAA,GACvC,KACA;AACA,UAAM,WAAWC,MAAAA,MAAA;AAGjB,UAAM,WAAWC,MAAAA,YAAY,MAAM;AAAA,IAAC,GAAG,CAAA,CAAE;AAKzC,WACEC,2BAAAA;AAAAA,MAACC,SAAAA;AAAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,MAAK;AAAA,QACL,gBAAc;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,MACED,2BAAAA;AAAAA,UAACE,MAAAA;AAAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ;AAAA,YAEA,eAAW;AAAA,YACX;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAIR;AACF;;"}
1
+ {"version":3,"file":"RadioMenuItem.cjs","names":[],"sources":["../../../src/components/Menu/RadioMenuItem.tsx"],"sourcesContent":["/*\n * Copyright 2025 New Vector Ltd\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\nimport React, {\n type ComponentProps,\n forwardRef,\n useCallback,\n useId,\n} from \"react\";\nimport { MenuItem } from \"./MenuItem\";\nimport { RadioInput } from \"../Form\";\n\ntype Props = Pick<\n ComponentProps<typeof MenuItem>,\n \"className\" | \"label\" | \"onSelect\" | \"disabled\"\n> & {\n /**\n * Whether the radio is checked.\n */\n checked: boolean;\n};\n\n/**\n * A menu item with a radio control.\n * Must be used within a compound Menu or other `menu` or `menubar` aria role subtree.\n */\nexport const RadioMenuItem = forwardRef<HTMLInputElement, Props>(\n function RadioMenuItem(\n { className, label, onSelect, checked, disabled },\n ref,\n ) {\n const toggleId = useId();\n // The radio is controlled and we intend to ignore its events. We do need\n // to at least set onChange though to make React happy.\n const onChange = useCallback(() => {}, []);\n\n // <label> elements are not allowed to have a role like menuitemradio, so\n // we must instead use a plain <div> for the menu item and use aria-checked\n // etc. to communicate its state.\n return (\n <MenuItem\n as=\"div\"\n role=\"menuitemradio\"\n aria-checked={checked}\n className={className}\n label={label}\n onSelect={onSelect}\n disabled={disabled}\n Icon={\n <RadioInput\n id={toggleId}\n ref={ref}\n // This is purely cosmetic; really the whole MenuItem is the toggle.\n aria-hidden\n checked={checked}\n disabled={disabled}\n onChange={onChange}\n />\n }\n ></MenuItem>\n );\n },\n);\n"],"mappings":";;;;;;;;;;;AA8BA,IAAa,iBAAA,GAAA,MAAA,YACX,SAAS,cACP,EAAE,WAAW,OAAO,UAAU,SAAS,YACvC,KACA;CACA,MAAM,YAAA,GAAA,MAAA,QAAkB;CAGxB,MAAM,YAAA,GAAA,MAAA,mBAA6B,IAAI,EAAE,CAAC;AAK1C,QACE,iBAAA,GAAA,kBAAA,KAAC,iBAAA,UAAD;EACE,IAAG;EACH,MAAK;EACL,gBAAc;EACH;EACJ;EACG;EACA;EACV,MACE,iBAAA,GAAA,kBAAA,KAAC,cAAA,YAAD;GACE,IAAI;GACC;GAEL,eAAA;GACS;GACC;GACA;GACV,CAAA;EAEM,CAAA;EAGjB"}
@@ -1,38 +1,34 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { forwardRef, useId, useCallback } from "react";
3
1
  import { MenuItem } from "./MenuItem.js";
4
2
  import { RadioInput } from "../Form/Controls/Radio/Radio.js";
5
- const RadioMenuItem = forwardRef(
6
- function RadioMenuItem2({ className, label, onSelect, checked, disabled }, ref) {
7
- const toggleId = useId();
8
- const onChange = useCallback(() => {
9
- }, []);
10
- return /* @__PURE__ */ jsx(
11
- MenuItem,
12
- {
13
- as: "div",
14
- role: "menuitemradio",
15
- "aria-checked": checked,
16
- className,
17
- label,
18
- onSelect,
19
- disabled,
20
- Icon: /* @__PURE__ */ jsx(
21
- RadioInput,
22
- {
23
- id: toggleId,
24
- ref,
25
- "aria-hidden": true,
26
- checked,
27
- disabled,
28
- onChange
29
- }
30
- )
31
- }
32
- );
33
- }
34
- );
35
- export {
36
- RadioMenuItem
37
- };
38
- //# sourceMappingURL=RadioMenuItem.js.map
3
+ import { forwardRef, useCallback, useId } from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/components/Menu/RadioMenuItem.tsx
6
+ /**
7
+ * A menu item with a radio control.
8
+ * Must be used within a compound Menu or other `menu` or `menubar` aria role subtree.
9
+ */
10
+ var RadioMenuItem = forwardRef(function RadioMenuItem({ className, label, onSelect, checked, disabled }, ref) {
11
+ const toggleId = useId();
12
+ const onChange = useCallback(() => {}, []);
13
+ return /* @__PURE__ */ jsx(MenuItem, {
14
+ as: "div",
15
+ role: "menuitemradio",
16
+ "aria-checked": checked,
17
+ className,
18
+ label,
19
+ onSelect,
20
+ disabled,
21
+ Icon: /* @__PURE__ */ jsx(RadioInput, {
22
+ id: toggleId,
23
+ ref,
24
+ "aria-hidden": true,
25
+ checked,
26
+ disabled,
27
+ onChange
28
+ })
29
+ });
30
+ });
31
+ //#endregion
32
+ export { RadioMenuItem };
33
+
34
+ //# sourceMappingURL=RadioMenuItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioMenuItem.js","sources":["../../../src/components/Menu/RadioMenuItem.tsx"],"sourcesContent":["/*\n * Copyright 2025 New Vector Ltd\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\nimport React, {\n type ComponentProps,\n forwardRef,\n useCallback,\n useId,\n} from \"react\";\nimport { MenuItem } from \"./MenuItem\";\nimport { RadioInput } from \"../Form\";\n\ntype Props = Pick<\n ComponentProps<typeof MenuItem>,\n \"className\" | \"label\" | \"onSelect\" | \"disabled\"\n> & {\n /**\n * Whether the radio is checked.\n */\n checked: boolean;\n};\n\n/**\n * A menu item with a radio control.\n * Must be used within a compound Menu or other `menu` or `menubar` aria role subtree.\n */\nexport const RadioMenuItem = forwardRef<HTMLInputElement, Props>(\n function RadioMenuItem(\n { className, label, onSelect, checked, disabled },\n ref,\n ) {\n const toggleId = useId();\n // The radio is controlled and we intend to ignore its events. We do need\n // to at least set onChange though to make React happy.\n const onChange = useCallback(() => {}, []);\n\n // <label> elements are not allowed to have a role like menuitemradio, so\n // we must instead use a plain <div> for the menu item and use aria-checked\n // etc. to communicate its state.\n return (\n <MenuItem\n as=\"div\"\n role=\"menuitemradio\"\n aria-checked={checked}\n className={className}\n label={label}\n onSelect={onSelect}\n disabled={disabled}\n Icon={\n <RadioInput\n id={toggleId}\n ref={ref}\n // This is purely cosmetic; really the whole MenuItem is the toggle.\n aria-hidden\n checked={checked}\n disabled={disabled}\n onChange={onChange}\n />\n }\n ></MenuItem>\n );\n },\n);\n"],"names":["RadioMenuItem"],"mappings":";;;;AA8BO,MAAM,gBAAgB;AAAA,EAC3B,SAASA,eACP,EAAE,WAAW,OAAO,UAAU,SAAS,SAAA,GACvC,KACA;AACA,UAAM,WAAW,MAAA;AAGjB,UAAM,WAAW,YAAY,MAAM;AAAA,IAAC,GAAG,CAAA,CAAE;AAKzC,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,MAAK;AAAA,QACL,gBAAc;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,MACE;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ;AAAA,YAEA,eAAW;AAAA,YACX;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAIR;AACF;"}
1
+ {"version":3,"file":"RadioMenuItem.js","names":[],"sources":["../../../src/components/Menu/RadioMenuItem.tsx"],"sourcesContent":["/*\n * Copyright 2025 New Vector Ltd\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\nimport React, {\n type ComponentProps,\n forwardRef,\n useCallback,\n useId,\n} from \"react\";\nimport { MenuItem } from \"./MenuItem\";\nimport { RadioInput } from \"../Form\";\n\ntype Props = Pick<\n ComponentProps<typeof MenuItem>,\n \"className\" | \"label\" | \"onSelect\" | \"disabled\"\n> & {\n /**\n * Whether the radio is checked.\n */\n checked: boolean;\n};\n\n/**\n * A menu item with a radio control.\n * Must be used within a compound Menu or other `menu` or `menubar` aria role subtree.\n */\nexport const RadioMenuItem = forwardRef<HTMLInputElement, Props>(\n function RadioMenuItem(\n { className, label, onSelect, checked, disabled },\n ref,\n ) {\n const toggleId = useId();\n // The radio is controlled and we intend to ignore its events. We do need\n // to at least set onChange though to make React happy.\n const onChange = useCallback(() => {}, []);\n\n // <label> elements are not allowed to have a role like menuitemradio, so\n // we must instead use a plain <div> for the menu item and use aria-checked\n // etc. to communicate its state.\n return (\n <MenuItem\n as=\"div\"\n role=\"menuitemradio\"\n aria-checked={checked}\n className={className}\n label={label}\n onSelect={onSelect}\n disabled={disabled}\n Icon={\n <RadioInput\n id={toggleId}\n ref={ref}\n // This is purely cosmetic; really the whole MenuItem is the toggle.\n aria-hidden\n checked={checked}\n disabled={disabled}\n onChange={onChange}\n />\n }\n ></MenuItem>\n );\n },\n);\n"],"mappings":";;;;;;;;;AA8BA,IAAa,gBAAgB,WAC3B,SAAS,cACP,EAAE,WAAW,OAAO,UAAU,SAAS,YACvC,KACA;CACA,MAAM,WAAW,OAAO;CAGxB,MAAM,WAAW,kBAAkB,IAAI,EAAE,CAAC;AAK1C,QACE,oBAAC,UAAD;EACE,IAAG;EACH,MAAK;EACL,gBAAc;EACH;EACJ;EACG;EACA;EACV,MACE,oBAAC,YAAD;GACE,IAAI;GACC;GAEL,eAAA;GACS;GACC;GACA;GACV,CAAA;EAEM,CAAA;EAGjB"}
@@ -1,42 +1,40 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const React = require("react");
5
- const MenuItem = require("./MenuItem.cjs");
6
- const Toggle = require("../Form/Controls/Toggle/Toggle.cjs");
7
- const ToggleMenuItem = React.forwardRef(
8
- function ToggleMenuItem2({ className, Icon, label, onSelect, checked, disabled, onClick }, ref) {
9
- const toggleId = React.useId();
10
- const onChange = React.useCallback(() => {
11
- }, []);
12
- return /* @__PURE__ */ jsxRuntime.jsx(
13
- MenuItem.MenuItem,
14
- {
15
- as: "button",
16
- role: "menuitemcheckbox",
17
- "aria-checked": checked,
18
- className,
19
- Icon,
20
- label,
21
- hideChevron: true,
22
- onSelect,
23
- disabled,
24
- onClick,
25
- children: /* @__PURE__ */ jsxRuntime.jsx(
26
- Toggle.ToggleInput,
27
- {
28
- id: toggleId,
29
- ref,
30
- "aria-hidden": true,
31
- tabIndex: -1,
32
- checked,
33
- disabled,
34
- onChange
35
- }
36
- )
37
- }
38
- );
39
- }
40
- );
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
+ const require_MenuItem = require("./MenuItem.cjs");
3
+ const require_Toggle = require("../Form/Controls/Toggle/Toggle.cjs");
4
+ let react = require("react");
5
+ react = require_runtime.__toESM(react);
6
+ let react_jsx_runtime = require("react/jsx-runtime");
7
+ //#region src/components/Menu/ToggleMenuItem.tsx
8
+ /**
9
+ * A menu item with a toggle control.
10
+ * Must be used within a compound Menu or other `menu` or `menubar` aria role subtree.
11
+ */
12
+ var ToggleMenuItem = (0, react.forwardRef)(function ToggleMenuItem({ className, Icon, label, onSelect, checked, disabled, onClick }, ref) {
13
+ const toggleId = (0, react.useId)();
14
+ const onChange = (0, react.useCallback)(() => {}, []);
15
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_MenuItem.MenuItem, {
16
+ as: "button",
17
+ role: "menuitemcheckbox",
18
+ "aria-checked": checked,
19
+ className,
20
+ Icon,
21
+ label,
22
+ hideChevron: true,
23
+ onSelect,
24
+ disabled,
25
+ onClick,
26
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Toggle.ToggleInput, {
27
+ id: toggleId,
28
+ ref,
29
+ "aria-hidden": true,
30
+ tabIndex: -1,
31
+ checked,
32
+ disabled,
33
+ onChange
34
+ })
35
+ });
36
+ });
37
+ //#endregion
41
38
  exports.ToggleMenuItem = ToggleMenuItem;
42
- //# sourceMappingURL=ToggleMenuItem.cjs.map
39
+
40
+ //# sourceMappingURL=ToggleMenuItem.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleMenuItem.cjs","sources":["../../../src/components/Menu/ToggleMenuItem.tsx"],"sourcesContent":["/*\nCopyright 2023, 2024 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport React, {\n type ComponentProps,\n forwardRef,\n useCallback,\n useId,\n} from \"react\";\nimport { MenuItem } from \"./MenuItem\";\nimport { ToggleInput } from \"../Form/Controls/Toggle\";\n\ntype Props = Pick<\n ComponentProps<typeof MenuItem>,\n \"className\" | \"Icon\" | \"label\" | \"onSelect\" | \"disabled\" | \"onClick\"\n> & {\n /**\n * Whether the toggle is checked.\n */\n checked: boolean;\n};\n\n/**\n * A menu item with a toggle control.\n * Must be used within a compound Menu or other `menu` or `menubar` aria role subtree.\n */\nexport const ToggleMenuItem = forwardRef<HTMLInputElement, Props>(\n function ToggleMenuItem(\n { className, Icon, label, onSelect, checked, disabled, onClick },\n ref,\n ) {\n const toggleId = useId();\n // The toggle is controlled and we intend to ignore its events. We do need\n // to at least set onChange though to make React happy.\n const onChange = useCallback(() => {}, []);\n\n // <label> elements are not allowed to have a role like menuitemcheckbox, so\n // we must instead use a plain <div> for the menu item and use aria-checked\n // etc. to communicate its state.\n return (\n <MenuItem\n as=\"button\"\n role=\"menuitemcheckbox\"\n aria-checked={checked}\n className={className}\n Icon={Icon}\n label={label}\n hideChevron\n onSelect={onSelect}\n disabled={disabled}\n onClick={onClick}\n >\n <ToggleInput\n id={toggleId}\n ref={ref}\n // This is purely cosmetic; really the whole MenuItem is the toggle.\n aria-hidden\n tabIndex={-1}\n checked={checked}\n disabled={disabled}\n onChange={onChange}\n />\n </MenuItem>\n );\n },\n);\n"],"names":["forwardRef","ToggleMenuItem","useId","useCallback","jsx","MenuItem","ToggleInput"],"mappings":";;;;;;AA8BO,MAAM,iBAAiBA,MAAAA;AAAAA,EAC5B,SAASC,gBACP,EAAE,WAAW,MAAM,OAAO,UAAU,SAAS,UAAU,QAAA,GACvD,KACA;AACA,UAAM,WAAWC,MAAAA,MAAA;AAGjB,UAAM,WAAWC,MAAAA,YAAY,MAAM;AAAA,IAAC,GAAG,CAAA,CAAE;AAKzC,WACEC,2BAAAA;AAAAA,MAACC,SAAAA;AAAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,MAAK;AAAA,QACL,gBAAc;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,QACA,aAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QAEA,UAAAD,2BAAAA;AAAAA,UAACE,OAAAA;AAAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ;AAAA,YAEA,eAAW;AAAA,YACX,UAAU;AAAA,YACV;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAGN;AACF;;"}
1
+ {"version":3,"file":"ToggleMenuItem.cjs","names":[],"sources":["../../../src/components/Menu/ToggleMenuItem.tsx"],"sourcesContent":["/*\nCopyright 2023, 2024 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport React, {\n type ComponentProps,\n forwardRef,\n useCallback,\n useId,\n} from \"react\";\nimport { MenuItem } from \"./MenuItem\";\nimport { ToggleInput } from \"../Form/Controls/Toggle\";\n\ntype Props = Pick<\n ComponentProps<typeof MenuItem>,\n \"className\" | \"Icon\" | \"label\" | \"onSelect\" | \"disabled\" | \"onClick\"\n> & {\n /**\n * Whether the toggle is checked.\n */\n checked: boolean;\n};\n\n/**\n * A menu item with a toggle control.\n * Must be used within a compound Menu or other `menu` or `menubar` aria role subtree.\n */\nexport const ToggleMenuItem = forwardRef<HTMLInputElement, Props>(\n function ToggleMenuItem(\n { className, Icon, label, onSelect, checked, disabled, onClick },\n ref,\n ) {\n const toggleId = useId();\n // The toggle is controlled and we intend to ignore its events. We do need\n // to at least set onChange though to make React happy.\n const onChange = useCallback(() => {}, []);\n\n // <label> elements are not allowed to have a role like menuitemcheckbox, so\n // we must instead use a plain <div> for the menu item and use aria-checked\n // etc. to communicate its state.\n return (\n <MenuItem\n as=\"button\"\n role=\"menuitemcheckbox\"\n aria-checked={checked}\n className={className}\n Icon={Icon}\n label={label}\n hideChevron\n onSelect={onSelect}\n disabled={disabled}\n onClick={onClick}\n >\n <ToggleInput\n id={toggleId}\n ref={ref}\n // This is purely cosmetic; really the whole MenuItem is the toggle.\n aria-hidden\n tabIndex={-1}\n checked={checked}\n disabled={disabled}\n onChange={onChange}\n />\n </MenuItem>\n );\n },\n);\n"],"mappings":";;;;;;;;;;;AA8BA,IAAa,kBAAA,GAAA,MAAA,YACX,SAAS,eACP,EAAE,WAAW,MAAM,OAAO,UAAU,SAAS,UAAU,WACvD,KACA;CACA,MAAM,YAAA,GAAA,MAAA,QAAkB;CAGxB,MAAM,YAAA,GAAA,MAAA,mBAA6B,IAAI,EAAE,CAAC;AAK1C,QACE,iBAAA,GAAA,kBAAA,KAAC,iBAAA,UAAD;EACE,IAAG;EACH,MAAK;EACL,gBAAc;EACH;EACL;EACC;EACP,aAAA;EACU;EACA;EACD;YAET,iBAAA,GAAA,kBAAA,KAAC,eAAA,aAAD;GACE,IAAI;GACC;GAEL,eAAA;GACA,UAAU;GACD;GACC;GACA;GACV,CAAA;EACO,CAAA;EAGhB"}
@@ -1,42 +1,38 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { forwardRef, useId, useCallback } from "react";
3
1
  import { MenuItem } from "./MenuItem.js";
4
2
  import { ToggleInput } from "../Form/Controls/Toggle/Toggle.js";
5
- const ToggleMenuItem = forwardRef(
6
- function ToggleMenuItem2({ className, Icon, label, onSelect, checked, disabled, onClick }, ref) {
7
- const toggleId = useId();
8
- const onChange = useCallback(() => {
9
- }, []);
10
- return /* @__PURE__ */ jsx(
11
- MenuItem,
12
- {
13
- as: "button",
14
- role: "menuitemcheckbox",
15
- "aria-checked": checked,
16
- className,
17
- Icon,
18
- label,
19
- hideChevron: true,
20
- onSelect,
21
- disabled,
22
- onClick,
23
- children: /* @__PURE__ */ jsx(
24
- ToggleInput,
25
- {
26
- id: toggleId,
27
- ref,
28
- "aria-hidden": true,
29
- tabIndex: -1,
30
- checked,
31
- disabled,
32
- onChange
33
- }
34
- )
35
- }
36
- );
37
- }
38
- );
39
- export {
40
- ToggleMenuItem
41
- };
42
- //# sourceMappingURL=ToggleMenuItem.js.map
3
+ import { forwardRef, useCallback, useId } from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/components/Menu/ToggleMenuItem.tsx
6
+ /**
7
+ * A menu item with a toggle control.
8
+ * Must be used within a compound Menu or other `menu` or `menubar` aria role subtree.
9
+ */
10
+ var ToggleMenuItem = forwardRef(function ToggleMenuItem({ className, Icon, label, onSelect, checked, disabled, onClick }, ref) {
11
+ const toggleId = useId();
12
+ const onChange = useCallback(() => {}, []);
13
+ return /* @__PURE__ */ jsx(MenuItem, {
14
+ as: "button",
15
+ role: "menuitemcheckbox",
16
+ "aria-checked": checked,
17
+ className,
18
+ Icon,
19
+ label,
20
+ hideChevron: true,
21
+ onSelect,
22
+ disabled,
23
+ onClick,
24
+ children: /* @__PURE__ */ jsx(ToggleInput, {
25
+ id: toggleId,
26
+ ref,
27
+ "aria-hidden": true,
28
+ tabIndex: -1,
29
+ checked,
30
+ disabled,
31
+ onChange
32
+ })
33
+ });
34
+ });
35
+ //#endregion
36
+ export { ToggleMenuItem };
37
+
38
+ //# sourceMappingURL=ToggleMenuItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleMenuItem.js","sources":["../../../src/components/Menu/ToggleMenuItem.tsx"],"sourcesContent":["/*\nCopyright 2023, 2024 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport React, {\n type ComponentProps,\n forwardRef,\n useCallback,\n useId,\n} from \"react\";\nimport { MenuItem } from \"./MenuItem\";\nimport { ToggleInput } from \"../Form/Controls/Toggle\";\n\ntype Props = Pick<\n ComponentProps<typeof MenuItem>,\n \"className\" | \"Icon\" | \"label\" | \"onSelect\" | \"disabled\" | \"onClick\"\n> & {\n /**\n * Whether the toggle is checked.\n */\n checked: boolean;\n};\n\n/**\n * A menu item with a toggle control.\n * Must be used within a compound Menu or other `menu` or `menubar` aria role subtree.\n */\nexport const ToggleMenuItem = forwardRef<HTMLInputElement, Props>(\n function ToggleMenuItem(\n { className, Icon, label, onSelect, checked, disabled, onClick },\n ref,\n ) {\n const toggleId = useId();\n // The toggle is controlled and we intend to ignore its events. We do need\n // to at least set onChange though to make React happy.\n const onChange = useCallback(() => {}, []);\n\n // <label> elements are not allowed to have a role like menuitemcheckbox, so\n // we must instead use a plain <div> for the menu item and use aria-checked\n // etc. to communicate its state.\n return (\n <MenuItem\n as=\"button\"\n role=\"menuitemcheckbox\"\n aria-checked={checked}\n className={className}\n Icon={Icon}\n label={label}\n hideChevron\n onSelect={onSelect}\n disabled={disabled}\n onClick={onClick}\n >\n <ToggleInput\n id={toggleId}\n ref={ref}\n // This is purely cosmetic; really the whole MenuItem is the toggle.\n aria-hidden\n tabIndex={-1}\n checked={checked}\n disabled={disabled}\n onChange={onChange}\n />\n </MenuItem>\n );\n },\n);\n"],"names":["ToggleMenuItem"],"mappings":";;;;AA8BO,MAAM,iBAAiB;AAAA,EAC5B,SAASA,gBACP,EAAE,WAAW,MAAM,OAAO,UAAU,SAAS,UAAU,QAAA,GACvD,KACA;AACA,UAAM,WAAW,MAAA;AAGjB,UAAM,WAAW,YAAY,MAAM;AAAA,IAAC,GAAG,CAAA,CAAE;AAKzC,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAG;AAAA,QACH,MAAK;AAAA,QACL,gBAAc;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,QACA,aAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QAEA,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ;AAAA,YAEA,eAAW;AAAA,YACX,UAAU;AAAA,YACV;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAGN;AACF;"}
1
+ {"version":3,"file":"ToggleMenuItem.js","names":[],"sources":["../../../src/components/Menu/ToggleMenuItem.tsx"],"sourcesContent":["/*\nCopyright 2023, 2024 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport React, {\n type ComponentProps,\n forwardRef,\n useCallback,\n useId,\n} from \"react\";\nimport { MenuItem } from \"./MenuItem\";\nimport { ToggleInput } from \"../Form/Controls/Toggle\";\n\ntype Props = Pick<\n ComponentProps<typeof MenuItem>,\n \"className\" | \"Icon\" | \"label\" | \"onSelect\" | \"disabled\" | \"onClick\"\n> & {\n /**\n * Whether the toggle is checked.\n */\n checked: boolean;\n};\n\n/**\n * A menu item with a toggle control.\n * Must be used within a compound Menu or other `menu` or `menubar` aria role subtree.\n */\nexport const ToggleMenuItem = forwardRef<HTMLInputElement, Props>(\n function ToggleMenuItem(\n { className, Icon, label, onSelect, checked, disabled, onClick },\n ref,\n ) {\n const toggleId = useId();\n // The toggle is controlled and we intend to ignore its events. We do need\n // to at least set onChange though to make React happy.\n const onChange = useCallback(() => {}, []);\n\n // <label> elements are not allowed to have a role like menuitemcheckbox, so\n // we must instead use a plain <div> for the menu item and use aria-checked\n // etc. to communicate its state.\n return (\n <MenuItem\n as=\"button\"\n role=\"menuitemcheckbox\"\n aria-checked={checked}\n className={className}\n Icon={Icon}\n label={label}\n hideChevron\n onSelect={onSelect}\n disabled={disabled}\n onClick={onClick}\n >\n <ToggleInput\n id={toggleId}\n ref={ref}\n // This is purely cosmetic; really the whole MenuItem is the toggle.\n aria-hidden\n tabIndex={-1}\n checked={checked}\n disabled={disabled}\n onChange={onChange}\n />\n </MenuItem>\n );\n },\n);\n"],"mappings":";;;;;;;;;AA8BA,IAAa,iBAAiB,WAC5B,SAAS,eACP,EAAE,WAAW,MAAM,OAAO,UAAU,SAAS,UAAU,WACvD,KACA;CACA,MAAM,WAAW,OAAO;CAGxB,MAAM,WAAW,kBAAkB,IAAI,EAAE,CAAC;AAK1C,QACE,oBAAC,UAAD;EACE,IAAG;EACH,MAAK;EACL,gBAAc;EACH;EACL;EACC;EACP,aAAA;EACU;EACA;EACD;YAET,oBAAC,aAAD;GACE,IAAI;GACC;GAEL,eAAA;GACA,UAAU;GACD;GACC;GACA;GACV,CAAA;EACO,CAAA;EAGhB"}