@bspk/ui 1.3.3 → 1.3.5

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 (806) hide show
  1. package/build.ts +41 -10
  2. package/dist/components/Avatar/Avatar.d.ts +3 -3
  3. package/dist/components/Avatar/Avatar.js +8 -8
  4. package/dist/components/Avatar/Avatar.js.map +1 -1
  5. package/dist/components/Avatar/AvatarExample.js +1 -1
  6. package/dist/components/Avatar/AvatarExample.js.map +1 -1
  7. package/dist/components/Avatar/avatar.css +5 -1
  8. package/dist/components/Avatar/avatar.css.js +5 -1
  9. package/dist/components/AvatarGroup/AvatarGroup.d.ts +12 -7
  10. package/dist/components/AvatarGroup/AvatarGroup.js +6 -7
  11. package/dist/components/AvatarGroup/AvatarGroup.js.map +1 -1
  12. package/dist/components/AvatarGroup/AvatarGroupExample.js +36 -9
  13. package/dist/components/AvatarGroup/AvatarGroupExample.js.map +1 -1
  14. package/dist/components/AvatarGroup/Overflow.d.ts +11 -0
  15. package/dist/components/AvatarGroup/Overflow.js +37 -0
  16. package/dist/components/AvatarGroup/Overflow.js.map +1 -0
  17. package/dist/components/AvatarGroup/avatar-group.css +27 -13
  18. package/dist/components/AvatarGroup/avatar-group.css.js +27 -13
  19. package/dist/components/Badge/BadgeExample.js +1 -1
  20. package/dist/components/Badge/BadgeExample.js.map +1 -1
  21. package/dist/components/BadgeDot/BadgeDotExample.js +1 -1
  22. package/dist/components/BadgeDot/BadgeDotExample.js.map +1 -1
  23. package/dist/components/Breadcrumb/Breadcrumb.d.ts +4 -23
  24. package/dist/components/Breadcrumb/Breadcrumb.js +3 -7
  25. package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -1
  26. package/dist/components/Breadcrumb/BreadcumbDropdown.d.ts +27 -0
  27. package/dist/components/Breadcrumb/BreadcumbDropdown.js +68 -0
  28. package/dist/components/Breadcrumb/BreadcumbDropdown.js.map +1 -0
  29. package/dist/components/Button/Button.d.ts +7 -3
  30. package/dist/components/Button/Button.js +2 -2
  31. package/dist/components/Button/Button.js.map +1 -1
  32. package/dist/components/Button/button.css +5 -5
  33. package/dist/components/Button/button.css.js +5 -5
  34. package/dist/components/Calendar/Calendar.d.ts +33 -0
  35. package/dist/components/{CalendarPicker/CalendarPicker.js → Calendar/Calendar.js} +30 -34
  36. package/dist/components/Calendar/Calendar.js.map +1 -0
  37. package/dist/components/Calendar/CalendarExample.d.ts +4 -0
  38. package/dist/components/Calendar/CalendarExample.js +29 -0
  39. package/dist/components/Calendar/CalendarExample.js.map +1 -0
  40. package/dist/components/{CalendarPicker/calendar-picker.css → Calendar/calendar.css} +16 -16
  41. package/dist/components/{CalendarPicker/calendar-picker.css.js → Calendar/calendar.css.js} +16 -16
  42. package/dist/components/Calendar/index.d.ts +1 -0
  43. package/dist/components/Calendar/index.js +2 -0
  44. package/dist/components/Calendar/index.js.map +1 -0
  45. package/dist/components/Card/Card.d.ts +2 -1
  46. package/dist/components/Card/Card.js +2 -2
  47. package/dist/components/Card/Card.js.map +1 -1
  48. package/dist/components/Checkbox/Checkbox.d.ts +5 -3
  49. package/dist/components/Checkbox/Checkbox.js +2 -2
  50. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  51. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +10 -29
  52. package/dist/components/CheckboxGroup/CheckboxGroup.js +19 -9
  53. package/dist/components/CheckboxGroup/CheckboxGroup.js.map +1 -1
  54. package/dist/components/CheckboxGroup/CheckboxGroupExample.js +3 -0
  55. package/dist/components/CheckboxGroup/CheckboxGroupExample.js.map +1 -1
  56. package/dist/components/CheckboxGroup/checkbox-group.css +7 -0
  57. package/dist/components/{DateField/date-field.css.js → CheckboxGroup/checkbox-group.css.js} +4 -5
  58. package/dist/components/CheckboxGroupField/CheckboxGroupField.d.ts +15 -0
  59. package/dist/components/CheckboxGroupField/CheckboxGroupField.js +17 -0
  60. package/dist/components/CheckboxGroupField/CheckboxGroupField.js.map +1 -0
  61. package/dist/components/CheckboxGroupField/index.d.ts +1 -0
  62. package/dist/components/CheckboxGroupField/index.js +2 -0
  63. package/dist/components/CheckboxGroupField/index.js.map +1 -0
  64. package/dist/components/CheckboxOption/CheckboxOption.d.ts +3 -2
  65. package/dist/components/CheckboxOption/CheckboxOption.js +2 -2
  66. package/dist/components/CheckboxOption/CheckboxOption.js.map +1 -1
  67. package/dist/components/{ChipUtility/ChipUtility.d.ts → Chip/Chip.d.ts} +6 -6
  68. package/dist/components/Chip/Chip.js +25 -0
  69. package/dist/components/Chip/Chip.js.map +1 -0
  70. package/dist/components/Chip/ChipExample.d.ts +4 -0
  71. package/dist/components/{ChipUtility/ChipUtilityExample.js → Chip/ChipExample.js} +2 -2
  72. package/dist/components/Chip/ChipExample.js.map +1 -0
  73. package/dist/components/{ChipUtility/chip-utility.css → Chip/chip.css} +10 -10
  74. package/dist/components/{ChipUtility/chip-utility.css.js → Chip/chip.css.js} +10 -10
  75. package/dist/components/Chip/index.d.ts +1 -0
  76. package/dist/components/Chip/index.js +2 -0
  77. package/dist/components/Chip/index.js.map +1 -0
  78. package/dist/components/ChipGroup/ChipGroup.d.ts +8 -7
  79. package/dist/components/ChipGroup/ChipGroup.js +5 -4
  80. package/dist/components/ChipGroup/ChipGroup.js.map +1 -1
  81. package/dist/components/ChipGroup/ChipGroupExample.js +4 -31
  82. package/dist/components/ChipGroup/ChipGroupExample.js.map +1 -1
  83. package/dist/components/DatePicker/DatePicker.d.ts +50 -0
  84. package/dist/components/DatePicker/DatePicker.js +133 -0
  85. package/dist/components/DatePicker/DatePicker.js.map +1 -0
  86. package/dist/components/DatePicker/DatePickerExample.d.ts +3 -0
  87. package/dist/components/DatePicker/DatePickerExample.js +10 -0
  88. package/dist/components/DatePicker/DatePickerExample.js.map +1 -0
  89. package/dist/components/{DateInput/date-input.css → DatePicker/date-picker.css} +2 -3
  90. package/dist/components/{DateInput/date-input.css.js → DatePicker/date-picker.css.js} +2 -3
  91. package/dist/components/DatePicker/index.d.ts +1 -0
  92. package/dist/components/DatePicker/index.js +2 -0
  93. package/dist/components/DatePicker/index.js.map +1 -0
  94. package/dist/components/DatePickerField/DatePickerField.d.ts +15 -0
  95. package/dist/components/DatePickerField/DatePickerField.js +17 -0
  96. package/dist/components/DatePickerField/DatePickerField.js.map +1 -0
  97. package/dist/components/DatePickerField/index.d.ts +1 -0
  98. package/dist/components/DatePickerField/index.js +2 -0
  99. package/dist/components/DatePickerField/index.js.map +1 -0
  100. package/dist/components/Drawer/Drawer.d.ts +1 -1
  101. package/dist/components/Drawer/Drawer.js +1 -1
  102. package/dist/components/Drawer/DrawerExample.js +3 -3
  103. package/dist/components/Drawer/DrawerExample.js.map +1 -1
  104. package/dist/components/EmptyState/EmptyState.d.ts +1 -1
  105. package/dist/components/EmptyState/EmptyState.js +1 -1
  106. package/dist/components/Fab/Fab.d.ts +3 -3
  107. package/dist/components/Fab/Fab.js +1 -1
  108. package/dist/components/Fab/Fab.js.map +1 -1
  109. package/dist/components/Field/Field.d.ts +58 -0
  110. package/dist/components/Field/Field.js +70 -0
  111. package/dist/components/Field/Field.js.map +1 -0
  112. package/dist/components/Field/FieldDescription.d.ts +7 -0
  113. package/dist/components/Field/FieldDescription.js +9 -0
  114. package/dist/components/Field/FieldDescription.js.map +1 -0
  115. package/dist/components/Field/FieldError.d.ts +5 -0
  116. package/dist/components/Field/FieldError.js +8 -0
  117. package/dist/components/Field/FieldError.js.map +1 -0
  118. package/dist/components/Field/FieldExample.d.ts +5 -0
  119. package/dist/components/Field/FieldExample.js +10 -0
  120. package/dist/components/Field/FieldExample.js.map +1 -0
  121. package/dist/components/Field/FieldLabel.d.ts +15 -0
  122. package/dist/components/Field/FieldLabel.js +8 -0
  123. package/dist/components/Field/FieldLabel.js.map +1 -0
  124. package/dist/components/Field/field.css +36 -0
  125. package/dist/components/Field/field.css.js +41 -0
  126. package/dist/components/Field/index.d.ts +5 -0
  127. package/dist/components/Field/index.js +6 -0
  128. package/dist/components/Field/index.js.map +1 -0
  129. package/dist/components/Field/utils.d.ts +39 -0
  130. package/dist/components/Field/utils.js +35 -0
  131. package/dist/components/Field/utils.js.map +1 -0
  132. package/dist/components/FormField/FormField.d.ts +33 -17
  133. package/dist/components/FormField/FormField.js +10 -18
  134. package/dist/components/FormField/FormField.js.map +1 -1
  135. package/dist/components/FormField/FormFieldExample.d.ts +10 -4
  136. package/dist/components/FormField/FormFieldExample.js +97 -9
  137. package/dist/components/FormField/FormFieldExample.js.map +1 -1
  138. package/dist/components/Img/Img.d.ts +1 -1
  139. package/dist/components/Img/Img.js +1 -1
  140. package/dist/components/InlineAlert/InlineAlert.d.ts +4 -4
  141. package/dist/components/InlineAlert/InlineAlert.js +3 -3
  142. package/dist/components/InlineAlert/InlineAlert.js.map +1 -1
  143. package/dist/components/Input/Input.d.ts +37 -0
  144. package/dist/components/Input/Input.js +48 -0
  145. package/dist/components/Input/Input.js.map +1 -0
  146. package/dist/components/Input/InputElement.d.ts +77 -0
  147. package/dist/components/{TextInput/TextInput.js → Input/InputElement.js} +17 -16
  148. package/dist/components/Input/InputElement.js.map +1 -0
  149. package/dist/components/Input/InputExample.d.ts +8 -0
  150. package/dist/components/{TextInput/TextInputExample.js → Input/InputExample.js} +20 -9
  151. package/dist/components/Input/InputExample.js.map +1 -0
  152. package/dist/components/Input/index.d.ts +2 -0
  153. package/dist/components/Input/index.js +3 -0
  154. package/dist/components/Input/index.js.map +1 -0
  155. package/dist/components/{TextInput/text-input.css → Input/input.css} +23 -23
  156. package/dist/components/{TextInput/text-input.css.js → Input/input.css.js} +23 -23
  157. package/dist/components/InputField/InputField.d.ts +15 -0
  158. package/dist/components/InputField/InputField.js +17 -0
  159. package/dist/components/InputField/InputField.js.map +1 -0
  160. package/dist/components/InputField/index.d.ts +1 -0
  161. package/dist/components/InputField/index.js +2 -0
  162. package/dist/components/InputField/index.js.map +1 -0
  163. package/dist/components/{NumberInput → InputNumber}/IncrementButton.js.map +1 -1
  164. package/dist/components/InputNumber/InputNumber.d.ts +74 -0
  165. package/dist/components/{NumberInput/NumberInput.js → InputNumber/InputNumber.js} +40 -13
  166. package/dist/components/InputNumber/InputNumber.js.map +1 -0
  167. package/dist/components/InputNumber/InputNumberExample.d.ts +3 -0
  168. package/dist/components/{NumberInput/NumberInputExample.js → InputNumber/InputNumberExample.js} +2 -2
  169. package/dist/components/InputNumber/InputNumberExample.js.map +1 -0
  170. package/dist/components/InputNumber/index.d.ts +1 -0
  171. package/dist/components/InputNumber/index.js +2 -0
  172. package/dist/components/InputNumber/index.js.map +1 -0
  173. package/dist/components/{NumberInput/number-input.css → InputNumber/input-number.css} +21 -21
  174. package/dist/components/{NumberInput/number-input.css.js → InputNumber/input-number.css.js} +21 -21
  175. package/dist/components/InputNumberField/InputNumberField.d.ts +15 -0
  176. package/dist/components/InputNumberField/InputNumberField.js +17 -0
  177. package/dist/components/InputNumberField/InputNumberField.js.map +1 -0
  178. package/dist/components/InputNumberField/index.d.ts +1 -0
  179. package/dist/components/InputNumberField/index.js +2 -0
  180. package/dist/components/InputNumberField/index.js.map +1 -0
  181. package/dist/components/InputPhone/InputPhone.d.ts +57 -0
  182. package/dist/components/InputPhone/InputPhone.js +161 -0
  183. package/dist/components/InputPhone/InputPhone.js.map +1 -0
  184. package/dist/components/InputPhone/InputPhoneExample.d.ts +4 -0
  185. package/dist/components/InputPhone/InputPhoneExample.js +7 -0
  186. package/dist/components/InputPhone/InputPhoneExample.js.map +1 -0
  187. package/dist/components/InputPhone/index.d.ts +1 -0
  188. package/dist/components/InputPhone/index.js +2 -0
  189. package/dist/components/InputPhone/index.js.map +1 -0
  190. package/dist/components/InputPhone/input-phone.css +42 -0
  191. package/dist/components/InputPhone/input-phone.css.js +47 -0
  192. package/dist/components/InputPhoneField/InputPhoneField.d.ts +15 -0
  193. package/dist/components/InputPhoneField/InputPhoneField.js +17 -0
  194. package/dist/components/InputPhoneField/InputPhoneField.js.map +1 -0
  195. package/dist/components/InputPhoneField/index.d.ts +1 -0
  196. package/dist/components/InputPhoneField/index.js +2 -0
  197. package/dist/components/InputPhoneField/index.js.map +1 -0
  198. package/dist/components/Layout/Layout.d.ts +3 -3
  199. package/dist/components/Layout/Layout.js +1 -1
  200. package/dist/components/Layout/Layout.js.map +1 -1
  201. package/dist/components/Link/Link.d.ts +1 -1
  202. package/dist/components/Link/Link.js +1 -1
  203. package/dist/components/ListItem/ListItem.d.ts +20 -11
  204. package/dist/components/ListItem/ListItem.js +3 -3
  205. package/dist/components/ListItem/ListItem.js.map +1 -1
  206. package/dist/components/ListItem/ListItemExample.js +3 -3
  207. package/dist/components/ListItem/ListItemExample.js.map +1 -1
  208. package/dist/components/ListItem/list-item.css +5 -1
  209. package/dist/components/ListItem/list-item.css.js +5 -1
  210. package/dist/components/Menu/Menu.d.ts +9 -2
  211. package/dist/components/Menu/Menu.js +2 -2
  212. package/dist/components/Menu/Menu.js.map +1 -1
  213. package/dist/components/Menu/MenuExample.js +2 -2
  214. package/dist/components/Menu/MenuExample.js.map +1 -1
  215. package/dist/components/Modal/Modal.d.ts +1 -1
  216. package/dist/components/Modal/Modal.js +1 -1
  217. package/dist/components/Modal/ModalExample.js +1 -1
  218. package/dist/components/Modal/ModalExample.js.map +1 -1
  219. package/dist/components/Pagination/PageInput.js +2 -2
  220. package/dist/components/Pagination/PageInput.js.map +1 -1
  221. package/dist/components/Password/Password.d.ts +43 -0
  222. package/dist/components/Password/Password.js +63 -0
  223. package/dist/components/Password/Password.js.map +1 -0
  224. package/dist/components/Password/index.d.ts +1 -0
  225. package/dist/components/Password/index.js +2 -0
  226. package/dist/components/Password/index.js.map +1 -0
  227. package/dist/components/Password/password.css +21 -0
  228. package/dist/components/Password/password.css.js +26 -0
  229. package/dist/components/PasswordField/PasswordField.d.ts +8 -24
  230. package/dist/components/PasswordField/PasswordField.js +7 -23
  231. package/dist/components/PasswordField/PasswordField.js.map +1 -1
  232. package/dist/components/Popover/Popover.d.ts +3 -3
  233. package/dist/components/Popover/Popover.js +1 -1
  234. package/dist/components/Popover/PopoverExample.js +2 -2
  235. package/dist/components/Popover/PopoverExample.js.map +1 -1
  236. package/dist/components/ProgressBar/ProgressBar.d.ts +1 -1
  237. package/dist/components/ProgressBar/ProgressBar.js +1 -1
  238. package/dist/components/ProgressCircle/ProgressCircle.d.ts +1 -1
  239. package/dist/components/ProgressCircle/ProgressCircle.js +1 -1
  240. package/dist/components/ProgressCircle/progress-circle.css +2 -0
  241. package/dist/components/ProgressCircle/progress-circle.css.js +2 -0
  242. package/dist/components/ProgressionStepper/ProgressionStepper.d.ts +1 -1
  243. package/dist/components/ProgressionStepper/ProgressionStepper.js +3 -2
  244. package/dist/components/ProgressionStepper/ProgressionStepper.js.map +1 -1
  245. package/dist/components/ProgressionStepper/ProgressionStepperExample.js +2 -2
  246. package/dist/components/ProgressionStepper/ProgressionStepperExample.js.map +1 -1
  247. package/dist/components/Radio/Radio.d.ts +2 -2
  248. package/dist/components/Radio/Radio.js.map +1 -1
  249. package/dist/components/RadioGroup/RadioGroup.d.ts +7 -36
  250. package/dist/components/RadioGroup/RadioGroup.js +15 -9
  251. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  252. package/dist/components/RadioGroup/radio-group.css +2 -1
  253. package/dist/components/RadioGroup/radio-group.css.js +2 -1
  254. package/dist/components/RadioGroupField/RadioGroupField.d.ts +15 -0
  255. package/dist/components/RadioGroupField/RadioGroupField.js +17 -0
  256. package/dist/components/RadioGroupField/RadioGroupField.js.map +1 -0
  257. package/dist/components/RadioGroupField/index.d.ts +1 -0
  258. package/dist/components/RadioGroupField/index.js +2 -0
  259. package/dist/components/RadioGroupField/index.js.map +1 -0
  260. package/dist/components/SearchBar/SearchBar.d.ts +7 -16
  261. package/dist/components/SearchBar/SearchBar.js +7 -7
  262. package/dist/components/SearchBar/SearchBar.js.map +1 -1
  263. package/dist/components/SegmentedControl/SegmentedControl.d.ts +1 -1
  264. package/dist/components/SegmentedControl/SegmentedControl.js +1 -1
  265. package/dist/components/Select/Select.d.ts +47 -35
  266. package/dist/components/Select/Select.js +52 -23
  267. package/dist/components/Select/Select.js.map +1 -1
  268. package/dist/components/Select/SelectExample.js +36 -9
  269. package/dist/components/Select/SelectExample.js.map +1 -1
  270. package/dist/components/SelectField/SelectField.d.ts +6 -26
  271. package/dist/components/SelectField/SelectField.js +5 -27
  272. package/dist/components/SelectField/SelectField.js.map +1 -1
  273. package/dist/components/Skeleton/SkeletonExample.js +2 -2
  274. package/dist/components/Skeleton/SkeletonExample.js.map +1 -1
  275. package/dist/components/SkeletonText/SkeletonText.js +1 -1
  276. package/dist/components/SkeletonText/SkeletonText.js.map +1 -1
  277. package/dist/components/Slider/slider.css +1 -0
  278. package/dist/components/Slider/slider.css.js +1 -0
  279. package/dist/components/Snackbar/Snackbar.d.ts +72 -14
  280. package/dist/components/Snackbar/Snackbar.js +38 -9
  281. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  282. package/dist/components/Snackbar/SnackbarExample.d.ts +1 -1
  283. package/dist/components/Snackbar/SnackbarExample.js +5 -3
  284. package/dist/components/Snackbar/SnackbarExample.js.map +1 -1
  285. package/dist/components/Snackbar/snackbar.css +31 -2
  286. package/dist/components/Snackbar/snackbar.css.js +31 -2
  287. package/dist/components/StylesProviderDemo/StylesProviderDemo.d.ts +1 -1
  288. package/dist/components/StylesProviderDemo/StylesProviderDemo.js +3 -1
  289. package/dist/components/StylesProviderDemo/StylesProviderDemo.js.map +1 -1
  290. package/dist/components/StylesProviderDemo/exampleCss.d.ts +1 -0
  291. package/dist/components/StylesProviderDemo/exampleCss.js +1900 -0
  292. package/dist/components/StylesProviderDemo/exampleCss.js.map +1 -0
  293. package/dist/components/Switch/Switch.d.ts +5 -3
  294. package/dist/components/Switch/Switch.js +2 -2
  295. package/dist/components/Switch/Switch.js.map +1 -1
  296. package/dist/components/SwitchOption/SwitchOption.js +1 -1
  297. package/dist/components/SwitchOption/SwitchOption.js.map +1 -1
  298. package/dist/components/TabGroup/TabGroup.d.ts +2 -2
  299. package/dist/components/TabGroup/TabGroup.js +3 -3
  300. package/dist/components/TabGroup/TabGroup.js.map +1 -1
  301. package/dist/components/TabList/TabList.d.ts +6 -3
  302. package/dist/components/TabList/TabList.js +6 -4
  303. package/dist/components/TabList/TabList.js.map +1 -1
  304. package/dist/components/Tag/Tag.d.ts +1 -1
  305. package/dist/components/Tag/Tag.js +1 -1
  306. package/dist/components/Textarea/Textarea.d.ts +20 -32
  307. package/dist/components/Textarea/Textarea.js +29 -11
  308. package/dist/components/Textarea/Textarea.js.map +1 -1
  309. package/dist/components/Textarea/textarea.css +24 -10
  310. package/dist/components/Textarea/textarea.css.js +24 -10
  311. package/dist/components/TextareaField/TextareaField.d.ts +6 -30
  312. package/dist/components/TextareaField/TextareaField.js +5 -31
  313. package/dist/components/TextareaField/TextareaField.js.map +1 -1
  314. package/dist/components/TimePicker/Listbox.d.ts +15 -0
  315. package/dist/components/{TimeInput → TimePicker}/Listbox.js +2 -2
  316. package/dist/components/TimePicker/Listbox.js.map +1 -0
  317. package/dist/components/TimePicker/Segment.d.ts +21 -0
  318. package/dist/components/{TimeInput → TimePicker}/Segment.js +2 -1
  319. package/dist/components/TimePicker/Segment.js.map +1 -0
  320. package/dist/components/TimePicker/TimePicker.d.ts +36 -0
  321. package/dist/components/TimePicker/TimePicker.js +139 -0
  322. package/dist/components/TimePicker/TimePicker.js.map +1 -0
  323. package/dist/components/TimePicker/TimePickerExample.d.ts +3 -0
  324. package/dist/components/TimePicker/TimePickerExample.js +6 -0
  325. package/dist/components/TimePicker/TimePickerExample.js.map +1 -0
  326. package/dist/components/TimePicker/index.d.ts +1 -0
  327. package/dist/components/TimePicker/index.js +2 -0
  328. package/dist/components/TimePicker/index.js.map +1 -0
  329. package/dist/components/{TimeInput/time-input.css → TimePicker/time-picker.css} +28 -26
  330. package/dist/components/{TimeInput/time-input.css.js → TimePicker/time-picker.css.js} +28 -26
  331. package/dist/components/TimePicker/utils.d.ts +11 -0
  332. package/dist/components/TimePicker/utils.js +35 -0
  333. package/dist/components/TimePicker/utils.js.map +1 -0
  334. package/dist/components/TimePickerField/TimePickerField.d.ts +15 -0
  335. package/dist/components/TimePickerField/TimePickerField.js +17 -0
  336. package/dist/components/TimePickerField/TimePickerField.js.map +1 -0
  337. package/dist/components/TimePickerField/index.d.ts +1 -0
  338. package/dist/components/TimePickerField/index.js +2 -0
  339. package/dist/components/TimePickerField/index.js.map +1 -0
  340. package/dist/components/ToggleOption/ToggleOption.d.ts +3 -3
  341. package/dist/components/ToggleOption/ToggleOption.js +4 -3
  342. package/dist/components/ToggleOption/ToggleOption.js.map +1 -1
  343. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  344. package/dist/components/Tooltip/Tooltip.js +1 -1
  345. package/dist/components/Tooltip/TooltipExample.js +2 -2
  346. package/dist/components/Tooltip/TooltipExample.js.map +1 -1
  347. package/dist/components/Truncated/Truncated.d.ts +2 -2
  348. package/dist/components/Truncated/Truncated.js.map +1 -1
  349. package/dist/components/Txt/Txt.d.ts +3 -3
  350. package/dist/components/Txt/Txt.js +1 -1
  351. package/dist/components/Txt/Txt.js.map +1 -1
  352. package/dist/constants/brands.d.ts +1 -1
  353. package/dist/constants/brands.js +4 -0
  354. package/dist/constants/brands.js.map +1 -1
  355. package/dist/hooks/useArrowNavigation.d.ts +0 -2
  356. package/dist/hooks/useArrowNavigation.js +0 -2
  357. package/dist/hooks/useArrowNavigation.js.map +1 -1
  358. package/dist/hooks/useCheckboxGroupState.d.ts +8 -11
  359. package/dist/hooks/useCheckboxGroupState.js +8 -11
  360. package/dist/hooks/useCheckboxGroupState.js.map +1 -1
  361. package/dist/hooks/useCheckboxState.d.ts +1 -1
  362. package/dist/hooks/useCheckboxState.js +1 -1
  363. package/dist/hooks/useContainerWidth.d.ts +1 -1
  364. package/dist/hooks/useContainerWidth.js +1 -1
  365. package/dist/hooks/useFloating.js +8 -7
  366. package/dist/hooks/useFloating.js.map +1 -1
  367. package/dist/hooks/useModalState.d.ts +1 -1
  368. package/dist/hooks/useModalState.js +1 -1
  369. package/dist/hooks/useOutsideClick.d.ts +1 -1
  370. package/dist/hooks/useOutsideClick.js +1 -1
  371. package/dist/hooks/useRadioState.d.ts +2 -2
  372. package/dist/hooks/useRadioState.js +1 -1
  373. package/dist/hooks/useTimeout.d.ts +1 -1
  374. package/dist/styles/base.css +7 -0
  375. package/dist/styles/base.css.js +7 -0
  376. package/dist/types/common.d.ts +29 -10
  377. package/dist/types/common.js.map +1 -1
  378. package/dist/types/meta.d.ts +1 -0
  379. package/dist/types/meta.js.map +1 -1
  380. package/dist/utils/demo.d.ts +1 -0
  381. package/dist/utils/demo.js.map +1 -1
  382. package/meta.ts +5 -4
  383. package/package.json +37 -39
  384. package/src/components/Avatar/Avatar.tsx +10 -11
  385. package/src/components/Avatar/AvatarExample.tsx +1 -1
  386. package/src/components/Avatar/avatar.scss +6 -1
  387. package/src/components/AvatarGroup/AvatarGroup.tsx +21 -25
  388. package/src/components/AvatarGroup/AvatarGroupExample.tsx +35 -9
  389. package/src/components/AvatarGroup/Overflow.tsx +91 -0
  390. package/src/components/AvatarGroup/avatar-group.scss +34 -14
  391. package/src/components/Badge/BadgeExample.tsx +1 -1
  392. package/src/components/BadgeDot/BadgeDotExample.tsx +1 -1
  393. package/src/components/Breadcrumb/Breadcrumb.tsx +5 -56
  394. package/src/components/Breadcrumb/BreadcumbDropdown.tsx +135 -0
  395. package/src/components/Button/Button.tsx +9 -3
  396. package/src/components/Button/button.scss +5 -5
  397. package/src/components/Calendar/Calendar.rtl.test.tsx +22 -0
  398. package/src/components/{CalendarPicker/CalendarPicker.tsx → Calendar/Calendar.tsx} +86 -87
  399. package/src/components/Calendar/CalendarExample.tsx +31 -0
  400. package/src/components/{CalendarPicker/calendar-picker.scss → Calendar/calendar.scss} +1 -1
  401. package/src/components/Calendar/index.tsx +1 -0
  402. package/src/components/Card/Card.tsx +3 -2
  403. package/src/components/Checkbox/Checkbox.tsx +28 -26
  404. package/src/components/CheckboxGroup/CheckboxGroup.tsx +77 -81
  405. package/src/components/CheckboxGroup/CheckboxGroupExample.tsx +3 -0
  406. package/src/components/CheckboxGroup/checkbox-group.scss +8 -0
  407. package/src/components/CheckboxGroupField/CheckboxGroupField.rtl.test.tsx +27 -0
  408. package/src/components/CheckboxGroupField/CheckboxGroupField.tsx +37 -0
  409. package/src/components/CheckboxGroupField/index.tsx +1 -0
  410. package/src/components/CheckboxOption/CheckboxOption.tsx +4 -1
  411. package/src/components/{ChipUtility/ChipUtility.rtl.test.tsx → Chip/Chip.rtl.test.tsx} +5 -5
  412. package/src/components/{ChipUtility/ChipUtility.tsx → Chip/Chip.tsx} +26 -28
  413. package/src/components/{ChipUtility/ChipUtilityExample.tsx → Chip/ChipExample.tsx} +3 -3
  414. package/src/components/{ChipUtility/chip-utility.scss → Chip/chip.scss} +1 -1
  415. package/src/components/Chip/index.tsx +1 -0
  416. package/src/components/ChipGroup/ChipGroup.rtl.test.tsx +7 -7
  417. package/src/components/ChipGroup/ChipGroup.tsx +8 -7
  418. package/src/components/ChipGroup/ChipGroupExample.tsx +38 -138
  419. package/src/components/DatePicker/DatePicker.rtl.test.tsx +17 -0
  420. package/src/components/DatePicker/DatePicker.tsx +227 -0
  421. package/src/components/DatePicker/DatePickerExample.tsx +12 -0
  422. package/src/components/{DateInput/date-input.scss → DatePicker/date-picker.scss} +2 -3
  423. package/src/components/DatePicker/index.tsx +1 -0
  424. package/src/components/DatePickerField/DatePickerField.rtl.test.tsx +17 -0
  425. package/src/components/DatePickerField/DatePickerField.tsx +37 -0
  426. package/src/components/DatePickerField/index.tsx +1 -0
  427. package/src/components/Drawer/Drawer.tsx +1 -1
  428. package/src/components/Drawer/DrawerExample.tsx +2 -2
  429. package/src/components/EmptyState/EmptyState.tsx +1 -1
  430. package/src/components/Fab/Fab.tsx +3 -3
  431. package/src/components/Field/Field.rtl.test.tsx +23 -0
  432. package/src/components/Field/Field.tsx +110 -0
  433. package/src/components/Field/FieldDescription.tsx +15 -0
  434. package/src/components/Field/FieldError.tsx +19 -0
  435. package/src/components/Field/FieldExample.tsx +21 -0
  436. package/src/components/Field/FieldLabel.tsx +38 -0
  437. package/src/components/Field/field.scss +43 -0
  438. package/src/components/Field/index.tsx +5 -0
  439. package/src/components/Field/utils.ts +79 -0
  440. package/src/components/FormField/FormField.rtl.test.tsx +11 -21
  441. package/src/components/FormField/FormField.tsx +49 -61
  442. package/src/components/FormField/FormFieldExample.tsx +275 -38
  443. package/src/components/Img/Img.tsx +1 -1
  444. package/src/components/InlineAlert/InlineAlert.tsx +5 -5
  445. package/src/components/{MenuButton/MenuButton.rtl.test.tsx → Input/Input.rtl.test.tsx} +3 -3
  446. package/src/components/Input/Input.tsx +99 -0
  447. package/src/components/{TextInput/TextInput.tsx → Input/InputElement.tsx} +69 -77
  448. package/src/components/Input/InputExample.tsx +57 -0
  449. package/src/components/Input/index.tsx +2 -0
  450. package/src/components/{TextInput/text-input.scss → Input/input.scss} +7 -7
  451. package/src/components/InputField/InputField.rtl.test.tsx +15 -0
  452. package/src/components/InputField/InputField.tsx +37 -0
  453. package/src/components/InputField/index.tsx +1 -0
  454. package/src/components/{NumberInput/NumberInput.rtl.test.tsx → InputNumber/InputNumber.rtl.test.tsx} +3 -3
  455. package/src/components/{NumberInput/NumberInput.tsx → InputNumber/InputNumber.tsx} +48 -30
  456. package/src/components/{NumberInput/NumberInputExample.tsx → InputNumber/InputNumberExample.tsx} +2 -2
  457. package/src/components/InputNumber/index.tsx +1 -0
  458. package/src/components/{NumberInput/number-input.scss → InputNumber/input-number.scss} +1 -1
  459. package/src/components/InputNumberField/InputNumberField.rtl.test.tsx +17 -0
  460. package/src/components/InputNumberField/InputNumberField.tsx +37 -0
  461. package/src/components/InputNumberField/index.tsx +1 -0
  462. package/src/components/InputPhone/InputPhone.rtl.test.tsx +17 -0
  463. package/src/components/InputPhone/InputPhone.tsx +290 -0
  464. package/src/components/InputPhone/InputPhoneExample.tsx +9 -0
  465. package/src/components/InputPhone/index.tsx +1 -0
  466. package/src/components/{PhoneNumberInput/phone-number-input.scss → InputPhone/input-phone.scss} +13 -18
  467. package/src/components/InputPhoneField/InputPhoneField.rtl.test.tsx +17 -0
  468. package/src/components/InputPhoneField/InputPhoneField.tsx +37 -0
  469. package/src/components/InputPhoneField/index.tsx +1 -0
  470. package/src/components/Layout/Layout.tsx +3 -3
  471. package/src/components/Link/Link.tsx +1 -1
  472. package/src/components/ListItem/ListItem.tsx +32 -14
  473. package/src/components/ListItem/ListItemExample.tsx +3 -3
  474. package/src/components/ListItem/list-item.scss +6 -1
  475. package/src/components/Menu/Menu.tsx +10 -2
  476. package/src/components/Menu/MenuExample.tsx +2 -1
  477. package/src/components/Modal/Modal.tsx +1 -1
  478. package/src/components/Modal/ModalExample.tsx +4 -6
  479. package/src/components/Pagination/PageInput.tsx +2 -2
  480. package/src/components/{CalendarPicker/CalendarPicker.rtl.test.tsx → Password/Password.rtl.test.tsx} +4 -4
  481. package/src/components/Password/Password.tsx +113 -0
  482. package/src/components/Password/index.tsx +1 -0
  483. package/src/components/Password/password.scss +31 -0
  484. package/src/components/PasswordField/PasswordField.rtl.test.tsx +4 -11
  485. package/src/components/PasswordField/PasswordField.tsx +13 -43
  486. package/src/components/Popover/Popover.tsx +2 -2
  487. package/src/components/Popover/PopoverExample.tsx +2 -2
  488. package/src/components/ProgressBar/ProgressBar.tsx +1 -1
  489. package/src/components/ProgressCircle/ProgressCircle.tsx +1 -1
  490. package/src/components/ProgressCircle/progress-circle.scss +2 -0
  491. package/src/components/ProgressionStepper/ProgressionStepper.tsx +9 -14
  492. package/src/components/ProgressionStepper/ProgressionStepperExample.tsx +2 -2
  493. package/src/components/Radio/Radio.tsx +15 -16
  494. package/src/components/RadioGroup/RadioGroup.rtl.test.tsx +4 -5
  495. package/src/components/RadioGroup/RadioGroup.tsx +63 -85
  496. package/src/components/RadioGroup/radio-group.scss +3 -1
  497. package/src/components/RadioGroupField/RadioGroupField.rtl.test.tsx +27 -0
  498. package/src/components/RadioGroupField/RadioGroupField.tsx +37 -0
  499. package/src/components/RadioGroupField/index.tsx +1 -0
  500. package/src/components/SearchBar/SearchBar.rtl.test.tsx +3 -3
  501. package/src/components/SearchBar/SearchBar.tsx +10 -21
  502. package/src/components/SegmentedControl/SegmentedControl.tsx +1 -1
  503. package/src/components/Select/Select.rtl.test.tsx +6 -5
  504. package/src/components/Select/Select.tsx +68 -57
  505. package/src/components/Select/SelectExample.tsx +36 -14
  506. package/src/components/SelectField/SelectField.rtl.test.tsx +9 -6
  507. package/src/components/SelectField/SelectField.tsx +10 -44
  508. package/src/components/Skeleton/SkeletonExample.tsx +1 -3
  509. package/src/components/SkeletonText/SkeletonText.tsx +1 -1
  510. package/src/components/Slider/slider.scss +1 -0
  511. package/src/components/Snackbar/Snackbar.tsx +124 -28
  512. package/src/components/Snackbar/SnackbarExample.tsx +9 -3
  513. package/src/components/Snackbar/snackbar.scss +48 -16
  514. package/src/components/StylesProviderDemo/StylesProviderDemo.tsx +5 -2
  515. package/src/components/StylesProviderDemo/exampleCss.ts +1899 -0
  516. package/src/components/Switch/Switch.rtl.test.tsx +3 -1
  517. package/src/components/Switch/Switch.tsx +5 -3
  518. package/src/components/SwitchOption/SwitchOption.rtl.test.tsx +3 -1
  519. package/src/components/SwitchOption/SwitchOption.tsx +1 -1
  520. package/src/components/TabGroup/TabGroup.tsx +2 -2
  521. package/src/components/TabList/TabList.tsx +16 -6
  522. package/src/components/Tag/Tag.tsx +1 -1
  523. package/src/components/Textarea/Textarea.rtl.test.tsx +1 -1
  524. package/src/components/Textarea/Textarea.tsx +40 -41
  525. package/src/components/Textarea/textarea.scss +41 -19
  526. package/src/components/TextareaField/TextareaField.rtl.test.tsx +4 -11
  527. package/src/components/TextareaField/TextareaField.tsx +13 -65
  528. package/src/components/{TimeInput → TimePicker}/Listbox.tsx +5 -5
  529. package/src/components/{TimeInput → TimePicker}/Segment.tsx +8 -5
  530. package/src/components/{TextInput/TextInput.rtl.test.tsx → TimePicker/TimePicker.rtl.test.tsx} +3 -3
  531. package/src/components/{TimeInput/TimeInput.tsx → TimePicker/TimePicker.tsx} +117 -70
  532. package/src/components/TimePicker/TimePickerExample.tsx +8 -0
  533. package/src/components/TimePicker/index.tsx +1 -0
  534. package/src/components/{TimeInput/time-input.scss → TimePicker/time-picker.scss} +7 -5
  535. package/src/components/TimePicker/utils.test.tsx +26 -0
  536. package/src/components/TimePicker/utils.ts +44 -0
  537. package/src/components/TimePickerField/TimePickerField.rtl.test.tsx +17 -0
  538. package/src/components/TimePickerField/TimePickerField.tsx +37 -0
  539. package/src/components/TimePickerField/index.tsx +1 -0
  540. package/src/components/ToggleOption/ToggleOption.tsx +29 -23
  541. package/src/components/Tooltip/Tooltip.tsx +1 -1
  542. package/src/components/Tooltip/TooltipExample.tsx +7 -9
  543. package/src/components/Truncated/Truncated.tsx +2 -2
  544. package/src/components/Txt/Txt.tsx +3 -3
  545. package/src/constants/brands.ts +5 -1
  546. package/src/hooks/useArrowNavigation.ts +0 -2
  547. package/src/hooks/useCheckboxGroupState.ts +8 -11
  548. package/src/hooks/useCheckboxState.ts +1 -1
  549. package/src/hooks/useContainerWidth.tsx +1 -1
  550. package/src/hooks/useFloating.ts +8 -7
  551. package/src/hooks/useModalState.ts +1 -1
  552. package/src/hooks/useOutsideClick.ts +1 -1
  553. package/src/hooks/useRadioState.ts +1 -1
  554. package/src/hooks/useTimeout.ts +1 -1
  555. package/src/styles/base.scss +7 -0
  556. package/src/types/common.ts +39 -10
  557. package/src/types/meta.ts +1 -0
  558. package/src/utils/demo.ts +1 -0
  559. package/dist/components/CalendarPicker/CalendarPicker.d.ts +0 -32
  560. package/dist/components/CalendarPicker/CalendarPicker.js.map +0 -1
  561. package/dist/components/CalendarPicker/CalendarPickerExample.d.ts +0 -3
  562. package/dist/components/CalendarPicker/CalendarPickerExample.js +0 -17
  563. package/dist/components/CalendarPicker/CalendarPickerExample.js.map +0 -1
  564. package/dist/components/CalendarPicker/index.d.ts +0 -1
  565. package/dist/components/CalendarPicker/index.js +0 -2
  566. package/dist/components/CalendarPicker/index.js.map +0 -1
  567. package/dist/components/ChipAssist/ChipAssist.d.ts +0 -24
  568. package/dist/components/ChipAssist/ChipAssist.js +0 -26
  569. package/dist/components/ChipAssist/ChipAssist.js.map +0 -1
  570. package/dist/components/ChipAssist/ChipAssistExample.d.ts +0 -4
  571. package/dist/components/ChipAssist/ChipAssistExample.js +0 -32
  572. package/dist/components/ChipAssist/ChipAssistExample.js.map +0 -1
  573. package/dist/components/ChipAssist/index.d.ts +0 -1
  574. package/dist/components/ChipAssist/index.js +0 -2
  575. package/dist/components/ChipAssist/index.js.map +0 -1
  576. package/dist/components/ChipFilter/ChipFilter.d.ts +0 -40
  577. package/dist/components/ChipFilter/ChipFilter.js +0 -31
  578. package/dist/components/ChipFilter/ChipFilter.js.map +0 -1
  579. package/dist/components/ChipFilter/ChipFilterExample.d.ts +0 -3
  580. package/dist/components/ChipFilter/ChipFilterExample.js +0 -62
  581. package/dist/components/ChipFilter/ChipFilterExample.js.map +0 -1
  582. package/dist/components/ChipFilter/index.d.ts +0 -1
  583. package/dist/components/ChipFilter/index.js +0 -2
  584. package/dist/components/ChipFilter/index.js.map +0 -1
  585. package/dist/components/ChipInput/ChipInput.d.ts +0 -31
  586. package/dist/components/ChipInput/ChipInput.js +0 -27
  587. package/dist/components/ChipInput/ChipInput.js.map +0 -1
  588. package/dist/components/ChipInput/ChipInputExample.d.ts +0 -4
  589. package/dist/components/ChipInput/ChipInputExample.js +0 -47
  590. package/dist/components/ChipInput/ChipInputExample.js.map +0 -1
  591. package/dist/components/ChipInput/index.d.ts +0 -1
  592. package/dist/components/ChipInput/index.js +0 -2
  593. package/dist/components/ChipInput/index.js.map +0 -1
  594. package/dist/components/ChipSuggestion/ChipSuggestion.d.ts +0 -17
  595. package/dist/components/ChipSuggestion/ChipSuggestion.js +0 -19
  596. package/dist/components/ChipSuggestion/ChipSuggestion.js.map +0 -1
  597. package/dist/components/ChipSuggestion/ChipSuggestionExample.d.ts +0 -4
  598. package/dist/components/ChipSuggestion/ChipSuggestionExample.js +0 -24
  599. package/dist/components/ChipSuggestion/ChipSuggestionExample.js.map +0 -1
  600. package/dist/components/ChipSuggestion/index.d.ts +0 -1
  601. package/dist/components/ChipSuggestion/index.js +0 -2
  602. package/dist/components/ChipSuggestion/index.js.map +0 -1
  603. package/dist/components/ChipUtility/ChipUtility.js +0 -25
  604. package/dist/components/ChipUtility/ChipUtility.js.map +0 -1
  605. package/dist/components/ChipUtility/ChipUtilityExample.d.ts +0 -4
  606. package/dist/components/ChipUtility/ChipUtilityExample.js.map +0 -1
  607. package/dist/components/ChipUtility/index.d.ts +0 -1
  608. package/dist/components/ChipUtility/index.js +0 -2
  609. package/dist/components/ChipUtility/index.js.map +0 -1
  610. package/dist/components/DateField/DateField.d.ts +0 -32
  611. package/dist/components/DateField/DateField.js +0 -34
  612. package/dist/components/DateField/DateField.js.map +0 -1
  613. package/dist/components/DateField/DateFieldExample.d.ts +0 -4
  614. package/dist/components/DateField/DateFieldExample.js +0 -11
  615. package/dist/components/DateField/DateFieldExample.js.map +0 -1
  616. package/dist/components/DateField/date-field.css +0 -8
  617. package/dist/components/DateField/index.d.ts +0 -1
  618. package/dist/components/DateField/index.js +0 -2
  619. package/dist/components/DateField/index.js.map +0 -1
  620. package/dist/components/DateInput/DateInput.d.ts +0 -39
  621. package/dist/components/DateInput/DateInput.js +0 -103
  622. package/dist/components/DateInput/DateInput.js.map +0 -1
  623. package/dist/components/DateInput/DateInputExample.d.ts +0 -4
  624. package/dist/components/DateInput/DateInputExample.js +0 -14
  625. package/dist/components/DateInput/DateInputExample.js.map +0 -1
  626. package/dist/components/DateInput/index.d.ts +0 -1
  627. package/dist/components/DateInput/index.js +0 -2
  628. package/dist/components/DateInput/index.js.map +0 -1
  629. package/dist/components/FormField/form-field.css +0 -17
  630. package/dist/components/FormField/form-field.css.js +0 -22
  631. package/dist/components/ListItemMenu/ListItemMenu.d.ts +0 -146
  632. package/dist/components/ListItemMenu/ListItemMenu.js +0 -159
  633. package/dist/components/ListItemMenu/ListItemMenu.js.map +0 -1
  634. package/dist/components/ListItemMenu/index.d.ts +0 -1
  635. package/dist/components/ListItemMenu/index.js +0 -2
  636. package/dist/components/ListItemMenu/index.js.map +0 -1
  637. package/dist/components/MenuButton/MenuButton.d.ts +0 -19
  638. package/dist/components/MenuButton/MenuButton.js +0 -20
  639. package/dist/components/MenuButton/MenuButton.js.map +0 -1
  640. package/dist/components/MenuButton/index.d.ts +0 -1
  641. package/dist/components/MenuButton/index.js +0 -2
  642. package/dist/components/MenuButton/index.js.map +0 -1
  643. package/dist/components/MenuButton/menu-button.css +0 -16
  644. package/dist/components/MenuButton/menu-button.css.js +0 -21
  645. package/dist/components/NumberField/NumberField.d.ts +0 -33
  646. package/dist/components/NumberField/NumberField.js +0 -35
  647. package/dist/components/NumberField/NumberField.js.map +0 -1
  648. package/dist/components/NumberField/index.d.ts +0 -1
  649. package/dist/components/NumberField/index.js +0 -2
  650. package/dist/components/NumberField/index.js.map +0 -1
  651. package/dist/components/NumberInput/NumberInput.d.ts +0 -63
  652. package/dist/components/NumberInput/NumberInput.js.map +0 -1
  653. package/dist/components/NumberInput/NumberInputExample.d.ts +0 -3
  654. package/dist/components/NumberInput/NumberInputExample.js.map +0 -1
  655. package/dist/components/NumberInput/index.d.ts +0 -1
  656. package/dist/components/NumberInput/index.js +0 -2
  657. package/dist/components/NumberInput/index.js.map +0 -1
  658. package/dist/components/PasswordInput/PasswordInput.d.ts +0 -21
  659. package/dist/components/PasswordInput/PasswordInput.js +0 -34
  660. package/dist/components/PasswordInput/PasswordInput.js.map +0 -1
  661. package/dist/components/PasswordInput/index.d.ts +0 -1
  662. package/dist/components/PasswordInput/index.js +0 -2
  663. package/dist/components/PasswordInput/index.js.map +0 -1
  664. package/dist/components/PasswordInput/password-input.css +0 -28
  665. package/dist/components/PasswordInput/password-input.css.js +0 -33
  666. package/dist/components/PhoneNumberField/PhoneNumberField.d.ts +0 -14
  667. package/dist/components/PhoneNumberField/PhoneNumberField.js +0 -16
  668. package/dist/components/PhoneNumberField/PhoneNumberField.js.map +0 -1
  669. package/dist/components/PhoneNumberField/index.d.ts +0 -1
  670. package/dist/components/PhoneNumberField/index.js +0 -2
  671. package/dist/components/PhoneNumberField/index.js.map +0 -1
  672. package/dist/components/PhoneNumberInput/PhoneNumberInput.d.ts +0 -37
  673. package/dist/components/PhoneNumberInput/PhoneNumberInput.js +0 -83
  674. package/dist/components/PhoneNumberInput/PhoneNumberInput.js.map +0 -1
  675. package/dist/components/PhoneNumberInput/PhoneNumberInputExample.d.ts +0 -4
  676. package/dist/components/PhoneNumberInput/PhoneNumberInputExample.js +0 -5
  677. package/dist/components/PhoneNumberInput/PhoneNumberInputExample.js.map +0 -1
  678. package/dist/components/PhoneNumberInput/index.d.ts +0 -1
  679. package/dist/components/PhoneNumberInput/index.js +0 -2
  680. package/dist/components/PhoneNumberInput/index.js.map +0 -1
  681. package/dist/components/PhoneNumberInput/phone-number-input.css +0 -46
  682. package/dist/components/PhoneNumberInput/phone-number-input.css.js +0 -51
  683. package/dist/components/SelectField/SelectFieldExample.d.ts +0 -23
  684. package/dist/components/SelectField/SelectFieldExample.js +0 -13
  685. package/dist/components/SelectField/SelectFieldExample.js.map +0 -1
  686. package/dist/components/SnackbarProvider/SnackbarProvider.d.ts +0 -90
  687. package/dist/components/SnackbarProvider/SnackbarProvider.js +0 -115
  688. package/dist/components/SnackbarProvider/SnackbarProvider.js.map +0 -1
  689. package/dist/components/SnackbarProvider/SnackbarProviderExample.d.ts +0 -4
  690. package/dist/components/SnackbarProvider/SnackbarProviderExample.js +0 -59
  691. package/dist/components/SnackbarProvider/SnackbarProviderExample.js.map +0 -1
  692. package/dist/components/SnackbarProvider/index.d.ts +0 -1
  693. package/dist/components/SnackbarProvider/index.js +0 -2
  694. package/dist/components/SnackbarProvider/index.js.map +0 -1
  695. package/dist/components/SnackbarProvider/snackbar-provider-example.css +0 -15
  696. package/dist/components/SnackbarProvider/snackbar-provider-example.css.js +0 -20
  697. package/dist/components/SnackbarProvider/snackbar-provider.css +0 -15
  698. package/dist/components/SnackbarProvider/snackbar-provider.css.js +0 -20
  699. package/dist/components/TextField/TextField.d.ts +0 -31
  700. package/dist/components/TextField/TextField.js +0 -33
  701. package/dist/components/TextField/TextField.js.map +0 -1
  702. package/dist/components/TextField/TextFieldExample.d.ts +0 -3
  703. package/dist/components/TextField/TextFieldExample.js +0 -6
  704. package/dist/components/TextField/TextFieldExample.js.map +0 -1
  705. package/dist/components/TextField/index.d.ts +0 -1
  706. package/dist/components/TextField/index.js +0 -2
  707. package/dist/components/TextField/index.js.map +0 -1
  708. package/dist/components/TextInput/TextInput.d.ts +0 -78
  709. package/dist/components/TextInput/TextInput.js.map +0 -1
  710. package/dist/components/TextInput/TextInputExample.d.ts +0 -3
  711. package/dist/components/TextInput/TextInputExample.js.map +0 -1
  712. package/dist/components/TextInput/index.d.ts +0 -1
  713. package/dist/components/TextInput/index.js +0 -2
  714. package/dist/components/TextInput/index.js.map +0 -1
  715. package/dist/components/TextareaField/TextareaFieldExample.d.ts +0 -3
  716. package/dist/components/TextareaField/TextareaFieldExample.js +0 -10
  717. package/dist/components/TextareaField/TextareaFieldExample.js.map +0 -1
  718. package/dist/components/TimeInput/Listbox.d.ts +0 -15
  719. package/dist/components/TimeInput/Listbox.js.map +0 -1
  720. package/dist/components/TimeInput/Segment.d.ts +0 -20
  721. package/dist/components/TimeInput/Segment.js.map +0 -1
  722. package/dist/components/TimeInput/TimeInput.d.ts +0 -24
  723. package/dist/components/TimeInput/TimeInput.js +0 -115
  724. package/dist/components/TimeInput/TimeInput.js.map +0 -1
  725. package/dist/components/TimeInput/TimeInputExample.d.ts +0 -3
  726. package/dist/components/TimeInput/TimeInputExample.js +0 -4
  727. package/dist/components/TimeInput/TimeInputExample.js.map +0 -1
  728. package/dist/components/TimeInput/index.d.ts +0 -1
  729. package/dist/components/TimeInput/index.js +0 -2
  730. package/dist/components/TimeInput/index.js.map +0 -1
  731. package/dist/hooks/useSnackbarContext.d.ts +0 -1
  732. package/dist/hooks/useSnackbarContext.js +0 -16
  733. package/dist/hooks/useSnackbarContext.js.map +0 -1
  734. package/dist/utils/snackbarContext.d.ts +0 -38
  735. package/dist/utils/snackbarContext.js +0 -3
  736. package/dist/utils/snackbarContext.js.map +0 -1
  737. package/src/components/CalendarPicker/CalendarPickerExample.tsx +0 -24
  738. package/src/components/CalendarPicker/index.tsx +0 -1
  739. package/src/components/ChipAssist/ChipAssist.rtl.test.tsx +0 -16
  740. package/src/components/ChipAssist/ChipAssist.tsx +0 -37
  741. package/src/components/ChipAssist/ChipAssistExample.tsx +0 -34
  742. package/src/components/ChipAssist/index.tsx +0 -1
  743. package/src/components/ChipFilter/ChipFilter.rtl.test.tsx +0 -15
  744. package/src/components/ChipFilter/ChipFilter.tsx +0 -75
  745. package/src/components/ChipFilter/ChipFilterExample.tsx +0 -63
  746. package/src/components/ChipFilter/index.tsx +0 -1
  747. package/src/components/ChipInput/ChipInput.rtl.test.tsx +0 -16
  748. package/src/components/ChipInput/ChipInput.tsx +0 -47
  749. package/src/components/ChipInput/ChipInputExample.tsx +0 -49
  750. package/src/components/ChipInput/index.tsx +0 -1
  751. package/src/components/ChipSuggestion/ChipSuggestion.rtl.test.tsx +0 -19
  752. package/src/components/ChipSuggestion/ChipSuggestion.tsx +0 -22
  753. package/src/components/ChipSuggestion/ChipSuggestionExample.tsx +0 -26
  754. package/src/components/ChipSuggestion/index.tsx +0 -1
  755. package/src/components/ChipUtility/index.tsx +0 -1
  756. package/src/components/DateField/DateField.rtl.test.tsx +0 -24
  757. package/src/components/DateField/DateField.tsx +0 -58
  758. package/src/components/DateField/DateFieldExample.tsx +0 -13
  759. package/src/components/DateField/date-field.scss +0 -8
  760. package/src/components/DateField/index.tsx +0 -1
  761. package/src/components/DateInput/DateInput.rtl.test.tsx +0 -17
  762. package/src/components/DateInput/DateInput.tsx +0 -198
  763. package/src/components/DateInput/DateInputExample.tsx +0 -17
  764. package/src/components/DateInput/index.tsx +0 -1
  765. package/src/components/FormField/form-field.scss +0 -19
  766. package/src/components/ListItemMenu/ListItemMenu.tsx +0 -359
  767. package/src/components/ListItemMenu/index.tsx +0 -1
  768. package/src/components/MenuButton/MenuButton.tsx +0 -29
  769. package/src/components/MenuButton/index.tsx +0 -1
  770. package/src/components/MenuButton/menu-button.scss +0 -16
  771. package/src/components/NumberField/NumberField.rtl.test.tsx +0 -24
  772. package/src/components/NumberField/NumberField.tsx +0 -70
  773. package/src/components/NumberField/index.tsx +0 -1
  774. package/src/components/NumberInput/index.tsx +0 -1
  775. package/src/components/PasswordInput/PasswordInput.rtl.test.tsx +0 -15
  776. package/src/components/PasswordInput/PasswordInput.tsx +0 -115
  777. package/src/components/PasswordInput/index.tsx +0 -1
  778. package/src/components/PasswordInput/password-input.scss +0 -36
  779. package/src/components/PhoneNumberField/PhoneNumberField.rtl.test.tsx +0 -24
  780. package/src/components/PhoneNumberField/PhoneNumberField.tsx +0 -41
  781. package/src/components/PhoneNumberField/index.tsx +0 -1
  782. package/src/components/PhoneNumberInput/PhoneNumberInput.rtl.test.tsx +0 -17
  783. package/src/components/PhoneNumberInput/PhoneNumberInput.tsx +0 -186
  784. package/src/components/PhoneNumberInput/PhoneNumberInputExample.tsx +0 -8
  785. package/src/components/PhoneNumberInput/index.tsx +0 -1
  786. package/src/components/SelectField/SelectFieldExample.tsx +0 -16
  787. package/src/components/SnackbarProvider/SnackbarProvider.tsx +0 -160
  788. package/src/components/SnackbarProvider/SnackbarProviderExample.tsx +0 -127
  789. package/src/components/SnackbarProvider/index.tsx +0 -1
  790. package/src/components/SnackbarProvider/snackbar-provider-example.scss +0 -17
  791. package/src/components/SnackbarProvider/snackbar-provider.scss +0 -15
  792. package/src/components/TextField/TextField.rtl.test.tsx +0 -24
  793. package/src/components/TextField/TextField.tsx +0 -67
  794. package/src/components/TextField/TextFieldExample.tsx +0 -8
  795. package/src/components/TextField/index.tsx +0 -1
  796. package/src/components/TextInput/TextInputExample.tsx +0 -44
  797. package/src/components/TextInput/index.tsx +0 -1
  798. package/src/components/TextareaField/TextareaFieldExample.tsx +0 -13
  799. package/src/components/TimeInput/TimeInput.rtl.test.tsx +0 -15
  800. package/src/components/TimeInput/TimeInputExample.tsx +0 -6
  801. package/src/components/TimeInput/index.tsx +0 -1
  802. package/src/hooks/useSnackbarContext.ts +0 -18
  803. package/src/utils/snackbarContext.tsx +0 -43
  804. /package/dist/components/{NumberInput → InputNumber}/IncrementButton.d.ts +0 -0
  805. /package/dist/components/{NumberInput → InputNumber}/IncrementButton.js +0 -0
  806. /package/src/components/{NumberInput → InputNumber}/IncrementButton.tsx +0 -0
@@ -1,65 +1,35 @@
1
1
  import './radio-group.scss';
2
+ import { useFieldInit } from '-/components/Field';
3
+ import { RadioProps } from '-/components/Radio';
2
4
  import { RadioOption, RadioOptionProps } from '-/components/RadioOption';
3
- import { useId } from '-/hooks/useId';
4
- import { ElementProps, CommonProps, FormFieldControlProps } from '-/types/common';
5
+ import { ElementProps, FieldControlProps } from '-/types/common';
5
6
 
6
- export type RadioGroupOption = Pick<RadioOptionProps, 'checked' | 'description' | 'disabled' | 'label' | 'name'> &
7
- Required<CommonProps<'value'>>;
7
+ export type RadioGroupOption = Pick<RadioOptionProps, 'checked' | 'description' | 'disabled' | 'label'> &
8
+ Pick<RadioProps, 'value'>;
8
9
 
9
- export type RadioGroupProps = CommonProps<'disabled' | 'name'> &
10
- FormFieldControlProps & {
11
- /**
12
- * The value of the control.
13
- *
14
- * @example
15
- * 1;
16
- *
17
- * @required
18
- */
19
- value: string;
20
- /**
21
- * The function to call when the radios are changed.
22
- *
23
- * @example
24
- * (value) => setState({ value }),
25
- *
26
- * @required
27
- */
28
- onChange: (value: string) => void;
29
- /**
30
- * The options for the radios.
31
- *
32
- * @example
33
- * [
34
- * {
35
- * value: '1',
36
- * label: 'Option 1',
37
- * },
38
- * {
39
- * value: '2',
40
- * label: 'Option 2',
41
- * description: 'Description here',
42
- * },
43
- * { value: '3', label: 'Option 3' },
44
- * ];
45
- *
46
- * @type Array<RadioGroupOption>
47
- * @required
48
- */
49
- options: RadioGroupOption[];
50
- /**
51
- * The label of the radio group.
52
- *
53
- * @required
54
- */
55
- label: string;
56
- /**
57
- * Hides the RadioGroup label. When label isn't showing it is used as the aria-label prop.
58
- *
59
- * @default false
60
- */
61
- hideLabel?: boolean;
62
- };
10
+ export type RadioGroupProps = FieldControlProps & {
11
+ /**
12
+ * The options for the radios.
13
+ *
14
+ * @example
15
+ * [
16
+ * {
17
+ * value: '1',
18
+ * label: 'Option 1',
19
+ * },
20
+ * {
21
+ * value: '2',
22
+ * label: 'Option 2',
23
+ * description: 'Description here',
24
+ * },
25
+ * { value: '3', label: 'Option 3' },
26
+ * ];
27
+ *
28
+ * @type Array<RadioGroupOption>
29
+ * @required
30
+ */
31
+ options: RadioGroupOption[];
32
+ };
63
33
 
64
34
  /**
65
35
  * A group of radios that allows users to choose one or more items from a list or turn an feature on or off.
@@ -68,12 +38,12 @@ export type RadioGroupProps = CommonProps<'disabled' | 'name'> &
68
38
  * import { useState } from 'react';
69
39
  * import { RadioGroup } from '@bspk/ui/RadioGroup';
70
40
  *
71
- * export function Example() {
41
+ * function Example() {
72
42
  * const [selectedOption, setSelectedOption] = useState<string>('1');
73
43
  *
74
44
  * return (
75
45
  * <RadioGroup
76
- * name="Example name"
46
+ * name="example-name"
77
47
  * onChange={(nextValue) => setSelectedOption(nextValue)}
78
48
  * options={[
79
49
  * {
@@ -97,41 +67,49 @@ export function RadioGroup({
97
67
  options = [],
98
68
  name,
99
69
  value: groupValue,
100
- label: groupLabel,
101
- hideLabel: hideLabelProp = false,
102
- disabled: disabledGroup = false,
70
+ disabled = false,
71
+ readOnly,
72
+ invalid: invalidProp,
73
+ required,
74
+ id: idProp,
75
+ 'aria-describedby': ariaDescribedByProp,
76
+ 'aria-errormessage': ariaErrorMessageProp,
103
77
  ...props
104
78
  }: ElementProps<RadioGroupProps, 'div'>) {
105
- const id = `radio-group-${useId()}`;
79
+ const { id, ariaDescribedBy, ariaErrorMessage, invalid } = useFieldInit({
80
+ idProp,
81
+ required,
82
+ disabled,
83
+ readOnly,
84
+ invalidProp,
85
+ });
106
86
 
107
87
  return (
108
88
  <div
109
89
  {...props}
110
- aria-describedby={props['aria-describedby']}
111
- aria-errormessage={props['aria-errormessage']}
112
- aria-label={hideLabelProp ? groupLabel : undefined}
113
- aria-labelledby={!hideLabelProp ? `${id}-label` : undefined}
90
+ aria-describedby={ariaDescribedByProp || ariaDescribedBy || undefined}
114
91
  data-bspk="radio-group"
115
92
  id={id}
116
93
  role="radiogroup"
117
94
  >
118
- {!hideLabelProp && <label id={`${id}-label`}>{groupLabel}</label>}
119
- <div role="presentation">
120
- {options.map(({ label, description, disabled, value }, index) => {
121
- return (
122
- <RadioOption
123
- checked={groupValue === value}
124
- description={description}
125
- disabled={disabledGroup || disabled}
126
- key={`radio-option-${value || index}`}
127
- label={label}
128
- name={name}
129
- onChange={(checked) => checked && onChange(value)}
130
- value={value}
131
- />
132
- );
133
- })}
134
- </div>
95
+ {options.map(({ label, description, value, ...option }, index) => {
96
+ return (
97
+ <RadioOption
98
+ aria-describedby={ariaDescribedByProp || ariaDescribedBy || undefined}
99
+ aria-errormessage={ariaErrorMessageProp || ariaErrorMessage || undefined}
100
+ checked={groupValue === value}
101
+ description={description}
102
+ disabled={disabled || option.disabled}
103
+ invalid={invalid || undefined}
104
+ key={`radio-option-${value || index}`}
105
+ label={label}
106
+ name={name}
107
+ onChange={(checked) => checked && onChange(value)}
108
+ required={required}
109
+ value={value}
110
+ />
111
+ );
112
+ })}
135
113
  </div>
136
114
  );
137
115
  }
@@ -1,6 +1,8 @@
1
1
  [data-bspk='radio-group'] {
2
2
  display: flex;
3
3
  flex-direction: column;
4
- gap: var(--spacing-sizing-01);
4
+ gap: 0;
5
5
  max-width: 100%;
6
+
7
+ --list-item-height: 'auto';
6
8
  }
@@ -0,0 +1,27 @@
1
+ import { RadioGroupField } from '.';
2
+ import { hasNoBasicA11yIssues } from '-/rtl/hasNoBasicA11yIssues';
3
+ import { render } from '-/rtl/util';
4
+
5
+ const TestBed = () => (
6
+ <RadioGroupField
7
+ label="Example field label"
8
+ name="example-field-name"
9
+ onChange={() => {}}
10
+ options={[
11
+ { value: '1', label: 'Option 1' },
12
+ { value: '2', label: 'Option 2' },
13
+ { value: '3', label: 'Option 3' },
14
+ ]}
15
+ value=""
16
+ />
17
+ );
18
+
19
+ describe('RadioGroupField (RTL)', () => {
20
+ it('has no basic a11y issues', hasNoBasicA11yIssues(<TestBed />));
21
+
22
+ it('renders', () => {
23
+ const { getAllByText } = render(<TestBed />);
24
+
25
+ expect(getAllByText('Example field label')[0]).toBeInTheDocument();
26
+ });
27
+ });
@@ -0,0 +1,37 @@
1
+ import { Field, FieldDescription, FieldError, FieldLabel } from '-/components/Field';
2
+ import { FormFieldControlProps } from '-/components/FormField';
3
+ import { RadioGroup, RadioGroupProps } from '-/components/RadioGroup';
4
+
5
+ export type RadioGroupFieldProps = FormFieldControlProps<RadioGroupProps>;
6
+
7
+ /**
8
+ * A field wrapper for the RadioGroup component.
9
+ *
10
+ * This component takes properties from the FormField and RadioGroup components.
11
+ *
12
+ * @name RadioGroupField
13
+ * @phase UXReview
14
+ *
15
+ * @generated
16
+ */
17
+ export function RadioGroupField({
18
+ label,
19
+ helperText,
20
+ labelTrailing,
21
+ errorMessage,
22
+ style,
23
+ ...controlProps
24
+ }: RadioGroupFieldProps) {
25
+ return (
26
+ <Field as="fieldset">
27
+ <FieldLabel as="legend" labelTrailing={labelTrailing} style={style}>
28
+ {label}
29
+ </FieldLabel>
30
+ <RadioGroup {...controlProps} />
31
+ {!errorMessage && helperText && <FieldDescription>{helperText}</FieldDescription>}
32
+ {errorMessage && <FieldError>{errorMessage}</FieldError>}
33
+ </Field>
34
+ );
35
+ }
36
+
37
+ /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -0,0 +1 @@
1
+ export * from './RadioGroupField';
@@ -21,7 +21,7 @@ const TestBed = () => {
21
21
  <SearchBar
22
22
  aria-label="Example aria-label"
23
23
  items={items}
24
- name="Example name"
24
+ name="example-name"
25
25
  onChange={() => {}}
26
26
  placeholder="Search"
27
27
  value=""
@@ -33,8 +33,8 @@ describe('SearchBar (RTL)', () => {
33
33
  it('has no basic a11y issues', hasNoBasicA11yIssues(<TestBed />));
34
34
 
35
35
  it('renders', () => {
36
- const { getByLabelText } = render(<TestBed />);
36
+ const { getByPlaceholderText } = render(<TestBed />);
37
37
 
38
- expect(getByLabelText('Example aria-label')).toBeInTheDocument();
38
+ expect(getByPlaceholderText('Search')).toBeInTheDocument();
39
39
  });
40
40
  });
@@ -1,15 +1,16 @@
1
1
  import './search-bar.scss';
2
2
  import { SvgSearch } from '@bspk/icons/Search';
3
3
  import { useEffect, useMemo, useState } from 'react';
4
+ import { InputProps, Input } from '-/components/Input';
4
5
  import { ListItem, ListItemProps } from '-/components/ListItem';
5
6
  import { Menu } from '-/components/Menu';
6
- import { TextInputProps, TextInput } from '-/components/TextInput';
7
7
  import { Txt } from '-/components/Txt';
8
8
  import { useArrowNavigation } from '-/hooks/useArrowNavigation';
9
9
  import { useFloating } from '-/hooks/useFloating';
10
10
  import { useId } from '-/hooks/useId';
11
11
  import { useOutsideClick } from '-/hooks/useOutsideClick';
12
12
  import { useUIContext } from '-/hooks/useUIContext';
13
+ import { FieldControlProps } from '-/types/common';
13
14
  import { getElementById } from '-/utils/dom';
14
15
  import { handleKeyDown } from '-/utils/handleKeyDown';
15
16
  import { scrollListItemsStyle, ScrollListItemsStyleProps } from '-/utils/scrollListItemsStyle';
@@ -22,13 +23,9 @@ import { useIds } from '-/utils/useIds';
22
23
  */
23
24
  export type SearchBarOption = Pick<ListItemProps, 'label' | 'leading' | 'trailing'>;
24
25
 
25
- export type SearchBarProps<O extends SearchBarOption = SearchBarOption> = Pick<
26
- TextInputProps,
27
- 'aria-label' | 'disabled' | 'id' | 'inputRef' | 'name' | 'size'
28
- > &
26
+ export type SearchBarProps<O extends SearchBarOption = SearchBarOption> = FieldControlProps<string, O> &
27
+ Pick<InputProps, 'inputRef' | 'size' | 'trailing'> &
29
28
  ScrollListItemsStyleProps & {
30
- /** The current value of the search bar. */
31
- value?: string;
32
29
  /**
33
30
  * The placeholder of the field.
34
31
  *
@@ -37,14 +34,6 @@ export type SearchBarProps<O extends SearchBarOption = SearchBarOption> = Pick<
37
34
  * @required
38
35
  */
39
36
  placeholder: string;
40
- /**
41
- * Handler for input value change. This is called on every key press in the input field and when a menu item is
42
- * selected.
43
- *
44
- * @type (value: String, item?: SearchBarOption) => void
45
- * @required
46
- */
47
- onChange: (value: string, item?: O) => void;
48
37
  /**
49
38
  * Content to display in the menu.
50
39
  *
@@ -80,8 +69,8 @@ export type SearchBarProps<O extends SearchBarOption = SearchBarOption> = Pick<
80
69
  * import { useState } from 'react';
81
70
  * import { SearchBar } from '@bspk/ui/SearchBar';
82
71
  *
83
- * export function Example() {
84
- * const [searchText, setSearchText] = useState<string>('');
72
+ * function Example() {
73
+ * const [searchText, setSearchText] = useState('');
85
74
  *
86
75
  * return (
87
76
  * <SearchBar
@@ -98,7 +87,7 @@ export type SearchBarProps<O extends SearchBarOption = SearchBarOption> = Pick<
98
87
  * { label: 'Ice Cream Sandwich' },
99
88
  * { label: 'Jackfruit Pudding' },
100
89
  * ]}
101
- * name="Example name"
90
+ * name="example-name"
102
91
  * placeholder="Search"
103
92
  * value={searchText}
104
93
  * onChange={setSearchText}
@@ -113,7 +102,6 @@ export function SearchBar<O extends SearchBarOption>({
113
102
  items: itemsProp,
114
103
  noResultsMessage,
115
104
  placeholder = 'Search',
116
- 'aria-label': ariaLabel,
117
105
  id: idProp,
118
106
  inputRef,
119
107
  name,
@@ -122,6 +110,7 @@ export function SearchBar<O extends SearchBarOption>({
122
110
  onChange,
123
111
  disabled = false,
124
112
  scrollLimit,
113
+ trailing,
125
114
  }: SearchBarProps<O>) {
126
115
  const id = useId(idProp);
127
116
  const menuId = `${id}-menu`;
@@ -189,8 +178,7 @@ export function SearchBar<O extends SearchBarOption>({
189
178
  return (
190
179
  <>
191
180
  <div data-bspk="search-bar">
192
- <TextInput
193
- aria-label={ariaLabel}
181
+ <Input
194
182
  autoComplete="off"
195
183
  containerRef={elements.setReference}
196
184
  disabled={disabled}
@@ -228,6 +216,7 @@ export function SearchBar<O extends SearchBarOption>({
228
216
  owner="search-bar"
229
217
  placeholder={placeholder}
230
218
  size={size}
219
+ trailing={trailing}
231
220
  value={value}
232
221
  />
233
222
  </div>
@@ -12,7 +12,7 @@ export type SegmentedControlProps = TabListProps<SegmentedControlOption>;
12
12
  * import { useState } from 'react';
13
13
  * import { SegmentedControl } from '@bspk/ui/SegmentedControl';
14
14
  *
15
- * export function Example() {
15
+ * function Example() {
16
16
  * const [selectedOption, setSelectedOption] = useState<string>();
17
17
  *
18
18
  * return (
@@ -1,25 +1,26 @@
1
- import { Select } from './Select';
2
1
  import { presets } from './SelectExample';
2
+ import { Select, SelectProps } from './';
3
3
  import { hasNoBasicA11yIssues } from '-/rtl/hasNoBasicA11yIssues';
4
4
  import { render } from '-/rtl/util';
5
5
 
6
6
  const nonPresetProps = {
7
7
  name: 'Example name',
8
8
  onChange: () => {},
9
- placeholder: 'Select an option',
10
9
  };
11
10
 
11
+ const TestBed = (props: SelectProps) => <Select {...props} placeholder="Select an option" />;
12
+
12
13
  describe('Select (RTL)', () => {
13
14
  presets.forEach((preset) => {
14
15
  it(
15
16
  `has no basic a11y issues - ${preset.label}`,
16
- hasNoBasicA11yIssues(<Select {...preset.propState} {...nonPresetProps} />),
17
+ hasNoBasicA11yIssues(<TestBed {...preset.propState} {...nonPresetProps} />),
17
18
  );
18
19
  });
19
20
 
20
21
  it('renders', () => {
21
- const { queryByText } = render(<Select {...presets[0].propState} {...nonPresetProps} />);
22
+ const { queryByText } = render(<TestBed {...presets[0].propState} {...nonPresetProps} />);
22
23
 
23
- expect(queryByText(nonPresetProps.placeholder)).toBeInTheDocument();
24
+ expect(queryByText('Select an option')).toBeInTheDocument();
24
25
  });
25
26
  });
@@ -1,13 +1,13 @@
1
1
  import './select.scss';
2
2
  import { SvgKeyboardArrowDown } from '@bspk/icons/KeyboardArrowDown';
3
3
  import { useMemo, KeyboardEvent, MouseEvent } from 'react';
4
+ import { useFieldInit } from '-/components/Field';
4
5
  import { ListItem, ListItemProps } from '-/components/ListItem';
5
- import { Menu } from '-/components/Menu';
6
+ import { Menu, MenuProps } from '-/components/Menu';
6
7
  import { useArrowNavigation } from '-/hooks/useArrowNavigation';
7
8
  import { useFloating } from '-/hooks/useFloating';
8
- import { useId } from '-/hooks/useId';
9
9
  import { useOutsideClick } from '-/hooks/useOutsideClick';
10
- import { CommonProps, ElementProps, FormFieldControlProps } from '-/types/common';
10
+ import { CommonProps, ElementProps, FieldControlProps } from '-/types/common';
11
11
  import { getElementById } from '-/utils/dom';
12
12
  import { handleKeyDown } from '-/utils/handleKeyDown';
13
13
  import { scrollListItemsStyle, ScrollListItemsStyleProps } from '-/utils/scrollListItemsStyle';
@@ -18,12 +18,12 @@ import { scrollListItemsStyle, ScrollListItemsStyleProps } from '-/utils/scrollL
18
18
  * Essentially the props of ListItemProps.
19
19
  */
20
20
  export type SelectOption = CommonProps<'disabled'> &
21
- Omit<ListItemProps, 'id' | 'onClick' | 'subText' | 'value'> & { value: string };
21
+ Omit<ListItemProps, 'id' | 'onClick' | 'value'> & { value: string };
22
22
 
23
23
  export type SelectItem = SelectOption & { id: string };
24
24
 
25
- export type SelectProps = CommonProps<'disabled' | 'id' | 'invalid' | 'name' | 'readOnly' | 'size'> &
26
- FormFieldControlProps &
25
+ export type SelectProps = CommonProps<'size'> &
26
+ FieldControlProps<string, KeyboardEvent | MouseEvent> &
27
27
  ScrollListItemsStyleProps & {
28
28
  /**
29
29
  * Array of options to display in the select
@@ -46,57 +46,47 @@ export type SelectProps = CommonProps<'disabled' | 'id' | 'invalid' | 'name' | '
46
46
  * @required
47
47
  */
48
48
  options: SelectOption[];
49
- /** Selected value */
50
- value: string;
51
- /**
52
- * The function to call when the selected values change.
53
- *
54
- * @example
55
- * (value, event) => setState({ value });
56
- *
57
- * @required
58
- */
59
- onChange: (value: string, event?: KeyboardEvent | MouseEvent) => void;
60
- /**
61
- * The label for the select element, used for accessibility, and the dropdown modal header.
62
- *
63
- * @required
64
- */
65
- label: string;
66
49
  /**
67
50
  * Placeholder for the select
68
51
  *
69
52
  * @default Select one
70
53
  */
71
54
  placeholder?: string;
55
+ /**
56
+ * The width of the menu.
57
+ *
58
+ * If not provided, the menu will match the width of the select control.
59
+ */
60
+ menuWidth?: MenuProps['width'];
72
61
  };
73
62
 
74
63
  /**
75
64
  * A field element that allows users to select one option from a list of available choices.
76
65
  *
66
+ * For a more complete example with field usage, see the SelectField component.
67
+ *
77
68
  * @example
78
69
  * import { Select } from '@bspk/ui/Select';
79
70
  *
80
- * export function Example() {
71
+ * const OPTIONS = [
72
+ * { id: '1', label: 'Option 1' },
73
+ * { id: '2', label: 'Option 2' },
74
+ * { id: '3', label: 'Option 3' },
75
+ * { id: '4', label: 'Option 4' },
76
+ * { id: '5', label: 'Option 5' },
77
+ * { id: '6', label: 'Option 6' },
78
+ * ];
79
+ *
80
+ * function ExampleStandalone() {
81
81
  * const [selected, setSelected] = React.useState<string[]>([]);
82
+ *
82
83
  * return (
83
84
  * <Select
84
- * label="Select an option"
85
+ * aria-label="Select an option"
85
86
  * itemCount={5}
86
87
  * name="example-select"
87
88
  * onChange={setSelected}
88
- * options={[
89
- * { id: '1', label: 'Option 1' },
90
- * { id: '2', label: 'Option 2' },
91
- * { id: '3', label: 'Option 3' },
92
- * { id: '4', label: 'Option 4' },
93
- * { id: '5', label: 'Option 5' },
94
- * { id: '6', label: 'Option 6' },
95
- * { id: '7', label: 'Option 7' },
96
- * { id: '8', label: 'Option 8' },
97
- * { id: '9', label: 'Option 9' },
98
- * { id: '10', label: 'Option 10' },
99
- * ]}
89
+ * options={OPTIONS}
100
90
  * placeholder="Select an option"
101
91
  * size="medium"
102
92
  * value={selected}
@@ -104,6 +94,27 @@ export type SelectProps = CommonProps<'disabled' | 'id' | 'invalid' | 'name' | '
104
94
  * );
105
95
  * }
106
96
  *
97
+ * function ExampleWithField() {
98
+ * const [selected, setSelected] = React.useState<string[]>([]);
99
+ * return (
100
+ * <Field>
101
+ * <FieldLabel>Select an option</FieldLabel>
102
+ * <Select
103
+ * itemCount={5}
104
+ * name="example-select"
105
+ * onChange={setSelected}
106
+ * options={OPTIONS}
107
+ * placeholder="Select an option"
108
+ * size="medium"
109
+ * value={selected}
110
+ * />
111
+ * <FieldDescription>
112
+ * The select allows you to choose one option from a list of options.
113
+ * </FieldDescription>
114
+ * </Field>
115
+ * );
116
+ * }
117
+ *
107
118
  * @name Select
108
119
  * @phase UXReview
109
120
  */
@@ -111,21 +122,26 @@ export function Select({
111
122
  options: optionsProp = [],
112
123
  value = '',
113
124
  onChange,
114
- label,
115
125
  placeholder = 'Select one',
116
126
  size = 'medium',
117
127
  disabled,
118
128
  id: idProp,
119
- invalid,
129
+ invalid: invalidProp,
120
130
  readOnly,
121
131
  name,
122
- 'aria-describedby': ariaDescribedBy,
123
- 'aria-errormessage': ariaErrorMessage,
124
- 'aria-labelledby': ariaLabelledBy,
125
132
  scrollLimit,
126
- ...props
133
+ required = false,
134
+ 'aria-label': ariaLabel,
135
+ menuWidth,
136
+ ...elementProps
127
137
  }: ElementProps<SelectProps, 'button'>) {
128
- const id = useId(idProp);
138
+ const { id, ariaDescribedBy, ariaErrorMessage, invalid } = useFieldInit({
139
+ idProp,
140
+ required,
141
+ disabled,
142
+ readOnly,
143
+ invalidProp,
144
+ });
129
145
  const menuId = useMemo(() => `${id}-menu`, [id]);
130
146
 
131
147
  const { items, availableItems } = useMemo(() => {
@@ -134,7 +150,7 @@ export function Select({
134
150
  ...item,
135
151
  id: `${id}-item-${index}`,
136
152
  'aria-label': item.label,
137
- 'aria-selected': value.includes(item.value),
153
+ 'aria-selected': value == item.value,
138
154
  }),
139
155
  );
140
156
 
@@ -153,7 +169,8 @@ export function Select({
153
169
  const { elements, floatingStyles } = useFloating({
154
170
  hide: !open,
155
171
  offsetOptions: 4,
156
- refWidth: true,
172
+ //match reference width if menuWidth not provided
173
+ refWidth: !menuWidth,
157
174
  });
158
175
 
159
176
  useOutsideClick({
@@ -173,22 +190,17 @@ export function Select({
173
190
  return (
174
191
  <>
175
192
  <input name={name} type="hidden" value={value} />
176
- {!ariaLabelledBy && (
177
- <div data-sr-only id={`${id}-label`}>
178
- {label}
179
- </div>
180
- )}
181
193
  <button
182
- {...props}
194
+ aria-label={`${ariaLabel} ${selectedItem?.label || placeholder}`}
195
+ {...elementProps}
183
196
  aria-activedescendant={activeElementId || undefined}
184
197
  aria-autocomplete="list"
185
- aria-controls={activeElementId ? menuId : undefined}
198
+ aria-controls={open ? menuId : undefined}
186
199
  aria-describedby={ariaDescribedBy || undefined}
187
200
  aria-disabled={disabled || readOnly || undefined}
188
201
  aria-errormessage={ariaErrorMessage || undefined}
189
202
  aria-expanded={open}
190
203
  aria-haspopup="listbox"
191
- aria-labelledby={ariaLabelledBy || `${id}-label`}
192
204
  aria-readonly={readOnly || undefined}
193
205
  data-bspk="select"
194
206
  data-invalid={invalid || undefined}
@@ -244,11 +256,9 @@ export function Select({
244
256
  </button>
245
257
  <Menu
246
258
  aria-autocomplete={undefined}
247
- aria-label={label}
248
259
  as="div"
249
260
  id={menuId}
250
261
  innerRef={elements.setFloating}
251
- label={label}
252
262
  onClickCapture={() => {
253
263
  // Prevent the menu from closing when clicking inside it
254
264
  // maintain focus on the select control
@@ -264,10 +274,11 @@ export function Select({
264
274
  ...floatingStyles,
265
275
  }}
266
276
  tabIndex={-1}
277
+ width={menuWidth}
267
278
  >
268
279
  {items.map((item) => {
269
280
  const isActive = activeElementId === item.id;
270
- const isSelected = value.includes(item.value);
281
+ const isSelected = value === item.value;
271
282
 
272
283
  return (
273
284
  <ListItem