@pega/cosmos-react-core 3.0.0-dev.9.1 → 3.0.0-rc.10

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 (1045) hide show
  1. package/lib/components/Actions/Actions.d.ts +5 -0
  2. package/lib/components/Actions/Actions.d.ts.map +1 -1
  3. package/lib/components/Actions/Actions.js +2 -2
  4. package/lib/components/Actions/Actions.js.map +1 -1
  5. package/lib/components/AdditionalInfo/AdditionalInfo.d.ts +11 -0
  6. package/lib/components/AdditionalInfo/AdditionalInfo.d.ts.map +1 -0
  7. package/lib/components/AdditionalInfo/AdditionalInfo.js +25 -0
  8. package/lib/components/AdditionalInfo/AdditionalInfo.js.map +1 -0
  9. package/lib/components/AdditionalInfo/index.d.ts +2 -0
  10. package/lib/components/AdditionalInfo/index.d.ts.map +1 -0
  11. package/lib/components/AdditionalInfo/index.js +2 -0
  12. package/lib/components/AdditionalInfo/index.js.map +1 -0
  13. package/lib/components/AppShell/AppHeader.d.ts.map +1 -1
  14. package/lib/components/AppShell/AppHeader.js +17 -8
  15. package/lib/components/AppShell/AppHeader.js.map +1 -1
  16. package/lib/components/AppShell/AppHeader.styles.d.ts +16 -0
  17. package/lib/components/AppShell/AppHeader.styles.d.ts.map +1 -0
  18. package/lib/components/AppShell/AppHeader.styles.js +155 -0
  19. package/lib/components/AppShell/AppHeader.styles.js.map +1 -0
  20. package/lib/components/AppShell/AppShell.d.ts.map +1 -1
  21. package/lib/components/AppShell/AppShell.js +92 -220
  22. package/lib/components/AppShell/AppShell.js.map +1 -1
  23. package/lib/components/AppShell/AppShell.styles.d.ts +7 -48
  24. package/lib/components/AppShell/AppShell.styles.d.ts.map +1 -1
  25. package/lib/components/AppShell/AppShell.styles.js +54 -527
  26. package/lib/components/AppShell/AppShell.styles.js.map +1 -1
  27. package/lib/components/AppShell/AppShell.types.d.ts +29 -80
  28. package/lib/components/AppShell/AppShell.types.d.ts.map +1 -1
  29. package/lib/components/AppShell/AppShell.types.js.map +1 -1
  30. package/lib/components/AppShell/AppShellContext.d.ts +12 -6
  31. package/lib/components/AppShell/AppShellContext.d.ts.map +1 -1
  32. package/lib/components/AppShell/AppShellContext.js +10 -5
  33. package/lib/components/AppShell/AppShellContext.js.map +1 -1
  34. package/lib/components/AppShell/AppShellList.d.ts +2 -2
  35. package/lib/components/AppShell/AppShellList.d.ts.map +1 -1
  36. package/lib/components/AppShell/AppShellList.js +16 -2
  37. package/lib/components/AppShell/AppShellList.js.map +1 -1
  38. package/lib/components/AppShell/AppShellList.styles.d.ts +19 -0
  39. package/lib/components/AppShell/AppShellList.styles.d.ts.map +1 -0
  40. package/lib/components/AppShell/AppShellList.styles.js +141 -0
  41. package/lib/components/AppShell/AppShellList.styles.js.map +1 -0
  42. package/lib/components/AppShell/AppShellSearch.d.ts +9 -0
  43. package/lib/components/AppShell/AppShellSearch.d.ts.map +1 -0
  44. package/lib/components/AppShell/AppShellSearch.js +39 -0
  45. package/lib/components/AppShell/AppShellSearch.js.map +1 -0
  46. package/lib/components/AppShell/AppShellSearch.styles.d.ts +8 -0
  47. package/lib/components/AppShell/AppShellSearch.styles.d.ts.map +1 -0
  48. package/lib/components/AppShell/AppShellSearch.styles.js +193 -0
  49. package/lib/components/AppShell/AppShellSearch.styles.js.map +1 -0
  50. package/lib/components/AppShell/Drawer.d.ts +3 -1
  51. package/lib/components/AppShell/Drawer.d.ts.map +1 -1
  52. package/lib/components/AppShell/Drawer.js +14 -11
  53. package/lib/components/AppShell/Drawer.js.map +1 -1
  54. package/lib/components/AppShell/Drawer.styles.d.ts +15 -0
  55. package/lib/components/AppShell/Drawer.styles.d.ts.map +1 -0
  56. package/lib/components/AppShell/Drawer.styles.js +153 -0
  57. package/lib/components/AppShell/Drawer.styles.js.map +1 -0
  58. package/lib/components/AppShell/NavigationList.d.ts +6 -0
  59. package/lib/components/AppShell/NavigationList.d.ts.map +1 -0
  60. package/lib/components/AppShell/NavigationList.js +121 -0
  61. package/lib/components/AppShell/NavigationList.js.map +1 -0
  62. package/lib/components/AppShell/NavigationListItemWrapper.d.ts +5 -0
  63. package/lib/components/AppShell/NavigationListItemWrapper.d.ts.map +1 -0
  64. package/lib/components/AppShell/NavigationListItemWrapper.js +160 -0
  65. package/lib/components/AppShell/NavigationListItemWrapper.js.map +1 -0
  66. package/lib/components/AppShell/Operator.js +4 -4
  67. package/lib/components/AppShell/Operator.js.map +1 -1
  68. package/lib/components/AppShell/index.d.ts +2 -3
  69. package/lib/components/AppShell/index.d.ts.map +1 -1
  70. package/lib/components/AppShell/index.js +1 -2
  71. package/lib/components/AppShell/index.js.map +1 -1
  72. package/lib/components/Avatar/Avatar.d.ts.map +1 -1
  73. package/lib/components/Avatar/Avatar.js +4 -4
  74. package/lib/components/Avatar/Avatar.js.map +1 -1
  75. package/lib/components/Badges/Count.d.ts.map +1 -1
  76. package/lib/components/Badges/Count.js +37 -1
  77. package/lib/components/Badges/Count.js.map +1 -1
  78. package/lib/components/Badges/Keyboard.d.ts +2 -2
  79. package/lib/components/Badges/Keyboard.d.ts.map +1 -1
  80. package/lib/components/Badges/Keyboard.js +6 -1
  81. package/lib/components/Badges/Keyboard.js.map +1 -1
  82. package/lib/components/Badges/Selection.d.ts +1 -1
  83. package/lib/components/Badges/Selection.d.ts.map +1 -1
  84. package/lib/components/Badges/Selection.js +42 -42
  85. package/lib/components/Badges/Selection.js.map +1 -1
  86. package/lib/components/Badges/Tag.d.ts +9 -3
  87. package/lib/components/Badges/Tag.d.ts.map +1 -1
  88. package/lib/components/Badges/Tag.js +3 -2
  89. package/lib/components/Badges/Tag.js.map +1 -1
  90. package/lib/components/Banner/Banner.d.ts.map +1 -1
  91. package/lib/components/Banner/Banner.js +19 -16
  92. package/lib/components/Banner/Banner.js.map +1 -1
  93. package/lib/components/Boolean/BooleanDisplay.d.ts.map +1 -1
  94. package/lib/components/Boolean/BooleanDisplay.js +4 -12
  95. package/lib/components/Boolean/BooleanDisplay.js.map +1 -1
  96. package/lib/components/Breadcrumbs/Breadcrumbs.d.ts +2 -1
  97. package/lib/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  98. package/lib/components/Breadcrumbs/Breadcrumbs.js +44 -13
  99. package/lib/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  100. package/lib/components/Button/BareButton.d.ts.map +1 -1
  101. package/lib/components/Button/BareButton.js +1 -0
  102. package/lib/components/Button/BareButton.js.map +1 -1
  103. package/lib/components/Button/BareRoleButton.d.ts.map +1 -1
  104. package/lib/components/Button/BareRoleButton.js +3 -1
  105. package/lib/components/Button/BareRoleButton.js.map +1 -1
  106. package/lib/components/Button/Button.d.ts.map +1 -1
  107. package/lib/components/Button/Button.js +3 -1
  108. package/lib/components/Button/Button.js.map +1 -1
  109. package/lib/components/Checkbox/Checkbox.d.ts +3 -1
  110. package/lib/components/Checkbox/Checkbox.d.ts.map +1 -1
  111. package/lib/components/Checkbox/Checkbox.js.map +1 -1
  112. package/lib/components/ColorPicker/ColorPicker.d.ts +2 -0
  113. package/lib/components/ColorPicker/ColorPicker.d.ts.map +1 -1
  114. package/lib/components/ColorPicker/ColorPicker.js +2 -4
  115. package/lib/components/ColorPicker/ColorPicker.js.map +1 -1
  116. package/lib/components/ComboBox/ComboBox.d.ts.map +1 -1
  117. package/lib/components/ComboBox/ComboBox.js +70 -13
  118. package/lib/components/ComboBox/ComboBox.js.map +1 -1
  119. package/lib/components/ComboBox/ComboBox.styles.d.ts +3 -1
  120. package/lib/components/ComboBox/ComboBox.styles.d.ts.map +1 -1
  121. package/lib/components/ComboBox/ComboBox.styles.js +4 -1
  122. package/lib/components/ComboBox/ComboBox.styles.js.map +1 -1
  123. package/lib/components/ComboBox/ComboBox.types.d.ts +11 -1
  124. package/lib/components/ComboBox/ComboBox.types.d.ts.map +1 -1
  125. package/lib/components/ComboBox/ComboBox.types.js.map +1 -1
  126. package/lib/components/ComboBox/ComboBoxInput.d.ts +7 -0
  127. package/lib/components/ComboBox/ComboBoxInput.d.ts.map +1 -1
  128. package/lib/components/ComboBox/ComboBoxInput.js +5 -2
  129. package/lib/components/ComboBox/ComboBoxInput.js.map +1 -1
  130. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.d.ts.map +1 -1
  131. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.js +130 -36
  132. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.js.map +1 -1
  133. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.types.d.ts +10 -0
  134. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.types.d.ts.map +1 -1
  135. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.types.js.map +1 -1
  136. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.d.ts.map +1 -1
  137. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.js +3 -3
  138. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.js.map +1 -1
  139. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.types.d.ts +2 -0
  140. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.types.d.ts.map +1 -1
  141. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.types.js.map +1 -1
  142. package/lib/components/CompositeInput/CompositeInput.d.ts +5 -0
  143. package/lib/components/CompositeInput/CompositeInput.d.ts.map +1 -0
  144. package/lib/components/CompositeInput/CompositeInput.js +62 -0
  145. package/lib/components/CompositeInput/CompositeInput.js.map +1 -0
  146. package/lib/components/CompositeInput/CompositeInput.styles.d.ts +5 -0
  147. package/lib/components/CompositeInput/CompositeInput.styles.d.ts.map +1 -0
  148. package/lib/components/CompositeInput/CompositeInput.styles.js +57 -0
  149. package/lib/components/CompositeInput/CompositeInput.styles.js.map +1 -0
  150. package/lib/components/CompositeInput/CompositeInput.types.d.ts +52 -0
  151. package/lib/components/CompositeInput/CompositeInput.types.d.ts.map +1 -0
  152. package/lib/components/CompositeInput/CompositeInput.types.js +2 -0
  153. package/lib/components/CompositeInput/CompositeInput.types.js.map +1 -0
  154. package/lib/components/CompositeInput/index.d.ts +3 -0
  155. package/lib/components/CompositeInput/index.d.ts.map +1 -0
  156. package/lib/components/CompositeInput/index.js +2 -0
  157. package/lib/components/CompositeInput/index.js.map +1 -0
  158. package/lib/components/Configuration/Configuration.d.ts +16 -13
  159. package/lib/components/Configuration/Configuration.d.ts.map +1 -1
  160. package/lib/components/Configuration/Configuration.js +42 -14
  161. package/lib/components/Configuration/Configuration.js.map +1 -1
  162. package/lib/components/Configuration/index.d.ts +0 -1
  163. package/lib/components/Configuration/index.d.ts.map +1 -1
  164. package/lib/components/Configuration/index.js +0 -1
  165. package/lib/components/Configuration/index.js.map +1 -1
  166. package/lib/components/CreditCard/CreditCard.types.d.ts +2 -0
  167. package/lib/components/CreditCard/CreditCard.types.d.ts.map +1 -1
  168. package/lib/components/CreditCard/CreditCard.types.js.map +1 -1
  169. package/lib/components/CreditCard/CreditCardInput.js +1 -1
  170. package/lib/components/CreditCard/CreditCardInput.js.map +1 -1
  171. package/lib/components/Currency/CurrencyDisplay.d.ts.map +1 -1
  172. package/lib/components/Currency/CurrencyDisplay.js +2 -2
  173. package/lib/components/Currency/CurrencyDisplay.js.map +1 -1
  174. package/lib/components/Currency/CurrencyInput.d.ts.map +1 -1
  175. package/lib/components/Currency/CurrencyInput.js +92 -26
  176. package/lib/components/Currency/CurrencyInput.js.map +1 -1
  177. package/lib/components/Currency/CurrencyInput.types.d.ts +9 -1
  178. package/lib/components/Currency/CurrencyInput.types.d.ts.map +1 -1
  179. package/lib/components/Currency/CurrencyInput.types.js.map +1 -1
  180. package/lib/components/Currency/utils.d.ts +7 -17
  181. package/lib/components/Currency/utils.d.ts.map +1 -1
  182. package/lib/components/Currency/utils.js +50 -51
  183. package/lib/components/Currency/utils.js.map +1 -1
  184. package/lib/components/DateTime/DateTime.types.d.ts +15 -9
  185. package/lib/components/DateTime/DateTime.types.d.ts.map +1 -1
  186. package/lib/components/DateTime/DateTime.types.js.map +1 -1
  187. package/lib/components/DateTime/DateTimeDisplay.d.ts.map +1 -1
  188. package/lib/components/DateTime/DateTimeDisplay.js +8 -1
  189. package/lib/components/DateTime/DateTimeDisplay.js.map +1 -1
  190. package/lib/components/DateTime/DurationDisplay.js +3 -3
  191. package/lib/components/DateTime/DurationDisplay.js.map +1 -1
  192. package/lib/components/DateTime/Input/DateInput.d.ts +9 -2
  193. package/lib/components/DateTime/Input/DateInput.d.ts.map +1 -1
  194. package/lib/components/DateTime/Input/DateInput.js +29 -17
  195. package/lib/components/DateTime/Input/DateInput.js.map +1 -1
  196. package/lib/components/DateTime/Input/DateRangeInput.d.ts +18 -23
  197. package/lib/components/DateTime/Input/DateRangeInput.d.ts.map +1 -1
  198. package/lib/components/DateTime/Input/DateRangeInput.js +98 -83
  199. package/lib/components/DateTime/Input/DateRangeInput.js.map +1 -1
  200. package/lib/components/DateTime/Input/DateTimeInput.d.ts +3 -0
  201. package/lib/components/DateTime/Input/DateTimeInput.d.ts.map +1 -1
  202. package/lib/components/DateTime/Input/DateTimeInput.js +30 -14
  203. package/lib/components/DateTime/Input/DateTimeInput.js.map +1 -1
  204. package/lib/components/DateTime/Input/DayOfWeekInput.d.ts +2 -0
  205. package/lib/components/DateTime/Input/DayOfWeekInput.d.ts.map +1 -1
  206. package/lib/components/DateTime/Input/DayOfWeekInput.js.map +1 -1
  207. package/lib/components/DateTime/Input/Duration/DurationInput.d.ts.map +1 -1
  208. package/lib/components/DateTime/Input/Duration/DurationInput.js +10 -2
  209. package/lib/components/DateTime/Input/Duration/DurationInput.js.map +1 -1
  210. package/lib/components/DateTime/Input/Duration/DurationInput.types.d.ts +2 -0
  211. package/lib/components/DateTime/Input/Duration/DurationInput.types.d.ts.map +1 -1
  212. package/lib/components/DateTime/Input/Duration/DurationInput.types.js.map +1 -1
  213. package/lib/components/DateTime/Input/Duration/NumberUnit.d.ts.map +1 -1
  214. package/lib/components/DateTime/Input/Duration/NumberUnit.js +30 -33
  215. package/lib/components/DateTime/Input/Duration/NumberUnit.js.map +1 -1
  216. package/lib/components/DateTime/Input/Duration/Time.d.ts.map +1 -1
  217. package/lib/components/DateTime/Input/Duration/Time.js +5 -4
  218. package/lib/components/DateTime/Input/Duration/Time.js.map +1 -1
  219. package/lib/components/DateTime/Input/MonthInput.d.ts +3 -0
  220. package/lib/components/DateTime/Input/MonthInput.d.ts.map +1 -1
  221. package/lib/components/DateTime/Input/MonthInput.js +30 -26
  222. package/lib/components/DateTime/Input/MonthInput.js.map +1 -1
  223. package/lib/components/DateTime/Input/PartInput.d.ts +1 -0
  224. package/lib/components/DateTime/Input/PartInput.d.ts.map +1 -1
  225. package/lib/components/DateTime/Input/PartInput.js +10 -7
  226. package/lib/components/DateTime/Input/PartInput.js.map +1 -1
  227. package/lib/components/DateTime/Input/QuarterInput.d.ts +3 -0
  228. package/lib/components/DateTime/Input/QuarterInput.d.ts.map +1 -1
  229. package/lib/components/DateTime/Input/QuarterInput.js +31 -25
  230. package/lib/components/DateTime/Input/QuarterInput.js.map +1 -1
  231. package/lib/components/DateTime/Input/TimeInput.d.ts +3 -0
  232. package/lib/components/DateTime/Input/TimeInput.d.ts.map +1 -1
  233. package/lib/components/DateTime/Input/TimeInput.js +21 -9
  234. package/lib/components/DateTime/Input/TimeInput.js.map +1 -1
  235. package/lib/components/DateTime/Input/TimeRangeInput.d.ts +46 -0
  236. package/lib/components/DateTime/Input/TimeRangeInput.d.ts.map +1 -0
  237. package/lib/components/DateTime/Input/TimeRangeInput.js +74 -0
  238. package/lib/components/DateTime/Input/TimeRangeInput.js.map +1 -0
  239. package/lib/components/DateTime/Input/WeekInput.d.ts +3 -2
  240. package/lib/components/DateTime/Input/WeekInput.d.ts.map +1 -1
  241. package/lib/components/DateTime/Input/WeekInput.js +12 -7
  242. package/lib/components/DateTime/Input/WeekInput.js.map +1 -1
  243. package/lib/components/DateTime/Input/usePickerButton.d.ts +1 -1
  244. package/lib/components/DateTime/Input/usePickerButton.d.ts.map +1 -1
  245. package/lib/components/DateTime/Input/utils.d.ts +7 -7
  246. package/lib/components/DateTime/Input/utils.d.ts.map +1 -1
  247. package/lib/components/DateTime/Input/utils.js +19 -6
  248. package/lib/components/DateTime/Input/utils.js.map +1 -1
  249. package/lib/components/DateTime/Picker/Calendar.d.ts.map +1 -1
  250. package/lib/components/DateTime/Picker/Calendar.js +20 -16
  251. package/lib/components/DateTime/Picker/Calendar.js.map +1 -1
  252. package/lib/components/DateTime/Picker/Calendar.styles.d.ts +2 -4
  253. package/lib/components/DateTime/Picker/Calendar.styles.d.ts.map +1 -1
  254. package/lib/components/DateTime/Picker/Calendar.styles.js +13 -55
  255. package/lib/components/DateTime/Picker/Calendar.styles.js.map +1 -1
  256. package/lib/components/DateTime/Picker/DatePicker.d.ts.map +1 -1
  257. package/lib/components/DateTime/Picker/DatePicker.js +2 -1
  258. package/lib/components/DateTime/Picker/DatePicker.js.map +1 -1
  259. package/lib/components/DateTime/Picker/DatePicker.styles.d.ts +3 -0
  260. package/lib/components/DateTime/Picker/DatePicker.styles.d.ts.map +1 -0
  261. package/lib/components/DateTime/Picker/DatePicker.styles.js +39 -0
  262. package/lib/components/DateTime/Picker/DatePicker.styles.js.map +1 -0
  263. package/lib/components/DateTime/Picker/DateRangePicker.js +1 -1
  264. package/lib/components/DateTime/Picker/DateRangePicker.js.map +1 -1
  265. package/lib/components/DateTime/Picker/TimePicker.d.ts +1 -1
  266. package/lib/components/DateTime/Picker/TimePicker.d.ts.map +1 -1
  267. package/lib/components/DateTime/Picker/TimePicker.js +10 -5
  268. package/lib/components/DateTime/Picker/TimePicker.js.map +1 -1
  269. package/lib/components/DateTime/Picker/Weeks.d.ts.map +1 -1
  270. package/lib/components/DateTime/Picker/Weeks.js +14 -6
  271. package/lib/components/DateTime/Picker/Weeks.js.map +1 -1
  272. package/lib/components/DateTime/Picker/utils.d.ts +1 -1
  273. package/lib/components/DateTime/Picker/utils.d.ts.map +1 -1
  274. package/lib/components/DateTime/index.d.ts +4 -0
  275. package/lib/components/DateTime/index.d.ts.map +1 -1
  276. package/lib/components/DateTime/index.js +3 -0
  277. package/lib/components/DateTime/index.js.map +1 -1
  278. package/lib/components/DateTime/utils.d.ts +5 -4
  279. package/lib/components/DateTime/utils.d.ts.map +1 -1
  280. package/lib/components/DateTime/utils.js +21 -8
  281. package/lib/components/DateTime/utils.js.map +1 -1
  282. package/lib/components/Dialog/Dialog.d.ts +32 -0
  283. package/lib/components/Dialog/Dialog.d.ts.map +1 -0
  284. package/lib/components/Dialog/Dialog.js +150 -0
  285. package/lib/components/Dialog/Dialog.js.map +1 -0
  286. package/lib/components/Dialog/index.d.ts +3 -0
  287. package/lib/components/Dialog/index.d.ts.map +1 -0
  288. package/lib/components/Dialog/index.js +3 -0
  289. package/lib/components/Dialog/index.js.map +1 -0
  290. package/lib/components/EmojiPicker/EmojiPicker.styles.d.ts.map +1 -1
  291. package/lib/components/EmojiPicker/EmojiPicker.styles.js +8 -6
  292. package/lib/components/EmojiPicker/EmojiPicker.styles.js.map +1 -1
  293. package/lib/components/FieldGroup/FieldGroup.d.ts +7 -0
  294. package/lib/components/FieldGroup/FieldGroup.d.ts.map +1 -1
  295. package/lib/components/FieldGroup/FieldGroup.js +46 -42
  296. package/lib/components/FieldGroup/FieldGroup.js.map +1 -1
  297. package/lib/components/FieldGroup/FieldGroupList.d.ts.map +1 -1
  298. package/lib/components/FieldGroup/FieldGroupList.js +8 -8
  299. package/lib/components/FieldGroup/FieldGroupList.js.map +1 -1
  300. package/lib/components/FieldValueList/FieldValueList.d.ts +13 -7
  301. package/lib/components/FieldValueList/FieldValueList.d.ts.map +1 -1
  302. package/lib/components/FieldValueList/FieldValueList.js +53 -19
  303. package/lib/components/FieldValueList/FieldValueList.js.map +1 -1
  304. package/lib/components/FieldValueList/index.d.ts +3 -5
  305. package/lib/components/FieldValueList/index.d.ts.map +1 -1
  306. package/lib/components/FieldValueList/index.js +2 -4
  307. package/lib/components/FieldValueList/index.js.map +1 -1
  308. package/lib/components/File/FileItem.d.ts +3 -0
  309. package/lib/components/File/FileItem.d.ts.map +1 -1
  310. package/lib/components/File/FileItem.js +18 -14
  311. package/lib/components/File/FileItem.js.map +1 -1
  312. package/lib/components/File/utils.d.ts +1 -1
  313. package/lib/components/File/utils.d.ts.map +1 -1
  314. package/lib/components/File/utils.js.map +1 -1
  315. package/lib/components/Flex/Flex.d.ts +11 -10
  316. package/lib/components/Flex/Flex.d.ts.map +1 -1
  317. package/lib/components/Flex/Flex.js.map +1 -1
  318. package/lib/components/Form/Form.d.ts +5 -16
  319. package/lib/components/Form/Form.d.ts.map +1 -1
  320. package/lib/components/Form/Form.js +14 -11
  321. package/lib/components/Form/Form.js.map +1 -1
  322. package/lib/components/FormControl/FormControl.d.ts +12 -2
  323. package/lib/components/FormControl/FormControl.d.ts.map +1 -1
  324. package/lib/components/FormControl/FormControl.js +60 -35
  325. package/lib/components/FormControl/FormControl.js.map +1 -1
  326. package/lib/components/FormField/FormField.d.ts +5 -0
  327. package/lib/components/FormField/FormField.d.ts.map +1 -1
  328. package/lib/components/FormField/FormField.js +87 -16
  329. package/lib/components/FormField/FormField.js.map +1 -1
  330. package/lib/components/Grid/Grid.d.ts +1 -1
  331. package/lib/components/Grid/Grid.d.ts.map +1 -1
  332. package/lib/components/Grid/Grid.types.d.ts +11 -10
  333. package/lib/components/Grid/Grid.types.d.ts.map +1 -1
  334. package/lib/components/Grid/Grid.types.js.map +1 -1
  335. package/lib/components/HTML/HTML.d.ts +1 -0
  336. package/lib/components/HTML/HTML.d.ts.map +1 -1
  337. package/lib/components/HTML/HTML.js +63 -17
  338. package/lib/components/HTML/HTML.js.map +1 -1
  339. package/lib/components/Icon/Icon.d.ts +7 -7
  340. package/lib/components/Icon/Icon.d.ts.map +1 -1
  341. package/lib/components/Icon/Icon.js +14 -15
  342. package/lib/components/Icon/Icon.js.map +1 -1
  343. package/lib/components/Icon/iconNames.d.ts +2 -2
  344. package/lib/components/Icon/iconNames.d.ts.map +1 -1
  345. package/lib/components/Icon/iconNames.js +2 -1
  346. package/lib/components/Icon/iconNames.js.map +1 -1
  347. package/lib/components/Icon/icons/ai-assist.icon.js +1 -1
  348. package/lib/components/Icon/icons/ai-assist.icon.js.map +1 -1
  349. package/lib/components/Icon/icons/align-center.icon.js +1 -1
  350. package/lib/components/Icon/icons/align-center.icon.js.map +1 -1
  351. package/lib/components/Icon/icons/align-left.icon.js +1 -1
  352. package/lib/components/Icon/icons/align-left.icon.js.map +1 -1
  353. package/lib/components/Icon/icons/align-right.icon.js +1 -1
  354. package/lib/components/Icon/icons/align-right.icon.js.map +1 -1
  355. package/lib/components/Icon/icons/arrow-left.icon.js +1 -1
  356. package/lib/components/Icon/icons/arrow-left.icon.js.map +1 -1
  357. package/lib/components/Icon/icons/arrow-micro-down.icon.js +1 -1
  358. package/lib/components/Icon/icons/arrow-micro-down.icon.js.map +1 -1
  359. package/lib/components/Icon/icons/arrow-micro-left.icon.js +1 -1
  360. package/lib/components/Icon/icons/arrow-micro-left.icon.js.map +1 -1
  361. package/lib/components/Icon/icons/arrow-micro-right.icon.js +1 -1
  362. package/lib/components/Icon/icons/arrow-micro-right.icon.js.map +1 -1
  363. package/lib/components/Icon/icons/arrow-micro-up-down.icon.js +1 -1
  364. package/lib/components/Icon/icons/arrow-micro-up-down.icon.js.map +1 -1
  365. package/lib/components/Icon/icons/arrow-micro-up.icon.js +1 -1
  366. package/lib/components/Icon/icons/arrow-micro-up.icon.js.map +1 -1
  367. package/lib/components/Icon/icons/arrow-up-down.icon.js +1 -1
  368. package/lib/components/Icon/icons/arrow-up-down.icon.js.map +1 -1
  369. package/lib/components/Icon/icons/bars.icon.js +1 -1
  370. package/lib/components/Icon/icons/bars.icon.js.map +1 -1
  371. package/lib/components/Icon/icons/bell-solid.icon.js +1 -1
  372. package/lib/components/Icon/icons/bell-solid.icon.js.map +1 -1
  373. package/lib/components/Icon/icons/bell.icon.js +1 -1
  374. package/lib/components/Icon/icons/bell.icon.js.map +1 -1
  375. package/lib/components/Icon/icons/box-4-solid.icon.js +1 -1
  376. package/lib/components/Icon/icons/box-4-solid.icon.js.map +1 -1
  377. package/lib/components/Icon/icons/box-4.icon.js +1 -1
  378. package/lib/components/Icon/icons/box-4.icon.js.map +1 -1
  379. package/lib/components/Icon/icons/calendar-range.icon.js +1 -1
  380. package/lib/components/Icon/icons/calendar-range.icon.js.map +1 -1
  381. package/lib/components/Icon/icons/calendar-solid.icon.js +1 -1
  382. package/lib/components/Icon/icons/calendar-solid.icon.js.map +1 -1
  383. package/lib/components/Icon/icons/caret-down.icon.js +1 -1
  384. package/lib/components/Icon/icons/caret-down.icon.js.map +1 -1
  385. package/lib/components/Icon/icons/caret-left.icon.js +1 -1
  386. package/lib/components/Icon/icons/caret-left.icon.js.map +1 -1
  387. package/lib/components/Icon/icons/caret-right.icon.js +1 -1
  388. package/lib/components/Icon/icons/caret-right.icon.js.map +1 -1
  389. package/lib/components/Icon/icons/caret-up.icon.js +1 -1
  390. package/lib/components/Icon/icons/caret-up.icon.js.map +1 -1
  391. package/lib/components/Icon/icons/{script-solid.icon.d.ts → carrot.icon.d.ts} +2 -2
  392. package/lib/components/Icon/icons/carrot.icon.d.ts.map +1 -0
  393. package/lib/components/Icon/icons/carrot.icon.js +6 -0
  394. package/lib/components/Icon/icons/carrot.icon.js.map +1 -0
  395. package/lib/components/Icon/icons/case-solid.icon.js +1 -1
  396. package/lib/components/Icon/icons/case-solid.icon.js.map +1 -1
  397. package/lib/components/Icon/icons/case.icon.js +1 -1
  398. package/lib/components/Icon/icons/case.icon.js.map +1 -1
  399. package/lib/components/Icon/icons/chain.icon.js +1 -1
  400. package/lib/components/Icon/icons/chain.icon.js.map +1 -1
  401. package/lib/components/Icon/icons/chat-solid.icon.js +1 -1
  402. package/lib/components/Icon/icons/chat-solid.icon.js.map +1 -1
  403. package/lib/components/Icon/icons/chat.icon.js +1 -1
  404. package/lib/components/Icon/icons/chat.icon.js.map +1 -1
  405. package/lib/components/Icon/icons/check.icon.js +1 -1
  406. package/lib/components/Icon/icons/check.icon.js.map +1 -1
  407. package/lib/components/Icon/icons/clipboard-plus-solid.icon.js +1 -1
  408. package/lib/components/Icon/icons/clipboard-plus-solid.icon.js.map +1 -1
  409. package/lib/components/Icon/icons/clipboard-plus.icon.js +1 -1
  410. package/lib/components/Icon/icons/clipboard-plus.icon.js.map +1 -1
  411. package/lib/components/Icon/icons/clock-solid.icon.js +1 -1
  412. package/lib/components/Icon/icons/clock-solid.icon.js.map +1 -1
  413. package/lib/components/Icon/icons/clock.icon.js +1 -1
  414. package/lib/components/Icon/icons/clock.icon.js.map +1 -1
  415. package/lib/components/Icon/icons/code.icon.js +1 -1
  416. package/lib/components/Icon/icons/code.icon.js.map +1 -1
  417. package/lib/components/Icon/icons/dataviz-string-field.icon.d.ts +1 -1
  418. package/lib/components/Icon/icons/dataviz-string-field.icon.js +2 -2
  419. package/lib/components/Icon/icons/dataviz-string-field.icon.js.map +1 -1
  420. package/lib/components/Icon/icons/dock.icon.js +1 -1
  421. package/lib/components/Icon/icons/dock.icon.js.map +1 -1
  422. package/lib/components/Icon/icons/dot-9-solid.icon.js +1 -1
  423. package/lib/components/Icon/icons/dot-9-solid.icon.js.map +1 -1
  424. package/lib/components/Icon/icons/dot-9.icon.js +1 -1
  425. package/lib/components/Icon/icons/dot-9.icon.js.map +1 -1
  426. package/lib/components/Icon/icons/download.icon.js +1 -1
  427. package/lib/components/Icon/icons/download.icon.js.map +1 -1
  428. package/lib/components/Icon/icons/drag.icon.js +1 -1
  429. package/lib/components/Icon/icons/drag.icon.js.map +1 -1
  430. package/lib/components/Icon/icons/eye-off-solid.icon.js +1 -1
  431. package/lib/components/Icon/icons/eye-off-solid.icon.js.map +1 -1
  432. package/lib/components/Icon/icons/eye-off.icon.js +1 -1
  433. package/lib/components/Icon/icons/eye-off.icon.js.map +1 -1
  434. package/lib/components/Icon/icons/face-blank-solid.icon.d.ts.map +1 -1
  435. package/lib/components/Icon/icons/face-blank-solid.icon.js +1 -1
  436. package/lib/components/Icon/icons/face-blank-solid.icon.js.map +1 -1
  437. package/lib/components/Icon/icons/face-blank.icon.d.ts.map +1 -1
  438. package/lib/components/Icon/icons/face-blank.icon.js +1 -1
  439. package/lib/components/Icon/icons/face-blank.icon.js.map +1 -1
  440. package/lib/components/Icon/icons/face-happy-solid.icon.d.ts.map +1 -1
  441. package/lib/components/Icon/icons/face-happy-solid.icon.js +1 -1
  442. package/lib/components/Icon/icons/face-happy-solid.icon.js.map +1 -1
  443. package/lib/components/Icon/icons/face-happy.icon.d.ts.map +1 -1
  444. package/lib/components/Icon/icons/face-happy.icon.js +1 -1
  445. package/lib/components/Icon/icons/face-happy.icon.js.map +1 -1
  446. package/lib/components/Icon/icons/face-sad-solid.icon.d.ts.map +1 -1
  447. package/lib/components/Icon/icons/face-sad-solid.icon.js +1 -1
  448. package/lib/components/Icon/icons/face-sad-solid.icon.js.map +1 -1
  449. package/lib/components/Icon/icons/face-sad.icon.d.ts.map +1 -1
  450. package/lib/components/Icon/icons/face-sad.icon.js +1 -1
  451. package/lib/components/Icon/icons/face-sad.icon.js.map +1 -1
  452. package/lib/components/Icon/icons/fast-forward-solid.icon.js +1 -1
  453. package/lib/components/Icon/icons/fast-forward-solid.icon.js.map +1 -1
  454. package/lib/components/Icon/icons/filetype-text.icon.d.ts.map +1 -1
  455. package/lib/components/Icon/icons/filetype-text.icon.js +2 -2
  456. package/lib/components/Icon/icons/filetype-text.icon.js.map +1 -1
  457. package/lib/components/Icon/icons/filter-on.icon.js +1 -1
  458. package/lib/components/Icon/icons/filter-on.icon.js.map +1 -1
  459. package/lib/components/Icon/icons/filter.icon.js +1 -1
  460. package/lib/components/Icon/icons/filter.icon.js.map +1 -1
  461. package/lib/components/Icon/icons/folder-hierarchy-solid.icon.js +1 -1
  462. package/lib/components/Icon/icons/folder-hierarchy-solid.icon.js.map +1 -1
  463. package/lib/components/Icon/icons/folder-hierarchy.icon.js +1 -1
  464. package/lib/components/Icon/icons/folder-hierarchy.icon.js.map +1 -1
  465. package/lib/components/Icon/icons/forward-all-solid.icon.js +1 -1
  466. package/lib/components/Icon/icons/forward-all-solid.icon.js.map +1 -1
  467. package/lib/components/Icon/icons/forward-all.icon.js +1 -1
  468. package/lib/components/Icon/icons/forward-all.icon.js.map +1 -1
  469. package/lib/components/Icon/icons/forward-solid.icon.js +1 -1
  470. package/lib/components/Icon/icons/forward-solid.icon.js.map +1 -1
  471. package/lib/components/Icon/icons/forward.icon.js +1 -1
  472. package/lib/components/Icon/icons/forward.icon.js.map +1 -1
  473. package/lib/components/Icon/icons/galaxy.icon.d.ts.map +1 -1
  474. package/lib/components/Icon/icons/galaxy.icon.js +2 -2
  475. package/lib/components/Icon/icons/galaxy.icon.js.map +1 -1
  476. package/lib/components/Icon/icons/globe-solid.icon.js +1 -1
  477. package/lib/components/Icon/icons/globe-solid.icon.js.map +1 -1
  478. package/lib/components/Icon/icons/globe.icon.js +1 -1
  479. package/lib/components/Icon/icons/globe.icon.js.map +1 -1
  480. package/lib/components/Icon/icons/hand.icon.js +1 -1
  481. package/lib/components/Icon/icons/hand.icon.js.map +1 -1
  482. package/lib/components/Icon/icons/help-solid.icon.js +1 -1
  483. package/lib/components/Icon/icons/help-solid.icon.js.map +1 -1
  484. package/lib/components/Icon/icons/help.icon.js +1 -1
  485. package/lib/components/Icon/icons/help.icon.js.map +1 -1
  486. package/lib/components/Icon/icons/home-solid.icon.js +1 -1
  487. package/lib/components/Icon/icons/home-solid.icon.js.map +1 -1
  488. package/lib/components/Icon/icons/home.icon.js +1 -1
  489. package/lib/components/Icon/icons/home.icon.js.map +1 -1
  490. package/lib/components/Icon/icons/information-solid.icon.js +1 -1
  491. package/lib/components/Icon/icons/information-solid.icon.js.map +1 -1
  492. package/lib/components/Icon/icons/information.icon.js +1 -1
  493. package/lib/components/Icon/icons/information.icon.js.map +1 -1
  494. package/lib/components/Icon/icons/list-number.icon.d.ts.map +1 -1
  495. package/lib/components/Icon/icons/list-number.icon.js +2 -2
  496. package/lib/components/Icon/icons/list-number.icon.js.map +1 -1
  497. package/lib/components/Icon/icons/list.icon.d.ts.map +1 -1
  498. package/lib/components/Icon/icons/list.icon.js +2 -2
  499. package/lib/components/Icon/icons/list.icon.js.map +1 -1
  500. package/lib/components/Icon/icons/mail-solid.icon.js +1 -1
  501. package/lib/components/Icon/icons/mail-solid.icon.js.map +1 -1
  502. package/lib/components/Icon/icons/mail.icon.js +1 -1
  503. package/lib/components/Icon/icons/mail.icon.js.map +1 -1
  504. package/lib/components/Icon/icons/minus.icon.js +1 -1
  505. package/lib/components/Icon/icons/minus.icon.js.map +1 -1
  506. package/lib/components/Icon/icons/more.icon.js +1 -1
  507. package/lib/components/Icon/icons/more.icon.js.map +1 -1
  508. package/lib/components/Icon/icons/move-left-solid.icon.js +1 -1
  509. package/lib/components/Icon/icons/move-left-solid.icon.js.map +1 -1
  510. package/lib/components/Icon/icons/move-right-solid.icon.js +1 -1
  511. package/lib/components/Icon/icons/move-right-solid.icon.js.map +1 -1
  512. package/lib/components/Icon/icons/open.icon.js +1 -1
  513. package/lib/components/Icon/icons/open.icon.js.map +1 -1
  514. package/lib/components/Icon/icons/paper-clip.icon.js +1 -1
  515. package/lib/components/Icon/icons/paper-clip.icon.js.map +1 -1
  516. package/lib/components/Icon/icons/phone-solid.icon.js +1 -1
  517. package/lib/components/Icon/icons/phone-solid.icon.js.map +1 -1
  518. package/lib/components/Icon/icons/phone.icon.js +1 -1
  519. package/lib/components/Icon/icons/phone.icon.js.map +1 -1
  520. package/lib/components/Icon/icons/picture-solid.icon.js +1 -1
  521. package/lib/components/Icon/icons/picture-solid.icon.js.map +1 -1
  522. package/lib/components/Icon/icons/picture.icon.js +1 -1
  523. package/lib/components/Icon/icons/picture.icon.js.map +1 -1
  524. package/lib/components/Icon/icons/placeholder.icon.d.ts +4 -0
  525. package/lib/components/Icon/icons/placeholder.icon.d.ts.map +1 -0
  526. package/lib/components/Icon/icons/placeholder.icon.js +6 -0
  527. package/lib/components/Icon/icons/placeholder.icon.js.map +1 -0
  528. package/lib/components/Icon/icons/plus.icon.js +1 -1
  529. package/lib/components/Icon/icons/plus.icon.js.map +1 -1
  530. package/lib/components/Icon/icons/polaris-solid.icon.js +1 -1
  531. package/lib/components/Icon/icons/polaris-solid.icon.js.map +1 -1
  532. package/lib/components/Icon/icons/polaris.icon.js +1 -1
  533. package/lib/components/Icon/icons/polaris.icon.js.map +1 -1
  534. package/lib/components/Icon/icons/qr.icon.js +1 -1
  535. package/lib/components/Icon/icons/qr.icon.js.map +1 -1
  536. package/lib/components/Icon/icons/reply-all-solid.icon.js +1 -1
  537. package/lib/components/Icon/icons/reply-all-solid.icon.js.map +1 -1
  538. package/lib/components/Icon/icons/reply-all.icon.js +1 -1
  539. package/lib/components/Icon/icons/reply-all.icon.js.map +1 -1
  540. package/lib/components/Icon/icons/reply-solid.icon.js +1 -1
  541. package/lib/components/Icon/icons/reply-solid.icon.js.map +1 -1
  542. package/lib/components/Icon/icons/reply.icon.js +1 -1
  543. package/lib/components/Icon/icons/reply.icon.js.map +1 -1
  544. package/lib/components/Icon/icons/reset.icon.js +1 -1
  545. package/lib/components/Icon/icons/reset.icon.js.map +1 -1
  546. package/lib/components/Icon/icons/robot-happy-solid.icon.js +1 -1
  547. package/lib/components/Icon/icons/robot-happy-solid.icon.js.map +1 -1
  548. package/lib/components/Icon/icons/robot-happy.icon.js +1 -1
  549. package/lib/components/Icon/icons/robot-happy.icon.js.map +1 -1
  550. package/lib/components/Icon/icons/row-insert.icon.js +1 -1
  551. package/lib/components/Icon/icons/row-insert.icon.js.map +1 -1
  552. package/lib/components/Icon/icons/row.icon.js +1 -1
  553. package/lib/components/Icon/icons/row.icon.js.map +1 -1
  554. package/lib/components/Icon/icons/scale-down.icon.js +1 -1
  555. package/lib/components/Icon/icons/scale-down.icon.js.map +1 -1
  556. package/lib/components/Icon/icons/scale-up-solid.icon.js +1 -1
  557. package/lib/components/Icon/icons/scale-up-solid.icon.js.map +1 -1
  558. package/lib/components/Icon/icons/scale-up.icon.js +1 -1
  559. package/lib/components/Icon/icons/scale-up.icon.js.map +1 -1
  560. package/lib/components/Icon/icons/script.icon.js +1 -1
  561. package/lib/components/Icon/icons/script.icon.js.map +1 -1
  562. package/lib/components/Icon/icons/search-analytics-solid.icon.js +1 -1
  563. package/lib/components/Icon/icons/search-analytics-solid.icon.js.map +1 -1
  564. package/lib/components/Icon/icons/search-analytics.icon.js +1 -1
  565. package/lib/components/Icon/icons/search-analytics.icon.js.map +1 -1
  566. package/lib/components/Icon/icons/search.icon.js +1 -1
  567. package/lib/components/Icon/icons/search.icon.js.map +1 -1
  568. package/lib/components/Icon/icons/send-solid.icon.js +1 -1
  569. package/lib/components/Icon/icons/send-solid.icon.js.map +1 -1
  570. package/lib/components/Icon/icons/send.icon.js +1 -1
  571. package/lib/components/Icon/icons/send.icon.js.map +1 -1
  572. package/lib/components/Icon/icons/slideshow-solid.icon.js +1 -1
  573. package/lib/components/Icon/icons/slideshow-solid.icon.js.map +1 -1
  574. package/lib/components/Icon/icons/slideshow.icon.js +1 -1
  575. package/lib/components/Icon/icons/slideshow.icon.js.map +1 -1
  576. package/lib/components/Icon/icons/snow.icon.js +1 -1
  577. package/lib/components/Icon/icons/snow.icon.js.map +1 -1
  578. package/lib/components/Icon/icons/speaker-solid.icon.js +1 -1
  579. package/lib/components/Icon/icons/speaker-solid.icon.js.map +1 -1
  580. package/lib/components/Icon/icons/speaker.icon.js +1 -1
  581. package/lib/components/Icon/icons/speaker.icon.js.map +1 -1
  582. package/lib/components/Icon/icons/star-solid.icon.js +1 -1
  583. package/lib/components/Icon/icons/star-solid.icon.js.map +1 -1
  584. package/lib/components/Icon/icons/star.icon.js +1 -1
  585. package/lib/components/Icon/icons/star.icon.js.map +1 -1
  586. package/lib/components/Icon/icons/target-solid.icon.js +1 -1
  587. package/lib/components/Icon/icons/target-solid.icon.js.map +1 -1
  588. package/lib/components/Icon/icons/target.icon.js +1 -1
  589. package/lib/components/Icon/icons/target.icon.js.map +1 -1
  590. package/lib/components/Icon/icons/thumbs-up-solid.icon.js +1 -1
  591. package/lib/components/Icon/icons/thumbs-up-solid.icon.js.map +1 -1
  592. package/lib/components/Icon/icons/thumbs-up.icon.js +1 -1
  593. package/lib/components/Icon/icons/thumbs-up.icon.js.map +1 -1
  594. package/lib/components/Icon/icons/times.icon.js +1 -1
  595. package/lib/components/Icon/icons/times.icon.js.map +1 -1
  596. package/lib/components/Icon/icons/trash-solid.icon.js +1 -1
  597. package/lib/components/Icon/icons/trash-solid.icon.js.map +1 -1
  598. package/lib/components/Icon/icons/trash.icon.js +1 -1
  599. package/lib/components/Icon/icons/trash.icon.js.map +1 -1
  600. package/lib/components/Icon/icons/twitter.icon.js +1 -1
  601. package/lib/components/Icon/icons/twitter.icon.js.map +1 -1
  602. package/lib/components/Icon/icons/undock.icon.js +1 -1
  603. package/lib/components/Icon/icons/undock.icon.js.map +1 -1
  604. package/lib/components/Icon/icons/user-solid.icon.js +1 -1
  605. package/lib/components/Icon/icons/user-solid.icon.js.map +1 -1
  606. package/lib/components/Icon/icons/user-star-solid.icon.js +1 -1
  607. package/lib/components/Icon/icons/user-star-solid.icon.js.map +1 -1
  608. package/lib/components/Icon/icons/user-star.icon.js +1 -1
  609. package/lib/components/Icon/icons/user-star.icon.js.map +1 -1
  610. package/lib/components/Icon/icons/user.icon.js +1 -1
  611. package/lib/components/Icon/icons/user.icon.js.map +1 -1
  612. package/lib/components/Icon/icons/warn-solid.icon.js +1 -1
  613. package/lib/components/Icon/icons/warn-solid.icon.js.map +1 -1
  614. package/lib/components/Icon/icons/warn.icon.js +1 -1
  615. package/lib/components/Icon/icons/warn.icon.js.map +1 -1
  616. package/lib/components/Icon/index.d.ts +1 -1
  617. package/lib/components/Icon/index.d.ts.map +1 -1
  618. package/lib/components/Icon/index.js.map +1 -1
  619. package/lib/components/Input/Input.d.ts +3 -1
  620. package/lib/components/Input/Input.d.ts.map +1 -1
  621. package/lib/components/Input/Input.js +16 -2
  622. package/lib/components/Input/Input.js.map +1 -1
  623. package/lib/components/Input/Input.styles.d.ts +1 -0
  624. package/lib/components/Input/Input.styles.d.ts.map +1 -1
  625. package/lib/components/Input/Input.styles.js +31 -0
  626. package/lib/components/Input/Input.styles.js.map +1 -1
  627. package/lib/components/Link/Link.d.ts +4 -1
  628. package/lib/components/Link/Link.d.ts.map +1 -1
  629. package/lib/components/Link/Link.js +87 -30
  630. package/lib/components/Link/Link.js.map +1 -1
  631. package/lib/components/List/CommaSeparatedList.d.ts.map +1 -1
  632. package/lib/components/List/CommaSeparatedList.js +6 -14
  633. package/lib/components/List/CommaSeparatedList.js.map +1 -1
  634. package/lib/components/List/List.d.ts +2 -2
  635. package/lib/components/List/List.d.ts.map +1 -1
  636. package/lib/components/List/List.js.map +1 -1
  637. package/lib/components/ListToolbar/ListToolbar.d.ts.map +1 -1
  638. package/lib/components/ListToolbar/ListToolbar.js +108 -53
  639. package/lib/components/ListToolbar/ListToolbar.js.map +1 -1
  640. package/lib/components/ListToolbar/ListToolbar.styles.d.ts +1 -0
  641. package/lib/components/ListToolbar/ListToolbar.styles.d.ts.map +1 -1
  642. package/lib/components/ListToolbar/ListToolbar.styles.js +38 -2
  643. package/lib/components/ListToolbar/ListToolbar.styles.js.map +1 -1
  644. package/lib/components/ListToolbar/ListToolbar.types.d.ts +28 -10
  645. package/lib/components/ListToolbar/ListToolbar.types.d.ts.map +1 -1
  646. package/lib/components/ListToolbar/ListToolbar.types.js.map +1 -1
  647. package/lib/components/ListToolbar/PresetMenuPopover.d.ts +12 -0
  648. package/lib/components/ListToolbar/PresetMenuPopover.d.ts.map +1 -0
  649. package/lib/components/ListToolbar/PresetMenuPopover.js +36 -0
  650. package/lib/components/ListToolbar/PresetMenuPopover.js.map +1 -0
  651. package/lib/components/ListToolbar/QueryOptionPopover.d.ts.map +1 -1
  652. package/lib/components/ListToolbar/QueryOptionPopover.js +14 -44
  653. package/lib/components/ListToolbar/QueryOptionPopover.js.map +1 -1
  654. package/lib/components/Location/LocationInput.d.ts +3 -1
  655. package/lib/components/Location/LocationInput.d.ts.map +1 -1
  656. package/lib/components/Location/LocationInput.js +2 -2
  657. package/lib/components/Location/LocationInput.js.map +1 -1
  658. package/lib/components/Location/LocationView.d.ts +1 -1
  659. package/lib/components/Location/LocationView.d.ts.map +1 -1
  660. package/lib/components/Location/LocationView.js +16 -10
  661. package/lib/components/Location/LocationView.js.map +1 -1
  662. package/lib/components/Location/utils.d.ts +3 -2
  663. package/lib/components/Location/utils.d.ts.map +1 -1
  664. package/lib/components/Location/utils.js +17 -9
  665. package/lib/components/Location/utils.js.map +1 -1
  666. package/lib/components/Menu/FlyoutMenuList.d.ts.map +1 -1
  667. package/lib/components/Menu/FlyoutMenuList.js +11 -7
  668. package/lib/components/Menu/FlyoutMenuList.js.map +1 -1
  669. package/lib/components/Menu/Menu.context.d.ts.map +1 -1
  670. package/lib/components/Menu/Menu.context.js +2 -1
  671. package/lib/components/Menu/Menu.context.js.map +1 -1
  672. package/lib/components/Menu/Menu.d.ts.map +1 -1
  673. package/lib/components/Menu/Menu.js +42 -15
  674. package/lib/components/Menu/Menu.js.map +1 -1
  675. package/lib/components/Menu/Menu.styles.d.ts.map +1 -1
  676. package/lib/components/Menu/Menu.styles.js +4 -2
  677. package/lib/components/Menu/Menu.styles.js.map +1 -1
  678. package/lib/components/Menu/Menu.types.d.ts +14 -0
  679. package/lib/components/Menu/Menu.types.d.ts.map +1 -1
  680. package/lib/components/Menu/Menu.types.js.map +1 -1
  681. package/lib/components/Menu/MenuGroup.d.ts.map +1 -1
  682. package/lib/components/Menu/MenuGroup.js +3 -3
  683. package/lib/components/Menu/MenuGroup.js.map +1 -1
  684. package/lib/components/Menu/MenuItem.d.ts.map +1 -1
  685. package/lib/components/Menu/MenuItem.js +4 -8
  686. package/lib/components/Menu/MenuItem.js.map +1 -1
  687. package/lib/components/Menu/MenuList.d.ts.map +1 -1
  688. package/lib/components/Menu/MenuList.js +23 -14
  689. package/lib/components/Menu/MenuList.js.map +1 -1
  690. package/lib/components/Menu/NavItemsList.d.ts +2 -2
  691. package/lib/components/Menu/NavItemsList.d.ts.map +1 -1
  692. package/lib/components/Menu/NavItemsList.js +12 -7
  693. package/lib/components/Menu/NavItemsList.js.map +1 -1
  694. package/lib/components/Menu/helpers.d.ts +9 -7
  695. package/lib/components/Menu/helpers.d.ts.map +1 -1
  696. package/lib/components/Menu/helpers.js +16 -13
  697. package/lib/components/Menu/helpers.js.map +1 -1
  698. package/lib/components/Menu/index.d.ts +1 -1
  699. package/lib/components/Menu/index.d.ts.map +1 -1
  700. package/lib/components/Menu/index.js +1 -1
  701. package/lib/components/Menu/index.js.map +1 -1
  702. package/lib/components/MenuButton/MenuButton.d.ts.map +1 -1
  703. package/lib/components/MenuButton/MenuButton.js +13 -11
  704. package/lib/components/MenuButton/MenuButton.js.map +1 -1
  705. package/lib/components/MetaList/MetaList.d.ts.map +1 -1
  706. package/lib/components/MetaList/MetaList.js +13 -10
  707. package/lib/components/MetaList/MetaList.js.map +1 -1
  708. package/lib/components/Modal/Contexts.d.ts.map +1 -1
  709. package/lib/components/Modal/Contexts.js +2 -3
  710. package/lib/components/Modal/Contexts.js.map +1 -1
  711. package/lib/components/Modal/MinimizedModal.d.ts.map +1 -1
  712. package/lib/components/Modal/MinimizedModal.js +2 -5
  713. package/lib/components/Modal/MinimizedModal.js.map +1 -1
  714. package/lib/components/Modal/Modal.d.ts.map +1 -1
  715. package/lib/components/Modal/Modal.js +7 -9
  716. package/lib/components/Modal/Modal.js.map +1 -1
  717. package/lib/components/Modal/Modal.types.d.ts +2 -6
  718. package/lib/components/Modal/Modal.types.d.ts.map +1 -1
  719. package/lib/components/Modal/Modal.types.js +1 -2
  720. package/lib/components/Modal/Modal.types.js.map +1 -1
  721. package/lib/components/Modal/ModalManager.d.ts +8 -2
  722. package/lib/components/Modal/ModalManager.d.ts.map +1 -1
  723. package/lib/components/Modal/ModalManager.js +21 -20
  724. package/lib/components/Modal/ModalManager.js.map +1 -1
  725. package/lib/components/Modal/index.d.ts +0 -1
  726. package/lib/components/Modal/index.d.ts.map +1 -1
  727. package/lib/components/Modal/index.js +0 -1
  728. package/lib/components/Modal/index.js.map +1 -1
  729. package/lib/components/MultiStepForm/FormProgress.d.ts +10 -0
  730. package/lib/components/MultiStepForm/FormProgress.d.ts.map +1 -0
  731. package/lib/components/{MultiStep/MultiStep.js → MultiStepForm/FormProgress.js} +8 -22
  732. package/lib/components/MultiStepForm/FormProgress.js.map +1 -0
  733. package/lib/components/{MultiStep/MultiStep.styles.d.ts → MultiStepForm/FormProgress.styles.d.ts} +2 -4
  734. package/lib/components/MultiStepForm/FormProgress.styles.d.ts.map +1 -0
  735. package/lib/components/{MultiStep/MultiStep.styles.js → MultiStepForm/FormProgress.styles.js} +4 -8
  736. package/lib/components/MultiStepForm/FormProgress.styles.js.map +1 -0
  737. package/lib/components/MultiStepForm/MultiStepForm.d.ts +9 -0
  738. package/lib/components/MultiStepForm/MultiStepForm.d.ts.map +1 -0
  739. package/lib/components/MultiStepForm/MultiStepForm.js +50 -0
  740. package/lib/components/MultiStepForm/MultiStepForm.js.map +1 -0
  741. package/lib/components/MultiStepForm/MultiStepForm.types.d.ts +48 -0
  742. package/lib/components/MultiStepForm/MultiStepForm.types.d.ts.map +1 -0
  743. package/lib/components/MultiStepForm/MultiStepForm.types.js +2 -0
  744. package/lib/components/MultiStepForm/MultiStepForm.types.js.map +1 -0
  745. package/lib/components/MultiStepForm/index.d.ts +2 -0
  746. package/lib/components/MultiStepForm/index.d.ts.map +1 -0
  747. package/lib/components/MultiStepForm/index.js +2 -0
  748. package/lib/components/MultiStepForm/index.js.map +1 -0
  749. package/lib/components/Number/NumberDisplay.d.ts +0 -5
  750. package/lib/components/Number/NumberDisplay.d.ts.map +1 -1
  751. package/lib/components/Number/NumberDisplay.js +8 -12
  752. package/lib/components/Number/NumberDisplay.js.map +1 -1
  753. package/lib/components/Number/NumberInput.d.ts +1 -1
  754. package/lib/components/Number/NumberInput.d.ts.map +1 -1
  755. package/lib/components/Number/NumberInput.js +51 -25
  756. package/lib/components/Number/NumberInput.js.map +1 -1
  757. package/lib/components/Number/NumberInput.styles.d.ts +8 -5
  758. package/lib/components/Number/NumberInput.styles.d.ts.map +1 -1
  759. package/lib/components/Number/NumberInput.styles.js +8 -3
  760. package/lib/components/Number/NumberInput.styles.js.map +1 -1
  761. package/lib/components/Number/NumberInput.types.d.ts +56 -21
  762. package/lib/components/Number/NumberInput.types.d.ts.map +1 -1
  763. package/lib/components/Number/NumberInput.types.js.map +1 -1
  764. package/lib/components/Number/NumberRangeInput.d.ts +6 -0
  765. package/lib/components/Number/NumberRangeInput.d.ts.map +1 -0
  766. package/lib/components/Number/NumberRangeInput.js +30 -0
  767. package/lib/components/Number/NumberRangeInput.js.map +1 -0
  768. package/lib/components/Number/index.d.ts +3 -2
  769. package/lib/components/Number/index.d.ts.map +1 -1
  770. package/lib/components/Number/index.js +1 -0
  771. package/lib/components/Number/index.js.map +1 -1
  772. package/lib/components/Number/utils.d.ts +3 -4
  773. package/lib/components/Number/utils.d.ts.map +1 -1
  774. package/lib/components/Number/utils.js +41 -22
  775. package/lib/components/Number/utils.js.map +1 -1
  776. package/lib/components/PageTemplates/CategorySubPage.d.ts +3 -3
  777. package/lib/components/PageTemplates/CategorySubPage.d.ts.map +1 -1
  778. package/lib/components/PageTemplates/CategorySubPage.js.map +1 -1
  779. package/lib/components/PageTemplates/DashboardPage.d.ts.map +1 -1
  780. package/lib/components/PageTemplates/DashboardPage.js +1 -4
  781. package/lib/components/PageTemplates/DashboardPage.js.map +1 -1
  782. package/lib/components/PageTemplates/PageTemplates.d.ts +1 -2
  783. package/lib/components/PageTemplates/PageTemplates.d.ts.map +1 -1
  784. package/lib/components/PageTemplates/PageTemplates.js.map +1 -1
  785. package/lib/components/Phone/PhoneDisplay.d.ts +8 -0
  786. package/lib/components/Phone/PhoneDisplay.d.ts.map +1 -1
  787. package/lib/components/Phone/PhoneDisplay.js +2 -2
  788. package/lib/components/Phone/PhoneDisplay.js.map +1 -1
  789. package/lib/components/Phone/PhoneInput.d.ts.map +1 -1
  790. package/lib/components/Phone/PhoneInput.js +19 -9
  791. package/lib/components/Phone/PhoneInput.js.map +1 -1
  792. package/lib/components/Phone/utils.d.ts +4 -1
  793. package/lib/components/Phone/utils.d.ts.map +1 -1
  794. package/lib/components/Phone/utils.js +4 -2
  795. package/lib/components/Phone/utils.js.map +1 -1
  796. package/lib/components/Popover/Popover.d.ts +4 -1
  797. package/lib/components/Popover/Popover.d.ts.map +1 -1
  798. package/lib/components/Popover/Popover.js +26 -12
  799. package/lib/components/Popover/Popover.js.map +1 -1
  800. package/lib/components/Popover/Popover.styles.d.ts +1 -0
  801. package/lib/components/Popover/Popover.styles.d.ts.map +1 -1
  802. package/lib/components/Popover/Popover.styles.js +19 -58
  803. package/lib/components/Popover/Popover.styles.js.map +1 -1
  804. package/lib/components/Popover/PopoverContext.d.ts +1 -0
  805. package/lib/components/Popover/PopoverContext.d.ts.map +1 -1
  806. package/lib/components/Popover/PopoverContext.js +2 -1
  807. package/lib/components/Popover/PopoverContext.js.map +1 -1
  808. package/lib/components/Popover/PopoverManager.d.ts.map +1 -1
  809. package/lib/components/Popover/PopoverManager.js +2 -1
  810. package/lib/components/Popover/PopoverManager.js.map +1 -1
  811. package/lib/components/Popover/modifiers.d.ts +2 -0
  812. package/lib/components/Popover/modifiers.d.ts.map +1 -1
  813. package/lib/components/Popover/modifiers.js +32 -1
  814. package/lib/components/Popover/modifiers.js.map +1 -1
  815. package/lib/components/Progress/Ring.js +2 -2
  816. package/lib/components/Progress/Ring.js.map +1 -1
  817. package/lib/components/RadioButton/RadioButton.d.ts +3 -1
  818. package/lib/components/RadioButton/RadioButton.d.ts.map +1 -1
  819. package/lib/components/RadioButton/RadioButton.js.map +1 -1
  820. package/lib/components/RadioCheck/RadioCheck.d.ts +2 -0
  821. package/lib/components/RadioCheck/RadioCheck.d.ts.map +1 -1
  822. package/lib/components/RadioCheck/RadioCheck.js +7 -5
  823. package/lib/components/RadioCheck/RadioCheck.js.map +1 -1
  824. package/lib/components/RadioCheckGroup/RadioCheckGroup.d.ts +3 -0
  825. package/lib/components/RadioCheckGroup/RadioCheckGroup.d.ts.map +1 -1
  826. package/lib/components/RadioCheckGroup/RadioCheckGroup.js +2 -2
  827. package/lib/components/RadioCheckGroup/RadioCheckGroup.js.map +1 -1
  828. package/lib/components/RadioCheckGroup/index.d.ts +1 -1
  829. package/lib/components/RadioCheckGroup/index.d.ts.map +1 -1
  830. package/lib/components/RadioCheckGroup/index.js +1 -1
  831. package/lib/components/RadioCheckGroup/index.js.map +1 -1
  832. package/lib/components/SearchInput/SearchInput.d.ts +24 -8
  833. package/lib/components/SearchInput/SearchInput.d.ts.map +1 -1
  834. package/lib/components/SearchInput/SearchInput.js +127 -94
  835. package/lib/components/SearchInput/SearchInput.js.map +1 -1
  836. package/lib/components/SearchInput/SearchInput.styles.d.ts +16 -0
  837. package/lib/components/SearchInput/SearchInput.styles.d.ts.map +1 -0
  838. package/lib/components/SearchInput/SearchInput.styles.js +133 -0
  839. package/lib/components/SearchInput/SearchInput.styles.js.map +1 -0
  840. package/lib/components/SearchInput/index.d.ts +1 -1
  841. package/lib/components/SearchInput/index.d.ts.map +1 -1
  842. package/lib/components/SearchInput/index.js +1 -1
  843. package/lib/components/SearchInput/index.js.map +1 -1
  844. package/lib/components/Select/Select.d.ts +5 -0
  845. package/lib/components/Select/Select.d.ts.map +1 -1
  846. package/lib/components/Select/Select.js +18 -8
  847. package/lib/components/Select/Select.js.map +1 -1
  848. package/lib/components/Sentiment/Sentiment.d.ts.map +1 -1
  849. package/lib/components/Sentiment/Sentiment.js +1 -1
  850. package/lib/components/Sentiment/Sentiment.js.map +1 -1
  851. package/lib/components/Skeleton/ParagraphSkeleton.d.ts.map +1 -1
  852. package/lib/components/Skeleton/ParagraphSkeleton.js +2 -2
  853. package/lib/components/Skeleton/ParagraphSkeleton.js.map +1 -1
  854. package/lib/components/SkipLinks/SkipLinks.d.ts +15 -0
  855. package/lib/components/SkipLinks/SkipLinks.d.ts.map +1 -0
  856. package/lib/components/SkipLinks/SkipLinks.js +67 -0
  857. package/lib/components/SkipLinks/SkipLinks.js.map +1 -0
  858. package/lib/components/SkipLinks/index.d.ts +4 -0
  859. package/lib/components/SkipLinks/index.d.ts.map +1 -0
  860. package/lib/components/SkipLinks/index.js +3 -0
  861. package/lib/components/SkipLinks/index.js.map +1 -0
  862. package/lib/components/Slider/Slider.styles.d.ts +1 -1
  863. package/lib/components/SummaryItem/SummaryItem.d.ts +2 -2
  864. package/lib/components/SummaryList/ViewAll.d.ts.map +1 -1
  865. package/lib/components/SummaryList/ViewAll.js +6 -2
  866. package/lib/components/SummaryList/ViewAll.js.map +1 -1
  867. package/lib/components/Tabs/Tab.d.ts.map +1 -1
  868. package/lib/components/Tabs/Tab.js +11 -4
  869. package/lib/components/Tabs/Tab.js.map +1 -1
  870. package/lib/components/Tabs/TabPanel.d.ts.map +1 -1
  871. package/lib/components/Tabs/TabPanel.js +1 -7
  872. package/lib/components/Tabs/TabPanel.js.map +1 -1
  873. package/lib/components/Tabs/Tabs.d.ts.map +1 -1
  874. package/lib/components/Tabs/Tabs.js +1 -1
  875. package/lib/components/Tabs/Tabs.js.map +1 -1
  876. package/lib/components/Text/Text.js +2 -2
  877. package/lib/components/Text/Text.js.map +1 -1
  878. package/lib/components/TextArea/TextArea.d.ts.map +1 -1
  879. package/lib/components/TextArea/TextArea.js +8 -3
  880. package/lib/components/TextArea/TextArea.js.map +1 -1
  881. package/lib/components/Toaster/Context.d.ts +7 -0
  882. package/lib/components/Toaster/Context.d.ts.map +1 -0
  883. package/lib/components/Toaster/Context.js +6 -0
  884. package/lib/components/Toaster/Context.js.map +1 -0
  885. package/lib/components/Toaster/Toaster.d.ts +8 -40
  886. package/lib/components/Toaster/Toaster.d.ts.map +1 -1
  887. package/lib/components/Toaster/Toaster.js +12 -12
  888. package/lib/components/Toaster/Toaster.js.map +1 -1
  889. package/lib/components/Toaster/Toaster.types.d.ts +31 -0
  890. package/lib/components/Toaster/Toaster.types.d.ts.map +1 -0
  891. package/lib/components/Toaster/Toaster.types.js +2 -0
  892. package/lib/components/Toaster/Toaster.types.js.map +1 -0
  893. package/lib/components/Toaster/index.d.ts +1 -2
  894. package/lib/components/Toaster/index.d.ts.map +1 -1
  895. package/lib/components/Toaster/index.js +0 -1
  896. package/lib/components/Toaster/index.js.map +1 -1
  897. package/lib/components/Tooltip/Tooltip.d.ts +6 -1
  898. package/lib/components/Tooltip/Tooltip.d.ts.map +1 -1
  899. package/lib/components/Tooltip/Tooltip.js +24 -5
  900. package/lib/components/Tooltip/Tooltip.js.map +1 -1
  901. package/lib/components/Tree/StandardTree.d.ts.map +1 -1
  902. package/lib/components/Tree/StandardTree.js +27 -13
  903. package/lib/components/Tree/StandardTree.js.map +1 -1
  904. package/lib/components/Tree/StandardTree.styles.js +3 -3
  905. package/lib/components/Tree/StandardTree.styles.js.map +1 -1
  906. package/lib/components/Tree/StandardTree.types.d.ts +1 -0
  907. package/lib/components/Tree/StandardTree.types.d.ts.map +1 -1
  908. package/lib/components/Tree/StandardTree.types.js.map +1 -1
  909. package/lib/hooks/index.d.ts +3 -0
  910. package/lib/hooks/index.d.ts.map +1 -1
  911. package/lib/hooks/index.js +3 -0
  912. package/lib/hooks/index.js.map +1 -1
  913. package/lib/hooks/useActiveDescendant.d.ts +5 -1
  914. package/lib/hooks/useActiveDescendant.d.ts.map +1 -1
  915. package/lib/hooks/useActiveDescendant.js +179 -100
  916. package/lib/hooks/useActiveDescendant.js.map +1 -1
  917. package/lib/hooks/useAutoResize.d.ts +1 -1
  918. package/lib/hooks/useAutoResize.d.ts.map +1 -1
  919. package/lib/hooks/useAutoResize.js +14 -6
  920. package/lib/hooks/useAutoResize.js.map +1 -1
  921. package/lib/hooks/useBreakpoint.d.ts +3 -2
  922. package/lib/hooks/useBreakpoint.d.ts.map +1 -1
  923. package/lib/hooks/useBreakpoint.js +12 -15
  924. package/lib/hooks/useBreakpoint.js.map +1 -1
  925. package/lib/hooks/useConfiguration.d.ts +1 -0
  926. package/lib/hooks/useConfiguration.d.ts.map +1 -1
  927. package/lib/hooks/useConfiguration.js +9 -2
  928. package/lib/hooks/useConfiguration.js.map +1 -1
  929. package/lib/hooks/useDraggable.d.ts +1 -1
  930. package/lib/hooks/useDraggable.d.ts.map +1 -1
  931. package/lib/hooks/useDraggable.js +35 -8
  932. package/lib/hooks/useDraggable.js.map +1 -1
  933. package/lib/hooks/useFocusTrap.d.ts.map +1 -1
  934. package/lib/hooks/useFocusTrap.js +4 -5
  935. package/lib/hooks/useFocusTrap.js.map +1 -1
  936. package/lib/hooks/useFocusWithin.d.ts.map +1 -1
  937. package/lib/hooks/useFocusWithin.js +0 -8
  938. package/lib/hooks/useFocusWithin.js.map +1 -1
  939. package/lib/hooks/useI18n.d.ts +148 -38
  940. package/lib/hooks/useI18n.d.ts.map +1 -1
  941. package/lib/hooks/useI18n.js +2 -1
  942. package/lib/hooks/useI18n.js.map +1 -1
  943. package/lib/hooks/useInputFormatter.d.ts.map +1 -1
  944. package/lib/hooks/useInputFormatter.js +5 -0
  945. package/lib/hooks/useInputFormatter.js.map +1 -1
  946. package/lib/hooks/useLongPress.d.ts +1 -1
  947. package/lib/hooks/useLongPress.d.ts.map +1 -1
  948. package/lib/hooks/useModalContext.d.ts +7 -0
  949. package/lib/hooks/useModalContext.d.ts.map +1 -0
  950. package/lib/hooks/useModalContext.js +12 -0
  951. package/lib/hooks/useModalContext.js.map +1 -0
  952. package/lib/hooks/useModalManager.d.ts +8 -0
  953. package/lib/hooks/useModalManager.d.ts.map +1 -0
  954. package/lib/hooks/useModalManager.js +16 -0
  955. package/lib/hooks/useModalManager.js.map +1 -0
  956. package/lib/hooks/useOS.d.ts.map +1 -1
  957. package/lib/hooks/useOS.js +1 -2
  958. package/lib/hooks/useOS.js.map +1 -1
  959. package/lib/hooks/useScrollStick.d.ts +1 -1
  960. package/lib/hooks/useScrollStick.d.ts.map +1 -1
  961. package/lib/hooks/useToaster.d.ts +8 -0
  962. package/lib/hooks/useToaster.d.ts.map +1 -0
  963. package/lib/hooks/useToaster.js +16 -0
  964. package/lib/hooks/useToaster.js.map +1 -0
  965. package/lib/hooks/useTransitionState.js +1 -1
  966. package/lib/hooks/useTransitionState.js.map +1 -1
  967. package/lib/i18n/default.d.ts +148 -38
  968. package/lib/i18n/default.d.ts.map +1 -1
  969. package/lib/i18n/default.js +175 -53
  970. package/lib/i18n/default.js.map +1 -1
  971. package/lib/i18n/i18n.d.ts +144 -702
  972. package/lib/i18n/i18n.d.ts.map +1 -1
  973. package/lib/i18n/translate.d.ts +4 -2
  974. package/lib/i18n/translate.d.ts.map +1 -1
  975. package/lib/i18n/translate.js.map +1 -1
  976. package/lib/index.d.ts +9 -2
  977. package/lib/index.d.ts.map +1 -1
  978. package/lib/index.js +9 -2
  979. package/lib/index.js.map +1 -1
  980. package/lib/init.d.ts +8 -0
  981. package/lib/init.d.ts.map +1 -0
  982. package/lib/init.js +5 -0
  983. package/lib/init.js.map +1 -0
  984. package/lib/register-contexts.d.ts +2 -0
  985. package/lib/register-contexts.d.ts.map +1 -0
  986. package/lib/register-contexts.js +10 -0
  987. package/lib/register-contexts.js.map +1 -0
  988. package/lib/styles/GlobalStyle.d.ts.map +1 -1
  989. package/lib/styles/GlobalStyle.js +12 -2
  990. package/lib/styles/GlobalStyle.js.map +1 -1
  991. package/lib/styles/utils.d.ts +1 -1
  992. package/lib/styles/utils.d.ts.map +1 -1
  993. package/lib/styles/utils.js.map +1 -1
  994. package/lib/theme/ThemeMachine.d.ts +11 -3
  995. package/lib/theme/ThemeMachine.d.ts.map +1 -1
  996. package/lib/theme/ThemeMachine.js +28 -26
  997. package/lib/theme/ThemeMachine.js.map +1 -1
  998. package/lib/theme/index.d.ts +1 -0
  999. package/lib/theme/index.d.ts.map +1 -1
  1000. package/lib/theme/index.js +1 -0
  1001. package/lib/theme/index.js.map +1 -1
  1002. package/lib/theme/theme.d.ts +56 -2
  1003. package/lib/theme/theme.d.ts.map +1 -1
  1004. package/lib/theme/themeDefinition.json +37 -5
  1005. package/lib/theme/themeOverrides.schema.json +9 -0
  1006. package/lib/theme/themes/buildTheme.json +0 -3
  1007. package/lib/theme/themes/darkTheme.json +3 -1
  1008. package/lib/theme/themes/legacyBuildTheme.json +0 -3
  1009. package/lib/theme/themes/wssTheme.json +6 -0
  1010. package/lib/types/types.d.ts +3 -0
  1011. package/lib/types/types.d.ts.map +1 -1
  1012. package/lib/types/types.js.map +1 -1
  1013. package/lib/utils/utils.d.ts +11 -0
  1014. package/lib/utils/utils.d.ts.map +1 -1
  1015. package/lib/utils/utils.js +39 -0
  1016. package/lib/utils/utils.js.map +1 -1
  1017. package/package.json +13 -10
  1018. package/lib/components/AppShell/SkipNavigation.d.ts +0 -4
  1019. package/lib/components/AppShell/SkipNavigation.d.ts.map +0 -1
  1020. package/lib/components/AppShell/SkipNavigation.js +0 -61
  1021. package/lib/components/AppShell/SkipNavigation.js.map +0 -1
  1022. package/lib/components/Currency/currencyCodes.d.ts +0 -3
  1023. package/lib/components/Currency/currencyCodes.d.ts.map +0 -1
  1024. package/lib/components/Currency/currencyCodes.js +0 -182
  1025. package/lib/components/Currency/currencyCodes.js.map +0 -1
  1026. package/lib/components/DateTime/types.d.ts +0 -9
  1027. package/lib/components/DateTime/types.d.ts.map +0 -1
  1028. package/lib/components/DateTime/types.js +0 -2
  1029. package/lib/components/DateTime/types.js.map +0 -1
  1030. package/lib/components/Icon/icons/script-solid.icon.d.ts.map +0 -1
  1031. package/lib/components/Icon/icons/script-solid.icon.js +0 -6
  1032. package/lib/components/Icon/icons/script-solid.icon.js.map +0 -1
  1033. package/lib/components/MultiStep/MultiStep.d.ts +0 -6
  1034. package/lib/components/MultiStep/MultiStep.d.ts.map +0 -1
  1035. package/lib/components/MultiStep/MultiStep.js.map +0 -1
  1036. package/lib/components/MultiStep/MultiStep.styles.d.ts.map +0 -1
  1037. package/lib/components/MultiStep/MultiStep.styles.js.map +0 -1
  1038. package/lib/components/MultiStep/MultiStep.types.d.ts +0 -36
  1039. package/lib/components/MultiStep/MultiStep.types.d.ts.map +0 -1
  1040. package/lib/components/MultiStep/MultiStep.types.js +0 -2
  1041. package/lib/components/MultiStep/MultiStep.types.js.map +0 -1
  1042. package/lib/components/MultiStep/index.d.ts +0 -3
  1043. package/lib/components/MultiStep/index.d.ts.map +0 -1
  1044. package/lib/components/MultiStep/index.js +0 -2
  1045. package/lib/components/MultiStep/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n forwardRef,\n FunctionComponent,\n PropsWithoutRef,\n useCallback,\n useEffect,\n useState,\n useRef,\n useMemo\n} from 'react';\n\nimport {\n useConsolidatedRef,\n useUID,\n useActiveDescendant,\n useLazyDescendant,\n useI18n,\n usePrevious,\n useDirection\n} from '../../hooks';\nimport { ForwardProps } from '../../types';\nimport { cap } from '../../utils';\n\nimport FlyoutMenuList from './FlyoutMenuList';\nimport MenuContext from './Menu.context';\nimport { StyledMenu, StyledMenuListWrapper } from './Menu.styles';\nimport { MenuContextProps, MenuProps } from './Menu.types';\nimport MenuList from './MenuList';\n\nconst Menu: FunctionComponent<MenuProps & ForwardProps> = forwardRef(\n (props: PropsWithoutRef<MenuProps>, ref: MenuProps['ref']) => {\n const uid = useUID();\n const {\n id = uid,\n items = [],\n mode = 'action',\n accent,\n scrollAt = 7,\n emptyText,\n onItemClick,\n onItemActive,\n onItemExpand,\n loadMore,\n onItemCollapse,\n loading = false,\n currentItemId,\n header,\n footer,\n variant = 'drill-down',\n focusControlEl,\n focusElOnClose = true,\n arrowNavigationUnsupported,\n 'aria-describedby': ariaDescribedBy,\n ...restProps\n } = props;\n\n const t = useI18n();\n\n const { end: endDirection, start: startDirection } = useDirection();\n const radioName = useUID();\n const menuRef = useConsolidatedRef(ref);\n const previousItemCount = useRef(0);\n const [activeDescendantUpdateId, setActiveDescendantUpdateId] = useState(0);\n const [focusDescendant, setFocusDescendant] = useState<HTMLElement | null>(null);\n const [flyOutActiveIdStack, setFlyoutActiveIdStack] = useState([id]);\n const [focusReturnEl, setFocusReturnEl] = useState<HTMLElement | null>();\n const [preventInitialScroll, setPreventInitialScroll] = useState(false);\n const activeFlyoutSelector = useMemo(\n () =>\n `fieldset[data-flyout-menu-id=\"${flyOutActiveIdStack[flyOutActiveIdStack.length - 1]}\"]`,\n [flyOutActiveIdStack]\n );\n const focusControl = useMemo(() => {\n return focusControlEl || menuRef.current;\n }, [focusControlEl, menuRef.current]);\n\n const pushFlyoutId = useCallback(\n (flyoutId: string) => {\n setFlyoutActiveIdStack([...flyOutActiveIdStack, flyoutId]);\n },\n [flyOutActiveIdStack]\n );\n\n const getScopedItemId = useCallback(\n (itemId: string) => {\n return `${id}-item-${itemId}`;\n },\n [id]\n );\n\n const getUnscopedItemId = useCallback(\n (itemId: string) => {\n return itemId.split(`${id}-item-`)[1];\n },\n [id]\n );\n\n const updateActiveDescendants: MenuContextProps['updateActiveDescendants'] = useCallback(\n ({ preventScroll = false } = {}) => {\n setPreventInitialScroll(preventScroll);\n setActiveDescendantUpdateId(Math.random());\n },\n []\n );\n\n const uadConfig = useMemo(\n () => ({\n focusEl: focusControl,\n scope: menuRef.current,\n scopeSelector:\n variant === 'drill-down'\n ? ('fieldset[aria-hidden=\"false\"]' as keyof HTMLElementTagNameMap)\n : activeFlyoutSelector,\n selector: '[role=\"menuitem\"], legend button' as keyof HTMLElementTagNameMap,\n focusDescendantEl: focusDescendant,\n clearFocusDescendant: () => {\n setFocusDescendant(null);\n if (focusElOnClose) focusControl?.focus();\n },\n focusReturnEl,\n clearFocusReturn: () => {\n setFocusReturnEl(null);\n },\n currentDescendantId: currentItemId ? getScopedItemId(currentItemId) : undefined,\n preventInitialScroll,\n clearPreventScroll: () => {\n setPreventInitialScroll(false);\n }\n }),\n [\n focusControl,\n menuRef.current,\n activeFlyoutSelector,\n focusReturnEl,\n focusDescendant,\n currentItemId,\n preventInitialScroll\n ]\n );\n\n const { activeDescendant, descendants } = useActiveDescendant(uadConfig, [\n activeDescendantUpdateId\n ]);\n\n const previousActiveDescendant = usePrevious(activeDescendant);\n\n useLazyDescendant({\n loading,\n descendants,\n previousActiveDescendant,\n activeDescendant,\n focusReturnEl,\n setFocusReturnEl,\n scrollEl: uadConfig.scope?.querySelector(uadConfig.scopeSelector)?.querySelector('ul')\n });\n\n // ## Bind Menu-specific navigation keyDown.\n useEffect(() => {\n const expandOrCollapse: (action?: 'collapse' | 'expand' | null) => void = (action = null) => {\n if (activeDescendant) {\n // expand\n if (activeDescendant.dataset.expand === 'true' && action !== 'collapse') {\n (activeDescendant!.querySelector('button') as HTMLElement)?.click();\n\n return;\n }\n\n // collapse\n if (activeDescendant.dataset.collapse === 'true' && action !== 'expand') {\n activeDescendant.click();\n }\n }\n };\n\n const additionalKeydown = (e: KeyboardEvent) => {\n switch (e.key) {\n case `Arrow${cap(endDirection)}`: {\n if (arrowNavigationUnsupported) break;\n expandOrCollapse('expand');\n break;\n }\n case `Arrow${cap(startDirection)}`: {\n if (arrowNavigationUnsupported) break;\n expandOrCollapse('collapse');\n break;\n }\n case 'Escape': {\n if (variant === 'flyout' && flyOutActiveIdStack.length > 1) {\n e.preventDefault();\n e.stopPropagation();\n\n const newStack = [...flyOutActiveIdStack];\n newStack.pop();\n setFlyoutActiveIdStack(newStack);\n }\n break;\n }\n default:\n break;\n }\n\n if (arrowNavigationUnsupported && (e.key === ' ' || e.key === 'Spacebar') && e.shiftKey) {\n e.preventDefault();\n expandOrCollapse();\n }\n };\n\n if (activeDescendant) onItemActive?.(getUnscopedItemId(activeDescendant.id));\n\n focusControl?.addEventListener('keydown', additionalKeydown);\n\n return () => focusControl?.removeEventListener('keydown', additionalKeydown);\n }, [focusControl, activeDescendant]);\n\n // ## Update useActiveDescendant on change of items, not selection of items.\n useEffect(() => {\n // Next tick for DOM updates.\n setTimeout(() => {\n if (items.length === previousItemCount.current) {\n const previousDescendantIds = descendants?.map(node => node.id);\n const newDescendants = uadConfig.scope\n ?.querySelector(uadConfig.scopeSelector)\n ?.querySelectorAll(uadConfig.selector);\n\n if (!newDescendants) {\n updateActiveDescendants();\n return;\n }\n\n const scopedDescendants = Array.from(newDescendants);\n\n if (scopedDescendants?.length !== previousDescendantIds?.length) {\n updateActiveDescendants();\n return;\n }\n\n const itemsUnchanged = scopedDescendants.every(\n (node, index) => node.id === previousDescendantIds[index]\n );\n\n if (!itemsUnchanged) {\n updateActiveDescendants();\n }\n\n return;\n }\n\n previousItemCount.current = items.length;\n updateActiveDescendants();\n }, 0);\n }, [items]);\n\n const contextValue = useMemo(() => {\n return {\n componentId: id,\n mode,\n arrowNavigationUnsupported,\n onItemClick,\n onItemActive,\n onItemExpand,\n onItemCollapse,\n accent,\n scrollAt,\n emptyText,\n radioName,\n loadMore,\n loading,\n variant,\n focusControl,\n updateActiveDescendants,\n setFocusReturnEl,\n setFocusDescendant,\n getScopedItemId,\n pushFlyoutId,\n flyOutActiveIdStack\n };\n }, [\n id,\n mode,\n arrowNavigationUnsupported,\n onItemClick,\n onItemActive,\n onItemExpand,\n onItemCollapse,\n accent,\n scrollAt,\n emptyText,\n radioName,\n loadMore,\n loading,\n variant,\n focusControl,\n updateActiveDescendants,\n setFocusReturnEl,\n setFocusDescendant,\n getScopedItemId,\n pushFlyoutId,\n flyOutActiveIdStack\n ]);\n\n return (\n <StyledMenu\n id={id}\n role='menu'\n aria-describedby={!focusControlEl ? `${id}-menuDescription` : undefined}\n {...restProps}\n ref={menuRef}\n >\n {!focusControlEl && (\n <span id={`${id}-menuDescription`} hidden>\n {(`${t('menu_selection_instructions')} ` && ariaDescribedBy) || ''}\n </span>\n )}\n\n {header && <header>{header}</header>}\n\n <StyledMenuListWrapper>\n <MenuContext.Provider value={contextValue}>\n {variant === 'drill-down' ? (\n <MenuList items={items} />\n ) : (\n <FlyoutMenuList items={items} />\n )}\n </MenuContext.Provider>\n </StyledMenuListWrapper>\n {footer && <footer>{footer}</footer>}\n </StyledMenu>\n );\n }\n);\n\nexport default Menu;\n"]}
1
+ {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n forwardRef,\n FunctionComponent,\n PropsWithoutRef,\n useCallback,\n useEffect,\n useState,\n useRef,\n useMemo\n} from 'react';\n\nimport {\n useConsolidatedRef,\n useUID,\n useActiveDescendant,\n useLazyDescendant,\n useI18n,\n usePrevious,\n useDirection\n} from '../../hooks';\nimport { ForwardProps } from '../../types';\nimport { cap } from '../../utils';\nimport VisuallyHiddenText from '../VisuallyHiddenText';\n\nimport FlyoutMenuList from './FlyoutMenuList';\nimport MenuContext from './Menu.context';\nimport { StyledMenu, StyledMenuListWrapper } from './Menu.styles';\nimport { MenuContextProps, MenuProps } from './Menu.types';\nimport MenuList from './MenuList';\n\nconst Menu: FunctionComponent<MenuProps & ForwardProps> = forwardRef(\n (props: PropsWithoutRef<MenuProps>, ref: MenuProps['ref']) => {\n const uid = useUID();\n const {\n id = uid,\n items = [],\n mode = 'action',\n accent,\n scrollAt = 7,\n emptyText,\n onItemClick,\n onItemActive,\n onItemExpand,\n loadMore,\n onItemCollapse,\n loading = false,\n currentItemId,\n header,\n footer,\n variant = 'drill-down',\n focusControlEl,\n focusElOnClose = true,\n arrowNavigationUnsupported,\n 'aria-describedby': ariaDescribedBy,\n 'aria-label': label,\n role = 'menu',\n listId,\n pauseDescendantEvaluation,\n ...restProps\n } = props;\n\n const t = useI18n();\n\n const { end: endDirection, start: startDirection } = useDirection();\n const radioName = useUID();\n const menuRef = useConsolidatedRef(ref);\n const previousItemCount = useRef(0);\n const [activeDescendantUpdateId, setActiveDescendantUpdateId] = useState(0);\n const [focusDescendant, setFocusDescendant] = useState<HTMLElement | null>(null);\n const [flyOutActiveIdStack, setFlyoutActiveIdStack] = useState<string[]>([id]);\n const [focusReturnEl, setFocusReturnEl] = useState<HTMLElement | null>();\n const [preventInitialScroll, setPreventInitialScroll] = useState(false);\n const [flyoutFocusReturnStack, setFlyoutFocusReturnStack] = useState<(HTMLElement | null)[]>(\n []\n );\n\n const activeFlyoutSelector = useMemo(\n () =>\n `fieldset[data-flyout-menu-id=\"${flyOutActiveIdStack[flyOutActiveIdStack.length - 1]}\"]`,\n [flyOutActiveIdStack]\n );\n\n const focusControl = useMemo(() => {\n return focusControlEl || menuRef.current;\n }, [focusControlEl, menuRef.current]);\n\n const pushFlyoutId = useCallback(\n (flyoutId: string) => {\n setFlyoutActiveIdStack([...flyOutActiveIdStack, flyoutId]);\n },\n [flyOutActiveIdStack]\n );\n\n useEffect(() => {\n setFlyoutActiveIdStack([...flyOutActiveIdStack, id]);\n }, [id]);\n\n const updateParentDescendantStack = useCallback(\n (item: HTMLElement | null) => {\n setFlyoutFocusReturnStack([...flyoutFocusReturnStack, item]);\n },\n [flyoutFocusReturnStack]\n );\n\n const getScopedItemId = useCallback(\n (itemId: string) => {\n return `${id}-item-${itemId}`;\n },\n [id]\n );\n\n const getUnscopedItemId = useCallback(\n (itemId: string) => {\n return itemId.split(`${id}-item-`)[1];\n },\n [id]\n );\n\n const updateActiveDescendants: MenuContextProps['updateActiveDescendants'] = useCallback(\n ({ preventScroll = false } = {}) => {\n setPreventInitialScroll(preventScroll);\n setActiveDescendantUpdateId(Math.random());\n },\n []\n );\n\n const uadConfig = useMemo(\n () => ({\n focusEl: focusControl,\n scope: menuRef.current,\n scopeSelector:\n variant === 'drill-down'\n ? ('fieldset[aria-hidden=\"false\"]' as keyof HTMLElementTagNameMap)\n : activeFlyoutSelector,\n selector: `[role=\"${\n role === 'menu' ? 'menuitem' : 'option'\n }\"], legend button` as keyof HTMLElementTagNameMap,\n focusDescendantEl: focusDescendant,\n clearFocusDescendant: () => {\n setFocusDescendant(null);\n if (focusElOnClose) focusControl?.focus();\n },\n focusReturnEl,\n clearFocusReturn: () => {\n setFocusReturnEl(null);\n },\n currentDescendantId: currentItemId ? getScopedItemId(currentItemId) : undefined,\n preventInitialScroll,\n clearPreventScroll: () => {\n setPreventInitialScroll(false);\n },\n pauseDescendantEvaluation\n }),\n [\n focusControl,\n menuRef.current,\n activeFlyoutSelector,\n focusReturnEl,\n focusDescendant,\n currentItemId,\n preventInitialScroll,\n pauseDescendantEvaluation\n ]\n );\n\n const { activeDescendant, descendants } = useActiveDescendant(uadConfig, [\n activeDescendantUpdateId\n ]);\n\n const previousActiveDescendant = usePrevious(activeDescendant);\n\n useLazyDescendant({\n loading,\n descendants,\n previousActiveDescendant,\n activeDescendant,\n focusReturnEl,\n setFocusReturnEl,\n scrollEl: uadConfig.scope?.querySelector(uadConfig.scopeSelector)?.querySelector('ul')\n });\n\n // ## Bind Menu-specific navigation keyDown.\n useEffect(() => {\n const expandOrCollapse: (action?: 'collapse' | 'expand' | null) => void = (action = null) => {\n if (activeDescendant) {\n // expand\n if (activeDescendant.dataset.expand === 'true' && action !== 'collapse') {\n (activeDescendant!.querySelector('button') as HTMLElement)?.click();\n return;\n }\n\n // collapse\n if (action !== 'expand') {\n if (\n variant === 'flyout' &&\n flyOutActiveIdStack.length > 1 &&\n flyoutFocusReturnStack.length > 0\n ) {\n setFlyoutActiveIdStack([...flyOutActiveIdStack].slice(0, -1));\n\n const parentDescendant = flyoutFocusReturnStack.pop();\n if (parentDescendant !== undefined) setFocusReturnEl(parentDescendant);\n updateActiveDescendants();\n } else if (activeDescendant.dataset.collapse === 'true') activeDescendant.click();\n }\n }\n };\n\n const additionalKeydown = (e: KeyboardEvent) => {\n switch (e.key) {\n case `Arrow${cap(endDirection)}`: {\n if (arrowNavigationUnsupported) break;\n expandOrCollapse('expand');\n break;\n }\n case `Arrow${cap(startDirection)}`: {\n if (arrowNavigationUnsupported) break;\n expandOrCollapse('collapse');\n break;\n }\n case 'Escape': {\n if (\n variant === 'flyout' &&\n flyOutActiveIdStack.length > 1 &&\n flyoutFocusReturnStack.length > 0\n ) {\n e.preventDefault();\n e.stopPropagation();\n\n setFlyoutActiveIdStack([...flyOutActiveIdStack].slice(0, -1));\n const parentDescendant = flyoutFocusReturnStack.pop();\n if (parentDescendant !== undefined) setFocusReturnEl(parentDescendant);\n updateActiveDescendants();\n }\n break;\n }\n default:\n break;\n }\n\n if (arrowNavigationUnsupported && (e.key === ' ' || e.key === 'Spacebar') && e.shiftKey) {\n e.preventDefault();\n expandOrCollapse();\n }\n };\n\n if (activeDescendant) onItemActive?.(getUnscopedItemId(activeDescendant.id));\n\n focusControl?.addEventListener('keydown', additionalKeydown);\n\n return () => focusControl?.removeEventListener('keydown', additionalKeydown);\n }, [focusControl, activeDescendant, flyOutActiveIdStack]);\n\n // ## Update useActiveDescendant on change of items, not selection of items.\n useEffect(() => {\n // Next tick for DOM updates.\n const timeoutId = setTimeout(() => {\n if (items.length === previousItemCount.current) {\n const previousDescendantIds = descendants?.map(node => node.id);\n const newDescendants = uadConfig.scope\n ?.querySelector(uadConfig.scopeSelector)\n ?.querySelectorAll(uadConfig.selector);\n\n if (!newDescendants) {\n updateActiveDescendants();\n return;\n }\n\n const scopedDescendants = Array.from(newDescendants);\n\n if (scopedDescendants?.length !== previousDescendantIds?.length) {\n updateActiveDescendants();\n return;\n }\n\n const itemsUnchanged = scopedDescendants.every(\n (node, index) => node.id === previousDescendantIds[index]\n );\n\n if (!itemsUnchanged) {\n updateActiveDescendants();\n }\n\n return;\n }\n\n previousItemCount.current = items.length;\n updateActiveDescendants();\n }, 0);\n\n return () => clearTimeout(timeoutId);\n }, [items]);\n\n const contextValue = useMemo(() => {\n return {\n componentId: id,\n mode,\n arrowNavigationUnsupported,\n onItemClick,\n onItemActive,\n onItemExpand,\n onItemCollapse,\n accent,\n scrollAt,\n emptyText,\n radioName,\n loadMore,\n loading,\n variant,\n focusControl,\n updateActiveDescendants,\n setFocusReturnEl,\n setFocusDescendant,\n getScopedItemId,\n pushFlyoutId,\n flyOutActiveIdStack,\n updateParentDescendantStack\n };\n }, [\n id,\n mode,\n arrowNavigationUnsupported,\n onItemClick,\n onItemActive,\n onItemExpand,\n onItemCollapse,\n accent,\n scrollAt,\n emptyText,\n radioName,\n loadMore,\n loading,\n variant,\n focusControl,\n updateActiveDescendants,\n setFocusReturnEl,\n setFocusDescendant,\n getScopedItemId,\n pushFlyoutId,\n flyOutActiveIdStack,\n updateParentDescendantStack\n ]);\n\n return (\n <StyledMenu\n id={id}\n aria-describedby={!focusControlEl ? `${id}-menuDescription` : undefined}\n {...restProps}\n ref={menuRef}\n >\n {!focusControlEl && (\n <span id={`${id}-menuDescription`} hidden>\n {(`${t('menu_selection_instructions')} ` && ariaDescribedBy) || ''}\n </span>\n )}\n {label && <VisuallyHiddenText id={`${id}-menuLabel`}>{label}</VisuallyHiddenText>}\n\n {header && <header>{header}</header>}\n\n <StyledMenuListWrapper>\n <MenuContext.Provider value={contextValue}>\n {variant === 'drill-down' ? (\n <MenuList\n items={items}\n id={listId}\n menuRole={role}\n aria-labelledby={label ? `${id}-menuLabel` : undefined}\n />\n ) : (\n <FlyoutMenuList items={items} menuRole={role} />\n )}\n </MenuContext.Provider>\n </StyledMenuListWrapper>\n {footer && <footer>{footer}</footer>}\n </StyledMenu>\n );\n }\n);\n\nexport default Menu;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/Menu.styles.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,kBAAkB,qMAE9B,CAAC;AAEF,eAAO,MAAM,eAAe,2GA8D1B,CAAC;AAIH,eAAO,MAAM,cAAc;kBAA6B,OAAO;SA+C9D,CAAC;AAIF,eAAO,MAAM,eAAe,yGAW3B,CAAC;AAEF,eAAO,MAAM,sBAAsB,uGAElC,CAAC;AAEF,eAAO,MAAM,eAAe,wGAM1B,CAAC;AAIH,eAAO,MAAM,mBAAmB,wGAM9B,CAAC;AAIH,eAAO,MAAM,qBAAqB,yGAUhC,CAAC;AAIH,eAAO,MAAM,oBAAoB,4GAgD/B,CAAC;AAIH,eAAO,MAAM,cAAc,wGAiB1B,CAAC;AAIF,eAAO,MAAM,uBAAuB,8GAMlC,CAAC;AAIH,eAAO,MAAM,6BAA6B,8GAEzC,CAAC;AAEF,eAAO,MAAM,iBAAiB,wGAI7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,yGAqBjC,CAAC;AAIF,eAAO,MAAM,UAAU,yGAyCrB,CAAC"}
1
+ {"version":3,"file":"Menu.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/Menu.styles.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,kBAAkB,qMAE9B,CAAC;AAEF,eAAO,MAAM,eAAe,2GA8D1B,CAAC;AAIH,eAAO,MAAM,cAAc;kBAA6B,OAAO;SA+C9D,CAAC;AAIF,eAAO,MAAM,eAAe,yGAW3B,CAAC;AAEF,eAAO,MAAM,sBAAsB,uGAElC,CAAC;AAEF,eAAO,MAAM,eAAe,wGAM1B,CAAC;AAIH,eAAO,MAAM,mBAAmB,wGAM9B,CAAC;AAIH,eAAO,MAAM,qBAAqB,yGAUhC,CAAC;AAIH,eAAO,MAAM,oBAAoB,4GAgD/B,CAAC;AAIH,eAAO,MAAM,cAAc,wGAiB1B,CAAC;AAIF,eAAO,MAAM,uBAAuB,8GAOlC,CAAC;AAIH,eAAO,MAAM,6BAA6B,8GAEzC,CAAC;AAEF,eAAO,MAAM,iBAAiB,wGAI7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,yGAqBjC,CAAC;AAIF,eAAO,MAAM,UAAU,yGAyCrB,CAAC"}
@@ -9,6 +9,7 @@ import { tryCatch } from '../../utils';
9
9
  import { StyledText } from '../Text';
10
10
  import { StyledVisuallyHiddenText } from '../VisuallyHiddenText/VisuallyHiddenText';
11
11
  import Button from '../Button';
12
+ const listMaxHeight = '50vh';
12
13
  export const StyledExpandButton = styled(Button) `
13
14
  align-self: center;
14
15
  `;
@@ -211,7 +212,7 @@ export const StyledMenuList = styled.ul(({ theme }) => css `
211
212
  height: auto;
212
213
  }
213
214
 
214
- li:not(:first-child) > ${StyledMenuGroupHeader} {
215
+ li:not(:first-child):not([role='presentation']) > ${StyledMenuGroupHeader} {
215
216
  margin-block-start: ${theme.base.spacing};
216
217
  }
217
218
  `);
@@ -219,6 +220,7 @@ StyledMenuList.defaultProps = defaultThemeProp;
219
220
  export const StyledMenuListContainer = styled.fieldset(({ theme }) => {
220
221
  return css `
221
222
  background-color: ${theme.base.palette['primary-background']};
223
+ max-height: ${listMaxHeight};
222
224
  border: 0;
223
225
  border-radius: inherit;
224
226
  `;
@@ -236,7 +238,7 @@ export const StyledMenuListWrapper = styled.div(({ theme }) => css `
236
238
  position: relative;
237
239
  overflow: hidden;
238
240
  transition: height ${theme.base.animation.speed} ${theme.base.animation.timing.ease};
239
- max-height: 50vh;
241
+ max-height: ${listMaxHeight};
240
242
 
241
243
  & > fieldset:first-child {
242
244
  position: relative;
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.styles.js","sourceRoot":"","sources":["../../../src/components/Menu/Menu.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import { hideVisually, mix, readableColor, rgba } from 'polished';\nimport styled, { css } from 'styled-components';\n\nimport { defaultThemeProp } from '../../theme';\nimport { StyledEmptyState } from '../EmptyState';\nimport { StyledIcon } from '../Icon';\nimport { StyledGrid } from '../Grid';\nimport { StyledBareButton } from '../Button/BareButton';\nimport { tryCatch } from '../../utils';\nimport { StyledText } from '../Text';\nimport { StyledVisuallyHiddenText } from '../VisuallyHiddenText/VisuallyHiddenText';\nimport Button from '../Button';\n\nexport const StyledExpandButton = styled(Button)`\n align-self: center;\n`;\n\nexport const StyledItemLabel = styled.label(({ theme }) => {\n const hoverCheckColor = tryCatch(() =>\n rgba(\n theme.components['radio-check'][':checked']['background-color'],\n theme.base.transparency['transparent-5']\n )\n );\n\n const checkedBackground = theme.components['radio-check'][':checked']['background-color'];\n const checkedForeground = tryCatch(() => readableColor(checkedBackground));\n\n return css`\n padding: calc(0.5 * ${theme.base.spacing}) ${theme.base.spacing};\n cursor: pointer;\n\n &:hover {\n & > input[type='radio']:not(:checked) + ${StyledIcon} {\n color: ${hoverCheckColor};\n }\n\n & > input[type='checkbox'] + ${StyledIcon} {\n border-color: ${theme.components['form-control'][':hover']['border-color']};\n }\n }\n\n > ${StyledGrid} {\n flex-grow: 1;\n }\n\n > input {\n ${hideVisually}\n\n & + ${StyledIcon} {\n margin-inline-start: 0;\n flex-shrink: 0;\n }\n\n &[type='radio'] + ${StyledIcon} {\n color: transparent;\n }\n\n &[type='radio']:checked + ${StyledIcon} {\n color: ${checkedBackground};\n }\n\n &[type='checkbox'] + ${StyledIcon} {\n border: 0.0625rem solid ${theme.components['radio-check']['border-color']};\n border-radius: min(\n calc(${theme.base['border-radius']} * ${theme.components.checkbox['border-radius']}),\n 0.25rem\n );\n color: transparent;\n background-color: ${theme.components['radio-check']['background-color']};\n }\n\n &[type='checkbox']:checked + ${StyledIcon} {\n background-color: ${checkedBackground};\n border-color: ${theme.components['radio-check'][':checked']['border-color']};\n color: ${checkedForeground};\n }\n }\n `;\n});\n\nStyledItemLabel.defaultProps = defaultThemeProp;\n\nexport const StyledMenuItem = styled.li<{ isParentItem: boolean }>(\n ({ theme: { base, components }, isParentItem }) => {\n const activeColor = tryCatch(() =>\n mix(0.85, base.palette['primary-background'], base.palette.interactive)\n );\n const hoverColor = tryCatch(() =>\n mix(0.95, base.palette['primary-background'], base.palette.interactive)\n );\n\n return css`\n min-height: ${base['hit-area']['mouse-min']};\n\n @media (pointer: coarse) {\n min-height: ${base['hit-area']['finger-min']};\n }\n\n &:focus-within {\n background-color: ${activeColor};\n }\n\n &:hover:not([aria-disabled='true']) {\n background-color: ${hoverColor};\n }\n\n > button:first-child,\n > a:first-child {\n display: block;\n width: 100%;\n padding: calc(0.5 * ${base.spacing}) ${base.spacing};\n text-align: start;\n text-decoration: none;\n color: inherit;\n ${isParentItem &&\n css`\n padding-inline-start: calc(1.125rem + 2 * ${base.spacing});\n `}\n }\n\n &[aria-disabled='true'] {\n label,\n ${StyledBareButton} {\n background-color: ${components['form-control'][':disabled']['background-color']};\n opacity: ${base['disabled-opacity']};\n }\n }\n `;\n }\n);\n\nStyledMenuItem.defaultProps = defaultThemeProp;\n\nexport const StyledAncestors = styled.div`\n ${StyledIcon} {\n width: 1em;\n height: 1em;\n }\n\n & > ${StyledText} {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n`;\n\nexport const StyledVisibilityHidden = styled.p`\n ${hideVisually}\n`;\n\nexport const StyledSeparator = styled.li(({ theme }) => {\n return css`\n height: 0.0625rem;\n background-color: ${theme.base.palette['border-line']};\n margin: ${theme.base.spacing} 0;\n `;\n});\n\nStyledSeparator.defaultProps = defaultThemeProp;\n\nexport const StyledMenuGroupList = styled.ul(({ theme }) => {\n return css`\n ${StyledMenuItem} button {\n padding-inline-start: calc(1.5 * ${theme.base.spacing});\n }\n `;\n});\n\nStyledMenuGroupList.defaultProps = defaultThemeProp;\n\nexport const StyledMenuGroupHeader = styled.div(({ theme }) => {\n return css`\n min-height: ${theme.base['hit-area']['mouse-min']};\n font-weight: ${theme.base['font-weight']['semi-bold']};\n background-color: ${theme.base.palette['secondary-background']};\n\n @media (pointer: coarse) {\n min-height: ${theme.base['hit-area']['finger-min']};\n }\n `;\n});\n\nStyledMenuGroupHeader.defaultProps = defaultThemeProp;\n\nexport const StyledMenuListHeader = styled.legend(({ theme: { base } }) => {\n const hoverColor = tryCatch(() =>\n mix(0.95, base.palette['primary-background'], base.palette.interactive)\n );\n const activeColor = tryCatch(() =>\n mix(0.85, base.palette['primary-background'], base.palette.interactive)\n );\n\n return css`\n width: 100%;\n background-color: ${base.palette['primary-background']};\n\n &:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n }\n\n &:last-child {\n border-bottom-left-radius: inherit;\n border-bottom-right-radius: inherit;\n }\n\n &:focus-within {\n box-shadow: inset ${base.shadow.focus};\n background-color: ${activeColor};\n }\n\n &:hover:not([aria-disabled='true']):not([data-current='true']) {\n background-color: ${hoverColor};\n }\n\n & > ${StyledBareButton}, & > button {\n color: ${base.palette['foreground-color']};\n width: 100%;\n padding: calc(0.5 * ${base.spacing}) ${base.spacing};\n text-align: start;\n border-radius: inherit;\n\n > ${StyledGrid} {\n grid-column-gap: ${base.spacing};\n }\n\n ${StyledIcon} {\n /* Fixes vertical align issue increasing box size beyond square */\n display: block;\n }\n }\n `;\n});\n\nStyledMenuListHeader.defaultProps = defaultThemeProp;\n\nexport const StyledMenuList = styled.ul(\n ({ theme }) => css`\n overflow-x: hidden;\n overflow-y: auto;\n list-style: none;\n height: 100%;\n border-radius: inherit;\n\n ${StyledEmptyState} {\n padding: ${theme.base.spacing};\n height: auto;\n }\n\n li:not(:first-child) > ${StyledMenuGroupHeader} {\n margin-block-start: ${theme.base.spacing};\n }\n `\n);\n\nStyledMenuList.defaultProps = defaultThemeProp;\n\nexport const StyledMenuListContainer = styled.fieldset(({ theme }) => {\n return css`\n background-color: ${theme.base.palette['primary-background']};\n border: 0;\n border-radius: inherit;\n `;\n});\n\nStyledMenuListContainer.defaultProps = defaultThemeProp;\n\nexport const StyledFlyoutMenuListContainer = styled(StyledMenuListContainer)`\n min-width: 10rem;\n`;\n\nexport const StyledLoadingItem = styled.li`\n display: block;\n position: relative;\n height: 2.8rem;\n`;\n\nexport const StyledMenuListWrapper = styled.div(\n ({ theme }) => css`\n position: relative;\n overflow: hidden;\n transition: height ${theme.base.animation.speed} ${theme.base.animation.timing.ease};\n max-height: 50vh;\n\n & > fieldset:first-child {\n position: relative;\n }\n\n &:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n }\n\n &:last-child {\n border-bottom-left-radius: inherit;\n border-bottom-right-radius: inherit;\n }\n `\n);\n\nStyledMenuListWrapper.defaultProps = defaultThemeProp;\n\nexport const StyledMenu = styled.div(({ theme }) => {\n const borderStyle = `0.0625rem solid ${theme.base.palette['border-line']}`;\n const activeColor = tryCatch(() =>\n mix(0.85, theme.base.palette['primary-background'], theme.base.palette.interactive)\n );\n\n return css`\n &:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n }\n\n &:last-child {\n border-bottom-left-radius: inherit;\n border-bottom-right-radius: inherit;\n }\n\n &[data-active-scope='true'] [data-current='true'] {\n background-color: ${activeColor};\n }\n\n ${StyledVisuallyHiddenText}:first-child {\n + ${StyledMenuListWrapper}, + header {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n }\n }\n\n > header,\n > footer {\n padding: ${theme.base.spacing};\n }\n\n > header {\n border-bottom: ${borderStyle};\n }\n\n > footer {\n border-top: ${borderStyle};\n }\n `;\n});\n\nStyledMenu.defaultProps = defaultThemeProp;\n"]}
1
+ {"version":3,"file":"Menu.styles.js","sourceRoot":"","sources":["../../../src/components/Menu/Menu.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import { hideVisually, mix, readableColor, rgba } from 'polished';\nimport styled, { css } from 'styled-components';\n\nimport { defaultThemeProp } from '../../theme';\nimport { StyledEmptyState } from '../EmptyState';\nimport { StyledIcon } from '../Icon';\nimport { StyledGrid } from '../Grid';\nimport { StyledBareButton } from '../Button/BareButton';\nimport { tryCatch } from '../../utils';\nimport { StyledText } from '../Text';\nimport { StyledVisuallyHiddenText } from '../VisuallyHiddenText/VisuallyHiddenText';\nimport Button from '../Button';\n\nconst listMaxHeight = '50vh';\n\nexport const StyledExpandButton = styled(Button)`\n align-self: center;\n`;\n\nexport const StyledItemLabel = styled.label(({ theme }) => {\n const hoverCheckColor = tryCatch(() =>\n rgba(\n theme.components['radio-check'][':checked']['background-color'],\n theme.base.transparency['transparent-5']\n )\n );\n\n const checkedBackground = theme.components['radio-check'][':checked']['background-color'];\n const checkedForeground = tryCatch(() => readableColor(checkedBackground));\n\n return css`\n padding: calc(0.5 * ${theme.base.spacing}) ${theme.base.spacing};\n cursor: pointer;\n\n &:hover {\n & > input[type='radio']:not(:checked) + ${StyledIcon} {\n color: ${hoverCheckColor};\n }\n\n & > input[type='checkbox'] + ${StyledIcon} {\n border-color: ${theme.components['form-control'][':hover']['border-color']};\n }\n }\n\n > ${StyledGrid} {\n flex-grow: 1;\n }\n\n > input {\n ${hideVisually}\n\n & + ${StyledIcon} {\n margin-inline-start: 0;\n flex-shrink: 0;\n }\n\n &[type='radio'] + ${StyledIcon} {\n color: transparent;\n }\n\n &[type='radio']:checked + ${StyledIcon} {\n color: ${checkedBackground};\n }\n\n &[type='checkbox'] + ${StyledIcon} {\n border: 0.0625rem solid ${theme.components['radio-check']['border-color']};\n border-radius: min(\n calc(${theme.base['border-radius']} * ${theme.components.checkbox['border-radius']}),\n 0.25rem\n );\n color: transparent;\n background-color: ${theme.components['radio-check']['background-color']};\n }\n\n &[type='checkbox']:checked + ${StyledIcon} {\n background-color: ${checkedBackground};\n border-color: ${theme.components['radio-check'][':checked']['border-color']};\n color: ${checkedForeground};\n }\n }\n `;\n});\n\nStyledItemLabel.defaultProps = defaultThemeProp;\n\nexport const StyledMenuItem = styled.li<{ isParentItem: boolean }>(\n ({ theme: { base, components }, isParentItem }) => {\n const activeColor = tryCatch(() =>\n mix(0.85, base.palette['primary-background'], base.palette.interactive)\n );\n const hoverColor = tryCatch(() =>\n mix(0.95, base.palette['primary-background'], base.palette.interactive)\n );\n\n return css`\n min-height: ${base['hit-area']['mouse-min']};\n\n @media (pointer: coarse) {\n min-height: ${base['hit-area']['finger-min']};\n }\n\n &:focus-within {\n background-color: ${activeColor};\n }\n\n &:hover:not([aria-disabled='true']) {\n background-color: ${hoverColor};\n }\n\n > button:first-child,\n > a:first-child {\n display: block;\n width: 100%;\n padding: calc(0.5 * ${base.spacing}) ${base.spacing};\n text-align: start;\n text-decoration: none;\n color: inherit;\n ${isParentItem &&\n css`\n padding-inline-start: calc(1.125rem + 2 * ${base.spacing});\n `}\n }\n\n &[aria-disabled='true'] {\n label,\n ${StyledBareButton} {\n background-color: ${components['form-control'][':disabled']['background-color']};\n opacity: ${base['disabled-opacity']};\n }\n }\n `;\n }\n);\n\nStyledMenuItem.defaultProps = defaultThemeProp;\n\nexport const StyledAncestors = styled.div`\n ${StyledIcon} {\n width: 1em;\n height: 1em;\n }\n\n & > ${StyledText} {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n`;\n\nexport const StyledVisibilityHidden = styled.p`\n ${hideVisually}\n`;\n\nexport const StyledSeparator = styled.li(({ theme }) => {\n return css`\n height: 0.0625rem;\n background-color: ${theme.base.palette['border-line']};\n margin: ${theme.base.spacing} 0;\n `;\n});\n\nStyledSeparator.defaultProps = defaultThemeProp;\n\nexport const StyledMenuGroupList = styled.ul(({ theme }) => {\n return css`\n ${StyledMenuItem} button {\n padding-inline-start: calc(1.5 * ${theme.base.spacing});\n }\n `;\n});\n\nStyledMenuGroupList.defaultProps = defaultThemeProp;\n\nexport const StyledMenuGroupHeader = styled.div(({ theme }) => {\n return css`\n min-height: ${theme.base['hit-area']['mouse-min']};\n font-weight: ${theme.base['font-weight']['semi-bold']};\n background-color: ${theme.base.palette['secondary-background']};\n\n @media (pointer: coarse) {\n min-height: ${theme.base['hit-area']['finger-min']};\n }\n `;\n});\n\nStyledMenuGroupHeader.defaultProps = defaultThemeProp;\n\nexport const StyledMenuListHeader = styled.legend(({ theme: { base } }) => {\n const hoverColor = tryCatch(() =>\n mix(0.95, base.palette['primary-background'], base.palette.interactive)\n );\n const activeColor = tryCatch(() =>\n mix(0.85, base.palette['primary-background'], base.palette.interactive)\n );\n\n return css`\n width: 100%;\n background-color: ${base.palette['primary-background']};\n\n &:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n }\n\n &:last-child {\n border-bottom-left-radius: inherit;\n border-bottom-right-radius: inherit;\n }\n\n &:focus-within {\n box-shadow: inset ${base.shadow.focus};\n background-color: ${activeColor};\n }\n\n &:hover:not([aria-disabled='true']):not([data-current='true']) {\n background-color: ${hoverColor};\n }\n\n & > ${StyledBareButton}, & > button {\n color: ${base.palette['foreground-color']};\n width: 100%;\n padding: calc(0.5 * ${base.spacing}) ${base.spacing};\n text-align: start;\n border-radius: inherit;\n\n > ${StyledGrid} {\n grid-column-gap: ${base.spacing};\n }\n\n ${StyledIcon} {\n /* Fixes vertical align issue increasing box size beyond square */\n display: block;\n }\n }\n `;\n});\n\nStyledMenuListHeader.defaultProps = defaultThemeProp;\n\nexport const StyledMenuList = styled.ul(\n ({ theme }) => css`\n overflow-x: hidden;\n overflow-y: auto;\n list-style: none;\n height: 100%;\n border-radius: inherit;\n\n ${StyledEmptyState} {\n padding: ${theme.base.spacing};\n height: auto;\n }\n\n li:not(:first-child):not([role='presentation']) > ${StyledMenuGroupHeader} {\n margin-block-start: ${theme.base.spacing};\n }\n `\n);\n\nStyledMenuList.defaultProps = defaultThemeProp;\n\nexport const StyledMenuListContainer = styled.fieldset(({ theme }) => {\n return css`\n background-color: ${theme.base.palette['primary-background']};\n max-height: ${listMaxHeight};\n border: 0;\n border-radius: inherit;\n `;\n});\n\nStyledMenuListContainer.defaultProps = defaultThemeProp;\n\nexport const StyledFlyoutMenuListContainer = styled(StyledMenuListContainer)`\n min-width: 10rem;\n`;\n\nexport const StyledLoadingItem = styled.li`\n display: block;\n position: relative;\n height: 2.8rem;\n`;\n\nexport const StyledMenuListWrapper = styled.div(\n ({ theme }) => css`\n position: relative;\n overflow: hidden;\n transition: height ${theme.base.animation.speed} ${theme.base.animation.timing.ease};\n max-height: ${listMaxHeight};\n\n & > fieldset:first-child {\n position: relative;\n }\n\n &:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n }\n\n &:last-child {\n border-bottom-left-radius: inherit;\n border-bottom-right-radius: inherit;\n }\n `\n);\n\nStyledMenuListWrapper.defaultProps = defaultThemeProp;\n\nexport const StyledMenu = styled.div(({ theme }) => {\n const borderStyle = `0.0625rem solid ${theme.base.palette['border-line']}`;\n const activeColor = tryCatch(() =>\n mix(0.85, theme.base.palette['primary-background'], theme.base.palette.interactive)\n );\n\n return css`\n &:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n }\n\n &:last-child {\n border-bottom-left-radius: inherit;\n border-bottom-right-radius: inherit;\n }\n\n &[data-active-scope='true'] [data-current='true'] {\n background-color: ${activeColor};\n }\n\n ${StyledVisuallyHiddenText}:first-child {\n + ${StyledMenuListWrapper}, + header {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n }\n }\n\n > header,\n > footer {\n padding: ${theme.base.spacing};\n }\n\n > header {\n border-bottom: ${borderStyle};\n }\n\n > footer {\n border-top: ${borderStyle};\n }\n `;\n});\n\nStyledMenu.defaultProps = defaultThemeProp;\n"]}
@@ -1,6 +1,7 @@
1
1
  import { Dispatch, ReactNode, Ref, RefObject, SetStateAction, MouseEvent } from 'react';
2
2
  import { BaseProps, NoChildrenProp, OmitStrict, PropsWithDefaults } from '../../types';
3
3
  import { MetaListProps } from '../MetaList';
4
+ import type { UseActiveDescendantConfig } from '../../hooks';
4
5
  export declare type AcceptedMouseEventElement = HTMLButtonElement | HTMLAnchorElement | HTMLInputElement;
5
6
  export interface MenuItemProps extends MenuObjectProps {
6
7
  /** The primary piece of item information as a string. */
@@ -36,12 +37,15 @@ export interface MenuItemProps extends MenuObjectProps {
36
37
  onExpand?: MenuItemProps['onClick'];
37
38
  /** Determines if the MenuItem will be disabled. */
38
39
  disabled?: boolean;
40
+ role?: 'menuitem' | 'option';
39
41
  }
40
42
  export interface MenuGroupProps extends MenuObjectProps {
41
43
  /** Label of the group. */
42
44
  label: string;
43
45
  /** An array of MenuItemProps children. */
44
46
  items: MenuItemProps[];
47
+ /** List-like role to apply to group items. */
48
+ itemRole?: MenuItemProps['role'];
45
49
  }
46
50
  export declare type ParentMenuItemProps = MenuItemProps & {
47
51
  items: NonNullable<MenuItemProps['items']>;
@@ -58,6 +62,7 @@ export interface MenuObjectProps {
58
62
  }
59
63
  export interface MenuListProps {
60
64
  items: ParentMenuItemProps['items'];
65
+ id?: string;
61
66
  ref?: Ref<HTMLFieldSetElement>;
62
67
  parent?: {
63
68
  el: HTMLFieldSetElement;
@@ -66,16 +71,20 @@ export interface MenuListProps {
66
71
  setExpandedItem: Dispatch<SetStateAction<ParentMenuItemProps | undefined>>;
67
72
  returnFocusRef: RefObject<HTMLButtonElement>;
68
73
  };
74
+ menuRole?: 'menu' | 'listbox';
69
75
  }
70
76
  export interface MenuProps extends BaseProps, NoChildrenProp {
71
77
  /** An array of MenuItemProps. */
72
78
  items: (MenuItemProps | MenuGroupProps)[];
79
+ /** ID placed on the menu's list element. */
80
+ listId?: string;
73
81
  /**
74
82
  * Indicates intent for the menu.
75
83
  * As of now item types can not be mixed.
76
84
  * @default "action"
77
85
  */
78
86
  mode?: 'action' | 'multi-select' | 'single-select';
87
+ role?: 'menu' | 'listbox';
79
88
  /**
80
89
  * Always recommended to go for default drill-down variant for better accessibility.
81
90
  * When flyout variant is selected, its recommended not to have more than 1 nested level
@@ -144,6 +153,8 @@ export interface MenuProps extends BaseProps, NoChildrenProp {
144
153
  header?: ReactNode;
145
154
  /** Footer region. */
146
155
  footer?: ReactNode;
156
+ /** Pauses evaluation of menu active descendants while true */
157
+ pauseDescendantEvaluation?: UseActiveDescendantConfig['pauseDescendantEvaluation'];
147
158
  /**
148
159
  * Flag to indicate that Right/Left arrow navigation for expand/collapse parent items is not available.
149
160
  * Will accept enter if not selectable parent, otherwise falls back to shift + space.
@@ -153,6 +164,8 @@ export interface MenuProps extends BaseProps, NoChildrenProp {
153
164
  * Additional information to announce to screen reader users. Read before menu navigation instructions.
154
165
  */
155
166
  'aria-describedby'?: string;
167
+ /** Label for menu or listbox element */
168
+ 'aria-label'?: string;
156
169
  }
157
170
  declare type MenuPropsWithDefaults = PropsWithDefaults<MenuProps, 'mode' | 'variant' | 'scrollAt' | 'loading'>;
158
171
  export interface MenuContextProps extends OmitStrict<MenuPropsWithDefaults, 'ref' | 'items'> {
@@ -167,6 +180,7 @@ export interface MenuContextProps extends OmitStrict<MenuPropsWithDefaults, 'ref
167
180
  setFocusDescendant: Dispatch<SetStateAction<HTMLElement | null>>;
168
181
  setFocusReturnEl: Dispatch<SetStateAction<HTMLElement | null | undefined>>;
169
182
  getScopedItemId: (itemId: string) => string;
183
+ updateParentDescendantStack?: (item: HTMLElement | null) => void;
170
184
  }
171
185
  export interface NavItemsListProps {
172
186
  listRef: RefObject<HTMLUListElement>;
@@ -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, NoChildrenProp, 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, NoChildrenProp {\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 * @deprecated\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"]}
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, NoChildrenProp, OmitStrict, PropsWithDefaults } from '../../types';\nimport { MetaListProps } from '../MetaList';\nimport type { UseActiveDescendantConfig } from '../../hooks';\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 role?: 'menuitem' | 'option';\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 /** List-like role to apply to group items. */\n itemRole?: MenuItemProps['role'];\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 id?: string;\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 menuRole?: 'menu' | 'listbox';\n}\n\nexport interface MenuProps extends BaseProps, NoChildrenProp {\n /** An array of MenuItemProps. */\n items: (MenuItemProps | MenuGroupProps)[];\n /** ID placed on the menu's list element. */\n listId?: string;\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 role?: 'menu' | 'listbox';\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 * @deprecated\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 /** Pauses evaluation of menu active descendants while true */\n pauseDescendantEvaluation?: UseActiveDescendantConfig['pauseDescendantEvaluation'];\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 /** Label for menu or listbox element */\n 'aria-label'?: 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 updateParentDescendantStack?: (item: HTMLElement | null) => void;\n}\n\nexport interface NavItemsListProps {\n listRef: RefObject<HTMLUListElement>;\n cycle?: boolean;\n}\n"]}
@@ -1 +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"}
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,CA0B/D,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -5,12 +5,12 @@ import Flex from '../Flex';
5
5
  import MenuContext from './Menu.context';
6
6
  import { StyledMenuGroupHeader, StyledMenuGroupList } from './Menu.styles';
7
7
  import MenuItem from './MenuItem';
8
- const MenuGroup = ({ id, label, items }) => {
8
+ const MenuGroup = ({ id, label, items, itemRole }) => {
9
9
  const { componentId } = useContext(MenuContext);
10
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 }), _jsx(StyledMenuGroupList, { role: 'group', "aria-labelledby": `#${groupId}`, children: items.length > 0 &&
11
+ return (_jsxs("li", { role: 'presentation', children: [_jsx(Flex, { container: { alignItems: 'center', pad: [0.5, 1] }, as: StyledMenuGroupHeader, id: groupId, children: label }), _jsx(StyledMenuGroupList, { role: 'group', "aria-labelledby": groupId, children: items.length > 0 &&
12
12
  items.map(item => {
13
- return _createElement(MenuItem, { ...item, key: item.id });
13
+ return _createElement(MenuItem, { ...item, key: item.id, role: itemRole ?? 'menuitem' });
14
14
  }) })] }));
15
15
  };
16
16
  export default MenuGroup;
@@ -1 +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,GACD,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,GACgB,IACnB,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
+ {"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,EACL,QAAQ,EACsB,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,cAAI,IAAI,EAAC,cAAc,aACrB,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,GACD,EACP,KAAC,mBAAmB,IAAC,IAAI,EAAC,OAAO,qBAAkB,OAAO,YACvD,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,EAAE,IAAI,EAAE,QAAQ,IAAI,UAAU,GAAI,CAAC;oBAC5E,CAAC,CAAC,GACgB,IACnB,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 itemRole\n}: MenuGroupProps & ForwardProps) => {\n const { componentId } = useContext(MenuContext);\n\n const groupId = `${componentId}-${id}`;\n return (\n <li role='presentation'>\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} role={itemRole ?? 'menuitem'} />;\n })}\n </StyledMenuGroupList>\n </li>\n );\n};\n\nexport default MenuGroup;\n"]}
@@ -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;AAIf,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAe3C,OAAO,EAA6B,aAAa,EAAE,MAAM,cAAc,CAAC;AAmDxE,QAAA,MAAM,QAAQ,EAAE,iBAAiB,CAAC,aAAa,GAAG,YAAY,CA8P7D,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;AAe3C,OAAO,EAA6B,aAAa,EAAE,MAAM,cAAc,CAAC;AAmDxE,QAAA,MAAM,QAAQ,EAAE,iBAAiB,CAAC,aAAa,GAAG,YAAY,CA2P7D,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -27,7 +27,7 @@ const AncestorPath = ({ ancestors = [] }) => {
27
27
  return (_jsxs(Fragment, { children: [_jsx(Text, { variant: 'secondary', children: label }), i < arr.length - 1 && (_jsxs(_Fragment, { children: [_jsx(Text, { variant: 'secondary', children: _jsx(Icon, { name: `caret-${end}` }) }), truncatedPath && (_jsxs(_Fragment, { children: [_jsx(Text, { variant: 'secondary', children: "\u2026" }), _jsx(Text, { variant: 'secondary', children: _jsx(Icon, { name: `caret-${end}` }) })] }))] }))] }, label));
28
28
  }) }));
29
29
  };
30
- const MenuItem = ({ id, primary, secondary, ancestors, visual, count, items, selected, partial, href, tooltip, onClick, onExpand, disabled, ...restProps }) => {
30
+ const MenuItem = ({ id, primary, secondary, ancestors, visual, count, items, selected, partial, href, tooltip, onClick, onExpand, disabled, role = 'menuitem', ...restProps }) => {
31
31
  const t = useI18n();
32
32
  const { mode, onItemClick, accent, radioName, variant: menuVariant, setFocusDescendant, getScopedItemId, arrowNavigationUnsupported } = useContext(MenuContext);
33
33
  const previouslySelected = usePrevious(selected);
@@ -41,9 +41,7 @@ const MenuItem = ({ id, primary, secondary, ancestors, visual, count, items, sel
41
41
  const mouseClick = e.detail !== 0;
42
42
  if (mouseClick) {
43
43
  const target = e.target;
44
- const focusAtEl = target.getAttribute('role') === 'menuitem'
45
- ? target
46
- : target.closest('li[role="menuitem"]');
44
+ const focusAtEl = target.getAttribute('role') === role ? target : target.closest(`li[role="${role}"]`);
47
45
  if (focusAtEl)
48
46
  setFocusDescendant(focusAtEl);
49
47
  }
@@ -58,11 +56,9 @@ const MenuItem = ({ id, primary, secondary, ancestors, visual, count, items, sel
58
56
  let accentedPrimary;
59
57
  if (accent && !items) {
60
58
  const accentRegex = typeof accent === 'function' ? accent(primary) : accent;
61
- const accentedArr = replaceMatchWithElement(primary, accentRegex, str => {
59
+ accentedPrimary = replaceMatchWithElement(primary, accentRegex, str => {
62
60
  return _jsx(Mark, { children: str });
63
61
  });
64
- if (accentedArr.length > 1)
65
- accentedPrimary = accentedArr;
66
62
  }
67
63
  const secondaryContent = ancestors ? (_jsx(AncestorPath, { ancestors: ancestors })) : (secondary && _jsx(MetaList, { items: secondary, id: secondaryId, wrapItems: false }));
68
64
  const [summaryItemRef, setSummaryItemRef] = useElement();
@@ -112,7 +108,7 @@ const MenuItem = ({ id, primary, secondary, ancestors, visual, count, items, sel
112
108
  return '';
113
109
  return `${selected ? t('selected_noun', [primary]) : t('deselected_noun', [primary])}`;
114
110
  }, [selected]);
115
- 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) => {
111
+ return (_jsxs(Flex, { ...restProps, container: { alignItems: 'stretch', justify: 'between' }, id: itemId, as: StyledMenuItem, "aria-label": itemLabel, "aria-describedby": describedBy, isParentItem: isParentItem, role: role, "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) => {
116
112
  e.preventDefault();
117
113
  },
118
114
  // https://stackoverflow.com/questions/32958091/how-to-prevent-clicking-on-a-checkboxs-label-from-stealing-focus
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.js","sourceRoot":"","sources":["../../../src/components/Menu/MenuItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Fragment,\n FunctionComponent,\n KeyboardEvent,\n MouseEvent,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useMemo\n} from 'react';\n\nimport MetaList from '../MetaList';\nimport SummaryItem from '../SummaryItem';\nimport { ForwardProps } from '../../types';\nimport Flex from '../Flex';\nimport Icon, { registerIcon } from '../Icon';\nimport * as caretLeftIcon from '../Icon/icons/caret-left.icon';\nimport * as caretRightIcon from '../Icon/icons/caret-right.icon';\nimport * as checkIcon from '../Icon/icons/check.icon';\nimport Text from '../Text';\nimport { Count } from '../Badges';\nimport BareButton from '../Button/BareButton';\nimport { replaceMatchWithElement } from '../../utils';\nimport { useElement, useI18n, usePrevious, useDirection } from '../../hooks';\nimport Tooltip from '../Tooltip';\nimport Mark from '../Mark';\n\nimport menuHelpers from './helpers';\nimport { AcceptedMouseEventElement, MenuItemProps } from './Menu.types';\nimport MenuContext from './Menu.context';\nimport {\n StyledAncestors,\n StyledExpandButton,\n StyledItemLabel,\n StyledMenuItem,\n StyledVisibilityHidden\n} from './Menu.styles';\n\nregisterIcon(caretLeftIcon, caretRightIcon, checkIcon);\n\nconst AncestorPath = ({ ancestors = [] }: Pick<MenuItemProps, 'ancestors'>) => {\n const truncatedPath = ancestors.length > 2;\n const pathParts = truncatedPath ? [ancestors[0], ancestors[ancestors.length - 1]] : ancestors;\n\n const { end } = useDirection();\n\n return (\n <Flex\n container={{ gap: 0.5, alignItems: 'center' }}\n as={StyledAncestors}\n title={ancestors.map(a => (menuHelpers.isItem(a) ? a.primary : a.label)).join(' > ')}\n >\n {pathParts.map((ancestor, i, arr) => {\n const label = menuHelpers.isItem(ancestor) ? ancestor.primary : ancestor.label;\n return (\n <Fragment key={label}>\n <Text variant='secondary'>{label}</Text>\n {i < arr.length - 1 && (\n <>\n <Text variant='secondary'>\n <Icon name={`caret-${end}`} />\n </Text>\n {truncatedPath && (\n <>\n <Text variant='secondary'>…</Text>\n <Text variant='secondary'>\n <Icon name={`caret-${end}`} />\n </Text>\n </>\n )}\n </>\n )}\n </Fragment>\n );\n })}\n </Flex>\n );\n};\n\nconst MenuItem: FunctionComponent<MenuItemProps & ForwardProps> = ({\n id,\n primary,\n secondary,\n ancestors,\n visual,\n count,\n items,\n selected,\n partial,\n href,\n tooltip,\n onClick,\n onExpand,\n disabled,\n ...restProps\n}: MenuItemProps & ForwardProps) => {\n const t = useI18n();\n const {\n mode,\n onItemClick,\n accent,\n radioName,\n variant: menuVariant,\n setFocusDescendant,\n getScopedItemId,\n arrowNavigationUnsupported\n } = useContext(MenuContext);\n const previouslySelected = usePrevious(selected);\n const selectionMode = mode === 'single-select' || mode === 'multi-select';\n const isParentItem = useMemo(() => selectionMode && items, [selectionMode, items]);\n const selectableParent = isParentItem && typeof selected === 'boolean';\n const inputRef = useRef<HTMLInputElement>(null);\n const itemId = useMemo(() => getScopedItemId(id), [id, getScopedItemId]);\n const { end } = useDirection();\n\n const clickHandler = useCallback(\n (e: MouseEvent<AcceptedMouseEventElement>) => {\n const mouseClick = e.detail !== 0;\n\n if (mouseClick) {\n const target = e.target as HTMLElement;\n const focusAtEl =\n target.getAttribute('role') === 'menuitem'\n ? target\n : target.closest('li[role=\"menuitem\"]');\n\n if (focusAtEl) setFocusDescendant(focusAtEl as HTMLElement);\n }\n\n onClick?.(id, e);\n onItemClick?.(id, e);\n },\n [onClick, onItemClick, id]\n );\n\n const expandHandler = useCallback(\n (e: MouseEvent<AcceptedMouseEventElement>) => {\n onExpand?.(id, e);\n },\n [onExpand, id]\n );\n\n const navigationInteractionId = `${id}-description`;\n const secondaryId = `${id}-secondary`;\n\n let accentedPrimary;\n if (accent && !items) {\n const accentRegex = typeof accent === 'function' ? accent(primary) : accent;\n const accentedArr = replaceMatchWithElement(primary, accentRegex, str => {\n return <Mark>{str}</Mark>;\n });\n\n if (accentedArr.length > 1) accentedPrimary = accentedArr;\n }\n\n const secondaryContent = ancestors ? (\n <AncestorPath ancestors={ancestors} />\n ) : (\n secondary && <MetaList items={secondary} id={secondaryId} wrapItems={false} />\n );\n\n const [summaryItemRef, setSummaryItemRef] = useElement();\n\n const summaryItem = (\n <>\n <SummaryItem\n ref={setSummaryItemRef}\n primary={accentedPrimary || (!items ? <Text>{primary}</Text> : primary)}\n secondary={secondaryContent}\n visual={visual}\n actions={\n (items && !selectableParent) || count ? (\n <Flex container={{ gap: 1 }}>\n <Count>{count ?? null}</Count>\n {items && !selectableParent && <Icon name={`caret-${end}`} />}\n </Flex>\n ) : undefined\n }\n container={{\n colGap: 1\n }}\n />\n {tooltip && (\n <Tooltip target={summaryItemRef} hideDelay='none' showDelay='none' portal>\n {tooltip}\n </Tooltip>\n )}\n </>\n );\n\n let InteractiveWrap;\n if (href) {\n InteractiveWrap = href ? 'a' : BareButton;\n } else if (mode === 'action' || items) {\n InteractiveWrap = BareButton;\n }\n\n const itemChild = InteractiveWrap ? (\n <InteractiveWrap\n onMouseDown={(e: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n e.preventDefault();\n }}\n onClick={items ? expandHandler : clickHandler}\n onMouseEnter={menuVariant === 'flyout' ? expandHandler : undefined}\n href={href}\n tabIndex='-1'\n disabled={disabled}\n >\n {summaryItem}\n </InteractiveWrap>\n ) : (\n summaryItem\n );\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = !!partial;\n }\n }, [partial]);\n\n const labelRef = useRef<HTMLLabelElement>(null);\n\n const itemLabel = useMemo(() => {\n const label = selected ? t('checked_noun', [primary]) : primary;\n\n return isParentItem ? t('expand_noun', [label]) : label;\n }, [selected, primary, isParentItem]);\n\n const describedBy = useMemo(() => {\n const hasItems = !!items;\n const hasSecondary = !!secondary;\n let idString = hasSecondary ? secondaryId : undefined;\n\n if (hasItems) {\n if (hasSecondary) idString = idString!.concat(`, ${navigationInteractionId}`);\n else idString = navigationInteractionId;\n }\n\n return idString;\n }, [items, secondary, navigationInteractionId, secondaryId]);\n\n const navigationInstructions = useMemo(() => {\n if (arrowNavigationUnsupported) {\n return t('menu_item_shift_space_expand_collapse');\n }\n\n return t('menu_item_expand_arrow');\n }, []);\n\n const interactionNotification = useMemo(() => {\n if (previouslySelected === undefined) return '';\n\n return `${selected ? t('selected_noun', [primary]) : t('deselected_noun', [primary])}`;\n }, [selected]);\n\n return (\n <Flex\n {...restProps}\n container={{ alignItems: 'stretch', justify: 'between' }}\n id={itemId}\n as={StyledMenuItem}\n aria-label={itemLabel}\n aria-describedby={describedBy}\n isParentItem={isParentItem}\n role='menuitem'\n aria-disabled={disabled}\n data-expand={!!items}\n tabIndex='-1'\n >\n {selectionMode && typeof selected === 'boolean' ? (\n <>\n <Flex\n ref={labelRef}\n as={StyledItemLabel}\n container={{ alignItems: 'center', gap: 1 }}\n item={{ grow: 1 }}\n onMouseDown={(e: MouseEvent<HTMLLabelElement>) => {\n e.preventDefault();\n }}\n // https://stackoverflow.com/questions/32958091/how-to-prevent-clicking-on-a-checkboxs-label-from-stealing-focus\n onClick={(e: MouseEvent<HTMLLabelElement>) => {\n if (labelRef.current?.control !== e.target) {\n e.preventDefault();\n\n // Preserve detail property (lost with .click()).\n const event = new window.MouseEvent(e.nativeEvent.type, e.nativeEvent);\n labelRef.current?.control?.dispatchEvent(event);\n }\n }}\n >\n <input\n ref={inputRef}\n type={mode === 'single-select' ? 'radio' : 'checkbox'}\n name={mode === 'single-select' ? radioName : undefined}\n aria-label={primary}\n checked={!!selected}\n disabled={disabled}\n onClick={clickHandler as (e: MouseEvent<HTMLInputElement>) => void}\n onKeyDown={(e: KeyboardEvent<HTMLInputElement>) => {\n if (mode === 'single-select' && e.key === 'Enter') {\n e.currentTarget.click();\n }\n }}\n // no-op since React will complain about a controlled input without an onChange\n onChange={() => {}}\n onMouseDown={e => {\n e.preventDefault();\n }}\n tabIndex={-1}\n />\n {(mode === 'single-select' || mode === 'multi-select') && <Icon name='check' />}\n {summaryItem}\n </Flex>\n\n {isParentItem && (\n <StyledExpandButton icon variant='simple' onClick={expandHandler} tabIndex='-1'>\n <Icon name={`caret-${end}`} />\n </StyledExpandButton>\n )}\n </>\n ) : (\n itemChild\n )}\n\n {!!items && (\n <StyledVisibilityHidden id={navigationInteractionId}>\n {navigationInstructions}\n </StyledVisibilityHidden>\n )}\n\n <StyledVisibilityHidden role='alert'>{interactionNotification}</StyledVisibilityHidden>\n </Flex>\n );\n};\n\nexport default MenuItem;\n"]}
1
+ {"version":3,"file":"MenuItem.js","sourceRoot":"","sources":["../../../src/components/Menu/MenuItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Fragment,\n FunctionComponent,\n KeyboardEvent,\n MouseEvent,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useMemo\n} from 'react';\n\nimport MetaList from '../MetaList';\nimport SummaryItem from '../SummaryItem';\nimport { ForwardProps } from '../../types';\nimport Flex from '../Flex';\nimport Icon, { registerIcon } from '../Icon';\nimport * as caretLeftIcon from '../Icon/icons/caret-left.icon';\nimport * as caretRightIcon from '../Icon/icons/caret-right.icon';\nimport * as checkIcon from '../Icon/icons/check.icon';\nimport Text from '../Text';\nimport { Count } from '../Badges';\nimport BareButton from '../Button/BareButton';\nimport { replaceMatchWithElement } from '../../utils';\nimport { useElement, useI18n, usePrevious, useDirection } from '../../hooks';\nimport Tooltip from '../Tooltip';\nimport Mark from '../Mark';\n\nimport menuHelpers from './helpers';\nimport { AcceptedMouseEventElement, MenuItemProps } from './Menu.types';\nimport MenuContext from './Menu.context';\nimport {\n StyledAncestors,\n StyledExpandButton,\n StyledItemLabel,\n StyledMenuItem,\n StyledVisibilityHidden\n} from './Menu.styles';\n\nregisterIcon(caretLeftIcon, caretRightIcon, checkIcon);\n\nconst AncestorPath = ({ ancestors = [] }: Pick<MenuItemProps, 'ancestors'>) => {\n const truncatedPath = ancestors.length > 2;\n const pathParts = truncatedPath ? [ancestors[0], ancestors[ancestors.length - 1]] : ancestors;\n\n const { end } = useDirection();\n\n return (\n <Flex\n container={{ gap: 0.5, alignItems: 'center' }}\n as={StyledAncestors}\n title={ancestors.map(a => (menuHelpers.isItem(a) ? a.primary : a.label)).join(' > ')}\n >\n {pathParts.map((ancestor, i, arr) => {\n const label = menuHelpers.isItem(ancestor) ? ancestor.primary : ancestor.label;\n return (\n <Fragment key={label}>\n <Text variant='secondary'>{label}</Text>\n {i < arr.length - 1 && (\n <>\n <Text variant='secondary'>\n <Icon name={`caret-${end}`} />\n </Text>\n {truncatedPath && (\n <>\n <Text variant='secondary'>…</Text>\n <Text variant='secondary'>\n <Icon name={`caret-${end}`} />\n </Text>\n </>\n )}\n </>\n )}\n </Fragment>\n );\n })}\n </Flex>\n );\n};\n\nconst MenuItem: FunctionComponent<MenuItemProps & ForwardProps> = ({\n id,\n primary,\n secondary,\n ancestors,\n visual,\n count,\n items,\n selected,\n partial,\n href,\n tooltip,\n onClick,\n onExpand,\n disabled,\n role = 'menuitem',\n ...restProps\n}: MenuItemProps & ForwardProps) => {\n const t = useI18n();\n const {\n mode,\n onItemClick,\n accent,\n radioName,\n variant: menuVariant,\n setFocusDescendant,\n getScopedItemId,\n arrowNavigationUnsupported\n } = useContext(MenuContext);\n const previouslySelected = usePrevious(selected);\n const selectionMode = mode === 'single-select' || mode === 'multi-select';\n const isParentItem = useMemo(() => selectionMode && items, [selectionMode, items]);\n const selectableParent = isParentItem && typeof selected === 'boolean';\n const inputRef = useRef<HTMLInputElement>(null);\n const itemId = useMemo(() => getScopedItemId(id), [id, getScopedItemId]);\n const { end } = useDirection();\n\n const clickHandler = useCallback(\n (e: MouseEvent<AcceptedMouseEventElement>) => {\n const mouseClick = e.detail !== 0;\n\n if (mouseClick) {\n const target = e.target as HTMLElement;\n const focusAtEl =\n target.getAttribute('role') === role ? target : target.closest(`li[role=\"${role}\"]`);\n\n if (focusAtEl) setFocusDescendant(focusAtEl as HTMLElement);\n }\n\n onClick?.(id, e);\n onItemClick?.(id, e);\n },\n [onClick, onItemClick, id]\n );\n\n const expandHandler = useCallback(\n (e: MouseEvent<AcceptedMouseEventElement>) => {\n onExpand?.(id, e);\n },\n [onExpand, id]\n );\n\n const navigationInteractionId = `${id}-description`;\n const secondaryId = `${id}-secondary`;\n\n let accentedPrimary;\n if (accent && !items) {\n const accentRegex = typeof accent === 'function' ? accent(primary) : accent;\n accentedPrimary = replaceMatchWithElement(primary, accentRegex, str => {\n return <Mark>{str}</Mark>;\n });\n }\n\n const secondaryContent = ancestors ? (\n <AncestorPath ancestors={ancestors} />\n ) : (\n secondary && <MetaList items={secondary} id={secondaryId} wrapItems={false} />\n );\n\n const [summaryItemRef, setSummaryItemRef] = useElement();\n\n const summaryItem = (\n <>\n <SummaryItem\n ref={setSummaryItemRef}\n primary={accentedPrimary || (!items ? <Text>{primary}</Text> : primary)}\n secondary={secondaryContent}\n visual={visual}\n actions={\n (items && !selectableParent) || count ? (\n <Flex container={{ gap: 1 }}>\n <Count>{count ?? null}</Count>\n {items && !selectableParent && <Icon name={`caret-${end}`} />}\n </Flex>\n ) : undefined\n }\n container={{\n colGap: 1\n }}\n />\n {tooltip && (\n <Tooltip target={summaryItemRef} hideDelay='none' showDelay='none' portal>\n {tooltip}\n </Tooltip>\n )}\n </>\n );\n\n let InteractiveWrap;\n if (href) {\n InteractiveWrap = href ? 'a' : BareButton;\n } else if (mode === 'action' || items) {\n InteractiveWrap = BareButton;\n }\n\n const itemChild = InteractiveWrap ? (\n <InteractiveWrap\n onMouseDown={(e: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n e.preventDefault();\n }}\n onClick={items ? expandHandler : clickHandler}\n onMouseEnter={menuVariant === 'flyout' ? expandHandler : undefined}\n href={href}\n tabIndex='-1'\n disabled={disabled}\n >\n {summaryItem}\n </InteractiveWrap>\n ) : (\n summaryItem\n );\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = !!partial;\n }\n }, [partial]);\n\n const labelRef = useRef<HTMLLabelElement>(null);\n\n const itemLabel = useMemo(() => {\n const label = selected ? t('checked_noun', [primary]) : primary;\n\n return isParentItem ? t('expand_noun', [label]) : label;\n }, [selected, primary, isParentItem]);\n\n const describedBy = useMemo(() => {\n const hasItems = !!items;\n const hasSecondary = !!secondary;\n let idString = hasSecondary ? secondaryId : undefined;\n\n if (hasItems) {\n if (hasSecondary) idString = idString!.concat(`, ${navigationInteractionId}`);\n else idString = navigationInteractionId;\n }\n\n return idString;\n }, [items, secondary, navigationInteractionId, secondaryId]);\n\n const navigationInstructions = useMemo(() => {\n if (arrowNavigationUnsupported) {\n return t('menu_item_shift_space_expand_collapse');\n }\n\n return t('menu_item_expand_arrow');\n }, []);\n\n const interactionNotification = useMemo(() => {\n if (previouslySelected === undefined) return '';\n\n return `${selected ? t('selected_noun', [primary]) : t('deselected_noun', [primary])}`;\n }, [selected]);\n\n return (\n <Flex\n {...restProps}\n container={{ alignItems: 'stretch', justify: 'between' }}\n id={itemId}\n as={StyledMenuItem}\n aria-label={itemLabel}\n aria-describedby={describedBy}\n isParentItem={isParentItem}\n role={role}\n aria-disabled={disabled}\n data-expand={!!items}\n tabIndex='-1'\n >\n {selectionMode && typeof selected === 'boolean' ? (\n <>\n <Flex\n ref={labelRef}\n as={StyledItemLabel}\n container={{ alignItems: 'center', gap: 1 }}\n item={{ grow: 1 }}\n onMouseDown={(e: MouseEvent<HTMLLabelElement>) => {\n e.preventDefault();\n }}\n // https://stackoverflow.com/questions/32958091/how-to-prevent-clicking-on-a-checkboxs-label-from-stealing-focus\n onClick={(e: MouseEvent<HTMLLabelElement>) => {\n if (labelRef.current?.control !== e.target) {\n e.preventDefault();\n\n // Preserve detail property (lost with .click()).\n const event = new window.MouseEvent(e.nativeEvent.type, e.nativeEvent);\n labelRef.current?.control?.dispatchEvent(event);\n }\n }}\n >\n <input\n ref={inputRef}\n type={mode === 'single-select' ? 'radio' : 'checkbox'}\n name={mode === 'single-select' ? radioName : undefined}\n aria-label={primary}\n checked={!!selected}\n disabled={disabled}\n onClick={clickHandler as (e: MouseEvent<HTMLInputElement>) => void}\n onKeyDown={(e: KeyboardEvent<HTMLInputElement>) => {\n if (mode === 'single-select' && e.key === 'Enter') {\n e.currentTarget.click();\n }\n }}\n // no-op since React will complain about a controlled input without an onChange\n onChange={() => {}}\n onMouseDown={e => {\n e.preventDefault();\n }}\n tabIndex={-1}\n />\n {(mode === 'single-select' || mode === 'multi-select') && <Icon name='check' />}\n {summaryItem}\n </Flex>\n\n {isParentItem && (\n <StyledExpandButton icon variant='simple' onClick={expandHandler} tabIndex='-1'>\n <Icon name={`caret-${end}`} />\n </StyledExpandButton>\n )}\n </>\n ) : (\n itemChild\n )}\n\n {!!items && (\n <StyledVisibilityHidden id={navigationInteractionId}>\n {navigationInstructions}\n </StyledVisibilityHidden>\n )}\n\n <StyledVisibilityHidden role='alert'>{interactionNotification}</StyledVisibilityHidden>\n </Flex>\n );\n};\n\nexport default MenuItem;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuList.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/MenuList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAYlB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAW3C,OAAO,KAAK,EAEV,aAAa,EAGd,MAAM,cAAc,CAAC;AAsBtB,QAAA,MAAM,QAAQ,EAAE,iBAAiB,CAAC,aAAa,GAAG,YAAY,CAuM7D,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"MenuList.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/MenuList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAYlB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAW3C,OAAO,KAAK,EAEV,aAAa,EAGd,MAAM,cAAc,CAAC;AAiCtB,QAAA,MAAM,QAAQ,EAAE,iBAAiB,CAAC,aAAa,GAAG,YAAY,CA8M7D,CAAC;AAEF,eAAe,QAAQ,CAAC"}