@bspk/ui 1.0.1 → 1.1.12
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/README.md +5 -0
- package/{Avatar.d.ts → dist/Avatar.d.ts} +2 -2
- package/dist/Avatar.js +27 -0
- package/dist/Avatar.js.map +1 -0
- package/{Badge.d.ts → dist/Badge.d.ts} +2 -2
- package/dist/Badge.js +16 -0
- package/dist/Badge.js.map +1 -0
- package/{BannerAlert.d.ts → dist/BannerAlert.d.ts} +4 -4
- package/dist/BannerAlert.js +20 -0
- package/dist/BannerAlert.js.map +1 -0
- package/{Button.d.ts → dist/Button.d.ts} +1 -1
- package/dist/Button.js +30 -0
- package/dist/Button.js.map +1 -0
- package/{Card.d.ts → dist/Card.d.ts} +2 -2
- package/dist/Card.js +18 -0
- package/dist/Card.js.map +1 -0
- package/{Checkbox.d.ts → dist/Checkbox.d.ts} +2 -2
- package/dist/Checkbox.js +32 -0
- package/dist/Checkbox.js.map +1 -0
- package/{CheckboxGroup.d.ts → dist/CheckboxGroup.d.ts} +1 -1
- package/dist/CheckboxGroup.js +16 -0
- package/dist/CheckboxGroup.js.map +1 -0
- package/{CheckboxOption.d.ts → dist/CheckboxOption.d.ts} +1 -1
- package/dist/CheckboxOption.js +14 -0
- package/dist/CheckboxOption.js.map +1 -0
- package/{Chip.d.ts → dist/Chip.d.ts} +2 -2
- package/dist/Chip.js +22 -0
- package/dist/Chip.js.map +1 -0
- package/{Dialog.d.ts → dist/Dialog.d.ts} +2 -2
- package/dist/Dialog.js +70 -0
- package/dist/Dialog.js.map +1 -0
- package/{Divider.d.ts → dist/Divider.d.ts} +2 -2
- package/dist/Divider.js +26 -0
- package/dist/Divider.js.map +1 -0
- package/{Dropdown.d.ts → dist/Dropdown.d.ts} +2 -2
- package/dist/Dropdown.js +37 -0
- package/dist/Dropdown.js.map +1 -0
- package/{DropdownField.d.ts → dist/DropdownField.d.ts} +1 -1
- package/{DropdownField.js → dist/DropdownField.js} +5 -7
- package/dist/DropdownField.js.map +1 -0
- package/{EmptyState.d.ts → dist/EmptyState.d.ts} +7 -1
- package/dist/EmptyState.js +18 -0
- package/dist/EmptyState.js.map +1 -0
- package/{Fab.d.ts → dist/Fab.d.ts} +2 -2
- package/dist/Fab.js +24 -0
- package/dist/Fab.js.map +1 -0
- package/{FormField.d.ts → dist/FormField.d.ts} +2 -2
- package/dist/FormField.js +27 -0
- package/dist/FormField.js.map +1 -0
- package/{Img.d.ts → dist/Img.d.ts} +1 -1
- package/dist/Img.js +12 -0
- package/dist/Img.js.map +1 -0
- package/{InlineAlert.d.ts → dist/InlineAlert.d.ts} +2 -2
- package/dist/InlineAlert.js +27 -0
- package/dist/InlineAlert.js.map +1 -0
- package/{Layout.d.ts → dist/Layout.d.ts} +1 -1
- package/{Layout.js → dist/Layout.js} +3 -5
- package/dist/Layout.js.map +1 -0
- package/{Link.d.ts → dist/Link.d.ts} +2 -2
- package/dist/Link.js +17 -0
- package/dist/Link.js.map +1 -0
- package/{ListItem.d.ts → dist/ListItem.d.ts} +3 -3
- package/dist/ListItem.js +93 -0
- package/dist/ListItem.js.map +1 -0
- package/{Menu.d.ts → dist/Menu.d.ts} +2 -2
- package/dist/Menu.js +62 -0
- package/dist/Menu.js.map +1 -0
- package/{MenuButton.d.ts → dist/MenuButton.d.ts} +2 -2
- package/dist/MenuButton.js +15 -0
- package/dist/MenuButton.js.map +1 -0
- package/{Modal.d.ts → dist/Modal.d.ts} +2 -2
- package/dist/Modal.js +32 -0
- package/dist/Modal.js.map +1 -0
- package/{NumberField.d.ts → dist/NumberField.d.ts} +1 -1
- package/{NumberField.js → dist/NumberField.js} +5 -7
- package/dist/NumberField.js.map +1 -0
- package/{NumberInput.d.ts → dist/NumberInput.d.ts} +2 -2
- package/dist/NumberInput.js +64 -0
- package/dist/NumberInput.js.map +1 -0
- package/{Popover.d.ts → dist/Popover.d.ts} +2 -2
- package/dist/Popover.js +46 -0
- package/dist/Popover.js.map +1 -0
- package/{Portal.js → dist/Portal.js} +4 -5
- package/dist/Portal.js.map +1 -0
- package/{ProgressBar.d.ts → dist/ProgressBar.d.ts} +2 -2
- package/dist/ProgressBar.js +17 -0
- package/dist/ProgressBar.js.map +1 -0
- package/{ProgressCircle.d.ts → dist/ProgressCircle.d.ts} +3 -3
- package/dist/ProgressCircle.js +30 -0
- package/dist/ProgressCircle.js.map +1 -0
- package/{ProgressionStepper.d.ts → dist/ProgressionStepper.d.ts} +2 -2
- package/dist/ProgressionStepper.js +24 -0
- package/dist/ProgressionStepper.js.map +1 -0
- package/{ProgressionStepperBar.d.ts → dist/ProgressionStepperBar.d.ts} +7 -3
- package/dist/ProgressionStepperBar.js +15 -0
- package/dist/ProgressionStepperBar.js.map +1 -0
- package/{Radio.d.ts → dist/Radio.d.ts} +2 -2
- package/dist/Radio.js +18 -0
- package/dist/Radio.js.map +1 -0
- package/{RadioGroup.d.ts → dist/RadioGroup.d.ts} +1 -1
- package/dist/RadioGroup.js +16 -0
- package/dist/RadioGroup.js.map +1 -0
- package/{RadioOption.d.ts → dist/RadioOption.d.ts} +1 -1
- package/dist/RadioOption.js +14 -0
- package/dist/RadioOption.js.map +1 -0
- package/{SearchBar.d.ts → dist/SearchBar.d.ts} +2 -2
- package/{SearchBar.js → dist/SearchBar.js} +13 -19
- package/dist/SearchBar.js.map +1 -0
- package/{SegmentedControl.d.ts → dist/SegmentedControl.d.ts} +2 -2
- package/dist/SegmentedControl.js +22 -0
- package/dist/SegmentedControl.js.map +1 -0
- package/dist/Skeleton.d.ts +45 -0
- package/dist/Skeleton.js +25 -0
- package/dist/Skeleton.js.map +1 -0
- package/{StylesProviderAnywhere.d.ts → dist/StylesProviderAnywhere.d.ts} +4 -1
- package/dist/StylesProviderAnywhere.js +15 -0
- package/dist/StylesProviderAnywhere.js.map +1 -0
- package/{StylesProviderBetterHomesGardens.d.ts → dist/StylesProviderBetterHomesGardens.d.ts} +4 -1
- package/dist/StylesProviderBetterHomesGardens.js +15 -0
- package/dist/StylesProviderBetterHomesGardens.js.map +1 -0
- package/{StylesProviderCartus.d.ts → dist/StylesProviderCartus.d.ts} +4 -1
- package/dist/StylesProviderCartus.js +15 -0
- package/dist/StylesProviderCartus.js.map +1 -0
- package/{StylesProviderCentury21.d.ts → dist/StylesProviderCentury21.d.ts} +4 -1
- package/dist/StylesProviderCentury21.js +15 -0
- package/dist/StylesProviderCentury21.js.map +1 -0
- package/{StylesProviderColdwellBanker.d.ts → dist/StylesProviderColdwellBanker.d.ts} +4 -1
- package/dist/StylesProviderColdwellBanker.js +15 -0
- package/dist/StylesProviderColdwellBanker.js.map +1 -0
- package/{StylesProviderCorcoran.d.ts → dist/StylesProviderCorcoran.d.ts} +4 -1
- package/dist/StylesProviderCorcoran.js +15 -0
- package/dist/StylesProviderCorcoran.js.map +1 -0
- package/{StylesProviderDenaliBoss.d.ts → dist/StylesProviderDenaliBoss.d.ts} +4 -1
- package/dist/StylesProviderDenaliBoss.js +15 -0
- package/dist/StylesProviderDenaliBoss.js.map +1 -0
- package/{StylesProviderEra.d.ts → dist/StylesProviderEra.d.ts} +4 -1
- package/dist/StylesProviderEra.js +15 -0
- package/dist/StylesProviderEra.js.map +1 -0
- package/{StylesProviderSothebys.d.ts → dist/StylesProviderSothebys.d.ts} +4 -1
- package/dist/StylesProviderSothebys.js +15 -0
- package/dist/StylesProviderSothebys.js.map +1 -0
- package/{Switch.d.ts → dist/Switch.d.ts} +2 -2
- package/dist/Switch.js +21 -0
- package/dist/Switch.js.map +1 -0
- package/{SwitchGroup.d.ts → dist/SwitchGroup.d.ts} +1 -1
- package/dist/SwitchGroup.js +16 -0
- package/dist/SwitchGroup.js.map +1 -0
- package/{SwitchOption.d.ts → dist/SwitchOption.d.ts} +1 -1
- package/dist/SwitchOption.js +14 -0
- package/dist/SwitchOption.js.map +1 -0
- package/{TabGroup.d.ts → dist/TabGroup.d.ts} +2 -2
- package/dist/TabGroup.js +22 -0
- package/dist/TabGroup.js.map +1 -0
- package/{Table.d.ts → dist/Table.d.ts} +2 -2
- package/dist/Table.js +20 -0
- package/dist/Table.js.map +1 -0
- package/{Tag.d.ts → dist/Tag.d.ts} +2 -2
- package/dist/Tag.js +15 -0
- package/dist/Tag.js.map +1 -0
- package/{TextField.d.ts → dist/TextField.d.ts} +1 -1
- package/dist/TextField.js +17 -0
- package/dist/TextField.js.map +1 -0
- package/{TextInput.d.ts → dist/TextInput.d.ts} +2 -2
- package/dist/TextInput.js +23 -0
- package/dist/TextInput.js.map +1 -0
- package/{Textarea.d.ts → dist/Textarea.d.ts} +2 -2
- package/dist/Textarea.js +39 -0
- package/dist/Textarea.js.map +1 -0
- package/{TextareaField.d.ts → dist/TextareaField.d.ts} +1 -1
- package/dist/TextareaField.js +24 -0
- package/dist/TextareaField.js.map +1 -0
- package/{ToggleOption.d.ts → dist/ToggleOption.d.ts} +2 -2
- package/dist/ToggleOption.js +14 -0
- package/dist/ToggleOption.js.map +1 -0
- package/{Tooltip.d.ts → dist/Tooltip.d.ts} +2 -2
- package/dist/Tooltip.js +42 -0
- package/dist/Tooltip.js.map +1 -0
- package/{TopNavigation.d.ts → dist/TopNavigation.d.ts} +2 -2
- package/dist/TopNavigation.js +14 -0
- package/dist/TopNavigation.js.map +1 -0
- package/{Txt.d.ts → dist/Txt.d.ts} +1 -1
- package/{Txt.js → dist/Txt.js} +3 -8
- package/dist/Txt.js.map +1 -0
- package/dist/avatar.css +1 -0
- package/dist/badge.css +1 -0
- package/dist/banner-alert.css +1 -0
- package/dist/base.css +1 -0
- package/dist/button.css +1 -0
- package/dist/card.css +1 -0
- package/dist/checkbox.css +1 -0
- package/dist/chip.css +1 -0
- package/dist/colors.css +1 -0
- package/dist/dialog.css +1 -0
- package/dist/divider.css +1 -0
- package/dist/dropdown.css +1 -0
- package/dist/fab.css +1 -0
- package/dist/form-field.css +1 -0
- package/{hooks → dist/hooks}/useCheckboxGroupState.d.ts +1 -1
- package/{hooks → dist/hooks}/useCheckboxGroupState.js +3 -6
- package/dist/hooks/useCheckboxGroupState.js.map +1 -0
- package/{hooks → dist/hooks}/useCheckboxState.js +2 -5
- package/dist/hooks/useCheckboxState.js.map +1 -0
- package/{hooks → dist/hooks}/useFloating.js +5 -8
- package/dist/hooks/useFloating.js.map +1 -0
- package/{hooks → dist/hooks}/useFloatingMenu.js +6 -9
- package/dist/hooks/useFloatingMenu.js.map +1 -0
- package/{hooks → dist/hooks}/useId.js +4 -7
- package/dist/hooks/useId.js.map +1 -0
- package/{hooks → dist/hooks}/useKeyboardNavigation.js +4 -7
- package/dist/hooks/useKeyboardNavigation.js.map +1 -0
- package/{hooks → dist/hooks}/useLongPress.js +3 -6
- package/dist/hooks/useLongPress.js.map +1 -0
- package/{hooks → dist/hooks}/useModalState.js +3 -6
- package/dist/hooks/useModalState.js.map +1 -0
- package/{hooks → dist/hooks}/useNavOptions.js +4 -7
- package/dist/hooks/useNavOptions.js.map +1 -0
- package/{hooks → dist/hooks}/useOutsideClick.js +2 -5
- package/dist/hooks/useOutsideClick.js.map +1 -0
- package/{hooks → dist/hooks}/useRadioState.js +2 -5
- package/dist/hooks/useRadioState.js.map +1 -0
- package/{hooks → dist/hooks}/useSwitchGroupState.d.ts +1 -1
- package/{hooks → dist/hooks}/useSwitchGroupState.js +3 -6
- package/dist/hooks/useSwitchGroupState.js.map +1 -0
- package/{hooks → dist/hooks}/useTimeout.js +2 -5
- package/dist/hooks/useTimeout.js.map +1 -0
- package/{hooks → dist/hooks}/useValidChildren.js +4 -7
- package/dist/hooks/useValidChildren.js.map +1 -0
- package/{index.js → dist/index.js} +2 -4
- package/dist/index.js.map +1 -0
- package/dist/inline-alert.css +1 -0
- package/dist/link.css +1 -0
- package/dist/list-item.css +1 -0
- package/dist/menu-button.css +1 -0
- package/dist/menu.css +1 -0
- package/dist/modal.css +1 -0
- package/dist/number-input.css +1 -0
- package/dist/popover.css +1 -0
- package/dist/progress-bar.css +1 -0
- package/dist/progress-circle.css +1 -0
- package/dist/progression-stepper-bar.css +1 -0
- package/dist/progression-stepper.css +1 -0
- package/dist/radio.css +1 -0
- package/dist/search-bar.css +1 -0
- package/dist/segmented-control.css +1 -0
- package/dist/skeleton.css +6 -0
- package/dist/switch.css +1 -0
- package/dist/tab-group.css +1 -0
- package/dist/table.css +1 -0
- package/dist/tag.css +1 -0
- package/dist/text-input.css +1 -0
- package/dist/textarea.css +4 -0
- package/dist/toggle-option.css +1 -0
- package/dist/tooltip.css +1 -0
- package/dist/top-navigation.css +1 -0
- package/{utils → dist/utils}/children.js +9 -12
- package/dist/utils/children.js.map +1 -0
- package/dist/utils/colorVariants.d.ts +7 -0
- package/dist/utils/colorVariants.js +22 -0
- package/dist/utils/colorVariants.js.map +1 -0
- package/{utils → dist/utils}/errors.d.ts +1 -1
- package/{utils → dist/utils}/errors.js +20 -12
- package/dist/utils/errors.js.map +1 -0
- package/{utils → dist/utils}/getValidNode.js +2 -5
- package/dist/utils/getValidNode.js.map +1 -0
- package/{utils → dist/utils}/keyboard.js +2 -4
- package/dist/utils/keyboard.js.map +1 -0
- package/dist/utils/placeholder.test.d.ts +1 -0
- package/dist/utils/placeholder.test.js +7 -0
- package/dist/utils/placeholder.test.js.map +1 -0
- package/{utils → dist/utils}/ref.js +2 -4
- package/dist/utils/ref.js.map +1 -0
- package/{utils → dist/utils}/scrollElementIntoView.js +2 -4
- package/dist/utils/scrollElementIntoView.js.map +1 -0
- package/{utils → dist/utils}/srOnly.js +2 -4
- package/dist/utils/srOnly.js.map +1 -0
- package/dist/utils/styleAdd.d.ts +1 -0
- package/dist/utils/styleAdd.js +11 -0
- package/dist/utils/styleAdd.js.map +1 -0
- package/{utils → dist/utils}/tryIntPsrse.js +2 -4
- package/dist/utils/tryIntPsrse.js.map +1 -0
- package/dist/utils/txtVariants.d.ts +7 -0
- package/{utils → dist/utils}/txtVariants.js +7 -4
- package/dist/utils/txtVariants.js.map +1 -0
- package/meta-types.ts +46 -0
- package/meta.ts +465 -0
- package/package.json +31 -20
- package/src/Avatar.tsx +3 -61
- package/src/Badge.tsx +2 -30
- package/src/BannerAlert.tsx +6 -119
- package/src/Button.tsx +3 -228
- package/src/Card.tsx +2 -22
- package/src/Checkbox.tsx +2 -94
- package/src/CheckboxGroup.tsx +2 -2
- package/src/CheckboxOption.tsx +3 -3
- package/src/Chip.tsx +2 -68
- package/src/Dialog.tsx +2 -154
- package/src/Divider.tsx +2 -54
- package/src/Dropdown.tsx +2 -119
- package/src/DropdownField.tsx +3 -2
- package/src/EmptyState.tsx +10 -4
- package/src/Fab.tsx +2 -125
- package/src/FormField.tsx +2 -15
- package/src/Img.tsx +1 -9
- package/src/InlineAlert.tsx +2 -48
- package/src/Layout.tsx +1 -0
- package/src/Link.tsx +2 -23
- package/src/ListItem.tsx +3 -118
- package/src/Menu.tsx +3 -41
- package/src/MenuButton.tsx +2 -17
- package/src/Modal.tsx +3 -24
- package/src/NumberField.tsx +3 -2
- package/src/NumberInput.tsx +2 -126
- package/src/Popover.tsx +3 -110
- package/src/Portal.tsx +1 -0
- package/src/ProgressBar.tsx +2 -49
- package/src/ProgressCircle.tsx +2 -57
- package/src/ProgressionStepper.tsx +2 -175
- package/src/ProgressionStepperBar.tsx +7 -44
- package/src/Radio.tsx +2 -82
- package/src/RadioGroup.tsx +2 -2
- package/src/RadioOption.tsx +3 -3
- package/src/SearchBar.tsx +4 -10
- package/src/SegmentedControl.tsx +2 -116
- package/src/Skeleton.tsx +40 -56
- package/src/StylesProviderAnywhere.tsx +4 -18
- package/src/StylesProviderBetterHomesGardens.tsx +4 -18
- package/src/StylesProviderCartus.tsx +4 -18
- package/src/StylesProviderCentury21.tsx +4 -18
- package/src/StylesProviderColdwellBanker.tsx +4 -18
- package/src/StylesProviderCorcoran.tsx +4 -18
- package/src/StylesProviderDenaliBoss.tsx +4 -18
- package/src/StylesProviderEra.tsx +4 -18
- package/src/StylesProviderSothebys.tsx +4 -18
- package/src/Switch.tsx +2 -66
- package/src/SwitchGroup.tsx +2 -2
- package/src/SwitchOption.tsx +3 -3
- package/src/TabGroup.tsx +2 -100
- package/src/Table.tsx +2 -49
- package/src/Tag.tsx +3 -67
- package/src/TextField.tsx +3 -2
- package/src/TextInput.tsx +2 -152
- package/src/Textarea.tsx +2 -80
- package/src/TextareaField.tsx +3 -2
- package/src/ToggleOption.tsx +2 -79
- package/src/Tooltip.tsx +3 -66
- package/src/TopNavigation.tsx +2 -10
- package/src/Txt.tsx +1 -9
- package/src/avatar.scss +74 -0
- package/src/badge.scss +28 -0
- package/{BannerAlert.js → src/banner-alert.scss} +5 -23
- package/src/{styles/base.css → base.scss} +5 -3
- package/src/button.scss +218 -0
- package/src/card.scss +23 -0
- package/{Checkbox.js → src/checkbox.scss} +9 -34
- package/{Chip.js → src/chip.scss} +3 -24
- package/src/colors.scss +76 -0
- package/{Dialog.js → src/dialog.scss} +7 -76
- package/src/divider.scss +47 -0
- package/{Dropdown.js → src/dropdown.scss} +4 -45
- package/{Fab.js → src/fab.scss} +4 -27
- package/src/form-field.scss +13 -0
- package/src/hooks/useFloating.ts +5 -5
- package/src/inline-alert.scss +51 -0
- package/src/link.scss +21 -0
- package/src/list-item.scss +113 -0
- package/src/menu-button.scss +16 -0
- package/src/menu.scss +36 -0
- package/src/modal.scss +22 -0
- package/src/number-input.scss +128 -0
- package/{Popover.js → src/popover.scss} +10 -49
- package/src/progress-bar.scss +50 -0
- package/src/progress-circle.scss +56 -0
- package/src/progression-stepper-bar.scss +39 -0
- package/{ProgressionStepper.js → src/progression-stepper.scss} +8 -27
- package/{Radio.js → src/radio.scss} +6 -22
- package/src/search-bar.scss +7 -0
- package/{SegmentedControl.js → src/segmented-control.scss} +7 -24
- package/src/skeleton.scss +83 -0
- package/{Switch.js → src/switch.scss} +4 -25
- package/{TabGroup.js → src/tab-group.scss} +9 -26
- package/{Table.js → src/table.scss} +4 -22
- package/{Tag.js → src/tag.scss} +5 -28
- package/{TextInput.js → src/text-input.scss} +7 -31
- package/{Textarea.js → src/textarea.scss} +9 -38
- package/{ToggleOption.js → src/toggle-option.scss} +3 -16
- package/src/tooltip.scss +63 -0
- package/src/top-navigation.scss +5 -0
- package/src/utils/children.ts +1 -1
- package/src/utils/colorVariants.ts +22 -73
- package/src/utils/styleAdd.ts +7 -0
- package/src/utils/txtVariants.ts +8 -27
- package/Accordion.d.ts +0 -20
- package/Accordion.js +0 -18
- package/Accordion.js.map +0 -1
- package/Avatar.js +0 -81
- package/Avatar.js.map +0 -1
- package/Badge.js +0 -43
- package/Badge.js.map +0 -1
- package/BannerAlert.js.map +0 -1
- package/BottomNavigation.d.ts +0 -20
- package/BottomNavigation.js +0 -18
- package/BottomNavigation.js.map +0 -1
- package/BottomSheet.d.ts +0 -20
- package/BottomSheet.js +0 -18
- package/BottomSheet.js.map +0 -1
- package/Breadcrumb.d.ts +0 -20
- package/Breadcrumb.js +0 -18
- package/Breadcrumb.js.map +0 -1
- package/Button.js +0 -254
- package/Button.js.map +0 -1
- package/ButtonDock.d.ts +0 -20
- package/ButtonDock.js +0 -18
- package/ButtonDock.js.map +0 -1
- package/CODE_OF_CONDUCT.md +0 -137
- package/CONTRIBUTING.md +0 -42
- package/Card.js +0 -38
- package/Card.js.map +0 -1
- package/Chart.d.ts +0 -20
- package/Chart.js +0 -18
- package/Chart.js.map +0 -1
- package/Checkbox.js.map +0 -1
- package/CheckboxGroup.js +0 -18
- package/CheckboxGroup.js.map +0 -1
- package/CheckboxOption.js +0 -16
- package/CheckboxOption.js.map +0 -1
- package/Chip.js.map +0 -1
- package/DatePicker.d.ts +0 -20
- package/DatePicker.js +0 -18
- package/DatePicker.js.map +0 -1
- package/Dialog.js.map +0 -1
- package/Divider.js +0 -76
- package/Divider.js.map +0 -1
- package/Drawer.d.ts +0 -20
- package/Drawer.js +0 -18
- package/Drawer.js.map +0 -1
- package/Dropdown.js.map +0 -1
- package/DropdownField.js.map +0 -1
- package/EmptyState.js +0 -20
- package/EmptyState.js.map +0 -1
- package/Fab.js.map +0 -1
- package/FileUpload.d.ts +0 -20
- package/FileUpload.js +0 -18
- package/FileUpload.js.map +0 -1
- package/FormField.js +0 -39
- package/FormField.js.map +0 -1
- package/GUIDELINES.md +0 -41
- package/Image.d.ts +0 -20
- package/Image.js +0 -18
- package/Image.js.map +0 -1
- package/Img.js +0 -20
- package/Img.js.map +0 -1
- package/InlineAlert.js +0 -73
- package/InlineAlert.js.map +0 -1
- package/Layout.js.map +0 -1
- package/Link.js +0 -37
- package/Link.js.map +0 -1
- package/ListItem.js +0 -207
- package/ListItem.js.map +0 -1
- package/Menu.js +0 -98
- package/Menu.js.map +0 -1
- package/MenuButton.js +0 -30
- package/MenuButton.js.map +0 -1
- package/Modal.js +0 -53
- package/Modal.js.map +0 -1
- package/MultiSelection.d.ts +0 -20
- package/MultiSelection.js +0 -18
- package/MultiSelection.js.map +0 -1
- package/NavigationRail.d.ts +0 -20
- package/NavigationRail.js +0 -18
- package/NavigationRail.js.map +0 -1
- package/NumberField.js.map +0 -1
- package/NumberInput.js +0 -188
- package/NumberInput.js.map +0 -1
- package/OTPInput.d.ts +0 -20
- package/OTPInput.js +0 -18
- package/OTPInput.js.map +0 -1
- package/PageControl.d.ts +0 -20
- package/PageControl.js +0 -18
- package/PageControl.js.map +0 -1
- package/PasswordInput.d.ts +0 -20
- package/PasswordInput.js +0 -18
- package/PasswordInput.js.map +0 -1
- package/PhoneNumberInput.d.ts +0 -20
- package/PhoneNumberInput.js +0 -18
- package/PhoneNumberInput.js.map +0 -1
- package/Popover.js.map +0 -1
- package/Portal.js.map +0 -1
- package/ProgressBar.js +0 -64
- package/ProgressBar.js.map +0 -1
- package/ProgressCircle.js +0 -82
- package/ProgressCircle.js.map +0 -1
- package/ProgressionStepper.js.map +0 -1
- package/ProgressionStepperBar.js +0 -51
- package/ProgressionStepperBar.js.map +0 -1
- package/Radio.js.map +0 -1
- package/RadioGroup.js +0 -18
- package/RadioGroup.js.map +0 -1
- package/RadioOption.js +0 -16
- package/RadioOption.js.map +0 -1
- package/Rating.d.ts +0 -16
- package/Rating.js +0 -18
- package/Rating.js.map +0 -1
- package/SearchBar.js.map +0 -1
- package/SegmentedControl.js.map +0 -1
- package/Skeleton.d.ts +0 -28
- package/Skeleton.js +0 -57
- package/Skeleton.js.map +0 -1
- package/SliderInput.d.ts +0 -16
- package/SliderInput.js +0 -18
- package/SliderInput.js.map +0 -1
- package/Snackbar.d.ts +0 -16
- package/Snackbar.js +0 -18
- package/Snackbar.js.map +0 -1
- package/StylesProviderAnywhere.js +0 -29
- package/StylesProviderAnywhere.js.map +0 -1
- package/StylesProviderBetterHomesGardens.js +0 -29
- package/StylesProviderBetterHomesGardens.js.map +0 -1
- package/StylesProviderCartus.js +0 -29
- package/StylesProviderCartus.js.map +0 -1
- package/StylesProviderCentury21.js +0 -29
- package/StylesProviderCentury21.js.map +0 -1
- package/StylesProviderColdwellBanker.js +0 -29
- package/StylesProviderColdwellBanker.js.map +0 -1
- package/StylesProviderCorcoran.js +0 -29
- package/StylesProviderCorcoran.js.map +0 -1
- package/StylesProviderDenaliBoss.js +0 -29
- package/StylesProviderDenaliBoss.js.map +0 -1
- package/StylesProviderEra.js +0 -29
- package/StylesProviderEra.js.map +0 -1
- package/StylesProviderSothebys.js +0 -29
- package/StylesProviderSothebys.js.map +0 -1
- package/Switch.js.map +0 -1
- package/SwitchGroup.js +0 -18
- package/SwitchGroup.js.map +0 -1
- package/SwitchOption.js +0 -16
- package/SwitchOption.js.map +0 -1
- package/TabGroup.js.map +0 -1
- package/Table.js.map +0 -1
- package/Tag.js.map +0 -1
- package/TextField.js +0 -19
- package/TextField.js.map +0 -1
- package/TextInput.js.map +0 -1
- package/Textarea.js.map +0 -1
- package/TextareaField.js +0 -26
- package/TextareaField.js.map +0 -1
- package/TimePicker.d.ts +0 -16
- package/TimePicker.js +0 -18
- package/TimePicker.js.map +0 -1
- package/ToggleOption.js.map +0 -1
- package/Tooltip.js +0 -104
- package/Tooltip.js.map +0 -1
- package/TopNavigation.js +0 -18
- package/TopNavigation.js.map +0 -1
- package/Txt.js.map +0 -1
- package/hooks/useCheckboxGroupState.js.map +0 -1
- package/hooks/useCheckboxState.js.map +0 -1
- package/hooks/useFloating.js.map +0 -1
- package/hooks/useFloatingMenu.js.map +0 -1
- package/hooks/useId.js.map +0 -1
- package/hooks/useKeyboardNavigation.js.map +0 -1
- package/hooks/useLongPress.js.map +0 -1
- package/hooks/useModalState.js.map +0 -1
- package/hooks/useNavOptions.js.map +0 -1
- package/hooks/useOutsideClick.js.map +0 -1
- package/hooks/useRadioState.js.map +0 -1
- package/hooks/useSwitchGroupState.js.map +0 -1
- package/hooks/useTimeout.js.map +0 -1
- package/hooks/useValidChildren.js.map +0 -1
- package/index.js.map +0 -1
- package/meta.d.ts +0 -44
- package/meta.js +0 -5789
- package/meta.js.map +0 -1
- package/src/Accordion.tsx +0 -33
- package/src/BottomNavigation.tsx +0 -33
- package/src/BottomSheet.tsx +0 -33
- package/src/Breadcrumb.tsx +0 -33
- package/src/ButtonDock.tsx +0 -33
- package/src/Chart.tsx +0 -33
- package/src/DatePicker.tsx +0 -33
- package/src/Drawer.tsx +0 -33
- package/src/FileUpload.tsx +0 -33
- package/src/Image.tsx +0 -33
- package/src/MultiSelection.tsx +0 -33
- package/src/NavigationRail.tsx +0 -33
- package/src/OTPInput.tsx +0 -33
- package/src/PageControl.tsx +0 -33
- package/src/PasswordInput.tsx +0 -33
- package/src/PhoneNumberInput.tsx +0 -33
- package/src/Rating.tsx +0 -29
- package/src/SliderInput.tsx +0 -29
- package/src/Snackbar.tsx +0 -29
- package/src/TimePicker.tsx +0 -29
- package/src/meta.ts +0 -6238
- package/src/package.json +0 -3
- package/src/styles/anywhere.css +0 -1693
- package/src/styles/anywhere.ts +0 -1694
- package/src/styles/base.ts +0 -161
- package/src/styles/better-homes-gardens.css +0 -1693
- package/src/styles/better-homes-gardens.ts +0 -1694
- package/src/styles/cartus.css +0 -1691
- package/src/styles/cartus.ts +0 -1692
- package/src/styles/century-21.css +0 -1689
- package/src/styles/century-21.ts +0 -1690
- package/src/styles/coldwell-banker.css +0 -1691
- package/src/styles/coldwell-banker.ts +0 -1692
- package/src/styles/corcoran.css +0 -1685
- package/src/styles/corcoran.ts +0 -1686
- package/src/styles/denali-boss.css +0 -1681
- package/src/styles/denali-boss.ts +0 -1682
- package/src/styles/era.css +0 -1685
- package/src/styles/era.ts +0 -1686
- package/src/styles/sothebys.css +0 -1677
- package/src/styles/sothebys.ts +0 -1678
- package/styles/anywhere.d.ts +0 -2
- package/styles/anywhere.js +0 -1697
- package/styles/anywhere.js.map +0 -1
- package/styles/base.d.ts +0 -2
- package/styles/base.js +0 -164
- package/styles/base.js.map +0 -1
- package/styles/better-homes-gardens.d.ts +0 -2
- package/styles/better-homes-gardens.js +0 -1697
- package/styles/better-homes-gardens.js.map +0 -1
- package/styles/cartus.d.ts +0 -2
- package/styles/cartus.js +0 -1695
- package/styles/cartus.js.map +0 -1
- package/styles/century-21.d.ts +0 -2
- package/styles/century-21.js +0 -1693
- package/styles/century-21.js.map +0 -1
- package/styles/coldwell-banker.d.ts +0 -2
- package/styles/coldwell-banker.js +0 -1695
- package/styles/coldwell-banker.js.map +0 -1
- package/styles/corcoran.d.ts +0 -2
- package/styles/corcoran.js +0 -1689
- package/styles/corcoran.js.map +0 -1
- package/styles/denali-boss.d.ts +0 -2
- package/styles/denali-boss.js +0 -1685
- package/styles/denali-boss.js.map +0 -1
- package/styles/era.d.ts +0 -2
- package/styles/era.js +0 -1689
- package/styles/era.js.map +0 -1
- package/styles/sothebys.d.ts +0 -2
- package/styles/sothebys.js +0 -1681
- package/styles/sothebys.js.map +0 -1
- package/utils/children.js.map +0 -1
- package/utils/colorVariants.d.ts +0 -5
- package/utils/colorVariants.js +0 -61
- package/utils/colorVariants.js.map +0 -1
- package/utils/errors.js.map +0 -1
- package/utils/getValidNode.js.map +0 -1
- package/utils/keyboard.js.map +0 -1
- package/utils/ref.js.map +0 -1
- package/utils/scrollElementIntoView.js.map +0 -1
- package/utils/srOnly.js.map +0 -1
- package/utils/tryIntPsrse.js.map +0 -1
- package/utils/txtVariants.d.ts +0 -2
- package/utils/txtVariants.js.map +0 -1
- /package/{Portal.d.ts → dist/Portal.d.ts} +0 -0
- /package/{hooks → dist/hooks}/useCheckboxState.d.ts +0 -0
- /package/{hooks → dist/hooks}/useFloating.d.ts +0 -0
- /package/{hooks → dist/hooks}/useFloatingMenu.d.ts +0 -0
- /package/{hooks → dist/hooks}/useId.d.ts +0 -0
- /package/{hooks → dist/hooks}/useKeyboardNavigation.d.ts +0 -0
- /package/{hooks → dist/hooks}/useLongPress.d.ts +0 -0
- /package/{hooks → dist/hooks}/useModalState.d.ts +0 -0
- /package/{hooks → dist/hooks}/useNavOptions.d.ts +0 -0
- /package/{hooks → dist/hooks}/useOutsideClick.d.ts +0 -0
- /package/{hooks → dist/hooks}/useRadioState.d.ts +0 -0
- /package/{hooks → dist/hooks}/useTimeout.d.ts +0 -0
- /package/{hooks → dist/hooks}/useValidChildren.d.ts +0 -0
- /package/{index.d.ts → dist/index.d.ts} +0 -0
- /package/{utils → dist/utils}/children.d.ts +0 -0
- /package/{utils → dist/utils}/getValidNode.d.ts +0 -0
- /package/{utils → dist/utils}/keyboard.d.ts +0 -0
- /package/{utils → dist/utils}/ref.d.ts +0 -0
- /package/{utils → dist/utils}/scrollElementIntoView.d.ts +0 -0
- /package/{utils → dist/utils}/srOnly.d.ts +0 -0
- /package/{utils → dist/utils}/tryIntPsrse.d.ts +0 -0
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import '@bspk/styles/denali-boss.css';
|
|
2
|
+
import './base.scss';
|
|
1
3
|
/**
|
|
2
4
|
* Utility to provide the Denali Boss styles to the application.
|
|
3
5
|
*
|
|
4
6
|
* @name StylesProviderDenaliBoss
|
|
5
7
|
*/
|
|
6
|
-
declare function StylesProviderDenaliBoss(): import("
|
|
8
|
+
declare function StylesProviderDenaliBoss(): import("react/jsx-runtime").JSX.Element;
|
|
7
9
|
declare namespace StylesProviderDenaliBoss {
|
|
8
10
|
var bspkName: string;
|
|
9
11
|
}
|
|
10
12
|
export { StylesProviderDenaliBoss };
|
|
13
|
+
/** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import '@bspk/styles/denali-boss.css';
|
|
3
|
+
import { styleAdd } from './utils/styleAdd';
|
|
4
|
+
styleAdd(`[data-color=grey]{--foreground: var(--foreground-neutral-on-surface-variant-01);--background: var(--surface-neutral-t2-lowest)}[data-color=white]{--foreground: var(--foreground-neutral-on-surface-variant-01);--background: var(--surface-neutral-t1-base)}[data-color=primary]{--foreground: var(--foreground-brand-primary-depth);--background: var(--surface-brand-primary-highlight)}[data-color=secondary]{--foreground: var(--foreground-brand-secondary-depth);--background: var(--surface-brand-secondary-highlight)}[data-color=blue]{--foreground: var(--foreground-spectrum-blue);--background: var(--surface-spectrum-blue)}[data-color=green]{--foreground: var(--foreground-spectrum-green);--background: var(--surface-spectrum-green)}[data-color=lime]{--foreground: var(--foreground-spectrum-lime);--background: var(--surface-spectrum-lime)}[data-color=magenta]{--foreground: var(--foreground-spectrum-magenta);--background: var(--surface-spectrum-magenta)}[data-color=orange]{--foreground: var(--foreground-spectrum-orange);--background: var(--surface-spectrum-orange)}[data-color=pink]{--foreground: var(--foreground-spectrum-pink);--background: var(--surface-spectrum-pink)}[data-color=purple]{--foreground: var(--foreground-spectrum-purple);--background: var(--surface-spectrum-purple)}[data-color=red]{--foreground: var(--foreground-spectrum-red);--background: var(--surface-spectrum-red)}[data-color=teal]{--foreground: var(--foreground-spectrum-teal);--background: var(--surface-spectrum-teal)}[data-color=yellow]{--foreground: var(--foreground-spectrum-yellow);--background: var(--surface-spectrum-yellow)}:root{--z-index-tooltip-popover: 1100;--z-index-dialog: 1000;--z-index-dropdown: 900;--z-index-fab: 800;--z-index-navbar: 700;--z-index-footer: 600}*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}@media(prefers-reduced-motion){[data-animated]{animation:none !important}}body,html{height:100%;scroll-behavior:smooth}body{font:var(--body-base);background-color:var(--background-base);color:var(--foreground-neutral-on-surface)}a{color:var(--foreground-link-text-default)}a:hover{color:var(--foreground-link-text-default-hovered)}a:visited{color:var(--foreground-link-text-default-visited)}a:disabled{pointer-events:none;color:var(--foreground-link-text-default-disabled)}a[data-subtle]{color:var(--foreground-neutral-on-surface)}a[data-subtle]:hover{color:var(--foreground-link-text-subtle-hovered)}a[data-subtle]:disabled{pointer-events:none;color:var(--foreground-link-text-subtle-disabled)}a[data-subtle-inverse]{color:var(--foreground-neutral-inverse-on-surface)}a[data-subtle-inverse]:hover{color:var(--foreground-link-text-subtle-inverse-hovered)}a[data-subtle-inverse]:disabled{pointer-events:none;color:var(--foreground-link-text-subtle-inversed-disabled)}input:-internal-autofill-previewed,input:-internal-autofill-selected,textarea:-internal-autofill-previewed,textarea:-internal-autofill-selected,select:-internal-autofill-previewed,select:-internal-autofill-selected{transition:color calc(infinity*1s) step-end,background-color calc(infinity*1s) step-end}[data-sr-only]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}ol{list-style-type:decimal}ol li{list-style-type:decimal;margin-left:var(--spacing-sizing-05)}ul{list-style-type:disc}ul li{list-style-type:disc;margin-left:var(--spacing-sizing-05)}[data-touch-target]{display:none;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-touch-callout:none;user-select:none;position:absolute;z-index:1;height:100%;width:100%;top:auto;left:auto}[data-touch-target]~*{position:relative;z-index:2}@media(any-pointer: coarse){[data-touch-target]{display:block}}`);;
|
|
5
|
+
/**
|
|
6
|
+
* Utility to provide the Denali Boss styles to the application.
|
|
7
|
+
*
|
|
8
|
+
* @name StylesProviderDenaliBoss
|
|
9
|
+
*/
|
|
10
|
+
function StylesProviderDenaliBoss() {
|
|
11
|
+
return _jsx(_Fragment, {});
|
|
12
|
+
}
|
|
13
|
+
StylesProviderDenaliBoss.bspkName = 'StylesProviderDenaliBoss';
|
|
14
|
+
export { StylesProviderDenaliBoss };
|
|
15
|
+
//# sourceMappingURL=StylesProviderDenaliBoss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StylesProviderDenaliBoss.js","sourceRoot":"","sources":["../src/StylesProviderDenaliBoss.tsx"],"names":[],"mappings":";AAAA,OAAO,8BAA8B,CAAC;AACtC,OAAO,aAAa,CAAC;AAErB;;;;GAIG;AACH,SAAS,wBAAwB;IAC7B,OAAO,mBAAK,CAAC;AACjB,CAAC;AAED,wBAAwB,CAAC,QAAQ,GAAG,0BAA0B,CAAC;AAE/D,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import '@bspk/styles/era.css';
|
|
2
|
+
import './base.scss';
|
|
1
3
|
/**
|
|
2
4
|
* Utility to provide the ERA styles to the application.
|
|
3
5
|
*
|
|
4
6
|
* @name StylesProviderEra
|
|
5
7
|
*/
|
|
6
|
-
declare function StylesProviderEra(): import("
|
|
8
|
+
declare function StylesProviderEra(): import("react/jsx-runtime").JSX.Element;
|
|
7
9
|
declare namespace StylesProviderEra {
|
|
8
10
|
var bspkName: string;
|
|
9
11
|
}
|
|
10
12
|
export { StylesProviderEra };
|
|
13
|
+
/** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import '@bspk/styles/era.css';
|
|
3
|
+
import { styleAdd } from './utils/styleAdd';
|
|
4
|
+
styleAdd(`[data-color=grey]{--foreground: var(--foreground-neutral-on-surface-variant-01);--background: var(--surface-neutral-t2-lowest)}[data-color=white]{--foreground: var(--foreground-neutral-on-surface-variant-01);--background: var(--surface-neutral-t1-base)}[data-color=primary]{--foreground: var(--foreground-brand-primary-depth);--background: var(--surface-brand-primary-highlight)}[data-color=secondary]{--foreground: var(--foreground-brand-secondary-depth);--background: var(--surface-brand-secondary-highlight)}[data-color=blue]{--foreground: var(--foreground-spectrum-blue);--background: var(--surface-spectrum-blue)}[data-color=green]{--foreground: var(--foreground-spectrum-green);--background: var(--surface-spectrum-green)}[data-color=lime]{--foreground: var(--foreground-spectrum-lime);--background: var(--surface-spectrum-lime)}[data-color=magenta]{--foreground: var(--foreground-spectrum-magenta);--background: var(--surface-spectrum-magenta)}[data-color=orange]{--foreground: var(--foreground-spectrum-orange);--background: var(--surface-spectrum-orange)}[data-color=pink]{--foreground: var(--foreground-spectrum-pink);--background: var(--surface-spectrum-pink)}[data-color=purple]{--foreground: var(--foreground-spectrum-purple);--background: var(--surface-spectrum-purple)}[data-color=red]{--foreground: var(--foreground-spectrum-red);--background: var(--surface-spectrum-red)}[data-color=teal]{--foreground: var(--foreground-spectrum-teal);--background: var(--surface-spectrum-teal)}[data-color=yellow]{--foreground: var(--foreground-spectrum-yellow);--background: var(--surface-spectrum-yellow)}:root{--z-index-tooltip-popover: 1100;--z-index-dialog: 1000;--z-index-dropdown: 900;--z-index-fab: 800;--z-index-navbar: 700;--z-index-footer: 600}*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}@media(prefers-reduced-motion){[data-animated]{animation:none !important}}body,html{height:100%;scroll-behavior:smooth}body{font:var(--body-base);background-color:var(--background-base);color:var(--foreground-neutral-on-surface)}a{color:var(--foreground-link-text-default)}a:hover{color:var(--foreground-link-text-default-hovered)}a:visited{color:var(--foreground-link-text-default-visited)}a:disabled{pointer-events:none;color:var(--foreground-link-text-default-disabled)}a[data-subtle]{color:var(--foreground-neutral-on-surface)}a[data-subtle]:hover{color:var(--foreground-link-text-subtle-hovered)}a[data-subtle]:disabled{pointer-events:none;color:var(--foreground-link-text-subtle-disabled)}a[data-subtle-inverse]{color:var(--foreground-neutral-inverse-on-surface)}a[data-subtle-inverse]:hover{color:var(--foreground-link-text-subtle-inverse-hovered)}a[data-subtle-inverse]:disabled{pointer-events:none;color:var(--foreground-link-text-subtle-inversed-disabled)}input:-internal-autofill-previewed,input:-internal-autofill-selected,textarea:-internal-autofill-previewed,textarea:-internal-autofill-selected,select:-internal-autofill-previewed,select:-internal-autofill-selected{transition:color calc(infinity*1s) step-end,background-color calc(infinity*1s) step-end}[data-sr-only]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}ol{list-style-type:decimal}ol li{list-style-type:decimal;margin-left:var(--spacing-sizing-05)}ul{list-style-type:disc}ul li{list-style-type:disc;margin-left:var(--spacing-sizing-05)}[data-touch-target]{display:none;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-touch-callout:none;user-select:none;position:absolute;z-index:1;height:100%;width:100%;top:auto;left:auto}[data-touch-target]~*{position:relative;z-index:2}@media(any-pointer: coarse){[data-touch-target]{display:block}}`);;
|
|
5
|
+
/**
|
|
6
|
+
* Utility to provide the ERA styles to the application.
|
|
7
|
+
*
|
|
8
|
+
* @name StylesProviderEra
|
|
9
|
+
*/
|
|
10
|
+
function StylesProviderEra() {
|
|
11
|
+
return _jsx(_Fragment, {});
|
|
12
|
+
}
|
|
13
|
+
StylesProviderEra.bspkName = 'StylesProviderEra';
|
|
14
|
+
export { StylesProviderEra };
|
|
15
|
+
//# sourceMappingURL=StylesProviderEra.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StylesProviderEra.js","sourceRoot":"","sources":["../src/StylesProviderEra.tsx"],"names":[],"mappings":";AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,aAAa,CAAC;AAErB;;;;GAIG;AACH,SAAS,iBAAiB;IACtB,OAAO,mBAAK,CAAC;AACjB,CAAC;AAED,iBAAiB,CAAC,QAAQ,GAAG,mBAAmB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import '@bspk/styles/sothebys.css';
|
|
2
|
+
import './base.scss';
|
|
1
3
|
/**
|
|
2
4
|
* Utility to provide the Sotheby's styles to the application.
|
|
3
5
|
*
|
|
4
6
|
* @name StylesProviderSothebys
|
|
5
7
|
*/
|
|
6
|
-
declare function StylesProviderSothebys(): import("
|
|
8
|
+
declare function StylesProviderSothebys(): import("react/jsx-runtime").JSX.Element;
|
|
7
9
|
declare namespace StylesProviderSothebys {
|
|
8
10
|
var bspkName: string;
|
|
9
11
|
}
|
|
10
12
|
export { StylesProviderSothebys };
|
|
13
|
+
/** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import '@bspk/styles/sothebys.css';
|
|
3
|
+
import { styleAdd } from './utils/styleAdd';
|
|
4
|
+
styleAdd(`[data-color=grey]{--foreground: var(--foreground-neutral-on-surface-variant-01);--background: var(--surface-neutral-t2-lowest)}[data-color=white]{--foreground: var(--foreground-neutral-on-surface-variant-01);--background: var(--surface-neutral-t1-base)}[data-color=primary]{--foreground: var(--foreground-brand-primary-depth);--background: var(--surface-brand-primary-highlight)}[data-color=secondary]{--foreground: var(--foreground-brand-secondary-depth);--background: var(--surface-brand-secondary-highlight)}[data-color=blue]{--foreground: var(--foreground-spectrum-blue);--background: var(--surface-spectrum-blue)}[data-color=green]{--foreground: var(--foreground-spectrum-green);--background: var(--surface-spectrum-green)}[data-color=lime]{--foreground: var(--foreground-spectrum-lime);--background: var(--surface-spectrum-lime)}[data-color=magenta]{--foreground: var(--foreground-spectrum-magenta);--background: var(--surface-spectrum-magenta)}[data-color=orange]{--foreground: var(--foreground-spectrum-orange);--background: var(--surface-spectrum-orange)}[data-color=pink]{--foreground: var(--foreground-spectrum-pink);--background: var(--surface-spectrum-pink)}[data-color=purple]{--foreground: var(--foreground-spectrum-purple);--background: var(--surface-spectrum-purple)}[data-color=red]{--foreground: var(--foreground-spectrum-red);--background: var(--surface-spectrum-red)}[data-color=teal]{--foreground: var(--foreground-spectrum-teal);--background: var(--surface-spectrum-teal)}[data-color=yellow]{--foreground: var(--foreground-spectrum-yellow);--background: var(--surface-spectrum-yellow)}:root{--z-index-tooltip-popover: 1100;--z-index-dialog: 1000;--z-index-dropdown: 900;--z-index-fab: 800;--z-index-navbar: 700;--z-index-footer: 600}*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}@media(prefers-reduced-motion){[data-animated]{animation:none !important}}body,html{height:100%;scroll-behavior:smooth}body{font:var(--body-base);background-color:var(--background-base);color:var(--foreground-neutral-on-surface)}a{color:var(--foreground-link-text-default)}a:hover{color:var(--foreground-link-text-default-hovered)}a:visited{color:var(--foreground-link-text-default-visited)}a:disabled{pointer-events:none;color:var(--foreground-link-text-default-disabled)}a[data-subtle]{color:var(--foreground-neutral-on-surface)}a[data-subtle]:hover{color:var(--foreground-link-text-subtle-hovered)}a[data-subtle]:disabled{pointer-events:none;color:var(--foreground-link-text-subtle-disabled)}a[data-subtle-inverse]{color:var(--foreground-neutral-inverse-on-surface)}a[data-subtle-inverse]:hover{color:var(--foreground-link-text-subtle-inverse-hovered)}a[data-subtle-inverse]:disabled{pointer-events:none;color:var(--foreground-link-text-subtle-inversed-disabled)}input:-internal-autofill-previewed,input:-internal-autofill-selected,textarea:-internal-autofill-previewed,textarea:-internal-autofill-selected,select:-internal-autofill-previewed,select:-internal-autofill-selected{transition:color calc(infinity*1s) step-end,background-color calc(infinity*1s) step-end}[data-sr-only]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}ol{list-style-type:decimal}ol li{list-style-type:decimal;margin-left:var(--spacing-sizing-05)}ul{list-style-type:disc}ul li{list-style-type:disc;margin-left:var(--spacing-sizing-05)}[data-touch-target]{display:none;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-touch-callout:none;user-select:none;position:absolute;z-index:1;height:100%;width:100%;top:auto;left:auto}[data-touch-target]~*{position:relative;z-index:2}@media(any-pointer: coarse){[data-touch-target]{display:block}}`);;
|
|
5
|
+
/**
|
|
6
|
+
* Utility to provide the Sotheby's styles to the application.
|
|
7
|
+
*
|
|
8
|
+
* @name StylesProviderSothebys
|
|
9
|
+
*/
|
|
10
|
+
function StylesProviderSothebys() {
|
|
11
|
+
return _jsx(_Fragment, {});
|
|
12
|
+
}
|
|
13
|
+
StylesProviderSothebys.bspkName = 'StylesProviderSothebys';
|
|
14
|
+
export { StylesProviderSothebys };
|
|
15
|
+
//# sourceMappingURL=StylesProviderSothebys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StylesProviderSothebys.js","sourceRoot":"","sources":["../src/StylesProviderSothebys.tsx"],"names":[],"mappings":";AAAA,OAAO,2BAA2B,CAAC;AACnC,OAAO,aAAa,CAAC;AAErB;;;;GAIG;AACH,SAAS,sBAAsB;IAC3B,OAAO,mBAAK,CAAC;AACjB,CAAC;AAED,sBAAsB,CAAC,QAAQ,GAAG,wBAAwB,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import './switch.scss';
|
|
1
2
|
import { ChangeEvent } from 'react';
|
|
2
3
|
import { CommonProps } from './';
|
|
3
4
|
export type SwitchProps = CommonProps<'aria-label' | 'disabled' | 'name' | 'onClick' | 'value'> & {
|
|
@@ -24,10 +25,9 @@ export type SwitchProps = CommonProps<'aria-label' | 'disabled' | 'name' | 'onCl
|
|
|
24
25
|
*
|
|
25
26
|
* @name Switch
|
|
26
27
|
*/
|
|
27
|
-
declare function Switch(props: SwitchProps): import("
|
|
28
|
+
declare function Switch(props: SwitchProps): import("react/jsx-runtime").JSX.Element;
|
|
28
29
|
declare namespace Switch {
|
|
29
30
|
var bspkName: string;
|
|
30
31
|
}
|
|
31
32
|
export { Switch };
|
|
32
|
-
export declare const style: import("@emotion/react").SerializedStyles;
|
|
33
33
|
/** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
|
package/dist/Switch.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { styleAdd } from './utils/styleAdd';
|
|
3
|
+
styleAdd(`[data-bspk=switch]{--track-width: var(--spacing-sizing-09);--toggle-width: var(--spacing-sizing-04);--track-bg: var(--surface-neutral-t4-high);--toggle-bg: var(--foreground-neutral-on-color);display:block;margin:2px;box-sizing:border-box;width:var(--track-width);height:var(--spacing-sizing-05);border-radius:var(--spacing-sizing-05);background-color:var(--track-bg);position:relative;z-index:1}[data-bspk=switch] input[type=checkbox]{position:absolute;opacity:0;width:100%;height:100%;top:0;left:0;z-index:2;cursor:pointer}[data-bspk=switch] span{display:block;width:var(--toggle-width);height:var(--toggle-width);border-radius:var(--radius-circular);background-color:var(--toggle-bg);transition:left .2s;box-shadow:var(--drop-shadow-raise);left:2px;top:2px;position:absolute}[data-bspk=switch]:has(input[type=checkbox]:checked){--track-bg: var(--foreground-brand-primary)}[data-bspk=switch]:has(input[type=checkbox]:checked) span{left:calc(var(--track-width) - var(--toggle-width) - 2px)}[data-bspk=switch]:has(input[type=checkbox]:disabled){--track-bg: var(--interactions-disabled-opacity);--toggle-bg: var(--foreground-neutral-disabled-on-surface)}[data-bspk=switch]:has(input[type=checkbox]:disabled) input[type=checkbox]{pointer-events:none}[data-bspk=switch]:has(input[type=checkbox]:disabled):has(input[type=checkbox]:checked) span{--toggle-bg: var(--foreground-neutral-disabled-on-color-surface)}`);;
|
|
4
|
+
/**
|
|
5
|
+
* A control element that allows users to toggle between two states, typically representing on/off and inherits
|
|
6
|
+
* immediate reaction in each state. This is the base element and if used directly you must wrap it with a label. This
|
|
7
|
+
* will more often be used in the SwitchOption or SwitchGroup component.
|
|
8
|
+
*
|
|
9
|
+
* @element
|
|
10
|
+
*
|
|
11
|
+
* @name Switch
|
|
12
|
+
*/
|
|
13
|
+
function Switch(props) {
|
|
14
|
+
const {
|
|
15
|
+
//
|
|
16
|
+
checked = false, disabled, ...otherProps } = props;
|
|
17
|
+
return (_jsxs("span", { "data-bspk": "switch", children: [_jsx("input", { ...otherProps, "aria-disabled": disabled || undefined, checked: checked, disabled: disabled || undefined, onChange: (event) => props.onChange(!!event.target.checked, event), type: "checkbox" }), _jsx("span", { "aria-hidden": true })] }));
|
|
18
|
+
}
|
|
19
|
+
Switch.bspkName = 'Switch';
|
|
20
|
+
export { Switch };
|
|
21
|
+
//# sourceMappingURL=Switch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Switch.js","sourceRoot":"","sources":["../src/Switch.tsx"],"names":[],"mappings":";AAAA,OAAO,eAAe,CAAC;AAqBvB;;;;;;;;GAQG;AACH,SAAS,MAAM,CAAC,KAAkB;IAC9B,MAAM;IACF,EAAE;IACF,OAAO,GAAG,KAAK,EACf,QAAQ,EACR,GAAG,UAAU,EAChB,GAAG,KAAK,CAAC;IAEV,OAAO,CACH,6BAAgB,QAAQ,aACpB,mBACQ,UAAU,mBACC,QAAQ,IAAI,SAAS,EACpC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAC/B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAClE,IAAI,EAAC,UAAU,GACjB,EACF,qCAAoB,IACjB,CACV,CAAC;AACN,CAAC;AAED,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAE3B,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -27,7 +27,7 @@ export type SwitchGroupProps = CommonProps<'aria-label' | 'name'> & {
|
|
|
27
27
|
*
|
|
28
28
|
* @name SwitchGroup
|
|
29
29
|
*/
|
|
30
|
-
declare function SwitchGroup({ onChange, options, name, values, ...props }: ElementProps<SwitchGroupProps, 'div'>): import("
|
|
30
|
+
declare function SwitchGroup({ onChange, options, name, values, ...props }: ElementProps<SwitchGroupProps, 'div'>): import("react/jsx-runtime").JSX.Element;
|
|
31
31
|
declare namespace SwitchGroup {
|
|
32
32
|
var bspkName: string;
|
|
33
33
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Switch } from './Switch';
|
|
3
|
+
import { ToggleOption } from './ToggleOption';
|
|
4
|
+
/**
|
|
5
|
+
* A group of switches that allows users to choose one or more items from a list or turn an feature on or off.
|
|
6
|
+
*
|
|
7
|
+
* @name SwitchGroup
|
|
8
|
+
*/
|
|
9
|
+
function SwitchGroup({ onChange, options = [], name, values = [], ...props }) {
|
|
10
|
+
return (_jsx("div", { ...props, "data-bspk": "switch-group", role: "group", children: options.map(({ label, description, value }) => (_jsx(ToggleOption, { description: description, label: label, children: _jsx(Switch, { "aria-label": label, checked: values.includes(value), name: name, onChange: (checked) => {
|
|
11
|
+
onChange(checked ? [...values, value] : values.filter((v) => v !== value));
|
|
12
|
+
}, value: value }) }, value))) }));
|
|
13
|
+
}
|
|
14
|
+
SwitchGroup.bspkName = 'SwitchGroup';
|
|
15
|
+
export { SwitchGroup };
|
|
16
|
+
//# sourceMappingURL=SwitchGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SwitchGroup.js","sourceRoot":"","sources":["../src/SwitchGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAqB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA6BjE;;;;GAIG;AACH,SAAS,WAAW,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,KAAK,EAAyC;IAC/G,OAAO,CACH,iBAAS,KAAK,eAAY,cAAc,EAAC,IAAI,EAAC,OAAO,YAChD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAC5C,KAAC,YAAY,IAAC,WAAW,EAAE,WAAW,EAAc,KAAK,EAAE,KAAK,YAC5D,KAAC,MAAM,kBACS,KAAK,EACjB,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC/B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;oBAClB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;gBAC/E,CAAC,EACD,KAAK,EAAE,KAAK,GACd,IATuC,KAAK,CAUnC,CAClB,CAAC,GACA,CACT,CAAC;AACN,CAAC;AAED,WAAW,CAAC,QAAQ,GAAG,aAAa,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -6,7 +6,7 @@ export type SwitchOptionProps = Omit<SwitchProps, 'aria-label'> & Pick<ToggleOpt
|
|
|
6
6
|
*
|
|
7
7
|
* @name SwitchOption
|
|
8
8
|
*/
|
|
9
|
-
declare function SwitchOption({ label, description, size, ...checkboxProps }: SwitchOptionProps): import("
|
|
9
|
+
declare function SwitchOption({ label, description, size, ...checkboxProps }: SwitchOptionProps): import("react/jsx-runtime").JSX.Element;
|
|
10
10
|
declare namespace SwitchOption {
|
|
11
11
|
var bspkName: string;
|
|
12
12
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Switch } from './Switch';
|
|
3
|
+
import { ToggleOption } from './ToggleOption';
|
|
4
|
+
/**
|
|
5
|
+
* A control that allows users to choose one or more items from a list or turn an feature on or off.
|
|
6
|
+
*
|
|
7
|
+
* @name SwitchOption
|
|
8
|
+
*/
|
|
9
|
+
function SwitchOption({ label, description, size, ...checkboxProps }) {
|
|
10
|
+
return (_jsx(ToggleOption, { "data-bspk": "switch-option", description: description, label: label, size: size, children: _jsx(Switch, { ...checkboxProps, "aria-label": label }) }));
|
|
11
|
+
}
|
|
12
|
+
SwitchOption.bspkName = 'SwitchOption';
|
|
13
|
+
export { SwitchOption };
|
|
14
|
+
//# sourceMappingURL=SwitchOption.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SwitchOption.js","sourceRoot":"","sources":["../src/SwitchOption.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAe,MAAM,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAqB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKjE;;;;GAIG;AACH,SAAS,YAAY,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,aAAa,EAAqB;IACnF,OAAO,CACH,KAAC,YAAY,iBAAW,eAAe,EAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,YACtF,KAAC,MAAM,OAAK,aAAa,gBAAc,KAAK,GAAI,GACrC,CAClB,CAAC;AACN,CAAC;AAED,YAAY,CAAC,QAAQ,GAAG,cAAc,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import './tab-group.scss';
|
|
1
2
|
import { ReactNode } from 'react';
|
|
2
3
|
import { ElementProps } from './';
|
|
3
4
|
export type TabGroupOption = {
|
|
@@ -64,10 +65,9 @@ export type TabGroupProps = {
|
|
|
64
65
|
*
|
|
65
66
|
* @name TabGroup
|
|
66
67
|
*/
|
|
67
|
-
declare function TabGroup({ onChange: onTabChange, value, size, options, width, showTrail, ...containerProps }: ElementProps<TabGroupProps, 'div'>): import("
|
|
68
|
+
declare function TabGroup({ onChange: onTabChange, value, size, options, width, showTrail, ...containerProps }: ElementProps<TabGroupProps, 'div'>): import("react/jsx-runtime").JSX.Element;
|
|
68
69
|
declare namespace TabGroup {
|
|
69
70
|
var bspkName: string;
|
|
70
71
|
}
|
|
71
72
|
export { TabGroup };
|
|
72
|
-
export declare const style: import("@emotion/react").SerializedStyles;
|
|
73
73
|
/** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
|
package/dist/TabGroup.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { styleAdd } from './utils/styleAdd';
|
|
3
|
+
styleAdd(`[data-bspk=tab-group]{display:flex;flex-direction:row;--btn-flex-grow: 0;border-bottom:1px solid var(--stroke-neutral-low);width:100%;--font: var(--labels-base);--height: var(--spacing-sizing-10)}[data-bspk=tab-group][data-width=fill]{align-items:stretch;width:100%;--btn-flex-grow: 1}[data-bspk=tab-group][data-size=small]{--font: var(--labels-small);--height: var(--spacing-sizing-08)}[data-bspk=tab-group][data-size=large]{--font: var(--labels-large);--height: var(--spacing-sizing-12)}[data-bspk=tab-group] button{border:0;cursor:pointer;color:var(--foreground-neutral-on-surface-variant-02);background:none;flex-grow:var(--btn-flex-grow);font:var(--font)}[data-bspk=tab-group] button:hover{background:var(--interactions-neutral-hover-opacity)}[data-bspk=tab-group] button:active{background:var(--interactions-neutral-press-opacity)}[data-bspk=tab-group] button:disabled{pointer-events:none;color:var(--foreground-neutral-disabled-on-surface)}[data-bspk=tab-group] button:focus-visible{outline:solid 2px var(--stroke-neutral-focus)}[data-bspk=tab-group] button span{display:flex;flex-direction:row;align-items:center;margin:0 var(--spacing-sizing-04);height:var(--height);justify-content:center;position:relative;gap:var(--spacing-sizing-02)}[data-bspk=tab-group] button span svg{width:var(--spacing-sizing-05)}[data-bspk=tab-group] button[data-active]{color:var(--foreground-brand-primary)}[data-bspk=tab-group] button[data-active] span::after{content:"";display:block;width:100%;height:2px;background-color:var(--stroke-brand-primary);bottom:-1px;position:absolute;border-top-right-radius:2px;border-top-left-radius:2px}[data-bspk=tab-group] button[data-active] span svg{color:var(--surface-brand-primary)}[data-bspk=tab-group][data-hide-trail]{border-bottom:none}[data-bspk=tab-group][data-hide-trail] button{border-bottom:1px solid var(--stroke-neutral-low)}`);;
|
|
4
|
+
import { Badge } from './Badge';
|
|
5
|
+
import { useNavOptions } from './hooks/useNavOptions';
|
|
6
|
+
/**
|
|
7
|
+
* Navigation tool that organizes content across different screens and views.
|
|
8
|
+
*
|
|
9
|
+
* @name TabGroup
|
|
10
|
+
*/
|
|
11
|
+
function TabGroup({
|
|
12
|
+
//
|
|
13
|
+
onChange: onTabChange, value, size = 'medium', options, width = 'hug', showTrail = false, ...containerProps }) {
|
|
14
|
+
const items = useNavOptions(options);
|
|
15
|
+
return (_jsx("div", { ...containerProps, "data-bspk": "tab-group", "data-hide-trail": (width === 'hug' && !showTrail) || undefined, "data-size": size, "data-width": width, children: items.map((item) => {
|
|
16
|
+
const isActive = item.value === value;
|
|
17
|
+
return (_jsx("button", { "data-active": isActive || undefined, disabled: item.disabled || undefined, onClick: () => onTabChange(item.value), children: _jsxs("span", { children: [(isActive && item.iconActive) || item.icon, item.label, item.badge && _jsx(Badge, { count: item.badge, size: "x-small" })] }) }, item.value));
|
|
18
|
+
}) }));
|
|
19
|
+
}
|
|
20
|
+
TabGroup.bspkName = 'TabGroup';
|
|
21
|
+
export { TabGroup };
|
|
22
|
+
//# sourceMappingURL=TabGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabGroup.js","sourceRoot":"","sources":["../src/TabGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAiEtD;;;;GAIG;AACH,SAAS,QAAQ,CAAC;AACd,EAAE;AACF,QAAQ,EAAE,WAAW,EACrB,KAAK,EACL,IAAI,GAAG,QAAQ,EACf,OAAO,EACP,KAAK,GAAG,KAAK,EACb,SAAS,GAAG,KAAK,EACjB,GAAG,cAAc,EACgB;IACjC,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAErC,OAAO,CACH,iBACQ,cAAc,eACR,WAAW,qBACJ,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,SAAS,eAClD,IAAI,gBACH,KAAK,YAEhB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC;YAEtC,OAAO,CACH,gCACiB,QAAQ,IAAI,SAAS,EAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS,EAEpC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,YAEtC,2BACK,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,EAC1C,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,IAAI,KAAC,KAAK,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAC,SAAS,GAAG,IACvD,IAPF,IAAI,CAAC,KAAK,CAQV,CACZ,CAAC;QACN,CAAC,CAAC,GACA,CACT,CAAC;AACN,CAAC;AAED,QAAQ,CAAC,QAAQ,GAAG,UAAU,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import './table.scss';
|
|
1
2
|
import { ReactNode } from 'react';
|
|
2
3
|
import { ElementProps } from '.';
|
|
3
4
|
export type TableRow = Record<string, ReactNode>;
|
|
@@ -36,10 +37,9 @@ export type TableProps<R extends TableRow> = {
|
|
|
36
37
|
*
|
|
37
38
|
* @name Table
|
|
38
39
|
*/
|
|
39
|
-
declare function Table<R extends TableRow>({ rows, columns, ...props }: ElementProps<TableProps<R>, 'div'>): import("
|
|
40
|
+
declare function Table<R extends TableRow>({ rows, columns, ...props }: ElementProps<TableProps<R>, 'div'>): import("react/jsx-runtime").JSX.Element;
|
|
40
41
|
declare namespace Table {
|
|
41
42
|
var bspkName: string;
|
|
42
43
|
}
|
|
43
44
|
export { Table };
|
|
44
|
-
export declare const style: import("@emotion/react").SerializedStyles;
|
|
45
45
|
/** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
|
package/dist/Table.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { styleAdd } from './utils/styleAdd';
|
|
3
|
+
styleAdd(`[data-bspk=table]{width:100%;border-collapse:separate;text-align:left;border-spacing:2rem .125rem;display:grid;color:var(--foreground-neutral-on-surface);font:var(--labels-base);border-radius:var(--radius-medium);border:1px solid var(--stroke-neutral-low)}[data-bspk=table] [data-cell]{display:flex;flex-direction:column;gap:var(--spacing-sizing-02);padding:var(--spacing-sizing-04);background-color:var(--surface-neutral-t1-base);border-bottom:var(--stroke-neutral-low) solid 1px;font:var(--labels-small)}[data-bspk=table] [data-cell] p{margin:0;padding:0;font:var(--body-small)}[data-bspk=table] [data-head]{display:flex;align-items:center;flex-direction:row;border-bottom:1px solid var(--stroke-neutral-base);background:var(--surface-neutral-t2-lowest);height:var(--spacing-sizing-10);padding:0 var(--spacing-sizing-03);font:var(--labels-base)}[data-bspk=table] [data-head][data-head=first]{border-top-left-radius:var(--radius-medium)}[data-bspk=table] [data-head][data-head=last]{border-top-right-radius:var(--radius-medium)}`);;
|
|
4
|
+
/**
|
|
5
|
+
* Component description coming soon.
|
|
6
|
+
*
|
|
7
|
+
* @name Table
|
|
8
|
+
*/
|
|
9
|
+
function Table({ rows, columns, ...props }) {
|
|
10
|
+
return (_jsxs("div", { ...props, "data-bspk": "table", style: {
|
|
11
|
+
...props.style,
|
|
12
|
+
gridTemplateColumns: columns.map((c) => `minmax(0, ${c.width || '1fr'})`).join(' '),
|
|
13
|
+
}, children: [columns.map((column, index, arr) => (_jsx("div", { "data-head": [index === 0 && 'first', index === arr.length - 1 && 'last'].filter(Boolean).join(' '), children: column.label }, column.key))), rows.map((row, index, arr) => {
|
|
14
|
+
const lastRow = index === arr.length - 1 || undefined;
|
|
15
|
+
return columns.map((column) => (_jsx("div", { "data-cell": column.key, "data-row-last": lastRow, children: row[column.key] }, index + column.key)));
|
|
16
|
+
})] }));
|
|
17
|
+
}
|
|
18
|
+
Table.bspkName = 'Table';
|
|
19
|
+
export { Table };
|
|
20
|
+
//# sourceMappingURL=Table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../src/Table.tsx"],"names":[],"mappings":";AAAA,OAAO,cAAc,CAAC;AAuCtB;;;;GAIG;AACH,SAAS,KAAK,CAAqB,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,EAAsC;IAC9F,OAAO,CACH,kBACQ,KAAK,eACC,OAAO,EACjB,KAAK,EAAE;YACH,GAAG,KAAK,CAAC,KAAK;YACd,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SACtF,aAEA,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CACjC,2BACe,CAAC,KAAK,KAAK,CAAC,IAAI,OAAO,EAAE,KAAK,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAGhG,MAAM,CAAC,KAAK,IAFR,MAAM,CAAC,GAAa,CAGvB,CACT,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC1B,MAAM,OAAO,GAAG,KAAK,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC;gBACtD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC3B,2BAAgB,MAAM,CAAC,GAAG,mBAAiB,OAAO,YAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IADqC,KAAK,GAAI,MAAM,CAAC,GAAc,CAEjF,CACT,CAAC,CAAC;YACP,CAAC,CAAC,IACA,CACT,CAAC;AACN,CAAC;AAED,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;AAEzB,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import './tag.scss';
|
|
1
2
|
import { ElementType, ReactNode } from 'react';
|
|
2
3
|
import { ColorVariant } from './utils/colorVariants';
|
|
3
4
|
import { ElementProps } from './';
|
|
@@ -47,10 +48,9 @@ export type TagProps<As extends ElementType = 'span'> = {
|
|
|
47
48
|
*
|
|
48
49
|
* @name Tag
|
|
49
50
|
*/
|
|
50
|
-
declare function Tag<As extends ElementType = 'span'>({ children, as, color, size, variant, wrap, ...props }: ElementProps<TagProps<As>, As>): import("
|
|
51
|
+
declare function Tag<As extends ElementType = 'span'>({ children, as, color, size, variant, wrap, ...props }: ElementProps<TagProps<As>, As>): import("react/jsx-runtime").JSX.Element;
|
|
51
52
|
declare namespace Tag {
|
|
52
53
|
var bspkName: string;
|
|
53
54
|
}
|
|
54
55
|
export { Tag };
|
|
55
|
-
export declare const style: import("@emotion/react").SerializedStyles;
|
|
56
56
|
/** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
|
package/dist/Tag.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { styleAdd } from './utils/styleAdd';
|
|
3
|
+
styleAdd(`[data-bspk=tag]{display:flex;flex-direction:column;justify-content:center;width:fit-content;position:relative;padding:0 var(--spacing-sizing-03);border-radius:var(--radius-small);color:var(--foreground) !important;background:var(--background);font:unset;text-decoration:unset;white-space:nowrap}[data-bspk=tag][data-wrap]{height:auto}[data-bspk=tag][data-variant=pill]{border-radius:var(--radius-circular)}[data-bspk=tag][data-variant=corner-wrap]{border-bottom-right-radius:0}[data-bspk=tag][data-size=small]{font:var(--labels-small);height:var(--spacing-sizing-08)}[data-bspk=tag][data-size=x-small]{font:var(--labels-x-small);height:var(--spacing-sizing-06)}[data-bspk=tag][data-color=white]{box-shadow:var(--drop-shadow-south)}[data-bspk=tag] [data-triangle]{position:absolute;bottom:-12px;right:0;width:0;height:0;border-style:solid;border-width:12px 12px 0 0;border-color:var(--foreground) rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);transform:rotate(0deg)}`);;
|
|
4
|
+
/**
|
|
5
|
+
* A non-interactive visual indicators to draw attention or categorization of a component.
|
|
6
|
+
*
|
|
7
|
+
* @name Tag
|
|
8
|
+
*/
|
|
9
|
+
function Tag({ children, as, color = 'white', size = 'small', variant = 'flat', wrap, ...props }) {
|
|
10
|
+
const As = as || 'span';
|
|
11
|
+
return (_jsxs(As, { ...props, "data-bspk": "tag", "data-color": color, "data-size": size, "data-variant": variant, "data-wrap": wrap || undefined, children: [children, variant === 'corner-wrap' && _jsx("div", { "data-triangle": true })] }));
|
|
12
|
+
}
|
|
13
|
+
Tag.bspkName = 'Tag';
|
|
14
|
+
export { Tag };
|
|
15
|
+
//# sourceMappingURL=Tag.js.map
|
package/dist/Tag.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tag.js","sourceRoot":"","sources":["../src/Tag.tsx"],"names":[],"mappings":";AAAA,OAAO,YAAY,CAAC;AAiDpB;;;;GAIG;AACH,SAAS,GAAG,CAAkC,EAC1C,QAAQ,EACR,EAAE,EACF,KAAK,GAAG,OAAO,EACf,IAAI,GAAG,OAAO,EACd,OAAO,GAAG,MAAM,EAChB,IAAI,EACJ,GAAG,KAAK,EACqB;IAC7B,MAAM,EAAE,GAAgB,EAAE,IAAI,MAAM,CAAC;IAErC,OAAO,CACH,MAAC,EAAE,OACK,KAAK,eACC,KAAK,gBACH,KAAK,eACN,IAAI,kBACD,OAAO,eACV,IAAI,IAAI,SAAS,aAE3B,QAAQ,EACR,OAAO,KAAK,aAAa,IAAI,sCAAqB,IAClD,CACR,CAAC;AACN,CAAC;AAED,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;AAErB,OAAO,EAAE,GAAG,EAAE,CAAC"}
|
|
@@ -8,7 +8,7 @@ export type TextFieldProps = Pick<TextInputProps, 'autoComplete' | 'disabled' |
|
|
|
8
8
|
*
|
|
9
9
|
* @name TextField
|
|
10
10
|
*/
|
|
11
|
-
declare function TextField({ label, errorMessage: errorMessageProp, helperText, controlId, labelTrailing, required, ...inputProps }: TextFieldProps): import("
|
|
11
|
+
declare function TextField({ label, errorMessage: errorMessageProp, helperText, controlId, labelTrailing, required, ...inputProps }: TextFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
12
12
|
declare namespace TextField {
|
|
13
13
|
var bspkName: string;
|
|
14
14
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { FormField } from './FormField';
|
|
3
|
+
import { TextInput } from './TextInput';
|
|
4
|
+
/**
|
|
5
|
+
* A text input that allows users to enter text, numbers or symbols in a singular line.
|
|
6
|
+
*
|
|
7
|
+
* This component takes properties from the FormField and TextInput components.
|
|
8
|
+
*
|
|
9
|
+
* @name TextField
|
|
10
|
+
*/
|
|
11
|
+
function TextField({ label, errorMessage: errorMessageProp, helperText, controlId, labelTrailing, required, ...inputProps }) {
|
|
12
|
+
const errorMessage = (!inputProps.readOnly && !inputProps.disabled && errorMessageProp) || undefined;
|
|
13
|
+
return (_jsx(FormField, { controlId: controlId, "data-bspk": "text-field", errorMessage: errorMessage, helperText: helperText, label: label, labelTrailing: labelTrailing, required: required, children: (fieldProps) => (_jsx(TextInput, { ...inputProps, ...fieldProps, "aria-label": label, id: controlId, required: required })) }));
|
|
14
|
+
}
|
|
15
|
+
TextField.bspkName = 'TextField';
|
|
16
|
+
export { TextField };
|
|
17
|
+
//# sourceMappingURL=TextField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextField.js","sourceRoot":"","sources":["../src/TextField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAkB,SAAS,EAAE,MAAM,aAAa,CAAC;AAqBxD;;;;;;GAMG;AACH,SAAS,SAAS,CAAC,EACf,KAAK,EACL,YAAY,EAAE,gBAAgB,EAC9B,UAAU,EACV,SAAS,EACT,aAAa,EACb,QAAQ,EACR,GAAG,UAAU,EACA;IACb,MAAM,YAAY,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,gBAAgB,CAAC,IAAI,SAAS,CAAC;IAErG,OAAO,CACH,KAAC,SAAS,IACN,SAAS,EAAE,SAAS,eACV,YAAY,EACtB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,YAEjB,CAAC,UAAU,EAAE,EAAE,CAAC,CACb,KAAC,SAAS,OAAK,UAAU,KAAM,UAAU,gBAAc,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACtG,GACO,CACf,CAAC;AACN,CAAC;AAED,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import './text-input.scss';
|
|
1
2
|
import { ChangeEvent, HTMLInputAutoCompleteAttribute, HTMLInputTypeAttribute, ReactNode } from 'react';
|
|
2
3
|
import { ElementProps, CommonProps } from '.';
|
|
3
4
|
export type TextInputProps = CommonProps<'aria-label' | 'disabled' | 'id' | 'invalid' | 'name' | 'readOnly' | 'required' | 'size' | 'value'> & {
|
|
@@ -36,10 +37,9 @@ export type TextInputProps = CommonProps<'aria-label' | 'disabled' | 'id' | 'inv
|
|
|
36
37
|
*
|
|
37
38
|
* @name TextInput
|
|
38
39
|
*/
|
|
39
|
-
declare function TextInput({ invalid: invalidProp, onChange, size, value, name, 'aria-label': ariaLabel, inputRef, required, placeholder, id: idProp, leading, trailing, type, readOnly, disabled, autoComplete, containerRef, ...otherProps }: ElementProps<TextInputProps, 'div'>): import("
|
|
40
|
+
declare function TextInput({ invalid: invalidProp, onChange, size, value, name, 'aria-label': ariaLabel, inputRef, required, placeholder, id: idProp, leading, trailing, type, readOnly, disabled, autoComplete, containerRef, ...otherProps }: ElementProps<TextInputProps, 'div'>): import("react/jsx-runtime").JSX.Element;
|
|
40
41
|
declare namespace TextInput {
|
|
41
42
|
var bspkName: string;
|
|
42
43
|
}
|
|
43
44
|
export { TextInput };
|
|
44
|
-
export declare const style: import("@emotion/react").SerializedStyles;
|
|
45
45
|
/** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { SvgCancel } from '@bspk/icons/Cancel';
|
|
3
|
+
import { styleAdd } from './utils/styleAdd';
|
|
4
|
+
styleAdd(`[data-bspk=text-input]{--border-color: var(--stroke-neutral-base);display:flex;flex-flow:row nowrap;background-color:var(--surface-neutral-t1-base);border:solid 1px var(--border-color);height:var(--field-height);border-radius:var(--radius-small);padding:0 var(--field-padding);gap:var(--spacing-sizing-01);width:100%}[data-bspk=text-input]>*{display:flex;justify-content:center;align-items:center;height:var(--field-height);font:var(--field-font);color:var(--foreground-neutral-on-surface);min-width:0}[data-bspk=text-input]:hover:not(:focus-within){background:linear-gradient(var(--interactions-hover-opacity), var(--interactions-hover-opacity)),linear-gradient(var(--surface-neutral-t1-base), var(--surface-neutral-t1-base))}[data-bspk=text-input]:active:not(:focus-within){background:linear-gradient(var(--interactions-press-opacity), var(--interactions-press-opacity)),linear-gradient(var(--surface-neutral-t1-base), var(--surface-neutral-t1-base))}[data-bspk=text-input][data-readonly]{--border-color: var(--stroke-neutral-disabled-light);background:linear-gradient(var(--interactions-disabled-opacity), var(--interactions-disabled-opacity)),linear-gradient(var(--surface-neutral-t1-base), var(--surface-neutral-t1-base))}[data-bspk=text-input][data-disabled]{--border-color: var(--stroke-neutral-disabled-light);background:linear-gradient(var(--interactions-disabled-opacity), var(--interactions-disabled-opacity)),linear-gradient(var(--surface-neutral-t1-base), var(--surface-neutral-t1-base))}[data-bspk=text-input][data-disabled]>*{color:var(--foreground-neutral-disabled-on-surface)}[data-bspk=text-input][data-invalid]{--border-color: var(--status-error)}[data-bspk=text-input][data-size=small]{--field-padding: var(--spacing-sizing-02);--field-height: var(--spacing-sizing-08);--field-font: var(--body-small);--field-icon-width: var(--spacing-sizing-04);--field-clear-width: var(--spacing-sizing-05)}[data-bspk=text-input][data-size=medium]{--field-padding: var(--spacing-sizing-03);--field-height: var(--spacing-sizing-10);--field-font: var(--body-base);--field-icon-width: var(--spacing-sizing-05);--field-clear-width: var(--spacing-sizing-05)}[data-bspk=text-input][data-size=large]{--field-padding: var(--spacing-sizing-03);--field-height: var(--spacing-sizing-12);--field-font: var(--body-large);--field-icon-width: var(--spacing-sizing-06);--field-clear-width: var(--spacing-sizing-06)}[data-bspk=text-input] [data-leading] svg,[data-bspk=text-input] [data-trailing] svg{width:var(--field-icon-width)}[data-bspk=text-input] label{font:var(--labels-small);color:var(--foreground-neutral-on-surface-variant-01)}[data-bspk=text-input] input{flex:1;background-color:rgba(0,0,0,0) !important;border:none;outline:none;padding:0;pointer-events:all;text-overflow:ellipsis}[data-bspk=text-input] input[type=number]::-webkit-inner-spin-button,[data-bspk=text-input] input[type=number]::-webkit-outer-spin-button{display:none}[data-bspk=text-input] button[data-clear]{display:none;border:none;background:none;padding:0;cursor:pointer;pointer-events:all;margin-left:var(--spacing-sizing-02);padding-right:var(--field-padding)}[data-bspk=text-input] button[data-clear] svg{pointer-events:none;width:var(--field-clear-width)}[data-bspk=text-input]:focus-within{--border-color: var(--stroke-brand-primary)}[data-bspk=text-input]:focus-within button[data-clear]{display:flex}[data-bspk=text-input]:has(button[data-clear]){padding-right:0}`);;
|
|
5
|
+
import { useId } from './hooks/useId';
|
|
6
|
+
/**
|
|
7
|
+
* A text input that allows users to enter text, numbers or symbols in a singular line. This is the base element and is
|
|
8
|
+
* not intended to be used directly. Use the TextField component.
|
|
9
|
+
*
|
|
10
|
+
* @element
|
|
11
|
+
*
|
|
12
|
+
* @name TextInput
|
|
13
|
+
*/
|
|
14
|
+
function TextInput({ invalid: invalidProp, onChange, size = 'medium', value = '', name, 'aria-label': ariaLabel, inputRef, required, placeholder, id: idProp, leading, trailing, type, readOnly, disabled, autoComplete = 'off', containerRef, ...otherProps }) {
|
|
15
|
+
const id = useId(idProp);
|
|
16
|
+
const invalid = !readOnly && !disabled && invalidProp;
|
|
17
|
+
return (_jsxs("div", { "data-bspk": "text-input", "data-disabled": disabled || undefined, "data-invalid": invalid || undefined, "data-readonly": readOnly || undefined, "data-required": required || undefined, "data-size": size, ref: containerRef, ...otherProps, children: [leading && _jsx("span", { "data-leading": true, children: leading }), _jsx("input", { "aria-invalid": invalid || undefined, "aria-label": ariaLabel, autoComplete: autoComplete, disabled: disabled || undefined, id: id, name: name, onChange: (event) => {
|
|
18
|
+
onChange(event.target.value, event);
|
|
19
|
+
}, placeholder: placeholder || ' ', readOnly: readOnly || undefined, ref: inputRef, required: required || undefined, type: type, value: value }), trailing && _jsx("span", { "data-trailing": true, children: trailing }), value?.toString().length > 0 && !readOnly && !disabled && (_jsx("button", { "aria-label": "clear", "data-clear": true, onClick: () => onChange(''), children: _jsx(SvgCancel, {}) }))] }));
|
|
20
|
+
}
|
|
21
|
+
TextInput.bspkName = 'TextInput';
|
|
22
|
+
export { TextInput };
|
|
23
|
+
//# sourceMappingURL=TextInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextInput.js","sourceRoot":"","sources":["../src/TextInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,mBAAmB,CAAC;AAG3B,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAmCtC;;;;;;;GAOG;AACH,SAAS,SAAS,CAAC,EACf,OAAO,EAAE,WAAW,EACpB,QAAQ,EACR,IAAI,GAAG,QAAQ,EACf,KAAK,GAAG,EAAE,EACV,IAAI,EACJ,YAAY,EAAE,SAAS,EACvB,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,EAAE,EAAE,MAAM,EACV,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,GAAG,KAAK,EACpB,YAAY,EACZ,GAAG,UAAU,EACqB;IAClC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAEzB,MAAM,OAAO,GAAG,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC;IAEtD,OAAO,CACH,4BACc,YAAY,mBACP,QAAQ,IAAI,SAAS,kBACtB,OAAO,IAAI,SAAS,mBACnB,QAAQ,IAAI,SAAS,mBACrB,QAAQ,IAAI,SAAS,eACzB,IAAI,EACf,GAAG,EAAE,YAAY,KACb,UAAU,aAEb,OAAO,IAAI,+CAAoB,OAAO,GAAQ,EAC/C,gCACkB,OAAO,IAAI,SAAS,gBACtB,SAAS,EACrB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAC/B,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAChB,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACxC,CAAC,EACD,WAAW,EAAE,WAAW,IAAI,GAAG,EAC/B,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAC/B,GAAG,EAAE,QAAQ,EACb,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAC/B,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,GACd,EACD,QAAQ,IAAI,gDAAqB,QAAQ,GAAQ,EACjD,KAAK,EAAE,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CACvD,+BAAmB,OAAO,sBAAY,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,YAC7D,KAAC,SAAS,KAAG,GACR,CACZ,IACC,CACT,CAAC;AACN,CAAC;AAED,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import './textarea.scss';
|
|
1
2
|
import { ChangeEvent, Ref } from 'react';
|
|
2
3
|
import { CommonProps } from './';
|
|
3
4
|
export type TextareaProps = CommonProps<'aria-label' | 'disabled' | 'id' | 'invalid' | 'readOnly' | 'required'> & {
|
|
@@ -54,10 +55,9 @@ export type TextareaProps = CommonProps<'aria-label' | 'disabled' | 'id' | 'inva
|
|
|
54
55
|
*
|
|
55
56
|
* @name Textarea
|
|
56
57
|
*/
|
|
57
|
-
declare function Textarea({ invalid: invalidProp, onChange, size, value, name, 'aria-label': ariaLabel, innerRef, placeholder, id: idProp, minRows: minRowsProp, maxRows: maxRowsProp, ...otherProps }: TextareaProps): import("
|
|
58
|
+
declare function Textarea({ invalid: invalidProp, onChange, size, value, name, 'aria-label': ariaLabel, innerRef, placeholder, id: idProp, minRows: minRowsProp, maxRows: maxRowsProp, ...otherProps }: TextareaProps): import("react/jsx-runtime").JSX.Element;
|
|
58
59
|
declare namespace Textarea {
|
|
59
60
|
var bspkName: string;
|
|
60
61
|
}
|
|
61
62
|
export { Textarea };
|
|
62
|
-
export declare const style: import("@emotion/react").SerializedStyles;
|
|
63
63
|
/** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
|
package/dist/Textarea.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { styleAdd } from './utils/styleAdd';
|
|
3
|
+
styleAdd(`[data-bspk=textarea]{/*!
|
|
4
|
+
--min-rows: is set via inline style
|
|
5
|
+
--max-rows: is set via inline style
|
|
6
|
+
*/display:grid;width:100%;--font: var(--body-base);--line-height: 20px;--padding: var(--spacing-sizing-03)}[data-bspk=textarea][data-size=small]{--font: var(--body-small);--line-height: 20px;--padding: var(--spacing-sizing-02)}[data-bspk=textarea][data-size=large]{--font: var(--body-large);--line-height: 24px;--padding: var(--spacing-sizing-03)}[data-bspk=textarea] [data-replicated-value]{white-space:pre-wrap;visibility:hidden}[data-bspk=textarea] textarea,[data-bspk=textarea] [data-replicated-value]{width:100%;font:var(--font);border:1px solid var(--border-color);padding:var(--padding);grid-area:1/1/2/2;min-height:calc(var(--line-height)*var(--min-rows) + var(--padding)*2);max-height:calc(var(--line-height)*var(--max-rows) + var(--padding)*2)}[data-bspk=textarea] textarea{--border-color: var(--stroke-neutral-base);resize:vertical;color:var(--foreground-neutral-on-surface);background-color:var(--surface-neutral-t1-base);border-radius:var(--radius-small)}[data-bspk=textarea] textarea:focus-within{--border-color: var(--stroke-neutral-focus);outline:none;color:var(--foreground-neutral-on-surface)}[data-bspk=textarea] textarea:disabled{pointer-events:none;background:linear-gradient(var(--interactions-disabled-opacity), var(--interactions-disabled-opacity)),linear-gradient(var(--surface-neutral-t1-base), var(--surface-neutral-t1-base));color:var(--foreground-neutral-disabled-on-surface)}[data-bspk=textarea] textarea:read-only{background:linear-gradient(var(--interactions-disabled-opacity), var(--interactions-disabled-opacity)),linear-gradient(var(--surface-neutral-t1-base), var(--surface-neutral-t1-base));color:var(--foreground-neutral-on-surface-variant-02);cursor:not-allowed}[data-bspk=textarea] textarea[aria-invalid]{--border-color: var(--status-error)}`);;
|
|
7
|
+
import { useId } from './hooks/useId';
|
|
8
|
+
const MIN_ROWS = 3;
|
|
9
|
+
const MAX_ROWS = 10;
|
|
10
|
+
/**
|
|
11
|
+
* A component that allows users to input large amounts of text that could span multiple lines.
|
|
12
|
+
*
|
|
13
|
+
* @element
|
|
14
|
+
*
|
|
15
|
+
* @name Textarea
|
|
16
|
+
*/
|
|
17
|
+
function Textarea({ invalid: invalidProp, onChange, size = 'medium', value = '', name, 'aria-label': ariaLabel, innerRef, placeholder, id: idProp, minRows: minRowsProp = MIN_ROWS, maxRows: maxRowsProp = MAX_ROWS, ...otherProps }) {
|
|
18
|
+
const id = useId(idProp);
|
|
19
|
+
const invalid = !otherProps.readOnly && !otherProps.disabled && invalidProp;
|
|
20
|
+
// ensure minRows and maxRows are within bounds
|
|
21
|
+
const minRows = Math.min(MAX_ROWS, Math.max(minRowsProp, MIN_ROWS));
|
|
22
|
+
const maxRows = Math.max(MIN_ROWS, Math.min(maxRowsProp, MAX_ROWS));
|
|
23
|
+
return (_jsxs("div", { "data-bspk": "textarea", "data-size": size, style: {
|
|
24
|
+
'--min-rows': minRows,
|
|
25
|
+
'--max-rows': maxRows,
|
|
26
|
+
}, children: [_jsx("textarea", { ...otherProps, "aria-invalid": invalid || undefined, "aria-label": ariaLabel, id: id, name: name, onBlur: (event) => {
|
|
27
|
+
const target = event.target;
|
|
28
|
+
target.scrollTop = 0;
|
|
29
|
+
}, onChange: (event) => onChange(event.target.value, event), onInput: (event) => {
|
|
30
|
+
const target = event.target;
|
|
31
|
+
// we know the textarea was resized, so we don't want to auto-size it
|
|
32
|
+
if (target.style.height)
|
|
33
|
+
return;
|
|
34
|
+
target.nextSibling.innerText = `${target.value}\n`;
|
|
35
|
+
}, placeholder: placeholder, ref: innerRef, value: value }), _jsx("div", { "aria-hidden": true, "data-replicated-value": true })] }));
|
|
36
|
+
}
|
|
37
|
+
Textarea.bspkName = 'Textarea';
|
|
38
|
+
export { Textarea };
|
|
39
|
+
//# sourceMappingURL=Textarea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../src/Textarea.tsx"],"names":[],"mappings":";AAAA,OAAO,iBAAiB,CAAC;AAGzB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAoDtC,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB;;;;;;GAMG;AACH,SAAS,QAAQ,CAAC,EACd,OAAO,EAAE,WAAW,EACpB,QAAQ,EACR,IAAI,GAAG,QAAQ,EACf,KAAK,GAAG,EAAE,EACV,IAAI,EACJ,YAAY,EAAE,SAAS,EACvB,QAAQ,EACR,WAAW,EACX,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,WAAW,GAAG,QAAQ,EAC/B,OAAO,EAAE,WAAW,GAAG,QAAQ,EAC/B,GAAG,UAAU,EACD;IACZ,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,WAAW,CAAC;IAC5E,+CAA+C;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEpE,OAAO,CACH,4BACc,UAAU,eACT,IAAI,EACf,KAAK,EACD;YACI,YAAY,EAAE,OAAO;YACrB,YAAY,EAAE,OAAO;SACP,aAGtB,sBACQ,UAAU,kBACA,OAAO,IAAI,SAAS,gBACtB,SAAS,EACrB,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBACd,MAAM,MAAM,GAAG,KAAK,CAAC,MAA6B,CAAC;oBACnD,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;gBACzB,CAAC,EACD,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EACxD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACf,MAAM,MAAM,GAAG,KAAK,CAAC,MAA6B,CAAC;oBACnD,qEAAqE;oBACrE,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM;wBAAE,OAAO;oBAC/B,MAAM,CAAC,WAA2B,CAAC,SAAS,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;gBACxE,CAAC,EACD,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,KAAK,GACd,EACF,mEAAyC,IACvC,CACT,CAAC;AACN,CAAC;AAED,QAAQ,CAAC,QAAQ,GAAG,UAAU,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -8,7 +8,7 @@ export type TextareaFieldProps = Pick<FormFieldProps, 'controlId' | 'errorMessag
|
|
|
8
8
|
*
|
|
9
9
|
* @name TextareaField
|
|
10
10
|
*/
|
|
11
|
-
declare function TextareaField({ label, errorMessage: errorMessageProp, helperText, controlId: id, onChange, maxLength: maxLengthProp, invalid, readOnly, disabled, required, ...textareaProps }: TextareaFieldProps): import("
|
|
11
|
+
declare function TextareaField({ label, errorMessage: errorMessageProp, helperText, controlId: id, onChange, maxLength: maxLengthProp, invalid, readOnly, disabled, required, ...textareaProps }: TextareaFieldProps): import("react/jsx-runtime").JSX.Element | null;
|
|
12
12
|
declare namespace TextareaField {
|
|
13
13
|
var bspkName: string;
|
|
14
14
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { FormField } from './FormField';
|
|
3
|
+
import { Textarea } from './Textarea';
|
|
4
|
+
import { Txt } from './Txt';
|
|
5
|
+
import { tryIntParse } from './utils/tryIntPsrse';
|
|
6
|
+
/**
|
|
7
|
+
* A component that allows users to input large amounts of text that could span multiple lines.
|
|
8
|
+
*
|
|
9
|
+
* This component takes properties from the FormField and Textarea components.
|
|
10
|
+
*
|
|
11
|
+
* @name TextareaField
|
|
12
|
+
*/
|
|
13
|
+
function TextareaField({ label, errorMessage: errorMessageProp, helperText, controlId: id, onChange, maxLength: maxLengthProp, invalid, readOnly, disabled, required, ...textareaProps }) {
|
|
14
|
+
const maxLength = tryIntParse(maxLengthProp) || -1;
|
|
15
|
+
const errorMessage = (!readOnly && !disabled && errorMessageProp) || undefined;
|
|
16
|
+
if (typeof onChange !== 'function')
|
|
17
|
+
return null;
|
|
18
|
+
return (_jsx(FormField, { controlId: id, "data-bspk": "textarea-field", errorMessage: errorMessage, helperText: helperText, label: label, labelTrailing: _jsx(Txt, { style: { color: 'var(--foreground-neutral-on-surface-variant-02)' }, variant: "body-small", children: `${textareaProps?.value?.length || 0}${maxLength > 0 ? `/${maxLength}` : ''}` }), required: required, children: (fieldProps) => (_jsx(Textarea, { ...textareaProps, ...fieldProps, "aria-label": textareaProps['aria-label'] || label, id: id, invalid: invalid, onChange: (next, event) => {
|
|
19
|
+
onChange(next, event);
|
|
20
|
+
}, required: required })) }));
|
|
21
|
+
}
|
|
22
|
+
TextareaField.bspkName = 'TextareaField';
|
|
23
|
+
export { TextareaField };
|
|
24
|
+
//# sourceMappingURL=TextareaField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextareaField.js","sourceRoot":"","sources":["../src/TextareaField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAiB,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIlD;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,EACnB,KAAK,EACL,YAAY,EAAE,gBAAgB,EAC9B,UAAU,EACV,SAAS,EAAE,EAAE,EACb,QAAQ,EACR,SAAS,EAAE,aAAa,EACxB,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,GAAG,aAAa,EACC;IACjB,MAAM,SAAS,GAAG,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,gBAAgB,CAAC,IAAI,SAAS,CAAC;IAE/E,IAAI,OAAO,QAAQ,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IAEhD,OAAO,CACH,KAAC,SAAS,IACN,SAAS,EAAE,EAAE,eACH,gBAAgB,EAC1B,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,aAAa,EACT,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,iDAAiD,EAAE,EAAE,OAAO,EAAC,YAAY,YACzF,GAAG,aAAa,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAC5E,EAEV,QAAQ,EAAE,QAAQ,YAEjB,CAAC,UAAU,EAAE,EAAE,CAAC,CACb,KAAC,QAAQ,OACD,aAAa,KACb,UAAU,gBACF,aAAa,CAAC,YAAY,CAAC,IAAI,KAAK,EAChD,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACtB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC1B,CAAC,EACD,QAAQ,EAAE,QAAQ,GACpB,CACL,GACO,CACf,CAAC;AACN,CAAC;AAED,aAAa,CAAC,QAAQ,GAAG,eAAe,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import './toggle-option.scss';
|
|
1
2
|
import { ReactElement } from 'react';
|
|
2
3
|
export type ToggleOptionProps = {
|
|
3
4
|
/**
|
|
@@ -18,10 +19,9 @@ export type ToggleOptionProps = {
|
|
|
18
19
|
*
|
|
19
20
|
* @name ToggleOption
|
|
20
21
|
*/
|
|
21
|
-
declare function ToggleOption({ label, description, children, size }: ToggleOptionProps): import("
|
|
22
|
+
declare function ToggleOption({ label, description, children, size }: ToggleOptionProps): import("react/jsx-runtime").JSX.Element;
|
|
22
23
|
declare namespace ToggleOption {
|
|
23
24
|
var bspkName: string;
|
|
24
25
|
}
|
|
25
26
|
export { ToggleOption };
|
|
26
|
-
export declare const style: import("@emotion/react").SerializedStyles;
|
|
27
27
|
/** Copyright 2025 Anywhere Real Estate - CC BY 4.0 */
|