@pega/cosmos-react-core 3.0.0-dev.9.0 → 3.0.0-rc.2

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 (989) 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 +16 -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 +89 -218
  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 +48 -527
  26. package/lib/components/AppShell/AppShell.styles.js.map +1 -1
  27. package/lib/components/AppShell/AppShell.types.d.ts +27 -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 +157 -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 +4 -2
  85. package/lib/components/Badges/Selection.js.map +1 -1
  86. package/lib/components/Banner/Banner.d.ts.map +1 -1
  87. package/lib/components/Banner/Banner.js +8 -2
  88. package/lib/components/Banner/Banner.js.map +1 -1
  89. package/lib/components/Boolean/BooleanDisplay.d.ts.map +1 -1
  90. package/lib/components/Boolean/BooleanDisplay.js +4 -12
  91. package/lib/components/Boolean/BooleanDisplay.js.map +1 -1
  92. package/lib/components/Breadcrumbs/Breadcrumbs.d.ts +2 -1
  93. package/lib/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  94. package/lib/components/Breadcrumbs/Breadcrumbs.js +44 -13
  95. package/lib/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  96. package/lib/components/Button/BareRoleButton.d.ts.map +1 -1
  97. package/lib/components/Button/BareRoleButton.js +3 -1
  98. package/lib/components/Button/BareRoleButton.js.map +1 -1
  99. package/lib/components/Checkbox/Checkbox.d.ts +3 -1
  100. package/lib/components/Checkbox/Checkbox.d.ts.map +1 -1
  101. package/lib/components/Checkbox/Checkbox.js.map +1 -1
  102. package/lib/components/ColorPicker/ColorPicker.d.ts +2 -0
  103. package/lib/components/ColorPicker/ColorPicker.d.ts.map +1 -1
  104. package/lib/components/ColorPicker/ColorPicker.js +1 -1
  105. package/lib/components/ColorPicker/ColorPicker.js.map +1 -1
  106. package/lib/components/ComboBox/ComboBox.d.ts.map +1 -1
  107. package/lib/components/ComboBox/ComboBox.js +68 -13
  108. package/lib/components/ComboBox/ComboBox.js.map +1 -1
  109. package/lib/components/ComboBox/ComboBox.styles.d.ts +3 -1
  110. package/lib/components/ComboBox/ComboBox.styles.d.ts.map +1 -1
  111. package/lib/components/ComboBox/ComboBox.types.d.ts +11 -1
  112. package/lib/components/ComboBox/ComboBox.types.d.ts.map +1 -1
  113. package/lib/components/ComboBox/ComboBox.types.js.map +1 -1
  114. package/lib/components/ComboBox/ComboBoxInput.d.ts +7 -0
  115. package/lib/components/ComboBox/ComboBoxInput.d.ts.map +1 -1
  116. package/lib/components/ComboBox/ComboBoxInput.js +5 -2
  117. package/lib/components/ComboBox/ComboBoxInput.js.map +1 -1
  118. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.d.ts.map +1 -1
  119. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.js +116 -31
  120. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.js.map +1 -1
  121. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.types.d.ts +10 -0
  122. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.types.d.ts.map +1 -1
  123. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.types.js.map +1 -1
  124. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.d.ts.map +1 -1
  125. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.js +2 -2
  126. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.js.map +1 -1
  127. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.types.d.ts +2 -0
  128. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.types.d.ts.map +1 -1
  129. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.types.js.map +1 -1
  130. package/lib/components/CompositeInput/CompositeInput.d.ts +5 -0
  131. package/lib/components/CompositeInput/CompositeInput.d.ts.map +1 -0
  132. package/lib/components/CompositeInput/CompositeInput.js +62 -0
  133. package/lib/components/CompositeInput/CompositeInput.js.map +1 -0
  134. package/lib/components/CompositeInput/CompositeInput.styles.d.ts +5 -0
  135. package/lib/components/CompositeInput/CompositeInput.styles.d.ts.map +1 -0
  136. package/lib/components/CompositeInput/CompositeInput.styles.js +57 -0
  137. package/lib/components/CompositeInput/CompositeInput.styles.js.map +1 -0
  138. package/lib/components/CompositeInput/CompositeInput.types.d.ts +52 -0
  139. package/lib/components/CompositeInput/CompositeInput.types.d.ts.map +1 -0
  140. package/lib/components/CompositeInput/CompositeInput.types.js +2 -0
  141. package/lib/components/CompositeInput/CompositeInput.types.js.map +1 -0
  142. package/lib/components/CompositeInput/index.d.ts +3 -0
  143. package/lib/components/CompositeInput/index.d.ts.map +1 -0
  144. package/lib/components/CompositeInput/index.js +2 -0
  145. package/lib/components/CompositeInput/index.js.map +1 -0
  146. package/lib/components/Configuration/Configuration.d.ts +14 -13
  147. package/lib/components/Configuration/Configuration.d.ts.map +1 -1
  148. package/lib/components/Configuration/Configuration.js +25 -14
  149. package/lib/components/Configuration/Configuration.js.map +1 -1
  150. package/lib/components/Configuration/index.d.ts +0 -1
  151. package/lib/components/Configuration/index.d.ts.map +1 -1
  152. package/lib/components/Configuration/index.js +0 -1
  153. package/lib/components/Configuration/index.js.map +1 -1
  154. package/lib/components/CreditCard/CreditCard.types.d.ts +2 -0
  155. package/lib/components/CreditCard/CreditCard.types.d.ts.map +1 -1
  156. package/lib/components/CreditCard/CreditCard.types.js.map +1 -1
  157. package/lib/components/Currency/CurrencyDisplay.d.ts.map +1 -1
  158. package/lib/components/Currency/CurrencyDisplay.js +2 -2
  159. package/lib/components/Currency/CurrencyDisplay.js.map +1 -1
  160. package/lib/components/Currency/CurrencyInput.d.ts.map +1 -1
  161. package/lib/components/Currency/CurrencyInput.js +92 -26
  162. package/lib/components/Currency/CurrencyInput.js.map +1 -1
  163. package/lib/components/Currency/CurrencyInput.types.d.ts +9 -1
  164. package/lib/components/Currency/CurrencyInput.types.d.ts.map +1 -1
  165. package/lib/components/Currency/CurrencyInput.types.js.map +1 -1
  166. package/lib/components/Currency/utils.d.ts +7 -17
  167. package/lib/components/Currency/utils.d.ts.map +1 -1
  168. package/lib/components/Currency/utils.js +50 -51
  169. package/lib/components/Currency/utils.js.map +1 -1
  170. package/lib/components/DateTime/DateTime.types.d.ts +15 -9
  171. package/lib/components/DateTime/DateTime.types.d.ts.map +1 -1
  172. package/lib/components/DateTime/DateTime.types.js.map +1 -1
  173. package/lib/components/DateTime/DurationDisplay.js +3 -3
  174. package/lib/components/DateTime/DurationDisplay.js.map +1 -1
  175. package/lib/components/DateTime/Input/DateInput.d.ts +9 -2
  176. package/lib/components/DateTime/Input/DateInput.d.ts.map +1 -1
  177. package/lib/components/DateTime/Input/DateInput.js +27 -15
  178. package/lib/components/DateTime/Input/DateInput.js.map +1 -1
  179. package/lib/components/DateTime/Input/DateRangeInput.d.ts +18 -23
  180. package/lib/components/DateTime/Input/DateRangeInput.d.ts.map +1 -1
  181. package/lib/components/DateTime/Input/DateRangeInput.js +98 -83
  182. package/lib/components/DateTime/Input/DateRangeInput.js.map +1 -1
  183. package/lib/components/DateTime/Input/DateTimeInput.d.ts +3 -0
  184. package/lib/components/DateTime/Input/DateTimeInput.d.ts.map +1 -1
  185. package/lib/components/DateTime/Input/DateTimeInput.js +28 -12
  186. package/lib/components/DateTime/Input/DateTimeInput.js.map +1 -1
  187. package/lib/components/DateTime/Input/DayOfWeekInput.d.ts +2 -0
  188. package/lib/components/DateTime/Input/DayOfWeekInput.d.ts.map +1 -1
  189. package/lib/components/DateTime/Input/DayOfWeekInput.js.map +1 -1
  190. package/lib/components/DateTime/Input/Duration/DurationInput.d.ts.map +1 -1
  191. package/lib/components/DateTime/Input/Duration/DurationInput.js +10 -2
  192. package/lib/components/DateTime/Input/Duration/DurationInput.js.map +1 -1
  193. package/lib/components/DateTime/Input/Duration/DurationInput.types.d.ts +2 -0
  194. package/lib/components/DateTime/Input/Duration/DurationInput.types.d.ts.map +1 -1
  195. package/lib/components/DateTime/Input/Duration/DurationInput.types.js.map +1 -1
  196. package/lib/components/DateTime/Input/Duration/NumberUnit.d.ts.map +1 -1
  197. package/lib/components/DateTime/Input/Duration/NumberUnit.js +30 -33
  198. package/lib/components/DateTime/Input/Duration/NumberUnit.js.map +1 -1
  199. package/lib/components/DateTime/Input/Duration/Time.d.ts.map +1 -1
  200. package/lib/components/DateTime/Input/Duration/Time.js +5 -4
  201. package/lib/components/DateTime/Input/Duration/Time.js.map +1 -1
  202. package/lib/components/DateTime/Input/MonthInput.d.ts +3 -0
  203. package/lib/components/DateTime/Input/MonthInput.d.ts.map +1 -1
  204. package/lib/components/DateTime/Input/MonthInput.js +23 -26
  205. package/lib/components/DateTime/Input/MonthInput.js.map +1 -1
  206. package/lib/components/DateTime/Input/QuarterInput.d.ts +3 -0
  207. package/lib/components/DateTime/Input/QuarterInput.d.ts.map +1 -1
  208. package/lib/components/DateTime/Input/QuarterInput.js +24 -25
  209. package/lib/components/DateTime/Input/QuarterInput.js.map +1 -1
  210. package/lib/components/DateTime/Input/TimeInput.d.ts +3 -0
  211. package/lib/components/DateTime/Input/TimeInput.d.ts.map +1 -1
  212. package/lib/components/DateTime/Input/TimeInput.js +21 -9
  213. package/lib/components/DateTime/Input/TimeInput.js.map +1 -1
  214. package/lib/components/DateTime/Input/TimeRangeInput.d.ts +46 -0
  215. package/lib/components/DateTime/Input/TimeRangeInput.d.ts.map +1 -0
  216. package/lib/components/DateTime/Input/TimeRangeInput.js +74 -0
  217. package/lib/components/DateTime/Input/TimeRangeInput.js.map +1 -0
  218. package/lib/components/DateTime/Input/WeekInput.d.ts +3 -2
  219. package/lib/components/DateTime/Input/WeekInput.d.ts.map +1 -1
  220. package/lib/components/DateTime/Input/WeekInput.js +12 -7
  221. package/lib/components/DateTime/Input/WeekInput.js.map +1 -1
  222. package/lib/components/DateTime/Input/usePickerButton.d.ts +1 -1
  223. package/lib/components/DateTime/Input/usePickerButton.d.ts.map +1 -1
  224. package/lib/components/DateTime/Input/utils.d.ts +6 -6
  225. package/lib/components/DateTime/Input/utils.d.ts.map +1 -1
  226. package/lib/components/DateTime/Input/utils.js +2 -1
  227. package/lib/components/DateTime/Input/utils.js.map +1 -1
  228. package/lib/components/DateTime/Picker/Calendar.d.ts.map +1 -1
  229. package/lib/components/DateTime/Picker/Calendar.js +20 -16
  230. package/lib/components/DateTime/Picker/Calendar.js.map +1 -1
  231. package/lib/components/DateTime/Picker/Calendar.styles.d.ts +2 -4
  232. package/lib/components/DateTime/Picker/Calendar.styles.d.ts.map +1 -1
  233. package/lib/components/DateTime/Picker/Calendar.styles.js +13 -55
  234. package/lib/components/DateTime/Picker/Calendar.styles.js.map +1 -1
  235. package/lib/components/DateTime/Picker/DatePicker.d.ts.map +1 -1
  236. package/lib/components/DateTime/Picker/DatePicker.js +2 -1
  237. package/lib/components/DateTime/Picker/DatePicker.js.map +1 -1
  238. package/lib/components/DateTime/Picker/DatePicker.styles.d.ts +3 -0
  239. package/lib/components/DateTime/Picker/DatePicker.styles.d.ts.map +1 -0
  240. package/lib/components/DateTime/Picker/DatePicker.styles.js +39 -0
  241. package/lib/components/DateTime/Picker/DatePicker.styles.js.map +1 -0
  242. package/lib/components/DateTime/Picker/DateRangePicker.js +1 -1
  243. package/lib/components/DateTime/Picker/DateRangePicker.js.map +1 -1
  244. package/lib/components/DateTime/Picker/TimePicker.d.ts +1 -1
  245. package/lib/components/DateTime/Picker/TimePicker.d.ts.map +1 -1
  246. package/lib/components/DateTime/Picker/TimePicker.js +10 -5
  247. package/lib/components/DateTime/Picker/TimePicker.js.map +1 -1
  248. package/lib/components/DateTime/Picker/Weeks.d.ts.map +1 -1
  249. package/lib/components/DateTime/Picker/Weeks.js +14 -6
  250. package/lib/components/DateTime/Picker/Weeks.js.map +1 -1
  251. package/lib/components/DateTime/Picker/utils.d.ts +1 -1
  252. package/lib/components/DateTime/Picker/utils.d.ts.map +1 -1
  253. package/lib/components/DateTime/index.d.ts +4 -0
  254. package/lib/components/DateTime/index.d.ts.map +1 -1
  255. package/lib/components/DateTime/index.js +3 -0
  256. package/lib/components/DateTime/index.js.map +1 -1
  257. package/lib/components/DateTime/utils.d.ts +2 -2
  258. package/lib/components/DateTime/utils.d.ts.map +1 -1
  259. package/lib/components/DateTime/utils.js +18 -4
  260. package/lib/components/DateTime/utils.js.map +1 -1
  261. package/lib/components/Dialog/Dialog.d.ts +32 -0
  262. package/lib/components/Dialog/Dialog.d.ts.map +1 -0
  263. package/lib/components/Dialog/Dialog.js +149 -0
  264. package/lib/components/Dialog/Dialog.js.map +1 -0
  265. package/lib/components/Dialog/index.d.ts +3 -0
  266. package/lib/components/Dialog/index.d.ts.map +1 -0
  267. package/lib/components/Dialog/index.js +3 -0
  268. package/lib/components/Dialog/index.js.map +1 -0
  269. package/lib/components/FieldGroup/FieldGroup.d.ts +7 -0
  270. package/lib/components/FieldGroup/FieldGroup.d.ts.map +1 -1
  271. package/lib/components/FieldGroup/FieldGroup.js +45 -41
  272. package/lib/components/FieldGroup/FieldGroup.js.map +1 -1
  273. package/lib/components/FieldGroup/FieldGroupList.d.ts.map +1 -1
  274. package/lib/components/FieldGroup/FieldGroupList.js +6 -2
  275. package/lib/components/FieldGroup/FieldGroupList.js.map +1 -1
  276. package/lib/components/FieldValueList/FieldValueList.d.ts +13 -7
  277. package/lib/components/FieldValueList/FieldValueList.d.ts.map +1 -1
  278. package/lib/components/FieldValueList/FieldValueList.js +41 -13
  279. package/lib/components/FieldValueList/FieldValueList.js.map +1 -1
  280. package/lib/components/FieldValueList/index.d.ts +3 -5
  281. package/lib/components/FieldValueList/index.d.ts.map +1 -1
  282. package/lib/components/FieldValueList/index.js +2 -4
  283. package/lib/components/FieldValueList/index.js.map +1 -1
  284. package/lib/components/File/FileItem.d.ts +3 -0
  285. package/lib/components/File/FileItem.d.ts.map +1 -1
  286. package/lib/components/File/FileItem.js +6 -3
  287. package/lib/components/File/FileItem.js.map +1 -1
  288. package/lib/components/File/FileVisual.d.ts.map +1 -1
  289. package/lib/components/File/FileVisual.js +6 -5
  290. package/lib/components/File/FileVisual.js.map +1 -1
  291. package/lib/components/File/utils.d.ts +1 -1
  292. package/lib/components/File/utils.d.ts.map +1 -1
  293. package/lib/components/File/utils.js.map +1 -1
  294. package/lib/components/Flex/Flex.d.ts +11 -10
  295. package/lib/components/Flex/Flex.d.ts.map +1 -1
  296. package/lib/components/Flex/Flex.js.map +1 -1
  297. package/lib/components/Form/Form.d.ts +5 -16
  298. package/lib/components/Form/Form.d.ts.map +1 -1
  299. package/lib/components/Form/Form.js +14 -11
  300. package/lib/components/Form/Form.js.map +1 -1
  301. package/lib/components/FormControl/FormControl.d.ts +12 -2
  302. package/lib/components/FormControl/FormControl.d.ts.map +1 -1
  303. package/lib/components/FormControl/FormControl.js +60 -35
  304. package/lib/components/FormControl/FormControl.js.map +1 -1
  305. package/lib/components/FormField/FormField.d.ts +5 -0
  306. package/lib/components/FormField/FormField.d.ts.map +1 -1
  307. package/lib/components/FormField/FormField.js +87 -16
  308. package/lib/components/FormField/FormField.js.map +1 -1
  309. package/lib/components/Grid/Grid.d.ts +1 -1
  310. package/lib/components/Grid/Grid.d.ts.map +1 -1
  311. package/lib/components/Grid/Grid.types.d.ts +11 -10
  312. package/lib/components/Grid/Grid.types.d.ts.map +1 -1
  313. package/lib/components/Grid/Grid.types.js.map +1 -1
  314. package/lib/components/HTML/HTML.d.ts.map +1 -1
  315. package/lib/components/HTML/HTML.js +56 -16
  316. package/lib/components/HTML/HTML.js.map +1 -1
  317. package/lib/components/Icon/Icon.d.ts.map +1 -1
  318. package/lib/components/Icon/Icon.js +1 -1
  319. package/lib/components/Icon/Icon.js.map +1 -1
  320. package/lib/components/Icon/iconNames.d.ts +2 -2
  321. package/lib/components/Icon/iconNames.d.ts.map +1 -1
  322. package/lib/components/Icon/iconNames.js +2 -1
  323. package/lib/components/Icon/iconNames.js.map +1 -1
  324. package/lib/components/Icon/icons/ai-assist.icon.js +1 -1
  325. package/lib/components/Icon/icons/ai-assist.icon.js.map +1 -1
  326. package/lib/components/Icon/icons/align-center.icon.js +1 -1
  327. package/lib/components/Icon/icons/align-center.icon.js.map +1 -1
  328. package/lib/components/Icon/icons/align-left.icon.js +1 -1
  329. package/lib/components/Icon/icons/align-left.icon.js.map +1 -1
  330. package/lib/components/Icon/icons/align-right.icon.js +1 -1
  331. package/lib/components/Icon/icons/align-right.icon.js.map +1 -1
  332. package/lib/components/Icon/icons/arrow-left.icon.js +1 -1
  333. package/lib/components/Icon/icons/arrow-left.icon.js.map +1 -1
  334. package/lib/components/Icon/icons/arrow-micro-down.icon.js +1 -1
  335. package/lib/components/Icon/icons/arrow-micro-down.icon.js.map +1 -1
  336. package/lib/components/Icon/icons/arrow-micro-left.icon.js +1 -1
  337. package/lib/components/Icon/icons/arrow-micro-left.icon.js.map +1 -1
  338. package/lib/components/Icon/icons/arrow-micro-right.icon.js +1 -1
  339. package/lib/components/Icon/icons/arrow-micro-right.icon.js.map +1 -1
  340. package/lib/components/Icon/icons/arrow-micro-up-down.icon.js +1 -1
  341. package/lib/components/Icon/icons/arrow-micro-up-down.icon.js.map +1 -1
  342. package/lib/components/Icon/icons/arrow-micro-up.icon.js +1 -1
  343. package/lib/components/Icon/icons/arrow-micro-up.icon.js.map +1 -1
  344. package/lib/components/Icon/icons/arrow-up-down.icon.js +1 -1
  345. package/lib/components/Icon/icons/arrow-up-down.icon.js.map +1 -1
  346. package/lib/components/Icon/icons/bars.icon.js +1 -1
  347. package/lib/components/Icon/icons/bars.icon.js.map +1 -1
  348. package/lib/components/Icon/icons/bell-solid.icon.js +1 -1
  349. package/lib/components/Icon/icons/bell-solid.icon.js.map +1 -1
  350. package/lib/components/Icon/icons/bell.icon.js +1 -1
  351. package/lib/components/Icon/icons/bell.icon.js.map +1 -1
  352. package/lib/components/Icon/icons/box-4-solid.icon.js +1 -1
  353. package/lib/components/Icon/icons/box-4-solid.icon.js.map +1 -1
  354. package/lib/components/Icon/icons/box-4.icon.js +1 -1
  355. package/lib/components/Icon/icons/box-4.icon.js.map +1 -1
  356. package/lib/components/Icon/icons/calendar-range.icon.js +1 -1
  357. package/lib/components/Icon/icons/calendar-range.icon.js.map +1 -1
  358. package/lib/components/Icon/icons/calendar-solid.icon.js +1 -1
  359. package/lib/components/Icon/icons/calendar-solid.icon.js.map +1 -1
  360. package/lib/components/Icon/icons/caret-down.icon.js +1 -1
  361. package/lib/components/Icon/icons/caret-down.icon.js.map +1 -1
  362. package/lib/components/Icon/icons/caret-left.icon.js +1 -1
  363. package/lib/components/Icon/icons/caret-left.icon.js.map +1 -1
  364. package/lib/components/Icon/icons/caret-right.icon.js +1 -1
  365. package/lib/components/Icon/icons/caret-right.icon.js.map +1 -1
  366. package/lib/components/Icon/icons/caret-up.icon.js +1 -1
  367. package/lib/components/Icon/icons/caret-up.icon.js.map +1 -1
  368. package/lib/components/Icon/icons/{script-solid.icon.d.ts → carrot.icon.d.ts} +2 -2
  369. package/lib/components/Icon/icons/carrot.icon.d.ts.map +1 -0
  370. package/lib/components/Icon/icons/carrot.icon.js +6 -0
  371. package/lib/components/Icon/icons/carrot.icon.js.map +1 -0
  372. package/lib/components/Icon/icons/case-solid.icon.js +1 -1
  373. package/lib/components/Icon/icons/case-solid.icon.js.map +1 -1
  374. package/lib/components/Icon/icons/case.icon.js +1 -1
  375. package/lib/components/Icon/icons/case.icon.js.map +1 -1
  376. package/lib/components/Icon/icons/chain.icon.js +1 -1
  377. package/lib/components/Icon/icons/chain.icon.js.map +1 -1
  378. package/lib/components/Icon/icons/chat-solid.icon.js +1 -1
  379. package/lib/components/Icon/icons/chat-solid.icon.js.map +1 -1
  380. package/lib/components/Icon/icons/chat.icon.js +1 -1
  381. package/lib/components/Icon/icons/chat.icon.js.map +1 -1
  382. package/lib/components/Icon/icons/check.icon.js +1 -1
  383. package/lib/components/Icon/icons/check.icon.js.map +1 -1
  384. package/lib/components/Icon/icons/clipboard-plus-solid.icon.js +1 -1
  385. package/lib/components/Icon/icons/clipboard-plus-solid.icon.js.map +1 -1
  386. package/lib/components/Icon/icons/clipboard-plus.icon.js +1 -1
  387. package/lib/components/Icon/icons/clipboard-plus.icon.js.map +1 -1
  388. package/lib/components/Icon/icons/clock-solid.icon.js +1 -1
  389. package/lib/components/Icon/icons/clock-solid.icon.js.map +1 -1
  390. package/lib/components/Icon/icons/clock.icon.js +1 -1
  391. package/lib/components/Icon/icons/clock.icon.js.map +1 -1
  392. package/lib/components/Icon/icons/code.icon.js +1 -1
  393. package/lib/components/Icon/icons/code.icon.js.map +1 -1
  394. package/lib/components/Icon/icons/dataviz-string-field.icon.d.ts +1 -1
  395. package/lib/components/Icon/icons/dataviz-string-field.icon.js +2 -2
  396. package/lib/components/Icon/icons/dataviz-string-field.icon.js.map +1 -1
  397. package/lib/components/Icon/icons/dock.icon.js +1 -1
  398. package/lib/components/Icon/icons/dock.icon.js.map +1 -1
  399. package/lib/components/Icon/icons/dot-9-solid.icon.js +1 -1
  400. package/lib/components/Icon/icons/dot-9-solid.icon.js.map +1 -1
  401. package/lib/components/Icon/icons/dot-9.icon.js +1 -1
  402. package/lib/components/Icon/icons/dot-9.icon.js.map +1 -1
  403. package/lib/components/Icon/icons/download.icon.js +1 -1
  404. package/lib/components/Icon/icons/download.icon.js.map +1 -1
  405. package/lib/components/Icon/icons/drag.icon.js +1 -1
  406. package/lib/components/Icon/icons/drag.icon.js.map +1 -1
  407. package/lib/components/Icon/icons/eye-off-solid.icon.js +1 -1
  408. package/lib/components/Icon/icons/eye-off-solid.icon.js.map +1 -1
  409. package/lib/components/Icon/icons/eye-off.icon.js +1 -1
  410. package/lib/components/Icon/icons/eye-off.icon.js.map +1 -1
  411. package/lib/components/Icon/icons/face-blank-solid.icon.d.ts.map +1 -1
  412. package/lib/components/Icon/icons/face-blank-solid.icon.js +1 -1
  413. package/lib/components/Icon/icons/face-blank-solid.icon.js.map +1 -1
  414. package/lib/components/Icon/icons/face-blank.icon.d.ts.map +1 -1
  415. package/lib/components/Icon/icons/face-blank.icon.js +1 -1
  416. package/lib/components/Icon/icons/face-blank.icon.js.map +1 -1
  417. package/lib/components/Icon/icons/face-happy-solid.icon.d.ts.map +1 -1
  418. package/lib/components/Icon/icons/face-happy-solid.icon.js +1 -1
  419. package/lib/components/Icon/icons/face-happy-solid.icon.js.map +1 -1
  420. package/lib/components/Icon/icons/face-happy.icon.d.ts.map +1 -1
  421. package/lib/components/Icon/icons/face-happy.icon.js +1 -1
  422. package/lib/components/Icon/icons/face-happy.icon.js.map +1 -1
  423. package/lib/components/Icon/icons/face-sad-solid.icon.d.ts.map +1 -1
  424. package/lib/components/Icon/icons/face-sad-solid.icon.js +1 -1
  425. package/lib/components/Icon/icons/face-sad-solid.icon.js.map +1 -1
  426. package/lib/components/Icon/icons/face-sad.icon.d.ts.map +1 -1
  427. package/lib/components/Icon/icons/face-sad.icon.js +1 -1
  428. package/lib/components/Icon/icons/face-sad.icon.js.map +1 -1
  429. package/lib/components/Icon/icons/fast-forward-solid.icon.js +1 -1
  430. package/lib/components/Icon/icons/fast-forward-solid.icon.js.map +1 -1
  431. package/lib/components/Icon/icons/filetype-text.icon.d.ts.map +1 -1
  432. package/lib/components/Icon/icons/filetype-text.icon.js +2 -2
  433. package/lib/components/Icon/icons/filetype-text.icon.js.map +1 -1
  434. package/lib/components/Icon/icons/filter-on.icon.js +1 -1
  435. package/lib/components/Icon/icons/filter-on.icon.js.map +1 -1
  436. package/lib/components/Icon/icons/filter.icon.js +1 -1
  437. package/lib/components/Icon/icons/filter.icon.js.map +1 -1
  438. package/lib/components/Icon/icons/folder-hierarchy-solid.icon.js +1 -1
  439. package/lib/components/Icon/icons/folder-hierarchy-solid.icon.js.map +1 -1
  440. package/lib/components/Icon/icons/folder-hierarchy.icon.js +1 -1
  441. package/lib/components/Icon/icons/folder-hierarchy.icon.js.map +1 -1
  442. package/lib/components/Icon/icons/forward-all-solid.icon.js +1 -1
  443. package/lib/components/Icon/icons/forward-all-solid.icon.js.map +1 -1
  444. package/lib/components/Icon/icons/forward-all.icon.js +1 -1
  445. package/lib/components/Icon/icons/forward-all.icon.js.map +1 -1
  446. package/lib/components/Icon/icons/forward-solid.icon.js +1 -1
  447. package/lib/components/Icon/icons/forward-solid.icon.js.map +1 -1
  448. package/lib/components/Icon/icons/forward.icon.js +1 -1
  449. package/lib/components/Icon/icons/forward.icon.js.map +1 -1
  450. package/lib/components/Icon/icons/galaxy.icon.d.ts.map +1 -1
  451. package/lib/components/Icon/icons/galaxy.icon.js +2 -2
  452. package/lib/components/Icon/icons/galaxy.icon.js.map +1 -1
  453. package/lib/components/Icon/icons/globe-solid.icon.js +1 -1
  454. package/lib/components/Icon/icons/globe-solid.icon.js.map +1 -1
  455. package/lib/components/Icon/icons/globe.icon.js +1 -1
  456. package/lib/components/Icon/icons/globe.icon.js.map +1 -1
  457. package/lib/components/Icon/icons/hand.icon.js +1 -1
  458. package/lib/components/Icon/icons/hand.icon.js.map +1 -1
  459. package/lib/components/Icon/icons/help-solid.icon.js +1 -1
  460. package/lib/components/Icon/icons/help-solid.icon.js.map +1 -1
  461. package/lib/components/Icon/icons/help.icon.js +1 -1
  462. package/lib/components/Icon/icons/help.icon.js.map +1 -1
  463. package/lib/components/Icon/icons/home-solid.icon.js +1 -1
  464. package/lib/components/Icon/icons/home-solid.icon.js.map +1 -1
  465. package/lib/components/Icon/icons/home.icon.js +1 -1
  466. package/lib/components/Icon/icons/home.icon.js.map +1 -1
  467. package/lib/components/Icon/icons/information-solid.icon.js +1 -1
  468. package/lib/components/Icon/icons/information-solid.icon.js.map +1 -1
  469. package/lib/components/Icon/icons/information.icon.js +1 -1
  470. package/lib/components/Icon/icons/information.icon.js.map +1 -1
  471. package/lib/components/Icon/icons/list-number.icon.d.ts.map +1 -1
  472. package/lib/components/Icon/icons/list-number.icon.js +2 -2
  473. package/lib/components/Icon/icons/list-number.icon.js.map +1 -1
  474. package/lib/components/Icon/icons/list.icon.d.ts.map +1 -1
  475. package/lib/components/Icon/icons/list.icon.js +2 -2
  476. package/lib/components/Icon/icons/list.icon.js.map +1 -1
  477. package/lib/components/Icon/icons/mail-solid.icon.js +1 -1
  478. package/lib/components/Icon/icons/mail-solid.icon.js.map +1 -1
  479. package/lib/components/Icon/icons/mail.icon.js +1 -1
  480. package/lib/components/Icon/icons/mail.icon.js.map +1 -1
  481. package/lib/components/Icon/icons/minus.icon.js +1 -1
  482. package/lib/components/Icon/icons/minus.icon.js.map +1 -1
  483. package/lib/components/Icon/icons/more.icon.js +1 -1
  484. package/lib/components/Icon/icons/more.icon.js.map +1 -1
  485. package/lib/components/Icon/icons/move-left-solid.icon.js +1 -1
  486. package/lib/components/Icon/icons/move-left-solid.icon.js.map +1 -1
  487. package/lib/components/Icon/icons/move-right-solid.icon.js +1 -1
  488. package/lib/components/Icon/icons/move-right-solid.icon.js.map +1 -1
  489. package/lib/components/Icon/icons/open.icon.js +1 -1
  490. package/lib/components/Icon/icons/open.icon.js.map +1 -1
  491. package/lib/components/Icon/icons/paper-clip.icon.js +1 -1
  492. package/lib/components/Icon/icons/paper-clip.icon.js.map +1 -1
  493. package/lib/components/Icon/icons/phone-solid.icon.js +1 -1
  494. package/lib/components/Icon/icons/phone-solid.icon.js.map +1 -1
  495. package/lib/components/Icon/icons/phone.icon.js +1 -1
  496. package/lib/components/Icon/icons/phone.icon.js.map +1 -1
  497. package/lib/components/Icon/icons/picture-solid.icon.js +1 -1
  498. package/lib/components/Icon/icons/picture-solid.icon.js.map +1 -1
  499. package/lib/components/Icon/icons/picture.icon.js +1 -1
  500. package/lib/components/Icon/icons/picture.icon.js.map +1 -1
  501. package/lib/components/Icon/icons/placeholder.icon.d.ts +4 -0
  502. package/lib/components/Icon/icons/placeholder.icon.d.ts.map +1 -0
  503. package/lib/components/Icon/icons/placeholder.icon.js +6 -0
  504. package/lib/components/Icon/icons/placeholder.icon.js.map +1 -0
  505. package/lib/components/Icon/icons/plus.icon.js +1 -1
  506. package/lib/components/Icon/icons/plus.icon.js.map +1 -1
  507. package/lib/components/Icon/icons/polaris-solid.icon.js +1 -1
  508. package/lib/components/Icon/icons/polaris-solid.icon.js.map +1 -1
  509. package/lib/components/Icon/icons/polaris.icon.js +1 -1
  510. package/lib/components/Icon/icons/polaris.icon.js.map +1 -1
  511. package/lib/components/Icon/icons/qr.icon.js +1 -1
  512. package/lib/components/Icon/icons/qr.icon.js.map +1 -1
  513. package/lib/components/Icon/icons/reply-all-solid.icon.js +1 -1
  514. package/lib/components/Icon/icons/reply-all-solid.icon.js.map +1 -1
  515. package/lib/components/Icon/icons/reply-all.icon.js +1 -1
  516. package/lib/components/Icon/icons/reply-all.icon.js.map +1 -1
  517. package/lib/components/Icon/icons/reply-solid.icon.js +1 -1
  518. package/lib/components/Icon/icons/reply-solid.icon.js.map +1 -1
  519. package/lib/components/Icon/icons/reply.icon.js +1 -1
  520. package/lib/components/Icon/icons/reply.icon.js.map +1 -1
  521. package/lib/components/Icon/icons/reset.icon.js +1 -1
  522. package/lib/components/Icon/icons/reset.icon.js.map +1 -1
  523. package/lib/components/Icon/icons/robot-happy-solid.icon.js +1 -1
  524. package/lib/components/Icon/icons/robot-happy-solid.icon.js.map +1 -1
  525. package/lib/components/Icon/icons/robot-happy.icon.js +1 -1
  526. package/lib/components/Icon/icons/robot-happy.icon.js.map +1 -1
  527. package/lib/components/Icon/icons/row-insert.icon.js +1 -1
  528. package/lib/components/Icon/icons/row-insert.icon.js.map +1 -1
  529. package/lib/components/Icon/icons/row.icon.js +1 -1
  530. package/lib/components/Icon/icons/row.icon.js.map +1 -1
  531. package/lib/components/Icon/icons/scale-down.icon.js +1 -1
  532. package/lib/components/Icon/icons/scale-down.icon.js.map +1 -1
  533. package/lib/components/Icon/icons/scale-up-solid.icon.js +1 -1
  534. package/lib/components/Icon/icons/scale-up-solid.icon.js.map +1 -1
  535. package/lib/components/Icon/icons/scale-up.icon.js +1 -1
  536. package/lib/components/Icon/icons/scale-up.icon.js.map +1 -1
  537. package/lib/components/Icon/icons/script.icon.js +1 -1
  538. package/lib/components/Icon/icons/script.icon.js.map +1 -1
  539. package/lib/components/Icon/icons/search-analytics-solid.icon.js +1 -1
  540. package/lib/components/Icon/icons/search-analytics-solid.icon.js.map +1 -1
  541. package/lib/components/Icon/icons/search-analytics.icon.js +1 -1
  542. package/lib/components/Icon/icons/search-analytics.icon.js.map +1 -1
  543. package/lib/components/Icon/icons/search.icon.js +1 -1
  544. package/lib/components/Icon/icons/search.icon.js.map +1 -1
  545. package/lib/components/Icon/icons/send-solid.icon.js +1 -1
  546. package/lib/components/Icon/icons/send-solid.icon.js.map +1 -1
  547. package/lib/components/Icon/icons/send.icon.js +1 -1
  548. package/lib/components/Icon/icons/send.icon.js.map +1 -1
  549. package/lib/components/Icon/icons/slideshow-solid.icon.js +1 -1
  550. package/lib/components/Icon/icons/slideshow-solid.icon.js.map +1 -1
  551. package/lib/components/Icon/icons/slideshow.icon.js +1 -1
  552. package/lib/components/Icon/icons/slideshow.icon.js.map +1 -1
  553. package/lib/components/Icon/icons/snow.icon.js +1 -1
  554. package/lib/components/Icon/icons/snow.icon.js.map +1 -1
  555. package/lib/components/Icon/icons/speaker-solid.icon.js +1 -1
  556. package/lib/components/Icon/icons/speaker-solid.icon.js.map +1 -1
  557. package/lib/components/Icon/icons/speaker.icon.js +1 -1
  558. package/lib/components/Icon/icons/speaker.icon.js.map +1 -1
  559. package/lib/components/Icon/icons/star-solid.icon.js +1 -1
  560. package/lib/components/Icon/icons/star-solid.icon.js.map +1 -1
  561. package/lib/components/Icon/icons/star.icon.js +1 -1
  562. package/lib/components/Icon/icons/star.icon.js.map +1 -1
  563. package/lib/components/Icon/icons/target-solid.icon.js +1 -1
  564. package/lib/components/Icon/icons/target-solid.icon.js.map +1 -1
  565. package/lib/components/Icon/icons/target.icon.js +1 -1
  566. package/lib/components/Icon/icons/target.icon.js.map +1 -1
  567. package/lib/components/Icon/icons/thumbs-up-solid.icon.js +1 -1
  568. package/lib/components/Icon/icons/thumbs-up-solid.icon.js.map +1 -1
  569. package/lib/components/Icon/icons/thumbs-up.icon.js +1 -1
  570. package/lib/components/Icon/icons/thumbs-up.icon.js.map +1 -1
  571. package/lib/components/Icon/icons/times.icon.js +1 -1
  572. package/lib/components/Icon/icons/times.icon.js.map +1 -1
  573. package/lib/components/Icon/icons/trash-solid.icon.js +1 -1
  574. package/lib/components/Icon/icons/trash-solid.icon.js.map +1 -1
  575. package/lib/components/Icon/icons/trash.icon.js +1 -1
  576. package/lib/components/Icon/icons/trash.icon.js.map +1 -1
  577. package/lib/components/Icon/icons/twitter.icon.js +1 -1
  578. package/lib/components/Icon/icons/twitter.icon.js.map +1 -1
  579. package/lib/components/Icon/icons/undock.icon.js +1 -1
  580. package/lib/components/Icon/icons/undock.icon.js.map +1 -1
  581. package/lib/components/Icon/icons/user-solid.icon.js +1 -1
  582. package/lib/components/Icon/icons/user-solid.icon.js.map +1 -1
  583. package/lib/components/Icon/icons/user-star-solid.icon.js +1 -1
  584. package/lib/components/Icon/icons/user-star-solid.icon.js.map +1 -1
  585. package/lib/components/Icon/icons/user-star.icon.js +1 -1
  586. package/lib/components/Icon/icons/user-star.icon.js.map +1 -1
  587. package/lib/components/Icon/icons/user.icon.js +1 -1
  588. package/lib/components/Icon/icons/user.icon.js.map +1 -1
  589. package/lib/components/Icon/icons/warn-solid.icon.js +1 -1
  590. package/lib/components/Icon/icons/warn-solid.icon.js.map +1 -1
  591. package/lib/components/Icon/icons/warn.icon.js +1 -1
  592. package/lib/components/Icon/icons/warn.icon.js.map +1 -1
  593. package/lib/components/Icon/index.d.ts +1 -1
  594. package/lib/components/Icon/index.d.ts.map +1 -1
  595. package/lib/components/Icon/index.js.map +1 -1
  596. package/lib/components/Input/Input.d.ts +3 -1
  597. package/lib/components/Input/Input.d.ts.map +1 -1
  598. package/lib/components/Input/Input.js +16 -2
  599. package/lib/components/Input/Input.js.map +1 -1
  600. package/lib/components/Input/Input.styles.d.ts +1 -0
  601. package/lib/components/Input/Input.styles.d.ts.map +1 -1
  602. package/lib/components/Input/Input.styles.js +31 -0
  603. package/lib/components/Input/Input.styles.js.map +1 -1
  604. package/lib/components/Link/Link.d.ts +4 -1
  605. package/lib/components/Link/Link.d.ts.map +1 -1
  606. package/lib/components/Link/Link.js +87 -30
  607. package/lib/components/Link/Link.js.map +1 -1
  608. package/lib/components/List/CommaSeparatedList.d.ts.map +1 -1
  609. package/lib/components/List/CommaSeparatedList.js +6 -14
  610. package/lib/components/List/CommaSeparatedList.js.map +1 -1
  611. package/lib/components/List/List.d.ts +2 -2
  612. package/lib/components/List/List.d.ts.map +1 -1
  613. package/lib/components/List/List.js.map +1 -1
  614. package/lib/components/ListToolbar/ListToolbar.d.ts.map +1 -1
  615. package/lib/components/ListToolbar/ListToolbar.js +108 -53
  616. package/lib/components/ListToolbar/ListToolbar.js.map +1 -1
  617. package/lib/components/ListToolbar/ListToolbar.styles.d.ts +1 -0
  618. package/lib/components/ListToolbar/ListToolbar.styles.d.ts.map +1 -1
  619. package/lib/components/ListToolbar/ListToolbar.styles.js +38 -2
  620. package/lib/components/ListToolbar/ListToolbar.styles.js.map +1 -1
  621. package/lib/components/ListToolbar/ListToolbar.types.d.ts +28 -10
  622. package/lib/components/ListToolbar/ListToolbar.types.d.ts.map +1 -1
  623. package/lib/components/ListToolbar/ListToolbar.types.js.map +1 -1
  624. package/lib/components/ListToolbar/PresetMenuPopover.d.ts +12 -0
  625. package/lib/components/ListToolbar/PresetMenuPopover.d.ts.map +1 -0
  626. package/lib/components/ListToolbar/PresetMenuPopover.js +36 -0
  627. package/lib/components/ListToolbar/PresetMenuPopover.js.map +1 -0
  628. package/lib/components/ListToolbar/QueryOptionPopover.d.ts.map +1 -1
  629. package/lib/components/ListToolbar/QueryOptionPopover.js +14 -44
  630. package/lib/components/ListToolbar/QueryOptionPopover.js.map +1 -1
  631. package/lib/components/Location/LocationInput.d.ts +3 -1
  632. package/lib/components/Location/LocationInput.d.ts.map +1 -1
  633. package/lib/components/Location/LocationInput.js +2 -2
  634. package/lib/components/Location/LocationInput.js.map +1 -1
  635. package/lib/components/Location/LocationView.d.ts +1 -1
  636. package/lib/components/Location/LocationView.d.ts.map +1 -1
  637. package/lib/components/Location/LocationView.js +16 -10
  638. package/lib/components/Location/LocationView.js.map +1 -1
  639. package/lib/components/Location/utils.d.ts +3 -2
  640. package/lib/components/Location/utils.d.ts.map +1 -1
  641. package/lib/components/Location/utils.js +17 -9
  642. package/lib/components/Location/utils.js.map +1 -1
  643. package/lib/components/Menu/Menu.d.ts.map +1 -1
  644. package/lib/components/Menu/Menu.js +10 -6
  645. package/lib/components/Menu/Menu.js.map +1 -1
  646. package/lib/components/Menu/Menu.styles.d.ts.map +1 -1
  647. package/lib/components/Menu/Menu.styles.js +4 -2
  648. package/lib/components/Menu/Menu.styles.js.map +1 -1
  649. package/lib/components/Menu/Menu.types.d.ts +13 -0
  650. package/lib/components/Menu/Menu.types.d.ts.map +1 -1
  651. package/lib/components/Menu/Menu.types.js.map +1 -1
  652. package/lib/components/Menu/MenuGroup.d.ts.map +1 -1
  653. package/lib/components/Menu/MenuGroup.js +3 -3
  654. package/lib/components/Menu/MenuGroup.js.map +1 -1
  655. package/lib/components/Menu/MenuItem.d.ts.map +1 -1
  656. package/lib/components/Menu/MenuItem.js +4 -8
  657. package/lib/components/Menu/MenuItem.js.map +1 -1
  658. package/lib/components/Menu/MenuList.d.ts.map +1 -1
  659. package/lib/components/Menu/MenuList.js +23 -14
  660. package/lib/components/Menu/MenuList.js.map +1 -1
  661. package/lib/components/Menu/NavItemsList.d.ts +2 -2
  662. package/lib/components/Menu/NavItemsList.d.ts.map +1 -1
  663. package/lib/components/Menu/NavItemsList.js +12 -7
  664. package/lib/components/Menu/NavItemsList.js.map +1 -1
  665. package/lib/components/Menu/helpers.d.ts +7 -7
  666. package/lib/components/Menu/helpers.d.ts.map +1 -1
  667. package/lib/components/Menu/index.d.ts +1 -1
  668. package/lib/components/Menu/index.d.ts.map +1 -1
  669. package/lib/components/Menu/index.js +1 -1
  670. package/lib/components/Menu/index.js.map +1 -1
  671. package/lib/components/MetaList/MetaList.d.ts.map +1 -1
  672. package/lib/components/MetaList/MetaList.js +13 -10
  673. package/lib/components/MetaList/MetaList.js.map +1 -1
  674. package/lib/components/Modal/Contexts.d.ts.map +1 -1
  675. package/lib/components/Modal/Contexts.js +2 -3
  676. package/lib/components/Modal/Contexts.js.map +1 -1
  677. package/lib/components/Modal/MinimizedModal.d.ts.map +1 -1
  678. package/lib/components/Modal/MinimizedModal.js +2 -5
  679. package/lib/components/Modal/MinimizedModal.js.map +1 -1
  680. package/lib/components/Modal/Modal.d.ts.map +1 -1
  681. package/lib/components/Modal/Modal.js +3 -5
  682. package/lib/components/Modal/Modal.js.map +1 -1
  683. package/lib/components/Modal/Modal.types.d.ts +2 -6
  684. package/lib/components/Modal/Modal.types.d.ts.map +1 -1
  685. package/lib/components/Modal/Modal.types.js +1 -2
  686. package/lib/components/Modal/Modal.types.js.map +1 -1
  687. package/lib/components/Modal/ModalManager.d.ts +8 -2
  688. package/lib/components/Modal/ModalManager.d.ts.map +1 -1
  689. package/lib/components/Modal/ModalManager.js +14 -20
  690. package/lib/components/Modal/ModalManager.js.map +1 -1
  691. package/lib/components/Modal/index.d.ts +0 -1
  692. package/lib/components/Modal/index.d.ts.map +1 -1
  693. package/lib/components/Modal/index.js +0 -1
  694. package/lib/components/Modal/index.js.map +1 -1
  695. package/lib/components/MultiStepForm/FormProgress.d.ts +10 -0
  696. package/lib/components/MultiStepForm/FormProgress.d.ts.map +1 -0
  697. package/lib/components/{MultiStep/MultiStep.js → MultiStepForm/FormProgress.js} +8 -22
  698. package/lib/components/MultiStepForm/FormProgress.js.map +1 -0
  699. package/lib/components/{MultiStep/MultiStep.styles.d.ts → MultiStepForm/FormProgress.styles.d.ts} +2 -4
  700. package/lib/components/MultiStepForm/FormProgress.styles.d.ts.map +1 -0
  701. package/lib/components/{MultiStep/MultiStep.styles.js → MultiStepForm/FormProgress.styles.js} +3 -4
  702. package/lib/components/MultiStepForm/FormProgress.styles.js.map +1 -0
  703. package/lib/components/MultiStepForm/MultiStepForm.d.ts +9 -0
  704. package/lib/components/MultiStepForm/MultiStepForm.d.ts.map +1 -0
  705. package/lib/components/MultiStepForm/MultiStepForm.js +50 -0
  706. package/lib/components/MultiStepForm/MultiStepForm.js.map +1 -0
  707. package/lib/components/MultiStepForm/MultiStepForm.types.d.ts +48 -0
  708. package/lib/components/MultiStepForm/MultiStepForm.types.d.ts.map +1 -0
  709. package/lib/components/MultiStepForm/MultiStepForm.types.js +2 -0
  710. package/lib/components/MultiStepForm/MultiStepForm.types.js.map +1 -0
  711. package/lib/components/MultiStepForm/index.d.ts +2 -0
  712. package/lib/components/MultiStepForm/index.d.ts.map +1 -0
  713. package/lib/components/MultiStepForm/index.js +2 -0
  714. package/lib/components/MultiStepForm/index.js.map +1 -0
  715. package/lib/components/Number/NumberDisplay.d.ts +0 -5
  716. package/lib/components/Number/NumberDisplay.d.ts.map +1 -1
  717. package/lib/components/Number/NumberDisplay.js +8 -12
  718. package/lib/components/Number/NumberDisplay.js.map +1 -1
  719. package/lib/components/Number/NumberInput.d.ts +1 -1
  720. package/lib/components/Number/NumberInput.d.ts.map +1 -1
  721. package/lib/components/Number/NumberInput.js +60 -35
  722. package/lib/components/Number/NumberInput.js.map +1 -1
  723. package/lib/components/Number/NumberInput.styles.d.ts +8 -5
  724. package/lib/components/Number/NumberInput.styles.d.ts.map +1 -1
  725. package/lib/components/Number/NumberInput.styles.js +6 -3
  726. package/lib/components/Number/NumberInput.styles.js.map +1 -1
  727. package/lib/components/Number/NumberInput.types.d.ts +56 -21
  728. package/lib/components/Number/NumberInput.types.d.ts.map +1 -1
  729. package/lib/components/Number/NumberInput.types.js.map +1 -1
  730. package/lib/components/Number/NumberRangeInput.d.ts +6 -0
  731. package/lib/components/Number/NumberRangeInput.d.ts.map +1 -0
  732. package/lib/components/Number/NumberRangeInput.js +30 -0
  733. package/lib/components/Number/NumberRangeInput.js.map +1 -0
  734. package/lib/components/Number/index.d.ts +3 -2
  735. package/lib/components/Number/index.d.ts.map +1 -1
  736. package/lib/components/Number/index.js +1 -0
  737. package/lib/components/Number/index.js.map +1 -1
  738. package/lib/components/Number/utils.d.ts +3 -4
  739. package/lib/components/Number/utils.d.ts.map +1 -1
  740. package/lib/components/Number/utils.js +41 -21
  741. package/lib/components/Number/utils.js.map +1 -1
  742. package/lib/components/PageTemplates/CategorySubPage.d.ts +3 -3
  743. package/lib/components/PageTemplates/CategorySubPage.d.ts.map +1 -1
  744. package/lib/components/PageTemplates/CategorySubPage.js.map +1 -1
  745. package/lib/components/PageTemplates/DashboardPage.d.ts.map +1 -1
  746. package/lib/components/PageTemplates/DashboardPage.js +1 -4
  747. package/lib/components/PageTemplates/DashboardPage.js.map +1 -1
  748. package/lib/components/PageTemplates/PageTemplates.d.ts +1 -2
  749. package/lib/components/PageTemplates/PageTemplates.d.ts.map +1 -1
  750. package/lib/components/PageTemplates/PageTemplates.js.map +1 -1
  751. package/lib/components/Phone/PhoneInput.d.ts.map +1 -1
  752. package/lib/components/Phone/PhoneInput.js +13 -3
  753. package/lib/components/Phone/PhoneInput.js.map +1 -1
  754. package/lib/components/Popover/Popover.d.ts +2 -0
  755. package/lib/components/Popover/Popover.d.ts.map +1 -1
  756. package/lib/components/Popover/Popover.js +13 -9
  757. package/lib/components/Popover/Popover.js.map +1 -1
  758. package/lib/components/Popover/Popover.styles.d.ts.map +1 -1
  759. package/lib/components/Popover/Popover.styles.js +12 -57
  760. package/lib/components/Popover/Popover.styles.js.map +1 -1
  761. package/lib/components/Popover/PopoverContext.d.ts +1 -0
  762. package/lib/components/Popover/PopoverContext.d.ts.map +1 -1
  763. package/lib/components/Popover/PopoverContext.js +2 -1
  764. package/lib/components/Popover/PopoverContext.js.map +1 -1
  765. package/lib/components/Popover/PopoverManager.d.ts.map +1 -1
  766. package/lib/components/Popover/PopoverManager.js +2 -1
  767. package/lib/components/Popover/PopoverManager.js.map +1 -1
  768. package/lib/components/Progress/Ring.js +2 -2
  769. package/lib/components/Progress/Ring.js.map +1 -1
  770. package/lib/components/RadioButton/RadioButton.d.ts +3 -1
  771. package/lib/components/RadioButton/RadioButton.d.ts.map +1 -1
  772. package/lib/components/RadioButton/RadioButton.js.map +1 -1
  773. package/lib/components/RadioCheck/RadioCheck.d.ts +2 -0
  774. package/lib/components/RadioCheck/RadioCheck.d.ts.map +1 -1
  775. package/lib/components/RadioCheck/RadioCheck.js +6 -5
  776. package/lib/components/RadioCheck/RadioCheck.js.map +1 -1
  777. package/lib/components/RadioCheckGroup/RadioCheckGroup.d.ts +3 -0
  778. package/lib/components/RadioCheckGroup/RadioCheckGroup.d.ts.map +1 -1
  779. package/lib/components/RadioCheckGroup/RadioCheckGroup.js +1 -1
  780. package/lib/components/RadioCheckGroup/RadioCheckGroup.js.map +1 -1
  781. package/lib/components/RadioCheckGroup/index.d.ts +1 -1
  782. package/lib/components/RadioCheckGroup/index.d.ts.map +1 -1
  783. package/lib/components/RadioCheckGroup/index.js +1 -1
  784. package/lib/components/RadioCheckGroup/index.js.map +1 -1
  785. package/lib/components/SearchInput/SearchInput.d.ts +24 -8
  786. package/lib/components/SearchInput/SearchInput.d.ts.map +1 -1
  787. package/lib/components/SearchInput/SearchInput.js +127 -94
  788. package/lib/components/SearchInput/SearchInput.js.map +1 -1
  789. package/lib/components/SearchInput/SearchInput.styles.d.ts +16 -0
  790. package/lib/components/SearchInput/SearchInput.styles.d.ts.map +1 -0
  791. package/lib/components/SearchInput/SearchInput.styles.js +129 -0
  792. package/lib/components/SearchInput/SearchInput.styles.js.map +1 -0
  793. package/lib/components/SearchInput/index.d.ts +1 -1
  794. package/lib/components/SearchInput/index.d.ts.map +1 -1
  795. package/lib/components/SearchInput/index.js +1 -1
  796. package/lib/components/SearchInput/index.js.map +1 -1
  797. package/lib/components/Select/Select.d.ts +5 -0
  798. package/lib/components/Select/Select.d.ts.map +1 -1
  799. package/lib/components/Select/Select.js +14 -5
  800. package/lib/components/Select/Select.js.map +1 -1
  801. package/lib/components/Skeleton/ParagraphSkeleton.d.ts.map +1 -1
  802. package/lib/components/Skeleton/ParagraphSkeleton.js +2 -2
  803. package/lib/components/Skeleton/ParagraphSkeleton.js.map +1 -1
  804. package/lib/components/SkipLinks/SkipLinks.d.ts +15 -0
  805. package/lib/components/SkipLinks/SkipLinks.d.ts.map +1 -0
  806. package/lib/components/SkipLinks/SkipLinks.js +67 -0
  807. package/lib/components/SkipLinks/SkipLinks.js.map +1 -0
  808. package/lib/components/SkipLinks/index.d.ts +4 -0
  809. package/lib/components/SkipLinks/index.d.ts.map +1 -0
  810. package/lib/components/SkipLinks/index.js +3 -0
  811. package/lib/components/SkipLinks/index.js.map +1 -0
  812. package/lib/components/Slider/Slider.styles.d.ts +1 -1
  813. package/lib/components/SummaryItem/SummaryItem.d.ts +2 -2
  814. package/lib/components/SummaryList/ViewAll.d.ts.map +1 -1
  815. package/lib/components/SummaryList/ViewAll.js +6 -2
  816. package/lib/components/SummaryList/ViewAll.js.map +1 -1
  817. package/lib/components/Tabs/Tab.d.ts.map +1 -1
  818. package/lib/components/Tabs/Tab.js +0 -1
  819. package/lib/components/Tabs/Tab.js.map +1 -1
  820. package/lib/components/Tabs/TabPanel.d.ts.map +1 -1
  821. package/lib/components/Tabs/TabPanel.js +1 -7
  822. package/lib/components/Tabs/TabPanel.js.map +1 -1
  823. package/lib/components/Tabs/Tabs.d.ts.map +1 -1
  824. package/lib/components/Tabs/Tabs.js +1 -1
  825. package/lib/components/Tabs/Tabs.js.map +1 -1
  826. package/lib/components/Text/Text.js +2 -2
  827. package/lib/components/Text/Text.js.map +1 -1
  828. package/lib/components/TextArea/TextArea.d.ts.map +1 -1
  829. package/lib/components/TextArea/TextArea.js +8 -3
  830. package/lib/components/TextArea/TextArea.js.map +1 -1
  831. package/lib/components/Toaster/Context.d.ts +7 -0
  832. package/lib/components/Toaster/Context.d.ts.map +1 -0
  833. package/lib/components/Toaster/Context.js +6 -0
  834. package/lib/components/Toaster/Context.js.map +1 -0
  835. package/lib/components/Toaster/Toaster.d.ts +8 -40
  836. package/lib/components/Toaster/Toaster.d.ts.map +1 -1
  837. package/lib/components/Toaster/Toaster.js +12 -12
  838. package/lib/components/Toaster/Toaster.js.map +1 -1
  839. package/lib/components/Toaster/Toaster.types.d.ts +31 -0
  840. package/lib/components/Toaster/Toaster.types.d.ts.map +1 -0
  841. package/lib/components/Toaster/Toaster.types.js +2 -0
  842. package/lib/components/Toaster/Toaster.types.js.map +1 -0
  843. package/lib/components/Toaster/index.d.ts +1 -2
  844. package/lib/components/Toaster/index.d.ts.map +1 -1
  845. package/lib/components/Toaster/index.js +0 -1
  846. package/lib/components/Toaster/index.js.map +1 -1
  847. package/lib/components/Tooltip/Tooltip.d.ts +5 -0
  848. package/lib/components/Tooltip/Tooltip.d.ts.map +1 -1
  849. package/lib/components/Tooltip/Tooltip.js +23 -5
  850. package/lib/components/Tooltip/Tooltip.js.map +1 -1
  851. package/lib/components/Tree/StandardTree.d.ts.map +1 -1
  852. package/lib/components/Tree/StandardTree.js +27 -13
  853. package/lib/components/Tree/StandardTree.js.map +1 -1
  854. package/lib/components/Tree/StandardTree.styles.js +3 -3
  855. package/lib/components/Tree/StandardTree.styles.js.map +1 -1
  856. package/lib/components/Tree/StandardTree.types.d.ts +1 -0
  857. package/lib/components/Tree/StandardTree.types.d.ts.map +1 -1
  858. package/lib/components/Tree/StandardTree.types.js.map +1 -1
  859. package/lib/hooks/index.d.ts +3 -0
  860. package/lib/hooks/index.d.ts.map +1 -1
  861. package/lib/hooks/index.js +3 -0
  862. package/lib/hooks/index.js.map +1 -1
  863. package/lib/hooks/useActiveDescendant.d.ts +5 -1
  864. package/lib/hooks/useActiveDescendant.d.ts.map +1 -1
  865. package/lib/hooks/useActiveDescendant.js +175 -99
  866. package/lib/hooks/useActiveDescendant.js.map +1 -1
  867. package/lib/hooks/useAutoResize.d.ts +1 -1
  868. package/lib/hooks/useAutoResize.d.ts.map +1 -1
  869. package/lib/hooks/useAutoResize.js +14 -6
  870. package/lib/hooks/useAutoResize.js.map +1 -1
  871. package/lib/hooks/useBreakpoint.d.ts +3 -2
  872. package/lib/hooks/useBreakpoint.d.ts.map +1 -1
  873. package/lib/hooks/useBreakpoint.js +10 -13
  874. package/lib/hooks/useBreakpoint.js.map +1 -1
  875. package/lib/hooks/useConfiguration.d.ts +1 -0
  876. package/lib/hooks/useConfiguration.d.ts.map +1 -1
  877. package/lib/hooks/useConfiguration.js +9 -2
  878. package/lib/hooks/useConfiguration.js.map +1 -1
  879. package/lib/hooks/useDraggable.d.ts +1 -1
  880. package/lib/hooks/useDraggable.d.ts.map +1 -1
  881. package/lib/hooks/useDraggable.js +35 -8
  882. package/lib/hooks/useDraggable.js.map +1 -1
  883. package/lib/hooks/useFocusWithin.d.ts.map +1 -1
  884. package/lib/hooks/useFocusWithin.js +0 -8
  885. package/lib/hooks/useFocusWithin.js.map +1 -1
  886. package/lib/hooks/useI18n.d.ts +131 -34
  887. package/lib/hooks/useI18n.d.ts.map +1 -1
  888. package/lib/hooks/useI18n.js +2 -1
  889. package/lib/hooks/useI18n.js.map +1 -1
  890. package/lib/hooks/useInputFormatter.d.ts.map +1 -1
  891. package/lib/hooks/useInputFormatter.js +5 -0
  892. package/lib/hooks/useInputFormatter.js.map +1 -1
  893. package/lib/hooks/useLongPress.d.ts +1 -1
  894. package/lib/hooks/useLongPress.d.ts.map +1 -1
  895. package/lib/hooks/useModalContext.d.ts +7 -0
  896. package/lib/hooks/useModalContext.d.ts.map +1 -0
  897. package/lib/hooks/useModalContext.js +12 -0
  898. package/lib/hooks/useModalContext.js.map +1 -0
  899. package/lib/hooks/useModalManager.d.ts +8 -0
  900. package/lib/hooks/useModalManager.d.ts.map +1 -0
  901. package/lib/hooks/useModalManager.js +16 -0
  902. package/lib/hooks/useModalManager.js.map +1 -0
  903. package/lib/hooks/useOS.d.ts.map +1 -1
  904. package/lib/hooks/useOS.js +1 -2
  905. package/lib/hooks/useOS.js.map +1 -1
  906. package/lib/hooks/useScrollStick.d.ts +1 -1
  907. package/lib/hooks/useScrollStick.d.ts.map +1 -1
  908. package/lib/hooks/useToaster.d.ts +8 -0
  909. package/lib/hooks/useToaster.d.ts.map +1 -0
  910. package/lib/hooks/useToaster.js +16 -0
  911. package/lib/hooks/useToaster.js.map +1 -0
  912. package/lib/hooks/useTransitionState.js +1 -1
  913. package/lib/hooks/useTransitionState.js.map +1 -1
  914. package/lib/i18n/default.d.ts +131 -34
  915. package/lib/i18n/default.d.ts.map +1 -1
  916. package/lib/i18n/default.js +154 -47
  917. package/lib/i18n/default.js.map +1 -1
  918. package/lib/i18n/i18n.d.ts +127 -698
  919. package/lib/i18n/i18n.d.ts.map +1 -1
  920. package/lib/i18n/translate.d.ts +3 -0
  921. package/lib/i18n/translate.d.ts.map +1 -1
  922. package/lib/i18n/translate.js.map +1 -1
  923. package/lib/index.d.ts +9 -2
  924. package/lib/index.d.ts.map +1 -1
  925. package/lib/index.js +9 -2
  926. package/lib/index.js.map +1 -1
  927. package/lib/init.d.ts +8 -0
  928. package/lib/init.d.ts.map +1 -0
  929. package/lib/init.js +5 -0
  930. package/lib/init.js.map +1 -0
  931. package/lib/register-contexts.d.ts +2 -0
  932. package/lib/register-contexts.d.ts.map +1 -0
  933. package/lib/register-contexts.js +10 -0
  934. package/lib/register-contexts.js.map +1 -0
  935. package/lib/styles/utils.d.ts +1 -1
  936. package/lib/styles/utils.d.ts.map +1 -1
  937. package/lib/styles/utils.js.map +1 -1
  938. package/lib/theme/ThemeMachine.d.ts +11 -3
  939. package/lib/theme/ThemeMachine.d.ts.map +1 -1
  940. package/lib/theme/ThemeMachine.js +28 -26
  941. package/lib/theme/ThemeMachine.js.map +1 -1
  942. package/lib/theme/index.d.ts +1 -0
  943. package/lib/theme/index.d.ts.map +1 -1
  944. package/lib/theme/index.js +1 -0
  945. package/lib/theme/index.js.map +1 -1
  946. package/lib/theme/theme.d.ts +54 -0
  947. package/lib/theme/theme.d.ts.map +1 -1
  948. package/lib/theme/themeDefinition.json +33 -1
  949. package/lib/theme/themeOverrides.schema.json +9 -0
  950. package/lib/theme/themes/buildTheme.json +0 -3
  951. package/lib/theme/themes/darkTheme.json +3 -1
  952. package/lib/theme/themes/legacyBuildTheme.json +0 -3
  953. package/lib/theme/themes/wssTheme.json +6 -0
  954. package/lib/types/types.d.ts +3 -0
  955. package/lib/types/types.d.ts.map +1 -1
  956. package/lib/types/types.js.map +1 -1
  957. package/lib/utils/utils.d.ts +5 -0
  958. package/lib/utils/utils.d.ts.map +1 -1
  959. package/lib/utils/utils.js +23 -0
  960. package/lib/utils/utils.js.map +1 -1
  961. package/package.json +10 -5
  962. package/lib/components/AppShell/SkipNavigation.d.ts +0 -4
  963. package/lib/components/AppShell/SkipNavigation.d.ts.map +0 -1
  964. package/lib/components/AppShell/SkipNavigation.js +0 -61
  965. package/lib/components/AppShell/SkipNavigation.js.map +0 -1
  966. package/lib/components/Currency/currencyCodes.d.ts +0 -3
  967. package/lib/components/Currency/currencyCodes.d.ts.map +0 -1
  968. package/lib/components/Currency/currencyCodes.js +0 -182
  969. package/lib/components/Currency/currencyCodes.js.map +0 -1
  970. package/lib/components/DateTime/types.d.ts +0 -9
  971. package/lib/components/DateTime/types.d.ts.map +0 -1
  972. package/lib/components/DateTime/types.js +0 -2
  973. package/lib/components/DateTime/types.js.map +0 -1
  974. package/lib/components/Icon/icons/script-solid.icon.d.ts.map +0 -1
  975. package/lib/components/Icon/icons/script-solid.icon.js +0 -6
  976. package/lib/components/Icon/icons/script-solid.icon.js.map +0 -1
  977. package/lib/components/MultiStep/MultiStep.d.ts +0 -6
  978. package/lib/components/MultiStep/MultiStep.d.ts.map +0 -1
  979. package/lib/components/MultiStep/MultiStep.js.map +0 -1
  980. package/lib/components/MultiStep/MultiStep.styles.d.ts.map +0 -1
  981. package/lib/components/MultiStep/MultiStep.styles.js.map +0 -1
  982. package/lib/components/MultiStep/MultiStep.types.d.ts +0 -36
  983. package/lib/components/MultiStep/MultiStep.types.d.ts.map +0 -1
  984. package/lib/components/MultiStep/MultiStep.types.js +0 -2
  985. package/lib/components/MultiStep/MultiStep.types.js.map +0 -1
  986. package/lib/components/MultiStep/index.d.ts +0 -3
  987. package/lib/components/MultiStep/index.d.ts.map +0 -1
  988. package/lib/components/MultiStep/index.js +0 -2
  989. package/lib/components/MultiStep/index.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { ChangeEvent, ReactNode } from 'react';
1
+ import { ChangeEvent, ReactNode, Ref, KeyboardEvent as ReactKeyboardEvent } from 'react';
2
2
  import type { NoChildrenProp } from '../../types';
3
3
  import { FormControlProps } from '../FormControl';
4
4
  import { MenuItemProps, MenuProps } from '../Menu/Menu.types';
@@ -53,6 +53,8 @@ export default interface ComboBoxProps extends NoChildrenProp {
53
53
  * Note, behavior will be enhanced in an upcoming release and the input will be the only focusable element.
54
54
  */
55
55
  onBlur?: (selected?: Selected | Selected[]) => void;
56
+ /** Callback fired when AI suggestion is accepted/rejected */
57
+ onResolveSuggestion?: FormControlProps['onResolveSuggestion'];
56
58
  /** Automatically focuses the input on render. */
57
59
  autoFocus?: boolean;
58
60
  /**
@@ -66,11 +68,19 @@ export default interface ComboBoxProps extends NoChildrenProp {
66
68
  onDropdownButtonClick?: (open: boolean) => void;
67
69
  /** Fired when user clicks on the Combobox input. */
68
70
  onClick?: (e: MouseEvent) => void;
71
+ /** Fired before running default component onKeyDown handler.
72
+ * Returning `false` from this function prevents default onKeyDown handling.
73
+ */
74
+ onKeyDown?: (e: ReactKeyboardEvent) => boolean | void;
69
75
  /** Action Buttons that will render within the input. */
70
76
  actions?: ReactNode;
71
77
  /** Menu related props. @see MenuProps */
72
78
  menu?: MenuProps;
73
79
  /** A visual which represents the selected item. */
74
80
  visual?: ReactNode;
81
+ /** Pass a heading and content to show additional information on the field. */
82
+ additionalInfo?: FormControlProps['additionalInfo'];
83
+ /** Reference to the element. */
84
+ ref?: Ref<HTMLDivElement>;
75
85
  }
76
86
  //# sourceMappingURL=ComboBox.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBox.types.d.ts","sourceRoot":"","sources":["../../../src/components/ComboBox/ComboBox.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,CAAC,OAAO,WAAW,aAAc,SAAQ,cAAc;IAC3D;;;OAGG;IACH,EAAE,CAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC5B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClC,uCAAuC;IACvC,WAAW,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC9C,wEAAwE;IACxE,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxC,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxC,yFAAyF;IACzF,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxC,+FAA+F;IAC/F,IAAI,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChC,oDAAoD;IACpD,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpC,6GAA6G;IAC7G,IAAI,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChC,uBAAuB;IACvB,WAAW,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC9C;;;OAGG;IACH,IAAI,CAAC,EAAE,eAAe,GAAG,cAAc,CAAC;IACxC,sFAAsF;IACtF,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC;QAC9B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QAC5D,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KAChC,CAAC;IACF,6CAA6C;IAC7C,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClC,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACtD,0DAA0D;IAC1D,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,KAAK,IAAI,CAAC;IACrD;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,KAAK,IAAI,CAAC;IACpD,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,oDAAoD;IACpD,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IAClC,wDAAwD;IACxD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,yCAAyC;IACzC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,mDAAmD;IACnD,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB"}
1
+ {"version":3,"file":"ComboBox.types.d.ts","sourceRoot":"","sources":["../../../src/components/ComboBox/ComboBox.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBox.types.js","sourceRoot":"","sources":["../../../src/components/ComboBox/ComboBox.types.ts"],"names":[],"mappings":"","sourcesContent":["import { ChangeEvent, ReactNode } from 'react';\n\nimport type { NoChildrenProp } from '../../types';\nimport { FormControlProps } from '../FormControl';\nimport { MenuItemProps, MenuProps } from '../Menu/Menu.types';\n\nexport interface Selected {\n id: string;\n text: string;\n}\n\nexport default interface ComboBoxProps extends NoChildrenProp {\n /**\n * Sets DOM id for the control and associates label element via 'for' attribute.\n * If an id is not pass, a random id will be generated for any render.\n */\n id?: FormControlProps['id'];\n /** Pass a string or a fragment with an Icon and string. */\n label?: FormControlProps['label'];\n /** Visually hides the label region. */\n labelHidden?: FormControlProps['labelHidden'];\n /** Indicate if the field is required. The browser defaults to false. */\n required?: FormControlProps['required'];\n /** Disable the control. The browser defaults to false. */\n disabled?: FormControlProps['disabled'];\n /** Makes the component non editable and non clickable. The browser defaults to false. */\n readOnly?: FormControlProps['readOnly'];\n /** Sets html name attribute for the underlying control. Useful for mapping to a data field. */\n name?: FormControlProps['name'];\n /** Set visual state based on a validation state. */\n status?: FormControlProps['status'];\n /** It is recommended to pass a simple string to offer guidance. Text will be styled based on status prop. */\n info?: FormControlProps['info'];\n /** Placeholder text */\n placeholder?: FormControlProps['placeholder'];\n /**\n * Whether it is single selection or multi selection combobox.\n * @default 'single-select'\n */\n mode?: 'single-select' | 'multi-select';\n /** Currently selected option, single for single-select, an array for multi-select. */\n selected?: {\n items?: Selected | Selected[];\n onRemove?: (id: MenuItemProps['id'], index: number) => void;\n onNew?: (text: string) => void;\n };\n /** Value of the combobox filtering input. */\n value?: FormControlProps['value'];\n /** Callback fired when the filtering input value changes. */\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n /** Callback fired when the ComboBox input gains focus. */\n onFocus?: (selected?: Selected | Selected[]) => void;\n /**\n * Callback fired when the ComboBox looses focus within its containing element.\n * This is not specific to the input element.\n * Note, behavior will be enhanced in an upcoming release and the input will be the only focusable element.\n */\n onBlur?: (selected?: Selected | Selected[]) => void;\n /** Automatically focuses the input on render. */\n autoFocus?: boolean;\n /**\n * Fired when the user clicks on the dropdown icon to initiate opening the menu.\n * If you want to offer default menu items without an input value, pass this function.\n * This function can be an appropriate time to fetch menu item data.\n * Remember to set the loading prop to true when when fetching data for an empty list.\n *\n * @param open value defining whether the click opens or closes the menu\n */\n onDropdownButtonClick?: (open: boolean) => void;\n /** Fired when user clicks on the Combobox input. */\n onClick?: (e: MouseEvent) => void;\n /** Action Buttons that will render within the input. */\n actions?: ReactNode;\n /** Menu related props. @see MenuProps */\n menu?: MenuProps;\n /** A visual which represents the selected item. */\n visual?: ReactNode;\n}\n"]}
1
+ {"version":3,"file":"ComboBox.types.js","sourceRoot":"","sources":["../../../src/components/ComboBox/ComboBox.types.ts"],"names":[],"mappings":"","sourcesContent":["import { ChangeEvent, ReactNode, Ref, KeyboardEvent as ReactKeyboardEvent } from 'react';\n\nimport type { NoChildrenProp } from '../../types';\nimport { FormControlProps } from '../FormControl';\nimport { MenuItemProps, MenuProps } from '../Menu/Menu.types';\n\nexport interface Selected {\n id: string;\n text: string;\n}\n\nexport default interface ComboBoxProps extends NoChildrenProp {\n /**\n * Sets DOM id for the control and associates label element via 'for' attribute.\n * If an id is not pass, a random id will be generated for any render.\n */\n id?: FormControlProps['id'];\n /** Pass a string or a fragment with an Icon and string. */\n label?: FormControlProps['label'];\n /** Visually hides the label region. */\n labelHidden?: FormControlProps['labelHidden'];\n /** Indicate if the field is required. The browser defaults to false. */\n required?: FormControlProps['required'];\n /** Disable the control. The browser defaults to false. */\n disabled?: FormControlProps['disabled'];\n /** Makes the component non editable and non clickable. The browser defaults to false. */\n readOnly?: FormControlProps['readOnly'];\n /** Sets html name attribute for the underlying control. Useful for mapping to a data field. */\n name?: FormControlProps['name'];\n /** Set visual state based on a validation state. */\n status?: FormControlProps['status'];\n /** It is recommended to pass a simple string to offer guidance. Text will be styled based on status prop. */\n info?: FormControlProps['info'];\n /** Placeholder text */\n placeholder?: FormControlProps['placeholder'];\n /**\n * Whether it is single selection or multi selection combobox.\n * @default 'single-select'\n */\n mode?: 'single-select' | 'multi-select';\n /** Currently selected option, single for single-select, an array for multi-select. */\n selected?: {\n items?: Selected | Selected[];\n onRemove?: (id: MenuItemProps['id'], index: number) => void;\n onNew?: (text: string) => void;\n };\n /** Value of the combobox filtering input. */\n value?: FormControlProps['value'];\n /** Callback fired when the filtering input value changes. */\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n /** Callback fired when the ComboBox input gains focus. */\n onFocus?: (selected?: Selected | Selected[]) => void;\n /**\n * Callback fired when the ComboBox looses focus within its containing element.\n * This is not specific to the input element.\n * Note, behavior will be enhanced in an upcoming release and the input will be the only focusable element.\n */\n onBlur?: (selected?: Selected | Selected[]) => void;\n /** Callback fired when AI suggestion is accepted/rejected */\n onResolveSuggestion?: FormControlProps['onResolveSuggestion'];\n /** Automatically focuses the input on render. */\n autoFocus?: boolean;\n /**\n * Fired when the user clicks on the dropdown icon to initiate opening the menu.\n * If you want to offer default menu items without an input value, pass this function.\n * This function can be an appropriate time to fetch menu item data.\n * Remember to set the loading prop to true when when fetching data for an empty list.\n *\n * @param open value defining whether the click opens or closes the menu\n */\n onDropdownButtonClick?: (open: boolean) => void;\n /** Fired when user clicks on the Combobox input. */\n onClick?: (e: MouseEvent) => void;\n /** Fired before running default component onKeyDown handler.\n * Returning `false` from this function prevents default onKeyDown handling.\n */\n onKeyDown?: (e: ReactKeyboardEvent) => boolean | void;\n /** Action Buttons that will render within the input. */\n actions?: ReactNode;\n /** Menu related props. @see MenuProps */\n menu?: MenuProps;\n /** A visual which represents the selected item. */\n visual?: ReactNode;\n /** Pass a heading and content to show additional information on the field. */\n additionalInfo?: FormControlProps['additionalInfo'];\n /** Reference to the element. */\n ref?: Ref<HTMLDivElement>;\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import { FunctionComponent } from 'react';
2
2
  import { BaseProps, ForwardProps } from '../../types';
3
3
  import { MenuItemProps } from '../Menu/Menu.types';
4
+ import type { MultiSelectInputProps } from './MultiSelectInput/MultiSelectInput.types';
4
5
  import ComboBoxProps, { Selected } from './ComboBox.types';
5
6
  interface ComboBoxInputProps extends BaseProps {
6
7
  mode?: 'multi-select' | 'single-select';
@@ -8,6 +9,12 @@ interface ComboBoxInputProps extends BaseProps {
8
9
  value?: ComboBoxProps['value'];
9
10
  visual?: ComboBoxProps['visual'];
10
11
  onRemove?: (id: MenuItemProps['id'], index: number) => void;
12
+ /** Callback on selected item pseudo focus */
13
+ onSelectedFocus?: MultiSelectInputProps['onSelectedFocus'];
14
+ /** Callback on selected item pseudo blur */
15
+ onSelectedBlur?: MultiSelectInputProps['onSelectedBlur'];
16
+ /** Pause evaluation of selected item descendants */
17
+ pauseDescendantEvaluation?: MultiSelectInputProps['pauseDescendantEvaluation'];
11
18
  }
12
19
  declare const ComboBoxInput: FunctionComponent<ComboBoxInputProps & ForwardProps>;
13
20
  export default ComboBoxInput;
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBoxInput.d.ts","sourceRoot":"","sources":["../../../src/components/ComboBox/ComboBoxInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAwB,MAAM,OAAO,CAAC;AAE5E,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,OAAO,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE3D,UAAU,kBAAmB,SAAQ,SAAS;IAC5C,IAAI,CAAC,EAAE,cAAc,GAAG,eAAe,CAAC;IACxC,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7D;AAED,QAAA,MAAM,aAAa,EAAE,iBAAiB,CAAC,kBAAkB,GAAG,YAAY,CAwBvE,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ComboBoxInput.d.ts","sourceRoot":"","sources":["../../../src/components/ComboBox/ComboBoxInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAwB,MAAM,OAAO,CAAC;AAE5E,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE3D,UAAU,kBAAmB,SAAQ,SAAS;IAC5C,IAAI,CAAC,EAAE,cAAc,GAAG,eAAe,CAAC;IACxC,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,6CAA6C;IAC7C,eAAe,CAAC,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IAC3D,4CAA4C;IAC5C,cAAc,CAAC,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IACzD,oDAAoD;IACpD,yBAAyB,CAAC,EAAE,qBAAqB,CAAC,2BAA2B,CAAC,CAAC;CAChF;AAED,QAAA,MAAM,aAAa,EAAE,iBAAiB,CAAC,kBAAkB,GAAG,YAAY,CAqCvE,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -3,10 +3,13 @@ import { forwardRef } from 'react';
3
3
  import SingleSelectInput from './SingleSelectInput/SingleSelectInput';
4
4
  import MultiSelectInput from './MultiSelectInput/MultiSelectInput';
5
5
  const ComboBoxInput = forwardRef((props, ref) => {
6
- const { value, mode, selected, visual, onRemove, ...restProps } = props;
6
+ const { value, mode, selected, visual, onRemove, onSelectedFocus, onSelectedBlur, pauseDescendantEvaluation, ...restProps } = props;
7
7
  return mode === 'multi-select' ? (_jsx(MultiSelectInput, { selected: selected, value: value, ...{
8
8
  ref,
9
- onRemove
9
+ onRemove,
10
+ onSelectedBlur,
11
+ onSelectedFocus,
12
+ pauseDescendantEvaluation
10
13
  }, ...restProps })) : (_jsx(SingleSelectInput, { ref: ref, selected: selected, value: value, visual: visual, ...restProps }));
11
14
  });
12
15
  export default ComboBoxInput;
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBoxInput.js","sourceRoot":"","sources":["../../../src/components/ComboBox/ComboBoxInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAA2C,MAAM,OAAO,CAAC;AAK5E,OAAO,iBAAiB,MAAM,uCAAuC,CAAC;AACtE,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AAWnE,MAAM,aAAa,GAAyD,UAAU,CACpF,CAAC,KAA0C,EAAE,GAA0B,EAAE,EAAE;IACzE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAExE,OAAO,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,CAC/B,KAAC,gBAAgB,IACf,QAAQ,EAAE,QAAsB,EAChC,KAAK,EAAE,KAAK,KACR;YACF,GAAG;YACH,QAAQ;SACT,KACG,SAAS,GACb,CACH,CAAC,CAAC,CAAC,CACF,KAAC,iBAAiB,IAChB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAoB,EAC9B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,KACV,SAAS,GACb,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["import { forwardRef, FunctionComponent, Ref, PropsWithoutRef } from 'react';\n\nimport { BaseProps, ForwardProps } from '../../types';\nimport { MenuItemProps } from '../Menu/Menu.types';\n\nimport SingleSelectInput from './SingleSelectInput/SingleSelectInput';\nimport MultiSelectInput from './MultiSelectInput/MultiSelectInput';\nimport ComboBoxProps, { Selected } from './ComboBox.types';\n\ninterface ComboBoxInputProps extends BaseProps {\n mode?: 'multi-select' | 'single-select';\n selected?: Selected | Selected[];\n value?: ComboBoxProps['value'];\n visual?: ComboBoxProps['visual'];\n onRemove?: (id: MenuItemProps['id'], index: number) => void;\n}\n\nconst ComboBoxInput: FunctionComponent<ComboBoxInputProps & ForwardProps> = forwardRef(\n (props: PropsWithoutRef<ComboBoxInputProps>, ref: Ref<HTMLInputElement>) => {\n const { value, mode, selected, visual, onRemove, ...restProps } = props;\n\n return mode === 'multi-select' ? (\n <MultiSelectInput\n selected={selected as Selected[]}\n value={value}\n {...{\n ref,\n onRemove\n }}\n {...restProps}\n />\n ) : (\n <SingleSelectInput\n ref={ref}\n selected={selected as Selected}\n value={value}\n visual={visual}\n {...restProps}\n />\n );\n }\n);\n\nexport default ComboBoxInput;\n"]}
1
+ {"version":3,"file":"ComboBoxInput.js","sourceRoot":"","sources":["../../../src/components/ComboBox/ComboBoxInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAA2C,MAAM,OAAO,CAAC;AAK5E,OAAO,iBAAiB,MAAM,uCAAuC,CAAC;AACtE,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AAkBnE,MAAM,aAAa,GAAyD,UAAU,CACpF,CAAC,KAA0C,EAAE,GAA0B,EAAE,EAAE;IACzE,MAAM,EACJ,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;IAEV,OAAO,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,CAC/B,KAAC,gBAAgB,IACf,QAAQ,EAAE,QAAsB,EAChC,KAAK,EAAE,KAAK,KACR;YACF,GAAG;YACH,QAAQ;YACR,cAAc;YACd,eAAe;YACf,yBAAyB;SAC1B,KACG,SAAS,GACb,CACH,CAAC,CAAC,CAAC,CACF,KAAC,iBAAiB,IAChB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAoB,EAC9B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,KACV,SAAS,GACb,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["import { forwardRef, FunctionComponent, Ref, PropsWithoutRef } from 'react';\n\nimport { BaseProps, ForwardProps } from '../../types';\nimport { MenuItemProps } from '../Menu/Menu.types';\n\nimport SingleSelectInput from './SingleSelectInput/SingleSelectInput';\nimport MultiSelectInput from './MultiSelectInput/MultiSelectInput';\nimport type { MultiSelectInputProps } from './MultiSelectInput/MultiSelectInput.types';\nimport ComboBoxProps, { Selected } from './ComboBox.types';\n\ninterface ComboBoxInputProps extends BaseProps {\n mode?: 'multi-select' | 'single-select';\n selected?: Selected | Selected[];\n value?: ComboBoxProps['value'];\n visual?: ComboBoxProps['visual'];\n onRemove?: (id: MenuItemProps['id'], index: number) => void;\n /** Callback on selected item pseudo focus */\n onSelectedFocus?: MultiSelectInputProps['onSelectedFocus'];\n /** Callback on selected item pseudo blur */\n onSelectedBlur?: MultiSelectInputProps['onSelectedBlur'];\n /** Pause evaluation of selected item descendants */\n pauseDescendantEvaluation?: MultiSelectInputProps['pauseDescendantEvaluation'];\n}\n\nconst ComboBoxInput: FunctionComponent<ComboBoxInputProps & ForwardProps> = forwardRef(\n (props: PropsWithoutRef<ComboBoxInputProps>, ref: Ref<HTMLInputElement>) => {\n const {\n value,\n mode,\n selected,\n visual,\n onRemove,\n onSelectedFocus,\n onSelectedBlur,\n pauseDescendantEvaluation,\n ...restProps\n } = props;\n\n return mode === 'multi-select' ? (\n <MultiSelectInput\n selected={selected as Selected[]}\n value={value}\n {...{\n ref,\n onRemove,\n onSelectedBlur,\n onSelectedFocus,\n pauseDescendantEvaluation\n }}\n {...restProps}\n />\n ) : (\n <SingleSelectInput\n ref={ref}\n selected={selected as Selected}\n value={value}\n visual={visual}\n {...restProps}\n />\n );\n }\n);\n\nexport default ComboBoxInput;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectInput.d.ts","sourceRoot":"","sources":["../../../../src/components/ComboBox/MultiSelectInput/MultiSelectInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAOlB,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAS9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,eAAO,MAAM,sBAAsB,yGAUjC,CAAC;AAIH,QAAA,MAAM,gBAAgB,EAAE,iBAAiB,CAAC,qBAAqB,GAAG,YAAY,CA2G7E,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"MultiSelectInput.d.ts","sourceRoot":"","sources":["../../../../src/components/ComboBox/MultiSelectInput/MultiSelectInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAUlB,MAAM,OAAO,CAAC;AAIf,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAkB9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,eAAO,MAAM,sBAAsB,yGAwBjC,CAAC;AAGH,QAAA,MAAM,gBAAgB,EAAE,iBAAiB,CAAC,qBAAqB,GAAG,YAAY,CA8N7E,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1,17 +1,33 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { forwardRef, useRef, useCallback } from 'react';
2
+ import { forwardRef, useRef, useCallback, useMemo, useState, useEffect } from 'react';
3
3
  import styled, { css } from 'styled-components';
4
+ import { transparentize } from 'polished';
4
5
  import { defaultThemeProp } from '../../../theme';
5
6
  import Selectable, { StyledSelectable } from '../../Badges/Selection';
6
7
  import { StyledFormControl } from '../../FormControl';
7
8
  import Flex from '../../Flex';
8
- import { useArrows, useConsolidatedRef, useDirection } from '../../../hooks';
9
- import { cap } from '../../../utils';
9
+ import { useConsolidatedRef, useActiveDescendant, useDirection, useI18n, useUID, useTheme } from '../../../hooks';
10
+ import { cap, tryCatch } from '../../../utils';
11
+ import { StyledBareButton } from '../../Button/BareButton';
12
+ import VisuallyHiddenText from '../../VisuallyHiddenText';
10
13
  import { StyledSelectInput } from '../ComboBox.styles';
11
14
  export const StyledMultiSelectInput = styled(StyledSelectInput)(({ theme }) => {
15
+ const { background } = theme.components.badges.selectable.base;
16
+ const { 'foreground-color': foreground } = theme.base.palette;
17
+ const boxShadowColor = tryCatch(() => transparentize(0.45, foreground));
12
18
  return css `
13
19
  ul {
14
20
  list-style: none;
21
+
22
+ &[data-active-scope='true'] ${StyledSelectable}[data-current='true'] {
23
+ color: ${theme.base.palette.interactive};
24
+ box-shadow: 0 0 0.5rem -0.125rem ${boxShadowColor}, inset 0 0 0 0.125rem ${background};
25
+ outline: none;
26
+
27
+ ${StyledBareButton} {
28
+ color: ${theme.base.palette.interactive};
29
+ }
30
+ }
15
31
  }
16
32
 
17
33
  ${StyledSelectable} {
@@ -21,48 +37,117 @@ export const StyledMultiSelectInput = styled(StyledSelectInput)(({ theme }) => {
21
37
  });
22
38
  StyledMultiSelectInput.defaultProps = defaultThemeProp;
23
39
  const MultiSelectInput = forwardRef((props, ref) => {
24
- const { selected = [], value, onRemove, onChange, onKeyDown, actions, readOnly, disabled, status, placeholder, autoFocus, ...restProps } = props;
40
+ const { selected = [], value, onRemove, onChange, onKeyDown, onResolveSuggestion, actions, readOnly, disabled, status, placeholder, autoFocus, pauseDescendantEvaluation, onSelectedFocus, onSelectedBlur, 'aria-controls': ariaControls, ...restProps } = props;
41
+ const t = useI18n();
42
+ const id = useUID();
43
+ const { base: { 'content-width': { xs: xsContentWidth } } } = useTheme();
25
44
  const inputRef = useConsolidatedRef(ref);
26
45
  const listRef = useRef(null);
27
- useArrows(listRef, {
28
- selector: 'div[role="button"], input',
29
- cycle: false,
30
- dir: 'left-right',
31
- allowTabFocus: false
32
- });
46
+ const [focusDescendant, setFocusDescendant] = useState(null);
47
+ const [activeItemId, setActiveItemId] = useState(null);
48
+ const { start, end } = useDirection();
49
+ const uadConfig = useMemo(() => ({
50
+ focusEl: inputRef.current,
51
+ scope: listRef.current,
52
+ selector: 'li[role="option"]',
53
+ orientation: 'horizontal',
54
+ focusReturnEl: focusDescendant,
55
+ clearFocusReturn: () => {
56
+ setFocusDescendant(null);
57
+ },
58
+ pauseDescendantEvaluation,
59
+ onClick: (el) => {
60
+ el.click();
61
+ }
62
+ }), [pauseDescendantEvaluation, selected, focusDescendant]);
63
+ const { activeDescendant } = useActiveDescendant(uadConfig, [selected]);
64
+ const handleSelectedRemoval = useCallback((selectionId, idx) => {
65
+ if (!pauseDescendantEvaluation) {
66
+ if (idx === selected.length - 1) {
67
+ // If removing last selected item
68
+ if (selected.length > 1) {
69
+ // If other selected items, focus previous
70
+ setFocusDescendant(listRef.current?.querySelectorAll(uadConfig.selector)[idx - 1] ||
71
+ null);
72
+ }
73
+ else {
74
+ // Blur selected if final only item removed
75
+ onSelectedBlur?.();
76
+ }
77
+ }
78
+ else if (selected.length > 1) {
79
+ // If not last item removed and other selected items, focus next
80
+ setFocusDescendant(listRef.current?.querySelectorAll(uadConfig.selector)[idx + 1] ||
81
+ null);
82
+ }
83
+ }
84
+ onRemove?.(selectionId, idx);
85
+ inputRef.current?.focus();
86
+ }, [selected, onRemove, onSelectedBlur, uadConfig]);
87
+ useEffect(() => {
88
+ // Maintain active item & prev. val only as it changes.
89
+ if (activeDescendant?.id && activeDescendant.id !== activeItemId) {
90
+ setActiveItemId(activeDescendant.id);
91
+ }
92
+ }, [activeDescendant]);
33
93
  const onInputKeyDown = useCallback((e) => {
34
- const lastIndex = selected.length - 1;
35
- if (e.key === 'Backspace' && !(readOnly || disabled) && !value && selected.length > 0) {
36
- onRemove?.(selected[lastIndex].id, lastIndex);
94
+ if (selected.length && inputRef.current?.selectionStart === 0) {
95
+ const lastIndex = selected.length - 1;
96
+ if (pauseDescendantEvaluation && e.key === `Arrow${cap(start)}`) {
97
+ setFocusDescendant(listRef.current?.querySelectorAll(uadConfig.selector)[lastIndex] ||
98
+ null);
99
+ onSelectedFocus?.();
100
+ }
101
+ const lastSelectableId = listRef.current?.querySelectorAll(uadConfig.selector)[lastIndex]
102
+ ?.id;
103
+ const onLastItem = activeItemId === lastSelectableId;
104
+ if (!pauseDescendantEvaluation &&
105
+ ((onLastItem && e.key === `Arrow${cap(end)}`) || e.key === 'ArrowDown')) {
106
+ onSelectedBlur?.();
107
+ }
108
+ if (['Backspace', 'Delete'].includes(e.key) && !(readOnly || disabled)) {
109
+ handleSelectedRemoval(selected[lastIndex].id, lastIndex);
110
+ }
37
111
  }
38
112
  onKeyDown?.(e);
39
- }, [onKeyDown, value, selected, readOnly, disabled]);
40
- const { end } = useDirection();
41
- return (_jsxs(Flex, { as: StyledMultiSelectInput, forwardedAs: StyledFormControl, container: { alignItems: 'center' }, ...{
113
+ }, [
114
+ pauseDescendantEvaluation,
115
+ activeItemId,
116
+ onKeyDown,
117
+ handleSelectedRemoval,
118
+ selected,
119
+ readOnly,
120
+ disabled
121
+ ]);
122
+ const ariaDescribedBy = useMemo(() => {
123
+ return onChange
124
+ ? `${id}-inputDescription ${id}-searchDescription`
125
+ : `${id}-inputDescription`;
126
+ }, [id]);
127
+ return (_jsxs(Flex, { as: StyledMultiSelectInput, forwardedAs: StyledFormControl, hasSuggestion: status === 'pending' && !!onResolveSuggestion, container: { alignItems: 'center', justify: 'between' }, ...{
42
128
  readOnly,
43
129
  disabled,
44
130
  status
45
- }, children: [_jsxs(Flex, { ref: listRef, as: 'ul', item: { grow: 1 }, container: { alignItems: 'center', wrap: 'wrap' }, onBlur: () => {
46
- if (inputRef.current)
47
- inputRef.current.tabIndex = 0;
48
- }, children: [selected.map((element, idx) => {
49
- return (_jsx("li", { children: _jsx(Selectable, { id: element.id, status: status, onRemove: readOnly || disabled
50
- ? undefined
51
- : id => {
52
- onRemove?.(id, idx);
53
- inputRef.current?.focus();
54
- }, onKeyDown: (e) => {
131
+ }, children: [_jsxs(Flex, { container: { wrap: 'wrap' }, item: { grow: 1 }, children: [selected.length > 0 && (_jsx(Flex, { ref: listRef, id: id, as: 'ul', role: 'listbox', container: { alignItems: 'center', wrap: 'wrap' }, "aria-label": t('selected_items'), children: selected.map((element, idx) => {
132
+ return (_jsx(Selectable, { as: 'li', role: 'option', id: element.id.toString(), status: status, onClick: e => {
133
+ const mouseClick = e.detail !== 0;
134
+ if (!readOnly && !disabled && !mouseClick) {
135
+ handleSelectedRemoval(element.id, idx);
136
+ }
137
+ }, onRemove: () => {
138
+ if (!readOnly && !disabled) {
139
+ handleSelectedRemoval(element.id, idx);
140
+ }
141
+ }, onKeyDown: (e) => {
55
142
  // prevent browser's Back on FF
56
143
  if (e.key === 'Backspace')
57
144
  e.preventDefault();
58
- if (idx === selected.length - 1 && e.key === `Arrow${cap(end)}`)
59
- inputRef.current?.focus();
60
- }, children: element.text }) }, element.id));
61
- }), _jsx(Flex, { as: 'li', role: 'presentation', item: { grow: 1 }, container: true, children: _jsx("input", { size: 5, ref: inputRef, value: value,
145
+ }, tabIndex: '-1', "aria-label": `${t('remove')} ${element.text}`, "aria-describedby": ariaDescribedBy, children: element.text }, element.id));
146
+ }) })), _jsx(Flex, { item: { grow: 1, basis: xsContentWidth }, children: _jsx("input", { size: 5, ref: inputRef, value: value,
62
147
  // no-op avoids react uncontrolled warning
63
148
  onChange: onChange || (() => { }), onKeyDown: onInputKeyDown, readOnly: readOnly || !onChange, disabled: disabled, placeholder: selected?.length ? undefined : placeholder, autoComplete: 'off',
64
149
  // eslint-disable-next-line jsx-a11y/no-autofocus
65
- autoFocus: autoFocus, ...restProps }) })] }), actions] }));
150
+ autoFocus: autoFocus, "aria-controls": !pauseDescendantEvaluation ? id : ariaControls, ...restProps }) })] }), actions, _jsx(VisuallyHiddenText, { id: `${id}-inputDescription`, children: `${t('combobox_open_close')} ` }), _jsx(VisuallyHiddenText, { id: `${id}-searchDescription`, children: t('combobox_search_instructions') })] }));
66
151
  });
67
152
  export default MultiSelectInput;
68
153
  //# sourceMappingURL=MultiSelectInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectInput.js","sourceRoot":"","sources":["../../../../src/components/ComboBox/MultiSelectInput/MultiSelectInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n FunctionComponent,\n forwardRef,\n Ref,\n PropsWithoutRef,\n KeyboardEvent,\n useRef,\n useCallback\n} from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { ForwardProps } from '../../../types';\nimport { defaultThemeProp } from '../../../theme';\nimport Selectable, { StyledSelectable } from '../../Badges/Selection';\nimport { StyledFormControl } from '../../FormControl';\nimport Flex from '../../Flex';\nimport { useArrows, useConsolidatedRef, useDirection } from '../../../hooks';\nimport { cap } from '../../../utils';\nimport { StyledSelectInput } from '../ComboBox.styles';\n\nimport { MultiSelectInputProps } from './MultiSelectInput.types';\n\nexport const StyledMultiSelectInput = styled(StyledSelectInput)(({ theme }) => {\n return css`\n ul {\n list-style: none;\n }\n\n ${StyledSelectable} {\n margin: calc(0.25 * ${theme.base.spacing});\n }\n `;\n});\n\nStyledMultiSelectInput.defaultProps = defaultThemeProp;\n\nconst MultiSelectInput: FunctionComponent<MultiSelectInputProps & ForwardProps> = forwardRef(\n (props: PropsWithoutRef<MultiSelectInputProps>, ref: Ref<HTMLInputElement>) => {\n const {\n selected = [],\n value,\n onRemove,\n onChange,\n onKeyDown,\n actions,\n readOnly,\n disabled,\n status,\n placeholder,\n autoFocus,\n ...restProps\n } = props;\n\n const inputRef = useConsolidatedRef<HTMLInputElement>(ref);\n const listRef = useRef<HTMLUListElement>(null);\n useArrows(listRef, {\n selector: 'div[role=\"button\"], input',\n cycle: false,\n dir: 'left-right',\n allowTabFocus: false\n });\n\n const onInputKeyDown = useCallback(\n (e: KeyboardEvent<HTMLInputElement>) => {\n const lastIndex = selected.length - 1;\n if (e.key === 'Backspace' && !(readOnly || disabled) && !value && selected.length > 0) {\n onRemove?.(selected[lastIndex].id, lastIndex);\n }\n onKeyDown?.(e);\n },\n [onKeyDown, value, selected, readOnly, disabled]\n );\n\n const { end } = useDirection();\n\n return (\n <Flex\n as={StyledMultiSelectInput}\n forwardedAs={StyledFormControl}\n container={{ alignItems: 'center' }}\n {...{\n readOnly,\n disabled,\n status\n }}\n >\n <Flex\n ref={listRef}\n as='ul'\n item={{ grow: 1 }}\n container={{ alignItems: 'center', wrap: 'wrap' }}\n onBlur={() => {\n if (inputRef.current) inputRef.current.tabIndex = 0;\n }}\n >\n {selected.map((element, idx) => {\n return (\n <li key={element.id}>\n <Selectable\n id={element.id}\n status={status}\n onRemove={\n readOnly || disabled\n ? undefined\n : id => {\n onRemove?.(id, idx);\n inputRef.current?.focus();\n }\n }\n onKeyDown={(e: KeyboardEvent<Element>) => {\n // prevent browser's Back on FF\n if (e.key === 'Backspace') e.preventDefault();\n if (idx === selected.length - 1 && e.key === `Arrow${cap(end)}`)\n inputRef.current?.focus();\n }}\n >\n {element.text}\n </Selectable>\n </li>\n );\n })}\n <Flex as='li' role='presentation' item={{ grow: 1 }} container>\n <input\n size={5}\n ref={inputRef}\n value={value}\n // no-op avoids react uncontrolled warning\n onChange={onChange || (() => {})}\n onKeyDown={onInputKeyDown}\n readOnly={readOnly || !onChange}\n disabled={disabled}\n placeholder={selected?.length ? undefined : placeholder}\n autoComplete='off'\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n {...restProps}\n />\n </Flex>\n </Flex>\n {actions}\n </Flex>\n );\n }\n);\n\nexport default MultiSelectInput;\n"]}
1
+ {"version":3,"file":"MultiSelectInput.js","sourceRoot":"","sources":["../../../../src/components/ComboBox/MultiSelectInput/MultiSelectInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n FunctionComponent,\n forwardRef,\n Ref,\n PropsWithoutRef,\n KeyboardEvent,\n useRef,\n useCallback,\n useMemo,\n useState,\n useEffect\n} from 'react';\nimport styled, { css } from 'styled-components';\nimport { transparentize } from 'polished';\n\nimport { ForwardProps } from '../../../types';\nimport { defaultThemeProp } from '../../../theme';\nimport Selectable, { StyledSelectable } from '../../Badges/Selection';\nimport { StyledFormControl } from '../../FormControl';\nimport Flex from '../../Flex';\nimport {\n useConsolidatedRef,\n useActiveDescendant,\n useDirection,\n useI18n,\n useUID,\n useTheme\n} from '../../../hooks';\nimport { cap, tryCatch } from '../../../utils';\nimport { StyledBareButton } from '../../Button/BareButton';\nimport VisuallyHiddenText from '../../VisuallyHiddenText';\nimport { StyledSelectInput } from '../ComboBox.styles';\n\nimport { MultiSelectInputProps } from './MultiSelectInput.types';\n\nexport const StyledMultiSelectInput = styled(StyledSelectInput)(({ theme }) => {\n const { background } = theme.components.badges.selectable.base;\n const { 'foreground-color': foreground } = theme.base.palette;\n const boxShadowColor = tryCatch(() => transparentize(0.45, foreground));\n\n return css`\n ul {\n list-style: none;\n\n &[data-active-scope='true'] ${StyledSelectable}[data-current='true'] {\n color: ${theme.base.palette.interactive};\n box-shadow: 0 0 0.5rem -0.125rem ${boxShadowColor}, inset 0 0 0 0.125rem ${background};\n outline: none;\n\n ${StyledBareButton} {\n color: ${theme.base.palette.interactive};\n }\n }\n }\n\n ${StyledSelectable} {\n margin: calc(0.25 * ${theme.base.spacing});\n }\n `;\n});\nStyledMultiSelectInput.defaultProps = defaultThemeProp;\n\nconst MultiSelectInput: FunctionComponent<MultiSelectInputProps & ForwardProps> = forwardRef(\n (props: PropsWithoutRef<MultiSelectInputProps>, ref: Ref<HTMLInputElement>) => {\n const {\n selected = [],\n value,\n onRemove,\n onChange,\n onKeyDown,\n onResolveSuggestion,\n actions,\n readOnly,\n disabled,\n status,\n placeholder,\n autoFocus,\n pauseDescendantEvaluation,\n onSelectedFocus,\n onSelectedBlur,\n 'aria-controls': ariaControls,\n ...restProps\n } = props;\n const t = useI18n();\n const id = useUID();\n const {\n base: {\n 'content-width': { xs: xsContentWidth }\n }\n } = useTheme();\n const inputRef = useConsolidatedRef<HTMLInputElement>(ref);\n const listRef = useRef<HTMLUListElement>(null);\n const [focusDescendant, setFocusDescendant] = useState<HTMLElement | null>(null);\n const [activeItemId, setActiveItemId] = useState<string | null>(null);\n const { start, end } = useDirection();\n\n const uadConfig = useMemo(\n () => ({\n focusEl: inputRef.current,\n scope: listRef.current,\n selector: 'li[role=\"option\"]',\n orientation: 'horizontal' as const,\n focusReturnEl: focusDescendant,\n clearFocusReturn: () => {\n setFocusDescendant(null);\n },\n pauseDescendantEvaluation,\n onClick: (el: HTMLElement) => {\n el.click();\n }\n }),\n [pauseDescendantEvaluation, selected, focusDescendant]\n );\n\n const { activeDescendant } = useActiveDescendant(uadConfig, [selected]);\n\n const handleSelectedRemoval = useCallback(\n (selectionId, idx) => {\n if (!pauseDescendantEvaluation) {\n if (idx === selected.length - 1) {\n // If removing last selected item\n if (selected.length > 1) {\n // If other selected items, focus previous\n setFocusDescendant(\n (listRef.current?.querySelectorAll(uadConfig.selector)[idx - 1] as HTMLElement) ||\n null\n );\n } else {\n // Blur selected if final only item removed\n onSelectedBlur?.();\n }\n } else if (selected.length > 1) {\n // If not last item removed and other selected items, focus next\n setFocusDescendant(\n (listRef.current?.querySelectorAll(uadConfig.selector)[idx + 1] as HTMLElement) ||\n null\n );\n }\n }\n onRemove?.(selectionId, idx);\n inputRef.current?.focus();\n },\n [selected, onRemove, onSelectedBlur, uadConfig]\n );\n\n useEffect(() => {\n // Maintain active item & prev. val only as it changes.\n if (activeDescendant?.id && activeDescendant.id !== activeItemId) {\n setActiveItemId(activeDescendant.id);\n }\n }, [activeDescendant]);\n\n const onInputKeyDown = useCallback(\n (e: KeyboardEvent<HTMLInputElement>) => {\n if (selected.length && inputRef.current?.selectionStart === 0) {\n const lastIndex = selected.length - 1;\n if (pauseDescendantEvaluation && e.key === `Arrow${cap(start)}`) {\n setFocusDescendant(\n (listRef.current?.querySelectorAll(uadConfig.selector)[lastIndex] as HTMLElement) ||\n null\n );\n onSelectedFocus?.();\n }\n\n const lastSelectableId = listRef.current?.querySelectorAll(uadConfig.selector)[lastIndex]\n ?.id;\n const onLastItem = activeItemId === lastSelectableId;\n\n if (\n !pauseDescendantEvaluation &&\n ((onLastItem && e.key === `Arrow${cap(end)}`) || e.key === 'ArrowDown')\n ) {\n onSelectedBlur?.();\n }\n\n if (['Backspace', 'Delete'].includes(e.key) && !(readOnly || disabled)) {\n handleSelectedRemoval(selected[lastIndex].id, lastIndex);\n }\n }\n onKeyDown?.(e);\n },\n [\n pauseDescendantEvaluation,\n activeItemId,\n onKeyDown,\n handleSelectedRemoval,\n selected,\n readOnly,\n disabled\n ]\n );\n\n const ariaDescribedBy = useMemo(() => {\n return onChange\n ? `${id}-inputDescription ${id}-searchDescription`\n : `${id}-inputDescription`;\n }, [id]);\n\n return (\n <Flex\n as={StyledMultiSelectInput}\n forwardedAs={StyledFormControl}\n hasSuggestion={status === 'pending' && !!onResolveSuggestion}\n container={{ alignItems: 'center', justify: 'between' }}\n {...{\n readOnly,\n disabled,\n status\n }}\n >\n <Flex container={{ wrap: 'wrap' }} item={{ grow: 1 }}>\n {selected.length > 0 && (\n <Flex\n ref={listRef}\n id={id}\n as='ul'\n role='listbox'\n container={{ alignItems: 'center', wrap: 'wrap' }}\n aria-label={t('selected_items')}\n >\n {selected.map((element, idx) => {\n return (\n <Selectable\n as='li'\n key={element.id}\n role='option'\n id={element.id.toString()}\n status={status}\n onClick={e => {\n const mouseClick = e.detail !== 0;\n\n if (!readOnly && !disabled && !mouseClick) {\n handleSelectedRemoval(element.id, idx);\n }\n }}\n onRemove={() => {\n if (!readOnly && !disabled) {\n handleSelectedRemoval(element.id, idx);\n }\n }}\n onKeyDown={(e: KeyboardEvent<Element>) => {\n // prevent browser's Back on FF\n if (e.key === 'Backspace') e.preventDefault();\n }}\n tabIndex='-1'\n aria-label={`${t('remove')} ${element.text}`}\n aria-describedby={ariaDescribedBy}\n >\n {element.text}\n </Selectable>\n );\n })}\n </Flex>\n )}\n <Flex item={{ grow: 1, basis: xsContentWidth }}>\n <input\n size={5}\n ref={inputRef}\n value={value}\n // no-op avoids react uncontrolled warning\n onChange={onChange || (() => {})}\n onKeyDown={onInputKeyDown}\n readOnly={readOnly || !onChange}\n disabled={disabled}\n placeholder={selected?.length ? undefined : placeholder}\n autoComplete='off'\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n aria-controls={!pauseDescendantEvaluation ? id : ariaControls}\n {...restProps}\n />\n </Flex>\n </Flex>\n {actions}\n\n <VisuallyHiddenText id={`${id}-inputDescription`}>\n {`${t('combobox_open_close')} `}\n </VisuallyHiddenText>\n <VisuallyHiddenText id={`${id}-searchDescription`}>\n {t('combobox_search_instructions')}\n </VisuallyHiddenText>\n </Flex>\n );\n }\n);\n\nexport default MultiSelectInput;\n"]}
@@ -15,6 +15,8 @@ export interface MultiSelectInputProps extends BaseProps {
15
15
  onChange?: (e: ChangeEvent<HTMLInputElement>) => void;
16
16
  /** Callback fired on every key stroke on input field. */
17
17
  onKeyDown?: (e: KeyboardEvent<HTMLInputElement>) => void;
18
+ /** Callback fired when AI suggestion is accepted/rejected */
19
+ onResolveSuggestion?: FormControlProps['onResolveSuggestion'];
18
20
  /** Makes the input non editable and non clickable. The browser defaults to false. */
19
21
  readOnly?: FormControlProps['readOnly'];
20
22
  /** Disable the control. The browser defaults to false. */
@@ -27,5 +29,13 @@ export interface MultiSelectInputProps extends BaseProps {
27
29
  actions?: ReactNode;
28
30
  /** Automatically focuses the input on render. */
29
31
  autoFocus?: boolean;
32
+ /** Pause evaluation of selected item descendants */
33
+ pauseDescendantEvaluation?: boolean;
34
+ /** Callback on selected item pseudo focus */
35
+ onSelectedFocus?: () => void;
36
+ /** Callback on selected item pseudo blur */
37
+ onSelectedBlur?: () => void;
38
+ /** ID of pseudo-focus container controlled by input (ex: list, menu) */
39
+ 'aria-controls'?: string;
30
40
  }
31
41
  //# sourceMappingURL=MultiSelectInput.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectInput.types.d.ts","sourceRoot":"","sources":["../../../../src/components/ComboBox/MultiSelectInput/MultiSelectInput.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,WAAW,qBAAsB,SAAQ,SAAS;IACtD,gDAAgD;IAChD,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,yEAAyE;IACzE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACtD,yDAAyD;IACzD,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACzD,qFAAqF;IACrF,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxC,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxC,oDAAoD;IACpD,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpC,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
1
+ {"version":3,"file":"MultiSelectInput.types.d.ts","sourceRoot":"","sources":["../../../../src/components/ComboBox/MultiSelectInput/MultiSelectInput.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,WAAW,qBAAsB,SAAQ,SAAS;IACtD,gDAAgD;IAChD,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,yEAAyE;IACzE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACtD,yDAAyD;IACzD,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACzD,6DAA6D;IAC7D,mBAAmB,CAAC,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IAC9D,qFAAqF;IACrF,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxC,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxC,oDAAoD;IACpD,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpC,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oDAAoD;IACpD,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,4CAA4C;IAC5C,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectInput.types.js","sourceRoot":"","sources":["../../../../src/components/ComboBox/MultiSelectInput/MultiSelectInput.types.ts"],"names":[],"mappings":"","sourcesContent":["import { ChangeEvent, KeyboardEvent, ReactNode } from 'react';\n\nimport { BaseProps } from '../../../types';\nimport { FormControlProps } from '../../FormControl';\nimport { Selected } from '../ComboBox.types';\n\nexport interface MultiSelectInputProps extends BaseProps {\n /** List of items to be represented as pills. */\n selected?: Selected[];\n /** Input value */\n value?: string;\n /** Callback fired when the list value is selected irrespective of the input value changes. */\n onRemove?: (id: string, index: number) => void;\n /** Callback invoked when user accepts custom value by pressing enter. */\n onNew?: (text: string) => void;\n /** Callback fired when internal input value changes. */\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n /** Callback fired on every key stroke on input field. */\n onKeyDown?: (e: KeyboardEvent<HTMLInputElement>) => void;\n /** Makes the input non editable and non clickable. The browser defaults to false. */\n readOnly?: FormControlProps['readOnly'];\n /** Disable the control. The browser defaults to false. */\n disabled?: FormControlProps['disabled'];\n /** Set visual state based on a validation state. */\n status?: FormControlProps['status'];\n /** Placeholder visible on empty input. */\n placeholder?: string;\n /** Additional actions related to the input. */\n actions?: ReactNode;\n /** Automatically focuses the input on render. */\n autoFocus?: boolean;\n}\n"]}
1
+ {"version":3,"file":"MultiSelectInput.types.js","sourceRoot":"","sources":["../../../../src/components/ComboBox/MultiSelectInput/MultiSelectInput.types.ts"],"names":[],"mappings":"","sourcesContent":["import { ChangeEvent, KeyboardEvent, ReactNode } from 'react';\n\nimport { BaseProps } from '../../../types';\nimport { FormControlProps } from '../../FormControl';\nimport { Selected } from '../ComboBox.types';\n\nexport interface MultiSelectInputProps extends BaseProps {\n /** List of items to be represented as pills. */\n selected?: Selected[];\n /** Input value */\n value?: string;\n /** Callback fired when the list value is selected irrespective of the input value changes. */\n onRemove?: (id: string, index: number) => void;\n /** Callback invoked when user accepts custom value by pressing enter. */\n onNew?: (text: string) => void;\n /** Callback fired when internal input value changes. */\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n /** Callback fired on every key stroke on input field. */\n onKeyDown?: (e: KeyboardEvent<HTMLInputElement>) => void;\n /** Callback fired when AI suggestion is accepted/rejected */\n onResolveSuggestion?: FormControlProps['onResolveSuggestion'];\n /** Makes the input non editable and non clickable. The browser defaults to false. */\n readOnly?: FormControlProps['readOnly'];\n /** Disable the control. The browser defaults to false. */\n disabled?: FormControlProps['disabled'];\n /** Set visual state based on a validation state. */\n status?: FormControlProps['status'];\n /** Placeholder visible on empty input. */\n placeholder?: string;\n /** Additional actions related to the input. */\n actions?: ReactNode;\n /** Automatically focuses the input on render. */\n autoFocus?: boolean;\n /** Pause evaluation of selected item descendants */\n pauseDescendantEvaluation?: boolean;\n /** Callback on selected item pseudo focus */\n onSelectedFocus?: () => void;\n /** Callback on selected item pseudo blur */\n onSelectedBlur?: () => void;\n /** ID of pseudo-focus container controlled by input (ex: list, menu) */\n 'aria-controls'?: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SingleSelectInput.d.ts","sourceRoot":"","sources":["../../../../src/components/ComboBox/SingleSelectInput/SingleSelectInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAwB,MAAM,OAAO,CAAC;AAM5E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,sBAAsB,MAAM,2BAA2B,CAAC;AAE/D,eAAO,MAAM,uBAAuB,yGAA8B,CAAC;AAuBnE,QAAA,MAAM,iBAAiB,EAAE,iBAAiB,CAAC,sBAAsB,GAAG,YAAY,CAuC/E,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"SingleSelectInput.d.ts","sourceRoot":"","sources":["../../../../src/components/ComboBox/SingleSelectInput/SingleSelectInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAwB,MAAM,OAAO,CAAC;AAM5E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,sBAAsB,MAAM,2BAA2B,CAAC;AAE/D,eAAO,MAAM,uBAAuB,yGAA8B,CAAC;AAuBnE,QAAA,MAAM,iBAAiB,EAAE,iBAAiB,CAAC,sBAAsB,GAAG,YAAY,CAkD/E,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -17,8 +17,8 @@ const StyledVisualContainer = styled.span(props => {
17
17
  });
18
18
  StyledVisualContainer.defaultProps = defaultThemeProp;
19
19
  const SingleSelectInput = forwardRef((props, ref) => {
20
- const { value, readOnly, disabled, status, actions, onChange, selected, visual, ...restProps } = props;
21
- return (_jsxs(Flex, { as: StyledSingleSelectInput, forwardedAs: StyledFormControl, container: { alignItems: 'center', wrap: 'nowrap' }, ...{
20
+ const { value, readOnly, disabled, status, actions, onChange, onResolveSuggestion, selected, visual, ...restProps } = props;
21
+ return (_jsxs(Flex, { as: StyledSingleSelectInput, forwardedAs: StyledFormControl, hasSuggestion: status === 'pending' && !!onResolveSuggestion, container: { alignItems: 'center', wrap: 'nowrap' }, ...{
22
22
  disabled,
23
23
  status,
24
24
  readOnly
@@ -1 +1 @@
1
- {"version":3,"file":"SingleSelectInput.js","sourceRoot":"","sources":["../../../../src/components/ComboBox/SingleSelectInput/SingleSelectInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAA2C,MAAM,OAAO,CAAC;AAC5E,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAIvD,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA,EAAE,CAAC;AAEnE,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;IAChD,MAAM,EACJ,KAAK,EAAE,EACL,IAAI,EACJ,UAAU,EAAE,EACV,cAAc,EAAE,WAAW,EAC3B,KAAK,EAAE,EAAE,MAAM,EAAE,EAClB,EACF,EACF,GAAG,KAAK,CAAC;IAEV,OAAO,GAAG,CAAA;yBACa,WAAW,CAAC,cAAc,CAAC,UAAU,WAAW,CAAC,cAAc,CAAC;sBACnE,MAAM,MAAM,WAAW,CAAC,cAAc,CAAC;4BACjC,IAAI,CAAC,OAAO;mBACrB,MAAM,UAAU,WAAW,CAAC,cAAc,CAAC;GAC3D,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,qBAAqB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEtD,MAAM,iBAAiB,GAA6D,UAAU,CAC5F,CAAC,KAA8C,EAAE,GAA0B,EAAE,EAAE;IAC7E,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,GAC5F,KAAK,CAAC;IAER,OAAO,CACL,MAAC,IAAI,IACH,EAAE,EAAE,uBAAuB,EAC3B,WAAW,EAAE,iBAAiB,EAC9B,SAAS,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAC/C;YACF,QAAQ;YACR,MAAM;YACN,QAAQ;SACT,aAEA,MAAM,IAAI,CACT,KAAC,IAAI,IAAC,SAAS,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,qBAAqB,YACpF,MAAM,GACF,CACR,EACD,mBACM;oBACF,GAAG;oBACH,QAAQ;oBACR,MAAM;oBACN,QAAQ;iBACT,EACD,KAAK,EAAE,KAAK,IAAI,QAAQ,EAAE,IAAI,IAAI,EAAE;gBACpC,0CAA0C;gBAC1C,QAAQ,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,EAChC,QAAQ,EAAE,QAAQ,IAAI,CAAC,QAAQ,EAC/B,YAAY,EAAC,KAAK,KACd,SAAS,GACb,EACD,OAAO,IACH,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["import { forwardRef, FunctionComponent, PropsWithoutRef, Ref } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { defaultThemeProp } from '../../../theme';\nimport { StyledFormControl } from '../../FormControl';\nimport Flex from '../../Flex';\nimport { ForwardProps } from '../../../types';\nimport { StyledSelectInput } from '../ComboBox.styles';\n\nimport SingleSelectInputProps from './SingleSelectInput.types';\n\nexport const StyledSingleSelectInput = styled(StyledSelectInput)``;\n\nconst StyledVisualContainer = styled.span(props => {\n const {\n theme: {\n base,\n components: {\n 'form-control': formControl,\n input: { height }\n }\n }\n } = props;\n\n return css`\n border-inline-end: ${formControl['border-width']} solid ${formControl['border-color']};\n min-width: calc(${height} - ${formControl['border-width']});\n padding: 0 calc(0.5 * ${base.spacing});\n height: calc(${height} - 2 * ${formControl['border-width']});\n `;\n});\n\nStyledVisualContainer.defaultProps = defaultThemeProp;\n\nconst SingleSelectInput: FunctionComponent<SingleSelectInputProps & ForwardProps> = forwardRef(\n (props: PropsWithoutRef<SingleSelectInputProps>, ref: Ref<HTMLInputElement>) => {\n const { value, readOnly, disabled, status, actions, onChange, selected, visual, ...restProps } =\n props;\n\n return (\n <Flex\n as={StyledSingleSelectInput}\n forwardedAs={StyledFormControl}\n container={{ alignItems: 'center', wrap: 'nowrap' }}\n {...{\n disabled,\n status,\n readOnly\n }}\n >\n {visual && (\n <Flex container={{ justify: 'center', alignItems: 'center' }} as={StyledVisualContainer}>\n {visual}\n </Flex>\n )}\n <input\n {...{\n ref,\n disabled,\n status,\n readOnly\n }}\n value={value || selected?.text || ''}\n // no-op avoids react uncontrolled warning\n onChange={onChange || (() => {})}\n readOnly={readOnly || !onChange}\n autoComplete='off'\n {...restProps}\n />\n {actions}\n </Flex>\n );\n }\n);\n\nexport default SingleSelectInput;\n"]}
1
+ {"version":3,"file":"SingleSelectInput.js","sourceRoot":"","sources":["../../../../src/components/ComboBox/SingleSelectInput/SingleSelectInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAA2C,MAAM,OAAO,CAAC;AAC5E,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAIvD,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA,EAAE,CAAC;AAEnE,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;IAChD,MAAM,EACJ,KAAK,EAAE,EACL,IAAI,EACJ,UAAU,EAAE,EACV,cAAc,EAAE,WAAW,EAC3B,KAAK,EAAE,EAAE,MAAM,EAAE,EAClB,EACF,EACF,GAAG,KAAK,CAAC;IAEV,OAAO,GAAG,CAAA;yBACa,WAAW,CAAC,cAAc,CAAC,UAAU,WAAW,CAAC,cAAc,CAAC;sBACnE,MAAM,MAAM,WAAW,CAAC,cAAc,CAAC;4BACjC,IAAI,CAAC,OAAO;mBACrB,MAAM,UAAU,WAAW,CAAC,cAAc,CAAC;GAC3D,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,qBAAqB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEtD,MAAM,iBAAiB,GAA6D,UAAU,CAC5F,CAAC,KAA8C,EAAE,GAA0B,EAAE,EAAE;IAC7E,MAAM,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,OAAO,EACP,QAAQ,EACR,mBAAmB,EACnB,QAAQ,EACR,MAAM,EACN,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,MAAC,IAAI,IACH,EAAE,EAAE,uBAAuB,EAC3B,WAAW,EAAE,iBAAiB,EAC9B,aAAa,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,mBAAmB,EAC5D,SAAS,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAC/C;YACF,QAAQ;YACR,MAAM;YACN,QAAQ;SACT,aAEA,MAAM,IAAI,CACT,KAAC,IAAI,IAAC,SAAS,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,qBAAqB,YACpF,MAAM,GACF,CACR,EACD,mBACM;oBACF,GAAG;oBACH,QAAQ;oBACR,MAAM;oBACN,QAAQ;iBACT,EACD,KAAK,EAAE,KAAK,IAAI,QAAQ,EAAE,IAAI,IAAI,EAAE;gBACpC,0CAA0C;gBAC1C,QAAQ,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,EAChC,QAAQ,EAAE,QAAQ,IAAI,CAAC,QAAQ,EAC/B,YAAY,EAAC,KAAK,KACd,SAAS,GACb,EACD,OAAO,IACH,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["import { forwardRef, FunctionComponent, PropsWithoutRef, Ref } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { defaultThemeProp } from '../../../theme';\nimport { StyledFormControl } from '../../FormControl';\nimport Flex from '../../Flex';\nimport { ForwardProps } from '../../../types';\nimport { StyledSelectInput } from '../ComboBox.styles';\n\nimport SingleSelectInputProps from './SingleSelectInput.types';\n\nexport const StyledSingleSelectInput = styled(StyledSelectInput)``;\n\nconst StyledVisualContainer = styled.span(props => {\n const {\n theme: {\n base,\n components: {\n 'form-control': formControl,\n input: { height }\n }\n }\n } = props;\n\n return css`\n border-inline-end: ${formControl['border-width']} solid ${formControl['border-color']};\n min-width: calc(${height} - ${formControl['border-width']});\n padding: 0 calc(0.5 * ${base.spacing});\n height: calc(${height} - 2 * ${formControl['border-width']});\n `;\n});\n\nStyledVisualContainer.defaultProps = defaultThemeProp;\n\nconst SingleSelectInput: FunctionComponent<SingleSelectInputProps & ForwardProps> = forwardRef(\n (props: PropsWithoutRef<SingleSelectInputProps>, ref: Ref<HTMLInputElement>) => {\n const {\n value,\n readOnly,\n disabled,\n status,\n actions,\n onChange,\n onResolveSuggestion,\n selected,\n visual,\n ...restProps\n } = props;\n\n return (\n <Flex\n as={StyledSingleSelectInput}\n forwardedAs={StyledFormControl}\n hasSuggestion={status === 'pending' && !!onResolveSuggestion}\n container={{ alignItems: 'center', wrap: 'nowrap' }}\n {...{\n disabled,\n status,\n readOnly\n }}\n >\n {visual && (\n <Flex container={{ justify: 'center', alignItems: 'center' }} as={StyledVisualContainer}>\n {visual}\n </Flex>\n )}\n <input\n {...{\n ref,\n disabled,\n status,\n readOnly\n }}\n value={value || selected?.text || ''}\n // no-op avoids react uncontrolled warning\n onChange={onChange || (() => {})}\n readOnly={readOnly || !onChange}\n autoComplete='off'\n {...restProps}\n />\n {actions}\n </Flex>\n );\n }\n);\n\nexport default SingleSelectInput;\n"]}
@@ -12,6 +12,8 @@ export default interface SingleSelectInputProps {
12
12
  onChange?: (e: ChangeEvent<HTMLInputElement>) => void;
13
13
  /** Callback fired on every key stroke on input field. */
14
14
  onKeyDown?: (e: KeyboardEvent<HTMLInputElement>) => void;
15
+ /** Callback fired when AI suggestion is accepted/rejected */
16
+ onResolveSuggestion?: FormControlProps['onResolveSuggestion'];
15
17
  /** Makes the input non editable and non clickable. The browser defaults to false. */
16
18
  readOnly?: FormControlProps['readOnly'];
17
19
  /** Disable the control. The browser defaults to false. */
@@ -1 +1 @@
1
- {"version":3,"file":"SingleSelectInput.types.d.ts","sourceRoot":"","sources":["../../../../src/components/ComboBox/SingleSelectInput/SingleSelectInput.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,CAAC,OAAO,WAAW,sBAAsB;IAC7C,gDAAgD;IAChD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACtD,yDAAyD;IACzD,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACzD,qFAAqF;IACrF,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxC,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxC,oDAAoD;IACpD,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpC,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,yDAAyD;IACzD,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;CAClC"}
1
+ {"version":3,"file":"SingleSelectInput.types.d.ts","sourceRoot":"","sources":["../../../../src/components/ComboBox/SingleSelectInput/SingleSelectInput.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,CAAC,OAAO,WAAW,sBAAsB;IAC7C,gDAAgD;IAChD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACtD,yDAAyD;IACzD,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACzD,6DAA6D;IAC7D,mBAAmB,CAAC,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IAC9D,qFAAqF;IACrF,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxC,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxC,oDAAoD;IACpD,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpC,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,yDAAyD;IACzD,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;CAClC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SingleSelectInput.types.js","sourceRoot":"","sources":["../../../../src/components/ComboBox/SingleSelectInput/SingleSelectInput.types.ts"],"names":[],"mappings":"","sourcesContent":["import { ChangeEvent, KeyboardEvent, ReactNode } from 'react';\n\nimport { FormControlProps } from '../../FormControl';\nimport ComboBoxProps, { Selected } from '../ComboBox.types';\n\nexport default interface SingleSelectInputProps {\n /** List of items to be represented as pills. */\n selected?: Selected;\n /** Input value */\n value?: string;\n /** Callback invoked when user accepts custom value by pressing enter. */\n onNew?: (text: string) => void;\n /** Callback fired when internal input value changes. */\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n /** Callback fired on every key stroke on input field. */\n onKeyDown?: (e: KeyboardEvent<HTMLInputElement>) => void;\n /** Makes the input non editable and non clickable. The browser defaults to false. */\n readOnly?: FormControlProps['readOnly'];\n /** Disable the control. The browser defaults to false. */\n disabled?: FormControlProps['disabled'];\n /** Set visual state based on a validation state. */\n status?: FormControlProps['status'];\n /** Placeholder visible on empty input. */\n placeholder?: string;\n /** Additional actions related to the input. */\n actions?: ReactNode;\n /** A visual to render a preview for the selected item */\n visual?: ComboBoxProps['visual'];\n}\n"]}
1
+ {"version":3,"file":"SingleSelectInput.types.js","sourceRoot":"","sources":["../../../../src/components/ComboBox/SingleSelectInput/SingleSelectInput.types.ts"],"names":[],"mappings":"","sourcesContent":["import { ChangeEvent, KeyboardEvent, ReactNode } from 'react';\n\nimport { FormControlProps } from '../../FormControl';\nimport ComboBoxProps, { Selected } from '../ComboBox.types';\n\nexport default interface SingleSelectInputProps {\n /** List of items to be represented as pills. */\n selected?: Selected;\n /** Input value */\n value?: string;\n /** Callback invoked when user accepts custom value by pressing enter. */\n onNew?: (text: string) => void;\n /** Callback fired when internal input value changes. */\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n /** Callback fired on every key stroke on input field. */\n onKeyDown?: (e: KeyboardEvent<HTMLInputElement>) => void;\n /** Callback fired when AI suggestion is accepted/rejected */\n onResolveSuggestion?: FormControlProps['onResolveSuggestion'];\n /** Makes the input non editable and non clickable. The browser defaults to false. */\n readOnly?: FormControlProps['readOnly'];\n /** Disable the control. The browser defaults to false. */\n disabled?: FormControlProps['disabled'];\n /** Set visual state based on a validation state. */\n status?: FormControlProps['status'];\n /** Placeholder visible on empty input. */\n placeholder?: string;\n /** Additional actions related to the input. */\n actions?: ReactNode;\n /** A visual to render a preview for the selected item */\n visual?: ComboBoxProps['visual'];\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import { ForwardProps } from '../../types';
2
+ import { CompositeInputProps } from './CompositeInput.types';
3
+ declare const CompositeInput: <P extends object>(props: CompositeInputProps<P> & ForwardProps) => JSX.Element | null;
4
+ export default CompositeInput;
5
+ //# sourceMappingURL=CompositeInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompositeInput.d.ts","sourceRoot":"","sources":["../../../src/components/CompositeInput/CompositeInput.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAqB3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAI7D,QAAA,MAAM,cAAc,sEA6IqD,WAAW,GAAG,IAAI,CAAC;AAE5F,eAAe,cAAc,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef, useEffect, useRef, useState } from 'react';
3
+ import Icon, { registerIcon } from '../Icon';
4
+ import * as caretDownIcon from '../Icon/icons/caret-down.icon';
5
+ import * as timesIcon from '../Icon/icons/times.icon';
6
+ import { useConsolidatedRef, useElement, useEscape, useI18n, useOuterEvent, useUID } from '../../hooks';
7
+ import { StyledFormControl } from '../FormControl';
8
+ import { getFocusables } from '../../utils';
9
+ import Flex from '../Flex';
10
+ import Button from '../Button';
11
+ import Popover from '../Popover';
12
+ import FormField from '../FormField';
13
+ import { StyledCompositeInput, StyledInputButton, StyledInputContainer } from './CompositeInput.styles';
14
+ registerIcon(caretDownIcon, timesIcon);
15
+ const CompositeInput = forwardRef((props, ref) => {
16
+ const uid = useUID();
17
+ const { id = uid, disabled, value, onClear, required, status, info, label, labelHidden, additionalInfo, dialog: { renderer: Renderer, rendererProps, onApply, onCancel }, ...restProps } = props;
18
+ const t = useI18n();
19
+ const [open, setOpen] = useState(false);
20
+ const [popoverEl, setPopoverEl] = useElement(null);
21
+ const containerRef = useConsolidatedRef(ref);
22
+ const buttonRef = useRef(null);
23
+ const formContentRef = useRef(null);
24
+ const closePopover = () => {
25
+ setOpen(false);
26
+ buttonRef.current?.focus();
27
+ };
28
+ useOuterEvent('mousedown', [popoverEl, buttonRef], () => {
29
+ if (open)
30
+ onCancel({ close: closePopover });
31
+ });
32
+ useEffect(() => {
33
+ if (open) {
34
+ getFocusables(formContentRef)[0]?.focus();
35
+ }
36
+ }, [open, formContentRef.current]);
37
+ useEscape(e => {
38
+ e.preventDefault();
39
+ closePopover();
40
+ }, document, [closePopover]);
41
+ const labelId = `${id}-label`;
42
+ const Comp = (_jsxs(Flex, { as: StyledCompositeInput, forwardedAs: StyledFormControl, container: { alignItems: 'center' }, status: status, disabled: disabled, ref: containerRef, children: [_jsxs(Flex, { container: { alignItems: 'center' }, item: { grow: 1 }, as: StyledInputContainer, children: [_jsx(StyledInputButton, { ...restProps, id: id, disabled: disabled, "aria-haspopup": 'dialog', "aria-expanded": !disabled && open, "aria-describedby": info ? `${id}-info` : undefined, readOnly: true, required: required, onClick: () => {
43
+ if (!disabled) {
44
+ setOpen(true);
45
+ }
46
+ }, onKeyDown: e => {
47
+ if (e.key === 'Enter') {
48
+ e.preventDefault();
49
+ setOpen(true);
50
+ }
51
+ }, value: value ?? '', ref: buttonRef }), _jsx(Flex, { container: { justify: 'center', alignItems: 'center' }, style: { pointerEvents: value ? '' : 'none' }, children: value && !open ? (_jsx(Button, { icon: true, compact: true, variant: 'simple', label: t('clear'), onClick: onClear, children: _jsx(Icon, { name: 'times' }) })) : (_jsx(Icon, { name: 'caret-down' })) })] }), open && (_jsx(Popover, { ref: setPopoverEl, role: 'dialog', target: containerRef.current, placement: 'bottom-start', strategy: 'fixed', modifiers: [
52
+ {
53
+ name: 'flip',
54
+ options: {
55
+ fallbackPlacements: ['top-start']
56
+ }
57
+ }
58
+ ], children: _jsxs(Flex, { container: { direction: 'column', gap: 1.5, pad: 2 }, ref: formContentRef, children: [_jsx(Renderer, { ...rendererProps }), _jsxs(Flex, { container: { justify: 'between' }, children: [_jsx(Button, { variant: 'secondary', onClick: () => onCancel({ close: closePopover }), children: t('cancel') }), _jsx(Button, { variant: 'primary', onClick: () => onApply({ close: closePopover }), children: t('apply') })] })] }) }))] }));
59
+ return label ? (_jsx(FormField, { ...{ label, labelHidden, id, info, status, required, disabled, labelId, additionalInfo }, children: Comp })) : (Comp);
60
+ });
61
+ export default CompositeInput;
62
+ //# sourceMappingURL=CompositeInput.js.map