@bspk/ui 1.3.7 → 1.3.9
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.d.ts +19 -3
- package/dist/components/Accordion/Accordion.js +20 -3
- package/dist/components/Accordion/Accordion.js.map +1 -1
- package/dist/components/Avatar/Avatar.d.ts +13 -14
- package/dist/components/Avatar/Avatar.js +13 -14
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroup.d.ts +29 -12
- package/dist/components/AvatarGroup/AvatarGroup.js +29 -12
- package/dist/components/AvatarGroup/AvatarGroup.js.map +1 -1
- package/dist/components/Badge/Badge.d.ts +1 -3
- package/dist/components/Badge/Badge.js +1 -3
- package/dist/components/Badge/Badge.js.map +1 -1
- package/dist/components/BadgeDot/BadgeDot.d.ts +4 -4
- package/dist/components/BadgeDot/BadgeDot.js +5 -4
- package/dist/components/BadgeDot/BadgeDot.js.map +1 -1
- package/dist/components/BannerAlert/BannerAlert.d.ts +11 -12
- package/dist/components/BannerAlert/BannerAlert.js +11 -12
- package/dist/components/BannerAlert/BannerAlert.js.map +1 -1
- package/dist/components/BottomNavigation/BottomNavigation.d.ts +6 -3
- package/dist/components/BottomNavigation/BottomNavigation.js +6 -3
- package/dist/components/BottomNavigation/BottomNavigation.js.map +1 -1
- package/dist/components/BottomNavigation/BottomNavigationExample.js +31 -36
- package/dist/components/BottomNavigation/BottomNavigationExample.js.map +1 -1
- package/dist/components/BottomNavigation/bottom-navigation.css +8 -1
- package/dist/components/BottomNavigation/bottom-navigation.css.js +8 -1
- package/dist/components/Breadcrumb/Breadcrumb.d.ts +17 -18
- package/dist/components/Breadcrumb/Breadcrumb.js +17 -18
- package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/components/Button/Button.d.ts +1 -11
- package/dist/components/Button/Button.js +1 -11
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/Button/ButtonExample.js +1 -3
- package/dist/components/Button/ButtonExample.js.map +1 -1
- package/dist/components/ButtonDock/ButtonDock.d.ts +10 -14
- package/dist/components/ButtonDock/ButtonDock.js +10 -14
- package/dist/components/ButtonDock/ButtonDock.js.map +1 -1
- package/dist/components/Card/Card.d.ts +8 -10
- package/dist/components/Card/Card.js +6 -10
- package/dist/components/Card/Card.js.map +1 -1
- package/dist/components/Carousel/Carousel.d.ts +9 -13
- package/dist/components/Carousel/Carousel.js +9 -13
- package/dist/components/Carousel/Carousel.js.map +1 -1
- package/dist/components/Carousel/CarouselExample.js +14 -14
- package/dist/components/Carousel/CarouselExample.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.d.ts +7 -4
- package/dist/components/Checkbox/Checkbox.js +7 -4
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/Checkbox/CheckboxExample.js +4 -1
- package/dist/components/Checkbox/CheckboxExample.js.map +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +3 -3
- package/dist/components/CheckboxGroup/CheckboxGroup.js +3 -3
- package/dist/components/CheckboxOption/CheckboxOption.d.ts +4 -4
- package/dist/components/CheckboxOption/CheckboxOption.js +4 -4
- package/dist/components/Chip/Chip.d.ts +3 -7
- package/dist/components/Chip/Chip.js +3 -7
- package/dist/components/Chip/Chip.js.map +1 -1
- package/dist/components/Chip/ChipExample.js +50 -3
- package/dist/components/Chip/ChipExample.js.map +1 -1
- package/dist/components/ChipGroup/ChipGroup.d.ts +21 -10
- package/dist/components/ChipGroup/ChipGroup.js +21 -10
- package/dist/components/ChipGroup/ChipGroup.js.map +1 -1
- package/dist/components/ChipGroup/ChipGroupExample.js +1 -0
- package/dist/components/ChipGroup/ChipGroupExample.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts +13 -12
- package/dist/components/DatePicker/DatePicker.js +13 -12
- package/dist/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/Dialog/Dialog.d.ts +11 -6
- package/dist/components/Dialog/Dialog.js +11 -6
- package/dist/components/Dialog/Dialog.js.map +1 -1
- package/dist/components/Divider/Divider.d.ts +5 -9
- package/dist/components/Divider/Divider.js +5 -9
- package/dist/components/Divider/Divider.js.map +1 -1
- package/dist/components/Divider/DividerExample.js +16 -1
- package/dist/components/Divider/DividerExample.js.map +1 -1
- package/dist/components/Drawer/Drawer.d.ts +3 -3
- package/dist/components/Drawer/Drawer.js +3 -3
- package/dist/components/EmptyState/EmptyState.d.ts +3 -7
- package/dist/components/EmptyState/EmptyState.js +3 -7
- package/dist/components/EmptyState/EmptyState.js.map +1 -1
- package/dist/components/Fab/Fab.d.ts +4 -5
- package/dist/components/Fab/Fab.js +4 -6
- package/dist/components/Fab/Fab.js.map +1 -1
- package/dist/components/Fab/FabExample.d.ts +2 -1
- package/dist/components/Fab/FabExample.js +20 -2
- package/dist/components/Fab/FabExample.js.map +1 -1
- package/dist/components/Field/Field.d.ts +4 -5
- package/dist/components/Field/Field.js +4 -5
- package/dist/components/Field/Field.js.map +1 -1
- package/dist/components/FileUpload/FileUpload.d.ts +3 -3
- package/dist/components/FileUpload/FileUpload.js +3 -3
- package/dist/components/FileUploadItem/FileUploadItem.d.ts +6 -10
- package/dist/components/FileUploadItem/FileUploadItem.js +6 -10
- package/dist/components/FileUploadItem/FileUploadItem.js.map +1 -1
- package/dist/components/FormField/FormField.d.ts +5 -16
- package/dist/components/FormField/FormField.js +5 -16
- package/dist/components/FormField/FormField.js.map +1 -1
- package/dist/components/Img/Img.d.ts +1 -3
- package/dist/components/Img/Img.js +1 -3
- package/dist/components/Img/Img.js.map +1 -1
- package/dist/components/InlineAlert/InlineAlert.d.ts +1 -3
- package/dist/components/InlineAlert/InlineAlert.js +1 -3
- package/dist/components/InlineAlert/InlineAlert.js.map +1 -1
- package/dist/components/Input/Input.d.ts +13 -13
- package/dist/components/Input/Input.js +13 -13
- package/dist/components/Input/InputElement.d.ts +11 -5
- package/dist/components/Input/InputElement.js +11 -5
- package/dist/components/Input/InputElement.js.map +1 -1
- package/dist/components/Input/InputExample.js +1 -0
- package/dist/components/Input/InputExample.js.map +1 -1
- package/dist/components/InputNumber/InputNumber.d.ts +20 -20
- package/dist/components/InputNumber/InputNumber.js +20 -20
- package/dist/components/InputNumber/InputNumberExample.js +3 -0
- package/dist/components/InputNumber/InputNumberExample.js.map +1 -1
- package/dist/components/InputPhone/InputPhone.d.ts +21 -16
- package/dist/components/InputPhone/InputPhone.js +21 -16
- package/dist/components/InputPhone/InputPhone.js.map +1 -1
- package/dist/components/InputPhone/InputPhoneExample.js +3 -0
- package/dist/components/InputPhone/InputPhoneExample.js.map +1 -1
- package/dist/components/Layout/Layout.d.ts +1 -3
- package/dist/components/Layout/Layout.js +1 -3
- package/dist/components/Layout/Layout.js.map +1 -1
- package/dist/components/Link/Link.d.ts +1 -3
- package/dist/components/Link/Link.js +1 -3
- package/dist/components/Link/Link.js.map +1 -1
- package/dist/components/ListItem/ListItem.d.ts +22 -21
- package/dist/components/ListItem/ListItem.js +19 -16
- package/dist/components/ListItem/ListItem.js.map +1 -1
- package/dist/components/Menu/Menu.d.ts +5 -9
- package/dist/components/Menu/Menu.js +5 -9
- package/dist/components/Menu/Menu.js.map +1 -1
- package/dist/components/Modal/Modal.d.ts +4 -4
- package/dist/components/Modal/Modal.js +4 -4
- package/dist/components/Modal/Modal.js.map +1 -1
- package/dist/components/Modal/modal.css +12 -1
- package/dist/components/Modal/modal.css.js +12 -1
- package/dist/components/OTPInput/OTPInput.d.ts +1 -3
- package/dist/components/OTPInput/OTPInput.js +1 -3
- package/dist/components/OTPInput/OTPInput.js.map +1 -1
- package/dist/components/PageControl/PageControl.d.ts +1 -3
- package/dist/components/PageControl/PageControl.js +1 -3
- package/dist/components/PageControl/PageControl.js.map +1 -1
- package/dist/components/Pagination/Pagination.d.ts +6 -7
- package/dist/components/Pagination/Pagination.js +28 -15
- package/dist/components/Pagination/Pagination.js.map +1 -1
- package/dist/components/Pagination/pagination.css +5 -14
- package/dist/components/Pagination/pagination.css.js +5 -14
- package/dist/components/Password/Password.d.ts +19 -20
- package/dist/components/Password/Password.js +19 -20
- package/dist/components/Password/Password.js.map +1 -1
- package/dist/components/Password/PasswordExample.d.ts +3 -0
- package/dist/components/Password/PasswordExample.js +6 -0
- package/dist/components/Password/PasswordExample.js.map +1 -0
- package/dist/components/Popover/Popover.d.ts +11 -20
- package/dist/components/Popover/Popover.js +11 -20
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Popover/PopoverExample.js +1 -1
- package/dist/components/Popover/PopoverExample.js.map +1 -1
- package/dist/components/ProgressBar/ProgressBar.d.ts +1 -3
- package/dist/components/ProgressBar/ProgressBar.js +1 -3
- package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/components/ProgressCircle/ProgressCircle.d.ts +1 -3
- package/dist/components/ProgressCircle/ProgressCircle.js +1 -3
- package/dist/components/ProgressCircle/ProgressCircle.js.map +1 -1
- package/dist/components/ProgressionStepper/ProgressionStepper.d.ts +1 -3
- package/dist/components/ProgressionStepper/ProgressionStepper.js +1 -3
- package/dist/components/ProgressionStepper/ProgressionStepper.js.map +1 -1
- package/dist/components/Radio/RadioExample.js +4 -1
- package/dist/components/Radio/RadioExample.js.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.d.ts +2 -2
- package/dist/components/RadioGroup/RadioGroup.js +2 -2
- package/dist/components/Rating/Rating.d.ts +2 -4
- package/dist/components/Rating/Rating.js +8 -6
- package/dist/components/Rating/Rating.js.map +1 -1
- package/dist/components/Rating/RatingExample.js +17 -1
- package/dist/components/Rating/RatingExample.js.map +1 -1
- package/dist/components/SearchBar/SearchBar.d.ts +2 -2
- package/dist/components/SearchBar/SearchBar.js +2 -2
- package/dist/components/SearchBar/SearchBarExample.js +3 -0
- package/dist/components/SearchBar/SearchBarExample.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.d.ts +3 -3
- package/dist/components/SegmentedControl/SegmentedControl.js +3 -3
- package/dist/components/SegmentedControl/SegmentedControlExample.js +10 -12
- package/dist/components/SegmentedControl/SegmentedControlExample.js.map +1 -1
- package/dist/components/Select/Select.d.ts +24 -25
- package/dist/components/Select/Select.js +24 -25
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/Select/SelectExample.js +1 -0
- package/dist/components/Select/SelectExample.js.map +1 -1
- package/dist/components/Skeleton/Skeleton.d.ts +10 -14
- package/dist/components/Skeleton/Skeleton.js +10 -14
- package/dist/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/Skeleton/SkeletonExample.js +4 -3
- package/dist/components/Skeleton/SkeletonExample.js.map +1 -1
- package/dist/components/SkeletonText/SkeletonText.d.ts +5 -9
- package/dist/components/SkeletonText/SkeletonText.js +5 -9
- package/dist/components/SkeletonText/SkeletonText.js.map +1 -1
- package/dist/components/Slider/Slider.d.ts +2 -2
- package/dist/components/Slider/Slider.js +2 -2
- package/dist/components/Slider/SliderExample.js +40 -18
- package/dist/components/Slider/SliderExample.js.map +1 -1
- package/dist/components/Snackbar/Manager.d.ts +29 -0
- package/dist/components/Snackbar/Manager.js +35 -0
- package/dist/components/Snackbar/Manager.js.map +1 -0
- package/dist/components/Snackbar/Snackbar.d.ts +23 -5
- package/dist/components/Snackbar/Snackbar.js +23 -4
- package/dist/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/Snackbar/SnackbarExample.js +8 -1
- package/dist/components/Snackbar/SnackbarExample.js.map +1 -1
- package/dist/components/Snackbar/index.d.ts +1 -0
- package/dist/components/Snackbar/index.js +1 -0
- package/dist/components/Snackbar/index.js.map +1 -1
- package/dist/components/StylesProviderDemo/StylesProviderDemo.d.ts +1 -3
- package/dist/components/StylesProviderDemo/StylesProviderDemo.js +1 -3
- package/dist/components/StylesProviderDemo/StylesProviderDemo.js.map +1 -1
- package/dist/components/Switch/Switch.d.ts +2 -2
- package/dist/components/Switch/Switch.js +2 -2
- package/dist/components/Switch/SwitchExample.js +4 -1
- package/dist/components/Switch/SwitchExample.js.map +1 -1
- package/dist/components/TabGroup/TabGroup.d.ts +2 -2
- package/dist/components/TabGroup/TabGroup.js +2 -2
- package/dist/components/TabGroup/TabGroupExample.js +5 -11
- package/dist/components/TabGroup/TabGroupExample.js.map +1 -1
- package/dist/components/TabGroup/tab-group.css +1 -0
- package/dist/components/TabGroup/tab-group.css.js +1 -0
- package/dist/components/TabList/TabList.d.ts +2 -2
- package/dist/components/TabList/TabList.js +2 -2
- package/dist/components/TabList/tab-list.css +0 -1
- package/dist/components/TabList/tab-list.css.js +0 -1
- package/dist/components/Table/Table.d.ts +53 -16
- package/dist/components/Table/Table.js +53 -16
- package/dist/components/Table/Table.js.map +1 -1
- package/dist/components/Table/table.css +0 -1
- package/dist/components/Table/table.css.js +0 -1
- package/dist/components/Tag/Tag.d.ts +1 -3
- package/dist/components/Tag/Tag.js +1 -3
- package/dist/components/Tag/Tag.js.map +1 -1
- package/dist/components/Textarea/Textarea.d.ts +13 -13
- package/dist/components/Textarea/Textarea.js +13 -13
- package/dist/components/Textarea/TextareaExample.js +3 -0
- package/dist/components/Textarea/TextareaExample.js.map +1 -1
- package/dist/components/TimePicker/TimePicker.d.ts +14 -14
- package/dist/components/TimePicker/TimePicker.js +14 -14
- package/dist/components/TimePicker/TimePickerExample.js +3 -0
- package/dist/components/TimePicker/TimePickerExample.js.map +1 -1
- package/dist/components/ToggleOption/ToggleOption.js +1 -1
- package/dist/components/ToggleOption/ToggleOption.js.map +1 -1
- package/dist/components/ToggleOption/toggle-option.css +2 -49
- package/dist/components/ToggleOption/toggle-option.css.js +2 -49
- package/dist/components/Tooltip/Tooltip.d.ts +3 -7
- package/dist/components/Tooltip/Tooltip.js +3 -7
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Tooltip/TooltipExample.js +23 -3
- package/dist/components/Tooltip/TooltipExample.js.map +1 -1
- package/dist/components/Txt/Txt.d.ts +1 -3
- package/dist/components/Txt/Txt.js +1 -3
- package/dist/components/Txt/Txt.js.map +1 -1
- package/dist/components/UIProvider/AriaLiveMessageHandler.js +3 -2
- package/dist/components/UIProvider/AriaLiveMessageHandler.js.map +1 -1
- package/dist/hooks/useAddEventListener.d.ts +1 -2
- package/dist/hooks/useAddEventListener.js.map +1 -1
- package/dist/hooks/useRadioState.d.ts +1 -1
- package/dist/hooks/useTimeout.d.ts +1 -2
- package/dist/hooks/useTimeout.js +20 -4
- package/dist/hooks/useTimeout.js.map +1 -1
- package/dist/types/common.d.ts +3 -0
- 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/createCustomEvent.d.ts +17 -0
- package/dist/utils/createCustomEvent.js +21 -0
- package/dist/utils/createCustomEvent.js.map +1 -0
- package/dist/utils/createExampleChildElement.js +3 -3
- package/dist/utils/createExampleChildElement.js.map +1 -1
- package/dist/utils/demo.d.ts +18 -26
- package/dist/utils/demo.js.map +1 -1
- package/meta.ts +6 -1
- package/package.json +1 -1
- package/src/components/Accordion/Accordion.tsx +20 -3
- package/src/components/Avatar/Avatar.tsx +13 -14
- package/src/components/AvatarGroup/AvatarGroup.tsx +30 -13
- package/src/components/Badge/Badge.tsx +1 -3
- package/src/components/BadgeDot/BadgeDot.tsx +6 -4
- package/src/components/BannerAlert/BannerAlert.tsx +11 -12
- package/src/components/BottomNavigation/BottomNavigation.tsx +6 -3
- package/src/components/BottomNavigation/BottomNavigationExample.tsx +31 -36
- package/src/components/BottomNavigation/bottom-navigation.scss +10 -1
- package/src/components/Breadcrumb/Breadcrumb.tsx +17 -18
- package/src/components/Button/Button.tsx +1 -11
- package/src/components/Button/ButtonExample.tsx +1 -2
- package/src/components/ButtonDock/ButtonDock.tsx +10 -14
- package/src/components/Card/Card.tsx +9 -11
- package/src/components/Carousel/Carousel.tsx +9 -13
- package/src/components/Carousel/CarouselExample.tsx +25 -25
- package/src/components/Checkbox/Checkbox.tsx +7 -4
- package/src/components/Checkbox/CheckboxExample.tsx +4 -3
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +3 -3
- package/src/components/CheckboxOption/CheckboxOption.tsx +4 -4
- package/src/components/Chip/Chip.tsx +3 -7
- package/src/components/Chip/ChipExample.tsx +52 -3
- package/src/components/ChipGroup/ChipGroup.tsx +21 -10
- package/src/components/ChipGroup/ChipGroupExample.tsx +1 -1
- package/src/components/DatePicker/DatePicker.tsx +13 -12
- package/src/components/Dialog/Dialog.tsx +11 -6
- package/src/components/Divider/Divider.tsx +5 -9
- package/src/components/Divider/DividerExample.tsx +18 -1
- package/src/components/Drawer/Drawer.tsx +3 -3
- package/src/components/EmptyState/EmptyState.tsx +3 -7
- package/src/components/Fab/Fab.tsx +8 -5
- package/src/components/Fab/FabExample.tsx +22 -3
- package/src/components/Field/Field.tsx +4 -5
- package/src/components/FileUpload/FileUpload.tsx +3 -3
- package/src/components/FileUploadItem/FileUploadItem.tsx +6 -10
- package/src/components/FormField/FormField.tsx +5 -16
- package/src/components/Img/Img.tsx +1 -3
- package/src/components/InlineAlert/InlineAlert.tsx +1 -3
- package/src/components/Input/Input.tsx +13 -13
- package/src/components/Input/InputElement.tsx +11 -5
- package/src/components/Input/InputExample.tsx +1 -0
- package/src/components/InputNumber/InputNumber.tsx +20 -20
- package/src/components/InputNumber/InputNumberExample.tsx +3 -0
- package/src/components/InputPhone/InputPhone.tsx +21 -16
- package/src/components/InputPhone/InputPhoneExample.tsx +3 -0
- package/src/components/Layout/Layout.tsx +1 -3
- package/src/components/Link/Link.tsx +1 -3
- package/src/components/ListItem/ListItem.tsx +22 -20
- package/src/components/Menu/Menu.tsx +5 -9
- package/src/components/Modal/Modal.tsx +10 -5
- package/src/components/Modal/modal.scss +13 -1
- package/src/components/OTPInput/OTPInput.tsx +1 -3
- package/src/components/PageControl/PageControl.tsx +1 -3
- package/src/components/Pagination/Pagination.tsx +50 -24
- package/src/components/Pagination/pagination.scss +7 -17
- package/src/components/Password/Password.tsx +19 -20
- package/src/components/Password/PasswordExample.tsx +8 -0
- package/src/components/Popover/Popover.tsx +11 -20
- package/src/components/Popover/PopoverExample.tsx +1 -1
- package/src/components/ProgressBar/ProgressBar.tsx +1 -3
- package/src/components/ProgressCircle/ProgressCircle.tsx +1 -3
- package/src/components/ProgressionStepper/ProgressionStepper.tsx +1 -3
- package/src/components/Radio/RadioExample.tsx +4 -3
- package/src/components/RadioGroup/RadioGroup.tsx +2 -2
- package/src/components/Rating/Rating.tsx +34 -14
- package/src/components/Rating/RatingExample.tsx +18 -1
- package/src/components/SearchBar/SearchBar.tsx +2 -2
- package/src/components/SearchBar/SearchBarExample.tsx +3 -0
- package/src/components/SegmentedControl/SegmentedControl.tsx +3 -3
- package/src/components/SegmentedControl/SegmentedControlExample.tsx +10 -12
- package/src/components/Select/Select.tsx +24 -25
- package/src/components/Select/SelectExample.tsx +1 -0
- package/src/components/Skeleton/Skeleton.tsx +10 -14
- package/src/components/Skeleton/SkeletonExample.tsx +5 -3
- package/src/components/SkeletonText/SkeletonText.tsx +5 -9
- package/src/components/Slider/Slider.tsx +2 -2
- package/src/components/Slider/SliderExample.tsx +42 -17
- package/src/components/Snackbar/Manager.tsx +64 -0
- package/src/components/Snackbar/Snackbar.tsx +23 -6
- package/src/components/Snackbar/SnackbarExample.tsx +28 -6
- package/src/components/Snackbar/index.tsx +1 -0
- package/src/components/StylesProviderDemo/StylesProviderDemo.tsx +1 -3
- package/src/components/Switch/Switch.tsx +2 -2
- package/src/components/Switch/SwitchExample.tsx +4 -1
- package/src/components/TabGroup/TabGroup.tsx +2 -2
- package/src/components/TabGroup/TabGroupExample.tsx +5 -11
- package/src/components/TabGroup/tab-group.scss +1 -0
- package/src/components/TabList/TabList.tsx +2 -2
- package/src/components/TabList/tab-list.scss +0 -1
- package/src/components/Table/Table.tsx +53 -16
- package/src/components/Table/table.scss +0 -1
- package/src/components/Tag/Tag.tsx +1 -3
- package/src/components/Textarea/Textarea.tsx +13 -13
- package/src/components/Textarea/TextareaExample.tsx +3 -0
- package/src/components/TimePicker/TimePicker.tsx +14 -14
- package/src/components/TimePicker/TimePickerExample.tsx +3 -1
- package/src/components/ToggleOption/ToggleOption.tsx +1 -0
- package/src/components/ToggleOption/toggle-option.scss +2 -61
- package/src/components/Tooltip/Tooltip.tsx +3 -7
- package/src/components/Tooltip/TooltipExample.tsx +23 -11
- package/src/components/Txt/Txt.tsx +1 -3
- package/src/components/UIProvider/AriaLiveMessageHandler.tsx +4 -2
- package/src/hooks/useAddEventListener.ts +1 -3
- package/src/hooks/useTimeout.ts +1 -5
- package/src/types/common.ts +4 -0
- package/src/types/meta.ts +1 -0
- package/src/utils/createCustomEvent.ts +35 -0
- package/src/utils/createExampleChildElement.tsx +3 -8
- package/src/utils/demo.ts +24 -27
- package/dist/components/ListItem/ListItemButton.d.ts +0 -2
- package/dist/components/ListItem/ListItemButton.js +0 -7
- package/dist/components/ListItem/ListItemButton.js.map +0 -1
- package/dist/components/Pagination/PageInput.d.ts +0 -4
- package/dist/components/Pagination/PageInput.js +0 -36
- package/dist/components/Pagination/PageInput.js.map +0 -1
- package/dist/hooks/usePaginationState.d.ts +0 -4
- package/dist/hooks/usePaginationState.js +0 -22
- package/dist/hooks/usePaginationState.js.map +0 -1
- package/src/components/ListItem/ListItemButton.tsx +0 -6
- package/src/components/Pagination/PageInput.tsx +0 -65
- package/src/hooks/usePaginationState.tsx +0 -24
|
@@ -1,55 +1,8 @@
|
|
|
1
1
|
/** * This file is generated by the build script.
|
|
2
2
|
* Do not edit this file directly. */
|
|
3
3
|
const style = document.createElement('style');
|
|
4
|
-
style.appendChild(document.createTextNode(`[data-bspk=toggle-option] {
|
|
5
|
-
|
|
6
|
-
width: 100%;
|
|
7
|
-
grid-template-columns: auto 1fr;
|
|
8
|
-
grid-column-gap: var(--spacing-sizing-02);
|
|
9
|
-
user-select: none;
|
|
10
|
-
background: unset;
|
|
11
|
-
border: unset;
|
|
12
|
-
cursor: pointer;
|
|
13
|
-
min-height: var(--spacing-sizing-08);
|
|
14
|
-
max-width: 100%;
|
|
15
|
-
padding: var(--spacing-sizing-01);
|
|
16
|
-
}
|
|
17
|
-
[data-bspk=toggle-option]:has([data-description]) {
|
|
18
|
-
align-items: unset;
|
|
19
|
-
}
|
|
20
|
-
@media (any-pointer: coarse) {
|
|
21
|
-
[data-bspk=toggle-option] {
|
|
22
|
-
min-height: var(--spacing-sizing-12);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
[data-bspk=toggle-option] [data-control],
|
|
26
|
-
[data-bspk=toggle-option] [data-label],
|
|
27
|
-
[data-bspk=toggle-option] [data-description] {
|
|
28
|
-
display: flex;
|
|
29
|
-
flex-direction: row;
|
|
30
|
-
align-items: center;
|
|
31
|
-
justify-content: start;
|
|
32
|
-
}
|
|
33
|
-
[data-bspk=toggle-option] [data-label] {
|
|
34
|
-
color: var(--foreground-neutral-on-surface);
|
|
35
|
-
font: var(--labels-base);
|
|
36
|
-
}
|
|
37
|
-
[data-bspk=toggle-option] [data-description] {
|
|
38
|
-
grid-column-start: 2;
|
|
39
|
-
font: var(--body-small);
|
|
40
|
-
color: var(--foreground-neutral-on-surface-variant-01);
|
|
41
|
-
}
|
|
42
|
-
[data-pseudo=focus] [data-bspk=toggle-option]:not([aria-disabled]), [data-bspk=toggle-option]:not([aria-disabled]):focus-visible, [data-bspk=toggle-option]:not([aria-disabled]):has(*:focus-visible) {
|
|
43
|
-
outline: var(--stroke-neutral-focus) 2px solid;
|
|
44
|
-
}
|
|
45
|
-
[data-bspk=toggle-option][aria-disabled] {
|
|
46
|
-
cursor: not-allowed;
|
|
47
|
-
}
|
|
48
|
-
[data-bspk=toggle-option][aria-disabled] [data-label] {
|
|
49
|
-
color: var(--foreground-neutral-disabled-on-surface);
|
|
50
|
-
}
|
|
51
|
-
[data-bspk=toggle-option][aria-disabled] [data-description] {
|
|
52
|
-
color: var(--foreground-neutral-disabled-on-surface);
|
|
4
|
+
style.appendChild(document.createTextNode(`[data-bspk-owner=toggle-option] {
|
|
5
|
+
align-items: start;
|
|
53
6
|
}
|
|
54
7
|
|
|
55
8
|
/** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
|
|
@@ -39,13 +39,9 @@ export type TooltipProps = {
|
|
|
39
39
|
* import { Tooltip } from '@bspk/ui/Tooltip';
|
|
40
40
|
* import { Button } from '@bspk/ui/Button';
|
|
41
41
|
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* {(triggerProps) => <Button {...triggerProps}>Click me</Button>}
|
|
46
|
-
* </Tooltip>
|
|
47
|
-
* );
|
|
48
|
-
* }
|
|
42
|
+
* <Tooltip label="I explain what this button does" placement="top">
|
|
43
|
+
* {(triggerProps) => <Button {...triggerProps}>Click me</Button>}
|
|
44
|
+
* </Tooltip>;
|
|
49
45
|
*
|
|
50
46
|
* @name Tooltip
|
|
51
47
|
* @phase UXReview
|
|
@@ -11,13 +11,9 @@ import { useId } from '../../hooks/useId';
|
|
|
11
11
|
* import { Tooltip } from '@bspk/ui/Tooltip';
|
|
12
12
|
* import { Button } from '@bspk/ui/Button';
|
|
13
13
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* {(triggerProps) => <Button {...triggerProps}>Click me</Button>}
|
|
18
|
-
* </Tooltip>
|
|
19
|
-
* );
|
|
20
|
-
* }
|
|
14
|
+
* <Tooltip label="I explain what this button does" placement="top">
|
|
15
|
+
* {(triggerProps) => <Button {...triggerProps}>Click me</Button>}
|
|
16
|
+
* </Tooltip>;
|
|
21
17
|
*
|
|
22
18
|
* @name Tooltip
|
|
23
19
|
* @phase UXReview
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":";AAAA,OAAO,gBAAgB,CAAC;AACxB,OAAO,EAAgB,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAa,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAmCtC
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":";AAAA,OAAO,gBAAgB,CAAC;AACxB,OAAO,EAAgB,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAa,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAmCtC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,OAAO,CAAC,EAAE,SAAS,GAAG,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,GAAG,IAAI,EAAgB;IAC3G,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,MAAM,QAAQ,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IAElD,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;QAC7D,SAAS;QACT,QAAQ,EAAE,OAAO;QACjB,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,QAAQ;QACR,IAAI,EAAE,CAAC,IAAI;QACX,QAAQ,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC;IAElC,OAAO,CACH,8BACK,QAAQ,CAAC;gBACN,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gBAChC,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;gBAClC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC5B,iBAAiB,EAAE,EAAE;aACxB,CAAC,EACD,KAAK,IAAI,CACN,KAAC,MAAM,cACH,4BACc,SAAS,oBACH,cAAc,EAAE,MAAM,EAAE,SAAS,EACjD,EAAE,EAAE,EAAE,EACN,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;wBACV,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBAC3B,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAc,qBAAqB,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC5F,CAAC,EACD,IAAI,EAAC,SAAS,EACd,KAAK,EAAE,cAAc,aAErB,4CAAiB,KAAK,GAAQ,EAC9B,wDAGI,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;gCACV,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;4BAC5B,CAAC,EACD,KAAK,EAAE;gCACH,MAAM,EAAE,gCAAgC;gCACxC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCACzB,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gCAC3E,GAAG,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;6BAC7E,GACH,IACA,GACD,CACZ,IACF,CACN,CAAC;AACN,CAAC"}
|
|
@@ -1,8 +1,28 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Button } from '../Button';
|
|
3
2
|
export const TooltipExample = {
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
defaultState: {
|
|
4
|
+
children: (triggerProps) => _jsx("span", { ...triggerProps, children: "Hover me" }),
|
|
5
|
+
},
|
|
6
|
+
presets: [
|
|
7
|
+
{
|
|
8
|
+
label: 'Long Label Tooltip',
|
|
9
|
+
propState: {
|
|
10
|
+
label: 'This is a longer tooltip label to demonstrate how the tooltip handles more content.',
|
|
11
|
+
placement: 'top',
|
|
12
|
+
children: (triggerProps) => _jsx("span", { ...triggerProps, children: "Long Tooltip Label" }),
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
label: 'No Label',
|
|
17
|
+
propState: {
|
|
18
|
+
label: '',
|
|
19
|
+
placement: 'top',
|
|
20
|
+
children: (triggerProps) => _jsx("span", { ...triggerProps, children: "No Label" }),
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
render: ({ props, Component }) => {
|
|
25
|
+
return _jsx(Component, { ...props, children: props.children || (() => _jsx("span", { children: "No Hover" })) });
|
|
6
26
|
},
|
|
7
27
|
};
|
|
8
28
|
//# sourceMappingURL=TooltipExample.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipExample.js","sourceRoot":"","sources":["../../../src/components/Tooltip/TooltipExample.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"TooltipExample.js","sourceRoot":"","sources":["../../../src/components/Tooltip/TooltipExample.tsx"],"names":[],"mappings":";AAGA,MAAM,CAAC,MAAM,cAAc,GAAmC;IAC1D,YAAY,EAAE;QACV,QAAQ,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,kBAAU,YAAY,yBAAiB;KACtE;IACD,OAAO,EAAE;QACL;YACI,KAAK,EAAE,oBAAoB;YAC3B,SAAS,EAAE;gBACP,KAAK,EAAE,qFAAqF;gBAC5F,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,kBAAU,YAAY,mCAA2B;aAChF;SACJ;QACD;YACI,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE;gBACP,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,kBAAU,YAAY,yBAAiB;aACtE;SACJ;KACJ;IACD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;QAC7B,OAAO,KAAC,SAAS,OAAK,KAAK,YAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,sCAAqB,CAAC,GAAa,CAAC;IAC/F,CAAC;CACJ,CAAC"}
|
|
@@ -45,9 +45,7 @@ export type TxtProps<As extends ElementType = ElementType> = {
|
|
|
45
45
|
* @example
|
|
46
46
|
* import { Txt } from '@bspk/ui/Txt';
|
|
47
47
|
*
|
|
48
|
-
*
|
|
49
|
-
* return <Txt>Example Txt</Txt>;
|
|
50
|
-
* }
|
|
48
|
+
* <Txt>Example Txt</Txt>;
|
|
51
49
|
*
|
|
52
50
|
* @name Txt
|
|
53
51
|
* @phase UXReview
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Txt.js","sourceRoot":"","sources":["../../../src/components/Txt/Txt.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AA2CzD
|
|
1
|
+
{"version":3,"file":"Txt.js","sourceRoot":"","sources":["../../../src/components/Txt/Txt.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AA2CzD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,GAAG,CAAuC,EACtD,QAAQ,EACR,EAAE,EACF,OAAO,GAAG,WAAW,EACrB,KAAK,EAAE,SAAS,EAChB,aAAa,GAAG,CAAC,EACjB,OAAO,EACP,GAAG,cAAc,EACY;IAC7B,MAAM,OAAO,GAAG,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAErC,IAAI,CAAC,OAAO;QAAE,OAAO,aAAa,CAAC,CAAC,CAAC,KAAC,YAAY,IAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAErG,MAAM,EAAE,GAAgB,EAAE,IAAI,MAAM,CAAC;IAErC,OAAO,CACH,KAAC,EAAE,OACK,cAAc,eACR,KAAK,EACf,KAAK,EAAE;YACH,GAAG,SAAS;YACZ,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,OAAO,GAAG;SAClD,YAEA,OAAO,GACP,CACR,CAAC;AACN,CAAC"}
|
|
@@ -2,8 +2,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { useEventListener } from '../../hooks/useAddEventListener';
|
|
4
4
|
import { useTimeout } from '../../hooks/useTimeout';
|
|
5
|
+
const CUSTOM_EVENT_NAME = 'bspk-aria-live';
|
|
5
6
|
export function sendAriaLiveMessage(message, live = 'polite') {
|
|
6
|
-
document.dispatchEvent(new CustomEvent(
|
|
7
|
+
document.dispatchEvent(new CustomEvent(CUSTOM_EVENT_NAME, { detail: { message, live } }));
|
|
7
8
|
}
|
|
8
9
|
/**
|
|
9
10
|
* AriaLiveMessageHandler is a single use component that listens for aria-live messages and displays them to the user.
|
|
@@ -19,7 +20,7 @@ export function sendAriaLiveMessage(message, live = 'polite') {
|
|
|
19
20
|
export function AriaLiveMessageHandler() {
|
|
20
21
|
const [ariaLiveMessage, setAriaLiveMessage] = useState(undefined);
|
|
21
22
|
const timeout = useTimeout();
|
|
22
|
-
useEventListener(
|
|
23
|
+
useEventListener(CUSTOM_EVENT_NAME, (event) => {
|
|
23
24
|
const { message, live } = event.detail;
|
|
24
25
|
// Clear any existing message to ensure that screen readers read the new message
|
|
25
26
|
setAriaLiveMessage(undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AriaLiveMessageHandler.js","sourceRoot":"","sources":["../../../src/components/UIProvider/AriaLiveMessageHandler.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,OAA+B,QAAQ;IACxF,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"AriaLiveMessageHandler.js","sourceRoot":"","sources":["../../../src/components/UIProvider/AriaLiveMessageHandler.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAE3C,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,OAA+B,QAAQ;IACxF,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB;IAClC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAA8B,SAAS,CAAC,CAAC;IAE/F,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,gBAAgB,CACZ,iBAAiB,EACjB,CAAC,KAAkB,EAAE,EAAE;QACnB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;QACvC,gFAAgF;QAChF,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC,EACD,QAAQ,CACX,CAAC;IAEF,OAAO,CACH,eAAe,IAAI,CACf,2BAAgB,eAAe,EAAE,IAAI,IAAI,QAAQ,wBAAe,IAAI,EAAC,OAAO,YACvE,eAAe,EAAE,OAAO,GACvB,CACT,CACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export declare function useEventListener<KW extends keyof WindowEventMap, KH extends keyof HTMLElementEventMap & keyof SVGElementEventMap, KM extends keyof MediaQueryListEventMap, T extends Document | HTMLElement | MediaQueryList | SVGAElement | Window = HTMLElement>(eventName: CustomEventName | KH | KM | KW, handler: (event: Event | HTMLElementEventMap[KH] | MediaQueryListEventMap[KM] | SVGElementEventMap[KH] | WindowEventMap[KW]) => void, element?: T, disabled?: boolean, options?: AddEventListenerOptions | boolean): void;
|
|
1
|
+
export declare function useEventListener<KW extends keyof WindowEventMap, KH extends keyof HTMLElementEventMap & keyof SVGElementEventMap, KM extends keyof MediaQueryListEventMap, T extends Document | HTMLElement | MediaQueryList | SVGAElement | Window = HTMLElement>(eventName: KH | KM | KW | string, handler: (event: Event | HTMLElementEventMap[KH] | MediaQueryListEventMap[KM] | SVGElementEventMap[KH] | WindowEventMap[KW]) => void, element?: T, disabled?: boolean, options?: AddEventListenerOptions | boolean): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAddEventListener.js","sourceRoot":"","sources":["../../src/hooks/useAddEventListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"useAddEventListener.js","sourceRoot":"","sources":["../../src/hooks/useAddEventListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,gBAAgB,CAM5B,SAAgC,EAChC,OAOS,EACT,OAAW,EACX,QAAkB,EAClB,OAA2C;IAE3C,mCAAmC;IACnC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAErC,mBAAmB,CAAC,GAAG,EAAE;QACrB,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;IACnC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,mBAAmB,CAAC,GAAG,EAAE;QACrB,IAAI,QAAQ;YAAE,OAAO;QAErB,8BAA8B;QAC9B,MAAM,aAAa,GAAe,OAAO,IAAI,MAAM,CAAC;QAEpD,IAAI,CAAC,CAAC,aAAa,IAAI,aAAa,CAAC,gBAAgB,CAAC;YAAE,OAAO;QAE/D,kEAAkE;QAClE,MAAM,QAAQ,GAAmB,CAAC,KAAK,EAAE,EAAE;YACvC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE7D,mCAAmC;QACnC,OAAO,GAAG,EAAE;YACR,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -18,6 +18,6 @@ import { RadioProps } from '-/components/Radio';
|
|
|
18
18
|
export declare function useRadioState(name: string, externalState?: [value: string | undefined, onChange: (next: string) => void]): {
|
|
19
19
|
radioProps: (radioValue: string) => Pick<RadioProps, "checked" | "name" | "onChange" | "value">;
|
|
20
20
|
value: string | undefined;
|
|
21
|
-
setValue: (
|
|
21
|
+
setValue: import("react").Dispatch<import("react").SetStateAction<string | undefined>>;
|
|
22
22
|
};
|
|
23
23
|
/** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
|
|
@@ -22,6 +22,5 @@ export type TimeoutHook = {
|
|
|
22
22
|
*
|
|
23
23
|
* @returns A ref object that can be used to store a timeout id.
|
|
24
24
|
*/
|
|
25
|
-
export declare function useTimeout(): TimeoutHook;
|
|
26
|
-
export declare function useTimeout(initialCallback: () => void, durationMs: number): TimeoutHook;
|
|
25
|
+
export declare function useTimeout(durationMs?: number): TimeoutHook;
|
|
27
26
|
/** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
|
package/dist/hooks/useTimeout.js
CHANGED
|
@@ -1,12 +1,28 @@
|
|
|
1
1
|
import { useRef, useEffect, useMemo } from 'react';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* A hook that creates a timeout that is automatically cleared when the component is unmounted.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* import { useTimeout } from '@bspk/ui/hooks/useTimeout';
|
|
7
|
+
* import { useEffect } from 'react';
|
|
8
|
+
*
|
|
9
|
+
* function MyComponent() {
|
|
10
|
+
* const timeout = useTimeout();
|
|
11
|
+
*
|
|
12
|
+
* const handleClick = () => {
|
|
13
|
+
* timeout.set(() => console.log('Timeout triggered'), 1000);
|
|
14
|
+
* };
|
|
15
|
+
*
|
|
16
|
+
* return <Button onClick={handleClick}>Click here then check the console.</Button>;
|
|
17
|
+
* }
|
|
18
|
+
*
|
|
19
|
+
* @returns A ref object that can be used to store a timeout id.
|
|
20
|
+
*/
|
|
21
|
+
export function useTimeout(durationMs = 1000) {
|
|
3
22
|
const timeoutRef = useRef(null);
|
|
4
23
|
useEffect(() => {
|
|
5
24
|
if (timeoutRef.current)
|
|
6
25
|
clearTimeout(timeoutRef.current);
|
|
7
|
-
if (initialCallback)
|
|
8
|
-
timeoutRef.current = setTimeout(initialCallback, durationMs);
|
|
9
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps -- only run at mount
|
|
10
26
|
}, []);
|
|
11
27
|
return useMemo(() => ({
|
|
12
28
|
clear: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTimeout.js","sourceRoot":"","sources":["../../src/hooks/useTimeout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useTimeout.js","sourceRoot":"","sources":["../../src/hooks/useTimeout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAQnD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,UAAU,CAAC,UAAU,GAAG,IAAI;IACxC,MAAM,UAAU,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IAEtE,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,UAAU,CAAC,OAAO;YAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CACV,GAAG,EAAE,CAAC,CAAC;QACH,KAAK,EAAE,GAAG,EAAE;YACR,IAAI,UAAU,CAAC,OAAO;gBAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC;QACD,GAAG,EAAE,CAAC,QAAoB,EAAE,EAAE,GAAG,UAAU,EAAE,EAAE;YAC3C,IAAI,UAAU,CAAC,OAAO;gBAAE,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACzD,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,GAAG,EAAE,UAAU;KAClB,CAAC,EACF,CAAC,UAAU,CAAC,CACf,CAAC;AACN,CAAC;AAED,sDAAsD"}
|
package/dist/types/common.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @bspk/ui/Txt".
|
|
7
7
|
*/
|
|
8
|
+
import { IconName } from '@bspk/icons';
|
|
8
9
|
import { JSXElementConstructor, ReactNode, ComponentPropsWithoutRef, AriaRole, ChangeEvent, KeyboardEvent, CSSProperties } from 'react';
|
|
9
10
|
export type AlertVariant = 'error' | 'informational' | 'success' | 'warning';
|
|
10
11
|
/** Sets a ref to the given element. */
|
|
@@ -17,6 +18,8 @@ export type CSSWithVariables = CSSProperties | (CSSProperties & {
|
|
|
17
18
|
});
|
|
18
19
|
export type DataProps = Record<`data-${string}`, string>;
|
|
19
20
|
export type ButtonSize = 'large' | 'medium' | 'small' | 'x-small';
|
|
21
|
+
/** The name of an icon in the Bspk icon library. */
|
|
22
|
+
export type BspkIcon = IconName;
|
|
20
23
|
export type CallToActionButton = {
|
|
21
24
|
/**
|
|
22
25
|
* The label of the call to action button.
|
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;;AA6KH,sDAAsD"}
|
package/dist/types/meta.d.ts
CHANGED
package/dist/types/meta.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.js","sourceRoot":"","sources":["../../src/types/meta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAqB;IACnD,SAAS,EAAE,qDAAqD;IAChE,SAAS,EAAE,mDAAmD;IAC9D,KAAK,EAAE,+CAA+C;IACtD,UAAU,EAAE,mCAAmC;IAC/C,QAAQ,EAAE,mBAAmB;CAChC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAOzB;IACA,OAAO,EAAE;QACL,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,SAAS;QACb,WAAW,EACP,4IAA4I;KACnJ;IACD,GAAG,EAAE;QACD,KAAK,EAAE,aAAa;QACpB,EAAE,EAAE,KAAK;QACT,WAAW,EACP,+JAA+J;KACtK;IACD,QAAQ,EAAE;QACN,KAAK,EAAE,WAAW;QAClB,EAAE,EAAE,UAAU;QACd,WAAW,EACP,+LAA+L;KACtM;IACD,MAAM,EAAE;QACJ,KAAK,EAAE,QAAQ;QACf,EAAE,EAAE,QAAQ;QACZ,WAAW,EACP,sJAAsJ;KAC7J;IACD,OAAO,EAAE;QACL,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,SAAS;QACb,WAAW,EAAE,mEAAmE;KACnF;CACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"meta.js","sourceRoot":"","sources":["../../src/types/meta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAqB;IACnD,SAAS,EAAE,qDAAqD;IAChE,SAAS,EAAE,mDAAmD;IAC9D,KAAK,EAAE,+CAA+C;IACtD,UAAU,EAAE,mCAAmC;IAC/C,QAAQ,EAAE,mBAAmB;CAChC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAOzB;IACA,OAAO,EAAE;QACL,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,SAAS;QACb,WAAW,EACP,4IAA4I;KACnJ;IACD,GAAG,EAAE;QACD,KAAK,EAAE,aAAa;QACpB,EAAE,EAAE,KAAK;QACT,WAAW,EACP,+JAA+J;KACtK;IACD,QAAQ,EAAE;QACN,KAAK,EAAE,WAAW;QAClB,EAAE,EAAE,UAAU;QACd,WAAW,EACP,+LAA+L;KACtM;IACD,MAAM,EAAE;QACJ,KAAK,EAAE,QAAQ;QACf,EAAE,EAAE,QAAQ;QACZ,WAAW,EACP,sJAAsJ;KAC7J;IACD,OAAO,EAAE;QACL,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,SAAS;QACb,WAAW,EAAE,mEAAmE;KACnF;CACJ,CAAC;AAoDF,sDAAsD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type CustomEventDetail = Array<CustomEventDetail> | Function | boolean | number | string | {
|
|
2
|
+
[key: string]: CustomEventDetail;
|
|
3
|
+
} | null | undefined;
|
|
4
|
+
export type CustomEventHandler<TDetail extends CustomEventDetail> = (detail: TDetail) => void;
|
|
5
|
+
/**
|
|
6
|
+
* Like React.createContext but for custom events using the DOM's CustomEvent system.
|
|
7
|
+
*
|
|
8
|
+
* This allows for communication between components without using React.Context, which can cause unnecessary re-renders.
|
|
9
|
+
*
|
|
10
|
+
* This generator ensures only safe detail types are used. !important;
|
|
11
|
+
*/
|
|
12
|
+
export declare function createCustomEvent<TDetail extends CustomEventDetail>(
|
|
13
|
+
/** The name of the custom event to create. Prefix with 'bspk-' to avoid conflicts. */
|
|
14
|
+
eventName: string): {
|
|
15
|
+
send(detail: TDetail): void;
|
|
16
|
+
useEventListener(listener: CustomEventHandler<TDetail>): void;
|
|
17
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useEventListener } from '../hooks/useAddEventListener';
|
|
2
|
+
/**
|
|
3
|
+
* Like React.createContext but for custom events using the DOM's CustomEvent system.
|
|
4
|
+
*
|
|
5
|
+
* This allows for communication between components without using React.Context, which can cause unnecessary re-renders.
|
|
6
|
+
*
|
|
7
|
+
* This generator ensures only safe detail types are used. !important;
|
|
8
|
+
*/
|
|
9
|
+
export function createCustomEvent(
|
|
10
|
+
/** The name of the custom event to create. Prefix with 'bspk-' to avoid conflicts. */
|
|
11
|
+
eventName) {
|
|
12
|
+
return {
|
|
13
|
+
send(detail) {
|
|
14
|
+
document.dispatchEvent(new CustomEvent(eventName, { detail }));
|
|
15
|
+
},
|
|
16
|
+
useEventListener(listener) {
|
|
17
|
+
useEventListener(eventName, (event) => listener(event.detail), document);
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=createCustomEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createCustomEvent.js","sourceRoot":"","sources":["../../src/utils/createCustomEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAe/D;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB;AAC7B,sFAAsF;AACtF,SAAiB;IAEjB,OAAO;QACH,IAAI,CAAC,MAAe;YAChB,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAU,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,gBAAgB,CAAC,QAAqC;YAClD,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAE,KAA8B,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvG,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -2,9 +2,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */ import { SvgContentCopy } from '@bspk/icons/ContentCopy';
|
|
3
3
|
import { SvgDiamond } from '@bspk/icons/Diamond';
|
|
4
4
|
import { Avatar } from '../components/Avatar';
|
|
5
|
+
import { Button } from '../components/Button';
|
|
5
6
|
import { Checkbox } from '../components/Checkbox';
|
|
6
7
|
import { Img } from '../components/Img';
|
|
7
|
-
import { ListItem } from '../components/ListItem';
|
|
8
8
|
import { Radio } from '../components/Radio';
|
|
9
9
|
import { Switch } from '../components/Switch';
|
|
10
10
|
import { Tag } from '../components/Tag';
|
|
@@ -29,9 +29,9 @@ export function createExampleChildElement({ exampleState, name, setState, action
|
|
|
29
29
|
componentName,
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
|
-
if (componentName === '
|
|
32
|
+
if (componentName === 'Button')
|
|
33
33
|
return {
|
|
34
|
-
element: (_jsx(
|
|
34
|
+
element: (_jsx(Button, { icon: _jsx(SvgContentCopy, {}), label: "LI Button", onClick: () => action('ListItem button clicked') })),
|
|
35
35
|
componentName,
|
|
36
36
|
};
|
|
37
37
|
if (componentName === 'Img')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createExampleChildElement.js","sourceRoot":"","sources":["../../src/utils/createExampleChildElement.tsx"],"names":[],"mappings":";AAAA,uDAAuD,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACjH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"createExampleChildElement.js","sourceRoot":"","sources":["../../src/utils/createExampleChildElement.tsx"],"names":[],"mappings":";AAAA,uDAAuD,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACjH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAUvC;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAA4B;IAI5G,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAEzC,IAAI,aAAa,KAAK,UAAU,IAAI,aAAa,KAAK,OAAO,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC1F,IAAI,EAAE,GAAmD,QAAQ,CAAC;QAClE,IAAI,aAAa,KAAK,OAAO;YAAE,EAAE,GAAG,KAAK,CAAC;aACrC,IAAI,aAAa,KAAK,QAAQ;YAAE,EAAE,GAAG,MAAM,CAAC;QAEjD,MAAM,UAAU,GAAG,QAAQ,IAAI,WAAW,EAAE,EAAE,CAAC;QAE/C,OAAO;YACH,OAAO,EAAE,CACL,KAAC,EAAE,kBACa,GAAG,aAAa,OAAO,EACnC,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,EACjC,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAC/B,IAAI,EAAE,GAAG,IAAI,SAAS,EACtB,QAAQ,EAAE,CAAC,OAAgB,EAAE,EAAE;oBAC3B,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;gBACxC,CAAC,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,aAAa,UAAU,CAAC,EACzD,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAC/B,KAAK,EAAE,GAAG,IAAI,IAAI,aAAa,EAAE,GACnC,CACL;YACD,aAAa;SAChB,CAAC;IACN,CAAC;IAED,IAAI,aAAa,KAAK,QAAQ;QAC1B,OAAO;YACH,OAAO,EAAE,CACL,KAAC,MAAM,IAAC,IAAI,EAAE,KAAC,cAAc,KAAG,EAAE,KAAK,EAAC,WAAW,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,GAAI,CAC3G;YACD,aAAa;SAChB,CAAC;IAEN,IAAI,aAAa,KAAK,KAAK;QAAE,OAAO,EAAE,OAAO,EAAE,KAAC,GAAG,IAAC,GAAG,EAAC,aAAa,EAAC,GAAG,EAAC,kBAAkB,GAAG,EAAE,CAAC;IAElG,IAAI,aAAa,KAAK,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,KAAC,MAAM,IAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAC,WAAW,GAAG,EAAE,CAAC;IAEpG,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,KAAC,GAAG,IAAC,KAAK,EAAC,KAAK,GAAG,EAAE,CAAC;IAC5C,CAAC;IAED,IAAI,aAAa,KAAK,KAAK;QAAE,OAAO,EAAE,OAAO,EAAE,KAAC,GAAG,uBAAW,EAAE,CAAC;IAEjE,IAAI,aAAa,KAAK,MAAM;QAAE,OAAO,EAAE,OAAO,EAAE,KAAC,UAAU,KAAG,EAAE,CAAC;IAEjE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC7B,CAAC"}
|
package/dist/utils/demo.d.ts
CHANGED
|
@@ -1,20 +1,6 @@
|
|
|
1
1
|
import { CSSProperties, ReactNode } from 'react';
|
|
2
2
|
import { AlertVariant, DataProps } from '-/types/common';
|
|
3
|
-
import { ComponentMeta } from '-/types/meta';
|
|
4
|
-
export type TypeProperty = {
|
|
5
|
-
name: string;
|
|
6
|
-
description?: string;
|
|
7
|
-
type?: string[] | string;
|
|
8
|
-
default?: unknown;
|
|
9
|
-
required?: boolean;
|
|
10
|
-
options?: number[] | string[];
|
|
11
|
-
variants?: string[];
|
|
12
|
-
references?: string[];
|
|
13
|
-
minimum?: number;
|
|
14
|
-
maximum?: number;
|
|
15
|
-
example?: string;
|
|
16
|
-
exampleType?: string;
|
|
17
|
-
};
|
|
3
|
+
import { ComponentMeta, TypeProperty } from '-/types/meta';
|
|
18
4
|
export type DemoAction = (message: string, variant?: AlertVariant) => void;
|
|
19
5
|
export type DemoSetState<Props = Record<string, unknown>> = (next: Partial<Props> | ((prev: Props) => Partial<Props>)) => void;
|
|
20
6
|
export type TypePropertyDemo = Omit<TypeProperty, 'example'> & {
|
|
@@ -45,8 +31,18 @@ export type ComponentVariantOverride<Props> = {
|
|
|
45
31
|
options: Props[K][];
|
|
46
32
|
};
|
|
47
33
|
};
|
|
34
|
+
export type ComponentPageSection<Props = Record<string, unknown>> = {
|
|
35
|
+
title: string;
|
|
36
|
+
content: (params: {
|
|
37
|
+
Component?: React.ComponentType<Props>;
|
|
38
|
+
props: Props;
|
|
39
|
+
CodeExample: CodeExample;
|
|
40
|
+
Syntax: Syntax;
|
|
41
|
+
}) => React.ReactNode;
|
|
42
|
+
location?: 'afterDemo' | 'beforeDemo';
|
|
43
|
+
};
|
|
48
44
|
export type ComponentVariantOverrides<Props = Record<string, unknown>, PropName extends keyof Props = keyof Props> = {
|
|
49
|
-
[Key in PropName]?: ComponentVariantOverride<Props> | false
|
|
45
|
+
[Key in PropName]?: ComponentVariantOverride<Props> | false;
|
|
50
46
|
};
|
|
51
47
|
export type ComponentExample<Props = Record<string, unknown>, PropName extends keyof Props = keyof Props> = {
|
|
52
48
|
/**
|
|
@@ -91,16 +87,7 @@ export type ComponentExample<Props = Record<string, unknown>, PropName extends k
|
|
|
91
87
|
*/
|
|
92
88
|
disableProps?: PropName[] | true;
|
|
93
89
|
/** The sections of the example. */
|
|
94
|
-
sections?:
|
|
95
|
-
title: string;
|
|
96
|
-
content: (params: {
|
|
97
|
-
Component: React.ComponentType<Props>;
|
|
98
|
-
props: Props;
|
|
99
|
-
CodeExample: CodeExample;
|
|
100
|
-
Syntax: Syntax;
|
|
101
|
-
}) => React.ReactNode;
|
|
102
|
-
location?: 'afterDemo' | 'beforeDemo';
|
|
103
|
-
}[];
|
|
90
|
+
sections?: ComponentPageSection<Props>[];
|
|
104
91
|
};
|
|
105
92
|
export type Syntax = (params: {
|
|
106
93
|
code: string;
|
|
@@ -125,6 +112,11 @@ export type ComponentExampleFn<Props = Record<string, unknown>> = (params: {
|
|
|
125
112
|
}) => ComponentExample<Props>;
|
|
126
113
|
export type OnHandlers = `on${string}`;
|
|
127
114
|
export type Preset<Props> = {
|
|
115
|
+
/**
|
|
116
|
+
* A description of the design pattern this preset demonstrates. When applied, it showcases the specific use case or
|
|
117
|
+
* behavior of the component.
|
|
118
|
+
*/
|
|
119
|
+
designPattern?: string;
|
|
128
120
|
/** The name of the preset. This is used to display the preset in the UI. */
|
|
129
121
|
label: string;
|
|
130
122
|
/** The props of the component. This is used to set props of the component. These values can't be changed in the UI. */
|
package/dist/utils/demo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/utils/demo.ts"],"names":[],"mappings":"AAAA,uDAAuD;
|
|
1
|
+
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/utils/demo.ts"],"names":[],"mappings":"AAAA,uDAAuD;AA8JvD,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"}
|
package/meta.ts
CHANGED
|
@@ -332,17 +332,22 @@ function generateTypes() {
|
|
|
332
332
|
? context.componentFile?.jsDocs?.find(({ id }) => id === kebabCase(definition.description!))
|
|
333
333
|
: undefined;
|
|
334
334
|
|
|
335
|
+
const type = definition.type?.toString();
|
|
336
|
+
|
|
337
|
+
const arrayType = type?.match(/Array<(.+)>/)?.[1];
|
|
338
|
+
|
|
335
339
|
const next: TypeProperty = {
|
|
336
340
|
name,
|
|
337
341
|
required: required?.includes(name),
|
|
338
342
|
description: jsDoc?.description || definition.description,
|
|
339
343
|
default: definition.default === 'undefined' ? undefined : definition.default,
|
|
340
|
-
type
|
|
344
|
+
type,
|
|
341
345
|
exampleType: jsDoc?.exampleType,
|
|
342
346
|
minimum: definition.minimum,
|
|
343
347
|
maximum: definition.maximum,
|
|
344
348
|
options: jsDoc?.options?.split(',').map((o) => o.trim()),
|
|
345
349
|
example: jsDoc?.example,
|
|
350
|
+
arrayType,
|
|
346
351
|
};
|
|
347
352
|
|
|
348
353
|
if (next.name.match(/^on[A-Z]/)) next.type = 'function';
|
package/package.json
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @cspell/spellchecker */
|
|
1
2
|
import './accordion.scss';
|
|
2
3
|
import { SvgKeyboardArrowDown } from '@bspk/icons/KeyboardArrowDown';
|
|
3
4
|
import { SvgKeyboardArrowUp } from '@bspk/icons/KeyboardArrowUp';
|
|
@@ -68,9 +69,25 @@ export type AccordionProps = {
|
|
|
68
69
|
* @example
|
|
69
70
|
* import { Accordion } from '@bspk/ui/Accordion';
|
|
70
71
|
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
72
|
+
* <Accordion
|
|
73
|
+
* singleOpen={true}
|
|
74
|
+
* items={[
|
|
75
|
+
* {
|
|
76
|
+
* id: 1,
|
|
77
|
+
* title: 'Lawrence Welk',
|
|
78
|
+
* subtitle: 'The Champagne Music Maker',
|
|
79
|
+
* children:
|
|
80
|
+
* 'Lawrence Welk was an American accordionist, bandleader, and television impresario, who hosted The Lawrence Welk Show from 1951 to 1982.',
|
|
81
|
+
* },
|
|
82
|
+
* {
|
|
83
|
+
* id: 2,
|
|
84
|
+
* title: 'Myron Floren',
|
|
85
|
+
* subtitle: 'The Happy Norwegian',
|
|
86
|
+
* children:
|
|
87
|
+
* 'Myron Floren was an American accordionist best known as the featured accordionist on The Lawrence Welk Show.',
|
|
88
|
+
* },
|
|
89
|
+
* ]}
|
|
90
|
+
* />;
|
|
74
91
|
*
|
|
75
92
|
* @name Accordion
|
|
76
93
|
* @phase UXReview
|
|
@@ -85,21 +85,20 @@ export type AvatarProps = CommonProps<'disabled'> & {
|
|
|
85
85
|
*
|
|
86
86
|
* @example
|
|
87
87
|
* import { Avatar } from '@bspk/ui/Avatar';
|
|
88
|
-
* import { SvgPerson } from '@bspk/icons/Person';
|
|
89
88
|
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
89
|
+
* <Avatar
|
|
90
|
+
* color="blue"
|
|
91
|
+
* showIcon
|
|
92
|
+
* image="/avatar-01.png"
|
|
93
|
+
* initials="AR"
|
|
94
|
+
* name="Andre Giant"
|
|
95
|
+
* hideTooltip
|
|
96
|
+
* size="large"
|
|
97
|
+
* disabled={false}
|
|
98
|
+
* onClick={() => action('Launch avatar popover')}
|
|
99
|
+
* showIcon={false}
|
|
100
|
+
* hideTooltip={true}
|
|
101
|
+
* />;
|
|
103
102
|
*
|
|
104
103
|
* @exampleDescription The image if provided is displayed first, followed by the icon if provided, and finally the initials. If no initials are provided, the first two letters of the name will be used as initials.
|
|
105
104
|
*
|