@bspk/ui 1.3.2 → 1.3.4

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 (751) hide show
  1. package/build.ts +41 -10
  2. package/dist/components/AvatarGroup/AvatarGroup.d.ts +1 -1
  3. package/dist/components/AvatarGroup/AvatarGroup.js +1 -1
  4. package/dist/components/Breadcrumb/Breadcrumb.d.ts +4 -23
  5. package/dist/components/Breadcrumb/Breadcrumb.js +3 -7
  6. package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -1
  7. package/dist/components/Breadcrumb/BreadcumbDropdown.d.ts +27 -0
  8. package/dist/components/Breadcrumb/BreadcumbDropdown.js +68 -0
  9. package/dist/components/Breadcrumb/BreadcumbDropdown.js.map +1 -0
  10. package/dist/components/Button/Button.d.ts +5 -1
  11. package/dist/components/Button/Button.js +2 -2
  12. package/dist/components/Button/Button.js.map +1 -1
  13. package/dist/components/Button/button.css +5 -5
  14. package/dist/components/Button/button.css.js +5 -5
  15. package/dist/components/Calendar/Calendar.d.ts +33 -0
  16. package/dist/components/{CalendarPicker/CalendarPicker.js → Calendar/Calendar.js} +30 -34
  17. package/dist/components/Calendar/Calendar.js.map +1 -0
  18. package/dist/components/Calendar/CalendarExample.d.ts +4 -0
  19. package/dist/components/Calendar/CalendarExample.js +29 -0
  20. package/dist/components/Calendar/CalendarExample.js.map +1 -0
  21. package/dist/components/{CalendarPicker/calendar-picker.css → Calendar/calendar.css} +16 -16
  22. package/dist/components/{CalendarPicker/calendar-picker.css.js → Calendar/calendar.css.js} +16 -16
  23. package/dist/components/Calendar/index.d.ts +1 -0
  24. package/dist/components/Calendar/index.js +2 -0
  25. package/dist/components/Calendar/index.js.map +1 -0
  26. package/dist/components/Checkbox/Checkbox.d.ts +5 -3
  27. package/dist/components/Checkbox/Checkbox.js +2 -2
  28. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  29. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +6 -25
  30. package/dist/components/CheckboxGroup/CheckboxGroup.js +15 -5
  31. package/dist/components/CheckboxGroup/CheckboxGroup.js.map +1 -1
  32. package/dist/components/CheckboxGroup/CheckboxGroupExample.js +3 -0
  33. package/dist/components/CheckboxGroup/CheckboxGroupExample.js.map +1 -1
  34. package/dist/components/CheckboxGroup/checkbox-group.css +7 -0
  35. package/dist/components/{DateField/date-field.css.js → CheckboxGroup/checkbox-group.css.js} +4 -5
  36. package/dist/components/CheckboxGroupField/CheckboxGroupField.d.ts +15 -0
  37. package/dist/components/CheckboxGroupField/CheckboxGroupField.js +17 -0
  38. package/dist/components/CheckboxGroupField/CheckboxGroupField.js.map +1 -0
  39. package/dist/components/CheckboxGroupField/index.d.ts +1 -0
  40. package/dist/components/CheckboxGroupField/index.js +2 -0
  41. package/dist/components/CheckboxGroupField/index.js.map +1 -0
  42. package/dist/components/{ChipUtility/ChipUtility.d.ts → Chip/Chip.d.ts} +6 -6
  43. package/dist/components/Chip/Chip.js +25 -0
  44. package/dist/components/Chip/Chip.js.map +1 -0
  45. package/dist/components/Chip/ChipExample.d.ts +4 -0
  46. package/dist/components/{ChipUtility/ChipUtilityExample.js → Chip/ChipExample.js} +2 -2
  47. package/dist/components/Chip/ChipExample.js.map +1 -0
  48. package/dist/components/{ChipUtility/chip-utility.css → Chip/chip.css} +10 -10
  49. package/dist/components/{ChipUtility/chip-utility.css.js → Chip/chip.css.js} +10 -10
  50. package/dist/components/Chip/index.d.ts +1 -0
  51. package/dist/components/Chip/index.js +2 -0
  52. package/dist/components/Chip/index.js.map +1 -0
  53. package/dist/components/ChipGroup/ChipGroup.d.ts +8 -7
  54. package/dist/components/ChipGroup/ChipGroup.js +5 -4
  55. package/dist/components/ChipGroup/ChipGroup.js.map +1 -1
  56. package/dist/components/ChipGroup/ChipGroupExample.js +4 -31
  57. package/dist/components/ChipGroup/ChipGroupExample.js.map +1 -1
  58. package/dist/components/DatePicker/DatePicker.d.ts +50 -0
  59. package/dist/components/DatePicker/DatePicker.js +133 -0
  60. package/dist/components/DatePicker/DatePicker.js.map +1 -0
  61. package/dist/components/DatePicker/DatePickerExample.d.ts +3 -0
  62. package/dist/components/DatePicker/DatePickerExample.js +10 -0
  63. package/dist/components/DatePicker/DatePickerExample.js.map +1 -0
  64. package/dist/components/{DateInput/date-input.css → DatePicker/date-picker.css} +2 -3
  65. package/dist/components/{DateInput/date-input.css.js → DatePicker/date-picker.css.js} +2 -3
  66. package/dist/components/DatePicker/index.d.ts +1 -0
  67. package/dist/components/DatePicker/index.js +2 -0
  68. package/dist/components/DatePicker/index.js.map +1 -0
  69. package/dist/components/DatePickerField/DatePickerField.d.ts +15 -0
  70. package/dist/components/DatePickerField/DatePickerField.js +17 -0
  71. package/dist/components/DatePickerField/DatePickerField.js.map +1 -0
  72. package/dist/components/DatePickerField/index.d.ts +1 -0
  73. package/dist/components/DatePickerField/index.js +2 -0
  74. package/dist/components/DatePickerField/index.js.map +1 -0
  75. package/dist/components/Drawer/Drawer.d.ts +1 -1
  76. package/dist/components/Drawer/Drawer.js +1 -1
  77. package/dist/components/Drawer/DrawerExample.js +3 -3
  78. package/dist/components/Drawer/DrawerExample.js.map +1 -1
  79. package/dist/components/EmptyState/EmptyState.d.ts +1 -1
  80. package/dist/components/EmptyState/EmptyState.js +1 -1
  81. package/dist/components/Fab/Fab.d.ts +1 -1
  82. package/dist/components/Fab/Fab.js +1 -1
  83. package/dist/components/Field/Field.d.ts +58 -0
  84. package/dist/components/Field/Field.js +70 -0
  85. package/dist/components/Field/Field.js.map +1 -0
  86. package/dist/components/Field/FieldDescription.d.ts +7 -0
  87. package/dist/components/Field/FieldDescription.js +9 -0
  88. package/dist/components/Field/FieldDescription.js.map +1 -0
  89. package/dist/components/Field/FieldError.d.ts +5 -0
  90. package/dist/components/Field/FieldError.js +8 -0
  91. package/dist/components/Field/FieldError.js.map +1 -0
  92. package/dist/components/Field/FieldExample.d.ts +5 -0
  93. package/dist/components/Field/FieldExample.js +10 -0
  94. package/dist/components/Field/FieldExample.js.map +1 -0
  95. package/dist/components/Field/FieldLabel.d.ts +15 -0
  96. package/dist/components/Field/FieldLabel.js +8 -0
  97. package/dist/components/Field/FieldLabel.js.map +1 -0
  98. package/dist/components/Field/field.css +36 -0
  99. package/dist/components/Field/field.css.js +41 -0
  100. package/dist/components/Field/index.d.ts +5 -0
  101. package/dist/components/Field/index.js +6 -0
  102. package/dist/components/Field/index.js.map +1 -0
  103. package/dist/components/Field/utils.d.ts +39 -0
  104. package/dist/components/Field/utils.js +35 -0
  105. package/dist/components/Field/utils.js.map +1 -0
  106. package/dist/components/FormField/FormField.d.ts +32 -17
  107. package/dist/components/FormField/FormField.js +10 -18
  108. package/dist/components/FormField/FormField.js.map +1 -1
  109. package/dist/components/FormField/FormFieldExample.d.ts +10 -4
  110. package/dist/components/FormField/FormFieldExample.js +97 -9
  111. package/dist/components/FormField/FormFieldExample.js.map +1 -1
  112. package/dist/components/Img/Img.d.ts +1 -1
  113. package/dist/components/Img/Img.js +1 -1
  114. package/dist/components/InlineAlert/InlineAlert.d.ts +4 -4
  115. package/dist/components/InlineAlert/InlineAlert.js +3 -3
  116. package/dist/components/InlineAlert/InlineAlert.js.map +1 -1
  117. package/dist/components/Input/Input.d.ts +37 -0
  118. package/dist/components/Input/Input.js +48 -0
  119. package/dist/components/Input/Input.js.map +1 -0
  120. package/dist/components/Input/InputElement.d.ts +77 -0
  121. package/dist/components/{TextInput/TextInput.js → Input/InputElement.js} +17 -16
  122. package/dist/components/Input/InputElement.js.map +1 -0
  123. package/dist/components/Input/InputExample.d.ts +8 -0
  124. package/dist/components/{TextInput/TextInputExample.js → Input/InputExample.js} +20 -9
  125. package/dist/components/Input/InputExample.js.map +1 -0
  126. package/dist/components/Input/index.d.ts +2 -0
  127. package/dist/components/Input/index.js +3 -0
  128. package/dist/components/Input/index.js.map +1 -0
  129. package/dist/components/{TextInput/text-input.css → Input/input.css} +23 -23
  130. package/dist/components/{TextInput/text-input.css.js → Input/input.css.js} +23 -23
  131. package/dist/components/InputField/InputField.d.ts +15 -0
  132. package/dist/components/InputField/InputField.js +17 -0
  133. package/dist/components/InputField/InputField.js.map +1 -0
  134. package/dist/components/InputField/index.d.ts +1 -0
  135. package/dist/components/InputField/index.js +2 -0
  136. package/dist/components/InputField/index.js.map +1 -0
  137. package/dist/components/{NumberInput → InputNumber}/IncrementButton.js.map +1 -1
  138. package/dist/components/InputNumber/InputNumber.d.ts +74 -0
  139. package/dist/components/InputNumber/InputNumber.js +78 -0
  140. package/dist/components/InputNumber/InputNumber.js.map +1 -0
  141. package/dist/components/InputNumber/InputNumberExample.d.ts +3 -0
  142. package/dist/components/{NumberInput/NumberInputExample.js → InputNumber/InputNumberExample.js} +2 -2
  143. package/dist/components/InputNumber/InputNumberExample.js.map +1 -0
  144. package/dist/components/InputNumber/index.d.ts +1 -0
  145. package/dist/components/InputNumber/index.js +2 -0
  146. package/dist/components/InputNumber/index.js.map +1 -0
  147. package/dist/components/{NumberInput/number-input.css → InputNumber/input-number.css} +21 -21
  148. package/dist/components/{NumberInput/number-input.css.js → InputNumber/input-number.css.js} +21 -21
  149. package/dist/components/InputNumberField/InputNumberField.d.ts +15 -0
  150. package/dist/components/InputNumberField/InputNumberField.js +17 -0
  151. package/dist/components/InputNumberField/InputNumberField.js.map +1 -0
  152. package/dist/components/InputNumberField/index.d.ts +1 -0
  153. package/dist/components/InputNumberField/index.js +2 -0
  154. package/dist/components/InputNumberField/index.js.map +1 -0
  155. package/dist/components/InputPhone/InputPhone.d.ts +57 -0
  156. package/dist/components/InputPhone/InputPhone.js +161 -0
  157. package/dist/components/InputPhone/InputPhone.js.map +1 -0
  158. package/dist/components/InputPhone/InputPhoneExample.d.ts +4 -0
  159. package/dist/components/InputPhone/InputPhoneExample.js +7 -0
  160. package/dist/components/InputPhone/InputPhoneExample.js.map +1 -0
  161. package/dist/components/InputPhone/index.d.ts +1 -0
  162. package/dist/components/InputPhone/index.js +2 -0
  163. package/dist/components/InputPhone/index.js.map +1 -0
  164. package/dist/components/InputPhone/input-phone.css +42 -0
  165. package/dist/components/InputPhone/input-phone.css.js +47 -0
  166. package/dist/components/InputPhoneField/InputPhoneField.d.ts +15 -0
  167. package/dist/components/InputPhoneField/InputPhoneField.js +17 -0
  168. package/dist/components/InputPhoneField/InputPhoneField.js.map +1 -0
  169. package/dist/components/InputPhoneField/index.d.ts +1 -0
  170. package/dist/components/InputPhoneField/index.js +2 -0
  171. package/dist/components/InputPhoneField/index.js.map +1 -0
  172. package/dist/components/Layout/Layout.d.ts +1 -1
  173. package/dist/components/Layout/Layout.js +1 -1
  174. package/dist/components/Link/Link.d.ts +1 -1
  175. package/dist/components/Link/Link.js +1 -1
  176. package/dist/components/ListItem/ListItem.d.ts +20 -11
  177. package/dist/components/ListItem/ListItem.js +12 -8
  178. package/dist/components/ListItem/ListItem.js.map +1 -1
  179. package/dist/components/ListItem/ListItemExample.d.ts +1 -1
  180. package/dist/components/ListItem/ListItemExample.js +72 -3
  181. package/dist/components/ListItem/ListItemExample.js.map +1 -1
  182. package/dist/components/ListItem/list-item.css +13 -7
  183. package/dist/components/ListItem/list-item.css.js +13 -7
  184. package/dist/components/Menu/Menu.d.ts +1 -1
  185. package/dist/components/Menu/Menu.js +1 -1
  186. package/dist/components/Menu/MenuExample.js +1 -1
  187. package/dist/components/Menu/MenuExample.js.map +1 -1
  188. package/dist/components/MenuButton/MenuButton.d.ts +1 -1
  189. package/dist/components/MenuButton/MenuButton.js +1 -1
  190. package/dist/components/Modal/Modal.d.ts +1 -1
  191. package/dist/components/Modal/Modal.js +1 -1
  192. package/dist/components/Modal/ModalExample.js +1 -1
  193. package/dist/components/Modal/ModalExample.js.map +1 -1
  194. package/dist/components/Pagination/PageInput.js +2 -2
  195. package/dist/components/Pagination/PageInput.js.map +1 -1
  196. package/dist/components/Password/Password.d.ts +43 -0
  197. package/dist/components/Password/Password.js +63 -0
  198. package/dist/components/Password/Password.js.map +1 -0
  199. package/dist/components/Password/index.d.ts +1 -0
  200. package/dist/components/Password/index.js +2 -0
  201. package/dist/components/Password/index.js.map +1 -0
  202. package/dist/components/Password/password.css +21 -0
  203. package/dist/components/Password/password.css.js +26 -0
  204. package/dist/components/PasswordField/PasswordField.d.ts +8 -24
  205. package/dist/components/PasswordField/PasswordField.js +7 -23
  206. package/dist/components/PasswordField/PasswordField.js.map +1 -1
  207. package/dist/components/Popover/Popover.d.ts +3 -3
  208. package/dist/components/Popover/Popover.js +2 -1
  209. package/dist/components/Popover/Popover.js.map +1 -1
  210. package/dist/components/Popover/PopoverExample.js +2 -2
  211. package/dist/components/Popover/PopoverExample.js.map +1 -1
  212. package/dist/components/ProgressBar/ProgressBar.d.ts +1 -1
  213. package/dist/components/ProgressBar/ProgressBar.js +1 -1
  214. package/dist/components/ProgressCircle/ProgressCircle.d.ts +1 -1
  215. package/dist/components/ProgressCircle/ProgressCircle.js +1 -1
  216. package/dist/components/ProgressionStepper/ProgressionStepper.d.ts +4 -8
  217. package/dist/components/ProgressionStepper/ProgressionStepper.js +11 -6
  218. package/dist/components/ProgressionStepper/ProgressionStepper.js.map +1 -1
  219. package/dist/components/ProgressionStepper/ProgressionStepperExample.js +20 -4
  220. package/dist/components/ProgressionStepper/ProgressionStepperExample.js.map +1 -1
  221. package/dist/components/Radio/Radio.d.ts +2 -2
  222. package/dist/components/Radio/Radio.js.map +1 -1
  223. package/dist/components/RadioGroup/RadioGroup.d.ts +7 -36
  224. package/dist/components/RadioGroup/RadioGroup.js +15 -9
  225. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  226. package/dist/components/RadioGroup/radio-group.css +2 -1
  227. package/dist/components/RadioGroup/radio-group.css.js +2 -1
  228. package/dist/components/RadioGroupField/RadioGroupField.d.ts +15 -0
  229. package/dist/components/RadioGroupField/RadioGroupField.js +17 -0
  230. package/dist/components/RadioGroupField/RadioGroupField.js.map +1 -0
  231. package/dist/components/RadioGroupField/index.d.ts +1 -0
  232. package/dist/components/RadioGroupField/index.js +2 -0
  233. package/dist/components/RadioGroupField/index.js.map +1 -0
  234. package/dist/components/SearchBar/SearchBar.d.ts +37 -45
  235. package/dist/components/SearchBar/SearchBar.js +104 -53
  236. package/dist/components/SearchBar/SearchBar.js.map +1 -1
  237. package/dist/components/SearchBar/SearchBarExample.js +2 -1
  238. package/dist/components/SearchBar/SearchBarExample.js.map +1 -1
  239. package/dist/components/SegmentedControl/SegmentedControl.d.ts +1 -1
  240. package/dist/components/SegmentedControl/SegmentedControl.js +1 -1
  241. package/dist/components/Select/Select.d.ts +41 -36
  242. package/dist/components/Select/Select.js +52 -26
  243. package/dist/components/Select/Select.js.map +1 -1
  244. package/dist/components/Select/SelectExample.js +1 -9
  245. package/dist/components/Select/SelectExample.js.map +1 -1
  246. package/dist/components/SelectField/SelectField.d.ts +6 -26
  247. package/dist/components/SelectField/SelectField.js +5 -27
  248. package/dist/components/SelectField/SelectField.js.map +1 -1
  249. package/dist/components/Skeleton/SkeletonExample.js +2 -2
  250. package/dist/components/Skeleton/SkeletonExample.js.map +1 -1
  251. package/dist/components/Snackbar/Snackbar.d.ts +72 -14
  252. package/dist/components/Snackbar/Snackbar.js +38 -9
  253. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  254. package/dist/components/Snackbar/SnackbarExample.d.ts +1 -1
  255. package/dist/components/Snackbar/SnackbarExample.js +5 -3
  256. package/dist/components/Snackbar/SnackbarExample.js.map +1 -1
  257. package/dist/components/Snackbar/snackbar.css +31 -2
  258. package/dist/components/Snackbar/snackbar.css.js +31 -2
  259. package/dist/components/StylesProviderDemo/StylesProviderDemo.d.ts +1 -1
  260. package/dist/components/StylesProviderDemo/StylesProviderDemo.js +3 -1
  261. package/dist/components/StylesProviderDemo/StylesProviderDemo.js.map +1 -1
  262. package/dist/components/StylesProviderDemo/exampleCss.d.ts +1 -0
  263. package/dist/components/StylesProviderDemo/exampleCss.js +1900 -0
  264. package/dist/components/StylesProviderDemo/exampleCss.js.map +1 -0
  265. package/dist/components/Switch/Switch.d.ts +5 -3
  266. package/dist/components/Switch/Switch.js +2 -2
  267. package/dist/components/Switch/Switch.js.map +1 -1
  268. package/dist/components/SwitchOption/SwitchOption.js +1 -1
  269. package/dist/components/SwitchOption/SwitchOption.js.map +1 -1
  270. package/dist/components/TabGroup/TabGroup.d.ts +2 -2
  271. package/dist/components/TabGroup/TabGroup.js +3 -3
  272. package/dist/components/TabGroup/TabGroup.js.map +1 -1
  273. package/dist/components/TabList/TabList.d.ts +6 -3
  274. package/dist/components/TabList/TabList.js +6 -3
  275. package/dist/components/TabList/TabList.js.map +1 -1
  276. package/dist/components/TabList/tab-list.css +6 -0
  277. package/dist/components/TabList/tab-list.css.js +6 -0
  278. package/dist/components/Tag/Tag.d.ts +1 -1
  279. package/dist/components/Tag/Tag.js +1 -1
  280. package/dist/components/Textarea/Textarea.d.ts +20 -26
  281. package/dist/components/Textarea/Textarea.js +29 -11
  282. package/dist/components/Textarea/Textarea.js.map +1 -1
  283. package/dist/components/Textarea/textarea.css +24 -10
  284. package/dist/components/Textarea/textarea.css.js +24 -10
  285. package/dist/components/TextareaField/TextareaField.d.ts +6 -30
  286. package/dist/components/TextareaField/TextareaField.js +5 -31
  287. package/dist/components/TextareaField/TextareaField.js.map +1 -1
  288. package/dist/components/TimePicker/Listbox.d.ts +15 -0
  289. package/dist/components/{TimeInput → TimePicker}/Listbox.js +2 -2
  290. package/dist/components/TimePicker/Listbox.js.map +1 -0
  291. package/dist/components/TimePicker/Segment.d.ts +21 -0
  292. package/dist/components/{TimeInput → TimePicker}/Segment.js +2 -1
  293. package/dist/components/TimePicker/Segment.js.map +1 -0
  294. package/dist/components/TimePicker/TimePicker.d.ts +36 -0
  295. package/dist/components/TimePicker/TimePicker.js +133 -0
  296. package/dist/components/TimePicker/TimePicker.js.map +1 -0
  297. package/dist/components/TimePicker/TimePickerExample.d.ts +3 -0
  298. package/dist/components/TimePicker/TimePickerExample.js +6 -0
  299. package/dist/components/TimePicker/TimePickerExample.js.map +1 -0
  300. package/dist/components/TimePicker/index.d.ts +1 -0
  301. package/dist/components/TimePicker/index.js +2 -0
  302. package/dist/components/TimePicker/index.js.map +1 -0
  303. package/dist/components/{TimeInput/time-input.css → TimePicker/time-picker.css} +28 -26
  304. package/dist/components/{TimeInput/time-input.css.js → TimePicker/time-picker.css.js} +28 -26
  305. package/dist/components/TimePicker/utils.d.ts +11 -0
  306. package/dist/components/TimePicker/utils.js +35 -0
  307. package/dist/components/TimePicker/utils.js.map +1 -0
  308. package/dist/components/TimePickerField/TimePickerField.d.ts +15 -0
  309. package/dist/components/TimePickerField/TimePickerField.js +17 -0
  310. package/dist/components/TimePickerField/TimePickerField.js.map +1 -0
  311. package/dist/components/TimePickerField/index.d.ts +1 -0
  312. package/dist/components/TimePickerField/index.js +2 -0
  313. package/dist/components/TimePickerField/index.js.map +1 -0
  314. package/dist/components/ToggleOption/ToggleOption.js +3 -2
  315. package/dist/components/ToggleOption/ToggleOption.js.map +1 -1
  316. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  317. package/dist/components/Tooltip/Tooltip.js +1 -1
  318. package/dist/components/Tooltip/TooltipExample.js +2 -2
  319. package/dist/components/Tooltip/TooltipExample.js.map +1 -1
  320. package/dist/components/Txt/Txt.d.ts +1 -1
  321. package/dist/components/Txt/Txt.js +1 -1
  322. package/dist/constants/brands.d.ts +1 -1
  323. package/dist/constants/brands.js +4 -0
  324. package/dist/constants/brands.js.map +1 -1
  325. package/dist/hooks/useArrowNavigation.js +6 -1
  326. package/dist/hooks/useArrowNavigation.js.map +1 -1
  327. package/dist/hooks/useCheckboxGroupState.d.ts +1 -1
  328. package/dist/hooks/useCheckboxGroupState.js +1 -1
  329. package/dist/hooks/useCheckboxState.d.ts +1 -1
  330. package/dist/hooks/useCheckboxState.js +1 -1
  331. package/dist/hooks/useContainerWidth.d.ts +1 -1
  332. package/dist/hooks/useContainerWidth.js +1 -1
  333. package/dist/hooks/useModalState.d.ts +1 -1
  334. package/dist/hooks/useModalState.js +1 -1
  335. package/dist/hooks/useOutsideClick.d.ts +5 -4
  336. package/dist/hooks/useOutsideClick.js +14 -3
  337. package/dist/hooks/useOutsideClick.js.map +1 -1
  338. package/dist/hooks/useRadioState.d.ts +2 -2
  339. package/dist/hooks/useRadioState.js +1 -1
  340. package/dist/hooks/useTimeout.d.ts +1 -1
  341. package/dist/styles/base.css +3 -0
  342. package/dist/styles/base.css.js +3 -0
  343. package/dist/types/common.d.ts +18 -10
  344. package/dist/types/common.js.map +1 -1
  345. package/dist/types/meta.d.ts +1 -0
  346. package/dist/types/meta.js.map +1 -1
  347. package/dist/utils/demo.d.ts +1 -0
  348. package/dist/utils/demo.js.map +1 -1
  349. package/meta.ts +1 -0
  350. package/package.json +37 -37
  351. package/src/components/AvatarGroup/AvatarGroup.tsx +1 -1
  352. package/src/components/Breadcrumb/Breadcrumb.tsx +5 -56
  353. package/src/components/Breadcrumb/BreadcumbDropdown.tsx +135 -0
  354. package/src/components/Button/Button.tsx +7 -1
  355. package/src/components/Button/button.scss +5 -5
  356. package/src/components/Calendar/Calendar.rtl.test.tsx +22 -0
  357. package/src/components/{CalendarPicker/CalendarPicker.tsx → Calendar/Calendar.tsx} +86 -87
  358. package/src/components/Calendar/CalendarExample.tsx +31 -0
  359. package/src/components/{CalendarPicker/calendar-picker.scss → Calendar/calendar.scss} +1 -1
  360. package/src/components/Calendar/index.tsx +1 -0
  361. package/src/components/Checkbox/Checkbox.tsx +28 -26
  362. package/src/components/CheckboxGroup/CheckboxGroup.tsx +73 -77
  363. package/src/components/CheckboxGroup/CheckboxGroupExample.tsx +3 -0
  364. package/src/components/CheckboxGroup/checkbox-group.scss +8 -0
  365. package/src/components/CheckboxGroupField/CheckboxGroupField.rtl.test.tsx +27 -0
  366. package/src/components/CheckboxGroupField/CheckboxGroupField.tsx +36 -0
  367. package/src/components/CheckboxGroupField/index.tsx +1 -0
  368. package/src/components/{ChipUtility/ChipUtility.rtl.test.tsx → Chip/Chip.rtl.test.tsx} +5 -5
  369. package/src/components/{ChipUtility/ChipUtility.tsx → Chip/Chip.tsx} +26 -28
  370. package/src/components/{ChipUtility/ChipUtilityExample.tsx → Chip/ChipExample.tsx} +3 -3
  371. package/src/components/{ChipUtility/chip-utility.scss → Chip/chip.scss} +1 -1
  372. package/src/components/Chip/index.tsx +1 -0
  373. package/src/components/ChipGroup/ChipGroup.rtl.test.tsx +7 -7
  374. package/src/components/ChipGroup/ChipGroup.tsx +8 -7
  375. package/src/components/ChipGroup/ChipGroupExample.tsx +38 -138
  376. package/src/components/DatePicker/DatePicker.rtl.test.tsx +17 -0
  377. package/src/components/DatePicker/DatePicker.tsx +227 -0
  378. package/src/components/DatePicker/DatePickerExample.tsx +12 -0
  379. package/src/components/{DateInput/date-input.scss → DatePicker/date-picker.scss} +2 -3
  380. package/src/components/DatePicker/index.tsx +1 -0
  381. package/src/components/DatePickerField/DatePickerField.rtl.test.tsx +17 -0
  382. package/src/components/DatePickerField/DatePickerField.tsx +30 -0
  383. package/src/components/DatePickerField/index.tsx +1 -0
  384. package/src/components/Drawer/Drawer.tsx +1 -1
  385. package/src/components/Drawer/DrawerExample.tsx +2 -2
  386. package/src/components/EmptyState/EmptyState.tsx +1 -1
  387. package/src/components/Fab/Fab.tsx +1 -1
  388. package/src/components/Field/Field.rtl.test.tsx +23 -0
  389. package/src/components/Field/Field.tsx +110 -0
  390. package/src/components/Field/FieldDescription.tsx +15 -0
  391. package/src/components/Field/FieldError.tsx +19 -0
  392. package/src/components/Field/FieldExample.tsx +21 -0
  393. package/src/components/Field/FieldLabel.tsx +38 -0
  394. package/src/components/Field/field.scss +43 -0
  395. package/src/components/Field/index.tsx +5 -0
  396. package/src/components/Field/utils.ts +79 -0
  397. package/src/components/FormField/FormField.rtl.test.tsx +11 -21
  398. package/src/components/FormField/FormField.tsx +44 -66
  399. package/src/components/FormField/FormFieldExample.tsx +275 -38
  400. package/src/components/Img/Img.tsx +1 -1
  401. package/src/components/InlineAlert/InlineAlert.tsx +5 -5
  402. package/src/components/{NumberInput/NumberInput.rtl.test.tsx → Input/Input.rtl.test.tsx} +3 -3
  403. package/src/components/Input/Input.tsx +99 -0
  404. package/src/components/{TextInput/TextInput.tsx → Input/InputElement.tsx} +69 -77
  405. package/src/components/Input/InputExample.tsx +57 -0
  406. package/src/components/Input/index.tsx +2 -0
  407. package/src/components/{TextInput/text-input.scss → Input/input.scss} +7 -7
  408. package/src/components/InputField/InputField.rtl.test.tsx +15 -0
  409. package/src/components/InputField/InputField.tsx +24 -0
  410. package/src/components/InputField/index.tsx +1 -0
  411. package/src/components/{TextField/TextField.rtl.test.tsx → InputNumber/InputNumber.rtl.test.tsx} +3 -12
  412. package/src/components/{NumberInput/NumberInput.tsx → InputNumber/InputNumber.tsx} +61 -56
  413. package/src/components/{NumberInput/NumberInputExample.tsx → InputNumber/InputNumberExample.tsx} +2 -2
  414. package/src/components/InputNumber/index.tsx +1 -0
  415. package/src/components/{NumberInput/number-input.scss → InputNumber/input-number.scss} +1 -1
  416. package/src/components/InputNumberField/InputNumberField.rtl.test.tsx +17 -0
  417. package/src/components/InputNumberField/InputNumberField.tsx +30 -0
  418. package/src/components/InputNumberField/index.tsx +1 -0
  419. package/src/components/InputPhone/InputPhone.rtl.test.tsx +17 -0
  420. package/src/components/InputPhone/InputPhone.tsx +290 -0
  421. package/src/components/InputPhone/InputPhoneExample.tsx +9 -0
  422. package/src/components/InputPhone/index.tsx +1 -0
  423. package/src/components/{PhoneNumberInput/phone-number-input.scss → InputPhone/input-phone.scss} +13 -18
  424. package/src/components/InputPhoneField/InputPhoneField.rtl.test.tsx +17 -0
  425. package/src/components/InputPhoneField/InputPhoneField.tsx +30 -0
  426. package/src/components/InputPhoneField/index.tsx +1 -0
  427. package/src/components/Layout/Layout.tsx +1 -1
  428. package/src/components/Link/Link.tsx +1 -1
  429. package/src/components/ListItem/ListItem.rtl.test.tsx +4 -1
  430. package/src/components/ListItem/ListItem.tsx +48 -23
  431. package/src/components/ListItem/ListItemExample.tsx +74 -4
  432. package/src/components/ListItem/list-item.scss +26 -17
  433. package/src/components/Menu/Menu.tsx +1 -1
  434. package/src/components/Menu/MenuExample.tsx +1 -0
  435. package/src/components/MenuButton/MenuButton.tsx +1 -1
  436. package/src/components/Modal/Modal.tsx +1 -1
  437. package/src/components/Modal/ModalExample.tsx +4 -6
  438. package/src/components/Pagination/PageInput.tsx +2 -2
  439. package/src/components/{CalendarPicker/CalendarPicker.rtl.test.tsx → Password/Password.rtl.test.tsx} +4 -4
  440. package/src/components/Password/Password.tsx +113 -0
  441. package/src/components/Password/index.tsx +1 -0
  442. package/src/components/Password/password.scss +31 -0
  443. package/src/components/PasswordField/PasswordField.rtl.test.tsx +4 -11
  444. package/src/components/PasswordField/PasswordField.tsx +10 -53
  445. package/src/components/Popover/Popover.tsx +3 -2
  446. package/src/components/Popover/PopoverExample.tsx +2 -2
  447. package/src/components/ProgressBar/ProgressBar.tsx +1 -1
  448. package/src/components/ProgressCircle/ProgressCircle.tsx +1 -1
  449. package/src/components/ProgressionStepper/ProgressionStepper.tsx +24 -20
  450. package/src/components/ProgressionStepper/ProgressionStepperExample.tsx +20 -4
  451. package/src/components/Radio/Radio.tsx +15 -16
  452. package/src/components/RadioGroup/RadioGroup.rtl.test.tsx +4 -5
  453. package/src/components/RadioGroup/RadioGroup.tsx +51 -71
  454. package/src/components/RadioGroup/radio-group.scss +3 -1
  455. package/src/components/RadioGroupField/RadioGroupField.rtl.test.tsx +27 -0
  456. package/src/components/RadioGroupField/RadioGroupField.tsx +36 -0
  457. package/src/components/RadioGroupField/index.tsx +1 -0
  458. package/src/components/SearchBar/SearchBar.rtl.test.tsx +3 -4
  459. package/src/components/SearchBar/SearchBar.tsx +190 -126
  460. package/src/components/SearchBar/SearchBarExample.tsx +2 -1
  461. package/src/components/SegmentedControl/SegmentedControl.tsx +1 -1
  462. package/src/components/Select/Select.rtl.test.tsx +6 -5
  463. package/src/components/Select/Select.tsx +62 -66
  464. package/src/components/Select/SelectExample.tsx +1 -14
  465. package/src/components/SelectField/SelectField.rtl.test.tsx +9 -6
  466. package/src/components/SelectField/SelectField.tsx +9 -56
  467. package/src/components/Skeleton/SkeletonExample.tsx +1 -3
  468. package/src/components/Snackbar/Snackbar.tsx +124 -28
  469. package/src/components/Snackbar/SnackbarExample.tsx +9 -3
  470. package/src/components/Snackbar/snackbar.scss +48 -16
  471. package/src/components/StylesProviderDemo/StylesProviderDemo.tsx +5 -2
  472. package/src/components/StylesProviderDemo/exampleCss.ts +1899 -0
  473. package/src/components/Switch/Switch.rtl.test.tsx +3 -1
  474. package/src/components/Switch/Switch.tsx +5 -3
  475. package/src/components/SwitchOption/SwitchOption.rtl.test.tsx +3 -1
  476. package/src/components/SwitchOption/SwitchOption.tsx +1 -1
  477. package/src/components/TabGroup/TabGroup.tsx +2 -2
  478. package/src/components/TabList/TabList.tsx +16 -5
  479. package/src/components/TabList/tab-list.scss +12 -0
  480. package/src/components/Tag/Tag.tsx +1 -1
  481. package/src/components/Textarea/Textarea.rtl.test.tsx +1 -1
  482. package/src/components/Textarea/Textarea.tsx +72 -68
  483. package/src/components/Textarea/textarea.scss +41 -19
  484. package/src/components/TextareaField/TextareaField.rtl.test.tsx +4 -11
  485. package/src/components/TextareaField/TextareaField.tsx +9 -74
  486. package/src/components/{TimeInput → TimePicker}/Listbox.tsx +5 -5
  487. package/src/components/{TimeInput → TimePicker}/Segment.tsx +8 -5
  488. package/src/components/{TextInput/TextInput.rtl.test.tsx → TimePicker/TimePicker.rtl.test.tsx} +3 -3
  489. package/src/components/{TimeInput/TimeInput.tsx → TimePicker/TimePicker.tsx} +104 -67
  490. package/src/components/TimePicker/TimePickerExample.tsx +8 -0
  491. package/src/components/TimePicker/index.tsx +1 -0
  492. package/src/components/{TimeInput/time-input.scss → TimePicker/time-picker.scss} +7 -5
  493. package/src/components/TimePicker/utils.test.tsx +26 -0
  494. package/src/components/TimePicker/utils.ts +44 -0
  495. package/src/components/TimePickerField/TimePickerField.rtl.test.tsx +17 -0
  496. package/src/components/TimePickerField/TimePickerField.tsx +30 -0
  497. package/src/components/TimePickerField/index.tsx +1 -0
  498. package/src/components/ToggleOption/ToggleOption.tsx +10 -5
  499. package/src/components/Tooltip/Tooltip.tsx +1 -1
  500. package/src/components/Tooltip/TooltipExample.tsx +7 -9
  501. package/src/components/Txt/Txt.tsx +1 -1
  502. package/src/constants/brands.ts +5 -1
  503. package/src/hooks/useArrowNavigation.ts +6 -1
  504. package/src/hooks/useCheckboxGroupState.ts +1 -1
  505. package/src/hooks/useCheckboxState.ts +1 -1
  506. package/src/hooks/useContainerWidth.tsx +1 -1
  507. package/src/hooks/useModalState.ts +1 -1
  508. package/src/hooks/useOutsideClick.ts +17 -4
  509. package/src/hooks/useRadioState.ts +1 -1
  510. package/src/hooks/useTimeout.ts +1 -1
  511. package/src/styles/base.scss +3 -0
  512. package/src/types/common.ts +28 -10
  513. package/src/types/meta.ts +1 -0
  514. package/src/utils/demo.ts +1 -0
  515. package/dist/components/CalendarPicker/CalendarPicker.d.ts +0 -32
  516. package/dist/components/CalendarPicker/CalendarPicker.js.map +0 -1
  517. package/dist/components/CalendarPicker/CalendarPickerExample.d.ts +0 -3
  518. package/dist/components/CalendarPicker/CalendarPickerExample.js +0 -17
  519. package/dist/components/CalendarPicker/CalendarPickerExample.js.map +0 -1
  520. package/dist/components/CalendarPicker/index.d.ts +0 -1
  521. package/dist/components/CalendarPicker/index.js +0 -2
  522. package/dist/components/CalendarPicker/index.js.map +0 -1
  523. package/dist/components/ChipAssist/ChipAssist.d.ts +0 -24
  524. package/dist/components/ChipAssist/ChipAssist.js +0 -26
  525. package/dist/components/ChipAssist/ChipAssist.js.map +0 -1
  526. package/dist/components/ChipAssist/ChipAssistExample.d.ts +0 -4
  527. package/dist/components/ChipAssist/ChipAssistExample.js +0 -32
  528. package/dist/components/ChipAssist/ChipAssistExample.js.map +0 -1
  529. package/dist/components/ChipAssist/index.d.ts +0 -1
  530. package/dist/components/ChipAssist/index.js +0 -2
  531. package/dist/components/ChipAssist/index.js.map +0 -1
  532. package/dist/components/ChipFilter/ChipFilter.d.ts +0 -40
  533. package/dist/components/ChipFilter/ChipFilter.js +0 -31
  534. package/dist/components/ChipFilter/ChipFilter.js.map +0 -1
  535. package/dist/components/ChipFilter/ChipFilterExample.d.ts +0 -3
  536. package/dist/components/ChipFilter/ChipFilterExample.js +0 -62
  537. package/dist/components/ChipFilter/ChipFilterExample.js.map +0 -1
  538. package/dist/components/ChipFilter/index.d.ts +0 -1
  539. package/dist/components/ChipFilter/index.js +0 -2
  540. package/dist/components/ChipFilter/index.js.map +0 -1
  541. package/dist/components/ChipInput/ChipInput.d.ts +0 -31
  542. package/dist/components/ChipInput/ChipInput.js +0 -27
  543. package/dist/components/ChipInput/ChipInput.js.map +0 -1
  544. package/dist/components/ChipInput/ChipInputExample.d.ts +0 -4
  545. package/dist/components/ChipInput/ChipInputExample.js +0 -47
  546. package/dist/components/ChipInput/ChipInputExample.js.map +0 -1
  547. package/dist/components/ChipInput/index.d.ts +0 -1
  548. package/dist/components/ChipInput/index.js +0 -2
  549. package/dist/components/ChipInput/index.js.map +0 -1
  550. package/dist/components/ChipSuggestion/ChipSuggestion.d.ts +0 -17
  551. package/dist/components/ChipSuggestion/ChipSuggestion.js +0 -19
  552. package/dist/components/ChipSuggestion/ChipSuggestion.js.map +0 -1
  553. package/dist/components/ChipSuggestion/ChipSuggestionExample.d.ts +0 -4
  554. package/dist/components/ChipSuggestion/ChipSuggestionExample.js +0 -24
  555. package/dist/components/ChipSuggestion/ChipSuggestionExample.js.map +0 -1
  556. package/dist/components/ChipSuggestion/index.d.ts +0 -1
  557. package/dist/components/ChipSuggestion/index.js +0 -2
  558. package/dist/components/ChipSuggestion/index.js.map +0 -1
  559. package/dist/components/ChipUtility/ChipUtility.js +0 -25
  560. package/dist/components/ChipUtility/ChipUtility.js.map +0 -1
  561. package/dist/components/ChipUtility/ChipUtilityExample.d.ts +0 -4
  562. package/dist/components/ChipUtility/ChipUtilityExample.js.map +0 -1
  563. package/dist/components/ChipUtility/index.d.ts +0 -1
  564. package/dist/components/ChipUtility/index.js +0 -2
  565. package/dist/components/ChipUtility/index.js.map +0 -1
  566. package/dist/components/DateField/DateField.d.ts +0 -32
  567. package/dist/components/DateField/DateField.js +0 -34
  568. package/dist/components/DateField/DateField.js.map +0 -1
  569. package/dist/components/DateField/DateFieldExample.d.ts +0 -4
  570. package/dist/components/DateField/DateFieldExample.js +0 -11
  571. package/dist/components/DateField/DateFieldExample.js.map +0 -1
  572. package/dist/components/DateField/date-field.css +0 -8
  573. package/dist/components/DateField/index.d.ts +0 -1
  574. package/dist/components/DateField/index.js +0 -2
  575. package/dist/components/DateField/index.js.map +0 -1
  576. package/dist/components/DateInput/DateInput.d.ts +0 -39
  577. package/dist/components/DateInput/DateInput.js +0 -102
  578. package/dist/components/DateInput/DateInput.js.map +0 -1
  579. package/dist/components/DateInput/DateInputExample.d.ts +0 -4
  580. package/dist/components/DateInput/DateInputExample.js +0 -14
  581. package/dist/components/DateInput/DateInputExample.js.map +0 -1
  582. package/dist/components/DateInput/index.d.ts +0 -1
  583. package/dist/components/DateInput/index.js +0 -2
  584. package/dist/components/DateInput/index.js.map +0 -1
  585. package/dist/components/FormField/form-field.css +0 -17
  586. package/dist/components/FormField/form-field.css.js +0 -22
  587. package/dist/components/ListItemMenu/ListItemMenu.d.ts +0 -146
  588. package/dist/components/ListItemMenu/ListItemMenu.js +0 -159
  589. package/dist/components/ListItemMenu/ListItemMenu.js.map +0 -1
  590. package/dist/components/ListItemMenu/index.d.ts +0 -1
  591. package/dist/components/ListItemMenu/index.js +0 -2
  592. package/dist/components/ListItemMenu/index.js.map +0 -1
  593. package/dist/components/NumberField/NumberField.d.ts +0 -33
  594. package/dist/components/NumberField/NumberField.js +0 -35
  595. package/dist/components/NumberField/NumberField.js.map +0 -1
  596. package/dist/components/NumberField/index.d.ts +0 -1
  597. package/dist/components/NumberField/index.js +0 -2
  598. package/dist/components/NumberField/index.js.map +0 -1
  599. package/dist/components/NumberInput/NumberInput.d.ts +0 -63
  600. package/dist/components/NumberInput/NumberInput.js +0 -64
  601. package/dist/components/NumberInput/NumberInput.js.map +0 -1
  602. package/dist/components/NumberInput/NumberInputExample.d.ts +0 -3
  603. package/dist/components/NumberInput/NumberInputExample.js.map +0 -1
  604. package/dist/components/NumberInput/index.d.ts +0 -1
  605. package/dist/components/NumberInput/index.js +0 -2
  606. package/dist/components/NumberInput/index.js.map +0 -1
  607. package/dist/components/PasswordInput/PasswordInput.d.ts +0 -21
  608. package/dist/components/PasswordInput/PasswordInput.js +0 -34
  609. package/dist/components/PasswordInput/PasswordInput.js.map +0 -1
  610. package/dist/components/PasswordInput/index.d.ts +0 -1
  611. package/dist/components/PasswordInput/index.js +0 -2
  612. package/dist/components/PasswordInput/index.js.map +0 -1
  613. package/dist/components/PasswordInput/password-input.css +0 -28
  614. package/dist/components/PasswordInput/password-input.css.js +0 -33
  615. package/dist/components/PhoneNumberField/PhoneNumberField.d.ts +0 -14
  616. package/dist/components/PhoneNumberField/PhoneNumberField.js +0 -16
  617. package/dist/components/PhoneNumberField/PhoneNumberField.js.map +0 -1
  618. package/dist/components/PhoneNumberField/index.d.ts +0 -1
  619. package/dist/components/PhoneNumberField/index.js +0 -2
  620. package/dist/components/PhoneNumberField/index.js.map +0 -1
  621. package/dist/components/PhoneNumberInput/PhoneNumberInput.d.ts +0 -37
  622. package/dist/components/PhoneNumberInput/PhoneNumberInput.js +0 -83
  623. package/dist/components/PhoneNumberInput/PhoneNumberInput.js.map +0 -1
  624. package/dist/components/PhoneNumberInput/PhoneNumberInputExample.d.ts +0 -4
  625. package/dist/components/PhoneNumberInput/PhoneNumberInputExample.js +0 -5
  626. package/dist/components/PhoneNumberInput/PhoneNumberInputExample.js.map +0 -1
  627. package/dist/components/PhoneNumberInput/index.d.ts +0 -1
  628. package/dist/components/PhoneNumberInput/index.js +0 -2
  629. package/dist/components/PhoneNumberInput/index.js.map +0 -1
  630. package/dist/components/PhoneNumberInput/phone-number-input.css +0 -46
  631. package/dist/components/PhoneNumberInput/phone-number-input.css.js +0 -51
  632. package/dist/components/SelectField/SelectFieldExample.d.ts +0 -23
  633. package/dist/components/SelectField/SelectFieldExample.js +0 -13
  634. package/dist/components/SelectField/SelectFieldExample.js.map +0 -1
  635. package/dist/components/SnackbarProvider/SnackbarProvider.d.ts +0 -90
  636. package/dist/components/SnackbarProvider/SnackbarProvider.js +0 -115
  637. package/dist/components/SnackbarProvider/SnackbarProvider.js.map +0 -1
  638. package/dist/components/SnackbarProvider/SnackbarProviderExample.d.ts +0 -4
  639. package/dist/components/SnackbarProvider/SnackbarProviderExample.js +0 -59
  640. package/dist/components/SnackbarProvider/SnackbarProviderExample.js.map +0 -1
  641. package/dist/components/SnackbarProvider/index.d.ts +0 -1
  642. package/dist/components/SnackbarProvider/index.js +0 -2
  643. package/dist/components/SnackbarProvider/index.js.map +0 -1
  644. package/dist/components/SnackbarProvider/snackbar-provider-example.css +0 -15
  645. package/dist/components/SnackbarProvider/snackbar-provider-example.css.js +0 -20
  646. package/dist/components/SnackbarProvider/snackbar-provider.css +0 -15
  647. package/dist/components/SnackbarProvider/snackbar-provider.css.js +0 -20
  648. package/dist/components/TextField/TextField.d.ts +0 -31
  649. package/dist/components/TextField/TextField.js +0 -33
  650. package/dist/components/TextField/TextField.js.map +0 -1
  651. package/dist/components/TextField/TextFieldExample.d.ts +0 -3
  652. package/dist/components/TextField/TextFieldExample.js +0 -6
  653. package/dist/components/TextField/TextFieldExample.js.map +0 -1
  654. package/dist/components/TextField/index.d.ts +0 -1
  655. package/dist/components/TextField/index.js +0 -2
  656. package/dist/components/TextField/index.js.map +0 -1
  657. package/dist/components/TextInput/TextInput.d.ts +0 -78
  658. package/dist/components/TextInput/TextInput.js.map +0 -1
  659. package/dist/components/TextInput/TextInputExample.d.ts +0 -3
  660. package/dist/components/TextInput/TextInputExample.js.map +0 -1
  661. package/dist/components/TextInput/index.d.ts +0 -1
  662. package/dist/components/TextInput/index.js +0 -2
  663. package/dist/components/TextInput/index.js.map +0 -1
  664. package/dist/components/TextareaField/TextareaFieldExample.d.ts +0 -3
  665. package/dist/components/TextareaField/TextareaFieldExample.js +0 -10
  666. package/dist/components/TextareaField/TextareaFieldExample.js.map +0 -1
  667. package/dist/components/TimeInput/Listbox.d.ts +0 -15
  668. package/dist/components/TimeInput/Listbox.js.map +0 -1
  669. package/dist/components/TimeInput/Segment.d.ts +0 -20
  670. package/dist/components/TimeInput/Segment.js.map +0 -1
  671. package/dist/components/TimeInput/TimeInput.d.ts +0 -24
  672. package/dist/components/TimeInput/TimeInput.js +0 -115
  673. package/dist/components/TimeInput/TimeInput.js.map +0 -1
  674. package/dist/components/TimeInput/TimeInputExample.d.ts +0 -3
  675. package/dist/components/TimeInput/TimeInputExample.js +0 -4
  676. package/dist/components/TimeInput/TimeInputExample.js.map +0 -1
  677. package/dist/components/TimeInput/index.d.ts +0 -1
  678. package/dist/components/TimeInput/index.js +0 -2
  679. package/dist/components/TimeInput/index.js.map +0 -1
  680. package/dist/hooks/useSnackbarContext.d.ts +0 -1
  681. package/dist/hooks/useSnackbarContext.js +0 -16
  682. package/dist/hooks/useSnackbarContext.js.map +0 -1
  683. package/dist/utils/snackbarContext.d.ts +0 -38
  684. package/dist/utils/snackbarContext.js +0 -3
  685. package/dist/utils/snackbarContext.js.map +0 -1
  686. package/src/components/CalendarPicker/CalendarPickerExample.tsx +0 -24
  687. package/src/components/CalendarPicker/index.tsx +0 -1
  688. package/src/components/ChipAssist/ChipAssist.rtl.test.tsx +0 -16
  689. package/src/components/ChipAssist/ChipAssist.tsx +0 -37
  690. package/src/components/ChipAssist/ChipAssistExample.tsx +0 -34
  691. package/src/components/ChipAssist/index.tsx +0 -1
  692. package/src/components/ChipFilter/ChipFilter.rtl.test.tsx +0 -15
  693. package/src/components/ChipFilter/ChipFilter.tsx +0 -75
  694. package/src/components/ChipFilter/ChipFilterExample.tsx +0 -63
  695. package/src/components/ChipFilter/index.tsx +0 -1
  696. package/src/components/ChipInput/ChipInput.rtl.test.tsx +0 -16
  697. package/src/components/ChipInput/ChipInput.tsx +0 -47
  698. package/src/components/ChipInput/ChipInputExample.tsx +0 -49
  699. package/src/components/ChipInput/index.tsx +0 -1
  700. package/src/components/ChipSuggestion/ChipSuggestion.rtl.test.tsx +0 -19
  701. package/src/components/ChipSuggestion/ChipSuggestion.tsx +0 -22
  702. package/src/components/ChipSuggestion/ChipSuggestionExample.tsx +0 -26
  703. package/src/components/ChipSuggestion/index.tsx +0 -1
  704. package/src/components/ChipUtility/index.tsx +0 -1
  705. package/src/components/DateField/DateField.rtl.test.tsx +0 -24
  706. package/src/components/DateField/DateField.tsx +0 -58
  707. package/src/components/DateField/DateFieldExample.tsx +0 -13
  708. package/src/components/DateField/date-field.scss +0 -8
  709. package/src/components/DateField/index.tsx +0 -1
  710. package/src/components/DateInput/DateInput.rtl.test.tsx +0 -17
  711. package/src/components/DateInput/DateInput.tsx +0 -197
  712. package/src/components/DateInput/DateInputExample.tsx +0 -17
  713. package/src/components/DateInput/index.tsx +0 -1
  714. package/src/components/FormField/form-field.scss +0 -19
  715. package/src/components/ListItemMenu/ListItemMenu.tsx +0 -358
  716. package/src/components/ListItemMenu/index.tsx +0 -1
  717. package/src/components/NumberField/NumberField.rtl.test.tsx +0 -24
  718. package/src/components/NumberField/NumberField.tsx +0 -70
  719. package/src/components/NumberField/index.tsx +0 -1
  720. package/src/components/NumberInput/index.tsx +0 -1
  721. package/src/components/PasswordInput/PasswordInput.rtl.test.tsx +0 -15
  722. package/src/components/PasswordInput/PasswordInput.tsx +0 -115
  723. package/src/components/PasswordInput/index.tsx +0 -1
  724. package/src/components/PasswordInput/password-input.scss +0 -36
  725. package/src/components/PhoneNumberField/PhoneNumberField.rtl.test.tsx +0 -24
  726. package/src/components/PhoneNumberField/PhoneNumberField.tsx +0 -41
  727. package/src/components/PhoneNumberField/index.tsx +0 -1
  728. package/src/components/PhoneNumberInput/PhoneNumberInput.rtl.test.tsx +0 -17
  729. package/src/components/PhoneNumberInput/PhoneNumberInput.tsx +0 -186
  730. package/src/components/PhoneNumberInput/PhoneNumberInputExample.tsx +0 -8
  731. package/src/components/PhoneNumberInput/index.tsx +0 -1
  732. package/src/components/SelectField/SelectFieldExample.tsx +0 -16
  733. package/src/components/SnackbarProvider/SnackbarProvider.tsx +0 -160
  734. package/src/components/SnackbarProvider/SnackbarProviderExample.tsx +0 -127
  735. package/src/components/SnackbarProvider/index.tsx +0 -1
  736. package/src/components/SnackbarProvider/snackbar-provider-example.scss +0 -17
  737. package/src/components/SnackbarProvider/snackbar-provider.scss +0 -15
  738. package/src/components/TextField/TextField.tsx +0 -67
  739. package/src/components/TextField/TextFieldExample.tsx +0 -8
  740. package/src/components/TextField/index.tsx +0 -1
  741. package/src/components/TextInput/TextInputExample.tsx +0 -44
  742. package/src/components/TextInput/index.tsx +0 -1
  743. package/src/components/TextareaField/TextareaFieldExample.tsx +0 -13
  744. package/src/components/TimeInput/TimeInput.rtl.test.tsx +0 -15
  745. package/src/components/TimeInput/TimeInputExample.tsx +0 -6
  746. package/src/components/TimeInput/index.tsx +0 -1
  747. package/src/hooks/useSnackbarContext.ts +0 -18
  748. package/src/utils/snackbarContext.tsx +0 -43
  749. /package/dist/components/{NumberInput → InputNumber}/IncrementButton.d.ts +0 -0
  750. /package/dist/components/{NumberInput → InputNumber}/IncrementButton.js +0 -0
  751. /package/src/components/{NumberInput → InputNumber}/IncrementButton.tsx +0 -0
@@ -1,17 +0,0 @@
1
- import { DateInput } from './DateInput';
2
- import { hasNoBasicA11yIssues } from '-/rtl/hasNoBasicA11yIssues';
3
- import { render } from '-/rtl/util';
4
-
5
- const TestBed = () => (
6
- <DateInput aria-label="calendar input" name="calendar input" onChange={() => {}} value={new Date()} />
7
- );
8
-
9
- describe('DateInput', () => {
10
- it('has no basic a11y issues', hasNoBasicA11yIssues(<TestBed />));
11
-
12
- it('renders', () => {
13
- const { getByLabelText } = render(<TestBed />);
14
-
15
- expect(getByLabelText('calendar input')).toBeInTheDocument();
16
- });
17
- });
@@ -1,197 +0,0 @@
1
- import './date-input.scss';
2
- import { SvgEvent } from '@bspk/icons/Event';
3
- import { format, isValid, parse } from 'date-fns';
4
- import { useEffect, useRef, useState } from 'react';
5
- import { Button } from '-/components/Button';
6
- import { CalendarPicker } from '-/components/CalendarPicker';
7
- import { Portal } from '-/components/Portal';
8
- import { TextInput, TextInputProps } from '-/components/TextInput';
9
- import { useFloating } from '-/hooks/useFloating';
10
- import { useOutsideClick } from '-/hooks/useOutsideClick';
11
-
12
- const parsableDate = (dateString: string) => /^\d{1,2}\/\d{1,2}\/\d{4}$/.test(dateString);
13
-
14
- export type DateInputProps = Pick<
15
- TextInputProps,
16
- 'aria-errormessage' | 'aria-label' | 'disabled' | 'invalid' | 'name' | 'readOnly' | 'required' | 'size'
17
- > & {
18
- /** The value of the calendar input */
19
- value: Date | undefined;
20
- /** Fires when the date changes with the new date */
21
- onChange: (newDate: Date | undefined) => void;
22
- /**
23
- * If the calendar should close when a date is selected.
24
- *
25
- * @default true
26
- */
27
- closeCalendarOnChange?: boolean;
28
- /**
29
- * The placeholder text for the date input field.
30
- *
31
- * @default mm/dd/yyyy
32
- */
33
- placeholder?: string;
34
- };
35
-
36
- /**
37
- * An input that allows a customer to manually type in a specific date or triggers a date picker combobox to select a
38
- * date.
39
- *
40
- * @example
41
- * import { DateInput } from '@bspk/ui/DateInput';
42
- * import { useState } from 'react';
43
- *
44
- * function Example() {
45
- * const [date, setDate] = useState<Date | undefined>(new Date());
46
- *
47
- * return <DateInput name="calendar input" aria-label="calendar input" value={date} onChange={setDate} />;
48
- * }
49
- *
50
- * @name DateInput
51
- * @phase Utility
52
- */
53
- export function DateInput({
54
- value,
55
- onChange,
56
- disabled,
57
- readOnly,
58
- closeCalendarOnChange = true,
59
- 'aria-label': ariaLabel,
60
- name,
61
- placeholder,
62
- invalid,
63
- required,
64
- size,
65
- 'aria-errormessage': ariaErrorMessage,
66
- }: DateInputProps) {
67
- const [textValue, setTextValue] = useState(value ? format(value, 'MM/dd/yyyy') : '');
68
- const [calendarVisible, setCalendarVisible] = useState(false);
69
- const containerRef = useRef<HTMLSpanElement | null>(null);
70
-
71
- useEffect(() => {
72
- const formattedValue = value ? format(value, 'MM/dd/yyyy') : '';
73
- setTextValue(formattedValue);
74
- }, [value]);
75
-
76
- const { elements, floatingStyles } = useFloating({
77
- placement: 'bottom',
78
- strategy: 'absolute',
79
- offsetOptions: 4,
80
- refWidth: true,
81
- });
82
-
83
- useOutsideClick({
84
- elements: [elements.floating, containerRef.current],
85
- callback: () => setCalendarVisible(false),
86
- });
87
-
88
- const isValidDate = (next: string) => {
89
- const parsedDate = parse(next, 'MM/dd/yyyy', new Date());
90
- return isValid(parsedDate) ? parsedDate : undefined;
91
- };
92
-
93
- const validate = () => {
94
- let nextDate: Date | undefined;
95
- let nextTextValue = '';
96
-
97
- if (parsableDate(textValue)) {
98
- nextDate = isValidDate(textValue);
99
- if (nextDate) nextTextValue = format(nextDate, 'MM/dd/yyyy');
100
- }
101
-
102
- setTextValue(nextTextValue);
103
- onChange(nextDate);
104
- };
105
-
106
- const handleTextChange = (nextValue: string) => {
107
- // Add slashes as the user types
108
- if (/^\d{2}$/.test(nextValue) || /^\d{1,2}\/\d{2}$/.test(nextValue)) nextValue = `${nextValue}/`;
109
-
110
- // Remove extra slashes
111
- if (nextValue.endsWith('//')) nextValue = nextValue.slice(0, -1);
112
-
113
- setTextValue(nextValue);
114
-
115
- if (parsableDate(nextValue)) {
116
- const next = isValidDate(nextValue);
117
- if (next) onChange(next);
118
- }
119
- };
120
-
121
- return (
122
- <span data-bspk="date-input" ref={containerRef}>
123
- <div
124
- ref={(node) => {
125
- elements.setReference(node);
126
- }}
127
- >
128
- <TextInput
129
- aria-errormessage={ariaErrorMessage || undefined}
130
- aria-label={ariaLabel}
131
- disabled={disabled}
132
- invalid={invalid || undefined}
133
- name={name}
134
- onBlur={() => validate()}
135
- onChange={handleTextChange}
136
- onKeyDown={(event) => {
137
- // allow select all and other keyboard shortcuts
138
- if (event.ctrlKey || event.metaKey) {
139
- return;
140
- }
141
-
142
- // handle backspace and delete to remove the slash and the number before it
143
- if (event.key === 'Backspace' || (event.key === 'Delete' && textValue.endsWith('/'))) {
144
- event.preventDefault();
145
- setTextValue((prev) => prev.slice(0, -2));
146
- }
147
-
148
- // if a single key and not a number or forward slash ignore
149
- if (event.key.length === 1 && !/[0-9/]/.test(event.key)) {
150
- event.preventDefault();
151
- }
152
- }}
153
- placeholder={placeholder || 'mm/dd/yyyy'}
154
- readOnly={readOnly}
155
- required={required}
156
- showClearButton={false}
157
- size={size}
158
- trailing={
159
- !disabled &&
160
- !readOnly && (
161
- <Button
162
- icon={<SvgEvent />}
163
- iconOnly
164
- label="Toggle calendar"
165
- onClick={() => setCalendarVisible((prev) => !prev)}
166
- variant="tertiary"
167
- />
168
- )
169
- }
170
- value={textValue}
171
- />
172
- </div>
173
- {calendarVisible && (
174
- <Portal>
175
- <div
176
- data-placement="bottom"
177
- ref={(node) => {
178
- elements.setFloating(node);
179
- }}
180
- style={{ ...floatingStyles, zIndex: 'var( --z-index-dropdown)' }}
181
- >
182
- <CalendarPicker
183
- onChange={(next) => {
184
- if (closeCalendarOnChange) setCalendarVisible(false);
185
- onChange(next);
186
- }}
187
- value={value}
188
- variant="elevated"
189
- />
190
- </div>
191
- </Portal>
192
- )}
193
- </span>
194
- );
195
- }
196
-
197
- /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -1,17 +0,0 @@
1
- import { DateInputProps } from '.';
2
- import { ComponentExample, Preset } from '-/utils/demo';
3
-
4
- export const presets: Preset<DateInputProps>[] = [];
5
-
6
- export const DateInputExample: ComponentExample<DateInputProps> = {
7
- defaultState: {},
8
- disableProps: [],
9
- presets,
10
- render: ({ props, Component }) => {
11
- const { value, ...restProps } = props;
12
-
13
- return <Component {...restProps} value={value?.getDate ? value : undefined} />;
14
- },
15
- sections: [],
16
- variants: false,
17
- };
@@ -1 +0,0 @@
1
- export * from './DateInput';
@@ -1,19 +0,0 @@
1
- [data-bspk-utility='form-field'] {
2
- width: 100%;
3
- display: flex;
4
- flex-direction: column;
5
- gap: var(--spacing-sizing-01);
6
-
7
- header {
8
- flex-grow: 1;
9
- display: flex;
10
- flex-direction: row;
11
- justify-content: space-between;
12
-
13
- label {
14
- flex-grow: 1;
15
- }
16
- }
17
- }
18
-
19
- /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -1,358 +0,0 @@
1
- import {
2
- AriaAttributes,
3
- CSSProperties,
4
- HTMLAttributes,
5
- ReactNode,
6
- useState,
7
- KeyboardEvent,
8
- MouseEvent,
9
- Dispatch,
10
- SetStateAction,
11
- useMemo,
12
- } from 'react';
13
- import { ListItem, ListItemProps } from '-/components/ListItem';
14
- import { Menu, MenuProps } from '-/components/Menu';
15
- import { ArrowKeyNavigationCallbackParams, useArrowNavigation } from '-/hooks/useArrowNavigation';
16
- import { useFloating, UseFloatingProps } from '-/hooks/useFloating';
17
- import { useId } from '-/hooks/useId';
18
- import { useOutsideClick } from '-/hooks/useOutsideClick';
19
- import { CommonProps, SetRef } from '-/types/common';
20
- import { getElementById } from '-/utils/dom';
21
- import { handleKeyDown } from '-/utils/handleKeyDown';
22
-
23
- export type MenuListItem = Omit<ListItemProps, 'id'> & {
24
- id: string;
25
- };
26
-
27
- export type ListItemMenuRole = keyof typeof LIST_ITEM_ROLES;
28
-
29
- const LIST_ITEM_ROLES = {
30
- group: undefined,
31
- listbox: 'option',
32
- menu: 'menuitem',
33
- tree: 'treeitem',
34
- } as const;
35
-
36
- /** Props for the toggle element that opens the ListItemMenu. */
37
- export type ToggleProps = Pick<
38
- AriaAttributes,
39
- | 'aria-activedescendant'
40
- | 'aria-controls'
41
- | 'aria-disabled'
42
- | 'aria-errormessage'
43
- | 'aria-expanded'
44
- | 'aria-haspopup'
45
- | 'aria-invalid'
46
- | 'aria-owns'
47
- | 'aria-readonly'
48
- > &
49
- Pick<HTMLAttributes<HTMLElement>, 'role' | 'tabIndex'> & {
50
- /** Event handler for the toggle element that change the menu state. */
51
- onClick: (event: MouseEvent<HTMLElement>) => void;
52
- /** Event handler for keydown events on the toggle element that change the menu state. */
53
- onKeyDownCapture: (event: KeyboardEvent) => void;
54
- };
55
-
56
- /** Props for internal toggle functionality provided to the children render prop. */
57
- export type InternalToggleProps = {
58
- /**
59
- * Sets a ref to the toggle element that opens the ListItemMenu.
60
- *
61
- * Used in determining the position of the floating menu.
62
- *
63
- * May also be used to set the menu width if `width="reference"` is provided in the ListItemMenu props.
64
- */
65
- setRef: SetRef<HTMLElement | null>;
66
- /**
67
- * Function to toggle the menu open or closed.
68
- *
69
- * If `force` is provided as a boolean, it will set the menu to that state (true = open, false = closed). If `force`
70
- * is not provided, it will toggle the current state.
71
- */
72
- toggleMenu: (force?: boolean) => void;
73
- /** The number of items in the menu. */
74
- itemCount: number;
75
- /** Whether or not the menu is currently open. */
76
- show?: boolean;
77
- /** The reference element the menu is anchored to. */
78
- reference: HTMLElement | null;
79
- };
80
-
81
- export type ListItemMenuProps = CommonProps<'disabled' | 'readOnly'> &
82
- Pick<MenuProps, 'id' | 'label' | 'owner'> &
83
- Pick<UseFloatingProps, 'offsetOptions' | 'placement'> & {
84
- /**
85
- * The children to render inside the menu.
86
- *
87
- * @required
88
- */
89
- children: (toggleProps: ToggleProps, internal: InternalToggleProps) => ReactNode;
90
- /**
91
- * The element that the menu is anchored to.
92
- *
93
- * @default listbox
94
- */
95
- role?: ListItemMenuRole;
96
- /**
97
- * The width of the menu. If 'reference' is provided, the menu will match the width of the useFloating reference
98
- * element.
99
- *
100
- * @default reference
101
- */
102
- width?: CSSProperties['width'] | 'reference';
103
- /**
104
- * The items to display in the menu as ListItems.
105
- *
106
- * If an item does not have an `id` property, one will be generated automatically.
107
- *
108
- * @required
109
- */
110
- items: MenuListItem[] | ((params: { show?: boolean }) => MenuListItem[]);
111
- /**
112
- * Content to display in the floating menu element before the ListItems.
113
- *
114
- * If provided `scrollLimit` will be ignored.
115
- */
116
- leading?: ReactNode;
117
- /**
118
- * Content to display in the floating menu element after the ListItems.
119
- *
120
- * If provided `scrollLimit` will be ignored.
121
- */
122
- trailing?: ReactNode;
123
- /** The ID of the currently active element. */
124
- activeElementId?: string | null;
125
- /** Optional callback fired when an item is clicked/selected. */
126
- itemOnClick?: (params: {
127
- event: MouseEvent;
128
- currentId: string;
129
- show: boolean;
130
- setShow: Dispatch<SetStateAction<boolean>>;
131
- }) => void;
132
- /**
133
- * Optional callback fired when the arrow keys are used for navigation.
134
- *
135
- * If the callback returns `true`, the change is accepted; if it returns `false`, the change is ignored.
136
- */
137
- arrowKeyNavigationCallback?: (params: ArrowKeyNavigationCallbackParams) => boolean;
138
- /** Optional callback fired when the menu is closed. */
139
- onClose?: () => void;
140
- /** The maximum number of items to show before scrolling is enabled. */
141
- scrollLimit?: number;
142
- /** Remove menu from dom when closed for performance and to prevent tabbing to hidden menu items. */
143
- hideWhenClosed?: boolean;
144
- };
145
-
146
- /**
147
- * A floating list Item menu for displaying additional actions or options presented as ListItems in a Menu.
148
- *
149
- * Includes keyboard navigation and accessibility features.
150
- *
151
- * The menu is anchored to a reference element provided as a children function with params that include the necessary
152
- * ARIA attributes and event handlers.
153
- *
154
- * @example
155
- * import { ListItemMenu } from '@bspk/ui/ListItemMenu';
156
- *
157
- * function Example() {
158
- * return (
159
- * <ListItemMenu
160
- * items={[{ id: '1', label: 'Item 1' }]}
161
- * label="Example Menu"
162
- * role="menu"
163
- * scrollLimit={5}
164
- * width="200px"
165
- * >
166
- * {(toggleProps, { setRef, toggleMenu }) => (
167
- * <button {...toggleProps} onClick={() => toggleMenu()} ref={setRef}>
168
- * Toggle Menu
169
- * </button>
170
- * )}
171
- * </ListItemMenu>
172
- * );
173
- * }
174
- *
175
- * @name ListItemMenu
176
- * @phase Utility
177
- */
178
- export function ListItemMenu({
179
- activeElementId: activeElementIdProp = null,
180
- children,
181
- disabled,
182
- id: idProp,
183
- items: itemsProp,
184
- label,
185
- leading: menuLeading,
186
- offsetOptions = 4,
187
- arrowKeyNavigationCallback,
188
- itemOnClick,
189
- owner,
190
- placement = 'bottom',
191
- readOnly,
192
- role: containerRole = 'listbox',
193
- scrollLimit,
194
- trailing: menuTrailing,
195
- width: menuWidth = 'reference',
196
- onClose,
197
- hideWhenClosed = false,
198
- ...ariaProps
199
- }: ListItemMenuProps) {
200
- const containerId = useId(idProp);
201
-
202
- const [show, setShowBase] = useState(false);
203
-
204
- const items = useMemo(() => (typeof itemsProp === 'function' ? itemsProp({ show }) : itemsProp), [itemsProp, show]);
205
-
206
- const setShow = (next: boolean | ((prev: boolean) => boolean)) => {
207
- if (disabled || readOnly) return;
208
-
209
- setShowBase((prev) => {
210
- if (prev && !next) {
211
- // closing
212
- onClose?.();
213
- }
214
-
215
- if (typeof next === 'function') return next(prev);
216
- return next;
217
- });
218
- };
219
-
220
- const { floatingStyles, elements, currentPlacement } = useFloating({
221
- hide: !show,
222
- offsetOptions,
223
- placement,
224
- refWidth: menuWidth === 'reference',
225
- strategy: 'fixed',
226
- });
227
-
228
- useOutsideClick({
229
- elements: [elements.floating as HTMLElement, elements.reference as HTMLElement],
230
- callback: () => setShow(false),
231
- disabled: !show,
232
- });
233
-
234
- const { activeElementId, setActiveElementId, arrowKeyCallbacks } = useArrowNavigation({
235
- ids: items.flatMap((item) => (item.disabled ? [] : item.id)),
236
- callback: (params) => {
237
- if (!show) setShow(true);
238
-
239
- if (typeof arrowKeyNavigationCallback === 'function' && arrowKeyNavigationCallback)
240
- return arrowKeyNavigationCallback(params);
241
- return true;
242
- },
243
- });
244
-
245
- const tabEscape = () => {
246
- setShow(false);
247
- setActiveElementId(null);
248
- };
249
-
250
- const enterSpace = (event: KeyboardEvent) => {
251
- event.preventDefault();
252
- if (!show) {
253
- setShow(true);
254
- return;
255
- }
256
- getElementById(activeElementId)?.click();
257
- };
258
-
259
- return (
260
- <>
261
- {children(
262
- {
263
- 'aria-disabled': disabled || undefined,
264
- 'aria-expanded': show,
265
- 'aria-haspopup': show && containerRole !== 'group' ? containerRole : undefined,
266
- 'aria-controls': containerId,
267
- 'aria-readonly': readOnly || undefined,
268
- 'aria-owns': containerId,
269
-
270
- 'aria-activedescendant': show ? activeElementId || undefined : undefined,
271
- role: 'combobox',
272
- tabIndex: 0,
273
- onClick: (event) => {
274
- const nextShow = !show;
275
- setShow(nextShow);
276
- setActiveElementId(nextShow ? activeElementIdProp || items[0]?.id || null : null);
277
- event.preventDefault();
278
- },
279
- onKeyDownCapture: handleKeyDown({
280
- ...arrowKeyCallbacks,
281
- Enter: enterSpace,
282
- Space: enterSpace,
283
- Tab: tabEscape,
284
- Escape: tabEscape,
285
- }),
286
- },
287
- {
288
- setRef: elements.setReference,
289
- toggleMenu: () => setShow(true),
290
- itemCount: items.length,
291
- reference: elements.reference as HTMLElement | null,
292
- },
293
- )}
294
- {(!hideWhenClosed || show) && (
295
- <Menu
296
- {...ariaProps}
297
- aria-label={label}
298
- as="ul"
299
- data-placement={currentPlacement}
300
- data-scroll={!!scrollLimit && items.length > scrollLimit}
301
- id={containerId}
302
- innerRef={(node) => {
303
- elements.setFloating(node);
304
- }}
305
- owner={owner}
306
- role={containerRole}
307
- style={{
308
- width: menuWidth !== 'reference' ? menuWidth : undefined,
309
- ...floatingStyles,
310
- ...scrollLimitStyle(scrollLimit, items.length),
311
- }}
312
- >
313
- {menuLeading}
314
- {items.map((item, index) => {
315
- return (
316
- <ListItem
317
- as="li"
318
- key={index}
319
- {...item}
320
- active={activeElementId === item.id || undefined}
321
- onClick={(event) => {
322
- elements.reference?.focus();
323
- setActiveElementId(item.id);
324
- item?.onClick?.(event);
325
- itemOnClick?.({ event, currentId: item.id, show, setShow });
326
- }}
327
- role={item.role || LIST_ITEM_ROLES[containerRole] || undefined}
328
- tabIndex={0}
329
- />
330
- );
331
- })}
332
- {menuTrailing}
333
- </Menu>
334
- )}
335
- </>
336
- );
337
- }
338
-
339
- const scrollLimitStyle = (scrollLimitProp: unknown, itemCount: unknown): CSSProperties => {
340
- const scrollLimit = Number(scrollLimitProp);
341
-
342
- // Check:
343
- // 1. scrollLimit is valid
344
- // 2. itemCount is a number
345
- // 3. scrollLimit is less than itemCount
346
- // If any of these fail, return undefined (no scrolling)
347
- if (Number.isNaN(scrollLimit) || scrollLimit <= 0 || typeof itemCount !== 'number' || scrollLimit > itemCount)
348
- return {};
349
-
350
- return {
351
- display: 'flex',
352
- flexDirection: 'column',
353
- maxHeight: `calc(var(--list-item-height) * ${scrollLimit})`,
354
- overflow: 'hidden auto',
355
- };
356
- };
357
-
358
- /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -1 +0,0 @@
1
- export * from './ListItemMenu';
@@ -1,24 +0,0 @@
1
- import { NumberField } from './NumberField';
2
- import { hasNoBasicA11yIssues } from '-/rtl/hasNoBasicA11yIssues';
3
- import { render } from '-/rtl/util';
4
-
5
- const TestBed = () => (
6
- <NumberField
7
- aria-label="Example label"
8
- controlId="Example controlId"
9
- label="Example label"
10
- name="Example name"
11
- onChange={() => {}}
12
- value={24}
13
- />
14
- );
15
-
16
- describe('NumberField (RTL)', () => {
17
- it('has no basic a11y issues', hasNoBasicA11yIssues(<TestBed />));
18
-
19
- it('renders', () => {
20
- const { getByLabelText } = render(<TestBed />);
21
-
22
- expect(getByLabelText('Example label')).toBeInTheDocument();
23
- });
24
- });