@bspk/ui 1.1.31 → 1.1.33
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 +126 -0
- package/dist/base.css +300 -1
- package/dist/base.css.js +306 -0
- package/dist/colors.css +75 -1
- package/dist/colors.css.js +81 -0
- package/dist/components/Avatar/Avatar.d.ts +86 -0
- package/dist/components/Avatar/Avatar.js +62 -0
- package/dist/components/Avatar/Avatar.js.map +1 -0
- package/dist/components/Avatar/AvatarExample.d.ts +3 -0
- package/dist/components/Avatar/AvatarExample.js +39 -0
- package/dist/components/Avatar/AvatarExample.js.map +1 -0
- package/dist/components/Avatar/avatar.css +86 -0
- package/dist/components/Avatar/avatar.css.js +92 -0
- package/dist/components/Avatar/index.d.ts +1 -0
- package/dist/components/Avatar/index.js +2 -0
- package/dist/components/Avatar/index.js.map +1 -0
- package/dist/components/AvatarGroup/AvatarGroup.d.ts +64 -0
- package/dist/components/AvatarGroup/AvatarGroup.js +32 -0
- package/dist/components/AvatarGroup/AvatarGroup.js.map +1 -0
- package/dist/components/AvatarGroup/avatar-group.css +12 -0
- package/dist/components/AvatarGroup/avatar-group.css.js +18 -0
- package/dist/components/AvatarGroup/index.d.ts +1 -0
- package/dist/components/AvatarGroup/index.js +2 -0
- package/dist/components/AvatarGroup/index.js.map +1 -0
- package/dist/components/Badge/Badge.d.ts +64 -0
- package/dist/components/Badge/Badge.js +31 -0
- package/dist/components/Badge/Badge.js.map +1 -0
- package/dist/components/Badge/BadgeExample.d.ts +3 -0
- package/dist/components/Badge/BadgeExample.js +44 -0
- package/dist/components/Badge/BadgeExample.js.map +1 -0
- package/dist/components/Badge/badge.css +45 -0
- package/dist/components/Badge/badge.css.js +51 -0
- package/dist/components/Badge/index.d.ts +1 -0
- package/dist/components/Badge/index.js +2 -0
- package/dist/components/Badge/index.js.map +1 -0
- package/dist/components/BannerAlert/BannerAlert.d.ts +71 -0
- package/dist/components/BannerAlert/BannerAlert.js +37 -0
- package/dist/components/BannerAlert/BannerAlert.js.map +1 -0
- package/dist/components/BannerAlert/BannerAlertExample.d.ts +3 -0
- package/dist/components/BannerAlert/BannerAlertExample.js +36 -0
- package/dist/components/BannerAlert/BannerAlertExample.js.map +1 -0
- package/dist/components/BannerAlert/banner-alert.css +100 -0
- package/dist/components/BannerAlert/banner-alert.css.js +106 -0
- package/dist/components/BannerAlert/index.d.ts +1 -0
- package/dist/components/BannerAlert/index.js +2 -0
- package/dist/components/BannerAlert/index.js.map +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.d.ts +81 -0
- package/dist/components/Breadcrumb/Breadcrumb.js +57 -0
- package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -0
- package/dist/components/Breadcrumb/BreadcrumbExample.d.ts +3 -0
- package/dist/components/Breadcrumb/BreadcrumbExample.js +89 -0
- package/dist/components/Breadcrumb/BreadcrumbExample.js.map +1 -0
- package/dist/components/Breadcrumb/breadcrumb.css +14 -0
- package/dist/components/Breadcrumb/breadcrumb.css.js +20 -0
- package/dist/components/Breadcrumb/index.d.ts +1 -0
- package/dist/components/Breadcrumb/index.js +2 -0
- package/dist/components/Breadcrumb/index.js.map +1 -0
- package/dist/components/Button/Button.d.ts +95 -0
- package/dist/components/Button/Button.js +48 -0
- package/dist/components/Button/Button.js.map +1 -0
- package/dist/components/Button/ButtonExample.d.ts +3 -0
- package/dist/components/Button/ButtonExample.js +27 -0
- package/dist/components/Button/ButtonExample.js.map +1 -0
- package/dist/components/Button/button.css +153 -0
- package/dist/components/Button/button.css.js +159 -0
- package/dist/components/Button/index.d.ts +1 -0
- package/dist/components/Button/index.js +2 -0
- package/dist/components/Button/index.js.map +1 -0
- package/dist/components/Card/Card.d.ts +50 -0
- package/dist/components/Card/Card.js +30 -0
- package/dist/components/Card/Card.js.map +1 -0
- package/dist/components/Card/CardExample.d.ts +2 -0
- package/dist/components/Card/CardExample.js +10 -0
- package/dist/components/Card/CardExample.js.map +1 -0
- package/dist/components/Card/card.css +18 -0
- package/dist/components/Card/card.css.js +24 -0
- package/dist/components/Card/index.d.ts +1 -0
- package/dist/components/Card/index.js +2 -0
- package/dist/components/Card/index.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.d.ts +61 -0
- package/dist/components/Checkbox/Checkbox.js +53 -0
- package/dist/components/Checkbox/Checkbox.js.map +1 -0
- package/dist/components/Checkbox/checkbox.css +77 -0
- package/dist/components/Checkbox/checkbox.css.js +83 -0
- package/dist/components/Checkbox/index.d.ts +1 -0
- package/dist/components/Checkbox/index.js +2 -0
- package/dist/components/Checkbox/index.js.map +1 -0
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +83 -0
- package/dist/components/CheckboxGroup/CheckboxGroup.js +40 -0
- package/dist/components/CheckboxGroup/CheckboxGroup.js.map +1 -0
- package/dist/components/CheckboxGroup/CheckboxGroupExample.d.ts +3 -0
- package/dist/components/CheckboxGroup/CheckboxGroupExample.js +25 -0
- package/dist/components/CheckboxGroup/CheckboxGroupExample.js.map +1 -0
- package/dist/components/CheckboxGroup/index.d.ts +1 -0
- package/dist/components/CheckboxGroup/index.js +2 -0
- package/dist/components/CheckboxGroup/index.js.map +1 -0
- package/dist/components/CheckboxOption/CheckboxOption.d.ts +45 -0
- package/dist/components/CheckboxOption/CheckboxOption.js +38 -0
- package/dist/components/CheckboxOption/CheckboxOption.js.map +1 -0
- package/dist/components/CheckboxOption/index.d.ts +1 -0
- package/dist/components/CheckboxOption/index.js +2 -0
- package/dist/components/CheckboxOption/index.js.map +1 -0
- package/dist/components/Chip/Chip.d.ts +64 -0
- package/dist/components/Chip/Chip.js +33 -0
- package/dist/components/Chip/Chip.js.map +1 -0
- package/dist/components/Chip/chip.css +44 -0
- package/dist/components/Chip/chip.css.js +50 -0
- 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/ChipAssist/ChipAssist.d.ts +28 -0
- package/dist/components/ChipAssist/ChipAssist.js +28 -0
- package/dist/components/ChipAssist/ChipAssist.js.map +1 -0
- package/dist/components/ChipAssist/ChipAssistExample.d.ts +3 -0
- package/dist/components/ChipAssist/ChipAssistExample.js +31 -0
- package/dist/components/ChipAssist/ChipAssistExample.js.map +1 -0
- package/dist/components/ChipAssist/index.d.ts +1 -0
- package/dist/components/ChipAssist/index.js +2 -0
- package/dist/components/ChipAssist/index.js.map +1 -0
- package/dist/components/ChipFilter/ChipFilter.d.ts +44 -0
- package/dist/components/ChipFilter/ChipFilter.js +33 -0
- package/dist/components/ChipFilter/ChipFilter.js.map +1 -0
- package/dist/components/ChipFilter/ChipFilterExample.d.ts +3 -0
- package/dist/components/ChipFilter/ChipFilterExample.js +59 -0
- package/dist/components/ChipFilter/ChipFilterExample.js.map +1 -0
- package/dist/components/ChipFilter/index.d.ts +1 -0
- package/dist/components/ChipFilter/index.js +2 -0
- package/dist/components/ChipFilter/index.js.map +1 -0
- package/dist/components/ChipGroup/ChipGroup.d.ts +39 -0
- package/dist/components/ChipGroup/ChipGroup.js +27 -0
- package/dist/components/ChipGroup/ChipGroup.js.map +1 -0
- package/dist/components/ChipGroup/ChipGroupExample.d.ts +3 -0
- package/dist/components/ChipGroup/ChipGroupExample.js +48 -0
- package/dist/components/ChipGroup/ChipGroupExample.js.map +1 -0
- package/dist/components/ChipGroup/chip-group.css +11 -0
- package/dist/components/ChipGroup/chip-group.css.js +17 -0
- package/dist/components/ChipGroup/index.d.ts +1 -0
- package/dist/components/ChipGroup/index.js +2 -0
- package/dist/components/ChipGroup/index.js.map +1 -0
- package/dist/components/ChipInput/ChipInput.d.ts +35 -0
- package/dist/components/ChipInput/ChipInput.js +29 -0
- package/dist/components/ChipInput/ChipInput.js.map +1 -0
- package/dist/components/ChipInput/ChipInputExample.d.ts +3 -0
- package/dist/components/ChipInput/ChipInputExample.js +46 -0
- package/dist/components/ChipInput/ChipInputExample.js.map +1 -0
- package/dist/components/ChipInput/index.d.ts +1 -0
- package/dist/components/ChipInput/index.js +2 -0
- package/dist/components/ChipInput/index.js.map +1 -0
- package/dist/components/ChipSuggestion/ChipSuggestion.d.ts +21 -0
- package/dist/components/ChipSuggestion/ChipSuggestion.js +21 -0
- package/dist/components/ChipSuggestion/ChipSuggestion.js.map +1 -0
- package/dist/components/ChipSuggestion/ChipSuggestionExample.d.ts +3 -0
- package/dist/components/ChipSuggestion/ChipSuggestionExample.js +23 -0
- package/dist/components/ChipSuggestion/ChipSuggestionExample.js.map +1 -0
- package/dist/components/ChipSuggestion/index.d.ts +1 -0
- package/dist/components/ChipSuggestion/index.js +2 -0
- package/dist/components/ChipSuggestion/index.js.map +1 -0
- package/dist/components/ChipUtility/ChipUtility.d.ts +79 -0
- package/dist/components/ChipUtility/ChipUtility.js +28 -0
- package/dist/components/ChipUtility/ChipUtility.js.map +1 -0
- package/dist/components/ChipUtility/ChipUtilityExample.d.ts +3 -0
- package/dist/components/ChipUtility/ChipUtilityExample.js +60 -0
- package/dist/components/ChipUtility/ChipUtilityExample.js.map +1 -0
- package/dist/components/ChipUtility/chip-utility.css +48 -0
- package/dist/components/ChipUtility/chip-utility.css.js +54 -0
- package/dist/components/ChipUtility/index.d.ts +1 -0
- package/dist/components/ChipUtility/index.js +2 -0
- package/dist/components/ChipUtility/index.js.map +1 -0
- package/dist/components/Combobox/Combobox.d.ts +96 -0
- package/dist/components/Combobox/Combobox.js +83 -0
- package/dist/components/Combobox/Combobox.js.map +1 -0
- package/dist/components/Combobox/index.d.ts +1 -0
- package/dist/components/Combobox/index.js +2 -0
- package/dist/components/Combobox/index.js.map +1 -0
- package/dist/components/Dialog/Dialog.d.ts +69 -0
- package/dist/components/Dialog/Dialog.js +90 -0
- package/dist/components/Dialog/Dialog.js.map +1 -0
- package/dist/components/Dialog/DialogExample.d.ts +3 -0
- package/dist/components/Dialog/DialogExample.js +11 -0
- package/dist/components/Dialog/DialogExample.js.map +1 -0
- package/dist/components/Dialog/dialog.css +119 -0
- package/dist/components/Dialog/dialog.css.js +125 -0
- package/dist/components/Dialog/index.d.ts +1 -0
- package/dist/components/Dialog/index.js +2 -0
- package/dist/components/Dialog/index.js.map +1 -0
- package/dist/components/Divider/Divider.d.ts +58 -0
- package/dist/components/Divider/Divider.js +40 -0
- package/dist/components/Divider/Divider.js.map +1 -0
- package/dist/components/Divider/DividerExample.d.ts +2 -0
- package/dist/components/Divider/DividerExample.js +15 -0
- package/dist/components/Divider/DividerExample.js.map +1 -0
- package/dist/components/Divider/divider.css +39 -0
- package/dist/components/Divider/divider.css.js +45 -0
- package/dist/components/Divider/index.d.ts +1 -0
- package/dist/components/Divider/index.js +2 -0
- package/dist/components/Divider/index.js.map +1 -0
- package/dist/components/EmptyState/EmptyState.d.ts +54 -0
- package/dist/components/EmptyState/EmptyState.js +30 -0
- package/dist/components/EmptyState/EmptyState.js.map +1 -0
- package/dist/components/EmptyState/EmptyStateExample.d.ts +3 -0
- package/dist/components/EmptyState/EmptyStateExample.js +25 -0
- package/dist/components/EmptyState/EmptyStateExample.js.map +1 -0
- package/dist/components/EmptyState/index.d.ts +1 -0
- package/dist/components/EmptyState/index.js +2 -0
- package/dist/components/EmptyState/index.js.map +1 -0
- package/dist/components/ExamplePlaceholder/ExamplePlaceholder.d.ts +17 -0
- package/dist/components/ExamplePlaceholder/ExamplePlaceholder.js +22 -0
- package/dist/components/ExamplePlaceholder/ExamplePlaceholder.js.map +1 -0
- package/dist/components/ExamplePlaceholder/index.d.ts +1 -0
- package/dist/components/ExamplePlaceholder/index.js +2 -0
- package/dist/components/ExamplePlaceholder/index.js.map +1 -0
- package/dist/components/Fab/Fab.d.ts +52 -0
- package/dist/components/Fab/Fab.js +32 -0
- package/dist/components/Fab/Fab.js.map +1 -0
- package/dist/components/Fab/FabExample.d.ts +2 -0
- package/dist/components/Fab/FabExample.js +6 -0
- package/dist/components/Fab/FabExample.js.map +1 -0
- package/dist/components/Fab/fab.css +93 -0
- package/dist/components/Fab/fab.css.js +99 -0
- package/dist/components/Fab/index.d.ts +1 -0
- package/dist/components/Fab/index.js +2 -0
- package/dist/components/Fab/index.js.map +1 -0
- package/dist/components/FormField/FormField.d.ts +75 -0
- package/dist/components/FormField/FormField.js +53 -0
- package/dist/components/FormField/FormField.js.map +1 -0
- package/dist/components/FormField/form-field.css +17 -0
- package/dist/components/FormField/form-field.css.js +23 -0
- package/dist/components/FormField/index.d.ts +1 -0
- package/dist/components/FormField/index.js +2 -0
- package/dist/components/FormField/index.js.map +1 -0
- package/dist/components/Img/Img.d.ts +34 -0
- package/dist/components/Img/Img.js +20 -0
- package/dist/components/Img/Img.js.map +1 -0
- package/dist/components/Img/index.d.ts +1 -0
- package/dist/components/Img/index.js +2 -0
- package/dist/components/Img/index.js.map +1 -0
- package/dist/components/InlineAlert/InlineAlert.d.ts +39 -0
- package/dist/components/InlineAlert/InlineAlert.js +34 -0
- package/dist/components/InlineAlert/InlineAlert.js.map +1 -0
- package/dist/components/InlineAlert/index.d.ts +1 -0
- package/dist/components/InlineAlert/index.js +2 -0
- package/dist/components/InlineAlert/index.js.map +1 -0
- package/dist/components/InlineAlert/inline-alert.css +40 -0
- package/dist/components/InlineAlert/inline-alert.css.js +46 -0
- package/dist/components/Layout/Layout.d.ts +56 -0
- package/dist/components/Layout/Layout.js +32 -0
- package/dist/components/Layout/Layout.js.map +1 -0
- package/dist/components/Layout/index.d.ts +1 -0
- package/dist/components/Layout/index.js +2 -0
- package/dist/components/Layout/index.js.map +1 -0
- package/dist/components/Link/Link.d.ts +59 -0
- package/dist/components/Link/Link.js +29 -0
- package/dist/components/Link/Link.js.map +1 -0
- package/dist/components/Link/LinkExample.d.ts +11 -0
- package/dist/components/Link/LinkExample.js +47 -0
- package/dist/components/Link/LinkExample.js.map +1 -0
- package/dist/components/Link/index.d.ts +1 -0
- package/dist/components/Link/index.js +2 -0
- package/dist/components/Link/index.js.map +1 -0
- package/dist/components/Link/link.css +18 -0
- package/dist/components/Link/link.css.js +24 -0
- package/dist/components/ListItem/ListItem.d.ts +102 -0
- package/dist/components/ListItem/ListItem.js +106 -0
- package/dist/components/ListItem/ListItem.js.map +1 -0
- package/dist/components/ListItem/ListItemExample.d.ts +4 -0
- package/dist/components/ListItem/ListItemExample.js +57 -0
- package/dist/components/ListItem/ListItemExample.js.map +1 -0
- package/dist/components/ListItem/index.d.ts +1 -0
- package/dist/components/ListItem/index.js +2 -0
- package/dist/components/ListItem/index.js.map +1 -0
- package/dist/components/ListItem/list-item.css +95 -0
- package/dist/components/ListItem/list-item.css.js +101 -0
- package/dist/components/Listbox/Listbox.d.ts +119 -0
- package/dist/components/Listbox/Listbox.js +85 -0
- package/dist/components/Listbox/Listbox.js.map +1 -0
- package/dist/components/Listbox/index.d.ts +1 -0
- package/dist/components/Listbox/index.js +2 -0
- package/dist/components/Listbox/index.js.map +1 -0
- package/dist/components/Menu/Menu.d.ts +73 -0
- package/dist/components/Menu/Menu.js +60 -0
- package/dist/components/Menu/Menu.js.map +1 -0
- package/dist/components/Menu/MenuExample.d.ts +6 -0
- package/dist/components/Menu/MenuExample.js +25 -0
- package/dist/components/Menu/MenuExample.js.map +1 -0
- package/dist/components/Menu/index.d.ts +1 -0
- package/dist/components/Menu/index.js +2 -0
- package/dist/components/Menu/index.js.map +1 -0
- package/dist/components/Menu/menu.css +20 -0
- package/dist/components/Menu/menu.css.js +26 -0
- package/dist/components/MenuButton/MenuButton.d.ts +23 -0
- package/dist/components/MenuButton/MenuButton.js +22 -0
- package/dist/components/MenuButton/MenuButton.js.map +1 -0
- package/dist/components/MenuButton/index.d.ts +1 -0
- package/dist/components/MenuButton/index.js +2 -0
- package/dist/components/MenuButton/index.js.map +1 -0
- package/dist/components/MenuButton/menu-button.css +16 -0
- package/dist/components/MenuButton/menu-button.css.js +22 -0
- package/dist/components/Modal/Modal.d.ts +101 -0
- package/dist/components/Modal/Modal.js +100 -0
- package/dist/components/Modal/Modal.js.map +1 -0
- package/dist/components/Modal/ModalExample.d.ts +3 -0
- package/dist/components/Modal/ModalExample.js +42 -0
- package/dist/components/Modal/ModalExample.js.map +1 -0
- package/dist/components/Modal/index.d.ts +1 -0
- package/dist/components/Modal/index.js +2 -0
- package/dist/components/Modal/index.js.map +1 -0
- package/dist/components/Modal/modal.css +38 -0
- package/dist/components/Modal/modal.css.js +44 -0
- package/dist/components/NumberField/NumberField.d.ts +37 -0
- package/dist/components/NumberField/NumberField.js +38 -0
- package/dist/components/NumberField/NumberField.js.map +1 -0
- package/dist/components/NumberField/index.d.ts +1 -0
- package/dist/components/NumberField/index.js +2 -0
- package/dist/components/NumberField/index.js.map +1 -0
- package/dist/components/NumberInput/NumberInput.d.ts +66 -0
- package/dist/components/NumberInput/NumberInput.js +88 -0
- package/dist/components/NumberInput/NumberInput.js.map +1 -0
- package/dist/components/NumberInput/index.d.ts +1 -0
- package/dist/components/NumberInput/index.js +2 -0
- package/dist/components/NumberInput/index.js.map +1 -0
- package/dist/components/NumberInput/number-input.css +99 -0
- package/dist/components/NumberInput/number-input.css.js +105 -0
- package/dist/components/PhoneNumberField/PhoneNumberField.d.ts +18 -0
- package/dist/components/PhoneNumberField/PhoneNumberField.js +19 -0
- package/dist/components/PhoneNumberField/PhoneNumberField.js.map +1 -0
- package/dist/components/PhoneNumberField/index.d.ts +1 -0
- package/dist/components/PhoneNumberField/index.js +2 -0
- package/dist/components/PhoneNumberField/index.js.map +1 -0
- package/dist/components/PhoneNumberInput/PhoneNumberInput.d.ts +41 -0
- package/dist/components/PhoneNumberInput/PhoneNumberInput.js +90 -0
- package/dist/components/PhoneNumberInput/PhoneNumberInput.js.map +1 -0
- package/dist/components/PhoneNumberInput/index.d.ts +1 -0
- package/dist/components/PhoneNumberInput/index.js +2 -0
- package/dist/components/PhoneNumberInput/index.js.map +1 -0
- package/dist/components/PhoneNumberInput/phone-number-input.css +36 -0
- package/dist/components/PhoneNumberInput/phone-number-input.css.js +42 -0
- package/dist/components/Popover/Popover.d.ts +71 -0
- package/dist/components/Popover/Popover.js +72 -0
- package/dist/components/Popover/Popover.js.map +1 -0
- package/dist/components/Popover/PopoverExample.d.ts +3 -0
- package/dist/components/Popover/PopoverExample.js +19 -0
- package/dist/components/Popover/PopoverExample.js.map +1 -0
- package/dist/components/Popover/index.d.ts +1 -0
- package/dist/components/Popover/index.js +2 -0
- package/dist/components/Popover/index.js.map +1 -0
- package/dist/components/Popover/popover.css +87 -0
- package/dist/components/Popover/popover.css.js +93 -0
- package/dist/components/Portal/Portal.d.ts +29 -0
- package/dist/components/Portal/Portal.js +23 -0
- package/dist/components/Portal/Portal.js.map +1 -0
- package/dist/components/Portal/index.d.ts +1 -0
- package/dist/components/Portal/index.js +2 -0
- package/dist/components/Portal/index.js.map +1 -0
- package/dist/components/ProgressBar/ProgressBar.d.ts +50 -0
- package/dist/components/ProgressBar/ProgressBar.js +25 -0
- package/dist/components/ProgressBar/ProgressBar.js.map +1 -0
- package/dist/components/ProgressBar/index.d.ts +1 -0
- package/dist/components/ProgressBar/index.js +2 -0
- package/dist/components/ProgressBar/index.js.map +1 -0
- package/dist/components/ProgressBar/progress-bar.css +39 -0
- package/dist/components/ProgressBar/progress-bar.css.js +45 -0
- package/dist/components/ProgressCircle/ProgressCircle.d.ts +39 -0
- package/dist/components/ProgressCircle/ProgressCircle.js +36 -0
- package/dist/components/ProgressCircle/ProgressCircle.js.map +1 -0
- package/dist/components/ProgressCircle/index.d.ts +1 -0
- package/dist/components/ProgressCircle/index.js +2 -0
- package/dist/components/ProgressCircle/index.js.map +1 -0
- package/dist/components/ProgressCircle/progress-circle.css +40 -0
- package/dist/components/ProgressCircle/progress-circle.css.js +46 -0
- package/dist/components/ProgressionStepper/ProgressionStepper.d.ts +81 -0
- package/dist/components/ProgressionStepper/ProgressionStepper.js +31 -0
- package/dist/components/ProgressionStepper/ProgressionStepper.js.map +1 -0
- package/dist/components/ProgressionStepper/ProgressionStepperExample.d.ts +3 -0
- package/dist/components/ProgressionStepper/ProgressionStepperExample.js +50 -0
- package/dist/components/ProgressionStepper/ProgressionStepperExample.js.map +1 -0
- package/dist/components/ProgressionStepper/index.d.ts +1 -0
- package/dist/components/ProgressionStepper/index.js +2 -0
- package/dist/components/ProgressionStepper/index.js.map +1 -0
- package/dist/components/ProgressionStepper/progression-stepper.css +131 -0
- package/dist/components/ProgressionStepper/progression-stepper.css.js +137 -0
- package/dist/components/ProgressionStepperBar/ProgressionStepperBar.d.ts +42 -0
- package/dist/components/ProgressionStepperBar/ProgressionStepperBar.js +16 -0
- package/dist/components/ProgressionStepperBar/ProgressionStepperBar.js.map +1 -0
- package/dist/components/ProgressionStepperBar/index.d.ts +1 -0
- package/dist/components/ProgressionStepperBar/index.js +2 -0
- package/dist/components/ProgressionStepperBar/index.js.map +1 -0
- package/dist/components/ProgressionStepperBar/progression-stepper-bar.css +33 -0
- package/dist/components/ProgressionStepperBar/progression-stepper-bar.css.js +39 -0
- package/dist/components/Radio/Radio.d.ts +32 -0
- package/dist/components/Radio/Radio.js +18 -0
- package/dist/components/Radio/Radio.js.map +1 -0
- package/dist/components/Radio/RadioExample.d.ts +2 -0
- package/dist/components/Radio/RadioExample.js +6 -0
- package/dist/components/Radio/RadioExample.js.map +1 -0
- package/dist/components/Radio/index.d.ts +1 -0
- package/dist/components/Radio/index.js +2 -0
- package/dist/components/Radio/index.js.map +1 -0
- package/dist/components/Radio/radio.css +67 -0
- package/dist/components/Radio/radio.css.js +73 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts +94 -0
- package/dist/components/RadioGroup/RadioGroup.js +45 -0
- package/dist/components/RadioGroup/RadioGroup.js.map +1 -0
- package/dist/components/RadioGroup/RadioGroupExample.d.ts +3 -0
- package/dist/components/RadioGroup/RadioGroupExample.js +27 -0
- package/dist/components/RadioGroup/RadioGroupExample.js.map +1 -0
- package/dist/components/RadioGroup/index.d.ts +1 -0
- package/dist/components/RadioGroup/index.js +2 -0
- package/dist/components/RadioGroup/index.js.map +1 -0
- package/dist/components/RadioGroup/radio-group.css +7 -0
- package/dist/components/RadioGroup/radio-group.css.js +13 -0
- package/dist/components/RadioOption/RadioOption.d.ts +26 -0
- package/dist/components/RadioOption/RadioOption.js +18 -0
- package/dist/components/RadioOption/RadioOption.js.map +1 -0
- package/dist/components/RadioOption/RadioOptionExample.d.ts +2 -0
- package/dist/components/RadioOption/RadioOptionExample.js +5 -0
- package/dist/components/RadioOption/RadioOptionExample.js.map +1 -0
- package/dist/components/RadioOption/index.d.ts +1 -0
- package/dist/components/RadioOption/index.js +2 -0
- package/dist/components/RadioOption/index.js.map +1 -0
- package/dist/components/Scrim/Scrim.d.ts +40 -0
- package/dist/components/Scrim/Scrim.js +16 -0
- package/dist/components/Scrim/Scrim.js.map +1 -0
- package/dist/components/Scrim/index.d.ts +1 -0
- package/dist/components/Scrim/index.js +2 -0
- package/dist/components/Scrim/index.js.map +1 -0
- package/dist/components/Scrim/scrim.css +19 -0
- package/dist/components/Scrim/scrim.css.js +25 -0
- package/dist/components/SearchBar/SearchBar.d.ts +94 -0
- package/dist/components/SearchBar/SearchBar.js +85 -0
- package/dist/components/SearchBar/SearchBar.js.map +1 -0
- package/dist/components/SearchBar/SearchBarExample.d.ts +2 -0
- package/dist/components/SearchBar/SearchBarExample.js +11 -0
- package/dist/components/SearchBar/SearchBarExample.js.map +1 -0
- package/dist/components/SearchBar/index.d.ts +1 -0
- package/dist/components/SearchBar/index.js +2 -0
- package/dist/components/SearchBar/index.js.map +1 -0
- package/dist/components/SearchBar/search-bar.css +16 -0
- package/dist/components/SearchBar/search-bar.css.js +22 -0
- package/dist/components/SegmentedControl/SegmentedControl.d.ts +113 -0
- package/dist/components/SegmentedControl/SegmentedControl.js +43 -0
- package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -0
- package/dist/components/SegmentedControl/SegmentedControlExample.d.ts +3 -0
- package/dist/components/SegmentedControl/SegmentedControlExample.js +37 -0
- package/dist/components/SegmentedControl/SegmentedControlExample.js.map +1 -0
- package/dist/components/SegmentedControl/index.d.ts +1 -0
- package/dist/components/SegmentedControl/index.js +2 -0
- package/dist/components/SegmentedControl/index.js.map +1 -0
- package/dist/components/SegmentedControl/segmented-control.css +90 -0
- package/dist/components/SegmentedControl/segmented-control.css.js +96 -0
- package/dist/components/Select/Select.d.ts +86 -0
- package/dist/components/Select/Select.js +61 -0
- package/dist/components/Select/Select.js.map +1 -0
- package/dist/components/Select/SelectExample.d.ts +3 -0
- package/dist/components/Select/SelectExample.js +116 -0
- package/dist/components/Select/SelectExample.js.map +1 -0
- package/dist/components/Select/index.d.ts +1 -0
- package/dist/components/Select/index.js +2 -0
- package/dist/components/Select/index.js.map +1 -0
- package/dist/components/Select/select.css +99 -0
- package/dist/components/Select/select.css.js +105 -0
- package/dist/components/SelectField/SelectField.d.ts +39 -0
- package/dist/components/SelectField/SelectField.js +40 -0
- package/dist/components/SelectField/SelectField.js.map +1 -0
- package/dist/components/SelectField/index.d.ts +1 -0
- package/dist/components/SelectField/index.js +2 -0
- package/dist/components/SelectField/index.js.map +1 -0
- package/dist/components/Skeleton/Skeleton.d.ts +77 -0
- package/dist/components/Skeleton/Skeleton.js +61 -0
- package/dist/components/Skeleton/Skeleton.js.map +1 -0
- package/dist/components/Skeleton/SkeletonExample.d.ts +3 -0
- package/dist/components/Skeleton/SkeletonExample.js +31 -0
- package/dist/components/Skeleton/SkeletonExample.js.map +1 -0
- package/dist/components/Skeleton/index.d.ts +1 -0
- package/dist/components/Skeleton/index.js +2 -0
- package/dist/components/Skeleton/index.js.map +1 -0
- package/dist/components/SkeletonText/SkeletonText.d.ts +52 -0
- package/dist/components/SkeletonText/SkeletonText.js +32 -0
- package/dist/components/SkeletonText/SkeletonText.js.map +1 -0
- package/dist/components/SkeletonText/SkeletonTextExample.d.ts +3 -0
- package/dist/components/SkeletonText/SkeletonTextExample.js +28 -0
- package/dist/components/SkeletonText/SkeletonTextExample.js.map +1 -0
- package/dist/components/SkeletonText/index.d.ts +1 -0
- package/dist/components/SkeletonText/index.js +2 -0
- package/dist/components/SkeletonText/index.js.map +1 -0
- package/dist/components/StylesProviderAnywhere/StylesProviderAnywhere.d.ts +13 -0
- package/dist/components/StylesProviderAnywhere/StylesProviderAnywhere.js +14 -0
- package/dist/components/StylesProviderAnywhere/StylesProviderAnywhere.js.map +1 -0
- package/dist/components/StylesProviderAnywhere/index.d.ts +1 -0
- package/dist/components/StylesProviderAnywhere/index.js +2 -0
- package/dist/components/StylesProviderAnywhere/index.js.map +1 -0
- package/dist/components/StylesProviderBetterHomesGardens/StylesProviderBetterHomesGardens.d.ts +13 -0
- package/dist/components/StylesProviderBetterHomesGardens/StylesProviderBetterHomesGardens.js +14 -0
- package/dist/components/StylesProviderBetterHomesGardens/StylesProviderBetterHomesGardens.js.map +1 -0
- package/dist/components/StylesProviderBetterHomesGardens/index.d.ts +1 -0
- package/dist/components/StylesProviderBetterHomesGardens/index.js +2 -0
- package/dist/components/StylesProviderBetterHomesGardens/index.js.map +1 -0
- package/dist/components/StylesProviderCartus/StylesProviderCartus.d.ts +13 -0
- package/dist/components/StylesProviderCartus/StylesProviderCartus.js +14 -0
- package/dist/components/StylesProviderCartus/StylesProviderCartus.js.map +1 -0
- package/dist/components/StylesProviderCartus/index.d.ts +1 -0
- package/dist/components/StylesProviderCartus/index.js +2 -0
- package/dist/components/StylesProviderCartus/index.js.map +1 -0
- package/dist/components/StylesProviderCentury21/StylesProviderCentury21.d.ts +13 -0
- package/dist/components/StylesProviderCentury21/StylesProviderCentury21.js +14 -0
- package/dist/components/StylesProviderCentury21/StylesProviderCentury21.js.map +1 -0
- package/dist/components/StylesProviderCentury21/index.d.ts +1 -0
- package/dist/components/StylesProviderCentury21/index.js +2 -0
- package/dist/components/StylesProviderCentury21/index.js.map +1 -0
- package/dist/components/StylesProviderColdwellBanker/StylesProviderColdwellBanker.d.ts +13 -0
- package/dist/components/StylesProviderColdwellBanker/StylesProviderColdwellBanker.js +14 -0
- package/dist/components/StylesProviderColdwellBanker/StylesProviderColdwellBanker.js.map +1 -0
- package/dist/components/StylesProviderColdwellBanker/index.d.ts +1 -0
- package/dist/components/StylesProviderColdwellBanker/index.js +2 -0
- package/dist/components/StylesProviderColdwellBanker/index.js.map +1 -0
- package/dist/components/StylesProviderCorcoran/StylesProviderCorcoran.d.ts +13 -0
- package/dist/components/StylesProviderCorcoran/StylesProviderCorcoran.js +14 -0
- package/dist/components/StylesProviderCorcoran/StylesProviderCorcoran.js.map +1 -0
- package/dist/components/StylesProviderCorcoran/index.d.ts +1 -0
- package/dist/components/StylesProviderCorcoran/index.js +2 -0
- package/dist/components/StylesProviderCorcoran/index.js.map +1 -0
- package/dist/components/StylesProviderDenaliBoss/StylesProviderDenaliBoss.d.ts +13 -0
- package/dist/components/StylesProviderDenaliBoss/StylesProviderDenaliBoss.js +14 -0
- package/dist/components/StylesProviderDenaliBoss/StylesProviderDenaliBoss.js.map +1 -0
- package/dist/components/StylesProviderDenaliBoss/index.d.ts +1 -0
- package/dist/components/StylesProviderDenaliBoss/index.js +2 -0
- package/dist/components/StylesProviderDenaliBoss/index.js.map +1 -0
- package/dist/components/StylesProviderEra/StylesProviderEra.d.ts +13 -0
- package/dist/components/StylesProviderEra/StylesProviderEra.js +14 -0
- package/dist/components/StylesProviderEra/StylesProviderEra.js.map +1 -0
- package/dist/components/StylesProviderEra/index.d.ts +1 -0
- package/dist/components/StylesProviderEra/index.js +2 -0
- package/dist/components/StylesProviderEra/index.js.map +1 -0
- package/dist/components/StylesProviderSothebys/StylesProviderSothebys.d.ts +13 -0
- package/dist/components/StylesProviderSothebys/StylesProviderSothebys.js +14 -0
- package/dist/components/StylesProviderSothebys/StylesProviderSothebys.js.map +1 -0
- package/dist/components/StylesProviderSothebys/index.d.ts +1 -0
- package/dist/components/StylesProviderSothebys/index.js +2 -0
- package/dist/components/StylesProviderSothebys/index.js.map +1 -0
- package/dist/components/Switch/Switch.d.ts +57 -0
- package/dist/components/Switch/Switch.js +36 -0
- package/dist/components/Switch/Switch.js.map +1 -0
- package/dist/components/Switch/index.d.ts +1 -0
- package/dist/components/Switch/index.js +2 -0
- package/dist/components/Switch/index.js.map +1 -0
- package/dist/components/Switch/switch.css +54 -0
- package/dist/components/Switch/switch.css.js +60 -0
- package/dist/components/SwitchOption/SwitchOption.d.ts +17 -0
- package/dist/components/SwitchOption/SwitchOption.js +18 -0
- package/dist/components/SwitchOption/SwitchOption.js.map +1 -0
- package/dist/components/SwitchOption/index.d.ts +1 -0
- package/dist/components/SwitchOption/index.js +2 -0
- package/dist/components/SwitchOption/index.js.map +1 -0
- package/dist/components/TabGroup/TabGroup.d.ts +123 -0
- package/dist/components/TabGroup/TabGroup.js +50 -0
- package/dist/components/TabGroup/TabGroup.js.map +1 -0
- package/dist/components/TabGroup/TabGroupExample.d.ts +3 -0
- package/dist/components/TabGroup/TabGroupExample.js +97 -0
- package/dist/components/TabGroup/TabGroupExample.js.map +1 -0
- package/dist/components/TabGroup/index.d.ts +1 -0
- package/dist/components/TabGroup/index.js +2 -0
- package/dist/components/TabGroup/index.js.map +1 -0
- package/dist/components/TabGroup/tab-group.css +82 -0
- package/dist/components/TabGroup/tab-group.css.js +88 -0
- package/dist/components/Table/Table.d.ts +46 -0
- package/dist/components/Table/Table.js +20 -0
- package/dist/components/Table/Table.js.map +1 -0
- package/dist/components/Table/index.d.ts +1 -0
- package/dist/components/Table/index.js +2 -0
- package/dist/components/Table/index.js.map +1 -0
- package/dist/components/Table/table.css +43 -0
- package/dist/components/Table/table.css.js +49 -0
- package/dist/components/Tag/Tag.d.ts +71 -0
- package/dist/components/Tag/Tag.js +26 -0
- package/dist/components/Tag/Tag.js.map +1 -0
- package/dist/components/Tag/index.d.ts +1 -0
- package/dist/components/Tag/index.js +2 -0
- package/dist/components/Tag/index.js.map +1 -0
- package/dist/components/Tag/tag.css +48 -0
- package/dist/components/Tag/tag.css.js +54 -0
- package/dist/components/TextField/TextField.d.ts +35 -0
- package/dist/components/TextField/TextField.js +35 -0
- package/dist/components/TextField/TextField.js.map +1 -0
- package/dist/components/TextField/index.d.ts +1 -0
- package/dist/components/TextField/index.js +2 -0
- package/dist/components/TextField/index.js.map +1 -0
- package/dist/components/TextInput/TextInput.d.ts +72 -0
- package/dist/components/TextInput/TextInput.js +39 -0
- package/dist/components/TextInput/TextInput.js.map +1 -0
- package/dist/components/TextInput/TextInputExample.d.ts +3 -0
- package/dist/components/TextInput/TextInputExample.js +32 -0
- package/dist/components/TextInput/TextInputExample.js.map +1 -0
- package/dist/components/TextInput/index.d.ts +1 -0
- package/dist/components/TextInput/index.js +2 -0
- package/dist/components/TextInput/index.js.map +1 -0
- package/dist/components/TextInput/text-input.css +108 -0
- package/dist/components/TextInput/text-input.css.js +114 -0
- package/dist/components/Textarea/Textarea.d.ts +86 -0
- package/dist/components/Textarea/Textarea.js +63 -0
- package/dist/components/Textarea/Textarea.js.map +1 -0
- package/dist/components/Textarea/TextareaExample.d.ts +3 -0
- package/dist/components/Textarea/TextareaExample.js +2 -0
- package/dist/components/Textarea/TextareaExample.js.map +1 -0
- package/dist/components/Textarea/index.d.ts +1 -0
- package/dist/components/Textarea/index.js +2 -0
- package/dist/components/Textarea/index.js.map +1 -0
- package/dist/components/Textarea/textarea.css +72 -0
- package/dist/components/Textarea/textarea.css.js +78 -0
- package/dist/components/TextareaField/TextareaField.d.ts +43 -0
- package/dist/components/TextareaField/TextareaField.js +46 -0
- package/dist/components/TextareaField/TextareaField.js.map +1 -0
- package/dist/components/TextareaField/TextareaFieldExample.d.ts +3 -0
- package/dist/components/TextareaField/TextareaFieldExample.js +9 -0
- package/dist/components/TextareaField/TextareaFieldExample.js.map +1 -0
- package/dist/components/TextareaField/index.d.ts +1 -0
- package/dist/components/TextareaField/index.js +2 -0
- package/dist/components/TextareaField/index.js.map +1 -0
- package/dist/components/ToggleOption/ToggleOption.d.ts +31 -0
- package/dist/components/ToggleOption/ToggleOption.js +14 -0
- package/dist/components/ToggleOption/ToggleOption.js.map +1 -0
- package/dist/components/ToggleOption/index.d.ts +1 -0
- package/dist/components/ToggleOption/index.js +2 -0
- package/dist/components/ToggleOption/index.js.map +1 -0
- package/dist/components/ToggleOption/toggle-option.css +47 -0
- package/dist/components/ToggleOption/toggle-option.css.js +53 -0
- package/dist/components/Tooltip/Tooltip.d.ts +52 -0
- package/dist/components/Tooltip/Tooltip.js +61 -0
- package/dist/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/components/Tooltip/TooltipExample.d.ts +2 -0
- package/dist/components/Tooltip/TooltipExample.js +8 -0
- package/dist/components/Tooltip/TooltipExample.js.map +1 -0
- package/dist/components/Tooltip/index.d.ts +1 -0
- package/dist/components/Tooltip/index.js +2 -0
- package/dist/components/Tooltip/index.js.map +1 -0
- package/dist/components/Tooltip/tooltip.css +50 -0
- package/dist/components/Tooltip/tooltip.css.js +56 -0
- package/dist/components/TopNavigation/TopNavigation.d.ts +17 -0
- package/dist/components/TopNavigation/TopNavigation.js +14 -0
- package/dist/components/TopNavigation/TopNavigation.js.map +1 -0
- package/dist/components/TopNavigation/index.d.ts +1 -0
- package/dist/components/TopNavigation/index.js +2 -0
- package/dist/components/TopNavigation/index.js.map +1 -0
- package/dist/components/TopNavigation/top-navigation.css +5 -0
- package/dist/components/TopNavigation/top-navigation.css.js +11 -0
- package/dist/components/Truncated/Truncated.d.ts +34 -0
- package/dist/components/Truncated/Truncated.js +17 -0
- package/dist/components/Truncated/Truncated.js.map +1 -0
- package/dist/components/Truncated/index.d.ts +1 -0
- package/dist/components/Truncated/index.js +2 -0
- package/dist/components/Truncated/index.js.map +1 -0
- package/dist/components/Txt/Txt.d.ts +60 -0
- package/dist/components/Txt/Txt.js +28 -0
- package/dist/components/Txt/Txt.js.map +1 -0
- package/dist/components/Txt/index.d.ts +1 -0
- package/dist/components/Txt/index.js +2 -0
- package/dist/components/Txt/index.js.map +1 -0
- package/dist/components/UIProvider/UIProvider.d.ts +14 -0
- package/dist/components/UIProvider/UIProvider.js +32 -0
- package/dist/components/UIProvider/UIProvider.js.map +1 -0
- package/dist/components/UIProvider/index.d.ts +1 -0
- package/dist/components/UIProvider/index.js +2 -0
- package/dist/components/UIProvider/index.js.map +1 -0
- package/dist/hooks/useAddEventListener.d.ts +1 -0
- package/dist/hooks/useAddEventListener.js +27 -0
- package/dist/hooks/useAddEventListener.js.map +1 -0
- package/dist/hooks/useCheckboxGroupState.d.ts +1 -1
- package/dist/hooks/useCheckboxState.d.ts +1 -1
- package/dist/hooks/useCombobox.d.ts +39 -29
- package/dist/hooks/useCombobox.js +56 -30
- package/dist/hooks/useCombobox.js.map +1 -1
- package/dist/hooks/useDebounceCallback.d.ts +11 -0
- package/dist/hooks/useDebounceCallback.js +14 -0
- package/dist/hooks/useDebounceCallback.js.map +1 -0
- package/dist/hooks/useDebounceState.d.ts +10 -0
- package/dist/hooks/useDebounceState.js +16 -0
- package/dist/hooks/useDebounceState.js.map +1 -0
- package/dist/hooks/useFloating.d.ts +14 -10
- package/dist/hooks/useFloating.js +14 -11
- package/dist/hooks/useFloating.js.map +1 -1
- package/dist/hooks/useIsomorphicEffect.d.ts +2 -0
- package/dist/hooks/useIsomorphicEffect.js +3 -0
- package/dist/hooks/useIsomorphicEffect.js.map +1 -0
- package/dist/hooks/useLongPress.d.ts +13 -9
- package/dist/hooks/useLongPress.js +41 -38
- package/dist/hooks/useLongPress.js.map +1 -1
- package/dist/hooks/useMutationObserver.d.ts +8 -0
- package/dist/hooks/useMutationObserver.js +25 -0
- package/dist/hooks/useMutationObserver.js.map +1 -0
- package/dist/hooks/useOptionIconsInvalid.js.map +1 -1
- package/dist/hooks/useOutsideClick.d.ts +1 -1
- package/dist/hooks/useOutsideClick.js +1 -1
- package/dist/hooks/useOutsideClick.js.map +1 -1
- package/dist/hooks/useRadioState.d.ts +1 -1
- package/dist/hooks/useTimeout.d.ts +7 -8
- package/dist/hooks/useTimeout.js +7 -8
- package/dist/hooks/useTimeout.js.map +1 -1
- package/dist/hooks/useTruncatedText.d.ts +10 -0
- package/dist/hooks/useTruncatedText.js +17 -0
- package/dist/hooks/useTruncatedText.js.map +1 -0
- package/dist/hooks/useUIContext.d.ts +1 -0
- package/dist/hooks/useUIContext.js +10 -0
- package/dist/hooks/useUIContext.js.map +1 -0
- package/dist/hooks/useValidChildren.js.map +1 -1
- package/dist/index.d.ts +17 -7
- package/dist/index.js +36 -9
- package/dist/index.js.map +1 -1
- package/dist/styles/anywhere.css +1693 -0
- package/dist/styles/anywhere.css.js +1699 -0
- package/dist/styles/better-homes-gardens.css +1693 -0
- package/dist/styles/better-homes-gardens.css.js +1699 -0
- package/dist/styles/cartus.css +1691 -0
- package/dist/styles/cartus.css.js +1697 -0
- package/dist/styles/century-21.css +1689 -0
- package/dist/styles/century-21.css.js +1695 -0
- package/dist/styles/coldwell-banker.css +1691 -0
- package/dist/styles/coldwell-banker.css.js +1697 -0
- package/dist/styles/corcoran.css +1685 -0
- package/dist/styles/corcoran.css.js +1691 -0
- package/dist/styles/denali-boss.css +1681 -0
- package/dist/styles/denali-boss.css.js +1687 -0
- package/dist/styles/era.css +1685 -0
- package/dist/styles/era.css.js +1691 -0
- package/dist/styles/sothebys.css +1677 -0
- package/dist/styles/sothebys.css.js +1683 -0
- package/dist/utils/countryCodes.d.ts +10 -0
- package/dist/utils/countryCodes.js +248 -0
- package/dist/utils/countryCodes.js.map +1 -0
- package/dist/utils/cwv.d.ts +9 -0
- package/dist/utils/cwv.js +10 -0
- package/dist/utils/cwv.js.map +1 -0
- package/dist/utils/demo.d.ts +93 -0
- package/dist/utils/demo.js +5 -0
- package/dist/utils/demo.js.map +1 -0
- package/dist/utils/errors.d.ts +1 -4
- package/dist/utils/errors.js +2 -5
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/guessUserCountryCode.d.ts +8 -0
- package/dist/utils/guessUserCountryCode.js +15 -0
- package/dist/utils/guessUserCountryCode.js.map +1 -0
- package/dist/utils/uiContext.d.ts +10 -0
- package/dist/utils/uiContext.js +4 -0
- package/dist/utils/uiContext.js.map +1 -0
- package/meta-types.ts +11 -2
- package/meta.ts +166 -70
- package/package.json +216 -13
- package/src/base.scss +126 -84
- package/src/colors.scss +1 -1
- package/src/components/Avatar/Avatar.tsx +152 -0
- package/src/components/Avatar/AvatarExample.tsx +42 -0
- package/src/components/Avatar/avatar.scss +101 -0
- package/src/components/Avatar/index.tsx +1 -0
- package/src/components/AvatarGroup/AvatarGroup.tsx +86 -0
- package/src/components/AvatarGroup/avatar-group.scss +13 -0
- package/src/components/AvatarGroup/index.tsx +1 -0
- package/src/components/Badge/Badge.tsx +91 -0
- package/src/components/Badge/BadgeExample.tsx +73 -0
- package/src/components/Badge/badge.scss +51 -0
- package/src/components/Badge/index.tsx +1 -0
- package/src/components/BannerAlert/BannerAlert.tsx +116 -0
- package/src/components/BannerAlert/BannerAlertExample.tsx +34 -0
- package/src/components/BannerAlert/banner-alert.scss +114 -0
- package/src/components/BannerAlert/index.tsx +1 -0
- package/src/components/Breadcrumb/Breadcrumb.tsx +165 -0
- package/src/components/Breadcrumb/BreadcrumbExample.tsx +92 -0
- package/src/components/Breadcrumb/breadcrumb.scss +16 -0
- package/src/components/Breadcrumb/index.tsx +1 -0
- package/src/components/Button/Button.tsx +163 -0
- package/src/components/Button/ButtonExample.tsx +30 -0
- package/src/components/Button/button.scss +214 -0
- package/src/components/Button/index.tsx +1 -0
- package/src/components/Card/Card.tsx +59 -0
- package/src/components/Card/CardExample.tsx +16 -0
- package/src/components/Card/index.tsx +1 -0
- package/src/components/Checkbox/Checkbox.tsx +122 -0
- package/src/components/Checkbox/checkbox.scss +97 -0
- package/src/components/Checkbox/index.tsx +1 -0
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +134 -0
- package/src/components/CheckboxGroup/CheckboxGroupExample.tsx +28 -0
- package/src/components/CheckboxGroup/index.tsx +1 -0
- package/src/components/CheckboxOption/CheckboxOption.tsx +59 -0
- package/src/components/CheckboxOption/index.tsx +1 -0
- package/src/components/Chip/Chip.tsx +104 -0
- package/src/components/Chip/index.tsx +1 -0
- package/src/components/ChipAssist/ChipAssist.tsx +33 -0
- package/src/components/ChipAssist/ChipAssistExample.tsx +33 -0
- package/src/components/ChipAssist/index.tsx +1 -0
- package/src/components/ChipFilter/ChipFilter.tsx +71 -0
- package/src/components/ChipFilter/ChipFilterExample.tsx +61 -0
- package/src/components/ChipFilter/index.tsx +1 -0
- package/src/components/ChipGroup/ChipGroup.tsx +53 -0
- package/src/components/ChipGroup/ChipGroupExample.tsx +158 -0
- package/src/components/ChipGroup/chip-group.scss +12 -0
- package/src/components/ChipGroup/index.tsx +1 -0
- package/src/components/ChipInput/ChipInput.tsx +50 -0
- package/src/components/ChipInput/ChipInputExample.tsx +48 -0
- package/src/components/ChipInput/index.tsx +1 -0
- package/src/components/ChipSuggestion/ChipSuggestion.tsx +26 -0
- package/src/components/ChipSuggestion/ChipSuggestionExample.tsx +25 -0
- package/src/components/ChipSuggestion/index.tsx +1 -0
- package/src/components/ChipUtility/ChipUtility.tsx +129 -0
- package/src/components/ChipUtility/ChipUtilityExample.tsx +63 -0
- package/src/components/ChipUtility/chip-utility.scss +59 -0
- package/src/components/ChipUtility/index.tsx +1 -0
- package/src/components/Combobox/Combobox.tsx +314 -0
- package/src/components/Combobox/index.tsx +1 -0
- package/src/components/Dialog/Dialog.tsx +175 -0
- package/src/components/Dialog/DialogExample.tsx +27 -0
- package/src/components/Dialog/dialog.scss +153 -0
- package/src/components/Dialog/index.tsx +1 -0
- package/src/components/Divider/Divider.tsx +90 -0
- package/src/components/Divider/DividerExample.tsx +26 -0
- package/src/components/Divider/index.tsx +1 -0
- package/src/components/EmptyState/EmptyState.tsx +91 -0
- package/src/components/EmptyState/EmptyStateExample.tsx +37 -0
- package/src/components/EmptyState/index.tsx +1 -0
- package/src/components/ExamplePlaceholder/ExamplePlaceholder.tsx +56 -0
- package/src/components/ExamplePlaceholder/index.tsx +1 -0
- package/src/components/Fab/Fab.tsx +107 -0
- package/src/components/Fab/FabExample.tsx +7 -0
- package/src/components/Fab/fab.scss +122 -0
- package/src/components/Fab/index.tsx +1 -0
- package/src/components/FormField/FormField.tsx +131 -0
- package/src/components/FormField/form-field.scss +19 -0
- package/src/components/FormField/index.tsx +1 -0
- package/src/components/Img/Img.tsx +39 -0
- package/src/components/Img/index.tsx +1 -0
- package/src/components/InlineAlert/InlineAlert.tsx +80 -0
- package/src/components/InlineAlert/index.tsx +1 -0
- package/src/components/Layout/Layout.tsx +91 -0
- package/src/components/Layout/index.tsx +1 -0
- package/src/components/Link/Link.tsx +96 -0
- package/src/components/Link/LinkExample.tsx +91 -0
- package/src/components/Link/index.tsx +1 -0
- package/src/components/ListItem/ListItem.tsx +233 -0
- package/src/components/ListItem/ListItemExample.tsx +92 -0
- package/src/components/ListItem/index.tsx +1 -0
- package/src/components/ListItem/list-item.scss +123 -0
- package/src/components/Listbox/Listbox.tsx +257 -0
- package/src/components/Listbox/index.tsx +1 -0
- package/src/components/Menu/Menu.tsx +143 -0
- package/src/components/Menu/MenuExample.tsx +72 -0
- package/src/components/Menu/index.tsx +1 -0
- package/src/components/Menu/menu.scss +25 -0
- package/src/components/MenuButton/MenuButton.tsx +34 -0
- package/src/components/MenuButton/index.tsx +1 -0
- package/src/components/Modal/Modal.tsx +214 -0
- package/src/components/Modal/ModalExample.tsx +74 -0
- package/src/components/Modal/index.tsx +1 -0
- package/src/components/Modal/modal.scss +47 -0
- package/src/components/NumberField/NumberField.tsx +79 -0
- package/src/components/NumberField/index.tsx +1 -0
- package/src/components/NumberInput/NumberInput.tsx +199 -0
- package/src/components/NumberInput/index.tsx +1 -0
- package/src/components/PhoneNumberField/PhoneNumberField.tsx +80 -0
- package/src/components/PhoneNumberField/index.tsx +1 -0
- package/src/components/PhoneNumberInput/PhoneNumberInput.tsx +226 -0
- package/src/components/PhoneNumberInput/index.tsx +1 -0
- package/src/components/PhoneNumberInput/phone-number-input.scss +49 -0
- package/src/components/Popover/Popover.tsx +156 -0
- package/src/components/Popover/PopoverExample.tsx +27 -0
- package/src/components/Popover/index.tsx +1 -0
- package/src/components/Portal/Portal.tsx +42 -0
- package/src/components/Portal/index.tsx +1 -0
- package/src/components/ProgressBar/ProgressBar.tsx +78 -0
- package/src/components/ProgressBar/index.tsx +1 -0
- package/src/components/ProgressCircle/ProgressCircle.tsx +104 -0
- package/src/components/ProgressCircle/index.tsx +1 -0
- package/src/components/ProgressionStepper/ProgressionStepper.tsx +136 -0
- package/src/components/ProgressionStepper/ProgressionStepperExample.tsx +53 -0
- package/src/components/ProgressionStepper/index.tsx +1 -0
- package/src/components/ProgressionStepperBar/ProgressionStepperBar.tsx +65 -0
- package/src/components/ProgressionStepperBar/index.tsx +1 -0
- package/src/components/Radio/Radio.tsx +56 -0
- package/src/components/Radio/RadioExample.tsx +5 -0
- package/src/components/Radio/index.tsx +1 -0
- package/src/components/Radio/radio.scss +80 -0
- package/src/components/RadioGroup/RadioGroup.tsx +142 -0
- package/src/components/RadioGroup/RadioGroupExample.tsx +30 -0
- package/src/components/RadioGroup/index.tsx +1 -0
- package/src/components/RadioGroup/radio-group.scss +7 -0
- package/src/components/RadioOption/RadioOption.tsx +41 -0
- package/src/components/RadioOption/RadioOptionExample.tsx +6 -0
- package/src/components/RadioOption/index.tsx +1 -0
- package/src/components/Scrim/Scrim.tsx +53 -0
- package/src/components/Scrim/index.tsx +1 -0
- package/src/components/Scrim/scrim.scss +21 -0
- package/src/components/SearchBar/SearchBar.tsx +208 -0
- package/src/components/SearchBar/SearchBarExample.tsx +19 -0
- package/src/components/SearchBar/index.tsx +1 -0
- package/src/components/SearchBar/search-bar.scss +16 -0
- package/src/components/SegmentedControl/SegmentedControl.tsx +163 -0
- package/src/components/SegmentedControl/SegmentedControlExample.tsx +40 -0
- package/src/components/SegmentedControl/index.tsx +1 -0
- package/src/components/SegmentedControl/segmented-control.scss +121 -0
- package/src/components/Select/Select.tsx +184 -0
- package/src/components/Select/SelectExample.tsx +130 -0
- package/src/components/Select/index.tsx +1 -0
- package/src/components/Select/select.scss +120 -0
- package/src/components/SelectField/SelectField.tsx +79 -0
- package/src/components/SelectField/index.tsx +1 -0
- package/src/components/Skeleton/Skeleton.tsx +113 -0
- package/src/components/Skeleton/SkeletonExample.tsx +62 -0
- package/src/components/Skeleton/index.tsx +1 -0
- package/src/components/SkeletonText/SkeletonText.tsx +76 -0
- package/src/components/SkeletonText/SkeletonTextExample.tsx +45 -0
- package/src/components/SkeletonText/index.tsx +1 -0
- package/src/components/StylesProviderAnywhere/StylesProviderAnywhere.tsx +17 -0
- package/src/components/StylesProviderAnywhere/index.tsx +1 -0
- package/src/components/StylesProviderBetterHomesGardens/StylesProviderBetterHomesGardens.tsx +17 -0
- package/src/components/StylesProviderBetterHomesGardens/index.tsx +1 -0
- package/src/components/StylesProviderCartus/StylesProviderCartus.tsx +17 -0
- package/src/components/StylesProviderCartus/index.tsx +1 -0
- package/src/components/StylesProviderCentury21/StylesProviderCentury21.tsx +17 -0
- package/src/components/StylesProviderCentury21/index.tsx +1 -0
- package/src/components/StylesProviderColdwellBanker/StylesProviderColdwellBanker.tsx +17 -0
- package/src/components/StylesProviderColdwellBanker/index.tsx +1 -0
- package/src/components/StylesProviderCorcoran/StylesProviderCorcoran.tsx +17 -0
- package/src/components/StylesProviderCorcoran/index.tsx +1 -0
- package/src/components/StylesProviderDenaliBoss/StylesProviderDenaliBoss.tsx +17 -0
- package/src/components/StylesProviderDenaliBoss/index.tsx +1 -0
- package/src/components/StylesProviderEra/StylesProviderEra.tsx +17 -0
- package/src/components/StylesProviderEra/index.tsx +1 -0
- package/src/components/StylesProviderSothebys/StylesProviderSothebys.tsx +17 -0
- package/src/components/StylesProviderSothebys/index.tsx +1 -0
- package/src/components/Switch/Switch.tsx +78 -0
- package/src/components/Switch/index.tsx +1 -0
- package/src/components/Switch/switch.scss +63 -0
- package/src/components/SwitchOption/SwitchOption.tsx +30 -0
- package/src/components/SwitchOption/index.tsx +1 -0
- package/src/components/TabGroup/TabGroup.tsx +181 -0
- package/src/components/TabGroup/TabGroupExample.tsx +100 -0
- package/src/components/TabGroup/index.tsx +1 -0
- package/src/components/Table/Table.tsx +81 -0
- package/src/components/Table/index.tsx +1 -0
- package/src/components/Tag/Tag.tsx +99 -0
- package/src/components/Tag/index.tsx +1 -0
- package/src/components/TextField/TextField.tsx +89 -0
- package/src/components/TextField/index.tsx +1 -0
- package/src/components/TextInput/TextInput.tsx +145 -0
- package/src/components/TextInput/TextInputExample.tsx +35 -0
- package/src/components/TextInput/index.tsx +1 -0
- package/src/components/TextInput/text-input.scss +146 -0
- package/src/components/Textarea/Textarea.tsx +164 -0
- package/src/components/Textarea/TextareaExample.tsx +5 -0
- package/src/components/Textarea/index.tsx +1 -0
- package/src/components/Textarea/textarea.scss +96 -0
- package/src/components/TextareaField/TextareaField.tsx +104 -0
- package/src/components/TextareaField/TextareaFieldExample.tsx +19 -0
- package/src/components/TextareaField/index.tsx +1 -0
- package/src/components/ToggleOption/ToggleOption.tsx +44 -0
- package/src/components/ToggleOption/index.tsx +1 -0
- package/src/components/ToggleOption/toggle-option.scss +60 -0
- package/src/components/Tooltip/Tooltip.tsx +132 -0
- package/src/components/Tooltip/TooltipExample.tsx +17 -0
- package/src/components/Tooltip/index.tsx +1 -0
- package/src/components/Tooltip/tooltip.scss +65 -0
- package/src/components/TopNavigation/TopNavigation.tsx +22 -0
- package/src/components/TopNavigation/index.tsx +1 -0
- package/src/components/Truncated/Truncated.tsx +54 -0
- package/src/components/Truncated/index.tsx +1 -0
- package/src/components/Txt/Txt.tsx +92 -0
- package/src/components/Txt/index.tsx +1 -0
- package/src/components/UIProvider/UIProvider.tsx +51 -0
- package/src/components/UIProvider/index.tsx +1 -0
- package/src/hooks/useAddEventListener.ts +51 -0
- package/src/hooks/useCheckboxGroupState.ts +1 -1
- package/src/hooks/useCheckboxState.ts +1 -1
- package/src/hooks/useCombobox.ts +112 -36
- package/src/hooks/useDebounceCallback.ts +16 -0
- package/src/hooks/useDebounceState.ts +18 -0
- package/src/hooks/useFloating.ts +29 -15
- package/src/hooks/useIsomorphicEffect.ts +3 -0
- package/src/hooks/useLongPress.ts +45 -42
- package/src/hooks/useMutationObserver.ts +29 -0
- package/src/hooks/useOptionIconsInvalid.ts +2 -2
- package/src/hooks/useOutsideClick.ts +3 -2
- package/src/hooks/useRadioState.ts +1 -1
- package/src/hooks/useTimeout.ts +7 -8
- package/src/hooks/useTruncatedText.ts +20 -0
- package/src/hooks/useUIContext.ts +11 -0
- package/src/hooks/useValidChildren.ts +2 -2
- package/src/index.ts +61 -16
- package/src/utils/countryCodes.ts +276 -0
- package/src/utils/cwv.ts +13 -0
- package/src/utils/demo.ts +121 -0
- package/src/utils/errors.ts +105 -0
- package/src/utils/guessUserCountryCode.ts +17 -0
- package/src/utils/uiContext.ts +15 -0
- package/tsconfig.json +52 -0
- package/dist/Avatar.d.ts +0 -90
- package/dist/Avatar.js +0 -62
- package/dist/Avatar.js.map +0 -1
- package/dist/AvatarGroup.d.ts +0 -63
- package/dist/AvatarGroup.js +0 -32
- package/dist/AvatarGroup.js.map +0 -1
- package/dist/Badge.d.ts +0 -63
- package/dist/Badge.js +0 -41
- package/dist/Badge.js.map +0 -1
- package/dist/BannerAlert.d.ts +0 -70
- package/dist/BannerAlert.js +0 -37
- package/dist/BannerAlert.js.map +0 -1
- package/dist/Button.d.ts +0 -92
- package/dist/Button.js +0 -48
- package/dist/Button.js.map +0 -1
- package/dist/Card.d.ts +0 -49
- package/dist/Card.js +0 -30
- package/dist/Card.js.map +0 -1
- package/dist/Checkbox.d.ts +0 -60
- package/dist/Checkbox.js +0 -53
- package/dist/Checkbox.js.map +0 -1
- package/dist/CheckboxGroup.d.ts +0 -82
- package/dist/CheckboxGroup.js +0 -39
- package/dist/CheckboxGroup.js.map +0 -1
- package/dist/CheckboxOption.d.ts +0 -44
- package/dist/CheckboxOption.js +0 -37
- package/dist/CheckboxOption.js.map +0 -1
- package/dist/Chip.d.ts +0 -63
- package/dist/Chip.js +0 -33
- package/dist/Chip.js.map +0 -1
- package/dist/Dialog.d.ts +0 -65
- package/dist/Dialog.js +0 -89
- package/dist/Dialog.js.map +0 -1
- package/dist/Divider.d.ts +0 -57
- package/dist/Divider.js +0 -39
- package/dist/Divider.js.map +0 -1
- package/dist/EmptyState.d.ts +0 -52
- package/dist/EmptyState.js +0 -29
- package/dist/EmptyState.js.map +0 -1
- package/dist/Fab.d.ts +0 -51
- package/dist/Fab.js +0 -32
- package/dist/Fab.js.map +0 -1
- package/dist/FormField.d.ts +0 -74
- package/dist/FormField.js +0 -52
- package/dist/FormField.js.map +0 -1
- package/dist/Img.d.ts +0 -33
- package/dist/Img.js +0 -19
- package/dist/Img.js.map +0 -1
- package/dist/InlineAlert.d.ts +0 -38
- package/dist/InlineAlert.js +0 -34
- package/dist/InlineAlert.js.map +0 -1
- package/dist/Layout.d.ts +0 -55
- package/dist/Layout.js +0 -29
- package/dist/Layout.js.map +0 -1
- package/dist/Link.d.ts +0 -60
- package/dist/Link.js +0 -24
- package/dist/Link.js.map +0 -1
- package/dist/ListItem.d.ts +0 -83
- package/dist/ListItem.js +0 -108
- package/dist/ListItem.js.map +0 -1
- package/dist/Menu.d.ts +0 -133
- package/dist/Menu.js +0 -112
- package/dist/Menu.js.map +0 -1
- package/dist/MenuButton.d.ts +0 -22
- package/dist/MenuButton.js +0 -22
- package/dist/MenuButton.js.map +0 -1
- package/dist/Modal.d.ts +0 -53
- package/dist/Modal.js +0 -54
- package/dist/Modal.js.map +0 -1
- package/dist/NumberField.d.ts +0 -37
- package/dist/NumberField.js +0 -37
- package/dist/NumberField.js.map +0 -1
- package/dist/NumberInput.d.ts +0 -64
- package/dist/NumberInput.js +0 -93
- package/dist/NumberInput.js.map +0 -1
- package/dist/Popover.d.ts +0 -70
- package/dist/Popover.js +0 -72
- package/dist/Popover.js.map +0 -1
- package/dist/Portal.d.ts +0 -28
- package/dist/Portal.js +0 -22
- package/dist/Portal.js.map +0 -1
- package/dist/ProgressBar.d.ts +0 -49
- package/dist/ProgressBar.js +0 -24
- package/dist/ProgressBar.js.map +0 -1
- package/dist/ProgressCircle.d.ts +0 -38
- package/dist/ProgressCircle.js +0 -37
- package/dist/ProgressCircle.js.map +0 -1
- package/dist/ProgressionStepper.d.ts +0 -80
- package/dist/ProgressionStepper.js +0 -31
- package/dist/ProgressionStepper.js.map +0 -1
- package/dist/ProgressionStepperBar.d.ts +0 -41
- package/dist/ProgressionStepperBar.js +0 -15
- package/dist/ProgressionStepperBar.js.map +0 -1
- package/dist/Radio.d.ts +0 -31
- package/dist/Radio.js +0 -18
- package/dist/Radio.js.map +0 -1
- package/dist/RadioGroup.d.ts +0 -93
- package/dist/RadioGroup.js +0 -45
- package/dist/RadioGroup.js.map +0 -1
- package/dist/RadioOption.d.ts +0 -25
- package/dist/RadioOption.js +0 -17
- package/dist/RadioOption.js.map +0 -1
- package/dist/SearchBar.d.ts +0 -99
- package/dist/SearchBar.js +0 -78
- package/dist/SearchBar.js.map +0 -1
- package/dist/SegmentedControl.d.ts +0 -112
- package/dist/SegmentedControl.js +0 -43
- package/dist/SegmentedControl.js.map +0 -1
- package/dist/Select.d.ts +0 -100
- package/dist/Select.js +0 -67
- package/dist/Select.js.map +0 -1
- package/dist/SelectField.d.ts +0 -38
- package/dist/SelectField.js +0 -39
- package/dist/SelectField.js.map +0 -1
- package/dist/Skeleton.d.ts +0 -69
- package/dist/Skeleton.js +0 -49
- package/dist/Skeleton.js.map +0 -1
- package/dist/StylesProviderAnywhere.d.ts +0 -13
- package/dist/StylesProviderAnywhere.js +0 -15
- package/dist/StylesProviderAnywhere.js.map +0 -1
- package/dist/StylesProviderBetterHomesGardens.d.ts +0 -13
- package/dist/StylesProviderBetterHomesGardens.js +0 -15
- package/dist/StylesProviderBetterHomesGardens.js.map +0 -1
- package/dist/StylesProviderCartus.d.ts +0 -13
- package/dist/StylesProviderCartus.js +0 -15
- package/dist/StylesProviderCartus.js.map +0 -1
- package/dist/StylesProviderCentury21.d.ts +0 -13
- package/dist/StylesProviderCentury21.js +0 -15
- package/dist/StylesProviderCentury21.js.map +0 -1
- package/dist/StylesProviderColdwellBanker.d.ts +0 -13
- package/dist/StylesProviderColdwellBanker.js +0 -15
- package/dist/StylesProviderColdwellBanker.js.map +0 -1
- package/dist/StylesProviderCorcoran.d.ts +0 -13
- package/dist/StylesProviderCorcoran.js +0 -15
- package/dist/StylesProviderCorcoran.js.map +0 -1
- package/dist/StylesProviderDenaliBoss.d.ts +0 -13
- package/dist/StylesProviderDenaliBoss.js +0 -15
- package/dist/StylesProviderDenaliBoss.js.map +0 -1
- package/dist/StylesProviderEra.d.ts +0 -13
- package/dist/StylesProviderEra.js +0 -15
- package/dist/StylesProviderEra.js.map +0 -1
- package/dist/StylesProviderSothebys.d.ts +0 -13
- package/dist/StylesProviderSothebys.js +0 -15
- package/dist/StylesProviderSothebys.js.map +0 -1
- package/dist/Switch.d.ts +0 -50
- package/dist/Switch.js +0 -38
- package/dist/Switch.js.map +0 -1
- package/dist/SwitchOption.d.ts +0 -16
- package/dist/SwitchOption.js +0 -17
- package/dist/SwitchOption.js.map +0 -1
- package/dist/TabGroup.d.ts +0 -120
- package/dist/TabGroup.js +0 -50
- package/dist/TabGroup.js.map +0 -1
- package/dist/Table.d.ts +0 -45
- package/dist/Table.js +0 -20
- package/dist/Table.js.map +0 -1
- package/dist/Tag.d.ts +0 -70
- package/dist/Tag.js +0 -26
- package/dist/Tag.js.map +0 -1
- package/dist/TextField.d.ts +0 -35
- package/dist/TextField.js +0 -35
- package/dist/TextField.js.map +0 -1
- package/dist/TextInput.d.ts +0 -64
- package/dist/TextInput.js +0 -39
- package/dist/TextInput.js.map +0 -1
- package/dist/Textarea.d.ts +0 -83
- package/dist/Textarea.js +0 -56
- package/dist/Textarea.js.map +0 -1
- package/dist/TextareaField.d.ts +0 -35
- package/dist/TextareaField.js +0 -45
- package/dist/TextareaField.js.map +0 -1
- package/dist/ToggleOption.d.ts +0 -30
- package/dist/ToggleOption.js +0 -14
- package/dist/ToggleOption.js.map +0 -1
- package/dist/Tooltip.d.ts +0 -51
- package/dist/Tooltip.js +0 -61
- package/dist/Tooltip.js.map +0 -1
- package/dist/TopNavigation.d.ts +0 -16
- package/dist/TopNavigation.js +0 -14
- package/dist/TopNavigation.js.map +0 -1
- package/dist/Txt.d.ts +0 -45
- package/dist/Txt.js +0 -23
- package/dist/Txt.js.map +0 -1
- package/dist/avatar-group.css +0 -1
- package/dist/avatar.css +0 -1
- package/dist/badge.css +0 -1
- package/dist/banner-alert.css +0 -1
- package/dist/button.css +0 -1
- package/dist/card.css +0 -1
- package/dist/checkbox.css +0 -1
- package/dist/chip.css +0 -1
- package/dist/demo/ExampleModalRender.d.ts +0 -7
- package/dist/demo/ExampleModalRender.js +0 -16
- package/dist/demo/ExampleModalRender.js.map +0 -1
- package/dist/demo/ExamplePlaceholder.d.ts +0 -7
- package/dist/demo/ExamplePlaceholder.js +0 -13
- package/dist/demo/ExamplePlaceholder.js.map +0 -1
- package/dist/demo/examples.d.ts +0 -101
- package/dist/demo/examples.js +0 -581
- package/dist/demo/examples.js.map +0 -1
- package/dist/dialog.css +0 -1
- package/dist/divider.css +0 -1
- package/dist/fab.css +0 -1
- package/dist/form-field.css +0 -1
- package/dist/hooks/useKeyboardNavigation.d.ts +0 -35
- package/dist/hooks/useKeyboardNavigation.js +0 -79
- package/dist/hooks/useKeyboardNavigation.js.map +0 -1
- package/dist/inline-alert.css +0 -1
- package/dist/link.css +0 -1
- package/dist/list-item.css +0 -1
- package/dist/menu-button.css +0 -1
- package/dist/menu.css +0 -1
- package/dist/modal.css +0 -1
- package/dist/number-input.css +0 -1
- package/dist/popover.css +0 -1
- package/dist/progress-bar.css +0 -1
- package/dist/progress-circle.css +0 -1
- package/dist/progression-stepper-bar.css +0 -1
- package/dist/progression-stepper.css +0 -1
- package/dist/radio-group.css +0 -1
- package/dist/radio.css +0 -1
- package/dist/search-bar.css +0 -1
- package/dist/segmented-control.css +0 -1
- package/dist/select.css +0 -1
- package/dist/skeleton.css +0 -6
- package/dist/switch.css +0 -1
- package/dist/tab-group.css +0 -1
- package/dist/table.css +0 -1
- package/dist/tag.css +0 -1
- package/dist/text-input.css +0 -1
- package/dist/textarea.css +0 -4
- package/dist/toggle-option.css +0 -1
- package/dist/tooltip.css +0 -1
- package/dist/top-navigation.css +0 -1
- package/dist/utils/placeholder.test.d.ts +0 -1
- package/dist/utils/placeholder.test.js +0 -7
- package/dist/utils/placeholder.test.js.map +0 -1
- package/src/Avatar.tsx +0 -150
- package/src/AvatarGroup.tsx +0 -85
- package/src/Badge.tsx +0 -100
- package/src/BannerAlert.tsx +0 -115
- package/src/Button.tsx +0 -158
- package/src/Card.tsx +0 -58
- package/src/Checkbox.tsx +0 -120
- package/src/CheckboxGroup.tsx +0 -128
- package/src/CheckboxOption.tsx +0 -59
- package/src/Chip.tsx +0 -102
- package/src/Dialog.tsx +0 -171
- package/src/Divider.tsx +0 -90
- package/src/EmptyState.tsx +0 -90
- package/src/Fab.tsx +0 -107
- package/src/FormField.tsx +0 -130
- package/src/Img.tsx +0 -38
- package/src/InlineAlert.tsx +0 -80
- package/src/Layout.tsx +0 -90
- package/src/Link.tsx +0 -83
- package/src/ListItem.tsx +0 -218
- package/src/Menu.tsx +0 -305
- package/src/MenuButton.tsx +0 -34
- package/src/Modal.tsx +0 -105
- package/src/NumberField.tsx +0 -67
- package/src/NumberInput.tsx +0 -204
- package/src/Popover.tsx +0 -156
- package/src/Portal.tsx +0 -41
- package/src/ProgressBar.tsx +0 -74
- package/src/ProgressCircle.tsx +0 -104
- package/src/ProgressionStepper.tsx +0 -135
- package/src/ProgressionStepperBar.tsx +0 -64
- package/src/Radio.tsx +0 -54
- package/src/RadioGroup.tsx +0 -139
- package/src/RadioOption.tsx +0 -41
- package/src/SearchBar.tsx +0 -206
- package/src/SegmentedControl.tsx +0 -163
- package/src/Select.tsx +0 -187
- package/src/SelectField.tsx +0 -80
- package/src/Skeleton.tsx +0 -98
- package/src/StylesProviderAnywhere.tsx +0 -16
- package/src/StylesProviderBetterHomesGardens.tsx +0 -16
- package/src/StylesProviderCartus.tsx +0 -16
- package/src/StylesProviderCentury21.tsx +0 -16
- package/src/StylesProviderColdwellBanker.tsx +0 -16
- package/src/StylesProviderCorcoran.tsx +0 -16
- package/src/StylesProviderDenaliBoss.tsx +0 -16
- package/src/StylesProviderEra.tsx +0 -16
- package/src/StylesProviderSothebys.tsx +0 -16
- package/src/Switch.tsx +0 -75
- package/src/SwitchOption.tsx +0 -29
- package/src/TabGroup.tsx +0 -180
- package/src/Table.tsx +0 -79
- package/src/Tag.tsx +0 -99
- package/src/TextField.tsx +0 -82
- package/src/TextInput.tsx +0 -137
- package/src/Textarea.tsx +0 -154
- package/src/TextareaField.tsx +0 -92
- package/src/ToggleOption.tsx +0 -43
- package/src/Tooltip.tsx +0 -131
- package/src/TopNavigation.tsx +0 -21
- package/src/Txt.tsx +0 -68
- package/src/avatar-group.scss +0 -17
- package/src/avatar.scss +0 -98
- package/src/badge.scss +0 -52
- package/src/banner-alert.scss +0 -115
- package/src/button.scss +0 -219
- package/src/checkbox.scss +0 -98
- package/src/demo/ExampleModalRender.tsx +0 -37
- package/src/demo/ExamplePlaceholder.tsx +0 -45
- package/src/demo/examples.tsx +0 -813
- package/src/dialog.scss +0 -152
- package/src/fab.scss +0 -123
- package/src/form-field.scss +0 -14
- package/src/hooks/useKeyboardNavigation.ts +0 -99
- package/src/list-item.scss +0 -117
- package/src/menu.scss +0 -40
- package/src/modal.scss +0 -22
- package/src/radio-group.scss +0 -5
- package/src/radio.scss +0 -81
- package/src/search-bar.scss +0 -7
- package/src/segmented-control.scss +0 -120
- package/src/select.scss +0 -117
- package/src/skeleton.scss +0 -83
- package/src/switch.scss +0 -64
- package/src/text-input.scss +0 -143
- package/src/textarea.scss +0 -91
- package/src/toggle-option.scss +0 -59
- package/src/tooltip.scss +0 -64
- package/src/utils/errors.tsx +0 -109
- /package/src/{card.scss → components/Card/card.scss} +0 -0
- /package/src/{chip.scss → components/Chip/chip.scss} +0 -0
- /package/src/{divider.scss → components/Divider/divider.scss} +0 -0
- /package/src/{inline-alert.scss → components/InlineAlert/inline-alert.scss} +0 -0
- /package/src/{link.scss → components/Link/link.scss} +0 -0
- /package/src/{menu-button.scss → components/MenuButton/menu-button.scss} +0 -0
- /package/src/{number-input.scss → components/NumberInput/number-input.scss} +0 -0
- /package/src/{popover.scss → components/Popover/popover.scss} +0 -0
- /package/src/{progress-bar.scss → components/ProgressBar/progress-bar.scss} +0 -0
- /package/src/{progress-circle.scss → components/ProgressCircle/progress-circle.scss} +0 -0
- /package/src/{progression-stepper.scss → components/ProgressionStepper/progression-stepper.scss} +0 -0
- /package/src/{progression-stepper-bar.scss → components/ProgressionStepperBar/progression-stepper-bar.scss} +0 -0
- /package/src/{tab-group.scss → components/TabGroup/tab-group.scss} +0 -0
- /package/src/{table.scss → components/Table/table.scss} +0 -0
- /package/src/{tag.scss → components/Tag/tag.scss} +0 -0
- /package/src/{top-navigation.scss → components/TopNavigation/top-navigation.scss} +0 -0
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
/* eslint-disable react/no-multi-comp */ import { ReactNode, useMemo } from 'react';
|
|
2
|
+
|
|
3
|
+
import { CommonProps, ElementProps } from '-';
|
|
4
|
+
import { Checkbox } from '-/components/Checkbox';
|
|
5
|
+
import { ListItem, ListItemProps } from '-/components/ListItem';
|
|
6
|
+
import { Menu, MenuProps } from '-/components/Menu';
|
|
7
|
+
import { Modal, ModalProps } from '-/components/Modal';
|
|
8
|
+
import { ToggleProps, useCombobox, UseComboboxProps } from '-/hooks/useCombobox';
|
|
9
|
+
import { useId } from '-/hooks/useId';
|
|
10
|
+
import { useUIContext } from '-/hooks/useUIContext';
|
|
11
|
+
import { cssWithVars } from '-/utils/cwv';
|
|
12
|
+
|
|
13
|
+
const DEFAULT = {
|
|
14
|
+
selectAll: 'Select All',
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export const MIN_ITEM_COUNT = 3;
|
|
18
|
+
export const MAX_ITEM_COUNT = 10;
|
|
19
|
+
|
|
20
|
+
/** The props for the listbox items. */
|
|
21
|
+
export type ComboboxItemProps = CommonProps<'disabled'> &
|
|
22
|
+
ListItemProps & {
|
|
23
|
+
/** The content to display in the listbox item. */
|
|
24
|
+
label: string;
|
|
25
|
+
/** The value of the listbox item. */
|
|
26
|
+
value: string;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export type ComboboxProps<Item extends ComboboxItemProps = ComboboxItemProps> = CommonProps<'data-bspk-owner' | 'id'> &
|
|
30
|
+
Pick<MenuProps, 'itemDisplayCount'> &
|
|
31
|
+
Pick<ModalProps, 'description' | 'header'> &
|
|
32
|
+
Pick<UseComboboxProps, 'disabled' | 'errorMessage' | 'invalid' | 'offsetOptions' | 'readOnly' | 'refWidth'> & {
|
|
33
|
+
/**
|
|
34
|
+
* Content to display in the listbox.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* [
|
|
38
|
+
* { value: '1', label: 'Option 1' },
|
|
39
|
+
* { value: '2', label: 'Option 2' },
|
|
40
|
+
* { value: '3', label: 'Option 3' },
|
|
41
|
+
* { value: '4', label: 'Option 4' },
|
|
42
|
+
* { value: '5', label: 'Option 5' },
|
|
43
|
+
* { value: '6', label: 'Option 6' },
|
|
44
|
+
* { value: '7', label: 'Option 7' },
|
|
45
|
+
* { value: '8', label: 'Option 8' },
|
|
46
|
+
* { value: '9', label: 'Option 9' },
|
|
47
|
+
* { value: '10', label: 'Option 10' },
|
|
48
|
+
* ];
|
|
49
|
+
*
|
|
50
|
+
* @type Array<MenuItem>
|
|
51
|
+
*/
|
|
52
|
+
items?: Item[];
|
|
53
|
+
/**
|
|
54
|
+
* Array of selected values
|
|
55
|
+
*
|
|
56
|
+
* @type Array<string>
|
|
57
|
+
*/
|
|
58
|
+
value?: Array<string>;
|
|
59
|
+
/**
|
|
60
|
+
* Whether the listbox allows multiple selections.
|
|
61
|
+
*
|
|
62
|
+
* @default false
|
|
63
|
+
*/
|
|
64
|
+
isMulti?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* The label for the "Select All" option.
|
|
67
|
+
*
|
|
68
|
+
* Ignored if `isMulti` is false.
|
|
69
|
+
*
|
|
70
|
+
* If `isMulti` is `true`, defaults to "Select All". If a string, it will be used as the label. If false the
|
|
71
|
+
* select all option will not be rendered.
|
|
72
|
+
*
|
|
73
|
+
* @default false
|
|
74
|
+
*/
|
|
75
|
+
selectAll?: boolean | string;
|
|
76
|
+
/**
|
|
77
|
+
* The function to call when the selected values change.
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* (selectedValues, event) => setState({ selectedValues });
|
|
81
|
+
*
|
|
82
|
+
* @required
|
|
83
|
+
*/
|
|
84
|
+
onChange: (selectedValues: string[], event?: React.MouseEvent<HTMLElement, MouseEvent>) => void;
|
|
85
|
+
/**
|
|
86
|
+
* The children of the listbox added after the items.
|
|
87
|
+
*
|
|
88
|
+
* Usually only used for showing no items found.
|
|
89
|
+
*/
|
|
90
|
+
children: (params: { setReference: (node: HTMLElement) => void; toggleProps: ToggleProps }) => ReactNode;
|
|
91
|
+
/**
|
|
92
|
+
* The label for the select element, used for accessibility, and the dropdown modal header.
|
|
93
|
+
*
|
|
94
|
+
* @required
|
|
95
|
+
*/
|
|
96
|
+
label: string;
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* A utility widget that allows users to select one or more items from a list of choices.
|
|
101
|
+
*
|
|
102
|
+
* @name Combobox
|
|
103
|
+
* @phase Utility
|
|
104
|
+
*/
|
|
105
|
+
function Combobox<Item extends ComboboxItemProps>({
|
|
106
|
+
itemDisplayCount,
|
|
107
|
+
items = [],
|
|
108
|
+
onChange,
|
|
109
|
+
value: selectedValues = [],
|
|
110
|
+
disabled,
|
|
111
|
+
id: idProp,
|
|
112
|
+
isMulti,
|
|
113
|
+
selectAll: selectAllProp,
|
|
114
|
+
children,
|
|
115
|
+
invalid,
|
|
116
|
+
readOnly,
|
|
117
|
+
errorMessage,
|
|
118
|
+
refWidth,
|
|
119
|
+
offsetOptions = 4,
|
|
120
|
+
header,
|
|
121
|
+
description,
|
|
122
|
+
...props
|
|
123
|
+
}: ElementProps<ComboboxProps<Item>, 'div'>) {
|
|
124
|
+
const menuId = useId(idProp);
|
|
125
|
+
const { isMobile } = useUIContext();
|
|
126
|
+
|
|
127
|
+
const { toggleProps, activeIndex, menuProps, closeMenu, isOpen, elements } = useCombobox({
|
|
128
|
+
refOutsideClick: !isMobile,
|
|
129
|
+
refWidth,
|
|
130
|
+
placement: 'bottom-start',
|
|
131
|
+
disabled,
|
|
132
|
+
invalid,
|
|
133
|
+
readOnly,
|
|
134
|
+
errorMessage,
|
|
135
|
+
offsetOptions,
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
const selectAll = useMemo((): string | false => {
|
|
139
|
+
if (!isMulti) return false;
|
|
140
|
+
if (selectAllProp && typeof selectAllProp === 'string') return selectAllProp;
|
|
141
|
+
return selectAllProp === true ? DEFAULT.selectAll : false;
|
|
142
|
+
}, [isMulti, selectAllProp]);
|
|
143
|
+
|
|
144
|
+
const allSelected = useMemo(
|
|
145
|
+
() => !!(items.length && items.every((item) => selectedValues.includes(item.value))),
|
|
146
|
+
[items, selectedValues],
|
|
147
|
+
);
|
|
148
|
+
|
|
149
|
+
if (!isOpen) return <>{children({ toggleProps, setReference: elements.setReference })}</>;
|
|
150
|
+
|
|
151
|
+
/* data-bspk="combobox" -- I don't need a wrapper here and this passes lint. :) */
|
|
152
|
+
return (
|
|
153
|
+
<>
|
|
154
|
+
{children({ toggleProps, setReference: elements.setReference })}
|
|
155
|
+
{isMobile ? (
|
|
156
|
+
<Modal
|
|
157
|
+
data-bspk-owner={props['data-bspk-owner'] || undefined}
|
|
158
|
+
description={description}
|
|
159
|
+
header={header}
|
|
160
|
+
onClose={closeMenu}
|
|
161
|
+
open={isOpen}
|
|
162
|
+
>
|
|
163
|
+
<ListItems
|
|
164
|
+
activeIndex={activeIndex}
|
|
165
|
+
allSelected={allSelected}
|
|
166
|
+
data-testid="listbox-items"
|
|
167
|
+
isMulti={isMulti}
|
|
168
|
+
items={items}
|
|
169
|
+
menuId={menuId}
|
|
170
|
+
onChange={(next) => {
|
|
171
|
+
onChange(next);
|
|
172
|
+
if (!isMulti) closeMenu();
|
|
173
|
+
}}
|
|
174
|
+
selectAll={selectAll}
|
|
175
|
+
selectedValues={selectedValues}
|
|
176
|
+
/>
|
|
177
|
+
</Modal>
|
|
178
|
+
) : (
|
|
179
|
+
<Menu
|
|
180
|
+
aria-multiselectable={isMulti || undefined}
|
|
181
|
+
data-bspk="listbox"
|
|
182
|
+
data-disabled={disabled || undefined}
|
|
183
|
+
data-no-items={!items.length || undefined}
|
|
184
|
+
id={menuId}
|
|
185
|
+
innerRef={(node) => {
|
|
186
|
+
elements.setFloating(node);
|
|
187
|
+
}}
|
|
188
|
+
itemCount={items.length}
|
|
189
|
+
itemDisplayCount={itemDisplayCount}
|
|
190
|
+
onOutsideClick={closeMenu}
|
|
191
|
+
role="listbox"
|
|
192
|
+
style={cssWithVars({
|
|
193
|
+
...props.style,
|
|
194
|
+
...menuProps.style,
|
|
195
|
+
})}
|
|
196
|
+
tabIndex={-1}
|
|
197
|
+
>
|
|
198
|
+
<ListItems
|
|
199
|
+
activeIndex={activeIndex}
|
|
200
|
+
allSelected={allSelected}
|
|
201
|
+
data-testid="listbox-items"
|
|
202
|
+
isMulti={isMulti}
|
|
203
|
+
items={items}
|
|
204
|
+
menuId={menuId}
|
|
205
|
+
onChange={(nextValue) => {
|
|
206
|
+
onChange(nextValue);
|
|
207
|
+
if (!isMulti) closeMenu();
|
|
208
|
+
}}
|
|
209
|
+
selectAll={selectAll}
|
|
210
|
+
selectedValues={selectedValues}
|
|
211
|
+
/>
|
|
212
|
+
</Menu>
|
|
213
|
+
)}
|
|
214
|
+
</>
|
|
215
|
+
);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
Combobox.bspkName = 'Combobox';
|
|
219
|
+
|
|
220
|
+
export { Combobox };
|
|
221
|
+
|
|
222
|
+
// ListItems component to render the items in the listbox or modal.
|
|
223
|
+
// This is a separate component to keep the Combobox component clean and focused on its main functionality
|
|
224
|
+
function ListItems({
|
|
225
|
+
isMulti = false,
|
|
226
|
+
items = [],
|
|
227
|
+
activeIndex,
|
|
228
|
+
selectedValues = [],
|
|
229
|
+
onChange,
|
|
230
|
+
selectAll = false,
|
|
231
|
+
menuId = '',
|
|
232
|
+
allSelected = false,
|
|
233
|
+
}: {
|
|
234
|
+
isMulti?: boolean;
|
|
235
|
+
items?: ComboboxItemProps[];
|
|
236
|
+
activeIndex?: number;
|
|
237
|
+
selectedValues?: string[];
|
|
238
|
+
onChange?: (nextSelectedValues: string[], event?: React.MouseEvent<HTMLElement, MouseEvent>) => void;
|
|
239
|
+
selectAll?: string | false;
|
|
240
|
+
menuId?: string;
|
|
241
|
+
allSelected?: boolean;
|
|
242
|
+
}) {
|
|
243
|
+
const multiSelectValue = (selected: boolean, itemValue: string) => {
|
|
244
|
+
return selected ? selectedValues.filter((value) => value !== itemValue) : [...selectedValues, itemValue];
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
return (
|
|
248
|
+
<>
|
|
249
|
+
{isMulti && selectAll && (
|
|
250
|
+
<ListItem
|
|
251
|
+
data-selected={allSelected || undefined}
|
|
252
|
+
key="select-all"
|
|
253
|
+
label={selectAll}
|
|
254
|
+
onClick={(event: React.MouseEvent<HTMLElement, MouseEvent>) => {
|
|
255
|
+
onChange?.(allSelected ? [] : items.map((item) => item.value), event);
|
|
256
|
+
}}
|
|
257
|
+
role="option"
|
|
258
|
+
tabIndex={-1}
|
|
259
|
+
trailing={
|
|
260
|
+
<Checkbox
|
|
261
|
+
aria-label={selectAll}
|
|
262
|
+
checked={!!allSelected}
|
|
263
|
+
indeterminate={!allSelected && selectedValues.length > 0}
|
|
264
|
+
name=""
|
|
265
|
+
onChange={(checked) => {
|
|
266
|
+
onChange?.(checked ? items.map((item) => item.value) : []);
|
|
267
|
+
}}
|
|
268
|
+
value=""
|
|
269
|
+
/>
|
|
270
|
+
}
|
|
271
|
+
/>
|
|
272
|
+
)}
|
|
273
|
+
{items.map((item, index) => {
|
|
274
|
+
const selected = Boolean(Array.isArray(selectedValues) && selectedValues.includes(item.value));
|
|
275
|
+
return (
|
|
276
|
+
<ListItem
|
|
277
|
+
{...item}
|
|
278
|
+
active={activeIndex === index || undefined}
|
|
279
|
+
aria-disabled={item.disabled || undefined}
|
|
280
|
+
aria-posinset={index + 1}
|
|
281
|
+
as="button"
|
|
282
|
+
disabled={item.disabled || undefined}
|
|
283
|
+
id={`${menuId}-item-${index}`}
|
|
284
|
+
key={`${menuId}-item-${index}`}
|
|
285
|
+
label={item.label}
|
|
286
|
+
onClick={(event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {
|
|
287
|
+
onChange?.(isMulti ? multiSelectValue(selected, item.value) : [item.value], event);
|
|
288
|
+
}}
|
|
289
|
+
role="option"
|
|
290
|
+
selected={selected || undefined}
|
|
291
|
+
tabIndex={-1}
|
|
292
|
+
trailing={
|
|
293
|
+
isMulti ? (
|
|
294
|
+
<Checkbox
|
|
295
|
+
aria-label={item.label}
|
|
296
|
+
checked={selected}
|
|
297
|
+
name={item.value}
|
|
298
|
+
onChange={(checked) => {
|
|
299
|
+
onChange?.(multiSelectValue(checked, item.value));
|
|
300
|
+
}}
|
|
301
|
+
value={item.value}
|
|
302
|
+
/>
|
|
303
|
+
) : (
|
|
304
|
+
item.trailing || undefined
|
|
305
|
+
)
|
|
306
|
+
}
|
|
307
|
+
/>
|
|
308
|
+
);
|
|
309
|
+
})}
|
|
310
|
+
</>
|
|
311
|
+
);
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
/** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Combobox';
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { FocusTrap } from 'focus-trap-react';
|
|
2
|
+
import { ReactNode, useCallback, useEffect, useRef, useState } from 'react';
|
|
3
|
+
|
|
4
|
+
import { CommonProps, ElementProps, SetRef } from '-';
|
|
5
|
+
import { Portal } from '-/components/Portal';
|
|
6
|
+
import { Scrim } from '-/components/Scrim';
|
|
7
|
+
import { useId } from '-/hooks/useId';
|
|
8
|
+
import { useOutsideClick } from '-/hooks/useOutsideClick';
|
|
9
|
+
import './dialog.scss';
|
|
10
|
+
|
|
11
|
+
export type DialogProps = CommonProps<'data-bspk-owner' | 'id'> & {
|
|
12
|
+
/** The content of the dialog. */
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
/** A ref to the dialog element. */
|
|
15
|
+
innerRef?: SetRef<HTMLDivElement>;
|
|
16
|
+
/**
|
|
17
|
+
* If the dialog should appear.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* false;
|
|
21
|
+
*
|
|
22
|
+
* @default false
|
|
23
|
+
*/
|
|
24
|
+
open?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Function to call when the dialog is closed.
|
|
27
|
+
*
|
|
28
|
+
* @type () => void
|
|
29
|
+
* @required
|
|
30
|
+
*/
|
|
31
|
+
onClose: () => void;
|
|
32
|
+
/**
|
|
33
|
+
* The placement of the dialog on the screen.
|
|
34
|
+
*
|
|
35
|
+
* @default center
|
|
36
|
+
*/
|
|
37
|
+
placement?: 'bottom' | 'center' | 'left' | 'right' | 'top';
|
|
38
|
+
/**
|
|
39
|
+
* Whether the dialog should have a scrim behind it.
|
|
40
|
+
*
|
|
41
|
+
* @default true
|
|
42
|
+
*/
|
|
43
|
+
showScrim?: boolean;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Dialogs display important information that users need to acknowledge. They appear over the interface and block
|
|
48
|
+
* further interactions until an action is selected.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* import { Dialog } from '@bspk/ui/Dialog';
|
|
52
|
+
* import { Button } from '@bspk/ui/Button';
|
|
53
|
+
*
|
|
54
|
+
* function Example() {
|
|
55
|
+
* const [open, setOpen] = React.useState(false);
|
|
56
|
+
*
|
|
57
|
+
* return (
|
|
58
|
+
* <>
|
|
59
|
+
* <Button label="Open Dialog" onClick={() => setOpen(true)} />
|
|
60
|
+
* <Dialog open={open} onClose={() => setOpen(false)}>
|
|
61
|
+
* <h1>Dialog Title</h1>
|
|
62
|
+
* <p>This is the content of the dialog.</p>
|
|
63
|
+
* <button onClick={() => setOpen(false)}>Close</button>
|
|
64
|
+
* </Dialog>
|
|
65
|
+
* </>
|
|
66
|
+
* );
|
|
67
|
+
* }
|
|
68
|
+
*
|
|
69
|
+
* @name Dialog
|
|
70
|
+
* @phase Utility
|
|
71
|
+
*/
|
|
72
|
+
function Dialog({
|
|
73
|
+
//
|
|
74
|
+
children,
|
|
75
|
+
innerRef,
|
|
76
|
+
onClose,
|
|
77
|
+
open,
|
|
78
|
+
placement = 'center',
|
|
79
|
+
showScrim = true,
|
|
80
|
+
id: idProp,
|
|
81
|
+
...containerProps
|
|
82
|
+
}: ElementProps<DialogProps, 'div'>) {
|
|
83
|
+
const id = useId(idProp);
|
|
84
|
+
const boxRef = useRef<HTMLDivElement | null>(null);
|
|
85
|
+
const [visibility, setVisibilityState] = useState<'hidden' | 'hiding' | 'show' | 'showing'>(
|
|
86
|
+
open ? 'show' : 'hidden',
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
const prevVisibility = useRef(visibility);
|
|
90
|
+
|
|
91
|
+
const setVisibility = useCallback((next: typeof visibility) => {
|
|
92
|
+
setVisibilityState((prev) => {
|
|
93
|
+
prevVisibility.current = prev;
|
|
94
|
+
return next;
|
|
95
|
+
});
|
|
96
|
+
}, []);
|
|
97
|
+
|
|
98
|
+
const handleKeyDown = useCallback((e: KeyboardEvent) => e.key === 'Escape' && onClose(), [onClose]);
|
|
99
|
+
|
|
100
|
+
useEffect(() => {
|
|
101
|
+
if (open) {
|
|
102
|
+
if (prevVisibility.current.startsWith('show')) return;
|
|
103
|
+
setVisibility('showing');
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
if (prevVisibility.current.startsWith('hid')) return;
|
|
108
|
+
setVisibility('hiding');
|
|
109
|
+
}, [open, setVisibility]);
|
|
110
|
+
|
|
111
|
+
useEffect(() => {
|
|
112
|
+
if (prevVisibility.current === visibility) return;
|
|
113
|
+
|
|
114
|
+
if (visibility === 'showing') {
|
|
115
|
+
document.body.style.overflow = 'hidden';
|
|
116
|
+
setTimeout(() => setVisibility('show'), 10);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if (visibility === 'hiding') {
|
|
120
|
+
document.body.style.overflow = '';
|
|
121
|
+
setTimeout(() => setVisibility('hidden'), 10);
|
|
122
|
+
}
|
|
123
|
+
}, [setVisibility, visibility]);
|
|
124
|
+
|
|
125
|
+
useEffect(() => {
|
|
126
|
+
if (visibility.startsWith('hid')) return;
|
|
127
|
+
|
|
128
|
+
document.addEventListener('keydown', handleKeyDown);
|
|
129
|
+
return () => {
|
|
130
|
+
document.removeEventListener('keydown', handleKeyDown);
|
|
131
|
+
};
|
|
132
|
+
}, [handleKeyDown, visibility]);
|
|
133
|
+
|
|
134
|
+
useOutsideClick([boxRef.current], onClose, !open);
|
|
135
|
+
|
|
136
|
+
return (
|
|
137
|
+
visibility !== 'hidden' && (
|
|
138
|
+
<Portal>
|
|
139
|
+
<Scrim data-bspk-owner="dialog" onClick={onClose} variant="dialog" visible={showScrim !== false} />
|
|
140
|
+
<div
|
|
141
|
+
{...containerProps}
|
|
142
|
+
data-bspk="dialog"
|
|
143
|
+
data-placement={placement}
|
|
144
|
+
data-visibility={visibility}
|
|
145
|
+
id={id}
|
|
146
|
+
ref={innerRef}
|
|
147
|
+
role="presentation"
|
|
148
|
+
>
|
|
149
|
+
<FocusTrap
|
|
150
|
+
focusTrapOptions={{
|
|
151
|
+
fallbackFocus: () => boxRef.current!,
|
|
152
|
+
clickOutsideDeactivates: true,
|
|
153
|
+
}}
|
|
154
|
+
>
|
|
155
|
+
<div
|
|
156
|
+
data-dialog-box
|
|
157
|
+
ref={(node) => {
|
|
158
|
+
boxRef.current = node;
|
|
159
|
+
}}
|
|
160
|
+
tabIndex={-1}
|
|
161
|
+
>
|
|
162
|
+
{children}
|
|
163
|
+
</div>
|
|
164
|
+
</FocusTrap>
|
|
165
|
+
</div>
|
|
166
|
+
</Portal>
|
|
167
|
+
)
|
|
168
|
+
);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
Dialog.bspkName = 'Dialog';
|
|
172
|
+
|
|
173
|
+
export { Dialog };
|
|
174
|
+
|
|
175
|
+
/** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Button } from '-/components/Button';
|
|
2
|
+
import { ComponentExample } from '-/utils/demo';
|
|
3
|
+
|
|
4
|
+
import { DialogProps } from '.';
|
|
5
|
+
|
|
6
|
+
export const DialogExample: ComponentExample<DialogProps> = {
|
|
7
|
+
render: ({ props, setState, Component }) => {
|
|
8
|
+
const label = 'Open Dialog';
|
|
9
|
+
|
|
10
|
+
const { children, ...modalProps } = props;
|
|
11
|
+
|
|
12
|
+
return (
|
|
13
|
+
<>
|
|
14
|
+
<Button label={label} onClick={() => setState({ open: true })} />
|
|
15
|
+
<Component
|
|
16
|
+
data-example-component
|
|
17
|
+
id="exampleId"
|
|
18
|
+
{...modalProps}
|
|
19
|
+
onClose={() => setState({ open: false })}
|
|
20
|
+
>
|
|
21
|
+
{children}
|
|
22
|
+
</Component>
|
|
23
|
+
</>
|
|
24
|
+
);
|
|
25
|
+
},
|
|
26
|
+
hideVariants: true,
|
|
27
|
+
};
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
[data-bspk='dialog'] {
|
|
2
|
+
position: fixed;
|
|
3
|
+
inset: 0;
|
|
4
|
+
z-index: var(--z-index-dialog);
|
|
5
|
+
|
|
6
|
+
[data-dialog-box] {
|
|
7
|
+
text-align: start;
|
|
8
|
+
position: relative;
|
|
9
|
+
border-radius: var(--radius-large);
|
|
10
|
+
box-shadow: var(--drop-shadow-float);
|
|
11
|
+
background: var(--surface-neutral-t1-base);
|
|
12
|
+
color: var(--foreground-neutral-on-surface);
|
|
13
|
+
max-height: calc(100vh - var(--spacing-sizing-24));
|
|
14
|
+
z-index: 2;
|
|
15
|
+
|
|
16
|
+
> :first-of-type {
|
|
17
|
+
margin-top: 0;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
> :last-child {
|
|
21
|
+
margin-bottom: 0;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
width: calc(100% - var(--spacing-sizing-08));
|
|
25
|
+
|
|
26
|
+
// we make the width responsive to the viewport
|
|
27
|
+
@media (width >= 640px) {
|
|
28
|
+
width: 90%;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@media (width >= 768px) {
|
|
32
|
+
width: 80%;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@media (width >= 1024px) {
|
|
36
|
+
width: 60%;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@media (width >= 1280px) {
|
|
40
|
+
width: 50%;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
[data-dialog-backdrop] {
|
|
45
|
+
z-index: 1;
|
|
46
|
+
position: fixed;
|
|
47
|
+
inset: 0;
|
|
48
|
+
background-color: var(--background-scrim);
|
|
49
|
+
opacity: 0;
|
|
50
|
+
transition: opacity 0.3s;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
&[data-visibility='show'] {
|
|
54
|
+
[data-dialog-backdrop] {
|
|
55
|
+
opacity: 1;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
&[data-placement='center'] {
|
|
60
|
+
display: flex;
|
|
61
|
+
justify-content: center;
|
|
62
|
+
align-items: center;
|
|
63
|
+
|
|
64
|
+
[data-dialog-box] {
|
|
65
|
+
transition: opacity 1s;
|
|
66
|
+
opacity: 0;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
&[data-visibility='show'] {
|
|
70
|
+
[data-dialog-box] {
|
|
71
|
+
opacity: 1;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
&[data-placement='bottom'] {
|
|
77
|
+
[data-dialog-box] {
|
|
78
|
+
position: absolute;
|
|
79
|
+
border-bottom-left-radius: 0;
|
|
80
|
+
border-bottom-right-radius: 0;
|
|
81
|
+
width: 600px;
|
|
82
|
+
left: 50%;
|
|
83
|
+
transform: translateX(-50%);
|
|
84
|
+
bottom: -100vh;
|
|
85
|
+
transition: bottom 0.3s;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
&[data-visibility='show'] {
|
|
89
|
+
[data-dialog-box] {
|
|
90
|
+
bottom: 0;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
&[data-placement='top'] {
|
|
96
|
+
[data-dialog-box] {
|
|
97
|
+
position: absolute;
|
|
98
|
+
border-top-left-radius: 0;
|
|
99
|
+
border-top-right-radius: 0;
|
|
100
|
+
width: 600px;
|
|
101
|
+
left: 50%;
|
|
102
|
+
transform: translateX(-50%);
|
|
103
|
+
top: -100vh;
|
|
104
|
+
transition: top 0.3s;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
&[data-visibility='show'] {
|
|
108
|
+
[data-dialog-box] {
|
|
109
|
+
top: 0;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
&[data-placement='left'] {
|
|
115
|
+
[data-dialog-box] {
|
|
116
|
+
position: absolute;
|
|
117
|
+
max-height: unset;
|
|
118
|
+
width: 280px;
|
|
119
|
+
height: 100vh;
|
|
120
|
+
border-bottom-left-radius: 0;
|
|
121
|
+
border-top-left-radius: 0;
|
|
122
|
+
left: -100vw;
|
|
123
|
+
transition: left 0.3s;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
&[data-visibility='show'] {
|
|
127
|
+
[data-dialog-box] {
|
|
128
|
+
left: 0;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
&[data-placement='right'] {
|
|
134
|
+
[data-dialog-box] {
|
|
135
|
+
position: absolute;
|
|
136
|
+
max-height: unset;
|
|
137
|
+
width: 280px;
|
|
138
|
+
height: 100vh;
|
|
139
|
+
border-bottom-right-radius: 0;
|
|
140
|
+
border-top-right-radius: 0;
|
|
141
|
+
right: -100vw;
|
|
142
|
+
transition: right 0.3s;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
&[data-visibility='show'] {
|
|
146
|
+
[data-dialog-box] {
|
|
147
|
+
right: 0;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Dialog';
|