@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,87 +1,105 @@
1
- import './time-input.scss';
1
+ import './time-picker.scss';
2
2
  import { SvgSchedule } from '@bspk/icons/Schedule';
3
3
  import { FocusTrap } from 'focus-trap-react';
4
- import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
5
- import { TimeInputListbox } from './Listbox';
6
- import { TimeInputSegment } from './Segment';
4
+ import { useCallback, useMemo, useRef, useState } from 'react';
5
+ import { TimePickerListbox } from './Listbox';
6
+ import { TimePickerSegment } from './Segment';
7
+ import {
8
+ HOUR_OPTIONS,
9
+ MINUTE_OPTIONS,
10
+ MERIDIEM_OPTIONS,
11
+ Meridiem,
12
+ partsToStringValue,
13
+ stringValueToParts,
14
+ } from './utils';
7
15
  import { Button } from '-/components/Button';
16
+ import { useFieldInit } from '-/components/Field';
17
+ import { InputProps } from '-/components/Input';
8
18
  import { Menu } from '-/components/Menu';
9
19
  import { Portal } from '-/components/Portal';
10
- import { TextInputProps } from '-/components/TextInput';
11
20
  import { useFloating } from '-/hooks/useFloating';
12
- import { useId } from '-/hooks/useId';
13
21
  import { useOutsideClick } from '-/hooks/useOutsideClick';
22
+ import { ElementProps, FieldControlProps } from '-/types/common';
14
23
  import { handleKeyDown } from '-/utils/handleKeyDown';
15
24
 
16
- export const MINUTE_OPTIONS = ['00', '05', '10', '15', '20', '25', '30', '35', '40', '45', '50', '55'];
17
- export const HOUR_OPTIONS = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
18
- export const MERIDIEM_OPTIONS = ['AM', 'PM'];
19
-
20
- type Minute = (typeof MINUTE_OPTIONS)[number];
21
- type Hour = (typeof HOUR_OPTIONS)[number];
22
- type Meridiem = (typeof MERIDIEM_OPTIONS)[number];
23
-
24
- export type TimeInputProps = Pick<
25
- TextInputProps,
26
- | 'aria-describedby'
27
- | 'aria-errormessage'
28
- | 'aria-label'
29
- | 'disabled'
30
- | 'id'
31
- | 'invalid'
32
- | 'name'
33
- | 'readOnly'
34
- | 'size'
35
- > & {
36
- value?: string;
37
- };
25
+ export type TimePickerProps = FieldControlProps & Pick<InputProps, 'size'>;
38
26
 
39
27
  /**
40
28
  * An input field that allows a customer to manually type in a specific time or triggers a time picker combobox to
41
29
  * select a date.
42
30
  *
31
+ * For a more complete example with field usage, see the TimePickerField component.
32
+ *
43
33
  * @example
44
- * import { TimeInput } from '@bspk/ui/TimeInput';
34
+ * import { TimePicker } from '@bspk/ui/TimePicker';
35
+ *
36
+ * function ExampleStandalone() {
37
+ * const [value, onChange] = React.useState('');
38
+ *
39
+ * return <TimePicker aria-label="Time" name="time" value={value} onChange={onChange} />;
40
+ * }
45
41
  *
46
- * function Example() {
47
- * return <TimeInput>Example TimeInput</TimeInput>;
42
+ * function ExampleWithField() {
43
+ * const [value, onChange] = React.useState('');
44
+ *
45
+ * return (
46
+ * <Field>
47
+ * <FieldLabel>Time</FieldLabel>
48
+ * <TimePicker value={value} onChange={onChange} />
49
+ * <FieldDescription>The time picker allows you to select a time.</FieldDescription>
50
+ * </Field>
51
+ * );
48
52
  * }
49
53
  *
50
- * @name TimeInput
54
+ * @name TimePicker
51
55
  * @phase UXReview
52
56
  */
53
- export function TimeInput({
57
+ export function TimePicker({
54
58
  value,
55
- 'aria-label': ariaLabel,
56
59
  disabled,
57
60
  id: idProp,
58
- invalid,
61
+ invalid: invalidProp,
59
62
  readOnly,
60
63
  name,
61
64
  size,
62
- 'aria-describedby': ariaDescribedBy,
63
- 'aria-errormessage': ariaErrorMessage,
64
- }: TimeInputProps) {
65
- const id = useId(idProp);
65
+ required = false,
66
+ onChange: onChangeProp,
67
+ 'aria-label': ariaLabel = 'Time picker',
68
+ ...props
69
+ }: ElementProps<TimePickerProps, 'div'>) {
70
+ const { id, ariaDescribedBy, ariaErrorMessage, invalid } = useFieldInit({
71
+ idProp,
72
+ required,
73
+ disabled,
74
+ readOnly,
75
+ invalidProp,
76
+ });
66
77
 
67
- const [inputValue, setInputValue] = useState(value);
78
+ const menuId = `${id}-time-picker-menu`;
68
79
 
69
- const [hours, setHours] = useState<(typeof HOUR_OPTIONS)[number]>();
70
- const [minutes, setMinutes] = useState<(typeof MINUTE_OPTIONS)[number]>();
71
- const [meridiem, setMeridiem] = useState<(typeof MERIDIEM_OPTIONS)[number]>('AM');
80
+ const { hours, minutes, meridiem } = useMemo(() => stringValueToParts(value || '00:00'), [value]);
72
81
 
73
- useEffect(() => {
74
- setInputValue(
75
- `${hours?.toString().padStart(2, '0')}:${minutes?.toString().padStart(2, '0')} ${meridiem || ''}`.trim(),
76
- );
77
- if (hours !== undefined && minutes === undefined) setMinutes('00');
78
- }, [hours, minutes, meridiem]);
82
+ const setValue = useCallback(
83
+ (
84
+ params: Partial<{
85
+ hours?: string;
86
+ minutes?: string;
87
+ meridiem?: Meridiem;
88
+ }>,
89
+ ) => {
90
+ const nextValue = { hours, minutes, meridiem, ...params };
91
+ onChangeProp(
92
+ partsToStringValue(nextValue.hours?.toString(), nextValue.minutes?.toString(), nextValue.meridiem),
93
+ );
94
+ },
95
+ [hours, minutes, meridiem, onChangeProp],
96
+ );
79
97
 
80
98
  const [open, setOpenState] = useState(false);
81
99
 
82
100
  const { floatingStyles, elements } = useFloating({
83
101
  strategy: 'fixed',
84
- refWidth: true,
102
+ refWidth: false,
85
103
  offsetOptions: 4,
86
104
  hide: !open,
87
105
  });
@@ -132,20 +150,22 @@ export function TimeInput({
132
150
  } | null>(null);
133
151
  const buttonRef = useRef<HTMLElement | null>(null);
134
152
 
153
+ const [firstField, setFirstField] = useState<HTMLElement | null>(null);
154
+
135
155
  return (
136
156
  <>
137
157
  <div
158
+ {...props}
138
159
  aria-describedby={ariaErrorMessage || ariaDescribedBy || undefined}
139
- data-aria-label={ariaLabel || undefined}
140
- data-bspk="time-input"
160
+ aria-label={ariaLabel || undefined}
161
+ data-bspk="time-picker"
141
162
  data-disabled={disabled || undefined}
142
163
  data-invalid={invalid || undefined}
143
164
  data-name={name || undefined}
144
165
  data-open={open || undefined}
145
166
  data-readonly={readOnly || undefined}
146
167
  data-size={size || undefined}
147
- data-value={inputValue || undefined}
148
- id={id}
168
+ data-value={value || undefined}
149
169
  onClickCapture={() => {
150
170
  if (disabled || readOnly) return;
151
171
  elements.reference?.querySelector<HTMLElement>('[tabIndex]')?.focus();
@@ -155,34 +175,49 @@ export function TimeInput({
155
175
  elements.setReference(node);
156
176
  }}
157
177
  role="group"
158
- tabIndex={disabled || readOnly ? -1 : 0}
178
+ tabIndex={-1}
159
179
  >
160
- <TimeInputSegment
180
+ <input
181
+ aria-hidden
182
+ data-sr-only
183
+ id={id}
184
+ name={name}
185
+ onChange={(e) => onChangeProp(e.target.value)}
186
+ onFocus={() => firstField?.focus()}
187
+ tabIndex={-1}
188
+ value={value}
189
+ />
190
+ <TimePickerSegment
161
191
  disabled={disabled}
162
192
  name={`${name}-hours`}
163
- onChange={(next) => setHours(next || undefined)}
193
+ onChange={(next) => setValue({ hours: next || undefined })}
164
194
  readOnly={readOnly}
195
+ setRef={setFirstField}
165
196
  type="hours"
166
197
  value={hours}
167
198
  />
168
199
  <span aria-hidden="true">:</span>
169
- <TimeInputSegment
200
+ <TimePickerSegment
170
201
  disabled={disabled}
171
202
  name={`${name}-minutes`}
172
- onChange={(next) => setMinutes(next || undefined)}
203
+ onChange={(next) => setValue({ minutes: next || undefined })}
173
204
  readOnly={readOnly}
174
205
  type="minutes"
175
206
  value={minutes}
176
207
  />
177
- <TimeInputSegment
208
+ <TimePickerSegment
178
209
  disabled={disabled}
179
210
  name={`${name}-meridiem`}
180
- onChange={(next) => setMeridiem(next || 'AM')}
211
+ onChange={(next) => setValue({ meridiem: next || 'AM' })}
181
212
  readOnly={readOnly}
182
213
  type="meridiem"
183
214
  value={meridiem}
184
215
  />
185
216
  <Button
217
+ aria-controls={open ? menuId : undefined}
218
+ aria-expanded={open}
219
+ aria-haspopup="listbox"
220
+ as="span"
186
221
  disabled={disabled || readOnly}
187
222
  icon={<SvgSchedule />}
188
223
  iconOnly
@@ -191,19 +226,22 @@ export function TimeInput({
191
226
  }}
192
227
  label={`${open ? 'Close' : 'Open'} Time Picker`}
193
228
  onClick={() => setOpen(!open)}
229
+ role="combobox"
194
230
  variant="tertiary"
195
231
  />
196
232
  </div>
197
- {!!open && (
233
+ {open && (
198
234
  <Portal>
199
235
  <Menu
236
+ id={menuId}
200
237
  innerRef={(node) => {
201
238
  if (!node) return;
202
239
  elements.setFloating(node as HTMLElement);
203
240
  }}
204
241
  label="Select time"
205
- owner="time-input"
242
+ owner="time-picker"
206
243
  style={floatingStyles}
244
+ width="fit-content"
207
245
  >
208
246
  <FocusTrap
209
247
  focusTrapOptions={{
@@ -219,30 +257,39 @@ export function TimeInput({
219
257
  minutes: node?.querySelector('[data-scroll-column="minutes"]') as HTMLElement,
220
258
  meridiem: node?.querySelector('[data-scroll-column="meridiem"]') as HTMLElement,
221
259
  };
222
- listBoxRefs.current.hours?.focus();
260
+ const activeHour =
261
+ listBoxRefs.current.hours?.querySelector<HTMLElement>('[data-active]');
262
+ const activeMinute =
263
+ listBoxRefs.current.minutes?.querySelector<HTMLElement>('[data-active]');
264
+ const activeMeridiem =
265
+ listBoxRefs.current.meridiem?.querySelector<HTMLElement>('[data-active]');
266
+ activeHour?.scrollIntoView({ block: 'nearest' });
267
+ activeMinute?.scrollIntoView({ block: 'nearest' });
268
+ activeMeridiem?.scrollIntoView({ block: 'nearest' });
269
+ activeHour?.focus();
223
270
  }}
224
271
  >
225
- <TimeInputListbox
272
+ <TimePickerListbox
226
273
  onSelect={(next) => {
227
- setHours(next as Hour);
274
+ setValue({ hours: next });
228
275
  setTimeout(() => listBoxRefs.current?.minutes?.focus(), 10);
229
276
  }}
230
277
  options={hourOptions}
231
278
  selectedValue={hours}
232
279
  type="hours"
233
280
  />
234
- <TimeInputListbox
281
+ <TimePickerListbox
235
282
  onSelect={(next) => {
236
- setMinutes(next as Minute);
283
+ setValue({ minutes: next });
237
284
  setTimeout(() => listBoxRefs.current?.meridiem?.focus(), 10);
238
285
  }}
239
286
  options={minuteOptions}
240
287
  selectedValue={minutes}
241
288
  type="minutes"
242
289
  />
243
- <TimeInputListbox
290
+ <TimePickerListbox
244
291
  onSelect={(next) => {
245
- setMeridiem(next as Meridiem);
292
+ setValue({ meridiem: next as Meridiem });
246
293
  setOpen(false);
247
294
  setTimeout(() => buttonRef.current?.focus(), 10);
248
295
  }}
@@ -0,0 +1,8 @@
1
+ import { TimePickerProps } from './TimePicker';
2
+ import { ComponentExample } from '-/utils/demo';
3
+
4
+ export const TimePickerExample: ComponentExample<TimePickerProps> = {
5
+ variants: false,
6
+
7
+ render: ({ props, Component }) => <Component {...props} />,
8
+ };
@@ -0,0 +1 @@
1
+ export * from './TimePicker';
@@ -1,4 +1,4 @@
1
- [data-bspk='time-input'] {
1
+ [data-bspk='time-picker'] {
2
2
  --border-color: var(--stroke-neutral-base);
3
3
 
4
4
  display: flex;
@@ -7,18 +7,18 @@
7
7
  border: solid 1px var(--border-color);
8
8
  height: var(--field-height);
9
9
  border-radius: var(--radius-sm);
10
- padding: 0 0 0 var(--field-padding);
10
+ padding: 0 0 0 var(--field-padding, var(--spacing-sizing-02));
11
11
  width: 100%;
12
12
  justify-content: flex-start;
13
13
  align-items: center;
14
14
 
15
- &:hover:not(:focus-within) {
15
+ &:hover:not(:focus-within, [data-disabled], [data-readonly]) {
16
16
  background:
17
17
  linear-gradient(var(--interactions-hover-opacity), var(--interactions-hover-opacity)),
18
18
  linear-gradient(var(--surface-neutral-t1-base), var(--surface-neutral-t1-base));
19
19
  }
20
20
 
21
- &:active:not(:focus-within) {
21
+ &:active:not(:focus-within, [data-disabled], [data-readonly]) {
22
22
  background:
23
23
  linear-gradient(var(--interactions-press-opacity), var(--interactions-press-opacity)),
24
24
  linear-gradient(var(--surface-neutral-t1-base), var(--surface-neutral-t1-base));
@@ -27,6 +27,7 @@
27
27
  &[data-readonly] {
28
28
  --border-color: var(--stroke-neutral-disabled-light);
29
29
 
30
+ pointer-events: none;
30
31
  background:
31
32
  linear-gradient(var(--interactions-disabled-opacity), var(--interactions-disabled-opacity)),
32
33
  linear-gradient(var(--surface-neutral-t1-base), var(--surface-neutral-t1-base));
@@ -36,6 +37,7 @@
36
37
  &:has(input[disabled]) {
37
38
  --border-color: var(--stroke-neutral-disabled-light);
38
39
 
40
+ pointer-events: none;
39
41
  background:
40
42
  linear-gradient(var(--interactions-disabled-opacity), var(--interactions-disabled-opacity)),
41
43
  linear-gradient(var(--surface-neutral-t1-base), var(--surface-neutral-t1-base));
@@ -110,7 +112,7 @@
110
112
  }
111
113
  }
112
114
 
113
- [data-bspk-owner='time-input'][data-bspk-utility='menu'] {
115
+ [data-bspk-owner='time-picker'][data-bspk-utility='menu'] {
114
116
  overflow: hidden;
115
117
  height: 324px;
116
118
 
@@ -0,0 +1,26 @@
1
+ import { stringValueToParts, Meridiem, partsToStringValue } from './utils';
2
+
3
+ const FIXTURES: {
4
+ hours: string;
5
+ minutes: string;
6
+ meridiem: Meridiem;
7
+ str: string;
8
+ }[] = [
9
+ { hours: '12', minutes: '00', meridiem: 'AM', str: '00:00' },
10
+ { hours: '01', minutes: '15', meridiem: 'AM', str: '01:15' },
11
+ { hours: '12', minutes: '30', meridiem: 'PM', str: '12:30' },
12
+ { hours: '03', minutes: '45', meridiem: 'PM', str: '15:45' },
13
+ { hours: '11', minutes: '59', meridiem: 'PM', str: '23:59' },
14
+ ];
15
+
16
+ describe('stringValueToParts', () => {
17
+ FIXTURES.forEach(({ str, hours, minutes, meridiem }) => {
18
+ it(`should parse "${str}" correctly`, () => {
19
+ expect(stringValueToParts(str)).toEqual({ hours, minutes, meridiem, str });
20
+ });
21
+
22
+ it(`should unParse "${JSON.stringify({ hours, minutes, meridiem })}" correctly`, () => {
23
+ expect(partsToStringValue(hours, minutes, meridiem)).toEqual(str);
24
+ });
25
+ });
26
+ });
@@ -0,0 +1,44 @@
1
+ import { format, isValid, parse } from 'date-fns';
2
+
3
+ export const MINUTE_OPTIONS = ['00', '05', '10', '15', '20', '25', '30', '35', '40', '45', '50', '55'];
4
+ export const HOUR_OPTIONS = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
5
+ export const MERIDIEM_OPTIONS = ['AM', 'PM'];
6
+
7
+ export type Meridiem = 'AM' | 'PM';
8
+
9
+ export function stringValueToParts(timeString: string) {
10
+ // Parse the 24-hour time string into a Date object
11
+ // 'HH:mm' is the format for 24-hour time (e.g., '14:30')
12
+ // new Date() provides a base date for parsing, which is necessary
13
+ // but the date part won't affect the time parsing here.
14
+
15
+ const dateObj = parse(timeString, 'HH:mm', new Date());
16
+
17
+ const isValidDate = isValid(dateObj);
18
+
19
+ // Extract hours, minutes, and AM/PM using format
20
+ return {
21
+ hours: isValidDate ? format(dateObj, 'hh') : undefined,
22
+ minutes: isValidDate ? format(dateObj, 'mm') : undefined,
23
+ meridiem: isValidDate ? (format(dateObj, 'a') as Meridiem) : 'AM',
24
+ str: timeString,
25
+ };
26
+ }
27
+
28
+ export function partsToStringValue(hours: string | undefined, minutes: string | undefined, meridiem: Meridiem): string {
29
+ if (typeof hours === 'undefined' || typeof minutes === 'undefined') {
30
+ return '';
31
+ }
32
+
33
+ const minutesNumber = Number(minutes);
34
+
35
+ let hours24 = Number(hours);
36
+ if (meridiem === 'PM' && hours24 < 12) {
37
+ hours24 += 12;
38
+ } else if (meridiem === 'AM' && hours24 === 12) {
39
+ hours24 = 0;
40
+ }
41
+
42
+ // Format the date object back to a 24-hour time string
43
+ return `${hours24.toString().padStart(2, '0')}:${minutesNumber.toString().padStart(2, '0')}`;
44
+ }
@@ -0,0 +1,17 @@
1
+ import { TimePickerField } from '.';
2
+ import { hasNoBasicA11yIssues } from '-/rtl/hasNoBasicA11yIssues';
3
+ import { render } from '-/rtl/util';
4
+
5
+ const TestBed = () => (
6
+ <TimePickerField label="Example field label" name="example-field-name" onChange={() => {}} value="" />
7
+ );
8
+
9
+ describe('TimePickerField (RTL)', () => {
10
+ it('has no basic a11y issues', hasNoBasicA11yIssues(<TestBed />));
11
+
12
+ it('renders', () => {
13
+ const { getAllByLabelText } = render(<TestBed />);
14
+
15
+ expect(getAllByLabelText('Example field label')[0]).toBeInTheDocument();
16
+ });
17
+ });
@@ -0,0 +1,37 @@
1
+ import { FormField, FormFieldControlProps } from '-/components/FormField';
2
+ import { TimePicker, TimePickerProps } from '-/components/TimePicker';
3
+
4
+ export type TimePickerFieldProps = FormFieldControlProps<TimePickerProps>;
5
+
6
+ /**
7
+ * A field wrapper for the TimePicker component.
8
+ *
9
+ * This component takes properties from the FormField and TimePicker components.
10
+ *
11
+ * @name TimePickerField
12
+ * @phase UXReview
13
+ *
14
+ * @generated
15
+ */
16
+ export function TimePickerField({
17
+ label,
18
+ helperText,
19
+ labelTrailing,
20
+ errorMessage,
21
+ style,
22
+ ...controlProps
23
+ }: TimePickerFieldProps) {
24
+ return (
25
+ <FormField
26
+ errorMessage={errorMessage}
27
+ helperText={helperText}
28
+ label={label}
29
+ labelTrailing={labelTrailing}
30
+ style={style}
31
+ >
32
+ <TimePicker {...controlProps} />
33
+ </FormField>
34
+ );
35
+ }
36
+
37
+ /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -0,0 +1 @@
1
+ export * from './TimePickerField';
@@ -1,27 +1,28 @@
1
1
  import './toggle-option.scss';
2
2
  import { ReactElement } from 'react';
3
+ import { ListItem, ListItemProps } from '-/components/ListItem';
3
4
  import { CommonProps } from '-/types/common';
4
5
 
5
6
  export type ToggleOptionControlProps<T extends { 'aria-label'?: string }> = Omit<T, 'aria-label'> &
6
7
  Pick<ToggleOptionProps, 'description' | 'label'>;
7
8
 
8
- export type ToggleOptionProps = CommonProps<'disabled' | 'readOnly'> & {
9
- /**
10
- * The label of the option. Also used as the aria-label of the control.
11
- *
12
- * @required
13
- */
14
- label: string;
15
- /**
16
- * The description of the option.
17
- *
18
- * @type multiline
19
- * @type multiline
20
- */
21
- description?: string;
22
- /** The control element to use. */
23
- children?: ReactElement;
24
- };
9
+ export type ToggleOptionProps = CommonProps<'disabled' | 'readOnly'> &
10
+ Omit<ListItemProps, 'as' | 'label' | 'leading' | 'subtext' | 'trailing'> & {
11
+ /**
12
+ * The label of the option. Also used as the aria-label of the control.
13
+ *
14
+ * @required
15
+ */
16
+ label: string;
17
+ /**
18
+ * The description of the option.
19
+ *
20
+ * @type multiline
21
+ */
22
+ description?: string;
23
+ /** The control element to use. */
24
+ children?: ReactElement;
25
+ };
25
26
 
26
27
  /**
27
28
  * A utility component that wraps a checkbox, radio, and switch.
@@ -29,13 +30,18 @@ export type ToggleOptionProps = CommonProps<'disabled' | 'readOnly'> & {
29
30
  * @name ToggleOption
30
31
  * @phase Utility
31
32
  */
32
- export function ToggleOption({ label, description, children, disabled, readOnly }: ToggleOptionProps) {
33
+ export function ToggleOption({ label, description, children, disabled, readOnly, ...props }: ToggleOptionProps) {
33
34
  return (
34
- <label aria-disabled={!!disabled || !!readOnly || undefined} data-bspk="toggle-option">
35
- <span data-control>{children}</span>
36
- <span data-label>{label}</span>
37
- {description && <span data-description>{description}</span>}
38
- </label>
35
+ <ListItem
36
+ {...props}
37
+ as="label"
38
+ data-disabled={disabled}
39
+ data-readonly={readOnly}
40
+ label={label}
41
+ leading={children}
42
+ subText={description}
43
+ width="hug"
44
+ />
39
45
  );
40
46
  }
41
47
 
@@ -44,7 +44,7 @@ export type TooltipProps = {
44
44
  * import { Tooltip } from '@bspk/ui/Tooltip';
45
45
  * import { Button } from '@bspk/ui/Button';
46
46
  *
47
- * export function Example() {
47
+ * function Example() {
48
48
  * return (
49
49
  * <Tooltip label="I explain what this button does" placement="top">
50
50
  * {(triggerProps) => <Button {...triggerProps}>Click me</Button>}
@@ -5,15 +5,13 @@ import { ComponentExample } from '-/utils/demo';
5
5
  export const TooltipExample: ComponentExample<TooltipProps> = {
6
6
  render: ({ props: state, Component }) => {
7
7
  return (
8
- <>
9
- <Component
10
- {...state}
11
- label={`Hover over me ${state.label || ''}`}
12
- placement={[state.placement].flat()[0] || 'top'}
13
- >
14
- {(triggerProps) => <Button {...triggerProps} label="Hover over me" variant="secondary" />}
15
- </Component>
16
- </>
8
+ <Component
9
+ {...state}
10
+ label={`Hover over me ${state.label || ''}`}
11
+ placement={[state.placement].flat()[0] || 'top'}
12
+ >
13
+ {(triggerProps) => <Button {...triggerProps} label="Hover over me" variant="secondary" />}
14
+ </Component>
17
15
  );
18
16
  },
19
17
  };
@@ -4,7 +4,7 @@ import { Tooltip, TooltipTriggerProps } from '-/components/Tooltip';
4
4
  import { useTruncatedText } from '-/hooks/useTruncatedText';
5
5
  import { ElementConstructorProps } from '-/types/common';
6
6
 
7
- export type TruncatedProps<As extends ElementType = 'span'> = {
7
+ export type TruncatedProps<As extends ElementType = ElementType> = {
8
8
  /**
9
9
  * The element type to render as.
10
10
  *
@@ -35,7 +35,7 @@ export type TruncatedProps<As extends ElementType = 'span'> = {
35
35
  * @name Truncated
36
36
  * @phase Utility
37
37
  */
38
- export function Truncated<As extends ElementType = 'span'>({
38
+ export function Truncated<As extends ElementType = ElementType>({
39
39
  children,
40
40
  label,
41
41
  ...props
@@ -4,7 +4,7 @@ import { SkeletonText } from '-/components/SkeletonText';
4
4
  import { ElementProps } from '-/types/common';
5
5
  import { TxtVariant } from '-/utils/txtVariants';
6
6
 
7
- export type TxtProps<As extends ElementType = 'span'> = {
7
+ export type TxtProps<As extends ElementType = ElementType> = {
8
8
  /**
9
9
  * The element type to render as.
10
10
  *
@@ -49,14 +49,14 @@ export type TxtProps<As extends ElementType = 'span'> = {
49
49
  * @example
50
50
  * import { Txt } from '@bspk/ui/Txt';
51
51
  *
52
- * export function Example() {
52
+ * function Example() {
53
53
  * return <Txt>Example Txt</Txt>;
54
54
  * }
55
55
  *
56
56
  * @name Txt
57
57
  * @phase UXReview
58
58
  */
59
- export function Txt<As extends ElementType = 'span'>({
59
+ export function Txt<As extends ElementType = ElementType>({
60
60
  children,
61
61
  as,
62
62
  variant = 'body-base',