@bspk/ui 1.3.20 → 1.3.22

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 (290) hide show
  1. package/dist/components/Accordion/Accordion.js +1 -1
  2. package/dist/components/Accordion/Accordion.js.map +1 -1
  3. package/dist/components/Accordion/accordion.css +19 -12
  4. package/dist/components/Accordion/accordion.css.js +19 -12
  5. package/dist/components/BottomNavigation/BottomNavigation.d.ts +0 -1
  6. package/dist/components/BottomNavigation/BottomNavigation.js +0 -1
  7. package/dist/components/BottomNavigation/BottomNavigation.js.map +1 -1
  8. package/dist/components/BottomNavigation/bottom-navigation.css +1 -0
  9. package/dist/components/BottomNavigation/bottom-navigation.css.js +1 -0
  10. package/dist/components/Button/button.css +4 -0
  11. package/dist/components/Button/button.css.js +4 -0
  12. package/dist/components/Checkbox/Checkbox.js +3 -3
  13. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  14. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +4 -5
  15. package/dist/components/CheckboxGroup/CheckboxGroup.js +8 -13
  16. package/dist/components/CheckboxGroup/CheckboxGroup.js.map +1 -1
  17. package/dist/components/CheckboxGroup/CheckboxGroupExample.js +5 -0
  18. package/dist/components/CheckboxGroup/CheckboxGroupExample.js.map +1 -1
  19. package/dist/components/CheckboxGroup/checkbox-group.css +2 -0
  20. package/dist/components/CheckboxGroup/checkbox-group.css.js +2 -0
  21. package/dist/components/CheckboxGroupField/CheckboxGroupField.d.ts +3 -3
  22. package/dist/components/CheckboxGroupField/CheckboxGroupField.js +6 -4
  23. package/dist/components/CheckboxGroupField/CheckboxGroupField.js.map +1 -1
  24. package/dist/components/ChipGroup/ChipGroup.d.ts +0 -1
  25. package/dist/components/ChipGroup/ChipGroup.js +0 -1
  26. package/dist/components/ChipGroup/ChipGroup.js.map +1 -1
  27. package/dist/components/ChipGroup/chip-group.css +3 -0
  28. package/dist/components/ChipGroup/chip-group.css.js +3 -0
  29. package/dist/components/DatePicker/DatePicker.d.ts +4 -8
  30. package/dist/components/DatePicker/DatePicker.js +6 -18
  31. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  32. package/dist/components/DatePicker/DatePickerExample.js +3 -3
  33. package/dist/components/DatePicker/DatePickerExample.js.map +1 -1
  34. package/dist/components/DatePickerField/DatePickerField.d.ts +4 -4
  35. package/dist/components/DatePickerField/DatePickerField.js +6 -4
  36. package/dist/components/DatePickerField/DatePickerField.js.map +1 -1
  37. package/dist/components/Dialog/Dialog.d.ts +2 -3
  38. package/dist/components/Dialog/Dialog.js +2 -3
  39. package/dist/components/Dialog/Dialog.js.map +1 -1
  40. package/dist/components/Fab/Fab.d.ts +8 -5
  41. package/dist/components/Fab/Fab.js +8 -5
  42. package/dist/components/Fab/Fab.js.map +1 -1
  43. package/dist/components/Fab/fab.css +1 -0
  44. package/dist/components/Fab/fab.css.js +1 -0
  45. package/dist/components/Field/Field.d.ts +32 -18
  46. package/dist/components/Field/Field.js +8 -38
  47. package/dist/components/Field/Field.js.map +1 -1
  48. package/dist/components/Field/FieldExample.d.ts +1 -0
  49. package/dist/components/Field/FieldExample.js +10 -3
  50. package/dist/components/Field/FieldExample.js.map +1 -1
  51. package/dist/components/Field/Fieldset.d.ts +40 -0
  52. package/dist/components/Field/Fieldset.js +44 -0
  53. package/dist/components/Field/Fieldset.js.map +1 -0
  54. package/dist/components/Field/field.css +5 -7
  55. package/dist/components/Field/field.css.js +5 -7
  56. package/dist/components/Field/index.d.ts +1 -3
  57. package/dist/components/Field/index.js +1 -3
  58. package/dist/components/Field/index.js.map +1 -1
  59. package/dist/components/Field/utils.d.ts +8 -38
  60. package/dist/components/Field/utils.js +6 -33
  61. package/dist/components/Field/utils.js.map +1 -1
  62. package/dist/components/FileUpload/FileUpload.js +1 -1
  63. package/dist/components/FileUpload/FileUpload.js.map +1 -1
  64. package/dist/components/FileUploadItem/FileUploadItem.js +1 -1
  65. package/dist/components/FileUploadItem/FileUploadItem.js.map +1 -1
  66. package/dist/components/Flex/Flex.d.ts +11 -7
  67. package/dist/components/Flex/Flex.js +12 -8
  68. package/dist/components/Flex/Flex.js.map +1 -1
  69. package/dist/components/InlineAlert/InlineAlert.d.ts +2 -2
  70. package/dist/components/InlineAlert/InlineAlert.js +2 -2
  71. package/dist/components/InlineAlert/InlineAlert.js.map +1 -1
  72. package/dist/components/Input/Input.d.ts +60 -15
  73. package/dist/components/Input/Input.js +42 -25
  74. package/dist/components/Input/Input.js.map +1 -1
  75. package/dist/components/Input/InputExample.js +4 -4
  76. package/dist/components/Input/InputExample.js.map +1 -1
  77. package/dist/components/Input/index.d.ts +0 -1
  78. package/dist/components/Input/index.js +0 -1
  79. package/dist/components/Input/index.js.map +1 -1
  80. package/dist/components/InputField/InputField.d.ts +4 -4
  81. package/dist/components/InputField/InputField.js +6 -4
  82. package/dist/components/InputField/InputField.js.map +1 -1
  83. package/dist/components/InputNumber/InputNumber.d.ts +8 -7
  84. package/dist/components/InputNumber/InputNumber.js +9 -16
  85. package/dist/components/InputNumber/InputNumber.js.map +1 -1
  86. package/dist/components/InputNumber/InputNumberExample.js +3 -3
  87. package/dist/components/InputNumber/InputNumberExample.js.map +1 -1
  88. package/dist/components/InputNumber/input-number.css +1 -0
  89. package/dist/components/InputNumber/input-number.css.js +1 -0
  90. package/dist/components/InputNumberField/InputNumberField.d.ts +4 -4
  91. package/dist/components/InputNumberField/InputNumberField.js +6 -4
  92. package/dist/components/InputNumberField/InputNumberField.js.map +1 -1
  93. package/dist/components/InputPhone/InputPhone.d.ts +8 -8
  94. package/dist/components/InputPhone/InputPhone.js +12 -18
  95. package/dist/components/InputPhone/InputPhone.js.map +1 -1
  96. package/dist/components/InputPhone/InputPhoneExample.js +3 -3
  97. package/dist/components/InputPhone/InputPhoneExample.js.map +1 -1
  98. package/dist/components/InputPhone/input-phone.css +1 -0
  99. package/dist/components/InputPhone/input-phone.css.js +1 -0
  100. package/dist/components/InputPhoneField/InputPhoneField.d.ts +4 -4
  101. package/dist/components/InputPhoneField/InputPhoneField.js +6 -4
  102. package/dist/components/InputPhoneField/InputPhoneField.js.map +1 -1
  103. package/dist/components/ListItem/list-item.css +1 -0
  104. package/dist/components/ListItem/list-item.css.js +1 -0
  105. package/dist/components/Modal/Modal.js +22 -26
  106. package/dist/components/Modal/Modal.js.map +1 -1
  107. package/dist/components/Modal/ModalExample.js +4 -1
  108. package/dist/components/Modal/ModalExample.js.map +1 -1
  109. package/dist/components/Modal/modal.css +4 -2
  110. package/dist/components/Modal/modal.css.js +4 -2
  111. package/dist/components/OTPInput/otp-input.css +1 -0
  112. package/dist/components/OTPInput/otp-input.css.js +1 -0
  113. package/dist/components/Pagination/Pagination.js +2 -2
  114. package/dist/components/Pagination/Pagination.js.map +1 -1
  115. package/dist/components/Password/Password.d.ts +9 -7
  116. package/dist/components/Password/Password.js +13 -17
  117. package/dist/components/Password/Password.js.map +1 -1
  118. package/dist/components/Password/PasswordExample.js +3 -3
  119. package/dist/components/Password/PasswordExample.js.map +1 -1
  120. package/dist/components/PasswordField/PasswordField.d.ts +4 -4
  121. package/dist/components/PasswordField/PasswordField.js +6 -4
  122. package/dist/components/PasswordField/PasswordField.js.map +1 -1
  123. package/dist/components/Popover/Popover.d.ts +0 -1
  124. package/dist/components/Popover/Popover.js +0 -1
  125. package/dist/components/Popover/Popover.js.map +1 -1
  126. package/dist/components/RadioGroup/RadioGroup.d.ts +1 -2
  127. package/dist/components/RadioGroup/RadioGroup.js +5 -11
  128. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  129. package/dist/components/RadioGroupField/RadioGroupField.d.ts +3 -3
  130. package/dist/components/RadioGroupField/RadioGroupField.js +6 -4
  131. package/dist/components/RadioGroupField/RadioGroupField.js.map +1 -1
  132. package/dist/components/SearchBar/SearchBar.d.ts +0 -1
  133. package/dist/components/SearchBar/SearchBar.js +0 -1
  134. package/dist/components/SearchBar/SearchBar.js.map +1 -1
  135. package/dist/components/SegmentedControl/SegmentedControl.d.ts +0 -1
  136. package/dist/components/SegmentedControl/SegmentedControl.js +0 -1
  137. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  138. package/dist/components/Select/Select.d.ts +7 -6
  139. package/dist/components/Select/Select.js +10 -15
  140. package/dist/components/Select/Select.js.map +1 -1
  141. package/dist/components/Select/SelectExample.js +3 -3
  142. package/dist/components/Select/SelectExample.js.map +1 -1
  143. package/dist/components/SelectField/SelectField.d.ts +4 -4
  144. package/dist/components/SelectField/SelectField.js +6 -4
  145. package/dist/components/SelectField/SelectField.js.map +1 -1
  146. package/dist/components/Slider/Slider.d.ts +1 -2
  147. package/dist/components/Slider/Slider.js +1 -2
  148. package/dist/components/Slider/Slider.js.map +1 -1
  149. package/dist/components/Snackbar/Snackbar.d.ts +0 -1
  150. package/dist/components/Snackbar/Snackbar.js +0 -1
  151. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  152. package/dist/components/Switch/Switch.d.ts +0 -1
  153. package/dist/components/Switch/Switch.js +0 -1
  154. package/dist/components/Switch/Switch.js.map +1 -1
  155. package/dist/components/TabGroup/TabGroup.d.ts +0 -1
  156. package/dist/components/TabGroup/TabGroup.js +0 -1
  157. package/dist/components/TabGroup/TabGroup.js.map +1 -1
  158. package/dist/components/TabList/TabList.d.ts +0 -1
  159. package/dist/components/TabList/TabList.js +0 -1
  160. package/dist/components/TabList/TabList.js.map +1 -1
  161. package/dist/components/TabList/tab-list.css +1 -0
  162. package/dist/components/TabList/tab-list.css.js +1 -0
  163. package/dist/components/Table/table.css +2 -1
  164. package/dist/components/Table/table.css.js +2 -1
  165. package/dist/components/Textarea/Textarea.d.ts +4 -7
  166. package/dist/components/Textarea/Textarea.js +5 -16
  167. package/dist/components/Textarea/Textarea.js.map +1 -1
  168. package/dist/components/Textarea/TextareaExample.js +3 -3
  169. package/dist/components/Textarea/TextareaExample.js.map +1 -1
  170. package/dist/components/TextareaField/TextareaField.d.ts +4 -4
  171. package/dist/components/TextareaField/TextareaField.js +6 -4
  172. package/dist/components/TextareaField/TextareaField.js.map +1 -1
  173. package/dist/components/TimePicker/TimePicker.d.ts +8 -6
  174. package/dist/components/TimePicker/TimePicker.js +10 -14
  175. package/dist/components/TimePicker/TimePicker.js.map +1 -1
  176. package/dist/components/TimePicker/TimePickerExample.js +3 -3
  177. package/dist/components/TimePicker/TimePickerExample.js.map +1 -1
  178. package/dist/components/TimePickerField/TimePickerField.d.ts +4 -4
  179. package/dist/components/TimePickerField/TimePickerField.js +6 -4
  180. package/dist/components/TimePickerField/TimePickerField.js.map +1 -1
  181. package/dist/types/common.d.ts +2 -0
  182. package/dist/types/common.js.map +1 -1
  183. package/dist/utils/demo.js +1 -1
  184. package/dist/utils/demo.js.map +1 -1
  185. package/package.json +3 -4
  186. package/src/components/Accordion/Accordion.tsx +2 -2
  187. package/src/components/Accordion/accordion.scss +10 -1
  188. package/src/components/BottomNavigation/BottomNavigation.tsx +0 -1
  189. package/src/components/BottomNavigation/bottom-navigation.scss +1 -0
  190. package/src/components/Button/button.scss +4 -0
  191. package/src/components/Checkbox/Checkbox.tsx +3 -3
  192. package/src/components/CheckboxGroup/CheckboxGroup.tsx +37 -52
  193. package/src/components/CheckboxGroup/CheckboxGroupExample.tsx +6 -0
  194. package/src/components/CheckboxGroup/checkbox-group.scss +2 -0
  195. package/src/components/CheckboxGroupField/CheckboxGroupField.tsx +15 -11
  196. package/src/components/ChipGroup/ChipGroup.tsx +0 -1
  197. package/src/components/ChipGroup/chip-group.scss +4 -0
  198. package/src/components/DatePicker/DatePicker.tsx +9 -20
  199. package/src/components/DatePicker/DatePickerExample.tsx +3 -5
  200. package/src/components/DatePickerField/DatePickerField.rtl.test.tsx +1 -1
  201. package/src/components/DatePickerField/DatePickerField.tsx +10 -6
  202. package/src/components/Dialog/Dialog.tsx +2 -3
  203. package/src/components/Fab/Fab.tsx +8 -5
  204. package/src/components/Fab/fab.scss +1 -0
  205. package/src/components/Field/Field.rtl.test.tsx +8 -6
  206. package/src/components/Field/Field.tsx +64 -61
  207. package/src/components/Field/FieldExample.tsx +27 -5
  208. package/src/components/Field/Fieldset.tsx +78 -0
  209. package/src/components/Field/field.scss +23 -27
  210. package/src/components/Field/index.tsx +1 -3
  211. package/src/components/Field/utils.ts +15 -77
  212. package/src/components/FileUpload/FileUpload.tsx +1 -1
  213. package/src/components/FileUploadItem/FileUploadItem.tsx +1 -1
  214. package/src/components/Flex/Flex.tsx +12 -7
  215. package/src/components/InlineAlert/InlineAlert.rtl.test.tsx +1 -1
  216. package/src/components/InlineAlert/InlineAlert.tsx +3 -3
  217. package/src/components/Input/Input.tsx +140 -48
  218. package/src/components/Input/InputExample.tsx +4 -6
  219. package/src/components/Input/index.tsx +0 -1
  220. package/src/components/InputField/InputField.tsx +10 -6
  221. package/src/components/InputNumber/InputNumber.tsx +11 -16
  222. package/src/components/InputNumber/InputNumberExample.tsx +7 -4
  223. package/src/components/InputNumber/input-number.scss +1 -0
  224. package/src/components/InputNumberField/InputNumberField.tsx +10 -6
  225. package/src/components/InputPhone/InputPhone.tsx +14 -18
  226. package/src/components/InputPhone/InputPhoneExample.tsx +7 -6
  227. package/src/components/InputPhone/input-phone.scss +1 -0
  228. package/src/components/InputPhoneField/InputPhoneField.tsx +10 -6
  229. package/src/components/ListItem/list-item.scss +1 -0
  230. package/src/components/Modal/Modal.tsx +26 -30
  231. package/src/components/Modal/ModalExample.tsx +7 -2
  232. package/src/components/Modal/modal.scss +1 -1
  233. package/src/components/OTPInput/otp-input.scss +1 -0
  234. package/src/components/Pagination/Pagination.tsx +2 -2
  235. package/src/components/Password/Password.tsx +15 -17
  236. package/src/components/Password/PasswordExample.tsx +13 -5
  237. package/src/components/PasswordField/PasswordField.tsx +10 -6
  238. package/src/components/Popover/Popover.tsx +0 -1
  239. package/src/components/RadioGroup/RadioGroup.tsx +14 -20
  240. package/src/components/RadioGroupField/RadioGroupField.tsx +16 -11
  241. package/src/components/SearchBar/SearchBar.tsx +0 -1
  242. package/src/components/SegmentedControl/SegmentedControl.tsx +0 -1
  243. package/src/components/Select/Select.tsx +13 -14
  244. package/src/components/Select/SelectExample.tsx +7 -4
  245. package/src/components/SelectField/SelectField.rtl.test.tsx +7 -18
  246. package/src/components/SelectField/SelectField.tsx +10 -6
  247. package/src/components/Slider/Slider.tsx +1 -2
  248. package/src/components/Snackbar/Snackbar.tsx +0 -1
  249. package/src/components/Switch/Switch.tsx +0 -1
  250. package/src/components/TabGroup/TabGroup.tsx +0 -1
  251. package/src/components/TabList/TabList.tsx +0 -1
  252. package/src/components/TabList/tab-list.scss +1 -0
  253. package/src/components/Table/table.scss +2 -1
  254. package/src/components/Textarea/Textarea.tsx +8 -17
  255. package/src/components/Textarea/TextareaExample.tsx +3 -5
  256. package/src/components/TextareaField/TextareaField.tsx +10 -6
  257. package/src/components/TimePicker/TimePicker.tsx +12 -15
  258. package/src/components/TimePicker/TimePickerExample.tsx +3 -5
  259. package/src/components/TimePickerField/TimePickerField.tsx +10 -6
  260. package/src/types/common.ts +8 -0
  261. package/src/utils/demo.ts +1 -1
  262. package/dist/components/Field/FieldDescription.d.ts +0 -9
  263. package/dist/components/Field/FieldDescription.js +0 -13
  264. package/dist/components/Field/FieldDescription.js.map +0 -1
  265. package/dist/components/Field/FieldError.d.ts +0 -11
  266. package/dist/components/Field/FieldError.js +0 -14
  267. package/dist/components/Field/FieldError.js.map +0 -1
  268. package/dist/components/Field/FieldLabel.d.ts +0 -21
  269. package/dist/components/Field/FieldLabel.js +0 -14
  270. package/dist/components/Field/FieldLabel.js.map +0 -1
  271. package/dist/components/FormField/FormField.d.ts +0 -66
  272. package/dist/components/FormField/FormField.js +0 -31
  273. package/dist/components/FormField/FormField.js.map +0 -1
  274. package/dist/components/FormField/FormFieldExample.d.ts +0 -9
  275. package/dist/components/FormField/FormFieldExample.js +0 -99
  276. package/dist/components/FormField/FormFieldExample.js.map +0 -1
  277. package/dist/components/FormField/index.d.ts +0 -1
  278. package/dist/components/FormField/index.js +0 -2
  279. package/dist/components/FormField/index.js.map +0 -1
  280. package/dist/components/Input/InputElement.d.ts +0 -82
  281. package/dist/components/Input/InputElement.js +0 -64
  282. package/dist/components/Input/InputElement.js.map +0 -1
  283. package/src/components/Field/FieldDescription.tsx +0 -17
  284. package/src/components/Field/FieldError.tsx +0 -25
  285. package/src/components/Field/FieldLabel.tsx +0 -44
  286. package/src/components/FormField/FormField.rtl.test.tsx +0 -20
  287. package/src/components/FormField/FormField.tsx +0 -95
  288. package/src/components/FormField/FormFieldExample.tsx +0 -277
  289. package/src/components/FormField/index.tsx +0 -1
  290. package/src/components/Input/InputElement.tsx +0 -192
@@ -9,17 +9,19 @@ export type TimePickerProps = FieldControlProps & Pick<InputProps, 'size'>;
9
9
  * For a more complete example with field usage, see the TimePickerField component.
10
10
  *
11
11
  * @example
12
- * import { TimePicker } from '@bspk/ui/TimePicker';
12
+ * import { TimePicker } from '-/components/TimePicker';
13
13
  *
14
14
  * () => {
15
15
  * const [value, onChange] = useState<string | undefined>('');
16
16
  *
17
17
  * return (
18
18
  * <div style={{ width: 320 }}>
19
- * <Field>
20
- * <FieldLabel>Time</FieldLabel>
21
- * <TimePicker name="time" onChange={onChange} value={value} />
22
- * <FieldDescription>The time picker allows you to select a time.</FieldDescription>
19
+ * <Field
20
+ * controlId="destination-time"
21
+ * helperText="The time picker allows you to select a time."
22
+ * label="Time"
23
+ * >
24
+ * <TimePicker id="destination-time" name="time" onChange={onChange} value={value} />
23
25
  * </Field>
24
26
  * </div>
25
27
  * );
@@ -28,5 +30,5 @@ export type TimePickerProps = FieldControlProps & Pick<InputProps, 'size'>;
28
30
  * @name TimePicker
29
31
  * @phase Stable
30
32
  */
31
- export declare function TimePicker({ value, disabled, id: idProp, invalid: invalidProp, readOnly, name, size, required, onChange: onChangeProp, 'aria-label': ariaLabel, ...props }: ElementProps<TimePickerProps, 'div'>): import("react/jsx-runtime").JSX.Element;
33
+ export declare function TimePicker({ value, disabled, id: idProp, invalid, readOnly, name, size, onChange: onChangeProp, 'aria-label': ariaLabel, 'aria-describedby': ariaDescribedBy, 'aria-errormessage': ariaErrorMessage, ...props }: ElementProps<TimePickerProps, 'div'>): import("react/jsx-runtime").JSX.Element;
32
34
  /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -7,10 +7,10 @@ import { TimePickerListbox } from './Listbox';
7
7
  import { TimePickerSegment } from './Segment';
8
8
  import { HOUR_OPTIONS, MINUTE_OPTIONS, MERIDIEM_OPTIONS, partsToStringValue, stringValueToParts, } from './utils';
9
9
  import { Button } from '../Button';
10
- import { useFieldInit } from '../Field';
11
10
  import { Menu } from '../Menu';
12
11
  import { Portal } from '../Portal';
13
12
  import { useFloating } from '../../hooks/useFloating';
13
+ import { useId } from '../../hooks/useId';
14
14
  import { useOutsideClick } from '../../hooks/useOutsideClick';
15
15
  import { handleKeyDown } from '../../utils/handleKeyDown';
16
16
  /**
@@ -20,17 +20,19 @@ import { handleKeyDown } from '../../utils/handleKeyDown';
20
20
  * For a more complete example with field usage, see the TimePickerField component.
21
21
  *
22
22
  * @example
23
- * import { TimePicker } from '@bspk/ui/TimePicker';
23
+ * import { TimePicker } from '.';
24
24
  *
25
25
  * () => {
26
26
  * const [value, onChange] = useState<string | undefined>('');
27
27
  *
28
28
  * return (
29
29
  * <div style={{ width: 320 }}>
30
- * <Field>
31
- * <FieldLabel>Time</FieldLabel>
32
- * <TimePicker name="time" onChange={onChange} value={value} />
33
- * <FieldDescription>The time picker allows you to select a time.</FieldDescription>
30
+ * <Field
31
+ * controlId="destination-time"
32
+ * helperText="The time picker allows you to select a time."
33
+ * label="Time"
34
+ * >
35
+ * <TimePicker id="destination-time" name="time" onChange={onChange} value={value} />
34
36
  * </Field>
35
37
  * </div>
36
38
  * );
@@ -39,14 +41,8 @@ import { handleKeyDown } from '../../utils/handleKeyDown';
39
41
  * @name TimePicker
40
42
  * @phase Stable
41
43
  */
42
- export function TimePicker({ value, disabled, id: idProp, invalid: invalidProp, readOnly, name, size, required = false, onChange: onChangeProp, 'aria-label': ariaLabel = 'Time picker', ...props }) {
43
- const { id, ariaDescribedBy, ariaErrorMessage, invalid } = useFieldInit({
44
- idProp,
45
- required,
46
- disabled,
47
- readOnly,
48
- invalidProp,
49
- });
44
+ export function TimePicker({ value, disabled, id: idProp, invalid = false, readOnly, name, size, onChange: onChangeProp, 'aria-label': ariaLabel = 'Time picker', 'aria-describedby': ariaDescribedBy, 'aria-errormessage': ariaErrorMessage, ...props }) {
45
+ const id = useId(idProp);
50
46
  const menuId = `${id}-time-picker-menu`;
51
47
  const { hours, minutes, meridiem } = useMemo(() => stringValueToParts(value || '00:00'), [value]);
52
48
  const setValue = useCallback((params) => {
@@ -1 +1 @@
1
- {"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../../../src/components/TimePicker/TimePicker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../../../src/components/TimePicker/TimePicker.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
3
  import { TimePicker } from './TimePicker';
4
- import { Field, FieldLabel, FieldDescription } from '../Field';
4
+ import { Field } from '../Field';
5
5
  export const TimePickerExample = {
6
6
  variants: false,
7
7
  defaultState: {
@@ -12,6 +12,6 @@ export const TimePickerExample = {
12
12
  };
13
13
  export const Usage = () => {
14
14
  const [value, onChange] = useState('');
15
- return (_jsx("div", { style: { width: 320 }, children: _jsxs(Field, { children: [_jsx(FieldLabel, { children: "Time" }), _jsx(TimePicker, { name: "time", onChange: onChange, value: value }), _jsx(FieldDescription, { children: "The time picker allows you to select a time." })] }) }));
15
+ return (_jsx("div", { style: { width: 320 }, children: _jsx(Field, { controlId: "destination-time", helperText: "The time picker allows you to select a time.", label: "Time", children: _jsx(TimePicker, { id: "destination-time", name: "time", onChange: onChange, value: value }) }) }));
16
16
  };
17
17
  //# sourceMappingURL=TimePickerExample.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TimePickerExample.js","sourceRoot":"","sources":["../../../src/components/TimePicker/TimePickerExample.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,UAAU,EAAmB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGzE,MAAM,CAAC,MAAM,iBAAiB,GAAsC;IAChE,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE;QACV,YAAY,EAAE,wBAAwB;KACzC;IACD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,KAAC,SAAS,OAAK,KAAK,GAAI;IAC1D,cAAc,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE;CAC7C,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,EAAE;IACtB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAqB,EAAE,CAAC,CAAC;IAE3D,OAAO,CACH,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,YACtB,MAAC,KAAK,eACF,KAAC,UAAU,uBAAkB,EAC7B,KAAC,UAAU,IAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAI,EAC5D,KAAC,gBAAgB,+DAAgE,IAC7E,GACN,CACT,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"TimePickerExample.js","sourceRoot":"","sources":["../../../src/components/TimePicker/TimePickerExample.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,UAAU,EAAmB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAG3C,MAAM,CAAC,MAAM,iBAAiB,GAAsC;IAChE,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE;QACV,YAAY,EAAE,wBAAwB;KACzC;IACD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,KAAC,SAAS,OAAK,KAAK,GAAI;IAC1D,cAAc,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE;CAC7C,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,EAAE;IACtB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAqB,EAAE,CAAC,CAAC;IAE3D,OAAO,CACH,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,YACtB,KAAC,KAAK,IAAC,SAAS,EAAC,kBAAkB,EAAC,UAAU,EAAC,8CAA8C,EAAC,KAAK,EAAC,MAAM,YACtG,KAAC,UAAU,IAAC,EAAE,EAAC,kBAAkB,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAI,GAC9E,GACN,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -1,15 +1,15 @@
1
- import { FormFieldControlProps } from '-/components/FormField';
1
+ import { FieldControlProps } from '-/components/Field';
2
2
  import { TimePickerProps } from '-/components/TimePicker';
3
- export type TimePickerFieldProps = FormFieldControlProps<TimePickerProps>;
3
+ export type TimePickerFieldProps = FieldControlProps<TimePickerProps>;
4
4
  /**
5
5
  * A field wrapper for the TimePicker component.
6
6
  *
7
7
  * This component takes properties from the FormField and TimePicker components.
8
8
  *
9
9
  * @name TimePickerField
10
- * @phase Stable
10
+ * @phase UXReview
11
11
  *
12
12
  * @generated
13
13
  */
14
- export declare function TimePickerField({ label, helperText, labelTrailing, errorMessage, style, ...controlProps }: TimePickerFieldProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function TimePickerField({ label, helperText, labelTrailing, errorMessage, style, id: idProp, ...controlProps }: TimePickerFieldProps): import("react/jsx-runtime").JSX.Element;
15
15
  /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -1,17 +1,19 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { FormField } from '../FormField';
2
+ import { Field, propsWithAria } from '../Field';
3
3
  import { TimePicker } from '../TimePicker';
4
+ import { useId } from '../../hooks/useId';
4
5
  /**
5
6
  * A field wrapper for the TimePicker component.
6
7
  *
7
8
  * This component takes properties from the FormField and TimePicker components.
8
9
  *
9
10
  * @name TimePickerField
10
- * @phase Stable
11
+ * @phase UXReview
11
12
  *
12
13
  * @generated
13
14
  */
14
- export function TimePickerField({ label, helperText, labelTrailing, errorMessage, style, ...controlProps }) {
15
- return (_jsx(FormField, { errorMessage: errorMessage, helperText: helperText, label: label, labelTrailing: labelTrailing, style: style, children: _jsx(TimePicker, { ...controlProps }) }));
15
+ export function TimePickerField({ label, helperText, labelTrailing, errorMessage, style, id: idProp, ...controlProps }) {
16
+ const id = useId(idProp);
17
+ return (_jsx(Field, { controlId: id, errorMessage: errorMessage, helperText: helperText, label: label, labelTrailing: labelTrailing, style: style, children: _jsx(TimePicker, { ...propsWithAria({ id, controlProps, errorMessage, helperText }) }) }));
16
18
  }
17
19
  //# sourceMappingURL=TimePickerField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TimePickerField.js","sourceRoot":"","sources":["../../../src/components/TimePickerField/TimePickerField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAyB,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAmB,MAAM,yBAAyB,CAAC;AAItE;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,EAC5B,KAAK,EACL,UAAU,EACV,aAAa,EACb,YAAY,EACZ,KAAK,EACL,GAAG,YAAY,EACI;IACnB,OAAO,CACH,KAAC,SAAS,IACN,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,YAEZ,KAAC,UAAU,OAAK,YAAY,GAAI,GACxB,CACf,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"TimePickerField.js","sourceRoot":"","sources":["../../../src/components/TimePickerField/TimePickerField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAqB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAmB,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAItC;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,EAC5B,KAAK,EACL,UAAU,EACV,aAAa,EACb,YAAY,EACZ,KAAK,EACL,EAAE,EAAE,MAAM,EACV,GAAG,YAAY,EACI;IACnB,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,OAAO,CACH,KAAC,KAAK,IACF,SAAS,EAAE,EAAE,EACb,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,YAEZ,KAAC,UAAU,OAAK,aAAa,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,GAAI,GAC7E,CACX,CAAC;AACN,CAAC"}
@@ -133,6 +133,8 @@ export type FieldControlProps<ValueType = string, ChangeContext = ChangeEvent<HT
133
133
  * @required
134
134
  */
135
135
  onChange: (next: ValueType | undefined, event?: ChangeContext) => void;
136
+ 'aria-describedby'?: string;
137
+ 'aria-errormessage'?: string;
136
138
  };
137
139
  export type Brand = 'anywhere' | 'better-homes-gardens' | 'cartus' | 'century-21' | 'coldwell-banker' | 'corcoran' | 'denali-boss' | 'era' | 'sothebys';
138
140
  /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;AA6KH,sDAAsD"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;AAqLH,sDAAsD"}
@@ -27,7 +27,7 @@ export function componentToString(componentName, propState, propsMeta) {
27
27
  }
28
28
  else if (Array.isArray(value)) {
29
29
  return ` ${key}={[${value
30
- .map((item) => (isValidElement(item) ? convertReactToCodeString(item) : '...')) // Simplified for brevity
30
+ .map((item) => (isValidElement(item) ? convertReactToCodeString(item) : item))
31
31
  .join(', ')}]}`;
32
32
  }
33
33
  else if (typeof value === 'object') {
@@ -1 +1 @@
1
- {"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/utils/demo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/utils/demo.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bspk/ui",
3
- "version": "1.3.20",
3
+ "version": "1.3.22",
4
4
  "license": "CC-BY-4.0",
5
5
  "type": "module",
6
6
  "files": [
@@ -40,7 +40,8 @@
40
40
  "newc": "tsx .scripts/tasks/new-component.ts",
41
41
  "create:tests": "tsx .scripts/tasks/create-tests.ts",
42
42
  "clean": "tsx .scripts/clean.ts",
43
- "pr-check": "npx tsx .scripts/tasks/lint-components.ts && npm run lint && npm run lint:css && npx tsx .scripts/check-css-vars.ts && npm run build && npm run test"
43
+ "pr-check": "npx tsx .scripts/tasks/lint-components.ts && npm run lint && npm run lint:css && npx tsx .scripts/check-css-vars.ts && npm run build && npm run test",
44
+ "pr": "npm run pr-check && git push --set-upstream origin origin $(git symbolic-ref --short HEAD) && open \"https://github.com/Anywhererealestate/bspk-ui/compare/dev...$(git symbolic-ref --short HEAD)\""
44
45
  },
45
46
  "static-exports": {
46
47
  "./*": "./dist/*.js"
@@ -107,8 +108,6 @@
107
108
  "./FileUploadItem/*": "./dist/components/FileUploadItem/*.js",
108
109
  "./Flex": "./dist/components/Flex/index.js",
109
110
  "./Flex/*": "./dist/components/Flex/*.js",
110
- "./FormField": "./dist/components/FormField/index.js",
111
- "./FormField/*": "./dist/components/FormField/*.js",
112
111
  "./Grid": "./dist/components/Grid/index.js",
113
112
  "./Grid/*": "./dist/components/Grid/*.js",
114
113
  "./Img": "./dist/components/Img/index.js",
@@ -130,7 +130,7 @@ export function Accordion({ items: itemsProp, singleOpen = true }: AccordionProp
130
130
  {items.map(({ children, title, subtitle: subtitle, leading, trailing, disabled, id }, index) => {
131
131
  const isOpen = openSections.includes(id);
132
132
  return (
133
- <section data-disabled={disabled || undefined} id={id} key={id || index}>
133
+ <section data-bspk="accordion-item" data-disabled={disabled || undefined} id={id} key={id || index}>
134
134
  <button
135
135
  aria-controls={`${id}-content`}
136
136
  aria-expanded={isOpen}
@@ -147,7 +147,7 @@ export function Accordion({ items: itemsProp, singleOpen = true }: AccordionProp
147
147
  <span data-arrow>{isOpen ? <SvgKeyboardArrowUp /> : <SvgKeyboardArrowDown />}</span>
148
148
  </button>
149
149
  {isOpen && (
150
- <div data-content data-hidden={!isOpen || undefined} id={`${id}-content`}>
150
+ <div data-content id={`${id}-content`}>
151
151
  {children}
152
152
  </div>
153
153
  )}
@@ -1,8 +1,13 @@
1
1
  [data-bspk='accordion'] {
2
+ display: block;
2
3
  width: 100%;
3
4
  padding: var(--spacing-sizing-02);
4
5
 
5
- > section {
6
+ &:empty {
7
+ display: none;
8
+ }
9
+
10
+ > [data-bspk='accordion-item'] {
6
11
  --border-bottom-color: var(--stroke-neutral-base);
7
12
 
8
13
  display: flex;
@@ -54,6 +59,10 @@
54
59
  align-items: center;
55
60
  justify-content: center;
56
61
  margin-left: var(--spacing-sizing-02);
62
+
63
+ svg {
64
+ width: var(--spacing-sizing-06);
65
+ }
57
66
  }
58
67
 
59
68
  &:not(:disabled) {
@@ -21,7 +21,6 @@ export type BottomNavigationProps = Pick<TabListProps, 'label' | 'onChange' | 'o
21
21
  *
22
22
  * @example
23
23
  * import { BottomNavigation } from '@bspk/ui/BottomNavigation';
24
- * import { useState } from 'react';
25
24
  *
26
25
  * () => {
27
26
  * const [value, setValue] = useState<string>('1');
@@ -27,6 +27,7 @@ ul[data-bspk-utility='tab-list'][data-bspk='bottom-navigation'] {
27
27
  &[data-pseudo='focus'] > &,
28
28
  &:focus-visible {
29
29
  outline: solid 2px var(--stroke-neutral-focus);
30
+ isolation: isolate;
30
31
  }
31
32
 
32
33
  &[aria-selected='true'] {
@@ -1,4 +1,5 @@
1
1
  [data-bspk='button'] {
2
+ display: flex;
2
3
  flex-direction: row;
3
4
  gap: var(--spacing-sizing-02);
4
5
  border: none;
@@ -137,6 +138,7 @@
137
138
  [data-pseudo='focus'] > &,
138
139
  &:focus-visible {
139
140
  outline: solid 2px var(--stroke-neutral-focus);
141
+ isolation: isolate;
140
142
  }
141
143
  }
142
144
 
@@ -173,6 +175,7 @@
173
175
  [data-pseudo='focus'] > &,
174
176
  &:focus-visible {
175
177
  outline: solid 2px var(--stroke-neutral-focus);
178
+ isolation: isolate;
176
179
  }
177
180
  }
178
181
 
@@ -207,6 +210,7 @@
207
210
  [data-pseudo='focus'] > &,
208
211
  &:focus-visible {
209
212
  outline: solid 2px var(--stroke-neutral-focus);
213
+ isolation: isolate;
210
214
  }
211
215
  }
212
216
 
@@ -64,14 +64,14 @@ export type CheckboxProps = Omit<FieldControlProps, 'onChange' | 'readOnly' | 'v
64
64
  */
65
65
  export function Checkbox({
66
66
  checked: checkedProp = false,
67
- indeterminate: indeterminateProp,
67
+ indeterminate: indeterminateProp = false,
68
68
  invalid,
69
69
  disabled,
70
70
  required,
71
71
  ...props
72
72
  }: ElementProps<CheckboxProps, 'input'>) {
73
+ const checked = !!checkedProp;
73
74
  const indeterminate = !!indeterminateProp;
74
- const checked = !!checkedProp && !indeterminate;
75
75
 
76
76
  const inputRef = useRef<HTMLInputElement>();
77
77
 
@@ -100,7 +100,7 @@ export function Checkbox({
100
100
  type="checkbox"
101
101
  />
102
102
  <span aria-hidden>
103
- {checked && (
103
+ {checked && !indeterminate && (
104
104
  <svg data-checked fill="none" viewBox="0 0 14 11" xmlns="http://www.w3.org/2000/svg">
105
105
  <path
106
106
  d="M5.485 10.182a1 1 0 0 1-1.414 0l-3.03-3.03a1 1 0 0 1 0-1.415l.14-.141a1 1 0 0 1 1.415 0l2.182 2.182 6.626-6.627a1 1 0 0 1 1.414 0l.142.142a1 1 0 0 1 0 1.414l-7.475 7.475Z"
@@ -1,13 +1,11 @@
1
1
  import './checkbox-group.scss';
2
- import { Checkbox, CheckboxProps } from '-/components/Checkbox';
3
- import { useFieldInit } from '-/components/Field';
4
- import { ToggleOptionProps, ToggleOption } from '-/components/ToggleOption';
2
+ import { CheckboxOption, CheckboxOptionProps } from '-/components/CheckboxOption';
3
+ import { useId } from '-/hooks/useId';
5
4
  import { ElementProps, FieldControlProps } from '-/types/common';
6
5
 
7
6
  const ALL_LABEL = 'All';
8
7
 
9
- export type CheckboxGroupOption = Pick<CheckboxProps, 'value'> &
10
- Pick<ToggleOptionProps, 'description' | 'disabled' | 'label'>;
8
+ export type CheckboxGroupOption = Omit<CheckboxOptionProps, 'name' | 'onChange'>;
11
9
 
12
10
  export type CheckboxGroupProps = Omit<FieldControlProps<string[]>, 'readOnly'> & {
13
11
  /**
@@ -31,7 +29,7 @@ export type CheckboxGroupProps = Omit<FieldControlProps<string[]>, 'readOnly'> &
31
29
  */
32
30
  selectAll?: boolean;
33
31
  /** The props for the select all checkbox. */
34
- selectAllProps?: CheckboxGroupOption;
32
+ selectAllProps?: Pick<CheckboxOptionProps, 'aria-label' | 'description' | 'label'>;
35
33
  };
36
34
 
37
35
  /**
@@ -73,64 +71,51 @@ export function CheckboxGroup({
73
71
  selectAll,
74
72
  selectAllProps,
75
73
  disabled = false,
76
- invalid: invalidProp,
77
- required,
74
+ invalid = false,
78
75
  id: idProp,
79
- 'aria-describedby': ariaDescribedByProp,
80
- 'aria-errormessage': ariaErrorMessageProp,
76
+ 'aria-describedby': ariaDescribedBy,
77
+ 'aria-errormessage': ariaErrorMessage,
78
+ required,
81
79
  ...props
82
80
  }: ElementProps<CheckboxGroupProps, 'div'>) {
83
- const { id, ariaDescribedBy, ariaErrorMessage, invalid } = useFieldInit({
84
- idProp,
85
- required,
86
- disabled,
87
- invalidProp,
88
- });
81
+ const id = useId(idProp);
82
+ const availableOptions = options.filter((o) => !o.disabled);
89
83
 
90
84
  return (
91
- <div
92
- {...props}
93
- aria-describedby={ariaDescribedByProp || ariaDescribedBy || undefined}
94
- data-bspk="checkbox-group"
95
- id={id}
96
- role="group"
97
- >
85
+ <div {...props} aria-describedby={ariaDescribedBy || undefined} data-bspk="checkbox-group" id={id} role="group">
98
86
  {selectAll && (
99
- <ToggleOption label={selectAllProps?.label || ALL_LABEL}>
100
- <Checkbox
101
- aria-errormessage={ariaErrorMessageProp || ariaErrorMessage || undefined}
102
- aria-label={selectAllProps?.label || ALL_LABEL}
103
- checked={!!value.length && value.length === options.length}
104
- data-testid="selectAll-Checkbox"
105
- disabled={disabled}
106
- indeterminate={!!value.length && value.length < options.length}
107
- invalid={invalid || undefined}
108
- name={name}
109
- onChange={(checked) => onChange(checked ? options.map((o) => o.value) : [])}
110
- value="all"
111
- />
112
- </ToggleOption>
87
+ <CheckboxOption
88
+ aria-label={ALL_LABEL}
89
+ label={ALL_LABEL}
90
+ {...selectAllProps}
91
+ aria-errormessage={ariaErrorMessage || undefined}
92
+ checked={!!value.length && value.length === availableOptions.length}
93
+ data-testid="selectAll-Checkbox"
94
+ disabled={disabled}
95
+ indeterminate={!!value.length && value.length < availableOptions.length}
96
+ invalid={invalid || undefined}
97
+ name={name}
98
+ onChange={(checked) => onChange(checked ? availableOptions.map((o) => o.value) : [])}
99
+ value="all"
100
+ />
113
101
  )}
114
102
  {options.map(({ label, description, value: optionValue, disabled: optionDisabled }) => (
115
- <ToggleOption
103
+ <CheckboxOption
104
+ aria-errormessage={ariaErrorMessage || undefined}
105
+ aria-label={label}
106
+ checked={value.includes(optionValue)}
116
107
  description={description}
117
108
  disabled={disabled || optionDisabled}
109
+ invalid={invalid || undefined}
118
110
  key={optionValue}
119
111
  label={label}
120
- >
121
- <Checkbox
122
- aria-errormessage={ariaErrorMessageProp || ariaErrorMessage || undefined}
123
- aria-label={label}
124
- checked={value.includes(optionValue)}
125
- disabled={disabled || optionDisabled}
126
- invalid={invalid || undefined}
127
- name={name}
128
- onChange={(checked) => {
129
- onChange(checked ? [...value, optionValue] : value.filter((v) => v !== optionValue));
130
- }}
131
- value={optionValue}
132
- />
133
- </ToggleOption>
112
+ name={name}
113
+ onChange={(checked) => {
114
+ onChange(checked ? [...value, optionValue] : value.filter((v) => v !== optionValue));
115
+ }}
116
+ required={required}
117
+ value={optionValue}
118
+ />
134
119
  ))}
135
120
  </div>
136
121
  );
@@ -68,6 +68,12 @@ export const CheckboxGroupExample: ComponentExample<CheckboxGroupProps> = {
68
68
  disabled: true,
69
69
  },
70
70
  { label: 'Option 3', value: 'option3', description: 'Description for option 3' },
71
+ {
72
+ label: 'Option 4',
73
+ value: 'option4',
74
+ description:
75
+ 'This is a very long label for option 4 that never seems to end and just goes on and on without stopping',
76
+ },
71
77
  ],
72
78
  },
73
79
  };
@@ -6,3 +6,5 @@
6
6
 
7
7
  --list-item-height: 'auto';
8
8
  }
9
+
10
+ /** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
@@ -1,8 +1,8 @@
1
1
  import { CheckboxGroup, CheckboxGroupProps } from '-/components/CheckboxGroup';
2
- import { Field, FieldDescription, FieldError, FieldLabel } from '-/components/Field';
3
- import { FormFieldControlProps } from '-/components/FormField';
2
+ import { Fieldset, propsWithAria, FieldControlProps } from '-/components/Field';
3
+ import { useId } from '-/hooks/useId';
4
4
 
5
- export type CheckboxGroupFieldProps = FormFieldControlProps<CheckboxGroupProps>;
5
+ export type CheckboxGroupFieldProps = FieldControlProps<CheckboxGroupProps>;
6
6
 
7
7
  /**
8
8
  * A field wrapper for the CheckboxGroup component.
@@ -20,17 +20,21 @@ export function CheckboxGroupField({
20
20
  labelTrailing,
21
21
  errorMessage,
22
22
  style,
23
+ id: idProp,
23
24
  ...controlProps
24
25
  }: CheckboxGroupFieldProps) {
26
+ const id = useId(idProp);
25
27
  return (
26
- <Field as="fieldset" style={style}>
27
- <FieldLabel as="legend" labelTrailing={labelTrailing} style={style}>
28
- {label}
29
- </FieldLabel>
30
- <CheckboxGroup {...controlProps} />
31
- {!errorMessage && helperText && <FieldDescription>{helperText}</FieldDescription>}
32
- {errorMessage && <FieldError>{errorMessage}</FieldError>}
33
- </Field>
28
+ <Fieldset
29
+ controlId={id}
30
+ errorMessage={errorMessage}
31
+ helperText={helperText}
32
+ label={label}
33
+ labelTrailing={labelTrailing}
34
+ style={style}
35
+ >
36
+ <CheckboxGroup {...propsWithAria({ controlProps, id, errorMessage, helperText })} />
37
+ </Fieldset>
34
38
  );
35
39
  }
36
40
 
@@ -17,7 +17,6 @@ export type ChipGroupProps = {
17
17
  * A component that manages the layout of a group of chips.
18
18
  *
19
19
  * @example
20
- * import { Chip } from '@bspk/ui/Chip';
21
20
  * import { ChipGroup } from '@bspk/ui/ChipGroup';
22
21
  *
23
22
  * <ChipGroup
@@ -5,6 +5,10 @@
5
5
  flex-flow: row wrap;
6
6
  padding-bottom: var(--spacing-sizing-01);
7
7
 
8
+ &:empty {
9
+ display: none;
10
+ }
11
+
8
12
  &[data-scroll] {
9
13
  overflow: auto;
10
14
  flex-wrap: nowrap;