@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.
- package/dist/components/Accordion/Accordion.js +1 -1
- package/dist/components/Accordion/Accordion.js.map +1 -1
- package/dist/components/Accordion/accordion.css +19 -12
- package/dist/components/Accordion/accordion.css.js +19 -12
- package/dist/components/BottomNavigation/BottomNavigation.d.ts +0 -1
- package/dist/components/BottomNavigation/BottomNavigation.js +0 -1
- package/dist/components/BottomNavigation/BottomNavigation.js.map +1 -1
- package/dist/components/BottomNavigation/bottom-navigation.css +1 -0
- package/dist/components/BottomNavigation/bottom-navigation.css.js +1 -0
- package/dist/components/Button/button.css +4 -0
- package/dist/components/Button/button.css.js +4 -0
- package/dist/components/Checkbox/Checkbox.js +3 -3
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +4 -5
- package/dist/components/CheckboxGroup/CheckboxGroup.js +8 -13
- package/dist/components/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroupExample.js +5 -0
- package/dist/components/CheckboxGroup/CheckboxGroupExample.js.map +1 -1
- package/dist/components/CheckboxGroup/checkbox-group.css +2 -0
- package/dist/components/CheckboxGroup/checkbox-group.css.js +2 -0
- package/dist/components/CheckboxGroupField/CheckboxGroupField.d.ts +3 -3
- package/dist/components/CheckboxGroupField/CheckboxGroupField.js +6 -4
- package/dist/components/CheckboxGroupField/CheckboxGroupField.js.map +1 -1
- package/dist/components/ChipGroup/ChipGroup.d.ts +0 -1
- package/dist/components/ChipGroup/ChipGroup.js +0 -1
- package/dist/components/ChipGroup/ChipGroup.js.map +1 -1
- package/dist/components/ChipGroup/chip-group.css +3 -0
- package/dist/components/ChipGroup/chip-group.css.js +3 -0
- package/dist/components/DatePicker/DatePicker.d.ts +4 -8
- package/dist/components/DatePicker/DatePicker.js +6 -18
- package/dist/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/DatePicker/DatePickerExample.js +3 -3
- package/dist/components/DatePicker/DatePickerExample.js.map +1 -1
- package/dist/components/DatePickerField/DatePickerField.d.ts +4 -4
- package/dist/components/DatePickerField/DatePickerField.js +6 -4
- package/dist/components/DatePickerField/DatePickerField.js.map +1 -1
- package/dist/components/Dialog/Dialog.d.ts +2 -3
- package/dist/components/Dialog/Dialog.js +2 -3
- package/dist/components/Dialog/Dialog.js.map +1 -1
- package/dist/components/Fab/Fab.d.ts +8 -5
- package/dist/components/Fab/Fab.js +8 -5
- package/dist/components/Fab/Fab.js.map +1 -1
- package/dist/components/Fab/fab.css +1 -0
- package/dist/components/Fab/fab.css.js +1 -0
- package/dist/components/Field/Field.d.ts +32 -18
- package/dist/components/Field/Field.js +8 -38
- package/dist/components/Field/Field.js.map +1 -1
- package/dist/components/Field/FieldExample.d.ts +1 -0
- package/dist/components/Field/FieldExample.js +10 -3
- package/dist/components/Field/FieldExample.js.map +1 -1
- package/dist/components/Field/Fieldset.d.ts +40 -0
- package/dist/components/Field/Fieldset.js +44 -0
- package/dist/components/Field/Fieldset.js.map +1 -0
- package/dist/components/Field/field.css +5 -7
- package/dist/components/Field/field.css.js +5 -7
- package/dist/components/Field/index.d.ts +1 -3
- package/dist/components/Field/index.js +1 -3
- package/dist/components/Field/index.js.map +1 -1
- package/dist/components/Field/utils.d.ts +8 -38
- package/dist/components/Field/utils.js +6 -33
- package/dist/components/Field/utils.js.map +1 -1
- package/dist/components/FileUpload/FileUpload.js +1 -1
- package/dist/components/FileUpload/FileUpload.js.map +1 -1
- package/dist/components/FileUploadItem/FileUploadItem.js +1 -1
- package/dist/components/FileUploadItem/FileUploadItem.js.map +1 -1
- package/dist/components/Flex/Flex.d.ts +11 -7
- package/dist/components/Flex/Flex.js +12 -8
- package/dist/components/Flex/Flex.js.map +1 -1
- package/dist/components/InlineAlert/InlineAlert.d.ts +2 -2
- package/dist/components/InlineAlert/InlineAlert.js +2 -2
- package/dist/components/InlineAlert/InlineAlert.js.map +1 -1
- package/dist/components/Input/Input.d.ts +60 -15
- package/dist/components/Input/Input.js +42 -25
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/Input/InputExample.js +4 -4
- package/dist/components/Input/InputExample.js.map +1 -1
- package/dist/components/Input/index.d.ts +0 -1
- package/dist/components/Input/index.js +0 -1
- package/dist/components/Input/index.js.map +1 -1
- package/dist/components/InputField/InputField.d.ts +4 -4
- package/dist/components/InputField/InputField.js +6 -4
- package/dist/components/InputField/InputField.js.map +1 -1
- package/dist/components/InputNumber/InputNumber.d.ts +8 -7
- package/dist/components/InputNumber/InputNumber.js +9 -16
- package/dist/components/InputNumber/InputNumber.js.map +1 -1
- package/dist/components/InputNumber/InputNumberExample.js +3 -3
- package/dist/components/InputNumber/InputNumberExample.js.map +1 -1
- package/dist/components/InputNumber/input-number.css +1 -0
- package/dist/components/InputNumber/input-number.css.js +1 -0
- package/dist/components/InputNumberField/InputNumberField.d.ts +4 -4
- package/dist/components/InputNumberField/InputNumberField.js +6 -4
- package/dist/components/InputNumberField/InputNumberField.js.map +1 -1
- package/dist/components/InputPhone/InputPhone.d.ts +8 -8
- package/dist/components/InputPhone/InputPhone.js +12 -18
- package/dist/components/InputPhone/InputPhone.js.map +1 -1
- package/dist/components/InputPhone/InputPhoneExample.js +3 -3
- package/dist/components/InputPhone/InputPhoneExample.js.map +1 -1
- package/dist/components/InputPhone/input-phone.css +1 -0
- package/dist/components/InputPhone/input-phone.css.js +1 -0
- package/dist/components/InputPhoneField/InputPhoneField.d.ts +4 -4
- package/dist/components/InputPhoneField/InputPhoneField.js +6 -4
- package/dist/components/InputPhoneField/InputPhoneField.js.map +1 -1
- package/dist/components/ListItem/list-item.css +1 -0
- package/dist/components/ListItem/list-item.css.js +1 -0
- package/dist/components/Modal/Modal.js +22 -26
- package/dist/components/Modal/Modal.js.map +1 -1
- package/dist/components/Modal/ModalExample.js +4 -1
- package/dist/components/Modal/ModalExample.js.map +1 -1
- package/dist/components/Modal/modal.css +4 -2
- package/dist/components/Modal/modal.css.js +4 -2
- package/dist/components/OTPInput/otp-input.css +1 -0
- package/dist/components/OTPInput/otp-input.css.js +1 -0
- package/dist/components/Pagination/Pagination.js +2 -2
- package/dist/components/Pagination/Pagination.js.map +1 -1
- package/dist/components/Password/Password.d.ts +9 -7
- package/dist/components/Password/Password.js +13 -17
- package/dist/components/Password/Password.js.map +1 -1
- package/dist/components/Password/PasswordExample.js +3 -3
- package/dist/components/Password/PasswordExample.js.map +1 -1
- package/dist/components/PasswordField/PasswordField.d.ts +4 -4
- package/dist/components/PasswordField/PasswordField.js +6 -4
- package/dist/components/PasswordField/PasswordField.js.map +1 -1
- package/dist/components/Popover/Popover.d.ts +0 -1
- package/dist/components/Popover/Popover.js +0 -1
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.d.ts +1 -2
- package/dist/components/RadioGroup/RadioGroup.js +5 -11
- package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/components/RadioGroupField/RadioGroupField.d.ts +3 -3
- package/dist/components/RadioGroupField/RadioGroupField.js +6 -4
- package/dist/components/RadioGroupField/RadioGroupField.js.map +1 -1
- package/dist/components/SearchBar/SearchBar.d.ts +0 -1
- package/dist/components/SearchBar/SearchBar.js +0 -1
- package/dist/components/SearchBar/SearchBar.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.d.ts +0 -1
- package/dist/components/SegmentedControl/SegmentedControl.js +0 -1
- package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/components/Select/Select.d.ts +7 -6
- package/dist/components/Select/Select.js +10 -15
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/Select/SelectExample.js +3 -3
- package/dist/components/Select/SelectExample.js.map +1 -1
- package/dist/components/SelectField/SelectField.d.ts +4 -4
- package/dist/components/SelectField/SelectField.js +6 -4
- package/dist/components/SelectField/SelectField.js.map +1 -1
- package/dist/components/Slider/Slider.d.ts +1 -2
- package/dist/components/Slider/Slider.js +1 -2
- package/dist/components/Slider/Slider.js.map +1 -1
- package/dist/components/Snackbar/Snackbar.d.ts +0 -1
- package/dist/components/Snackbar/Snackbar.js +0 -1
- package/dist/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/Switch/Switch.d.ts +0 -1
- package/dist/components/Switch/Switch.js +0 -1
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/TabGroup/TabGroup.d.ts +0 -1
- package/dist/components/TabGroup/TabGroup.js +0 -1
- package/dist/components/TabGroup/TabGroup.js.map +1 -1
- package/dist/components/TabList/TabList.d.ts +0 -1
- package/dist/components/TabList/TabList.js +0 -1
- package/dist/components/TabList/TabList.js.map +1 -1
- package/dist/components/TabList/tab-list.css +1 -0
- package/dist/components/TabList/tab-list.css.js +1 -0
- package/dist/components/Table/table.css +2 -1
- package/dist/components/Table/table.css.js +2 -1
- package/dist/components/Textarea/Textarea.d.ts +4 -7
- package/dist/components/Textarea/Textarea.js +5 -16
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/Textarea/TextareaExample.js +3 -3
- package/dist/components/Textarea/TextareaExample.js.map +1 -1
- package/dist/components/TextareaField/TextareaField.d.ts +4 -4
- package/dist/components/TextareaField/TextareaField.js +6 -4
- package/dist/components/TextareaField/TextareaField.js.map +1 -1
- package/dist/components/TimePicker/TimePicker.d.ts +8 -6
- package/dist/components/TimePicker/TimePicker.js +10 -14
- package/dist/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/components/TimePicker/TimePickerExample.js +3 -3
- package/dist/components/TimePicker/TimePickerExample.js.map +1 -1
- package/dist/components/TimePickerField/TimePickerField.d.ts +4 -4
- package/dist/components/TimePickerField/TimePickerField.js +6 -4
- package/dist/components/TimePickerField/TimePickerField.js.map +1 -1
- package/dist/types/common.d.ts +2 -0
- package/dist/types/common.js.map +1 -1
- package/dist/utils/demo.js +1 -1
- package/dist/utils/demo.js.map +1 -1
- package/package.json +3 -4
- package/src/components/Accordion/Accordion.tsx +2 -2
- package/src/components/Accordion/accordion.scss +10 -1
- package/src/components/BottomNavigation/BottomNavigation.tsx +0 -1
- package/src/components/BottomNavigation/bottom-navigation.scss +1 -0
- package/src/components/Button/button.scss +4 -0
- package/src/components/Checkbox/Checkbox.tsx +3 -3
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +37 -52
- package/src/components/CheckboxGroup/CheckboxGroupExample.tsx +6 -0
- package/src/components/CheckboxGroup/checkbox-group.scss +2 -0
- package/src/components/CheckboxGroupField/CheckboxGroupField.tsx +15 -11
- package/src/components/ChipGroup/ChipGroup.tsx +0 -1
- package/src/components/ChipGroup/chip-group.scss +4 -0
- package/src/components/DatePicker/DatePicker.tsx +9 -20
- package/src/components/DatePicker/DatePickerExample.tsx +3 -5
- package/src/components/DatePickerField/DatePickerField.rtl.test.tsx +1 -1
- package/src/components/DatePickerField/DatePickerField.tsx +10 -6
- package/src/components/Dialog/Dialog.tsx +2 -3
- package/src/components/Fab/Fab.tsx +8 -5
- package/src/components/Fab/fab.scss +1 -0
- package/src/components/Field/Field.rtl.test.tsx +8 -6
- package/src/components/Field/Field.tsx +64 -61
- package/src/components/Field/FieldExample.tsx +27 -5
- package/src/components/Field/Fieldset.tsx +78 -0
- package/src/components/Field/field.scss +23 -27
- package/src/components/Field/index.tsx +1 -3
- package/src/components/Field/utils.ts +15 -77
- package/src/components/FileUpload/FileUpload.tsx +1 -1
- package/src/components/FileUploadItem/FileUploadItem.tsx +1 -1
- package/src/components/Flex/Flex.tsx +12 -7
- package/src/components/InlineAlert/InlineAlert.rtl.test.tsx +1 -1
- package/src/components/InlineAlert/InlineAlert.tsx +3 -3
- package/src/components/Input/Input.tsx +140 -48
- package/src/components/Input/InputExample.tsx +4 -6
- package/src/components/Input/index.tsx +0 -1
- package/src/components/InputField/InputField.tsx +10 -6
- package/src/components/InputNumber/InputNumber.tsx +11 -16
- package/src/components/InputNumber/InputNumberExample.tsx +7 -4
- package/src/components/InputNumber/input-number.scss +1 -0
- package/src/components/InputNumberField/InputNumberField.tsx +10 -6
- package/src/components/InputPhone/InputPhone.tsx +14 -18
- package/src/components/InputPhone/InputPhoneExample.tsx +7 -6
- package/src/components/InputPhone/input-phone.scss +1 -0
- package/src/components/InputPhoneField/InputPhoneField.tsx +10 -6
- package/src/components/ListItem/list-item.scss +1 -0
- package/src/components/Modal/Modal.tsx +26 -30
- package/src/components/Modal/ModalExample.tsx +7 -2
- package/src/components/Modal/modal.scss +1 -1
- package/src/components/OTPInput/otp-input.scss +1 -0
- package/src/components/Pagination/Pagination.tsx +2 -2
- package/src/components/Password/Password.tsx +15 -17
- package/src/components/Password/PasswordExample.tsx +13 -5
- package/src/components/PasswordField/PasswordField.tsx +10 -6
- package/src/components/Popover/Popover.tsx +0 -1
- package/src/components/RadioGroup/RadioGroup.tsx +14 -20
- package/src/components/RadioGroupField/RadioGroupField.tsx +16 -11
- package/src/components/SearchBar/SearchBar.tsx +0 -1
- package/src/components/SegmentedControl/SegmentedControl.tsx +0 -1
- package/src/components/Select/Select.tsx +13 -14
- package/src/components/Select/SelectExample.tsx +7 -4
- package/src/components/SelectField/SelectField.rtl.test.tsx +7 -18
- package/src/components/SelectField/SelectField.tsx +10 -6
- package/src/components/Slider/Slider.tsx +1 -2
- package/src/components/Snackbar/Snackbar.tsx +0 -1
- package/src/components/Switch/Switch.tsx +0 -1
- package/src/components/TabGroup/TabGroup.tsx +0 -1
- package/src/components/TabList/TabList.tsx +0 -1
- package/src/components/TabList/tab-list.scss +1 -0
- package/src/components/Table/table.scss +2 -1
- package/src/components/Textarea/Textarea.tsx +8 -17
- package/src/components/Textarea/TextareaExample.tsx +3 -5
- package/src/components/TextareaField/TextareaField.tsx +10 -6
- package/src/components/TimePicker/TimePicker.tsx +12 -15
- package/src/components/TimePicker/TimePickerExample.tsx +3 -5
- package/src/components/TimePickerField/TimePickerField.tsx +10 -6
- package/src/types/common.ts +8 -0
- package/src/utils/demo.ts +1 -1
- package/dist/components/Field/FieldDescription.d.ts +0 -9
- package/dist/components/Field/FieldDescription.js +0 -13
- package/dist/components/Field/FieldDescription.js.map +0 -1
- package/dist/components/Field/FieldError.d.ts +0 -11
- package/dist/components/Field/FieldError.js +0 -14
- package/dist/components/Field/FieldError.js.map +0 -1
- package/dist/components/Field/FieldLabel.d.ts +0 -21
- package/dist/components/Field/FieldLabel.js +0 -14
- package/dist/components/Field/FieldLabel.js.map +0 -1
- package/dist/components/FormField/FormField.d.ts +0 -66
- package/dist/components/FormField/FormField.js +0 -31
- package/dist/components/FormField/FormField.js.map +0 -1
- package/dist/components/FormField/FormFieldExample.d.ts +0 -9
- package/dist/components/FormField/FormFieldExample.js +0 -99
- package/dist/components/FormField/FormFieldExample.js.map +0 -1
- package/dist/components/FormField/index.d.ts +0 -1
- package/dist/components/FormField/index.js +0 -2
- package/dist/components/FormField/index.js.map +0 -1
- package/dist/components/Input/InputElement.d.ts +0 -82
- package/dist/components/Input/InputElement.js +0 -64
- package/dist/components/Input/InputElement.js.map +0 -1
- package/src/components/Field/FieldDescription.tsx +0 -17
- package/src/components/Field/FieldError.tsx +0 -25
- package/src/components/Field/FieldLabel.tsx +0 -44
- package/src/components/FormField/FormField.rtl.test.tsx +0 -20
- package/src/components/FormField/FormField.tsx +0 -95
- package/src/components/FormField/FormFieldExample.tsx +0 -277
- package/src/components/FormField/index.tsx +0 -1
- 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 '
|
|
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
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
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
|
|
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 '
|
|
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
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
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
|
|
43
|
-
const
|
|
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":";AAAA,OAAO,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EACH,YAAY,EACZ,cAAc,EACd,gBAAgB,EAEhB,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
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
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { TimePicker } from './TimePicker';
|
|
4
|
-
import { 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:
|
|
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,
|
|
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 {
|
|
1
|
+
import { FieldControlProps } from '-/components/Field';
|
|
2
2
|
import { TimePickerProps } from '-/components/TimePicker';
|
|
3
|
-
export type TimePickerFieldProps =
|
|
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
|
|
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 {
|
|
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
|
|
11
|
+
* @phase UXReview
|
|
11
12
|
*
|
|
12
13
|
* @generated
|
|
13
14
|
*/
|
|
14
|
-
export function TimePickerField({ label, helperText, labelTrailing, errorMessage, style, ...controlProps }) {
|
|
15
|
-
|
|
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,
|
|
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"}
|
package/dist/types/common.d.ts
CHANGED
|
@@ -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 */
|
package/dist/types/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;AAqLH,sDAAsD"}
|
package/dist/utils/demo.js
CHANGED
|
@@ -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) :
|
|
30
|
+
.map((item) => (isValidElement(item) ? convertReactToCodeString(item) : item))
|
|
31
31
|
.join(', ')}]}`;
|
|
32
32
|
}
|
|
33
33
|
else if (typeof value === 'object') {
|
package/dist/utils/demo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/utils/demo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAa,MAAM,OAAO,CAAC;AAwMjE,MAAM,UAAU,SAAS,CAAC,SAAiB,KAAK;IAC5C,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAA2B;IAC5D,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,MAAM,gBAAgB,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC;IAC5G,OAAO,iBAAiB,CAAC,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC7B,aAAqB,EACrB,SAAgB,EAChB,SAA8B;IAE9B,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAClB,MAAM,QAAQ,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;QAE9D,IAAI,cAAc,CAAC;QACnB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,cAAc,GAAG,IAAI,KAAK,GAAG,CAAC;YAC9B,IAAI,QAAQ,EAAE,IAAI,KAAK,UAAU;gBAAE,cAAc,GAAG,QAAQ,KAAK,MAAM,CAAC;QAC5E,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACjE,cAAc,GAAG,IAAI,KAAK,GAAG,CAAC;QAClC,CAAC;aAAM,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,gBAAgB,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC;YACtG,cAAc,GAAG,IAAI,iBAAiB,CAAC,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;QAC7E,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,GAAG,MAAM,KAAK;iBACpB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,
|
|
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.
|
|
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
|
|
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
|
-
|
|
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');
|
|
@@ -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 {
|
|
3
|
-
import {
|
|
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 =
|
|
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?:
|
|
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
|
|
77
|
-
required,
|
|
74
|
+
invalid = false,
|
|
78
75
|
id: idProp,
|
|
79
|
-
'aria-describedby':
|
|
80
|
-
'aria-errormessage':
|
|
76
|
+
'aria-describedby': ariaDescribedBy,
|
|
77
|
+
'aria-errormessage': ariaErrorMessage,
|
|
78
|
+
required,
|
|
81
79
|
...props
|
|
82
80
|
}: ElementProps<CheckboxGroupProps, 'div'>) {
|
|
83
|
-
const
|
|
84
|
-
|
|
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
|
-
<
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
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
|
-
<
|
|
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
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
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
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { CheckboxGroup, CheckboxGroupProps } from '-/components/CheckboxGroup';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { Fieldset, propsWithAria, FieldControlProps } from '-/components/Field';
|
|
3
|
+
import { useId } from '-/hooks/useId';
|
|
4
4
|
|
|
5
|
-
export type CheckboxGroupFieldProps =
|
|
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
|
-
<
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
{
|
|
32
|
-
{
|
|
33
|
-
|
|
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
|
|