@bspk/ui 1.3.2 → 1.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build.ts +41 -10
- package/dist/components/AvatarGroup/AvatarGroup.d.ts +1 -1
- package/dist/components/AvatarGroup/AvatarGroup.js +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.d.ts +4 -23
- package/dist/components/Breadcrumb/Breadcrumb.js +3 -7
- package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/components/Breadcrumb/BreadcumbDropdown.d.ts +27 -0
- package/dist/components/Breadcrumb/BreadcumbDropdown.js +68 -0
- package/dist/components/Breadcrumb/BreadcumbDropdown.js.map +1 -0
- package/dist/components/Button/Button.d.ts +5 -1
- package/dist/components/Button/Button.js +2 -2
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/Button/button.css +5 -5
- package/dist/components/Button/button.css.js +5 -5
- package/dist/components/Calendar/Calendar.d.ts +33 -0
- package/dist/components/{CalendarPicker/CalendarPicker.js → Calendar/Calendar.js} +30 -34
- package/dist/components/Calendar/Calendar.js.map +1 -0
- package/dist/components/Calendar/CalendarExample.d.ts +4 -0
- package/dist/components/Calendar/CalendarExample.js +29 -0
- package/dist/components/Calendar/CalendarExample.js.map +1 -0
- package/dist/components/{CalendarPicker/calendar-picker.css → Calendar/calendar.css} +16 -16
- package/dist/components/{CalendarPicker/calendar-picker.css.js → Calendar/calendar.css.js} +16 -16
- package/dist/components/Calendar/index.d.ts +1 -0
- package/dist/components/Calendar/index.js +2 -0
- package/dist/components/Calendar/index.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.d.ts +5 -3
- package/dist/components/Checkbox/Checkbox.js +2 -2
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +6 -25
- package/dist/components/CheckboxGroup/CheckboxGroup.js +15 -5
- package/dist/components/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroupExample.js +3 -0
- package/dist/components/CheckboxGroup/CheckboxGroupExample.js.map +1 -1
- package/dist/components/CheckboxGroup/checkbox-group.css +7 -0
- package/dist/components/{DateField/date-field.css.js → CheckboxGroup/checkbox-group.css.js} +4 -5
- package/dist/components/CheckboxGroupField/CheckboxGroupField.d.ts +15 -0
- package/dist/components/CheckboxGroupField/CheckboxGroupField.js +17 -0
- package/dist/components/CheckboxGroupField/CheckboxGroupField.js.map +1 -0
- package/dist/components/CheckboxGroupField/index.d.ts +1 -0
- package/dist/components/CheckboxGroupField/index.js +2 -0
- package/dist/components/CheckboxGroupField/index.js.map +1 -0
- package/dist/components/{ChipUtility/ChipUtility.d.ts → Chip/Chip.d.ts} +6 -6
- package/dist/components/Chip/Chip.js +25 -0
- package/dist/components/Chip/Chip.js.map +1 -0
- package/dist/components/Chip/ChipExample.d.ts +4 -0
- package/dist/components/{ChipUtility/ChipUtilityExample.js → Chip/ChipExample.js} +2 -2
- package/dist/components/Chip/ChipExample.js.map +1 -0
- package/dist/components/{ChipUtility/chip-utility.css → Chip/chip.css} +10 -10
- package/dist/components/{ChipUtility/chip-utility.css.js → Chip/chip.css.js} +10 -10
- package/dist/components/Chip/index.d.ts +1 -0
- package/dist/components/Chip/index.js +2 -0
- package/dist/components/Chip/index.js.map +1 -0
- package/dist/components/ChipGroup/ChipGroup.d.ts +8 -7
- package/dist/components/ChipGroup/ChipGroup.js +5 -4
- package/dist/components/ChipGroup/ChipGroup.js.map +1 -1
- package/dist/components/ChipGroup/ChipGroupExample.js +4 -31
- package/dist/components/ChipGroup/ChipGroupExample.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts +50 -0
- package/dist/components/DatePicker/DatePicker.js +133 -0
- package/dist/components/DatePicker/DatePicker.js.map +1 -0
- package/dist/components/DatePicker/DatePickerExample.d.ts +3 -0
- package/dist/components/DatePicker/DatePickerExample.js +10 -0
- package/dist/components/DatePicker/DatePickerExample.js.map +1 -0
- package/dist/components/{DateInput/date-input.css → DatePicker/date-picker.css} +2 -3
- package/dist/components/{DateInput/date-input.css.js → DatePicker/date-picker.css.js} +2 -3
- package/dist/components/DatePicker/index.d.ts +1 -0
- package/dist/components/DatePicker/index.js +2 -0
- package/dist/components/DatePicker/index.js.map +1 -0
- package/dist/components/DatePickerField/DatePickerField.d.ts +15 -0
- package/dist/components/DatePickerField/DatePickerField.js +17 -0
- package/dist/components/DatePickerField/DatePickerField.js.map +1 -0
- package/dist/components/DatePickerField/index.d.ts +1 -0
- package/dist/components/DatePickerField/index.js +2 -0
- package/dist/components/DatePickerField/index.js.map +1 -0
- package/dist/components/Drawer/Drawer.d.ts +1 -1
- package/dist/components/Drawer/Drawer.js +1 -1
- package/dist/components/Drawer/DrawerExample.js +3 -3
- package/dist/components/Drawer/DrawerExample.js.map +1 -1
- package/dist/components/EmptyState/EmptyState.d.ts +1 -1
- package/dist/components/EmptyState/EmptyState.js +1 -1
- package/dist/components/Fab/Fab.d.ts +1 -1
- package/dist/components/Fab/Fab.js +1 -1
- package/dist/components/Field/Field.d.ts +58 -0
- package/dist/components/Field/Field.js +70 -0
- package/dist/components/Field/Field.js.map +1 -0
- package/dist/components/Field/FieldDescription.d.ts +7 -0
- package/dist/components/Field/FieldDescription.js +9 -0
- package/dist/components/Field/FieldDescription.js.map +1 -0
- package/dist/components/Field/FieldError.d.ts +5 -0
- package/dist/components/Field/FieldError.js +8 -0
- package/dist/components/Field/FieldError.js.map +1 -0
- package/dist/components/Field/FieldExample.d.ts +5 -0
- package/dist/components/Field/FieldExample.js +10 -0
- package/dist/components/Field/FieldExample.js.map +1 -0
- package/dist/components/Field/FieldLabel.d.ts +15 -0
- package/dist/components/Field/FieldLabel.js +8 -0
- package/dist/components/Field/FieldLabel.js.map +1 -0
- package/dist/components/Field/field.css +36 -0
- package/dist/components/Field/field.css.js +41 -0
- package/dist/components/Field/index.d.ts +5 -0
- package/dist/components/Field/index.js +6 -0
- package/dist/components/Field/index.js.map +1 -0
- package/dist/components/Field/utils.d.ts +39 -0
- package/dist/components/Field/utils.js +35 -0
- package/dist/components/Field/utils.js.map +1 -0
- package/dist/components/FormField/FormField.d.ts +32 -17
- package/dist/components/FormField/FormField.js +10 -18
- package/dist/components/FormField/FormField.js.map +1 -1
- package/dist/components/FormField/FormFieldExample.d.ts +10 -4
- package/dist/components/FormField/FormFieldExample.js +97 -9
- package/dist/components/FormField/FormFieldExample.js.map +1 -1
- package/dist/components/Img/Img.d.ts +1 -1
- package/dist/components/Img/Img.js +1 -1
- package/dist/components/InlineAlert/InlineAlert.d.ts +4 -4
- package/dist/components/InlineAlert/InlineAlert.js +3 -3
- package/dist/components/InlineAlert/InlineAlert.js.map +1 -1
- package/dist/components/Input/Input.d.ts +37 -0
- package/dist/components/Input/Input.js +48 -0
- package/dist/components/Input/Input.js.map +1 -0
- package/dist/components/Input/InputElement.d.ts +77 -0
- package/dist/components/{TextInput/TextInput.js → Input/InputElement.js} +17 -16
- package/dist/components/Input/InputElement.js.map +1 -0
- package/dist/components/Input/InputExample.d.ts +8 -0
- package/dist/components/{TextInput/TextInputExample.js → Input/InputExample.js} +20 -9
- package/dist/components/Input/InputExample.js.map +1 -0
- package/dist/components/Input/index.d.ts +2 -0
- package/dist/components/Input/index.js +3 -0
- package/dist/components/Input/index.js.map +1 -0
- package/dist/components/{TextInput/text-input.css → Input/input.css} +23 -23
- package/dist/components/{TextInput/text-input.css.js → Input/input.css.js} +23 -23
- package/dist/components/InputField/InputField.d.ts +15 -0
- package/dist/components/InputField/InputField.js +17 -0
- package/dist/components/InputField/InputField.js.map +1 -0
- package/dist/components/InputField/index.d.ts +1 -0
- package/dist/components/InputField/index.js +2 -0
- package/dist/components/InputField/index.js.map +1 -0
- package/dist/components/{NumberInput → InputNumber}/IncrementButton.js.map +1 -1
- package/dist/components/InputNumber/InputNumber.d.ts +74 -0
- package/dist/components/InputNumber/InputNumber.js +78 -0
- package/dist/components/InputNumber/InputNumber.js.map +1 -0
- package/dist/components/InputNumber/InputNumberExample.d.ts +3 -0
- package/dist/components/{NumberInput/NumberInputExample.js → InputNumber/InputNumberExample.js} +2 -2
- package/dist/components/InputNumber/InputNumberExample.js.map +1 -0
- package/dist/components/InputNumber/index.d.ts +1 -0
- package/dist/components/InputNumber/index.js +2 -0
- package/dist/components/InputNumber/index.js.map +1 -0
- package/dist/components/{NumberInput/number-input.css → InputNumber/input-number.css} +21 -21
- package/dist/components/{NumberInput/number-input.css.js → InputNumber/input-number.css.js} +21 -21
- package/dist/components/InputNumberField/InputNumberField.d.ts +15 -0
- package/dist/components/InputNumberField/InputNumberField.js +17 -0
- package/dist/components/InputNumberField/InputNumberField.js.map +1 -0
- package/dist/components/InputNumberField/index.d.ts +1 -0
- package/dist/components/InputNumberField/index.js +2 -0
- package/dist/components/InputNumberField/index.js.map +1 -0
- package/dist/components/InputPhone/InputPhone.d.ts +57 -0
- package/dist/components/InputPhone/InputPhone.js +161 -0
- package/dist/components/InputPhone/InputPhone.js.map +1 -0
- package/dist/components/InputPhone/InputPhoneExample.d.ts +4 -0
- package/dist/components/InputPhone/InputPhoneExample.js +7 -0
- package/dist/components/InputPhone/InputPhoneExample.js.map +1 -0
- package/dist/components/InputPhone/index.d.ts +1 -0
- package/dist/components/InputPhone/index.js +2 -0
- package/dist/components/InputPhone/index.js.map +1 -0
- package/dist/components/InputPhone/input-phone.css +42 -0
- package/dist/components/InputPhone/input-phone.css.js +47 -0
- package/dist/components/InputPhoneField/InputPhoneField.d.ts +15 -0
- package/dist/components/InputPhoneField/InputPhoneField.js +17 -0
- package/dist/components/InputPhoneField/InputPhoneField.js.map +1 -0
- package/dist/components/InputPhoneField/index.d.ts +1 -0
- package/dist/components/InputPhoneField/index.js +2 -0
- package/dist/components/InputPhoneField/index.js.map +1 -0
- package/dist/components/Layout/Layout.d.ts +1 -1
- package/dist/components/Layout/Layout.js +1 -1
- package/dist/components/Link/Link.d.ts +1 -1
- package/dist/components/Link/Link.js +1 -1
- package/dist/components/ListItem/ListItem.d.ts +20 -11
- package/dist/components/ListItem/ListItem.js +12 -8
- package/dist/components/ListItem/ListItem.js.map +1 -1
- package/dist/components/ListItem/ListItemExample.d.ts +1 -1
- package/dist/components/ListItem/ListItemExample.js +72 -3
- package/dist/components/ListItem/ListItemExample.js.map +1 -1
- package/dist/components/ListItem/list-item.css +13 -7
- package/dist/components/ListItem/list-item.css.js +13 -7
- package/dist/components/Menu/Menu.d.ts +1 -1
- package/dist/components/Menu/Menu.js +1 -1
- package/dist/components/Menu/MenuExample.js +1 -1
- package/dist/components/Menu/MenuExample.js.map +1 -1
- package/dist/components/MenuButton/MenuButton.d.ts +1 -1
- package/dist/components/MenuButton/MenuButton.js +1 -1
- package/dist/components/Modal/Modal.d.ts +1 -1
- package/dist/components/Modal/Modal.js +1 -1
- package/dist/components/Modal/ModalExample.js +1 -1
- package/dist/components/Modal/ModalExample.js.map +1 -1
- package/dist/components/Pagination/PageInput.js +2 -2
- package/dist/components/Pagination/PageInput.js.map +1 -1
- package/dist/components/Password/Password.d.ts +43 -0
- package/dist/components/Password/Password.js +63 -0
- package/dist/components/Password/Password.js.map +1 -0
- package/dist/components/Password/index.d.ts +1 -0
- package/dist/components/Password/index.js +2 -0
- package/dist/components/Password/index.js.map +1 -0
- package/dist/components/Password/password.css +21 -0
- package/dist/components/Password/password.css.js +26 -0
- package/dist/components/PasswordField/PasswordField.d.ts +8 -24
- package/dist/components/PasswordField/PasswordField.js +7 -23
- package/dist/components/PasswordField/PasswordField.js.map +1 -1
- package/dist/components/Popover/Popover.d.ts +3 -3
- package/dist/components/Popover/Popover.js +2 -1
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Popover/PopoverExample.js +2 -2
- package/dist/components/Popover/PopoverExample.js.map +1 -1
- package/dist/components/ProgressBar/ProgressBar.d.ts +1 -1
- package/dist/components/ProgressBar/ProgressBar.js +1 -1
- package/dist/components/ProgressCircle/ProgressCircle.d.ts +1 -1
- package/dist/components/ProgressCircle/ProgressCircle.js +1 -1
- package/dist/components/ProgressionStepper/ProgressionStepper.d.ts +4 -8
- package/dist/components/ProgressionStepper/ProgressionStepper.js +11 -6
- package/dist/components/ProgressionStepper/ProgressionStepper.js.map +1 -1
- package/dist/components/ProgressionStepper/ProgressionStepperExample.js +20 -4
- package/dist/components/ProgressionStepper/ProgressionStepperExample.js.map +1 -1
- package/dist/components/Radio/Radio.d.ts +2 -2
- package/dist/components/Radio/Radio.js.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.d.ts +7 -36
- package/dist/components/RadioGroup/RadioGroup.js +15 -9
- package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/components/RadioGroup/radio-group.css +2 -1
- package/dist/components/RadioGroup/radio-group.css.js +2 -1
- package/dist/components/RadioGroupField/RadioGroupField.d.ts +15 -0
- package/dist/components/RadioGroupField/RadioGroupField.js +17 -0
- package/dist/components/RadioGroupField/RadioGroupField.js.map +1 -0
- package/dist/components/RadioGroupField/index.d.ts +1 -0
- package/dist/components/RadioGroupField/index.js +2 -0
- package/dist/components/RadioGroupField/index.js.map +1 -0
- package/dist/components/SearchBar/SearchBar.d.ts +37 -45
- package/dist/components/SearchBar/SearchBar.js +104 -53
- package/dist/components/SearchBar/SearchBar.js.map +1 -1
- package/dist/components/SearchBar/SearchBarExample.js +2 -1
- package/dist/components/SearchBar/SearchBarExample.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.d.ts +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.js +1 -1
- package/dist/components/Select/Select.d.ts +41 -36
- package/dist/components/Select/Select.js +52 -26
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/Select/SelectExample.js +1 -9
- package/dist/components/Select/SelectExample.js.map +1 -1
- package/dist/components/SelectField/SelectField.d.ts +6 -26
- package/dist/components/SelectField/SelectField.js +5 -27
- package/dist/components/SelectField/SelectField.js.map +1 -1
- package/dist/components/Skeleton/SkeletonExample.js +2 -2
- package/dist/components/Skeleton/SkeletonExample.js.map +1 -1
- package/dist/components/Snackbar/Snackbar.d.ts +72 -14
- package/dist/components/Snackbar/Snackbar.js +38 -9
- package/dist/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/Snackbar/SnackbarExample.d.ts +1 -1
- package/dist/components/Snackbar/SnackbarExample.js +5 -3
- package/dist/components/Snackbar/SnackbarExample.js.map +1 -1
- package/dist/components/Snackbar/snackbar.css +31 -2
- package/dist/components/Snackbar/snackbar.css.js +31 -2
- package/dist/components/StylesProviderDemo/StylesProviderDemo.d.ts +1 -1
- package/dist/components/StylesProviderDemo/StylesProviderDemo.js +3 -1
- package/dist/components/StylesProviderDemo/StylesProviderDemo.js.map +1 -1
- package/dist/components/StylesProviderDemo/exampleCss.d.ts +1 -0
- package/dist/components/StylesProviderDemo/exampleCss.js +1900 -0
- package/dist/components/StylesProviderDemo/exampleCss.js.map +1 -0
- package/dist/components/Switch/Switch.d.ts +5 -3
- package/dist/components/Switch/Switch.js +2 -2
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/SwitchOption/SwitchOption.js +1 -1
- package/dist/components/SwitchOption/SwitchOption.js.map +1 -1
- package/dist/components/TabGroup/TabGroup.d.ts +2 -2
- package/dist/components/TabGroup/TabGroup.js +3 -3
- package/dist/components/TabGroup/TabGroup.js.map +1 -1
- package/dist/components/TabList/TabList.d.ts +6 -3
- package/dist/components/TabList/TabList.js +6 -3
- package/dist/components/TabList/TabList.js.map +1 -1
- package/dist/components/TabList/tab-list.css +6 -0
- package/dist/components/TabList/tab-list.css.js +6 -0
- package/dist/components/Tag/Tag.d.ts +1 -1
- package/dist/components/Tag/Tag.js +1 -1
- package/dist/components/Textarea/Textarea.d.ts +20 -26
- package/dist/components/Textarea/Textarea.js +29 -11
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/Textarea/textarea.css +24 -10
- package/dist/components/Textarea/textarea.css.js +24 -10
- package/dist/components/TextareaField/TextareaField.d.ts +6 -30
- package/dist/components/TextareaField/TextareaField.js +5 -31
- package/dist/components/TextareaField/TextareaField.js.map +1 -1
- package/dist/components/TimePicker/Listbox.d.ts +15 -0
- package/dist/components/{TimeInput → TimePicker}/Listbox.js +2 -2
- package/dist/components/TimePicker/Listbox.js.map +1 -0
- package/dist/components/TimePicker/Segment.d.ts +21 -0
- package/dist/components/{TimeInput → TimePicker}/Segment.js +2 -1
- package/dist/components/TimePicker/Segment.js.map +1 -0
- package/dist/components/TimePicker/TimePicker.d.ts +36 -0
- package/dist/components/TimePicker/TimePicker.js +133 -0
- package/dist/components/TimePicker/TimePicker.js.map +1 -0
- package/dist/components/TimePicker/TimePickerExample.d.ts +3 -0
- package/dist/components/TimePicker/TimePickerExample.js +6 -0
- package/dist/components/TimePicker/TimePickerExample.js.map +1 -0
- package/dist/components/TimePicker/index.d.ts +1 -0
- package/dist/components/TimePicker/index.js +2 -0
- package/dist/components/TimePicker/index.js.map +1 -0
- package/dist/components/{TimeInput/time-input.css → TimePicker/time-picker.css} +28 -26
- package/dist/components/{TimeInput/time-input.css.js → TimePicker/time-picker.css.js} +28 -26
- package/dist/components/TimePicker/utils.d.ts +11 -0
- package/dist/components/TimePicker/utils.js +35 -0
- package/dist/components/TimePicker/utils.js.map +1 -0
- package/dist/components/TimePickerField/TimePickerField.d.ts +15 -0
- package/dist/components/TimePickerField/TimePickerField.js +17 -0
- package/dist/components/TimePickerField/TimePickerField.js.map +1 -0
- package/dist/components/TimePickerField/index.d.ts +1 -0
- package/dist/components/TimePickerField/index.js +2 -0
- package/dist/components/TimePickerField/index.js.map +1 -0
- package/dist/components/ToggleOption/ToggleOption.js +3 -2
- package/dist/components/ToggleOption/ToggleOption.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.js +1 -1
- package/dist/components/Tooltip/TooltipExample.js +2 -2
- package/dist/components/Tooltip/TooltipExample.js.map +1 -1
- package/dist/components/Txt/Txt.d.ts +1 -1
- package/dist/components/Txt/Txt.js +1 -1
- package/dist/constants/brands.d.ts +1 -1
- package/dist/constants/brands.js +4 -0
- package/dist/constants/brands.js.map +1 -1
- package/dist/hooks/useArrowNavigation.js +6 -1
- package/dist/hooks/useArrowNavigation.js.map +1 -1
- package/dist/hooks/useCheckboxGroupState.d.ts +1 -1
- package/dist/hooks/useCheckboxGroupState.js +1 -1
- package/dist/hooks/useCheckboxState.d.ts +1 -1
- package/dist/hooks/useCheckboxState.js +1 -1
- package/dist/hooks/useContainerWidth.d.ts +1 -1
- package/dist/hooks/useContainerWidth.js +1 -1
- package/dist/hooks/useModalState.d.ts +1 -1
- package/dist/hooks/useModalState.js +1 -1
- package/dist/hooks/useOutsideClick.d.ts +5 -4
- package/dist/hooks/useOutsideClick.js +14 -3
- package/dist/hooks/useOutsideClick.js.map +1 -1
- package/dist/hooks/useRadioState.d.ts +2 -2
- package/dist/hooks/useRadioState.js +1 -1
- package/dist/hooks/useTimeout.d.ts +1 -1
- package/dist/styles/base.css +3 -0
- package/dist/styles/base.css.js +3 -0
- package/dist/types/common.d.ts +18 -10
- package/dist/types/common.js.map +1 -1
- package/dist/types/meta.d.ts +1 -0
- package/dist/types/meta.js.map +1 -1
- package/dist/utils/demo.d.ts +1 -0
- package/dist/utils/demo.js.map +1 -1
- package/meta.ts +1 -0
- package/package.json +37 -37
- package/src/components/AvatarGroup/AvatarGroup.tsx +1 -1
- package/src/components/Breadcrumb/Breadcrumb.tsx +5 -56
- package/src/components/Breadcrumb/BreadcumbDropdown.tsx +135 -0
- package/src/components/Button/Button.tsx +7 -1
- package/src/components/Button/button.scss +5 -5
- package/src/components/Calendar/Calendar.rtl.test.tsx +22 -0
- package/src/components/{CalendarPicker/CalendarPicker.tsx → Calendar/Calendar.tsx} +86 -87
- package/src/components/Calendar/CalendarExample.tsx +31 -0
- package/src/components/{CalendarPicker/calendar-picker.scss → Calendar/calendar.scss} +1 -1
- package/src/components/Calendar/index.tsx +1 -0
- package/src/components/Checkbox/Checkbox.tsx +28 -26
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +73 -77
- package/src/components/CheckboxGroup/CheckboxGroupExample.tsx +3 -0
- package/src/components/CheckboxGroup/checkbox-group.scss +8 -0
- package/src/components/CheckboxGroupField/CheckboxGroupField.rtl.test.tsx +27 -0
- package/src/components/CheckboxGroupField/CheckboxGroupField.tsx +36 -0
- package/src/components/CheckboxGroupField/index.tsx +1 -0
- package/src/components/{ChipUtility/ChipUtility.rtl.test.tsx → Chip/Chip.rtl.test.tsx} +5 -5
- package/src/components/{ChipUtility/ChipUtility.tsx → Chip/Chip.tsx} +26 -28
- package/src/components/{ChipUtility/ChipUtilityExample.tsx → Chip/ChipExample.tsx} +3 -3
- package/src/components/{ChipUtility/chip-utility.scss → Chip/chip.scss} +1 -1
- package/src/components/Chip/index.tsx +1 -0
- package/src/components/ChipGroup/ChipGroup.rtl.test.tsx +7 -7
- package/src/components/ChipGroup/ChipGroup.tsx +8 -7
- package/src/components/ChipGroup/ChipGroupExample.tsx +38 -138
- package/src/components/DatePicker/DatePicker.rtl.test.tsx +17 -0
- package/src/components/DatePicker/DatePicker.tsx +227 -0
- package/src/components/DatePicker/DatePickerExample.tsx +12 -0
- package/src/components/{DateInput/date-input.scss → DatePicker/date-picker.scss} +2 -3
- package/src/components/DatePicker/index.tsx +1 -0
- package/src/components/DatePickerField/DatePickerField.rtl.test.tsx +17 -0
- package/src/components/DatePickerField/DatePickerField.tsx +30 -0
- package/src/components/DatePickerField/index.tsx +1 -0
- package/src/components/Drawer/Drawer.tsx +1 -1
- package/src/components/Drawer/DrawerExample.tsx +2 -2
- package/src/components/EmptyState/EmptyState.tsx +1 -1
- package/src/components/Fab/Fab.tsx +1 -1
- package/src/components/Field/Field.rtl.test.tsx +23 -0
- package/src/components/Field/Field.tsx +110 -0
- package/src/components/Field/FieldDescription.tsx +15 -0
- package/src/components/Field/FieldError.tsx +19 -0
- package/src/components/Field/FieldExample.tsx +21 -0
- package/src/components/Field/FieldLabel.tsx +38 -0
- package/src/components/Field/field.scss +43 -0
- package/src/components/Field/index.tsx +5 -0
- package/src/components/Field/utils.ts +79 -0
- package/src/components/FormField/FormField.rtl.test.tsx +11 -21
- package/src/components/FormField/FormField.tsx +44 -66
- package/src/components/FormField/FormFieldExample.tsx +275 -38
- package/src/components/Img/Img.tsx +1 -1
- package/src/components/InlineAlert/InlineAlert.tsx +5 -5
- package/src/components/{NumberInput/NumberInput.rtl.test.tsx → Input/Input.rtl.test.tsx} +3 -3
- package/src/components/Input/Input.tsx +99 -0
- package/src/components/{TextInput/TextInput.tsx → Input/InputElement.tsx} +69 -77
- package/src/components/Input/InputExample.tsx +57 -0
- package/src/components/Input/index.tsx +2 -0
- package/src/components/{TextInput/text-input.scss → Input/input.scss} +7 -7
- package/src/components/InputField/InputField.rtl.test.tsx +15 -0
- package/src/components/InputField/InputField.tsx +24 -0
- package/src/components/InputField/index.tsx +1 -0
- package/src/components/{TextField/TextField.rtl.test.tsx → InputNumber/InputNumber.rtl.test.tsx} +3 -12
- package/src/components/{NumberInput/NumberInput.tsx → InputNumber/InputNumber.tsx} +61 -56
- package/src/components/{NumberInput/NumberInputExample.tsx → InputNumber/InputNumberExample.tsx} +2 -2
- package/src/components/InputNumber/index.tsx +1 -0
- package/src/components/{NumberInput/number-input.scss → InputNumber/input-number.scss} +1 -1
- package/src/components/InputNumberField/InputNumberField.rtl.test.tsx +17 -0
- package/src/components/InputNumberField/InputNumberField.tsx +30 -0
- package/src/components/InputNumberField/index.tsx +1 -0
- package/src/components/InputPhone/InputPhone.rtl.test.tsx +17 -0
- package/src/components/InputPhone/InputPhone.tsx +290 -0
- package/src/components/InputPhone/InputPhoneExample.tsx +9 -0
- package/src/components/InputPhone/index.tsx +1 -0
- package/src/components/{PhoneNumberInput/phone-number-input.scss → InputPhone/input-phone.scss} +13 -18
- package/src/components/InputPhoneField/InputPhoneField.rtl.test.tsx +17 -0
- package/src/components/InputPhoneField/InputPhoneField.tsx +30 -0
- package/src/components/InputPhoneField/index.tsx +1 -0
- package/src/components/Layout/Layout.tsx +1 -1
- package/src/components/Link/Link.tsx +1 -1
- package/src/components/ListItem/ListItem.rtl.test.tsx +4 -1
- package/src/components/ListItem/ListItem.tsx +48 -23
- package/src/components/ListItem/ListItemExample.tsx +74 -4
- package/src/components/ListItem/list-item.scss +26 -17
- package/src/components/Menu/Menu.tsx +1 -1
- package/src/components/Menu/MenuExample.tsx +1 -0
- package/src/components/MenuButton/MenuButton.tsx +1 -1
- package/src/components/Modal/Modal.tsx +1 -1
- package/src/components/Modal/ModalExample.tsx +4 -6
- package/src/components/Pagination/PageInput.tsx +2 -2
- package/src/components/{CalendarPicker/CalendarPicker.rtl.test.tsx → Password/Password.rtl.test.tsx} +4 -4
- package/src/components/Password/Password.tsx +113 -0
- package/src/components/Password/index.tsx +1 -0
- package/src/components/Password/password.scss +31 -0
- package/src/components/PasswordField/PasswordField.rtl.test.tsx +4 -11
- package/src/components/PasswordField/PasswordField.tsx +10 -53
- package/src/components/Popover/Popover.tsx +3 -2
- package/src/components/Popover/PopoverExample.tsx +2 -2
- package/src/components/ProgressBar/ProgressBar.tsx +1 -1
- package/src/components/ProgressCircle/ProgressCircle.tsx +1 -1
- package/src/components/ProgressionStepper/ProgressionStepper.tsx +24 -20
- package/src/components/ProgressionStepper/ProgressionStepperExample.tsx +20 -4
- package/src/components/Radio/Radio.tsx +15 -16
- package/src/components/RadioGroup/RadioGroup.rtl.test.tsx +4 -5
- package/src/components/RadioGroup/RadioGroup.tsx +51 -71
- package/src/components/RadioGroup/radio-group.scss +3 -1
- package/src/components/RadioGroupField/RadioGroupField.rtl.test.tsx +27 -0
- package/src/components/RadioGroupField/RadioGroupField.tsx +36 -0
- package/src/components/RadioGroupField/index.tsx +1 -0
- package/src/components/SearchBar/SearchBar.rtl.test.tsx +3 -4
- package/src/components/SearchBar/SearchBar.tsx +190 -126
- package/src/components/SearchBar/SearchBarExample.tsx +2 -1
- package/src/components/SegmentedControl/SegmentedControl.tsx +1 -1
- package/src/components/Select/Select.rtl.test.tsx +6 -5
- package/src/components/Select/Select.tsx +62 -66
- package/src/components/Select/SelectExample.tsx +1 -14
- package/src/components/SelectField/SelectField.rtl.test.tsx +9 -6
- package/src/components/SelectField/SelectField.tsx +9 -56
- package/src/components/Skeleton/SkeletonExample.tsx +1 -3
- package/src/components/Snackbar/Snackbar.tsx +124 -28
- package/src/components/Snackbar/SnackbarExample.tsx +9 -3
- package/src/components/Snackbar/snackbar.scss +48 -16
- package/src/components/StylesProviderDemo/StylesProviderDemo.tsx +5 -2
- package/src/components/StylesProviderDemo/exampleCss.ts +1899 -0
- package/src/components/Switch/Switch.rtl.test.tsx +3 -1
- package/src/components/Switch/Switch.tsx +5 -3
- package/src/components/SwitchOption/SwitchOption.rtl.test.tsx +3 -1
- package/src/components/SwitchOption/SwitchOption.tsx +1 -1
- package/src/components/TabGroup/TabGroup.tsx +2 -2
- package/src/components/TabList/TabList.tsx +16 -5
- package/src/components/TabList/tab-list.scss +12 -0
- package/src/components/Tag/Tag.tsx +1 -1
- package/src/components/Textarea/Textarea.rtl.test.tsx +1 -1
- package/src/components/Textarea/Textarea.tsx +72 -68
- package/src/components/Textarea/textarea.scss +41 -19
- package/src/components/TextareaField/TextareaField.rtl.test.tsx +4 -11
- package/src/components/TextareaField/TextareaField.tsx +9 -74
- package/src/components/{TimeInput → TimePicker}/Listbox.tsx +5 -5
- package/src/components/{TimeInput → TimePicker}/Segment.tsx +8 -5
- package/src/components/{TextInput/TextInput.rtl.test.tsx → TimePicker/TimePicker.rtl.test.tsx} +3 -3
- package/src/components/{TimeInput/TimeInput.tsx → TimePicker/TimePicker.tsx} +104 -67
- package/src/components/TimePicker/TimePickerExample.tsx +8 -0
- package/src/components/TimePicker/index.tsx +1 -0
- package/src/components/{TimeInput/time-input.scss → TimePicker/time-picker.scss} +7 -5
- package/src/components/TimePicker/utils.test.tsx +26 -0
- package/src/components/TimePicker/utils.ts +44 -0
- package/src/components/TimePickerField/TimePickerField.rtl.test.tsx +17 -0
- package/src/components/TimePickerField/TimePickerField.tsx +30 -0
- package/src/components/TimePickerField/index.tsx +1 -0
- package/src/components/ToggleOption/ToggleOption.tsx +10 -5
- package/src/components/Tooltip/Tooltip.tsx +1 -1
- package/src/components/Tooltip/TooltipExample.tsx +7 -9
- package/src/components/Txt/Txt.tsx +1 -1
- package/src/constants/brands.ts +5 -1
- package/src/hooks/useArrowNavigation.ts +6 -1
- package/src/hooks/useCheckboxGroupState.ts +1 -1
- package/src/hooks/useCheckboxState.ts +1 -1
- package/src/hooks/useContainerWidth.tsx +1 -1
- package/src/hooks/useModalState.ts +1 -1
- package/src/hooks/useOutsideClick.ts +17 -4
- package/src/hooks/useRadioState.ts +1 -1
- package/src/hooks/useTimeout.ts +1 -1
- package/src/styles/base.scss +3 -0
- package/src/types/common.ts +28 -10
- package/src/types/meta.ts +1 -0
- package/src/utils/demo.ts +1 -0
- package/dist/components/CalendarPicker/CalendarPicker.d.ts +0 -32
- package/dist/components/CalendarPicker/CalendarPicker.js.map +0 -1
- package/dist/components/CalendarPicker/CalendarPickerExample.d.ts +0 -3
- package/dist/components/CalendarPicker/CalendarPickerExample.js +0 -17
- package/dist/components/CalendarPicker/CalendarPickerExample.js.map +0 -1
- package/dist/components/CalendarPicker/index.d.ts +0 -1
- package/dist/components/CalendarPicker/index.js +0 -2
- package/dist/components/CalendarPicker/index.js.map +0 -1
- package/dist/components/ChipAssist/ChipAssist.d.ts +0 -24
- package/dist/components/ChipAssist/ChipAssist.js +0 -26
- package/dist/components/ChipAssist/ChipAssist.js.map +0 -1
- package/dist/components/ChipAssist/ChipAssistExample.d.ts +0 -4
- package/dist/components/ChipAssist/ChipAssistExample.js +0 -32
- package/dist/components/ChipAssist/ChipAssistExample.js.map +0 -1
- package/dist/components/ChipAssist/index.d.ts +0 -1
- package/dist/components/ChipAssist/index.js +0 -2
- package/dist/components/ChipAssist/index.js.map +0 -1
- package/dist/components/ChipFilter/ChipFilter.d.ts +0 -40
- package/dist/components/ChipFilter/ChipFilter.js +0 -31
- package/dist/components/ChipFilter/ChipFilter.js.map +0 -1
- package/dist/components/ChipFilter/ChipFilterExample.d.ts +0 -3
- package/dist/components/ChipFilter/ChipFilterExample.js +0 -62
- package/dist/components/ChipFilter/ChipFilterExample.js.map +0 -1
- package/dist/components/ChipFilter/index.d.ts +0 -1
- package/dist/components/ChipFilter/index.js +0 -2
- package/dist/components/ChipFilter/index.js.map +0 -1
- package/dist/components/ChipInput/ChipInput.d.ts +0 -31
- package/dist/components/ChipInput/ChipInput.js +0 -27
- package/dist/components/ChipInput/ChipInput.js.map +0 -1
- package/dist/components/ChipInput/ChipInputExample.d.ts +0 -4
- package/dist/components/ChipInput/ChipInputExample.js +0 -47
- package/dist/components/ChipInput/ChipInputExample.js.map +0 -1
- package/dist/components/ChipInput/index.d.ts +0 -1
- package/dist/components/ChipInput/index.js +0 -2
- package/dist/components/ChipInput/index.js.map +0 -1
- package/dist/components/ChipSuggestion/ChipSuggestion.d.ts +0 -17
- package/dist/components/ChipSuggestion/ChipSuggestion.js +0 -19
- package/dist/components/ChipSuggestion/ChipSuggestion.js.map +0 -1
- package/dist/components/ChipSuggestion/ChipSuggestionExample.d.ts +0 -4
- package/dist/components/ChipSuggestion/ChipSuggestionExample.js +0 -24
- package/dist/components/ChipSuggestion/ChipSuggestionExample.js.map +0 -1
- package/dist/components/ChipSuggestion/index.d.ts +0 -1
- package/dist/components/ChipSuggestion/index.js +0 -2
- package/dist/components/ChipSuggestion/index.js.map +0 -1
- package/dist/components/ChipUtility/ChipUtility.js +0 -25
- package/dist/components/ChipUtility/ChipUtility.js.map +0 -1
- package/dist/components/ChipUtility/ChipUtilityExample.d.ts +0 -4
- package/dist/components/ChipUtility/ChipUtilityExample.js.map +0 -1
- package/dist/components/ChipUtility/index.d.ts +0 -1
- package/dist/components/ChipUtility/index.js +0 -2
- package/dist/components/ChipUtility/index.js.map +0 -1
- package/dist/components/DateField/DateField.d.ts +0 -32
- package/dist/components/DateField/DateField.js +0 -34
- package/dist/components/DateField/DateField.js.map +0 -1
- package/dist/components/DateField/DateFieldExample.d.ts +0 -4
- package/dist/components/DateField/DateFieldExample.js +0 -11
- package/dist/components/DateField/DateFieldExample.js.map +0 -1
- package/dist/components/DateField/date-field.css +0 -8
- package/dist/components/DateField/index.d.ts +0 -1
- package/dist/components/DateField/index.js +0 -2
- package/dist/components/DateField/index.js.map +0 -1
- package/dist/components/DateInput/DateInput.d.ts +0 -39
- package/dist/components/DateInput/DateInput.js +0 -102
- package/dist/components/DateInput/DateInput.js.map +0 -1
- package/dist/components/DateInput/DateInputExample.d.ts +0 -4
- package/dist/components/DateInput/DateInputExample.js +0 -14
- package/dist/components/DateInput/DateInputExample.js.map +0 -1
- package/dist/components/DateInput/index.d.ts +0 -1
- package/dist/components/DateInput/index.js +0 -2
- package/dist/components/DateInput/index.js.map +0 -1
- package/dist/components/FormField/form-field.css +0 -17
- package/dist/components/FormField/form-field.css.js +0 -22
- package/dist/components/ListItemMenu/ListItemMenu.d.ts +0 -146
- package/dist/components/ListItemMenu/ListItemMenu.js +0 -159
- package/dist/components/ListItemMenu/ListItemMenu.js.map +0 -1
- package/dist/components/ListItemMenu/index.d.ts +0 -1
- package/dist/components/ListItemMenu/index.js +0 -2
- package/dist/components/ListItemMenu/index.js.map +0 -1
- package/dist/components/NumberField/NumberField.d.ts +0 -33
- package/dist/components/NumberField/NumberField.js +0 -35
- package/dist/components/NumberField/NumberField.js.map +0 -1
- package/dist/components/NumberField/index.d.ts +0 -1
- package/dist/components/NumberField/index.js +0 -2
- package/dist/components/NumberField/index.js.map +0 -1
- package/dist/components/NumberInput/NumberInput.d.ts +0 -63
- package/dist/components/NumberInput/NumberInput.js +0 -64
- package/dist/components/NumberInput/NumberInput.js.map +0 -1
- package/dist/components/NumberInput/NumberInputExample.d.ts +0 -3
- package/dist/components/NumberInput/NumberInputExample.js.map +0 -1
- package/dist/components/NumberInput/index.d.ts +0 -1
- package/dist/components/NumberInput/index.js +0 -2
- package/dist/components/NumberInput/index.js.map +0 -1
- package/dist/components/PasswordInput/PasswordInput.d.ts +0 -21
- package/dist/components/PasswordInput/PasswordInput.js +0 -34
- package/dist/components/PasswordInput/PasswordInput.js.map +0 -1
- package/dist/components/PasswordInput/index.d.ts +0 -1
- package/dist/components/PasswordInput/index.js +0 -2
- package/dist/components/PasswordInput/index.js.map +0 -1
- package/dist/components/PasswordInput/password-input.css +0 -28
- package/dist/components/PasswordInput/password-input.css.js +0 -33
- package/dist/components/PhoneNumberField/PhoneNumberField.d.ts +0 -14
- package/dist/components/PhoneNumberField/PhoneNumberField.js +0 -16
- package/dist/components/PhoneNumberField/PhoneNumberField.js.map +0 -1
- package/dist/components/PhoneNumberField/index.d.ts +0 -1
- package/dist/components/PhoneNumberField/index.js +0 -2
- package/dist/components/PhoneNumberField/index.js.map +0 -1
- package/dist/components/PhoneNumberInput/PhoneNumberInput.d.ts +0 -37
- package/dist/components/PhoneNumberInput/PhoneNumberInput.js +0 -83
- package/dist/components/PhoneNumberInput/PhoneNumberInput.js.map +0 -1
- package/dist/components/PhoneNumberInput/PhoneNumberInputExample.d.ts +0 -4
- package/dist/components/PhoneNumberInput/PhoneNumberInputExample.js +0 -5
- package/dist/components/PhoneNumberInput/PhoneNumberInputExample.js.map +0 -1
- package/dist/components/PhoneNumberInput/index.d.ts +0 -1
- package/dist/components/PhoneNumberInput/index.js +0 -2
- package/dist/components/PhoneNumberInput/index.js.map +0 -1
- package/dist/components/PhoneNumberInput/phone-number-input.css +0 -46
- package/dist/components/PhoneNumberInput/phone-number-input.css.js +0 -51
- package/dist/components/SelectField/SelectFieldExample.d.ts +0 -23
- package/dist/components/SelectField/SelectFieldExample.js +0 -13
- package/dist/components/SelectField/SelectFieldExample.js.map +0 -1
- package/dist/components/SnackbarProvider/SnackbarProvider.d.ts +0 -90
- package/dist/components/SnackbarProvider/SnackbarProvider.js +0 -115
- package/dist/components/SnackbarProvider/SnackbarProvider.js.map +0 -1
- package/dist/components/SnackbarProvider/SnackbarProviderExample.d.ts +0 -4
- package/dist/components/SnackbarProvider/SnackbarProviderExample.js +0 -59
- package/dist/components/SnackbarProvider/SnackbarProviderExample.js.map +0 -1
- package/dist/components/SnackbarProvider/index.d.ts +0 -1
- package/dist/components/SnackbarProvider/index.js +0 -2
- package/dist/components/SnackbarProvider/index.js.map +0 -1
- package/dist/components/SnackbarProvider/snackbar-provider-example.css +0 -15
- package/dist/components/SnackbarProvider/snackbar-provider-example.css.js +0 -20
- package/dist/components/SnackbarProvider/snackbar-provider.css +0 -15
- package/dist/components/SnackbarProvider/snackbar-provider.css.js +0 -20
- package/dist/components/TextField/TextField.d.ts +0 -31
- package/dist/components/TextField/TextField.js +0 -33
- package/dist/components/TextField/TextField.js.map +0 -1
- package/dist/components/TextField/TextFieldExample.d.ts +0 -3
- package/dist/components/TextField/TextFieldExample.js +0 -6
- package/dist/components/TextField/TextFieldExample.js.map +0 -1
- package/dist/components/TextField/index.d.ts +0 -1
- package/dist/components/TextField/index.js +0 -2
- package/dist/components/TextField/index.js.map +0 -1
- package/dist/components/TextInput/TextInput.d.ts +0 -78
- package/dist/components/TextInput/TextInput.js.map +0 -1
- package/dist/components/TextInput/TextInputExample.d.ts +0 -3
- package/dist/components/TextInput/TextInputExample.js.map +0 -1
- package/dist/components/TextInput/index.d.ts +0 -1
- package/dist/components/TextInput/index.js +0 -2
- package/dist/components/TextInput/index.js.map +0 -1
- package/dist/components/TextareaField/TextareaFieldExample.d.ts +0 -3
- package/dist/components/TextareaField/TextareaFieldExample.js +0 -10
- package/dist/components/TextareaField/TextareaFieldExample.js.map +0 -1
- package/dist/components/TimeInput/Listbox.d.ts +0 -15
- package/dist/components/TimeInput/Listbox.js.map +0 -1
- package/dist/components/TimeInput/Segment.d.ts +0 -20
- package/dist/components/TimeInput/Segment.js.map +0 -1
- package/dist/components/TimeInput/TimeInput.d.ts +0 -24
- package/dist/components/TimeInput/TimeInput.js +0 -115
- package/dist/components/TimeInput/TimeInput.js.map +0 -1
- package/dist/components/TimeInput/TimeInputExample.d.ts +0 -3
- package/dist/components/TimeInput/TimeInputExample.js +0 -4
- package/dist/components/TimeInput/TimeInputExample.js.map +0 -1
- package/dist/components/TimeInput/index.d.ts +0 -1
- package/dist/components/TimeInput/index.js +0 -2
- package/dist/components/TimeInput/index.js.map +0 -1
- package/dist/hooks/useSnackbarContext.d.ts +0 -1
- package/dist/hooks/useSnackbarContext.js +0 -16
- package/dist/hooks/useSnackbarContext.js.map +0 -1
- package/dist/utils/snackbarContext.d.ts +0 -38
- package/dist/utils/snackbarContext.js +0 -3
- package/dist/utils/snackbarContext.js.map +0 -1
- package/src/components/CalendarPicker/CalendarPickerExample.tsx +0 -24
- package/src/components/CalendarPicker/index.tsx +0 -1
- package/src/components/ChipAssist/ChipAssist.rtl.test.tsx +0 -16
- package/src/components/ChipAssist/ChipAssist.tsx +0 -37
- package/src/components/ChipAssist/ChipAssistExample.tsx +0 -34
- package/src/components/ChipAssist/index.tsx +0 -1
- package/src/components/ChipFilter/ChipFilter.rtl.test.tsx +0 -15
- package/src/components/ChipFilter/ChipFilter.tsx +0 -75
- package/src/components/ChipFilter/ChipFilterExample.tsx +0 -63
- package/src/components/ChipFilter/index.tsx +0 -1
- package/src/components/ChipInput/ChipInput.rtl.test.tsx +0 -16
- package/src/components/ChipInput/ChipInput.tsx +0 -47
- package/src/components/ChipInput/ChipInputExample.tsx +0 -49
- package/src/components/ChipInput/index.tsx +0 -1
- package/src/components/ChipSuggestion/ChipSuggestion.rtl.test.tsx +0 -19
- package/src/components/ChipSuggestion/ChipSuggestion.tsx +0 -22
- package/src/components/ChipSuggestion/ChipSuggestionExample.tsx +0 -26
- package/src/components/ChipSuggestion/index.tsx +0 -1
- package/src/components/ChipUtility/index.tsx +0 -1
- package/src/components/DateField/DateField.rtl.test.tsx +0 -24
- package/src/components/DateField/DateField.tsx +0 -58
- package/src/components/DateField/DateFieldExample.tsx +0 -13
- package/src/components/DateField/date-field.scss +0 -8
- package/src/components/DateField/index.tsx +0 -1
- package/src/components/DateInput/DateInput.rtl.test.tsx +0 -17
- package/src/components/DateInput/DateInput.tsx +0 -197
- package/src/components/DateInput/DateInputExample.tsx +0 -17
- package/src/components/DateInput/index.tsx +0 -1
- package/src/components/FormField/form-field.scss +0 -19
- package/src/components/ListItemMenu/ListItemMenu.tsx +0 -358
- package/src/components/ListItemMenu/index.tsx +0 -1
- package/src/components/NumberField/NumberField.rtl.test.tsx +0 -24
- package/src/components/NumberField/NumberField.tsx +0 -70
- package/src/components/NumberField/index.tsx +0 -1
- package/src/components/NumberInput/index.tsx +0 -1
- package/src/components/PasswordInput/PasswordInput.rtl.test.tsx +0 -15
- package/src/components/PasswordInput/PasswordInput.tsx +0 -115
- package/src/components/PasswordInput/index.tsx +0 -1
- package/src/components/PasswordInput/password-input.scss +0 -36
- package/src/components/PhoneNumberField/PhoneNumberField.rtl.test.tsx +0 -24
- package/src/components/PhoneNumberField/PhoneNumberField.tsx +0 -41
- package/src/components/PhoneNumberField/index.tsx +0 -1
- package/src/components/PhoneNumberInput/PhoneNumberInput.rtl.test.tsx +0 -17
- package/src/components/PhoneNumberInput/PhoneNumberInput.tsx +0 -186
- package/src/components/PhoneNumberInput/PhoneNumberInputExample.tsx +0 -8
- package/src/components/PhoneNumberInput/index.tsx +0 -1
- package/src/components/SelectField/SelectFieldExample.tsx +0 -16
- package/src/components/SnackbarProvider/SnackbarProvider.tsx +0 -160
- package/src/components/SnackbarProvider/SnackbarProviderExample.tsx +0 -127
- package/src/components/SnackbarProvider/index.tsx +0 -1
- package/src/components/SnackbarProvider/snackbar-provider-example.scss +0 -17
- package/src/components/SnackbarProvider/snackbar-provider.scss +0 -15
- package/src/components/TextField/TextField.tsx +0 -67
- package/src/components/TextField/TextFieldExample.tsx +0 -8
- package/src/components/TextField/index.tsx +0 -1
- package/src/components/TextInput/TextInputExample.tsx +0 -44
- package/src/components/TextInput/index.tsx +0 -1
- package/src/components/TextareaField/TextareaFieldExample.tsx +0 -13
- package/src/components/TimeInput/TimeInput.rtl.test.tsx +0 -15
- package/src/components/TimeInput/TimeInputExample.tsx +0 -6
- package/src/components/TimeInput/index.tsx +0 -1
- package/src/hooks/useSnackbarContext.ts +0 -18
- package/src/utils/snackbarContext.tsx +0 -43
- /package/dist/components/{NumberInput → InputNumber}/IncrementButton.d.ts +0 -0
- /package/dist/components/{NumberInput → InputNumber}/IncrementButton.js +0 -0
- /package/src/components/{NumberInput → InputNumber}/IncrementButton.tsx +0 -0
|
@@ -2,11 +2,11 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import './select.css.js';
|
|
3
3
|
import { SvgKeyboardArrowDown } from '@bspk/icons/KeyboardArrowDown';
|
|
4
4
|
import { useMemo } from 'react';
|
|
5
|
+
import { useFieldInit } from '../Field';
|
|
5
6
|
import { ListItem } from '../ListItem';
|
|
6
7
|
import { Menu } from '../Menu';
|
|
7
8
|
import { useArrowNavigation } from '../../hooks/useArrowNavigation';
|
|
8
9
|
import { useFloating } from '../../hooks/useFloating';
|
|
9
|
-
import { useId } from '../../hooks/useId';
|
|
10
10
|
import { useOutsideClick } from '../../hooks/useOutsideClick';
|
|
11
11
|
import { getElementById } from '../../utils/dom';
|
|
12
12
|
import { handleKeyDown } from '../../utils/handleKeyDown';
|
|
@@ -14,29 +14,30 @@ import { scrollListItemsStyle } from '../../utils/scrollListItemsStyle';
|
|
|
14
14
|
/**
|
|
15
15
|
* A field element that allows users to select one option from a list of available choices.
|
|
16
16
|
*
|
|
17
|
+
* For a more complete example with field usage, see the SelectField component.
|
|
18
|
+
*
|
|
17
19
|
* @example
|
|
18
20
|
* import { Select } from '@bspk/ui/Select';
|
|
19
21
|
*
|
|
20
|
-
*
|
|
22
|
+
* const OPTIONS = [
|
|
23
|
+
* { id: '1', label: 'Option 1' },
|
|
24
|
+
* { id: '2', label: 'Option 2' },
|
|
25
|
+
* { id: '3', label: 'Option 3' },
|
|
26
|
+
* { id: '4', label: 'Option 4' },
|
|
27
|
+
* { id: '5', label: 'Option 5' },
|
|
28
|
+
* { id: '6', label: 'Option 6' },
|
|
29
|
+
* ];
|
|
30
|
+
*
|
|
31
|
+
* function ExampleStandalone() {
|
|
21
32
|
* const [selected, setSelected] = React.useState<string[]>([]);
|
|
33
|
+
*
|
|
22
34
|
* return (
|
|
23
35
|
* <Select
|
|
24
|
-
* label="Select an option"
|
|
36
|
+
* aria-label="Select an option"
|
|
25
37
|
* itemCount={5}
|
|
26
38
|
* name="example-select"
|
|
27
39
|
* onChange={setSelected}
|
|
28
|
-
* options={
|
|
29
|
-
* { id: '1', label: 'Option 1' },
|
|
30
|
-
* { id: '2', label: 'Option 2' },
|
|
31
|
-
* { id: '3', label: 'Option 3' },
|
|
32
|
-
* { id: '4', label: 'Option 4' },
|
|
33
|
-
* { id: '5', label: 'Option 5' },
|
|
34
|
-
* { id: '6', label: 'Option 6' },
|
|
35
|
-
* { id: '7', label: 'Option 7' },
|
|
36
|
-
* { id: '8', label: 'Option 8' },
|
|
37
|
-
* { id: '9', label: 'Option 9' },
|
|
38
|
-
* { id: '10', label: 'Option 10' },
|
|
39
|
-
* ]}
|
|
40
|
+
* options={OPTIONS}
|
|
40
41
|
* placeholder="Select an option"
|
|
41
42
|
* size="medium"
|
|
42
43
|
* value={selected}
|
|
@@ -44,28 +45,53 @@ import { scrollListItemsStyle } from '../../utils/scrollListItemsStyle';
|
|
|
44
45
|
* );
|
|
45
46
|
* }
|
|
46
47
|
*
|
|
48
|
+
* function ExampleWithField() {
|
|
49
|
+
* const [selected, setSelected] = React.useState<string[]>([]);
|
|
50
|
+
* return (
|
|
51
|
+
* <Field>
|
|
52
|
+
* <FieldLabel>Select an option</FieldLabel>
|
|
53
|
+
* <Select
|
|
54
|
+
* itemCount={5}
|
|
55
|
+
* name="example-select"
|
|
56
|
+
* onChange={setSelected}
|
|
57
|
+
* options={OPTIONS}
|
|
58
|
+
* placeholder="Select an option"
|
|
59
|
+
* size="medium"
|
|
60
|
+
* value={selected}
|
|
61
|
+
* />
|
|
62
|
+
* <FieldDescription>
|
|
63
|
+
* The select allows you to choose one option from a list of options.
|
|
64
|
+
* </FieldDescription>
|
|
65
|
+
* </Field>
|
|
66
|
+
* );
|
|
67
|
+
* }
|
|
68
|
+
*
|
|
47
69
|
* @name Select
|
|
48
70
|
* @phase UXReview
|
|
49
71
|
*/
|
|
50
|
-
export function Select({ options: optionsProp = [], value = '', onChange,
|
|
51
|
-
const id =
|
|
72
|
+
export function Select({ options: optionsProp = [], value = '', onChange, placeholder = 'Select one', size = 'medium', disabled, id: idProp, invalid: invalidProp, readOnly, name, scrollLimit, required = false, 'aria-label': ariaLabel, ...elementProps }) {
|
|
73
|
+
const { id, ariaDescribedBy, ariaErrorMessage, invalid } = useFieldInit({
|
|
74
|
+
idProp,
|
|
75
|
+
required,
|
|
76
|
+
disabled,
|
|
77
|
+
readOnly,
|
|
78
|
+
invalidProp,
|
|
79
|
+
});
|
|
52
80
|
const menuId = useMemo(() => `${id}-menu`, [id]);
|
|
53
81
|
const { items, availableItems } = useMemo(() => {
|
|
54
82
|
const nextItems = optionsProp.map((item, index) => ({
|
|
55
83
|
...item,
|
|
56
84
|
id: `${id}-item-${index}`,
|
|
57
85
|
'aria-label': item.label,
|
|
58
|
-
'aria-selected': value
|
|
86
|
+
'aria-selected': value == item.value,
|
|
59
87
|
}));
|
|
60
88
|
return { items: nextItems, availableItems: nextItems.filter((item) => !item.disabled) };
|
|
61
89
|
}, [optionsProp, id, value]);
|
|
62
|
-
const
|
|
63
|
-
setActiveElementId(null);
|
|
64
|
-
};
|
|
65
|
-
const selectedItem = useMemo(() => items.find((o) => o.value === value?.[0]), [items, value]);
|
|
90
|
+
const selectedItem = useMemo(() => items.find((o) => o.value === value), [items, value]);
|
|
66
91
|
const { activeElementId, setActiveElementId, arrowKeyCallbacks } = useArrowNavigation({
|
|
67
92
|
ids: availableItems.map((i) => i.id),
|
|
68
93
|
});
|
|
94
|
+
const closeMenu = () => setActiveElementId(null);
|
|
69
95
|
const open = Boolean(activeElementId);
|
|
70
96
|
const { elements, floatingStyles } = useFloating({
|
|
71
97
|
hide: !open,
|
|
@@ -85,7 +111,7 @@ export function Select({ options: optionsProp = [], value = '', onChange, label,
|
|
|
85
111
|
if (activeElementId)
|
|
86
112
|
getElementById(activeElementId)?.click();
|
|
87
113
|
};
|
|
88
|
-
return (_jsxs(_Fragment, { children: [_jsx("input", { name: name, type: "hidden", value: value }),
|
|
114
|
+
return (_jsxs(_Fragment, { children: [_jsx("input", { name: name, type: "hidden", value: value }), _jsxs("button", { "aria-label": `${ariaLabel} ${selectedItem?.label || placeholder}`, ...elementProps, "aria-activedescendant": activeElementId || undefined, "aria-autocomplete": "list", "aria-controls": open ? menuId : undefined, "aria-describedby": ariaDescribedBy || undefined, "aria-disabled": disabled || readOnly || undefined, "aria-errormessage": ariaErrorMessage || undefined, "aria-expanded": open, "aria-haspopup": "listbox", "aria-readonly": readOnly || undefined, "data-bspk": "select", "data-invalid": invalid || undefined, "data-open": open || undefined, "data-size": size, id: id, onBlur: (event) => {
|
|
89
115
|
const targetOutsideOfMenu = event.relatedTarget && !elements.floating?.contains(event.relatedTarget);
|
|
90
116
|
if (targetOutsideOfMenu)
|
|
91
117
|
closeMenu();
|
|
@@ -108,7 +134,7 @@ export function Select({ options: optionsProp = [], value = '', onChange, label,
|
|
|
108
134
|
Space: spaceEnter,
|
|
109
135
|
Enter: spaceEnter,
|
|
110
136
|
'Ctrl+Option+Space': spaceEnter,
|
|
111
|
-
}, { preventDefault: true, stopPropagation: true }), ref: elements.setReference, role: "combobox", tabIndex: 0, type: "button", children: [_jsx(ListItem, { as: "span", "data-bspk-owner": "select", "data-placeholder": !selectedItem || undefined, id: `${id}-selected-value`, label: selectedItem?.label || placeholder, leading: selectedItem?.leading, onClick: undefined, owner: "select", trailing: selectedItem?.trailing }), _jsx(SvgKeyboardArrowDown, {})] }), _jsx(Menu, { "aria-autocomplete": undefined,
|
|
137
|
+
}, { preventDefault: true, stopPropagation: true }), ref: elements.setReference, role: "combobox", tabIndex: 0, type: "button", children: [_jsx(ListItem, { as: "span", "data-bspk-owner": "select", "data-placeholder": !selectedItem || undefined, id: `${id}-selected-value`, label: selectedItem?.label || placeholder, leading: selectedItem?.leading, onClick: undefined, owner: "select", trailing: selectedItem?.trailing }), _jsx(SvgKeyboardArrowDown, {})] }), _jsx(Menu, { "aria-autocomplete": undefined, as: "div", id: menuId, innerRef: elements.setFloating, onClickCapture: () => {
|
|
112
138
|
// Prevent the menu from closing when clicking inside it
|
|
113
139
|
// maintain focus on the select control
|
|
114
140
|
elements.reference?.focus();
|
|
@@ -119,9 +145,9 @@ export function Select({ options: optionsProp = [], value = '', onChange, label,
|
|
|
119
145
|
...floatingStyles,
|
|
120
146
|
}, tabIndex: -1, children: items.map((item) => {
|
|
121
147
|
const isActive = activeElementId === item.id;
|
|
122
|
-
const isSelected = value
|
|
148
|
+
const isSelected = value === item.value;
|
|
123
149
|
return (_jsx(ListItem, { ...item, active: isActive || undefined, "aria-label": undefined, "aria-selected": isSelected, as: "li", onClick: () => {
|
|
124
|
-
if (item.disabled
|
|
150
|
+
if (item.disabled)
|
|
125
151
|
return;
|
|
126
152
|
onChange(item.value);
|
|
127
153
|
closeMenu();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":";AAAA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,OAAO,EAA6B,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAiB,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,6 @@ export const presets = [
|
|
|
22
22
|
{
|
|
23
23
|
label: 'Simple',
|
|
24
24
|
propState: {
|
|
25
|
-
label: 'Demo Select',
|
|
26
25
|
options: DEFAULT_OPTIONS,
|
|
27
26
|
name: 'demo-select',
|
|
28
27
|
value: '',
|
|
@@ -31,7 +30,6 @@ export const presets = [
|
|
|
31
30
|
{
|
|
32
31
|
label: 'Long text',
|
|
33
32
|
propState: {
|
|
34
|
-
label: 'Demo Select',
|
|
35
33
|
options: [
|
|
36
34
|
{ value: '1', label: 'This is a very long option that should truncate' },
|
|
37
35
|
{ value: '2', label: 'This is another long option that should truncate' },
|
|
@@ -45,7 +43,6 @@ export const presets = [
|
|
|
45
43
|
{
|
|
46
44
|
label: 'Trailing Tags',
|
|
47
45
|
propState: {
|
|
48
|
-
label: 'Demo Select',
|
|
49
46
|
options: [
|
|
50
47
|
//
|
|
51
48
|
{
|
|
@@ -68,7 +65,6 @@ export const presets = [
|
|
|
68
65
|
{
|
|
69
66
|
label: 'Trailing Text',
|
|
70
67
|
propState: {
|
|
71
|
-
label: 'Demo Select',
|
|
72
68
|
options: [
|
|
73
69
|
{
|
|
74
70
|
value: '1',
|
|
@@ -86,7 +82,6 @@ export const presets = [
|
|
|
86
82
|
{
|
|
87
83
|
label: 'Leading Avatar',
|
|
88
84
|
propState: {
|
|
89
|
-
label: 'Select user',
|
|
90
85
|
options: [
|
|
91
86
|
//
|
|
92
87
|
{
|
|
@@ -117,14 +112,11 @@ export const presets = [
|
|
|
117
112
|
];
|
|
118
113
|
export const SelectExample = {
|
|
119
114
|
defaultState: {
|
|
120
|
-
label: 'Demo Select',
|
|
121
115
|
options: DEFAULT_OPTIONS,
|
|
122
116
|
scrollLimit: 5,
|
|
123
117
|
value: '',
|
|
124
118
|
},
|
|
125
|
-
render: ({ props, Component }) => {
|
|
126
|
-
return _jsx(Component, { ...props });
|
|
127
|
-
},
|
|
119
|
+
render: ({ props, Component }) => _jsx(Component, { ...props }),
|
|
128
120
|
presets,
|
|
129
121
|
};
|
|
130
122
|
//# sourceMappingURL=SelectExample.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectExample.js","sourceRoot":"","sources":["../../../src/components/Select/SelectExample.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAGvC,MAAM,aAAa,GAAG,CAAC,EAAE,KAAK,EAAqB,EAAE,EAAE,CAAC,CACpD,KAAC,GAAG,cAAE,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QACpC,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,KAAK;KAClB,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,GAAO,CAClC,CAAC;AACF,MAAM,eAAe,GAAG;IACpB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;IACjC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;IACjC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;IACjC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;IACjC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;IACjC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;IACjC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;IACjC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;IACjC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;IACjC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE;CACtC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAA0B;IAC1C;QACI,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE;YACP,
|
|
1
|
+
{"version":3,"file":"SelectExample.js","sourceRoot":"","sources":["../../../src/components/Select/SelectExample.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FormFieldControlProps } from '-/components/FormField';
|
|
2
2
|
import { SelectProps } from '-/components/Select';
|
|
3
|
-
export type SelectFieldProps =
|
|
3
|
+
export type SelectFieldProps = FormFieldControlProps<SelectProps>;
|
|
4
4
|
/**
|
|
5
|
-
* A
|
|
5
|
+
* A field wrapper for the Select component.
|
|
6
6
|
*
|
|
7
7
|
* This component takes properties from the FormField and Select components.
|
|
8
8
|
*
|
|
9
|
-
* @example
|
|
10
|
-
* import { SelectField } from '@bspk/ui/SelectField';
|
|
11
|
-
*
|
|
12
|
-
* export function Example() {
|
|
13
|
-
* const [state, setState] = React.useState(['option1']);
|
|
14
|
-
* return (
|
|
15
|
-
* <SelectField
|
|
16
|
-
* controlId="Example controlId"
|
|
17
|
-
* label="Example label"
|
|
18
|
-
* name="Example name"
|
|
19
|
-
* onChange={(nextValue) => setState(nextValue)}
|
|
20
|
-
* options={[
|
|
21
|
-
* { label: 'Option 1', value: 'option1' },
|
|
22
|
-
* { label: 'Option 2', value: 'option2' },
|
|
23
|
-
* { label: 'Option 3', value: 'option3' },
|
|
24
|
-
* ]}
|
|
25
|
-
* placeholder="Select one..."
|
|
26
|
-
* value={state}
|
|
27
|
-
* />
|
|
28
|
-
* );
|
|
29
|
-
* }
|
|
30
|
-
*
|
|
31
9
|
* @name SelectField
|
|
32
10
|
* @phase UXReview
|
|
11
|
+
*
|
|
12
|
+
* @generated
|
|
33
13
|
*/
|
|
34
|
-
export declare function SelectField({ label, helperText,
|
|
14
|
+
export declare function SelectField({ label, helperText, labelTrailing, errorMessage, ...controlProps }: SelectFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
35
15
|
/** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
|
|
@@ -2,38 +2,16 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { FormField } from '../FormField';
|
|
3
3
|
import { Select } from '../Select';
|
|
4
4
|
/**
|
|
5
|
-
* A
|
|
5
|
+
* A field wrapper for the Select component.
|
|
6
6
|
*
|
|
7
7
|
* This component takes properties from the FormField and Select components.
|
|
8
8
|
*
|
|
9
|
-
* @example
|
|
10
|
-
* import { SelectField } from '@bspk/ui/SelectField';
|
|
11
|
-
*
|
|
12
|
-
* export function Example() {
|
|
13
|
-
* const [state, setState] = React.useState(['option1']);
|
|
14
|
-
* return (
|
|
15
|
-
* <SelectField
|
|
16
|
-
* controlId="Example controlId"
|
|
17
|
-
* label="Example label"
|
|
18
|
-
* name="Example name"
|
|
19
|
-
* onChange={(nextValue) => setState(nextValue)}
|
|
20
|
-
* options={[
|
|
21
|
-
* { label: 'Option 1', value: 'option1' },
|
|
22
|
-
* { label: 'Option 2', value: 'option2' },
|
|
23
|
-
* { label: 'Option 3', value: 'option3' },
|
|
24
|
-
* ]}
|
|
25
|
-
* placeholder="Select one..."
|
|
26
|
-
* value={state}
|
|
27
|
-
* />
|
|
28
|
-
* );
|
|
29
|
-
* }
|
|
30
|
-
*
|
|
31
9
|
* @name SelectField
|
|
32
10
|
* @phase UXReview
|
|
11
|
+
*
|
|
12
|
+
* @generated
|
|
33
13
|
*/
|
|
34
|
-
export function SelectField({ label, helperText,
|
|
35
|
-
return (_jsx(FormField, {
|
|
36
|
-
//
|
|
37
|
-
, { ...inputProps, ...fieldProps, id: controlId, invalid: invalid, label: label })) }));
|
|
14
|
+
export function SelectField({ label, helperText, labelTrailing, errorMessage, ...controlProps }) {
|
|
15
|
+
return (_jsx(FormField, { errorMessage: errorMessage, helperText: helperText, label: label, labelTrailing: labelTrailing, children: _jsx(Select, { ...controlProps }) }));
|
|
38
16
|
}
|
|
39
17
|
//# sourceMappingURL=SelectField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectField.js","sourceRoot":"","sources":["../../../src/components/SelectField/SelectField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"SelectField.js","sourceRoot":"","sources":["../../../src/components/SelectField/SelectField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAyB,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAC;AAI1D;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,YAAY,EAAoB;IAC7G,OAAO,CACH,KAAC,SAAS,IAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,YACrG,KAAC,MAAM,OAAK,YAAY,GAAI,GACpB,CACf,CAAC;AACN,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { Avatar } from '../Avatar';
|
|
4
4
|
import { ExamplePlaceholder } from '../ExamplePlaceholder';
|
|
@@ -23,7 +23,7 @@ export const SkeletonExample = {
|
|
|
23
23
|
function SkeletonTransition({ Component, props, }) {
|
|
24
24
|
const [loaded, setLoaded] = useState(false);
|
|
25
25
|
useTimeout(() => setLoaded(true), 3000);
|
|
26
|
-
return
|
|
26
|
+
return _jsx(Component, { ...props, children: loaded && PROP_VARIANT_CHILDREN[props.variant] });
|
|
27
27
|
}
|
|
28
28
|
const PROP_VARIANT_CHILDREN = {
|
|
29
29
|
rectangular: _jsx(ExamplePlaceholder, { height: "100px", width: "100px" }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkeletonExample.js","sourceRoot":"","sources":["../../../src/components/Skeleton/SkeletonExample.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,MAAM,CAAC,MAAM,OAAO,GAA4B;IAC5C;QACI,KAAK,EAAE,oBAAoB;QAC3B,SAAS,EAAE;YACP,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,OAAO;SAClB;KACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAoC;IAC5D,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE;QACrC,IAAI,MAAM,EAAE,KAAK,KAAK,oBAAoB;YAAE,OAAO,KAAC,kBAAkB,IAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;QAE9G,OAAO,KAAC,SAAS,OAAK,KAAK,GAAI,CAAC;IACpC,CAAC;IACD,OAAO;CACV,CAAC;AAEF,SAAS,kBAAkB,CAAC,EACxB,SAAS,EACT,KAAK,GACiE;IACtE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAExC,OAAO,
|
|
1
|
+
{"version":3,"file":"SkeletonExample.js","sourceRoot":"","sources":["../../../src/components/Skeleton/SkeletonExample.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,MAAM,CAAC,MAAM,OAAO,GAA4B;IAC5C;QACI,KAAK,EAAE,oBAAoB;QAC3B,SAAS,EAAE;YACP,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,OAAO;SAClB;KACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAoC;IAC5D,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE;QACrC,IAAI,MAAM,EAAE,KAAK,KAAK,oBAAoB;YAAE,OAAO,KAAC,kBAAkB,IAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;QAE9G,OAAO,KAAC,SAAS,OAAK,KAAK,GAAI,CAAC;IACpC,CAAC;IACD,OAAO;CACV,CAAC;AAEF,SAAS,kBAAkB,CAAC,EACxB,SAAS,EACT,KAAK,GACiE;IACtE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAExC,OAAO,KAAC,SAAS,OAAK,KAAK,YAAG,MAAM,IAAI,qBAAqB,CAAC,KAAM,CAAC,OAA0B,CAAC,GAAa,CAAC;AAClH,CAAC;AAED,MAAM,qBAAqB,GAAuD;IAC9E,WAAW,EAAE,KAAC,kBAAkB,IAAC,MAAM,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,GAAG;IAChE,QAAQ,EAAE,KAAC,kBAAkB,IAAC,MAAM,EAAC,OAAO,EAAC,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,KAAK,EAAC,OAAO,GAAG;IAC9F,KAAK,EAAE,CACH,KAAC,kBAAkB,IAAC,MAAM,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,uBAE3B,CACxB;IACD,OAAO,EAAE,KAAC,MAAM,IAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,eAAe,GAAG;IACpD,SAAS,EAAE,KAAC,kBAAkB,IAAC,MAAM,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,GAAG;CACjE,CAAC"}
|
|
@@ -1,27 +1,85 @@
|
|
|
1
1
|
import './snackbar.scss';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { CommonProps, SetRef } from '-/types/common';
|
|
4
|
+
export type SnackbarProps = CommonProps<'id'> & {
|
|
5
|
+
/**
|
|
6
|
+
* Text to be shown in the snackbar
|
|
7
|
+
*
|
|
8
|
+
* @required
|
|
9
|
+
*/
|
|
5
10
|
text: string;
|
|
6
|
-
/**
|
|
7
|
-
|
|
8
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Whether to show a close button on the snackbar.
|
|
13
|
+
*
|
|
14
|
+
* Since there is no default timeout, this is true by default. You can provide a timeout to auto-dismiss the
|
|
15
|
+
* snackbar in addition to the close button.
|
|
16
|
+
*
|
|
17
|
+
* @default true
|
|
18
|
+
*/
|
|
19
|
+
closeButton?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Label for the close button.
|
|
22
|
+
*
|
|
23
|
+
* @default Dismiss
|
|
24
|
+
*/
|
|
25
|
+
closeButtonLabel?: string;
|
|
26
|
+
/**
|
|
27
|
+
* The icon of the button.
|
|
28
|
+
*
|
|
29
|
+
* @type BspkIcon
|
|
30
|
+
*/
|
|
31
|
+
icon?: ReactNode;
|
|
32
|
+
/**
|
|
33
|
+
* Callback when the snackbar is dismissed
|
|
34
|
+
*
|
|
35
|
+
* @required
|
|
36
|
+
*/
|
|
9
37
|
onClose: () => void;
|
|
38
|
+
/** Content to be rendered inside the snack bar provider, the snackbar trigger element. */
|
|
39
|
+
/**
|
|
40
|
+
* Time in milliseconds after which the snackbar will auto dismiss.
|
|
41
|
+
*
|
|
42
|
+
* If no timeout is provided, and closeButton is set to false the snackbar will not be dismissable.
|
|
43
|
+
*/
|
|
44
|
+
timeout?: number;
|
|
45
|
+
/**
|
|
46
|
+
* If the snackbar is open or not.
|
|
47
|
+
*
|
|
48
|
+
* @default false
|
|
49
|
+
*/
|
|
50
|
+
open?: boolean;
|
|
51
|
+
/** A ref to the snackbar element. */
|
|
52
|
+
innerRef?: SetRef<HTMLDivElement>;
|
|
53
|
+
/**
|
|
54
|
+
* If focus trapping should be disabled. Generally this should not be disabled as snackbars should always trap
|
|
55
|
+
* focus.
|
|
56
|
+
*
|
|
57
|
+
* @default false
|
|
58
|
+
*/
|
|
59
|
+
disableFocusTrap?: boolean;
|
|
10
60
|
};
|
|
11
61
|
/**
|
|
12
|
-
* Snackbars are intended to provide feedback about an action
|
|
13
|
-
*
|
|
14
|
-
* useSnackbarContext hook.
|
|
62
|
+
* Snackbars are intended to provide feedback about an action. Because of focus trap these will interrupt the customer
|
|
63
|
+
* experience.
|
|
15
64
|
*
|
|
16
65
|
* @example
|
|
17
66
|
* import { Snackbar } from '@bspk/ui/Snackbar';
|
|
67
|
+
* import { Button } from '@bspk/ui/Button';
|
|
68
|
+
* import { useState } from 'react';
|
|
18
69
|
*
|
|
19
|
-
* function
|
|
20
|
-
*
|
|
70
|
+
* function ExampleComponent(props) {
|
|
71
|
+
* const [snackbarOpen, setSnackbarOpen] = useState(false);
|
|
72
|
+
*
|
|
73
|
+
* return (
|
|
74
|
+
* <>
|
|
75
|
+
* <Button label="Show snackbar" onClick={() => setSnackbarOpen(true)} size="medium" title="Snackbar" />
|
|
76
|
+
* <Snackbar text="I am an example." open={snackbarOpen} onClose={() => setSnackbarOpen(false)} />
|
|
77
|
+
* </>
|
|
78
|
+
* );
|
|
21
79
|
* }
|
|
22
80
|
*
|
|
23
81
|
* @name Snackbar
|
|
24
|
-
*
|
|
82
|
+
*
|
|
83
|
+
* @phase UXReview
|
|
25
84
|
*/
|
|
26
|
-
export declare function Snackbar({ text,
|
|
27
|
-
/** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
|
|
85
|
+
export declare function Snackbar({ id: propId, text, timeout, closeButton, closeButtonLabel, icon, onClose, open, innerRef, disableFocusTrap, }: SnackbarProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,23 +1,52 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import './snackbar.css.js';
|
|
3
|
+
import { FocusTrap } from 'focus-trap-react';
|
|
4
|
+
import { isValidElement, useEffect, useRef } from 'react';
|
|
3
5
|
import { Button } from '../Button';
|
|
4
|
-
import {
|
|
6
|
+
import { Portal } from '../Portal';
|
|
7
|
+
import { Truncated } from '../Truncated';
|
|
8
|
+
import { useId } from '../../hooks/useId';
|
|
5
9
|
/**
|
|
6
|
-
* Snackbars are intended to provide feedback about an action
|
|
7
|
-
*
|
|
8
|
-
* useSnackbarContext hook.
|
|
10
|
+
* Snackbars are intended to provide feedback about an action. Because of focus trap these will interrupt the customer
|
|
11
|
+
* experience.
|
|
9
12
|
*
|
|
10
13
|
* @example
|
|
11
14
|
* import { Snackbar } from '@bspk/ui/Snackbar';
|
|
15
|
+
* import { Button } from '@bspk/ui/Button';
|
|
16
|
+
* import { useState } from 'react';
|
|
12
17
|
*
|
|
13
|
-
* function
|
|
14
|
-
*
|
|
18
|
+
* function ExampleComponent(props) {
|
|
19
|
+
* const [snackbarOpen, setSnackbarOpen] = useState(false);
|
|
20
|
+
*
|
|
21
|
+
* return (
|
|
22
|
+
* <>
|
|
23
|
+
* <Button label="Show snackbar" onClick={() => setSnackbarOpen(true)} size="medium" title="Snackbar" />
|
|
24
|
+
* <Snackbar text="I am an example." open={snackbarOpen} onClose={() => setSnackbarOpen(false)} />
|
|
25
|
+
* </>
|
|
26
|
+
* );
|
|
15
27
|
* }
|
|
16
28
|
*
|
|
17
29
|
* @name Snackbar
|
|
18
|
-
*
|
|
30
|
+
*
|
|
31
|
+
* @phase UXReview
|
|
19
32
|
*/
|
|
20
|
-
export function Snackbar({ text,
|
|
21
|
-
|
|
33
|
+
export function Snackbar({ id: propId, text, timeout, closeButton = true, closeButtonLabel = 'Dismiss', icon, onClose, open = false, innerRef, disableFocusTrap = false, }) {
|
|
34
|
+
const id = useId(propId);
|
|
35
|
+
const boxRef = useRef(null);
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
if (open && timeout) {
|
|
38
|
+
const timer = setTimeout(() => {
|
|
39
|
+
onClose?.();
|
|
40
|
+
}, timeout);
|
|
41
|
+
return () => clearTimeout(timer);
|
|
42
|
+
}
|
|
43
|
+
return undefined;
|
|
44
|
+
}, [open, timeout, onClose]);
|
|
45
|
+
if (!open)
|
|
46
|
+
return null;
|
|
47
|
+
return (_jsx(Portal, { children: _jsx("div", { "aria-live": "off", "data-bspk": "snackbar", id: id, ref: innerRef, children: _jsx(FocusTrap, { active: !disableFocusTrap, focusTrapOptions: {
|
|
48
|
+
clickOutsideDeactivates: true,
|
|
49
|
+
fallbackFocus: () => boxRef.current,
|
|
50
|
+
}, children: _jsxs("div", { "data-snackbar-content": true, role: "alert", children: [_jsxs("div", { "data-snackbar-icon-text": true, children: [!!icon && isValidElement(icon) && (_jsx("span", { "aria-hidden": true, "data-snackbar-icon": true, children: icon })), _jsx(Truncated, { "data-label": true, children: text })] }), closeButton && _jsx(Button, { label: closeButtonLabel, onClick: onClose, variant: "tertiary" })] }, id) }) }) }));
|
|
22
51
|
}
|
|
23
52
|
//# sourceMappingURL=Snackbar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Snackbar.js","sourceRoot":"","sources":["../../../src/components/Snackbar/Snackbar.tsx"],"names":[],"mappings":";AAAA,OAAO,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Snackbar.js","sourceRoot":"","sources":["../../../src/components/Snackbar/Snackbar.tsx"],"names":[],"mappings":";AAAA,OAAO,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAa,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AA8DtC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,QAAQ,CAAC,EACrB,EAAE,EAAE,MAAM,EACV,IAAI,EACJ,OAAO,EACP,WAAW,GAAG,IAAI,EAClB,gBAAgB,GAAG,SAAS,EAC5B,IAAI,EACJ,OAAO,EACP,IAAI,GAAG,KAAK,EACZ,QAAQ,EACR,gBAAgB,GAAG,KAAK,GACZ;IACZ,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACnD,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,OAAO,EAAE,EAAE,CAAC;YAChB,CAAC,EAAE,OAAO,CAAC,CAAC;YACZ,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE7B,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,OAAO,CACH,KAAC,MAAM,cACH,2BAAe,KAAK,eAAW,UAAU,EAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,YAC3D,KAAC,SAAS,IACN,MAAM,EAAE,CAAC,gBAAgB,EACzB,gBAAgB,EAAE;oBACd,uBAAuB,EAAE,IAAI;oBAC7B,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAQ;iBACvC,YAED,8CAAoC,IAAI,EAAC,OAAO,aAC5C,2DACK,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAC/B,8BAAmB,IAAI,wCAClB,IAAI,GACF,CACV,EACD,KAAC,SAAS,kCAAa,IAAI,GAAa,IACtC,EACL,WAAW,IAAI,KAAC,MAAM,IAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAC,UAAU,GAAG,KAT5D,EAAE,CAU5B,GACE,GACV,GACD,CACZ,CAAC;AACN,CAAC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Snackbar } from './Snackbar';
|
|
3
|
+
import { Button } from '../Button';
|
|
2
4
|
export const SnackbarExample = {
|
|
3
5
|
containerStyle: { width: '100%' },
|
|
4
6
|
defaultState: {},
|
|
5
7
|
disableProps: [],
|
|
6
8
|
presets: [],
|
|
7
|
-
render: ({ props,
|
|
9
|
+
render: ({ props, setState }) => (_jsxs(_Fragment, { children: [_jsx(Snackbar, { ...props, onClose: () => setState({ open: false }) }), _jsx(Button, { label: "open snackbar", onClick: () => setState({ open: true }), size: "medium", title: "Snackbar" })] })),
|
|
8
10
|
sections: [],
|
|
9
|
-
variants:
|
|
11
|
+
variants: false,
|
|
10
12
|
};
|
|
11
13
|
//# sourceMappingURL=SnackbarExample.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnackbarExample.js","sourceRoot":"","sources":["../../../src/components/Snackbar/SnackbarExample.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"SnackbarExample.js","sourceRoot":"","sources":["../../../src/components/Snackbar/SnackbarExample.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,MAAM,CAAC,MAAM,eAAe,GAAoC;IAC5D,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;IACjC,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,EAAE;IAChB,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC7B,8BACI,KAAC,QAAQ,OAAK,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAI,EACjE,KAAC,MAAM,IAAC,KAAK,EAAC,eAAe,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,UAAU,GAAG,IACzG,CACN;IACD,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,KAAK;CAClB,CAAC"}
|
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
[data-bspk=snackbar] {
|
|
2
|
+
position: fixed;
|
|
3
|
+
z-index: var(--z-index-dialog);
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-direction: column-reverse;
|
|
6
|
+
max-height: 100%;
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
inset: 0;
|
|
9
|
+
align-items: center;
|
|
10
|
+
gap: var(--spacing-sizing-02);
|
|
11
|
+
pointer-events: none;
|
|
12
|
+
padding: var(--spacing-sizing-02);
|
|
13
|
+
}
|
|
14
|
+
[data-bspk=snackbar] [data-snackbar-content] {
|
|
2
15
|
pointer-events: auto;
|
|
3
16
|
display: flex;
|
|
4
17
|
flex-direction: row;
|
|
@@ -8,12 +21,28 @@
|
|
|
8
21
|
padding: var(--spacing-sizing-02) var(--spacing-sizing-02) var(--spacing-sizing-02) var(--spacing-sizing-04);
|
|
9
22
|
gap: var(--spacing-sizing-03);
|
|
10
23
|
width: 600px;
|
|
11
|
-
max-width: 100%;
|
|
12
24
|
box-shadow: 0 0 1px 0 var(--shadow-variant-05), 0 0 12px 0 var(--shadow-variant-03);
|
|
13
25
|
background-color: var(--surface-neutral-inverse);
|
|
14
26
|
color: var(--foreground-neutral-on-inverse-surface);
|
|
15
27
|
height: var(--spacing-sizing-14);
|
|
16
28
|
}
|
|
17
|
-
[data-bspk=snackbar] [data-
|
|
29
|
+
[data-bspk=snackbar] [data-snackbar-content] [data-snackbar-icon-text] {
|
|
30
|
+
flex: 1 1 0;
|
|
31
|
+
min-width: 0;
|
|
32
|
+
max-width: 100%;
|
|
33
|
+
overflow: hidden;
|
|
34
|
+
display: flex;
|
|
35
|
+
align-items: center;
|
|
36
|
+
gap: var(--spacing-sizing-03);
|
|
37
|
+
}
|
|
38
|
+
[data-bspk=snackbar] [data-snackbar-content] [data-snackbar-icon] {
|
|
39
|
+
display: flex;
|
|
40
|
+
align-items: center;
|
|
41
|
+
justify-content: center;
|
|
42
|
+
width: var(--spacing-sizing-05);
|
|
43
|
+
height: var(--spacing-sizing-05);
|
|
44
|
+
}
|
|
45
|
+
[data-bspk=snackbar] [data-snackbar-content] [data-bspk=button][data-variant=tertiary] {
|
|
46
|
+
flex: 0 0 auto;
|
|
18
47
|
color: inherit;
|
|
19
48
|
}
|