@pega/cosmos-react-core 2.0.0-dev.9.4 → 2.0.0-rc.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 (736) hide show
  1. package/README.md +3 -3
  2. package/lib/components/Actions/Actions.js +1 -1
  3. package/lib/components/Actions/Actions.js.map +1 -1
  4. package/lib/components/AppShell/AppHeader.d.ts.map +1 -1
  5. package/lib/components/AppShell/AppHeader.js +1 -6
  6. package/lib/components/AppShell/AppHeader.js.map +1 -1
  7. package/lib/components/AppShell/AppShell.d.ts.map +1 -1
  8. package/lib/components/AppShell/AppShell.js +84 -61
  9. package/lib/components/AppShell/AppShell.js.map +1 -1
  10. package/lib/components/AppShell/AppShell.styles.d.ts +19 -16
  11. package/lib/components/AppShell/AppShell.styles.d.ts.map +1 -1
  12. package/lib/components/AppShell/AppShell.styles.js +227 -173
  13. package/lib/components/AppShell/AppShell.styles.js.map +1 -1
  14. package/lib/components/AppShell/AppShell.types.d.ts +5 -5
  15. package/lib/components/AppShell/AppShell.types.d.ts.map +1 -1
  16. package/lib/components/AppShell/AppShell.types.js.map +1 -1
  17. package/lib/components/AppShell/AppShellContext.d.ts +2 -0
  18. package/lib/components/AppShell/AppShellContext.d.ts.map +1 -1
  19. package/lib/components/AppShell/AppShellContext.js +1 -0
  20. package/lib/components/AppShell/AppShellContext.js.map +1 -1
  21. package/lib/components/AppShell/AppShellList.d.ts +4 -3
  22. package/lib/components/AppShell/AppShellList.d.ts.map +1 -1
  23. package/lib/components/AppShell/AppShellList.js +24 -19
  24. package/lib/components/AppShell/AppShellList.js.map +1 -1
  25. package/lib/components/AppShell/Drawer.d.ts.map +1 -1
  26. package/lib/components/AppShell/Drawer.js +7 -8
  27. package/lib/components/AppShell/Drawer.js.map +1 -1
  28. package/lib/components/AppShell/Operator.js +3 -5
  29. package/lib/components/AppShell/Operator.js.map +1 -1
  30. package/lib/components/AppShell/SkipNavigation.d.ts.map +1 -1
  31. package/lib/components/AppShell/SkipNavigation.js +30 -39
  32. package/lib/components/AppShell/SkipNavigation.js.map +1 -1
  33. package/lib/components/Avatar/Avatar.d.ts.map +1 -1
  34. package/lib/components/Avatar/Avatar.js +5 -4
  35. package/lib/components/Avatar/Avatar.js.map +1 -1
  36. package/lib/components/Backdrop/Backdrop.d.ts +1 -1
  37. package/lib/components/Backdrop/Backdrop.d.ts.map +1 -1
  38. package/lib/components/Backdrop/Backdrop.js +7 -6
  39. package/lib/components/Backdrop/Backdrop.js.map +1 -1
  40. package/lib/components/Badges/Alert.js +1 -1
  41. package/lib/components/Badges/Alert.js.map +1 -1
  42. package/lib/components/Badges/Count.js +1 -1
  43. package/lib/components/Badges/Count.js.map +1 -1
  44. package/lib/components/Badges/Selection.d.ts.map +1 -1
  45. package/lib/components/Badges/Selection.js +10 -9
  46. package/lib/components/Badges/Selection.js.map +1 -1
  47. package/lib/components/Badges/Status.d.ts +2 -2
  48. package/lib/components/Badges/Status.d.ts.map +1 -1
  49. package/lib/components/Badges/Status.js +1 -1
  50. package/lib/components/Badges/Status.js.map +1 -1
  51. package/lib/components/Badges/Tag.js +1 -1
  52. package/lib/components/Badges/Tag.js.map +1 -1
  53. package/lib/components/Banner/Banner.d.ts.map +1 -1
  54. package/lib/components/Banner/Banner.js +6 -8
  55. package/lib/components/Banner/Banner.js.map +1 -1
  56. package/lib/components/Boolean/BooleanDisplay.js +1 -2
  57. package/lib/components/Boolean/BooleanDisplay.js.map +1 -1
  58. package/lib/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  59. package/lib/components/Breadcrumbs/Breadcrumbs.js +13 -11
  60. package/lib/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  61. package/lib/components/Button/BareButton.d.ts.map +1 -1
  62. package/lib/components/Button/BareButton.js +21 -2
  63. package/lib/components/Button/BareButton.js.map +1 -1
  64. package/lib/components/Button/BareRoleButton.d.ts +12 -0
  65. package/lib/components/Button/BareRoleButton.d.ts.map +1 -0
  66. package/lib/components/Button/BareRoleButton.js +20 -0
  67. package/lib/components/Button/BareRoleButton.js.map +1 -0
  68. package/lib/components/Button/Button.d.ts +5 -0
  69. package/lib/components/Button/Button.d.ts.map +1 -1
  70. package/lib/components/Button/Button.js +34 -10
  71. package/lib/components/Button/Button.js.map +1 -1
  72. package/lib/components/Card/Card.d.ts.map +1 -1
  73. package/lib/components/Card/Card.js +3 -2
  74. package/lib/components/Card/Card.js.map +1 -1
  75. package/lib/components/Card/CardContent.d.ts.map +1 -1
  76. package/lib/components/Card/CardContent.js +5 -4
  77. package/lib/components/Card/CardContent.js.map +1 -1
  78. package/lib/components/Card/CardFooter.d.ts.map +1 -1
  79. package/lib/components/Card/CardFooter.js +5 -4
  80. package/lib/components/Card/CardFooter.js.map +1 -1
  81. package/lib/components/Card/CardHeader.d.ts +3 -1
  82. package/lib/components/Card/CardHeader.d.ts.map +1 -1
  83. package/lib/components/Card/CardHeader.js +9 -7
  84. package/lib/components/Card/CardHeader.js.map +1 -1
  85. package/lib/components/Card/CardMedia.js +1 -1
  86. package/lib/components/Card/CardMedia.js.map +1 -1
  87. package/lib/components/Card/CollapsibleCard.d.ts.map +1 -1
  88. package/lib/components/Card/CollapsibleCard.js +5 -7
  89. package/lib/components/Card/CollapsibleCard.js.map +1 -1
  90. package/lib/components/Card/SelectableCard.js +1 -1
  91. package/lib/components/Card/SelectableCard.js.map +1 -1
  92. package/lib/components/Checkbox/Checkbox.js +1 -1
  93. package/lib/components/Checkbox/Checkbox.js.map +1 -1
  94. package/lib/components/ColorPicker/ColorPicker.js +8 -11
  95. package/lib/components/ColorPicker/ColorPicker.js.map +1 -1
  96. package/lib/components/ComboBox/ComboBox.d.ts +1 -1
  97. package/lib/components/ComboBox/ComboBox.d.ts.map +1 -1
  98. package/lib/components/ComboBox/ComboBox.js +30 -33
  99. package/lib/components/ComboBox/ComboBox.js.map +1 -1
  100. package/lib/components/ComboBox/ComboBoxInput.js +4 -4
  101. package/lib/components/ComboBox/ComboBoxInput.js.map +1 -1
  102. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.d.ts.map +1 -1
  103. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.js +23 -29
  104. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.js.map +1 -1
  105. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.d.ts.map +1 -1
  106. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.js +16 -12
  107. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.js.map +1 -1
  108. package/lib/components/Configuration/Configuration.js +11 -13
  109. package/lib/components/Configuration/Configuration.js.map +1 -1
  110. package/lib/components/Currency/CurrencyDisplay.d.ts +4 -0
  111. package/lib/components/Currency/CurrencyDisplay.d.ts.map +1 -1
  112. package/lib/components/Currency/CurrencyDisplay.js +11 -7
  113. package/lib/components/Currency/CurrencyDisplay.js.map +1 -1
  114. package/lib/components/Currency/CurrencyInput.d.ts.map +1 -1
  115. package/lib/components/Currency/CurrencyInput.js +16 -16
  116. package/lib/components/Currency/CurrencyInput.js.map +1 -1
  117. package/lib/components/Currency/CurrencyInput.types.d.ts +4 -0
  118. package/lib/components/Currency/CurrencyInput.types.d.ts.map +1 -1
  119. package/lib/components/Currency/CurrencyInput.types.js.map +1 -1
  120. package/lib/components/Currency/utils.d.ts +12 -1
  121. package/lib/components/Currency/utils.d.ts.map +1 -1
  122. package/lib/components/Currency/utils.js +30 -2
  123. package/lib/components/Currency/utils.js.map +1 -1
  124. package/lib/components/DateTime/DateTimeDisplay.d.ts +1 -1
  125. package/lib/components/DateTime/DateTimeDisplay.d.ts.map +1 -1
  126. package/lib/components/DateTime/DateTimeDisplay.js +10 -2
  127. package/lib/components/DateTime/DateTimeDisplay.js.map +1 -1
  128. package/lib/components/DateTime/DurationDisplay.d.ts.map +1 -1
  129. package/lib/components/DateTime/DurationDisplay.js +11 -6
  130. package/lib/components/DateTime/DurationDisplay.js.map +1 -1
  131. package/lib/components/DateTime/Input/DateInput.d.ts.map +1 -1
  132. package/lib/components/DateTime/Input/DateInput.js +26 -28
  133. package/lib/components/DateTime/Input/DateInput.js.map +1 -1
  134. package/lib/components/DateTime/Input/DateRangeInput.d.ts.map +1 -1
  135. package/lib/components/DateTime/Input/DateRangeInput.js +10 -16
  136. package/lib/components/DateTime/Input/DateRangeInput.js.map +1 -1
  137. package/lib/components/DateTime/Input/DateTime.styles.d.ts.map +1 -1
  138. package/lib/components/DateTime/Input/DateTime.styles.js +14 -3
  139. package/lib/components/DateTime/Input/DateTime.styles.js.map +1 -1
  140. package/lib/components/DateTime/Input/DateTimeInput.d.ts.map +1 -1
  141. package/lib/components/DateTime/Input/DateTimeInput.js +37 -44
  142. package/lib/components/DateTime/Input/DateTimeInput.js.map +1 -1
  143. package/lib/components/DateTime/Input/DayOfWeekInput.d.ts.map +1 -1
  144. package/lib/components/DateTime/Input/DayOfWeekInput.js +7 -5
  145. package/lib/components/DateTime/Input/DayOfWeekInput.js.map +1 -1
  146. package/lib/components/DateTime/Input/Duration/DurationInput.d.ts.map +1 -1
  147. package/lib/components/DateTime/Input/Duration/DurationInput.js +3 -3
  148. package/lib/components/DateTime/Input/Duration/DurationInput.js.map +1 -1
  149. package/lib/components/DateTime/Input/Duration/NumberUnit.js +4 -5
  150. package/lib/components/DateTime/Input/Duration/NumberUnit.js.map +1 -1
  151. package/lib/components/DateTime/Input/Duration/Time.d.ts.map +1 -1
  152. package/lib/components/DateTime/Input/Duration/Time.js +12 -15
  153. package/lib/components/DateTime/Input/Duration/Time.js.map +1 -1
  154. package/lib/components/DateTime/Input/MonthInput.js +12 -16
  155. package/lib/components/DateTime/Input/MonthInput.js.map +1 -1
  156. package/lib/components/DateTime/Input/PartInput.js +3 -4
  157. package/lib/components/DateTime/Input/PartInput.js.map +1 -1
  158. package/lib/components/DateTime/Input/QuarterInput.d.ts +9 -0
  159. package/lib/components/DateTime/Input/QuarterInput.d.ts.map +1 -0
  160. package/lib/components/DateTime/Input/QuarterInput.js +102 -0
  161. package/lib/components/DateTime/Input/QuarterInput.js.map +1 -0
  162. package/lib/components/DateTime/Input/TimeInput.d.ts.map +1 -1
  163. package/lib/components/DateTime/Input/TimeInput.js +26 -30
  164. package/lib/components/DateTime/Input/TimeInput.js.map +1 -1
  165. package/lib/components/DateTime/Input/WeekInput.d.ts.map +1 -1
  166. package/lib/components/DateTime/Input/WeekInput.js +23 -24
  167. package/lib/components/DateTime/Input/WeekInput.js.map +1 -1
  168. package/lib/components/DateTime/Input/useAutoFocusNextInput.d.ts.map +1 -1
  169. package/lib/components/DateTime/Input/useAutoFocusNextInput.js +8 -9
  170. package/lib/components/DateTime/Input/useAutoFocusNextInput.js.map +1 -1
  171. package/lib/components/DateTime/Input/usePickerButton.js +4 -4
  172. package/lib/components/DateTime/Input/usePickerButton.js.map +1 -1
  173. package/lib/components/DateTime/Input/utils.d.ts +7 -0
  174. package/lib/components/DateTime/Input/utils.d.ts.map +1 -1
  175. package/lib/components/DateTime/Input/utils.js +52 -10
  176. package/lib/components/DateTime/Input/utils.js.map +1 -1
  177. package/lib/components/DateTime/Picker/Calendar.d.ts.map +1 -1
  178. package/lib/components/DateTime/Picker/Calendar.js +32 -34
  179. package/lib/components/DateTime/Picker/Calendar.js.map +1 -1
  180. package/lib/components/DateTime/Picker/Calendar.styles.d.ts +2 -2
  181. package/lib/components/DateTime/Picker/Calendar.styles.d.ts.map +1 -1
  182. package/lib/components/DateTime/Picker/Calendar.styles.js +16 -7
  183. package/lib/components/DateTime/Picker/Calendar.styles.js.map +1 -1
  184. package/lib/components/DateTime/Picker/DatePicker.d.ts.map +1 -1
  185. package/lib/components/DateTime/Picker/DatePicker.js +13 -17
  186. package/lib/components/DateTime/Picker/DatePicker.js.map +1 -1
  187. package/lib/components/DateTime/Picker/DateRangePicker.d.ts.map +1 -1
  188. package/lib/components/DateTime/Picker/DateRangePicker.js +13 -17
  189. package/lib/components/DateTime/Picker/DateRangePicker.js.map +1 -1
  190. package/lib/components/DateTime/Picker/TimePicker.js +9 -10
  191. package/lib/components/DateTime/Picker/TimePicker.js.map +1 -1
  192. package/lib/components/DateTime/Picker/Weeks.js +9 -11
  193. package/lib/components/DateTime/Picker/Weeks.js.map +1 -1
  194. package/lib/components/DateTime/Picker/utils.d.ts +1 -0
  195. package/lib/components/DateTime/Picker/utils.d.ts.map +1 -1
  196. package/lib/components/DateTime/Picker/utils.js +3 -0
  197. package/lib/components/DateTime/Picker/utils.js.map +1 -1
  198. package/lib/components/DateTime/index.d.ts +2 -0
  199. package/lib/components/DateTime/index.d.ts.map +1 -1
  200. package/lib/components/DateTime/index.js +1 -0
  201. package/lib/components/DateTime/index.js.map +1 -1
  202. package/lib/components/Drawer/Drawer.js +6 -6
  203. package/lib/components/Drawer/Drawer.js.map +1 -1
  204. package/lib/components/Email/EmailDisplay.js +2 -2
  205. package/lib/components/Email/EmailDisplay.js.map +1 -1
  206. package/lib/components/EmojiPicker/EmojiDisplay.d.ts.map +1 -1
  207. package/lib/components/EmojiPicker/EmojiDisplay.js +1 -1
  208. package/lib/components/EmojiPicker/EmojiDisplay.js.map +1 -1
  209. package/lib/components/EmojiPicker/EmojiPicker.js +3 -4
  210. package/lib/components/EmojiPicker/EmojiPicker.js.map +1 -1
  211. package/lib/components/EmptyState/EmptyState.d.ts +14 -0
  212. package/lib/components/EmptyState/EmptyState.d.ts.map +1 -0
  213. package/lib/components/{NoItems/NoItems.js → EmptyState/EmptyState.js} +11 -8
  214. package/lib/components/EmptyState/EmptyState.js.map +1 -0
  215. package/lib/components/EmptyState/index.d.ts +4 -0
  216. package/lib/components/EmptyState/index.d.ts.map +1 -0
  217. package/lib/components/EmptyState/index.js +3 -0
  218. package/lib/components/EmptyState/index.js.map +1 -0
  219. package/lib/components/ErrorState/ErrorState.d.ts +16 -0
  220. package/lib/components/ErrorState/ErrorState.d.ts.map +1 -0
  221. package/lib/components/ErrorState/ErrorState.js +31 -0
  222. package/lib/components/ErrorState/ErrorState.js.map +1 -0
  223. package/lib/components/ErrorState/index.d.ts +4 -0
  224. package/lib/components/ErrorState/index.d.ts.map +1 -0
  225. package/lib/components/ErrorState/index.js +3 -0
  226. package/lib/components/ErrorState/index.js.map +1 -0
  227. package/lib/components/ExpandCollapse/ExpandCollapse.js +5 -5
  228. package/lib/components/ExpandCollapse/ExpandCollapse.js.map +1 -1
  229. package/lib/components/FieldGroup/FieldGroup.d.ts.map +1 -1
  230. package/lib/components/FieldGroup/FieldGroup.js +6 -7
  231. package/lib/components/FieldGroup/FieldGroup.js.map +1 -1
  232. package/lib/components/FieldGroup/FieldGroupList.d.ts.map +1 -1
  233. package/lib/components/FieldGroup/FieldGroupList.js +7 -6
  234. package/lib/components/FieldGroup/FieldGroupList.js.map +1 -1
  235. package/lib/components/FieldValueList/FieldValueList.js +5 -7
  236. package/lib/components/FieldValueList/FieldValueList.js.map +1 -1
  237. package/lib/components/File/FileDisplay.d.ts +4 -1
  238. package/lib/components/File/FileDisplay.d.ts.map +1 -1
  239. package/lib/components/File/FileDisplay.js +7 -7
  240. package/lib/components/File/FileDisplay.js.map +1 -1
  241. package/lib/components/File/FileInput.d.ts +1 -1
  242. package/lib/components/File/FileInput.d.ts.map +1 -1
  243. package/lib/components/File/FileInput.js +18 -19
  244. package/lib/components/File/FileInput.js.map +1 -1
  245. package/lib/components/File/FileItem.js +2 -3
  246. package/lib/components/File/FileItem.js.map +1 -1
  247. package/lib/components/File/FileUploadItem.d.ts +2 -0
  248. package/lib/components/File/FileUploadItem.d.ts.map +1 -1
  249. package/lib/components/File/FileUploadItem.js +43 -12
  250. package/lib/components/File/FileUploadItem.js.map +1 -1
  251. package/lib/components/File/FileVisual.d.ts +5 -7
  252. package/lib/components/File/FileVisual.d.ts.map +1 -1
  253. package/lib/components/File/FileVisual.js +51 -43
  254. package/lib/components/File/FileVisual.js.map +1 -1
  255. package/lib/components/File/utils.js +2 -3
  256. package/lib/components/File/utils.js.map +1 -1
  257. package/lib/components/Flex/Flex.d.ts +17 -7
  258. package/lib/components/Flex/Flex.d.ts.map +1 -1
  259. package/lib/components/Flex/Flex.js +21 -5
  260. package/lib/components/Flex/Flex.js.map +1 -1
  261. package/lib/components/Form/Form.d.ts +7 -1
  262. package/lib/components/Form/Form.d.ts.map +1 -1
  263. package/lib/components/Form/Form.js +5 -4
  264. package/lib/components/Form/Form.js.map +1 -1
  265. package/lib/components/FormControl/FormControl.d.ts +1 -1
  266. package/lib/components/FormControl/FormControl.d.ts.map +1 -1
  267. package/lib/components/FormControl/FormControl.js +1 -1
  268. package/lib/components/FormControl/FormControl.js.map +1 -1
  269. package/lib/components/FormField/FormField.d.ts +5 -7
  270. package/lib/components/FormField/FormField.d.ts.map +1 -1
  271. package/lib/components/FormField/FormField.js +9 -19
  272. package/lib/components/FormField/FormField.js.map +1 -1
  273. package/lib/components/Grid/Grid.d.ts +1 -1
  274. package/lib/components/Grid/Grid.d.ts.map +1 -1
  275. package/lib/components/Grid/Grid.js +13 -17
  276. package/lib/components/Grid/Grid.js.map +1 -1
  277. package/lib/components/Icon/Icon.js +3 -5
  278. package/lib/components/Icon/Icon.js.map +1 -1
  279. package/lib/components/Icon/iconNames.d.ts +1 -1
  280. package/lib/components/Icon/iconNames.d.ts.map +1 -1
  281. package/lib/components/Icon/iconNames.js +2 -0
  282. package/lib/components/Icon/iconNames.js.map +1 -1
  283. package/lib/components/Icon/icons/compass-solid.icon.js +1 -2
  284. package/lib/components/Icon/icons/compass-solid.icon.js.map +1 -1
  285. package/lib/components/Icon/icons/dataviz-table-with-bars.icon.js +1 -4
  286. package/lib/components/Icon/icons/dataviz-table-with-bars.icon.js.map +1 -1
  287. package/lib/components/Icon/icons/dataviz-table-with-cross.icon.js +1 -2
  288. package/lib/components/Icon/icons/dataviz-table-with-cross.icon.js.map +1 -1
  289. package/lib/components/Icon/icons/dataviz-waterfall.icon.js +1 -5
  290. package/lib/components/Icon/icons/dataviz-waterfall.icon.js.map +1 -1
  291. package/lib/components/Icon/icons/dock.icon.d.ts +4 -0
  292. package/lib/components/Icon/icons/dock.icon.d.ts.map +1 -0
  293. package/lib/components/Icon/icons/dock.icon.js +6 -0
  294. package/lib/components/Icon/icons/dock.icon.js.map +1 -0
  295. package/lib/components/Icon/icons/filetype-text.icon.js +1 -4
  296. package/lib/components/Icon/icons/filetype-text.icon.js.map +1 -1
  297. package/lib/components/Icon/icons/folder-dollar.icon.js +1 -2
  298. package/lib/components/Icon/icons/folder-dollar.icon.js.map +1 -1
  299. package/lib/components/Icon/icons/freeze-column.icon.js +1 -2
  300. package/lib/components/Icon/icons/freeze-column.icon.js.map +1 -1
  301. package/lib/components/Icon/icons/galaxy.icon.js +1 -3
  302. package/lib/components/Icon/icons/galaxy.icon.js.map +1 -1
  303. package/lib/components/Icon/icons/grad-solid.icon.js +1 -2
  304. package/lib/components/Icon/icons/grad-solid.icon.js.map +1 -1
  305. package/lib/components/Icon/icons/grad.icon.js +1 -5
  306. package/lib/components/Icon/icons/grad.icon.js.map +1 -1
  307. package/lib/components/Icon/icons/list-number.icon.js +1 -6
  308. package/lib/components/Icon/icons/list-number.icon.js.map +1 -1
  309. package/lib/components/Icon/icons/list.icon.js +1 -6
  310. package/lib/components/Icon/icons/list.icon.js.map +1 -1
  311. package/lib/components/Icon/icons/pin.icon.js +1 -2
  312. package/lib/components/Icon/icons/pin.icon.js.map +1 -1
  313. package/lib/components/Icon/icons/search-solid.icon.js +1 -2
  314. package/lib/components/Icon/icons/search-solid.icon.js.map +1 -1
  315. package/lib/components/Icon/icons/tracer.icon.js +1 -2
  316. package/lib/components/Icon/icons/tracer.icon.js.map +1 -1
  317. package/lib/components/Icon/icons/tribox-solid.icon.js +1 -3
  318. package/lib/components/Icon/icons/tribox-solid.icon.js.map +1 -1
  319. package/lib/components/Icon/icons/tribox.icon.js +1 -3
  320. package/lib/components/Icon/icons/tribox.icon.js.map +1 -1
  321. package/lib/components/Icon/icons/undock.icon.d.ts +4 -0
  322. package/lib/components/Icon/icons/undock.icon.d.ts.map +1 -0
  323. package/lib/components/Icon/icons/undock.icon.js +6 -0
  324. package/lib/components/Icon/icons/undock.icon.js.map +1 -0
  325. package/lib/components/Image/Image.js +1 -1
  326. package/lib/components/Image/Image.js.map +1 -1
  327. package/lib/components/Input/Input.js +13 -13
  328. package/lib/components/Input/Input.js.map +1 -1
  329. package/lib/components/Input/Input.styles.js +2 -2
  330. package/lib/components/Input/Input.styles.js.map +1 -1
  331. package/lib/components/Label/Label.js +1 -1
  332. package/lib/components/Label/Label.js.map +1 -1
  333. package/lib/components/Lightbox/Lightbox.d.ts +6 -0
  334. package/lib/components/Lightbox/Lightbox.d.ts.map +1 -0
  335. package/lib/components/Lightbox/Lightbox.js +129 -0
  336. package/lib/components/Lightbox/Lightbox.js.map +1 -0
  337. package/lib/components/Lightbox/Lightbox.styles.d.ts +11 -0
  338. package/lib/components/Lightbox/Lightbox.styles.d.ts.map +1 -0
  339. package/lib/components/Lightbox/Lightbox.styles.js +166 -0
  340. package/lib/components/Lightbox/Lightbox.styles.js.map +1 -0
  341. package/lib/components/Lightbox/Lightbox.types.d.ts +42 -0
  342. package/lib/components/Lightbox/Lightbox.types.d.ts.map +1 -0
  343. package/lib/components/Lightbox/Lightbox.types.js +2 -0
  344. package/lib/components/Lightbox/Lightbox.types.js.map +1 -0
  345. package/lib/components/Lightbox/index.d.ts +3 -0
  346. package/lib/components/Lightbox/index.d.ts.map +1 -0
  347. package/lib/components/Lightbox/index.js +2 -0
  348. package/lib/components/Lightbox/index.js.map +1 -0
  349. package/lib/components/Link/Link.js +5 -8
  350. package/lib/components/Link/Link.js.map +1 -1
  351. package/lib/components/List/CommaSeparatedList.d.ts +15 -0
  352. package/lib/components/List/CommaSeparatedList.d.ts.map +1 -0
  353. package/lib/components/List/CommaSeparatedList.js +61 -0
  354. package/lib/components/List/CommaSeparatedList.js.map +1 -0
  355. package/lib/components/List/List.d.ts +30 -0
  356. package/lib/components/List/List.d.ts.map +1 -0
  357. package/lib/components/List/List.js +56 -0
  358. package/lib/components/List/List.js.map +1 -0
  359. package/lib/components/List/OrderedList.d.ts +6 -0
  360. package/lib/components/List/OrderedList.d.ts.map +1 -0
  361. package/lib/components/List/OrderedList.js +6 -0
  362. package/lib/components/List/OrderedList.js.map +1 -0
  363. package/lib/components/List/UnorderedList.d.ts +6 -0
  364. package/lib/components/List/UnorderedList.d.ts.map +1 -0
  365. package/lib/components/List/UnorderedList.js +6 -0
  366. package/lib/components/List/UnorderedList.js.map +1 -0
  367. package/lib/components/List/index.d.ts +5 -0
  368. package/lib/components/List/index.d.ts.map +1 -0
  369. package/lib/components/List/index.js +4 -0
  370. package/lib/components/List/index.js.map +1 -0
  371. package/lib/components/Location/CurrentLocationButton.d.ts.map +1 -1
  372. package/lib/components/Location/CurrentLocationButton.js +7 -7
  373. package/lib/components/Location/CurrentLocationButton.js.map +1 -1
  374. package/lib/components/Location/LocationDisplay.js +8 -9
  375. package/lib/components/Location/LocationDisplay.js.map +1 -1
  376. package/lib/components/Location/LocationInput.js +27 -28
  377. package/lib/components/Location/LocationInput.js.map +1 -1
  378. package/lib/components/Location/LocationView.js +8 -13
  379. package/lib/components/Location/LocationView.js.map +1 -1
  380. package/lib/components/Location/utils.js +11 -15
  381. package/lib/components/Location/utils.js.map +1 -1
  382. package/lib/components/Menu/FlyoutMenuList.d.ts.map +1 -1
  383. package/lib/components/Menu/FlyoutMenuList.js +12 -15
  384. package/lib/components/Menu/FlyoutMenuList.js.map +1 -1
  385. package/lib/components/Menu/Menu.context.d.ts.map +1 -1
  386. package/lib/components/Menu/Menu.context.js +2 -0
  387. package/lib/components/Menu/Menu.context.js.map +1 -1
  388. package/lib/components/Menu/Menu.d.ts.map +1 -1
  389. package/lib/components/Menu/Menu.js +89 -46
  390. package/lib/components/Menu/Menu.js.map +1 -1
  391. package/lib/components/Menu/Menu.styles.d.ts +11 -0
  392. package/lib/components/Menu/Menu.styles.d.ts.map +1 -1
  393. package/lib/components/Menu/Menu.styles.js +202 -3
  394. package/lib/components/Menu/Menu.styles.js.map +1 -1
  395. package/lib/components/Menu/Menu.types.d.ts +28 -10
  396. package/lib/components/Menu/Menu.types.d.ts.map +1 -1
  397. package/lib/components/Menu/Menu.types.js.map +1 -1
  398. package/lib/components/Menu/MenuGroup.d.ts +6 -0
  399. package/lib/components/Menu/MenuGroup.d.ts.map +1 -0
  400. package/lib/components/Menu/MenuGroup.js +17 -0
  401. package/lib/components/Menu/MenuGroup.js.map +1 -0
  402. package/lib/components/Menu/MenuItem.d.ts +0 -3
  403. package/lib/components/Menu/MenuItem.d.ts.map +1 -1
  404. package/lib/components/Menu/MenuItem.js +57 -164
  405. package/lib/components/Menu/MenuItem.js.map +1 -1
  406. package/lib/components/Menu/MenuList.d.ts +1 -1
  407. package/lib/components/Menu/MenuList.d.ts.map +1 -1
  408. package/lib/components/Menu/MenuList.js +28 -30
  409. package/lib/components/Menu/MenuList.js.map +1 -1
  410. package/lib/components/Menu/MenuListHeader.d.ts +0 -1
  411. package/lib/components/Menu/MenuListHeader.d.ts.map +1 -1
  412. package/lib/components/Menu/MenuListHeader.js +7 -55
  413. package/lib/components/Menu/MenuListHeader.js.map +1 -1
  414. package/lib/components/Menu/NavItemsList.d.ts.map +1 -1
  415. package/lib/components/Menu/NavItemsList.js +2 -3
  416. package/lib/components/Menu/NavItemsList.js.map +1 -1
  417. package/lib/components/Menu/helpers.d.ts +13 -12
  418. package/lib/components/Menu/helpers.d.ts.map +1 -1
  419. package/lib/components/Menu/helpers.js +40 -36
  420. package/lib/components/Menu/helpers.js.map +1 -1
  421. package/lib/components/Menu/index.d.ts +2 -3
  422. package/lib/components/Menu/index.d.ts.map +1 -1
  423. package/lib/components/Menu/index.js +1 -2
  424. package/lib/components/Menu/index.js.map +1 -1
  425. package/lib/components/MenuButton/MenuButton.d.ts +3 -1
  426. package/lib/components/MenuButton/MenuButton.d.ts.map +1 -1
  427. package/lib/components/MenuButton/MenuButton.js +13 -14
  428. package/lib/components/MenuButton/MenuButton.js.map +1 -1
  429. package/lib/components/MetaList/MetaList.d.ts +11 -2
  430. package/lib/components/MetaList/MetaList.d.ts.map +1 -1
  431. package/lib/components/MetaList/MetaList.js +34 -20
  432. package/lib/components/MetaList/MetaList.js.map +1 -1
  433. package/lib/components/Modal/Contexts.d.ts.map +1 -1
  434. package/lib/components/Modal/Contexts.js +3 -0
  435. package/lib/components/Modal/Contexts.js.map +1 -1
  436. package/lib/components/Modal/DockedModals.d.ts.map +1 -1
  437. package/lib/components/Modal/DockedModals.js +5 -4
  438. package/lib/components/Modal/DockedModals.js.map +1 -1
  439. package/lib/components/Modal/MinimizedModal.d.ts.map +1 -1
  440. package/lib/components/Modal/MinimizedModal.js +53 -38
  441. package/lib/components/Modal/MinimizedModal.js.map +1 -1
  442. package/lib/components/Modal/Modal.d.ts +1 -6
  443. package/lib/components/Modal/Modal.d.ts.map +1 -1
  444. package/lib/components/Modal/Modal.js +82 -134
  445. package/lib/components/Modal/Modal.js.map +1 -1
  446. package/lib/components/Modal/Modal.styles.d.ts +9 -0
  447. package/lib/components/Modal/Modal.styles.d.ts.map +1 -0
  448. package/lib/components/Modal/Modal.styles.js +135 -0
  449. package/lib/components/Modal/Modal.styles.js.map +1 -0
  450. package/lib/components/Modal/Modal.types.d.ts +56 -5
  451. package/lib/components/Modal/Modal.types.d.ts.map +1 -1
  452. package/lib/components/Modal/Modal.types.js.map +1 -1
  453. package/lib/components/Modal/ModalManager.d.ts.map +1 -1
  454. package/lib/components/Modal/ModalManager.js +74 -65
  455. package/lib/components/Modal/ModalManager.js.map +1 -1
  456. package/lib/components/MultiStep/MultiStep.d.ts.map +1 -1
  457. package/lib/components/MultiStep/MultiStep.js +10 -12
  458. package/lib/components/MultiStep/MultiStep.js.map +1 -1
  459. package/lib/components/MultiStep/MultiStep.styles.js +1 -1
  460. package/lib/components/MultiStep/MultiStep.styles.js.map +1 -1
  461. package/lib/components/MultiStep/MultiStep.types.d.ts +2 -0
  462. package/lib/components/MultiStep/MultiStep.types.d.ts.map +1 -1
  463. package/lib/components/MultiStep/MultiStep.types.js.map +1 -1
  464. package/lib/components/Number/NumberDisplay.js +1 -1
  465. package/lib/components/Number/NumberDisplay.js.map +1 -1
  466. package/lib/components/Number/NumberInput.d.ts.map +1 -1
  467. package/lib/components/Number/NumberInput.js +18 -25
  468. package/lib/components/Number/NumberInput.js.map +1 -1
  469. package/lib/components/Number/NumberInput.styles.d.ts +2 -2
  470. package/lib/components/Number/NumberInput.styles.d.ts.map +1 -1
  471. package/lib/components/Number/utils.js +2 -3
  472. package/lib/components/Number/utils.js.map +1 -1
  473. package/lib/components/PageTemplates/CategorySubPage.d.ts +1 -1
  474. package/lib/components/PageTemplates/CategorySubPage.d.ts.map +1 -1
  475. package/lib/components/PageTemplates/CategorySubPage.js +8 -18
  476. package/lib/components/PageTemplates/CategorySubPage.js.map +1 -1
  477. package/lib/components/PageTemplates/CategorySubPage.styles.d.ts +1 -1
  478. package/lib/components/PageTemplates/CategorySubPage.styles.d.ts.map +1 -1
  479. package/lib/components/PageTemplates/DashboardPage.d.ts +7 -1
  480. package/lib/components/PageTemplates/DashboardPage.d.ts.map +1 -1
  481. package/lib/components/PageTemplates/DashboardPage.js +48 -28
  482. package/lib/components/PageTemplates/DashboardPage.js.map +1 -1
  483. package/lib/components/PageTemplates/PageTemplates.d.ts +15 -6
  484. package/lib/components/PageTemplates/PageTemplates.d.ts.map +1 -1
  485. package/lib/components/PageTemplates/PageTemplates.js +89 -79
  486. package/lib/components/PageTemplates/PageTemplates.js.map +1 -1
  487. package/lib/components/PageTemplates/index.d.ts +3 -0
  488. package/lib/components/PageTemplates/index.d.ts.map +1 -1
  489. package/lib/components/PageTemplates/index.js +1 -0
  490. package/lib/components/PageTemplates/index.js.map +1 -1
  491. package/lib/components/Pagination/Pagination.d.ts.map +1 -1
  492. package/lib/components/Pagination/Pagination.js +7 -6
  493. package/lib/components/Pagination/Pagination.js.map +1 -1
  494. package/lib/components/Phone/PhoneDisplay.js +2 -3
  495. package/lib/components/Phone/PhoneDisplay.js.map +1 -1
  496. package/lib/components/Phone/PhoneInput.d.ts.map +1 -1
  497. package/lib/components/Phone/PhoneInput.js +18 -17
  498. package/lib/components/Phone/PhoneInput.js.map +1 -1
  499. package/lib/components/Phone/utils.js +2 -3
  500. package/lib/components/Phone/utils.js.map +1 -1
  501. package/lib/components/Popover/Popover.d.ts +0 -4
  502. package/lib/components/Popover/Popover.d.ts.map +1 -1
  503. package/lib/components/Popover/Popover.js +11 -122
  504. package/lib/components/Popover/Popover.js.map +1 -1
  505. package/lib/components/Popover/Popover.styles.d.ts +5 -0
  506. package/lib/components/Popover/Popover.styles.d.ts.map +1 -0
  507. package/lib/components/Popover/Popover.styles.js +116 -0
  508. package/lib/components/Popover/Popover.styles.js.map +1 -0
  509. package/lib/components/Popover/PopoverManager.js +2 -2
  510. package/lib/components/Popover/PopoverManager.js.map +1 -1
  511. package/lib/components/Popover/index.d.ts +1 -1
  512. package/lib/components/Popover/index.d.ts.map +1 -1
  513. package/lib/components/Popover/index.js +1 -1
  514. package/lib/components/Popover/index.js.map +1 -1
  515. package/lib/components/Progress/Bar.js +2 -2
  516. package/lib/components/Progress/Bar.js.map +1 -1
  517. package/lib/components/Progress/Ellipsis.js +1 -3
  518. package/lib/components/Progress/Ellipsis.js.map +1 -1
  519. package/lib/components/Progress/Progress.js +3 -4
  520. package/lib/components/Progress/Progress.js.map +1 -1
  521. package/lib/components/Progress/Ring.d.ts.map +1 -1
  522. package/lib/components/Progress/Ring.js +3 -3
  523. package/lib/components/Progress/Ring.js.map +1 -1
  524. package/lib/components/RadioButton/RadioButton.js +1 -1
  525. package/lib/components/RadioButton/RadioButton.js.map +1 -1
  526. package/lib/components/RadioCheck/RadioCheck.d.ts.map +1 -1
  527. package/lib/components/RadioCheck/RadioCheck.js +7 -8
  528. package/lib/components/RadioCheck/RadioCheck.js.map +1 -1
  529. package/lib/components/RadioCheckGroup/RadioCheckGroup.d.ts +4 -0
  530. package/lib/components/RadioCheckGroup/RadioCheckGroup.d.ts.map +1 -1
  531. package/lib/components/RadioCheckGroup/RadioCheckGroup.js +19 -18
  532. package/lib/components/RadioCheckGroup/RadioCheckGroup.js.map +1 -1
  533. package/lib/components/Rating/Rating.d.ts.map +1 -1
  534. package/lib/components/Rating/Rating.js +6 -7
  535. package/lib/components/Rating/Rating.js.map +1 -1
  536. package/lib/components/SearchInput/SearchInput.d.ts +2 -2
  537. package/lib/components/SearchInput/SearchInput.d.ts.map +1 -1
  538. package/lib/components/SearchInput/SearchInput.js +14 -14
  539. package/lib/components/SearchInput/SearchInput.js.map +1 -1
  540. package/lib/components/Select/Option.js +1 -1
  541. package/lib/components/Select/Option.js.map +1 -1
  542. package/lib/components/Select/Select.d.ts.map +1 -1
  543. package/lib/components/Select/Select.js +15 -16
  544. package/lib/components/Select/Select.js.map +1 -1
  545. package/lib/components/Sentiment/Sentiment.js +1 -2
  546. package/lib/components/Sentiment/Sentiment.js.map +1 -1
  547. package/lib/components/Skeleton/LineSkeleton.js +1 -1
  548. package/lib/components/Skeleton/LineSkeleton.js.map +1 -1
  549. package/lib/components/Skeleton/ParagraphSkeleton.js +1 -1
  550. package/lib/components/Skeleton/ParagraphSkeleton.js.map +1 -1
  551. package/lib/components/Skeleton/RectangleSkeleton.js +1 -1
  552. package/lib/components/Skeleton/RectangleSkeleton.js.map +1 -1
  553. package/lib/components/Slider/Slider.d.ts.map +1 -1
  554. package/lib/components/Slider/Slider.js +12 -19
  555. package/lib/components/Slider/Slider.js.map +1 -1
  556. package/lib/components/Slider/Slider.styles.d.ts +4 -1
  557. package/lib/components/Slider/Slider.styles.d.ts.map +1 -1
  558. package/lib/components/Slider/Slider.styles.js +17 -5
  559. package/lib/components/Slider/Slider.styles.js.map +1 -1
  560. package/lib/components/Slider/SliderTicks.d.ts +1 -0
  561. package/lib/components/Slider/SliderTicks.d.ts.map +1 -1
  562. package/lib/components/Slider/SliderTicks.js +19 -12
  563. package/lib/components/Slider/SliderTicks.js.map +1 -1
  564. package/lib/components/Slider/utils.d.ts +10 -11
  565. package/lib/components/Slider/utils.d.ts.map +1 -1
  566. package/lib/components/Slider/utils.js +24 -18
  567. package/lib/components/Slider/utils.js.map +1 -1
  568. package/lib/components/SummaryItem/SummaryItem.d.ts +3 -3
  569. package/lib/components/SummaryItem/SummaryItem.d.ts.map +1 -1
  570. package/lib/components/SummaryItem/SummaryItem.js +3 -5
  571. package/lib/components/SummaryItem/SummaryItem.js.map +1 -1
  572. package/lib/components/SummaryList/SummaryList.d.ts +8 -2
  573. package/lib/components/SummaryList/SummaryList.d.ts.map +1 -1
  574. package/lib/components/SummaryList/SummaryList.js +10 -11
  575. package/lib/components/SummaryList/SummaryList.js.map +1 -1
  576. package/lib/components/SummaryList/ViewAll.d.ts +1 -1
  577. package/lib/components/SummaryList/ViewAll.d.ts.map +1 -1
  578. package/lib/components/SummaryList/ViewAll.js +14 -10
  579. package/lib/components/SummaryList/ViewAll.js.map +1 -1
  580. package/lib/components/Switch/Switch.d.ts.map +1 -1
  581. package/lib/components/Switch/Switch.js +41 -30
  582. package/lib/components/Switch/Switch.js.map +1 -1
  583. package/lib/components/Table/Table.d.ts.map +1 -1
  584. package/lib/components/Table/Table.js +14 -13
  585. package/lib/components/Table/Table.js.map +1 -1
  586. package/lib/components/Tabs/Tab.d.ts +1 -1
  587. package/lib/components/Tabs/Tab.d.ts.map +1 -1
  588. package/lib/components/Tabs/Tab.js +9 -7
  589. package/lib/components/Tabs/Tab.js.map +1 -1
  590. package/lib/components/Tabs/TabPanel.d.ts +10 -2
  591. package/lib/components/Tabs/TabPanel.d.ts.map +1 -1
  592. package/lib/components/Tabs/TabPanel.js +24 -8
  593. package/lib/components/Tabs/TabPanel.js.map +1 -1
  594. package/lib/components/Tabs/Tabs.d.ts +1 -0
  595. package/lib/components/Tabs/Tabs.d.ts.map +1 -1
  596. package/lib/components/Tabs/Tabs.js +22 -18
  597. package/lib/components/Tabs/Tabs.js.map +1 -1
  598. package/lib/components/Text/Text.d.ts +1 -1
  599. package/lib/components/Text/Text.d.ts.map +1 -1
  600. package/lib/components/Text/Text.js +2 -2
  601. package/lib/components/Text/Text.js.map +1 -1
  602. package/lib/components/TextArea/TextArea.d.ts.map +1 -1
  603. package/lib/components/TextArea/TextArea.js +33 -30
  604. package/lib/components/TextArea/TextArea.js.map +1 -1
  605. package/lib/components/Toaster/Toaster.d.ts +8 -36
  606. package/lib/components/Toaster/Toaster.d.ts.map +1 -1
  607. package/lib/components/Toaster/Toaster.js +97 -102
  608. package/lib/components/Toaster/Toaster.js.map +1 -1
  609. package/lib/components/Tooltip/Tooltip.d.ts +6 -1
  610. package/lib/components/Tooltip/Tooltip.d.ts.map +1 -1
  611. package/lib/components/Tooltip/Tooltip.js +6 -13
  612. package/lib/components/Tooltip/Tooltip.js.map +1 -1
  613. package/lib/components/Tree/StandardTree.d.ts +6 -0
  614. package/lib/components/Tree/StandardTree.d.ts.map +1 -0
  615. package/lib/components/Tree/StandardTree.js +175 -0
  616. package/lib/components/Tree/StandardTree.js.map +1 -0
  617. package/lib/components/Tree/StandardTree.styles.d.ts +13 -0
  618. package/lib/components/Tree/StandardTree.styles.d.ts.map +1 -0
  619. package/lib/components/Tree/StandardTree.styles.js +155 -0
  620. package/lib/components/Tree/StandardTree.styles.js.map +1 -0
  621. package/lib/components/Tree/StandardTree.types.d.ts +25 -0
  622. package/lib/components/Tree/StandardTree.types.d.ts.map +1 -0
  623. package/lib/components/Tree/StandardTree.types.js +2 -0
  624. package/lib/components/Tree/StandardTree.types.js.map +1 -0
  625. package/lib/components/Tree/Tree.d.ts +35 -49
  626. package/lib/components/Tree/Tree.d.ts.map +1 -1
  627. package/lib/components/Tree/Tree.js +18 -56
  628. package/lib/components/Tree/Tree.js.map +1 -1
  629. package/lib/components/Tree/helpers.d.ts +19 -0
  630. package/lib/components/Tree/helpers.d.ts.map +1 -0
  631. package/lib/components/Tree/helpers.js +180 -0
  632. package/lib/components/Tree/helpers.js.map +1 -0
  633. package/lib/components/Tree/index.d.ts +4 -2
  634. package/lib/components/Tree/index.d.ts.map +1 -1
  635. package/lib/components/Tree/index.js +3 -1
  636. package/lib/components/Tree/index.js.map +1 -1
  637. package/lib/components/URL/URLDisplay.js +2 -2
  638. package/lib/components/URL/URLDisplay.js.map +1 -1
  639. package/lib/hooks/index.d.ts +7 -4
  640. package/lib/hooks/index.d.ts.map +1 -1
  641. package/lib/hooks/index.js +7 -3
  642. package/lib/hooks/index.js.map +1 -1
  643. package/lib/hooks/useActiveDescendant.d.ts +17 -3
  644. package/lib/hooks/useActiveDescendant.d.ts.map +1 -1
  645. package/lib/hooks/useActiveDescendant.js +86 -64
  646. package/lib/hooks/useActiveDescendant.js.map +1 -1
  647. package/lib/hooks/useAutoResize.d.ts.map +1 -1
  648. package/lib/hooks/useAutoResize.js +6 -7
  649. package/lib/hooks/useAutoResize.js.map +1 -1
  650. package/lib/hooks/useBreakpoint.js +2 -4
  651. package/lib/hooks/useBreakpoint.js.map +1 -1
  652. package/lib/hooks/useDraggable.d.ts +8 -0
  653. package/lib/hooks/useDraggable.d.ts.map +1 -0
  654. package/lib/hooks/useDraggable.js +64 -0
  655. package/lib/hooks/useDraggable.js.map +1 -0
  656. package/lib/hooks/useFocusWithin.d.ts +1 -1
  657. package/lib/hooks/useFocusWithin.d.ts.map +1 -1
  658. package/lib/hooks/useFocusWithin.js +29 -24
  659. package/lib/hooks/useFocusWithin.js.map +1 -1
  660. package/lib/hooks/useI18n.d.ts +477 -170
  661. package/lib/hooks/useI18n.d.ts.map +1 -1
  662. package/lib/hooks/useI18n.js +2 -2
  663. package/lib/hooks/useI18n.js.map +1 -1
  664. package/lib/hooks/useLongPress.d.ts +16 -0
  665. package/lib/hooks/useLongPress.d.ts.map +1 -0
  666. package/lib/hooks/useLongPress.js +59 -0
  667. package/lib/hooks/useLongPress.js.map +1 -0
  668. package/lib/hooks/useOuterEvent.js +1 -1
  669. package/lib/hooks/useOuterEvent.js.map +1 -1
  670. package/lib/hooks/useOverride.js +1 -1
  671. package/lib/hooks/useOverride.js.map +1 -1
  672. package/lib/hooks/useScrollStick.js +14 -3
  673. package/lib/hooks/useScrollStick.js.map +1 -1
  674. package/lib/hooks/useScrollToggle.d.ts +6 -0
  675. package/lib/hooks/useScrollToggle.d.ts.map +1 -0
  676. package/lib/hooks/useScrollToggle.js +40 -0
  677. package/lib/hooks/useScrollToggle.js.map +1 -0
  678. package/lib/hooks/useTransitionState.d.ts +39 -0
  679. package/lib/hooks/useTransitionState.d.ts.map +1 -0
  680. package/lib/hooks/useTransitionState.js +56 -0
  681. package/lib/hooks/useTransitionState.js.map +1 -0
  682. package/lib/i18n/default.d.ts +555 -0
  683. package/lib/i18n/default.d.ts.map +1 -0
  684. package/lib/i18n/default.js +600 -0
  685. package/lib/i18n/default.js.map +1 -0
  686. package/lib/i18n/i18n.d.ts +932 -318
  687. package/lib/i18n/i18n.d.ts.map +1 -1
  688. package/lib/i18n/i18n.js +1 -1
  689. package/lib/i18n/i18n.js.map +1 -1
  690. package/lib/i18n/index.d.ts +1 -0
  691. package/lib/i18n/index.d.ts.map +1 -1
  692. package/lib/i18n/index.js.map +1 -1
  693. package/lib/i18n/translate.d.ts +29 -4
  694. package/lib/i18n/translate.d.ts.map +1 -1
  695. package/lib/i18n/translate.js +21 -8
  696. package/lib/i18n/translate.js.map +1 -1
  697. package/lib/index.d.ts +7 -2
  698. package/lib/index.d.ts.map +1 -1
  699. package/lib/index.js +7 -2
  700. package/lib/index.js.map +1 -1
  701. package/lib/styles/GlobalStyle.d.ts.map +1 -1
  702. package/lib/styles/GlobalStyle.js +2 -26
  703. package/lib/styles/GlobalStyle.js.map +1 -1
  704. package/lib/theme/ThemeMachine.js +7 -1
  705. package/lib/theme/ThemeMachine.js.map +1 -1
  706. package/lib/theme/index.d.ts +1 -0
  707. package/lib/theme/index.d.ts.map +1 -1
  708. package/lib/theme/index.js +1 -0
  709. package/lib/theme/index.js.map +1 -1
  710. package/lib/theme/theme.d.ts +83 -53
  711. package/lib/theme/theme.d.ts.map +1 -1
  712. package/lib/theme/themeDefinition.json +50 -30
  713. package/lib/theme/themeOverrides.schema.json +24 -3
  714. package/lib/theme/themes/buildTheme.json +3 -39
  715. package/lib/theme/themes/darkTheme.json +6 -0
  716. package/lib/theme/themes/legacyBuildTheme.json +50 -0
  717. package/lib/types/types.d.ts +6 -1
  718. package/lib/types/types.d.ts.map +1 -1
  719. package/lib/types/types.js.map +1 -1
  720. package/lib/utils/utils.d.ts +46 -4
  721. package/lib/utils/utils.d.ts.map +1 -1
  722. package/lib/utils/utils.js +63 -9
  723. package/lib/utils/utils.js.map +1 -1
  724. package/package.json +10 -11
  725. package/lib/components/DateTime/Input/useButtonAriaLabel.d.ts +0 -3
  726. package/lib/components/DateTime/Input/useButtonAriaLabel.d.ts.map +0 -1
  727. package/lib/components/DateTime/Input/useButtonAriaLabel.js +0 -33
  728. package/lib/components/DateTime/Input/useButtonAriaLabel.js.map +0 -1
  729. package/lib/components/NoItems/NoItems.d.ts +0 -14
  730. package/lib/components/NoItems/NoItems.d.ts.map +0 -1
  731. package/lib/components/NoItems/NoItems.js.map +0 -1
  732. package/lib/components/NoItems/index.d.ts +0 -4
  733. package/lib/components/NoItems/index.d.ts.map +0 -1
  734. package/lib/components/NoItems/index.js +0 -3
  735. package/lib/components/NoItems/index.js.map +0 -1
  736. package/lib/i18n/default.json +0 -246
@@ -1,21 +1,20 @@
1
1
  import { Dispatch, ReactNode, Ref, RefObject, SetStateAction, MouseEvent } from 'react';
2
2
  import { BaseProps, OmitStrict, PropsWithDefaults } from '../../types';
3
+ import { MetaListProps } from '../MetaList';
3
4
  export declare type AcceptedMouseEventElement = HTMLButtonElement | HTMLAnchorElement | HTMLInputElement;
4
- export interface MenuItemProps {
5
- /** A unique id within the entire tree of menu items. This will be passed back to an item's onClick handler. */
6
- id: string;
5
+ export interface MenuItemProps extends MenuObjectProps {
7
6
  /** The primary piece of item information as a string. */
8
7
  primary: string;
9
8
  /** Secondary info about an item. Useful for additional metadata or context. Will be overridden when ancestors are passed as a prop. */
10
- secondary?: string[];
9
+ secondary?: MetaListProps['items'];
11
10
  /** A visual to assist identifying an item. e.g. Avatar or Icon. */
12
11
  visual?: ReactNode;
13
12
  /** A count to assist with number of associated items. */
14
13
  count?: number;
15
14
  /** An array of MenuItemProps to identify an item's ancestors by their primary value. Useful for flattened tree search results. */
16
- ancestors?: MenuItemProps[];
17
- /** An array of MenuItemProps children. */
18
- items?: MenuItemProps[];
15
+ ancestors?: (MenuItemProps | MenuGroupProps)[];
16
+ /** An array of either MenuItemProps or MenuGroupProps children. */
17
+ items?: (MenuItemProps | MenuGroupProps)[];
19
18
  /**
20
19
  * For single or multi select menus, selected must be set true|false to render an item's radiobutton or checkbox.
21
20
  * May be set on parent or leaf items.
@@ -32,21 +31,31 @@ export interface MenuItemProps {
32
31
  * This should be used only for VERY SPECIFIC UX scenarios.
33
32
  */
34
33
  tooltip?: string;
35
- /** Use this function to identify and set item selections. Recommend leveraging top level Menu onClick handler. */
34
+ /** Use this function to identify and set item selections. Recommend leveraging top level Menu onItemClick handler. */
36
35
  onClick?: (id: MenuItemProps['id'], e: MouseEvent<AcceptedMouseEventElement>) => void;
37
36
  onExpand?: MenuItemProps['onClick'];
38
37
  /** Determines if the MenuItem will be disabled. */
39
38
  disabled?: boolean;
40
39
  }
40
+ export interface MenuGroupProps extends MenuObjectProps {
41
+ /** Label of the group. */
42
+ label: string;
43
+ /** An array of MenuItemProps children. */
44
+ items: MenuItemProps[];
45
+ }
41
46
  export declare type ParentMenuItemProps = MenuItemProps & {
42
47
  items: NonNullable<MenuItemProps['items']>;
43
48
  };
44
49
  export interface MenuListHeaderProps {
45
50
  /** Text used to indicate an expanded parent item. */
46
- text?: string;
51
+ text: string;
47
52
  /** Internal handler. */
48
53
  onClick: () => void;
49
54
  }
55
+ export interface MenuObjectProps {
56
+ /** A unique id within the entire tree of menu items. */
57
+ id: string;
58
+ }
50
59
  export interface MenuListProps {
51
60
  items: ParentMenuItemProps['items'];
52
61
  ref?: Ref<HTMLFieldSetElement>;
@@ -60,7 +69,7 @@ export interface MenuListProps {
60
69
  }
61
70
  export interface MenuProps extends BaseProps {
62
71
  /** An array of MenuItemProps. */
63
- items: MenuItemProps[];
72
+ items: (MenuItemProps | MenuGroupProps)[];
64
73
  /**
65
74
  * Indicates intent for the menu.
66
75
  * As of now item types can not be mixed.
@@ -93,6 +102,11 @@ export interface MenuProps extends BaseProps {
93
102
  * Both an item's onClick and this will be called if both are passed.
94
103
  */
95
104
  onItemClick?: MenuItemProps['onClick'];
105
+ /**
106
+ * A top level handler for all item pseudo focus events.
107
+ * This is convenient way to detect which item is active to react by updating state or performing an action.
108
+ */
109
+ onItemActive?: (id: MenuItemProps['id']) => void;
96
110
  /**
97
111
  * A top level handler for clicks on parent items to expand their child items.
98
112
  * This is convenient way to detect when an item is expanded.
@@ -123,6 +137,8 @@ export interface MenuProps extends BaseProps {
123
137
  currentItemId?: string;
124
138
  /** Override for default active-descendant focus control element in menu */
125
139
  focusControlEl?: HTMLElement | undefined;
140
+ /** Override whether the menu automatically focuses the control element on close */
141
+ focusElOnClose?: boolean;
126
142
  /** Header region. */
127
143
  header?: ReactNode;
128
144
  /** Footer region. */
@@ -143,9 +159,11 @@ export interface MenuContextProps extends OmitStrict<MenuPropsWithDefaults, 'ref
143
159
  componentId: string;
144
160
  pushFlyoutId: (id: string) => void;
145
161
  flyOutActiveIdStack: string[];
162
+ focusControl: HTMLElement | null;
146
163
  updateActiveDescendants: (options?: {
147
164
  preventScroll?: boolean;
148
165
  }) => void;
166
+ setFocusDescendant: Dispatch<SetStateAction<HTMLElement | null>>;
149
167
  setFocusReturnEl: Dispatch<SetStateAction<HTMLElement | null | undefined>>;
150
168
  getScopedItemId: (itemId: string) => string;
151
169
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.types.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/Menu.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Menu.types.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/Menu.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.types.js","sourceRoot":"","sources":["../../../src/components/Menu/Menu.types.ts"],"names":[],"mappings":"","sourcesContent":["import { Dispatch, ReactNode, Ref, RefObject, SetStateAction, MouseEvent } from 'react';\n\nimport { BaseProps, OmitStrict, PropsWithDefaults } from '../../types';\n\nexport type AcceptedMouseEventElement = HTMLButtonElement | HTMLAnchorElement | HTMLInputElement;\n\nexport interface MenuItemProps {\n /** A unique id within the entire tree of menu items. This will be passed back to an item's onClick handler. */\n id: string;\n /** The primary piece of item information as a string. */\n primary: string;\n /** Secondary info about an item. Useful for additional metadata or context. Will be overridden when ancestors are passed as a prop. */\n secondary?: string[];\n /** A visual to assist identifying an item. e.g. Avatar or Icon. */\n visual?: ReactNode;\n /** A count to assist with number of associated items. */\n count?: number;\n /** An array of MenuItemProps to identify an item's ancestors by their primary value. Useful for flattened tree search results. */\n ancestors?: MenuItemProps[];\n /** An array of MenuItemProps children. */\n items?: MenuItemProps[];\n /**\n * For single or multi select menus, selected must be set true|false to render an item's radiobutton or checkbox.\n * May be set on parent or leaf items.\n */\n selected?: boolean;\n /**\n * FUTURE SUPPORT: Use to indicate an item has a partial selection, some but not all of its descendants are selected.\n */\n partial?: boolean;\n /** Will render the action item as link. Only use for leaf items. */\n href?: string;\n /**\n * Provide a description for an item that will render in a Tooltip when hovering that item.\n * This should be used only for VERY SPECIFIC UX scenarios.\n */\n tooltip?: string;\n /** Use this function to identify and set item selections. Recommend leveraging top level Menu onClick handler. */\n onClick?: (id: MenuItemProps['id'], e: MouseEvent<AcceptedMouseEventElement>) => void;\n onExpand?: MenuItemProps['onClick'];\n /** Determines if the MenuItem will be disabled. */\n disabled?: boolean;\n}\n\nexport type ParentMenuItemProps = MenuItemProps & { items: NonNullable<MenuItemProps['items']> };\n\nexport interface MenuListHeaderProps {\n /** Text used to indicate an expanded parent item. */\n text?: string;\n /** Internal handler. */\n onClick: () => void;\n}\n\nexport interface MenuListProps {\n items: ParentMenuItemProps['items'];\n ref?: Ref<HTMLFieldSetElement>;\n parent?: {\n el: HTMLFieldSetElement;\n item: ParentMenuItemProps;\n siblingItems: ParentMenuItemProps['items'];\n setExpandedItem: Dispatch<SetStateAction<ParentMenuItemProps | undefined>>;\n returnFocusRef: RefObject<HTMLButtonElement>;\n };\n}\n\nexport interface MenuProps extends BaseProps {\n /** An array of MenuItemProps. */\n items: MenuItemProps[];\n /**\n * Indicates intent for the menu.\n * As of now item types can not be mixed.\n * @default \"action\"\n */\n mode?: 'action' | 'multi-select' | 'single-select';\n /**\n * Always recommended to go for default drill-down variant for better accessibility.\n * When flyout variant is selected, its recommended not to have more than 1 nested level\n * @default \"drill-down\"\n */\n variant?: 'drill-down' | 'flyout';\n /**\n * Use to accent(make bold) portions of the primary text.\n * Useful for filter/search results.\n * If passed a function, that function will be passed each items primary text.\n */\n accent?: RegExp | ((primary: string) => RegExp);\n /**\n * Item height will grow or shrink based on item count.\n * Use this indicate at which item the menu should begin its scroll.\n * @default 7\n */\n scrollAt?: number;\n /** A simple message to display when there are no items. */\n emptyText?: string;\n /**\n * A top level handler for all item clicks.\n * This is convenient way to detect which item was clicked to react by updating state or performing an action.\n * Both an item's onClick and this will be called if both are passed.\n */\n onItemClick?: MenuItemProps['onClick'];\n /**\n * A top level handler for clicks on parent items to expand their child items.\n * This is convenient way to detect when an item is expanded.\n * For lazy loading this would be a good time to set an item's items.\n * Both an item's onExpand and this will be called if both are passed.\n */\n onItemExpand?: MenuProps['onItemClick'];\n /**\n * A top level handler for capturing when nested items have been collapsed / \"back\" button clicks.\n */\n onItemCollapse?: (id: MenuItemProps['id']) => void;\n /**\n * Show a Progress indicator at the end of a list where newly loaded items will be appended.\n * @default false\n */\n loading?: boolean;\n /** Callback to fetch more items */\n loadMore?: (id?: MenuItemProps['id']) => void;\n /** Ref placed on the root menu element. */\n ref?: Ref<HTMLDivElement>;\n /** HTML ID. */\n id?: string;\n /**\n * Currently highlighted item.\n * Setting currentItemId assumes synthetic focus is being controlled entirely by the containing component,\n * and unbinds menu useActiveDescendant keydown controls.\n * */\n currentItemId?: string;\n /** Override for default active-descendant focus control element in menu */\n focusControlEl?: HTMLElement | undefined;\n /** Header region. */\n header?: ReactNode;\n /** Footer region. */\n footer?: ReactNode;\n /**\n * Flag to indicate that Right/Left arrow navigation for expand/collapse parent items is not available.\n * Will accept enter if not selectable parent, otherwise falls back to shift + space.\n */\n arrowNavigationUnsupported?: boolean;\n /**\n * Additional information to announce to screen reader users. Read before menu navigation instructions.\n */\n 'aria-describedby'?: string;\n}\n\ntype MenuPropsWithDefaults = PropsWithDefaults<\n MenuProps,\n 'mode' | 'variant' | 'scrollAt' | 'loading'\n>;\nexport interface MenuContextProps extends OmitStrict<MenuPropsWithDefaults, 'ref' | 'items'> {\n radioName?: string;\n componentId: string;\n pushFlyoutId: (id: string) => void;\n flyOutActiveIdStack: string[];\n updateActiveDescendants: (options?: { preventScroll?: boolean }) => void;\n setFocusReturnEl: Dispatch<SetStateAction<HTMLElement | null | undefined>>;\n getScopedItemId: (itemId: string) => string;\n}\n\nexport interface NavItemsListProps {\n listRef: RefObject<HTMLUListElement>;\n cycle?: boolean;\n}\n"]}
1
+ {"version":3,"file":"Menu.types.js","sourceRoot":"","sources":["../../../src/components/Menu/Menu.types.ts"],"names":[],"mappings":"","sourcesContent":["import { Dispatch, ReactNode, Ref, RefObject, SetStateAction, MouseEvent } from 'react';\n\nimport { BaseProps, OmitStrict, PropsWithDefaults } from '../../types';\nimport { MetaListProps } from '../MetaList';\n\nexport type AcceptedMouseEventElement = HTMLButtonElement | HTMLAnchorElement | HTMLInputElement;\n\nexport interface MenuItemProps extends MenuObjectProps {\n /** The primary piece of item information as a string. */\n primary: string;\n /** Secondary info about an item. Useful for additional metadata or context. Will be overridden when ancestors are passed as a prop. */\n secondary?: MetaListProps['items'];\n /** A visual to assist identifying an item. e.g. Avatar or Icon. */\n visual?: ReactNode;\n /** A count to assist with number of associated items. */\n count?: number;\n /** An array of MenuItemProps to identify an item's ancestors by their primary value. Useful for flattened tree search results. */\n ancestors?: (MenuItemProps | MenuGroupProps)[];\n /** An array of either MenuItemProps or MenuGroupProps children. */\n items?: (MenuItemProps | MenuGroupProps)[];\n /**\n * For single or multi select menus, selected must be set true|false to render an item's radiobutton or checkbox.\n * May be set on parent or leaf items.\n */\n selected?: boolean;\n /**\n * FUTURE SUPPORT: Use to indicate an item has a partial selection, some but not all of its descendants are selected.\n */\n partial?: boolean;\n /** Will render the action item as link. Only use for leaf items. */\n href?: string;\n /**\n * Provide a description for an item that will render in a Tooltip when hovering that item.\n * This should be used only for VERY SPECIFIC UX scenarios.\n */\n tooltip?: string;\n /** Use this function to identify and set item selections. Recommend leveraging top level Menu onItemClick handler. */\n onClick?: (id: MenuItemProps['id'], e: MouseEvent<AcceptedMouseEventElement>) => void;\n onExpand?: MenuItemProps['onClick'];\n /** Determines if the MenuItem will be disabled. */\n disabled?: boolean;\n}\n\nexport interface MenuGroupProps extends MenuObjectProps {\n /** Label of the group. */\n label: string;\n /** An array of MenuItemProps children. */\n items: MenuItemProps[];\n}\n\nexport type ParentMenuItemProps = MenuItemProps & { items: NonNullable<MenuItemProps['items']> };\n\nexport interface MenuListHeaderProps {\n /** Text used to indicate an expanded parent item. */\n text: string;\n /** Internal handler. */\n onClick: () => void;\n}\n\nexport interface MenuObjectProps {\n /** A unique id within the entire tree of menu items. */\n id: string;\n}\n\nexport interface MenuListProps {\n items: ParentMenuItemProps['items'];\n ref?: Ref<HTMLFieldSetElement>;\n parent?: {\n el: HTMLFieldSetElement;\n item: ParentMenuItemProps;\n siblingItems: ParentMenuItemProps['items'];\n setExpandedItem: Dispatch<SetStateAction<ParentMenuItemProps | undefined>>;\n returnFocusRef: RefObject<HTMLButtonElement>;\n };\n}\n\nexport interface MenuProps extends BaseProps {\n /** An array of MenuItemProps. */\n items: (MenuItemProps | MenuGroupProps)[];\n /**\n * Indicates intent for the menu.\n * As of now item types can not be mixed.\n * @default \"action\"\n */\n mode?: 'action' | 'multi-select' | 'single-select';\n /**\n * Always recommended to go for default drill-down variant for better accessibility.\n * When flyout variant is selected, its recommended not to have more than 1 nested level\n * @default \"drill-down\"\n */\n variant?: 'drill-down' | 'flyout';\n /**\n * Use to accent(make bold) portions of the primary text.\n * Useful for filter/search results.\n * If passed a function, that function will be passed each items primary text.\n */\n accent?: RegExp | ((primary: string) => RegExp);\n /**\n * Item height will grow or shrink based on item count.\n * Use this indicate at which item the menu should begin its scroll.\n * @default 7\n */\n scrollAt?: number;\n /** A simple message to display when there are no items. */\n emptyText?: string;\n /**\n * A top level handler for all item clicks.\n * This is convenient way to detect which item was clicked to react by updating state or performing an action.\n * Both an item's onClick and this will be called if both are passed.\n */\n onItemClick?: MenuItemProps['onClick'];\n /**\n * A top level handler for all item pseudo focus events.\n * This is convenient way to detect which item is active to react by updating state or performing an action.\n */\n onItemActive?: (id: MenuItemProps['id']) => void;\n /**\n * A top level handler for clicks on parent items to expand their child items.\n * This is convenient way to detect when an item is expanded.\n * For lazy loading this would be a good time to set an item's items.\n * Both an item's onExpand and this will be called if both are passed.\n */\n onItemExpand?: MenuProps['onItemClick'];\n /**\n * A top level handler for capturing when nested items have been collapsed / \"back\" button clicks.\n */\n onItemCollapse?: (id: MenuItemProps['id']) => void;\n /**\n * Show a Progress indicator at the end of a list where newly loaded items will be appended.\n * @default false\n */\n loading?: boolean;\n /** Callback to fetch more items */\n loadMore?: (id?: MenuItemProps['id']) => void;\n /** Ref placed on the root menu element. */\n ref?: Ref<HTMLDivElement>;\n /** HTML ID. */\n id?: string;\n /**\n * Currently highlighted item.\n * Setting currentItemId assumes synthetic focus is being controlled entirely by the containing component,\n * and unbinds menu useActiveDescendant keydown controls.\n * */\n currentItemId?: string;\n /** Override for default active-descendant focus control element in menu */\n focusControlEl?: HTMLElement | undefined;\n /** Override whether the menu automatically focuses the control element on close */\n focusElOnClose?: boolean;\n /** Header region. */\n header?: ReactNode;\n /** Footer region. */\n footer?: ReactNode;\n /**\n * Flag to indicate that Right/Left arrow navigation for expand/collapse parent items is not available.\n * Will accept enter if not selectable parent, otherwise falls back to shift + space.\n */\n arrowNavigationUnsupported?: boolean;\n /**\n * Additional information to announce to screen reader users. Read before menu navigation instructions.\n */\n 'aria-describedby'?: string;\n}\n\ntype MenuPropsWithDefaults = PropsWithDefaults<\n MenuProps,\n 'mode' | 'variant' | 'scrollAt' | 'loading'\n>;\nexport interface MenuContextProps extends OmitStrict<MenuPropsWithDefaults, 'ref' | 'items'> {\n radioName?: string;\n componentId: string;\n pushFlyoutId: (id: string) => void;\n flyOutActiveIdStack: string[];\n focusControl: HTMLElement | null;\n updateActiveDescendants: (options?: { preventScroll?: boolean }) => void;\n setFocusDescendant: Dispatch<SetStateAction<HTMLElement | null>>;\n setFocusReturnEl: Dispatch<SetStateAction<HTMLElement | null | undefined>>;\n getScopedItemId: (itemId: string) => string;\n}\n\nexport interface NavItemsListProps {\n listRef: RefObject<HTMLUListElement>;\n cycle?: boolean;\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import { FunctionComponent } from 'react';
2
+ import type { ForwardProps } from '../../types';
3
+ import type { MenuGroupProps } from './Menu.types';
4
+ declare const MenuGroup: FunctionComponent<MenuGroupProps & ForwardProps>;
5
+ export default MenuGroup;
6
+ //# sourceMappingURL=MenuGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuGroup.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/MenuGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAc,MAAM,OAAO,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,QAAA,MAAM,SAAS,EAAE,iBAAiB,CAAC,cAAc,GAAG,YAAY,CAyB/D,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { createElement as _createElement } from "react";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useContext } from 'react';
4
+ import Flex from '../Flex';
5
+ import MenuContext from './Menu.context';
6
+ import { StyledMenuGroupHeader, StyledMenuGroupList } from './Menu.styles';
7
+ import MenuItem from './MenuItem';
8
+ const MenuGroup = ({ id, label, items }) => {
9
+ const { componentId } = useContext(MenuContext);
10
+ const groupId = `${componentId}-${id}`;
11
+ return (_jsxs("li", { children: [_jsx(Flex, { container: { alignItems: 'center', pad: [0.5, 1] }, as: StyledMenuGroupHeader, id: groupId, children: label }, void 0), _jsx(StyledMenuGroupList, { role: 'group', "aria-labelledby": `#${groupId}`, children: items.length > 0 &&
12
+ items.map(item => {
13
+ return _createElement(MenuItem, { ...item, key: item.id });
14
+ }) }, void 0)] }, void 0));
15
+ };
16
+ export default MenuGroup;
17
+ //# sourceMappingURL=MenuGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuGroup.js","sourceRoot":"","sources":["../../../src/components/Menu/MenuGroup.tsx"],"names":[],"mappings":";;AAAA,OAAO,EAAqB,UAAU,EAAE,MAAM,OAAO,CAAC;AAGtD,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE3E,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,SAAS,GAAqD,CAAC,EACnE,EAAE,EACF,KAAK,EACL,KAAK,EACyB,EAAE,EAAE;IAClC,MAAM,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAEhD,MAAM,OAAO,GAAG,GAAG,WAAW,IAAI,EAAE,EAAE,CAAC;IACvC,OAAO,CACL,yBACE,KAAC,IAAI,IACH,SAAS,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAClD,EAAE,EAAE,qBAAqB,EACzB,EAAE,EAAE,OAAO,YAEV,KAAK,WACD,EACP,KAAC,mBAAmB,IAAC,IAAI,EAAC,OAAO,qBAAkB,IAAI,OAAO,EAAE,YAC7D,KAAK,CAAC,MAAM,GAAG,CAAC;oBACf,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBACf,OAAO,eAAC,QAAQ,OAAK,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAI,CAAC;oBAC9C,CAAC,CAAC,WACgB,YACnB,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC","sourcesContent":["import { FunctionComponent, useContext } from 'react';\n\nimport type { ForwardProps } from '../../types';\nimport Flex from '../Flex';\n\nimport MenuContext from './Menu.context';\nimport { StyledMenuGroupHeader, StyledMenuGroupList } from './Menu.styles';\nimport type { MenuGroupProps } from './Menu.types';\nimport MenuItem from './MenuItem';\n\nconst MenuGroup: FunctionComponent<MenuGroupProps & ForwardProps> = ({\n id,\n label,\n items\n}: MenuGroupProps & ForwardProps) => {\n const { componentId } = useContext(MenuContext);\n\n const groupId = `${componentId}-${id}`;\n return (\n <li>\n <Flex\n container={{ alignItems: 'center', pad: [0.5, 1] }}\n as={StyledMenuGroupHeader}\n id={groupId}\n >\n {label}\n </Flex>\n <StyledMenuGroupList role='group' aria-labelledby={`#${groupId}`}>\n {items.length > 0 &&\n items.map(item => {\n return <MenuItem {...item} key={item.id} />;\n })}\n </StyledMenuGroupList>\n </li>\n );\n};\n\nexport default MenuGroup;\n"]}
@@ -1,9 +1,6 @@
1
1
  import { FunctionComponent } from 'react';
2
2
  import { ForwardProps } from '../../types';
3
3
  import { MenuItemProps } from './Menu.types';
4
- export declare const StyledMenuItem: import("styled-components").StyledComponent<"li", import("styled-components").DefaultTheme, {
5
- isParentItem: boolean;
6
- }, never>;
7
4
  declare const MenuItem: FunctionComponent<MenuItemProps & ForwardProps>;
8
5
  export default MenuItem;
9
6
  //# sourceMappingURL=MenuItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/MenuItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAQlB,MAAM,OAAO,CAAC;AAOf,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAa3C,OAAO,EAA6B,aAAa,EAAE,MAAM,cAAc,CAAC;AAqExE,eAAO,MAAM,cAAc;kBAA6B,OAAO;SA0C9D,CAAC;AAoDF,QAAA,MAAM,QAAQ,EAAE,iBAAiB,CAAC,aAAa,GAAG,YAAY,CAkP7D,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"MenuItem.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/MenuItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAQlB,MAAM,OAAO,CAAC;AAIf,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAc3C,OAAO,EAA6B,aAAa,EAAE,MAAM,cAAc,CAAC;AAmDxE,QAAA,MAAM,QAAQ,EAAE,iBAAiB,CAAC,aAAa,GAAG,YAAY,CAgQ7D,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,170 +1,71 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Fragment, useCallback, useContext, useEffect, useRef, useMemo } from 'react';
3
- import styled, { css } from 'styled-components';
4
- import { hideVisually, mix, readableColor, rgba } from 'polished';
5
- import { defaultThemeProp } from '../../theme';
6
3
  import MetaList from '../MetaList';
7
4
  import SummaryItem from '../SummaryItem';
8
5
  import Flex from '../Flex';
9
- import Icon, { StyledIcon } from '../Icon';
10
- import Text, { StyledText } from '../Text';
6
+ import Icon, { registerIcon } from '../Icon';
7
+ import * as caretLeftIcon from '../Icon/icons/caret-left.icon';
8
+ import * as caretRightIcon from '../Icon/icons/caret-right.icon';
9
+ import Text from '../Text';
11
10
  import { Count } from '../Badges';
12
- import BareButton, { StyledBareButton } from '../Button/BareButton';
11
+ import BareButton from '../Button/BareButton';
13
12
  import { StyledPrimary } from '../SummaryItem/SummaryItem';
14
- import { replaceMatchWithElement, tryCatch } from '../../utils';
15
- import Button from '../Button';
16
- import { StyledGrid } from '../Grid';
17
- import { useElement, useI18n, usePrevious } from '../../hooks';
13
+ import { replaceMatchWithElement } from '../../utils';
14
+ import { useElement, useI18n, usePrevious, useDirection } from '../../hooks';
18
15
  import Tooltip from '../Tooltip';
16
+ import menuHelpers from './helpers';
19
17
  import MenuContext from './Menu.context';
20
- const StyledItemLabel = styled.label(({ theme }) => {
21
- const hoverCheckColor = tryCatch(() => rgba(theme.components['radio-check'][':checked']['background-color'], theme.base.transparency['transparent-5']));
22
- const checkedBackground = theme.components['radio-check'][':checked']['background-color'];
23
- const checkedForeground = tryCatch(() => readableColor(checkedBackground));
24
- return css `
25
- padding: calc(0.5 * ${theme.base.spacing}) ${theme.base.spacing};
26
- cursor: pointer;
27
-
28
- &:hover {
29
- & > input[type='radio']:not(:checked) + ${StyledIcon} {
30
- color: ${hoverCheckColor};
31
- }
32
-
33
- & > input[type='checkbox'] + ${StyledIcon} {
34
- border-color: ${theme.components['form-control'][':hover']['border-color']};
35
- }
36
- }
37
-
38
- > ${StyledGrid} {
39
- flex-grow: 1;
40
- }
41
-
42
- > input {
43
- ${hideVisually}
44
-
45
- & + ${StyledIcon} {
46
- margin-inline-start: 0;
47
- flex-shrink: 0;
48
- }
49
-
50
- &[type='radio'] + ${StyledIcon} {
51
- color: transparent;
52
- }
53
-
54
- &[type='radio']:checked + ${StyledIcon} {
55
- color: ${checkedBackground};
56
- }
57
-
58
- &[type='checkbox'] + ${StyledIcon} {
59
- border: 0.0625rem solid ${theme.components['radio-check']['border-color']};
60
- border-radius: min(
61
- calc(${theme.base['border-radius']} * ${theme.components.checkbox['border-radius']}),
62
- 0.25rem
63
- );
64
- color: transparent;
65
- background-color: ${theme.components['radio-check']['background-color']};
66
- }
67
-
68
- &[type='checkbox']:checked + ${StyledIcon} {
69
- background-color: ${checkedBackground};
70
- border-color: ${theme.components['radio-check'][':checked']['border-color']};
71
- color: ${checkedForeground};
72
- }
73
- }
74
- `;
75
- });
76
- StyledItemLabel.defaultProps = defaultThemeProp;
77
- export const StyledMenuItem = styled.li(({ theme: { base, components }, isParentItem }) => {
78
- const hoverColor = tryCatch(() => mix(0.85, base.palette['primary-background'], base.palette.interactive));
79
- return css `
80
- min-height: ${base.sizes['touch-mouse']};
81
-
82
- @media (pointer: coarse) {
83
- min-height: ${base.sizes['touch-finger']};
84
- }
85
-
86
- &:focus-within,
87
- &:hover:not([aria-disabled='true']),
88
- &[aria-current='true'] {
89
- background-color: ${hoverColor};
90
- }
91
-
92
- > button:first-child,
93
- > a:first-child {
94
- display: block;
95
- width: 100%;
96
- padding: calc(0.5 * ${base.spacing}) ${base.spacing};
97
- text-align: start;
98
- text-decoration: none;
99
- color: inherit;
100
- ${isParentItem &&
101
- css `
102
- padding-inline-start: calc(1.125rem + 2 * ${base.spacing});
103
- `}
104
- }
105
-
106
- &[aria-disabled='true'] {
107
- label,
108
- ${StyledBareButton} {
109
- background-color: ${components['form-control'][':disabled']['background-color']};
110
- opacity: ${base['disabled-opacity']};
111
- }
112
- }
113
- `;
114
- });
115
- StyledMenuItem.defaultProps = defaultThemeProp;
116
- const StyledAncestors = styled.div `
117
- & > ${StyledText} {
118
- white-space: nowrap;
119
- overflow: hidden;
120
- text-overflow: ellipsis;
121
- }
122
- `;
123
- const StyledVisibilityHidden = styled.p `
124
- ${hideVisually}
125
- `;
18
+ import { StyledAncestors, StyledExpandButton, StyledItemLabel, StyledMenuItem, StyledVisibilityHidden } from './Menu.styles';
19
+ registerIcon(caretLeftIcon, caretRightIcon);
126
20
  const AncestorPath = ({ ancestors = [] }) => {
127
21
  const truncatedPath = ancestors.length > 2;
128
22
  const pathParts = truncatedPath ? [ancestors[0], ancestors[ancestors.length - 1]] : ancestors;
129
- return (_jsx(Flex, Object.assign({ container: { gap: 0.5, alignItems: 'center' }, as: StyledAncestors, title: pathParts.map(a => a.primary).join(' > ') }, { children: pathParts.map((ancestor, i, arr) => {
130
- return (_jsxs(Fragment, { children: [_jsx(Text, Object.assign({ variant: 'secondary' }, { children: ancestor.primary }), void 0),
131
- i < arr.length - 1 && (_jsxs(_Fragment, { children: [_jsx(Text, Object.assign({ variant: 'secondary' }, { children: _jsx(Icon, { name: 'caret-right' }, void 0) }), void 0),
132
- truncatedPath && (_jsxs(_Fragment, { children: [_jsx(Text, Object.assign({ variant: 'secondary' }, { children: "..." }), void 0),
133
- _jsx(Text, Object.assign({ variant: 'secondary' }, { children: _jsx(Icon, { name: 'caret-right' }, void 0) }), void 0)] }, void 0))] }, void 0))] }, ancestor.primary));
134
- }) }), void 0));
23
+ const { end } = useDirection();
24
+ return (_jsx(Flex, { container: { gap: 0.5, alignItems: 'center' }, as: StyledAncestors, title: ancestors.map(a => (menuHelpers.isItem(a) ? a.primary : a.label)).join(' > '), children: pathParts.map((ancestor, i, arr) => {
25
+ const label = menuHelpers.isItem(ancestor) ? ancestor.primary : ancestor.label;
26
+ return (_jsxs(Fragment, { children: [_jsx(Text, { variant: 'secondary', children: label }, void 0), i < arr.length - 1 && (_jsxs(_Fragment, { children: [_jsx(Text, { variant: 'secondary', children: _jsx(Icon, { name: `caret-${end}` }, void 0) }, void 0), truncatedPath && (_jsxs(_Fragment, { children: [_jsx(Text, { variant: 'secondary', children: "\u2026" }, void 0), _jsx(Text, { variant: 'secondary', children: _jsx(Icon, { name: `caret-${end}` }, void 0) }, void 0)] }, void 0))] }, void 0))] }, label));
27
+ }) }, void 0));
135
28
  };
136
29
  const MenuItem = ({ id, primary, secondary, ancestors, visual, count, items, selected, partial, href, tooltip, onClick, onExpand, disabled, ...restProps }) => {
137
30
  const t = useI18n();
138
- const { mode, onItemClick, accent, radioName, variant: menuVariant, getScopedItemId, arrowNavigationUnsupported } = useContext(MenuContext);
31
+ const { mode, onItemClick, accent, radioName, variant: menuVariant, setFocusDescendant, getScopedItemId, arrowNavigationUnsupported } = useContext(MenuContext);
139
32
  const previouslySelected = usePrevious(selected);
140
33
  const selectionMode = mode === 'single-select' || mode === 'multi-select';
141
34
  const isParentItem = useMemo(() => selectionMode && items, [selectionMode, items]);
142
35
  const selectableParent = isParentItem && typeof selected === 'boolean';
143
36
  const inputRef = useRef(null);
144
37
  const itemId = useMemo(() => getScopedItemId(id), [id, getScopedItemId]);
38
+ const { end } = useDirection();
145
39
  const clickHandler = useCallback((e) => {
146
- onClick === null || onClick === void 0 ? void 0 : onClick(id, e);
147
- onItemClick === null || onItemClick === void 0 ? void 0 : onItemClick(id, e);
40
+ const mouseClick = e.detail !== 0;
41
+ if (mouseClick) {
42
+ const target = e.target;
43
+ const focusAtEl = target.getAttribute('role') === 'menuitem'
44
+ ? target
45
+ : target.closest('li[role="menuitem"]');
46
+ if (focusAtEl)
47
+ setFocusDescendant(focusAtEl);
48
+ }
49
+ onClick?.(id, e);
50
+ onItemClick?.(id, e);
148
51
  }, [onClick, onItemClick, id]);
149
52
  const expandHandler = useCallback((e) => {
150
- onExpand === null || onExpand === void 0 ? void 0 : onExpand(id, e);
53
+ onExpand?.(id, e);
151
54
  }, [onExpand, id]);
152
55
  const navigationInteractionId = `${id}-description`;
153
56
  const secondaryId = `${id}-secondary`;
154
57
  let accentedPrimary;
155
58
  if (accent && !items) {
156
59
  const accentRegex = typeof accent === 'function' ? accent(primary) : accent;
157
- const accentedArr = replaceMatchWithElement(primary, accentRegex, str => (_jsx(StyledPrimary, Object.assign({ as: 'span', isString: true }, { children: str }), void 0)));
60
+ const accentedArr = replaceMatchWithElement(primary, accentRegex, str => (_jsx(StyledPrimary, { as: 'span', isString: true, children: str }, void 0)));
158
61
  if (accentedArr.length > 1)
159
62
  accentedPrimary = accentedArr;
160
63
  }
161
- const secondaryContent = ancestors ? (_jsx(AncestorPath, { ancestors: ancestors }, void 0)) : (secondary && _jsx(MetaList, { items: secondary, id: secondaryId }, void 0));
64
+ const secondaryContent = ancestors ? (_jsx(AncestorPath, { ancestors: ancestors }, void 0)) : (secondary && _jsx(MetaList, { items: secondary, id: secondaryId, wrapItems: false }, void 0));
162
65
  const [summaryItemRef, setSummaryItemRef] = useElement();
163
- const summaryItem = (_jsxs(_Fragment, { children: [_jsx(SummaryItem, { ref: setSummaryItemRef, primary: accentedPrimary || (!items ? _jsx(Text, { children: primary }, void 0) : primary), secondary: secondaryContent, visual: visual, actions: _jsxs(Flex, Object.assign({ container: { gap: 1 } }, { children: [_jsx(Count, { children: count !== null && count !== void 0 ? count : null }, void 0),
164
- items && !selectableParent && _jsx(Icon, { name: 'caret-right' }, void 0)] }), void 0), container: {
66
+ const summaryItem = (_jsxs(_Fragment, { children: [_jsx(SummaryItem, { ref: setSummaryItemRef, primary: accentedPrimary || (!items ? _jsx(Text, { children: primary }, void 0) : primary), secondary: secondaryContent, visual: visual, actions: (items && !selectableParent) || count ? (_jsxs(Flex, { container: { gap: 1 }, children: [_jsx(Count, { children: count ?? null }, void 0), items && !selectableParent && _jsx(Icon, { name: `caret-${end}` }, void 0)] }, void 0)) : undefined, container: {
165
67
  colGap: 1
166
- } }, void 0),
167
- tooltip && (_jsx(Tooltip, Object.assign({ target: summaryItemRef, hideDelay: 'none', showDelay: 'none', portal: true }, { children: tooltip }), void 0))] }, void 0));
68
+ } }, void 0), tooltip && (_jsx(Tooltip, { target: summaryItemRef, hideDelay: 'none', showDelay: 'none', portal: true, children: tooltip }, void 0))] }, void 0));
168
69
  let InteractiveWrap;
169
70
  if (href) {
170
71
  InteractiveWrap = href ? 'a' : BareButton;
@@ -172,9 +73,9 @@ const MenuItem = ({ id, primary, secondary, ancestors, visual, count, items, sel
172
73
  else if (mode === 'action' || items) {
173
74
  InteractiveWrap = BareButton;
174
75
  }
175
- const itemChild = InteractiveWrap ? (_jsx(InteractiveWrap, Object.assign({ onMouseDown: (e) => {
76
+ const itemChild = InteractiveWrap ? (_jsx(InteractiveWrap, { onMouseDown: (e) => {
176
77
  e.preventDefault();
177
- }, onClick: items ? expandHandler : clickHandler, onMouseEnter: menuVariant === 'flyout' ? expandHandler : undefined, href: href, tabIndex: '-1', disabled: disabled }, { children: summaryItem }), void 0)) : (summaryItem);
78
+ }, onClick: items ? expandHandler : clickHandler, onMouseEnter: menuVariant === 'flyout' ? expandHandler : undefined, href: href, tabIndex: '-1', disabled: disabled, children: summaryItem }, void 0)) : (summaryItem);
178
79
  useEffect(() => {
179
80
  if (inputRef.current) {
180
81
  inputRef.current.indeterminate = !!partial;
@@ -182,8 +83,8 @@ const MenuItem = ({ id, primary, secondary, ancestors, visual, count, items, sel
182
83
  }, [partial]);
183
84
  const labelRef = useRef(null);
184
85
  const itemLabel = useMemo(() => {
185
- const label = selected ? t('noun_checked', primary) : primary;
186
- return isParentItem ? t('expand_noun', label) : label;
86
+ const label = selected ? t('checked_noun', [primary]) : primary;
87
+ return isParentItem ? t('expand_noun', [label]) : label;
187
88
  }, [selected, primary, isParentItem]);
188
89
  const describedBy = useMemo(() => {
189
90
  const hasItems = !!items;
@@ -199,43 +100,35 @@ const MenuItem = ({ id, primary, secondary, ancestors, visual, count, items, sel
199
100
  }, [items, secondary, navigationInteractionId, secondaryId]);
200
101
  const navigationInstructions = useMemo(() => {
201
102
  if (arrowNavigationUnsupported) {
202
- if (selectableParent)
203
- return t('menu_item_selectable_parent');
204
- return t('menu_item_expand_enter');
103
+ return t('menu_item_shift_space_expand_collapse');
205
104
  }
206
105
  return t('menu_item_expand_arrow');
207
106
  }, []);
208
107
  const interactionNotification = useMemo(() => {
209
108
  if (previouslySelected === undefined)
210
109
  return '';
211
- return `${selected ? t('noun_selected', primary) : t('noun_deselected', primary)}`;
110
+ return `${selected ? t('selected_noun', [primary]) : t('deselected_noun', [primary])}`;
212
111
  }, [selected]);
213
- return (_jsx(_Fragment, { children: _jsxs(Flex, Object.assign({}, restProps, { container: { alignItems: 'stretch', justify: 'between' }, id: itemId, as: StyledMenuItem, "aria-label": itemLabel, "aria-describedby": describedBy, isParentItem: isParentItem, role: 'menuitem', "aria-disabled": disabled, "aria-expanded": items ? 'false' : undefined, "data-expand": !!items, tabIndex: '-1' }, { children: [selectionMode && typeof selected === 'boolean' ? (_jsxs(_Fragment, { children: [_jsxs(Flex, Object.assign({ ref: labelRef, as: StyledItemLabel, container: { alignItems: 'center', gap: 1 }, item: { grow: 1 }, onMouseDown: (e) => {
112
+ return (_jsxs(Flex, { ...restProps, container: { alignItems: 'stretch', justify: 'between' }, id: itemId, as: StyledMenuItem, "aria-label": itemLabel, "aria-describedby": describedBy, isParentItem: isParentItem, role: 'menuitem', "aria-disabled": disabled, "data-expand": !!items, tabIndex: '-1', children: [selectionMode && typeof selected === 'boolean' ? (_jsxs(_Fragment, { children: [_jsxs(Flex, { ref: labelRef, as: StyledItemLabel, container: { alignItems: 'center', gap: 1 }, item: { grow: 1 }, onMouseDown: (e) => {
113
+ e.preventDefault();
114
+ },
115
+ // https://stackoverflow.com/questions/32958091/how-to-prevent-clicking-on-a-checkboxs-label-from-stealing-focus
116
+ onClick: (e) => {
117
+ if (labelRef.current?.control !== e.target) {
214
118
  e.preventDefault();
215
- },
216
- // https://stackoverflow.com/questions/32958091/how-to-prevent-clicking-on-a-checkboxs-label-from-stealing-focus
217
- onClick: (e) => {
218
- var _a, _b, _c;
219
- if (((_a = labelRef.current) === null || _a === void 0 ? void 0 : _a.control) !== e.target) {
119
+ // Preserve detail property (lost with .click()).
120
+ const event = new window.MouseEvent(e.nativeEvent.type, e.nativeEvent);
121
+ labelRef.current?.control?.dispatchEvent(event);
122
+ }
123
+ }, children: [_jsx("input", { ref: inputRef, type: mode === 'single-select' ? 'radio' : 'checkbox', name: mode === 'single-select' ? radioName : undefined, "aria-label": primary, checked: !!selected, disabled: disabled, onClick: clickHandler, onKeyDown: (e) => {
124
+ if (mode === 'single-select' && e.key === 'Enter') {
125
+ e.currentTarget.click();
126
+ }
127
+ },
128
+ // no-op since React will complain about a controlled input without an onChange
129
+ onChange: () => { }, onMouseDown: e => {
220
130
  e.preventDefault();
221
- // Preserve detail property (lost with .click()).
222
- const event = new window.MouseEvent(e.nativeEvent.type, e.nativeEvent);
223
- (_c = (_b = labelRef.current) === null || _b === void 0 ? void 0 : _b.control) === null || _c === void 0 ? void 0 : _c.dispatchEvent(event);
224
- }
225
- } }, { children: [_jsx("input", { ref: inputRef, type: mode === 'single-select' ? 'radio' : 'checkbox', name: mode === 'single-select' ? radioName : undefined, "aria-label": primary, checked: !!selected, disabled: disabled, onClick: clickHandler, onKeyDown: (e) => {
226
- if (mode === 'single-select' && e.key === 'Enter') {
227
- e.currentTarget.click();
228
- }
229
- },
230
- // no-op since React will complain about a controlled input without an onChange
231
- onChange: () => { }, onMouseDown: e => {
232
- e.preventDefault();
233
- } }, void 0),
234
- (mode === 'single-select' || mode === 'multi-select') && _jsx(Icon, { name: 'check' }, void 0),
235
- summaryItem] }), void 0),
236
- isParentItem && (_jsx(Button, Object.assign({ icon: true, variant: 'simple', onClick: expandHandler, tabIndex: '-1' }, { children: _jsx(Icon, { name: 'caret-right' }, void 0) }), void 0))] }, void 0)) : (itemChild),
237
- _jsx(StyledVisibilityHidden, Object.assign({ id: navigationInteractionId }, { children: navigationInstructions }), void 0),
238
- _jsx(StyledVisibilityHidden, Object.assign({ role: 'alert' }, { children: interactionNotification }), void 0)] }), void 0) }, void 0));
131
+ }, tabIndex: -1 }, void 0), (mode === 'single-select' || mode === 'multi-select') && _jsx(Icon, { name: 'check' }, void 0), summaryItem] }, void 0), isParentItem && (_jsx(StyledExpandButton, { icon: true, variant: 'simple', onClick: expandHandler, tabIndex: '-1', children: _jsx(Icon, { name: `caret-${end}` }, void 0) }, void 0))] }, void 0)) : (itemChild), !!items && (_jsx(StyledVisibilityHidden, { id: navigationInteractionId, children: navigationInstructions }, void 0)), _jsx(StyledVisibilityHidden, { role: 'alert', children: interactionNotification }, void 0)] }, void 0));
239
132
  };
240
133
  export default MenuItem;
241
134
  //# sourceMappingURL=MenuItem.js.map